From e5c0709ea68b84ddeb338691a442cec01933c5dd Mon Sep 17 00:00:00 2001 From: jos Date: Wed, 11 Feb 2015 11:19:06 +0100 Subject: [PATCH] Updated to v3.10.0 --- dist/vis.css | 13 + dist/vis.js | 10996 ++++++++-------- dist/vis.map | 2 +- dist/vis.min.css | 2 +- dist/vis.min.js | 32 +- docs/dataset.html | 24 + docs/dataview.html | 122 +- docs/graph2d.html | 16 + docs/network.html | 115 +- docs/timeline.html | 35 +- download/vis.zip | Bin 2228822 -> 2238134 bytes .../network/25_physics_configuration.html | 1 + .../network/29_neighbourhood_highlight.html | 37 +- examples/timeline/33_custom_snapping.html | 54 + examples/timeline/index.html | 1 + images/exampleScreenshots/timeline/29.png | Bin 28793 -> 31222 bytes images/exampleScreenshots/timeline/30.png | Bin 31774 -> 28793 bytes images/exampleScreenshots/timeline/31.png | Bin 30371 -> 31774 bytes .../timeline/{28.png => 32.png} | Bin 31222 -> 30371 bytes images/exampleScreenshots/timeline/33.png | Bin 0 -> 6622 bytes index.html | 3 +- timeline_examples.html | 16 +- 22 files changed, 6079 insertions(+), 5390 deletions(-) create mode 100644 examples/timeline/33_custom_snapping.html rename images/exampleScreenshots/timeline/{28.png => 32.png} (53%) create mode 100644 images/exampleScreenshots/timeline/33.png diff --git a/dist/vis.css b/dist/vis.css index 81c94194..f163bd4e 100644 --- a/dist/vis.css +++ b/dist/vis.css @@ -791,4 +791,17 @@ div.network-navigation.zoomExtends { background-image: url("img/network/zoomExtends.png"); bottom:50px; right:15px; +} +div.network-tooltip { + position: absolute; + visibility: hidden; + padding: 5px; + white-space: nowrap; + + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid; + + box-shadow: 3px 3px 10px rgba(128, 128, 128, 0.5); } \ No newline at end of file diff --git a/dist/vis.js b/dist/vis.js index 0541a5fa..9405c42d 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.9.1 - * @date 2015-01-22 + * @version 3.10.0 + * @date 2015-02-11 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -175,6 +175,26 @@ return /******/ (function(modules) { // webpackBootstrap return (object instanceof Number || typeof object == 'number'); }; + + /** + * this function gives you a range between 0 and 1 based on the min and max values in the set, the total sum of all values and the current value. + * + * @param min + * @param max + * @param total + * @param value + * @returns {number} + */ + exports.giveRange = function(min,max,total,value) { + if (max == min) { + return 0.5; + } + else { + var scale = 1 / (max - min); + return Math.max(0,(value - min)*scale); + } + } + /** * Test whether given object is a string * @param {*} object @@ -919,6 +939,28 @@ return /******/ (function(modules) { // webpackBootstrap } : null; }; + /** + * This function takes color in hex format or rgb() or rgba() format and overrides the opacity. Returns rgba() string. + * @param color + * @param opacity + * @returns {*} + */ + exports.overrideOpacity = function(color,opacity) { + if (color.indexOf("rgb") != -1) { + var rgb = color.substr(color.indexOf("(")+1).replace(")","").split(","); + return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + opacity + ")" + } + else { + var rgb = exports.hexToRGB(color); + if (rgb == null) { + return color; + } + else { + return "rgba(" + rgb.r + "," + rgb.g + "," + rgb.b + "," + opacity + ")" + } + } + } + /** * * @param red 0 -- 255 @@ -1634,6 +1676,7 @@ return /******/ (function(modules) { // webpackBootstrap this._options = options || {}; this._data = {}; // map with data indexed by id + this.length = 0; // number of items in the DataSet this._fieldId = this._options.fieldId || 'id'; // name of the field containing id this._type = {}; // internal field types (NOTE: this can differ from this._options.type) @@ -2231,12 +2274,16 @@ return /******/ (function(modules) { // webpackBootstrap /** * Filter the fields of an item - * @param {Object} item + * @param {Object | null} item * @param {String[]} fields Field names - * @return {Object} filteredItem + * @return {Object | null} filteredItem or null if no item is provided * @private */ DataSet.prototype._filterFields = function (item, fields) { + if (!item) { // item is null + return item; + } + var filteredItem = {}; for (var field in item) { @@ -2318,6 +2365,7 @@ return /******/ (function(modules) { // webpackBootstrap if (util.isNumber(id) || util.isString(id)) { if (this._data[id]) { delete this._data[id]; + this.length--; return id; } } @@ -2325,6 +2373,7 @@ return /******/ (function(modules) { // webpackBootstrap var itemId = id[this._fieldId]; if (itemId && this._data[itemId]) { delete this._data[itemId]; + this.length--; return itemId; } } @@ -2340,6 +2389,7 @@ return /******/ (function(modules) { // webpackBootstrap var ids = Object.keys(this._data); this._data = {}; + this.length = 0; this._trigger('remove', {items: ids}, senderId); @@ -2465,6 +2515,7 @@ return /******/ (function(modules) { // webpackBootstrap } } this._data[id] = d; + this.length++; return id; }; @@ -2590,6 +2641,7 @@ return /******/ (function(modules) { // webpackBootstrap function DataView (data, options) { this._data = null; this._ids = {}; // ids of the items currently in memory (just contains a boolean true) + this.length = 0; // number of items in the DataView this._options = options || {}; this._fieldId = 'id'; // name of the field containing id this._subscribers = {}; // event subscribers @@ -2626,6 +2678,7 @@ return /******/ (function(modules) { // webpackBootstrap } } this._ids = {}; + this.length = 0; this._trigger('remove', {items: ids}); } @@ -2643,6 +2696,7 @@ return /******/ (function(modules) { // webpackBootstrap id = ids[i]; this._ids[id] = true; } + this.length = ids.length; this._trigger('add', {items: ids}); // subscribe to new dataset @@ -2652,6 +2706,48 @@ return /******/ (function(modules) { // webpackBootstrap } }; + /** + * Refresh the DataView. Useful when the DataView has a filter function + * containing a variable parameter. + */ + DataView.prototype.refresh = function () { + var id; + var ids = this._data.getIds({filter: this._options && this._options.filter}); + var newIds = {}; + var added = []; + var removed = []; + + // check for additions + for (var i = 0; i < ids.length; i++) { + id = ids[i]; + newIds[id] = true; + if (!this._ids[id]) { + added.push(id); + this._ids[id] = true; + this.length++; + } + } + + // check for removals + for (id in this._ids) { + if (this._ids.hasOwnProperty(id)) { + if (!newIds[id]) { + removed.push(id); + delete this._ids[id]; + this.length--; + } + } + } + + // trigger events + if (added.length) { + this._trigger('add', {items: added}); + } + if (removed.length) { + this._trigger('remove', {items: removed}); + } + }; + /** * Get data from the data view * @@ -2853,6 +2949,8 @@ return /******/ (function(modules) { // webpackBootstrap break; } + this.length += added.length - removed.length; + if (added.length) { this._trigger('add', {items: added}, senderId); } @@ -6405,322 +6503,13 @@ return /******/ (function(modules) { // webpackBootstrap }, hiddenDates: [], util: { - snap: null, // will be specified after TimeAxis is created - toScreen: me._toScreen.bind(me), - toGlobalScreen: me._toGlobalScreen.bind(me), // this refers to the root.width - toTime: me._toTime.bind(me), - toGlobalTime : me._toGlobalTime.bind(me) - } - }; - - // range - this.range = new Range(this.body); - this.components.push(this.range); - this.body.range = this.range; - - // time axis - this.timeAxis = new TimeAxis(this.body); - this.components.push(this.timeAxis); - this.body.util.snap = this.timeAxis.snap.bind(this.timeAxis); - - // current time bar - this.currentTime = new CurrentTime(this.body); - this.components.push(this.currentTime); - - // custom time bar - // Note: time bar will be attached in this.setOptions when selected - this.customTime = new CustomTime(this.body); - this.components.push(this.customTime); - - // item set - this.itemSet = new ItemSet(this.body); - this.components.push(this.itemSet); - - this.itemsData = null; // DataSet - this.groupsData = null; // DataSet - - // apply options - if (options) { - this.setOptions(options); - } - - // IMPORTANT: THIS HAPPENS BEFORE SET ITEMS! - if (groups) { - this.setGroups(groups); - } - - // create itemset - if (items) { - this.setItems(items); - } - else { - this.redraw(); - } - } - - // Extend the functionality from Core - Timeline.prototype = new Core(); - - /** - * Set items - * @param {vis.DataSet | Array | google.visualization.DataTable | null} items - */ - Timeline.prototype.setItems = function(items) { - var initialLoad = (this.itemsData == null); - - // convert to type DataSet when needed - var newDataSet; - if (!items) { - newDataSet = null; - } - else if (items instanceof DataSet || items instanceof DataView) { - newDataSet = items; - } - else { - // turn an array into a dataset - newDataSet = new DataSet(items, { - type: { - start: 'Date', - end: 'Date' - } - }); - } - - // set items - this.itemsData = newDataSet; - this.itemSet && this.itemSet.setItems(newDataSet); - - if (initialLoad) { - if (this.options.start != undefined || this.options.end != undefined) { - if (this.options.start == undefined || this.options.end == undefined) { - var dataRange = this._getDataRange(); - } - - var start = this.options.start != undefined ? this.options.start : dataRange.start; - var end = this.options.end != undefined ? this.options.end : dataRange.end; - - this.setWindow(start, end, {animate: false}); - } - else { - this.fit({animate: false}); - } - } - }; - - /** - * Set groups - * @param {vis.DataSet | Array | google.visualization.DataTable} groups - */ - Timeline.prototype.setGroups = function(groups) { - // convert to type DataSet when needed - var newDataSet; - if (!groups) { - newDataSet = null; - } - else if (groups instanceof DataSet || groups instanceof DataView) { - newDataSet = groups; - } - else { - // turn an array into a dataset - newDataSet = new DataSet(groups); - } - - this.groupsData = newDataSet; - this.itemSet.setGroups(newDataSet); - }; - - /** - * Set selected items by their id. Replaces the current selection - * Unknown id's are silently ignored. - * @param {string[] | string} [ids] An array with zero or more id's of the items to be - * selected. If ids is an empty array, all items will be - * unselected. - * @param {Object} [options] Available options: - * `focus: boolean` - * If true, focus will be set to the selected item(s) - * `animate: boolean | number` - * If true (default), the range is animated - * smoothly to the new window. - * If a number, the number is taken as duration - * for the animation. Default duration is 500 ms. - * Only applicable when option focus is true. - */ - Timeline.prototype.setSelection = function(ids, options) { - this.itemSet && this.itemSet.setSelection(ids); - - if (options && options.focus) { - this.focus(ids, options); - } - }; - - /** - * Get the selected items by their id - * @return {Array} ids The ids of the selected items - */ - Timeline.prototype.getSelection = function() { - return this.itemSet && this.itemSet.getSelection() || []; - }; - - /** - * Adjust the visible window such that the selected item (or multiple items) - * are centered on screen. - * @param {String | String[]} id An item id or array with item ids - * @param {Object} [options] Available options: - * `animate: boolean | number` - * If true (default), the range is animated - * smoothly to the new window. - * If a number, the number is taken as duration - * for the animation. Default duration is 500 ms. - * Only applicable when option focus is true - */ - Timeline.prototype.focus = function(id, options) { - if (!this.itemsData || id == undefined) return; - - var ids = Array.isArray(id) ? id : [id]; - - // get the specified item(s) - var itemsData = this.itemsData.getDataSet().get(ids, { - type: { - start: 'Date', - end: 'Date' - } - }); - - // calculate minimum start and maximum end of specified items - var start = null; - var end = null; - itemsData.forEach(function (itemData) { - var s = itemData.start.valueOf(); - var e = 'end' in itemData ? itemData.end.valueOf() : itemData.start.valueOf(); - - if (start === null || s < start) { - start = s; - } - - if (end === null || e > end) { - end = e; - } - }); - - if (start !== null && end !== null) { - // calculate the new middle and interval for the window - var middle = (start + end) / 2; - var interval = Math.max((this.range.end - this.range.start), (end - start) * 1.1); - - var animate = (options && options.animate !== undefined) ? options.animate : true; - this.range.setRange(middle - interval / 2, middle + interval / 2, animate); - } - }; - - /** - * Get the data range of the item set. - * @returns {{min: Date, max: Date}} range A range with a start and end Date. - * When no minimum is found, min==null - * When no maximum is found, max==null - */ - Timeline.prototype.getItemRange = function() { - // calculate min from start filed - var dataset = this.itemsData.getDataSet(), - min = null, - max = null; - - if (dataset) { - // calculate the minimum value of the field 'start' - var minItem = dataset.min('start'); - min = minItem ? util.convert(minItem.start, 'Date').valueOf() : null; - // Note: we convert first to Date and then to number because else - // a conversion from ISODate to Number will fail - - // calculate maximum value of fields 'start' and 'end' - var maxStartItem = dataset.max('start'); - if (maxStartItem) { - max = util.convert(maxStartItem.start, 'Date').valueOf(); - } - var maxEndItem = dataset.max('end'); - if (maxEndItem) { - if (max == null) { - max = util.convert(maxEndItem.end, 'Date').valueOf(); - } - else { - max = Math.max(max, util.convert(maxEndItem.end, 'Date').valueOf()); - } - } - } - - return { - min: (min != null) ? new Date(min) : null, - max: (max != null) ? new Date(max) : null - }; - }; - - - module.exports = Timeline; - - -/***/ }, -/* 14 */ -/***/ function(module, exports, __webpack_require__) { - - var Emitter = __webpack_require__(56); - var Hammer = __webpack_require__(45); - var util = __webpack_require__(1); - var DataSet = __webpack_require__(3); - var DataView = __webpack_require__(4); - var Range = __webpack_require__(17); - var Core = __webpack_require__(46); - var TimeAxis = __webpack_require__(35); - var CurrentTime = __webpack_require__(26); - var CustomTime = __webpack_require__(27); - var LineGraph = __webpack_require__(34); - - /** - * Create a timeline visualization - * @param {HTMLElement} container - * @param {vis.DataSet | Array | google.visualization.DataTable} [items] - * @param {Object} [options] See Graph2d.setOptions for the available options. - * @constructor - * @extends Core - */ - function Graph2d (container, items, groups, options) { - // if the third element is options, the forth is groups (optionally); - if (!(Array.isArray(groups) || groups instanceof DataSet) && groups instanceof Object) { - var forthArgument = options; - options = groups; - groups = forthArgument; - } - - var me = this; - this.defaultOptions = { - start: null, - end: null, - - autoResize: true, - - orientation: 'bottom', - width: null, - height: null, - maxHeight: null, - minHeight: null - }; - this.options = util.deepExtend({}, this.defaultOptions); - - // Create the DOM, props, and emitter - this._create(container); - - // all components listed here will be repainted automatically - this.components = []; + getScale: function () { + return me.timeAxis.step.scale; + }, + getStep: function () { + return me.timeAxis.step.step; + }, - this.body = { - dom: this.dom, - domProps: this.props, - emitter: { - on: this.on.bind(this), - off: this.off.bind(this), - emit: this.emit.bind(this) - }, - hiddenDates: [], - util: { - snap: null, // will be specified after TimeAxis is created toScreen: me._toScreen.bind(me), toGlobalScreen: me._toGlobalScreen.bind(me), // this refers to the root.width toTime: me._toTime.bind(me), @@ -6736,7 +6525,330 @@ return /******/ (function(modules) { // webpackBootstrap // time axis this.timeAxis = new TimeAxis(this.body); this.components.push(this.timeAxis); - this.body.util.snap = this.timeAxis.snap.bind(this.timeAxis); + + // current time bar + this.currentTime = new CurrentTime(this.body); + this.components.push(this.currentTime); + + // custom time bar + // Note: time bar will be attached in this.setOptions when selected + this.customTime = new CustomTime(this.body); + this.components.push(this.customTime); + + // item set + this.itemSet = new ItemSet(this.body); + this.components.push(this.itemSet); + + this.itemsData = null; // DataSet + this.groupsData = null; // DataSet + + // apply options + if (options) { + this.setOptions(options); + } + + // IMPORTANT: THIS HAPPENS BEFORE SET ITEMS! + if (groups) { + this.setGroups(groups); + } + + // create itemset + if (items) { + this.setItems(items); + } + else { + this._redraw(); + } + } + + // Extend the functionality from Core + Timeline.prototype = new Core(); + + /** + * Force a redraw. The size of all items will be recalculated. + * Can be useful to manually redraw when option autoResize=false and the window + * has been resized, or when the items CSS has been changed. + */ + Timeline.prototype.redraw = function() { + this.itemSet && this.itemSet.markDirty({refreshItems: true}); + this._redraw(); + }; + + /** + * Set items + * @param {vis.DataSet | Array | google.visualization.DataTable | null} items + */ + Timeline.prototype.setItems = function(items) { + var initialLoad = (this.itemsData == null); + + // convert to type DataSet when needed + var newDataSet; + if (!items) { + newDataSet = null; + } + else if (items instanceof DataSet || items instanceof DataView) { + newDataSet = items; + } + else { + // turn an array into a dataset + newDataSet = new DataSet(items, { + type: { + start: 'Date', + end: 'Date' + } + }); + } + + // set items + this.itemsData = newDataSet; + this.itemSet && this.itemSet.setItems(newDataSet); + + if (initialLoad) { + if (this.options.start != undefined || this.options.end != undefined) { + if (this.options.start == undefined || this.options.end == undefined) { + var dataRange = this._getDataRange(); + } + + var start = this.options.start != undefined ? this.options.start : dataRange.start; + var end = this.options.end != undefined ? this.options.end : dataRange.end; + + this.setWindow(start, end, {animate: false}); + } + else { + this.fit({animate: false}); + } + } + }; + + /** + * Set groups + * @param {vis.DataSet | Array | google.visualization.DataTable} groups + */ + Timeline.prototype.setGroups = function(groups) { + // convert to type DataSet when needed + var newDataSet; + if (!groups) { + newDataSet = null; + } + else if (groups instanceof DataSet || groups instanceof DataView) { + newDataSet = groups; + } + else { + // turn an array into a dataset + newDataSet = new DataSet(groups); + } + + this.groupsData = newDataSet; + this.itemSet.setGroups(newDataSet); + }; + + /** + * Set selected items by their id. Replaces the current selection + * Unknown id's are silently ignored. + * @param {string[] | string} [ids] An array with zero or more id's of the items to be + * selected. If ids is an empty array, all items will be + * unselected. + * @param {Object} [options] Available options: + * `focus: boolean` + * If true, focus will be set to the selected item(s) + * `animate: boolean | number` + * If true (default), the range is animated + * smoothly to the new window. + * If a number, the number is taken as duration + * for the animation. Default duration is 500 ms. + * Only applicable when option focus is true. + */ + Timeline.prototype.setSelection = function(ids, options) { + this.itemSet && this.itemSet.setSelection(ids); + + if (options && options.focus) { + this.focus(ids, options); + } + }; + + /** + * Get the selected items by their id + * @return {Array} ids The ids of the selected items + */ + Timeline.prototype.getSelection = function() { + return this.itemSet && this.itemSet.getSelection() || []; + }; + + /** + * Adjust the visible window such that the selected item (or multiple items) + * are centered on screen. + * @param {String | String[]} id An item id or array with item ids + * @param {Object} [options] Available options: + * `animate: boolean | number` + * If true (default), the range is animated + * smoothly to the new window. + * If a number, the number is taken as duration + * for the animation. Default duration is 500 ms. + * Only applicable when option focus is true + */ + Timeline.prototype.focus = function(id, options) { + if (!this.itemsData || id == undefined) return; + + var ids = Array.isArray(id) ? id : [id]; + + // get the specified item(s) + var itemsData = this.itemsData.getDataSet().get(ids, { + type: { + start: 'Date', + end: 'Date' + } + }); + + // calculate minimum start and maximum end of specified items + var start = null; + var end = null; + itemsData.forEach(function (itemData) { + var s = itemData.start.valueOf(); + var e = 'end' in itemData ? itemData.end.valueOf() : itemData.start.valueOf(); + + if (start === null || s < start) { + start = s; + } + + if (end === null || e > end) { + end = e; + } + }); + + if (start !== null && end !== null) { + // calculate the new middle and interval for the window + var middle = (start + end) / 2; + var interval = Math.max((this.range.end - this.range.start), (end - start) * 1.1); + + var animate = (options && options.animate !== undefined) ? options.animate : true; + this.range.setRange(middle - interval / 2, middle + interval / 2, animate); + } + }; + + /** + * Get the data range of the item set. + * @returns {{min: Date, max: Date}} range A range with a start and end Date. + * When no minimum is found, min==null + * When no maximum is found, max==null + */ + Timeline.prototype.getItemRange = function() { + // calculate min from start filed + var dataset = this.itemsData.getDataSet(), + min = null, + max = null; + + if (dataset) { + // calculate the minimum value of the field 'start' + var minItem = dataset.min('start'); + min = minItem ? util.convert(minItem.start, 'Date').valueOf() : null; + // Note: we convert first to Date and then to number because else + // a conversion from ISODate to Number will fail + + // calculate maximum value of fields 'start' and 'end' + var maxStartItem = dataset.max('start'); + if (maxStartItem) { + max = util.convert(maxStartItem.start, 'Date').valueOf(); + } + var maxEndItem = dataset.max('end'); + if (maxEndItem) { + if (max == null) { + max = util.convert(maxEndItem.end, 'Date').valueOf(); + } + else { + max = Math.max(max, util.convert(maxEndItem.end, 'Date').valueOf()); + } + } + } + + return { + min: (min != null) ? new Date(min) : null, + max: (max != null) ? new Date(max) : null + }; + }; + + + module.exports = Timeline; + + +/***/ }, +/* 14 */ +/***/ function(module, exports, __webpack_require__) { + + var Emitter = __webpack_require__(56); + var Hammer = __webpack_require__(45); + var util = __webpack_require__(1); + var DataSet = __webpack_require__(3); + var DataView = __webpack_require__(4); + var Range = __webpack_require__(17); + var Core = __webpack_require__(46); + var TimeAxis = __webpack_require__(35); + var CurrentTime = __webpack_require__(26); + var CustomTime = __webpack_require__(27); + var LineGraph = __webpack_require__(34); + + /** + * Create a timeline visualization + * @param {HTMLElement} container + * @param {vis.DataSet | Array | google.visualization.DataTable} [items] + * @param {Object} [options] See Graph2d.setOptions for the available options. + * @constructor + * @extends Core + */ + function Graph2d (container, items, groups, options) { + // if the third element is options, the forth is groups (optionally); + if (!(Array.isArray(groups) || groups instanceof DataSet) && groups instanceof Object) { + var forthArgument = options; + options = groups; + groups = forthArgument; + } + + var me = this; + this.defaultOptions = { + start: null, + end: null, + + autoResize: true, + + orientation: 'bottom', + width: null, + height: null, + maxHeight: null, + minHeight: null + }; + this.options = util.deepExtend({}, this.defaultOptions); + + // Create the DOM, props, and emitter + this._create(container); + + // all components listed here will be repainted automatically + this.components = []; + + this.body = { + dom: this.dom, + domProps: this.props, + emitter: { + on: this.on.bind(this), + off: this.off.bind(this), + emit: this.emit.bind(this) + }, + hiddenDates: [], + util: { + toScreen: me._toScreen.bind(me), + toGlobalScreen: me._toGlobalScreen.bind(me), // this refers to the root.width + toTime: me._toTime.bind(me), + toGlobalTime : me._toGlobalTime.bind(me) + } + }; + + // range + this.range = new Range(this.body); + this.components.push(this.range); + this.body.range = this.range; + + // time axis + this.timeAxis = new TimeAxis(this.body); + this.components.push(this.timeAxis); + //this.body.util.snap = this.timeAxis.snap.bind(this.timeAxis); // current time bar this.currentTime = new CurrentTime(this.body); @@ -6769,7 +6881,7 @@ return /******/ (function(modules) { // webpackBootstrap this.setItems(items); } else { - this.redraw(); + this._redraw(); } } @@ -7634,18 +7746,6 @@ return /******/ (function(modules) { // webpackBootstrap return toPrecision; }; - - - /** - * Snap a date to a rounded value. - * The snap intervals are dependent on the current scale and step. - * @param {Date} date the date to be snapped. - * @return {Date} snappedDate - */ - DataStep.prototype.snap = function(date) { - - }; - /** * Check if the current value is a major value (for example when the step * is DAY, a major value is each first day of the MONTH) @@ -7821,7 +7921,7 @@ return /******/ (function(modules) { // webpackBootstrap me.animateTimer = setTimeout(next, 20); } } - } + }; return next(); } @@ -7915,7 +8015,7 @@ return /******/ (function(modules) { // webpackBootstrap zoomMin = 0; } if ((newEnd - newStart) < zoomMin) { - if ((this.end - this.start) === zoomMin) { + if ((this.end - this.start) === zoomMin && newStart > this.start && newEnd < this.end) { // ignore this action, we are already zoomed to the minimum newStart = this.start; newEnd = this.end; @@ -7935,8 +8035,9 @@ return /******/ (function(modules) { // webpackBootstrap if (zoomMax < 0) { zoomMax = 0; } + if ((newEnd - newStart) > zoomMax) { - if ((this.end - this.start) === zoomMax) { + if ((this.end - this.start) === zoomMax && newStart < this.start && newEnd > this.end) { // ignore this action, we are already zoomed to the maximum newStart = this.start; newEnd = this.end; @@ -7952,7 +8053,7 @@ return /******/ (function(modules) { // webpackBootstrap var changed = (this.start != newStart || this.end != newEnd); - // if the new range does NOT overlap with the old range, emit checkRangedItems to avoid not showing ranged items (ranged meaning has end time, not neccesarily of type Range) + // if the new range does NOT overlap with the old range, emit checkRangedItems to avoid not showing ranged items (ranged meaning has end time, not necessarily of type Range) if (!((newStart >= this.start && newStart <= this.end) || (newEnd >= this.start && newEnd <= this.end)) && !((this.start >= newStart && this.start <= newEnd) || (this.end >= newStart && this.end <= newEnd) )) { this.body.emitter.emit('checkRangedItems'); @@ -8720,23 +8821,22 @@ return /******/ (function(modules) { // webpackBootstrap /** * Set a custom scale. Autoscaling will be disabled. - * For example setScale(SCALE.MINUTES, 5) will result + * For example setScale('minute', 5) will result * in minor steps of 5 minutes, and major steps of an hour. * - * @param {string} newScale - * A scale. Choose from 'millisecond, 'second, - * 'minute', 'hour', 'weekday, 'day, 'month, 'year'. - * @param {Number} newStep A step size, by default 1. Choose for - * example 1, 2, 5, or 10. + * @param {{scale: string, step: number}} params + * An object containing two properties: + * - A string 'scale'. Choose from 'millisecond', 'second', + * 'minute', 'hour', 'weekday, 'day, 'month, 'year'. + * - A number 'step'. A step size, by default 1. + * Choose for example 1, 2, 5, or 10. */ - TimeStep.prototype.setScale = function(newScale, newStep) { - this.scale = newScale; - - if (newStep > 0) { - this.step = newStep; + TimeStep.prototype.setScale = function(params) { + if (params && typeof params.scale == 'string') { + this.scale = params.scale; + this.step = params.step > 0 ? params.step : 1; + this.autoScale = false; } - - this.autoScale = false; }; /** @@ -8802,15 +8902,19 @@ return /******/ (function(modules) { // webpackBootstrap /** * Snap a date to a rounded value. * The snap intervals are dependent on the current scale and step. - * @param {Date} date the date to be snapped. + * Static function + * @param {Date} date the date to be snapped. + * @param {string} scale Current scale, can be 'millisecond', 'second', + * 'minute', 'hour', 'weekday, 'day, 'month, 'year'. + * @param {number} step Current step (1, 2, 4, 5, ... * @return {Date} snappedDate */ - TimeStep.prototype.snap = function(date) { + TimeStep.snap = function(date, scale, step) { var clone = new Date(date.valueOf()); - if (this.scale == 'year') { + if (scale == 'year') { var year = clone.getFullYear() + Math.round(clone.getMonth() / 12); - clone.setFullYear(Math.round(year / this.step) * this.step); + clone.setFullYear(Math.round(year / step) * step); clone.setMonth(0); clone.setDate(0); clone.setHours(0); @@ -8818,7 +8922,7 @@ return /******/ (function(modules) { // webpackBootstrap clone.setSeconds(0); clone.setMilliseconds(0); } - else if (this.scale == 'month') { + else if (scale == 'month') { if (clone.getDate() > 15) { clone.setDate(1); clone.setMonth(clone.getMonth() + 1); @@ -8833,9 +8937,9 @@ return /******/ (function(modules) { // webpackBootstrap clone.setSeconds(0); clone.setMilliseconds(0); } - else if (this.scale == 'day') { + else if (scale == 'day') { //noinspection FallthroughInSwitchStatementJS - switch (this.step) { + switch (step) { case 5: case 2: clone.setHours(Math.round(clone.getHours() / 24) * 24); break; @@ -8846,9 +8950,9 @@ return /******/ (function(modules) { // webpackBootstrap clone.setSeconds(0); clone.setMilliseconds(0); } - else if (this.scale == 'weekday') { + else if (scale == 'weekday') { //noinspection FallthroughInSwitchStatementJS - switch (this.step) { + switch (step) { case 5: case 2: clone.setHours(Math.round(clone.getHours() / 12) * 12); break; @@ -8859,8 +8963,8 @@ return /******/ (function(modules) { // webpackBootstrap clone.setSeconds(0); clone.setMilliseconds(0); } - else if (this.scale == 'hour') { - switch (this.step) { + else if (scale == 'hour') { + switch (step) { case 4: clone.setMinutes(Math.round(clone.getMinutes() / 60) * 60); break; default: @@ -8868,9 +8972,9 @@ return /******/ (function(modules) { // webpackBootstrap } clone.setSeconds(0); clone.setMilliseconds(0); - } else if (this.scale == 'minute') { + } else if (scale == 'minute') { //noinspection FallthroughInSwitchStatementJS - switch (this.step) { + switch (step) { case 15: case 10: clone.setMinutes(Math.round(clone.getMinutes() / 5) * 5); @@ -8883,9 +8987,9 @@ return /******/ (function(modules) { // webpackBootstrap } clone.setMilliseconds(0); } - else if (this.scale == 'second') { + else if (scale == 'second') { //noinspection FallthroughInSwitchStatementJS - switch (this.step) { + switch (step) { case 15: case 10: clone.setSeconds(Math.round(clone.getSeconds() / 5) * 5); @@ -8897,9 +9001,9 @@ return /******/ (function(modules) { // webpackBootstrap clone.setMilliseconds(Math.round(clone.getMilliseconds() / 500) * 500); break; } } - else if (this.scale == 'millisecond') { - var step = this.step > 5 ? this.step / 2 : 1; - clone.setMilliseconds(Math.round(clone.getMilliseconds() / step) * step); + else if (scale == 'millisecond') { + var _step = step > 5 ? step / 2 : 1; + clone.setMilliseconds(Math.round(clone.getMilliseconds() / _step) * _step); } return clone; @@ -11350,16 +11454,6 @@ return /******/ (function(modules) { // webpackBootstrap } }; - /** - * Snap a date to a rounded value. - * The snap intervals are dependent on the current scale and step. - * @param {Date} date the date to be snapped. - * @return {Date} snappedDate - */ - DataAxis.prototype.snap = function(date) { - return this.step.snap(date); - }; - module.exports = DataAxis; @@ -12214,6 +12308,7 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); + var TimeStep = __webpack_require__(19); var Component = __webpack_require__(25); var Group = __webpack_require__(30); var BackgroundGroup = __webpack_require__(31); @@ -12253,6 +12348,8 @@ return /******/ (function(modules) { // webpackBootstrap remove: false }, + snap: TimeStep.snap, + onAdd: function (item, callback) { callback(item); }, @@ -12483,7 +12580,7 @@ return /******/ (function(modules) { // webpackBootstrap ItemSet.prototype.setOptions = function(options) { if (options) { // copy all options that we know - var fields = ['type', 'align', 'orientation', 'padding', 'stack', 'selectable', 'groupOrder', 'dataAttributes', 'template','hide']; + var fields = ['type', 'align', 'orientation', 'padding', 'stack', 'selectable', 'groupOrder', 'dataAttributes', 'template','hide', 'snap']; util.selectiveExtend(fields, this.options, options); if ('margin' in options) { @@ -12536,11 +12633,20 @@ return /******/ (function(modules) { // webpackBootstrap }; /** - * Mark the ItemSet dirty so it will refresh everything with next redraw + * Mark the ItemSet dirty so it will refresh everything with next redraw. + * Optionally, all items can be marked as dirty and be refreshed. + * @param {{refreshItems: boolean}} [options] */ - ItemSet.prototype.markDirty = function() { + ItemSet.prototype.markDirty = function(options) { this.groupIds = []; this.stackDirty = true; + + if (options && options.refreshItems) { + util.forEach(this.items, function (item) { + item.dirty = true; + if (item.displayed) item.redraw(); + }); + } }; /** @@ -13342,8 +13448,15 @@ return /******/ (function(modules) { // webpackBootstrap }; if (me.options.editable.updateTime) { - if ('start' in item.data) props.start = item.data.start.valueOf(); - if ('end' in item.data) props.end = item.data.end.valueOf(); + if ('start' in item.data) { + props.start = item.data.start.valueOf(); + + if ('end' in item.data) { + // we store a duration here in order not to change the width + // of the item when moving it. + props.duration = item.data.end.valueOf() - props.start; + } + } } if (me.options.editable.updateGroup) { if ('group' in item.data) props.group = item.data.group; @@ -13363,12 +13476,14 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ ItemSet.prototype._onDrag = function (event) { - event.preventDefault() + event.preventDefault(); if (this.touchParams.itemProps) { var me = this; - var snap = this.body.util.snap || null; + var snap = this.options.snap || null; var xOffset = this.body.dom.root.offsetLeft + this.body.domProps.left.width; + var scale = this.body.util.getScale(); + var step = this.body.util.getStep(); // move this.touchParams.itemProps.forEach(function (props) { @@ -13379,17 +13494,20 @@ return /******/ (function(modules) { // webpackBootstrap if ('start' in props) { var start = new Date(props.start + offset); - newProps.start = snap ? snap(start) : start; + newProps.start = snap ? snap(start, scale, step) : start; } if ('end' in props) { var end = new Date(props.end + offset); - newProps.end = snap ? snap(end) : end; + newProps.end = snap ? snap(end, scale, step) : end; + } + else if ('duration' in props) { + newProps.end = new Date(newProps.start.valueOf() + props.duration); } if ('group' in props) { // drag from one group to another - var group = ItemSet.groupFromTarget(event); + var group = me.groupFromTarget(event); newProps.group = group && group.groupId; } @@ -13549,7 +13667,7 @@ return /******/ (function(modules) { // webpackBootstrap if (!this.options.editable.add) return; var me = this, - snap = this.body.util.snap || null, + snap = this.options.snap || null, item = ItemSet.itemFromTarget(event); if (item) { @@ -13568,20 +13686,23 @@ return /******/ (function(modules) { // webpackBootstrap var xAbs = util.getAbsoluteLeft(this.dom.frame); var x = event.gesture.center.pageX - xAbs; var start = this.body.util.toTime(x); + var scale = this.body.util.getScale(); + var step = this.body.util.getStep(); + var newItem = { - start: snap ? snap(start) : start, + start: snap ? snap(start, scale, step) : start, content: 'new item' }; // when default type is a range, add a default end date to the new item if (this.options.type === 'range') { var end = this.body.util.toTime(x + this.props.width / 5); - newItem.end = snap ? snap(end) : end; + newItem.end = snap ? snap(end, scale, step) : end; } newItem[this.itemsData._fieldId] = util.randomUUID(); - var group = ItemSet.groupFromTarget(event); + var group = this.groupFromTarget(event); if (group) { newItem.group = group.groupId; } @@ -13711,13 +13832,37 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Event} event * @return {Group | null} group */ - ItemSet.groupFromTarget = function(event) { - var target = event.target; - while (target) { - if (target.hasOwnProperty('timeline-group')) { - return target['timeline-group']; + ItemSet.prototype.groupFromTarget = function(event) { + // TODO: cleanup when the new solution is stable (also on mobile) + //var target = event.target; + //while (target) { + // if (target.hasOwnProperty('timeline-group')) { + // return target['timeline-group']; + // } + // target = target.parentNode; + //} + // + + var clientY = event.gesture.center.clientY; + for (var i = 0; i < this.groupIds.length; i++) { + var groupId = this.groupIds[i]; + var group = this.groups[groupId]; + var foreground = group.dom.foreground; + var top = util.getAbsoluteTop(foreground); + if (clientY > top && clientY < top + foreground.offsetHeight) { + return group; + } + + if (this.options.orientation === 'top') { + if (i === this.groupIds.length - 1 && clientY > top) { + return group; + } + } + else { + if (i === 0 && clientY < top + foreground.offset) { + return group; + } } - target = target.parentNode; } return null; @@ -14999,7 +15144,8 @@ return /******/ (function(modules) { // webpackBootstrap // TODO: implement timeaxis orientations 'left' and 'right' showMinorLabels: true, showMajorLabels: true, - format: null + format: null, + timeAxis: null }; this.options = util.extend({}, this.defaultOptions); @@ -15029,7 +15175,8 @@ return /******/ (function(modules) { // webpackBootstrap 'showMinorLabels', 'showMajorLabels', 'hiddenDates', - 'format' + 'format', + 'timeAxis' ], this.options, options); // apply locale to moment.js @@ -15151,6 +15298,9 @@ return /******/ (function(modules) { // webpackBootstrap if (this.options.format) { step.setFormat(this.options.format); } + if (this.options.timeAxis) { + step.setScale(this.options.timeAxis); + } this.step = step; // Move all DOM elements to a "redundant" list, where they @@ -15389,16 +15539,6 @@ return /******/ (function(modules) { // webpackBootstrap this.props.majorCharWidth = this.dom.measureCharMajor.clientWidth; }; - /** - * Snap a date to a rounded value. - * The snap intervals are dependent on the current scale and step. - * @param {Date} date the date to be snapped. - * @return {Date} snappedDate - */ - TimeAxis.prototype.snap = function(date) { - return this.step.snap(date); - }; - module.exports = TimeAxis; @@ -15408,7 +15548,7 @@ return /******/ (function(modules) { // webpackBootstrap var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); - var keycharm = __webpack_require__(57); + var keycharm = __webpack_require__(59); var util = __webpack_require__(1); var hammerUtil = __webpack_require__(47); var DataSet = __webpack_require__(3); @@ -15461,9 +15601,19 @@ return /******/ (function(modules) { // webpackBootstrap this.triggerFunctions = {add:null,edit:null,editEdge:null,connect:null,del:null}; + var customScalingFunction = function (min,max,total,value) { + if (max == min) { + return 0.5; + } + else { + var scale = 1 / (max - min); + return Math.max(0,(value - min)*scale); + } + }; // set constant values this.defaultOptions = { nodes: { + customScalingFunction: customScalingFunction, mass: 1, radiusMin: 10, radiusMax: 30, @@ -15477,7 +15627,12 @@ return /******/ (function(modules) { // webpackBootstrap fontFace: 'verdana', fontFill: undefined, fontStrokeWidth: 0, // px - fontStrokeColor: 'white', + fontStrokeColor: '#ffffff', + fontDrawThreshold: 3, + scaleFontWithValue: false, + fontSizeMin: 14, + fontSizeMax: 30, + fontSizeMaxVisible: 30, level: -1, color: { border: '#2B7CE9', @@ -15496,6 +15651,7 @@ return /******/ (function(modules) { // webpackBootstrap borderWidthSelected: undefined }, edges: { + customScalingFunction: customScalingFunction, widthMin: 1, // widthMax: 15,// width: 1, @@ -15507,6 +15663,7 @@ return /******/ (function(modules) { // webpackBootstrap highlight:'#848484', hover: '#848484' }, + opacity:1.0, fontColor: '#343434', fontSize: 14, // px fontFace: 'arial', @@ -15571,15 +15728,17 @@ return /******/ (function(modules) { // webpackBootstrap height: 1, // (px PNiC) | growth of the height per node in cluster. radius: 1}, // (px PNiC) | growth of the radius per node in cluster. maxNodeSizeIncrements: 600, // (# increments) | max growth of the width per node in cluster. - activeAreaBoxSize: 80, // (px) | box area around the curser where clusters are popped open. - clusterLevelDifference: 2 + activeAreaBoxSize: 80, // (px) | box area around the curser where clusters are popped open. + clusterLevelDifference: 2, // used for normalization of the cluster levels + clusterByZoom: true // enable clustering through zooming in and out }, navigation: { enabled: false }, keyboard: { enabled: false, - speed: {x: 10, y: 10, zoom: 0.02} + speed: {x: 10, y: 10, zoom: 0.02}, + bindToWindow: true }, dataManipulation: { enabled: false, @@ -15599,7 +15758,7 @@ return /******/ (function(modules) { // webpackBootstrap type: "continuous", roundness: 0.5 }, - maxVelocity: 30, + maxVelocity: 50, minVelocity: 0.1, // px/s stabilize: true, // stabilize before displaying the network stabilizationIterations: 1000, // maximum number of iteration to stabilize @@ -15681,7 +15840,7 @@ return /******/ (function(modules) { // webpackBootstrap this.setOptions(options); // other vars - this.freezeSimulation = false;// freeze the simulation + this.freezeSimulationEnabled = false;// freeze the simulation this.cachedFunctions = {}; this.startedStabilization = false; this.stabilized = false; @@ -15752,7 +15911,7 @@ return /******/ (function(modules) { // webpackBootstrap else { // zoom so all data will fit on the screen, if clustering is enabled, we do not want start to be called here. if (this.constants.stabilize == false) { - this.zoomExtent(undefined, true,this.constants.clustering.enabled); + this.zoomExtent({duration:0}, true, this.constants.clustering.enabled); } } @@ -15812,17 +15971,45 @@ return /******/ (function(modules) { // webpackBootstrap * Find the center position of the network * @private */ - Network.prototype._getRange = function() { + Network.prototype._getRange = function(specificNodes) { var minY = 1e9, maxY = -1e9, minX = 1e9, maxX = -1e9, node; - for (var nodeId in this.nodes) { - if (this.nodes.hasOwnProperty(nodeId)) { - node = this.nodes[nodeId]; - if (minX > (node.boundingBox.left)) {minX = node.boundingBox.left;} - if (maxX < (node.boundingBox.right)) {maxX = node.boundingBox.right;} - if (minY > (node.boundingBox.bottom)) {minY = node.boundingBox.top;} // top is negative, bottom is positive - if (maxY < (node.boundingBox.top)) {maxY = node.boundingBox.bottom;} // top is negative, bottom is positive + if (specificNodes.length > 0) { + for (var i = 0; i < specificNodes.length; i++) { + node = this.nodes[specificNodes[i]]; + if (minX > (node.boundingBox.left)) { + minX = node.boundingBox.left; + } + if (maxX < (node.boundingBox.right)) { + maxX = node.boundingBox.right; + } + if (minY > (node.boundingBox.bottom)) { + minY = node.boundingBox.top; + } // top is negative, bottom is positive + if (maxY < (node.boundingBox.top)) { + maxY = node.boundingBox.bottom; + } // top is negative, bottom is positive + } + } + else { + for (var nodeId in this.nodes) { + if (this.nodes.hasOwnProperty(nodeId)) { + node = this.nodes[nodeId]; + if (minX > (node.boundingBox.left)) { + minX = node.boundingBox.left; + } + if (maxX < (node.boundingBox.right)) { + maxX = node.boundingBox.right; + } + if (minY > (node.boundingBox.bottom)) { + minY = node.boundingBox.top; + } // top is negative, bottom is positive + if (maxY < (node.boundingBox.top)) { + maxY = node.boundingBox.bottom; + } // top is negative, bottom is positive + } } } + if (minX == 1e9 && maxX == -1e9 && minY == 1e9 && maxY == -1e9) { minY = 0, maxY = 0, minX = 0, maxX = 0; } @@ -15847,17 +16034,37 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Boolean} [initialZoom] | zoom based on fitted formula or range, true = fitted, default = false; * @param {Boolean} [disableStart] | If true, start is not called. */ - Network.prototype.zoomExtent = function(animationOptions, initialZoom, disableStart) { + Network.prototype.zoomExtent = function(options, initialZoom, disableStart) { this._redraw(true); if (initialZoom === undefined) {initialZoom = false;} if (disableStart === undefined) {disableStart = false;} - if (animationOptions === undefined) {animationOptions = false;} + if (options === undefined) {options = {nodes:[]};} + if (options.nodes === undefined) { + options.nodes = []; + } - var range = this._getRange(); + var range; var zoomLevel; if (initialZoom == true) { + // check if more than half of the nodes have a predefined position. If so, we use the range, not the approximation. + var positionDefined = 0; + for (var nodeId in this.nodes) { + if (this.nodes.hasOwnProperty(nodeId)) { + var node = this.nodes[nodeId]; + if (node.predefinedPosition == true) { + positionDefined += 1; + } + } + } + if (positionDefined > 0.5 * this.nodeIndices.length) { + this.zoomExtent(options,false,disableStart); + return; + } + + range = this._getRange(options.nodes); + var numberOfNodes = this.nodeIndices.length; if (this.constants.smoothCurves == true) { if (this.constants.clustering.enabled == true && @@ -15883,6 +16090,7 @@ return /******/ (function(modules) { // webpackBootstrap zoomLevel *= factor; } else { + range = this._getRange(options.nodes); var xDistance = Math.abs(range.maxX - range.minX) * 1.1; var yDistance = Math.abs(range.maxY - range.minY) * 1.1; @@ -15898,7 +16106,7 @@ return /******/ (function(modules) { // webpackBootstrap var center = this._findCenter(range); if (disableStart == false) { - var options = {position: center, scale: zoomLevel, animation: animationOptions}; + var options = {position: center, scale: zoomLevel, animation: options}; this.moveTo(options); this.moving = true; this.start(); @@ -15943,6 +16151,10 @@ return /******/ (function(modules) { // webpackBootstrap if (disableStart === undefined) { disableStart = false; } + + // unselect all to ensure no selections from old data are carried over. + this._unselectAll(true); + // we set initializing to true to ensure that the hierarchical layout is not performed until both nodes and edges are added. this.initializing = true; @@ -15987,7 +16199,7 @@ return /******/ (function(modules) { // webpackBootstrap } else { // find a stable position or start animating to a stable position - if (this.constants.stabilize) { + if (this.constants.stabilize == true) { this._stabilize(); } } @@ -16138,7 +16350,7 @@ return /******/ (function(modules) { // webpackBootstrap // bind keys. If disabled, this will not do anything; this._createKeyBinds(); - + this._markAllEdgesAsDirty(); this.setSize(this.constants.width, this.constants.height); this.moving = true; this.start(); @@ -16164,6 +16376,7 @@ return /******/ (function(modules) { // webpackBootstrap this.frame.className = 'vis network-frame'; this.frame.style.position = 'relative'; this.frame.style.overflow = 'hidden'; + this.frame.tabIndex = 900; ////////////////////////////////////////////////////////////////// @@ -16188,6 +16401,7 @@ return /******/ (function(modules) { // webpackBootstrap ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1); + //this.pixelRatio = Math.max(1,this.pixelRatio); // this is to account for browser zooming out. The pixel ratio is ment to switch between 1 and 2 for HD screens. this.frame.canvas.getContext("2d").setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0); } @@ -16243,7 +16457,13 @@ return /******/ (function(modules) { // webpackBootstrap if (this.keycharm !== undefined) { this.keycharm.destroy(); } - this.keycharm = keycharm(); + + if (this.constants.keyboard.bindToWindow == true) { + this.keycharm = keycharm({container: window, preventDefault: false}); + } + else { + this.keycharm = keycharm({container: this.frame, preventDefault: false}); + } this.keycharm.reset(); @@ -16273,6 +16493,10 @@ return /******/ (function(modules) { // webpackBootstrap this.keycharm.bind("pagedown",this._zoomOut.bind(me),"keydown"); this.keycharm.bind("pagedown",this._stopZoom.bind(me), "keyup"); } + //this.keycharm.bind("1",this.increaseClusterLevel.bind(me), "keydown"); + //this.keycharm.bind("2",this.decreaseClusterLevel.bind(me), "keydown"); + //this.keycharm.bind("3",this.forceAggregateHubs.bind(me,true),"keydown"); + //this.keycharm.bind("4",this.normalizeClusterLevels.bind(me), "keydown"); if (this.constants.dataManipulation.enabled == true) { this.keycharm.bind("esc",this._createManipulatorBar.bind(me)); @@ -16688,6 +16912,11 @@ return /******/ (function(modules) { // webpackBootstrap this._checkHidePopup(pointer); } + // if we bind the keyboard to the div, we have to highlight it to use it. This highlights it on mouse over + if (this.constants.keyboard.bindToWindow == false && this.constants.keyboard.enabled == true) { + this.frame.focus(); + } + // start a timeout that will check if the mouse is positioned above // an element var me = this; @@ -16990,8 +17219,16 @@ return /******/ (function(modules) { // webpackBootstrap } this._updateNodeIndexList(); this._updateValueRange(nodes); + this._markAllEdgesAsDirty(); }; + + Network.prototype._markAllEdgesAsDirty = function() { + for (var edgeId in this.edges) { + this.edges[edgeId].colorDirty = true; + } + } + /** * Remove existing nodes. If nodes do not exist, the method will just ignore it. * @param {Number[] | String[]} ids @@ -16999,10 +17236,22 @@ return /******/ (function(modules) { // webpackBootstrap */ Network.prototype._removeNodes = function(ids) { var nodes = this.nodes; + + // remove from selection + for (var i = 0, len = ids.length; i < len; i++) { + if (this.selectionObj.nodes[ids[i]] !== undefined) { + this.nodes[ids[i]].unselect(); + this._removeFromSelection(this.nodes[ids[i]]); + } + } + for (var i = 0, len = ids.length; i < len; i++) { var id = ids[i]; delete nodes[id]; } + + + this._updateNodeIndexList(); if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) { this._resetLevels(); @@ -17134,6 +17383,15 @@ return /******/ (function(modules) { // webpackBootstrap */ Network.prototype._removeEdges = function (ids) { var edges = this.edges; + + // remove from selection + for (var i = 0, len = ids.length; i < len; i++) { + if (this.selectionObj.edges[ids[i]] !== undefined) { + edges[ids[i]].unselect(); + this._removeFromSelection(edges[ids[i]]); + } + } + for (var i = 0, len = ids.length; i < len; i++) { var id = ids[i]; var edge = edges[id]; @@ -17194,12 +17452,14 @@ return /******/ (function(modules) { // webpackBootstrap // determine the range of the objects var valueMin = undefined; var valueMax = undefined; + var valueTotal = 0; for (id in obj) { if (obj.hasOwnProperty(id)) { var value = obj[id].getValue(); if (value !== undefined) { valueMin = (valueMin === undefined) ? value : Math.min(value, valueMin); valueMax = (valueMax === undefined) ? value : Math.max(value, valueMax); + valueTotal += value; } } } @@ -17208,7 +17468,7 @@ return /******/ (function(modules) { // webpackBootstrap if (valueMin !== undefined && valueMax !== undefined) { for (id in obj) { if (obj.hasOwnProperty(id)) { - obj[id].setValueRange(valueMin, valueMax); + obj[id].setValueRange(valueMin, valueMax, valueTotal); } } } @@ -17234,8 +17494,8 @@ return /******/ (function(modules) { // webpackBootstrap ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0); // clear the canvas - var w = this.frame.canvas.width * this.pixelRatio; - var h = this.frame.canvas.height * this.pixelRatio; + var w = this.frame.canvas.clientWidth; + var h = this.frame.canvas.clientHeight; ctx.clearRect(0, 0, w, h); // set scaling and translation @@ -17248,8 +17508,8 @@ return /******/ (function(modules) { // webpackBootstrap "y": this._YconvertDOMtoCanvas(0) }; this.canvasBottomRight = { - "x": this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth * this.pixelRatio), - "y": this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight * this.pixelRatio) + "x": this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth), + "y": this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight) }; if (!(hidden == true)) { @@ -17484,16 +17744,23 @@ return /******/ (function(modules) { // webpackBootstrap var count = 0; while (this.moving && count < this.constants.stabilizationIterations) { this._physicsTick(); + // TODO: cleanup + //if (count % 100 == 0) { + // console.log("stabilizationIterations",count); + //} count++; } + if (this.constants.zoomExtentOnStabilize == true) { - this.zoomExtent(undefined, false, true); + this.zoomExtent({duration:0}, false, true); } if (this.constants.freezeForStabilization == true) { this._restoreFrozenNodes(); } + + this.emit("stabilizationIterationsDone"); }; /** @@ -17543,8 +17810,10 @@ return /******/ (function(modules) { // webpackBootstrap Network.prototype._isMoving = function(vmin) { var nodes = this.nodes; for (var id in nodes) { - if (nodes.hasOwnProperty(id) && nodes[id].isMoving(vmin)) { - return true; + if (nodes[id] !== undefined) { + if (nodes[id].isMoving(vmin) == true) { + return true; + } } } return false; @@ -17615,7 +17884,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ Network.prototype._physicsTick = function() { - if (!this.freezeSimulation) { + if (!this.freezeSimulationEnabled) { if (this.moving == true) { var mainMovingStatus = false; var supportMovingStatus = false; @@ -17627,11 +17896,12 @@ return /******/ (function(modules) { // webpackBootstrap } // gather movement data from all sectors, if one moves, we are NOT stabilzied - for (var i = 0; i < mainMoving.length; i++) {mainMovingStatus = mainMoving[0] || mainMovingStatus;} + for (var i = 0; i < mainMoving.length; i++) { + mainMovingStatus = mainMoving[i] || mainMovingStatus; + } // determine if the network has stabilzied this.moving = mainMovingStatus || supportMovingStatus; - if (this.moving == false) { this._revertPhysicsTick(); } @@ -17754,12 +18024,14 @@ return /******/ (function(modules) { // webpackBootstrap /** * Freeze the _animationStep */ - Network.prototype.toggleFreeze = function() { - if (this.freezeSimulation == false) { - this.freezeSimulation = true; + Network.prototype.freezeSimulation = function(freeze) { + if (freeze == true) { + this.freezeSimulationEnabled = true; + this.moving = false; } else { - this.freezeSimulation = false; + this.freezeSimulationEnabled = false; + this.moving = true; this.start(); } }; @@ -18132,6 +18404,30 @@ return /******/ (function(modules) { // webpackBootstrap } } + Network.prototype.getConnectedNodes = function(nodeId) { + var nodeList = []; + if (this.nodes[nodeId] !== undefined) { + var node = this.nodes[nodeId]; + var nodeObj = {nodeId : true}; // 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 (nodeObj[edge.fromId] === undefined) { + nodeList.push(edge.fromId); + nodeObj[edge.fromId] = true; + } + } + else if (edge.fromId == nodeId) { + if (nodeObj[edge.toId] === undefined) { + nodeList.push(edge.toId) + nodeObj[edge.toId] = true; + } + } + } + } + return nodeList; + } + module.exports = Network; @@ -18181,6 +18477,7 @@ return /******/ (function(modules) { // webpackBootstrap this.hover = false; this.labelDimensions = {top:0,left:0,width:0,height:0,yLine:0}; // could be cached this.dirtyLabel = true; + this.colorDirty = true; this.from = null; // a node this.to = null; // a node @@ -18212,12 +18509,14 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} constants and object with default, global properties */ Edge.prototype.setProperties = function(properties) { + this.colorDirty = true; if (!properties) { return; } var fields = ['style','fontSize','fontFace','fontColor','fontFill','fontStrokeWidth','fontStrokeColor','width', - 'widthSelectionMultiplier','hoverWidth','arrowScaleFactor','dash','inheritColor','labelAlignment' + 'widthSelectionMultiplier','hoverWidth','arrowScaleFactor','dash','inheritColor','labelAlignment', 'opacity', + 'customScalingFunction' ]; util.selectiveDeepExtend(fields, this.options, properties); @@ -18244,7 +18543,9 @@ return /******/ (function(modules) { // webpackBootstrap } } - // A node is connected when it has a from and to node. + + + // A node is connected when it has a from and to node. this.connect(); this.widthFixed = this.widthFixed || (properties.width !== undefined); @@ -18260,9 +18561,9 @@ return /******/ (function(modules) { // webpackBootstrap case 'dash-line': this.draw = this._drawDashLine; break; default: this.draw = this._drawLine; break; } - }; + /** * Connect an edge to its nodes */ @@ -18327,10 +18628,11 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Number} min * @param {Number} max */ - Edge.prototype.setValueRange = function(min, max) { + Edge.prototype.setValueRange = function(min, max, total) { if (!this.widthFixed && this.value !== undefined) { - var scale = (this.options.widthMax - this.options.widthMin) / (max - min); - this.options.width= (this.value - min) * scale + this.options.widthMin; + var scale = this.options.customScalingFunction(min, max, total, this.value); + var widthDiff = this.options.widthMax - this.options.widthMin; + this.options.width = this.options.widthMin + scale * widthDiff; this.widthSelected = this.options.width* this.options.widthSelectionMultiplier; } }; @@ -18371,19 +18673,23 @@ return /******/ (function(modules) { // webpackBootstrap Edge.prototype._getColor = function() { var colorObj = this.options.color; - if (this.options.inheritColor == "to") { - colorObj = { - highlight: this.to.options.color.highlight.border, - hover: this.to.options.color.hover.border, - color: this.to.options.color.border - }; - } - else if (this.options.inheritColor == "from" || this.options.inheritColor == true) { - colorObj = { - highlight: this.from.options.color.highlight.border, - hover: this.from.options.color.hover.border, - color: this.from.options.color.border - }; + if (this.colorDirty === true) { + if (this.options.inheritColor == "to") { + colorObj = { + highlight: this.to.options.color.highlight.border, + hover: this.to.options.color.hover.border, + color: util.overrideOpacity(this.from.options.color.border, this.options.opacity) + }; + } + else if (this.options.inheritColor == "from" || this.options.inheritColor == true) { + colorObj = { + highlight: this.from.options.color.highlight.border, + hover: this.from.options.color.hover.border, + color: util.overrideOpacity(this.from.options.color.border, this.options.opacity) + }; + } + this.options.color = colorObj; + this.colorDirty = false; } if (this.selected == true) {return colorObj.highlight;} @@ -19635,16 +19941,25 @@ return /******/ (function(modules) { // webpackBootstrap me.callback(this); } } - else if (me.imageBroken[url] === true) { - console.error("Could not load brokenImage:", brokenUrl); - delete this.src; - if (me.callback) { - me.callback(this); - } - } else { - this.src = brokenUrl; - me.imageBroken[url] = true; + if (me.imageBroken[url] === true) { + if (this.src == brokenUrl) { + console.error("Could not load brokenImage:", brokenUrl); + delete this.src; + if (me.callback) { + me.callback(this); + } + } + else { + console.error("Could not load image:", url); + this.src = brokenUrl; + } + } + else { + console.error("Could not load image:", url); + this.src = brokenUrl; + me.imageBroken[url] = true; + } } }; @@ -19699,8 +20014,6 @@ return /******/ (function(modules) { // webpackBootstrap this.dynamicEdges = []; this.reroutedEdges = {}; - this.fontDrawThreshold = 3; - // set defaults for the properties this.id = undefined; this.allowedToMoveX = false; @@ -19727,6 +20040,7 @@ return /******/ (function(modules) { // webpackBootstrap this.vy = 0.0; // velocity y this.x = null; this.y = null; + this.predefinedPosition = false; // used to check if initial zoomExtent should just take the range or approximate // used for reverting to previous position on stabilization this.previousState = {vx:0,vy:0,x:0,y:0}; @@ -19738,7 +20052,6 @@ return /******/ (function(modules) { // webpackBootstrap // creating the variables for clustering this.resetCluster(); - this.dynamicEdgesLength = 0; this.clusterSession = 0; this.clusterSizeWidthFactor = networkConstants.clustering.nodeScaling.width; this.clusterSizeHeightFactor = networkConstants.clustering.nodeScaling.height; @@ -19789,7 +20102,6 @@ return /******/ (function(modules) { // webpackBootstrap if (this.dynamicEdges.indexOf(edge) == -1) { this.dynamicEdges.push(edge); } - this.dynamicEdgesLength = this.dynamicEdges.length; }; /** @@ -19805,7 +20117,6 @@ return /******/ (function(modules) { // webpackBootstrap if (index != -1) { this.dynamicEdges.splice(index, 1); } - this.dynamicEdgesLength = this.dynamicEdges.length; }; @@ -19820,7 +20131,8 @@ return /******/ (function(modules) { // webpackBootstrap } var fields = ['borderWidth','borderWidthSelected','shape','image','brokenImage','radius','fontColor', - 'fontSize','fontFace','fontFill','fontStrokeWidth','fontStrokeColor','group','mass' + 'fontSize','fontFace','fontFill','fontStrokeWidth','fontStrokeColor','group','mass','fontDrawThreshold', + 'scaleFontWithValue','fontSizeMaxVisible','customScalingFunction' ]; util.selectiveDeepExtend(fields, this.options, properties); @@ -19828,8 +20140,8 @@ return /******/ (function(modules) { // webpackBootstrap if (properties.id !== undefined) {this.id = properties.id;} if (properties.label !== undefined) {this.label = properties.label; this.originalLabel = properties.label;} if (properties.title !== undefined) {this.title = properties.title;} - if (properties.x !== undefined) {this.x = properties.x;} - if (properties.y !== undefined) {this.y = properties.y;} + if (properties.x !== undefined) {this.x = properties.x; this.predefinedPosition = true;} + if (properties.y !== undefined) {this.y = properties.y; this.predefinedPosition = true;} if (properties.value !== undefined) {this.value = properties.value;} if (properties.level !== undefined) {this.level = properties.level; this.preassignedLevel = true;} @@ -20145,16 +20457,17 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Number} min * @param {Number} max */ - Node.prototype.setValueRange = function(min, max) { + Node.prototype.setValueRange = function(min, max, total) { if (!this.radiusFixed && this.value !== undefined) { - if (max == min) { - this.options.radius= (this.options.radiusMin + this.options.radiusMax) / 2; - } - else { - var scale = (this.options.radiusMax - this.options.radiusMin) / (max - min); - this.options.radius= (this.value - min) * scale + this.options.radiusMin; + var scale = this.options.customScalingFunction(min, max, total, this.value); + var radiusDiff = this.options.radiusMax - this.options.radiusMin; + if (this.options.scaleFontWithValue == true) { + var fontDiff = this.options.fontSizeMax - this.options.fontSizeMin; + this.options.fontSize = this.options.fontSizeMin + scale * fontDiff; } + this.options.radius = this.options.radiusMin + scale * radiusDiff; } + this.baseRadiusValue = this.options.radius; }; @@ -20678,12 +20991,29 @@ return /******/ (function(modules) { // webpackBootstrap Node.prototype._label = function (ctx, text, x, y, align, baseline, labelUnderNode) { - if (text && Number(this.options.fontSize) * this.networkScale > this.fontDrawThreshold) { - ctx.font = (this.selected ? "bold " : "") + this.options.fontSize + "px " + this.options.fontFace; + var relativeFontSize = Number(this.options.fontSize) * this.networkScale; + if (text && relativeFontSize >= this.options.fontDrawThreshold - 1) { + var fontSize = Number(this.options.fontSize); + + // this ensures that there will not be HUGE letters on screen by setting an upper limit on the visible text size (regardless of zoomLevel) + if (relativeFontSize >= this.options.fontSizeMaxVisible) { + fontSize = Number(this.options.fontSizeMaxVisible) * this.networkScaleInv; + } + + // fade in when relative scale is between threshold and threshold - 1 + var fontColor = this.options.fontColor || "#000000"; + var strokecolor = this.options.fontStrokeColor; + if (relativeFontSize <= this.options.fontDrawThreshold) { + var opacity = Math.max(0,Math.min(1,1 - (this.options.fontDrawThreshold - relativeFontSize))); + fontColor = util.overrideOpacity(fontColor, opacity); + strokecolor = util.overrideOpacity(strokecolor, opacity); + + } + + ctx.font = (this.selected ? "bold " : "") + fontSize + "px " + this.options.fontFace; var lines = text.split('\n'); var lineCount = lines.length; - var fontSize = Number(this.options.fontSize); var yLine = y + (1 - lineCount) / 2 * fontSize; if (labelUnderNode == true) { yLine = y + (1 - lineCount) / (2 * fontSize); @@ -20695,7 +21025,7 @@ return /******/ (function(modules) { // webpackBootstrap var lineWidth = ctx.measureText(lines[i]).width; width = lineWidth > width ? lineWidth : width; } - var height = this.options.fontSize * lineCount; + var height = fontSize * lineCount; var left = x - width / 2; var top = y - height / 2; if (baseline == "hanging") { @@ -20712,12 +21042,12 @@ return /******/ (function(modules) { // webpackBootstrap } // draw text - ctx.fillStyle = this.options.fontColor || "black"; + ctx.fillStyle = fontColor; ctx.textAlign = align || "center"; ctx.textBaseline = baseline || "middle"; if (this.options.fontStrokeWidth > 0){ ctx.lineWidth = this.options.fontStrokeWidth; - ctx.strokeStyle = this.options.fontStrokeColor; + ctx.strokeStyle = strokecolor; ctx.lineJoin = 'round'; } for (var i = 0; i < lineCount; i++) { @@ -20733,10 +21063,14 @@ return /******/ (function(modules) { // webpackBootstrap Node.prototype.getTextSize = function(ctx) { if (this.label !== undefined) { - ctx.font = (this.selected ? "bold " : "") + this.options.fontSize + "px " + this.options.fontFace; + var fontSize = Number(this.options.fontSize); + if (fontSize * this.networkScale > this.options.fontSizeMaxVisible) { + fontSize = Number(this.options.fontSizeMaxVisible) * this.networkScaleInv; + } + ctx.font = (this.selected ? "bold " : "") + fontSize + "px " + this.options.fontFace; var lines = this.label.split('\n'), - height = (Number(this.options.fontSize) + 4) * lines.length, + height = (fontSize + 4) * lines.length, width = 0; for (var i = 0, iMax = lines.length; i < iMax; i++) { @@ -20888,21 +21222,13 @@ return /******/ (function(modules) { // webpackBootstrap } // create the frame - this.frame = document.createElement("div"); - var styleAttr = this.frame.style; - styleAttr.position = "absolute"; - styleAttr.visibility = "hidden"; - styleAttr.border = "1px solid " + style.color.border; - styleAttr.color = style.fontColor; - styleAttr.fontSize = style.fontSize + "px"; - styleAttr.fontFamily = style.fontFace; - styleAttr.padding = this.padding + "px"; - styleAttr.backgroundColor = style.color.background; - styleAttr.borderRadius = "3px"; - styleAttr.MozBorderRadius = "3px"; - styleAttr.WebkitBorderRadius = "3px"; - styleAttr.boxShadow = "3px 3px 10px rgba(128, 128, 128, 0.5)"; - styleAttr.whiteSpace = "nowrap"; + this.frame = document.createElement('div'); + this.frame.className = 'network-tooltip'; + this.frame.style.color = style.fontColor; + this.frame.style.backgroundColor = style.color.background; + this.frame.style.borderColor = style.color.border; + this.frame.style.fontSize = style.fontSize + 'px'; + this.frame.style.fontFamily = style.fontFace; this.container.appendChild(this.frame); } @@ -21892,7 +22218,7 @@ return /******/ (function(modules) { // webpackBootstrap // Only load hammer.js when in a browser environment // (loading hammer.js in a node.js environment gives errors) if (typeof window !== 'undefined') { - module.exports = window['Hammer'] || __webpack_require__(59); + module.exports = window['Hammer'] || __webpack_require__(57); } else { module.exports = function () { @@ -21995,7 +22321,7 @@ return /******/ (function(modules) { // webpackBootstrap this.dom.rightContainer.appendChild(this.dom.shadowTopRight); this.dom.rightContainer.appendChild(this.dom.shadowBottomRight); - this.on('rangechange', this.redraw.bind(this)); + this.on('rangechange', this._redraw.bind(this)); this.on('touch', this._onTouch.bind(this)); this.on('pinch', this._onPinch.bind(this)); this.on('dragstart', this._onDragStart.bind(this)); @@ -22008,13 +22334,13 @@ return /******/ (function(modules) { // webpackBootstrap if (!me._redrawTimer) { me._redrawTimer = setTimeout(function () { me._redrawTimer = null; - me.redraw(); + me._redraw(); }, 0) } } else { // redraw immediately - me.redraw(); + me._redraw(); } }); @@ -22131,7 +22457,7 @@ return /******/ (function(modules) { // webpackBootstrap } // redraw everything - this.redraw(); + this._redraw(); }; /** @@ -22305,6 +22631,7 @@ return /******/ (function(modules) { // webpackBootstrap * start or only end. Syntax: * * TimeLine.setWindow(start, end) + * TimeLine.setWindow(start, end, options) * TimeLine.setWindow(range) * * Where start and end can be a Date, number, or string, and range is an @@ -22320,12 +22647,14 @@ return /******/ (function(modules) { // webpackBootstrap * for the animation. Default duration is 500 ms. */ Core.prototype.setWindow = function(start, end, options) { - var animate = (options && options.animate !== undefined) ? options.animate : true; + var animate; if (arguments.length == 1) { var range = arguments[0]; + animate = (range.animate !== undefined) ? range.animate : true; this.range.setRange(range.start, range.end, animate); } else { + animate = (options && options.animate !== undefined) ? options.animate : true; this.range.setRange(start, end, animate); } }; @@ -22364,10 +22693,18 @@ return /******/ (function(modules) { // webpackBootstrap }; /** - * Force a redraw of the Core. Can be useful to manually redraw when - * option autoResize=false + * Force a redraw. Can be overridden by implementations of Core */ Core.prototype.redraw = function() { + this._redraw(); + }; + + /** + * Redraw for internal use. Redraws all components. See also the public + * method redraw. + * @protected + */ + Core.prototype._redraw = function() { var resized = false; var options = this.options; var props = this.props; @@ -22518,7 +22855,7 @@ return /******/ (function(modules) { // webpackBootstrap var MAX_REDRAWS = 3; // maximum number of consecutive redraws if (this.redrawCount < MAX_REDRAWS) { this.redrawCount++; - this.redraw(); + this._redraw(); } else { console.log('WARNING: infinite loop in redraw?'); @@ -22726,7 +23063,7 @@ return /******/ (function(modules) { // webpackBootstrap if (newScrollTop != oldScrollTop) { - this.redraw(); // TODO: this causes two redraws when dragging, the other is triggered by rangechange already + this._redraw(); // TODO: this causes two redraws when dragging, the other is triggered by rangechange already this.emit("verticalDrag"); } }; @@ -23548,7 +23885,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 53 */ /***/ function(module, exports, __webpack_require__) { - var keycharm = __webpack_require__(57); + var keycharm = __webpack_require__(59); var Emitter = __webpack_require__(56); var Hammer = __webpack_require__(45); var util = __webpack_require__(1); @@ -24147,5426 +24484,5426 @@ return /******/ (function(modules) { // webpackBootstrap /* 57 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; + var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 + * http://eightmedia.github.io/hammer.js + * + * Copyright (c) 2014 Jorik Tangelder ; + * Licensed under the MIT license */ + + (function(window, undefined) { + 'use strict'; + /** - * Created by Alex on 11/6/2014. + * @main + * @module hammer + * + * @class Hammer + * @static */ - // https://github.com/umdjs/umd/blob/master/returnExports.js#L40-L60 - // if the module has no dependencies, the above pattern can be simplified to - (function (root, factory) { - if (true) { - // AMD. Register as an anonymous module. - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - module.exports = factory(); - } else { - // Browser globals (root is window) - root.keycharm = factory(); - } - }(this, function () { + /** + * Hammer, use this to create instances + * ```` + * var hammertime = new Hammer(myElement); + * ```` + * + * @method Hammer + * @param {HTMLElement} element + * @param {Object} [options={}] + * @return {Hammer.Instance} + */ + var Hammer = function Hammer(element, options) { + return new Hammer.Instance(element, options || {}); + }; - function keycharm(options) { - var preventDefault = options && options.preventDefault || false; + /** + * version, as defined in package.json + * the value will be set at each build + * @property VERSION + * @final + * @type {String} + */ + Hammer.VERSION = '1.1.3'; - var container = options && options.container || window; + /** + * default settings. + * more settings are defined per gesture at `/gestures`. Each gesture can be disabled/enabled + * by setting it's name (like `swipe`) to false. + * You can set the defaults for all instances by changing this object before creating an instance. + * @example + * ```` + * Hammer.defaults.drag = false; + * Hammer.defaults.behavior.touchAction = 'pan-y'; + * delete Hammer.defaults.behavior.userSelect; + * ```` + * @property defaults + * @type {Object} + */ + Hammer.defaults = { + /** + * this setting object adds styles and attributes to the element to prevent the browser from doing + * its native behavior. The css properties are auto prefixed for the browsers when needed. + * @property defaults.behavior + * @type {Object} + */ + behavior: { + /** + * Disables text selection to improve the dragging gesture. When the value is `none` it also sets + * `onselectstart=false` for IE on the element. Mainly for desktop browsers. + * @property defaults.behavior.userSelect + * @type {String} + * @default 'none' + */ + userSelect: 'none', - var _exportFunctions = {}; - var _bound = {keydown:{}, keyup:{}}; - var _keys = {}; - var i; + /** + * Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming). + * Used by Chrome 35> and IE10>. By default this makes the element blocking any touch event. + * @property defaults.behavior.touchAction + * @type {String} + * @default: 'pan-y' + */ + touchAction: 'pan-y', - // a - z - for (i = 97; i <= 122; i++) {_keys[String.fromCharCode(i)] = {code:65 + (i - 97), shift: false};} - // A - Z - for (i = 65; i <= 90; i++) {_keys[String.fromCharCode(i)] = {code:i, shift: true};} - // 0 - 9 - for (i = 0; i <= 9; i++) {_keys['' + i] = {code:48 + i, shift: false};} - // F1 - F12 - for (i = 1; i <= 12; i++) {_keys['F' + i] = {code:111 + i, shift: false};} - // num0 - num9 - for (i = 0; i <= 9; i++) {_keys['num' + i] = {code:96 + i, shift: false};} + /** + * Disables the default callout shown when you touch and hold a touch target. + * On iOS, when you touch and hold a touch target such as a link, Safari displays + * a callout containing information about the link. This property allows you to disable that callout. + * @property defaults.behavior.touchCallout + * @type {String} + * @default 'none' + */ + touchCallout: 'none', - // numpad misc - _keys['num*'] = {code:106, shift: false}; - _keys['num+'] = {code:107, shift: false}; - _keys['num-'] = {code:109, shift: false}; - _keys['num/'] = {code:111, shift: false}; - _keys['num.'] = {code:110, shift: false}; - // arrows - _keys['left'] = {code:37, shift: false}; - _keys['up'] = {code:38, shift: false}; - _keys['right'] = {code:39, shift: false}; - _keys['down'] = {code:40, shift: false}; - // extra keys - _keys['space'] = {code:32, shift: false}; - _keys['enter'] = {code:13, shift: false}; - _keys['shift'] = {code:16, shift: undefined}; - _keys['esc'] = {code:27, shift: false}; - _keys['backspace'] = {code:8, shift: false}; - _keys['tab'] = {code:9, shift: false}; - _keys['ctrl'] = {code:17, shift: false}; - _keys['alt'] = {code:18, shift: false}; - _keys['delete'] = {code:46, shift: false}; - _keys['pageup'] = {code:33, shift: false}; - _keys['pagedown'] = {code:34, shift: false}; - // symbols - _keys['='] = {code:187, shift: false}; - _keys['-'] = {code:189, shift: false}; - _keys[']'] = {code:221, shift: false}; - _keys['['] = {code:219, shift: false}; + /** + * Specifies whether zooming is enabled. Used by IE10> + * @property defaults.behavior.contentZooming + * @type {String} + * @default 'none' + */ + contentZooming: 'none', + /** + * Specifies that an entire element should be draggable instead of its contents. + * Mainly for desktop browsers. + * @property defaults.behavior.userDrag + * @type {String} + * @default 'none' + */ + userDrag: 'none', + /** + * Overrides the highlight color shown when the user taps a link or a JavaScript + * clickable element in Safari on iPhone. This property obeys the alpha value, if specified. + * + * If you don't specify an alpha value, Safari on iPhone applies a default alpha value + * to the color. To disable tap highlighting, set the alpha value to 0 (invisible). + * If you set the alpha value to 1.0 (opaque), the element is not visible when tapped. + * @property defaults.behavior.tapHighlightColor + * @type {String} + * @default 'rgba(0,0,0,0)' + */ + tapHighlightColor: 'rgba(0,0,0,0)' + } + }; - var down = function(event) {handleEvent(event,'keydown');}; - var up = function(event) {handleEvent(event,'keyup');}; + /** + * hammer document where the base events are added at + * @property DOCUMENT + * @type {HTMLElement} + * @default window.document + */ + Hammer.DOCUMENT = document; - // handle the actualy bound key with the event - var handleEvent = function(event,type) { - if (_bound[type][event.keyCode] !== undefined) { - var bound = _bound[type][event.keyCode]; - for (var i = 0; i < bound.length; i++) { - if (bound[i].shift === undefined) { - bound[i].fn(event); - } - else if (bound[i].shift == true && event.shiftKey == true) { - bound[i].fn(event); - } - else if (bound[i].shift == false && event.shiftKey == false) { - bound[i].fn(event); - } - } + /** + * detect support for pointer events + * @property HAS_POINTEREVENTS + * @type {Boolean} + */ + Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; - if (preventDefault == true) { - event.preventDefault(); - } - } - }; + /** + * detect support for touch events + * @property HAS_TOUCHEVENTS + * @type {Boolean} + */ + Hammer.HAS_TOUCHEVENTS = ('ontouchstart' in window); - // bind a key to a callback - _exportFunctions.bind = function(key, callback, type) { - if (type === undefined) { - type = 'keydown'; - } - if (_keys[key] === undefined) { - throw new Error("unsupported key: " + key); - } - if (_bound[type][_keys[key].code] === undefined) { - _bound[type][_keys[key].code] = []; - } - _bound[type][_keys[key].code].push({fn:callback, shift:_keys[key].shift}); - }; + /** + * detect mobile browsers + * @property IS_MOBILE + * @type {Boolean} + */ + Hammer.IS_MOBILE = /mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent); + /** + * detect if we want to support mouseevents at all + * @property NO_MOUSEEVENTS + * @type {Boolean} + */ + Hammer.NO_MOUSEEVENTS = (Hammer.HAS_TOUCHEVENTS && Hammer.IS_MOBILE) || Hammer.HAS_POINTEREVENTS; - // bind all keys to a call back (demo purposes) - _exportFunctions.bindAll = function(callback, type) { - if (type === undefined) { - type = 'keydown'; - } - for (var key in _keys) { - if (_keys.hasOwnProperty(key)) { - _exportFunctions.bind(key,callback,type); - } - } - }; + /** + * interval in which Hammer recalculates current velocity/direction/angle in ms + * @property CALCULATE_INTERVAL + * @type {Number} + * @default 25 + */ + Hammer.CALCULATE_INTERVAL = 25; - // get the key label from an event - _exportFunctions.getKey = function(event) { - for (var key in _keys) { - if (_keys.hasOwnProperty(key)) { - if (event.shiftKey == true && _keys[key].shift == true && event.keyCode == _keys[key].code) { - return key; - } - else if (event.shiftKey == false && _keys[key].shift == false && event.keyCode == _keys[key].code) { - return key; - } - else if (event.keyCode == _keys[key].code && key == 'shift') { - return key; - } - } - } - return "unknown key, currently not supported"; - }; + /** + * eventtypes per touchevent (start, move, end) are filled by `Event.determineEventTypes` on `setup` + * the object contains the DOM event names per type (`EVENT_START`, `EVENT_MOVE`, `EVENT_END`) + * @property EVENT_TYPES + * @private + * @writeOnce + * @type {Object} + */ + var EVENT_TYPES = {}; - // unbind either a specific callback from a key or all of them (by leaving callback undefined) - _exportFunctions.unbind = function(key, callback, type) { - if (type === undefined) { - type = 'keydown'; - } - if (_keys[key] === undefined) { - throw new Error("unsupported key: " + key); - } - if (callback !== undefined) { - var newBindings = []; - var bound = _bound[type][_keys[key].code]; - if (bound !== undefined) { - for (var i = 0; i < bound.length; i++) { - if (!(bound[i].fn == callback && bound[i].shift == _keys[key].shift)) { - newBindings.push(_bound[type][_keys[key].code][i]); - } - } - } - _bound[type][_keys[key].code] = newBindings; - } - else { - _bound[type][_keys[key].code] = []; - } - }; + /** + * direction strings, for safe comparisons + * @property DIRECTION_DOWN|LEFT|UP|RIGHT + * @final + * @type {String} + * @default 'down' 'left' 'up' 'right' + */ + var DIRECTION_DOWN = Hammer.DIRECTION_DOWN = 'down'; + var DIRECTION_LEFT = Hammer.DIRECTION_LEFT = 'left'; + var DIRECTION_UP = Hammer.DIRECTION_UP = 'up'; + var DIRECTION_RIGHT = Hammer.DIRECTION_RIGHT = 'right'; - // reset all bound variables. - _exportFunctions.reset = function() { - _bound = {keydown:{}, keyup:{}}; - }; - - // unbind all listeners and reset all variables. - _exportFunctions.destroy = function() { - _bound = {keydown:{}, keyup:{}}; - container.removeEventListener('keydown', down, true); - container.removeEventListener('keyup', up, true); - }; - - // create listeners. - container.addEventListener('keydown',down,true); - container.addEventListener('keyup',up,true); - - // return the public functions. - return _exportFunctions; - } - - return keycharm; - })); - - - - -/***/ }, -/* 58 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js - //! version : 2.9.0 - //! authors : Tim Wood, Iskren Chernev, Moment.js contributors - //! license : MIT - //! momentjs.com - - (function (undefined) { - /************************************ - Constants - ************************************/ - - var moment, - VERSION = '2.9.0', - // the global-scope this is NOT the global object in Node.js - globalScope = (typeof global !== 'undefined' && (typeof window === 'undefined' || window === global.window)) ? global : this, - oldGlobalMoment, - round = Math.round, - hasOwnProperty = Object.prototype.hasOwnProperty, - i, - - YEAR = 0, - MONTH = 1, - DATE = 2, - HOUR = 3, - MINUTE = 4, - SECOND = 5, - MILLISECOND = 6, - - // internal storage for locale config files - locales = {}, - - // extra moment internal properties (plugins register props here) - momentProperties = [], - - // check for nodeJS - hasModule = (typeof module !== 'undefined' && module && module.exports), - - // ASP.NET json date format regex - aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, - aspNetTimeSpanJsonRegex = /(\-)?(?:(\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 - isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, - - // format tokens - 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,4}|x|X|zz?|ZZ?|.)/g, - localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, - - // parsing token regexes - parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 - parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 - parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999 - parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 - parseTokenDigits = /\d+/, // nonzero number of digits - parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. - parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z - parseTokenT = /T/i, // T (ISO separator) - parseTokenOffsetMs = /[\+\-]?\d+/, // 1234567890123 - parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - - //strict parsing regexes - parseTokenOneDigit = /\d/, // 0 - 9 - parseTokenTwoDigits = /\d\d/, // 00 - 99 - parseTokenThreeDigits = /\d{3}/, // 000 - 999 - parseTokenFourDigits = /\d{4}/, // 0000 - 9999 - parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 - parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf - - // 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) - 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)?)?$/, - - isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', - - 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}/] - ], - - // iso time formats and regexes - 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/] - ], - - // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-', '15', '30'] - parseTimezoneChunker = /([\+\-]|\d\d)/gi, - - // getter and setter names - proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), - unitMillisecondFactors = { - 'Milliseconds' : 1, - 'Seconds' : 1e3, - 'Minutes' : 6e4, - 'Hours' : 36e5, - 'Days' : 864e5, - 'Months' : 2592e6, - 'Years' : 31536e6 - }, - - unitAliases = { - ms : 'millisecond', - s : 'second', - m : 'minute', - h : 'hour', - d : 'day', - D : 'date', - w : 'week', - W : 'isoWeek', - M : 'month', - Q : 'quarter', - y : 'year', - DDD : 'dayOfYear', - e : 'weekday', - E : 'isoWeekday', - gg: 'weekYear', - GG: 'isoWeekYear' - }, - - camelFunctions = { - dayofyear : 'dayOfYear', - isoweekday : 'isoWeekday', - isoweek : 'isoWeek', - weekyear : 'weekYear', - isoweekyear : 'isoWeekYear' - }, - - // format function strings - formatFunctions = {}, - - // default relative time thresholds - relativeTimeThresholds = { - s: 45, // seconds to minute - m: 45, // minutes to hour - h: 22, // hours to day - d: 26, // days to month - M: 11 // months to year - }, - - // tokens to ordinalize and pad - ordinalizeTokens = 'DDD w W M D d'.split(' '), - paddedTokens = 'M D H h m s w W'.split(' '), - - formatTokenFunctions = { - M : function () { - return this.month() + 1; - }, - MMM : function (format) { - return this.localeData().monthsShort(this, format); - }, - MMMM : function (format) { - return this.localeData().months(this, format); - }, - D : function () { - return this.date(); - }, - DDD : function () { - return this.dayOfYear(); - }, - d : function () { - return this.day(); - }, - dd : function (format) { - return this.localeData().weekdaysMin(this, format); - }, - ddd : function (format) { - return this.localeData().weekdaysShort(this, format); - }, - dddd : function (format) { - return this.localeData().weekdays(this, format); - }, - w : function () { - return this.week(); - }, - W : function () { - return this.isoWeek(); - }, - YY : function () { - return leftZeroFill(this.year() % 100, 2); - }, - YYYY : function () { - return leftZeroFill(this.year(), 4); - }, - YYYYY : function () { - return leftZeroFill(this.year(), 5); - }, - YYYYYY : function () { - var y = this.year(), sign = y >= 0 ? '+' : '-'; - return sign + leftZeroFill(Math.abs(y), 6); - }, - gg : function () { - return leftZeroFill(this.weekYear() % 100, 2); - }, - gggg : function () { - return leftZeroFill(this.weekYear(), 4); - }, - ggggg : function () { - return leftZeroFill(this.weekYear(), 5); - }, - GG : function () { - return leftZeroFill(this.isoWeekYear() % 100, 2); - }, - GGGG : function () { - return leftZeroFill(this.isoWeekYear(), 4); - }, - GGGGG : function () { - return leftZeroFill(this.isoWeekYear(), 5); - }, - e : function () { - return this.weekday(); - }, - E : function () { - return this.isoWeekday(); - }, - a : function () { - return this.localeData().meridiem(this.hours(), this.minutes(), true); - }, - A : function () { - return this.localeData().meridiem(this.hours(), this.minutes(), false); - }, - H : function () { - return this.hours(); - }, - h : function () { - return this.hours() % 12 || 12; - }, - m : function () { - return this.minutes(); - }, - s : function () { - return this.seconds(); - }, - S : function () { - return toInt(this.milliseconds() / 100); - }, - SS : function () { - return leftZeroFill(toInt(this.milliseconds() / 10), 2); - }, - SSS : function () { - return leftZeroFill(this.milliseconds(), 3); - }, - SSSS : function () { - return leftZeroFill(this.milliseconds(), 3); - }, - Z : function () { - var a = this.utcOffset(), - b = '+'; - if (a < 0) { - a = -a; - b = '-'; - } - return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2); - }, - ZZ : function () { - var a = this.utcOffset(), - b = '+'; - if (a < 0) { - a = -a; - b = '-'; - } - return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2); - }, - z : function () { - return this.zoneAbbr(); - }, - zz : function () { - return this.zoneName(); - }, - x : function () { - return this.valueOf(); - }, - X : function () { - return this.unix(); - }, - Q : function () { - return this.quarter(); - } - }, - - deprecations = {}, - - lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'], - - updateInProgress = false; - - // Pick the first defined of two or three arguments. dfl comes from - // default. - function dfl(a, b, c) { - switch (arguments.length) { - case 2: return a != null ? a : b; - case 3: return a != null ? a : b != null ? b : c; - default: throw new Error('Implement me'); - } - } - - function hasOwnProp(a, b) { - return hasOwnProperty.call(a, b); - } - - function defaultParsingFlags() { - // We need to deep clone this object, and es5 standard is not very - // helpful. - return { - empty : false, - unusedTokens : [], - unusedInput : [], - overflow : -2, - charsLeftOver : 0, - nullInput : false, - invalidMonth : null, - invalidFormat : false, - userInvalidated : false, - iso: false - }; - } - - function printMsg(msg) { - if (moment.suppressDeprecationWarnings === false && - typeof console !== 'undefined' && console.warn) { - console.warn('Deprecation warning: ' + msg); - } - } - - function deprecate(msg, fn) { - var firstTime = true; - return extend(function () { - if (firstTime) { - printMsg(msg); - firstTime = false; - } - return fn.apply(this, arguments); - }, fn); - } - - function deprecateSimple(name, msg) { - if (!deprecations[name]) { - printMsg(msg); - deprecations[name] = true; - } - } - - function padToken(func, count) { - return function (a) { - return leftZeroFill(func.call(this, a), count); - }; - } - function ordinalizeToken(func, period) { - return function (a) { - return this.localeData().ordinal(func.call(this, a), period); - }; - } - - function monthDiff(a, b) { - // difference in months - var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), - // b is in (anchor - 1 month, anchor + 1 month) - anchor = a.clone().add(wholeMonthDiff, 'months'), - anchor2, adjust; - - if (b - anchor < 0) { - anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor - anchor2); - } else { - anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); - // linear across the month - adjust = (b - anchor) / (anchor2 - anchor); - } - - return -(wholeMonthDiff + adjust); - } - - while (ordinalizeTokens.length) { - i = ordinalizeTokens.pop(); - formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i); - } - while (paddedTokens.length) { - i = paddedTokens.pop(); - formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2); - } - formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3); - - - function meridiemFixWrap(locale, hour, meridiem) { - var isPm; - - if (meridiem == null) { - // nothing to do - return hour; - } - if (locale.meridiemHour != null) { - return locale.meridiemHour(hour, meridiem); - } else if (locale.isPM != null) { - // Fallback - isPm = locale.isPM(meridiem); - if (isPm && hour < 12) { - hour += 12; - } - if (!isPm && hour === 12) { - hour = 0; - } - return hour; - } else { - // thie is not supposed to happen - return hour; - } - } - - /************************************ - Constructors - ************************************/ - - function Locale() { - } - - // Moment prototype object - function Moment(config, skipOverflow) { - if (skipOverflow !== false) { - checkOverflow(config); - } - copyConfig(this, config); - this._d = new Date(+config._d); - // Prevent infinite loop in case updateOffset creates new moment - // objects. - if (updateInProgress === false) { - updateInProgress = true; - moment.updateOffset(this); - updateInProgress = false; - } - } - - // Duration Constructor - function Duration(duration) { - var normalizedInput = normalizeObjectUnits(duration), - years = normalizedInput.year || 0, - quarters = normalizedInput.quarter || 0, - months = normalizedInput.month || 0, - weeks = normalizedInput.week || 0, - days = normalizedInput.day || 0, - hours = normalizedInput.hour || 0, - minutes = normalizedInput.minute || 0, - seconds = normalizedInput.second || 0, - milliseconds = normalizedInput.millisecond || 0; - - // representation for dateAddRemove - this._milliseconds = +milliseconds + - seconds * 1e3 + // 1000 - minutes * 6e4 + // 1000 * 60 - hours * 36e5; // 1000 * 60 * 60 - // Because of dateAddRemove treats 24 hours as different from a - // day when working around DST, we need to store them separately - this._days = +days + - weeks * 7; - // It is impossible translate months into days without knowing - // which months you are are talking about, so we have to store - // it separately. - this._months = +months + - quarters * 3 + - years * 12; - - this._data = {}; - - this._locale = moment.localeData(); - - this._bubble(); - } - - /************************************ - Helpers - ************************************/ - - - function extend(a, b) { - for (var i in b) { - if (hasOwnProp(b, i)) { - a[i] = b[i]; - } - } - - if (hasOwnProp(b, 'toString')) { - a.toString = b.toString; - } - - if (hasOwnProp(b, 'valueOf')) { - a.valueOf = b.valueOf; - } - - return a; - } - - function copyConfig(to, from) { - var i, prop, val; - - if (typeof from._isAMomentObject !== 'undefined') { - to._isAMomentObject = from._isAMomentObject; - } - if (typeof from._i !== 'undefined') { - to._i = from._i; - } - if (typeof from._f !== 'undefined') { - to._f = from._f; - } - if (typeof from._l !== 'undefined') { - to._l = from._l; - } - if (typeof from._strict !== 'undefined') { - to._strict = from._strict; - } - if (typeof from._tzm !== 'undefined') { - to._tzm = from._tzm; - } - if (typeof from._isUTC !== 'undefined') { - to._isUTC = from._isUTC; - } - if (typeof from._offset !== 'undefined') { - to._offset = from._offset; - } - if (typeof from._pf !== 'undefined') { - to._pf = from._pf; - } - if (typeof from._locale !== 'undefined') { - to._locale = from._locale; - } - - if (momentProperties.length > 0) { - for (i in momentProperties) { - prop = momentProperties[i]; - val = from[prop]; - if (typeof val !== 'undefined') { - to[prop] = val; - } - } - } - - return to; - } - - function absRound(number) { - if (number < 0) { - return Math.ceil(number); - } else { - return Math.floor(number); - } - } - - // left zero fill a number - // see http://jsperf.com/left-zero-filling for performance comparison - function leftZeroFill(number, targetLength, forceSign) { - var output = '' + Math.abs(number), - sign = number >= 0; - - while (output.length < targetLength) { - output = '0' + output; - } - return (sign ? (forceSign ? '+' : '') : '-') + output; - } - - function positiveMomentsDifference(base, other) { - var res = {milliseconds: 0, months: 0}; - - res.months = other.month() - base.month() + - (other.year() - base.year()) * 12; - if (base.clone().add(res.months, 'M').isAfter(other)) { - --res.months; - } - - res.milliseconds = +other - +(base.clone().add(res.months, 'M')); - - return res; - } - - function momentsDifference(base, other) { - var res; - other = makeAs(other, base); - if (base.isBefore(other)) { - res = positiveMomentsDifference(base, other); - } else { - res = positiveMomentsDifference(other, base); - res.milliseconds = -res.milliseconds; - res.months = -res.months; - } - - return res; - } - - // TODO: remove 'name' arg after deprecation is removed - function createAdder(direction, name) { - return function (val, period) { - var dur, tmp; - //invert the arguments, but complain about it - if (period !== null && !isNaN(+period)) { - deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).'); - tmp = val; val = period; period = tmp; - } - - val = typeof val === 'string' ? +val : val; - dur = moment.duration(val, period); - addOrSubtractDurationFromMoment(this, dur, direction); - return this; - }; - } - - function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { - var milliseconds = duration._milliseconds, - days = duration._days, - months = duration._months; - updateOffset = updateOffset == null ? true : updateOffset; - - if (milliseconds) { - mom._d.setTime(+mom._d + milliseconds * isAdding); - } - if (days) { - rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding); - } - if (months) { - rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding); - } - if (updateOffset) { - moment.updateOffset(mom, days || months); - } - } - - // check if is an array - function isArray(input) { - return Object.prototype.toString.call(input) === '[object Array]'; - } - - function isDate(input) { - return Object.prototype.toString.call(input) === '[object Date]' || - input instanceof Date; - } + /** + * pointertype strings, for safe comparisons + * @property POINTER_MOUSE|TOUCH|PEN + * @final + * @type {String} + * @default 'mouse' 'touch' 'pen' + */ + var POINTER_MOUSE = Hammer.POINTER_MOUSE = 'mouse'; + var POINTER_TOUCH = Hammer.POINTER_TOUCH = 'touch'; + var POINTER_PEN = Hammer.POINTER_PEN = 'pen'; - // 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), - diffs = 0, - i; - for (i = 0; i < len; i++) { - if ((dontConvert && array1[i] !== array2[i]) || - (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { - diffs++; - } - } - return diffs + lengthDiff; - } + /** + * eventtypes + * @property EVENT_START|MOVE|END|RELEASE|TOUCH + * @final + * @type {String} + * @default 'start' 'change' 'move' 'end' 'release' 'touch' + */ + var EVENT_START = Hammer.EVENT_START = 'start'; + var EVENT_MOVE = Hammer.EVENT_MOVE = 'move'; + var EVENT_END = Hammer.EVENT_END = 'end'; + var EVENT_RELEASE = Hammer.EVENT_RELEASE = 'release'; + var EVENT_TOUCH = Hammer.EVENT_TOUCH = 'touch'; - function normalizeUnits(units) { - if (units) { - var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); - units = unitAliases[units] || camelFunctions[lowered] || lowered; - } - return units; - } + /** + * if the window events are set... + * @property READY + * @writeOnce + * @type {Boolean} + * @default false + */ + Hammer.READY = false; - function normalizeObjectUnits(inputObject) { - var normalizedInput = {}, - normalizedProp, - prop; + /** + * plugins namespace + * @property plugins + * @type {Object} + */ + Hammer.plugins = Hammer.plugins || {}; - for (prop in inputObject) { - if (hasOwnProp(inputObject, prop)) { - normalizedProp = normalizeUnits(prop); - if (normalizedProp) { - normalizedInput[normalizedProp] = inputObject[prop]; - } - } - } + /** + * gestures namespace + * see `/gestures` for the definitions + * @property gestures + * @type {Object} + */ + Hammer.gestures = Hammer.gestures || {}; - return normalizedInput; + /** + * setup events to detect gestures on the document + * this function is called when creating an new instance + * @private + */ + function setup() { + if(Hammer.READY) { + return; } - function makeList(field) { - var count, setter; - - if (field.indexOf('week') === 0) { - count = 7; - setter = 'day'; - } - else if (field.indexOf('month') === 0) { - count = 12; - setter = 'month'; - } - else { - return; - } - - moment[field] = function (format, index) { - var i, getter, - method = moment._locale[field], - results = []; - - if (typeof format === 'number') { - index = format; - format = undefined; - } + // find what eventtypes we add listeners to + Event.determineEventTypes(); - getter = function (i) { - var m = moment().utc().set(setter, i); - return method.call(moment._locale, m, format || ''); - }; + // Register all gestures inside Hammer.gestures + Utils.each(Hammer.gestures, function(gesture) { + Detection.register(gesture); + }); - if (index != null) { - return getter(index); - } - else { - for (i = 0; i < count; i++) { - results.push(getter(i)); - } - return results; - } - }; - } + // Add touch events on the document + Event.onTouch(Hammer.DOCUMENT, EVENT_MOVE, Detection.detect); + Event.onTouch(Hammer.DOCUMENT, EVENT_END, Detection.detect); - function toInt(argumentForCoercion) { - var coercedNumber = +argumentForCoercion, - value = 0; + // Hammer is ready...! + Hammer.READY = true; + } - if (coercedNumber !== 0 && isFinite(coercedNumber)) { - if (coercedNumber >= 0) { - value = Math.floor(coercedNumber); - } else { - value = Math.ceil(coercedNumber); + /** + * @module hammer + * + * @class Utils + * @static + */ + var Utils = Hammer.utils = { + /** + * extend method, could also be used for cloning when `dest` is an empty object. + * changes the dest object + * @method extend + * @param {Object} dest + * @param {Object} src + * @param {Boolean} [merge=false] do a merge + * @return {Object} dest + */ + extend: function extend(dest, src, merge) { + for(var key in src) { + if(!src.hasOwnProperty(key) || (dest[key] !== undefined && merge)) { + continue; } + dest[key] = src[key]; } + return dest; + }, - return value; - } - - function daysInMonth(year, month) { - return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); - } - - function weeksInYear(year, dow, doy) { - return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; - } - - function daysInYear(year) { - return isLeapYear(year) ? 366 : 365; - } - - function isLeapYear(year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; - } - - function checkOverflow(m) { - var overflow; - if (m._a && m._pf.overflow === -2) { - overflow = - m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH : - m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE : - m._a[HOUR] < 0 || m._a[HOUR] > 24 || - (m._a[HOUR] === 24 && (m._a[MINUTE] !== 0 || - m._a[SECOND] !== 0 || - m._a[MILLISECOND] !== 0)) ? HOUR : - m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE : - m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND : - m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND : - -1; - - if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { - overflow = DATE; - } + /** + * simple addEventListener wrapper + * @method on + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + */ + on: function on(element, type, handler) { + element.addEventListener(type, handler, false); + }, - m._pf.overflow = overflow; - } - } + /** + * simple removeEventListener wrapper + * @method off + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + */ + off: function off(element, type, handler) { + element.removeEventListener(type, handler, false); + }, - function isValid(m) { - if (m._isValid == null) { - m._isValid = !isNaN(m._d.getTime()) && - m._pf.overflow < 0 && - !m._pf.empty && - !m._pf.invalidMonth && - !m._pf.nullInput && - !m._pf.invalidFormat && - !m._pf.userInvalidated; + /** + * forEach over arrays and objects + * @method each + * @param {Object|Array} obj + * @param {Function} iterator + * @param {any} iterator.item + * @param {Number} iterator.index + * @param {Object|Array} iterator.obj the source object + * @param {Object} context value to use as `this` in the iterator + */ + each: function each(obj, iterator, context) { + var i, len; - if (m._strict) { - m._isValid = m._isValid && - m._pf.charsLeftOver === 0 && - m._pf.unusedTokens.length === 0 && - m._pf.bigHour === undefined; + // native forEach on arrays + if('forEach' in obj) { + obj.forEach(iterator, context); + // arrays + } else if(obj.length !== undefined) { + for(i = 0, len = obj.length; i < len; i++) { + if(iterator.call(context, obj[i], i, obj) === false) { + return; + } + } + // objects + } else { + for(i in obj) { + if(obj.hasOwnProperty(i) && + iterator.call(context, obj[i], i, obj) === false) { + return; + } } } - return m._isValid; - } - - function normalizeLocale(key) { - return key ? key.toLowerCase().replace('_', '-') : key; - } + }, - // pick the locale from the array - // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each - // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root - function chooseLocale(names) { - var i = 0, j, next, locale, split; + /** + * find if a string contains the string using indexOf + * @method inStr + * @param {String} src + * @param {String} find + * @return {Boolean} found + */ + inStr: function inStr(src, find) { + return src.indexOf(find) > -1; + }, - while (i < names.length) { - split = normalizeLocale(names[i]).split('-'); - j = split.length; - next = normalizeLocale(names[i + 1]); - next = next ? next.split('-') : null; - while (j > 0) { - locale = loadLocale(split.slice(0, j).join('-')); - if (locale) { - return locale; - } - if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { - //the next array item is better than a shallower substring of this one - break; + /** + * find if a array contains the object using indexOf or a simple polyfill + * @method inArray + * @param {String} src + * @param {String} find + * @return {Boolean|Number} false when not found, or the index + */ + inArray: function inArray(src, find) { + if(src.indexOf) { + var index = src.indexOf(find); + return (index === -1) ? false : index; + } else { + for(var i = 0, len = src.length; i < len; i++) { + if(src[i] === find) { + return i; } - j--; } - i++; + return false; } - return null; - } + }, - function loadLocale(name) { - var oldLocale = null; - if (!locales[name] && hasModule) { - try { - oldLocale = moment.locale(); - !(function webpackMissingModule() { var e = new Error("Cannot find module \"./locale\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()); - // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales - moment.locale(oldLocale); - } catch (e) { } + /** + * convert an array-like object (`arguments`, `touchlist`) to an array + * @method toArray + * @param {Object} obj + * @return {Array} + */ + toArray: function toArray(obj) { + return Array.prototype.slice.call(obj, 0); + }, + + /** + * find if a node is in the given parent + * @method hasParent + * @param {HTMLElement} node + * @param {HTMLElement} parent + * @return {Boolean} found + */ + hasParent: function hasParent(node, parent) { + while(node) { + if(node == parent) { + return true; + } + node = node.parentNode; } - return locales[name]; - } + return false; + }, - // Return a moment from input, that is local/utc/utcOffset equivalent to - // model. - function makeAs(input, model) { - var res, diff; - if (model._isUTC) { - res = model.clone(); - diff = (moment.isMoment(input) || isDate(input) ? - +input : +moment(input)) - (+res); - // Use low-level api, because this fn is low-level api. - res._d.setTime(+res._d + diff); - moment.updateOffset(res, false); - return res; - } else { - return moment(input).local(); + /** + * get the center of all the touches + * @method getCenter + * @param {Array} touches + * @return {Object} center contains `pageX`, `pageY`, `clientX` and `clientY` properties + */ + getCenter: function getCenter(touches) { + var pageX = [], + pageY = [], + clientX = [], + clientY = [], + min = Math.min, + max = Math.max; + + // no need to loop when only one touch + if(touches.length === 1) { + return { + pageX: touches[0].pageX, + pageY: touches[0].pageY, + clientX: touches[0].clientX, + clientY: touches[0].clientY + }; } - } - /************************************ - Locale - ************************************/ + Utils.each(touches, function(touch) { + pageX.push(touch.pageX); + pageY.push(touch.pageY); + clientX.push(touch.clientX); + clientY.push(touch.clientY); + }); + return { + pageX: (min.apply(Math, pageX) + max.apply(Math, pageX)) / 2, + pageY: (min.apply(Math, pageY) + max.apply(Math, pageY)) / 2, + clientX: (min.apply(Math, clientX) + max.apply(Math, clientX)) / 2, + clientY: (min.apply(Math, clientY) + max.apply(Math, clientY)) / 2 + }; + }, - extend(Locale.prototype, { + /** + * calculate the velocity between two points. unit is in px per ms. + * @method getVelocity + * @param {Number} deltaTime + * @param {Number} deltaX + * @param {Number} deltaY + * @return {Object} velocity `x` and `y` + */ + getVelocity: function getVelocity(deltaTime, deltaX, deltaY) { + return { + x: Math.abs(deltaX / deltaTime) || 0, + y: Math.abs(deltaY / deltaTime) || 0 + }; + }, - set : function (config) { - var prop, i; - for (i in config) { - prop = config[i]; - if (typeof prop === 'function') { - this[i] = prop; - } else { - this['_' + i] = prop; - } - } - // Lenient ordinal parsing accepts just a number in addition to - // number + (possibly) stuff coming from _ordinalParseLenient. - this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + /\d{1,2}/.source); - }, + /** + * calculate the angle between two coordinates + * @method getAngle + * @param {Touch} touch1 + * @param {Touch} touch2 + * @return {Number} angle + */ + getAngle: function getAngle(touch1, touch2) { + var x = touch2.clientX - touch1.clientX, + y = touch2.clientY - touch1.clientY; - _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), - months : function (m) { - return this._months[m.month()]; - }, + return Math.atan2(y, x) * 180 / Math.PI; + }, - _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), - monthsShort : function (m) { - return this._monthsShort[m.month()]; - }, + /** + * do a small comparision to get the direction between two touches. + * @method getDirection + * @param {Touch} touch1 + * @param {Touch} touch2 + * @return {String} direction matches `DIRECTION_LEFT|RIGHT|UP|DOWN` + */ + getDirection: function getDirection(touch1, touch2) { + var x = Math.abs(touch1.clientX - touch2.clientX), + y = Math.abs(touch1.clientY - touch2.clientY); - monthsParse : function (monthName, format, strict) { - var i, mom, regex; + if(x >= y) { + return touch1.clientX - touch2.clientX > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return touch1.clientY - touch2.clientY > 0 ? DIRECTION_UP : DIRECTION_DOWN; + }, - if (!this._monthsParse) { - this._monthsParse = []; - this._longMonthsParse = []; - this._shortMonthsParse = []; - } + /** + * calculate the distance between two touches + * @method getDistance + * @param {Touch}touch1 + * @param {Touch} touch2 + * @return {Number} distance + */ + getDistance: function getDistance(touch1, touch2) { + var x = touch2.clientX - touch1.clientX, + y = touch2.clientY - touch1.clientY; - for (i = 0; i < 12; i++) { - // make the regex if we don't have it already - mom = moment.utc([2000, i]); - if (strict && !this._longMonthsParse[i]) { - this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); - this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); - } - if (!strict && !this._monthsParse[i]) { - regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); - this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); - } - // test the regex - if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { - return i; - } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { - return i; - } else if (!strict && this._monthsParse[i].test(monthName)) { - return i; - } - } - }, + return Math.sqrt((x * x) + (y * y)); + }, - _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), - weekdays : function (m) { - return this._weekdays[m.day()]; - }, + /** + * calculate the scale factor between two touchLists + * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out + * @method getScale + * @param {Array} start array of touches + * @param {Array} end array of touches + * @return {Number} scale + */ + getScale: function getScale(start, end) { + // need two fingers... + if(start.length >= 2 && end.length >= 2) { + return this.getDistance(end[0], end[1]) / this.getDistance(start[0], start[1]); + } + return 1; + }, - _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), - weekdaysShort : function (m) { - return this._weekdaysShort[m.day()]; - }, + /** + * calculate the rotation degrees between two touchLists + * @method getRotation + * @param {Array} start array of touches + * @param {Array} end array of touches + * @return {Number} rotation + */ + getRotation: function getRotation(start, end) { + // need two fingers + if(start.length >= 2 && end.length >= 2) { + return this.getAngle(end[1], end[0]) - this.getAngle(start[1], start[0]); + } + return 0; + }, - _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), - weekdaysMin : function (m) { - return this._weekdaysMin[m.day()]; - }, + /** + * find out if the direction is vertical * + * @method isVertical + * @param {String} direction matches `DIRECTION_UP|DOWN` + * @return {Boolean} is_vertical + */ + isVertical: function isVertical(direction) { + return direction == DIRECTION_UP || direction == DIRECTION_DOWN; + }, - weekdaysParse : function (weekdayName) { - var i, mom, regex; + /** + * set css properties with their prefixes + * @param {HTMLElement} element + * @param {String} prop + * @param {String} value + * @param {Boolean} [toggle=true] + * @return {Boolean} + */ + setPrefixedCss: function setPrefixedCss(element, prop, value, toggle) { + var prefixes = ['', 'Webkit', 'Moz', 'O', 'ms']; + prop = Utils.toCamelCase(prop); - if (!this._weekdaysParse) { - this._weekdaysParse = []; + for(var i = 0; i < prefixes.length; i++) { + var p = prop; + // prefixes + if(prefixes[i]) { + p = prefixes[i] + p.slice(0, 1).toUpperCase() + p.slice(1); } - for (i = 0; i < 7; i++) { - // make the regex if we don't have it already - if (!this._weekdaysParse[i]) { - mom = moment([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)) { - return i; - } + // test the style + if(p in element.style) { + element.style[p] = (toggle == null || toggle) && value || ''; + break; } - }, + } + }, - _longDateFormat : { - LTS : 'h:mm:ss A', - LT : 'h:mm A', - L : 'MM/DD/YYYY', - LL : 'MMMM D, YYYY', - LLL : 'MMMM D, YYYY LT', - LLLL : 'dddd, MMMM D, YYYY LT' - }, - longDateFormat : function (key) { - var output = this._longDateFormat[key]; - if (!output && this._longDateFormat[key.toUpperCase()]) { - output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { - return val.slice(1); - }); - this._longDateFormat[key] = output; - } - return output; - }, + /** + * toggle browser default behavior by setting css properties. + * `userSelect='none'` also sets `element.onselectstart` to false + * `userDrag='none'` also sets `element.ondragstart` to false + * + * @method toggleBehavior + * @param {HtmlElement} element + * @param {Object} props + * @param {Boolean} [toggle=true] + */ + toggleBehavior: function toggleBehavior(element, props, toggle) { + if(!props || !element || !element.style) { + return; + } - isPM : function (input) { - // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays - // Using charAt should be more compatible. - return ((input + '').toLowerCase().charAt(0) === 'p'); - }, + // set the css properties + Utils.each(props, function(value, prop) { + Utils.setPrefixedCss(element, prop, value, toggle); + }); - _meridiemParse : /[ap]\.?m?\.?/i, - meridiem : function (hours, minutes, isLower) { - if (hours > 11) { - return isLower ? 'pm' : 'PM'; - } else { - return isLower ? 'am' : 'AM'; - } - }, + var falseFn = toggle && function() { + return false; + }; + // also the disable onselectstart + if(props.userSelect == 'none') { + element.onselectstart = falseFn; + } + // and disable ondragstart + if(props.userDrag == 'none') { + element.ondragstart = falseFn; + } + }, - _calendar : { - sameDay : '[Today at] LT', - nextDay : '[Tomorrow at] LT', - nextWeek : 'dddd [at] LT', - lastDay : '[Yesterday at] LT', - lastWeek : '[Last] dddd [at] LT', - sameElse : 'L' - }, - calendar : function (key, mom, now) { - var output = this._calendar[key]; - return typeof output === 'function' ? output.apply(mom, [now]) : output; - }, + /** + * convert a string with underscores to camelCase + * so prevent_default becomes preventDefault + * @param {String} str + * @return {String} camelCaseStr + */ + toCamelCase: function toCamelCase(str) { + return str.replace(/[_-]([a-z])/g, function(s) { + return s[1].toUpperCase(); + }); + } + }; - _relativeTime : { - future : 'in %s', - past : '%s ago', - s : 'a few seconds', - m : 'a minute', - mm : '%d minutes', - h : 'an hour', - hh : '%d hours', - d : 'a day', - dd : '%d days', - M : 'a month', - MM : '%d months', - y : 'a year', - yy : '%d years' - }, - relativeTime : function (number, withoutSuffix, string, isFuture) { - var output = this._relativeTime[string]; - return (typeof output === 'function') ? - output(number, withoutSuffix, string, isFuture) : - output.replace(/%d/i, number); - }, + /** + * @module hammer + */ + /** + * @class Event + * @static + */ + var Event = Hammer.event = { + /** + * when touch events have been fired, this is true + * this is used to stop mouse events + * @property prevent_mouseevents + * @private + * @type {Boolean} + */ + preventMouseEvents: false, + + /** + * if EVENT_START has been fired + * @property started + * @private + * @type {Boolean} + */ + started: false, + + /** + * when the mouse is hold down, this is true + * @property should_detect + * @private + * @type {Boolean} + */ + shouldDetect: false, + + /** + * simple event binder with a hook and support for multiple types + * @method on + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + * @param {Function} [hook] + * @param {Object} hook.type + */ + on: function on(element, type, handler, hook) { + var types = type.split(' '); + Utils.each(types, function(type) { + Utils.on(element, type, handler); + hook && hook(type); + }); + }, + + /** + * simple event unbinder with a hook and support for multiple types + * @method off + * @param {HTMLElement} element + * @param {String} type + * @param {Function} handler + * @param {Function} [hook] + * @param {Object} hook.type + */ + off: function off(element, type, handler, hook) { + var types = type.split(' '); + Utils.each(types, function(type) { + Utils.off(element, type, handler); + hook && hook(type); + }); + }, - pastFuture : function (diff, output) { - var format = this._relativeTime[diff > 0 ? 'future' : 'past']; - return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); - }, + /** + * the core touch event handler. + * this finds out if we should to detect gestures + * @method onTouch + * @param {HTMLElement} element + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Function} handler + * @return onTouchHandler {Function} the core event handler + */ + onTouch: function onTouch(element, eventType, handler) { + var self = this; - ordinal : function (number) { - return this._ordinal.replace('%d', number); - }, - _ordinal : '%d', - _ordinalParse : /\d{1,2}/, + var onTouchHandler = function onTouchHandler(ev) { + var srcType = ev.type.toLowerCase(), + isPointer = Hammer.HAS_POINTEREVENTS, + isMouse = Utils.inStr(srcType, 'mouse'), + triggerType; - preparse : function (string) { - return string; - }, + // if we are in a mouseevent, but there has been a touchevent triggered in this session + // we want to do nothing. simply break out of the event. + if(isMouse && self.preventMouseEvents) { + return; - postformat : function (string) { - return string; - }, + // mousebutton must be down + } else if(isMouse && eventType == EVENT_START && ev.button === 0) { + self.preventMouseEvents = false; + self.shouldDetect = true; + } else if(isPointer && eventType == EVENT_START) { + self.shouldDetect = (ev.buttons === 1 || PointerEvent.matchType(POINTER_TOUCH, ev)); + // just a valid start event, but no mouse + } else if(!isMouse && eventType == EVENT_START) { + self.preventMouseEvents = true; + self.shouldDetect = true; + } - week : function (mom) { - return weekOfYear(mom, this._week.dow, this._week.doy).week; - }, + // update the pointer event before entering the detection + if(isPointer && eventType != EVENT_END) { + PointerEvent.updatePointer(eventType, ev); + } - _week : { - 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. - }, + // we are in a touch/down state, so allowed detection of gestures + if(self.shouldDetect) { + triggerType = self.doDetect.call(self, ev, eventType, element, handler); + } - firstDayOfWeek : function () { - return this._week.dow; - }, + // ...and we are done with the detection + // so reset everything to start each detection totally fresh + if(triggerType == EVENT_END) { + self.preventMouseEvents = false; + self.shouldDetect = false; + PointerEvent.reset(); + // update the pointerevent object after the detection + } - firstDayOfYear : function () { - return this._week.doy; - }, + if(isPointer && eventType == EVENT_END) { + PointerEvent.updatePointer(eventType, ev); + } + }; - _invalidDate: 'Invalid date', - invalidDate: function () { - return this._invalidDate; - } - }); + this.on(element, EVENT_TYPES[eventType], onTouchHandler); + return onTouchHandler; + }, - /************************************ - Formatting - ************************************/ + /** + * the core detection method + * this finds out what hammer-touch-events to trigger + * @method doDetect + * @param {Object} ev + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {HTMLElement} element + * @param {Function} handler + * @return {String} triggerType matches `EVENT_START|MOVE|END` + */ + doDetect: function doDetect(ev, eventType, element, handler) { + var touchList = this.getTouchList(ev, eventType); + var touchListLength = touchList.length; + var triggerType = eventType; + var triggerChange = touchList.trigger; // used by fakeMultitouch plugin + var changedLength = touchListLength; + // at each touchstart-like event we want also want to trigger a TOUCH event... + if(eventType == EVENT_START) { + triggerChange = EVENT_TOUCH; + // ...the same for a touchend-like event + } else if(eventType == EVENT_END) { + triggerChange = EVENT_RELEASE; - function removeFormattingTokens(input) { - if (input.match(/\[[\s\S]/)) { - return input.replace(/^\[|\]$/g, ''); + // keep track of how many touches have been removed + changedLength = touchList.length - ((ev.changedTouches) ? ev.changedTouches.length : 1); } - return input.replace(/\\/g, ''); - } - - function makeFormatFunction(format) { - var array = format.match(formattingTokens), i, length; - for (i = 0, length = array.length; i < length; i++) { - if (formatTokenFunctions[array[i]]) { - array[i] = formatTokenFunctions[array[i]]; - } else { - array[i] = removeFormattingTokens(array[i]); - } + // after there are still touches on the screen, + // we just want to trigger a MOVE event. so change the START or END to a MOVE + // but only after detection has been started, the first time we actualy want a START + if(changedLength > 0 && this.started) { + triggerType = EVENT_MOVE; } - return function (mom) { - var output = ''; - for (i = 0; i < length; i++) { - output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; - } - return output; - }; - } - - // format date using native date object - function formatMoment(m, format) { - if (!m.isValid()) { - return m.localeData().invalidDate(); - } + // detection has been started, we keep track of this, see above + this.started = true; - format = expandFormat(format, m.localeData()); + // generate some event data, some basic information + var evData = this.collectEventData(element, triggerType, touchList, ev); - if (!formatFunctions[format]) { - formatFunctions[format] = makeFormatFunction(format); + // trigger the triggerType event before the change (TOUCH, RELEASE) events + // but the END event should be at last + if(eventType != EVENT_END) { + handler.call(Detection, evData); } - return formatFunctions[format](m); - } + // trigger a change (TOUCH, RELEASE) event, this means the length of the touches changed + if(triggerChange) { + evData.changedLength = changedLength; + evData.eventType = triggerChange; - function expandFormat(format, locale) { - var i = 5; + handler.call(Detection, evData); - function replaceLongDateFormatTokens(input) { - return locale.longDateFormat(input) || input; + evData.eventType = triggerType; + delete evData.changedLength; } - localFormattingTokens.lastIndex = 0; - while (i >= 0 && localFormattingTokens.test(format)) { - format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); - localFormattingTokens.lastIndex = 0; - i -= 1; + // trigger the END event + if(triggerType == EVENT_END) { + handler.call(Detection, evData); + + // ...and we are done with the detection + // so reset everything to start each detection totally fresh + this.started = false; } - return format; - } + return triggerType; + }, + /** + * we have different events for each device/browser + * determine what we need and set them in the EVENT_TYPES constant + * the `onTouch` method is bind to these properties. + * @method determineEventTypes + * @return {Object} events + */ + determineEventTypes: function determineEventTypes() { + var types; + if(Hammer.HAS_POINTEREVENTS) { + if(window.PointerEvent) { + types = [ + 'pointerdown', + 'pointermove', + 'pointerup pointercancel lostpointercapture' + ]; + } else { + types = [ + 'MSPointerDown', + 'MSPointerMove', + 'MSPointerUp MSPointerCancel MSLostPointerCapture' + ]; + } + } else if(Hammer.NO_MOUSEEVENTS) { + types = [ + 'touchstart', + 'touchmove', + 'touchend touchcancel' + ]; + } else { + types = [ + 'touchstart mousedown', + 'touchmove mousemove', + 'touchend touchcancel mouseup' + ]; + } - /************************************ - Parsing - ************************************/ + EVENT_TYPES[EVENT_START] = types[0]; + EVENT_TYPES[EVENT_MOVE] = types[1]; + EVENT_TYPES[EVENT_END] = types[2]; + return EVENT_TYPES; + }, + /** + * create touchList depending on the event + * @method getTouchList + * @param {Object} ev + * @param {String} eventType + * @return {Array} touches + */ + getTouchList: function getTouchList(ev, eventType) { + // get the fake pointerEvent touchlist + if(Hammer.HAS_POINTEREVENTS) { + return PointerEvent.getTouchList(); + } - // get the regex to find the next token - function getParseRegexForToken(token, config) { - var a, strict = config._strict; - switch (token) { - case 'Q': - return parseTokenOneDigit; - case 'DDDD': - return parseTokenThreeDigits; - case 'YYYY': - case 'GGGG': - case 'gggg': - return strict ? parseTokenFourDigits : parseTokenOneToFourDigits; - case 'Y': - case 'G': - case 'g': - return parseTokenSignedNumber; - case 'YYYYYY': - case 'YYYYY': - case 'GGGGG': - case 'ggggg': - return strict ? parseTokenSixDigits : parseTokenOneToSixDigits; - case 'S': - if (strict) { - return parseTokenOneDigit; - } - /* falls through */ - case 'SS': - if (strict) { - return parseTokenTwoDigits; - } - /* falls through */ - case 'SSS': - if (strict) { - return parseTokenThreeDigits; + // get the touchlist + if(ev.touches) { + if(eventType == EVENT_MOVE) { + return ev.touches; } - /* falls through */ - case 'DDD': - return parseTokenOneToThreeDigits; - case 'MMM': - case 'MMMM': - case 'dd': - case 'ddd': - case 'dddd': - return parseTokenWord; - case 'a': - case 'A': - return config._locale._meridiemParse; - case 'x': - return parseTokenOffsetMs; - case 'X': - return parseTokenTimestampMs; - case 'Z': - case 'ZZ': - return parseTokenTimezone; - case 'T': - return parseTokenT; - case 'SSSS': - return parseTokenDigits; - case 'MM': - case 'DD': - case 'YY': - case 'GG': - case 'gg': - case 'HH': - case 'hh': - case 'mm': - case 'ss': - case 'ww': - case 'WW': - return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits; - case 'M': - case 'D': - case 'd': - case 'H': - case 'h': - case 'm': - case 's': - case 'w': - case 'W': - case 'e': - case 'E': - return parseTokenOneOrTwoDigits; - case 'Do': - return strict ? config._locale._ordinalParse : config._locale._ordinalParseLenient; - default : - a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i')); - return a; - } - } - function utcOffsetFromString(string) { - string = string || ''; - var possibleTzMatches = (string.match(parseTokenTimezone) || []), - tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [], - parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0], - minutes = +(parts[1] * 60) + toInt(parts[2]); + var identifiers = []; + var concat = [].concat(Utils.toArray(ev.touches), Utils.toArray(ev.changedTouches)); + var touchList = []; - return parts[0] === '+' ? minutes : -minutes; - } + Utils.each(concat, function(touch) { + if(Utils.inArray(identifiers, touch.identifier) === false) { + touchList.push(touch); + } + identifiers.push(touch.identifier); + }); - // function to convert string input to date - function addTimeToArrayFromToken(token, input, config) { - var a, datePartArray = config._a; + return touchList; + } - switch (token) { - // QUARTER - case 'Q': - if (input != null) { - datePartArray[MONTH] = (toInt(input) - 1) * 3; - } - break; - // MONTH - case 'M' : // fall through to MM - case 'MM' : - if (input != null) { - datePartArray[MONTH] = toInt(input) - 1; - } - break; - case 'MMM' : // fall through to MMMM - case 'MMMM' : - a = config._locale.monthsParse(input, token, config._strict); - // if we didn't find a month name, mark the date as invalid. - if (a != null) { - datePartArray[MONTH] = a; - } else { - config._pf.invalidMonth = input; - } - break; - // DAY OF MONTH - case 'D' : // fall through to DD - case 'DD' : - if (input != null) { - datePartArray[DATE] = toInt(input); - } - break; - case 'Do' : - if (input != null) { - datePartArray[DATE] = toInt(parseInt( - input.match(/\d{1,2}/)[0], 10)); - } - break; - // DAY OF YEAR - case 'DDD' : // fall through to DDDD - case 'DDDD' : - if (input != null) { - config._dayOfYear = toInt(input); - } + // make fake touchList from mouse position + ev.identifier = 1; + return [ev]; + }, - break; - // YEAR - case 'YY' : - datePartArray[YEAR] = moment.parseTwoDigitYear(input); - break; - case 'YYYY' : - case 'YYYYY' : - case 'YYYYYY' : - datePartArray[YEAR] = toInt(input); - break; - // AM / PM - case 'a' : // fall through to A - case 'A' : - config._meridiem = input; - // config._isPm = config._locale.isPM(input); - break; - // HOUR - case 'h' : // fall through to hh - case 'hh' : - config._pf.bigHour = true; - /* falls through */ - case 'H' : // fall through to HH - case 'HH' : - datePartArray[HOUR] = toInt(input); - break; - // MINUTE - case 'm' : // fall through to mm - case 'mm' : - datePartArray[MINUTE] = toInt(input); - break; - // SECOND - case 's' : // fall through to ss - case 'ss' : - datePartArray[SECOND] = toInt(input); - break; - // MILLISECOND - case 'S' : - case 'SS' : - case 'SSS' : - case 'SSSS' : - datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000); - break; - // UNIX OFFSET (MILLISECONDS) - case 'x': - config._d = new Date(toInt(input)); - break; - // UNIX TIMESTAMP WITH MS - case 'X': - config._d = new Date(parseFloat(input) * 1000); - break; - // TIMEZONE - case 'Z' : // fall through to ZZ - case 'ZZ' : - config._useUTC = true; - config._tzm = utcOffsetFromString(input); - break; - // WEEKDAY - human - case 'dd': - case 'ddd': - case 'dddd': - a = config._locale.weekdaysParse(input); - // if we didn't get a weekday name, mark the date as invalid - if (a != null) { - config._w = config._w || {}; - config._w['d'] = a; - } else { - config._pf.invalidWeekday = input; - } - break; - // WEEK, WEEK DAY - numeric - case 'w': - case 'ww': - case 'W': - case 'WW': - case 'd': - case 'e': - case 'E': - token = token.substr(0, 1); - /* falls through */ - case 'gggg': - case 'GGGG': - case 'GGGGG': - token = token.substr(0, 2); - if (input) { - config._w = config._w || {}; - config._w[token] = toInt(input); - } - break; - case 'gg': - case 'GG': - config._w = config._w || {}; - config._w[token] = moment.parseTwoDigitYear(input); + /** + * collect basic event data + * @method collectEventData + * @param {HTMLElement} element + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Array} touches + * @param {Object} ev + * @return {Object} ev + */ + collectEventData: function collectEventData(element, eventType, touches, ev) { + // find out pointerType + var pointerType = POINTER_TOUCH; + if(Utils.inStr(ev.type, 'mouse') || PointerEvent.matchType(POINTER_MOUSE, ev)) { + pointerType = POINTER_MOUSE; + } else if(PointerEvent.matchType(POINTER_PEN, ev)) { + pointerType = POINTER_PEN; } + + return { + center: Utils.getCenter(touches), + timeStamp: Date.now(), + target: ev.target, + touches: touches, + eventType: eventType, + pointerType: pointerType, + srcEvent: ev, + + /** + * prevent the browser default actions + * mostly used to disable scrolling of the browser + */ + preventDefault: function() { + var srcEvent = this.srcEvent; + srcEvent.preventManipulation && srcEvent.preventManipulation(); + srcEvent.preventDefault && srcEvent.preventDefault(); + }, + + /** + * stop bubbling the event up to its parents + */ + stopPropagation: function() { + this.srcEvent.stopPropagation(); + }, + + /** + * immediately stop gesture detection + * might be useful after a swipe was detected + * @return {*} + */ + stopDetect: function() { + return Detection.stopDetect(); + } + }; } + }; - function dayOfYearFromWeekInfo(config) { - var w, weekYear, week, weekday, dow, doy, temp; - w = config._w; - if (w.GG != null || w.W != null || w.E != null) { - dow = 1; - doy = 4; + /** + * @module hammer + * + * @class PointerEvent + * @static + */ + var PointerEvent = Hammer.PointerEvent = { + /** + * holds all pointers, by `identifier` + * @property pointers + * @type {Object} + */ + pointers: {}, - // TODO: We need to take the current isoWeekYear, but that depends on - // how we interpret now (local, utc, fixed offset). So create - // a now version of current config (take local/utc/offset flags, and - // create now). - weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year); - week = dfl(w.W, 1); - weekday = dfl(w.E, 1); - } else { - dow = config._locale._week.dow; - doy = config._locale._week.doy; + /** + * get the pointers as an array + * @method getTouchList + * @return {Array} touchlist + */ + getTouchList: function getTouchList() { + var touchlist = []; + // we can use forEach since pointerEvents only is in IE10 + Utils.each(this.pointers, function(pointer) { + touchlist.push(pointer); + }); + return touchlist; + }, - weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); - week = dfl(w.w, 1); + /** + * update the position of a pointer + * @method updatePointer + * @param {String} eventType matches `EVENT_START|MOVE|END` + * @param {Object} pointerEvent + */ + updatePointer: function updatePointer(eventType, pointerEvent) { + if(eventType == EVENT_END || (eventType != EVENT_END && pointerEvent.buttons !== 1)) { + delete this.pointers[pointerEvent.pointerId]; + } else { + pointerEvent.identifier = pointerEvent.pointerId; + this.pointers[pointerEvent.pointerId] = pointerEvent; + } + }, - if (w.d != null) { - // weekday -- low day numbers are considered next week - weekday = w.d; - if (weekday < dow) { - ++week; - } - } else if (w.e != null) { - // local weekday -- counting starts from begining of week - weekday = w.e + dow; - } else { - // default to begining of week - weekday = dow; - } + /** + * check if ev matches pointertype + * @method matchType + * @param {String} pointerType matches `POINTER_MOUSE|TOUCH|PEN` + * @param {PointerEvent} ev + */ + matchType: function matchType(pointerType, ev) { + if(!ev.pointerType) { + return false; } - temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); - config._a[YEAR] = temp.year; - config._dayOfYear = temp.dayOfYear; + var pt = ev.pointerType, + types = {}; + + types[POINTER_MOUSE] = (pt === (ev.MSPOINTER_TYPE_MOUSE || POINTER_MOUSE)); + types[POINTER_TOUCH] = (pt === (ev.MSPOINTER_TYPE_TOUCH || POINTER_TOUCH)); + types[POINTER_PEN] = (pt === (ev.MSPOINTER_TYPE_PEN || POINTER_PEN)); + return types[pointerType]; + }, + + /** + * reset the stored pointers + * @method reset + */ + reset: function resetList() { + this.pointers = {}; } + }; - // convert an array to a date. - // the array should mirror the parameters below - // note: all values past the year are optional and will default to the lowest possible value. - // [year, month, day , hour, minute, second, millisecond] - function dateFromConfig(config) { - var i, date, input = [], currentDate, yearToUse; - if (config._d) { + /** + * @module hammer + * + * @class Detection + * @static + */ + var Detection = Hammer.detection = { + // contains all registred Hammer.gestures in the correct order + gestures: [], + + // data of the current Hammer.gesture detection session + current: null, + + // the previous Hammer.gesture session data + // is a full clone of the previous gesture.current object + previous: null, + + // when this becomes true, no gestures are fired + stopped: false, + + /** + * start Hammer.gesture detection + * @method startDetect + * @param {Hammer.Instance} inst + * @param {Object} eventData + */ + startDetect: function startDetect(inst, eventData) { + // already busy with a Hammer.gesture detection on an element + if(this.current) { return; } - currentDate = currentDateArray(config); + this.stopped = false; - //compute day of the year from weeks and weekdays - if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { - dayOfYearFromWeekInfo(config); + // holds current session + this.current = { + inst: inst, // reference to HammerInstance we're working for + startEvent: Utils.extend({}, eventData), // start eventData for distances, timing etc + lastEvent: false, // last eventData + lastCalcEvent: false, // last eventData for calculations. + futureCalcEvent: false, // last eventData for calculations. + lastCalcData: {}, // last lastCalcData + name: '' // current gesture we're in/detected, can be 'tap', 'hold' etc + }; + + this.detect(eventData); + }, + + /** + * Hammer.gesture detection + * @method detect + * @param {Object} eventData + * @return {any} + */ + detect: function detect(eventData) { + if(!this.current || this.stopped) { + return; } - //if the day of the year is set, figure out what it is - if (config._dayOfYear) { - yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); + // extend event data with calculations about scale, distance etc + eventData = this.extendEventData(eventData); - if (config._dayOfYear > daysInYear(yearToUse)) { - config._pf._overflowDayOfYear = true; + // hammer instance and instance options + var inst = this.current.inst, + instOptions = inst.options; + + // call Hammer.gesture handlers + Utils.each(this.gestures, function triggerGesture(gesture) { + // only when the instance options have enabled this gesture + if(!this.stopped && inst.enabled && instOptions[gesture.name]) { + gesture.handler.call(gesture, eventData, inst); } + }, this); - date = makeUTCDate(yearToUse, 0, config._dayOfYear); - config._a[MONTH] = date.getUTCMonth(); - config._a[DATE] = date.getUTCDate(); + // store as previous event event + if(this.current) { + this.current.lastEvent = eventData; } - // Default to current date. - // * if no year, month, day of month are given, default to today - // * if day of month is given, default month and year - // * if month is given, default only year - // * if year is given, don't default anything - for (i = 0; i < 3 && config._a[i] == null; ++i) { - config._a[i] = input[i] = currentDate[i]; + if(eventData.eventType == EVENT_END) { + this.stopDetect(); } - // Zero out whatever was not defaulted, including time - for (; i < 7; i++) { - config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + return eventData; + }, + + /** + * clear the Hammer.gesture vars + * this is called on endDetect, but can also be used when a final Hammer.gesture has been detected + * to stop other Hammer.gestures from being fired + * @method stopDetect + */ + stopDetect: function stopDetect() { + // clone current data to the store as the previous gesture + // used for the double tap gesture, since this is an other gesture detect session + this.previous = Utils.extend({}, this.current); + + // reset the current + this.current = null; + this.stopped = true; + }, + + /** + * calculate velocity, angle and direction + * @method getVelocityData + * @param {Object} ev + * @param {Object} center + * @param {Number} deltaTime + * @param {Number} deltaX + * @param {Number} deltaY + */ + getCalculatedData: function getCalculatedData(ev, center, deltaTime, deltaX, deltaY) { + var cur = this.current, + recalc = false, + calcEv = cur.lastCalcEvent, + calcData = cur.lastCalcData; + + if(calcEv && ev.timeStamp - calcEv.timeStamp > Hammer.CALCULATE_INTERVAL) { + center = calcEv.center; + deltaTime = ev.timeStamp - calcEv.timeStamp; + deltaX = ev.center.clientX - calcEv.center.clientX; + deltaY = ev.center.clientY - calcEv.center.clientY; + recalc = true; } - // Check for 24:00:00.000 - if (config._a[HOUR] === 24 && - config._a[MINUTE] === 0 && - config._a[SECOND] === 0 && - config._a[MILLISECOND] === 0) { - config._nextDay = true; - config._a[HOUR] = 0; + if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { + cur.futureCalcEvent = ev; } - config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input); - // Apply timezone offset from input. The actual utcOffset can be changed - // with parseZone. - if (config._tzm != null) { - config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + if(!cur.lastCalcEvent || recalc) { + calcData.velocity = Utils.getVelocity(deltaTime, deltaX, deltaY); + calcData.angle = Utils.getAngle(center, ev.center); + calcData.direction = Utils.getDirection(center, ev.center); + + cur.lastCalcEvent = cur.futureCalcEvent || ev; + cur.futureCalcEvent = ev; } - if (config._nextDay) { - config._a[HOUR] = 24; + ev.velocityX = calcData.velocity.x; + ev.velocityY = calcData.velocity.y; + ev.interimAngle = calcData.angle; + ev.interimDirection = calcData.direction; + }, + + /** + * extend eventData for Hammer.gestures + * @method extendEventData + * @param {Object} ev + * @return {Object} ev + */ + extendEventData: function extendEventData(ev) { + var cur = this.current, + startEv = cur.startEvent, + lastEv = cur.lastEvent || startEv; + + // update the start touchlist to calculate the scale/rotation + if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { + startEv.touches = []; + Utils.each(ev.touches, function(touch) { + startEv.touches.push({ + clientX: touch.clientX, + clientY: touch.clientY + }); + }); + } + + var deltaTime = ev.timeStamp - startEv.timeStamp, + deltaX = ev.center.clientX - startEv.center.clientX, + deltaY = ev.center.clientY - startEv.center.clientY; + + this.getCalculatedData(ev, lastEv.center, deltaTime, deltaX, deltaY); + + Utils.extend(ev, { + startEvent: startEv, + + deltaTime: deltaTime, + deltaX: deltaX, + deltaY: deltaY, + + distance: Utils.getDistance(startEv.center, ev.center), + angle: Utils.getAngle(startEv.center, ev.center), + direction: Utils.getDirection(startEv.center, ev.center), + scale: Utils.getScale(startEv.touches, ev.touches), + rotation: Utils.getRotation(startEv.touches, ev.touches) + }); + + return ev; + }, + + /** + * register new gesture + * @method register + * @param {Object} gesture object, see `gestures/` for documentation + * @return {Array} gestures + */ + register: function register(gesture) { + // add an enable gesture options if there is no given + var options = gesture.defaults || {}; + if(options[gesture.name] === undefined) { + options[gesture.name] = true; } + + // extend Hammer default options with the Hammer.gesture options + Utils.extend(Hammer.defaults, options, true); + + // set its index + gesture.index = gesture.index || 1000; + + // add Hammer.gesture to the list + this.gestures.push(gesture); + + // sort the list by index + this.gestures.sort(function(a, b) { + if(a.index < b.index) { + return -1; + } + if(a.index > b.index) { + return 1; + } + return 0; + }); + + return this.gestures; } + }; - function dateFromObject(config) { - var normalizedInput; - if (config._d) { - return; + /** + * @module hammer + */ + + /** + * create new hammer instance + * all methods should return the instance itself, so it is chainable. + * + * @class Instance + * @constructor + * @param {HTMLElement} element + * @param {Object} [options={}] options are merged with `Hammer.defaults` + * @return {Hammer.Instance} + */ + Hammer.Instance = function(element, options) { + var self = this; + + // setup HammerJS window events and register all gestures + // this also sets up the default options + setup(); + + /** + * @property element + * @type {HTMLElement} + */ + this.element = element; + + /** + * @property enabled + * @type {Boolean} + * @protected + */ + this.enabled = true; + + /** + * options, merged with the defaults + * options with an _ are converted to camelCase + * @property options + * @type {Object} + */ + Utils.each(options, function(value, name) { + delete options[name]; + options[Utils.toCamelCase(name)] = value; + }); + + this.options = Utils.extend(Utils.extend({}, Hammer.defaults), options || {}); + + // add some css to the element to prevent the browser from doing its native behavoir + if(this.options.behavior) { + Utils.toggleBehavior(this.element, this.options.behavior, true); + } + + /** + * event start handler on the element to start the detection + * @property eventStartHandler + * @type {Object} + */ + this.eventStartHandler = Event.onTouch(element, EVENT_START, function(ev) { + if(self.enabled && ev.eventType == EVENT_START) { + Detection.startDetect(self, ev); + } else if(ev.eventType == EVENT_TOUCH) { + Detection.detect(ev); + } + }); + + /** + * keep a list of user event handlers which needs to be removed when calling 'dispose' + * @property eventHandlers + * @type {Array} + */ + this.eventHandlers = []; + }; + + Hammer.Instance.prototype = { + /** + * bind events to the instance + * @method on + * @chainable + * @param {String} gestures multiple gestures by splitting with a space + * @param {Function} handler + * @param {Object} handler.ev event object + */ + on: function onEvent(gestures, handler) { + var self = this; + Event.on(self.element, gestures, handler, function(type) { + self.eventHandlers.push({ gesture: type, handler: handler }); + }); + return self; + }, + + /** + * unbind events to the instance + * @method off + * @chainable + * @param {String} gestures + * @param {Function} handler + */ + off: function offEvent(gestures, handler) { + var self = this; + + Event.off(self.element, gestures, handler, function(type) { + var index = Utils.inArray({ gesture: type, handler: handler }); + if(index !== false) { + self.eventHandlers.splice(index, 1); + } + }); + return self; + }, + + /** + * trigger gesture event + * @method trigger + * @chainable + * @param {String} gesture + * @param {Object} [eventData] + */ + trigger: function triggerEvent(gesture, eventData) { + // optional + if(!eventData) { + eventData = {}; } - normalizedInput = normalizeObjectUnits(config._i); - config._a = [ - normalizedInput.year, - normalizedInput.month, - normalizedInput.day || normalizedInput.date, - normalizedInput.hour, - normalizedInput.minute, - normalizedInput.second, - normalizedInput.millisecond - ]; - - dateFromConfig(config); - } + // create DOM event + var event = Hammer.DOCUMENT.createEvent('Event'); + event.initEvent(gesture, true, true); + event.gesture = eventData; - function currentDateArray(config) { - var now = new Date(); - if (config._useUTC) { - return [ - now.getUTCFullYear(), - now.getUTCMonth(), - now.getUTCDate() - ]; - } else { - return [now.getFullYear(), now.getMonth(), now.getDate()]; + // trigger on the target if it is in the instance element, + // this is for event delegation tricks + var element = this.element; + if(Utils.hasParent(eventData.target, element)) { + element = eventData.target; } - } - // date from string and format string - function makeDateFromStringAndFormat(config) { - if (config._f === moment.ISO_8601) { - parseISO(config); - return; - } + element.dispatchEvent(event); + return this; + }, - config._a = []; - config._pf.empty = true; + /** + * enable of disable hammer.js detection + * @method enable + * @chainable + * @param {Boolean} state + */ + enable: function enable(state) { + this.enabled = state; + return this; + }, - // This array is used to make a Date, either with `new Date` or `Date.UTC` - var string = '' + config._i, - i, parsedInput, tokens, token, skipped, - stringLength = string.length, - totalParsedInputLength = 0; + /** + * dispose this hammer instance + * @method dispose + * @return {Null} + */ + dispose: function dispose() { + var i, eh; - tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + // undo all changes made by stop_browser_behavior + Utils.toggleBehavior(this.element, this.options.behavior, false); - for (i = 0; i < tokens.length; i++) { - token = tokens[i]; - parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; - if (parsedInput) { - skipped = string.substr(0, string.indexOf(parsedInput)); - if (skipped.length > 0) { - config._pf.unusedInput.push(skipped); - } - string = string.slice(string.indexOf(parsedInput) + parsedInput.length); - totalParsedInputLength += parsedInput.length; - } - // don't parse if it's not a known token - if (formatTokenFunctions[token]) { - if (parsedInput) { - config._pf.empty = false; - } - else { - config._pf.unusedTokens.push(token); - } - addTimeToArrayFromToken(token, parsedInput, config); - } - else if (config._strict && !parsedInput) { - config._pf.unusedTokens.push(token); - } + // unbind all custom event handlers + for(i = -1; (eh = this.eventHandlers[++i]);) { + Utils.off(this.element, eh.gesture, eh.handler); } - // add remaining unparsed input length to the string - config._pf.charsLeftOver = stringLength - totalParsedInputLength; - if (string.length > 0) { - config._pf.unusedInput.push(string); - } + this.eventHandlers = []; - // clear _12h flag if hour is <= 12 - if (config._pf.bigHour === true && config._a[HOUR] <= 12) { - config._pf.bigHour = undefined; - } - // handle meridiem - config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], - config._meridiem); - dateFromConfig(config); - checkOverflow(config); - } + // unbind the start event listener + Event.off(this.element, EVENT_TYPES[EVENT_START], this.eventStartHandler); - function unescapeFormat(s) { - return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { - return p1 || p2 || p3 || p4; - }); + return null; } + }; - // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript - function regexpEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); - } - // date from string and array of format strings - function makeDateFromStringAndArray(config) { - var tempConfig, - bestMoment, + /** + * @module gestures + */ + /** + * Move with x fingers (default 1) around on the page. + * Preventing the default browser behavior is a good way to improve feel and working. + * ```` + * hammertime.on("drag", function(ev) { + * console.log(ev); + * ev.gesture.preventDefault(); + * }); + * ```` + * + * @class Drag + * @static + */ + /** + * @event drag + * @param {Object} ev + */ + /** + * @event dragstart + * @param {Object} ev + */ + /** + * @event dragend + * @param {Object} ev + */ + /** + * @event drapleft + * @param {Object} ev + */ + /** + * @event dragright + * @param {Object} ev + */ + /** + * @event dragup + * @param {Object} ev + */ + /** + * @event dragdown + * @param {Object} ev + */ - scoreToBeat, - i, - currentScore; + /** + * @param {String} name + */ + (function(name) { + var triggered = false; - if (config._f.length === 0) { - config._pf.invalidFormat = true; - config._d = new Date(NaN); + function dragGesture(ev, inst) { + var cur = Detection.current; + + // max touches + if(inst.options.dragMaxTouches > 0 && + ev.touches.length > inst.options.dragMaxTouches) { return; } - for (i = 0; i < config._f.length; i++) { - currentScore = 0; - tempConfig = copyConfig({}, config); - if (config._useUTC != null) { - tempConfig._useUTC = config._useUTC; - } - tempConfig._pf = defaultParsingFlags(); - tempConfig._f = config._f[i]; - makeDateFromStringAndFormat(tempConfig); - - if (!isValid(tempConfig)) { - continue; - } - - // if there is any input that was not parsed add a penalty for that format - currentScore += tempConfig._pf.charsLeftOver; + switch(ev.eventType) { + case EVENT_START: + triggered = false; + break; - //or tokens - currentScore += tempConfig._pf.unusedTokens.length * 10; + case EVENT_MOVE: + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(ev.distance < inst.options.dragMinDistance && + cur.name != name) { + return; + } - tempConfig._pf.score = currentScore; + var startCenter = cur.startEvent.center; - if (scoreToBeat == null || currentScore < scoreToBeat) { - scoreToBeat = currentScore; - bestMoment = tempConfig; - } - } + // we are dragging! + if(cur.name != name) { + cur.name = name; + if(inst.options.dragDistanceCorrection && ev.distance > 0) { + // When a drag is triggered, set the event center to dragMinDistance pixels from the original event center. + // Without this correction, the dragged distance would jumpstart at dragMinDistance pixels instead of at 0. + // It might be useful to save the original start point somewhere + var factor = Math.abs(inst.options.dragMinDistance / ev.distance); + startCenter.pageX += ev.deltaX * factor; + startCenter.pageY += ev.deltaY * factor; + startCenter.clientX += ev.deltaX * factor; + startCenter.clientY += ev.deltaY * factor; - extend(config, bestMoment || tempConfig); - } + // recalculate event data using new start point + ev = Detection.extendEventData(ev); + } + } - // date from iso format - function parseISO(config) { - var i, l, - string = config._i, - match = isoRegex.exec(string); + // lock drag to axis? + if(cur.lastEvent.dragLockToAxis || + ( inst.options.dragLockToAxis && + inst.options.dragLockMinDistance <= ev.distance + )) { + ev.dragLockToAxis = true; + } - if (match) { - config._pf.iso = true; - for (i = 0, l = isoDates.length; i < l; i++) { - if (isoDates[i][1].exec(string)) { - // match[5] should be 'T' or undefined - config._f = isoDates[i][0] + (match[6] || ' '); - break; + // keep direction on the axis that the drag gesture started on + var lastDirection = cur.lastEvent.direction; + if(ev.dragLockToAxis && lastDirection !== ev.direction) { + if(Utils.isVertical(lastDirection)) { + ev.direction = (ev.deltaY < 0) ? DIRECTION_UP : DIRECTION_DOWN; + } else { + ev.direction = (ev.deltaX < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT; + } } - } - for (i = 0, l = isoTimes.length; i < l; i++) { - if (isoTimes[i][1].exec(string)) { - config._f += isoTimes[i][0]; - break; + + // first time, trigger dragstart event + if(!triggered) { + inst.trigger(name + 'start', ev); + triggered = true; } - } - if (string.match(parseTokenTimezone)) { - config._f += 'Z'; - } - makeDateFromStringAndFormat(config); - } else { - config._isValid = false; - } - } - // date from iso format or fallback - function makeDateFromString(config) { - parseISO(config); - if (config._isValid === false) { - delete config._isValid; - moment.createFromInputFallback(config); - } - } + // trigger events + inst.trigger(name, ev); + inst.trigger(name + ev.direction, ev); - function map(arr, fn) { - var res = [], i; - for (i = 0; i < arr.length; ++i) { - res.push(fn(arr[i], i)); - } - return res; - } + var isVertical = Utils.isVertical(ev.direction); - function makeDateFromInput(config) { - var input = config._i, matched; - if (input === undefined) { - config._d = new Date(); - } else if (isDate(input)) { - config._d = new Date(+input); - } else if ((matched = aspNetJsonRegex.exec(input)) !== null) { - config._d = new Date(+matched[1]); - } else if (typeof input === 'string') { - makeDateFromString(config); - } else if (isArray(input)) { - config._a = map(input.slice(0), function (obj) { - return parseInt(obj, 10); - }); - dateFromConfig(config); - } else if (typeof(input) === 'object') { - dateFromObject(config); - } else if (typeof(input) === 'number') { - // from milliseconds - config._d = new Date(input); - } else { - moment.createFromInputFallback(config); - } - } + // block the browser events + if((inst.options.dragBlockVertical && isVertical) || + (inst.options.dragBlockHorizontal && !isVertical)) { + ev.preventDefault(); + } + break; - function makeDate(y, m, d, h, M, s, ms) { - //can't just apply() to create a date: - //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); + case EVENT_RELEASE: + if(triggered && ev.changedLength <= inst.options.dragMaxTouches) { + inst.trigger(name + 'end', ev); + triggered = false; + } + break; - //the date constructor doesn't accept years < 1970 - if (y < 1970) { - date.setFullYear(y); + case EVENT_END: + triggered = false; + break; } - return date; } - function makeUTCDate(y) { - var date = new Date(Date.UTC.apply(null, arguments)); - if (y < 1970) { - date.setUTCFullYear(y); - } - return date; - } + Hammer.gestures.Drag = { + name: name, + index: 50, + handler: dragGesture, + defaults: { + /** + * minimal movement that have to be made before the drag event gets triggered + * @property dragMinDistance + * @type {Number} + * @default 10 + */ + dragMinDistance: 10, - function parseWeekday(input, locale) { - if (typeof input === 'string') { - if (!isNaN(input)) { - input = parseInt(input, 10); - } - else { - input = locale.weekdaysParse(input); - if (typeof input !== 'number') { - return null; - } - } - } - return input; - } + /** + * Set dragDistanceCorrection to true to make the starting point of the drag + * be calculated from where the drag was triggered, not from where the touch started. + * Useful to avoid a jerk-starting drag, which can make fine-adjustments + * through dragging difficult, and be visually unappealing. + * @property dragDistanceCorrection + * @type {Boolean} + * @default true + */ + dragDistanceCorrection: true, - /************************************ - Relative Time - ************************************/ + /** + * set 0 for unlimited, but this can conflict with transform + * @property dragMaxTouches + * @type {Number} + * @default 1 + */ + dragMaxTouches: 1, + /** + * prevent default browser behavior when dragging occurs + * be careful with it, it makes the element a blocking element + * when you are using the drag gesture, it is a good practice to set this true + * @property dragBlockHorizontal + * @type {Boolean} + * @default false + */ + dragBlockHorizontal: false, - // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize - function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { - return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); - } + /** + * same as `dragBlockHorizontal`, but for vertical movement + * @property dragBlockVertical + * @type {Boolean} + * @default false + */ + dragBlockVertical: false, - function relativeTime(posNegDuration, withoutSuffix, locale) { - var duration = moment.duration(posNegDuration).abs(), - seconds = round(duration.as('s')), - minutes = round(duration.as('m')), - hours = round(duration.as('h')), - days = round(duration.as('d')), - months = round(duration.as('M')), - years = round(duration.as('y')), + /** + * dragLockToAxis keeps the drag gesture on the axis that it started on, + * It disallows vertical directions if the initial direction was horizontal, and vice versa. + * @property dragLockToAxis + * @type {Boolean} + * @default false + */ + dragLockToAxis: false, - args = seconds < relativeTimeThresholds.s && ['s', seconds] || - minutes === 1 && ['m'] || - minutes < relativeTimeThresholds.m && ['mm', minutes] || - hours === 1 && ['h'] || - hours < relativeTimeThresholds.h && ['hh', hours] || - days === 1 && ['d'] || - days < relativeTimeThresholds.d && ['dd', days] || - months === 1 && ['M'] || - months < relativeTimeThresholds.M && ['MM', months] || - years === 1 && ['y'] || ['yy', years]; + /** + * drag lock only kicks in when distance > dragLockMinDistance + * This way, locking occurs only when the distance has become large enough to reliably determine the direction + * @property dragLockMinDistance + * @type {Number} + * @default 25 + */ + dragLockMinDistance: 25 + } + }; + })('drag'); - args[2] = withoutSuffix; - args[3] = +posNegDuration > 0; - args[4] = locale; - return substituteTimeAgo.apply({}, args); + /** + * @module gestures + */ + /** + * trigger a simple gesture event, so you can do anything in your handler. + * only usable if you know what your doing... + * + * @class Gesture + * @static + */ + /** + * @event gesture + * @param {Object} ev + */ + Hammer.gestures.Gesture = { + name: 'gesture', + index: 1337, + handler: function releaseGesture(ev, inst) { + inst.trigger(this.name, ev); } + }; + + /** + * @module gestures + */ + /** + * Touch stays at the same place for x time + * + * @class Hold + * @static + */ + /** + * @event hold + * @param {Object} ev + */ + /** + * @param {String} name + */ + (function(name) { + var timer; - /************************************ - Week of Year - ************************************/ + function holdGesture(ev, inst) { + var options = inst.options, + current = Detection.current; + switch(ev.eventType) { + case EVENT_START: + clearTimeout(timer); - // 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; + // set the gesture so we can check in the timeout if it still is + current.name = name; + // set timer and if after the timeout it still is hold, + // we trigger the hold event + timer = setTimeout(function() { + if(current && current.name == name) { + inst.trigger(name, ev); + } + }, options.holdTimeout); + break; - if (daysToDayOfWeek > end) { - daysToDayOfWeek -= 7; - } + case EVENT_MOVE: + if(ev.distance > options.holdThreshold) { + clearTimeout(timer); + } + break; - if (daysToDayOfWeek < end - 7) { - daysToDayOfWeek += 7; + case EVENT_RELEASE: + clearTimeout(timer); + break; } - - adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); - return { - week: Math.ceil(adjustedMoment.dayOfYear() / 7), - year: adjustedMoment.year() - }; } - //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 d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear; + Hammer.gestures.Hold = { + name: name, + index: 10, + defaults: { + /** + * @property holdTimeout + * @type {Number} + * @default 500 + */ + holdTimeout: 500, - d = d === 0 ? 7 : d; - weekday = weekday != null ? weekday : firstDayOfWeek; - daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0); - dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1; + /** + * movement allowed while holding + * @property holdThreshold + * @type {Number} + * @default 2 + */ + holdThreshold: 2 + }, + handler: holdGesture + }; + })('hold'); - return { - year: dayOfYear > 0 ? year : year - 1, - dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear - }; + /** + * @module gestures + */ + /** + * when a touch is being released from the page + * + * @class Release + * @static + */ + /** + * @event release + * @param {Object} ev + */ + Hammer.gestures.Release = { + name: 'release', + index: Infinity, + handler: function releaseGesture(ev, inst) { + if(ev.eventType == EVENT_RELEASE) { + inst.trigger(this.name, ev); + } } + }; - /************************************ - Top Level Functions - ************************************/ + /** + * @module gestures + */ + /** + * triggers swipe events when the end velocity is above the threshold + * for best usage, set `preventDefault` (on the drag gesture) to `true` + * ```` + * hammertime.on("dragleft swipeleft", function(ev) { + * console.log(ev); + * ev.gesture.preventDefault(); + * }); + * ```` + * + * @class Swipe + * @static + */ + /** + * @event swipe + * @param {Object} ev + */ + /** + * @event swipeleft + * @param {Object} ev + */ + /** + * @event swiperight + * @param {Object} ev + */ + /** + * @event swipeup + * @param {Object} ev + */ + /** + * @event swipedown + * @param {Object} ev + */ + Hammer.gestures.Swipe = { + name: 'swipe', + index: 40, + defaults: { + /** + * @property swipeMinTouches + * @type {Number} + * @default 1 + */ + swipeMinTouches: 1, - function makeMoment(config) { - var input = config._i, - format = config._f, - res; + /** + * @property swipeMaxTouches + * @type {Number} + * @default 1 + */ + swipeMaxTouches: 1, - config._locale = config._locale || moment.localeData(config._l); + /** + * horizontal swipe velocity + * @property swipeVelocityX + * @type {Number} + * @default 0.6 + */ + swipeVelocityX: 0.6, - if (input === null || (format === undefined && input === '')) { - return moment.invalid({nullInput: true}); - } + /** + * vertical swipe velocity + * @property swipeVelocityY + * @type {Number} + * @default 0.6 + */ + swipeVelocityY: 0.6 + }, - if (typeof input === 'string') { - config._i = input = config._locale.preparse(input); - } + handler: function swipeGesture(ev, inst) { + if(ev.eventType == EVENT_RELEASE) { + var touches = ev.touches.length, + options = inst.options; - if (moment.isMoment(input)) { - return new Moment(input, true); - } else if (format) { - if (isArray(format)) { - makeDateFromStringAndArray(config); - } else { - makeDateFromStringAndFormat(config); + // max touches + if(touches < options.swipeMinTouches || + touches > options.swipeMaxTouches) { + return; } - } else { - makeDateFromInput(config); - } - res = new Moment(config); - if (res._nextDay) { - // Adding is smart enough around DST - res.add(1, 'd'); - res._nextDay = undefined; + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(ev.velocityX > options.swipeVelocityX || + ev.velocityY > options.swipeVelocityY) { + // trigger swipe events + inst.trigger(this.name, ev); + inst.trigger(this.name + ev.direction, ev); + } } - - return res; } + }; - moment = function (input, format, locale, strict) { - var c; + /** + * @module gestures + */ + /** + * Single tap and a double tap on a place + * + * @class Tap + * @static + */ + /** + * @event tap + * @param {Object} ev + */ + /** + * @event doubletap + * @param {Object} ev + */ - if (typeof(locale) === 'boolean') { - strict = locale; - locale = undefined; - } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c = {}; - c._isAMomentObject = true; - c._i = input; - c._f = format; - c._l = locale; - c._strict = strict; - c._isUTC = false; - c._pf = defaultParsingFlags(); + /** + * @param {String} name + */ + (function(name) { + var hasMoved = false; - return makeMoment(c); - }; + function tapGesture(ev, inst) { + var options = inst.options, + current = Detection.current, + prev = Detection.previous, + sincePrev, + didDoubleTap; - moment.suppressDeprecationWarnings = false; + switch(ev.eventType) { + case EVENT_START: + hasMoved = false; + break; - moment.createFromInputFallback = deprecate( - '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 (config) { - config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); - } - ); + case EVENT_MOVE: + hasMoved = hasMoved || (ev.distance > options.tapMaxDistance); + break; - // Pick a moment m from moments so that m[fn](other) is true for all - // other. This relies on the function fn to be transitive. - // - // moments should either be an array of moment objects or an array, whose - // first element is an array of moment objects. - function pickBy(fn, moments) { - var res, i; - if (moments.length === 1 && isArray(moments[0])) { - moments = moments[0]; - } - if (!moments.length) { - return moment(); - } - res = moments[0]; - for (i = 1; i < moments.length; ++i) { - if (moments[i][fn](res)) { - res = moments[i]; - } + case EVENT_END: + if(!Utils.inStr(ev.srcEvent.type, 'cancel') && ev.deltaTime < options.tapMaxTime && !hasMoved) { + // previous gesture, for the double tap since these are two different gesture detections + sincePrev = prev && prev.lastEvent && ev.timeStamp - prev.lastEvent.timeStamp; + didDoubleTap = false; + + // check if double tap + if(prev && prev.name == name && + (sincePrev && sincePrev < options.doubleTapInterval) && + ev.distance < options.doubleTapDistance) { + inst.trigger('doubletap', ev); + didDoubleTap = true; + } + + // do a single tap + if(!didDoubleTap || options.tapAlways) { + current.name = name; + inst.trigger(current.name, ev); + } + } + break; } - return res; } - moment.min = function () { - var args = [].slice.call(arguments, 0); + Hammer.gestures.Tap = { + name: name, + index: 100, + handler: tapGesture, + defaults: { + /** + * max time of a tap, this is for the slow tappers + * @property tapMaxTime + * @type {Number} + * @default 250 + */ + tapMaxTime: 250, - return pickBy('isBefore', args); - }; + /** + * max distance of movement of a tap, this is for the slow tappers + * @property tapMaxDistance + * @type {Number} + * @default 10 + */ + tapMaxDistance: 10, - moment.max = function () { - var args = [].slice.call(arguments, 0); + /** + * always trigger the `tap` event, even while double-tapping + * @property tapAlways + * @type {Boolean} + * @default true + */ + tapAlways: true, - return pickBy('isAfter', args); + /** + * max distance between two taps + * @property doubleTapDistance + * @type {Number} + * @default 20 + */ + doubleTapDistance: 20, + + /** + * max time between two taps + * @property doubleTapInterval + * @type {Number} + * @default 300 + */ + doubleTapInterval: 300 + } }; + })('tap'); - // creating with utc - moment.utc = function (input, format, locale, strict) { - var c; + /** + * @module gestures + */ + /** + * when a touch is being touched at the page + * + * @class Touch + * @static + */ + /** + * @event touch + * @param {Object} ev + */ + Hammer.gestures.Touch = { + name: 'touch', + index: -Infinity, + defaults: { + /** + * call preventDefault at touchstart, and makes the element blocking by disabling the scrolling of the page, + * but it improves gestures like transforming and dragging. + * be careful with using this, it can be very annoying for users to be stuck on the page + * @property preventDefault + * @type {Boolean} + * @default false + */ + preventDefault: false, - if (typeof(locale) === 'boolean') { - strict = locale; - locale = undefined; + /** + * disable mouse events, so only touch (or pen!) input triggers events + * @property preventMouse + * @type {Boolean} + * @default false + */ + preventMouse: false + }, + handler: function touchGesture(ev, inst) { + if(inst.options.preventMouse && ev.pointerType == POINTER_MOUSE) { + ev.stopDetect(); + return; } - // object construction must be done this way. - // https://github.com/moment/moment/issues/1423 - c = {}; - c._isAMomentObject = true; - c._useUTC = true; - c._isUTC = true; - c._l = locale; - c._i = input; - c._f = format; - c._strict = strict; - c._pf = defaultParsingFlags(); - - return makeMoment(c).utc(); - }; - // creating with unix timestamp (in seconds) - moment.unix = function (input) { - return moment(input * 1000); - }; + if(inst.options.preventDefault) { + ev.preventDefault(); + } - // duration - moment.duration = function (input, key) { - var duration = input, - // matching against regexp is expensive, do it on demand - match = null, - sign, - ret, - parseIso, - diffRes; + if(ev.eventType == EVENT_TOUCH) { + inst.trigger('touch', ev); + } + } + }; - if (moment.isDuration(input)) { - duration = { - ms: input._milliseconds, - d: input._days, - M: input._months - }; - } else if (typeof input === 'number') { - duration = {}; - if (key) { - duration[key] = input; - } else { - duration.milliseconds = input; - } - } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) { - sign = (match[1] === '-') ? -1 : 1; - duration = { - y: 0, - d: toInt(match[DATE]) * sign, - h: toInt(match[HOUR]) * sign, - m: toInt(match[MINUTE]) * sign, - s: toInt(match[SECOND]) * sign, - ms: toInt(match[MILLISECOND]) * sign - }; - } else if (!!(match = isoDurationRegex.exec(input))) { - sign = (match[1] === '-') ? -1 : 1; - parseIso = function (inp) { - // We'd normally use ~~inp for this, but unfortunately it also - // converts floats to ints. - // inp may be undefined, so careful calling replace on it. - var res = inp && parseFloat(inp.replace(',', '.')); - // apply sign while we're at it - return (isNaN(res) ? 0 : res) * sign; - }; - duration = { - y: parseIso(match[2]), - M: parseIso(match[3]), - d: parseIso(match[4]), - h: parseIso(match[5]), - m: parseIso(match[6]), - s: parseIso(match[7]), - w: parseIso(match[8]) - }; - } else if (duration == null) {// checks for null or undefined - duration = {}; - } else if (typeof duration === 'object' && - ('from' in duration || 'to' in duration)) { - diffRes = momentsDifference(moment(duration.from), moment(duration.to)); + /** + * @module gestures + */ + /** + * User want to scale or rotate with 2 fingers + * Preventing the default browser behavior is a good way to improve feel and working. This can be done with the + * `preventDefault` option. + * + * @class Transform + * @static + */ + /** + * @event transform + * @param {Object} ev + */ + /** + * @event transformstart + * @param {Object} ev + */ + /** + * @event transformend + * @param {Object} ev + */ + /** + * @event pinchin + * @param {Object} ev + */ + /** + * @event pinchout + * @param {Object} ev + */ + /** + * @event rotate + * @param {Object} ev + */ - duration = {}; - duration.ms = diffRes.milliseconds; - duration.M = diffRes.months; - } + /** + * @param {String} name + */ + (function(name) { + var triggered = false; - ret = new Duration(duration); + function transformGesture(ev, inst) { + switch(ev.eventType) { + case EVENT_START: + triggered = false; + break; - if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { - ret._locale = input._locale; - } + case EVENT_MOVE: + // at least multitouch + if(ev.touches.length < 2) { + return; + } - return ret; - }; + var scaleThreshold = Math.abs(1 - ev.scale); + var rotationThreshold = Math.abs(ev.rotation); - // version number - moment.version = VERSION; + // when the distance we moved is too small we skip this gesture + // or we can be already in dragging + if(scaleThreshold < inst.options.transformMinScale && + rotationThreshold < inst.options.transformMinRotation) { + return; + } - // default format - moment.defaultFormat = isoFormat; + // we are transforming! + Detection.current.name = name; - // constant that refers to the ISO standard - moment.ISO_8601 = function () {}; + // first time, trigger dragstart event + if(!triggered) { + inst.trigger(name + 'start', ev); + triggered = true; + } - // Plugins that add properties should also add the key here (null value), - // so we can properly clone ourselves. - moment.momentProperties = momentProperties; + inst.trigger(name, ev); // basic transform event - // This function will be called whenever a moment is mutated. - // It is intended to keep the offset in sync with the timezone. - moment.updateOffset = function () {}; + // trigger rotate event + if(rotationThreshold > inst.options.transformMinRotation) { + inst.trigger('rotate', ev); + } - // This function allows you to set a threshold for relative time strings - moment.relativeTimeThreshold = function (threshold, limit) { - if (relativeTimeThresholds[threshold] === undefined) { - return false; - } - if (limit === undefined) { - return relativeTimeThresholds[threshold]; - } - relativeTimeThresholds[threshold] = limit; - return true; - }; + // trigger pinch event + if(scaleThreshold > inst.options.transformMinScale) { + inst.trigger('pinch', ev); + inst.trigger('pinch' + (ev.scale < 1 ? 'in' : 'out'), ev); + } + break; - moment.lang = deprecate( - 'moment.lang is deprecated. Use moment.locale instead.', - function (key, value) { - return moment.locale(key, value); + case EVENT_RELEASE: + if(triggered && ev.changedLength < 2) { + inst.trigger(name + 'end', ev); + triggered = false; + } + break; } - ); + } - // This function will load locale and then set the global locale. If - // no arguments are passed in, it will simply return the current global - // locale key. - moment.locale = function (key, values) { - var data; - if (key) { - if (typeof(values) !== 'undefined') { - data = moment.defineLocale(key, values); - } - else { - data = moment.localeData(key); - } + Hammer.gestures.Transform = { + name: name, + index: 45, + defaults: { + /** + * minimal scale factor, no scale is 1, zoomin is to 0 and zoomout until higher then 1 + * @property transformMinScale + * @type {Number} + * @default 0.01 + */ + transformMinScale: 0.01, - if (data) { - moment.duration._locale = moment._locale = data; - } - } + /** + * rotation in degrees + * @property transformMinRotation + * @type {Number} + * @default 1 + */ + transformMinRotation: 1 + }, - return moment._locale._abbr; + handler: transformGesture }; + })('transform'); - moment.defineLocale = function (name, values) { - if (values !== null) { - values.abbr = name; - if (!locales[name]) { - locales[name] = new Locale(); - } - locales[name].set(values); + /** + * @module hammer + */ - // backwards compat for now: also set the locale - moment.locale(name); + // AMD export + 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__)); + // commonjs export + } else if(typeof module !== 'undefined' && module.exports) { + module.exports = Hammer; + // browser export + } else { + window.Hammer = Hammer; + } - return locales[name]; - } else { - // useful for testing - delete locales[name]; - return null; - } - }; + })(window); - moment.langData = deprecate( - 'moment.langData is deprecated. Use moment.localeData instead.', - function (key) { - return moment.localeData(key); - } - ); +/***/ }, +/* 58 */ +/***/ function(module, exports, __webpack_require__) { - // returns locale data - moment.localeData = function (key) { - var locale; + var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js + //! version : 2.9.0 + //! authors : Tim Wood, Iskren Chernev, Moment.js contributors + //! license : MIT + //! momentjs.com - if (key && key._locale && key._locale._abbr) { - key = key._locale._abbr; - } + (function (undefined) { + /************************************ + Constants + ************************************/ - if (!key) { - return moment._locale; - } + var moment, + VERSION = '2.9.0', + // the global-scope this is NOT the global object in Node.js + globalScope = (typeof global !== 'undefined' && (typeof window === 'undefined' || window === global.window)) ? global : this, + oldGlobalMoment, + round = Math.round, + hasOwnProperty = Object.prototype.hasOwnProperty, + i, - if (!isArray(key)) { - //short-circuit everything else - locale = loadLocale(key); - if (locale) { - return locale; - } - key = [key]; - } + YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, - return chooseLocale(key); - }; + // internal storage for locale config files + locales = {}, - // compare moment object - moment.isMoment = function (obj) { - return obj instanceof Moment || - (obj != null && hasOwnProp(obj, '_isAMomentObject')); - }; + // extra moment internal properties (plugins register props here) + momentProperties = [], - // for typechecking Duration objects - moment.isDuration = function (obj) { - return obj instanceof Duration; - }; + // check for nodeJS + hasModule = (typeof module !== 'undefined' && module && module.exports), - for (i = lists.length - 1; i >= 0; --i) { - makeList(lists[i]); - } + // ASP.NET json date format regex + aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, + aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, - moment.normalizeUnits = function (units) { - return normalizeUnits(units); - }; + // 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 + isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/, - moment.invalid = function (flags) { - var m = moment.utc(NaN); - if (flags != null) { - extend(m._pf, flags); - } - else { - m._pf.userInvalidated = true; - } + // format tokens + 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,4}|x|X|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, - return m; - }; + // parsing token regexes + parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 + parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 + parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999 + parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999 + parseTokenDigits = /\d+/, // nonzero number of digits + parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic. + parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + parseTokenT = /T/i, // T (ISO separator) + parseTokenOffsetMs = /[\+\-]?\d+/, // 1234567890123 + parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 - moment.parseZone = function () { - return moment.apply(null, arguments).parseZone(); - }; + //strict parsing regexes + parseTokenOneDigit = /\d/, // 0 - 9 + parseTokenTwoDigits = /\d\d/, // 00 - 99 + parseTokenThreeDigits = /\d{3}/, // 000 - 999 + parseTokenFourDigits = /\d{4}/, // 0000 - 9999 + parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999 + parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf - moment.parseTwoDigitYear = function (input) { - return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); - }; + // 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) + 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)?)?$/, - moment.isDate = isDate; + isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', - /************************************ - Moment Prototype - ************************************/ + 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}/] + ], + // iso time formats and regexes + 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/] + ], - extend(moment.fn = Moment.prototype, { + // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-', '15', '30'] + parseTimezoneChunker = /([\+\-]|\d\d)/gi, - clone : function () { - return moment(this); + // getter and setter names + proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), + unitMillisecondFactors = { + 'Milliseconds' : 1, + 'Seconds' : 1e3, + 'Minutes' : 6e4, + 'Hours' : 36e5, + 'Days' : 864e5, + 'Months' : 2592e6, + 'Years' : 31536e6 }, - valueOf : function () { - return +this._d - ((this._offset || 0) * 60000); + unitAliases = { + ms : 'millisecond', + s : 'second', + m : 'minute', + h : 'hour', + d : 'day', + D : 'date', + w : 'week', + W : 'isoWeek', + M : 'month', + Q : 'quarter', + y : 'year', + DDD : 'dayOfYear', + e : 'weekday', + E : 'isoWeekday', + gg: 'weekYear', + GG: 'isoWeekYear' }, - unix : function () { - return Math.floor(+this / 1000); + camelFunctions = { + dayofyear : 'dayOfYear', + isoweekday : 'isoWeekday', + isoweek : 'isoWeek', + weekyear : 'weekYear', + isoweekyear : 'isoWeekYear' }, - toString : function () { - return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); - }, + // format function strings + formatFunctions = {}, - toDate : function () { - return this._offset ? new Date(+this) : this._d; + // default relative time thresholds + relativeTimeThresholds = { + s: 45, // seconds to minute + m: 45, // minutes to hour + h: 22, // hours to day + d: 26, // days to month + M: 11 // months to year }, - toISOString : function () { - var m = moment(this).utc(); - if (0 < m.year() && m.year() <= 9999) { - if ('function' === typeof Date.prototype.toISOString) { - // native implementation is ~50x faster, use it when we can - return this.toDate().toISOString(); - } else { - return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + // tokens to ordinalize and pad + ordinalizeTokens = 'DDD w W M D d'.split(' '), + paddedTokens = 'M D H h m s w W'.split(' '), + + formatTokenFunctions = { + M : function () { + return this.month() + 1; + }, + MMM : function (format) { + return this.localeData().monthsShort(this, format); + }, + MMMM : function (format) { + return this.localeData().months(this, format); + }, + D : function () { + return this.date(); + }, + DDD : function () { + return this.dayOfYear(); + }, + d : function () { + return this.day(); + }, + dd : function (format) { + return this.localeData().weekdaysMin(this, format); + }, + ddd : function (format) { + return this.localeData().weekdaysShort(this, format); + }, + dddd : function (format) { + return this.localeData().weekdays(this, format); + }, + w : function () { + return this.week(); + }, + W : function () { + return this.isoWeek(); + }, + YY : function () { + return leftZeroFill(this.year() % 100, 2); + }, + YYYY : function () { + return leftZeroFill(this.year(), 4); + }, + YYYYY : function () { + return leftZeroFill(this.year(), 5); + }, + YYYYYY : function () { + var y = this.year(), sign = y >= 0 ? '+' : '-'; + return sign + leftZeroFill(Math.abs(y), 6); + }, + gg : function () { + return leftZeroFill(this.weekYear() % 100, 2); + }, + gggg : function () { + return leftZeroFill(this.weekYear(), 4); + }, + ggggg : function () { + return leftZeroFill(this.weekYear(), 5); + }, + GG : function () { + return leftZeroFill(this.isoWeekYear() % 100, 2); + }, + GGGG : function () { + return leftZeroFill(this.isoWeekYear(), 4); + }, + GGGGG : function () { + return leftZeroFill(this.isoWeekYear(), 5); + }, + e : function () { + return this.weekday(); + }, + E : function () { + return this.isoWeekday(); + }, + a : function () { + return this.localeData().meridiem(this.hours(), this.minutes(), true); + }, + A : function () { + return this.localeData().meridiem(this.hours(), this.minutes(), false); + }, + H : function () { + return this.hours(); + }, + h : function () { + return this.hours() % 12 || 12; + }, + m : function () { + return this.minutes(); + }, + s : function () { + return this.seconds(); + }, + S : function () { + return toInt(this.milliseconds() / 100); + }, + SS : function () { + return leftZeroFill(toInt(this.milliseconds() / 10), 2); + }, + SSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + SSSS : function () { + return leftZeroFill(this.milliseconds(), 3); + }, + Z : function () { + var a = this.utcOffset(), + b = '+'; + if (a < 0) { + a = -a; + b = '-'; } - } else { - return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2); + }, + ZZ : function () { + var a = this.utcOffset(), + b = '+'; + if (a < 0) { + a = -a; + b = '-'; + } + return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2); + }, + z : function () { + return this.zoneAbbr(); + }, + zz : function () { + return this.zoneName(); + }, + x : function () { + return this.valueOf(); + }, + X : function () { + return this.unix(); + }, + Q : function () { + return this.quarter(); } }, - toArray : function () { - var m = this; - return [ - m.year(), - m.month(), - m.date(), - m.hours(), - m.minutes(), - m.seconds(), - m.milliseconds() - ]; - }, - - isValid : function () { - return isValid(this); - }, + deprecations = {}, - isDSTShifted : function () { - if (this._a) { - return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; - } + lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'], - return false; - }, + updateInProgress = false; - parsingFlags : function () { - return extend({}, this._pf); - }, + // Pick the first defined of two or three arguments. dfl comes from + // default. + function dfl(a, b, c) { + switch (arguments.length) { + case 2: return a != null ? a : b; + case 3: return a != null ? a : b != null ? b : c; + default: throw new Error('Implement me'); + } + } - invalidAt: function () { - return this._pf.overflow; - }, + function hasOwnProp(a, b) { + return hasOwnProperty.call(a, b); + } - utc : function (keepLocalTime) { - return this.utcOffset(0, keepLocalTime); - }, + function defaultParsingFlags() { + // We need to deep clone this object, and es5 standard is not very + // helpful. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso: false + }; + } - local : function (keepLocalTime) { - if (this._isUTC) { - this.utcOffset(0, keepLocalTime); - this._isUTC = false; + function printMsg(msg) { + if (moment.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && console.warn) { + console.warn('Deprecation warning: ' + msg); + } + } - if (keepLocalTime) { - this.subtract(this._dateUtcOffset(), 'm'); - } + function deprecate(msg, fn) { + var firstTime = true; + return extend(function () { + if (firstTime) { + printMsg(msg); + firstTime = false; } - return this; - }, + return fn.apply(this, arguments); + }, fn); + } - format : function (inputString) { - var output = formatMoment(this, inputString || moment.defaultFormat); - return this.localeData().postformat(output); - }, + function deprecateSimple(name, msg) { + if (!deprecations[name]) { + printMsg(msg); + deprecations[name] = true; + } + } - add : createAdder(1, 'add'), + function padToken(func, count) { + return function (a) { + return leftZeroFill(func.call(this, a), count); + }; + } + function ordinalizeToken(func, period) { + return function (a) { + return this.localeData().ordinal(func.call(this, a), period); + }; + } - subtract : createAdder(-1, 'subtract'), + function monthDiff(a, b) { + // difference in months + var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, adjust; - diff : function (input, units, asFloat) { - var that = makeAs(input, this), - zoneDiff = (that.utcOffset() - this.utcOffset()) * 6e4, - anchor, diff, output, daysAdjust; + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } - units = normalizeUnits(units); + return -(wholeMonthDiff + adjust); + } - if (units === 'year' || units === 'month' || units === 'quarter') { - output = monthDiff(this, that); - if (units === 'quarter') { - output = output / 3; - } else if (units === 'year') { - output = output / 12; - } - } else { - diff = this - that; - output = units === 'second' ? diff / 1e3 : // 1000 - units === 'minute' ? diff / 6e4 : // 1000 * 60 - units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60 - units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst - units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst - diff; - } - return asFloat ? output : absRound(output); - }, + while (ordinalizeTokens.length) { + i = ordinalizeTokens.pop(); + formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i); + } + while (paddedTokens.length) { + i = paddedTokens.pop(); + formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2); + } + formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3); - from : function (time, withoutSuffix) { - return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); - }, - fromNow : function (withoutSuffix) { - return this.from(moment(), withoutSuffix); - }, + function meridiemFixWrap(locale, hour, meridiem) { + var isPm; - calendar : function (time) { - // We want to compare the start of today, vs this. - // Getting start-of-today depends on whether we're locat/utc/offset - // or not. - var now = time || moment(), - sod = makeAs(now, this).startOf('day'), - diff = this.diff(sod, 'days', true), - format = diff < -6 ? 'sameElse' : - diff < -1 ? 'lastWeek' : - diff < 0 ? 'lastDay' : - diff < 1 ? 'sameDay' : - diff < 2 ? 'nextDay' : - diff < 7 ? 'nextWeek' : 'sameElse'; - return this.format(this.localeData().calendar(format, this, moment(now))); - }, + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // thie is not supposed to happen + return hour; + } + } - isLeapYear : function () { - return isLeapYear(this.year()); - }, + /************************************ + Constructors + ************************************/ - isDST : function () { - return (this.utcOffset() > this.clone().month(0).utcOffset() || - this.utcOffset() > this.clone().month(5).utcOffset()); - }, + function Locale() { + } - day : function (input) { - var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); - if (input != null) { - input = parseWeekday(input, this.localeData()); - return this.add(input - day, 'd'); - } else { - return day; - } - }, + // Moment prototype object + function Moment(config, skipOverflow) { + if (skipOverflow !== false) { + checkOverflow(config); + } + copyConfig(this, config); + this._d = new Date(+config._d); + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + moment.updateOffset(this); + updateInProgress = false; + } + } - month : makeAccessor('Month', true), + // Duration Constructor + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; - startOf : function (units) { - units = normalizeUnits(units); - // the following switch intentionally omits break keywords - // to utilize falling through the cases. - switch (units) { - case 'year': - this.month(0); - /* falls through */ - case 'quarter': - case 'month': - this.date(1); - /* falls through */ - case 'week': - case 'isoWeek': - case 'day': - this.hours(0); - /* falls through */ - case 'hour': - this.minutes(0); - /* falls through */ - case 'minute': - this.seconds(0); - /* falls through */ - case 'second': - this.milliseconds(0); - /* falls through */ - } + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 36e5; // 1000 * 60 * 60 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; - // weeks are a special case - if (units === 'week') { - this.weekday(0); - } else if (units === 'isoWeek') { - this.isoWeekday(1); - } + this._data = {}; - // quarters are also special - if (units === 'quarter') { - this.month(Math.floor(this.month() / 3) * 3); - } + this._locale = moment.localeData(); - return this; - }, + this._bubble(); + } - endOf: function (units) { - units = normalizeUnits(units); - if (units === undefined || units === 'millisecond') { - return this; - } - return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); - }, + /************************************ + Helpers + ************************************/ - isAfter: function (input, units) { - var inputMs; - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this > +input; - } else { - inputMs = moment.isMoment(input) ? +input : +moment(input); - return inputMs < +this.clone().startOf(units); - } - }, - isBefore: function (input, units) { - var inputMs; - units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this < +input; - } else { - inputMs = moment.isMoment(input) ? +input : +moment(input); - return +this.clone().endOf(units) < inputMs; + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; } - }, - - isBetween: function (from, to, units) { - return this.isAfter(from, units) && this.isBefore(to, units); - }, + } - isSame: function (input, units) { - var inputMs; - units = normalizeUnits(units || 'millisecond'); - if (units === 'millisecond') { - input = moment.isMoment(input) ? input : moment(input); - return +this === +input; - } else { - inputMs = +moment(input); - return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units)); - } - }, + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } - min: deprecate( - 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548', - function (other) { - other = moment.apply(null, arguments); - return other < this ? this : other; - } - ), + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } - max: deprecate( - 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548', - function (other) { - other = moment.apply(null, arguments); - return other > this ? this : other; - } - ), + return a; + } - zone : deprecate( - 'moment().zone is deprecated, use moment().utcOffset instead. ' + - 'https://github.com/moment/moment/issues/1779', - function (input, keepLocalTime) { - if (input != null) { - if (typeof input !== 'string') { - input = -input; - } + function copyConfig(to, from) { + var i, prop, val; - this.utcOffset(input, keepLocalTime); + if (typeof from._isAMomentObject !== 'undefined') { + to._isAMomentObject = from._isAMomentObject; + } + if (typeof from._i !== 'undefined') { + to._i = from._i; + } + if (typeof from._f !== 'undefined') { + to._f = from._f; + } + if (typeof from._l !== 'undefined') { + to._l = from._l; + } + if (typeof from._strict !== 'undefined') { + to._strict = from._strict; + } + if (typeof from._tzm !== 'undefined') { + to._tzm = from._tzm; + } + if (typeof from._isUTC !== 'undefined') { + to._isUTC = from._isUTC; + } + if (typeof from._offset !== 'undefined') { + to._offset = from._offset; + } + if (typeof from._pf !== 'undefined') { + to._pf = from._pf; + } + if (typeof from._locale !== 'undefined') { + to._locale = from._locale; + } - return this; - } else { - return -this.utcOffset(); - } + if (momentProperties.length > 0) { + for (i in momentProperties) { + prop = momentProperties[i]; + val = from[prop]; + if (typeof val !== 'undefined') { + to[prop] = val; } - ), + } + } - // keepLocalTime = true means only change the timezone, without - // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> - // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset - // +0200, so we adjust the time as needed, to be valid. - // - // Keeping the time actually adds/subtracts (one hour) - // from the actual represented time. That is why we call updateOffset - // a second time. In case it wants us to change the offset again - // _changeInProgress == true case, then we have to adjust, because - // there is no such time in the given timezone. - utcOffset : function (input, keepLocalTime) { - var offset = this._offset || 0, - localAdjust; - if (input != null) { - if (typeof input === 'string') { - input = utcOffsetFromString(input); - } - if (Math.abs(input) < 16) { - input = input * 60; - } - if (!this._isUTC && keepLocalTime) { - localAdjust = this._dateUtcOffset(); - } - this._offset = input; - this._isUTC = true; - if (localAdjust != null) { - this.add(localAdjust, 'm'); - } - if (offset !== input) { - if (!keepLocalTime || this._changeInProgress) { - addOrSubtractDurationFromMoment(this, - moment.duration(input - offset, 'm'), 1, false); - } else if (!this._changeInProgress) { - this._changeInProgress = true; - moment.updateOffset(this, true); - this._changeInProgress = null; - } - } + return to; + } - return this; - } else { - return this._isUTC ? offset : this._dateUtcOffset(); - } - }, + function absRound(number) { + if (number < 0) { + return Math.ceil(number); + } else { + return Math.floor(number); + } + } - isLocal : function () { - return !this._isUTC; - }, + // left zero fill a number + // see http://jsperf.com/left-zero-filling for performance comparison + function leftZeroFill(number, targetLength, forceSign) { + var output = '' + Math.abs(number), + sign = number >= 0; - isUtcOffset : function () { - return this._isUTC; - }, + while (output.length < targetLength) { + output = '0' + output; + } + return (sign ? (forceSign ? '+' : '') : '-') + output; + } + + function positiveMomentsDifference(base, other) { + var res = {milliseconds: 0, months: 0}; + + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } - isUtc : function () { - return this._isUTC && this._offset === 0; - }, + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); - zoneAbbr : function () { - return this._isUTC ? 'UTC' : ''; - }, + return res; + } - zoneName : function () { - return this._isUTC ? 'Coordinated Universal Time' : ''; - }, + function momentsDifference(base, other) { + var res; + other = makeAs(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } - parseZone : function () { - if (this._tzm) { - this.utcOffset(this._tzm); - } else if (typeof this._i === 'string') { - this.utcOffset(utcOffsetFromString(this._i)); + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).'); + tmp = val; val = period; period = tmp; } + + val = typeof val === 'string' ? +val : val; + dur = moment.duration(val, period); + addOrSubtractDurationFromMoment(this, dur, direction); return this; - }, + }; + } - hasAlignedHourOffset : function (input) { - if (!input) { - input = 0; - } - else { - input = moment(input).utcOffset(); - } + function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = duration._days, + months = duration._months; + updateOffset = updateOffset == null ? true : updateOffset; - return (this.utcOffset() - input) % 60 === 0; - }, + if (milliseconds) { + mom._d.setTime(+mom._d + milliseconds * isAdding); + } + if (days) { + rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding); + } + if (months) { + rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding); + } + if (updateOffset) { + moment.updateOffset(mom, days || months); + } + } - daysInMonth : function () { - return daysInMonth(this.year(), this.month()); - }, + // check if is an array + function isArray(input) { + return Object.prototype.toString.call(input) === '[object Array]'; + } - dayOfYear : function (input) { - var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1; - return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); - }, + function isDate(input) { + return Object.prototype.toString.call(input) === '[object Date]' || + input instanceof Date; + } - quarter : function (input) { - return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); - }, + // 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), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } + } + return diffs + lengthDiff; + } - weekYear : function (input) { - var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year; - return input == null ? year : this.add((input - year), 'y'); - }, + function normalizeUnits(units) { + if (units) { + var lowered = units.toLowerCase().replace(/(.)s$/, '$1'); + units = unitAliases[units] || camelFunctions[lowered] || lowered; + } + return units; + } - isoWeekYear : function (input) { - var year = weekOfYear(this, 1, 4).year; - return input == null ? year : this.add((input - year), 'y'); - }, + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; - week : function (input) { - var week = this.localeData().week(this); - return input == null ? week : this.add((input - week) * 7, 'd'); - }, + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } - isoWeek : function (input) { - var week = weekOfYear(this, 1, 4).week; - return input == null ? week : this.add((input - week) * 7, 'd'); - }, + return normalizedInput; + } - weekday : function (input) { - var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; - return input == null ? weekday : this.add(input - weekday, 'd'); - }, + function makeList(field) { + var count, setter; - isoWeekday : function (input) { - // 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); - }, + if (field.indexOf('week') === 0) { + count = 7; + setter = 'day'; + } + else if (field.indexOf('month') === 0) { + count = 12; + setter = 'month'; + } + else { + return; + } - isoWeeksInYear : function () { - return weeksInYear(this.year(), 1, 4); - }, + moment[field] = function (format, index) { + var i, getter, + method = moment._locale[field], + results = []; - weeksInYear : function () { - var weekInfo = this.localeData()._week; - return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); - }, + if (typeof format === 'number') { + index = format; + format = undefined; + } - get : function (units) { - units = normalizeUnits(units); - return this[units](); - }, + getter = function (i) { + var m = moment().utc().set(setter, i); + return method.call(moment._locale, m, format || ''); + }; - set : function (units, value) { - var unit; - if (typeof units === 'object') { - for (unit in units) { - this.set(unit, units[unit]); - } + if (index != null) { + return getter(index); } else { - units = normalizeUnits(units); - if (typeof this[units] === 'function') { - this[units](value); + for (i = 0; i < count; i++) { + results.push(getter(i)); } + return results; } - return this; - }, + }; + } - // If passed a locale key, it will set the locale for this - // instance. Otherwise, it will return the locale configuration - // variables for this instance. - locale : function (key) { - var newLocaleData; + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; - if (key === undefined) { - return this._locale._abbr; + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + if (coercedNumber >= 0) { + value = Math.floor(coercedNumber); } else { - newLocaleData = moment.localeData(key); - if (newLocaleData != null) { - this._locale = newLocaleData; - } - return this; + value = Math.ceil(coercedNumber); } - }, + } - lang : deprecate( - 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', - function (key) { - if (key === undefined) { - return this.localeData(); - } else { - return this.locale(key); - } + return value; + } + + function daysInMonth(year, month) { + return new Date(Date.UTC(year, month + 1, 0)).getUTCDate(); + } + + function weeksInYear(year, dow, doy) { + return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week; + } + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + function checkOverflow(m) { + var overflow; + if (m._a && m._pf.overflow === -2) { + overflow = + m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH : + m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE : + m._a[HOUR] < 0 || m._a[HOUR] > 24 || + (m._a[HOUR] === 24 && (m._a[MINUTE] !== 0 || + m._a[SECOND] !== 0 || + m._a[MILLISECOND] !== 0)) ? HOUR : + m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE : + m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND : + m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND : + -1; + + if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; } - ), - localeData : function () { - return this._locale; - }, + m._pf.overflow = overflow; + } + } - _dateUtcOffset : function () { - // On Firefox.24 Date#getTimezoneOffset returns a floating point. - // https://github.com/moment/moment/pull/1871 - return -Math.round(this._d.getTimezoneOffset() / 15) * 15; + function isValid(m) { + if (m._isValid == null) { + m._isValid = !isNaN(m._d.getTime()) && + m._pf.overflow < 0 && + !m._pf.empty && + !m._pf.invalidMonth && + !m._pf.nullInput && + !m._pf.invalidFormat && + !m._pf.userInvalidated; + + if (m._strict) { + m._isValid = m._isValid && + m._pf.charsLeftOver === 0 && + m._pf.unusedTokens.length === 0 && + m._pf.bigHour === undefined; + } } + return m._isValid; + } - }); + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } - function rawMonthSetter(mom, value) { - var dayOfMonth; + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, j, next, locale, split; - // TODO: Move this out of here! - if (typeof value === 'string') { - value = mom.localeData().monthsParse(value); - // TODO: Another silent failure? - if (typeof value !== 'number') { - return mom; + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; } + i++; } - - dayOfMonth = Math.min(mom.date(), - daysInMonth(mom.year(), value)); - mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); - return mom; + return null; } - function rawGetter(mom, unit) { - return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); + function loadLocale(name) { + var oldLocale = null; + if (!locales[name] && hasModule) { + try { + oldLocale = moment.locale(); + !(function webpackMissingModule() { var e = new Error("Cannot find module \"./locale\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()); + // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales + moment.locale(oldLocale); + } catch (e) { } + } + return locales[name]; } - function rawSetter(mom, unit, value) { - if (unit === 'Month') { - return rawMonthSetter(mom, value); + // Return a moment from input, that is local/utc/utcOffset equivalent to + // model. + function makeAs(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = (moment.isMoment(input) || isDate(input) ? + +input : +moment(input)) - (+res); + // Use low-level api, because this fn is low-level api. + res._d.setTime(+res._d + diff); + moment.updateOffset(res, false); + return res; } else { - return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + return moment(input).local(); } } - function makeAccessor(unit, keepTime) { - return function (value) { - if (value != null) { - rawSetter(this, unit, value); - moment.updateOffset(this, keepTime); - return this; - } else { - return rawGetter(this, unit); - } - }; - } + /************************************ + Locale + ************************************/ - moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false); - moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false); - moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false); - // Setting the hour should keep the time, because the user explicitly - // specified which hour he wants. So trying to maintain the same hour (in - // a new timezone) makes sense. Adding/subtracting hours does not follow - // this rule. - moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true); - // moment.fn.month is defined separately - moment.fn.date = makeAccessor('Date', true); - moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true)); - moment.fn.year = makeAccessor('FullYear', true); - moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true)); - // add plural methods - moment.fn.days = moment.fn.day; - moment.fn.months = moment.fn.month; - moment.fn.weeks = moment.fn.week; - moment.fn.isoWeeks = moment.fn.isoWeek; - moment.fn.quarters = moment.fn.quarter; + extend(Locale.prototype, { - // add aliased format methods - moment.fn.toJSON = moment.fn.toISOString; + set : function (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (typeof prop === 'function') { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _ordinalParseLenient. + this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + /\d{1,2}/.source); + }, - // alias isUtc for dev-friendliness - moment.fn.isUTC = moment.fn.isUtc; + _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), + months : function (m) { + return this._months[m.month()]; + }, - /************************************ - Duration Prototype - ************************************/ + _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + monthsShort : function (m) { + return this._monthsShort[m.month()]; + }, + monthsParse : function (monthName, format, strict) { + var i, mom, regex; - function daysToYears (days) { - // 400 years have 146097 days (taking into account leap year rules) - return days * 400 / 146097; - } + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } - function yearsToDays (years) { - // years * 365 + absRound(years / 4) - - // absRound(years / 100) + absRound(years / 400); - return years * 146097 / 400; - } + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = moment.utc([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); + this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); + } + if (!strict && !this._monthsParse[i]) { + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { + return i; + } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + }, - extend(moment.duration.fn = Duration.prototype, { + _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + weekdays : function (m) { + return this._weekdays[m.day()]; + }, - _bubble : function () { - var milliseconds = this._milliseconds, - days = this._days, - months = this._months, - data = this._data, - seconds, minutes, hours, years = 0; + _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysShort : function (m) { + return this._weekdaysShort[m.day()]; + }, - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; + _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + weekdaysMin : function (m) { + return this._weekdaysMin[m.day()]; + }, - seconds = absRound(milliseconds / 1000); - data.seconds = seconds % 60; + weekdaysParse : function (weekdayName) { + var i, mom, regex; + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + if (!this._weekdaysParse[i]) { + mom = moment([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)) { + return i; + } + } + }, - minutes = absRound(seconds / 60); - data.minutes = minutes % 60; + _longDateFormat : { + LTS : 'h:mm:ss A', + LT : 'h:mm A', + L : 'MM/DD/YYYY', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY LT', + LLLL : 'dddd, MMMM D, YYYY LT' + }, + longDateFormat : function (key) { + var output = this._longDateFormat[key]; + if (!output && this._longDateFormat[key.toUpperCase()]) { + output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + this._longDateFormat[key] = output; + } + return output; + }, - hours = absRound(minutes / 60); - data.hours = hours % 24; + isPM : function (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); + }, - days += absRound(hours / 24); + _meridiemParse : /[ap]\.?m?\.?/i, + meridiem : function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + }, - // Accurately convert days to years, assume start from year 0. - years = absRound(daysToYears(days)); - days -= absRound(yearsToDays(years)); - // 30 days to a month - // TODO (iskren): Use anchor date (like 1st Jan) to compute this. - months += absRound(days / 30); - days %= 30; + _calendar : { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }, + calendar : function (key, mom, now) { + var output = this._calendar[key]; + return typeof output === 'function' ? output.apply(mom, [now]) : output; + }, - // 12 months -> 1 year - years += absRound(months / 12); - months %= 12; + _relativeTime : { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }, - data.days = days; - data.months = months; - data.years = years; + relativeTime : function (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (typeof output === 'function') ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); }, - abs : function () { - this._milliseconds = Math.abs(this._milliseconds); - this._days = Math.abs(this._days); - this._months = Math.abs(this._months); + pastFuture : function (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return typeof format === 'function' ? format(output) : format.replace(/%s/i, output); + }, - this._data.milliseconds = Math.abs(this._data.milliseconds); - this._data.seconds = Math.abs(this._data.seconds); - this._data.minutes = Math.abs(this._data.minutes); - this._data.hours = Math.abs(this._data.hours); - this._data.months = Math.abs(this._data.months); - this._data.years = Math.abs(this._data.years); + ordinal : function (number) { + return this._ordinal.replace('%d', number); + }, + _ordinal : '%d', + _ordinalParse : /\d{1,2}/, - return this; + preparse : function (string) { + return string; }, - weeks : function () { - return absRound(this.days() / 7); + postformat : function (string) { + return string; }, - valueOf : function () { - return this._milliseconds + - this._days * 864e5 + - (this._months % 12) * 2592e6 + - toInt(this._months / 12) * 31536e6; + week : function (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; }, - humanize : function (withSuffix) { - var output = relativeTime(this, !withSuffix, this.localeData()); + _week : { + 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. + }, - if (withSuffix) { - output = this.localeData().pastFuture(+this, output); - } + firstDayOfWeek : function () { + return this._week.dow; + }, - return this.localeData().postformat(output); + firstDayOfYear : function () { + return this._week.doy; }, - add : function (input, val) { - // supports only 2.0-style add(1, 's') or add(moment) - var dur = moment.duration(input, val); + _invalidDate: 'Invalid date', + invalidDate: function () { + return this._invalidDate; + } + }); - this._milliseconds += dur._milliseconds; - this._days += dur._days; - this._months += dur._months; + /************************************ + Formatting + ************************************/ - this._bubble(); - return this; - }, + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } - subtract : function (input, val) { - var dur = moment.duration(input, val); + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; - this._milliseconds -= dur._milliseconds; - this._days -= dur._days; - this._months -= dur._months; + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } - this._bubble(); + return function (mom) { + var output = ''; + for (i = 0; i < length; i++) { + output += array[i] instanceof Function ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } - return this; - }, + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } - get : function (units) { - units = normalizeUnits(units); - return this[units.toLowerCase() + 's'](); - }, + format = expandFormat(format, m.localeData()); - as : function (units) { - var days, months; - units = normalizeUnits(units); + if (!formatFunctions[format]) { + formatFunctions[format] = makeFormatFunction(format); + } - if (units === 'month' || units === 'year') { - days = this._days + this._milliseconds / 864e5; - months = this._months + daysToYears(days) * 12; - return units === 'month' ? months : months / 12; - } else { - // handle milliseconds separately because of floating point math errors (issue #1867) - days = this._days + Math.round(yearsToDays(this._months / 12)); - switch (units) { - case 'week': return days / 7 + this._milliseconds / 6048e5; - case 'day': return days + this._milliseconds / 864e5; - case 'hour': return days * 24 + this._milliseconds / 36e5; - case 'minute': return days * 24 * 60 + this._milliseconds / 6e4; - case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000; - // Math.floor prevents floating point math errors here - case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds; - default: throw new Error('Unknown unit ' + units); - } - } - }, + return formatFunctions[format](m); + } - lang : moment.fn.lang, - locale : moment.fn.locale, + function expandFormat(format, locale) { + var i = 5; - toIsoString : deprecate( - 'toIsoString() is deprecated. Please use toISOString() instead ' + - '(notice the capitals)', - function () { - return this.toISOString(); - } - ), + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } - toISOString : function () { - // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js - var years = Math.abs(this.years()), - months = Math.abs(this.months()), - days = Math.abs(this.days()), - hours = Math.abs(this.hours()), - minutes = Math.abs(this.minutes()), - seconds = Math.abs(this.seconds() + this.milliseconds() / 1000); + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } - if (!this.asSeconds()) { - // this is the same as C#'s (Noda) and python (isodate)... - // but not other JS (goog.date) - return 'P0D'; - } + return format; + } - return (this.asSeconds() < 0 ? '-' : '') + - 'P' + - (years ? years + 'Y' : '') + - (months ? months + 'M' : '') + - (days ? days + 'D' : '') + - ((hours || minutes || seconds) ? 'T' : '') + - (hours ? hours + 'H' : '') + - (minutes ? minutes + 'M' : '') + - (seconds ? seconds + 'S' : ''); - }, - localeData : function () { - return this._locale; - }, + /************************************ + Parsing + ************************************/ - toJSON : function () { - return this.toISOString(); + + // get the regex to find the next token + function getParseRegexForToken(token, config) { + var a, strict = config._strict; + switch (token) { + case 'Q': + return parseTokenOneDigit; + case 'DDDD': + return parseTokenThreeDigits; + case 'YYYY': + case 'GGGG': + case 'gggg': + return strict ? parseTokenFourDigits : parseTokenOneToFourDigits; + case 'Y': + case 'G': + case 'g': + return parseTokenSignedNumber; + case 'YYYYYY': + case 'YYYYY': + case 'GGGGG': + case 'ggggg': + return strict ? parseTokenSixDigits : parseTokenOneToSixDigits; + case 'S': + if (strict) { + return parseTokenOneDigit; + } + /* falls through */ + case 'SS': + if (strict) { + return parseTokenTwoDigits; + } + /* falls through */ + case 'SSS': + if (strict) { + return parseTokenThreeDigits; + } + /* falls through */ + case 'DDD': + return parseTokenOneToThreeDigits; + case 'MMM': + case 'MMMM': + case 'dd': + case 'ddd': + case 'dddd': + return parseTokenWord; + case 'a': + case 'A': + return config._locale._meridiemParse; + case 'x': + return parseTokenOffsetMs; + case 'X': + return parseTokenTimestampMs; + case 'Z': + case 'ZZ': + return parseTokenTimezone; + case 'T': + return parseTokenT; + case 'SSSS': + return parseTokenDigits; + case 'MM': + case 'DD': + case 'YY': + case 'GG': + case 'gg': + case 'HH': + case 'hh': + case 'mm': + case 'ss': + case 'ww': + case 'WW': + return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits; + case 'M': + case 'D': + case 'd': + case 'H': + case 'h': + case 'm': + case 's': + case 'w': + case 'W': + case 'e': + case 'E': + return parseTokenOneOrTwoDigits; + case 'Do': + return strict ? config._locale._ordinalParse : config._locale._ordinalParseLenient; + default : + a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i')); + return a; } - }); + } - moment.duration.fn.toString = moment.duration.fn.toISOString; + function utcOffsetFromString(string) { + string = string || ''; + var possibleTzMatches = (string.match(parseTokenTimezone) || []), + tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [], + parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0], + minutes = +(parts[1] * 60) + toInt(parts[2]); - function makeDurationGetter(name) { - moment.duration.fn[name] = function () { - return this._data[name]; - }; + return parts[0] === '+' ? minutes : -minutes; } - for (i in unitMillisecondFactors) { - if (hasOwnProp(unitMillisecondFactors, i)) { - makeDurationGetter(i.toLowerCase()); + // function to convert string input to date + function addTimeToArrayFromToken(token, input, config) { + var a, datePartArray = config._a; + + switch (token) { + // QUARTER + case 'Q': + if (input != null) { + datePartArray[MONTH] = (toInt(input) - 1) * 3; + } + break; + // MONTH + case 'M' : // fall through to MM + case 'MM' : + if (input != null) { + datePartArray[MONTH] = toInt(input) - 1; + } + break; + case 'MMM' : // fall through to MMMM + case 'MMMM' : + a = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (a != null) { + datePartArray[MONTH] = a; + } else { + config._pf.invalidMonth = input; + } + break; + // DAY OF MONTH + case 'D' : // fall through to DD + case 'DD' : + if (input != null) { + datePartArray[DATE] = toInt(input); + } + break; + case 'Do' : + if (input != null) { + datePartArray[DATE] = toInt(parseInt( + input.match(/\d{1,2}/)[0], 10)); + } + break; + // DAY OF YEAR + case 'DDD' : // fall through to DDDD + case 'DDDD' : + if (input != null) { + config._dayOfYear = toInt(input); + } + + break; + // YEAR + case 'YY' : + datePartArray[YEAR] = moment.parseTwoDigitYear(input); + break; + case 'YYYY' : + case 'YYYYY' : + case 'YYYYYY' : + datePartArray[YEAR] = toInt(input); + break; + // AM / PM + case 'a' : // fall through to A + case 'A' : + config._meridiem = input; + // config._isPm = config._locale.isPM(input); + break; + // HOUR + case 'h' : // fall through to hh + case 'hh' : + config._pf.bigHour = true; + /* falls through */ + case 'H' : // fall through to HH + case 'HH' : + datePartArray[HOUR] = toInt(input); + break; + // MINUTE + case 'm' : // fall through to mm + case 'mm' : + datePartArray[MINUTE] = toInt(input); + break; + // SECOND + case 's' : // fall through to ss + case 'ss' : + datePartArray[SECOND] = toInt(input); + break; + // MILLISECOND + case 'S' : + case 'SS' : + case 'SSS' : + case 'SSSS' : + datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000); + break; + // UNIX OFFSET (MILLISECONDS) + case 'x': + config._d = new Date(toInt(input)); + break; + // UNIX TIMESTAMP WITH MS + case 'X': + config._d = new Date(parseFloat(input) * 1000); + break; + // TIMEZONE + case 'Z' : // fall through to ZZ + case 'ZZ' : + config._useUTC = true; + config._tzm = utcOffsetFromString(input); + break; + // WEEKDAY - human + case 'dd': + case 'ddd': + case 'dddd': + a = config._locale.weekdaysParse(input); + // if we didn't get a weekday name, mark the date as invalid + if (a != null) { + config._w = config._w || {}; + config._w['d'] = a; + } else { + config._pf.invalidWeekday = input; + } + break; + // WEEK, WEEK DAY - numeric + case 'w': + case 'ww': + case 'W': + case 'WW': + case 'd': + case 'e': + case 'E': + token = token.substr(0, 1); + /* falls through */ + case 'gggg': + case 'GGGG': + case 'GGGGG': + token = token.substr(0, 2); + if (input) { + config._w = config._w || {}; + config._w[token] = toInt(input); + } + break; + case 'gg': + case 'GG': + config._w = config._w || {}; + config._w[token] = moment.parseTwoDigitYear(input); } } - moment.duration.fn.asMilliseconds = function () { - return this.as('ms'); - }; - moment.duration.fn.asSeconds = function () { - return this.as('s'); - }; - moment.duration.fn.asMinutes = function () { - return this.as('m'); - }; - moment.duration.fn.asHours = function () { - return this.as('h'); - }; - moment.duration.fn.asDays = function () { - return this.as('d'); - }; - moment.duration.fn.asWeeks = function () { - return this.as('weeks'); - }; - moment.duration.fn.asMonths = function () { - return this.as('M'); - }; - moment.duration.fn.asYears = function () { - return this.as('y'); - }; + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp; - /************************************ - Default Locale - ************************************/ + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year); + week = dfl(w.W, 1); + weekday = dfl(w.E, 1); + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; - // Set default locale, other locale will inherit from English. - moment.locale('en', { - ordinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal : function (number) { - var b = number % 10, - output = (toInt(number % 100 / 10) === 1) ? 'th' : - (b === 1) ? 'st' : - (b === 2) ? 'nd' : - (b === 3) ? 'rd' : 'th'; - return number + output; + weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year); + week = dfl(w.w, 1); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < dow) { + ++week; + } + } else if (w.e != null) { + // local weekday -- counting starts from begining of week + weekday = w.e + dow; + } else { + // default to begining of week + weekday = dow; + } } - }); + temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow); - /* EMBED_LOCALES */ + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } - /************************************ - Exposing Moment - ************************************/ + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function dateFromConfig(config) { + var i, date, input = [], currentDate, yearToUse; - function makeGlobal(shouldDeprecate) { - /*global ender:false */ - if (typeof ender !== 'undefined') { + if (config._d) { return; } - oldGlobalMoment = globalScope.moment; - if (shouldDeprecate) { - globalScope.moment = deprecate( - 'Accessing Moment through the global scope is ' + - 'deprecated, and will be removed in an upcoming ' + - 'release.', - moment); - } else { - globalScope.moment = moment; - } - } - // CommonJS module is defined - if (hasModule) { - module.exports = moment; - } else if (true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, module) { - if (module.config && module.config() && module.config().noGlobal === true) { - // release the global variable - globalScope.moment = oldGlobalMoment; - } + currentDate = currentDateArray(config); - return moment; - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - makeGlobal(true); - } else { - makeGlobal(); - } - }).call(this); - - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(71)(module))) + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { + //if the day of the year is set, figure out what it is + if (config._dayOfYear) { + yearToUse = dfl(config._a[YEAR], currentDate[YEAR]); - var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20 - * http://eightmedia.github.io/hammer.js - * - * Copyright (c) 2014 Jorik Tangelder ; - * Licensed under the MIT license */ + if (config._dayOfYear > daysInYear(yearToUse)) { + config._pf._overflowDayOfYear = true; + } - (function(window, undefined) { - 'use strict'; + date = makeUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } - /** - * @main - * @module hammer - * - * @class Hammer - * @static - */ + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } - /** - * Hammer, use this to create instances - * ```` - * var hammertime = new Hammer(myElement); - * ```` - * - * @method Hammer - * @param {HTMLElement} element - * @param {Object} [options={}] - * @return {Hammer.Instance} - */ - var Hammer = function Hammer(element, options) { - return new Hammer.Instance(element, options || {}); - }; + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } - /** - * version, as defined in package.json - * the value will be set at each build - * @property VERSION - * @final - * @type {String} - */ - Hammer.VERSION = '1.1.3'; + // Check for 24:00:00.000 + if (config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0) { + config._nextDay = true; + config._a[HOUR] = 0; + } - /** - * default settings. - * more settings are defined per gesture at `/gestures`. Each gesture can be disabled/enabled - * by setting it's name (like `swipe`) to false. - * You can set the defaults for all instances by changing this object before creating an instance. - * @example - * ```` - * Hammer.defaults.drag = false; - * Hammer.defaults.behavior.touchAction = 'pan-y'; - * delete Hammer.defaults.behavior.userSelect; - * ```` - * @property defaults - * @type {Object} - */ - Hammer.defaults = { - /** - * this setting object adds styles and attributes to the element to prevent the browser from doing - * its native behavior. The css properties are auto prefixed for the browsers when needed. - * @property defaults.behavior - * @type {Object} - */ - behavior: { - /** - * Disables text selection to improve the dragging gesture. When the value is `none` it also sets - * `onselectstart=false` for IE on the element. Mainly for desktop browsers. - * @property defaults.behavior.userSelect - * @type {String} - * @default 'none' - */ - userSelect: 'none', + config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input); + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } - /** - * Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming). - * Used by Chrome 35> and IE10>. By default this makes the element blocking any touch event. - * @property defaults.behavior.touchAction - * @type {String} - * @default: 'pan-y' - */ - touchAction: 'pan-y', + if (config._nextDay) { + config._a[HOUR] = 24; + } + } - /** - * Disables the default callout shown when you touch and hold a touch target. - * On iOS, when you touch and hold a touch target such as a link, Safari displays - * a callout containing information about the link. This property allows you to disable that callout. - * @property defaults.behavior.touchCallout - * @type {String} - * @default 'none' - */ - touchCallout: 'none', + function dateFromObject(config) { + var normalizedInput; - /** - * Specifies whether zooming is enabled. Used by IE10> - * @property defaults.behavior.contentZooming - * @type {String} - * @default 'none' - */ - contentZooming: 'none', + if (config._d) { + return; + } - /** - * Specifies that an entire element should be draggable instead of its contents. - * Mainly for desktop browsers. - * @property defaults.behavior.userDrag - * @type {String} - * @default 'none' - */ - userDrag: 'none', + normalizedInput = normalizeObjectUnits(config._i); + config._a = [ + normalizedInput.year, + normalizedInput.month, + normalizedInput.day || normalizedInput.date, + normalizedInput.hour, + normalizedInput.minute, + normalizedInput.second, + normalizedInput.millisecond + ]; - /** - * Overrides the highlight color shown when the user taps a link or a JavaScript - * clickable element in Safari on iPhone. This property obeys the alpha value, if specified. - * - * If you don't specify an alpha value, Safari on iPhone applies a default alpha value - * to the color. To disable tap highlighting, set the alpha value to 0 (invisible). - * If you set the alpha value to 1.0 (opaque), the element is not visible when tapped. - * @property defaults.behavior.tapHighlightColor - * @type {String} - * @default 'rgba(0,0,0,0)' - */ - tapHighlightColor: 'rgba(0,0,0,0)' + dateFromConfig(config); } - }; - - /** - * hammer document where the base events are added at - * @property DOCUMENT - * @type {HTMLElement} - * @default window.document - */ - Hammer.DOCUMENT = document; - /** - * detect support for pointer events - * @property HAS_POINTEREVENTS - * @type {Boolean} - */ - Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; + function currentDateArray(config) { + var now = new Date(); + if (config._useUTC) { + return [ + now.getUTCFullYear(), + now.getUTCMonth(), + now.getUTCDate() + ]; + } else { + return [now.getFullYear(), now.getMonth(), now.getDate()]; + } + } - /** - * detect support for touch events - * @property HAS_TOUCHEVENTS - * @type {Boolean} - */ - Hammer.HAS_TOUCHEVENTS = ('ontouchstart' in window); + // date from string and format string + function makeDateFromStringAndFormat(config) { + if (config._f === moment.ISO_8601) { + parseISO(config); + return; + } - /** - * detect mobile browsers - * @property IS_MOBILE - * @type {Boolean} - */ - Hammer.IS_MOBILE = /mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent); + config._a = []; + config._pf.empty = true; - /** - * detect if we want to support mouseevents at all - * @property NO_MOUSEEVENTS - * @type {Boolean} - */ - Hammer.NO_MOUSEEVENTS = (Hammer.HAS_TOUCHEVENTS && Hammer.IS_MOBILE) || Hammer.HAS_POINTEREVENTS; + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; - /** - * interval in which Hammer recalculates current velocity/direction/angle in ms - * @property CALCULATE_INTERVAL - * @type {Number} - * @default 25 - */ - Hammer.CALCULATE_INTERVAL = 25; + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; - /** - * eventtypes per touchevent (start, move, end) are filled by `Event.determineEventTypes` on `setup` - * the object contains the DOM event names per type (`EVENT_START`, `EVENT_MOVE`, `EVENT_END`) - * @property EVENT_TYPES - * @private - * @writeOnce - * @type {Object} - */ - var EVENT_TYPES = {}; + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + config._pf.unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + config._pf.empty = false; + } + else { + config._pf.unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } + else if (config._strict && !parsedInput) { + config._pf.unusedTokens.push(token); + } + } - /** - * direction strings, for safe comparisons - * @property DIRECTION_DOWN|LEFT|UP|RIGHT - * @final - * @type {String} - * @default 'down' 'left' 'up' 'right' - */ - var DIRECTION_DOWN = Hammer.DIRECTION_DOWN = 'down'; - var DIRECTION_LEFT = Hammer.DIRECTION_LEFT = 'left'; - var DIRECTION_UP = Hammer.DIRECTION_UP = 'up'; - var DIRECTION_RIGHT = Hammer.DIRECTION_RIGHT = 'right'; + // add remaining unparsed input length to the string + config._pf.charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + config._pf.unusedInput.push(string); + } - /** - * pointertype strings, for safe comparisons - * @property POINTER_MOUSE|TOUCH|PEN - * @final - * @type {String} - * @default 'mouse' 'touch' 'pen' - */ - var POINTER_MOUSE = Hammer.POINTER_MOUSE = 'mouse'; - var POINTER_TOUCH = Hammer.POINTER_TOUCH = 'touch'; - var POINTER_PEN = Hammer.POINTER_PEN = 'pen'; + // clear _12h flag if hour is <= 12 + if (config._pf.bigHour === true && config._a[HOUR] <= 12) { + config._pf.bigHour = undefined; + } + // handle meridiem + config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], + config._meridiem); + dateFromConfig(config); + checkOverflow(config); + } - /** - * eventtypes - * @property EVENT_START|MOVE|END|RELEASE|TOUCH - * @final - * @type {String} - * @default 'start' 'change' 'move' 'end' 'release' 'touch' - */ - var EVENT_START = Hammer.EVENT_START = 'start'; - var EVENT_MOVE = Hammer.EVENT_MOVE = 'move'; - var EVENT_END = Hammer.EVENT_END = 'end'; - var EVENT_RELEASE = Hammer.EVENT_RELEASE = 'release'; - var EVENT_TOUCH = Hammer.EVENT_TOUCH = 'touch'; + function unescapeFormat(s) { + return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + }); + } - /** - * if the window events are set... - * @property READY - * @writeOnce - * @type {Boolean} - * @default false - */ - Hammer.READY = false; + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function regexpEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } - /** - * plugins namespace - * @property plugins - * @type {Object} - */ - Hammer.plugins = Hammer.plugins || {}; + // date from string and array of format strings + function makeDateFromStringAndArray(config) { + var tempConfig, + bestMoment, - /** - * gestures namespace - * see `/gestures` for the definitions - * @property gestures - * @type {Object} - */ - Hammer.gestures = Hammer.gestures || {}; + scoreToBeat, + i, + currentScore; - /** - * setup events to detect gestures on the document - * this function is called when creating an new instance - * @private - */ - function setup() { - if(Hammer.READY) { - return; - } + if (config._f.length === 0) { + config._pf.invalidFormat = true; + config._d = new Date(NaN); + return; + } - // find what eventtypes we add listeners to - Event.determineEventTypes(); + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._pf = defaultParsingFlags(); + tempConfig._f = config._f[i]; + makeDateFromStringAndFormat(tempConfig); - // Register all gestures inside Hammer.gestures - Utils.each(Hammer.gestures, function(gesture) { - Detection.register(gesture); - }); + if (!isValid(tempConfig)) { + continue; + } - // Add touch events on the document - Event.onTouch(Hammer.DOCUMENT, EVENT_MOVE, Detection.detect); - Event.onTouch(Hammer.DOCUMENT, EVENT_END, Detection.detect); + // if there is any input that was not parsed add a penalty for that format + currentScore += tempConfig._pf.charsLeftOver; - // Hammer is ready...! - Hammer.READY = true; - } + //or tokens + currentScore += tempConfig._pf.unusedTokens.length * 10; - /** - * @module hammer - * - * @class Utils - * @static - */ - var Utils = Hammer.utils = { - /** - * extend method, could also be used for cloning when `dest` is an empty object. - * changes the dest object - * @method extend - * @param {Object} dest - * @param {Object} src - * @param {Boolean} [merge=false] do a merge - * @return {Object} dest - */ - extend: function extend(dest, src, merge) { - for(var key in src) { - if(!src.hasOwnProperty(key) || (dest[key] !== undefined && merge)) { - continue; + tempConfig._pf.score = currentScore; + + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; } - dest[key] = src[key]; } - return dest; - }, - - /** - * simple addEventListener wrapper - * @method on - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - */ - on: function on(element, type, handler) { - element.addEventListener(type, handler, false); - }, - /** - * simple removeEventListener wrapper - * @method off - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - */ - off: function off(element, type, handler) { - element.removeEventListener(type, handler, false); - }, + extend(config, bestMoment || tempConfig); + } - /** - * forEach over arrays and objects - * @method each - * @param {Object|Array} obj - * @param {Function} iterator - * @param {any} iterator.item - * @param {Number} iterator.index - * @param {Object|Array} iterator.obj the source object - * @param {Object} context value to use as `this` in the iterator - */ - each: function each(obj, iterator, context) { - var i, len; + // date from iso format + function parseISO(config) { + var i, l, + string = config._i, + match = isoRegex.exec(string); - // native forEach on arrays - if('forEach' in obj) { - obj.forEach(iterator, context); - // arrays - } else if(obj.length !== undefined) { - for(i = 0, len = obj.length; i < len; i++) { - if(iterator.call(context, obj[i], i, obj) === false) { - return; + if (match) { + config._pf.iso = true; + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(string)) { + // match[5] should be 'T' or undefined + config._f = isoDates[i][0] + (match[6] || ' '); + break; } } - // objects - } else { - for(i in obj) { - if(obj.hasOwnProperty(i) && - iterator.call(context, obj[i], i, obj) === false) { - return; + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(string)) { + config._f += isoTimes[i][0]; + break; } } + if (string.match(parseTokenTimezone)) { + config._f += 'Z'; + } + makeDateFromStringAndFormat(config); + } else { + config._isValid = false; } - }, + } - /** - * find if a string contains the string using indexOf - * @method inStr - * @param {String} src - * @param {String} find - * @return {Boolean} found - */ - inStr: function inStr(src, find) { - return src.indexOf(find) > -1; - }, + // date from iso format or fallback + function makeDateFromString(config) { + parseISO(config); + if (config._isValid === false) { + delete config._isValid; + moment.createFromInputFallback(config); + } + } - /** - * find if a array contains the object using indexOf or a simple polyfill - * @method inArray - * @param {String} src - * @param {String} find - * @return {Boolean|Number} false when not found, or the index - */ - inArray: function inArray(src, find) { - if(src.indexOf) { - var index = src.indexOf(find); - return (index === -1) ? false : index; + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function makeDateFromInput(config) { + var input = config._i, matched; + if (input === undefined) { + config._d = new Date(); + } else if (isDate(input)) { + config._d = new Date(+input); + } else if ((matched = aspNetJsonRegex.exec(input)) !== null) { + config._d = new Date(+matched[1]); + } else if (typeof input === 'string') { + makeDateFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + dateFromConfig(config); + } else if (typeof(input) === 'object') { + dateFromObject(config); + } else if (typeof(input) === 'number') { + // from milliseconds + config._d = new Date(input); } else { - for(var i = 0, len = src.length; i < len; i++) { - if(src[i] === find) { - return i; - } - } - return false; + moment.createFromInputFallback(config); } - }, + } - /** - * convert an array-like object (`arguments`, `touchlist`) to an array - * @method toArray - * @param {Object} obj - * @return {Array} - */ - toArray: function toArray(obj) { - return Array.prototype.slice.call(obj, 0); - }, + function makeDate(y, m, d, h, M, s, ms) { + //can't just apply() to create a date: + //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); - /** - * find if a node is in the given parent - * @method hasParent - * @param {HTMLElement} node - * @param {HTMLElement} parent - * @return {Boolean} found - */ - hasParent: function hasParent(node, parent) { - while(node) { - if(node == parent) { - return true; + //the date constructor doesn't accept years < 1970 + if (y < 1970) { + date.setFullYear(y); + } + return date; + } + + function makeUTCDate(y) { + var date = new Date(Date.UTC.apply(null, arguments)); + if (y < 1970) { + date.setUTCFullYear(y); + } + return date; + } + + function parseWeekday(input, locale) { + if (typeof input === 'string') { + if (!isNaN(input)) { + input = parseInt(input, 10); + } + else { + input = locale.weekdaysParse(input); + if (typeof input !== 'number') { + return null; + } } - node = node.parentNode; } - return false; - }, + return input; + } - /** - * get the center of all the touches - * @method getCenter - * @param {Array} touches - * @return {Object} center contains `pageX`, `pageY`, `clientX` and `clientY` properties - */ - getCenter: function getCenter(touches) { - var pageX = [], - pageY = [], - clientX = [], - clientY = [], - min = Math.min, - max = Math.max; + /************************************ + Relative Time + ************************************/ - // no need to loop when only one touch - if(touches.length === 1) { - return { - pageX: touches[0].pageX, - pageY: touches[0].pageY, - clientX: touches[0].clientX, - clientY: touches[0].clientY - }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime(posNegDuration, withoutSuffix, locale) { + var duration = moment.duration(posNegDuration).abs(), + seconds = round(duration.as('s')), + minutes = round(duration.as('m')), + hours = round(duration.as('h')), + days = round(duration.as('d')), + months = round(duration.as('M')), + years = round(duration.as('y')), + + args = seconds < relativeTimeThresholds.s && ['s', seconds] || + minutes === 1 && ['m'] || + minutes < relativeTimeThresholds.m && ['mm', minutes] || + hours === 1 && ['h'] || + hours < relativeTimeThresholds.h && ['hh', hours] || + days === 1 && ['d'] || + days < relativeTimeThresholds.d && ['dd', days] || + months === 1 && ['M'] || + months < relativeTimeThresholds.M && ['MM', months] || + years === 1 && ['y'] || ['yy', years]; + + args[2] = withoutSuffix; + args[3] = +posNegDuration > 0; + args[4] = locale; + return substituteTimeAgo.apply({}, args); + } + + + /************************************ + Week of Year + ************************************/ + + + // 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; } - Utils.each(touches, function(touch) { - pageX.push(touch.pageX); - pageY.push(touch.pageY); - clientX.push(touch.clientX); - clientY.push(touch.clientY); - }); + if (daysToDayOfWeek < end - 7) { + daysToDayOfWeek += 7; + } + adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd'); return { - pageX: (min.apply(Math, pageX) + max.apply(Math, pageX)) / 2, - pageY: (min.apply(Math, pageY) + max.apply(Math, pageY)) / 2, - clientX: (min.apply(Math, clientX) + max.apply(Math, clientX)) / 2, - clientY: (min.apply(Math, clientY) + max.apply(Math, clientY)) / 2 + week: Math.ceil(adjustedMoment.dayOfYear() / 7), + year: adjustedMoment.year() }; - }, + } + + //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 d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear; + + d = d === 0 ? 7 : d; + weekday = weekday != null ? weekday : firstDayOfWeek; + daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0); + dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1; - /** - * calculate the velocity between two points. unit is in px per ms. - * @method getVelocity - * @param {Number} deltaTime - * @param {Number} deltaX - * @param {Number} deltaY - * @return {Object} velocity `x` and `y` - */ - getVelocity: function getVelocity(deltaTime, deltaX, deltaY) { return { - x: Math.abs(deltaX / deltaTime) || 0, - y: Math.abs(deltaY / deltaTime) || 0 + year: dayOfYear > 0 ? year : year - 1, + dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear }; - }, + } - /** - * calculate the angle between two coordinates - * @method getAngle - * @param {Touch} touch1 - * @param {Touch} touch2 - * @return {Number} angle - */ - getAngle: function getAngle(touch1, touch2) { - var x = touch2.clientX - touch1.clientX, - y = touch2.clientY - touch1.clientY; + /************************************ + Top Level Functions + ************************************/ - return Math.atan2(y, x) * 180 / Math.PI; - }, + function makeMoment(config) { + var input = config._i, + format = config._f, + res; - /** - * do a small comparision to get the direction between two touches. - * @method getDirection - * @param {Touch} touch1 - * @param {Touch} touch2 - * @return {String} direction matches `DIRECTION_LEFT|RIGHT|UP|DOWN` - */ - getDirection: function getDirection(touch1, touch2) { - var x = Math.abs(touch1.clientX - touch2.clientX), - y = Math.abs(touch1.clientY - touch2.clientY); + config._locale = config._locale || moment.localeData(config._l); - if(x >= y) { - return touch1.clientX - touch2.clientX > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; + if (input === null || (format === undefined && input === '')) { + return moment.invalid({nullInput: true}); } - return touch1.clientY - touch2.clientY > 0 ? DIRECTION_UP : DIRECTION_DOWN; - }, - /** - * calculate the distance between two touches - * @method getDistance - * @param {Touch}touch1 - * @param {Touch} touch2 - * @return {Number} distance - */ - getDistance: function getDistance(touch1, touch2) { - var x = touch2.clientX - touch1.clientX, - y = touch2.clientY - touch1.clientY; + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } - return Math.sqrt((x * x) + (y * y)); - }, + if (moment.isMoment(input)) { + return new Moment(input, true); + } else if (format) { + if (isArray(format)) { + makeDateFromStringAndArray(config); + } else { + makeDateFromStringAndFormat(config); + } + } else { + makeDateFromInput(config); + } - /** - * calculate the scale factor between two touchLists - * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out - * @method getScale - * @param {Array} start array of touches - * @param {Array} end array of touches - * @return {Number} scale - */ - getScale: function getScale(start, end) { - // need two fingers... - if(start.length >= 2 && end.length >= 2) { - return this.getDistance(end[0], end[1]) / this.getDistance(start[0], start[1]); + res = new Moment(config); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; } - return 1; - }, - /** - * calculate the rotation degrees between two touchLists - * @method getRotation - * @param {Array} start array of touches - * @param {Array} end array of touches - * @return {Number} rotation - */ - getRotation: function getRotation(start, end) { - // need two fingers - if(start.length >= 2 && end.length >= 2) { - return this.getAngle(end[1], end[0]) - this.getAngle(start[1], start[0]); + return res; + } + + moment = function (input, format, locale, strict) { + var c; + + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; } - return 0; - }, + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c = {}; + c._isAMomentObject = true; + c._i = input; + c._f = format; + c._l = locale; + c._strict = strict; + c._isUTC = false; + c._pf = defaultParsingFlags(); - /** - * find out if the direction is vertical * - * @method isVertical - * @param {String} direction matches `DIRECTION_UP|DOWN` - * @return {Boolean} is_vertical - */ - isVertical: function isVertical(direction) { - return direction == DIRECTION_UP || direction == DIRECTION_DOWN; - }, + return makeMoment(c); + }; - /** - * set css properties with their prefixes - * @param {HTMLElement} element - * @param {String} prop - * @param {String} value - * @param {Boolean} [toggle=true] - * @return {Boolean} - */ - setPrefixedCss: function setPrefixedCss(element, prop, value, toggle) { - var prefixes = ['', 'Webkit', 'Moz', 'O', 'ms']; - prop = Utils.toCamelCase(prop); + moment.suppressDeprecationWarnings = false; - for(var i = 0; i < prefixes.length; i++) { - var p = prop; - // prefixes - if(prefixes[i]) { - p = prefixes[i] + p.slice(0, 1).toUpperCase() + p.slice(1); - } + moment.createFromInputFallback = deprecate( + '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 (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); - // test the style - if(p in element.style) { - element.style[p] = (toggle == null || toggle) && value || ''; - break; + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return moment(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (moments[i][fn](res)) { + res = moments[i]; } } - }, + return res; + } - /** - * toggle browser default behavior by setting css properties. - * `userSelect='none'` also sets `element.onselectstart` to false - * `userDrag='none'` also sets `element.ondragstart` to false - * - * @method toggleBehavior - * @param {HtmlElement} element - * @param {Object} props - * @param {Boolean} [toggle=true] - */ - toggleBehavior: function toggleBehavior(element, props, toggle) { - if(!props || !element || !element.style) { - return; - } + moment.min = function () { + var args = [].slice.call(arguments, 0); - // set the css properties - Utils.each(props, function(value, prop) { - Utils.setPrefixedCss(element, prop, value, toggle); - }); + return pickBy('isBefore', args); + }; - var falseFn = toggle && function() { - return false; - }; + moment.max = function () { + var args = [].slice.call(arguments, 0); - // also the disable onselectstart - if(props.userSelect == 'none') { - element.onselectstart = falseFn; - } - // and disable ondragstart - if(props.userDrag == 'none') { - element.ondragstart = falseFn; + return pickBy('isAfter', args); + }; + + // creating with utc + moment.utc = function (input, format, locale, strict) { + var c; + + if (typeof(locale) === 'boolean') { + strict = locale; + locale = undefined; } - }, + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c = {}; + c._isAMomentObject = true; + c._useUTC = true; + c._isUTC = true; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + c._pf = defaultParsingFlags(); - /** - * convert a string with underscores to camelCase - * so prevent_default becomes preventDefault - * @param {String} str - * @return {String} camelCaseStr - */ - toCamelCase: function toCamelCase(str) { - return str.replace(/[_-]([a-z])/g, function(s) { - return s[1].toUpperCase(); - }); - } - }; + return makeMoment(c).utc(); + }; + // creating with unix timestamp (in seconds) + moment.unix = function (input) { + return moment(input * 1000); + }; - /** - * @module hammer - */ - /** - * @class Event - * @static - */ - var Event = Hammer.event = { - /** - * when touch events have been fired, this is true - * this is used to stop mouse events - * @property prevent_mouseevents - * @private - * @type {Boolean} - */ - preventMouseEvents: false, + // duration + moment.duration = function (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + parseIso, + diffRes; - /** - * if EVENT_START has been fired - * @property started - * @private - * @type {Boolean} - */ - started: false, + if (moment.isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months + }; + } else if (typeof input === 'number') { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(match[MILLISECOND]) * sign + }; + } else if (!!(match = isoDurationRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + parseIso = function (inp) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + }; + duration = { + y: parseIso(match[2]), + M: parseIso(match[3]), + d: parseIso(match[4]), + h: parseIso(match[5]), + m: parseIso(match[6]), + s: parseIso(match[7]), + w: parseIso(match[8]) + }; + } else if (duration == null) {// checks for null or undefined + duration = {}; + } else if (typeof duration === 'object' && + ('from' in duration || 'to' in duration)) { + diffRes = momentsDifference(moment(duration.from), moment(duration.to)); - /** - * when the mouse is hold down, this is true - * @property should_detect - * @private - * @type {Boolean} - */ - shouldDetect: false, + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } - /** - * simple event binder with a hook and support for multiple types - * @method on - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - * @param {Function} [hook] - * @param {Object} hook.type - */ - on: function on(element, type, handler, hook) { - var types = type.split(' '); - Utils.each(types, function(type) { - Utils.on(element, type, handler); - hook && hook(type); - }); - }, + ret = new Duration(duration); - /** - * simple event unbinder with a hook and support for multiple types - * @method off - * @param {HTMLElement} element - * @param {String} type - * @param {Function} handler - * @param {Function} [hook] - * @param {Object} hook.type - */ - off: function off(element, type, handler, hook) { - var types = type.split(' '); - Utils.each(types, function(type) { - Utils.off(element, type, handler); - hook && hook(type); - }); - }, + if (moment.isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } - /** - * the core touch event handler. - * this finds out if we should to detect gestures - * @method onTouch - * @param {HTMLElement} element - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Function} handler - * @return onTouchHandler {Function} the core event handler - */ - onTouch: function onTouch(element, eventType, handler) { - var self = this; + return ret; + }; - var onTouchHandler = function onTouchHandler(ev) { - var srcType = ev.type.toLowerCase(), - isPointer = Hammer.HAS_POINTEREVENTS, - isMouse = Utils.inStr(srcType, 'mouse'), - triggerType; + // version number + moment.version = VERSION; - // if we are in a mouseevent, but there has been a touchevent triggered in this session - // we want to do nothing. simply break out of the event. - if(isMouse && self.preventMouseEvents) { - return; + // default format + moment.defaultFormat = isoFormat; - // mousebutton must be down - } else if(isMouse && eventType == EVENT_START && ev.button === 0) { - self.preventMouseEvents = false; - self.shouldDetect = true; - } else if(isPointer && eventType == EVENT_START) { - self.shouldDetect = (ev.buttons === 1 || PointerEvent.matchType(POINTER_TOUCH, ev)); - // just a valid start event, but no mouse - } else if(!isMouse && eventType == EVENT_START) { - self.preventMouseEvents = true; - self.shouldDetect = true; - } + // constant that refers to the ISO standard + moment.ISO_8601 = function () {}; - // update the pointer event before entering the detection - if(isPointer && eventType != EVENT_END) { - PointerEvent.updatePointer(eventType, ev); - } + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + moment.momentProperties = momentProperties; - // we are in a touch/down state, so allowed detection of gestures - if(self.shouldDetect) { - triggerType = self.doDetect.call(self, ev, eventType, element, handler); - } + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + moment.updateOffset = function () {}; - // ...and we are done with the detection - // so reset everything to start each detection totally fresh - if(triggerType == EVENT_END) { - self.preventMouseEvents = false; - self.shouldDetect = false; - PointerEvent.reset(); - // update the pointerevent object after the detection + // This function allows you to set a threshold for relative time strings + moment.relativeTimeThreshold = function (threshold, limit) { + if (relativeTimeThresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return relativeTimeThresholds[threshold]; + } + relativeTimeThresholds[threshold] = limit; + return true; + }; + + moment.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + function (key, value) { + return moment.locale(key, value); + } + ); + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + moment.locale = function (key, values) { + var data; + if (key) { + if (typeof(values) !== 'undefined') { + data = moment.defineLocale(key, values); + } + else { + data = moment.localeData(key); } - if(isPointer && eventType == EVENT_END) { - PointerEvent.updatePointer(eventType, ev); + if (data) { + moment.duration._locale = moment._locale = data; } - }; + } - this.on(element, EVENT_TYPES[eventType], onTouchHandler); - return onTouchHandler; - }, + return moment._locale._abbr; + }; - /** - * the core detection method - * this finds out what hammer-touch-events to trigger - * @method doDetect - * @param {Object} ev - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {HTMLElement} element - * @param {Function} handler - * @return {String} triggerType matches `EVENT_START|MOVE|END` - */ - doDetect: function doDetect(ev, eventType, element, handler) { - var touchList = this.getTouchList(ev, eventType); - var touchListLength = touchList.length; - var triggerType = eventType; - var triggerChange = touchList.trigger; // used by fakeMultitouch plugin - var changedLength = touchListLength; + moment.defineLocale = function (name, values) { + if (values !== null) { + values.abbr = name; + if (!locales[name]) { + locales[name] = new Locale(); + } + locales[name].set(values); - // at each touchstart-like event we want also want to trigger a TOUCH event... - if(eventType == EVENT_START) { - triggerChange = EVENT_TOUCH; - // ...the same for a touchend-like event - } else if(eventType == EVENT_END) { - triggerChange = EVENT_RELEASE; + // backwards compat for now: also set the locale + moment.locale(name); - // keep track of how many touches have been removed - changedLength = touchList.length - ((ev.changedTouches) ? ev.changedTouches.length : 1); + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; } + }; - // after there are still touches on the screen, - // we just want to trigger a MOVE event. so change the START or END to a MOVE - // but only after detection has been started, the first time we actualy want a START - if(changedLength > 0 && this.started) { - triggerType = EVENT_MOVE; + moment.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + function (key) { + return moment.localeData(key); } + ); - // detection has been started, we keep track of this, see above - this.started = true; + // returns locale data + moment.localeData = function (key) { + var locale; - // generate some event data, some basic information - var evData = this.collectEventData(element, triggerType, touchList, ev); + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } - // trigger the triggerType event before the change (TOUCH, RELEASE) events - // but the END event should be at last - if(eventType != EVENT_END) { - handler.call(Detection, evData); + if (!key) { + return moment._locale; } - // trigger a change (TOUCH, RELEASE) event, this means the length of the touches changed - if(triggerChange) { - evData.changedLength = changedLength; - evData.eventType = triggerChange; + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } - handler.call(Detection, evData); + return chooseLocale(key); + }; - evData.eventType = triggerType; - delete evData.changedLength; - } + // compare moment object + moment.isMoment = function (obj) { + return obj instanceof Moment || + (obj != null && hasOwnProp(obj, '_isAMomentObject')); + }; - // trigger the END event - if(triggerType == EVENT_END) { - handler.call(Detection, evData); + // for typechecking Duration objects + moment.isDuration = function (obj) { + return obj instanceof Duration; + }; - // ...and we are done with the detection - // so reset everything to start each detection totally fresh - this.started = false; - } + for (i = lists.length - 1; i >= 0; --i) { + makeList(lists[i]); + } - return triggerType; - }, + moment.normalizeUnits = function (units) { + return normalizeUnits(units); + }; - /** - * we have different events for each device/browser - * determine what we need and set them in the EVENT_TYPES constant - * the `onTouch` method is bind to these properties. - * @method determineEventTypes - * @return {Object} events - */ - determineEventTypes: function determineEventTypes() { - var types; - if(Hammer.HAS_POINTEREVENTS) { - if(window.PointerEvent) { - types = [ - 'pointerdown', - 'pointermove', - 'pointerup pointercancel lostpointercapture' - ]; - } else { - types = [ - 'MSPointerDown', - 'MSPointerMove', - 'MSPointerUp MSPointerCancel MSLostPointerCapture' - ]; - } - } else if(Hammer.NO_MOUSEEVENTS) { - types = [ - 'touchstart', - 'touchmove', - 'touchend touchcancel' - ]; - } else { - types = [ - 'touchstart mousedown', - 'touchmove mousemove', - 'touchend touchcancel mouseup' - ]; + moment.invalid = function (flags) { + var m = moment.utc(NaN); + if (flags != null) { + extend(m._pf, flags); + } + else { + m._pf.userInvalidated = true; } - EVENT_TYPES[EVENT_START] = types[0]; - EVENT_TYPES[EVENT_MOVE] = types[1]; - EVENT_TYPES[EVENT_END] = types[2]; - return EVENT_TYPES; - }, + return m; + }; - /** - * create touchList depending on the event - * @method getTouchList - * @param {Object} ev - * @param {String} eventType - * @return {Array} touches - */ - getTouchList: function getTouchList(ev, eventType) { - // get the fake pointerEvent touchlist - if(Hammer.HAS_POINTEREVENTS) { - return PointerEvent.getTouchList(); - } + moment.parseZone = function () { + return moment.apply(null, arguments).parseZone(); + }; - // get the touchlist - if(ev.touches) { - if(eventType == EVENT_MOVE) { - return ev.touches; - } + moment.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; - var identifiers = []; - var concat = [].concat(Utils.toArray(ev.touches), Utils.toArray(ev.changedTouches)); - var touchList = []; + moment.isDate = isDate; - Utils.each(concat, function(touch) { - if(Utils.inArray(identifiers, touch.identifier) === false) { - touchList.push(touch); - } - identifiers.push(touch.identifier); - }); + /************************************ + Moment Prototype + ************************************/ - return touchList; - } - // make fake touchList from mouse position - ev.identifier = 1; - return [ev]; - }, + extend(moment.fn = Moment.prototype, { + + clone : function () { + return moment(this); + }, - /** - * collect basic event data - * @method collectEventData - * @param {HTMLElement} element - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Array} touches - * @param {Object} ev - * @return {Object} ev - */ - collectEventData: function collectEventData(element, eventType, touches, ev) { - // find out pointerType - var pointerType = POINTER_TOUCH; - if(Utils.inStr(ev.type, 'mouse') || PointerEvent.matchType(POINTER_MOUSE, ev)) { - pointerType = POINTER_MOUSE; - } else if(PointerEvent.matchType(POINTER_PEN, ev)) { - pointerType = POINTER_PEN; - } + valueOf : function () { + return +this._d - ((this._offset || 0) * 60000); + }, - return { - center: Utils.getCenter(touches), - timeStamp: Date.now(), - target: ev.target, - touches: touches, - eventType: eventType, - pointerType: pointerType, - srcEvent: ev, + unix : function () { + return Math.floor(+this / 1000); + }, - /** - * prevent the browser default actions - * mostly used to disable scrolling of the browser - */ - preventDefault: function() { - var srcEvent = this.srcEvent; - srcEvent.preventManipulation && srcEvent.preventManipulation(); - srcEvent.preventDefault && srcEvent.preventDefault(); - }, + toString : function () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + }, - /** - * stop bubbling the event up to its parents - */ - stopPropagation: function() { - this.srcEvent.stopPropagation(); - }, + toDate : function () { + return this._offset ? new Date(+this) : this._d; + }, - /** - * immediately stop gesture detection - * might be useful after a swipe was detected - * @return {*} - */ - stopDetect: function() { - return Detection.stopDetect(); + toISOString : function () { + var m = moment(this).utc(); + if (0 < m.year() && m.year() <= 9999) { + if ('function' === typeof Date.prototype.toISOString) { + // native implementation is ~50x faster, use it when we can + return this.toDate().toISOString(); + } else { + return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); + } + } else { + return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); } - }; - } - }; - + }, - /** - * @module hammer - * - * @class PointerEvent - * @static - */ - var PointerEvent = Hammer.PointerEvent = { - /** - * holds all pointers, by `identifier` - * @property pointers - * @type {Object} - */ - pointers: {}, + toArray : function () { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hours(), + m.minutes(), + m.seconds(), + m.milliseconds() + ]; + }, - /** - * get the pointers as an array - * @method getTouchList - * @return {Array} touchlist - */ - getTouchList: function getTouchList() { - var touchlist = []; - // we can use forEach since pointerEvents only is in IE10 - Utils.each(this.pointers, function(pointer) { - touchlist.push(pointer); - }); - return touchlist; - }, + isValid : function () { + return isValid(this); + }, - /** - * update the position of a pointer - * @method updatePointer - * @param {String} eventType matches `EVENT_START|MOVE|END` - * @param {Object} pointerEvent - */ - updatePointer: function updatePointer(eventType, pointerEvent) { - if(eventType == EVENT_END || (eventType != EVENT_END && pointerEvent.buttons !== 1)) { - delete this.pointers[pointerEvent.pointerId]; - } else { - pointerEvent.identifier = pointerEvent.pointerId; - this.pointers[pointerEvent.pointerId] = pointerEvent; - } - }, + isDSTShifted : function () { + if (this._a) { + return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0; + } - /** - * check if ev matches pointertype - * @method matchType - * @param {String} pointerType matches `POINTER_MOUSE|TOUCH|PEN` - * @param {PointerEvent} ev - */ - matchType: function matchType(pointerType, ev) { - if(!ev.pointerType) { return false; - } + }, - var pt = ev.pointerType, - types = {}; + parsingFlags : function () { + return extend({}, this._pf); + }, - types[POINTER_MOUSE] = (pt === (ev.MSPOINTER_TYPE_MOUSE || POINTER_MOUSE)); - types[POINTER_TOUCH] = (pt === (ev.MSPOINTER_TYPE_TOUCH || POINTER_TOUCH)); - types[POINTER_PEN] = (pt === (ev.MSPOINTER_TYPE_PEN || POINTER_PEN)); - return types[pointerType]; - }, + invalidAt: function () { + return this._pf.overflow; + }, - /** - * reset the stored pointers - * @method reset - */ - reset: function resetList() { - this.pointers = {}; - } - }; + utc : function (keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + }, + local : function (keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; - /** - * @module hammer - * - * @class Detection - * @static - */ - var Detection = Hammer.detection = { - // contains all registred Hammer.gestures in the correct order - gestures: [], + if (keepLocalTime) { + this.subtract(this._dateUtcOffset(), 'm'); + } + } + return this; + }, - // data of the current Hammer.gesture detection session - current: null, + format : function (inputString) { + var output = formatMoment(this, inputString || moment.defaultFormat); + return this.localeData().postformat(output); + }, - // the previous Hammer.gesture session data - // is a full clone of the previous gesture.current object - previous: null, + add : createAdder(1, 'add'), - // when this becomes true, no gestures are fired - stopped: false, + subtract : createAdder(-1, 'subtract'), - /** - * start Hammer.gesture detection - * @method startDetect - * @param {Hammer.Instance} inst - * @param {Object} eventData - */ - startDetect: function startDetect(inst, eventData) { - // already busy with a Hammer.gesture detection on an element - if(this.current) { - return; - } + diff : function (input, units, asFloat) { + var that = makeAs(input, this), + zoneDiff = (that.utcOffset() - this.utcOffset()) * 6e4, + anchor, diff, output, daysAdjust; - this.stopped = false; + units = normalizeUnits(units); - // holds current session - this.current = { - inst: inst, // reference to HammerInstance we're working for - startEvent: Utils.extend({}, eventData), // start eventData for distances, timing etc - lastEvent: false, // last eventData - lastCalcEvent: false, // last eventData for calculations. - futureCalcEvent: false, // last eventData for calculations. - lastCalcData: {}, // last lastCalcData - name: '' // current gesture we're in/detected, can be 'tap', 'hold' etc - }; + if (units === 'year' || units === 'month' || units === 'quarter') { + output = monthDiff(this, that); + if (units === 'quarter') { + output = output / 3; + } else if (units === 'year') { + output = output / 12; + } + } else { + diff = this - that; + output = units === 'second' ? diff / 1e3 : // 1000 + units === 'minute' ? diff / 6e4 : // 1000 * 60 + units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60 + units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst + units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst + diff; + } + return asFloat ? output : absRound(output); + }, - this.detect(eventData); - }, + from : function (time, withoutSuffix) { + return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + }, - /** - * Hammer.gesture detection - * @method detect - * @param {Object} eventData - * @return {any} - */ - detect: function detect(eventData) { - if(!this.current || this.stopped) { - return; - } + fromNow : function (withoutSuffix) { + return this.from(moment(), withoutSuffix); + }, - // extend event data with calculations about scale, distance etc - eventData = this.extendEventData(eventData); + calendar : function (time) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're locat/utc/offset + // or not. + var now = time || moment(), + sod = makeAs(now, this).startOf('day'), + diff = this.diff(sod, 'days', true), + format = diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + return this.format(this.localeData().calendar(format, this, moment(now))); + }, - // hammer instance and instance options - var inst = this.current.inst, - instOptions = inst.options; + isLeapYear : function () { + return isLeapYear(this.year()); + }, - // call Hammer.gesture handlers - Utils.each(this.gestures, function triggerGesture(gesture) { - // only when the instance options have enabled this gesture - if(!this.stopped && inst.enabled && instOptions[gesture.name]) { - gesture.handler.call(gesture, eventData, inst); + isDST : function () { + return (this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset()); + }, + + day : function (input) { + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; } - }, this); + }, - // store as previous event event - if(this.current) { - this.current.lastEvent = eventData; - } + month : makeAccessor('Month', true), - if(eventData.eventType == EVENT_END) { - this.stopDetect(); - } + startOf : function (units) { + units = normalizeUnits(units); + // the following switch intentionally omits break keywords + // to utilize falling through the cases. + switch (units) { + case 'year': + this.month(0); + /* falls through */ + case 'quarter': + case 'month': + this.date(1); + /* falls through */ + case 'week': + case 'isoWeek': + case 'day': + this.hours(0); + /* falls through */ + case 'hour': + this.minutes(0); + /* falls through */ + case 'minute': + this.seconds(0); + /* falls through */ + case 'second': + this.milliseconds(0); + /* falls through */ + } - return eventData; - }, + // weeks are a special case + if (units === 'week') { + this.weekday(0); + } else if (units === 'isoWeek') { + this.isoWeekday(1); + } - /** - * clear the Hammer.gesture vars - * this is called on endDetect, but can also be used when a final Hammer.gesture has been detected - * to stop other Hammer.gestures from being fired - * @method stopDetect - */ - stopDetect: function stopDetect() { - // clone current data to the store as the previous gesture - // used for the double tap gesture, since this is an other gesture detect session - this.previous = Utils.extend({}, this.current); + // quarters are also special + if (units === 'quarter') { + this.month(Math.floor(this.month() / 3) * 3); + } - // reset the current - this.current = null; - this.stopped = true; - }, + return this; + }, - /** - * calculate velocity, angle and direction - * @method getVelocityData - * @param {Object} ev - * @param {Object} center - * @param {Number} deltaTime - * @param {Number} deltaX - * @param {Number} deltaY - */ - getCalculatedData: function getCalculatedData(ev, center, deltaTime, deltaX, deltaY) { - var cur = this.current, - recalc = false, - calcEv = cur.lastCalcEvent, - calcData = cur.lastCalcData; + endOf: function (units) { + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond') { + return this; + } + return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); + }, - if(calcEv && ev.timeStamp - calcEv.timeStamp > Hammer.CALCULATE_INTERVAL) { - center = calcEv.center; - deltaTime = ev.timeStamp - calcEv.timeStamp; - deltaX = ev.center.clientX - calcEv.center.clientX; - deltaY = ev.center.clientY - calcEv.center.clientY; - recalc = true; - } + isAfter: function (input, units) { + var inputMs; + units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this > +input; + } else { + inputMs = moment.isMoment(input) ? +input : +moment(input); + return inputMs < +this.clone().startOf(units); + } + }, - if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { - cur.futureCalcEvent = ev; - } + isBefore: function (input, units) { + var inputMs; + units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this < +input; + } else { + inputMs = moment.isMoment(input) ? +input : +moment(input); + return +this.clone().endOf(units) < inputMs; + } + }, - if(!cur.lastCalcEvent || recalc) { - calcData.velocity = Utils.getVelocity(deltaTime, deltaX, deltaY); - calcData.angle = Utils.getAngle(center, ev.center); - calcData.direction = Utils.getDirection(center, ev.center); + isBetween: function (from, to, units) { + return this.isAfter(from, units) && this.isBefore(to, units); + }, - cur.lastCalcEvent = cur.futureCalcEvent || ev; - cur.futureCalcEvent = ev; - } + isSame: function (input, units) { + var inputMs; + units = normalizeUnits(units || 'millisecond'); + if (units === 'millisecond') { + input = moment.isMoment(input) ? input : moment(input); + return +this === +input; + } else { + inputMs = +moment(input); + return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units)); + } + }, - ev.velocityX = calcData.velocity.x; - ev.velocityY = calcData.velocity.y; - ev.interimAngle = calcData.angle; - ev.interimDirection = calcData.direction; - }, + min: deprecate( + 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548', + function (other) { + other = moment.apply(null, arguments); + return other < this ? this : other; + } + ), - /** - * extend eventData for Hammer.gestures - * @method extendEventData - * @param {Object} ev - * @return {Object} ev - */ - extendEventData: function extendEventData(ev) { - var cur = this.current, - startEv = cur.startEvent, - lastEv = cur.lastEvent || startEv; + max: deprecate( + 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548', + function (other) { + other = moment.apply(null, arguments); + return other > this ? this : other; + } + ), - // update the start touchlist to calculate the scale/rotation - if(ev.eventType == EVENT_TOUCH || ev.eventType == EVENT_RELEASE) { - startEv.touches = []; - Utils.each(ev.touches, function(touch) { - startEv.touches.push({ - clientX: touch.clientX, - clientY: touch.clientY - }); - }); - } + zone : deprecate( + 'moment().zone is deprecated, use moment().utcOffset instead. ' + + 'https://github.com/moment/moment/issues/1779', + function (input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } - var deltaTime = ev.timeStamp - startEv.timeStamp, - deltaX = ev.center.clientX - startEv.center.clientX, - deltaY = ev.center.clientY - startEv.center.clientY; + this.utcOffset(input, keepLocalTime); - this.getCalculatedData(ev, lastEv.center, deltaTime, deltaX, deltaY); + return this; + } else { + return -this.utcOffset(); + } + } + ), - Utils.extend(ev, { - startEvent: startEv, + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + utcOffset : function (input, keepLocalTime) { + var offset = this._offset || 0, + localAdjust; + if (input != null) { + if (typeof input === 'string') { + input = utcOffsetFromString(input); + } + if (Math.abs(input) < 16) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = this._dateUtcOffset(); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addOrSubtractDurationFromMoment(this, + moment.duration(input - offset, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + moment.updateOffset(this, true); + this._changeInProgress = null; + } + } - deltaTime: deltaTime, - deltaX: deltaX, - deltaY: deltaY, + return this; + } else { + return this._isUTC ? offset : this._dateUtcOffset(); + } + }, - distance: Utils.getDistance(startEv.center, ev.center), - angle: Utils.getAngle(startEv.center, ev.center), - direction: Utils.getDirection(startEv.center, ev.center), - scale: Utils.getScale(startEv.touches, ev.touches), - rotation: Utils.getRotation(startEv.touches, ev.touches) - }); + isLocal : function () { + return !this._isUTC; + }, - return ev; - }, + isUtcOffset : function () { + return this._isUTC; + }, - /** - * register new gesture - * @method register - * @param {Object} gesture object, see `gestures/` for documentation - * @return {Array} gestures - */ - register: function register(gesture) { - // add an enable gesture options if there is no given - var options = gesture.defaults || {}; - if(options[gesture.name] === undefined) { - options[gesture.name] = true; - } + isUtc : function () { + return this._isUTC && this._offset === 0; + }, - // extend Hammer default options with the Hammer.gesture options - Utils.extend(Hammer.defaults, options, true); + zoneAbbr : function () { + return this._isUTC ? 'UTC' : ''; + }, - // set its index - gesture.index = gesture.index || 1000; + zoneName : function () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + }, - // add Hammer.gesture to the list - this.gestures.push(gesture); + parseZone : function () { + if (this._tzm) { + this.utcOffset(this._tzm); + } else if (typeof this._i === 'string') { + this.utcOffset(utcOffsetFromString(this._i)); + } + return this; + }, - // sort the list by index - this.gestures.sort(function(a, b) { - if(a.index < b.index) { - return -1; + hasAlignedHourOffset : function (input) { + if (!input) { + input = 0; } - if(a.index > b.index) { - return 1; + else { + input = moment(input).utcOffset(); } - return 0; - }); - - return this.gestures; - } - }; + return (this.utcOffset() - input) % 60 === 0; + }, - /** - * @module hammer - */ + daysInMonth : function () { + return daysInMonth(this.year(), this.month()); + }, - /** - * create new hammer instance - * all methods should return the instance itself, so it is chainable. - * - * @class Instance - * @constructor - * @param {HTMLElement} element - * @param {Object} [options={}] options are merged with `Hammer.defaults` - * @return {Hammer.Instance} - */ - Hammer.Instance = function(element, options) { - var self = this; + dayOfYear : function (input) { + var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + }, - // setup HammerJS window events and register all gestures - // this also sets up the default options - setup(); + quarter : function (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); + }, - /** - * @property element - * @type {HTMLElement} - */ - this.element = element; + weekYear : function (input) { + var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year; + return input == null ? year : this.add((input - year), 'y'); + }, - /** - * @property enabled - * @type {Boolean} - * @protected - */ - this.enabled = true; + isoWeekYear : function (input) { + var year = weekOfYear(this, 1, 4).year; + return input == null ? year : this.add((input - year), 'y'); + }, - /** - * options, merged with the defaults - * options with an _ are converted to camelCase - * @property options - * @type {Object} - */ - Utils.each(options, function(value, name) { - delete options[name]; - options[Utils.toCamelCase(name)] = value; - }); + week : function (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + }, - this.options = Utils.extend(Utils.extend({}, Hammer.defaults), options || {}); + isoWeek : function (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + }, - // add some css to the element to prevent the browser from doing its native behavoir - if(this.options.behavior) { - Utils.toggleBehavior(this.element, this.options.behavior, true); - } + weekday : function (input) { + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + }, - /** - * event start handler on the element to start the detection - * @property eventStartHandler - * @type {Object} - */ - this.eventStartHandler = Event.onTouch(element, EVENT_START, function(ev) { - if(self.enabled && ev.eventType == EVENT_START) { - Detection.startDetect(self, ev); - } else if(ev.eventType == EVENT_TOUCH) { - Detection.detect(ev); - } - }); + isoWeekday : function (input) { + // 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); + }, - /** - * keep a list of user event handlers which needs to be removed when calling 'dispose' - * @property eventHandlers - * @type {Array} - */ - this.eventHandlers = []; - }; + isoWeeksInYear : function () { + return weeksInYear(this.year(), 1, 4); + }, - Hammer.Instance.prototype = { - /** - * bind events to the instance - * @method on - * @chainable - * @param {String} gestures multiple gestures by splitting with a space - * @param {Function} handler - * @param {Object} handler.ev event object - */ - on: function onEvent(gestures, handler) { - var self = this; - Event.on(self.element, gestures, handler, function(type) { - self.eventHandlers.push({ gesture: type, handler: handler }); - }); - return self; - }, + weeksInYear : function () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + }, - /** - * unbind events to the instance - * @method off - * @chainable - * @param {String} gestures - * @param {Function} handler - */ - off: function offEvent(gestures, handler) { - var self = this; + get : function (units) { + units = normalizeUnits(units); + return this[units](); + }, - Event.off(self.element, gestures, handler, function(type) { - var index = Utils.inArray({ gesture: type, handler: handler }); - if(index !== false) { - self.eventHandlers.splice(index, 1); + set : function (units, value) { + var unit; + if (typeof units === 'object') { + for (unit in units) { + this.set(unit, units[unit]); + } } - }); - return self; - }, + else { + units = normalizeUnits(units); + if (typeof this[units] === 'function') { + this[units](value); + } + } + return this; + }, - /** - * trigger gesture event - * @method trigger - * @chainable - * @param {String} gesture - * @param {Object} [eventData] - */ - trigger: function triggerEvent(gesture, eventData) { - // optional - if(!eventData) { - eventData = {}; - } + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + locale : function (key) { + var newLocaleData; - // create DOM event - var event = Hammer.DOCUMENT.createEvent('Event'); - event.initEvent(gesture, true, true); - event.gesture = eventData; + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = moment.localeData(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + }, - // trigger on the target if it is in the instance element, - // this is for event delegation tricks - var element = this.element; - if(Utils.hasParent(eventData.target, element)) { - element = eventData.target; - } + lang : deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ), - element.dispatchEvent(event); - return this; - }, + localeData : function () { + return this._locale; + }, - /** - * enable of disable hammer.js detection - * @method enable - * @chainable - * @param {Boolean} state - */ - enable: function enable(state) { - this.enabled = state; - return this; - }, + _dateUtcOffset : function () { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(this._d.getTimezoneOffset() / 15) * 15; + } - /** - * dispose this hammer instance - * @method dispose - * @return {Null} - */ - dispose: function dispose() { - var i, eh; + }); - // undo all changes made by stop_browser_behavior - Utils.toggleBehavior(this.element, this.options.behavior, false); + function rawMonthSetter(mom, value) { + var dayOfMonth; - // unbind all custom event handlers - for(i = -1; (eh = this.eventHandlers[++i]);) { - Utils.off(this.element, eh.gesture, eh.handler); + // TODO: Move this out of here! + if (typeof value === 'string') { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (typeof value !== 'number') { + return mom; + } } - this.eventHandlers = []; - - // unbind the start event listener - Event.off(this.element, EVENT_TYPES[EVENT_START], this.eventStartHandler); - - return null; + dayOfMonth = Math.min(mom.date(), + daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; } - }; - - - /** - * @module gestures - */ - /** - * Move with x fingers (default 1) around on the page. - * Preventing the default browser behavior is a good way to improve feel and working. - * ```` - * hammertime.on("drag", function(ev) { - * console.log(ev); - * ev.gesture.preventDefault(); - * }); - * ```` - * - * @class Drag - * @static - */ - /** - * @event drag - * @param {Object} ev - */ - /** - * @event dragstart - * @param {Object} ev - */ - /** - * @event dragend - * @param {Object} ev - */ - /** - * @event drapleft - * @param {Object} ev - */ - /** - * @event dragright - * @param {Object} ev - */ - /** - * @event dragup - * @param {Object} ev - */ - /** - * @event dragdown - * @param {Object} ev - */ - /** - * @param {String} name - */ - (function(name) { - var triggered = false; - - function dragGesture(ev, inst) { - var cur = Detection.current; + function rawGetter(mom, unit) { + return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit](); + } - // max touches - if(inst.options.dragMaxTouches > 0 && - ev.touches.length > inst.options.dragMaxTouches) { - return; + function rawSetter(mom, unit, value) { + if (unit === 'Month') { + return rawMonthSetter(mom, value); + } else { + return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); } + } - switch(ev.eventType) { - case EVENT_START: - triggered = false; - break; + function makeAccessor(unit, keepTime) { + return function (value) { + if (value != null) { + rawSetter(this, unit, value); + moment.updateOffset(this, keepTime); + return this; + } else { + return rawGetter(this, unit); + } + }; + } - case EVENT_MOVE: - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(ev.distance < inst.options.dragMinDistance && - cur.name != name) { - return; - } + moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false); + moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false); + moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false); + // Setting the hour should keep the time, because the user explicitly + // specified which hour he wants. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true); + // moment.fn.month is defined separately + moment.fn.date = makeAccessor('Date', true); + moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true)); + moment.fn.year = makeAccessor('FullYear', true); + moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true)); - var startCenter = cur.startEvent.center; + // add plural methods + moment.fn.days = moment.fn.day; + moment.fn.months = moment.fn.month; + moment.fn.weeks = moment.fn.week; + moment.fn.isoWeeks = moment.fn.isoWeek; + moment.fn.quarters = moment.fn.quarter; - // we are dragging! - if(cur.name != name) { - cur.name = name; - if(inst.options.dragDistanceCorrection && ev.distance > 0) { - // When a drag is triggered, set the event center to dragMinDistance pixels from the original event center. - // Without this correction, the dragged distance would jumpstart at dragMinDistance pixels instead of at 0. - // It might be useful to save the original start point somewhere - var factor = Math.abs(inst.options.dragMinDistance / ev.distance); - startCenter.pageX += ev.deltaX * factor; - startCenter.pageY += ev.deltaY * factor; - startCenter.clientX += ev.deltaX * factor; - startCenter.clientY += ev.deltaY * factor; + // add aliased format methods + moment.fn.toJSON = moment.fn.toISOString; - // recalculate event data using new start point - ev = Detection.extendEventData(ev); - } - } + // alias isUtc for dev-friendliness + moment.fn.isUTC = moment.fn.isUtc; - // lock drag to axis? - if(cur.lastEvent.dragLockToAxis || - ( inst.options.dragLockToAxis && - inst.options.dragLockMinDistance <= ev.distance - )) { - ev.dragLockToAxis = true; - } + /************************************ + Duration Prototype + ************************************/ - // keep direction on the axis that the drag gesture started on - var lastDirection = cur.lastEvent.direction; - if(ev.dragLockToAxis && lastDirection !== ev.direction) { - if(Utils.isVertical(lastDirection)) { - ev.direction = (ev.deltaY < 0) ? DIRECTION_UP : DIRECTION_DOWN; - } else { - ev.direction = (ev.deltaX < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - } - // first time, trigger dragstart event - if(!triggered) { - inst.trigger(name + 'start', ev); - triggered = true; - } + function daysToYears (days) { + // 400 years have 146097 days (taking into account leap year rules) + return days * 400 / 146097; + } + + function yearsToDays (years) { + // years * 365 + absRound(years / 4) - + // absRound(years / 100) + absRound(years / 400); + return years * 146097 / 400; + } - // trigger events - inst.trigger(name, ev); - inst.trigger(name + ev.direction, ev); + extend(moment.duration.fn = Duration.prototype, { - var isVertical = Utils.isVertical(ev.direction); + _bubble : function () { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, minutes, hours, years = 0; - // block the browser events - if((inst.options.dragBlockVertical && isVertical) || - (inst.options.dragBlockHorizontal && !isVertical)) { - ev.preventDefault(); - } - break; + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; - case EVENT_RELEASE: - if(triggered && ev.changedLength <= inst.options.dragMaxTouches) { - inst.trigger(name + 'end', ev); - triggered = false; - } - break; + seconds = absRound(milliseconds / 1000); + data.seconds = seconds % 60; - case EVENT_END: - triggered = false; - break; - } - } + minutes = absRound(seconds / 60); + data.minutes = minutes % 60; - Hammer.gestures.Drag = { - name: name, - index: 50, - handler: dragGesture, - defaults: { - /** - * minimal movement that have to be made before the drag event gets triggered - * @property dragMinDistance - * @type {Number} - * @default 10 - */ - dragMinDistance: 10, + hours = absRound(minutes / 60); + data.hours = hours % 24; - /** - * Set dragDistanceCorrection to true to make the starting point of the drag - * be calculated from where the drag was triggered, not from where the touch started. - * Useful to avoid a jerk-starting drag, which can make fine-adjustments - * through dragging difficult, and be visually unappealing. - * @property dragDistanceCorrection - * @type {Boolean} - * @default true - */ - dragDistanceCorrection: true, + days += absRound(hours / 24); - /** - * set 0 for unlimited, but this can conflict with transform - * @property dragMaxTouches - * @type {Number} - * @default 1 - */ - dragMaxTouches: 1, + // Accurately convert days to years, assume start from year 0. + years = absRound(daysToYears(days)); + days -= absRound(yearsToDays(years)); - /** - * prevent default browser behavior when dragging occurs - * be careful with it, it makes the element a blocking element - * when you are using the drag gesture, it is a good practice to set this true - * @property dragBlockHorizontal - * @type {Boolean} - * @default false - */ - dragBlockHorizontal: false, + // 30 days to a month + // TODO (iskren): Use anchor date (like 1st Jan) to compute this. + months += absRound(days / 30); + days %= 30; - /** - * same as `dragBlockHorizontal`, but for vertical movement - * @property dragBlockVertical - * @type {Boolean} - * @default false - */ - dragBlockVertical: false, + // 12 months -> 1 year + years += absRound(months / 12); + months %= 12; - /** - * dragLockToAxis keeps the drag gesture on the axis that it started on, - * It disallows vertical directions if the initial direction was horizontal, and vice versa. - * @property dragLockToAxis - * @type {Boolean} - * @default false - */ - dragLockToAxis: false, + data.days = days; + data.months = months; + data.years = years; + }, - /** - * drag lock only kicks in when distance > dragLockMinDistance - * This way, locking occurs only when the distance has become large enough to reliably determine the direction - * @property dragLockMinDistance - * @type {Number} - * @default 25 - */ - dragLockMinDistance: 25 - } - }; - })('drag'); + abs : function () { + this._milliseconds = Math.abs(this._milliseconds); + this._days = Math.abs(this._days); + this._months = Math.abs(this._months); - /** - * @module gestures - */ - /** - * trigger a simple gesture event, so you can do anything in your handler. - * only usable if you know what your doing... - * - * @class Gesture - * @static - */ - /** - * @event gesture - * @param {Object} ev - */ - Hammer.gestures.Gesture = { - name: 'gesture', - index: 1337, - handler: function releaseGesture(ev, inst) { - inst.trigger(this.name, ev); - } - }; + this._data.milliseconds = Math.abs(this._data.milliseconds); + this._data.seconds = Math.abs(this._data.seconds); + this._data.minutes = Math.abs(this._data.minutes); + this._data.hours = Math.abs(this._data.hours); + this._data.months = Math.abs(this._data.months); + this._data.years = Math.abs(this._data.years); - /** - * @module gestures - */ - /** - * Touch stays at the same place for x time - * - * @class Hold - * @static - */ - /** - * @event hold - * @param {Object} ev - */ + return this; + }, - /** - * @param {String} name - */ - (function(name) { - var timer; + weeks : function () { + return absRound(this.days() / 7); + }, - function holdGesture(ev, inst) { - var options = inst.options, - current = Detection.current; + valueOf : function () { + return this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6; + }, - switch(ev.eventType) { - case EVENT_START: - clearTimeout(timer); + humanize : function (withSuffix) { + var output = relativeTime(this, !withSuffix, this.localeData()); - // set the gesture so we can check in the timeout if it still is - current.name = name; + if (withSuffix) { + output = this.localeData().pastFuture(+this, output); + } - // set timer and if after the timeout it still is hold, - // we trigger the hold event - timer = setTimeout(function() { - if(current && current.name == name) { - inst.trigger(name, ev); - } - }, options.holdTimeout); - break; + return this.localeData().postformat(output); + }, - case EVENT_MOVE: - if(ev.distance > options.holdThreshold) { - clearTimeout(timer); - } - break; + add : function (input, val) { + // supports only 2.0-style add(1, 's') or add(moment) + var dur = moment.duration(input, val); - case EVENT_RELEASE: - clearTimeout(timer); - break; - } - } + this._milliseconds += dur._milliseconds; + this._days += dur._days; + this._months += dur._months; - Hammer.gestures.Hold = { - name: name, - index: 10, - defaults: { - /** - * @property holdTimeout - * @type {Number} - * @default 500 - */ - holdTimeout: 500, + this._bubble(); - /** - * movement allowed while holding - * @property holdThreshold - * @type {Number} - * @default 2 - */ - holdThreshold: 2 + return this; }, - handler: holdGesture - }; - })('hold'); - /** - * @module gestures - */ - /** - * when a touch is being released from the page - * - * @class Release - * @static - */ - /** - * @event release - * @param {Object} ev - */ - Hammer.gestures.Release = { - name: 'release', - index: Infinity, - handler: function releaseGesture(ev, inst) { - if(ev.eventType == EVENT_RELEASE) { - inst.trigger(this.name, ev); - } - } - }; + subtract : function (input, val) { + var dur = moment.duration(input, val); - /** - * @module gestures - */ - /** - * triggers swipe events when the end velocity is above the threshold - * for best usage, set `preventDefault` (on the drag gesture) to `true` - * ```` - * hammertime.on("dragleft swipeleft", function(ev) { - * console.log(ev); - * ev.gesture.preventDefault(); - * }); - * ```` - * - * @class Swipe - * @static - */ - /** - * @event swipe - * @param {Object} ev - */ - /** - * @event swipeleft - * @param {Object} ev - */ - /** - * @event swiperight - * @param {Object} ev - */ - /** - * @event swipeup - * @param {Object} ev - */ - /** - * @event swipedown - * @param {Object} ev - */ - Hammer.gestures.Swipe = { - name: 'swipe', - index: 40, - defaults: { - /** - * @property swipeMinTouches - * @type {Number} - * @default 1 - */ - swipeMinTouches: 1, + this._milliseconds -= dur._milliseconds; + this._days -= dur._days; + this._months -= dur._months; - /** - * @property swipeMaxTouches - * @type {Number} - * @default 1 - */ - swipeMaxTouches: 1, + this._bubble(); - /** - * horizontal swipe velocity - * @property swipeVelocityX - * @type {Number} - * @default 0.6 - */ - swipeVelocityX: 0.6, + return this; + }, - /** - * vertical swipe velocity - * @property swipeVelocityY - * @type {Number} - * @default 0.6 - */ - swipeVelocityY: 0.6 - }, + get : function (units) { + units = normalizeUnits(units); + return this[units.toLowerCase() + 's'](); + }, - handler: function swipeGesture(ev, inst) { - if(ev.eventType == EVENT_RELEASE) { - var touches = ev.touches.length, - options = inst.options; + as : function (units) { + var days, months; + units = normalizeUnits(units); - // max touches - if(touches < options.swipeMinTouches || - touches > options.swipeMaxTouches) { - return; + if (units === 'month' || units === 'year') { + days = this._days + this._milliseconds / 864e5; + months = this._months + daysToYears(days) * 12; + return units === 'month' ? months : months / 12; + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(yearsToDays(this._months / 12)); + switch (units) { + case 'week': return days / 7 + this._milliseconds / 6048e5; + case 'day': return days + this._milliseconds / 864e5; + case 'hour': return days * 24 + this._milliseconds / 36e5; + case 'minute': return days * 24 * 60 + this._milliseconds / 6e4; + case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds; + default: throw new Error('Unknown unit ' + units); + } } + }, - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(ev.velocityX > options.swipeVelocityX || - ev.velocityY > options.swipeVelocityY) { - // trigger swipe events - inst.trigger(this.name, ev); - inst.trigger(this.name + ev.direction, ev); + lang : moment.fn.lang, + locale : moment.fn.locale, + + toIsoString : deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead ' + + '(notice the capitals)', + function () { + return this.toISOString(); + } + ), + + toISOString : function () { + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + var years = Math.abs(this.years()), + months = Math.abs(this.months()), + days = Math.abs(this.days()), + hours = Math.abs(this.hours()), + minutes = Math.abs(this.minutes()), + seconds = Math.abs(this.seconds() + this.milliseconds() / 1000); + + if (!this.asSeconds()) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; } + + return (this.asSeconds() < 0 ? '-' : '') + + 'P' + + (years ? years + 'Y' : '') + + (months ? months + 'M' : '') + + (days ? days + 'D' : '') + + ((hours || minutes || seconds) ? 'T' : '') + + (hours ? hours + 'H' : '') + + (minutes ? minutes + 'M' : '') + + (seconds ? seconds + 'S' : ''); + }, + + localeData : function () { + return this._locale; + }, + + toJSON : function () { + return this.toISOString(); } + }); + + moment.duration.fn.toString = moment.duration.fn.toISOString; + + function makeDurationGetter(name) { + moment.duration.fn[name] = function () { + return this._data[name]; + }; } - }; - /** - * @module gestures - */ - /** - * Single tap and a double tap on a place - * - * @class Tap - * @static - */ - /** - * @event tap - * @param {Object} ev - */ - /** - * @event doubletap - * @param {Object} ev - */ + for (i in unitMillisecondFactors) { + if (hasOwnProp(unitMillisecondFactors, i)) { + makeDurationGetter(i.toLowerCase()); + } + } - /** - * @param {String} name - */ - (function(name) { - var hasMoved = false; + moment.duration.fn.asMilliseconds = function () { + return this.as('ms'); + }; + moment.duration.fn.asSeconds = function () { + return this.as('s'); + }; + moment.duration.fn.asMinutes = function () { + return this.as('m'); + }; + moment.duration.fn.asHours = function () { + return this.as('h'); + }; + moment.duration.fn.asDays = function () { + return this.as('d'); + }; + moment.duration.fn.asWeeks = function () { + return this.as('weeks'); + }; + moment.duration.fn.asMonths = function () { + return this.as('M'); + }; + moment.duration.fn.asYears = function () { + return this.as('y'); + }; - function tapGesture(ev, inst) { - var options = inst.options, - current = Detection.current, - prev = Detection.previous, - sincePrev, - didDoubleTap; + /************************************ + Default Locale + ************************************/ - switch(ev.eventType) { - case EVENT_START: - hasMoved = false; - break; - case EVENT_MOVE: - hasMoved = hasMoved || (ev.distance > options.tapMaxDistance); - break; + // Set default locale, other locale will inherit from English. + moment.locale('en', { + ordinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); - case EVENT_END: - if(!Utils.inStr(ev.srcEvent.type, 'cancel') && ev.deltaTime < options.tapMaxTime && !hasMoved) { - // previous gesture, for the double tap since these are two different gesture detections - sincePrev = prev && prev.lastEvent && ev.timeStamp - prev.lastEvent.timeStamp; - didDoubleTap = false; + /* EMBED_LOCALES */ - // check if double tap - if(prev && prev.name == name && - (sincePrev && sincePrev < options.doubleTapInterval) && - ev.distance < options.doubleTapDistance) { - inst.trigger('doubletap', ev); - didDoubleTap = true; - } + /************************************ + Exposing Moment + ************************************/ - // do a single tap - if(!didDoubleTap || options.tapAlways) { - current.name = name; - inst.trigger(current.name, ev); - } - } - break; + function makeGlobal(shouldDeprecate) { + /*global ender:false */ + if (typeof ender !== 'undefined') { + return; + } + oldGlobalMoment = globalScope.moment; + if (shouldDeprecate) { + globalScope.moment = deprecate( + 'Accessing Moment through the global scope is ' + + 'deprecated, and will be removed in an upcoming ' + + 'release.', + moment); + } else { + globalScope.moment = moment; } } - Hammer.gestures.Tap = { - name: name, - index: 100, - handler: tapGesture, - defaults: { - /** - * max time of a tap, this is for the slow tappers - * @property tapMaxTime - * @type {Number} - * @default 250 - */ - tapMaxTime: 250, - - /** - * max distance of movement of a tap, this is for the slow tappers - * @property tapMaxDistance - * @type {Number} - * @default 10 - */ - tapMaxDistance: 10, - - /** - * always trigger the `tap` event, even while double-tapping - * @property tapAlways - * @type {Boolean} - * @default true - */ - tapAlways: true, + // CommonJS module is defined + if (hasModule) { + module.exports = moment; + } else if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, module) { + if (module.config && module.config() && module.config().noGlobal === true) { + // release the global variable + globalScope.moment = oldGlobalMoment; + } - /** - * max distance between two taps - * @property doubleTapDistance - * @type {Number} - * @default 20 - */ - doubleTapDistance: 20, + return moment; + }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + makeGlobal(true); + } else { + makeGlobal(); + } + }).call(this); + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(71)(module))) - /** - * max time between two taps - * @property doubleTapInterval - * @type {Number} - * @default 300 - */ - doubleTapInterval: 300 - } - }; - })('tap'); +/***/ }, +/* 59 */ +/***/ function(module, exports, __webpack_require__) { + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; /** - * @module gestures - */ - /** - * when a touch is being touched at the page - * - * @class Touch - * @static - */ - /** - * @event touch - * @param {Object} ev + * Created by Alex on 11/6/2014. */ - Hammer.gestures.Touch = { - name: 'touch', - index: -Infinity, - defaults: { - /** - * call preventDefault at touchstart, and makes the element blocking by disabling the scrolling of the page, - * but it improves gestures like transforming and dragging. - * be careful with using this, it can be very annoying for users to be stuck on the page - * @property preventDefault - * @type {Boolean} - * @default false - */ - preventDefault: false, - /** - * disable mouse events, so only touch (or pen!) input triggers events - * @property preventMouse - * @type {Boolean} - * @default false - */ - preventMouse: false - }, - handler: function touchGesture(ev, inst) { - if(inst.options.preventMouse && ev.pointerType == POINTER_MOUSE) { - ev.stopDetect(); - return; - } + // https://github.com/umdjs/umd/blob/master/returnExports.js#L40-L60 + // if the module has no dependencies, the above pattern can be simplified to + (function (root, factory) { + if (true) { + // AMD. Register as an anonymous module. + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.keycharm = factory(); + } + }(this, function () { - if(inst.options.preventDefault) { - ev.preventDefault(); - } + function keycharm(options) { + var preventDefault = options && options.preventDefault || false; - if(ev.eventType == EVENT_TOUCH) { - inst.trigger('touch', ev); - } - } - }; + var container = options && options.container || window; - /** - * @module gestures - */ - /** - * User want to scale or rotate with 2 fingers - * Preventing the default browser behavior is a good way to improve feel and working. This can be done with the - * `preventDefault` option. - * - * @class Transform - * @static - */ - /** - * @event transform - * @param {Object} ev - */ - /** - * @event transformstart - * @param {Object} ev - */ - /** - * @event transformend - * @param {Object} ev - */ - /** - * @event pinchin - * @param {Object} ev - */ - /** - * @event pinchout - * @param {Object} ev - */ - /** - * @event rotate - * @param {Object} ev - */ + var _exportFunctions = {}; + var _bound = {keydown:{}, keyup:{}}; + var _keys = {}; + var i; - /** - * @param {String} name - */ - (function(name) { - var triggered = false; + // a - z + for (i = 97; i <= 122; i++) {_keys[String.fromCharCode(i)] = {code:65 + (i - 97), shift: false};} + // A - Z + for (i = 65; i <= 90; i++) {_keys[String.fromCharCode(i)] = {code:i, shift: true};} + // 0 - 9 + for (i = 0; i <= 9; i++) {_keys['' + i] = {code:48 + i, shift: false};} + // F1 - F12 + for (i = 1; i <= 12; i++) {_keys['F' + i] = {code:111 + i, shift: false};} + // num0 - num9 + for (i = 0; i <= 9; i++) {_keys['num' + i] = {code:96 + i, shift: false};} - function transformGesture(ev, inst) { - switch(ev.eventType) { - case EVENT_START: - triggered = false; - break; + // numpad misc + _keys['num*'] = {code:106, shift: false}; + _keys['num+'] = {code:107, shift: false}; + _keys['num-'] = {code:109, shift: false}; + _keys['num/'] = {code:111, shift: false}; + _keys['num.'] = {code:110, shift: false}; + // arrows + _keys['left'] = {code:37, shift: false}; + _keys['up'] = {code:38, shift: false}; + _keys['right'] = {code:39, shift: false}; + _keys['down'] = {code:40, shift: false}; + // extra keys + _keys['space'] = {code:32, shift: false}; + _keys['enter'] = {code:13, shift: false}; + _keys['shift'] = {code:16, shift: undefined}; + _keys['esc'] = {code:27, shift: false}; + _keys['backspace'] = {code:8, shift: false}; + _keys['tab'] = {code:9, shift: false}; + _keys['ctrl'] = {code:17, shift: false}; + _keys['alt'] = {code:18, shift: false}; + _keys['delete'] = {code:46, shift: false}; + _keys['pageup'] = {code:33, shift: false}; + _keys['pagedown'] = {code:34, shift: false}; + // symbols + _keys['='] = {code:187, shift: false}; + _keys['-'] = {code:189, shift: false}; + _keys[']'] = {code:221, shift: false}; + _keys['['] = {code:219, shift: false}; - case EVENT_MOVE: - // at least multitouch - if(ev.touches.length < 2) { - return; - } - var scaleThreshold = Math.abs(1 - ev.scale); - var rotationThreshold = Math.abs(ev.rotation); - // when the distance we moved is too small we skip this gesture - // or we can be already in dragging - if(scaleThreshold < inst.options.transformMinScale && - rotationThreshold < inst.options.transformMinRotation) { - return; - } + var down = function(event) {handleEvent(event,'keydown');}; + var up = function(event) {handleEvent(event,'keyup');}; - // we are transforming! - Detection.current.name = name; + // handle the actualy bound key with the event + var handleEvent = function(event,type) { + if (_bound[type][event.keyCode] !== undefined) { + var bound = _bound[type][event.keyCode]; + for (var i = 0; i < bound.length; i++) { + if (bound[i].shift === undefined) { + bound[i].fn(event); + } + else if (bound[i].shift == true && event.shiftKey == true) { + bound[i].fn(event); + } + else if (bound[i].shift == false && event.shiftKey == false) { + bound[i].fn(event); + } + } - // first time, trigger dragstart event - if(!triggered) { - inst.trigger(name + 'start', ev); - triggered = true; - } + if (preventDefault == true) { + event.preventDefault(); + } + } + }; - inst.trigger(name, ev); // basic transform event + // bind a key to a callback + _exportFunctions.bind = function(key, callback, type) { + if (type === undefined) { + type = 'keydown'; + } + if (_keys[key] === undefined) { + throw new Error("unsupported key: " + key); + } + if (_bound[type][_keys[key].code] === undefined) { + _bound[type][_keys[key].code] = []; + } + _bound[type][_keys[key].code].push({fn:callback, shift:_keys[key].shift}); + }; - // trigger rotate event - if(rotationThreshold > inst.options.transformMinRotation) { - inst.trigger('rotate', ev); - } - // trigger pinch event - if(scaleThreshold > inst.options.transformMinScale) { - inst.trigger('pinch', ev); - inst.trigger('pinch' + (ev.scale < 1 ? 'in' : 'out'), ev); - } - break; + // bind all keys to a call back (demo purposes) + _exportFunctions.bindAll = function(callback, type) { + if (type === undefined) { + type = 'keydown'; + } + for (var key in _keys) { + if (_keys.hasOwnProperty(key)) { + _exportFunctions.bind(key,callback,type); + } + } + }; - case EVENT_RELEASE: - if(triggered && ev.changedLength < 2) { - inst.trigger(name + 'end', ev); - triggered = false; - } - break; + // get the key label from an event + _exportFunctions.getKey = function(event) { + for (var key in _keys) { + if (_keys.hasOwnProperty(key)) { + if (event.shiftKey == true && _keys[key].shift == true && event.keyCode == _keys[key].code) { + return key; + } + else if (event.shiftKey == false && _keys[key].shift == false && event.keyCode == _keys[key].code) { + return key; + } + else if (event.keyCode == _keys[key].code && key == 'shift') { + return key; + } } - } + } + return "unknown key, currently not supported"; + }; - Hammer.gestures.Transform = { - name: name, - index: 45, - defaults: { - /** - * minimal scale factor, no scale is 1, zoomin is to 0 and zoomout until higher then 1 - * @property transformMinScale - * @type {Number} - * @default 0.01 - */ - transformMinScale: 0.01, + // unbind either a specific callback from a key or all of them (by leaving callback undefined) + _exportFunctions.unbind = function(key, callback, type) { + if (type === undefined) { + type = 'keydown'; + } + if (_keys[key] === undefined) { + throw new Error("unsupported key: " + key); + } + if (callback !== undefined) { + var newBindings = []; + var bound = _bound[type][_keys[key].code]; + if (bound !== undefined) { + for (var i = 0; i < bound.length; i++) { + if (!(bound[i].fn == callback && bound[i].shift == _keys[key].shift)) { + newBindings.push(_bound[type][_keys[key].code][i]); + } + } + } + _bound[type][_keys[key].code] = newBindings; + } + else { + _bound[type][_keys[key].code] = []; + } + }; - /** - * rotation in degrees - * @property transformMinRotation - * @type {Number} - * @default 1 - */ - transformMinRotation: 1 - }, + // reset all bound variables. + _exportFunctions.reset = function() { + _bound = {keydown:{}, keyup:{}}; + }; - handler: transformGesture + // unbind all listeners and reset all variables. + _exportFunctions.destroy = function() { + _bound = {keydown:{}, keyup:{}}; + container.removeEventListener('keydown', down, true); + container.removeEventListener('keyup', up, true); }; - })('transform'); - /** - * @module hammer - */ + // create listeners. + container.addEventListener('keydown',down,true); + container.addEventListener('keyup',up,true); + + // return the public functions. + return _exportFunctions; + } + + return keycharm; + })); + - // AMD export - 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__)); - // commonjs export - } else if(typeof module !== 'undefined' && module.exports) { - module.exports = Hammer; - // browser export - } else { - window.Hammer = Hammer; - } - })(window); /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { var util = __webpack_require__(1); - var RepulsionMixin = __webpack_require__(67); - var HierarchialRepulsionMixin = __webpack_require__(68); - var BarnesHutMixin = __webpack_require__(69); + var RepulsionMixin = __webpack_require__(68); + var HierarchialRepulsionMixin = __webpack_require__(69); + var BarnesHutMixin = __webpack_require__(70); /** * Toggling barnes Hut calculation on and off. @@ -29890,6 +30227,9 @@ return /******/ (function(modules) { // webpackBootstrap this.backupConstants = {}; util.deepExtend(this.backupConstants,this.constants); + var maxGravitational = Math.max(20000, (-1 * this.constants.physics.barnesHut.gravitationalConstant) * 10); + var maxSpring = Math.min(0.05, this.constants.physics.barnesHut.springConstant * 10) + var hierarchicalLayoutDirections = ["LR", "RL", "UD", "DU"]; this.physicsConfiguration = document.createElement('div'); this.physicsConfiguration.className = "PhysicsConfiguration"; @@ -29904,16 +30244,16 @@ return /******/ (function(modules) { // webpackBootstrap '' + '' + '' + - '' + + '' + '' + '' + - '' + + '' + '' + '' + '' + '' + '' + - '' + + '' + '' + '' + '' + @@ -30309,7 +30649,7 @@ return /******/ (function(modules) { // webpackBootstrap // this is called here because if clusterin is disabled, the start and stabilize are called in // the setData function. - if (this.stabilize) { + if (this.constants.stabilize == true) { this._stabilize(); } this.start(); @@ -30329,14 +30669,14 @@ return /******/ (function(modules) { // webpackBootstrap // we first cluster the hubs, then we pull in the outliers, repeat while (numberOfNodes > maxNumberOfNodes && level < maxLevels) { - if (level % 3 == 0) { + if (level % 3 == 0.0) { this.forceAggregateHubs(true); this.normalizeClusterLevels(); } else { this.increaseClusterLevel(); // this also includes a cluster normalization } - + this.forceAggregateHubs(true); numberOfNodes = this.nodeIndices.length; level += 1; } @@ -30349,7 +30689,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /** - * This function can be called to open up a specific cluster. It is only called by + * This function can be called to open up a specific cluster. * It will unpack the cluster back one level. * * @param node | Node object: cluster to open. @@ -30372,9 +30712,8 @@ return /******/ (function(modules) { // webpackBootstrap else { this._expandClusterNode(node,false,true); - // update the index list, dynamic edges and labels + // update the index list and labels this._updateNodeIndexList(); - this._updateDynamicEdges(); this._updateCalculationNodes(); this.updateLabels(); } @@ -30390,7 +30729,7 @@ return /******/ (function(modules) { // webpackBootstrap * This calls the updateClustes with default arguments */ exports.updateClustersDefault = function() { - if (this.constants.clustering.enabled == true) { + if (this.constants.clustering.enabled == true && this.constants.clustering.clusterByZoom == true) { this.updateClusters(0,false,false); } }; @@ -30432,18 +30771,21 @@ return /******/ (function(modules) { // webpackBootstrap var isMovingBeforeClustering = this.moving; var amountOfNodes = this.nodeIndices.length; + var detectedZoomingIn = (this.previousScale < this.scale && zoomDirection == 0); + var detectedZoomingOut = (this.previousScale > this.scale && zoomDirection == 0); + // on zoom out collapse the sector if the scale is at the level the sector was made - if (this.previousScale > this.scale && zoomDirection == 0) { + if (detectedZoomingOut == true) { this._collapseSector(); } // check if we zoom in or out - if (this.previousScale > this.scale || zoomDirection == -1) { // zoom out + if (detectedZoomingOut == true || zoomDirection == -1) { // zoom out // forming clusters when forced pulls outliers in. When not forced, the edge length of the // outer nodes determines if it is being clustered this._formClusters(force); } - else if (this.previousScale < this.scale || zoomDirection == 1) { // zoom in + else if (detectedZoomingIn == true || zoomDirection == 1) { // zoom in if (force == true) { // _openClusters checks for each node if the formationScale of the cluster is smaller than // the current scale and if so, declusters. When forced, all clusters are reduced by one step @@ -30451,27 +30793,27 @@ return /******/ (function(modules) { // webpackBootstrap } else { // if a cluster takes up a set percentage of the active window - this._openClustersBySize(); + //this._openClustersBySize(); + this._openClusters(recursive, false); } } this._updateNodeIndexList(); // if a cluster was NOT formed and the user zoomed out, we try clustering by hubs - if (this.nodeIndices.length == amountOfNodes && (this.previousScale > this.scale || zoomDirection == -1)) { + if (this.nodeIndices.length == amountOfNodes && (detectedZoomingOut == true || zoomDirection == -1)) { this._aggregateHubs(force); this._updateNodeIndexList(); } // we now reduce chains. - if (this.previousScale > this.scale || zoomDirection == -1) { // zoom out + if (detectedZoomingOut == true || zoomDirection == -1) { // zoom out this.handleChains(); this._updateNodeIndexList(); } this.previousScale = this.scale; - // rest of the update the index list, dynamic edges and labels - this._updateDynamicEdges(); + // update labels this.updateLabels(); // if a cluster was formed, we increase the clusterSession @@ -30516,7 +30858,7 @@ return /******/ (function(modules) { // webpackBootstrap /** - * This function is fired by keypress. It forces hubs to form. + * This function forces hubs to form. * */ exports.forceAggregateHubs = function(doNotStart) { @@ -30527,9 +30869,10 @@ return /******/ (function(modules) { // webpackBootstrap // update the index list, dynamic edges and labels this._updateNodeIndexList(); - this._updateDynamicEdges(); this.updateLabels(); + this._updateCalculationNodes(); + // if a cluster was formed, we increase the clusterSession if (this.nodeIndices.length != amountOfNodes) { this.clusterSession += 1; @@ -30549,13 +30892,15 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ exports._openClustersBySize = function() { - for (var nodeId in this.nodes) { - if (this.nodes.hasOwnProperty(nodeId)) { - var node = this.nodes[nodeId]; - if (node.inView() == true) { - if ((node.width*this.scale > this.constants.clustering.screenSizeThreshold * this.frame.canvas.clientWidth) || - (node.height*this.scale > this.constants.clustering.screenSizeThreshold * this.frame.canvas.clientHeight)) { - this.openCluster(node); + if (this.constants.clustering.clusterByZoom == true) { + for (var nodeId in this.nodes) { + if (this.nodes.hasOwnProperty(nodeId)) { + var node = this.nodes[nodeId]; + if (node.inView() == true) { + if ((node.width * this.scale > this.constants.clustering.screenSizeThreshold * this.frame.canvas.clientWidth) || + (node.height * this.scale > this.constants.clustering.screenSizeThreshold * this.frame.canvas.clientHeight)) { + this.openCluster(node); + } } } } @@ -30591,12 +30936,12 @@ return /******/ (function(modules) { // webpackBootstrap exports._expandClusterNode = function(parentNode, recursive, force, openAll) { // first check if node is a cluster if (parentNode.clusterSize > 1) { - // this means that on a double tap event or a zoom event, the cluster fully unpacks if it is smaller than 20 - if (parentNode.clusterSize < this.constants.clustering.sectorThreshold) { - openAll = true; + if (openAll === undefined) { + openAll = false; } - recursive = openAll ? true : recursive; + // this means that on a double tap event or a zoom event, the cluster fully unpacks if it is smaller than 20 + recursive = openAll || recursive; // if the last child has been added on a smaller scale than current scale decluster if (parentNode.formationScale < this.scale || force == true) { // we will check if any of the contained child nodes should be removed from the cluster @@ -30639,7 +30984,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ exports._expelChildFromParent = function(parentNode, containedNodeId, recursive, force, openAll) { - var childNode = parentNode.containedNodes[containedNodeId]; + var childNode = parentNode.containedNodes[containedNodeId] // if child node has been added on smaller scale than current, kick out if (childNode.formationScale < this.scale || force == true) { @@ -30662,7 +31007,6 @@ return /******/ (function(modules) { // webpackBootstrap parentNode.options.mass -= childNode.options.mass; parentNode.clusterSize -= childNode.clusterSize; parentNode.options.fontSize = Math.min(this.constants.clustering.maxFontSize, this.constants.nodes.fontSize + this.constants.clustering.fontSizeMultiplier*(parentNode.clusterSize-1)); - parentNode.dynamicEdgesLength = parentNode.dynamicEdges.length; // place the child node near the parent, not at the exact same location to avoid chaos in the system childNode.x = parentNode.x + parentNode.growthIndicator * (0.5 - Math.random()); @@ -30730,7 +31074,9 @@ return /******/ (function(modules) { // webpackBootstrap */ exports._formClusters = function(force) { if (force == false) { - this._formClustersByZoom(); + if (this.constants.clustering.clusterByZoom == true) { + this._formClustersByZoom(); + } } else { this._forceClustersByZoom(); @@ -30744,8 +31090,8 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ exports._formClustersByZoom = function() { - var dx,dy,length, - minLength = this.constants.clustering.clusterEdgeThreshold/this.scale; + var dx,dy,length; + var minLength = this.constants.clustering.clusterEdgeThreshold/this.scale; // check if any edges are shorter than minLength and start the clustering // the clustering favours the node with the larger mass @@ -30768,10 +31114,10 @@ return /******/ (function(modules) { // webpackBootstrap childNode = edge.from; } - if (childNode.dynamicEdgesLength == 1) { + if (childNode.dynamicEdges.length == 1) { this._addToCluster(parentNode,childNode,false); } - else if (parentNode.dynamicEdgesLength == 1) { + else if (parentNode.dynamicEdges.length == 1) { this._addToCluster(childNode,parentNode,false); } } @@ -30794,10 +31140,9 @@ return /******/ (function(modules) { // webpackBootstrap var childNode = this.nodes[nodeId]; // the edges can be swallowed by another decrease - if (childNode.dynamicEdgesLength == 1 && childNode.dynamicEdges.length != 0) { + if (childNode.dynamicEdges.length == 1) { var edge = childNode.dynamicEdges[0]; var parentNode = (edge.toId == childNode.id) ? this.nodes[edge.fromId] : this.nodes[edge.toId]; - // group to the largest node if (childNode.id != parentNode.id) { if (parentNode.options.mass > childNode.options.mass) { @@ -30877,9 +31222,13 @@ return /******/ (function(modules) { // webpackBootstrap if (absorptionSizeOffset === undefined) { absorptionSizeOffset = 0; } + //this.hubThreshold = 43 + //if (hubNode.dynamicEdgesLength < 0) { + // console.error(hubNode.dynamicEdgesLength, this.hubThreshold, onlyEqual) + //} // we decide if the node is a hub - if ((hubNode.dynamicEdgesLength >= this.hubThreshold && onlyEqual == false) || - (hubNode.dynamicEdgesLength == this.hubThreshold && onlyEqual == true)) { + if ((hubNode.dynamicEdges.length >= this.hubThreshold && onlyEqual == false) || + (hubNode.dynamicEdges.length == this.hubThreshold && onlyEqual == true)) { // initialize variables var dx,dy,length; var minLength = this.constants.clustering.clusterEdgeThreshold/this.scale; @@ -30892,7 +31241,7 @@ return /******/ (function(modules) { // webpackBootstrap edgesIdarray.push(hubNode.dynamicEdges[j].id); } - // if the hub clustering is not forces, we check if one of the edges connected + // if the hub clustering is not forced, we check if one of the edges connected // to a cluster is small enough based on the constants.clustering.clusterEdgeThreshold if (force == false) { allowCluster = false; @@ -30917,19 +31266,31 @@ return /******/ (function(modules) { // webpackBootstrap // start the clustering if allowed if ((!force && allowCluster) || force) { - // we loop over all edges INITIALLY connected to this hub + var children = []; + var childrenIds = {}; + // we loop over all edges INITIALLY connected to this hub to get a list of the childNodes for (j = 0; j < amountOfInitialEdges; j++) { edge = this.edges[edgesIdarray[j]]; - // the edge can be clustered by this function in a previous loop - if (edge !== undefined) { - var childNode = this.nodes[(edge.fromId == hubNode.id) ? edge.toId : edge.fromId]; - // we do not want hubs to merge with other hubs nor do we want to cluster itself. - if ((childNode.dynamicEdges.length <= (this.hubThreshold + absorptionSizeOffset)) && - (childNode.id != hubNode.id)) { - this._addToCluster(hubNode,childNode,force); - } + var childNode = this.nodes[(edge.fromId == hubNode.id) ? edge.toId : edge.fromId]; + if (childrenIds[childNode.id] === undefined) { + childrenIds[childNode.id] = true; + children.push(childNode); + } + } + + for (j = 0; j < children.length; j++) { + var childNode = children[j]; + // we do not want hubs to merge with other hubs nor do we want to cluster itself. + if ((childNode.dynamicEdges.length <= (this.hubThreshold + absorptionSizeOffset)) && + (childNode.id != hubNode.id)) { + this._addToCluster(hubNode,childNode,force); + + } + else { + //console.log("WILL NOT MERGE:",childNode.dynamicEdges.length , (this.hubThreshold + absorptionSizeOffset)) } } + } } }; @@ -30947,14 +31308,16 @@ return /******/ (function(modules) { // webpackBootstrap exports._addToCluster = function(parentNode, childNode, force) { // join child node in the parent node parentNode.containedNodes[childNode.id] = childNode; - + //console.log(parentNode.id, childNode.id) // manage all the edges connected to the child and parent nodes for (var i = 0; i < childNode.dynamicEdges.length; i++) { var edge = childNode.dynamicEdges[i]; if (edge.toId == parentNode.id || edge.fromId == parentNode.id) { // edge connected to parentNode + //console.log("COLLECT",parentNode.id, childNode.id, edge.toId, edge.fromId) this._addToContainedEdges(parentNode,childNode,edge); } else { + //console.log("REWIRE",parentNode.id, childNode.id, edge.toId, edge.fromId) this._connectEdgeToCluster(parentNode,childNode,edge); } } @@ -30982,7 +31345,6 @@ return /******/ (function(modules) { // webpackBootstrap // forced clusters only open from screen size and double tap if (force == true) { - // parentNode.formationScale = Math.pow(1 - (1.0/11.0),this.clusterSession+3); parentNode.formationScale = 0; } else { @@ -31006,36 +31368,6 @@ return /******/ (function(modules) { // webpackBootstrap }; - /** - * This function will apply the changes made to the remainingEdges during the formation of the clusters. - * This is a seperate function to allow for level-wise collapsing of the node barnesHutTree. - * It has to be called if a level is collapsed. It is called by _formClusters(). - * @private - */ - exports._updateDynamicEdges = function() { - for (var i = 0; i < this.nodeIndices.length; i++) { - var node = this.nodes[this.nodeIndices[i]]; - node.dynamicEdgesLength = node.dynamicEdges.length; - - // this corrects for multiple edges pointing at the same other node - var correction = 0; - if (node.dynamicEdgesLength > 1) { - for (var j = 0; j < node.dynamicEdgesLength - 1; j++) { - var edgeToId = node.dynamicEdges[j].toId; - var edgeFromId = node.dynamicEdges[j].fromId; - for (var k = j+1; k < node.dynamicEdgesLength; k++) { - if ((node.dynamicEdges[k].toId == edgeToId && node.dynamicEdges[k].fromId == edgeFromId) || - (node.dynamicEdges[k].fromId == edgeToId && node.dynamicEdges[k].toId == edgeFromId)) { - correction += 1; - } - } - } - } - node.dynamicEdgesLength -= correction; - } - }; - - /** * This adds an edge from the childNode to the contained edges of the parent node * @@ -31046,7 +31378,7 @@ return /******/ (function(modules) { // webpackBootstrap */ exports._addToContainedEdges = function(parentNode, childNode, edge) { // create an array object if it does not yet exist for this childNode - if (!(parentNode.containedEdges.hasOwnProperty(childNode.id))) { + if (parentNode.containedEdges[childNode.id] === undefined) { parentNode.containedEdges[childNode.id] = [] } // add this edge to the list @@ -31085,7 +31417,6 @@ return /******/ (function(modules) { // webpackBootstrap edge.toId = parentNode.id; } else { // edge connected to other node with the "from" side - edge.originalFromId.push(childNode.id); edge.from = parentNode; edge.fromId = parentNode.id; @@ -31186,12 +31517,14 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ exports._validateEdges = function(parentNode) { + var dynamicEdges = [] for (var i = 0; i < parentNode.dynamicEdges.length; i++) { var edge = parentNode.dynamicEdges[i]; - if (parentNode.id != edge.toId && parentNode.id != edge.fromId) { - parentNode.dynamicEdges.splice(i,1); + if (parentNode.id == edge.toId || parentNode.id == edge.fromId) { + dynamicEdges.push(edge); } } + parentNode.dynamicEdges = dynamicEdges; }; @@ -31259,7 +31592,7 @@ return /******/ (function(modules) { // webpackBootstrap // for (nodeId in this.nodes) { // if (this.nodes.hasOwnProperty(nodeId)) { // node = this.nodes[nodeId]; - // node.label = String(node.level); + // node.label = String(node.clusterSize + ":" + node.dynamicEdges.length); // } // } @@ -31299,7 +31632,6 @@ return /******/ (function(modules) { // webpackBootstrap } } this._updateNodeIndexList(); - this._updateDynamicEdges(); // if a cluster was formed, we increase the clusterSession if (this.nodeIndices.length != amountOfNodes) { this.clusterSession += 1; @@ -31360,11 +31692,11 @@ return /******/ (function(modules) { // webpackBootstrap for (var i = 0; i < this.nodeIndices.length; i++) { var node = this.nodes[this.nodeIndices[i]]; - if (node.dynamicEdgesLength > largestHub) { - largestHub = node.dynamicEdgesLength; + if (node.dynamicEdges.length > largestHub) { + largestHub = node.dynamicEdges.length; } - average += node.dynamicEdgesLength; - averageSquared += Math.pow(node.dynamicEdgesLength,2); + average += node.dynamicEdges.length; + averageSquared += Math.pow(node.dynamicEdges.length,2); hubCounter += 1; } average = average / hubCounter; @@ -31398,7 +31730,7 @@ return /******/ (function(modules) { // webpackBootstrap var reduceAmount = Math.floor(this.nodeIndices.length * fraction); for (var nodeId in this.nodes) { if (this.nodes.hasOwnProperty(nodeId)) { - if (this.nodes[nodeId].dynamicEdgesLength == 2 && this.nodes[nodeId].dynamicEdges.length >= 2) { + if (this.nodes[nodeId].dynamicEdges.length == 2) { if (reduceAmount > 0) { this._formClusterFromHub(this.nodes[nodeId],true,true,1); reduceAmount -= 1; @@ -31419,7 +31751,7 @@ return /******/ (function(modules) { // webpackBootstrap var total = 0; for (var nodeId in this.nodes) { if (this.nodes.hasOwnProperty(nodeId)) { - if (this.nodes[nodeId].dynamicEdgesLength == 2 && this.nodes[nodeId].dynamicEdges.length >= 2) { + if (this.nodes[nodeId].dynamicEdges.length == 2) { chains += 1; } total += 1; @@ -32723,7 +33055,7 @@ return /******/ (function(modules) { // webpackBootstrap delete this.sectors['support']['nodes']['targetNode']; delete this.sectors['support']['nodes']['targetViaNode']; this.controlNodesActive = false; - this.freezeSimulation = false; + this.freezeSimulationEnabled = false; }; /** @@ -32792,7 +33124,7 @@ return /******/ (function(modules) { // webpackBootstrap this._restoreOverloadedFunctions(); // resume calculation - this.freezeSimulation = false; + this.freezeSimulationEnabled = false; // reset global variables this.blockConnectingEdgeSelection = false; @@ -32962,7 +33294,7 @@ return /******/ (function(modules) { // webpackBootstrap // clear the toolbar this._clearManipulatorBar(); this._unselectAll(true); - this.freezeSimulation = true; + this.freezeSimulationEnabled = true; if (this.boundFunction) { this.off('select', this.boundFunction); @@ -33009,10 +33341,12 @@ return /******/ (function(modules) { // webpackBootstrap this.cachedFunctions["_manipulationReleaseOverload"] = this._manipulationReleaseOverload; this.cachedFunctions["_handleDragStart"] = this._handleDragStart; this.cachedFunctions["_handleDragEnd"] = this._handleDragEnd; + this.cachedFunctions["_handleOnHold"] = this._handleOnHold; this._handleTouch = this._handleConnect; this._manipulationReleaseOverload = function () {}; + this._handleOnHold = function () {}; this._handleDragStart = function () {}; - this._handleDragEnd = this._finishConnect; + this._handleDragEnd = this._finishConnect; // redraw to show the unselect this._redraw(); @@ -33091,7 +33425,7 @@ return /******/ (function(modules) { // webpackBootstrap this.selectedControlNode = this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(pointer.x),this._YconvertDOMtoCanvas(pointer.y)); if (this.selectedControlNode !== null) { this.selectedControlNode.select(); - this.freezeSimulation = true; + this.freezeSimulationEnabled = true; } this._redraw(); }; @@ -33135,7 +33469,7 @@ return /******/ (function(modules) { // webpackBootstrap else { this.edgeBeingEdited._restoreControlNodes(); } - this.freezeSimulation = false; + this.freezeSimulationEnabled = false; this._redraw(); }; @@ -33627,7 +33961,7 @@ return /******/ (function(modules) { // webpackBootstrap // if the user defined some levels but not all, alert and run without hierarchical layout if (undefinedLevel == true && definedLevel == true) { throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes."); - this.zoomExtent(undefined,true,this.constants.clustering.enabled); + this.zoomExtent({duration:0},true,this.constants.clustering.enabled); if (!this.constants.clustering.enabled) { this.start(); } @@ -33986,6 +34320,19 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 67 */ +/***/ function(module, exports, __webpack_require__) { + + function webpackContext(req) { + throw new Error("Cannot find module '" + req + "'."); + } + webpackContext.keys = function() { return []; }; + webpackContext.resolve = webpackContext; + module.exports = webpackContext; + webpackContext.id = 67; + + +/***/ }, +/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34055,7 +34402,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 68 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34214,7 +34561,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 69 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { /** @@ -34618,19 +34965,6 @@ return /******/ (function(modules) { // webpackBootstrap }; -/***/ }, -/* 70 */ -/***/ function(module, exports, __webpack_require__) { - - function webpackContext(req) { - throw new Error("Cannot find module '" + req + "'."); - } - webpackContext.keys = function() { return []; }; - webpackContext.resolve = webpackContext; - module.exports = webpackContext; - webpackContext.id = 70; - - /***/ }, /* 71 */ /***/ function(module, exports, __webpack_require__) { diff --git a/dist/vis.map b/dist/vis.map index 0052820a..6dff8588 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","RGBToHex","red","green","blue","slice","parseColor","color","isValidRGB","rgb","substr","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","max","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","args","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","scale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","obj","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","Core","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","e","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","time","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","parent","selected","displayed","dirty","Hammer","select","unselect","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","foreground","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","prevent_default","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","labelSet","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","markDirty","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldGroup","_constructByEndArray","itemFromTarget","initialX","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_determineBrowserMethod","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","physicsTime","runDoubleSpeed","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","level","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","labelAlignment","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","thetaInverted","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","maxVelocity","minVelocity","stabilize","stabilizationIterations","zoomExtentOnStabilize","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","existing","_new","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","startedStabilization","stabilized","draggingNodes","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","browserType","requiresTimeout","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","boundingBox","_findCenter","animationOptions","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","_createManipulatorBar","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_bindHammer","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","dispose","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_deleteSelected","_cleanupPhysicsConfiguration","_recursiveDOMDelete","DOMobject","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","nodeUnderCursor","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_revertPhysicsState","revertPosition","_revertPhysicsTick","_doInAllActiveSectors","_doInSupportSector","mainMovingStatus","supportMovingStatus","mainMoving","_animationStep","_handleNavigation","startTime","renderStartTime","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","iterations","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getScale","getCenterCoordinates","getBoundingBox","networkConstants","fromId","toId","widthSelected","labelDimensions","yLine","dirtyLabel","fromBackup","toBackup","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","atan2","rotate","lineMargin","fillRect","lineJoin","strokeText","setLineDash","pattern","lineDashOffset","lineCap","dashedLine","percentage","arrow","_pointOnBezier","_findBorderPosition","distanceToBorder","distanceToNodes","difference","threshold","arrowPos","guidePos","edgeSegmentLength","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodeFromPosition","getControlNodeToPosition","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","controlnodeFromPos","fromBorderDist","fromBorderPoint","controlnodeToPos","defaultIndex","DEFAULT","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","imagelist","grouplist","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","previousState","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawCircularImage","_resizeCircularImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","storeState","isFixed","velocity","getDistance","_drawImageAtPosition","globalAlpha","drawImage","_drawImageLabel","getTextSize","_swapToImageResizeWhenImageLoaded","diameter","centerX","centerY","_drawRawCircle","circle","clip","textSize","clusterLineWidth","selectionLineWidth","roundRect","database","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","graphData","dotNode","graphNode","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","what","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","code","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","monthDiff","anchor2","adjust","wholeMonthDiff","meridiemFixWrap","meridiem","isPm","meridiemHour","isPM","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","updateInProgress","updateOffset","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","isValid","_isValid","getTime","bigHour","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","model","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenOffsetMs","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","_ordinalParse","_ordinalParseLenient","RegExp","regexpEscape","unescapeFormat","utcOffsetFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_meridiem","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","_nextDay","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","SS","SSS","SSSS","Z","utcOffset","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_longMonthsParse","_shortMonthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LTS","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","firstDayOfYear","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","relativeTimeThreshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateUtcOffset","inputString","asFloat","that","zoneDiff","humanize","fromNow","sod","startOf","isDST","getDay","endOf","inputMs","isBetween","zone","localAdjust","_changeInProgress","isLocal","isUtcOffset","isUtc","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","isUTC","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","ordinalParse","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","boundFunction","edgeBeingEdited","selectedControlNode","_createAddNodeToolbar","_createAddEdgeToolbar","_editNode","_createEditEdgeToolbar","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackContext","req","resolve","webpackPolyfill","paths"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","f","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easeInOutQuad","start","end","duration","change","easingFunctions","linear","easeInQuad","easeOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","col","cols","getValue","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","args","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","obj","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","currentTime","customTime","itemSet","itemsData","groupsData","setGroups","setItems","_redraw","Core","markDirty","refreshItems","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animate","fit","setSelection","focus","getSelection","itemData","e","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","convertHiddenOptions","repeat","dateItem","updateHiddenDates","centerContainer","totalRange","pixelTime","startDate","endDate","_d","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","console","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","newValue","switchedYear","switchedMonth","switchedDay","time","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","decimals","exp","cnt","isMajor","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","byUser","_cancelAnimation","initStart","initEnd","initTime","anyChanged","dragging","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","gesture","deltaX","deltaY","diffRange","safeStart","safeEnd","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","snap","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","parent","selected","displayed","dirty","Hammer","select","unselect","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","emptyContent","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","foreground","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","drag","prevent_default","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","zeroCrossing","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","amountOfSteps","stepDifference","zeroStepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","labelSet","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldGroup","_constructByEndArray","itemFromTarget","initialX","itemProps","newProps","initial","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarGraphFunctions","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedDataLeft","barCombinedDataRight","getStackedBarYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_determineBrowserMethod","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","physicsTime","runDoubleSpeed","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","customScalingFunction","nodes","mass","radiusMin","radiusMax","shape","image","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","fontDrawThreshold","scaleFontWithValue","fontSizeMin","fontSizeMax","fontSizeMaxVisible","level","borderWidthSelected","edges","widthSelectionMultiplier","hoverWidth","labelAlignment","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","thetaInverted","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","clusterByZoom","navigation","keyboard","speed","bindToWindow","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","maxVelocity","minVelocity","stabilize","stabilizationIterations","zoomExtentOnStabilize","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","pixelRatio","hoverObj","controlNodesActive","navigationHammers","existing","_new","animationSpeed","animationEasingFunction","animating","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","images","setOnloadCallback","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulationEnabled","cachedFunctions","startedStabilization","stabilized","draggingNodes","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","keycharm","MixinLoader","Activator","browserType","requiresTimeout","_getScriptPath","scripts","getElementsByTagName","src","_getRange","specificNodes","node","minY","maxY","minX","maxX","boundingBox","nodeId","_findCenter","initialZoom","disableStart","zoomLevel","positionDefined","predefinedPosition","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","animation","_updateNodeIndexList","_clearNodeIndexList","idx","_unselectAll","_createManipulatorBar","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_bindHammer","_markAllEdgesAsDirty","tabIndex","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","dispose","pinch","_onTap","_onDoubleTap","_onMouseMoveTitle","hammerFrame","_onRelease","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_deleteSelected","_cleanupPhysicsConfiguration","_recursiveDOMDelete","DOMobject","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","nodeIds","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","releaseNode","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleDragEnd","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","nodeUnderCursor","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","edge","connected","popup","setPosition","setText","emitEvent","oldWidth","oldHeight","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","changedData","setProperties","properties","colorDirty","_removeFromSelection","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","dynamicEdges","valueTotal","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_revertPhysicsState","revertPosition","_revertPhysicsTick","_doInAllActiveSectors","_doInSupportSector","mainMovingStatus","supportMovingStatus","mainMoving","_animationStep","_handleNavigation","startTime","renderStartTime","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","iterations","freezeSimulation","freeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","storePositions","dataArray","allowedToMoveX","allowedToMoveY","getPositions","focusOnNode","nodePosition","lockedOnNode","easingFunction","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_classicRedraw","_lockedRedraw","active","getCenterCoordinates","getBoundingBox","getConnectedNodes","nodeList","nodeObj","toId","fromId","networkConstants","widthSelected","labelDimensions","yLine","dirtyLabel","fromBackup","toBackup","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","widthDiff","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","lineCount","measureText","_rotateForLabelAlignment","_drawLabelRect","_drawLabelText","angleInDegrees","atan2","rotate","lineMargin","fillRect","lineJoin","strokeText","setLineDash","pattern","lineDashOffset","lineCap","dashedLine","percentage","arrow","_pointOnBezier","_findBorderPosition","distanceToBorder","distanceToNodes","difference","threshold","arrowPos","guidePos","edgeSegmentLength","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodeFromPosition","getControlNodeToPosition","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","controlnodeFromPos","fromBorderDist","fromBorderPoint","controlnodeToPos","defaultIndex","DEFAULT","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","imagelist","grouplist","reroutedEdges","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","previousState","resetCluster","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","brokenImage","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawCircularImage","_resizeCircularImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","storeState","isFixed","velocity","getDistance","radiusDiff","fontDiff","_drawImageAtPosition","globalAlpha","drawImage","_drawImageLabel","getTextSize","_swapToImageResizeWhenImageLoaded","diameter","centerX","centerY","_drawRawCircle","circle","clip","textSize","clusterLineWidth","selectionLineWidth","roundRect","database","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","relativeFontSize","strokecolor","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","fontFamily","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","graphData","dotNode","graphNode","convertEdge","dotEdge","graphEdge","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","listeners","events","scrollTopMin","redrawCount","_initAutoResize","component","_stopAutoResize","what","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","barCombinedData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","accumulated","groupLabel","_getStackedBarYRange","xpos","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","__WEBPACK_AMD_DEFINE_RESULT__","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","VERSION","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","monthDiff","anchor2","adjust","wholeMonthDiff","meridiemFixWrap","meridiem","isPm","meridiemHour","isPM","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","updateInProgress","updateOffset","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","weeks","week","days","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","isValid","_isValid","getTime","bigHour","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","code","model","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenOffsetMs","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","_ordinalParse","_ordinalParseLenient","RegExp","regexpEscape","unescapeFormat","utcOffsetFromString","string","possibleTzMatches","tzChunk","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_meridiem","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","_nextDay","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","SS","SSS","SSSS","Z","utcOffset","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_longMonthsParse","_shortMonthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LTS","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","firstDayOfYear","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","relativeTimeThreshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","_dateUtcOffset","inputString","asFloat","that","zoneDiff","humanize","fromNow","sod","startOf","isDST","getDay","endOf","inputMs","isBetween","zone","localAdjust","_changeInProgress","isLocal","isUtcOffset","isUtc","hasAlignedHourOffset","isoWeeksInYear","weekInfo","newLocaleData","getTimezoneOffset","isoWeeks","toJSON","isUTC","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","ordinalParse","require","noGlobal","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","graphToggleSmoothCurves","graph_toggleSmooth","getElementById","graphRepositionNodes","showValueOfRange","repositionNodes","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","_restoreNodes","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","clusterToFit","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","_sector","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","maxGravitational","maxSpring","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","dynamicSmoothCurves","nameArray","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_addSector","decreaseClusterLevel","_expandClusterNode","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","detectedZoomingIn","detectedZoomingOut","_collapseSector","_formClusters","_openClusters","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","_openClustersBySize","openAll","containedNodeId","childNode","_expelChildFromParent","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","children","childrenIds","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","overrideSelectable","DOM","_manipulationReleaseOverload","_navigationReleaseOverload","getSelectedNodes","edgeIds","getSelectedEdges","idArray","selectNodes","RangeError","selectEdges","_clearManipulatorBar","manipulationDOM","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","boundFunction","edgeBeingEdited","selectedControlNode","_createAddNodeToolbar","_createAddEdgeToolbar","_editNode","_createEditEdgeToolbar","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","targetNode","connectionEdge","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","navigationDivs","navigationDivActions","_stopMovement","_zoomExtent","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","firstNode","_setLevelDirected","parentId","parentLevel","nodeMoved","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyBA,cAEA,SAA2CA,EAAMC,GAC1B,gBAAZC,UAA0C,gBAAXC,QACxCA,OAAOD,QAAUD,IACQ,kBAAXG,SAAyBA,OAAOC,IAC9CD,OAAOH,GACmB,gBAAZC,SACdA,QAAa,IAAID,IAEjBD,EAAU,IAAIC,KACbK,KAAM,WACT,MAAgB,UAAUC,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BP,WACAS,GAAIF,EACJG,QAAQ,EAUT,OANAL,GAAQE,GAAUI,KAAKV,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOS,QAAS,EAGTT,EAAOD,QAvBf,GAAIQ,KAqCJ,OATAF,GAAoBM,EAAIP,EAGxBC,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,GAGjBR,EAAoB,KAK/B,SAASL,EAAQD,EAASM,GAG9BN,EAAQe,KAAOT,EAAoB,GACnCN,EAAQgB,QAAUV,EAAoB,GAGtCN,EAAQiB,QAAUX,EAAoB,GACtCN,EAAQkB,SAAWZ,EAAoB,GACvCN,EAAQmB,MAAQb,EAAoB,GAGpCN,EAAQoB,QAAUd,EAAoB,GACtCN,EAAQqB,SACNC,OAAQhB,EAAoB,GAC5BiB,OAAQjB,EAAoB,GAC5BkB,QAASlB,EAAoB,GAC7BmB,QAASnB,EAAoB,IAC7BoB,OAAQpB,EAAoB,IAC5BqB,WAAYrB,EAAoB,KAIlCN,EAAQ4B,SAAWtB,EAAoB,IACvCN,EAAQ6B,QAAUvB,EAAoB,IACtCN,EAAQ8B,UACNC,SAAUzB,EAAoB,IAC9B0B,SAAU1B,EAAoB,IAC9B2B,MAAO3B,EAAoB,IAC3B4B,MAAO5B,EAAoB,IAC3B6B,SAAU7B,EAAoB,IAE9B8B,YACEC,OACEC,KAAMhC,EAAoB,IAC1BiC,eAAgBjC,EAAoB,IACpCkC,QAASlC,EAAoB,IAC7BmC,UAAWnC,EAAoB,IAC/BoC,UAAWpC,EAAoB,KAGjCqC,UAAWrC,EAAoB,IAC/BsC,YAAatC,EAAoB,IACjCuC,WAAYvC,EAAoB,IAChCwC,SAAUxC,EAAoB,IAC9ByC,WAAYzC,EAAoB,IAChC0C,MAAO1C,EAAoB,IAC3B2C,gBAAiB3C,EAAoB,IACrC4C,QAAS5C,EAAoB,IAC7B6C,OAAQ7C,EAAoB,IAC5B8C,UAAW9C,EAAoB,IAC/B+C,SAAU/C,EAAoB,MAKlCN,EAAQsD,QAAUhD,EAAoB,IACtCN,EAAQuD,SACNC,KAAMlD,EAAoB,IAC1BmD,OAAQnD,EAAoB,IAC5BoD,OAAQpD,EAAoB,IAC5BqD,KAAMrD,EAAoB,IAC1BsD,MAAOtD,EAAoB,IAC3BuD,UAAWvD,EAAoB,IAC/BwD,YAAaxD,EAAoB,KAInCN,EAAQ+D,MAAQ,WACd,KAAM,IAAIC,OAAM,+EAIlBhE,EAAQiE,OAAS3D,EAAoB,IACrCN,EAAQkE,OAAS5D,EAAoB,KAKjC,SAASL,EAAQD,EAASM,GAM9B,GAAI2D,GAAS3D,EAAoB,GAOjCN,GAAQmE,SAAW,SAASC,GAC1B,MAAQA,aAAkBC,SAA2B,gBAAVD,IAa7CpE,EAAQsE,UAAY,SAASC,EAAIC,EAAIC,EAAMC,GACzC,GAAIF,GAAOD,EACT,MAAO,EAGP,IAAII,GAAQ,GAAKH,EAAMD,EACvB,OAAOK,MAAKJ,IAAI,GAAGE,EAAQH,GAAKI,IASpC3E,EAAQ6E,SAAW,SAAST,GAC1B,MAAQA,aAAkBU,SAA2B,gBAAVV,IAQ7CpE,EAAQ+E,OAAS,SAASX,GACxB,GAAIA,YAAkBY,MACpB,OAAO,CAEJ,IAAIhF,EAAQ6E,SAAST,GAAS,CAEjC,GAAIa,GAAQC,EAAaC,KAAKf,EAC9B,IAAIa,EACF,OAAO,CAEJ,KAAKG,MAAMJ,KAAKK,MAAMjB,IACzB,OAAO,EAIX,OAAO,GAQTpE,EAAQsF,YAAc,SAASlB,GAC7B,MAA4B,mBAAb,SACVmB,OAAoB,eACpBA,OAAOC,cAAuB,WAC9BpB,YAAkBmB,QAAOC,cAAcC,WAQ9CzF,EAAQ0F,WAAa,WACnB,GAAIC,GAAK,WACP,MAAOf,MAAKgB,MACQ,MAAhBhB,KAAKiB,UACPC,SAAS,IAGb,OACIH,KAAOA,IAAO,IACVA,IAAO,IACPA,IAAO,IACPA,IAAO,IACPA,IAAOA,IAAOA,KAWxB3F,EAAQ+F,OAAS,SAAUC,GACzB,IAAK,GAAIC,GAAI,EAAGC,EAAMC,UAAUC,OAAYF,EAAJD,EAASA,IAAK,CACpD,GAAII,GAAQF,UAAUF,EACtB,KAAK,GAAIK,KAAQD,GACXA,EAAME,eAAeD,KACvBN,EAAEM,GAAQD,EAAMC,IAKtB,MAAON,IAWThG,EAAQwG,gBAAkB,SAAUC,EAAOT,GACzC,IAAKU,MAAMC,QAAQF,GACjB,KAAM,IAAIzC,OAAM,uDAGlB,KAAK,GAAIiC,GAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAGpC,IAAK,GAFDI,GAAQF,UAAUF,GAEbnF,EAAI,EAAGA,EAAI2F,EAAML,OAAQtF,IAAK,CACrC,GAAIwF,GAAOG,EAAM3F,EACbuF,GAAME,eAAeD,KACvBN,EAAEM,GAAQD,EAAMC,IAItB,MAAON,IAWThG,EAAQ4G,oBAAsB,SAAUH,EAAOT,EAAGa,GAEhD,GAAIH,MAAMC,QAAQE,GAChB,KAAM,IAAIC,WAAU,yCAEtB,KAAK,GAAIb,GAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAEpC,IAAK,GADDI,GAAQF,UAAUF,GACbnF,EAAI,EAAGA,EAAI2F,EAAML,OAAQtF,IAAK,CACrC,GAAIwF,GAAOG,EAAM3F,EACjB,IAAIuF,EAAME,eAAeD,GACvB,GAAIO,EAAEP,IAASO,EAAEP,GAAMS,cAAgBC,OACrBC,SAAZjB,EAAEM,KACJN,EAAEM,OAEAN,EAAEM,GAAMS,cAAgBC,OAC1BhH,EAAQkH,WAAWlB,EAAEM,GAAOO,EAAEP,IAG9BN,EAAEM,GAAQO,EAAEP,OAET,CAAA,GAAII,MAAMC,QAAQE,EAAEP,IACzB,KAAM,IAAIQ,WAAU,yCAEpBd,GAAEM,GAAQO,EAAEP,IAMpB,MAAON,IAWThG,EAAQmH,uBAAyB,SAAUV,EAAOT,EAAGa,GAEnD,GAAIH,MAAMC,QAAQE,GAChB,KAAM,IAAIC,WAAU,yCAEtB,KAAK,GAAIR,KAAQO,GACf,GAAIA,EAAEN,eAAeD,IACQ,IAAvBG,EAAMW,QAAQd,GAChB,GAAIO,EAAEP,IAASO,EAAEP,GAAMS,cAAgBC,OACrBC,SAAZjB,EAAEM,KACJN,EAAEM,OAEAN,EAAEM,GAAMS,cAAgBC,OAC1BhH,EAAQkH,WAAWlB,EAAEM,GAAOO,EAAEP,IAG9BN,EAAEM,GAAQO,EAAEP,OAET,CAAA,GAAII,MAAMC,QAAQE,EAAEP,IACzB,KAAM,IAAIQ,WAAU,yCAEpBd,GAAEM,GAAQO,EAAEP,GAKpB,MAAON,IASThG,EAAQkH,WAAa,SAASlB,EAAGa,GAE/B,GAAIH,MAAMC,QAAQE,GAChB,KAAM,IAAIC,WAAU,yCAGtB,KAAK,GAAIR,KAAQO,GACf,GAAIA,EAAEN,eAAeD,GACnB,GAAIO,EAAEP,IAASO,EAAEP,GAAMS,cAAgBC,OACrBC,SAAZjB,EAAEM,KACJN,EAAEM,OAEAN,EAAEM,GAAMS,cAAgBC,OAC1BhH,EAAQkH,WAAWlB,EAAEM,GAAOO,EAAEP,IAG9BN,EAAEM,GAAQO,EAAEP,OAET,CAAA,GAAII,MAAMC,QAAQE,EAAEP,IACzB,KAAM,IAAIQ,WAAU,yCAEpBd,GAAEM,GAAQO,EAAEP,GAIlB,MAAON,IAUThG,EAAQqH,WAAa,SAAUrB,EAAGa,GAChC,GAAIb,EAAEI,QAAUS,EAAET,OAAQ,OAAO,CAEjC,KAAK,GAAIH,GAAI,EAAGC,EAAMF,EAAEI,OAAYF,EAAJD,EAASA,IACvC,GAAID,EAAEC,IAAMY,EAAEZ,GAAI,OAAO,CAG3B,QAAO,GAYTjG,EAAQsH,QAAU,SAASlD,EAAQmD,GACjC,GAAItC,EAEJ,IAAegC,SAAX7C,EACF,MAAO6C,OAET,IAAe,OAAX7C,EACF,MAAO,KAGT,KAAKmD,EACH,MAAOnD,EAET,IAAsB,gBAATmD,MAAwBA,YAAgBzC,SACnD,KAAM,IAAId,OAAM,wBAIlB,QAAQuD,GACN,IAAK,UACL,IAAK,UACH,MAAOC,SAAQpD,EAEjB,KAAK,SACL,IAAK,SACH,MAAOC,QAAOD,EAAOqD,UAEvB,KAAK,SACL,IAAK,SACH,MAAO3C,QAAOV,EAEhB,KAAK,OACH,GAAIpE,EAAQmE,SAASC,GACnB,MAAO,IAAIY,MAAKZ,EAElB,IAAIA,YAAkBY,MACpB,MAAO,IAAIA,MAAKZ,EAAOqD,UAEpB,IAAIxD,EAAOyD,SAAStD,GACvB,MAAO,IAAIY,MAAKZ,EAAOqD,UAEzB,IAAIzH,EAAQ6E,SAAST,GAEnB,MADAa,GAAQC,EAAaC,KAAKf,GACtBa,EAEK,GAAID,MAAKX,OAAOY,EAAM,KAGtBhB,EAAOG,GAAQuD,QAIxB,MAAM,IAAI3D,OACN,iCAAmChE,EAAQ4H,QAAQxD,GAC/C,gBAGZ,KAAK,SACH,GAAIpE,EAAQmE,SAASC,GACnB,MAAOH,GAAOG,EAEhB,IAAIA,YAAkBY,MACpB,MAAOf,GAAOG,EAAOqD,UAElB,IAAIxD,EAAOyD,SAAStD,GACvB,MAAOH,GAAOG,EAEhB,IAAIpE,EAAQ6E,SAAST,GAEnB,MADAa,GAAQC,EAAaC,KAAKf,GAGjBH,EAFLgB,EAEYZ,OAAOY,EAAM,IAGbb,EAIhB,MAAM,IAAIJ,OACN,iCAAmChE,EAAQ4H,QAAQxD,GAC/C,gBAGZ,KAAK,UACH,GAAIpE,EAAQmE,SAASC,GACnB,MAAO,IAAIY,MAAKZ,EAEb,IAAIA,YAAkBY,MACzB,MAAOZ,GAAOyD,aAEX,IAAI5D,EAAOyD,SAAStD,GACvB,MAAOA,GAAOuD,SAASE,aAEpB,IAAI7H,EAAQ6E,SAAST,GAExB,MADAa,GAAQC,EAAaC,KAAKf,GACtBa,EAEK,GAAID,MAAKX,OAAOY,EAAM,KAAK4C,cAG3B,GAAI7C,MAAKZ,GAAQyD,aAI1B,MAAM,IAAI7D,OACN,iCAAmChE,EAAQ4H,QAAQxD,GAC/C,mBAGZ,KAAK,UACH,GAAIpE,EAAQmE,SAASC,GACnB,MAAO,SAAWA,EAAS,IAExB,IAAIA,YAAkBY,MACzB,MAAO,SAAWZ,EAAOqD,UAAY,IAElC,IAAIzH,EAAQ6E,SAAST,GAAS,CACjCa,EAAQC,EAAaC,KAAKf,EAC1B,IAAIM,EAQJ,OALEA,GAFEO,EAEM,GAAID,MAAKX,OAAOY,EAAM,KAAKwC,UAG3B,GAAIzC,MAAKZ,GAAQqD,UAEpB,SAAW/C,EAAQ,KAG1B,KAAM,IAAIV,OACN,iCAAmChE,EAAQ4H,QAAQxD,GAC/C,mBAGZ,SACE,KAAM,IAAIJ,OAAM,iBAAmBuD,EAAO,MAOhD,IAAIrC,GAAe,qBAOnBlF,GAAQ4H,QAAU,SAASxD,GACzB,GAAImD,SAAcnD,EAElB,OAAY,UAARmD,EACY,MAAVnD,EACK,OAELA,YAAkBoD,SACb,UAELpD,YAAkBC,QACb,SAELD,YAAkBU,QACb,SAEL4B,MAAMC,QAAQvC,GACT,QAELA,YAAkBY,MACb,OAEF,SAEQ,UAARuC,EACA,SAEQ,WAARA,EACA,UAEQ,UAARA,EACA,SAGFA,GASTvH,EAAQ8H,gBAAkB,SAASC,GACjC,MAAOA,GAAKC,wBAAwBC,KAAOC,OAAOC,aASpDnI,EAAQoI,eAAiB,SAASL,GAChC,MAAOA,GAAKC,wBAAwBK,IAAMH,OAAOI,aAQnDtI,EAAQuI,aAAe,SAASR,EAAMS,GACpC,GAAIC,GAAUV,EAAKS,UAAUE,MAAM,IACD,KAA9BD,EAAQrB,QAAQoB,KAClBC,EAAQE,KAAKH,GACbT,EAAKS,UAAYC,EAAQG,KAAK,OASlC5I,EAAQ6I,gBAAkB,SAASd,EAAMS,GACvC,GAAIC,GAAUV,EAAKS,UAAUE,MAAM,KAC/BI,EAAQL,EAAQrB,QAAQoB,EACf,KAATM,IACFL,EAAQM,OAAOD,EAAO,GACtBf,EAAKS,UAAYC,EAAQG,KAAK,OAalC5I,EAAQgJ,QAAU,SAAS5E,EAAQ6E,GACjC,GAAIhD,GACAC,CACJ,IAAIQ,MAAMC,QAAQvC,GAEhB,IAAK6B,EAAI,EAAGC,EAAM9B,EAAOgC,OAAYF,EAAJD,EAASA,IACxCgD,EAAS7E,EAAO6B,GAAIA,EAAG7B,OAKzB,KAAK6B,IAAK7B,GACJA,EAAOmC,eAAeN,IACxBgD,EAAS7E,EAAO6B,GAAIA,EAAG7B,IAY/BpE,EAAQkJ,QAAU,SAAS9E,GACzB,GAAI+E,KAEJ,KAAK,GAAI7C,KAAQlC,GACXA,EAAOmC,eAAeD,IAAO6C,EAAMR,KAAKvE,EAAOkC,GAGrD,OAAO6C,IAUTnJ,EAAQoJ,eAAiB,SAAShF,EAAQiF,EAAK3E,GAC7C,MAAIN,GAAOiF,KAAS3E,GAClBN,EAAOiF,GAAO3E,GACP,IAGA,GAYX1E,EAAQsJ,iBAAmB,SAASC,EAASC,EAAQC,EAAUC,GACzDH,EAAQD,kBACSrC,SAAfyC,IACFA,GAAa,GAEA,eAAXF,GAA2BG,UAAUC,UAAUxC,QAAQ,YAAc,IACvEoC,EAAS,kBAGXD,EAAQD,iBAAiBE,EAAQC,EAAUC,IAE3CH,EAAQM,YAAY,KAAOL,EAAQC,IAWvCzJ,EAAQ8J,oBAAsB,SAASP,EAASC,EAAQC,EAAUC,GAC5DH,EAAQO,qBAES7C,SAAfyC,IACFA,GAAa,GAEA,eAAXF,GAA2BG,UAAUC,UAAUxC,QAAQ,YAAc,IACvEoC,EAAS,kBAGXD,EAAQO,oBAAoBN,EAAQC,EAAUC,IAG9CH,EAAQQ,YAAY,KAAOP,EAAQC,IAOvCzJ,EAAQgK,eAAiB,SAAUC,GAC5BA,IACHA,EAAQ/B,OAAO+B,OAEbA,EAAMD,eACRC,EAAMD,iBAGNC,EAAMC,aAAc,GASxBlK,EAAQmK,UAAY,SAASF,GAEtBA,IACHA,EAAQ/B,OAAO+B,MAGjB,IAAIG,EAcJ,OAZIH,GAAMG,OACRA,EAASH,EAAMG,OAERH,EAAMI,aACbD,EAASH,EAAMI,YAGMpD,QAAnBmD,EAAOE,UAA4C,GAAnBF,EAAOE,WAEzCF,EAASA,EAAOG,YAGXH,GAGTpK,EAAQwK,UAQRxK,EAAQwK,OAAOC,UAAY,SAAU/F,EAAOgG,GAK1C,MAJoB,kBAAThG,KACTA,EAAQA,KAGG,MAATA,EACe,GAATA,EAGHgG,GAAgB,MASzB1K,EAAQwK,OAAOG,SAAW,SAAUjG,EAAOgG,GAKzC,MAJoB,kBAAThG,KACTA,EAAQA,KAGG,MAATA,EACKL,OAAOK,IAAUgG,GAAgB,KAGnCA,GAAgB,MASzB1K,EAAQwK,OAAOI,SAAW,SAAUlG,EAAOgG,GAKzC,MAJoB,kBAAThG,KACTA,EAAQA,KAGG,MAATA,EACKI,OAAOJ,GAGTgG,GAAgB,MASzB1K,EAAQwK,OAAOK,OAAS,SAAUnG,EAAOgG,GAKvC,MAJoB,kBAAThG,KACTA,EAAQA,KAGN1E,EAAQ6E,SAASH,GACZA,EAEA1E,EAAQmE,SAASO,GACjBA,EAAQ,KAGRgG,GAAgB,MAU3B1K,EAAQwK,OAAOM,UAAY,SAAUpG,EAAOgG,GAK1C,MAJoB,kBAAThG,KACTA,EAAQA,KAGHA,GAASgG,GAAgB,MASlC1K,EAAQ+K,SAAW,SAASC,GAE1B,GAAIC,GAAiB,kCACrBD,GAAMA,EAAIE,QAAQD,EAAgB,SAASrK,EAAGuK,EAAGC,EAAGvE,GAChD,MAAOsE,GAAIA,EAAIC,EAAIA,EAAIvE,EAAIA,GAE/B,IAAIwE,GAAS,4CAA4ClG,KAAK6F,EAC9D,OAAOK,IACHF,EAAGG,SAASD,EAAO,GAAI,IACvBD,EAAGE,SAASD,EAAO,GAAI,IACvBxE,EAAGyE,SAASD,EAAO,GAAI,KACvB,MASNrL,EAAQuL,gBAAkB,SAASC,EAAMC,GACvC,GAA4B,IAAxBD,EAAMpE,QAAQ,OAAc,CAC9B,GAAIsE,GAAMF,EAAMG,OAAOH,EAAMpE,QAAQ,KAAK,GAAG8D,QAAQ,IAAI,IAAIxC,MAAM,IACnE,OAAO,QAAUgD,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMD,EAAU,IAGxE,GAAIC,GAAM1L,EAAQ+K,SAASS,EAC3B,OAAW,OAAPE,EACKF,EAGA,QAAUE,EAAIP,EAAI,IAAMO,EAAIN,EAAI,IAAMM,EAAI7E,EAAI,IAAM4E,EAAU,KAa3EzL,EAAQ4L,SAAW,SAASC,EAAIC,EAAMC,GACpC,MAAO,MAAQ,GAAK,KAAOF,GAAO,KAAOC,GAAS,GAAKC,GAAMjG,SAAS,IAAIkG,MAAM,IASlFhM,EAAQiM,WAAa,SAAST,GAC5B,GAAI3K,EACJ,IAAIb,EAAQ6E,SAAS2G,GAAQ,CAC3B,GAAIxL,EAAQkM,WAAWV,GAAQ,CAC7B,GAAIE,GAAMF,EAAMG,OAAO,GAAGA,OAAO,EAAEH,EAAMpF,OAAO,GAAGsC,MAAM,IACzD8C,GAAQxL,EAAQ4L,SAASF,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAE7C,GAAI1L,EAAQmM,WAAWX,GAAQ,CAC7B,GAAIY,GAAMpM,EAAQqM,SAASb,GACvBc,GAAmBC,EAAEH,EAAIG,EAAEC,EAAU,IAARJ,EAAII,EAASC,EAAE7H,KAAKL,IAAI,EAAU,KAAR6H,EAAIK,IAC3DC,GAAmBH,EAAEH,EAAIG,EAAEC,EAAE5H,KAAKL,IAAI,EAAU,KAAR6H,EAAIK,GAAUA,EAAQ,GAANL,EAAIK,GAC5DE,EAAkB3M,EAAQ4M,SAASF,EAAeH,EAAGG,EAAeH,EAAGG,EAAeD,GACtFI,EAAkB7M,EAAQ4M,SAASN,EAAgBC,EAAED,EAAgBE,EAAEF,EAAgBG,EAE3F5L,IACEiM,WAAYtB,EACZuB,OAAOJ,EACPK,WACEF,WAAWD,EACXE,OAAOJ,GAETM,OACEH,WAAWD,EACXE,OAAOJ,QAKX9L,IACEiM,WAAWtB,EACXuB,OAAOvB,EACPwB,WACEF,WAAWtB,EACXuB,OAAOvB,GAETyB,OACEH,WAAWtB,EACXuB,OAAOvB,QAMb3K,MACAA,EAAEiM,WAAatB,EAAMsB,YAAc,QACnCjM,EAAEkM,OAASvB,EAAMuB,QAAUlM,EAAEiM,WAEzB9M,EAAQ6E,SAAS2G,EAAMwB,WACzBnM,EAAEmM,WACAD,OAAQvB,EAAMwB,UACdF,WAAYtB,EAAMwB,YAIpBnM,EAAEmM,aACFnM,EAAEmM,UAAUF,WAAatB,EAAMwB,WAAaxB,EAAMwB,UAAUF,YAAcjM,EAAEiM,WAC5EjM,EAAEmM,UAAUD,OAASvB,EAAMwB,WAAaxB,EAAMwB,UAAUD,QAAUlM,EAAEkM,QAGlE/M,EAAQ6E,SAAS2G,EAAMyB,OACzBpM,EAAEoM,OACAF,OAAQvB,EAAMyB,MACdH,WAAYtB,EAAMyB,QAIpBpM,EAAEoM,SACFpM,EAAEoM,MAAMH,WAAatB,EAAMyB,OAASzB,EAAMyB,MAAMH,YAAcjM,EAAEiM,WAChEjM,EAAEoM,MAAMF,OAASvB,EAAMyB,OAASzB,EAAMyB,MAAMF,QAAUlM,EAAEkM,OAI5D,OAAOlM,IAYTb,EAAQkN,SAAW,SAASrB,EAAIC,EAAMC,GACpCF,GAAQ,IAAKC,GAAY,IAAKC,GAAU,GACxC,IAAIoB,GAASvI,KAAKL,IAAIsH,EAAIjH,KAAKL,IAAIuH,EAAMC,IACrCqB,EAASxI,KAAKJ,IAAIqH,EAAIjH,KAAKJ,IAAIsH,EAAMC,GAGzC,IAAIoB,GAAUC,EACZ,OAAQb,EAAE,EAAEC,EAAE,EAAEC,EAAEU,EAIpB,IAAIE,GAAKxB,GAAKsB,EAAUrB,EAAMC,EAASA,GAAMoB,EAAUtB,EAAIC,EAAQC,EAAKF,EACpEU,EAAKV,GAAKsB,EAAU,EAAMpB,GAAMoB,EAAU,EAAI,EAC9CG,EAAM,IAAIf,EAAIc,GAAGD,EAASD,IAAS,IACnCI,GAAcH,EAASD,GAAQC,EAC/B1I,EAAQ0I,CACZ,QAAQb,EAAEe,EAAId,EAAEe,EAAWd,EAAE/H,GAG/B,IAAI8I,IAEF9E,MAAO,SAAU+E,GACf,GAAIC,KAWJ,OATAD,GAAQ/E,MAAM,KAAKM,QAAQ,SAAU2E,GACnC,GAAoB,IAAhBA,EAAMC,OAAc,CACtB,GAAIC,GAAQF,EAAMjF,MAAM,KACpBW,EAAMwE,EAAM,GAAGD,OACflJ,EAAQmJ,EAAM,GAAGD,MACrBF,GAAOrE,GAAO3E,KAIXgJ,GAIT9E,KAAM,SAAU8E,GACd,MAAO1G,QAAO8G,KAAKJ,GACdK,IAAI,SAAU1E,GACb,MAAOA,GAAM,KAAOqE,EAAOrE,KAE5BT,KAAK,OASd5I,GAAQgO,WAAa,SAAUzE,EAASkE,GACtC,GAAIQ,GAAgBT,EAAQ9E,MAAMa,EAAQoE,MAAMF,SAC5CS,EAAYV,EAAQ9E,MAAM+E,GAC1BC,EAAS1N,EAAQ+F,OAAOkI,EAAeC,EAE3C3E,GAAQoE,MAAMF,QAAUD,EAAQ5E,KAAK8E,IAQvC1N,EAAQmO,cAAgB,SAAU5E,EAASkE,GACzC,GAAIC,GAASF,EAAQ9E,MAAMa,EAAQoE,MAAMF,SACrCW,EAAeZ,EAAQ9E,MAAM+E,EAEjC,KAAK,GAAIpE,KAAO+E,GACVA,EAAa7H,eAAe8C,UACvBqE,GAAOrE,EAIlBE,GAAQoE,MAAMF,QAAUD,EAAQ5E,KAAK8E,IAWvC1N,EAAQqO,SAAW,SAAS9B,EAAGC,EAAGC,GAChC,GAAItB,GAAGC,EAAGvE,EAENZ,EAAIrB,KAAKgB,MAAU,EAAJ2G,GACf+B,EAAQ,EAAJ/B,EAAQtG,EACZnF,EAAI2L,GAAK,EAAID,GACb+B,EAAI9B,GAAK,EAAI6B,EAAI9B,GACjBgC,EAAI/B,GAAK,GAAK,EAAI6B,GAAK9B,EAE3B,QAAQvG,EAAI,GACV,IAAK,GAAGkF,EAAIsB,EAAGrB,EAAIoD,EAAG3H,EAAI/F,CAAG,MAC7B,KAAK,GAAGqK,EAAIoD,EAAGnD,EAAIqB,EAAG5F,EAAI/F,CAAG,MAC7B,KAAK,GAAGqK,EAAIrK,EAAGsK,EAAIqB,EAAG5F,EAAI2H,CAAG,MAC7B,KAAK,GAAGrD,EAAIrK,EAAGsK,EAAImD,EAAG1H,EAAI4F,CAAG,MAC7B,KAAK,GAAGtB,EAAIqD,EAAGpD,EAAItK,EAAG+F,EAAI4F,CAAG,MAC7B,KAAK,GAAGtB,EAAIsB,EAAGrB,EAAItK,EAAG+F,EAAI0H,EAG5B,OAAQpD,EAAEvG,KAAKgB,MAAU,IAAJuF,GAAUC,EAAExG,KAAKgB,MAAU,IAAJwF,GAAUvE,EAAEjC,KAAKgB,MAAU,IAAJiB,KAGrE7G,EAAQ4M,SAAW,SAASL,EAAGC,EAAGC,GAChC,GAAIf,GAAM1L,EAAQqO,SAAS9B,EAAGC,EAAGC,EACjC,OAAOzM,GAAQ4L,SAASF,EAAIP,EAAGO,EAAIN,EAAGM,EAAI7E,IAG5C7G,EAAQqM,SAAW,SAASrB,GAC1B,GAAIU,GAAM1L,EAAQ+K,SAASC,EAC3B,OAAOhL,GAAQkN,SAASxB,EAAIP,EAAGO,EAAIN,EAAGM,EAAI7E,IAG5C7G,EAAQmM,WAAa,SAASnB,GAC5B,GAAIyD,GAAO,qCAAqCC,KAAK1D,EACrD,OAAOyD,IAGTzO,EAAQkM,WAAa,SAASR,GAC5BA,EAAMA,EAAIR,QAAQ,IAAI,GACtB,IAAIuD,GAAO,wCAAwCC,KAAKhD,EACxD,OAAO+C,IAUTzO,EAAQ2O,sBAAwB,SAASC,EAAQC,GAC/C,GAA8B,gBAAnBA,GAA6B,CAEtC,IAAK,GADDC,GAAW9H,OAAO+H,OAAOF,GACpB5I,EAAI,EAAGA,EAAI2I,EAAOxI,OAAQH,IAC7B4I,EAAgBtI,eAAeqI,EAAO3I,KACC,gBAA9B4I,GAAgBD,EAAO3I,MAChC6I,EAASF,EAAO3I,IAAMjG,EAAQgP,aAAaH,EAAgBD,EAAO3I,KAIxE,OAAO6I,GAGP,MAAO,OAWX9O,EAAQgP,aAAe,SAASH,GAC9B,GAA8B,gBAAnBA,GAA6B,CACtC,GAAIC,GAAW9H,OAAO+H,OAAOF,EAC7B,KAAK,GAAI5I,KAAK4I,GACRA,EAAgBtI,eAAeN,IACA,gBAAtB4I,GAAgB5I,KACzB6I,EAAS7I,GAAKjG,EAAQgP,aAAaH,EAAgB5I,IAIzD,OAAO6I,GAGP,MAAO,OAcX9O,EAAQiP,aAAe,SAAUC,EAAaC,EAAS3E,GACrD,GAAwBvD,SAApBkI,EAAQ3E,GACV,GAA8B,iBAAnB2E,GAAQ3E,GACjB0E,EAAY1E,GAAQ4E,QAAUD,EAAQ3E,OAEnC,CACH0E,EAAY1E,GAAQ4E,SAAU,CAC9B,KAAK,GAAI9I,KAAQ6I,GAAQ3E,GACnB2E,EAAQ3E,GAAQjE,eAAeD,KACjC4I,EAAY1E,GAAQlE,GAAQ6I,EAAQ3E,GAAQlE,MAmBtDtG,EAAQqP,mBAAqB,SAASC,EAAcC,EAAgBC,EAAOC,GAMzE,IALA,GAAIC,GAAgB,IAChBC,EAAY,EACZC,EAAM,EACNC,EAAOP,EAAalJ,OAAS,EAEnByJ,GAAPD,GAA2BF,EAAZC,GAA2B,CAC/C,GAAIG,GAASlL,KAAKgB,OAAOgK,EAAMC,GAAQ,GAEnCE,EAAOT,EAAaQ,GACpBpL,EAAoBuC,SAAXwI,EAAwBM,EAAKP,GAASO,EAAKP,GAAOC,GAE3DO,EAAeT,EAAe7K,EAClC,IAAoB,GAAhBsL,EACF,MAAOF,EAEgB,KAAhBE,EACPJ,EAAME,EAAS,EAGfD,EAAOC,EAAS,EAGlBH,IAGF,MAAO,IAeT3P,EAAQiQ,kBAAoB,SAASX,EAAclF,EAAQoF,EAAOU,GAOhE,IANA,GAIIC,GAAWzL,EAAO0L,EAAWN,EAJ7BJ,EAAgB,IAChBC,EAAY,EACZC,EAAM,EACNC,EAAOP,EAAalJ,OAAS,EAGnByJ,GAAPD,GAA2BF,EAAZC,GAA2B,CAO/C,GALAG,EAASlL,KAAKgB,MAAM,IAAKiK,EAAKD,IAC9BO,EAAYb,EAAa1K,KAAKJ,IAAI,EAAEsL,EAAS,IAAIN,GACjD9K,EAAY4K,EAAaQ,GAAQN,GACjCY,EAAYd,EAAa1K,KAAKL,IAAI+K,EAAalJ,OAAO,EAAE0J,EAAS,IAAIN,GAEjE9K,GAAS0F,EACX,MAAO0F,EAEJ,IAAgB1F,EAAZ+F,GAAsBzL,EAAQ0F,EACrC,MAAyB,UAAlB8F,EAA6BtL,KAAKJ,IAAI,EAAEsL,EAAS,GAAKA,CAE1D,IAAY1F,EAAR1F,GAAkB0L,EAAYhG,EACrC,MAAyB,UAAlB8F,EAA6BJ,EAASlL,KAAKL,IAAI+K,EAAalJ,OAAO,EAAE0J,EAAS,EAGzE1F,GAAR1F,EACFkL,EAAME,EAAS,EAGfD,EAAOC,EAAS,EAGpBH,IAIF,MAAO,IAYT3P,EAAQqQ,cAAgB,SAAU7B,EAAG8B,EAAOC,EAAKC,GAC/C,GAAIC,GAASF,EAAMD,CAEnB,OADA9B,IAAKgC,EAAS,EACN,EAAJhC,EAAciC,EAAO,EAAEjC,EAAEA,EAAI8B,GACjC9B,KACQiC,EAAO,GAAKjC,GAAGA,EAAE,GAAK,GAAK8B,IAUrCtQ,EAAQ0Q,iBAENC,OAAQ,SAAUnC,GAChB,MAAOA,IAGToC,WAAY,SAAUpC,GACpB,MAAOA,GAAIA,GAGbqC,YAAa,SAAUrC,GACrB,MAAOA,IAAK,EAAIA,IAGlB6B,cAAe,SAAU7B,GACvB,MAAW,GAAJA,EAAS,EAAIA,EAAIA,EAAI,IAAM,EAAI,EAAIA,GAAKA,GAGjDsC,YAAa,SAAUtC,GACrB,MAAOA,GAAIA,EAAIA,GAGjBuC,aAAc,SAAUvC,GACtB,QAAUA,EAAKA,EAAIA,EAAI,GAGzBwC,eAAgB,SAAUxC,GACxB,MAAW,GAAJA,EAAS,EAAIA,EAAIA,EAAIA,GAAKA,EAAI,IAAM,EAAIA,EAAI,IAAM,EAAIA,EAAI,GAAK,GAGxEyC,YAAa,SAAUzC,GACrB,MAAOA,GAAIA,EAAIA,EAAIA,GAGrB0C,aAAc,SAAU1C,GACtB,MAAO,MAAOA,EAAKA,EAAIA,EAAIA,GAG7B2C,eAAgB,SAAU3C,GACxB,MAAW,GAAJA,EAAS,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,IAAOA,EAAKA,EAAIA,EAAIA,GAG9D4C,YAAa,SAAU5C,GACrB,MAAOA,GAAIA,EAAIA,EAAIA,EAAIA,GAGzB6C,aAAc,SAAU7C,GACtB,MAAO,KAAOA,EAAKA,EAAIA,EAAIA,EAAIA,GAGjC8C,eAAgB,SAAU9C,GACxB,MAAW,GAAJA,EAAS,GAAKA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,KAAQA,EAAKA,EAAIA,EAAIA,EAAIA,KAMtE,SAASvO,EAAQD,GASrBA,EAAQuR,gBAAkB,SAASC,GAEjC,IAAK,GAAIC,KAAeD,GAClBA,EAAcjL,eAAekL,KAC/BD,EAAcC,GAAaC,UAAYF,EAAcC,GAAaE,KAClEH,EAAcC,GAAaE,UAYjC3R,EAAQ4R,gBAAkB,SAASJ,GAEjC,IAAK,GAAIC,KAAeD,GACtB,GAAIA,EAAcjL,eAAekL,IAC3BD,EAAcC,GAAaC,UAAW,CACxC,IAAK,GAAIzL,GAAI,EAAGA,EAAIuL,EAAcC,GAAaC,UAAUtL,OAAQH,IAC/DuL,EAAcC,GAAaC,UAAUzL,GAAGsE,WAAWsH,YAAYL,EAAcC,GAAaC,UAAUzL,GAEtGuL,GAAcC,GAAaC,eAgBnC1R,EAAQ8R,cAAgB,SAAUL,EAAaD,EAAeO,GAC5D,GAAIxI,EAqBJ,OAnBIiI,GAAcjL,eAAekL,GAE3BD,EAAcC,GAAaC,UAAUtL,OAAS,GAChDmD,EAAUiI,EAAcC,GAAaC,UAAU,GAC/CF,EAAcC,GAAaC,UAAUM,UAIrCzI,EAAU0I,SAASC,gBAAgB,6BAA8BT,GACjEM,EAAaI,YAAY5I,KAK3BA,EAAU0I,SAASC,gBAAgB,6BAA8BT,GACjED,EAAcC,IAAgBE,QAAUD,cACxCK,EAAaI,YAAY5I,IAE3BiI,EAAcC,GAAaE,KAAKhJ,KAAKY,GAC9BA,GAcTvJ,EAAQoS,cAAgB,SAAUX,EAAaD,EAAea,EAAcC,GAC1E,GAAI/I,EA+BJ,OA7BIiI,GAAcjL,eAAekL,GAE3BD,EAAcC,GAAaC,UAAUtL,OAAS,GAChDmD,EAAUiI,EAAcC,GAAaC,UAAU,GAC/CF,EAAcC,GAAaC,UAAUM,UAIrCzI,EAAU0I,SAASM,cAAcd,GACZxK,SAAjBqL,EACFD,EAAaC,aAAa/I,EAAS+I,GAGnCD,EAAaF,YAAY5I,KAM7BA,EAAU0I,SAASM,cAAcd,GACjCD,EAAcC,IAAgBE,QAAUD,cACnBzK,SAAjBqL,EACFD,EAAaC,aAAa/I,EAAS+I,GAGnCD,EAAaF,YAAY5I,IAG7BiI,EAAcC,GAAaE,KAAKhJ,KAAKY,GAC9BA,GAkBTvJ,EAAQwS,UAAY,SAASC,EAAGC,EAAGC,EAAOnB,EAAeO,GACvD,GAAIa,EAmBJ,OAlBsC,UAAlCD,EAAMxD,QAAQ0D,WAAWlF,OAC3BiF,EAAQ5S,EAAQ8R,cAAc,SAASN,EAAcO,GACrDa,EAAME,eAAe,KAAM,KAAML,GACjCG,EAAME,eAAe,KAAM,KAAMJ,GACjCE,EAAME,eAAe,KAAM,IAAK,GAAMH,EAAMxD,QAAQ0D,WAAWE,QAG/DH,EAAQ5S,EAAQ8R,cAAc,OAAON,EAAcO,GACnDa,EAAME,eAAe,KAAM,IAAKL,EAAI,GAAIE,EAAMxD,QAAQ0D,WAAWE,MACjEH,EAAME,eAAe,KAAM,IAAKJ,EAAI,GAAIC,EAAMxD,QAAQ0D,WAAWE,MACjEH,EAAME,eAAe,KAAM,QAASH,EAAMxD,QAAQ0D,WAAWE,MAC7DH,EAAME,eAAe,KAAM,SAAUH,EAAMxD,QAAQ0D,WAAWE,OAGzB9L,SAApC0L,EAAMxD,QAAQ0D,WAAWnF,QAC1BkF,EAAME,eAAe,KAAM,QAASH,EAAMA,MAAMxD,QAAQ0D,WAAWnF,QAErEkF,EAAME,eAAe,KAAM,QAASH,EAAMnK,UAAY,UAC/CoK,GAUT5S,EAAQgT,QAAU,SAAUP,EAAGC,EAAGO,EAAOC,EAAQ1K,EAAWgJ,EAAeO,GACzE,GAAc,GAAVmB,EAAa,CACF,EAATA,IACFA,GAAU,GACVR,GAAKQ,EAEP,IAAIC,GAAOnT,EAAQ8R,cAAc,OAAON,EAAeO,EACvDoB,GAAKL,eAAe,KAAM,IAAKL,EAAI,GAAMQ,GACzCE,EAAKL,eAAe,KAAM,IAAKJ,GAC/BS,EAAKL,eAAe,KAAM,QAASG,GACnCE,EAAKL,eAAe,KAAM,SAAUI,GACpCC,EAAKL,eAAe,KAAM,QAAStK,MAMnC,SAASvI,EAAQD,EAASM,GAgD9B,QAASW,GAASmS,EAAMjE,GAetB,IAbIiE,GAAS1M,MAAMC,QAAQyM,IAAUrS,EAAKuE,YAAY8N,KACpDjE,EAAUiE,EACVA,EAAO,MAGThT,KAAKiT,SAAWlE,MAChB/O,KAAKkT,SACLlT,KAAKgG,OAAS,EACdhG,KAAKmT,SAAWnT,KAAKiT,SAASG,SAAW,KACzCpT,KAAKqT,SAIDrT,KAAKiT,SAAS9L,KAChB,IAAK,GAAIiI,KAASpP,MAAKiT,SAAS9L,KAC9B,GAAInH,KAAKiT,SAAS9L,KAAKhB,eAAeiJ,GAAQ,CAC5C,GAAI9K,GAAQtE,KAAKiT,SAAS9L,KAAKiI,EAE7BpP,MAAKqT,MAAMjE,GADA,QAAT9K,GAA4B,WAATA,GAA+B,WAATA,EACvB,OAGAA,EAO5B,GAAItE,KAAKiT,SAAS/L,QAChB,KAAM,IAAItD,OAAM,sDAGlB5D,MAAKsT,gBAGDN,GACFhT,KAAKuT,IAAIP,GAGXhT,KAAKwT,WAAWzE,GAvFlB,GAAIpO,GAAOT,EAAoB,GAC3Ba,EAAQb,EAAoB,EAkGhCW,GAAQ4S,UAAUD,WAAa,SAASzE,GAClCA,GAA6BlI,SAAlBkI,EAAQ2E,QACjB3E,EAAQ2E,SAAU,EAEhB1T,KAAK2T,SACP3T,KAAK2T,OAAOC,gBACL5T,MAAK2T,SAKT3T,KAAK2T,SACR3T,KAAK2T,OAAS5S,EAAM4E,OAAO3F,MACzB8K,SAAU,MAAO,SAAU,aAIF,gBAAlBiE,GAAQ2E,OACjB1T,KAAK2T,OAAOH,WAAWzE,EAAQ2E,UAevC7S,EAAQ4S,UAAUI,GAAK,SAAShK,EAAOhB,GACrC,GAAIiL,GAAc9T,KAAKsT,aAAazJ,EAC/BiK,KACHA,KACA9T,KAAKsT,aAAazJ,GAASiK,GAG7BA,EAAYvL,MACVM,SAAUA,KAKdhI,EAAQ4S,UAAUM,UAAYlT,EAAQ4S,UAAUI,GAOhDhT,EAAQ4S,UAAUO,IAAM,SAASnK,EAAOhB,GACtC,GAAIiL,GAAc9T,KAAKsT,aAAazJ,EAChCiK,KACF9T,KAAKsT,aAAazJ,GAASiK,EAAYG,OAAO,SAAU5K,GACtD,MAAQA,GAASR,UAAYA,MAMnChI,EAAQ4S,UAAUS,YAAcrT,EAAQ4S,UAAUO,IASlDnT,EAAQ4S,UAAUU,SAAW,SAAUtK,EAAOuK,EAAQC,GACpD,GAAa,KAATxK,EACF,KAAM,IAAIjG,OAAM,yBAGlB,IAAIkQ,KACAjK,KAAS7J,MAAKsT,eAChBQ,EAAcA,EAAYQ,OAAOtU,KAAKsT,aAAazJ,KAEjD,KAAO7J,MAAKsT,eACdQ,EAAcA,EAAYQ,OAAOtU,KAAKsT,aAAa,MAGrD,KAAK,GAAIzN,GAAI,EAAGA,EAAIiO,EAAY9N,OAAQH,IAAK,CAC3C,GAAI0O,GAAaT,EAAYjO,EACzB0O,GAAW1L,UACb0L,EAAW1L,SAASgB,EAAOuK,EAAQC,GAAY,QAYrDxT,EAAQ4S,UAAUF,IAAM,SAAUP,EAAMqB,GACtC,GACIhU,GADAmU,KAEAC,EAAKzU,IAET,IAAIsG,MAAMC,QAAQyM,GAEhB,IAAK,GAAInN,GAAI,EAAGC,EAAMkN,EAAKhN,OAAYF,EAAJD,EAASA,IAC1CxF,EAAKoU,EAAGC,SAAS1B,EAAKnN,IACtB2O,EAASjM,KAAKlI,OAGb,IAAIM,EAAKuE,YAAY8N,GAGxB,IAAK,GADD2B,GAAU3U,KAAK4U,gBAAgB5B,GAC1B6B,EAAM,EAAGC,EAAO9B,EAAK+B,kBAAyBD,EAAND,EAAYA,IAAO,CAElE,IAAK,GADDlF,MACKqF,EAAM,EAAGC,EAAON,EAAQ3O,OAAciP,EAAND,EAAYA,IAAO,CAC1D,GAAI5F,GAAQuF,EAAQK,EACpBrF,GAAKP,GAAS4D,EAAKkC,SAASL,EAAKG,GAGnC3U,EAAKoU,EAAGC,SAAS/E,GACjB6E,EAASjM,KAAKlI,OAGb,CAAA,KAAI2S,YAAgBpM,SAMvB,KAAM,IAAIhD,OAAM,mBAJhBvD,GAAKoU,EAAGC,SAAS1B,GACjBwB,EAASjM,KAAKlI,GAUhB,MAJImU,GAASxO,QACXhG,KAAKmU,SAAS,OAAQlS,MAAOuS,GAAWH,GAGnCG,GAST3T,EAAQ4S,UAAU0B,OAAS,SAAUnC,EAAMqB,GACzC,GAAIG,MACAY,KACAC,KACAZ,EAAKzU,KACLoT,EAAUqB,EAAGtB,SAEbmC,EAAc,SAAU3F,GAC1B,GAAItP,GAAKsP,EAAKyD,EACVqB,GAAGvB,MAAM7S,IAEXA,EAAKoU,EAAGc,YAAY5F,GACpByF,EAAW7M,KAAKlI,GAChBgV,EAAY9M,KAAKoH,KAIjBtP,EAAKoU,EAAGC,SAAS/E,GACjB6E,EAASjM,KAAKlI,IAIlB,IAAIiG,MAAMC,QAAQyM,GAEhB,IAAK,GAAInN,GAAI,EAAGC,EAAMkN,EAAKhN,OAAYF,EAAJD,EAASA,IAC1CyP,EAAYtC,EAAKnN,QAGhB,IAAIlF,EAAKuE,YAAY8N,GAGxB,IAAK,GADD2B,GAAU3U,KAAK4U,gBAAgB5B,GAC1B6B,EAAM,EAAGC,EAAO9B,EAAK+B,kBAAyBD,EAAND,EAAYA,IAAO,CAElE,IAAK,GADDlF,MACKqF,EAAM,EAAGC,EAAON,EAAQ3O,OAAciP,EAAND,EAAYA,IAAO,CAC1D,GAAI5F,GAAQuF,EAAQK,EACpBrF,GAAKP,GAAS4D,EAAKkC,SAASL,EAAKG,GAGnCM,EAAY3F,OAGX,CAAA,KAAIqD,YAAgBpM,SAKvB,KAAM,IAAIhD,OAAM,mBAHhB0R,GAAYtC,GAad,MAPIwB,GAASxO,QACXhG,KAAKmU,SAAS,OAAQlS,MAAOuS,GAAWH,GAEtCe,EAAWpP,QACbhG,KAAKmU,SAAS,UAAWlS,MAAOmT,EAAYpC,KAAMqC,GAAchB,GAG3DG,EAASF,OAAOc,IAsCzBvU,EAAQ4S,UAAU+B,IAAM,WACtB,GAGInV,GAAIoV,EAAK1G,EAASiE,EAHlByB,EAAKzU,KAIL0V,EAAY/U,EAAK6G,QAAQzB,UAAU,GACtB,WAAb2P,GAAsC,UAAbA,GAE3BrV,EAAK0F,UAAU,GACfgJ,EAAUhJ,UAAU,GACpBiN,EAAOjN,UAAU,IAEG,SAAb2P,GAEPD,EAAM1P,UAAU,GAChBgJ,EAAUhJ,UAAU,GACpBiN,EAAOjN,UAAU,KAIjBgJ,EAAUhJ,UAAU,GACpBiN,EAAOjN,UAAU,GAInB,IAAI4P,EACJ,IAAI5G,GAAWA,EAAQ4G,WAAY,CACjC,GAAIC,IAAiB,YAAa,QAAS,SAG3C,IAFAD,EAA0D,IAA7CC,EAAc5O,QAAQ+H,EAAQ4G,YAAoB,QAAU5G,EAAQ4G,WAE7E3C,GAAS2C,GAAchV,EAAK6G,QAAQwL,GACtC,KAAM,IAAIpP,OAAM,6BAA+BjD,EAAK6G,QAAQwL,GAAQ,sDACVjE,EAAQ5H,KAAO,IAE3E,IAAkB,aAAdwO,IAA8BhV,EAAKuE,YAAY8N,GACjD,KAAM,IAAIpP,OAAM,6EAKlB+R,GADO3C,GAC6B,aAAtBrS,EAAK6G,QAAQwL,GAAwB,YAGtC,OAIf,IAEgBrD,GAAMkG,EAAQhQ,EAAGC,EAF7BqB,EAAO4H,GAAWA,EAAQ5H,MAAQnH,KAAKiT,SAAS9L,KAChD8M,EAASlF,GAAWA,EAAQkF,OAC5BhS,IAGJ,IAAU4E,QAANxG,EAEFsP,EAAO8E,EAAGqB,SAASzV,EAAI8G,GACnB8M,IAAWA,EAAOtE,KACpBA,EAAO,UAGN,IAAW9I,QAAP4O,EAEP,IAAK5P,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IACrC8J,EAAO8E,EAAGqB,SAASL,EAAI5P,GAAIsB,KACtB8M,GAAUA,EAAOtE,KACpB1N,EAAMsG,KAAKoH,OAMf,KAAKkG,IAAU7V,MAAKkT,MACdlT,KAAKkT,MAAM/M,eAAe0P,KAC5BlG,EAAO8E,EAAGqB,SAASD,EAAQ1O,KACtB8M,GAAUA,EAAOtE,KACpB1N,EAAMsG,KAAKoH,GAYnB,IALIZ,GAAWA,EAAQgH,OAAelP,QAANxG,GAC9BL,KAAKgW,MAAM/T,EAAO8M,EAAQgH,OAIxBhH,GAAWA,EAAQP,OAAQ,CAC7B,GAAIA,GAASO,EAAQP,MACrB,IAAU3H,QAANxG,EACFsP,EAAO3P,KAAKiW,cAActG,EAAMnB,OAGhC,KAAK3I,EAAI,EAAGC,EAAM7D,EAAM+D,OAAYF,EAAJD,EAASA,IACvC5D,EAAM4D,GAAK7F,KAAKiW,cAAchU,EAAM4D,GAAI2I,GAM9C,GAAkB,aAAdmH,EAA2B,CAC7B,GAAIhB,GAAU3U,KAAK4U,gBAAgB5B,EACnC,IAAUnM,QAANxG,EAEFoU,EAAGyB,WAAWlD,EAAM2B,EAAShF,OAI7B,KAAK9J,EAAI,EAAGA,EAAI5D,EAAM+D,OAAQH,IAC5B4O,EAAGyB,WAAWlD,EAAM2B,EAAS1S,EAAM4D,GAGvC,OAAOmN,GAEJ,GAAkB,UAAd2C,EAAwB,CAC/B,GAAI1K,KACJ,KAAKpF,EAAI,EAAGA,EAAI5D,EAAM+D,OAAQH,IAC5BoF,EAAOhJ,EAAM4D,GAAGxF,IAAM4B,EAAM4D,EAE9B,OAAOoF,GAIP,GAAUpE,QAANxG,EAEF,MAAOsP,EAIP,IAAIqD,EAAM,CAER,IAAKnN,EAAI,EAAGC,EAAM7D,EAAM+D,OAAYF,EAAJD,EAASA,IACvCmN,EAAKzK,KAAKtG,EAAM4D,GAElB,OAAOmN,GAIP,MAAO/Q,IAcfpB,EAAQ4S,UAAU0C,OAAS,SAAUpH,GACnC,GAIIlJ,GACAC,EACAzF,EACAsP,EACA1N,EARA+Q,EAAOhT,KAAKkT,MACZe,EAASlF,GAAWA,EAAQkF,OAC5B8B,EAAQhH,GAAWA,EAAQgH,MAC3B5O,EAAO4H,GAAWA,EAAQ5H,MAAQnH,KAAKiT,SAAS9L,KAMhDsO,IAEJ,IAAIxB,EAEF,GAAI8B,EAAO,CAET9T,IACA,KAAK5B,IAAM2S,GACLA,EAAK7M,eAAe9F,KACtBsP,EAAO3P,KAAK8V,SAASzV,EAAI8G,GACrB8M,EAAOtE,IACT1N,EAAMsG,KAAKoH,GAOjB,KAFA3P,KAAKgW,MAAM/T,EAAO8T,GAEblQ,EAAI,EAAGC,EAAM7D,EAAM+D,OAAYF,EAAJD,EAASA,IACvC4P,EAAI5P,GAAK5D,EAAM4D,GAAG7F,KAAKmT,cAKzB,KAAK9S,IAAM2S,GACLA,EAAK7M,eAAe9F,KACtBsP,EAAO3P,KAAK8V,SAASzV,EAAI8G,GACrB8M,EAAOtE,IACT8F,EAAIlN,KAAKoH,EAAK3P,KAAKmT,gBAQ3B,IAAI4C,EAAO,CAET9T,IACA,KAAK5B,IAAM2S,GACLA,EAAK7M,eAAe9F,IACtB4B,EAAMsG,KAAKyK,EAAK3S,GAMpB,KAFAL,KAAKgW,MAAM/T,EAAO8T,GAEblQ,EAAI,EAAGC,EAAM7D,EAAM+D,OAAYF,EAAJD,EAASA,IACvC4P,EAAI5P,GAAK5D,EAAM4D,GAAG7F,KAAKmT,cAKzB,KAAK9S,IAAM2S,GACLA,EAAK7M,eAAe9F,KACtBsP,EAAOqD,EAAK3S,GACZoV,EAAIlN,KAAKoH,EAAK3P,KAAKmT,WAM3B,OAAOsC,IAOT5U,EAAQ4S,UAAU2C,WAAa,WAC7B,MAAOpW,OAaTa,EAAQ4S,UAAU7K,QAAU,SAAUC,EAAUkG,GAC9C,GAGIY,GACAtP,EAJA4T,EAASlF,GAAWA,EAAQkF,OAC5B9M,EAAO4H,GAAWA,EAAQ5H,MAAQnH,KAAKiT,SAAS9L,KAChD6L,EAAOhT,KAAKkT,KAIhB,IAAInE,GAAWA,EAAQgH,MAIrB,IAAK,GAFD9T,GAAQjC,KAAKwV,IAAIzG,GAEZlJ,EAAI,EAAGC,EAAM7D,EAAM+D,OAAYF,EAAJD,EAASA,IAC3C8J,EAAO1N,EAAM4D,GACbxF,EAAKsP,EAAK3P,KAAKmT,UACftK,EAAS8G,EAAMtP,OAKjB,KAAKA,IAAM2S,GACLA,EAAK7M,eAAe9F,KACtBsP,EAAO3P,KAAK8V,SAASzV,EAAI8G,KACpB8M,GAAUA,EAAOtE,KACpB9G,EAAS8G,EAAMtP,KAkBzBQ,EAAQ4S,UAAU9F,IAAM,SAAU9E,EAAUkG,GAC1C,GAIIY,GAJAsE,EAASlF,GAAWA,EAAQkF,OAC5B9M,EAAO4H,GAAWA,EAAQ5H,MAAQnH,KAAKiT,SAAS9L,KAChDkP,KACArD,EAAOhT,KAAKkT,KAIhB,KAAK,GAAI7S,KAAM2S,GACTA,EAAK7M,eAAe9F,KACtBsP,EAAO3P,KAAK8V,SAASzV,EAAI8G,KACpB8M,GAAUA,EAAOtE,KACpB0G,EAAY9N,KAAKM,EAAS8G,EAAMtP,IAUtC,OAJI0O,IAAWA,EAAQgH,OACrB/V,KAAKgW,MAAMK,EAAatH,EAAQgH,OAG3BM,GAUTxV,EAAQ4S,UAAUwC,cAAgB,SAAUtG,EAAMnB,GAChD,IAAKmB,EACH,MAAOA,EAGT,IAAI2G,KAEJ,KAAK,GAAIlH,KAASO,GACZA,EAAKxJ,eAAeiJ,IAAoC,IAAzBZ,EAAOxH,QAAQoI,KAChDkH,EAAalH,GAASO,EAAKP,GAI/B,OAAOkH,IASTzV,EAAQ4S,UAAUuC,MAAQ,SAAU/T,EAAO8T,GACzC,GAAIpV,EAAK8D,SAASsR,GAAQ,CAExB,GAAIQ,GAAOR,CACX9T,GAAMuU,KAAK,SAAU5Q,EAAGa,GACtB,GAAIgQ,GAAK7Q,EAAE2Q,GACPG,EAAKjQ,EAAE8P,EACX,OAAQE,GAAKC,EAAM,EAAWA,EAALD,EAAW,GAAK,QAGxC,CAAA,GAAqB,kBAAVV,GAOd,KAAM,IAAIrP,WAAU,uCALpBzE,GAAMuU,KAAKT,KAgBflV,EAAQ4S,UAAUkD,OAAS,SAAUtW,EAAIgU,GACvC,GACIxO,GAAGC,EAAK8Q,EADRC,IAGJ,IAAIvQ,MAAMC,QAAQlG,GAChB,IAAKwF,EAAI,EAAGC,EAAMzF,EAAG2F,OAAYF,EAAJD,EAASA,IACpC+Q,EAAY5W,KAAK8W,QAAQzW,EAAGwF,IACX,MAAb+Q,GACFC,EAAWtO,KAAKqO,OAKpBA,GAAY5W,KAAK8W,QAAQzW,GACR,MAAbuW,GACFC,EAAWtO,KAAKqO,EAQpB,OAJIC,GAAW7Q,QACbhG,KAAKmU,SAAS,UAAWlS,MAAO4U,GAAaxC,GAGxCwC,GASThW,EAAQ4S,UAAUqD,QAAU,SAAUzW,GACpC,GAAIM,EAAKoD,SAAS1D,IAAOM,EAAK8D,SAASpE,IACrC,GAAIL,KAAKkT,MAAM7S,GAGb,aAFOL,MAAKkT,MAAM7S,GAClBL,KAAKgG,SACE3F,MAGN,IAAIA,YAAcuG,QAAQ,CAC7B,GAAIiP,GAASxV,EAAGL,KAAKmT,SACrB,IAAI0C,GAAU7V,KAAKkT,MAAM2C,GAGvB,aAFO7V,MAAKkT,MAAM2C,GAClB7V,KAAKgG,SACE6P,EAGX,MAAO,OAQThV,EAAQ4S,UAAUsD,MAAQ,SAAU1C,GAClC,GAAIoB,GAAM7O,OAAO8G,KAAK1N,KAAKkT,MAO3B,OALAlT,MAAKkT,SACLlT,KAAKgG,OAAS,EAEdhG,KAAKmU,SAAS,UAAWlS,MAAOwT,GAAMpB,GAE/BoB,GAQT5U,EAAQ4S,UAAUrP,IAAM,SAAUgL,GAChC,GAAI4D,GAAOhT,KAAKkT,MACZ9O,EAAM,KACN4S,EAAW,IAEf,KAAK,GAAI3W,KAAM2S,GACb,GAAIA,EAAK7M,eAAe9F,GAAK,CAC3B,GAAIsP,GAAOqD,EAAK3S,GACZ4W,EAAYtH,EAAKP,EACJ,OAAb6H,KAAuB7S,GAAO6S,EAAYD,KAC5C5S,EAAMuL,EACNqH,EAAWC,GAKjB,MAAO7S,IAQTvD,EAAQ4S,UAAUtP,IAAM,SAAUiL,GAChC,GAAI4D,GAAOhT,KAAKkT,MACZ/O,EAAM,KACN+S,EAAW,IAEf,KAAK,GAAI7W,KAAM2S,GACb,GAAIA,EAAK7M,eAAe9F,GAAK,CAC3B,GAAIsP,GAAOqD,EAAK3S,GACZ4W,EAAYtH,EAAKP,EACJ,OAAb6H,KAAuB9S,GAAmB+S,EAAZD,KAChC9S,EAAMwL,EACNuH,EAAWD,GAKjB,MAAO9S,IAUTtD,EAAQ4S,UAAU0D,SAAW,SAAU/H,GACrC,GAIIvJ,GAJAmN,EAAOhT,KAAKkT,MACZkE,KACAC,EAAYrX,KAAKiT,SAAS9L,MAAQnH,KAAKiT,SAAS9L,KAAKiI,IAAU,KAC/DkI,EAAQ,CAGZ,KAAK,GAAIpR,KAAQ8M,GACf,GAAIA,EAAK7M,eAAeD,GAAO,CAC7B,GAAIyJ,GAAOqD,EAAK9M,GACZ5B,EAAQqL,EAAKP,GACbmI,GAAS,CACb,KAAK1R,EAAI,EAAOyR,EAAJzR,EAAWA,IACrB,GAAIuR,EAAOvR,IAAMvB,EAAO,CACtBiT,GAAS,CACT,OAGCA,GAAqB1Q,SAAVvC,IACd8S,EAAOE,GAAShT,EAChBgT,KAKN,GAAID,EACF,IAAKxR,EAAI,EAAGA,EAAIuR,EAAOpR,OAAQH,IAC7BuR,EAAOvR,GAAKlF,EAAKuG,QAAQkQ,EAAOvR,GAAIwR,EAIxC,OAAOD,IASTvW,EAAQ4S,UAAUiB,SAAW,SAAU/E,GACrC,GAAItP,GAAKsP,EAAK3P,KAAKmT,SAEnB,IAAUtM,QAANxG,GAEF,GAAIL,KAAKkT,MAAM7S,GAEb,KAAM,IAAIuD,OAAM,iCAAmCvD,EAAK,uBAK1DA,GAAKM,EAAK2E,aACVqK,EAAK3P,KAAKmT,UAAY9S,CAGxB,IAAI4M,KACJ,KAAK,GAAImC,KAASO,GAChB,GAAIA,EAAKxJ,eAAeiJ,GAAQ,CAC9B,GAAIiI,GAAYrX,KAAKqT,MAAMjE,EAC3BnC,GAAEmC,GAASzO,EAAKuG,QAAQyI,EAAKP,GAAQiI,GAMzC,MAHArX,MAAKkT,MAAM7S,GAAM4M,EACjBjN,KAAKgG,SAEE3F,GAUTQ,EAAQ4S,UAAUqC,SAAW,SAAUzV,EAAImX,GACzC,GAAIpI,GAAO9K,EAGPmT,EAAMzX,KAAKkT,MAAM7S,EACrB,KAAKoX,EACH,MAAO,KAIT,IAAIC,KACJ,IAAIF,EACF,IAAKpI,IAASqI,GACRA,EAAItR,eAAeiJ,KACrB9K,EAAQmT,EAAIrI,GACZsI,EAAUtI,GAASzO,EAAKuG,QAAQ5C,EAAOkT,EAAMpI,SAMjD,KAAKA,IAASqI,GACRA,EAAItR,eAAeiJ,KACrB9K,EAAQmT,EAAIrI,GACZsI,EAAUtI,GAAS9K,EAIzB,OAAOoT,IAWT7W,EAAQ4S,UAAU8B,YAAc,SAAU5F,GACxC,GAAItP,GAAKsP,EAAK3P,KAAKmT,SACnB,IAAUtM,QAANxG,EACF,KAAM,IAAIuD,OAAM,6CAA+C+T,KAAKC,UAAUjI,GAAQ,IAExF,IAAI1C,GAAIjN,KAAKkT,MAAM7S,EACnB,KAAK4M,EAEH,KAAM,IAAIrJ,OAAM,uCAAyCvD,EAAK,SAIhE,KAAK,GAAI+O,KAASO,GAChB,GAAIA,EAAKxJ,eAAeiJ,GAAQ,CAC9B,GAAIiI,GAAYrX,KAAKqT,MAAMjE,EAC3BnC,GAAEmC,GAASzO,EAAKuG,QAAQyI,EAAKP,GAAQiI,GAIzC,MAAOhX,IASTQ,EAAQ4S,UAAUmB,gBAAkB,SAAUiD,GAE5C,IAAK,GADDlD,MACKK,EAAM,EAAGC,EAAO4C,EAAUC,qBAA4B7C,EAAND,EAAYA,IACnEL,EAAQK,GAAO6C,EAAUE,YAAY/C,IAAQ6C,EAAUG,eAAehD,EAExE,OAAOL,IAUT9T,EAAQ4S,UAAUyC,WAAa,SAAU2B,EAAWlD,EAAShF,GAG3D,IAAK,GAFDkF,GAAMgD,EAAUI,SAEXjD,EAAM,EAAGC,EAAON,EAAQ3O,OAAciP,EAAND,EAAYA,IAAO,CAC1D,GAAI5F,GAAQuF,EAAQK,EACpB6C,GAAUK,SAASrD,EAAKG,EAAKrF,EAAKP,MAItCvP,EAAOD,QAAUiB,GAKb,SAAShB,EAAQD,EAASM,GAe9B,QAASY,GAAUkS,EAAMjE,GACvB/O,KAAKkT,MAAQ,KACblT,KAAKmY,QACLnY,KAAKgG,OAAS,EACdhG,KAAKiT,SAAWlE,MAChB/O,KAAKmT,SAAW,KAChBnT,KAAKsT,eAEL,IAAImB,GAAKzU,IACTA,MAAKqJ,SAAW,WACdoL,EAAG2D,SAASC,MAAM5D,EAAI1O,YAGxB/F,KAAKsY,QAAQtF,GA1Bf,GAAIrS,GAAOT,EAAoB,GAC3BW,EAAUX,EAAoB,EAmClCY,GAAS2S,UAAU6E,QAAU,SAAUtF,GACrC,GAAIyC,GAAK5P,EAAGC,CAEZ,IAAI9F,KAAKkT,MAAO,CAEVlT,KAAKkT,MAAMgB,aACblU,KAAKkT,MAAMgB,YAAY,IAAKlU,KAAKqJ,UAInCoM,IACA,KAAK,GAAIpV,KAAML,MAAKmY,KACdnY,KAAKmY,KAAKhS,eAAe9F,IAC3BoV,EAAIlN,KAAKlI,EAGbL,MAAKmY,QACLnY,KAAKgG,OAAS,EACdhG,KAAKmU,SAAS,UAAWlS,MAAOwT,IAKlC,GAFAzV,KAAKkT,MAAQF,EAEThT,KAAKkT,MAAO,CAQd,IANAlT,KAAKmT,SAAWnT,KAAKiT,SAASG,SACzBpT,KAAKkT,OAASlT,KAAKkT,MAAMnE,SAAW/O,KAAKkT,MAAMnE,QAAQqE,SACxD,KAGJqC,EAAMzV,KAAKkT,MAAMiD,QAAQlC,OAAQjU,KAAKiT,UAAYjT,KAAKiT,SAASgB,SAC3DpO,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IACrCxF,EAAKoV,EAAI5P,GACT7F,KAAKmY,KAAK9X,IAAM,CAElBL,MAAKgG,OAASyP,EAAIzP,OAClBhG,KAAKmU,SAAS,OAAQlS,MAAOwT,IAGzBzV,KAAKkT,MAAMW,IACb7T,KAAKkT,MAAMW,GAAG,IAAK7T,KAAKqJ,YAS9BvI,EAAS2S,UAAU8E,QAAU,WAQ3B,IAAK,GAPDlY,GACAoV,EAAMzV,KAAKkT,MAAMiD,QAAQlC,OAAQjU,KAAKiT,UAAYjT,KAAKiT,SAASgB,SAChEuE,KACAC,KACAC,KAGK7S,EAAI,EAAGA,EAAI4P,EAAIzP,OAAQH,IAC9BxF,EAAKoV,EAAI5P,GACT2S,EAAOnY,IAAM,EACRL,KAAKmY,KAAK9X,KACboY,EAAMlQ,KAAKlI,GACXL,KAAKmY,KAAK9X,IAAM,EAChBL,KAAKgG,SAKT,KAAK3F,IAAML,MAAKmY,KACVnY,KAAKmY,KAAKhS,eAAe9F,KACtBmY,EAAOnY,KACVqY,EAAQnQ,KAAKlI,SACNL,MAAKmY,KAAK9X,GACjBL,KAAKgG,UAMPyS,GAAMzS,QACRhG,KAAKmU,SAAS,OAAQlS,MAAOwW,IAE3BC,EAAQ1S,QACVhG,KAAKmU,SAAS,UAAWlS,MAAOyW,KAsCpC5X,EAAS2S,UAAU+B,IAAM,WACvB,GAGIC,GAAK1G,EAASiE,EAHdyB,EAAKzU,KAIL0V,EAAY/U,EAAK6G,QAAQzB,UAAU,GACtB,WAAb2P,GAAsC,UAAbA,GAAsC,SAAbA,GAEpDD,EAAM1P,UAAU,GAChBgJ,EAAUhJ,UAAU,GACpBiN,EAAOjN,UAAU,KAIjBgJ,EAAUhJ,UAAU,GACpBiN,EAAOjN,UAAU,GAInB,IAAI4S,GAAchY,EAAKgF,UAAW3F,KAAKiT,SAAUlE,EAG7C/O,MAAKiT,SAASgB,QAAUlF,GAAWA,EAAQkF,SAC7C0E,EAAY1E,OAAS,SAAUtE,GAC7B,MAAO8E,GAAGxB,SAASgB,OAAOtE,IAASZ,EAAQkF,OAAOtE,IAKtD,IAAIiJ,KAOJ,OANW/R,SAAP4O,GACFmD,EAAarQ,KAAKkN,GAEpBmD,EAAarQ,KAAKoQ,GAClBC,EAAarQ,KAAKyK,GAEXhT,KAAKkT,OAASlT,KAAKkT,MAAMsC,IAAI6C,MAAMrY,KAAKkT,MAAO0F,IAWxD9X,EAAS2S,UAAU0C,OAAS,SAAUpH,GACpC,GAAI0G,EAEJ,IAAIzV,KAAKkT,MAAO,CACd,GACIe,GADA4E,EAAgB7Y,KAAKiT,SAASgB,MAK9BA,GAFAlF,GAAWA,EAAQkF,OACjB4E,EACO,SAAUlJ,GACjB,MAAOkJ,GAAclJ,IAASZ,EAAQkF,OAAOtE,IAItCZ,EAAQkF,OAIV4E,EAGXpD,EAAMzV,KAAKkT,MAAMiD,QACflC,OAAQA,EACR8B,MAAOhH,GAAWA,EAAQgH,YAI5BN,KAGF,OAAOA,IAQT3U,EAAS2S,UAAU2C,WAAa,WAE9B,IADA,GAAI0C,GAAU9Y,KACP8Y,YAAmBhY,IACxBgY,EAAUA,EAAQ5F,KAEpB,OAAO4F,IAAW,MAYpBhY,EAAS2S,UAAU2E,SAAW,SAAUvO,EAAOuK,EAAQC,GACrD,GAAIxO,GAAGC,EAAKzF,EAAIsP,EACZ8F,EAAMrB,GAAUA,EAAOnS,MACvB+Q,EAAOhT,KAAKkT,MACZuF,KACAM,KACAL,IAEJ,IAAIjD,GAAOzC,EAAM,CACf,OAAQnJ,GACN,IAAK,MAEH,IAAKhE,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IACrCxF,EAAKoV,EAAI5P,GACT8J,EAAO3P,KAAKwV,IAAInV,GACZsP,IACF3P,KAAKmY,KAAK9X,IAAM,EAChBoY,EAAMlQ,KAAKlI,GAIf,MAEF,KAAK,SAGH,IAAKwF,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IACrCxF,EAAKoV,EAAI5P,GACT8J,EAAO3P,KAAKwV,IAAInV,GAEZsP,EACE3P,KAAKmY,KAAK9X,GACZ0Y,EAAQxQ,KAAKlI,IAGbL,KAAKmY,KAAK9X,IAAM,EAChBoY,EAAMlQ,KAAKlI,IAITL,KAAKmY,KAAK9X,WACLL,MAAKmY,KAAK9X,GACjBqY,EAAQnQ,KAAKlI,GAQnB,MAEF,KAAK,SAEH,IAAKwF,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IACrCxF,EAAKoV,EAAI5P,GACL7F,KAAKmY,KAAK9X,WACLL,MAAKmY,KAAK9X,GACjBqY,EAAQnQ,KAAKlI,IAOrBL,KAAKgG,QAAUyS,EAAMzS,OAAS0S,EAAQ1S,OAElCyS,EAAMzS,QACRhG,KAAKmU,SAAS,OAAQlS,MAAOwW,GAAQpE,GAEnC0E,EAAQ/S,QACVhG,KAAKmU,SAAS,UAAWlS,MAAO8W,GAAU1E,GAExCqE,EAAQ1S,QACVhG,KAAKmU,SAAS,UAAWlS,MAAOyW,GAAUrE,KAMhDvT,EAAS2S,UAAUI,GAAKhT,EAAQ4S,UAAUI,GAC1C/S,EAAS2S,UAAUO,IAAMnT,EAAQ4S,UAAUO,IAC3ClT,EAAS2S,UAAUU,SAAWtT,EAAQ4S,UAAUU,SAGhDrT,EAAS2S,UAAUM,UAAYjT,EAAS2S,UAAUI,GAClD/S,EAAS2S,UAAUS,YAAcpT,EAAS2S,UAAUO,IAEpDnU,EAAOD,QAAUkB,GAIb,SAASjB,GAeb,QAASkB,GAAMgO,GAEb/O,KAAKgZ,MAAQ,KACbhZ,KAAKoE,IAAM6U,IAGXjZ,KAAK2T,UACL3T,KAAKkZ,SAAW,KAChBlZ,KAAKmZ,UAAY,KAEjBnZ,KAAKwT,WAAWzE,GAgBlBhO,EAAM0S,UAAUD,WAAa,SAAUzE,GACjCA,GAAoC,mBAAlBA,GAAQiK,QAC5BhZ,KAAKgZ,MAAQjK,EAAQiK,OAEnBjK,GAAkC,mBAAhBA,GAAQ3K,MAC5BpE,KAAKoE,IAAM2K,EAAQ3K,KAGrBpE,KAAKoZ,kBAsBPrY,EAAM4E,OAAS,SAAU3B,EAAQ+K,GAC/B,GAAI2E,GAAQ,GAAI3S,GAAMgO,EAEtB,IAAqBlI,SAAjB7C,EAAOqV,MACT,KAAM,IAAIzV,OAAM,6CAElBI,GAAOqV,MAAQ,WACb3F,EAAM2F,QAGR,IAAIC,KACF/C,KAAM,QACNgD,SAAU1S,QAGZ,IAAIkI,GAAWA,EAAQjE,QACrB,IAAK,GAAIjF,GAAI,EAAGA,EAAIkJ,EAAQjE,QAAQ9E,OAAQH,IAAK,CAC/C,GAAI0Q,GAAOxH,EAAQjE,QAAQjF,EAC3ByT,GAAQ/Q,MACNgO,KAAMA,EACNgD,SAAUvV,EAAOuS,KAEnB7C,EAAM5I,QAAQ9G,EAAQuS,GAS1B,MALA7C,GAAMyF,WACJnV,OAAQA,EACRsV,QAASA,GAGJ5F,GAOT3S,EAAM0S,UAAUG,QAAU,WAGxB,GAFA5T,KAAKqZ,QAEDrZ,KAAKmZ,UAAW,CAGlB,IAAK,GAFDnV,GAAShE,KAAKmZ,UAAUnV,OACxBsV,EAAUtZ,KAAKmZ,UAAUG,QACpBzT,EAAI,EAAGA,EAAIyT,EAAQtT,OAAQH,IAAK,CACvC,GAAI2T,GAASF,EAAQzT,EACjB2T,GAAOD,SACTvV,EAAOwV,EAAOjD,MAAQiD,EAAOD,eAGtBvV,GAAOwV,EAAOjD,MAGzBvW,KAAKmZ,UAAY,OASrBpY,EAAM0S,UAAU3I,QAAU,SAAS9G,EAAQwV,GACzC,GAAI/E,GAAKzU,KACLuZ,EAAWvV,EAAOwV,EACtB,KAAKD,EACH,KAAM,IAAI3V,OAAM,UAAY4V,EAAS,aAGvCxV,GAAOwV,GAAU,WAGf,IAAK,GADDC,MACK5T,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IACpC4T,EAAK5T,GAAKE,UAAUF,EAItB4O,GAAGf,OACD+F,KAAMA,EACNC,GAAIH,EACJI,QAAS3Z,SASfe,EAAM0S,UAAUC,MAAQ,SAASkG,GAE7B5Z,KAAK2T,OAAOpL,KADO,kBAAVqR,IACSF,GAAIE,GAGLA,GAGnB5Z,KAAKoZ,kBAOPrY,EAAM0S,UAAU2F,eAAiB,WAQ/B,GANIpZ,KAAK2T,OAAO3N,OAAShG,KAAKoE,KAC5BpE,KAAKqZ,QAIPQ,aAAa7Z,KAAKkZ,UACdlZ,KAAK0T,MAAM1N,OAAS,GAA2B,gBAAfhG,MAAKgZ,MAAoB,CAC3D,GAAIvE,GAAKzU,IACTA,MAAKkZ,SAAWY,WAAW,WACzBrF,EAAG4E,SACFrZ,KAAKgZ,SAOZjY,EAAM0S,UAAU4F,MAAQ,WACtB,KAAOrZ,KAAK2T,OAAO3N,OAAS,GAAG,CAC7B,GAAI4T,GAAQ5Z,KAAK2T,OAAO/B,OACxBgI,GAAMF,GAAGrB,MAAMuB,EAAMD,SAAWC,EAAMF,GAAIE,EAAMH,YAIpD5Z,EAAOD,QAAUmB,GAKb,SAASlB,EAAQD,EAASM,GAwB9B,QAASc,GAAQ+Y,EAAW/G,EAAMjE,GAChC,KAAM/O,eAAgBgB,IACpB,KAAM,IAAIgZ,aAAY,mDAIxBha,MAAKia,iBAAmBF,EACxB/Z,KAAK6S,MAAQ,QACb7S,KAAK8S,OAAS,QACd9S,KAAKka,OAAS,GACdla,KAAKma,eAAiB,MACtBna,KAAKoa,eAAiB,MAEtBpa,KAAKqa,OAAS,IACdra,KAAKsa,OAAS,IACdta,KAAKua,OAAS,GAEd,IAAIC,GAAc,SAASnO,GAAK,MAAOA,GACvCrM,MAAKya,YAAcD,EACnBxa,KAAK0a,YAAcF,EACnBxa,KAAK2a,YAAcH,EAEnBxa,KAAK4a,YAAc,OACnB5a,KAAK6a,YAAc,QAEnB7a,KAAKuN,MAAQvM,EAAQ8Z,MAAMC,IAC3B/a,KAAKgb,iBAAkB,EACvBhb,KAAKib,UAAW,EAChBjb,KAAKkb,iBAAkB,EACvBlb,KAAKmb,YAAa,EAClBnb,KAAKob,gBAAiB,EACtBpb,KAAKqb,aAAc,EACnBrb,KAAKsb,cAAgB,GAErBtb,KAAKub,kBAAoB,IACzBvb,KAAKwb,kBAAmB,EAExBxb,KAAKyb,OAAS,GAAIva,GAClBlB,KAAK0b,IAAM,GAAIra,GAAQ,EAAG,EAAG,IAE7BrB,KAAK6X,UAAY,KACjB7X,KAAK2b,WAAa,KAGlB3b,KAAK4b,KAAO/U,OACZ7G,KAAK6b,KAAOhV,OACZ7G,KAAK8b,KAAOjV,OACZ7G,KAAK+b,SAAWlV,OAChB7G,KAAKgc,UAAYnV,OAEjB7G,KAAKic,KAAO,EACZjc,KAAKkc,MAAQrV,OACb7G,KAAKmc,KAAO,EACZnc,KAAKoc,KAAO,EACZpc,KAAKqc,MAAQxV,OACb7G,KAAKsc,KAAO,EACZtc,KAAKuc,KAAO,EACZvc,KAAKwc,MAAQ3V,OACb7G,KAAKyc,KAAO,EACZzc,KAAK0c,SAAW,EAChB1c,KAAK2c,SAAW,EAChB3c,KAAK4c,UAAY,EACjB5c,KAAK6c,UAAY,EAIjB7c,KAAK8c,UAAY,UACjB9c,KAAK+c,UAAY,UACjB/c,KAAKgd,SAAW,UAChBhd,KAAKid,eAAiB,UAGtBjd,KAAK2O,SAGL3O,KAAKwT,WAAWzE,GAGZiE,GACFhT,KAAKsY,QAAQtF,GAknEjB,QAASkK,GAAWrT,GAClB,MAAI,WAAaA,GAAcA,EAAMsT,QAC9BtT,EAAMuT,cAAc,IAAMvT,EAAMuT,cAAc,GAAGD,SAAW,EAQrE,QAASE,GAAWxT,GAClB,MAAI,WAAaA,GAAcA,EAAMyT,QAC9BzT,EAAMuT,cAAc,IAAMvT,EAAMuT,cAAc,GAAGE,SAAW,EAnuErE,GAAIC,GAAUrd,EAAoB,IAC9BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BS,EAAOT,EAAoB,GAC3BmB,EAAUnB,EAAoB,IAC9BkB,EAAUlB,EAAoB,GAC9BgB,EAAShB,EAAoB,GAC7BiB,EAASjB,EAAoB,GAC7BoB,EAASpB,EAAoB,IAC7BqB,EAAarB,EAAoB,GAiGrCqd,GAAQvc,EAAQyS,WAKhBzS,EAAQyS,UAAU+J,UAAY,WAC5Bxd,KAAKuE,MAAQ,GAAIlD,GAAQ,GAAKrB,KAAKmc,KAAOnc,KAAKic,MAC7C,GAAKjc,KAAKsc,KAAOtc,KAAKoc,MACtB,GAAKpc,KAAKyc,KAAOzc,KAAKuc,OAGpBvc,KAAKkb,kBACHlb,KAAKuE,MAAM8N,EAAIrS,KAAKuE,MAAM+N,EAE5BtS,KAAKuE,MAAM+N,EAAItS,KAAKuE,MAAM8N,EAI1BrS,KAAKuE,MAAM8N,EAAIrS,KAAKuE,MAAM+N,GAK9BtS,KAAKuE,MAAMkZ,GAAKzd,KAAKsb,cAIrBtb,KAAKuE,MAAMD,MAAQ,GAAKtE,KAAK2c,SAAW3c,KAAK0c,SAG7C,IAAIgB,IAAW1d,KAAKmc,KAAOnc,KAAKic,MAAQ,EAAIjc,KAAKuE,MAAM8N,EACnDsL,GAAW3d,KAAKsc,KAAOtc,KAAKoc,MAAQ,EAAIpc,KAAKuE,MAAM+N,EACnDsL,GAAW5d,KAAKyc,KAAOzc,KAAKuc,MAAQ,EAAIvc,KAAKuE,MAAMkZ,CACvDzd,MAAKyb,OAAOoC,eAAeH,EAASC,EAASC,IAU/C5c,EAAQyS,UAAUqK,eAAiB,SAASC,GAC1C,GAAIC,GAAche,KAAKie,2BAA2BF,EAClD,OAAO/d,MAAKke,4BAA4BF,IAW1Chd,EAAQyS,UAAUwK,2BAA6B,SAASF,GACtD,GAAII,GAAKJ,EAAQ1L,EAAIrS,KAAKuE,MAAM8N,EAC9B+L,EAAKL,EAAQzL,EAAItS,KAAKuE,MAAM+N,EAC5B+L,EAAKN,EAAQN,EAAIzd,KAAKuE,MAAMkZ,EAE5Ba,EAAKte,KAAKyb,OAAO8C,oBAAoBlM,EACrCmM,EAAKxe,KAAKyb,OAAO8C,oBAAoBjM,EACrCmM,EAAKze,KAAKyb,OAAO8C,oBAAoBd,EAGrCiB,EAAQla,KAAKma,IAAI3e,KAAKyb,OAAOmD,oBAAoBvM,GACjDwM,EAAQra,KAAKsa,IAAI9e,KAAKyb,OAAOmD,oBAAoBvM,GACjD0M,EAAQva,KAAKma,IAAI3e,KAAKyb,OAAOmD,oBAAoBtM,GACjD0M,EAAQxa,KAAKsa,IAAI9e,KAAKyb,OAAOmD,oBAAoBtM,GACjD2M,EAAQza,KAAKma,IAAI3e,KAAKyb,OAAOmD,oBAAoBnB,GACjDyB,EAAQ1a,KAAKsa,IAAI9e,KAAKyb,OAAOmD,oBAAoBnB,GAGjD0B,EAAKH,GAASC,GAASb,EAAKI,GAAMU,GAASf,EAAKG,IAAOS,GAASV,EAAKI,GACrEW,EAAKV,GAASM,GAASX,EAAKI,GAAMM,GAASE,GAASb,EAAKI,GAAMU,GAASf,EAAKG,KAAQO,GAASK,GAASd,EAAKI,GAAMS,GAASd,EAAGG,IAC9He,EAAKR,GAASG,GAASX,EAAKI,GAAMM,GAASE,GAASb,EAAKI,GAAMU,GAASf,EAAKG,KAAQI,GAASQ,GAASd,EAAKI,GAAMS,GAASd,EAAGG,GAEhI,OAAO,IAAIjd,GAAQ8d,EAAIC,EAAIC,IAU7Bre,EAAQyS,UAAUyK,4BAA8B,SAASF,GACvD,GAQIsB,GACAC,EATAC,EAAKxf,KAAK0b,IAAIrJ,EAChBoN,EAAKzf,KAAK0b,IAAIpJ,EACdoN,EAAK1f,KAAK0b,IAAI+B,EACd0B,EAAKnB,EAAY3L,EACjB+M,EAAKpB,EAAY1L,EACjB+M,EAAKrB,EAAYP,CAgBnB,OAXIzd,MAAKgb,iBACPsE,GAAMH,EAAKK,IAAOE,EAAKL,GACvBE,GAAMH,EAAKK,IAAOC,EAAKL,KAGvBC,EAAKH,IAAOO,EAAK1f,KAAKyb,OAAOkE,gBAC7BJ,EAAKH,IAAOM,EAAK1f,KAAKyb,OAAOkE,iBAKxB,GAAIve,GACTpB,KAAK4f,QAAUN,EAAKtf,KAAK6f,MAAMC,OAAOC,YACtC/f,KAAKggB,QAAUT,EAAKvf,KAAK6f,MAAMC,OAAOC,cAO1C/e,EAAQyS,UAAUwM,oBAAsB,SAASC,GAC/C,GAAIC,GAAO,QACPC,EAAS,OACTC,EAAc,CAElB,IAAgC,gBAAtB,GACRF,EAAOD,EACPE,EAAS,OACTC,EAAc,MAEX,IAAgC,gBAAtB,GACgBxZ,SAAzBqZ,EAAgBC,OAAuBA,EAAOD,EAAgBC,MACnCtZ,SAA3BqZ,EAAgBE,SAAyBA,EAASF,EAAgBE,QAClCvZ,SAAhCqZ,EAAgBG,cAA2BA,EAAcH,EAAgBG,iBAE1E,IAAyBxZ,SAApBqZ,EAIR,KAAM,qCAGRlgB,MAAK6f,MAAMtS,MAAM2S,gBAAkBC,EACnCngB,KAAK6f,MAAMtS,MAAM+S,YAAcF,EAC/BpgB,KAAK6f,MAAMtS,MAAMgT,YAAcF,EAAc,KAC7CrgB,KAAK6f,MAAMtS,MAAMiT,YAAc,SAKjCxf,EAAQ8Z,OACN2F,IAAK,EACLC,SAAU,EACVC,QAAS,EACT5F,IAAM,EACN6F,QAAU,EACVC,SAAU,EACVC,QAAS,EACTC,KAAO,EACPC,KAAM,EACNC,QAAU,GASZjgB,EAAQyS,UAAUyN,gBAAkB,SAASC,GAC3C,OAAQA,GACN,IAAK,MAAW,MAAOngB,GAAQ8Z,MAAMC,GACrC,KAAK,WAAa,MAAO/Z,GAAQ8Z,MAAM8F,OACvC,KAAK,YAAe,MAAO5f,GAAQ8Z,MAAM+F,QACzC,KAAK,WAAa,MAAO7f,GAAQ8Z,MAAMgG,OACvC,KAAK,OAAW,MAAO9f,GAAQ8Z,MAAMkG,IACrC,KAAK,OAAW,MAAOhgB,GAAQ8Z,MAAMiG,IACrC,KAAK,UAAa,MAAO/f,GAAQ8Z,MAAMmG,OACvC,KAAK,MAAW,MAAOjgB,GAAQ8Z,MAAM2F,GACrC,KAAK,YAAe,MAAOzf,GAAQ8Z,MAAM4F,QACzC,KAAK,WAAa,MAAO1f,GAAQ8Z,MAAM6F,QAGzC,MAAO,IAQT3f,EAAQyS,UAAU2N,wBAA0B,SAASpO,GACnD,GAAIhT,KAAKuN,QAAUvM,EAAQ8Z,MAAMC,KAC/B/a,KAAKuN,QAAUvM,EAAQ8Z,MAAM8F,SAC7B5gB,KAAKuN,QAAUvM,EAAQ8Z,MAAMkG,MAC7BhhB,KAAKuN,QAAUvM,EAAQ8Z,MAAMiG,MAC7B/gB,KAAKuN,QAAUvM,EAAQ8Z,MAAMmG,SAC7BjhB,KAAKuN,QAAUvM,EAAQ8Z,MAAM2F,IAE7BzgB,KAAK4b,KAAO,EACZ5b,KAAK6b,KAAO,EACZ7b,KAAK8b,KAAO,EACZ9b,KAAK+b,SAAWlV,OAEZmM,EAAK8E,qBAAuB,IAC9B9X,KAAKgc,UAAY,OAGhB,CAAA,GAAIhc,KAAKuN,QAAUvM,EAAQ8Z,MAAM+F,UACpC7gB,KAAKuN,QAAUvM,EAAQ8Z,MAAMgG,SAC7B9gB,KAAKuN,QAAUvM,EAAQ8Z,MAAM4F,UAC7B1gB,KAAKuN,QAAUvM,EAAQ8Z,MAAM6F,QAY7B,KAAM,kBAAoB3gB,KAAKuN,MAAQ,GAVvCvN,MAAK4b,KAAO,EACZ5b,KAAK6b,KAAO,EACZ7b,KAAK8b,KAAO,EACZ9b,KAAK+b,SAAW,EAEZ/I,EAAK8E,qBAAuB,IAC9B9X,KAAKgc,UAAY,KAQvBhb,EAAQyS,UAAUsB,gBAAkB,SAAS/B,GAC3C,MAAOA,GAAKhN,QAIdhF,EAAQyS,UAAUqE,mBAAqB,SAAS9E,GAC9C,GAAIqO,GAAU,CACd,KAAK,GAAIC,KAAUtO,GAAK,GAClBA,EAAK,GAAG7M,eAAemb,IACzBD,GAGJ,OAAOA,IAITrgB,EAAQyS,UAAU8N,kBAAoB,SAASvO,EAAMsO,GAEnD,IAAK,GADDE,MACK3b,EAAI,EAAGA,EAAImN,EAAKhN,OAAQH,IACgB,IAA3C2b,EAAexa,QAAQgM,EAAKnN,GAAGyb,KACjCE,EAAejZ,KAAKyK,EAAKnN,GAAGyb,GAGhC,OAAOE,IAITxgB,EAAQyS,UAAUgO,eAAiB,SAASzO,EAAKsO,GAE/C,IAAK,GADDI,IAAUvd,IAAI6O,EAAK,GAAGsO,GAAQld,IAAI4O,EAAK,GAAGsO,IACrCzb,EAAI,EAAGA,EAAImN,EAAKhN,OAAQH,IAC3B6b,EAAOvd,IAAM6O,EAAKnN,GAAGyb,KAAWI,EAAOvd,IAAM6O,EAAKnN,GAAGyb,IACrDI,EAAOtd,IAAM4O,EAAKnN,GAAGyb,KAAWI,EAAOtd,IAAM4O,EAAKnN,GAAGyb,GAE3D,OAAOI,IAST1gB,EAAQyS,UAAUkO,gBAAkB,SAAUC,GAC5C,GAAInN,GAAKzU,IAOT,IAJIA,KAAK8Y,SACP9Y,KAAK8Y,QAAQ9E,IAAI,IAAKhU,KAAK6hB,WAGbhb,SAAZ+a,EAAJ,CAGItb,MAAMC,QAAQqb,KAChBA,EAAU,GAAI/gB,GAAQ+gB,GAGxB,IAAI5O,EACJ,MAAI4O,YAAmB/gB,IAAW+gB,YAAmB9gB,IAInD,KAAM,IAAI8C,OAAM,uCAGlB,IANEoP,EAAO4O,EAAQpM,MAME,GAAfxC,EAAKhN,OAAT,CAGAhG,KAAK8Y,QAAU8I,EACf5hB,KAAK6X,UAAY7E,EAGjBhT,KAAK6hB,UAAY,WACfpN,EAAG6D,QAAQ7D,EAAGqE,UAEhB9Y,KAAK8Y,QAAQjF,GAAG,IAAK7T,KAAK6hB,WAS1B7hB,KAAK4b,KAAO,IACZ5b,KAAK6b,KAAO,IACZ7b,KAAK8b,KAAO,IACZ9b,KAAK+b,SAAW,QAChB/b,KAAKgc,UAAY,SAKbhJ,EAAK,GAAG7M,eAAe,WACDU,SAApB7G,KAAK8hB,aACP9hB,KAAK8hB,WAAa,GAAI3gB,GAAOygB,EAAS5hB,KAAKgc,UAAWhc,MACtDA,KAAK8hB,WAAWC,kBAAkB,WAAYtN,EAAGuN;GAKrD,IAAIC,GAAWjiB,KAAKuN,OAASvM,EAAQ8Z,MAAM2F,KACzCzgB,KAAKuN,OAASvM,EAAQ8Z,MAAM4F,UAC5B1gB,KAAKuN,OAASvM,EAAQ8Z,MAAM6F,OAG9B,IAAIsB,EAAU,CACZ,GAA8Bpb,SAA1B7G,KAAKkiB,iBACPliB,KAAK4c,UAAY5c,KAAKkiB,qBAEnB,CACH,GAAIC,GAAQniB,KAAKuhB,kBAAkBvO,EAAKhT,KAAK4b,KAC7C5b,MAAK4c,UAAauF,EAAM,GAAKA,EAAM,IAAO,EAG5C,GAA8Btb,SAA1B7G,KAAKoiB,iBACPpiB,KAAK6c,UAAY7c,KAAKoiB,qBAEnB,CACH,GAAIC,GAAQriB,KAAKuhB,kBAAkBvO,EAAKhT,KAAK6b,KAC7C7b,MAAK6c,UAAawF,EAAM,GAAKA,EAAM,IAAO,GAK9C,GAAIC,GAAStiB,KAAKyhB,eAAezO,EAAKhT,KAAK4b,KACvCqG,KACFK,EAAOne,KAAOnE,KAAK4c,UAAY,EAC/B0F,EAAOle,KAAOpE,KAAK4c,UAAY,GAEjC5c,KAAKic,KAA6BpV,SAArB7G,KAAKuiB,YAA6BviB,KAAKuiB,YAAcD,EAAOne,IACzEnE,KAAKmc,KAA6BtV,SAArB7G,KAAKwiB,YAA6BxiB,KAAKwiB,YAAcF,EAAOle,IACrEpE,KAAKmc,MAAQnc,KAAKic,OAAMjc,KAAKmc,KAAOnc,KAAKic,KAAO,GACpDjc,KAAKkc,MAA+BrV,SAAtB7G,KAAKyiB,aAA8BziB,KAAKyiB,cAAgBziB,KAAKmc,KAAKnc,KAAKic,MAAM,CAE3F,IAAIyG,GAAS1iB,KAAKyhB,eAAezO,EAAKhT,KAAK6b,KACvCoG,KACFS,EAAOve,KAAOnE,KAAK6c,UAAY,EAC/B6F,EAAOte,KAAOpE,KAAK6c,UAAY,GAEjC7c,KAAKoc,KAA6BvV,SAArB7G,KAAK2iB,YAA6B3iB,KAAK2iB,YAAcD,EAAOve,IACzEnE,KAAKsc,KAA6BzV,SAArB7G,KAAK4iB,YAA6B5iB,KAAK4iB,YAAcF,EAAOte,IACrEpE,KAAKsc,MAAQtc,KAAKoc,OAAMpc,KAAKsc,KAAOtc,KAAKoc,KAAO,GACpDpc,KAAKqc,MAA+BxV,SAAtB7G,KAAK6iB,aAA8B7iB,KAAK6iB,cAAgB7iB,KAAKsc,KAAKtc,KAAKoc,MAAM,CAE3F,IAAI0G,GAAS9iB,KAAKyhB,eAAezO,EAAKhT,KAAK8b,KAM3C,IALA9b,KAAKuc,KAA6B1V,SAArB7G,KAAK+iB,YAA6B/iB,KAAK+iB,YAAcD,EAAO3e,IACzEnE,KAAKyc,KAA6B5V,SAArB7G,KAAKgjB,YAA6BhjB,KAAKgjB,YAAcF,EAAO1e,IACrEpE,KAAKyc,MAAQzc,KAAKuc,OAAMvc,KAAKyc,KAAOzc,KAAKuc,KAAO,GACpDvc,KAAKwc,MAA+B3V,SAAtB7G,KAAKijB,aAA8BjjB,KAAKijB,cAAgBjjB,KAAKyc,KAAKzc,KAAKuc,MAAM,EAErE1V,SAAlB7G,KAAK+b,SAAwB,CAC/B,GAAImH,GAAaljB,KAAKyhB,eAAezO,EAAKhT,KAAK+b,SAC/C/b,MAAK0c,SAAqC7V,SAAzB7G,KAAKmjB,gBAAiCnjB,KAAKmjB,gBAAkBD,EAAW/e,IACzFnE,KAAK2c,SAAqC9V,SAAzB7G,KAAKojB,gBAAiCpjB,KAAKojB,gBAAkBF,EAAW9e,IACrFpE,KAAK2c,UAAY3c,KAAK0c,WAAU1c,KAAK2c,SAAW3c,KAAK0c,SAAW,GAItE1c,KAAKwd,eAUPxc,EAAQyS,UAAU4P,eAAiB,SAAUrQ,GAE3C,GAAIX,GAAGC,EAAGzM,EAAG4X,EAAG6F,EAAK9Q,EAEjBmJ,IAEJ,IAAI3b,KAAKuN,QAAUvM,EAAQ8Z,MAAMiG,MAC/B/gB,KAAKuN,QAAUvM,EAAQ8Z,MAAMmG,QAAS,CAKtC,GAAIkB,MACAE,IACJ,KAAKxc,EAAI,EAAGA,EAAI7F,KAAK+U,gBAAgB/B,GAAOnN,IAC1CwM,EAAIW,EAAKnN,GAAG7F,KAAK4b,OAAS,EAC1BtJ,EAAIU,EAAKnN,GAAG7F,KAAK6b,OAAS,EAED,KAArBsG,EAAMnb,QAAQqL,IAChB8P,EAAM5Z,KAAK8J,GAEY,KAArBgQ,EAAMrb,QAAQsL,IAChB+P,EAAM9Z,KAAK+J,EAIf,IAAIiR,GAAa,SAAU3d,EAAGa,GAC5B,MAAOb,GAAIa,EAEb0b,GAAM3L,KAAK+M,GACXlB,EAAM7L,KAAK+M,EAGX,IAAIC,KACJ,KAAK3d,EAAI,EAAGA,EAAImN,EAAKhN,OAAQH,IAAK,CAChCwM,EAAIW,EAAKnN,GAAG7F,KAAK4b,OAAS,EAC1BtJ,EAAIU,EAAKnN,GAAG7F,KAAK6b,OAAS,EAC1B4B,EAAIzK,EAAKnN,GAAG7F,KAAK8b,OAAS,CAE1B,IAAI2H,GAAStB,EAAMnb,QAAQqL,GACvBqR,EAASrB,EAAMrb,QAAQsL,EAEAzL,UAAvB2c,EAAWC,KACbD,EAAWC,MAGb,IAAI1F,GAAU,GAAI1c,EAClB0c,GAAQ1L,EAAIA,EACZ0L,EAAQzL,EAAIA,EACZyL,EAAQN,EAAIA,EAEZ6F,KACAA,EAAI9Q,MAAQuL,EACZuF,EAAIK,MAAQ9c,OACZyc,EAAIM,OAAS/c,OACbyc,EAAIO,OAAS,GAAIxiB,GAAQgR,EAAGC,EAAGtS,KAAKuc,MAEpCiH,EAAWC,GAAQC,GAAUJ,EAE7B3H,EAAWpT,KAAK+a,GAIlB,IAAKjR,EAAI,EAAGA,EAAImR,EAAWxd,OAAQqM,IACjC,IAAKC,EAAI,EAAGA,EAAIkR,EAAWnR,GAAGrM,OAAQsM,IAChCkR,EAAWnR,GAAGC,KAChBkR,EAAWnR,GAAGC,GAAGwR,WAAczR,EAAImR,EAAWxd,OAAO,EAAKwd,EAAWnR,EAAE,GAAGC,GAAKzL,OAC/E2c,EAAWnR,GAAGC,GAAGyR,SAAczR,EAAIkR,EAAWnR,GAAGrM,OAAO,EAAKwd,EAAWnR,GAAGC,EAAE,GAAKzL,OAClF2c,EAAWnR,GAAGC,GAAG0R,WACd3R,EAAImR,EAAWxd,OAAO,GAAKsM,EAAIkR,EAAWnR,GAAGrM,OAAO,EACnDwd,EAAWnR,EAAE,GAAGC,EAAE,GAClBzL,YAOV,KAAKhB,EAAI,EAAGA,EAAImN,EAAKhN,OAAQH,IAC3B2M,EAAQ,GAAInR,GACZmR,EAAMH,EAAIW,EAAKnN,GAAG7F,KAAK4b,OAAS,EAChCpJ,EAAMF,EAAIU,EAAKnN,GAAG7F,KAAK6b,OAAS,EAChCrJ,EAAMiL,EAAIzK,EAAKnN,GAAG7F,KAAK8b,OAAS,EAEVjV,SAAlB7G,KAAK+b,WACPvJ,EAAMlO,MAAQ0O,EAAKnN,GAAG7F,KAAK+b,WAAa,GAG1CuH,KACAA,EAAI9Q,MAAQA,EACZ8Q,EAAIO,OAAS,GAAIxiB,GAAQmR,EAAMH,EAAGG,EAAMF,EAAGtS,KAAKuc,MAChD+G,EAAIK,MAAQ9c,OACZyc,EAAIM,OAAS/c,OAEb8U,EAAWpT,KAAK+a,EAIpB,OAAO3H,IAST3a,EAAQyS,UAAU9E,OAAS,WAEzB,KAAO3O,KAAKia,iBAAiBgK,iBAC3BjkB,KAAKia,iBAAiBxI,YAAYzR,KAAKia,iBAAiBiK,WAG1DlkB,MAAK6f,MAAQhO,SAASM,cAAc,OACpCnS,KAAK6f,MAAMtS,MAAM4W,SAAW,WAC5BnkB,KAAK6f,MAAMtS,MAAM6W,SAAW,SAG5BpkB,KAAK6f,MAAMC,OAASjO,SAASM,cAAe,UAC5CnS,KAAK6f,MAAMC,OAAOvS,MAAM4W,SAAW,WACnCnkB,KAAK6f,MAAM9N,YAAY/R,KAAK6f,MAAMC,OAGhC,IAAIuE,GAAWxS,SAASM,cAAe,MACvCkS,GAAS9W,MAAMnC,MAAQ,MACvBiZ,EAAS9W,MAAM+W,WAAc,OAC7BD,EAAS9W,MAAMgX,QAAW,OAC1BF,EAASG,UAAa,mDACtBxkB,KAAK6f,MAAMC,OAAO/N,YAAYsS,GAGhCrkB,KAAK6f,MAAM5L,OAASpC,SAASM,cAAe,OAC5CnS,KAAK6f,MAAM5L,OAAO1G,MAAM4W,SAAW,WACnCnkB,KAAK6f,MAAM5L,OAAO1G,MAAMsW,OAAS,MACjC7jB,KAAK6f,MAAM5L,OAAO1G,MAAM1F,KAAO,MAC/B7H,KAAK6f,MAAM5L,OAAO1G,MAAMsF,MAAQ,OAChC7S,KAAK6f,MAAM9N,YAAY/R,KAAK6f,MAAM5L,OAGlC,IAAIQ,GAAKzU,KACLykB,EAAc,SAAU5a,GAAQ4K,EAAGiQ,aAAa7a,IAChD8a,EAAe,SAAU9a,GAAQ4K,EAAGmQ,cAAc/a,IAClDgb,EAAe,SAAUhb,GAAQ4K,EAAGqQ,SAASjb,IAC7Ckb,EAAY,SAAUlb,GAAQ4K,EAAGuQ,WAAWnb,GAGhDlJ,GAAKuI,iBAAiBlJ,KAAK6f,MAAMC,OAAQ,UAAWmF,WACpDtkB,EAAKuI,iBAAiBlJ,KAAK6f,MAAMC,OAAQ,YAAa2E,GACtD9jB,EAAKuI,iBAAiBlJ,KAAK6f,MAAMC,OAAQ,aAAc6E,GACvDhkB,EAAKuI,iBAAiBlJ,KAAK6f,MAAMC,OAAQ,aAAc+E,GACvDlkB,EAAKuI,iBAAiBlJ,KAAK6f,MAAMC,OAAQ,YAAaiF,GAGtD/kB,KAAKia,iBAAiBlI,YAAY/R,KAAK6f,QAWzC7e,EAAQyS,UAAUyR,QAAU,SAASrS,EAAOC,GAC1C9S,KAAK6f,MAAMtS,MAAMsF,MAAQA,EACzB7S,KAAK6f,MAAMtS,MAAMuF,OAASA,EAE1B9S,KAAKmlB,iBAMPnkB,EAAQyS,UAAU0R,cAAgB,WAChCnlB,KAAK6f,MAAMC,OAAOvS,MAAMsF,MAAQ,OAChC7S,KAAK6f,MAAMC,OAAOvS,MAAMuF,OAAS,OAEjC9S,KAAK6f,MAAMC,OAAOjN,MAAQ7S,KAAK6f,MAAMC,OAAOC,YAC5C/f,KAAK6f,MAAMC,OAAOhN,OAAS9S,KAAK6f,MAAMC,OAAOsF,aAG7CplB,KAAK6f,MAAM5L,OAAO1G,MAAMsF,MAAS7S,KAAK6f,MAAMC,OAAOC,YAAc,GAAU,MAM7E/e,EAAQyS,UAAU4R,eAAiB,WACjC,IAAKrlB,KAAK6f,MAAM5L,SAAWjU,KAAK6f,MAAM5L,OAAOqR,OAC3C,KAAM,wBAERtlB,MAAK6f,MAAM5L,OAAOqR,OAAOC,QAO3BvkB,EAAQyS,UAAU+R,cAAgB,WAC3BxlB,KAAK6f,MAAM5L,QAAWjU,KAAK6f,MAAM5L,OAAOqR,QAE7CtlB,KAAK6f,MAAM5L,OAAOqR,OAAOG,QAU3BzkB,EAAQyS,UAAUiS,cAAgB,WAG9B1lB,KAAK4f,QAD0D,MAA7D5f,KAAKma,eAAewL,OAAO3lB,KAAKma,eAAenU,OAAO,GAEtD4f,WAAW5lB,KAAKma,gBAAkB,IAChCna,KAAK6f,MAAMC,OAAOC,YAGP6F,WAAW5lB,KAAKma,gBAK/Bna,KAAKggB,QAD0D,MAA7DhgB,KAAKoa,eAAeuL,OAAO3lB,KAAKoa,eAAepU,OAAO,GAEtD4f,WAAW5lB,KAAKoa,gBAAkB,KAC/Bpa,KAAK6f,MAAMC,OAAOsF,aAAeplB,KAAK6f,MAAM5L,OAAOmR,cAGzCQ,WAAW5lB,KAAKoa,iBAoBnCpZ,EAAQyS,UAAUoS,kBAAoB,SAASC,GACjCjf,SAARif,IAImBjf,SAAnBif,EAAIC,YAA6Clf,SAAjBif,EAAIE,UACtChmB,KAAKyb,OAAOwK,eAAeH,EAAIC,WAAYD,EAAIE,UAG5Bnf,SAAjBif,EAAII,UACNlmB,KAAKyb,OAAO0K,aAAaL,EAAII,UAG/BlmB,KAAKgiB,WASPhhB,EAAQyS,UAAU2S,kBAAoB,WACpC,GAAIN,GAAM9lB,KAAKyb,OAAO4K,gBAEtB,OADAP,GAAII,SAAWlmB,KAAKyb,OAAOkE,eACpBmG,GAMT9kB,EAAQyS,UAAU6S,UAAY,SAAStT,GAErChT,KAAK2hB,gBAAgB3O,EAAMhT,KAAKuN,OAK9BvN,KAAK2b,WAFH3b,KAAK8hB,WAEW9hB,KAAK8hB,WAAWuB,iBAIhBrjB,KAAKqjB,eAAerjB,KAAK6X,WAI7C7X,KAAKumB,iBAOPvlB,EAAQyS,UAAU6E,QAAU,SAAUtF,GACpChT,KAAKsmB,UAAUtT,GACfhT,KAAKgiB,SAGDhiB,KAAKwmB,oBAAsBxmB,KAAK8hB,YAClC9hB,KAAKqlB,kBAQTrkB,EAAQyS,UAAUD,WAAa,SAAUzE,GACvC,GAAI0X,GAAiB5f,MAIrB,IAFA7G,KAAKwlB,gBAEW3e,SAAZkI,EAAuB,CAkBzB,GAhBsBlI,SAAlBkI,EAAQ8D,QAA2B7S,KAAK6S,MAAQ9D,EAAQ8D,OACrChM,SAAnBkI,EAAQ+D,SAA2B9S,KAAK8S,OAAS/D,EAAQ+D,QAErCjM,SAApBkI,EAAQ2O,UAA2B1d,KAAKma,eAAiBpL,EAAQ2O,SAC7C7W,SAApBkI,EAAQ4O,UAA2B3d,KAAKoa,eAAiBrL,EAAQ4O,SAEzC9W,SAAxBkI,EAAQ6L,cAA+B5a,KAAK4a,YAAc7L,EAAQ6L,aAC1C/T,SAAxBkI,EAAQ8L,cAA+B7a,KAAK6a,YAAc9L,EAAQ8L,aAC/ChU,SAAnBkI,EAAQsL,SAA0Bra,KAAKqa,OAAStL,EAAQsL,QACrCxT,SAAnBkI,EAAQuL,SAA0Bta,KAAKsa,OAASvL,EAAQuL,QACrCzT,SAAnBkI,EAAQwL,SAA0Bva,KAAKua,OAASxL,EAAQwL,QAEhC1T,SAAxBkI,EAAQ0L,cAA+Bza,KAAKya,YAAc1L,EAAQ0L,aAC1C5T,SAAxBkI,EAAQ2L,cAA+B1a,KAAK0a,YAAc3L,EAAQ2L,aAC1C7T,SAAxBkI,EAAQ4L,cAA+B3a,KAAK2a,YAAc5L,EAAQ4L,aAEhD9T,SAAlBkI,EAAQxB,MAAqB,CAC/B,GAAImZ,GAAc1mB,KAAKkhB,gBAAgBnS,EAAQxB,MAC3B,MAAhBmZ,IACF1mB,KAAKuN,MAAQmZ,GAGQ7f,SAArBkI,EAAQkM,WAA6Bjb,KAAKib,SAAWlM,EAAQkM,UACjCpU,SAA5BkI,EAAQiM,kBAAiChb,KAAKgb,gBAAkBjM,EAAQiM,iBACjDnU,SAAvBkI,EAAQoM,aAA6Bnb,KAAKmb,WAAapM,EAAQoM,YAC3CtU,SAApBkI,EAAQ4X,UAA6B3mB,KAAKqb,YAActM,EAAQ4X,SAC9B9f,SAAlCkI,EAAQ6X,wBAAqC5mB,KAAK4mB,sBAAwB7X,EAAQ6X,uBACtD/f,SAA5BkI,EAAQmM,kBAAiClb,KAAKkb,gBAAkBnM,EAAQmM,iBAC9CrU,SAA1BkI,EAAQuM,gBAA+Btb,KAAKsb,cAAgBvM,EAAQuM,eAEtCzU,SAA9BkI,EAAQwM,oBAAiCvb,KAAKub,kBAAoBxM,EAAQwM,mBAC7C1U,SAA7BkI,EAAQyM,mBAAiCxb,KAAKwb,iBAAmBzM,EAAQyM,kBAC1C3U,SAA/BkI,EAAQyX,qBAAiCxmB,KAAKwmB,mBAAqBzX,EAAQyX,oBAErD3f,SAAtBkI,EAAQ6N,YAAyB5c,KAAKkiB,iBAAmBnT,EAAQ6N,WAC3C/V,SAAtBkI,EAAQ8N,YAAyB7c,KAAKoiB,iBAAmBrT,EAAQ8N,WAEhDhW,SAAjBkI,EAAQkN,OAAoBjc,KAAKuiB,YAAcxT,EAAQkN,MACrCpV,SAAlBkI,EAAQmN,QAAqBlc,KAAKyiB,aAAe1T,EAAQmN,OACxCrV,SAAjBkI,EAAQoN,OAAoBnc,KAAKwiB,YAAczT,EAAQoN,MACtCtV,SAAjBkI,EAAQqN,OAAoBpc,KAAK2iB,YAAc5T,EAAQqN,MACrCvV,SAAlBkI,EAAQsN,QAAqBrc,KAAK6iB,aAAe9T,EAAQsN,OACxCxV,SAAjBkI,EAAQuN,OAAoBtc,KAAK4iB,YAAc7T,EAAQuN,MACtCzV,SAAjBkI,EAAQwN,OAAoBvc,KAAK+iB,YAAchU,EAAQwN,MACrC1V,SAAlBkI,EAAQyN,QAAqBxc,KAAKijB,aAAelU,EAAQyN,OACxC3V,SAAjBkI,EAAQ0N,OAAoBzc,KAAKgjB,YAAcjU,EAAQ0N,MAClC5V,SAArBkI,EAAQ2N,WAAwB1c,KAAKmjB,gBAAkBpU,EAAQ2N,UAC1C7V,SAArBkI,EAAQ4N,WAAwB3c,KAAKojB,gBAAkBrU,EAAQ4N,UAEpC9V,SAA3BkI,EAAQ0X,iBAA8BA,EAAiB1X,EAAQ0X,gBAE5C5f,SAAnB4f,GACFzmB,KAAKyb,OAAOwK,eAAeQ,EAAeV,WAAYU,EAAeT,UACrEhmB,KAAKyb,OAAO0K,aAAaM,EAAeP,YAGxClmB,KAAKyb,OAAOwK,eAAe,EAAK,IAChCjmB,KAAKyb,OAAO0K,aAAa,MAI7BnmB,KAAKigB,oBAAoBlR,GAAWA,EAAQmR,iBAE5ClgB,KAAKklB,QAAQllB,KAAK6S,MAAO7S,KAAK8S,QAG1B9S,KAAK6X,WACP7X,KAAKsY,QAAQtY,KAAK6X,WAIhB7X,KAAKwmB,oBAAsBxmB,KAAK8hB,YAClC9hB,KAAKqlB,kBAOTrkB,EAAQyS,UAAUuO,OAAS,WACzB,GAAwBnb,SAApB7G,KAAK2b,WACP,KAAM,mCAGR3b,MAAKmlB,gBACLnlB,KAAK0lB,gBACL1lB,KAAK6mB,gBACL7mB,KAAK8mB,eACL9mB,KAAK+mB,cAED/mB,KAAKuN,QAAUvM,EAAQ8Z,MAAMiG,MAC/B/gB,KAAKuN,QAAUvM,EAAQ8Z,MAAMmG,QAC7BjhB,KAAKgnB,kBAEEhnB,KAAKuN,QAAUvM,EAAQ8Z,MAAMkG,KACpChhB,KAAKinB,kBAEEjnB,KAAKuN,QAAUvM,EAAQ8Z,MAAM2F,KACpCzgB,KAAKuN,QAAUvM,EAAQ8Z,MAAM4F,UAC7B1gB,KAAKuN,QAAUvM,EAAQ8Z,MAAM6F,QAC7B3gB,KAAKknB,iBAILlnB,KAAKmnB,iBAGPnnB,KAAKonB,cACLpnB,KAAKqnB,iBAMPrmB,EAAQyS,UAAUqT,aAAe,WAC/B,GAAIhH,GAAS9f,KAAK6f,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAE5BD,GAAIE,UAAU,EAAG,EAAG1H,EAAOjN,MAAOiN,EAAOhN,SAO3C9R,EAAQyS,UAAU4T,cAAgB,WAChC,GAAI/U,EAEJ,IAAItS,KAAKuN,QAAUvM,EAAQ8Z,MAAM+F,UAC/B7gB,KAAKuN,QAAUvM,EAAQ8Z,MAAMgG,QAAS,CAEtC,GAEI2G,GAAUC,EAFVC,EAAmC,IAAzB3nB,KAAK6f,MAAME,WAGrB/f,MAAKuN,QAAUvM,EAAQ8Z,MAAMgG,SAC/B2G,EAAWE,EAAU,EACrBD,EAAWC,EAAU,EAAc,EAAVA,IAGzBF,EAAW,GACXC,EAAW,GAGb,IAAI5U,GAAStO,KAAKJ,IAA8B,IAA1BpE,KAAK6f,MAAMuF,aAAqB,KAClDnd,EAAMjI,KAAKka,OACX0N,EAAQ5nB,KAAK6f,MAAME,YAAc/f,KAAKka,OACtCrS,EAAO+f,EAAQF,EACf7D,EAAS5b,EAAM6K,EAGrB,GAAIgN,GAAS9f,KAAK6f,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAI5B,IAHAD,EAAIO,UAAY,EAChBP,EAAIQ,KAAO,aAEP9nB,KAAKuN,QAAUvM,EAAQ8Z,MAAM+F,SAAU,CAEzC,GAAIkH,GAAO,EACPC,EAAOlV,CACX,KAAKR,EAAIyV,EAAUC,EAAJ1V,EAAUA,IAAK,CAC5B,GAAIpE,IAAKoE,EAAIyV,IAASC,EAAOD,GAGzB7a,EAAU,IAAJgB,EACN9C,EAAQpL,KAAKioB,SAAS/a,EAAK,EAAG,EAElCoa,GAAIY,YAAc9c,EAClBkc,EAAIa,YACJb,EAAIc,OAAOvgB,EAAMI,EAAMqK,GACvBgV,EAAIe,OAAOT,EAAO3f,EAAMqK,GACxBgV,EAAIlH,SAGNkH,EAAIY,YAAeloB,KAAK8c,UACxBwK,EAAIgB,WAAWzgB,EAAMI,EAAKyf,EAAU5U,GAiBtC,GAdI9S,KAAKuN,QAAUvM,EAAQ8Z,MAAMgG,UAE/BwG,EAAIY,YAAeloB,KAAK8c,UACxBwK,EAAIiB,UAAavoB,KAAKgd,SACtBsK,EAAIa,YACJb,EAAIc,OAAOvgB,EAAMI,GACjBqf,EAAIe,OAAOT,EAAO3f,GAClBqf,EAAIe,OAAOT,EAAQF,EAAWD,EAAU5D,GACxCyD,EAAIe,OAAOxgB,EAAMgc,GACjByD,EAAIkB,YACJlB,EAAInH,OACJmH,EAAIlH,UAGFpgB,KAAKuN,QAAUvM,EAAQ8Z,MAAM+F,UAC/B7gB,KAAKuN,QAAUvM,EAAQ8Z,MAAMgG,QAAS,CAEtC,GAAI2H,GAAc,EACdC,EAAO,GAAInnB,GAAWvB,KAAK0c,SAAU1c,KAAK2c,UAAW3c,KAAK2c,SAAS3c,KAAK0c,UAAU,GAAG,EAKzF,KAJAgM,EAAKxY,QACDwY,EAAKC,aAAe3oB,KAAK0c,UAC3BgM,EAAKE,QAECF,EAAKvY,OACXmC,EAAIuR,GAAU6E,EAAKC,aAAe3oB,KAAK0c,WAAa1c,KAAK2c,SAAW3c,KAAK0c,UAAY5J,EAErFwU,EAAIa,YACJb,EAAIc,OAAOvgB,EAAO4gB,EAAanW,GAC/BgV,EAAIe,OAAOxgB,EAAMyK,GACjBgV,EAAIlH,SAEJkH,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYvoB,KAAK8c,UACrBwK,EAAIyB,SAASL,EAAKC,aAAc9gB,EAAO,EAAI4gB,EAAanW,GAExDoW,EAAKE,MAGPtB,GAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,KACnB,IAAIE,GAAQhpB,KAAK6a,WACjByM,GAAIyB,SAASC,EAAOpB,EAAO/D,EAAS7jB,KAAKka,UAO7ClZ,EAAQyS,UAAU8S,cAAgB,WAGhC,GAFAvmB,KAAK6f,MAAM5L,OAAOuQ,UAAY,GAE1BxkB,KAAK8hB,WAAY,CACnB,GAAI/S,IACFka,QAAWjpB,KAAK4mB,uBAEdtB,EAAS,GAAIhkB,GAAOtB,KAAK6f,MAAM5L,OAAQlF,EAC3C/O,MAAK6f,MAAM5L,OAAOqR,OAASA,EAG3BtlB,KAAK6f,MAAM5L,OAAO1G,MAAMgX,QAAU,OAGlCe,EAAO4D,UAAUlpB,KAAK8hB,WAAW1K,QACjCkO,EAAO6D,gBAAgBnpB,KAAKub,kBAG5B,IAAI9G,GAAKzU,KACLopB,EAAW,WACb,GAAI1gB,GAAQ4c,EAAO+D,UAEnB5U,GAAGqN,WAAWwH,YAAY5gB,GAC1B+L,EAAGkH,WAAalH,EAAGqN,WAAWuB,iBAE9B5O,EAAGuN,SAELsD,GAAOiE,oBAAoBH,OAG3BppB,MAAK6f,MAAM5L,OAAOqR,OAASze,QAO/B7F,EAAQyS,UAAUoT,cAAgB,WACEhgB,SAA7B7G,KAAK6f,MAAM5L,OAAOqR,QACrBtlB,KAAK6f,MAAM5L,OAAOqR,OAAOtD,UAQ7BhhB,EAAQyS,UAAU2T,YAAc,WAC9B,GAAIpnB,KAAK8hB,WAAY,CACnB,GAAIhC,GAAS9f,KAAK6f,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAE5BD,GAAIQ,KAAO,aACXR,EAAIkC,UAAY,OAChBlC,EAAIiB,UAAY,OAChBjB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,KAEnB,IAAIzW,GAAIrS,KAAKka,OACT5H,EAAItS,KAAKka,MACboN,GAAIyB,SAAS/oB,KAAK8hB,WAAW2H,WAAa,KAAOzpB,KAAK8hB,WAAW4H,mBAAoBrX,EAAGC,KAQ5FtR,EAAQyS,UAAUsT,YAAc,WAC9B,GAEE4C,GAAMC,EAAIlB,EAAMmB,EAChBC,EAAMC,EAAOC,EAAOC,EACpBC,EAAQC,EAASC,EACjBC,EAAQC,EALNxK,EAAS9f,KAAK6f,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAQ1BD,GAAIQ,KAAO,GAAK9nB,KAAKyb,OAAOkE,eAAiB,UAG7C,IAAI4K,GAAW,KAAQvqB,KAAKuE,MAAM8N,EAC9BmY,EAAW,KAAQxqB,KAAKuE,MAAM+N,EAC9BmY,EAAa,EAAIzqB,KAAKyb,OAAOkE,eAC7B+K,EAAW1qB,KAAKyb,OAAO4K,iBAAiBN,UAU5C,KAPAuB,EAAIO,UAAY,EAChBgC,EAAoChjB,SAAtB7G,KAAKyiB,aACnBiG,EAAO,GAAInnB,GAAWvB,KAAKic,KAAMjc,KAAKmc,KAAMnc,KAAKkc,MAAO2N,GACxDnB,EAAKxY,QACDwY,EAAKC,aAAe3oB,KAAKic,MAC3ByM,EAAKE,QAECF,EAAKvY,OAAO,CAClB,GAAIkC,GAAIqW,EAAKC,YAET3oB,MAAKib,UACP0O,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQgR,EAAGrS,KAAKoc,KAAMpc,KAAKuc,OAC1DqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQgR,EAAGrS,KAAKsc,KAAMtc,KAAKuc,OACxD+K,EAAIY,YAAcloB,KAAK+c,UACvBuK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,WAGJuJ,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQgR,EAAGrS,KAAKoc,KAAMpc,KAAKuc,OAC1DqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQgR,EAAGrS,KAAKoc,KAAKmO,EAAUvqB,KAAKuc,OACjE+K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,SAEJuJ,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQgR,EAAGrS,KAAKsc,KAAMtc,KAAKuc,OAC1DqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQgR,EAAGrS,KAAKsc,KAAKiO,EAAUvqB,KAAKuc,OACjE+K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,UAGN4J,EAASxlB,KAAKsa,IAAI4L,GAAY,EAAK1qB,KAAKoc,KAAOpc,KAAKsc,KACpDwN,EAAO9pB,KAAK8d,eAAe,GAAIzc,GAAQgR,EAAG2X,EAAOhqB,KAAKuc,OAClD/X,KAAKsa,IAAe,EAAX4L,GAAgB,GAC3BpD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,MACnBgB,EAAKxX,GAAKmY,GAEHjmB,KAAKma,IAAe,EAAX+L,GAAgB,GAChCpD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYvoB,KAAK8c,UACrBwK,EAAIyB,SAAS,KAAO/oB,KAAKya,YAAYiO,EAAKC,cAAgB,KAAMmB,EAAKzX,EAAGyX,EAAKxX,GAE7EoW,EAAKE,OAWP,IAPAtB,EAAIO,UAAY,EAChBgC,EAAoChjB,SAAtB7G,KAAK6iB,aACnB6F,EAAO,GAAInnB,GAAWvB,KAAKoc,KAAMpc,KAAKsc,KAAMtc,KAAKqc,MAAOwN,GACxDnB,EAAKxY,QACDwY,EAAKC,aAAe3oB,KAAKoc,MAC3BsM,EAAKE,QAECF,EAAKvY,OACPnQ,KAAKib,UACP0O,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKic,KAAMyM,EAAKC,aAAc3oB,KAAKuc,OAC1EqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKmc,KAAMuM,EAAKC,aAAc3oB,KAAKuc,OACxE+K,EAAIY,YAAcloB,KAAK+c,UACvBuK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,WAGJuJ,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKic,KAAMyM,EAAKC,aAAc3oB,KAAKuc,OAC1EqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKic,KAAKuO,EAAU9B,EAAKC,aAAc3oB,KAAKuc,OACjF+K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,SAEJuJ,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKmc,KAAMuM,EAAKC,aAAc3oB,KAAKuc,OAC1EqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKmc,KAAKqO,EAAU9B,EAAKC,aAAc3oB,KAAKuc,OACjF+K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,UAGN2J,EAASvlB,KAAKma,IAAI+L,GAAa,EAAK1qB,KAAKic,KAAOjc,KAAKmc,KACrD2N,EAAO9pB,KAAK8d,eAAe,GAAIzc,GAAQ0oB,EAAOrB,EAAKC,aAAc3oB,KAAKuc,OAClE/X,KAAKsa,IAAe,EAAX4L,GAAgB,GAC3BpD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,MACnBgB,EAAKxX,GAAKmY,GAEHjmB,KAAKma,IAAe,EAAX+L,GAAgB,GAChCpD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYvoB,KAAK8c,UACrBwK,EAAIyB,SAAS,KAAO/oB,KAAK0a,YAAYgO,EAAKC,cAAgB,KAAMmB,EAAKzX,EAAGyX,EAAKxX,GAE7EoW,EAAKE,MAaP,KATAtB,EAAIO,UAAY,EAChBgC,EAAoChjB,SAAtB7G,KAAKijB,aACnByF,EAAO,GAAInnB,GAAWvB,KAAKuc,KAAMvc,KAAKyc,KAAMzc,KAAKwc,MAAOqN,GACxDnB,EAAKxY,QACDwY,EAAKC,aAAe3oB,KAAKuc,MAC3BmM,EAAKE,OAEPmB,EAASvlB,KAAKsa,IAAI4L,GAAa,EAAK1qB,KAAKic,KAAOjc,KAAKmc,KACrD6N,EAASxlB,KAAKma,IAAI+L,GAAa,EAAK1qB,KAAKoc,KAAOpc,KAAKsc,MAC7CoM,EAAKvY,OAEXwZ,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQ0oB,EAAOC,EAAOtB,EAAKC,eAC1DrB,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOsB,EAAKtX,EAAIoY,EAAYd,EAAKrX,GACrCgV,EAAIlH,SAEJkH,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYvoB,KAAK8c,UACrBwK,EAAIyB,SAAS/oB,KAAK2a,YAAY+N,EAAKC,cAAgB,IAAKgB,EAAKtX,EAAI,EAAGsX,EAAKrX,GAEzEoW,EAAKE,MAEPtB,GAAIO,UAAY,EAChB8B,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQ0oB,EAAOC,EAAOhqB,KAAKuc,OAC1DqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQ0oB,EAAOC,EAAOhqB,KAAKyc,OACxD6K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,SAGJkH,EAAIO,UAAY,EAEhBwC,EAASrqB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKic,KAAMjc,KAAKoc,KAAMpc,KAAKuc,OACpE+N,EAAStqB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKmc,KAAMnc,KAAKoc,KAAMpc,KAAKuc,OACpE+K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOiC,EAAOhY,EAAGgY,EAAO/X,GAC5BgV,EAAIe,OAAOiC,EAAOjY,EAAGiY,EAAOhY,GAC5BgV,EAAIlH,SAEJiK,EAASrqB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKic,KAAMjc,KAAKsc,KAAMtc,KAAKuc,OACpE+N,EAAStqB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKmc,KAAMnc,KAAKsc,KAAMtc,KAAKuc,OACpE+K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOiC,EAAOhY,EAAGgY,EAAO/X,GAC5BgV,EAAIe,OAAOiC,EAAOjY,EAAGiY,EAAOhY,GAC5BgV,EAAIlH,SAGJkH,EAAIO,UAAY,EAEhB8B,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKic,KAAMjc,KAAKoc,KAAMpc,KAAKuc,OAClEqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKic,KAAMjc,KAAKsc,KAAMtc,KAAKuc,OAChE+K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,SAEJuJ,EAAO3pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKmc,KAAMnc,KAAKoc,KAAMpc,KAAKuc,OAClEqN,EAAK5pB,KAAK8d,eAAe,GAAIzc,GAAQrB,KAAKmc,KAAMnc,KAAKsc,KAAMtc,KAAKuc,OAChE+K,EAAIY,YAAcloB,KAAK8c,UACvBwK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAOuB,EAAGvX,EAAGuX,EAAGtX,GACpBgV,EAAIlH,QAGJ,IAAI/F,GAASra,KAAKqa,MACdA,GAAOrU,OAAS,IAClBokB,EAAU,GAAMpqB,KAAKuE,MAAM+N,EAC3ByX,GAAS/pB,KAAKic,KAAOjc,KAAKmc,MAAQ,EAClC6N,EAASxlB,KAAKsa,IAAI4L,GAAY,EAAK1qB,KAAKoc,KAAOgO,EAASpqB,KAAKsc,KAAO8N,EACpEN,EAAO9pB,KAAK8d,eAAe,GAAIzc,GAAQ0oB,EAAOC,EAAOhqB,KAAKuc,OACtD/X,KAAKsa,IAAe,EAAX4L,GAAgB,GAC3BpD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,OAEZtkB,KAAKma,IAAe,EAAX+L,GAAgB,GAChCpD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYvoB,KAAK8c,UACrBwK,EAAIyB,SAAS1O,EAAQyP,EAAKzX,EAAGyX,EAAKxX,GAIpC,IAAIgI,GAASta,KAAKsa,MACdA,GAAOtU,OAAS,IAClBmkB,EAAU,GAAMnqB,KAAKuE,MAAM8N,EAC3B0X,EAASvlB,KAAKma,IAAI+L,GAAa,EAAK1qB,KAAKic,KAAOkO,EAAUnqB,KAAKmc,KAAOgO,EACtEH,GAAShqB,KAAKoc,KAAOpc,KAAKsc,MAAQ,EAClCwN,EAAO9pB,KAAK8d,eAAe,GAAIzc,GAAQ0oB,EAAOC,EAAOhqB,KAAKuc,OACtD/X,KAAKsa,IAAe,EAAX4L,GAAgB,GAC3BpD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,OAEZtkB,KAAKma,IAAe,EAAX+L,GAAgB,GAChCpD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYvoB,KAAK8c,UACrBwK,EAAIyB,SAASzO,EAAQwP,EAAKzX,EAAGyX,EAAKxX,GAIpC,IAAIiI,GAASva,KAAKua,MACdA,GAAOvU,OAAS,IAClBkkB,EAAS,GACTH,EAASvlB,KAAKsa,IAAI4L,GAAa,EAAK1qB,KAAKic,KAAOjc,KAAKmc,KACrD6N,EAASxlB,KAAKma,IAAI+L,GAAa,EAAK1qB,KAAKoc,KAAOpc,KAAKsc,KACrD2N,GAASjqB,KAAKuc,KAAOvc,KAAKyc,MAAQ,EAClCqN,EAAO9pB,KAAK8d,eAAe,GAAIzc,GAAQ0oB,EAAOC,EAAOC,IACrD3C,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYvoB,KAAK8c,UACrBwK,EAAIyB,SAASxO,EAAQuP,EAAKzX,EAAI6X,EAAQJ,EAAKxX,KAU/CtR,EAAQyS,UAAUwU,SAAW,SAAS0C,EAAGC,EAAGC,GAC1C,GAAIC,GAAGC,EAAGC,EAAGC,EAAGC,EAAIC,CAMpB,QAJAF,EAAIJ,EAAID,EACRM,EAAK1mB,KAAKgB,MAAMmlB,EAAE,IAClBQ,EAAIF,GAAK,EAAIzmB,KAAK4mB,IAAMT,EAAE,GAAM,EAAK,IAE7BO,GACN,IAAK,GAAGJ,EAAIG,EAAGF,EAAII,EAAGH,EAAI,CAAG,MAC7B,KAAK,GAAGF,EAAIK,EAAGJ,EAAIE,EAAGD,EAAI,CAAG,MAC7B,KAAK,GAAGF,EAAI,EAAGC,EAAIE,EAAGD,EAAIG,CAAG,MAC7B,KAAK,GAAGL,EAAI,EAAGC,EAAII,EAAGH,EAAIC,CAAG,MAC7B,KAAK,GAAGH,EAAIK,EAAGJ,EAAI,EAAGC,EAAIC,CAAG,MAC7B,KAAK,GAAGH,EAAIG,EAAGF,EAAI,EAAGC,EAAIG,CAAG,MAE7B,SAASL,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAG7B,MAAO,OAAS9f,SAAW,IAAF4f,GAAS,IAAM5f,SAAW,IAAF6f,GAAS,IAAM7f,SAAW,IAAF8f,GAAS,KAQpFhqB,EAAQyS,UAAUuT,gBAAkB,WAClC,GAEExU,GAAOoV,EAAO3f,EAAKojB,EACnBxlB,EACAylB,EAAgB/C,EAAWL,EAAaL,EACxC1b,EAAGC,EAAGC,EAAGkf,EALPzL,EAAS9f,KAAK6f,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAO1B,MAAwB1gB,SAApB7G,KAAK2b,YAA4B3b,KAAK2b,WAAW3V,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IAAK,CAC3C,GAAI8d,GAAQ3jB,KAAKie,2BAA2Bje,KAAK2b,WAAW9V,GAAG2M,OAC3DoR,EAAS5jB,KAAKke,4BAA4ByF,EAE9C3jB,MAAK2b,WAAW9V,GAAG8d,MAAQA,EAC3B3jB,KAAK2b,WAAW9V,GAAG+d,OAASA,CAG5B,IAAI4H,GAAcxrB,KAAKie,2BAA2Bje,KAAK2b,WAAW9V,GAAGge,OACrE7jB,MAAK2b,WAAW9V,GAAG4lB,KAAOzrB,KAAKgb,gBAAkBwQ,EAAYxlB,UAAYwlB,EAAY/N,EAIvF,GAAIiO,GAAY,SAAU9lB,EAAGa,GAC3B,MAAOA,GAAEglB,KAAO7lB,EAAE6lB,KAIpB,IAFAzrB,KAAK2b,WAAWnF,KAAKkV,GAEjB1rB,KAAKuN,QAAUvM,EAAQ8Z,MAAMmG,SAC/B,IAAKpb,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IAMtC,GALA2M,EAAQxS,KAAK2b,WAAW9V,GACxB+hB,EAAQ5nB,KAAK2b,WAAW9V,GAAGie,WAC3B7b,EAAQjI,KAAK2b,WAAW9V,GAAGke,SAC3BsH,EAAQrrB,KAAK2b,WAAW9V,GAAGme,WAEbnd,SAAV2L,GAAiC3L,SAAV+gB,GAA+B/gB,SAARoB,GAA+BpB,SAAVwkB,EAAqB,CAE1F,GAAIrrB,KAAKob,gBAAkBpb,KAAKmb,WAAY,CAK1C,GAAIwQ,GAAQtqB,EAAQuqB,SAASP,EAAM1H,MAAOnR,EAAMmR,OAC5CkI,EAAQxqB,EAAQuqB,SAAS3jB,EAAI0b,MAAOiE,EAAMjE,OAC1CmI,EAAezqB,EAAQ0qB,aAAaJ,EAAOE,GAC3C/lB,EAAMgmB,EAAa9lB,QAGvBslB,GAAkBQ,EAAarO,EAAI,MAGnC6N,IAAiB,CAGfA,IAEFC,GAAQ/Y,EAAMA,MAAMiL,EAAImK,EAAMpV,MAAMiL,EAAIxV,EAAIuK,MAAMiL,EAAI4N,EAAM7Y,MAAMiL,GAAK,EACvEtR,EAAoE,KAA/D,GAAKof,EAAOvrB,KAAKuc,MAAQvc,KAAKuE,MAAMkZ,EAAKzd,KAAKsb,eACnDlP,EAAI,EAEApM,KAAKmb,YACP9O,EAAI7H,KAAKL,IAAI,EAAK2nB,EAAazZ,EAAIvM,EAAO,EAAG,GAC7CyiB,EAAYvoB,KAAKioB,SAAS9b,EAAGC,EAAGC,GAChC6b,EAAcK,IAGdlc,EAAI,EACJkc,EAAYvoB,KAAKioB,SAAS9b,EAAGC,EAAGC,GAChC6b,EAAcloB,KAAK8c,aAIrByL,EAAY,OACZL,EAAcloB,KAAK8c,WAErB+K,EAAY,GAEZP,EAAIO,UAAYA,EAChBP,EAAIiB,UAAYA,EAChBjB,EAAIY,YAAcA,EAClBZ,EAAIa,YACJb,EAAIc,OAAO5V,EAAMoR,OAAOvR,EAAGG,EAAMoR,OAAOtR,GACxCgV,EAAIe,OAAOT,EAAMhE,OAAOvR,EAAGuV,EAAMhE,OAAOtR,GACxCgV,EAAIe,OAAOgD,EAAMzH,OAAOvR,EAAGgZ,EAAMzH,OAAOtR,GACxCgV,EAAIe,OAAOpgB,EAAI2b,OAAOvR,EAAGpK,EAAI2b,OAAOtR,GACpCgV,EAAIkB,YACJlB,EAAInH,OACJmH,EAAIlH,cAKR,KAAKva,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IACtC2M,EAAQxS,KAAK2b,WAAW9V,GACxB+hB,EAAQ5nB,KAAK2b,WAAW9V,GAAGie,WAC3B7b,EAAQjI,KAAK2b,WAAW9V,GAAGke,SAEbld,SAAV2L,IAEAqV,EADE7nB,KAAKgb,gBACK,GAAKxI,EAAMmR,MAAMlG,EAGjB,IAAMzd,KAAK0b,IAAI+B,EAAIzd,KAAKyb,OAAOkE,iBAIjC9Y,SAAV2L,GAAiC3L,SAAV+gB,IAEzB2D,GAAQ/Y,EAAMA,MAAMiL,EAAImK,EAAMpV,MAAMiL,GAAK,EACzCtR,EAAoE,KAA/D,GAAKof,EAAOvrB,KAAKuc,MAAQvc,KAAKuE,MAAMkZ,EAAKzd,KAAKsb,eAEnDgM,EAAIO,UAAYA,EAChBP,EAAIY,YAAcloB,KAAKioB,SAAS9b,EAAG,EAAG,GACtCmb,EAAIa,YACJb,EAAIc,OAAO5V,EAAMoR,OAAOvR,EAAGG,EAAMoR,OAAOtR,GACxCgV,EAAIe,OAAOT,EAAMhE,OAAOvR,EAAGuV,EAAMhE,OAAOtR,GACxCgV,EAAIlH,UAGQvZ,SAAV2L,GAA+B3L,SAARoB,IAEzBsjB,GAAQ/Y,EAAMA,MAAMiL,EAAIxV,EAAIuK,MAAMiL,GAAK,EACvCtR,EAAoE,KAA/D,GAAKof,EAAOvrB,KAAKuc,MAAQvc,KAAKuE,MAAMkZ,EAAKzd,KAAKsb,eAEnDgM,EAAIO,UAAYA,EAChBP,EAAIY,YAAcloB,KAAKioB,SAAS9b,EAAG,EAAG,GACtCmb,EAAIa,YACJb,EAAIc,OAAO5V,EAAMoR,OAAOvR,EAAGG,EAAMoR,OAAOtR,GACxCgV,EAAIe,OAAOpgB,EAAI2b,OAAOvR,EAAGpK,EAAI2b,OAAOtR,GACpCgV,EAAIlH,YAWZpf,EAAQyS,UAAU0T,eAAiB,WACjC,GAEIthB,GAFAia,EAAS9f,KAAK6f,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAG5B,MAAwB1gB,SAApB7G,KAAK2b,YAA4B3b,KAAK2b,WAAW3V,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IAAK,CAC3C,GAAI8d,GAAQ3jB,KAAKie,2BAA2Bje,KAAK2b,WAAW9V,GAAG2M,OAC3DoR,EAAS5jB,KAAKke,4BAA4ByF,EAC9C3jB,MAAK2b,WAAW9V,GAAG8d,MAAQA,EAC3B3jB,KAAK2b,WAAW9V,GAAG+d,OAASA,CAG5B,IAAI4H,GAAcxrB,KAAKie,2BAA2Bje,KAAK2b,WAAW9V,GAAGge,OACrE7jB,MAAK2b,WAAW9V,GAAG4lB,KAAOzrB,KAAKgb,gBAAkBwQ,EAAYxlB,UAAYwlB,EAAY/N,EAIvF,GAAIiO,GAAY,SAAU9lB,EAAGa,GAC3B,MAAOA,GAAEglB,KAAO7lB,EAAE6lB,KAEpBzrB,MAAK2b,WAAWnF,KAAKkV,EAGrB,IAAI/D,GAAmC,IAAzB3nB,KAAK6f,MAAME,WACzB,KAAKla,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IAAK,CAC3C,GAAI2M,GAAQxS,KAAK2b,WAAW9V,EAE5B,IAAI7F,KAAKuN,QAAUvM,EAAQ8Z,MAAM8F,QAAS,CAGxC,GAAI+I,GAAO3pB,KAAK8d,eAAetL,EAAMqR,OACrCyD,GAAIO,UAAY,EAChBP,EAAIY,YAAcloB,KAAK+c,UACvBuK,EAAIa,YACJb,EAAIc,OAAOuB,EAAKtX,EAAGsX,EAAKrX,GACxBgV,EAAIe,OAAO7V,EAAMoR,OAAOvR,EAAGG,EAAMoR,OAAOtR,GACxCgV,EAAIlH,SAIN,GAAIzN,EAEFA,GADE3S,KAAKuN,QAAUvM,EAAQ8Z,MAAMgG,QACxB6G,EAAQ,EAAI,EAAEA,GAAWnV,EAAMA,MAAMlO,MAAQtE,KAAK0c,WAAa1c,KAAK2c,SAAW3c,KAAK0c,UAGpFiL,CAGT,IAAIqE,EAEFA,GADEhsB,KAAKgb,gBACErI,GAAQH,EAAMmR,MAAMlG,EAGpB9K,IAAS3S,KAAK0b,IAAI+B,EAAIzd,KAAKyb,OAAOkE,gBAEhC,EAATqM,IACFA,EAAS,EAGX,IAAI9e,GAAK9B,EAAOkV,CACZtgB,MAAKuN,QAAUvM,EAAQ8Z,MAAM+F,UAE/B3T,EAAqE,KAA9D,GAAKsF,EAAMA,MAAMlO,MAAQtE,KAAK0c,UAAY1c,KAAKuE,MAAMD,OAC5D8G,EAAQpL,KAAKioB,SAAS/a,EAAK,EAAG,GAC9BoT,EAActgB,KAAKioB,SAAS/a,EAAK,EAAG,KAE7BlN,KAAKuN,QAAUvM,EAAQ8Z,MAAMgG,SACpC1V,EAAQpL,KAAKgd,SACbsD,EAActgB,KAAKid,iBAInB/P,EAA+E,KAAxE,GAAKsF,EAAMA,MAAMiL,EAAIzd,KAAKuc,MAAQvc,KAAKuE,MAAMkZ,EAAKzd,KAAKsb,eAC9DlQ,EAAQpL,KAAKioB,SAAS/a,EAAK,EAAG,GAC9BoT,EAActgB,KAAKioB,SAAS/a,EAAK,EAAG,KAItCoa,EAAIO,UAAY,EAChBP,EAAIY,YAAc5H,EAClBgH,EAAIiB,UAAYnd,EAChBkc,EAAIa,YACJb,EAAI2E,IAAIzZ,EAAMoR,OAAOvR,EAAGG,EAAMoR,OAAOtR,EAAG0Z,EAAQ,EAAW,EAARxnB,KAAK0nB,IAAM,GAC9D5E,EAAInH,OACJmH,EAAIlH,YAQRpf,EAAQyS,UAAUyT,eAAiB,WACjC,GAEIrhB,GAAGsmB,EAAGC,EAASC,EAFfvM,EAAS9f,KAAK6f,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAG5B,MAAwB1gB,SAApB7G,KAAK2b,YAA4B3b,KAAK2b,WAAW3V,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IAAK,CAC3C,GAAI8d,GAAQ3jB,KAAKie,2BAA2Bje,KAAK2b,WAAW9V,GAAG2M,OAC3DoR,EAAS5jB,KAAKke,4BAA4ByF,EAC9C3jB,MAAK2b,WAAW9V,GAAG8d,MAAQA,EAC3B3jB,KAAK2b,WAAW9V,GAAG+d,OAASA,CAG5B,IAAI4H,GAAcxrB,KAAKie,2BAA2Bje,KAAK2b,WAAW9V,GAAGge,OACrE7jB,MAAK2b,WAAW9V,GAAG4lB,KAAOzrB,KAAKgb,gBAAkBwQ,EAAYxlB,UAAYwlB,EAAY/N,EAIvF,GAAIiO,GAAY,SAAU9lB,EAAGa,GAC3B,MAAOA,GAAEglB,KAAO7lB,EAAE6lB,KAEpBzrB,MAAK2b,WAAWnF,KAAKkV,EAGrB,IAAIY,GAAStsB,KAAK4c,UAAY,EAC1B2P,EAASvsB,KAAK6c,UAAY,CAC9B,KAAKhX,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IAAK,CAC3C,GAGIqH,GAAK9B,EAAOkV,EAHZ9N,EAAQxS,KAAK2b,WAAW9V,EAIxB7F,MAAKuN,QAAUvM,EAAQ8Z,MAAM4F,UAE/BxT,EAAqE,KAA9D,GAAKsF,EAAMA,MAAMlO,MAAQtE,KAAK0c,UAAY1c,KAAKuE,MAAMD,OAC5D8G,EAAQpL,KAAKioB,SAAS/a,EAAK,EAAG,GAC9BoT,EAActgB,KAAKioB,SAAS/a,EAAK,EAAG,KAE7BlN,KAAKuN,QAAUvM,EAAQ8Z,MAAM6F,SACpCvV,EAAQpL,KAAKgd,SACbsD,EAActgB,KAAKid,iBAInB/P,EAA+E,KAAxE,GAAKsF,EAAMA,MAAMiL,EAAIzd,KAAKuc,MAAQvc,KAAKuE,MAAMkZ,EAAKzd,KAAKsb,eAC9DlQ,EAAQpL,KAAKioB,SAAS/a,EAAK,EAAG,GAC9BoT,EAActgB,KAAKioB,SAAS/a,EAAK,EAAG,KAIlClN,KAAKuN,QAAUvM,EAAQ8Z,MAAM6F,UAC/B2L,EAAUtsB,KAAK4c,UAAY,IAAOpK,EAAMA,MAAMlO,MAAQtE,KAAK0c,WAAa1c,KAAK2c,SAAW3c,KAAK0c,UAAY,GAAM,IAC/G6P,EAAUvsB,KAAK6c,UAAY,IAAOrK,EAAMA,MAAMlO,MAAQtE,KAAK0c,WAAa1c,KAAK2c,SAAW3c,KAAK0c,UAAY,GAAM,IAIjH,IAAIjI,GAAKzU,KACL+d,EAAUvL,EAAMA,MAChBvK,IACDuK,MAAO,GAAInR,GAAQ0c,EAAQ1L,EAAIia,EAAQvO,EAAQzL,EAAIia,EAAQxO,EAAQN,KACnEjL,MAAO,GAAInR,GAAQ0c,EAAQ1L,EAAIia,EAAQvO,EAAQzL,EAAIia,EAAQxO,EAAQN,KACnEjL,MAAO,GAAInR,GAAQ0c,EAAQ1L,EAAIia,EAAQvO,EAAQzL,EAAIia,EAAQxO,EAAQN,KACnEjL,MAAO,GAAInR,GAAQ0c,EAAQ1L,EAAIia,EAAQvO,EAAQzL,EAAIia,EAAQxO,EAAQN,KAElEoG,IACDrR,MAAO,GAAInR,GAAQ0c,EAAQ1L,EAAIia,EAAQvO,EAAQzL,EAAIia,EAAQvsB,KAAKuc,QAChE/J,MAAO,GAAInR,GAAQ0c,EAAQ1L,EAAIia,EAAQvO,EAAQzL,EAAIia,EAAQvsB,KAAKuc,QAChE/J,MAAO,GAAInR,GAAQ0c,EAAQ1L,EAAIia,EAAQvO,EAAQzL,EAAIia,EAAQvsB,KAAKuc,QAChE/J,MAAO,GAAInR,GAAQ0c,EAAQ1L,EAAIia,EAAQvO,EAAQzL,EAAIia,EAAQvsB,KAAKuc,OAInEtU,GAAIW,QAAQ,SAAU0a,GACpBA,EAAIM,OAASnP,EAAGqJ,eAAewF,EAAI9Q,SAErCqR,EAAOjb,QAAQ,SAAU0a,GACvBA,EAAIM,OAASnP,EAAGqJ,eAAewF,EAAI9Q,QAIrC,IAAIga,KACDH,QAASpkB,EAAKwkB,OAAQprB,EAAQqrB,IAAI7I,EAAO,GAAGrR,MAAOqR,EAAO,GAAGrR,SAC7D6Z,SAAUpkB,EAAI,GAAIA,EAAI,GAAI4b,EAAO,GAAIA,EAAO,IAAK4I,OAAQprB,EAAQqrB,IAAI7I,EAAO,GAAGrR,MAAOqR,EAAO,GAAGrR,SAChG6Z,SAAUpkB,EAAI,GAAIA,EAAI,GAAI4b,EAAO,GAAIA,EAAO,IAAK4I,OAAQprB,EAAQqrB,IAAI7I,EAAO,GAAGrR,MAAOqR,EAAO,GAAGrR,SAChG6Z,SAAUpkB,EAAI,GAAIA,EAAI,GAAI4b,EAAO,GAAIA,EAAO,IAAK4I,OAAQprB,EAAQqrB,IAAI7I,EAAO,GAAGrR,MAAOqR,EAAO,GAAGrR,SAChG6Z,SAAUpkB,EAAI,GAAIA,EAAI,GAAI4b,EAAO,GAAIA,EAAO,IAAK4I,OAAQprB,EAAQqrB,IAAI7I,EAAO,GAAGrR,MAAOqR,EAAO,GAAGrR,QAKnG,KAHAA,EAAMga,SAAWA,EAGZL,EAAI,EAAGA,EAAIK,EAASxmB,OAAQmmB,IAAK,CACpCC,EAAUI,EAASL,EACnB,IAAIQ,GAAc3sB,KAAKie,2BAA2BmO,EAAQK,OAC1DL,GAAQX,KAAOzrB,KAAKgb,gBAAkB2R,EAAY3mB,UAAY2mB,EAAYlP,EAwB5E,IAjBA+O,EAAShW,KAAK,SAAU5Q,EAAGa,GACzB,GAAImmB,GAAOnmB,EAAEglB,KAAO7lB,EAAE6lB,IACtB,OAAImB,GAAaA,EAGbhnB,EAAEymB,UAAYpkB,EAAY,EAC1BxB,EAAE4lB,UAAYpkB,EAAY,GAGvB,IAITqf,EAAIO,UAAY,EAChBP,EAAIY,YAAc5H,EAClBgH,EAAIiB,UAAYnd,EAEX+gB,EAAI,EAAGA,EAAIK,EAASxmB,OAAQmmB,IAC/BC,EAAUI,EAASL,GACnBE,EAAUD,EAAQC,QAClB/E,EAAIa,YACJb,EAAIc,OAAOiE,EAAQ,GAAGzI,OAAOvR,EAAGga,EAAQ,GAAGzI,OAAOtR,GAClDgV,EAAIe,OAAOgE,EAAQ,GAAGzI,OAAOvR,EAAGga,EAAQ,GAAGzI,OAAOtR,GAClDgV,EAAIe,OAAOgE,EAAQ,GAAGzI,OAAOvR,EAAGga,EAAQ,GAAGzI,OAAOtR,GAClDgV,EAAIe,OAAOgE,EAAQ,GAAGzI,OAAOvR,EAAGga,EAAQ,GAAGzI,OAAOtR,GAClDgV,EAAIe,OAAOgE,EAAQ,GAAGzI,OAAOvR,EAAGga,EAAQ,GAAGzI,OAAOtR,GAClDgV,EAAInH,OACJmH,EAAIlH,YAUVpf,EAAQyS,UAAUwT,gBAAkB,WAClC,GAEEzU,GAAO3M,EAFLia,EAAS9f,KAAK6f,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAG1B,MAAwB1gB,SAApB7G,KAAK2b,YAA4B3b,KAAK2b,WAAW3V,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IAAK,CAC3C,GAAI8d,GAAQ3jB,KAAKie,2BAA2Bje,KAAK2b,WAAW9V,GAAG2M,OAC3DoR,EAAS5jB,KAAKke,4BAA4ByF,EAE9C3jB,MAAK2b,WAAW9V,GAAG8d,MAAQA,EAC3B3jB,KAAK2b,WAAW9V,GAAG+d,OAASA,EAc9B,IAVI5jB,KAAK2b,WAAW3V,OAAS,IAC3BwM,EAAQxS,KAAK2b,WAAW,GAExB2L,EAAIO,UAAY,EAChBP,EAAIY,YAAc,OAClBZ,EAAIa,YACJb,EAAIc,OAAO5V,EAAMoR,OAAOvR,EAAGG,EAAMoR,OAAOtR,IAIrCzM,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IACtC2M,EAAQxS,KAAK2b,WAAW9V,GACxByhB,EAAIe,OAAO7V,EAAMoR,OAAOvR,EAAGG,EAAMoR,OAAOtR,EAItCtS,MAAK2b,WAAW3V,OAAS,GAC3BshB,EAAIlH,WASRpf,EAAQyS,UAAUiR,aAAe,SAAS7a,GAWxC,GAVAA,EAAQA,GAAS/B,OAAO+B,MAIpB7J,KAAK6sB,gBACP7sB,KAAK8sB,WAAWjjB,GAIlB7J,KAAK6sB,eAAiBhjB,EAAMkjB,MAAyB,IAAhBljB,EAAMkjB,MAAiC,IAAjBljB,EAAMmjB,OAC5DhtB,KAAK6sB,gBAAmB7sB,KAAKitB,UAAlC,CAGAjtB,KAAKktB,YAAchQ,EAAUrT,GAC7B7J,KAAKmtB,YAAc9P,EAAUxT,GAE7B7J,KAAKotB,WAAa,GAAIxoB,MAAK5E,KAAKkQ,OAChClQ,KAAKqtB,SAAW,GAAIzoB,MAAK5E,KAAKmQ,KAC9BnQ,KAAKstB,iBAAmBttB,KAAKyb,OAAO4K,iBAEpCrmB,KAAK6f,MAAMtS,MAAMggB,OAAS,MAK1B,IAAI9Y,GAAKzU,IACTA,MAAKwtB,YAAc,SAAU3jB,GAAQ4K,EAAGgZ,aAAa5jB,IACrD7J,KAAK0tB,UAAc,SAAU7jB,GAAQ4K,EAAGqY,WAAWjjB,IACnDlJ,EAAKuI,iBAAiB2I,SAAU,YAAa4C,EAAG+Y,aAChD7sB,EAAKuI,iBAAiB2I,SAAU,UAAW4C,EAAGiZ,WAC9C/sB,EAAKiJ,eAAeC,KAStB7I,EAAQyS,UAAUga,aAAe,SAAU5jB,GACzCA,EAAQA,GAAS/B,OAAO+B,KAGxB,IAAI8jB,GAAQ/H,WAAW1I,EAAUrT,IAAU7J,KAAKktB,YAC5CU,EAAQhI,WAAWvI,EAAUxT,IAAU7J,KAAKmtB,YAE5CU,EAAgB7tB,KAAKstB,iBAAiBvH,WAAa4H,EAAQ,IAC3DG,EAAc9tB,KAAKstB,iBAAiBtH,SAAW4H,EAAQ,IAEvDG,EAAY,EACZC,EAAYxpB,KAAKma,IAAIoP,EAAY,IAAM,EAAIvpB,KAAK0nB,GAIhD1nB,MAAK4mB,IAAI5mB,KAAKma,IAAIkP,IAAkBG,IACtCH,EAAgBrpB,KAAKypB,MAAOJ,EAAgBrpB,KAAK0nB,IAAO1nB,KAAK0nB,GAAK,MAEhE1nB,KAAK4mB,IAAI5mB,KAAKsa,IAAI+O,IAAkBG,IACtCH,GAAiBrpB,KAAKypB,MAAOJ,EAAerpB,KAAK0nB,GAAK,IAAQ,IAAO1nB,KAAK0nB,GAAK,MAI7E1nB,KAAK4mB,IAAI5mB,KAAKma,IAAImP,IAAgBE,IACpCF,EAActpB,KAAKypB,MAAOH,EAActpB,KAAK0nB,IAAO1nB,KAAK0nB,IAEvD1nB,KAAK4mB,IAAI5mB,KAAKsa,IAAIgP,IAAgBE,IACpCF,GAAetpB,KAAKypB,MAAOH,EAAatpB,KAAK0nB,GAAK,IAAQ,IAAO1nB,KAAK0nB,IAGxElsB,KAAKyb,OAAOwK,eAAe4H,EAAeC,GAC1C9tB,KAAKgiB,QAGL,IAAIkM,GAAaluB,KAAKomB,mBACtBpmB,MAAKmuB,KAAK,uBAAwBD,GAElCvtB,EAAKiJ,eAAeC,IAStB7I,EAAQyS,UAAUqZ,WAAa,SAAUjjB,GACvC7J,KAAK6f,MAAMtS,MAAMggB,OAAS,OAC1BvtB,KAAK6sB,gBAAiB,EAGtBlsB,EAAK+I,oBAAoBmI,SAAU,YAAa7R,KAAKwtB,aACrD7sB,EAAK+I,oBAAoBmI,SAAU,UAAa7R,KAAK0tB,WACrD/sB,EAAKiJ,eAAeC,IAOtB7I,EAAQyS,UAAUuR,WAAa,SAAUnb,GACvC,GAAImP,GAAQ,IACRoV,EAAepuB,KAAK6f,MAAMjY,wBAC1BymB,EAASnR,EAAUrT,GAASukB,EAAavmB,KACzCymB,EAASjR,EAAUxT,GAASukB,EAAanmB,GAE7C,IAAKjI,KAAKqb,YAAV,CASA,GALIrb,KAAKuuB,gBACP1U,aAAa7Z,KAAKuuB,gBAIhBvuB,KAAK6sB,eAEP,WADA7sB,MAAKwuB,cAIP,IAAIxuB,KAAK2mB,SAAW3mB,KAAK2mB,QAAQ8H,UAAW,CAE1C,GAAIA,GAAYzuB,KAAK0uB,iBAAiBL,EAAQC,EAC1CG,KAAczuB,KAAK2mB,QAAQ8H,YAEzBA,EACFzuB,KAAK2uB,aAAaF,GAGlBzuB,KAAKwuB,oBAIN,CAEH,GAAI/Z,GAAKzU,IACTA,MAAKuuB,eAAiBzU,WAAW,WAC/BrF,EAAG8Z,eAAiB,IAGpB,IAAIE,GAAYha,EAAGia,iBAAiBL,EAAQC,EACxCG,IACFha,EAAGka,aAAaF,IAEjBzV,MAOPhY,EAAQyS,UAAUmR,cAAgB,SAAS/a,GACzC7J,KAAKitB,WAAY,CAEjB,IAAIxY,GAAKzU,IACTA,MAAK4uB,YAAc,SAAU/kB,GAAQ4K,EAAGoa,aAAahlB,IACrD7J,KAAK8uB,WAAc,SAAUjlB,GAAQ4K,EAAGsa,YAAYllB,IACpDlJ,EAAKuI,iBAAiB2I,SAAU,YAAa4C,EAAGma,aAChDjuB,EAAKuI,iBAAiB2I,SAAU,WAAY4C,EAAGqa,YAE/C9uB,KAAK0kB,aAAa7a,IAMpB7I,EAAQyS,UAAUob,aAAe,SAAShlB,GACxC7J,KAAKytB,aAAa5jB,IAMpB7I,EAAQyS,UAAUsb,YAAc,SAASllB,GACvC7J,KAAKitB,WAAY,EAEjBtsB,EAAK+I,oBAAoBmI,SAAU,YAAa7R,KAAK4uB,aACrDjuB,EAAK+I,oBAAoBmI,SAAU,WAAc7R,KAAK8uB,YAEtD9uB,KAAK8sB,WAAWjjB,IASlB7I,EAAQyS,UAAUqR,SAAW,SAASjb,GAC/BA,IACHA,EAAQ/B,OAAO+B,MAGjB,IAAImlB,GAAQ,CAYZ,IAXInlB,EAAMolB,WACRD,EAAQnlB,EAAMolB,WAAW,IAChBplB,EAAMqlB,SAGfF,GAASnlB,EAAMqlB,OAAO,GAMpBF,EAAO,CACT,GAAIG,GAAYnvB,KAAKyb,OAAOkE,eACxByP,EAAYD,GAAa,EAAIH,EAAQ,GAEzChvB,MAAKyb,OAAO0K,aAAaiJ,GACzBpvB,KAAKgiB,SAELhiB,KAAKwuB,eAIP,GAAIN,GAAaluB,KAAKomB,mBACtBpmB,MAAKmuB,KAAK,uBAAwBD,GAKlCvtB,EAAKiJ,eAAeC,IAUtB7I,EAAQyS,UAAU4b,gBAAkB,SAAU7c,EAAO8c,GAKnD,QAASC,GAAMld,GACb,MAAOA,GAAI,EAAI,EAAQ,EAAJA,EAAQ,GAAK,EALlC,GAAIzM,GAAI0pB,EAAS,GACf7oB,EAAI6oB,EAAS,GACb7uB,EAAI6uB,EAAS,GAMXE,EAAKD,GAAM9oB,EAAE4L,EAAIzM,EAAEyM,IAAMG,EAAMF,EAAI1M,EAAE0M,IAAM7L,EAAE6L,EAAI1M,EAAE0M,IAAME,EAAMH,EAAIzM,EAAEyM,IACrEod,EAAKF,GAAM9uB,EAAE4R,EAAI5L,EAAE4L,IAAMG,EAAMF,EAAI7L,EAAE6L,IAAM7R,EAAE6R,EAAI7L,EAAE6L,IAAME,EAAMH,EAAI5L,EAAE4L,IACrEqd,EAAKH,GAAM3pB,EAAEyM,EAAI5R,EAAE4R,IAAMG,EAAMF,EAAI7R,EAAE6R,IAAM1M,EAAE0M,EAAI7R,EAAE6R,IAAME,EAAMH,EAAI5R,EAAE4R,GAGzE,SAAc,GAANmd,GAAiB,GAANC,GAAWD,GAAMC,GAC3B,GAANA,GAAiB,GAANC,GAAWD,GAAMC,GACtB,GAANF,GAAiB,GAANE,GAAWF,GAAME,IAUjC1uB,EAAQyS,UAAUib,iBAAmB,SAAUrc,EAAGC,GAChD,GAAIzM,GACF8pB,EAAU,IACVlB,EAAY,KACZmB,EAAmB,KACnBC,EAAc,KACdpD,EAAS,GAAIrrB,GAAQiR,EAAGC,EAE1B,IAAItS,KAAKuN,QAAUvM,EAAQ8Z,MAAM2F,KAC/BzgB,KAAKuN,QAAUvM,EAAQ8Z,MAAM4F,UAC7B1gB,KAAKuN,QAAUvM,EAAQ8Z,MAAM6F,QAE7B,IAAK9a,EAAI7F,KAAK2b,WAAW3V,OAAS,EAAGH,GAAK,EAAGA,IAAK,CAChD4oB,EAAYzuB,KAAK2b,WAAW9V,EAC5B,IAAI2mB,GAAYiC,EAAUjC,QAC1B,IAAIA,EACF,IAAK,GAAIpgB,GAAIogB,EAASxmB,OAAS,EAAGoG,GAAK,EAAGA,IAAK,CAE7C,GAAIggB,GAAUI,EAASpgB,GACnBigB,EAAUD,EAAQC,QAClByD,GAAazD,EAAQ,GAAGzI,OAAQyI,EAAQ,GAAGzI,OAAQyI,EAAQ,GAAGzI,QAC9DmM,GAAa1D,EAAQ,GAAGzI,OAAQyI,EAAQ,GAAGzI,OAAQyI,EAAQ,GAAGzI,OAClE,IAAI5jB,KAAKqvB,gBAAgB5C,EAAQqD,IAC/B9vB,KAAKqvB,gBAAgB5C,EAAQsD,GAE7B,MAAOtB,QAQf,KAAK5oB,EAAI,EAAGA,EAAI7F,KAAK2b,WAAW3V,OAAQH,IAAK,CAC3C4oB,EAAYzuB,KAAK2b,WAAW9V,EAC5B,IAAI2M,GAAQic,EAAU7K,MACtB,IAAIpR,EAAO,CACT,GAAIwd,GAAQxrB,KAAK4mB,IAAI/Y,EAAIG,EAAMH,GAC3B4d,EAAQzrB,KAAK4mB,IAAI9Y,EAAIE,EAAMF,GAC3BmZ,EAAQjnB,KAAK0rB,KAAKF,EAAQA,EAAQC,EAAQA,IAEzB,OAAhBJ,GAA+BA,EAAPpE,IAA8BkE,EAAPlE,IAClDoE,EAAcpE,EACdmE,EAAmBnB,IAO3B,MAAOmB,IAQT5uB,EAAQyS,UAAUkb,aAAe,SAAUF,GACzC,GAAI0B,GAASC,EAAMC,CAEdrwB,MAAK2mB,SAiCRwJ,EAAUnwB,KAAK2mB,QAAQ2J,IAAIH,QAC3BC,EAAQpwB,KAAK2mB,QAAQ2J,IAAIF,KACzBC,EAAQrwB,KAAK2mB,QAAQ2J,IAAID,MAlCzBF,EAAUte,SAASM,cAAc,OACjCge,EAAQ5iB,MAAM4W,SAAW,WACzBgM,EAAQ5iB,MAAMgX,QAAU,OACxB4L,EAAQ5iB,MAAMZ,OAAS,oBACvBwjB,EAAQ5iB,MAAMnC,MAAQ,UACtB+kB,EAAQ5iB,MAAMb,WAAa,wBAC3ByjB,EAAQ5iB,MAAMgjB,aAAe,MAC7BJ,EAAQ5iB,MAAMijB,UAAY,qCAE1BJ,EAAOve,SAASM,cAAc,OAC9Bie,EAAK7iB,MAAM4W,SAAW,WACtBiM,EAAK7iB,MAAMuF,OAAS,OACpBsd,EAAK7iB,MAAMsF,MAAQ,IACnBud,EAAK7iB,MAAMkjB,WAAa,oBAExBJ,EAAMxe,SAASM,cAAc,OAC7Bke,EAAI9iB,MAAM4W,SAAW,WACrBkM,EAAI9iB,MAAMuF,OAAS,IACnBud,EAAI9iB,MAAMsF,MAAQ,IAClBwd,EAAI9iB,MAAMZ,OAAS,oBACnB0jB,EAAI9iB,MAAMgjB,aAAe,MAEzBvwB,KAAK2mB,SACH8H,UAAW,KACX6B,KACEH,QAASA,EACTC,KAAMA,EACNC,IAAKA,KAUXrwB,KAAKwuB,eAELxuB,KAAK2mB,QAAQ8H,UAAYA,EAEvB0B,EAAQ3L,UADsB,kBAArBxkB,MAAKqb,YACMrb,KAAKqb,YAAYoT,EAAUjc,OAG3B,6BACMic,EAAUjc,MAAMH,EAAI,gCACpBoc,EAAUjc,MAAMF,EAAI,gCACpBmc,EAAUjc,MAAMiL,EAAI,qBAIhD0S,EAAQ5iB,MAAM1F,KAAQ,IACtBsoB,EAAQ5iB,MAAMtF,IAAQ,IACtBjI,KAAK6f,MAAM9N,YAAYoe,GACvBnwB,KAAK6f,MAAM9N,YAAYqe,GACvBpwB,KAAK6f,MAAM9N,YAAYse,EAGvB,IAAIK,GAAgBP,EAAQQ,YACxBC,EAAkBT,EAAQU,aAC1BC,EAAgBV,EAAKS,aACrBE,EAAcV,EAAIM,YAClBK,EAAgBX,EAAIQ,aAEpBhpB,EAAO4mB,EAAU7K,OAAOvR,EAAIqe,EAAe,CAC/C7oB,GAAOrD,KAAKL,IAAIK,KAAKJ,IAAIyD,EAAM,IAAK7H,KAAK6f,MAAME,YAAc,GAAK2Q,GAElEN,EAAK7iB,MAAM1F,KAAS4mB,EAAU7K,OAAOvR,EAAI,KACzC+d,EAAK7iB,MAAMtF,IAAUwmB,EAAU7K,OAAOtR,EAAIwe,EAAc,KACxDX,EAAQ5iB,MAAM1F,KAAQA,EAAO,KAC7BsoB,EAAQ5iB,MAAMtF,IAASwmB,EAAU7K,OAAOtR,EAAIwe,EAAaF,EAAiB,KAC1EP,EAAI9iB,MAAM1F,KAAW4mB,EAAU7K,OAAOvR,EAAI0e,EAAW,EAAK,KAC1DV,EAAI9iB,MAAMtF,IAAWwmB,EAAU7K,OAAOtR,EAAI0e,EAAY,EAAK,MAO7DhwB,EAAQyS,UAAU+a,aAAe,WAC/B,GAAIxuB,KAAK2mB,QAAS,CAChB3mB,KAAK2mB,QAAQ8H,UAAY,IAEzB,KAAK,GAAIvoB,KAAQlG,MAAK2mB,QAAQ2J,IAC5B,GAAItwB,KAAK2mB,QAAQ2J,IAAInqB,eAAeD,GAAO,CACzC,GAAIyB,GAAO3H,KAAK2mB,QAAQ2J,IAAIpqB,EACxByB,IAAQA,EAAKwC,YACfxC,EAAKwC,WAAWsH,YAAY9J,MA8BtC9H,EAAOD,QAAUoB,GAKb,SAASnB,EAAQD,EAASM,GAc9B,QAASgB,KACPlB,KAAKixB,YAAc,GAAI5vB,GACvBrB,KAAKkxB,eACLlxB,KAAKkxB,YAAYnL,WAAa,EAC9B/lB,KAAKkxB,YAAYlL,SAAW,EAC5BhmB,KAAKmxB,UAAY,IAEjBnxB,KAAKoxB,eAAiB,GAAI/vB,GAC1BrB,KAAKqxB,eAAkB,GAAIhwB,GAAQ,GAAImD,KAAK0nB,GAAI,EAAG,GAEnDlsB,KAAKsxB,6BAtBP,GAAIjwB,GAAUnB,EAAoB,GA+BlCgB,GAAOuS,UAAUoK,eAAiB,SAASxL,EAAGC,EAAGmL,GAC/Czd,KAAKixB,YAAY5e,EAAIA,EACrBrS,KAAKixB,YAAY3e,EAAIA,EACrBtS,KAAKixB,YAAYxT,EAAIA,EAErBzd,KAAKsxB,8BAWPpwB,EAAOuS,UAAUwS,eAAiB,SAASF,EAAYC,GAClCnf,SAAfkf,IACF/lB,KAAKkxB,YAAYnL,WAAaA,GAGflf,SAAbmf,IACFhmB,KAAKkxB,YAAYlL,SAAWA,EACxBhmB,KAAKkxB,YAAYlL,SAAW,IAAGhmB,KAAKkxB,YAAYlL,SAAW,GAC3DhmB,KAAKkxB,YAAYlL,SAAW,GAAIxhB,KAAK0nB,KAAIlsB,KAAKkxB,YAAYlL,SAAW,GAAIxhB,KAAK0nB,MAGjErlB,SAAfkf,GAAyClf,SAAbmf,IAC9BhmB,KAAKsxB,8BAQTpwB,EAAOuS,UAAU4S,eAAiB,WAChC,GAAIkL,KAIJ,OAHAA,GAAIxL,WAAa/lB,KAAKkxB,YAAYnL,WAClCwL,EAAIvL,SAAWhmB,KAAKkxB,YAAYlL,SAEzBuL,GAOTrwB,EAAOuS,UAAU0S,aAAe,SAASngB,GACxBa,SAAXb,IAGJhG,KAAKmxB,UAAYnrB,EAKbhG,KAAKmxB,UAAY,MAAMnxB,KAAKmxB,UAAY,KACxCnxB,KAAKmxB,UAAY,IAAKnxB,KAAKmxB,UAAY,GAE3CnxB,KAAKsxB,+BAOPpwB,EAAOuS,UAAUkM,aAAe,WAC9B,MAAO3f,MAAKmxB,WAOdjwB,EAAOuS,UAAU8K,kBAAoB,WACnC,MAAOve,MAAKoxB,gBAOdlwB,EAAOuS,UAAUmL,kBAAoB,WACnC,MAAO5e,MAAKqxB,gBAOdnwB,EAAOuS,UAAU6d,2BAA6B,WAE5CtxB,KAAKoxB,eAAe/e,EAAIrS,KAAKixB,YAAY5e,EAAIrS,KAAKmxB,UAAY3sB,KAAKma,IAAI3e,KAAKkxB,YAAYnL,YAAcvhB,KAAKsa,IAAI9e,KAAKkxB,YAAYlL,UAChIhmB,KAAKoxB,eAAe9e,EAAItS,KAAKixB,YAAY3e,EAAItS,KAAKmxB,UAAY3sB,KAAKsa,IAAI9e,KAAKkxB,YAAYnL,YAAcvhB,KAAKsa,IAAI9e,KAAKkxB,YAAYlL,UAChIhmB,KAAKoxB,eAAe3T,EAAIzd,KAAKixB,YAAYxT,EAAIzd,KAAKmxB,UAAY3sB,KAAKma,IAAI3e,KAAKkxB,YAAYlL,UAGxFhmB,KAAKqxB,eAAehf,EAAI7N,KAAK0nB,GAAG,EAAIlsB,KAAKkxB,YAAYlL,SACrDhmB,KAAKqxB,eAAe/e,EAAI,EACxBtS,KAAKqxB,eAAe5T,GAAKzd,KAAKkxB,YAAYnL,YAG5ClmB,EAAOD,QAAUsB,GAIb,SAASrB,EAAQD,EAASM,GAW9B,QAASiB,GAAQ6R,EAAMsO,EAAQkQ,GAC7BxxB,KAAKgT,KAAOA,EACZhT,KAAKshB,OAASA,EACdthB,KAAKwxB,MAAQA,EAEbxxB,KAAK0I,MAAQ7B,OACb7G,KAAKsE,MAAQuC,OAGb7G,KAAKoX,OAASoa,EAAMjQ,kBAAkBvO,EAAKwC,MAAOxV,KAAKshB,QAGvDthB,KAAKoX,OAAOZ,KAAK,SAAU5Q,EAAGa,GAC5B,MAAOb,GAAIa,EAAI,EAAQA,EAAJb,EAAQ,GAAK,IAG9B5F,KAAKoX,OAAOpR,OAAS,GACvBhG,KAAKspB,YAAY,GAInBtpB,KAAK2b,cAEL3b,KAAKM,QAAS,EACdN,KAAKyxB,eAAiB5qB,OAElB2qB,EAAMhW,kBACRxb,KAAKM,QAAS,EACdN,KAAK0xB,oBAGL1xB,KAAKM,QAAS,EAxClB,GAAIQ,GAAWZ,EAAoB,EAiDnCiB,GAAOsS,UAAUke,SAAW,WAC1B,MAAO3xB,MAAKM,QAQda,EAAOsS,UAAUme,kBAAoB,WAInC,IAHA,GAAI9rB,GAAM9F,KAAKoX,OAAOpR,OAElBH,EAAI,EACD7F,KAAK2b,WAAW9V,IACrBA,GAGF,OAAOrB,MAAKypB,MAAMpoB,EAAIC,EAAM,MAQ9B3E,EAAOsS,UAAUgW,SAAW,WAC1B,MAAOzpB,MAAKwxB,MAAM5W,aAQpBzZ,EAAOsS,UAAUoe,UAAY,WAC3B,MAAO7xB,MAAKshB,QAOdngB,EAAOsS,UAAUiW,iBAAmB,WAClC,MAAmB7iB,UAAf7G,KAAK0I,MACA7B,OAEF7G,KAAKoX,OAAOpX,KAAK0I,QAO1BvH,EAAOsS,UAAUqe,UAAY,WAC3B,MAAO9xB,MAAKoX,QAQdjW,EAAOsS,UAAUyB,SAAW,SAASxM,GACnC,GAAIA,GAAS1I,KAAKoX,OAAOpR,OACvB,KAAM,2BAER,OAAOhG,MAAKoX,OAAO1O,IASrBvH,EAAOsS,UAAU4P,eAAiB,SAAS3a,GAIzC,GAHc7B,SAAV6B,IACFA,EAAQ1I,KAAK0I,OAED7B,SAAV6B,EACF,QAEF,IAAIiT,EACJ,IAAI3b,KAAK2b,WAAWjT,GAClBiT,EAAa3b,KAAK2b,WAAWjT,OAE1B,CACH,GAAIwF,KACJA,GAAEoT,OAASthB,KAAKshB,OAChBpT,EAAE5J,MAAQtE,KAAKoX,OAAO1O,EAEtB,IAAIqpB,GAAW,GAAIjxB,GAASd,KAAKgT,MAAMiB,OAAQ,SAAUtE,GAAO,MAAQA,GAAKzB,EAAEoT,SAAWpT,EAAE5J,SAAWkR,KACvGmG,GAAa3b,KAAKwxB,MAAMnO,eAAe0O,GAEvC/xB,KAAK2b,WAAWjT,GAASiT,EAG3B,MAAOA,IAQTxa,EAAOsS,UAAUsO,kBAAoB,SAASlZ,GAC5C7I,KAAKyxB,eAAiB5oB;EASxB1H,EAAOsS,UAAU6V,YAAc,SAAS5gB,GACtC,GAAIA,GAAS1I,KAAKoX,OAAOpR,OACvB,KAAM,2BAERhG,MAAK0I,MAAQA,EACb1I,KAAKsE,MAAQtE,KAAKoX,OAAO1O,IAO3BvH,EAAOsS,UAAUie,iBAAmB,SAAShpB,GAC7B7B,SAAV6B,IACFA,EAAQ,EAEV,IAAImX,GAAQ7f,KAAKwxB,MAAM3R,KAEvB,IAAInX,EAAQ1I,KAAKoX,OAAOpR,OAAQ,CAC9B,CAAqBhG,KAAKqjB,eAAe3a,GAIlB7B,SAAnBgZ,EAAMmS,WACRnS,EAAMmS,SAAWngB,SAASM,cAAc,OACxC0N,EAAMmS,SAASzkB,MAAM4W,SAAW,WAChCtE,EAAMmS,SAASzkB,MAAMnC,MAAQ,OAC7ByU,EAAM9N,YAAY8N,EAAMmS,UAE1B,IAAIA,GAAWhyB,KAAK4xB,mBACpB/R,GAAMmS,SAASxN,UAAY,wBAA0BwN,EAAW,IAEhEnS,EAAMmS,SAASzkB,MAAMsW,OAAS,OAC9BhE,EAAMmS,SAASzkB,MAAM1F,KAAO,MAE5B,IAAI4M,GAAKzU,IACT8Z,YAAW,WAAYrF,EAAGid,iBAAiBhpB,EAAM,IAAM,IACvD1I,KAAKM,QAAS,MAGdN,MAAKM,QAAS,EAGSuG,SAAnBgZ,EAAMmS,WACRnS,EAAMpO,YAAYoO,EAAMmS,UACxBnS,EAAMmS,SAAWnrB,QAGf7G,KAAKyxB,gBACPzxB,KAAKyxB,kBAIX5xB,EAAOD,QAAUuB,GAKb,SAAStB,GAOb,QAASuB,GAASiR,EAAGC,GACnBtS,KAAKqS,EAAUxL,SAANwL,EAAkBA,EAAI,EAC/BrS,KAAKsS,EAAUzL,SAANyL,EAAkBA,EAAI,EAGjCzS,EAAOD,QAAUwB,GAKb,SAASvB,GAQb,QAASwB,GAAQgR,EAAGC,EAAGmL,GACrBzd,KAAKqS,EAAUxL,SAANwL,EAAkBA,EAAI,EAC/BrS,KAAKsS,EAAUzL,SAANyL,EAAkBA,EAAI,EAC/BtS,KAAKyd,EAAU5W,SAAN4W,EAAkBA,EAAI,EASjCpc,EAAQuqB,SAAW,SAAShmB,EAAGa,GAC7B,GAAIwrB,GAAM,GAAI5wB,EAId,OAHA4wB,GAAI5f,EAAIzM,EAAEyM,EAAI5L,EAAE4L,EAChB4f,EAAI3f,EAAI1M,EAAE0M,EAAI7L,EAAE6L,EAChB2f,EAAIxU,EAAI7X,EAAE6X,EAAIhX,EAAEgX,EACTwU,GAST5wB,EAAQkS,IAAM,SAAS3N,EAAGa,GACxB,GAAIyrB,GAAM,GAAI7wB,EAId,OAHA6wB,GAAI7f,EAAIzM,EAAEyM,EAAI5L,EAAE4L,EAChB6f,EAAI5f,EAAI1M,EAAE0M,EAAI7L,EAAE6L,EAChB4f,EAAIzU,EAAI7X,EAAE6X,EAAIhX,EAAEgX,EACTyU,GAST7wB,EAAQqrB,IAAM,SAAS9mB,EAAGa,GACxB,MAAO,IAAIpF,IACFuE,EAAEyM,EAAI5L,EAAE4L,GAAK,GACbzM,EAAE0M,EAAI7L,EAAE6L,GAAK,GACb1M,EAAE6X,EAAIhX,EAAEgX,GAAK,IAWxBpc,EAAQ0qB,aAAe,SAASnmB,EAAGa,GACjC,GAAIqlB,GAAe,GAAIzqB,EAMvB,OAJAyqB,GAAazZ,EAAIzM,EAAE0M,EAAI7L,EAAEgX,EAAI7X,EAAE6X,EAAIhX,EAAE6L,EACrCwZ,EAAaxZ,EAAI1M,EAAE6X,EAAIhX,EAAE4L,EAAIzM,EAAEyM,EAAI5L,EAAEgX,EACrCqO,EAAarO,EAAI7X,EAAEyM,EAAI5L,EAAE6L,EAAI1M,EAAE0M,EAAI7L,EAAE4L,EAE9ByZ,GAQTzqB,EAAQoS,UAAUzN,OAAS,WACzB,MAAOxB,MAAK0rB,KACJlwB,KAAKqS,EAAIrS,KAAKqS,EACdrS,KAAKsS,EAAItS,KAAKsS,EACdtS,KAAKyd,EAAIzd,KAAKyd,IAIxB5d,EAAOD,QAAUyB,GAKb,SAASxB,EAAQD,EAASM,GAa9B,QAASoB,GAAOyY,EAAWhL,GACzB,GAAkBlI,SAAdkT,EACF,KAAM,qCAKR,IAHA/Z,KAAK+Z,UAAYA,EACjB/Z,KAAKipB,QAAWla,GAA8BlI,QAAnBkI,EAAQka,QAAwBla,EAAQka,SAAU,EAEzEjpB,KAAKipB,QAAS,CAChBjpB,KAAK6f,MAAQhO,SAASM,cAAc,OAEpCnS,KAAK6f,MAAMtS,MAAMsF,MAAQ,OACzB7S,KAAK6f,MAAMtS,MAAM4W,SAAW,WAC5BnkB,KAAK+Z,UAAUhI,YAAY/R,KAAK6f,OAEhC7f,KAAK6f,MAAMsS,KAAOtgB,SAASM,cAAc,SACzCnS,KAAK6f,MAAMsS,KAAKhrB,KAAO,SACvBnH,KAAK6f,MAAMsS,KAAK7tB,MAAQ,OACxBtE,KAAK6f,MAAM9N,YAAY/R,KAAK6f,MAAMsS,MAElCnyB,KAAK6f,MAAM0F,KAAO1T,SAASM,cAAc,SACzCnS,KAAK6f,MAAM0F,KAAKpe,KAAO,SACvBnH,KAAK6f,MAAM0F,KAAKjhB,MAAQ,OACxBtE,KAAK6f,MAAM9N,YAAY/R,KAAK6f,MAAM0F,MAElCvlB,KAAK6f,MAAM+I,KAAO/W,SAASM,cAAc,SACzCnS,KAAK6f,MAAM+I,KAAKzhB,KAAO,SACvBnH,KAAK6f,MAAM+I,KAAKtkB,MAAQ,OACxBtE,KAAK6f,MAAM9N,YAAY/R,KAAK6f,MAAM+I,MAElC5oB,KAAK6f,MAAMuS,IAAMvgB,SAASM,cAAc,SACxCnS,KAAK6f,MAAMuS,IAAIjrB,KAAO,SACtBnH,KAAK6f,MAAMuS,IAAI7kB,MAAM4W,SAAW,WAChCnkB,KAAK6f,MAAMuS,IAAI7kB,MAAMZ,OAAS,gBAC9B3M,KAAK6f,MAAMuS,IAAI7kB,MAAMsF,MAAQ,QAC7B7S,KAAK6f,MAAMuS,IAAI7kB,MAAMuF,OAAS,MAC9B9S,KAAK6f,MAAMuS,IAAI7kB,MAAMgjB,aAAe,MACpCvwB,KAAK6f,MAAMuS,IAAI7kB,MAAM8kB,gBAAkB,MACvCryB,KAAK6f,MAAMuS,IAAI7kB,MAAMZ,OAAS,oBAC9B3M,KAAK6f,MAAMuS,IAAI7kB,MAAM2S,gBAAkB,UACvClgB,KAAK6f,MAAM9N,YAAY/R,KAAK6f,MAAMuS,KAElCpyB,KAAK6f,MAAMyS,MAAQzgB,SAASM,cAAc,SAC1CnS,KAAK6f,MAAMyS,MAAMnrB,KAAO,SACxBnH,KAAK6f,MAAMyS,MAAM/kB,MAAM2M,OAAS,MAChCla,KAAK6f,MAAMyS,MAAMhuB,MAAQ,IACzBtE,KAAK6f,MAAMyS,MAAM/kB,MAAM4W,SAAW,WAClCnkB,KAAK6f,MAAMyS,MAAM/kB,MAAM1F,KAAO,SAC9B7H,KAAK6f,MAAM9N,YAAY/R,KAAK6f,MAAMyS,MAGlC,IAAI7d,GAAKzU,IACTA,MAAK6f,MAAMyS,MAAM7N,YAAc,SAAU5a,GAAQ4K,EAAGiQ,aAAa7a,IACjE7J,KAAK6f,MAAMsS,KAAKI,QAAU,SAAU1oB,GAAQ4K,EAAG0d,KAAKtoB,IACpD7J,KAAK6f,MAAM0F,KAAKgN,QAAU,SAAU1oB,GAAQ4K,EAAG+d,WAAW3oB,IAC1D7J,KAAK6f,MAAM+I,KAAK2J,QAAU,SAAU1oB,GAAQ4K,EAAGmU,KAAK/e,IAGtD7J,KAAKyyB,iBAAmB5rB,OAExB7G,KAAKoX,UACLpX,KAAK0I,MAAQ7B,OAEb7G,KAAK0yB,YAAc7rB,OACnB7G,KAAK2yB,aAAe,IACpB3yB,KAAK4yB,UAAW,EA3ElB,GAAIjyB,GAAOT,EAAoB,EAiF/BoB,GAAOmS,UAAU0e,KAAO,WACtB,GAAIzpB,GAAQ1I,KAAKqpB,UACb3gB,GAAQ,IACVA,IACA1I,KAAK6yB,SAASnqB,KAOlBpH,EAAOmS,UAAUmV,KAAO,WACtB,GAAIlgB,GAAQ1I,KAAKqpB,UACb3gB,GAAQ1I,KAAKoX,OAAOpR,OAAS,IAC/B0C,IACA1I,KAAK6yB,SAASnqB,KAOlBpH,EAAOmS,UAAUqf,SAAW,WAC1B,GAAI5iB,GAAQ,GAAItL,MAEZ8D,EAAQ1I,KAAKqpB,UACb3gB,GAAQ1I,KAAKoX,OAAOpR,OAAS,GAC/B0C,IACA1I,KAAK6yB,SAASnqB,IAEP1I,KAAK4yB,WAEZlqB,EAAQ,EACR1I,KAAK6yB,SAASnqB,GAGhB,IAAIyH,GAAM,GAAIvL,MACVgoB,EAAQzc,EAAMD,EAId6iB,EAAWvuB,KAAKJ,IAAIpE,KAAK2yB,aAAe/F,EAAM,GAG9CnY,EAAKzU,IACTA,MAAK0yB,YAAc5Y,WAAW,WAAYrF,EAAGqe,YAAcC,IAM7DzxB,EAAOmS,UAAU+e,WAAa,WACH3rB,SAArB7G,KAAK0yB,YACP1yB,KAAKulB,OAELvlB,KAAKylB,QAOTnkB,EAAOmS,UAAU8R,KAAO,WAElBvlB,KAAK0yB,cAET1yB,KAAK8yB,WAED9yB,KAAK6f,QACP7f,KAAK6f,MAAM0F,KAAKjhB,MAAQ,UAO5BhD,EAAOmS,UAAUgS,KAAO,WACtBuN,cAAchzB,KAAK0yB,aACnB1yB,KAAK0yB,YAAc7rB,OAEf7G,KAAK6f,QACP7f,KAAK6f,MAAM0F,KAAKjhB,MAAQ,SAQ5BhD,EAAOmS,UAAU8V,oBAAsB,SAAS1gB,GAC9C7I,KAAKyyB,iBAAmB5pB,GAO1BvH,EAAOmS,UAAU0V,gBAAkB,SAAS4J,GAC1C/yB,KAAK2yB,aAAeI,GAOtBzxB,EAAOmS,UAAUwf,gBAAkB,WACjC,MAAOjzB,MAAK2yB,cASdrxB,EAAOmS,UAAUyf,YAAc,SAASC,GACtCnzB,KAAK4yB,SAAWO,GAOlB7xB,EAAOmS,UAAU2f,SAAW,WACIvsB,SAA1B7G,KAAKyyB,kBACPzyB,KAAKyyB,oBAOTnxB,EAAOmS,UAAUuO,OAAS,WACxB,GAAIhiB,KAAK6f,MAAO,CAEd7f,KAAK6f,MAAMuS,IAAI7kB,MAAMtF,IAAOjI,KAAK6f,MAAMuF,aAAa,EAChDplB,KAAK6f,MAAMuS,IAAIvB,aAAa,EAAK,KACrC7wB,KAAK6f,MAAMuS,IAAI7kB,MAAMsF,MAAS7S,KAAK6f,MAAME,YACrC/f,KAAK6f,MAAMsS,KAAKpS,YAChB/f,KAAK6f,MAAM0F,KAAKxF,YAChB/f,KAAK6f,MAAM+I,KAAK7I,YAAc,GAAO,IAGzC,IAAIlY,GAAO7H,KAAKqzB,YAAYrzB,KAAK0I,MACjC1I,MAAK6f,MAAMyS,MAAM/kB,MAAM1F,KAAO,EAAS,OAS3CvG,EAAOmS,UAAUyV,UAAY,SAAS9R,GACpCpX,KAAKoX,OAASA,EAEVpX,KAAKoX,OAAOpR,OAAS,EACvBhG,KAAK6yB,SAAS,GAEd7yB,KAAK0I,MAAQ7B,QAOjBvF,EAAOmS,UAAUof,SAAW,SAASnqB,GACnC,KAAIA,EAAQ1I,KAAKoX,OAAOpR,QAOtB,KAAM,2BANNhG,MAAK0I,MAAQA,EAEb1I,KAAKgiB,SACLhiB,KAAKozB,YAWT9xB,EAAOmS,UAAU4V,SAAW,WAC1B,MAAOrpB,MAAK0I,OAQdpH,EAAOmS,UAAU+B,IAAM,WACrB,MAAOxV,MAAKoX,OAAOpX,KAAK0I,QAI1BpH,EAAOmS,UAAUiR,aAAe,SAAS7a,GAEvC,GAAIgjB,GAAiBhjB,EAAMkjB,MAAyB,IAAhBljB,EAAMkjB,MAAiC,IAAjBljB,EAAMmjB,MAChE,IAAKH,EAAL,CAEA7sB,KAAKszB,aAAezpB,EAAMsT,QAC1Bnd,KAAKuzB,YAAc3N,WAAW5lB,KAAK6f,MAAMyS,MAAM/kB,MAAM1F,MAErD7H,KAAK6f,MAAMtS,MAAMggB,OAAS,MAK1B,IAAI9Y,GAAKzU,IACTA,MAAKwtB,YAAc,SAAU3jB,GAAQ4K,EAAGgZ,aAAa5jB,IACrD7J,KAAK0tB,UAAc,SAAU7jB,GAAQ4K,EAAGqY,WAAWjjB,IACnDlJ,EAAKuI,iBAAiB2I,SAAU,YAAa7R,KAAKwtB,aAClD7sB,EAAKuI,iBAAiB2I,SAAU,UAAa7R,KAAK0tB,WAClD/sB,EAAKiJ,eAAeC,KAItBvI,EAAOmS,UAAU+f,YAAc,SAAU3rB,GACvC,GAAIgL,GAAQ+S,WAAW5lB,KAAK6f,MAAMuS,IAAI7kB,MAAMsF,OACxC7S,KAAK6f,MAAMyS,MAAMvS,YAAc,GAC/B1N,EAAIxK,EAAO,EAEXa,EAAQlE,KAAKypB,MAAM5b,EAAIQ,GAAS7S,KAAKoX,OAAOpR,OAAO,GAIvD,OAHY,GAAR0C,IAAWA,EAAQ,GACnBA,EAAQ1I,KAAKoX,OAAOpR,OAAO,IAAG0C,EAAQ1I,KAAKoX,OAAOpR,OAAO,GAEtD0C,GAGTpH,EAAOmS,UAAU4f,YAAc,SAAU3qB,GACvC,GAAImK,GAAQ+S,WAAW5lB,KAAK6f,MAAMuS,IAAI7kB,MAAMsF,OACxC7S,KAAK6f,MAAMyS,MAAMvS,YAAc,GAE/B1N,EAAI3J,GAAS1I,KAAKoX,OAAOpR,OAAO,GAAK6M,EACrChL,EAAOwK,EAAI,CAEf,OAAOxK,IAKTvG,EAAOmS,UAAUga,aAAe,SAAU5jB,GACxC,GAAI+iB,GAAO/iB,EAAMsT,QAAUnd,KAAKszB,aAC5BjhB,EAAIrS,KAAKuzB,YAAc3G,EAEvBlkB,EAAQ1I,KAAKwzB,YAAYnhB,EAE7BrS,MAAK6yB,SAASnqB,GAEd/H,EAAKiJ,kBAIPtI,EAAOmS,UAAUqZ,WAAa,WAC5B9sB,KAAK6f,MAAMtS,MAAMggB,OAAS,OAG1B5sB,EAAK+I,oBAAoBmI,SAAU,YAAa7R,KAAKwtB,aACrD7sB,EAAK+I,oBAAoBmI,SAAU,UAAW7R,KAAK0tB,WAEnD/sB,EAAKiJ,kBAGP/J,EAAOD,QAAU0B,GAKb,SAASzB,GA2Bb,QAAS0B,GAAW2O,EAAOC,EAAKuY,EAAMmB,GAEpC7pB,KAAKyzB,OAAS,EACdzzB,KAAK0zB,KAAO,EACZ1zB,KAAK2zB,MAAQ,EACb3zB,KAAK6pB,YAAa,EAClB7pB,KAAK4zB,UAAY,EAEjB5zB,KAAK6zB,SAAW,EAChB7zB,KAAK8zB,SAAS5jB,EAAOC,EAAKuY,EAAMmB,GAYlCtoB,EAAWkS,UAAUqgB,SAAW,SAAS5jB,EAAOC,EAAKuY,EAAMmB,GACzD7pB,KAAKyzB,OAASvjB,EAAQA,EAAQ,EAC9BlQ,KAAK0zB,KAAOvjB,EAAMA,EAAM,EAExBnQ,KAAK+zB,QAAQrL,EAAMmB,IASrBtoB,EAAWkS,UAAUsgB,QAAU,SAASrL,EAAMmB,GAC/BhjB,SAAT6hB,GAA8B,GAARA,IAGP7hB,SAAfgjB,IACF7pB,KAAK6pB,WAAaA,GAGlB7pB,KAAK2zB,MADH3zB,KAAK6pB,cAAe,EACTtoB,EAAWyyB,oBAAoBtL,GAE/BA,IAUjBnnB,EAAWyyB,oBAAsB,SAAUtL,GACzC,GAAIuL,GAAQ,SAAU5hB,GAAI,MAAO7N,MAAK0vB,IAAI7hB,GAAK7N,KAAK2vB,MAGhDC,EAAQ5vB,KAAK6vB,IAAI,GAAI7vB,KAAKypB,MAAMgG,EAAMvL,KACtC4L,EAAQ,EAAI9vB,KAAK6vB,IAAI,GAAI7vB,KAAKypB,MAAMgG,EAAMvL,EAAO,KACjD6L,EAAQ,EAAI/vB,KAAK6vB,IAAI,GAAI7vB,KAAKypB,MAAMgG,EAAMvL,EAAO,KAGjDmB,EAAauK,CASjB,OARI5vB,MAAK4mB,IAAIkJ,EAAQ5L,IAASlkB,KAAK4mB,IAAIvB,EAAanB,KAAOmB,EAAayK,GACpE9vB,KAAK4mB,IAAImJ,EAAQ7L,IAASlkB,KAAK4mB,IAAIvB,EAAanB,KAAOmB,EAAa0K,GAGtD,GAAd1K,IACFA,EAAa,GAGRA,GAOTtoB,EAAWkS,UAAUkV,WAAa,WAChC,MAAO/C,YAAW5lB,KAAK6zB,SAASW,YAAYx0B,KAAK4zB,aAOnDryB,EAAWkS,UAAUghB,QAAU,WAC7B,MAAOz0B,MAAK2zB,OAOdpyB,EAAWkS,UAAUvD,MAAQ,WAC3BlQ,KAAK6zB,SAAW7zB,KAAKyzB,OAASzzB,KAAKyzB,OAASzzB,KAAK2zB,OAMnDpyB,EAAWkS,UAAUmV,KAAO,WAC1B5oB,KAAK6zB,UAAY7zB,KAAK2zB,OAOxBpyB,EAAWkS,UAAUtD,IAAM,WACzB,MAAQnQ,MAAK6zB,SAAW7zB,KAAK0zB,MAG/B7zB,EAAOD,QAAU2B,GAKb,SAAS1B,EAAQD,EAASM,GAuB9B,QAASsB,GAAUuY,EAAW9X,EAAOyyB,EAAQ3lB,GAC3C,KAAM/O,eAAgBwB,IACpB,KAAM,IAAIwY,aAAY,mDAIxB,MAAM1T,MAAMC,QAAQmuB,IAAWA,YAAkB7zB,KAAY6zB,YAAkB9tB,QAAQ,CACrF,GAAI+tB,GAAgB5lB,CACpBA,GAAU2lB,EACVA,EAASC,EAGX,GAAIlgB,GAAKzU,IACTA,MAAK40B,gBACH1kB,MAAO,KACPC,IAAO,KAEP0kB,YAAY,EAEZC,YAAa,SACbjiB,MAAO,KACPC,OAAQ,KACRiiB,UAAW,KACXC,UAAW,MAEbh1B,KAAK+O,QAAUpO,EAAKmG,cAAe9G,KAAK40B,gBAGxC50B,KAAKi1B,QAAQlb,GAGb/Z,KAAKgC,cAELhC,KAAKk1B,MACH5E,IAAKtwB,KAAKswB,IACV6E,SAAUn1B,KAAKqG,MACf+uB,SACEvhB,GAAI7T,KAAK6T,GAAGwhB,KAAKr1B,MACjBgU,IAAKhU,KAAKgU,IAAIqhB,KAAKr1B,MACnBmuB,KAAMnuB,KAAKmuB,KAAKkH,KAAKr1B,OAEvBs1B,eACA30B,MACE40B,SAAU,WACR,MAAO9gB,GAAG+gB,SAAS9M,KAAKnkB,OAE1BkwB,QAAS,WACP,MAAOhgB,GAAG+gB,SAAS9M,KAAKA,MAG1B+M,SAAUhhB,EAAGihB,UAAUL,KAAK5gB,GAC5BkhB,eAAgBlhB,EAAGmhB,gBAAgBP,KAAK5gB,GACxCohB,OAAQphB,EAAGqhB,QAAQT,KAAK5gB,GACxBshB,aAAethB,EAAGuhB,cAAcX,KAAK5gB,KAKzCzU,KAAKi2B,MAAQ,GAAIp0B,GAAM7B,KAAKk1B,MAC5Bl1B,KAAKgC,WAAWuG,KAAKvI,KAAKi2B,OAC1Bj2B,KAAKk1B,KAAKe,MAAQj2B,KAAKi2B,MAGvBj2B,KAAKw1B,SAAW,GAAIvyB,GAASjD,KAAKk1B,MAClCl1B,KAAKgC,WAAWuG,KAAKvI,KAAKw1B,UAG1Bx1B,KAAKk2B,YAAc,GAAI1zB,GAAYxC,KAAKk1B,MACxCl1B,KAAKgC,WAAWuG,KAAKvI,KAAKk2B,aAI1Bl2B,KAAKm2B,WAAa,GAAI1zB,GAAWzC,KAAKk1B,MACtCl1B,KAAKgC,WAAWuG,KAAKvI,KAAKm2B,YAG1Bn2B,KAAKo2B,QAAU,GAAItzB,GAAQ9C,KAAKk1B,MAChCl1B,KAAKgC,WAAWuG,KAAKvI,KAAKo2B,SAE1Bp2B,KAAKq2B,UAAY,KACjBr2B,KAAKs2B,WAAa,KAGdvnB,GACF/O,KAAKwT,WAAWzE,GAId2lB,GACF10B,KAAKu2B,UAAU7B,GAIbzyB,EACFjC,KAAKw2B,SAASv0B,GAGdjC,KAAKy2B,UAtHT,GAEI91B,IAFUT,EAAoB,IACrBA,EAAoB,IACtBA,EAAoB,IAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B2B,EAAQ3B,EAAoB,IAC5Bw2B,EAAOx2B,EAAoB,IAC3B+C,EAAW/C,EAAoB,IAC/BsC,EAActC,EAAoB,IAClCuC,EAAavC,EAAoB,IACjC4C,EAAU5C,EAAoB,GAiHlCsB,GAASiS,UAAY,GAAIijB,GAOzBl1B,EAASiS,UAAUuO,OAAS,WAC1BhiB,KAAKo2B,SAAWp2B,KAAKo2B,QAAQO,WAAWC,cAAc,IACtD52B,KAAKy2B,WAOPj1B,EAASiS,UAAU+iB,SAAW,SAASv0B,GACrC,GAGI40B,GAHAC,EAAiC,MAAlB92B,KAAKq2B,SAwBxB,IAhBEQ,EAJG50B,EAGIA,YAAiBpB,IAAWoB,YAAiBnB,GACvCmB,EAIA,GAAIpB,GAAQoB,GACvBkF,MACE+I,MAAO,OACPC,IAAK,UAVI,KAgBfnQ,KAAKq2B,UAAYQ,EACjB72B,KAAKo2B,SAAWp2B,KAAKo2B,QAAQI,SAASK,GAElCC,EACF,GAA0BjwB,QAAtB7G,KAAK+O,QAAQmB,OAA0CrJ,QAApB7G,KAAK+O,QAAQoB,IAAkB,CACpE,GAA0BtJ,QAAtB7G,KAAK+O,QAAQmB,OAA0CrJ,QAApB7G,KAAK+O,QAAQoB,IAClD,GAAI4mB,GAAY/2B,KAAKg3B,eAGvB,IAAI9mB,GAA8BrJ,QAAtB7G,KAAK+O,QAAQmB,MAAqBlQ,KAAK+O,QAAQmB,MAAQ6mB,EAAU7mB,MACzEC,EAA4BtJ,QAApB7G,KAAK+O,QAAQoB,IAAqBnQ,KAAK+O,QAAQoB,IAAQ4mB,EAAU5mB,GAE7EnQ,MAAKi3B,UAAU/mB,EAAOC,GAAM+mB,SAAS,QAGrCl3B,MAAKm3B,KAAKD,SAAS,KASzB11B,EAASiS,UAAU8iB,UAAY,SAAS7B,GAEtC,GAAImC,EAKFA,GAJGnC,EAGIA,YAAkB7zB,IAAW6zB,YAAkB5zB,GACzC4zB,EAIA,GAAI7zB,GAAQ6zB,GAPZ,KAUf10B,KAAKs2B,WAAaO,EAClB72B,KAAKo2B,QAAQG,UAAUM,IAmBzBr1B,EAASiS,UAAU2jB,aAAe,SAAS3hB,EAAK1G,GAC9C/O,KAAKo2B,SAAWp2B,KAAKo2B,QAAQgB,aAAa3hB,GAEtC1G,GAAWA,EAAQsoB,OACrBr3B,KAAKq3B,MAAM5hB,EAAK1G,IAQpBvN,EAASiS,UAAU6jB,aAAe,WAChC,MAAOt3B,MAAKo2B,SAAWp2B,KAAKo2B,QAAQkB,oBAetC91B,EAASiS,UAAU4jB,MAAQ,SAASh3B,EAAI0O,GACtC,GAAK/O,KAAKq2B,WAAmBxvB,QAANxG,EAAvB,CAEA,GAAIoV,GAAMnP,MAAMC,QAAQlG,GAAMA,GAAMA,GAGhCg2B,EAAYr2B,KAAKq2B,UAAUjgB,aAAaZ,IAAIC,GAC9CtO,MACE+I,MAAO,OACPC,IAAK,UAKLD,EAAQ,KACRC,EAAM,IAcV,IAbAkmB,EAAUztB,QAAQ,SAAU2uB,GAC1B,GAAInrB,GAAImrB,EAASrnB,MAAM7I,UACnBmwB,EAAI,OAASD,GAAWA,EAASpnB,IAAI9I,UAAYkwB,EAASrnB,MAAM7I,WAEtD,OAAV6I,GAAsBA,EAAJ9D,KACpB8D,EAAQ9D,IAGE,OAAR+D,GAAgBqnB,EAAIrnB,KACtBA,EAAMqnB,KAII,OAAVtnB,GAA0B,OAARC,EAAc,CAElC,GAAIT,IAAUQ,EAAQC,GAAO,EACzB4iB,EAAWvuB,KAAKJ,IAAKpE,KAAKi2B,MAAM9lB,IAAMnQ,KAAKi2B,MAAM/lB,MAAwB,KAAfC,EAAMD,IAEhEgnB,EAAWnoB,GAA+BlI,SAApBkI,EAAQmoB,QAAyBnoB,EAAQmoB,SAAU,CAC7El3B,MAAKi2B,MAAMnC,SAASpkB,EAASqjB,EAAW,EAAGrjB,EAASqjB,EAAW,EAAGmE,MAUtE11B,EAASiS,UAAUgkB,aAAe,WAEhC,GAAIC,GAAU13B,KAAKq2B,UAAUjgB,aAC3BjS,EAAM,KACNC,EAAM,IAER,IAAIszB,EAAS,CAEX,GAAIC,GAAUD,EAAQvzB,IAAI,QAC1BA,GAAMwzB,EAAUh3B,EAAKuG,QAAQywB,EAAQznB,MAAO,QAAQ7I,UAAY,IAKhE,IAAIuwB,GAAeF,EAAQtzB,IAAI,QAC3BwzB,KACFxzB,EAAMzD,EAAKuG,QAAQ0wB,EAAa1nB,MAAO,QAAQ7I,UAEjD,IAAIwwB,GAAaH,EAAQtzB,IAAI,MACzByzB,KAEAzzB,EADS,MAAPA,EACIzD,EAAKuG,QAAQ2wB,EAAW1nB,IAAK,QAAQ9I,UAGrC7C,KAAKJ,IAAIA,EAAKzD,EAAKuG,QAAQ2wB,EAAW1nB,IAAK,QAAQ9I,YAK/D,OACElD,IAAa,MAAPA,EAAe,GAAIS,MAAKT,GAAO,KACrCC,IAAa,MAAPA,EAAe,GAAIQ,MAAKR,GAAO,OAKzCvE,EAAOD,QAAU4B,GAKb,SAAS3B,EAAQD,EAASM,GAsB9B,QAASuB,GAASsY,EAAW9X,EAAOyyB,EAAQ3lB,GAE1C,KAAMzI,MAAMC,QAAQmuB,IAAWA,YAAkB7zB,KAAY6zB,YAAkB9tB,QAAQ,CACrF,GAAI+tB,GAAgB5lB,CACpBA,GAAU2lB,EACVA,EAASC,EAGX,GAAIlgB,GAAKzU,IACTA,MAAK40B,gBACH1kB,MAAO,KACPC,IAAO,KAEP0kB,YAAY,EAEZC,YAAa,SACbjiB,MAAO,KACPC,OAAQ,KACRiiB,UAAW,KACXC,UAAW,MAEbh1B,KAAK+O,QAAUpO,EAAKmG,cAAe9G,KAAK40B,gBAGxC50B,KAAKi1B,QAAQlb,GAGb/Z,KAAKgC,cAELhC,KAAKk1B,MACH5E,IAAKtwB,KAAKswB,IACV6E,SAAUn1B,KAAKqG,MACf+uB,SACEvhB,GAAI7T,KAAK6T,GAAGwhB,KAAKr1B,MACjBgU,IAAKhU,KAAKgU,IAAIqhB,KAAKr1B,MACnBmuB,KAAMnuB,KAAKmuB,KAAKkH,KAAKr1B,OAEvBs1B,eACA30B,MACE80B,SAAUhhB,EAAGihB,UAAUL,KAAK5gB,GAC5BkhB,eAAgBlhB,EAAGmhB,gBAAgBP,KAAK5gB,GACxCohB,OAAQphB,EAAGqhB,QAAQT,KAAK5gB,GACxBshB,aAAethB,EAAGuhB,cAAcX,KAAK5gB,KAKzCzU,KAAKi2B,MAAQ,GAAIp0B,GAAM7B,KAAKk1B,MAC5Bl1B,KAAKgC,WAAWuG,KAAKvI,KAAKi2B,OAC1Bj2B,KAAKk1B,KAAKe,MAAQj2B,KAAKi2B,MAGvBj2B,KAAKw1B,SAAW,GAAIvyB,GAASjD,KAAKk1B,MAClCl1B,KAAKgC,WAAWuG,KAAKvI,KAAKw1B,UAI1Bx1B,KAAKk2B,YAAc,GAAI1zB,GAAYxC,KAAKk1B,MACxCl1B,KAAKgC,WAAWuG,KAAKvI,KAAKk2B,aAI1Bl2B,KAAKm2B,WAAa,GAAI1zB,GAAWzC,KAAKk1B,MACtCl1B,KAAKgC,WAAWuG,KAAKvI,KAAKm2B,YAG1Bn2B,KAAK83B,UAAY,GAAI90B,GAAUhD,KAAKk1B,MACpCl1B,KAAKgC,WAAWuG,KAAKvI,KAAK83B,WAE1B93B,KAAKq2B,UAAY,KACjBr2B,KAAKs2B,WAAa,KAGdvnB,GACF/O,KAAKwT,WAAWzE,GAId2lB,GACF10B,KAAKu2B,UAAU7B,GAIbzyB,EACFjC,KAAKw2B,SAASv0B,GAGdjC,KAAKy2B,UA3GT,GAEI91B,IAFUT,EAAoB,IACrBA,EAAoB,IACtBA,EAAoB,IAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B2B,EAAQ3B,EAAoB,IAC5Bw2B,EAAOx2B,EAAoB,IAC3B+C,EAAW/C,EAAoB,IAC/BsC,EAActC,EAAoB,IAClCuC,EAAavC,EAAoB,IACjC8C,EAAY9C,EAAoB,GAsGpCuB,GAAQgS,UAAY,GAAIijB,GAMxBj1B,EAAQgS,UAAU+iB,SAAW,SAASv0B,GACpC,GAGI40B,GAHAC,EAAiC,MAAlB92B,KAAKq2B,SAwBxB,IAhBEQ,EAJG50B,EAGIA,YAAiBpB,IAAWoB,YAAiBnB,GACvCmB,EAIA,GAAIpB,GAAQoB,GACvBkF,MACE+I,MAAO,OACPC,IAAK,UAVI,KAgBfnQ,KAAKq2B,UAAYQ,EACjB72B,KAAK83B,WAAa93B,KAAK83B,UAAUtB,SAASK,GAEtCC,EACF,GAA0BjwB,QAAtB7G,KAAK+O,QAAQmB,OAA0CrJ,QAApB7G,KAAK+O,QAAQoB,IAAkB,CACpE,GAAID,GAA8BrJ,QAAtB7G,KAAK+O,QAAQmB,MAAqBlQ,KAAK+O,QAAQmB,MAAQ,KAC/DC,EAA4BtJ,QAApB7G,KAAK+O,QAAQoB,IAAqBnQ,KAAK+O,QAAQoB,IAAM,IAEjEnQ,MAAKi3B,UAAU/mB,EAAOC,GAAM+mB,SAAS,QAGrCl3B,MAAKm3B,KAAKD,SAAS,KASzBz1B,EAAQgS,UAAU8iB,UAAY,SAAS7B,GAErC,GAAImC,EAKFA,GAJGnC,EAGIA,YAAkB7zB,IAAW6zB,YAAkB5zB,GACzC4zB,EAIA,GAAI7zB,GAAQ6zB,GAPZ,KAUf10B,KAAKs2B,WAAaO,EAClB72B,KAAK83B,UAAUvB,UAAUM,IAS3Bp1B,EAAQgS,UAAUskB,UAAY,SAASC,EAASnlB,EAAOC,GAGrD,MAFejM,UAAXgM,IAAuBA,EAAS,IACrBhM,SAAXiM,IAAuBA,EAAS,IACGjM,SAAnC7G,KAAK83B,UAAUpD,OAAOsD,GACjBh4B,KAAK83B,UAAUpD,OAAOsD,GAASD,UAAUllB,EAAMC,GAG/C,qBAAwBklB,GASnCv2B,EAAQgS,UAAUwkB,eAAiB,SAASD,GAC1C,MAAuCnxB,UAAnC7G,KAAK83B,UAAUpD,OAAOsD,GAChBh4B,KAAK83B,UAAUpD,OAAOsD,GAAS/O,UAAkEpiB,SAAtD7G,KAAK83B,UAAU/oB,QAAQ2lB,OAAOwD,WAAWF,IAA+E,GAArDh4B,KAAK83B,UAAU/oB,QAAQ2lB,OAAOwD,WAAWF,KAGxJ,GAWXv2B,EAAQgS,UAAUgkB,aAAe,WAC/B,GAAItzB,GAAM,KACNC,EAAM,IAGV,KAAK,GAAI4zB,KAAWh4B,MAAK83B,UAAUpD,OACjC,GAAI10B,KAAK83B,UAAUpD,OAAOvuB,eAAe6xB,IACO,GAA1Ch4B,KAAK83B,UAAUpD,OAAOsD,GAAS/O,QACjC,IAAK,GAAIpjB,GAAI,EAAGA,EAAI7F,KAAK83B,UAAUpD,OAAOsD,GAAS3B,UAAUrwB,OAAQH,IAAK,CACxE,GAAI8J,GAAO3P,KAAK83B,UAAUpD,OAAOsD,GAAS3B,UAAUxwB,GAChDvB,EAAQ3D,EAAKuG,QAAQyI,EAAK0C,EAAG,QAAQhL,SACzClD,GAAa,MAAPA,EAAcG,EAAQH,EAAMG,EAAQA,EAAQH,EAClDC,EAAa,MAAPA,EAAcE,EAAcA,EAANF,EAAcE,EAAQF,EAM1D,OACED,IAAa,MAAPA,EAAe,GAAIS,MAAKT,GAAO,KACrCC,IAAa,MAAPA,EAAe,GAAIQ,MAAKR,GAAO,OAMzCvE,EAAOD,QAAU6B,GAKb,SAAS5B,EAAQD,EAASM,GAK9B,GAAI2D,GAAS3D,EAAoB,GAQjCN,GAAQu4B,qBAAuB,SAASjD,EAAMI,GAE5C,GADAJ,EAAKI,eACDA,GACgC,GAA9BhvB,MAAMC,QAAQ+uB,GAAsB,CACtC,IAAK,GAAIzvB,GAAI,EAAGA,EAAIyvB,EAAYtvB,OAAQH,IACtC,GAA8BgB,SAA1ByuB,EAAYzvB,GAAGuyB,OAAsB,CACvC,GAAIC,KACJA,GAASnoB,MAAQrM,EAAOyxB,EAAYzvB,GAAGqK,OAAO3I,SAASF,UACvDgxB,EAASloB,IAAMtM,EAAOyxB,EAAYzvB,GAAGsK,KAAK5I,SAASF,UACnD6tB,EAAKI,YAAY/sB,KAAK8vB,GAG1BnD,EAAKI,YAAY9e,KAAK,SAAU5Q,EAAGa,GACjC,MAAOb,GAAEsK,MAAQzJ,EAAEyJ,UAY3BtQ,EAAQ04B,kBAAoB,SAAUpD,EAAMI,GAC1C,GAAIA,GAAuDzuB,SAAxCquB,EAAKC,SAASoD,gBAAgB1lB,MAAqB,CACpEjT,EAAQu4B,qBAAqBjD,EAAMI,EAQnC,KAAK,GANDplB,GAAQrM,EAAOqxB,EAAKe,MAAM/lB,OAC1BC,EAAMtM,EAAOqxB,EAAKe,MAAM9lB,KAExBqoB,EAActD,EAAKe,MAAM9lB,IAAM+kB,EAAKe,MAAM/lB,MAC1CuoB,EAAYD,EAAatD,EAAKC,SAASoD,gBAAgB1lB,MAElDhN,EAAI,EAAGA,EAAIyvB,EAAYtvB,OAAQH,IACtC,GAA8BgB,SAA1ByuB,EAAYzvB,GAAGuyB,OAAsB,CACvC,GAAIM,GAAY70B,EAAOyxB,EAAYzvB,GAAGqK,OAClCyoB,EAAU90B,EAAOyxB,EAAYzvB,GAAGsK,IAEpC,IAAoB,gBAAhBuoB,EAAUE,GACZ,KAAM,IAAIh1B,OAAM,qCAAuC0xB,EAAYzvB,GAAGqK,MAExE,IAAkB,gBAAdyoB,EAAQC,GACV,KAAM,IAAIh1B,OAAM,mCAAqC0xB,EAAYzvB,GAAGsK,IAGtE,IAAIC,GAAWuoB,EAAUD,CACzB,IAAItoB,GAAY,EAAIqoB,EAAW,CAE7B,GAAIvO,GAAS,EACT2O,EAAW1oB,EAAI2oB,OACnB,QAAQxD,EAAYzvB,GAAGuyB,QACrB,IAAK,QACCM,EAAUK,OAASJ,EAAQI,QAC7B7O,EAAS,GAEXwO,EAAUM,UAAU9oB,EAAM8oB,aAC1BN,EAAUO,KAAK/oB,EAAM+oB,QACrBP,EAAU9M,SAAS,EAAE,QAErB+M,EAAQK,UAAU9oB,EAAM8oB,aACxBL,EAAQM,KAAK/oB,EAAM+oB,QACnBN,EAAQ/M,SAAS,EAAI1B,EAAO,QAE5B2O,EAAStlB,IAAI,EAAG,QAChB,MACF,KAAK,SACH,GAAI2lB,GAAYP,EAAQ/L,KAAK8L,EAAU,QACnCK,EAAML,EAAUK,KAGpBL,GAAUS,KAAKjpB,EAAMipB,QACrBT,EAAUU,MAAMlpB,EAAMkpB,SACtBV,EAAUO,KAAK/oB,EAAM+oB,QACrBN,EAAUD,EAAUI,QAGpBJ,EAAUK,IAAIA,GACdJ,EAAQI,IAAIA,GACZJ,EAAQplB,IAAI2lB,EAAU,QAEtBR,EAAU9M,SAAS,EAAE,SACrB+M,EAAQ/M,SAAS,EAAE,SAEnBiN,EAAStlB,IAAI,EAAG,QAChB,MACF,KAAK,UACCmlB,EAAUU,SAAWT,EAAQS,UAC/BlP,EAAS,GAEXwO,EAAUU,MAAMlpB,EAAMkpB,SACtBV,EAAUO,KAAK/oB,EAAM+oB,QACrBP,EAAU9M,SAAS,EAAE,UAErB+M,EAAQS,MAAMlpB,EAAMkpB,SACpBT,EAAQM,KAAK/oB,EAAM+oB,QACnBN,EAAQ/M,SAAS,EAAE,UACnB+M,EAAQplB,IAAI2W,EAAO,UAEnB2O,EAAStlB,IAAI,EAAG,SAChB,MACF,KAAK,SACCmlB,EAAUO,QAAUN,EAAQM,SAC9B/O,EAAS,GAEXwO,EAAUO,KAAK/oB,EAAM+oB,QACrBP,EAAU9M,SAAS,EAAE,SACrB+M,EAAQM,KAAK/oB,EAAM+oB,QACnBN,EAAQ/M,SAAS,EAAE,SACnB+M,EAAQplB,IAAI2W,EAAO,SAEnB2O,EAAStlB,IAAI,EAAG,QAChB,MACF,SAEE,WADA8lB,SAAQnF,IAAI,2EAA4EoB,EAAYzvB,GAAGuyB,QAG3G,KAAmBS,EAAZH,GAEL,OADAxD,EAAKI,YAAY/sB,MAAM2H,MAAOwoB,EAAUrxB,UAAW8I,IAAKwoB,EAAQtxB,YACxDiuB,EAAYzvB,GAAGuyB,QACrB,IAAK,QACHM,EAAUnlB,IAAI,EAAG,QACjBolB,EAAQplB,IAAI,EAAG,OACf,MACF,KAAK,SACHmlB,EAAUnlB,IAAI,EAAG,SACjBolB,EAAQplB,IAAI,EAAG,QACf,MACF,KAAK,UACHmlB,EAAUnlB,IAAI,EAAG,UACjBolB,EAAQplB,IAAI,EAAG,SACf,MACF,KAAK,SACHmlB,EAAUnlB,IAAI,EAAG,KACjBolB,EAAQplB,IAAI,EAAG,IACf,MACF,SAEE,WADA8lB,SAAQnF,IAAI,2EAA4EoB,EAAYzvB,GAAGuyB,QAI7GlD,EAAKI,YAAY/sB,MAAM2H,MAAOwoB,EAAUrxB,UAAW8I,IAAKwoB,EAAQtxB,aAKtEzH,EAAQ05B,iBAAiBpE,EAEzB,IAAIqE,GAAc35B,EAAQ45B,SAAStE,EAAKe,MAAM/lB,MAAOglB,EAAKI,aACtDmE,EAAY75B,EAAQ45B,SAAStE,EAAKe,MAAM9lB,IAAI+kB,EAAKI,aACjDoE,EAAaxE,EAAKe,MAAM/lB,MACxBypB,EAAWzE,EAAKe,MAAM9lB,GACA,IAAtBopB,EAAYK,SAAiBF,EAAwC,GAA3BxE,EAAKe,MAAM4D,aAAuBN,EAAYb,UAAY,EAAIa,EAAYZ,QAAU,GAC1G,GAApBc,EAAUG,SAAmBD,EAAsC,GAAzBzE,EAAKe,MAAM6D,WAAuBL,EAAUf,UAAY,EAAMe,EAAUd,QAAU,IACtG,GAAtBY,EAAYK,QAAsC,GAApBH,EAAUG,SAC1C1E,EAAKe,MAAM8D,YAAYL,EAAYC,KAYzC/5B,EAAQ05B,iBAAmB,SAASpE,GAGlC,IAAK,GAFDI,GAAcJ,EAAKI,YACnB0E,KACKn0B,EAAI,EAAGA,EAAIyvB,EAAYtvB,OAAQH,IACtC,IAAK,GAAIsmB,GAAI,EAAGA,EAAImJ,EAAYtvB,OAAQmmB,IAClCtmB,GAAKsmB,GAA8B,GAAzBmJ,EAAYnJ,GAAGxV,QAA2C,GAAzB2e,EAAYzvB,GAAG8Q,SAExD2e,EAAYnJ,GAAGjc,OAASolB,EAAYzvB,GAAGqK,OAASolB,EAAYnJ,GAAGhc,KAAOmlB,EAAYzvB,GAAGsK,IACvFmlB,EAAYnJ,GAAGxV,QAAS,EAGjB2e,EAAYnJ,GAAGjc,OAASolB,EAAYzvB,GAAGqK,OAASolB,EAAYnJ,GAAGjc,OAASolB,EAAYzvB,GAAGsK,KAC9FmlB,EAAYzvB,GAAGsK,IAAMmlB,EAAYnJ,GAAGhc,IACpCmlB,EAAYnJ,GAAGxV,QAAS,GAGjB2e,EAAYnJ,GAAGhc,KAAOmlB,EAAYzvB,GAAGqK,OAASolB,EAAYnJ,GAAGhc,KAAOmlB,EAAYzvB,GAAGsK,MAC1FmlB,EAAYzvB,GAAGqK,MAAQolB,EAAYnJ,GAAGjc,MACtColB,EAAYnJ,GAAGxV,QAAS,GAMhC,KAAK,GAAI9Q,GAAI,EAAGA,EAAIyvB,EAAYtvB,OAAQH,IAClCyvB,EAAYzvB,GAAG8Q,UAAW,GAC5BqjB,EAAUzxB,KAAK+sB,EAAYzvB,GAI/BqvB,GAAKI,YAAc0E,EACnB9E,EAAKI,YAAY9e,KAAK,SAAU5Q,EAAGa,GACjC,MAAOb,GAAEsK,MAAQzJ,EAAEyJ,SAIvBtQ,EAAQq6B,WAAa,SAASC,GAC5B,IAAK,GAAIr0B,GAAG,EAAGA,EAAIq0B,EAAMl0B,OAAQH,IAC/BwzB,QAAQnF,IAAIruB,EAAG,GAAIjB,MAAKs1B,EAAMr0B,GAAGqK,OAAO,GAAItL,MAAKs1B,EAAMr0B,GAAGsK,KAAM+pB,EAAMr0B,GAAGqK,MAAOgqB,EAAMr0B,GAAGsK,IAAK+pB,EAAMr0B,GAAG8Q,SAS3G/W,EAAQu6B,oBAAsB,SAASC,EAAUC,GAG/C,IAAK,GAFDC,IAAe,EACfC,EAAeH,EAASI,QAAQnzB,UAC3BxB,EAAI,EAAGA,EAAIu0B,EAAS9E,YAAYtvB,OAAQH,IAAK,CACpD,GAAI6yB,GAAY0B,EAAS9E,YAAYzvB,GAAGqK,MACpCyoB,EAAUyB,EAAS9E,YAAYzvB,GAAGsK,GACtC,IAAIoqB,GAAgB7B,GAA4BC,EAAf4B,EAAwB,CACvDD,GAAe,CACf,QAIJ,GAAoB,GAAhBA,GAAwBC,EAAeH,EAAS1G,KAAKrsB,WAAakzB,GAAgBF,EAAc,CAClG,GAAItqB,GAAYlM,EAAOw2B,GACnBI,EAAW52B,EAAO80B,EAElB5oB,GAAUkpB,QAAUwB,EAASxB,OAASmB,EAASM,cAAe,EACzD3qB,EAAUqpB,SAAWqB,EAASrB,QAAUgB,EAASO,eAAgB,EACjE5qB,EAAUipB,aAAeyB,EAASzB,cAAcoB,EAASQ,aAAc,GAEhFR,EAASI,QAAUC,EAASlzB,WAmChC3H,EAAQ61B,SAAW,SAASiB,EAAMmE,EAAMhoB,GACtC,GAAoC,GAAhC6jB,EAAKxB,KAAKI,YAAYtvB,OAAa,CACrC,GAAI80B,GAAapE,EAAKT,MAAM6E,WAAWjoB,EACvC,QAAQgoB,EAAKxzB,UAAYyzB,EAAW5Q,QAAU4Q,EAAWv2B,MAGzD,GAAIq1B,GAASh6B,EAAQ45B,SAASqB,EAAMnE,EAAKxB,KAAKI,YACzB,IAAjBsE,EAAOA,SACTiB,EAAOjB,EAAOlB,UAGhB,IAAItoB,GAAWxQ,EAAQm7B,yBAAyBrE,EAAKxB,KAAKI,YAAaoB,EAAKT,MAAM/lB,MAAOwmB,EAAKT,MAAM9lB,IACpG0qB,GAAOj7B,EAAQo7B,qBAAqBtE,EAAKxB,KAAKI,YAAaoB,EAAKT,MAAO4E,EAEvE,IAAIC,GAAapE,EAAKT,MAAM6E,WAAWjoB,EAAOzC,EAC9C,QAAQyqB,EAAKxzB,UAAYyzB,EAAW5Q,QAAU4Q,EAAWv2B,OAa7D3E,EAAQi2B,OAAS,SAASa,EAAMrkB,EAAGQ,GACjC,GAAoC,GAAhC6jB,EAAKxB,KAAKI,YAAYtvB,OAAa,CACrC,GAAI80B,GAAapE,EAAKT,MAAM6E,WAAWjoB,EACvC,OAAO,IAAIjO,MAAKyN,EAAIyoB,EAAWv2B,MAAQu2B,EAAW5Q,QAGlD,GAAI+Q,GAAiBr7B,EAAQm7B,yBAAyBrE,EAAKxB,KAAKI,YAAaoB,EAAKT,MAAM/lB,MAAOwmB,EAAKT,MAAM9lB,KACtG+qB,EAAgBxE,EAAKT,MAAM9lB,IAAMumB,EAAKT,MAAM/lB,MAAQ+qB,EACpDE,EAAkBD,EAAgB7oB,EAAIQ,EACtCuoB,EAA4Bx7B,EAAQy7B,6BAA6B3E,EAAKxB,KAAKI,YAAaoB,EAAKT,MAAOkF,GAEpGG,EAAU,GAAI12B,MAAKw2B,EAA4BD,EAAkBzE,EAAKT,MAAM/lB,MAChF,OAAOorB,IAYX17B,EAAQm7B,yBAA2B,SAASzF,EAAaplB,EAAOC,GAE9D,IAAK,GADDC,GAAW,EACNvK,EAAI,EAAGA,EAAIyvB,EAAYtvB,OAAQH,IAAK,CAC3C,GAAI6yB,GAAYpD,EAAYzvB,GAAGqK,MAC3ByoB,EAAUrD,EAAYzvB,GAAGsK,GAEzBuoB,IAAaxoB,GAAmBC,EAAVwoB,IACxBvoB,GAAYuoB,EAAUD,GAG1B,MAAOtoB,IAWTxQ,EAAQo7B,qBAAuB,SAAS1F,EAAaW,EAAO4E,GAG1D,MAFAA,GAAOh3B,EAAOg3B,GAAMtzB,SAASF,UAC7BwzB,GAAQj7B,EAAQ27B,wBAAwBjG,EAAYW,EAAM4E,IAI5Dj7B,EAAQ27B,wBAA0B,SAASjG,EAAaW,EAAO4E,GAC7D,GAAIW,GAAa,CACjBX,GAAOh3B,EAAOg3B,GAAMtzB,SAASF,SAE7B,KAAK,GAAIxB,GAAI,EAAGA,EAAIyvB,EAAYtvB,OAAQH,IAAK,CAC3C,GAAI6yB,GAAYpD,EAAYzvB,GAAGqK,MAC3ByoB,EAAUrD,EAAYzvB,GAAGsK,GAEzBuoB,IAAazC,EAAM/lB,OAASyoB,EAAU1C,EAAM9lB,KAC1C0qB,GAAQlC,IACV6C,GAAe7C,EAAUD,GAI/B,MAAO8C,IAWT57B,EAAQy7B,6BAA+B,SAAS/F,EAAaW,EAAOwF,GAKlE,IAAK,GAJDR,GAAiB,EACjB7qB,EAAW,EACXsrB,EAAgBzF,EAAM/lB,MAEjBrK,EAAI,EAAGA,EAAIyvB,EAAYtvB,OAAQH,IAAK,CAC3C,GAAI6yB,GAAYpD,EAAYzvB,GAAGqK,MAC3ByoB,EAAUrD,EAAYzvB,GAAGsK,GAE7B,IAAIuoB,GAAazC,EAAM/lB,OAASyoB,EAAU1C,EAAM9lB,IAAK,CAGnD,GAFAC,GAAYsoB,EAAYgD,EACxBA,EAAgB/C,EACZvoB,GAAYqrB,EACd,KAGAR,IAAkBtC,EAAUD,GAKlC,MAAOuC,IAaTr7B,EAAQ+7B,mBAAqB,SAASrG,EAAauF,EAAMe,EAAWC,GAClE,GAAIrC,GAAW55B,EAAQ45B,SAASqB,EAAMvF,EACtC,OAAuB,IAAnBkE,EAASI,OACK,EAAZgC,EACuB,GAArBC,EACKrC,EAASd,WAAac,EAASb,QAAUkC,GAAQ,EAGjDrB,EAASd,UAAY,EAIL,GAArBmD,EACKrC,EAASb,SAAWkC,EAAOrB,EAASd,WAAa,EAGjDc,EAASb,QAAU,EAKvBkC,GAaXj7B,EAAQ45B,SAAW,SAASqB,EAAMvF,GAChC,IAAK,GAAIzvB,GAAI,EAAGA,EAAIyvB,EAAYtvB,OAAQH,IAAK,CAC3C,GAAI6yB,GAAYpD,EAAYzvB,GAAGqK,MAC3ByoB,EAAUrD,EAAYzvB,GAAGsK,GAE7B,IAAI0qB,GAAQnC,GAAoBC,EAAPkC,EACvB,OAAQjB,QAAQ,EAAMlB,UAAWA,EAAWC,QAASA,GAIzD,OAAQiB,QAAQ,EAAOlB,UAAWA,EAAWC,QAASA,KAKpD,SAAS94B,GA4Bb,QAAS+B,GAASsO,EAAOC,EAAK2rB,EAAaC,EAAiBC,EAAaC,GAEvEj8B,KAAKw6B,QAAU,EAEfx6B,KAAKk8B,WAAY,EACjBl8B,KAAKm8B,UAAY,EACjBn8B,KAAK0oB,KAAO,EACZ1oB,KAAKuE,MAAQ,EAEbvE,KAAKo8B,YACLp8B,KAAKq8B,UACLr8B,KAAKs8B,UAAY,EAEjBt8B,KAAKu8B,YAAc,EAAO,EAAM,EAAI,IACpCv8B,KAAKw8B,YAAc,IAAO,GAAM,EAAI,GAEpCx8B,KAAKi8B,WAAaA,EAElBj8B,KAAK8zB,SAAS5jB,EAAOC,EAAK2rB,EAAaC,EAAiBC,GAe1Dp6B,EAAS6R,UAAUqgB,SAAW,SAAS5jB,EAAOC,EAAK2rB,EAAaC,EAAiBC,GAC/Eh8B,KAAKyzB,OAA6B5sB,SAApBm1B,EAAY73B,IAAoB+L,EAAQ8rB,EAAY73B,IAClEnE,KAAK0zB,KAA2B7sB,SAApBm1B,EAAY53B,IAAoB+L,EAAM6rB,EAAY53B,IAE1DpE,KAAKyzB,QAAUzzB,KAAK0zB,OACtB1zB,KAAKyzB,QAAU,IACfzzB,KAAK0zB,MAAQ,GAGO,GAAlB1zB,KAAKk8B,WACPl8B,KAAKy8B,eAAeX,EAAaC,GAGnC/7B,KAAK08B,SAASV,IAOhBp6B,EAAS6R,UAAUgpB,eAAiB,SAASX,EAAaC,GAExD,GAAIppB,GAAO3S,KAAK0zB,KAAO1zB,KAAKyzB,OACxBkJ,EAAkB,IAAPhqB,EACXiqB,EAAmBd,GAAea,EAAWZ,GAC7Cc,EAAmBr4B,KAAKypB,MAAMzpB,KAAK0vB,IAAIyI,GAAUn4B,KAAK2vB,MAEtD2I,EAAe,GACfC,EAAkBv4B,KAAK6vB,IAAI,GAAGwI,GAE9B3sB,EAAQ,CACW,GAAnB2sB,IACF3sB,EAAQ2sB,EAIV,KAAK,GADDG,IAAgB,EACXn3B,EAAIqK,EAAO1L,KAAK4mB,IAAIvlB,IAAMrB,KAAK4mB,IAAIyR,GAAmBh3B,IAAK,CAClEk3B,EAAkBv4B,KAAK6vB,IAAI,GAAGxuB,EAC9B,KAAK,GAAIsmB,GAAI,EAAGA,EAAInsB,KAAKw8B,WAAWx2B,OAAQmmB,IAAK,CAC/C,GAAI8Q,GAAWF,EAAkB/8B,KAAKw8B,WAAWrQ,EACjD,IAAI8Q,GAAYL,EAAkB,CAChCI,GAAgB,EAChBF,EAAe3Q,CACf,QAGJ,GAAqB,GAAjB6Q,EACF,MAGJh9B,KAAKm8B,UAAYW,EACjB98B,KAAKuE,MAAQw4B,EACb/8B,KAAK0oB,KAAOqU,EAAkB/8B,KAAKw8B,WAAWM,IAShDl7B,EAAS6R,UAAUipB,SAAW,SAASV,GACjBn1B,SAAhBm1B,IACFA,KAGF,IAAIkB,GAAgCr2B,SAApBm1B,EAAY73B,IAAoBnE,KAAKyzB,OAAuB,EAAbzzB,KAAKuE,MAAYvE,KAAKw8B,WAAWx8B,KAAKm8B,WAAcH,EAAY73B,IAC3Hg5B,EAA8Bt2B,SAApBm1B,EAAY53B,IAAoBpE,KAAK0zB,KAAQ1zB,KAAKuE,MAAQvE,KAAKw8B,WAAWx8B,KAAKm8B,WAAcH,EAAY53B,GAEvHpE,MAAKq8B,UAAgCx1B,SAApBm1B,EAAY53B,IAAoBpE,KAAKo9B,aAAaD,GAAWnB,EAAY53B,IAC1FpE,KAAKo8B,YAAkCv1B,SAApBm1B,EAAY73B,IAAoBnE,KAAKo9B,aAAaF,GAAalB,EAAY73B,IAGvE,GAAnBnE,KAAKi8B,aAAuBj8B,KAAKq8B,UAAYr8B,KAAKo8B,aAAep8B,KAAK0oB,MAAQ,IAChF1oB,KAAKq8B,WAAar8B,KAAKq8B,UAAYr8B,KAAK0oB,MAG1C1oB,KAAKs8B,UAAYt8B,KAAKo9B,aAAaD,GAAWA,EAAUn9B,KAAKo9B,aAAaF,GAAaA,EACvFl9B,KAAKq9B,YAAcr9B,KAAKq8B,UAAYr8B,KAAKo8B,YAGzCp8B,KAAKw6B,QAAUx6B,KAAKq8B,WAGtBz6B,EAAS6R,UAAU2pB,aAAe,SAAS94B,GACzC,GAAIg5B,GAAUh5B,EAASA,GAAStE,KAAKuE,MAAQvE,KAAKw8B,WAAWx8B,KAAKm8B,WAClE,OAAI73B,IAAStE,KAAKuE,MAAQvE,KAAKw8B,WAAWx8B,KAAKm8B,YAAc,GAAOn8B,KAAKuE,MAAQvE,KAAKw8B,WAAWx8B,KAAKm8B,WAC7FmB,EAAWt9B,KAAKuE,MAAQvE,KAAKw8B,WAAWx8B,KAAKm8B,WAG7CmB,GASX17B,EAAS6R,UAAU8pB,QAAU,WAC3B,MAAQv9B,MAAKw6B,SAAWx6B,KAAKo8B,aAM/Bx6B,EAAS6R,UAAUmV,KAAO,WACxB,GAAIuJ,GAAOnyB,KAAKw6B,OAChBx6B,MAAKw6B,SAAWx6B,KAAK0oB,KAGjB1oB,KAAKw6B,SAAWrI,IAClBnyB,KAAKw6B,QAAUx6B,KAAK0zB,OAOxB9xB,EAAS6R,UAAU+pB,SAAW,WAC5Bx9B,KAAKw6B,SAAWx6B,KAAK0oB,KACrB1oB,KAAKq8B,WAAar8B,KAAK0oB,KACvB1oB,KAAKq9B,YAAcr9B,KAAKq8B,UAAYr8B,KAAKo8B,aAS3Cx6B,EAAS6R,UAAUkV,WAAa,SAAS8U,GAEvC,GAAIjD,GAAWh2B,KAAK4mB,IAAIprB,KAAKw6B,SAAWx6B,KAAK0oB,KAAO,EAAK,EAAI1oB,KAAKw6B,QAC9DhG,EAAc,GAAKvwB,OAAOu2B,GAAShG,YAAY,EAGnD,IAAgB3tB,SAAb42B,GAA2Bz4B,MAAMf,OAAOw5B,KAqCzC,GAAgC,IAA5BjJ,EAAYxtB,QAAQ,MAA0C,IAA5BwtB,EAAYxtB,QAAQ,KAExD,IAAK,GAAInB,GAAI2uB,EAAYxuB,OAAS,EAAGH,EAAI,EAAGA,IAAK,CAC/C,GAAsB,KAAlB2uB,EAAY3uB,GAGX,CAAA,GAAsB,KAAlB2uB,EAAY3uB,IAA+B,KAAlB2uB,EAAY3uB,GAAW,CACvD2uB,EAAcA,EAAY5oB,MAAM,EAAG/F,EACnC,OAGA,MAPA2uB,EAAcA,EAAY5oB,MAAM,EAAG/F,QAzCY,CAErD,GAAI63B,GAAM,GACNh1B,EAAQ8rB,EAAYxtB,QAAQ,IAoBhC,IAnBY,IAAT0B,IAEDg1B,EAAMlJ,EAAY5oB,MAAMlD,GAExB8rB,EAAcA,EAAY5oB,MAAM,EAAGlD,IAErCA,EAAQlE,KAAKJ,IAAIowB,EAAYxtB,QAAQ,KAAMwtB,EAAYxtB,QAAQ,MAClD,KAAV0B,GAEe,IAAb+0B,IACDjJ,GAAe,KAGjB9rB,EAAQ8rB,EAAYxuB,OAASy3B,GAEV,IAAbA,IAEN/0B,GAAS+0B,EAAW,GAEnB/0B,EAAQ8rB,EAAYxuB,OAErB,IAAI,GAAI23B,GAAMj1B,EAAQ8rB,EAAYxuB,OAAQ23B,EAAM,EAAGA,IACjDnJ,GAAe,QAKjBA,GAAcA,EAAY5oB,MAAM,EAAGlD,EAGrC8rB,IAAekJ,EAoBjB,MAAOlJ,IAQT5yB,EAAS6R,UAAUmqB,QAAU,WAC3B,MAAQ59B,MAAKw6B,SAAWx6B,KAAKuE,MAAQvE,KAAKu8B,WAAWv8B,KAAKm8B,aAAe,GAG3Et8B,EAAOD,QAAUgC,GAKb,SAAS/B,EAAQD,EAASM,GAgB9B,QAAS2B,GAAMqzB,EAAMnmB,GACnB,GAAI8uB,GAAMh6B,IAASi6B,MAAM,GAAGC,QAAQ,GAAGC,QAAQ,GAAGC,aAAa,EAC/Dj+B,MAAKkQ,MAAQ2tB,EAAI/E,QAAQvlB,IAAI,GAAI,QAAQlM,UACzCrH,KAAKmQ,IAAM0tB,EAAI/E,QAAQvlB,IAAI,EAAG,QAAQlM,UAEtCrH,KAAKk1B,KAAOA,EACZl1B,KAAKk+B,gBAAkB,EACvBl+B,KAAKm+B,YAAc,EACnBn+B,KAAK65B,cAAe,EACpB75B,KAAK85B,YAAa,EAGlB95B,KAAK40B,gBACH1kB,MAAO,KACPC,IAAK,KACLyrB,UAAW,aACXwC,UAAU,EACVC,UAAU,EACVl6B,IAAK,KACLC,IAAK,KACLk6B,QAAS,GACTC,QAAS,UAEXv+B,KAAK+O,QAAUpO,EAAKgF,UAAW3F,KAAK40B,gBAEpC50B,KAAKqG,OACHm4B,UAEFx+B,KAAKy+B,aAAe,KAGpBz+B,KAAKk1B,KAAKE,QAAQvhB,GAAG,YAAa7T,KAAK0+B,aAAarJ,KAAKr1B,OACzDA,KAAKk1B,KAAKE,QAAQvhB,GAAG,OAAa7T,KAAK2+B,QAAQtJ,KAAKr1B,OACpDA,KAAKk1B,KAAKE,QAAQvhB,GAAG,UAAa7T,KAAK4+B,WAAWvJ,KAAKr1B,OAGvDA,KAAKk1B,KAAKE,QAAQvhB,GAAG,OAAQ7T,KAAK6+B,QAAQxJ,KAAKr1B,OAG/CA,KAAKk1B,KAAKE,QAAQvhB,GAAG,aAAmB7T,KAAK8+B,cAAczJ,KAAKr1B,OAChEA,KAAKk1B,KAAKE,QAAQvhB,GAAG,iBAAmB7T,KAAK8+B,cAAczJ,KAAKr1B,OAGhEA,KAAKk1B,KAAKE,QAAQvhB,GAAG,QAAS7T,KAAK++B,SAAS1J,KAAKr1B,OACjDA,KAAKk1B,KAAKE,QAAQvhB,GAAG,QAAS7T,KAAKg/B,SAAS3J,KAAKr1B,OAEjDA,KAAKwT,WAAWzE,GAsClB,QAASkwB,GAAmBrD,GAC1B,GAAiB,cAAbA,GAA0C,YAAbA,EAC/B,KAAM,IAAIl1B,WAAU,sBAAwBk1B,EAAY,yCAif5D,QAASsD,GAAYV,EAAOr1B,GAC1B,OACEkJ,EAAGmsB,EAAMW,MAAQx+B,EAAK+G,gBAAgByB,GACtCmJ,EAAGksB,EAAMY,MAAQz+B,EAAKqH,eAAemB,IAxlBzC,GAAIxI,GAAOT,EAAoB,GAC3Bm/B,EAAan/B,EAAoB,IACjC2D,EAAS3D,EAAoB,IAC7BqC,EAAYrC,EAAoB,IAChCyB,EAAWzB,EAAoB,GA2DnC2B,GAAM4R,UAAY,GAAIlR,GAkBtBV,EAAM4R,UAAUD,WAAa,SAAUzE,GACrC,GAAIA,EAAS,CAEX,GAAIP,IAAU,YAAa,MAAO,MAAO,UAAW,UAAW,WAAY,WAAY,WAAY,cACnG7N,GAAKyF,gBAAgBoI,EAAQxO,KAAK+O,QAASA,IAEvC,SAAWA,IAAW,OAASA,KAEjC/O,KAAK8zB,SAAS/kB,EAAQmB,MAAOnB,EAAQoB,OA4B3CtO,EAAM4R,UAAUqgB,SAAW,SAAS5jB,EAAOC,EAAK+mB,EAASoI,GACnDA,KAAW,IACbA,GAAS,EAEX,IAAI7L,GAAkB5sB,QAATqJ,EAAqBvP,EAAKuG,QAAQgJ,EAAO,QAAQ7I,UAAY,KACtEqsB,EAAgB7sB,QAAPsJ,EAAqBxP,EAAKuG,QAAQiJ,EAAK,QAAQ9I,UAAc,IAG1E,IAFArH,KAAKu/B,mBAEDrI,EAAS,CACX,GAAIziB,GAAKzU,KACLw/B,EAAYx/B,KAAKkQ,MACjBuvB,EAAUz/B,KAAKmQ,IACfC,EAA8B,gBAAZ8mB,GAAuBA,EAAU,IACnDwI,GAAW,GAAI96B,OAAOyC,UACtBs4B,GAAa,EAEb/W,EAAO,WACT,IAAKnU,EAAGpO,MAAMm4B,MAAMoB,SAAU,CAC5B,GAAI/B,IAAM,GAAIj5B,OAAOyC,UACjBwzB,EAAOgD,EAAM6B,EACbG,EAAOhF,EAAOzqB,EACdhE,EAAKyzB,GAAmB,OAAXpM,EAAmBA,EAAS9yB,EAAKsP,cAAc4qB,EAAM2E,EAAW/L,EAAQrjB,GACrFonB,EAAKqI,GAAiB,OAATnM,EAAmBA,EAAS/yB,EAAKsP,cAAc4qB,EAAM4E,EAAS/L,EAAMtjB,EAErF0vB,GAAUrrB,EAAGslB,YAAY3tB,EAAGorB,GAC5B71B,EAAS22B,kBAAkB7jB,EAAGygB,KAAMzgB,EAAG1F,QAAQumB,aAC/CqK,EAAaA,GAAcG,EACvBA,GACFrrB,EAAGygB,KAAKE,QAAQjH,KAAK,eAAgBje,MAAO,GAAItL,MAAK6P,EAAGvE,OAAQC,IAAK,GAAIvL,MAAK6P,EAAGtE,KAAMmvB,OAAOA,IAG5FO,EACEF,GACFlrB,EAAGygB,KAAKE,QAAQjH,KAAK,gBAAiBje,MAAO,GAAItL,MAAK6P,EAAGvE,OAAQC,IAAK,GAAIvL,MAAK6P,EAAGtE,KAAMmvB,OAAOA,IAMjG7qB,EAAGgqB,aAAe3kB,WAAW8O,EAAM,KAKzC,OAAOA,KAGP,GAAIkX,GAAU9/B,KAAK+5B,YAAYtG,EAAQC,EAEvC,IADA/xB,EAAS22B,kBAAkBt4B,KAAKk1B,KAAMl1B,KAAK+O,QAAQumB,aAC/CwK,EAAS,CACX,GAAI1rB,IAAUlE,MAAO,GAAItL,MAAK5E,KAAKkQ,OAAQC,IAAK,GAAIvL,MAAK5E,KAAKmQ,KAAMmvB,OAAOA,EAC3Et/B,MAAKk1B,KAAKE,QAAQjH,KAAK,cAAe/Z,GACtCpU,KAAKk1B,KAAKE,QAAQjH,KAAK,eAAgB/Z,KAS7CvS,EAAM4R,UAAU8rB,iBAAmB,WAC7Bv/B,KAAKy+B,eACP5kB,aAAa7Z,KAAKy+B,cAClBz+B,KAAKy+B,aAAe,OAaxB58B,EAAM4R,UAAUsmB,YAAc,SAAS7pB,EAAOC,GAC5C,GAIIyc,GAJAmT,EAAqB,MAAT7vB,EAAiBvP,EAAKuG,QAAQgJ,EAAO,QAAQ7I,UAAYrH,KAAKkQ,MAC1E8vB,EAAmB,MAAP7vB,EAAiBxP,EAAKuG,QAAQiJ,EAAK,QAAQ9I,UAAcrH,KAAKmQ,IAC1E/L,EAA2B,MAApBpE,KAAK+O,QAAQ3K,IAAezD,EAAKuG,QAAQlH,KAAK+O,QAAQ3K,IAAK,QAAQiD,UAAY,KACtFlD,EAA2B,MAApBnE,KAAK+O,QAAQ5K,IAAexD,EAAKuG,QAAQlH,KAAK+O,QAAQ5K,IAAK,QAAQkD,UAAY,IAI1F,IAAIrC,MAAM+6B,IAA0B,OAAbA,EACrB,KAAM,IAAIn8B,OAAM,kBAAoBsM,EAAQ,IAE9C,IAAIlL,MAAMg7B,IAAsB,OAAXA,EACnB,KAAM,IAAIp8B,OAAM,gBAAkBuM,EAAM,IAyC1C,IArCa4vB,EAATC,IACFA,EAASD,GAIC,OAAR57B,GACaA,EAAX47B,IACFnT,EAAQzoB,EAAM47B,EACdA,GAAYnT,EACZoT,GAAUpT,EAGC,MAAPxoB,GACE47B,EAAS57B,IACX47B,EAAS57B,IAOL,OAARA,GACE47B,EAAS57B,IACXwoB,EAAQoT,EAAS57B,EACjB27B,GAAYnT,EACZoT,GAAUpT,EAGC,MAAPzoB,GACaA,EAAX47B,IACFA,EAAW57B,IAOU,OAAzBnE,KAAK+O,QAAQuvB,QAAkB,CACjC,GAAIA,GAAU1Y,WAAW5lB,KAAK+O,QAAQuvB,QACxB,GAAVA,IACFA,EAAU,GAEcA,EAArB0B,EAASD,IACP//B,KAAKmQ,IAAMnQ,KAAKkQ,QAAWouB,GAAWyB,EAAW//B,KAAKkQ,OAAS8vB,EAAShgC,KAAKmQ,KAEhF4vB,EAAW//B,KAAKkQ,MAChB8vB,EAAShgC,KAAKmQ,MAIdyc,EAAQ0R,GAAW0B,EAASD,GAC5BA,GAAYnT,EAAO,EACnBoT,GAAUpT,EAAO,IAMvB,GAA6B,OAAzB5sB,KAAK+O,QAAQwvB,QAAkB,CACjC,GAAIA,GAAU3Y,WAAW5lB,KAAK+O,QAAQwvB,QACxB,GAAVA,IACFA,EAAU,GAGPyB,EAASD,EAAYxB,IACnBv+B,KAAKmQ,IAAMnQ,KAAKkQ,QAAWquB,GAAWwB,EAAW//B,KAAKkQ,OAAS8vB,EAAShgC,KAAKmQ,KAEhF4vB,EAAW//B,KAAKkQ,MAChB8vB,EAAShgC,KAAKmQ,MAIdyc,EAASoT,EAASD,EAAYxB,EAC9BwB,GAAYnT,EAAO,EACnBoT,GAAUpT,EAAO,IAKvB,GAAIkT,GAAW9/B,KAAKkQ,OAAS6vB,GAAY//B,KAAKmQ,KAAO6vB,CAUrD,OAPOD,IAAY//B,KAAKkQ,OAAS6vB,GAAc//B,KAAKmQ,KAAS6vB,GAAYhgC,KAAKkQ,OAAS8vB,GAAYhgC,KAAKmQ,KACjGnQ,KAAKkQ,OAAS6vB,GAAY//B,KAAKkQ,OAAS8vB,GAAchgC,KAAKmQ,KAAO4vB,GAAc//B,KAAKmQ,KAAO6vB,GACjGhgC,KAAKk1B,KAAKE,QAAQjH,KAAK,oBAGzBnuB,KAAKkQ,MAAQ6vB,EACb//B,KAAKmQ,IAAM6vB,EACJF,GAOTj+B,EAAM4R,UAAUwsB,SAAW,WACzB,OACE/vB,MAAOlQ,KAAKkQ,MACZC,IAAKnQ,KAAKmQ,MAUdtO,EAAM4R,UAAUqnB,WAAa,SAAUjoB,EAAOqtB,GAC5C,MAAOr+B,GAAMi5B,WAAW96B,KAAKkQ,MAAOlQ,KAAKmQ,IAAK0C,EAAOqtB,IAWvDr+B,EAAMi5B,WAAa,SAAU5qB,EAAOC,EAAK0C,EAAOqtB,GAI9C,MAHoBr5B,UAAhBq5B,IACFA,EAAc,GAEH,GAATrtB,GAAe1C,EAAMD,GAAS,GAE9Bga,OAAQha,EACR3L,MAAOsO,GAAS1C,EAAMD,EAAQgwB,KAK9BhW,OAAQ,EACR3lB,MAAO,IAUb1C,EAAM4R,UAAUirB,aAAe,WAC7B1+B,KAAKk+B,gBAAkB,EACvBl+B,KAAKmgC,cAAgB,EAEhBngC,KAAK+O,QAAQqvB,UAIbp+B,KAAKqG,MAAMm4B,MAAM4B,gBAEtBpgC,KAAKqG,MAAMm4B,MAAMtuB,MAAQlQ,KAAKkQ,MAC9BlQ,KAAKqG,MAAMm4B,MAAMruB,IAAMnQ,KAAKmQ,IAC5BnQ,KAAKqG,MAAMm4B,MAAMoB,UAAW,EAExB5/B,KAAKk1B,KAAK5E,IAAI5wB,OAChBM,KAAKk1B,KAAK5E,IAAI5wB,KAAK6N,MAAMggB,OAAS,UAStC1rB,EAAM4R,UAAUkrB,QAAU,SAAU90B,GAElC,GAAK7J,KAAK+O,QAAQqvB,UAGbp+B,KAAKqG,MAAMm4B,MAAM4B,cAAtB,CAEA,GAAIxE,GAAY57B,KAAK+O,QAAQ6sB,SAC7BqD,GAAkBrD,EAElB,IAAI5M,GAAsB,cAAb4M,EAA6B/xB,EAAMw2B,QAAQC,OAASz2B,EAAMw2B,QAAQE,MAC/EvR,IAAShvB,KAAKk+B,eACd,IAAInL,GAAY/yB,KAAKqG,MAAMm4B,MAAMruB,IAAMnQ,KAAKqG,MAAMm4B,MAAMtuB,MAGpDE,EAAWzO,EAASo5B,yBAAyB/6B,KAAKk1B,KAAKI,YAAat1B,KAAKkQ,MAAOlQ,KAAKmQ,IACzF4iB,IAAY3iB,CAEZ,IAAIyC,GAAsB,cAAb+oB,EAA6B57B,KAAKk1B,KAAKC,SAAS1I,OAAO5Z,MAAQ7S,KAAKk1B,KAAKC,SAAS1I,OAAO3Z,OAClG0tB,GAAaxR,EAAQnc,EAAQkgB,EAC7BgN,EAAW//B,KAAKqG,MAAMm4B,MAAMtuB,MAAQswB,EACpCR,EAAShgC,KAAKqG,MAAMm4B,MAAMruB,IAAMqwB,EAIhCC,EAAY9+B,EAASg6B,mBAAmB37B,KAAKk1B,KAAKI,YAAayK,EAAU//B,KAAKmgC,cAAcnR,GAAO,GACnG0R,EAAU/+B,EAASg6B,mBAAmB37B,KAAKk1B,KAAKI,YAAa0K,EAAQhgC,KAAKmgC,cAAcnR,GAAO,EACnG,IAAIyR,GAAaV,GAAYW,GAAWV,EAKtC,MAJAhgC,MAAKk+B,iBAAmBlP,EACxBhvB,KAAKqG,MAAMm4B,MAAMtuB,MAAQuwB,EACzBzgC,KAAKqG,MAAMm4B,MAAMruB,IAAMuwB,MACvB1gC,MAAK2+B,QAAQ90B,EAIf7J,MAAKmgC,cAAgBnR,EACrBhvB,KAAK+5B,YAAYgG,EAAUC,GAG3BhgC,KAAKk1B,KAAKE,QAAQjH,KAAK,eACrBje,MAAO,GAAItL,MAAK5E,KAAKkQ,OACrBC,IAAO,GAAIvL,MAAK5E,KAAKmQ,KACrBmvB,QAAQ,MASZz9B,EAAM4R,UAAUmrB,WAAa,WAEtB5+B,KAAK+O,QAAQqvB,UAIbp+B,KAAKqG,MAAMm4B,MAAM4B,gBAEtBpgC,KAAKqG,MAAMm4B,MAAMoB,UAAW,EACxB5/B,KAAKk1B,KAAK5E,IAAI5wB,OAChBM,KAAKk1B,KAAK5E,IAAI5wB,KAAK6N,MAAMggB,OAAS,QAIpCvtB,KAAKk1B,KAAKE,QAAQjH,KAAK,gBACrBje,MAAO,GAAItL,MAAK5E,KAAKkQ,OACrBC,IAAO,GAAIvL,MAAK5E,KAAKmQ,KACrBmvB,QAAQ,MAUZz9B,EAAM4R,UAAUqrB,cAAgB,SAASj1B,GAEvC,GAAM7J,KAAK+O,QAAQsvB,UAAYr+B,KAAK+O,QAAQqvB,SAA5C,CAGA,GAAIpP,GAAQ,CAYZ,IAXInlB,EAAMolB,WACRD,EAAQnlB,EAAMolB,WAAa,IAClBplB,EAAMqlB,SAGfF,GAASnlB,EAAMqlB,OAAS,GAMtBF,EAAO,CAKT,GAAIzqB,EAEFA,GADU,EAARyqB,EACM,EAAKA,EAAQ,EAGb,GAAK,EAAKA,EAAQ,EAI5B,IAAIqR,GAAUhB,EAAWsB,YAAY3gC,KAAM6J,GACvC+2B,EAAU1B,EAAWmB,EAAQ5T,OAAQzsB,KAAKk1B,KAAK5E,IAAI7D,QACnDoU,EAAc7gC,KAAK8gC,eAAeF,EAEtC5gC,MAAK+gC,KAAKx8B,EAAOs8B,EAAa7R,GAKhCnlB,EAAMD,mBAOR/H,EAAM4R,UAAUsrB,SAAW,WACzB/+B,KAAKqG,MAAMm4B,MAAMtuB,MAAQlQ,KAAKkQ,MAC9BlQ,KAAKqG,MAAMm4B,MAAMruB,IAAMnQ,KAAKmQ,IAC5BnQ,KAAKqG,MAAMm4B,MAAM4B,eAAgB,EACjCpgC,KAAKqG,MAAMm4B,MAAM/R,OAAS,KAC1BzsB,KAAKm+B,YAAc,EACnBn+B,KAAKk+B,gBAAkB,GAOzBr8B,EAAM4R,UAAUorB,QAAU,WACxB7+B,KAAKqG,MAAMm4B,MAAM4B,eAAgB,GAQnCv+B,EAAM4R,UAAUurB,SAAW,SAAUn1B,GAEnC,GAAM7J,KAAK+O,QAAQsvB,UAAYr+B,KAAK+O,QAAQqvB,WAE5Cp+B,KAAKqG,MAAMm4B,MAAM4B,eAAgB,EAE7Bv2B,EAAMw2B,QAAQW,QAAQh7B,OAAS,GAAG,CAC/BhG,KAAKqG,MAAMm4B,MAAM/R,SACpBzsB,KAAKqG,MAAMm4B,MAAM/R,OAASyS,EAAWr1B,EAAMw2B,QAAQ5T,OAAQzsB,KAAKk1B,KAAK5E,IAAI7D,QAG3E,IAAIloB,GAAQ,GAAKsF,EAAMw2B,QAAQ97B,MAAQvE,KAAKm+B,aACxC8C,EAAajhC,KAAK8gC,eAAe9gC,KAAKqG,MAAMm4B,MAAM/R,QAElDwO,EAAiBt5B,EAASo5B,yBAAyB/6B,KAAKk1B,KAAKI,YAAat1B,KAAKkQ,MAAOlQ,KAAKmQ,KAC3F+wB,EAAuBv/B,EAAS45B,wBAAwBv7B,KAAKk1B,KAAKI,YAAat1B,KAAMihC,GACrFE,EAAsBlG,EAAiBiG,EAGvCnB,EAAYkB,EAAaC,GAAyBlhC,KAAKqG,MAAMm4B,MAAMtuB,OAAS+wB,EAAaC,IAAyB38B,EAClHy7B,EAAUiB,EAAaE,GAAwBnhC,KAAKqG,MAAMm4B,MAAMruB,KAAO8wB,EAAaE,IAAwB58B,CAGhHvE,MAAK65B,aAAe,EAAIt1B,EAAQ,GAAI,GAAQ,EAC5CvE,KAAK85B,WAAav1B,EAAQ,EAAI,GAAI,GAAQ,CAE1C,IAAIk8B,GAAY9+B,EAASg6B,mBAAmB37B,KAAKk1B,KAAKI,YAAayK,EAAU,EAAIx7B,GAAO,GACpFm8B,EAAU/+B,EAASg6B,mBAAmB37B,KAAKk1B,KAAKI,YAAa0K,EAAQz7B,EAAQ,GAAG,IAChFk8B,GAAaV,GAAYW,GAAWV,KACtChgC,KAAKqG,MAAMm4B,MAAMtuB,MAAQuwB,EACzBzgC,KAAKqG,MAAMm4B,MAAMruB,IAAMuwB,EACvB1gC,KAAKm+B,YAAc,EAAIt0B,EAAMw2B,QAAQ97B,MACrCw7B,EAAWU,EACXT,EAASU,GAGX1gC,KAAK8zB,SAASiM,EAAUC,GAAQ,GAAO,GAEvChgC,KAAK65B,cAAe,EACpB75B,KAAK85B,YAAa,IAUtBj4B,EAAM4R,UAAUqtB,eAAiB,SAAUF,GACzC,GAAI9F,GACAc,EAAY57B,KAAK+O,QAAQ6sB,SAI7B,IAFAqD,EAAkBrD,GAED,cAAbA,EACF,MAAO57B,MAAKk1B,KAAKv0B,KAAKk1B,OAAO+K,EAAQvuB,GAAGhL,SAGxC,IAAIyL,GAAS9S,KAAKk1B,KAAKC,SAAS1I,OAAO3Z,MAEvC,OADAgoB,GAAa96B,KAAK86B,WAAWhoB,GACtB8tB,EAAQtuB,EAAIwoB,EAAWv2B,MAAQu2B,EAAW5Q,QA4BrDroB,EAAM4R,UAAUstB,KAAO,SAASx8B,EAAOkoB,EAAQuC,GAE/B,MAAVvC,IACFA,GAAUzsB,KAAKkQ,MAAQlQ,KAAKmQ,KAAO,EAGrC,IAAI8qB,GAAiBt5B,EAASo5B,yBAAyB/6B,KAAKk1B,KAAKI,YAAat1B,KAAKkQ,MAAOlQ,KAAKmQ,KAC3F+wB,EAAuBv/B,EAAS45B,wBAAwBv7B,KAAKk1B,KAAKI,YAAat1B,KAAMysB,GACrF0U,EAAsBlG,EAAiBiG,EAGvCnB,EAAYtT,EAAOyU,GAAyBlhC,KAAKkQ,OAASuc,EAAOyU,IAAyB38B,EAC1Fy7B,EAAYvT,EAAO0U,GAAwBnhC,KAAKmQ,KAAOsc,EAAO0U,IAAwB58B,CAG1FvE,MAAK65B,aAAe7K,EAAQ,GAAI,GAAQ,EACxChvB,KAAK85B,YAAc9K,EAAS,GAAI,GAAQ,CACxC,IAAIyR,GAAY9+B,EAASg6B,mBAAmB37B,KAAKk1B,KAAKI,YAAayK,EAAU/Q,GAAO,GAChF0R,EAAU/+B,EAASg6B,mBAAmB37B,KAAKk1B,KAAKI,YAAa0K,GAAShR,GAAO,IAC7EyR,GAAaV,GAAYW,GAAWV,KACtCD,EAAWU,EACXT,EAASU,GAGX1gC,KAAK8zB,SAASiM,EAAUC,GAAQ,GAAO,GAEvChgC,KAAK65B,cAAe,EACpB75B,KAAK85B,YAAa,GAWpBj4B,EAAM4R,UAAU2tB,KAAO,SAASpS,GAE9B,GAAIpC,GAAQ5sB,KAAKmQ,IAAMnQ,KAAKkQ,MAGxB6vB,EAAW//B,KAAKkQ,MAAQ0c,EAAOoC,EAC/BgR,EAAShgC,KAAKmQ,IAAMyc,EAAOoC,CAI/BhvB,MAAKkQ,MAAQ6vB,EACb//B,KAAKmQ,IAAM6vB,GAObn+B,EAAM4R,UAAU2U,OAAS,SAASA,GAChC,GAAIqE,IAAUzsB,KAAKkQ,MAAQlQ,KAAKmQ,KAAO,EAEnCyc,EAAOH,EAASrE,EAGhB2X,EAAW//B,KAAKkQ,MAAQ0c,EACxBoT,EAAShgC,KAAKmQ,IAAMyc,CAExB5sB,MAAK8zB,SAASiM,EAAUC,IAG1BngC,EAAOD,QAAUiC,GAKb,SAAShC,EAAQD,GAGrB,GAAIyhC,GAAU,IAMdzhC,GAAQ0hC,aAAe,SAASr/B,GAC9BA,EAAMuU,KAAK,SAAU5Q,EAAGa,GACtB,MAAOb,GAAEoN,KAAK9C,MAAQzJ,EAAEuM,KAAK9C,SASjCtQ,EAAQ2hC,WAAa,SAASt/B,GAC5BA,EAAMuU,KAAK,SAAU5Q,EAAGa,GACtB,GAAI+6B,GAAS,OAAS57B,GAAEoN,KAAQpN,EAAEoN,KAAK7C,IAAMvK,EAAEoN,KAAK9C,MAChDuxB,EAAS,OAASh7B,GAAEuM,KAAQvM,EAAEuM,KAAK7C,IAAM1J,EAAEuM,KAAK9C,KAEpD,OAAOsxB,GAAQC,KAenB7hC,EAAQkC,MAAQ,SAASG,EAAOiY,EAAQwnB,GACtC,GAAI77B,GAAG87B,CAEP,IAAID,EAEF,IAAK77B,EAAI,EAAG87B,EAAO1/B,EAAM+D,OAAY27B,EAAJ97B,EAAUA,IACzC5D,EAAM4D,GAAGoC,IAAM,IAKnB,KAAKpC,EAAI,EAAG87B,EAAO1/B,EAAM+D,OAAY27B,EAAJ97B,EAAUA,IAAK,CAC9C,GAAI8J,GAAO1N,EAAM4D,EACjB,IAAI8J,EAAK7N,OAAsB,OAAb6N,EAAK1H,IAAc,CAEnC0H,EAAK1H,IAAMiS,EAAO0nB,IAElB,GAAG,CAID,IAAK,GADDC,GAAgB,KACX1V,EAAI,EAAG2V,EAAK7/B,EAAM+D,OAAY87B,EAAJ3V,EAAQA,IAAK,CAC9C,GAAIlmB,GAAQhE,EAAMkqB,EAClB,IAAkB,OAAdlmB,EAAMgC,KAAgBhC,IAAU0J,GAAQ1J,EAAMnE,OAASlC,EAAQmiC,UAAUpyB,EAAM1J,EAAOiU,EAAOvK,MAAO,CACtGkyB,EAAgB57B,CAChB,QAIiB,MAAjB47B,IAEFlyB,EAAK1H,IAAM45B,EAAc55B,IAAM45B,EAAc/uB,OAASoH,EAAOvK,KAAKqW,gBAE7D6b,MAafjiC,EAAQoiC,QAAU,SAAS//B,EAAOiY,EAAQ+nB,GACxC,GAAIp8B,GAAG87B,EAAMO,CAGb,KAAKr8B,EAAI,EAAG87B,EAAO1/B,EAAM+D,OAAY27B,EAAJ97B,EAAUA,IACzC,GAA+BgB,SAA3B5E,EAAM4D,GAAGmN,KAAKmvB,SAAwB,CACxCD,EAAShoB,EAAO0nB,IAChB,KAAK,GAAIO,KAAYF,GACfA,EAAU97B,eAAeg8B,IACQ,GAA/BF,EAAUE,GAAUlZ,SAAmBgZ,EAAUE,GAAUz5B,MAAQu5B,EAAUhgC,EAAM4D,GAAGmN,KAAKmvB,UAAUz5B,QACvGw5B,GAAUD,EAAUE,GAAUrvB,OAASoH,EAAOvK,KAAKqW,SAIzD/jB,GAAM4D,GAAGoC,IAAMi6B,MAGfjgC,GAAM4D,GAAGoC,IAAMiS,EAAO0nB,MAe5BhiC,EAAQmiC,UAAY,SAASn8B,EAAGa,EAAGyT,GACjC,MAAStU,GAAEiC,KAAOqS,EAAO6L,WAAasb,EAAkB56B,EAAEoB,KAAOpB,EAAEoM,OAC9DjN,EAAEiC,KAAOjC,EAAEiN,MAAQqH,EAAO6L,WAAasb,EAAW56B,EAAEoB,MACpDjC,EAAEqC,IAAMiS,EAAO8L,SAAWqb,EAAyB56B,EAAEwB,IAAMxB,EAAEqM,QAC7DlN,EAAEqC,IAAMrC,EAAEkN,OAASoH,EAAO8L,SAAWqb,EAAa56B,EAAEwB,MAMvD,SAASpI,EAAQD,EAASM,GAgC9B,QAAS6B,GAASmO,EAAOC,EAAK2rB,EAAaxG,GAEzCt1B,KAAKw6B,QAAU,GAAI51B,MACnB5E,KAAKyzB,OAAS,GAAI7uB,MAClB5E,KAAK0zB,KAAO,GAAI9uB,MAEhB5E,KAAKk8B,WAAa,EAClBl8B,KAAKuE,MAAQ,MACbvE,KAAK0oB,KAAO,EAGZ1oB,KAAK8zB,SAAS5jB,EAAOC,EAAK2rB,GAG1B97B,KAAK46B,aAAc,EACnB56B,KAAK26B,eAAgB,EACrB36B,KAAK06B,cAAe,EACpB16B,KAAKs1B,YAAcA,EACCzuB,SAAhByuB,IACFt1B,KAAKs1B,gBAGPt1B,KAAKoiC,OAASrgC,EAASsgC,OApDzB,GAAIx+B,GAAS3D,EAAoB,IAC7ByB,EAAWzB,EAAoB,IAC/BS,EAAOT,EAAoB,EAsD/B6B,GAASsgC,QACPC,aACEC,YAAY,MACZC,OAAY,IACZC,OAAY,QACZC,KAAY,QACZC,QAAY,QACZ5J,IAAY,IACZK,MAAY,MACZH,KAAY,QAEd2J,aACEL,YAAY,WACZC,OAAY,eACZC,OAAY,aACZC,KAAY,aACZC,QAAY,YACZ5J,IAAY,YACZK,MAAY,OACZH,KAAY,KAUhBl3B,EAAS0R,UAAUovB,UAAY,SAAUT,GACvC,GAAIU,GAAgBniC,EAAKmG,cAAe/E,EAASsgC,OACjDriC,MAAKoiC,OAASzhC,EAAKmG,WAAWg8B,EAAeV,IAa/CrgC,EAAS0R,UAAUqgB,SAAW,SAAS5jB,EAAOC,EAAK2rB,GACjD,KAAM5rB,YAAiBtL,OAAWuL,YAAevL,OAC/C,KAAO,+CAGT5E,MAAKyzB,OAAmB5sB,QAATqJ,EAAsB,GAAItL,MAAKsL,EAAM7I,WAAa,GAAIzC,MACrE5E,KAAK0zB,KAAe7sB,QAAPsJ,EAAoB,GAAIvL,MAAKuL,EAAI9I,WAAa,GAAIzC,MAE3D5E,KAAKk8B,WACPl8B,KAAKy8B,eAAeX,IAOxB/5B,EAAS0R,UAAUsvB,MAAQ,WACzB/iC,KAAKw6B,QAAU,GAAI51B,MAAK5E,KAAKyzB,OAAOpsB,WACpCrH,KAAKo9B,gBAOPr7B,EAAS0R,UAAU2pB,aAAe,WAIhC,OAAQp9B,KAAKuE,OACX,IAAK,OACHvE,KAAKw6B,QAAQwI,YAAYhjC,KAAK0oB,KAAOlkB,KAAKgB,MAAMxF,KAAKw6B,QAAQyI,cAAgBjjC,KAAK0oB,OAClF1oB,KAAKw6B,QAAQ0I,SAAS,EACxB,KAAK,QAAgBljC,KAAKw6B,QAAQ2I,QAAQ,EAC1C,KAAK,MACL,IAAK,UAAgBnjC,KAAKw6B,QAAQ4I,SAAS,EAC3C,KAAK,OAAgBpjC,KAAKw6B,QAAQ6I,WAAW,EAC7C,KAAK,SAAgBrjC,KAAKw6B,QAAQ8I,WAAW,EAC7C,KAAK,SAAgBtjC,KAAKw6B,QAAQ+I,gBAAgB,GAIpD,GAAiB,GAAbvjC,KAAK0oB,KAEP,OAAQ1oB,KAAKuE,OACX,IAAK,cAAgBvE,KAAKw6B,QAAQ+I,gBAAgBvjC,KAAKw6B,QAAQgJ,kBAAoBxjC,KAAKw6B,QAAQgJ,kBAAoBxjC,KAAK0oB,KAAQ,MACjI,KAAK,SAAgB1oB,KAAKw6B,QAAQ8I,WAAWtjC,KAAKw6B,QAAQiJ,aAAezjC,KAAKw6B,QAAQiJ,aAAezjC,KAAK0oB,KAAO,MACjH,KAAK,SAAgB1oB,KAAKw6B,QAAQ6I,WAAWrjC,KAAKw6B,QAAQkJ,aAAe1jC,KAAKw6B,QAAQkJ,aAAe1jC,KAAK0oB,KAAO,MACjH,KAAK,OAAgB1oB,KAAKw6B,QAAQ4I,SAASpjC,KAAKw6B,QAAQmJ,WAAa3jC,KAAKw6B,QAAQmJ,WAAa3jC,KAAK0oB,KAAO,MAC3G,KAAK,UACL,IAAK,MAAgB1oB,KAAKw6B,QAAQ2I,QAASnjC,KAAKw6B,QAAQoJ,UAAU,GAAM5jC,KAAKw6B,QAAQoJ,UAAU,GAAK5jC,KAAK0oB,KAAO,EAAI;KACpH,KAAK,QAAgB1oB,KAAKw6B,QAAQ0I,SAASljC,KAAKw6B,QAAQqJ,WAAa7jC,KAAKw6B,QAAQqJ,WAAa7jC,KAAK0oB,KAAQ,MAC5G,KAAK,OAAgB1oB,KAAKw6B,QAAQwI,YAAYhjC,KAAKw6B,QAAQyI,cAAgBjjC,KAAKw6B,QAAQyI,cAAgBjjC,KAAK0oB,QAUnH3mB,EAAS0R,UAAU8pB,QAAU,WAC3B,MAAQv9B,MAAKw6B,QAAQnzB,WAAarH,KAAK0zB,KAAKrsB,WAM9CtF,EAAS0R,UAAUmV,KAAO,WACxB,GAAIuJ,GAAOnyB,KAAKw6B,QAAQnzB,SAIxB,IAAIrH,KAAKw6B,QAAQqJ,WAAa,EAC5B,OAAQ7jC,KAAKuE,OACX,IAAK,cAEHvE,KAAKw6B,QAAU,GAAI51B,MAAK5E,KAAKw6B,QAAQnzB,UAAYrH,KAAK0oB,KAAO,MAC/D,KAAK,SAAgB1oB,KAAKw6B,QAAU,GAAI51B,MAAK5E,KAAKw6B,QAAQnzB,UAAwB,IAAZrH,KAAK0oB,KAAc,MACzF,KAAK,SAAgB1oB,KAAKw6B,QAAU,GAAI51B,MAAK5E,KAAKw6B,QAAQnzB,UAAwB,IAAZrH,KAAK0oB,KAAc,GAAK,MAC9F,KAAK,OACH1oB,KAAKw6B,QAAU,GAAI51B,MAAK5E,KAAKw6B,QAAQnzB,UAAwB,IAAZrH,KAAK0oB,KAAc,GAAK,GAEzE,IAAIvc,GAAInM,KAAKw6B,QAAQmJ,UACrB3jC,MAAKw6B,QAAQ4I,SAASj3B,EAAKA,EAAInM,KAAK0oB,KACpC,MACF,KAAK,UACL,IAAK,MAAgB1oB,KAAKw6B,QAAQ2I,QAAQnjC,KAAKw6B,QAAQoJ,UAAY5jC,KAAK0oB,KAAO,MAC/E,KAAK,QAAgB1oB,KAAKw6B,QAAQ0I,SAASljC,KAAKw6B,QAAQqJ,WAAa7jC,KAAK0oB,KAAO,MACjF,KAAK,OAAgB1oB,KAAKw6B,QAAQwI,YAAYhjC,KAAKw6B,QAAQyI,cAAgBjjC,KAAK0oB,UAKlF,QAAQ1oB,KAAKuE,OACX,IAAK,cAAgBvE,KAAKw6B,QAAU,GAAI51B,MAAK5E,KAAKw6B,QAAQnzB,UAAYrH,KAAK0oB,KAAO,MAClF,KAAK,SAAgB1oB,KAAKw6B,QAAQ8I,WAAWtjC,KAAKw6B,QAAQiJ,aAAezjC,KAAK0oB,KAAO,MACrF,KAAK,SAAgB1oB,KAAKw6B,QAAQ6I,WAAWrjC,KAAKw6B,QAAQkJ,aAAe1jC,KAAK0oB,KAAO,MACrF,KAAK,OAAgB1oB,KAAKw6B,QAAQ4I,SAASpjC,KAAKw6B,QAAQmJ,WAAa3jC,KAAK0oB,KAAO,MACjF,KAAK,UACL,IAAK,MAAgB1oB,KAAKw6B,QAAQ2I,QAAQnjC,KAAKw6B,QAAQoJ,UAAY5jC,KAAK0oB,KAAO,MAC/E,KAAK,QAAgB1oB,KAAKw6B,QAAQ0I,SAASljC,KAAKw6B,QAAQqJ,WAAa7jC,KAAK0oB,KAAO,MACjF,KAAK,OAAgB1oB,KAAKw6B,QAAQwI,YAAYhjC,KAAKw6B,QAAQyI,cAAgBjjC,KAAK0oB,MAKpF,GAAiB,GAAb1oB,KAAK0oB,KAEP,OAAQ1oB,KAAKuE,OACX,IAAK,cAAmBvE,KAAKw6B,QAAQgJ,kBAAoBxjC,KAAK0oB,MAAM1oB,KAAKw6B,QAAQ+I,gBAAgB,EAAK,MACtG,KAAK,SAAmBvjC,KAAKw6B,QAAQiJ,aAAezjC,KAAK0oB,MAAM1oB,KAAKw6B,QAAQ8I,WAAW,EAAK,MAC5F,KAAK,SAAmBtjC,KAAKw6B,QAAQkJ,aAAe1jC,KAAK0oB,MAAM1oB,KAAKw6B,QAAQ6I,WAAW,EAAK,MAC5F,KAAK,OAAmBrjC,KAAKw6B,QAAQmJ,WAAa3jC,KAAK0oB,MAAM1oB,KAAKw6B,QAAQ4I,SAAS,EAAK,MACxF,KAAK,UACL,IAAK,MAAmBpjC,KAAKw6B,QAAQoJ,UAAY5jC,KAAK0oB,KAAK,GAAG1oB,KAAKw6B,QAAQ2I,QAAQ,EAAI,MACvF,KAAK,QAAmBnjC,KAAKw6B,QAAQqJ,WAAa7jC,KAAK0oB,MAAM1oB,KAAKw6B,QAAQ0I,SAAS,EAAK,MACxF,KAAK,QAMLljC,KAAKw6B,QAAQnzB,WAAa8qB,IAC5BnyB,KAAKw6B,QAAU,GAAI51B,MAAK5E,KAAK0zB,KAAKrsB,YAGpC1F,EAASw4B,oBAAoBn6B,KAAMmyB,IAQrCpwB,EAAS0R,UAAUkV,WAAa,WAC9B,MAAO3oB,MAAKw6B,SAedz4B,EAAS0R,UAAUqwB,SAAW,SAAS1vB,GACjCA,GAAiC,gBAAhBA,GAAO7P,QAC1BvE,KAAKuE,MAAQ6P,EAAO7P,MACpBvE,KAAK0oB,KAAOtU,EAAOsU,KAAO,EAAItU,EAAOsU,KAAO,EAC5C1oB,KAAKk8B,WAAY,IAQrBn6B,EAAS0R,UAAUswB,aAAe,SAAUC,GAC1ChkC,KAAKk8B,UAAY8H,GAQnBjiC,EAAS0R,UAAUgpB,eAAiB,SAASX,GAC3C,GAAmBj1B,QAAfi1B,EAAJ,CAMA,GAAImI,GAAiB,QACjBC,EAAiB,OACjBC,EAAiB,MACjBC,EAAiB,KACjBC,EAAiB,IACjBC,EAAiB,IACjBC,EAAiB,CAGR,KAATN,EAAgBnI,IAAqB97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,KACpE,IAATub,EAAenI,IAAsB97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,KACpE,IAATub,EAAenI,IAAsB97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,KACpE,GAATub,EAAcnI,IAAuB97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,IACpE,GAATub,EAAcnI,IAAuB97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,IACpE,EAATub,EAAanI,IAAwB97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,GAC7Eub,EAAWnI,IAA0B97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,GACnE,EAAVwb,EAAcpI,IAAuB97B,KAAKuE,MAAQ,QAAevE,KAAK0oB,KAAO,GAC7Ewb,EAAYpI,IAAyB97B,KAAKuE,MAAQ,QAAevE,KAAK0oB,KAAO,GACrE,EAARyb,EAAYrI,IAAyB97B,KAAKuE,MAAQ,MAAevE,KAAK0oB,KAAO,GACrE,EAARyb,EAAYrI,IAAyB97B,KAAKuE,MAAQ,MAAevE,KAAK0oB,KAAO,GAC7Eyb,EAAUrI,IAA2B97B,KAAKuE,MAAQ,MAAevE,KAAK0oB,KAAO,GAC7Eyb,EAAQ,EAAIrI,IAAyB97B,KAAKuE,MAAQ,UAAevE,KAAK0oB,KAAO,GACpE,EAAT0b,EAAatI,IAAwB97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,GAC7E0b,EAAWtI,IAA0B97B,KAAKuE,MAAQ,OAAevE,KAAK0oB,KAAO,GAClE,GAAX2b,EAAgBvI,IAAqB97B,KAAKuE,MAAQ,SAAevE,KAAK0oB,KAAO,IAClE,GAAX2b,EAAgBvI,IAAqB97B,KAAKuE,MAAQ,SAAevE,KAAK0oB,KAAO,IAClE,EAAX2b,EAAevI,IAAsB97B,KAAKuE,MAAQ,SAAevE,KAAK0oB,KAAO,GAC7E2b,EAAavI,IAAwB97B,KAAKuE,MAAQ,SAAevE,KAAK0oB,KAAO,GAClE,GAAX4b,EAAgBxI,IAAqB97B,KAAKuE,MAAQ,SAAevE,KAAK0oB,KAAO,IAClE,GAAX4b,EAAgBxI,IAAqB97B,KAAKuE,MAAQ,SAAevE,KAAK0oB,KAAO,IAClE,EAAX4b,EAAexI,IAAsB97B,KAAKuE,MAAQ,SAAevE,KAAK0oB,KAAO,GAC7E4b,EAAaxI,IAAwB97B,KAAKuE,MAAQ,SAAevE,KAAK0oB,KAAO,GAC7D,IAAhB6b,EAAsBzI,IAAe97B,KAAKuE,MAAQ,cAAevE,KAAK0oB,KAAO,KAC7D,IAAhB6b,EAAsBzI,IAAe97B,KAAKuE,MAAQ,cAAevE,KAAK0oB,KAAO,KAC7D,GAAhB6b,EAAqBzI,IAAgB97B,KAAKuE,MAAQ,cAAevE,KAAK0oB,KAAO,IAC7D,GAAhB6b,EAAqBzI,IAAgB97B,KAAKuE,MAAQ,cAAevE,KAAK0oB,KAAO,IAC7D,EAAhB6b,EAAoBzI,IAAiB97B,KAAKuE,MAAQ,cAAevE,KAAK0oB,KAAO,GAC7E6b,EAAkBzI,IAAmB97B,KAAKuE,MAAQ,cAAevE,KAAK0oB,KAAO,KAanF3mB,EAASyiC,KAAO,SAASrL,EAAM50B,EAAOmkB,GACpC,GAAIoQ,GAAQ,GAAIl0B,MAAKu0B,EAAK9xB,UAE1B,IAAa,QAAT9C,EAAiB,CACnB,GAAI00B,GAAOH,EAAMmK,cAAgBz+B,KAAKypB,MAAM6K,EAAM+K,WAAa,GAC/D/K,GAAMkK,YAAYx+B,KAAKypB,MAAMgL,EAAOvQ,GAAQA,GAC5CoQ,EAAMoK,SAAS,GACfpK,EAAMqK,QAAQ,GACdrK,EAAMsK,SAAS,GACftK,EAAMuK,WAAW,GACjBvK,EAAMwK,WAAW,GACjBxK,EAAMyK,gBAAgB,OAEnB,IAAa,SAATh/B,EACHu0B,EAAM8K,UAAY,IACpB9K,EAAMqK,QAAQ,GACdrK,EAAMoK,SAASpK,EAAM+K,WAAa,IAIlC/K,EAAMqK,QAAQ,GAGhBrK,EAAMsK,SAAS,GACftK,EAAMuK,WAAW,GACjBvK,EAAMwK,WAAW,GACjBxK,EAAMyK,gBAAgB,OAEnB,IAAa,OAATh/B,EAAgB,CAEvB,OAAQmkB,GACN,IAAK,GACL,IAAK,GACHoQ,EAAMsK,SAA6C,GAApC5+B,KAAKypB,MAAM6K,EAAM6K,WAAa,IAAW,MAC1D,SACE7K,EAAMsK,SAA6C,GAApC5+B,KAAKypB,MAAM6K,EAAM6K,WAAa,KAEjD7K,EAAMuK,WAAW,GACjBvK,EAAMwK,WAAW,GACjBxK,EAAMyK,gBAAgB,OAEnB,IAAa,WAATh/B,EAAoB,CAE3B,OAAQmkB,GACN,IAAK,GACL,IAAK,GACHoQ,EAAMsK,SAA6C,GAApC5+B,KAAKypB,MAAM6K,EAAM6K,WAAa,IAAW,MAC1D,SACE7K,EAAMsK,SAA4C,EAAnC5+B,KAAKypB,MAAM6K,EAAM6K,WAAa,IAEjD7K,EAAMuK,WAAW,GACjBvK,EAAMwK,WAAW,GACjBxK,EAAMyK,gBAAgB,OAEnB,IAAa,QAATh/B,EAAiB,CACxB,OAAQmkB,GACN,IAAK,GACHoQ,EAAMuK,WAAiD,GAAtC7+B,KAAKypB,MAAM6K,EAAM4K,aAAe,IAAW,MAC9D,SACE5K,EAAMuK,WAAiD,GAAtC7+B,KAAKypB,MAAM6K,EAAM4K,aAAe,KAErD5K,EAAMwK,WAAW,GACjBxK,EAAMyK,gBAAgB,OACjB,IAAa,UAATh/B,EAAmB,CAE5B,OAAQmkB,GACN,IAAK,IACL,IAAK,IACHoQ,EAAMuK,WAAgD,EAArC7+B,KAAKypB,MAAM6K,EAAM4K,aAAe,IACjD5K,EAAMwK,WAAW,EACjB,MACF,KAAK,GACHxK,EAAMwK,WAAiD,GAAtC9+B,KAAKypB,MAAM6K,EAAM2K,aAAe,IAAW,MAC9D,SACE3K,EAAMwK,WAAiD,GAAtC9+B,KAAKypB,MAAM6K,EAAM2K,aAAe,KAErD3K,EAAMyK,gBAAgB,OAEnB,IAAa,UAATh/B,EAEP,OAAQmkB,GACN,IAAK,IACL,IAAK,IACHoQ,EAAMwK,WAAgD,EAArC9+B,KAAKypB,MAAM6K,EAAM2K,aAAe,IACjD3K,EAAMyK,gBAAgB,EACtB,MACF,KAAK,GACHzK,EAAMyK,gBAA6D,IAA7C/+B,KAAKypB,MAAM6K,EAAM0K,kBAAoB,KAAe,MAC5E,SACE1K,EAAMyK,gBAA4D,IAA5C/+B,KAAKypB,MAAM6K,EAAM0K,kBAAoB,UAG5D,IAAa,eAATj/B,EAAwB,CAC/B,GAAIovB,GAAQjL,EAAO,EAAIA,EAAO,EAAI,CAClCoQ,GAAMyK,gBAAgB/+B,KAAKypB,MAAM6K,EAAM0K,kBAAoB7P,GAASA,GAGtE,MAAOmF,IAQT/2B,EAAS0R,UAAUmqB,QAAU,WAC3B,GAAyB,GAArB59B,KAAK06B,aAEP,OADA16B,KAAK06B,cAAe,EACZ16B,KAAKuE,OACX,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,cACH,OAAO,CACT,SACE,OAAO,MAGR,IAA0B,GAAtBvE,KAAK26B,cAEZ,OADA36B,KAAK26B,eAAgB,EACb36B,KAAKuE,OACX,IAAK,UACL,IAAK,MACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,cACH,OAAO,CACT,SACE,OAAO,MAGR,IAAwB,GAApBvE,KAAK46B,YAEZ,OADA56B,KAAK46B,aAAc,EACX56B,KAAKuE,OACX,IAAK,cACL,IAAK,SACL,IAAK,SACL,IAAK,OACH,OAAO,CACT,SACE,OAAO,EAIb,OAAQvE,KAAKuE,OACX,IAAK,cACH,MAA0C,IAAlCvE,KAAKw6B,QAAQgJ,iBACvB,KAAK,SACH,MAAqC,IAA7BxjC,KAAKw6B,QAAQiJ,YACvB,KAAK,SACH,MAAmC,IAA3BzjC,KAAKw6B,QAAQmJ,YAAkD,GAA7B3jC,KAAKw6B,QAAQkJ,YACzD,KAAK,OACH,MAAmC,IAA3B1jC,KAAKw6B,QAAQmJ,UACvB,KAAK,UACL,IAAK,MACH,MAAkC,IAA1B3jC,KAAKw6B,QAAQoJ,SACvB,KAAK,QACH,MAAmC,IAA3B5jC,KAAKw6B,QAAQqJ,UACvB,KAAK,OACH,OAAO,CACT,SACE,OAAO,IAWb9hC,EAAS0R,UAAUgxB,cAAgB,SAAStL,GAC9BtyB,QAARsyB,IACFA,EAAOn5B,KAAKw6B,QAGd,IAAI4H,GAASpiC,KAAKoiC,OAAOE,YAAYtiC,KAAKuE,MAC1C,OAAQ69B,IAAUA,EAAOp8B,OAAS,EAAKnC,EAAOs1B,GAAMiJ,OAAOA,GAAU,IASvErgC,EAAS0R,UAAUixB,cAAgB,SAASvL,GAC9BtyB,QAARsyB,IACFA,EAAOn5B,KAAKw6B,QAGd,IAAI4H,GAASpiC,KAAKoiC,OAAOQ,YAAY5iC,KAAKuE,MAC1C,OAAQ69B,IAAUA,EAAOp8B,OAAS,EAAKnC,EAAOs1B,GAAMiJ,OAAOA,GAAU,IAGvErgC,EAAS0R,UAAUkxB,aAAe,WAKhC,QAASC,GAAKtgC,GACZ,MAAQA,GAAQokB,EAAO,GAAK,EAAK,QAAU,OAG7C,QAASmc,GAAM1L,GACb,MAAIA,GAAK2L,OAAO,GAAIlgC,MAAQ,OACnB,SAELu0B,EAAK2L,OAAOjhC,IAAS0P,IAAI,EAAG,OAAQ,OAC/B,YAEL4lB,EAAK2L,OAAOjhC,IAAS0P,IAAI,GAAI,OAAQ,OAChC,aAEF,GAGT,QAASwxB,GAAY5L,GACnB,MAAOA,GAAK2L,OAAO,GAAIlgC,MAAQ,QAAU,gBAAkB,GAG7D,QAASogC,GAAa7L,GACpB,MAAOA,GAAK2L,OAAO,GAAIlgC,MAAQ,SAAW,iBAAmB,GAG/D,QAASqgC,GAAY9L,GACnB,MAAOA,GAAK2L,OAAO,GAAIlgC,MAAQ,QAAU,gBAAkB,GA9B7D,GAAIpE,GAAIqD,EAAO7D,KAAKw6B,SAChBrB,EAAO34B,EAAE0kC,OAAS1kC,EAAE0kC,OAAO,MAAQ1kC,EAAE2kC,KAAK,MAC1Czc,EAAO1oB,KAAK0oB,IA+BhB,QAAQ1oB,KAAKuE,OACX,IAAK,cACH,MAAOqgC,GAAKzL,EAAK8E,gBAAgBzwB,MAEnC,KAAK,SACH,MAAOo3B,GAAKzL,EAAK6E,WAAWxwB,MAE9B,KAAK,SACH,MAAOo3B,GAAKzL,EAAK4E,WAAWvwB,MAE9B,KAAK,OACH,GAAIswB,GAAQ3E,EAAK2E,OAIjB,OAHiB,IAAb99B,KAAK0oB,OACPoV,EAAQA,EAAQ,KAAOA,EAAQ,IAE1BA,EAAQ,IAAM+G,EAAM1L,GAAQyL,EAAKzL,EAAK2E,QAE/C,KAAK,UACH,MAAO3E,GAAKiJ,OAAO,QAAQgD,cACvBP,EAAM1L,GAAQ4L,EAAY5L,GAAQyL,EAAKzL,EAAKA,OAElD,KAAK,MACH,GAAIJ,GAAMI,EAAKA,OACXC,EAAQD,EAAKiJ,OAAO,QAAQgD,aAChC,OAAO,MAAQrM,EAAM,IAAMK,EAAQ4L,EAAa7L,GAAQyL,EAAK7L,EAAM,EAErE,KAAK,QACH,MAAOI,GAAKiJ,OAAO,QAAQgD,cACvBJ,EAAa7L,GAAQyL,EAAKzL,EAAKC,QAErC,KAAK,OACH,GAAIH,GAAOE,EAAKF,MAChB,OAAO,OAASA,EAAOgM,EAAY9L,GAAOyL,EAAK3L,EAEjD,SACE,MAAO,KAIbp5B,EAAOD,QAAUmC,GAKb,SAASlC,EAAQD,EAASM,GAc9B,QAASgC,GAAM8Q,EAAM8nB,EAAY/rB,GAC/B/O,KAAKK,GAAK,KACVL,KAAKqlC,OAAS,KACdrlC,KAAKgT,KAAOA,EACZhT,KAAKswB,IAAM,KACXtwB,KAAK86B,WAAaA,MAClB96B,KAAK+O,QAAUA,MAEf/O,KAAKslC,UAAW,EAChBtlC,KAAKulC,WAAY,EACjBvlC,KAAKwlC,OAAQ,EAEbxlC,KAAKiI,IAAM,KACXjI,KAAK6H,KAAO,KACZ7H,KAAK6S,MAAQ,KACb7S,KAAK8S,OAAS,KA3BhB,GAAI2yB,GAASvlC,EAAoB,IAC7BS,EAAOT,EAAoB,EA6B/BgC,GAAKuR,UAAU3R,OAAQ,EAKvBI,EAAKuR,UAAUiyB,OAAS,WACtB1lC,KAAKslC,UAAW,EAChBtlC,KAAKwlC,OAAQ,EACTxlC,KAAKulC,WAAWvlC,KAAKgiB,UAM3B9f,EAAKuR,UAAUkyB,SAAW,WACxB3lC,KAAKslC,UAAW,EAChBtlC,KAAKwlC,OAAQ,EACTxlC,KAAKulC,WAAWvlC,KAAKgiB,UAQ3B9f,EAAKuR,UAAU6E,QAAU,SAAStF,GAChChT,KAAKgT,KAAOA,EACZhT,KAAKwlC,OAAQ,EACTxlC,KAAKulC,WAAWvlC,KAAKgiB,UAO3B9f,EAAKuR,UAAUmyB,UAAY,SAASP,GAC9BrlC,KAAKulC,WACPvlC,KAAK6lC,OACL7lC,KAAKqlC,OAASA,EACVrlC,KAAKqlC,QACPrlC,KAAK8lC,QAIP9lC,KAAKqlC,OAASA,GASlBnjC,EAAKuR,UAAUsyB,UAAY,WAEzB,OAAO,GAOT7jC,EAAKuR,UAAUqyB,KAAO,WACpB,OAAO,GAOT5jC,EAAKuR,UAAUoyB,KAAO,WACpB,OAAO,GAMT3jC,EAAKuR,UAAUuO,OAAS,aAOxB9f,EAAKuR,UAAUuyB,YAAc,aAO7B9jC,EAAKuR,UAAUwyB,YAAc,aAS7B/jC,EAAKuR,UAAUyyB,qBAAuB,SAAUC,GAC9C,GAAInmC,KAAKslC,UAAYtlC,KAAK+O,QAAQq3B,SAASzvB,SAAW3W,KAAKswB,IAAI+V,aAAc,CAE3E,GAAI5xB,GAAKzU,KAELqmC,EAAex0B,SAASM,cAAc,MAC1Ck0B,GAAaj+B,UAAY,SACzBi+B,EAAaC,MAAQ,mBAErBb,EAAOY,GACLz8B,gBAAgB,IACfiK,GAAG,MAAO,SAAUhK,GACrB4K,EAAG4wB,OAAOkB,kBAAkB9xB,GAC5B5K,EAAM28B,oBAGRL,EAAOp0B,YAAYs0B,GACnBrmC,KAAKswB,IAAI+V,aAAeA,OAEhBrmC,KAAKslC,UAAYtlC,KAAKswB,IAAI+V,eAE9BrmC,KAAKswB,IAAI+V,aAAal8B,YACxBnK,KAAKswB,IAAI+V,aAAal8B,WAAWsH,YAAYzR,KAAKswB,IAAI+V,cAExDrmC,KAAKswB,IAAI+V,aAAe,OAS5BnkC,EAAKuR,UAAUgzB,gBAAkB,SAAUt9B,GACzC,GAAIgnB,EACJ,IAAInwB,KAAK+O,QAAQ23B,SAAU,CACzB,GAAInP,GAAWv3B,KAAKqlC,OAAOjP,QAAQC,UAAU7gB,IAAIxV,KAAKK,GACtD8vB,GAAUnwB,KAAK+O,QAAQ23B,SAASnP,OAGhCpH,GAAUnwB,KAAKgT,KAAKmd,OAGtB,IAAGA,IAAYnwB,KAAKmwB,QAAS,CAE3B,GAAIA,YAAmBwW,SACrBx9B,EAAQqb,UAAY,GACpBrb,EAAQ4I,YAAYoe,OAEjB,IAAetpB,QAAXspB,EACPhnB,EAAQqb,UAAY2L,MAGpB,IAAwB,cAAlBnwB,KAAKgT,KAAK7L,MAA8CN,SAAtB7G,KAAKgT,KAAKmd,QAChD,KAAM,IAAIvsB,OAAM,sCAAwC5D,KAAKK,GAIjEL,MAAKmwB,QAAUA,IASnBjuB,EAAKuR,UAAUmzB,aAAe,SAAUz9B,GACf,MAAnBnJ,KAAKgT,KAAKszB,MACZn9B,EAAQm9B,MAAQtmC,KAAKgT,KAAKszB,OAAS,GAGnCn9B,EAAQ09B,gBAAgB,UAS3B3kC,EAAKuR,UAAUqzB,sBAAwB,SAAS39B,GAC/C,GAAInJ,KAAK+O,QAAQg4B,gBAAkB/mC,KAAK+O,QAAQg4B,eAAe/gC,OAAS,EAAG,CACzE,GAAIghC,KAEJ,IAAI1gC,MAAMC,QAAQvG,KAAK+O,QAAQg4B,gBAC7BC,EAAahnC,KAAK+O,QAAQg4B,mBAEvB,CAAA,GAAmC,OAA/B/mC,KAAK+O,QAAQg4B,eAIpB,MAHAC,GAAapgC,OAAO8G,KAAK1N,KAAKgT,MAMhC,IAAK,GAAInN,GAAI,EAAGA,EAAImhC,EAAWhhC,OAAQH,IAAK,CAC1C,GAAI0Q,GAAOywB,EAAWnhC,GAClBvB,EAAQtE,KAAKgT,KAAKuD,EAET,OAATjS,EACF6E,EAAQ89B,aAAa,QAAU1wB,EAAMjS,GAGrC6E,EAAQ09B,gBAAgB,QAAUtwB,MAW1CrU,EAAKuR,UAAUyzB,aAAe,SAAS/9B,GAEjCnJ,KAAKuN,QACP5M,EAAKoN,cAAc5E,EAASnJ,KAAKuN,OACjCvN,KAAKuN,MAAQ,MAIXvN,KAAKgT,KAAKzF,QACZ5M,EAAKiN,WAAWzE,EAASnJ,KAAKgT,KAAKzF,OACnCvN,KAAKuN,MAAQvN,KAAKgT,KAAKzF,QAI3B1N,EAAOD,QAAUsC,GAKb,SAASrC,EAAQD,EAASM,GAkB9B,QAASiC,GAAgB6Q,EAAM8nB,EAAY/rB,GASzC,GARA/O,KAAKqG,OACH8pB,SACEtd,MAAO,IAGX7S,KAAKokB,UAAW,EAGZpR,EAAM,CACR,GAAkBnM,QAAdmM,EAAK9C,MACP,KAAM,IAAItM,OAAM,oCAAsCoP,EAAK3S,GAE7D,IAAgBwG,QAAZmM,EAAK7C,IACP,KAAM,IAAIvM,OAAM,kCAAoCoP,EAAK3S,IAI7D6B,EAAK3B,KAAKP,KAAMgT,EAAM8nB,EAAY/rB,GAElC/O,KAAKmnC,cAAe,EApCtB,GACIjlC,IADShC,EAAoB,IACtBA,EAAoB,KAC3B2C,EAAkB3C,EAAoB,IACtCoC,EAAYpC,EAAoB,GAoCpCiC,GAAesR,UAAY,GAAIvR,GAAM,KAAM,KAAM,MAEjDC,EAAesR,UAAU2zB,cAAgB,kBACzCjlC,EAAesR,UAAU3R,OAAQ,EAOjCK,EAAesR,UAAUsyB,UAAY,SAAS9P,GAE5C,MAAQj2B,MAAKgT,KAAK9C,MAAQ+lB,EAAM9lB,KAASnQ,KAAKgT,KAAK7C,IAAM8lB,EAAM/lB,OAMjE/N,EAAesR,UAAUuO,OAAS,WAChC,GAAIsO,GAAMtwB,KAAKswB,GAuBf,IAtBKA,IAEHtwB,KAAKswB,OACLA,EAAMtwB,KAAKswB,IAGXA,EAAI+W,IAAMx1B,SAASM,cAAc,OAIjCme,EAAIH,QAAUte,SAASM,cAAc,OACrCme,EAAIH,QAAQ/nB,UAAY,UACxBkoB,EAAI+W,IAAIt1B,YAAYue,EAAIH,SAMxBnwB,KAAKwlC,OAAQ,IAIVxlC,KAAKqlC,OACR,KAAM,IAAIzhC,OAAM,yCAElB,KAAK0sB,EAAI+W,IAAIl9B,WAAY,CACvB,GAAIuC,GAAa1M,KAAKqlC,OAAO/U,IAAI5jB,UACjC,KAAKA,EACH,KAAM,IAAI9I,OAAM,iEAElB8I,GAAWqF,YAAYue,EAAI+W,KAQ7B,GANArnC,KAAKulC,WAAY,EAMbvlC,KAAKwlC,MAAO,CACdxlC,KAAKymC,gBAAgBzmC,KAAKswB,IAAIH,SAC9BnwB,KAAK4mC,aAAa5mC,KAAKswB,IAAIH,SAC3BnwB,KAAK8mC,sBAAsB9mC,KAAKswB,IAAIH,SACpCnwB,KAAKknC,aAAalnC,KAAKswB,IAAI+W,IAG3B,IAAIj/B,IAAapI,KAAKgT,KAAK5K,UAAa,IAAMpI,KAAKgT,KAAK5K,UAAa,KAChEpI,KAAKslC,SAAW,YAAc,GACnChV,GAAI+W,IAAIj/B,UAAYpI,KAAKonC,cAAgBh/B,EAGzCpI,KAAKokB,SAA6D,WAAlDtc,OAAOw/B,iBAAiBhX,EAAIH,SAAS/L,SAGrDpkB,KAAKqG,MAAM8pB,QAAQtd,MAAQ7S,KAAKswB,IAAIH,QAAQQ,YAC5C3wB,KAAK8S,OAAS,EAEd9S,KAAKwlC,OAAQ,IAQjBrjC,EAAesR,UAAUqyB,KAAOxjC,EAAUmR,UAAUqyB,KAMpD3jC,EAAesR,UAAUoyB,KAAOvjC,EAAUmR,UAAUoyB,KAMpD1jC,EAAesR,UAAUuyB,YAAc1jC,EAAUmR,UAAUuyB,YAM3D7jC,EAAesR,UAAUwyB,YAAc,SAAS/rB,GAC9C,GAAIqtB,GAAqC,QAA7BvnC,KAAK+O,QAAQ+lB,WACzB90B,MAAKswB,IAAIH,QAAQ5iB,MAAMtF,IAAMs/B,EAAQ,GAAK,IAC1CvnC,KAAKswB,IAAIH,QAAQ5iB,MAAMsW,OAAS0jB,EAAQ,IAAM,EAC9C,IAAIz0B,EAGJ,IAA2BjM,SAAvB7G,KAAKgT,KAAKmvB,SAAwB,CACpC,GAAIqF,GAAexnC,KAAKgT,KAAKmvB,SACzBF,EAAYjiC,KAAKqlC,OAAOpD,UACxBwF,EAAgBxF,EAAUuF,GAAc9+B,KAE5C,IAAa,GAAT6+B,EAAe,CAEjBz0B,EAAS9S,KAAKqlC,OAAOpD,UAAUuF,GAAc10B,OAASoH,EAAOvK,KAAKqW,SAClElT,GAA2B,GAAjB20B,EAAqBvtB,EAAO0nB,KAAO,GAAI1nB,EAAOvK,KAAKqW,SAAW,CACxE,IAAIkc,GAASliC,KAAKqlC,OAAOp9B,GACzB,KAAK,GAAIk6B,KAAYF,GACfA,EAAU97B,eAAeg8B,IACQ,GAA/BF,EAAUE,GAAUlZ,SAAmBgZ,EAAUE,GAAUz5B,MAAQ++B,IACrEvF,GAAUD,EAAUE,GAAUrvB,OAASoH,EAAOvK,KAAKqW,SAMzDkc,IAA2B,GAAjBuF,EAAqBvtB,EAAO0nB,KAAO,GAAM1nB,EAAOvK,KAAKqW,SAAW,EAC1EhmB,KAAKswB,IAAI+W,IAAI95B,MAAMtF,IAAMi6B,EAAS,KAClCliC,KAAKswB,IAAI+W,IAAI95B,MAAMsW,OAAS,OAGzB,CACH,GAAIqe,GAASliC,KAAKqlC,OAAOp9B,GACzB,KAAK,GAAIk6B,KAAYF,GACfA,EAAU97B,eAAeg8B,IACQ,GAA/BF,EAAUE,GAAUlZ,SAAmBgZ,EAAUE,GAAUz5B,MAAQ++B,IACrEvF,GAAUD,EAAUE,GAAUrvB,OAASoH,EAAOvK,KAAKqW,SAIzDlT,GAAS9S,KAAKqlC,OAAOpD,UAAUuF,GAAc10B,OAASoH,EAAOvK,KAAKqW,SAClEhmB,KAAKswB,IAAI+W,IAAI95B,MAAMtF,IAAMi6B,EAAS,KAClCliC,KAAKswB,IAAI+W,IAAI95B,MAAMsW,OAAS,QAM1B7jB,MAAKqlC,iBAAkBxiC,IAEzBiQ,EAAStO,KAAKJ,IAAIpE,KAAKqlC,OAAOvyB,OAC1B9S,KAAKqlC,OAAOjP,QAAQlB,KAAKC,SAAS1I,OAAO3Z,OACzC9S,KAAKqlC,OAAOjP,QAAQlB,KAAKC,SAASoD,gBAAgBzlB,QACtD9S,KAAKswB,IAAI+W,IAAI95B,MAAMtF,IAAMs/B,EAAQ,IAAM,GACvCvnC,KAAKswB,IAAI+W,IAAI95B,MAAMsW,OAAS0jB,EAAQ,GAAK,MAGzCz0B,EAAS9S,KAAKqlC,OAAOvyB,OAErB9S,KAAKswB,IAAI+W,IAAI95B,MAAMtF,IAAMjI,KAAKqlC,OAAOp9B,IAAM,KAC3CjI,KAAKswB,IAAI+W,IAAI95B,MAAMsW,OAAS,GAGhC7jB,MAAKswB,IAAI+W,IAAI95B,MAAMuF,OAASA,EAAS,MAGvCjT,EAAOD,QAAUuC,GAKb,SAAStC,EAAQD,EAASM,GAe9B,QAASkC,GAAS4Q,EAAM8nB,EAAY/rB,GAalC,GAZA/O,KAAKqG,OACHgqB,KACExd,MAAO,EACPC,OAAQ,GAEVsd,MACEvd,MAAO,EACPC,OAAQ,IAKRE,GACgBnM,QAAdmM,EAAK9C,MACP,KAAM,IAAItM,OAAM,oCAAsCoP,EAI1D9Q,GAAK3B,KAAKP,KAAMgT,EAAM8nB,EAAY/rB,GAhCpC,CAAA,GAAI7M,GAAOhC,EAAoB,GACpBA,GAAoB,GAkC/BkC,EAAQqR,UAAY,GAAIvR,GAAM,KAAM,KAAM,MAO1CE,EAAQqR,UAAUsyB,UAAY,SAAS9P,GAGrC,GAAIlD,IAAYkD,EAAM9lB,IAAM8lB,EAAM/lB,OAAS,CAC3C,OAAQlQ,MAAKgT,KAAK9C,MAAQ+lB,EAAM/lB,MAAQ6iB,GAAc/yB,KAAKgT,KAAK9C,MAAQ+lB,EAAM9lB,IAAM4iB,GAMtF3wB,EAAQqR,UAAUuO,OAAS,WACzB,GAAIsO,GAAMtwB,KAAKswB,GA6Bf,IA5BKA,IAEHtwB,KAAKswB,OACLA,EAAMtwB,KAAKswB,IAGXA,EAAI+W,IAAMx1B,SAASM,cAAc,OAGjCme,EAAIH,QAAUte,SAASM,cAAc,OACrCme,EAAIH,QAAQ/nB,UAAY,UACxBkoB,EAAI+W,IAAIt1B,YAAYue,EAAIH,SAGxBG,EAAIF,KAAOve,SAASM,cAAc,OAClCme,EAAIF,KAAKhoB,UAAY,OAGrBkoB,EAAID,IAAMxe,SAASM,cAAc,OACjCme,EAAID,IAAIjoB,UAAY,MAGpBkoB,EAAI+W,IAAI,iBAAmBrnC,KAE3BA,KAAKwlC,OAAQ,IAIVxlC,KAAKqlC,OACR,KAAM,IAAIzhC,OAAM,yCAElB,KAAK0sB,EAAI+W,IAAIl9B,WAAY,CACvB,GAAIu9B,GAAa1nC,KAAKqlC,OAAO/U,IAAIoX,UACjC,KAAKA,EAAY,KAAM,IAAI9jC,OAAM,iEACjC8jC,GAAW31B,YAAYue,EAAI+W,KAE7B,IAAK/W,EAAIF,KAAKjmB,WAAY,CACxB,GAAIuC,GAAa1M,KAAKqlC,OAAO/U,IAAI5jB,UACjC,KAAKA,EAAY,KAAM,IAAI9I,OAAM,iEACjC8I,GAAWqF,YAAYue,EAAIF,MAE7B,IAAKE,EAAID,IAAIlmB,WAAY,CACvB,GAAIy3B,GAAO5hC,KAAKqlC,OAAO/U,IAAIsR,IAC3B,KAAKl1B,EAAY,KAAM,IAAI9I,OAAM,2DACjCg+B,GAAK7vB,YAAYue,EAAID,KAQvB,GANArwB,KAAKulC,WAAY,EAMbvlC,KAAKwlC,MAAO,CACdxlC,KAAKymC,gBAAgBzmC,KAAKswB,IAAIH,SAC9BnwB,KAAK4mC,aAAa5mC,KAAKswB,IAAI+W,KAC3BrnC,KAAK8mC,sBAAsB9mC,KAAKswB,IAAI+W,KACpCrnC,KAAKknC,aAAalnC,KAAKswB,IAAI+W,IAG3B,IAAIj/B,IAAapI,KAAKgT,KAAK5K,UAAW,IAAMpI,KAAKgT,KAAK5K,UAAY,KAC7DpI,KAAKslC,SAAW,YAAc,GACnChV,GAAI+W,IAAIj/B,UAAY,WAAaA,EACjCkoB,EAAIF,KAAKhoB,UAAY,YAAcA,EACnCkoB,EAAID,IAAIjoB,UAAa,WAAaA,EAGlCpI,KAAKqG,MAAMgqB,IAAIvd,OAASwd,EAAID,IAAIQ,aAChC7wB,KAAKqG,MAAMgqB,IAAIxd,MAAQyd,EAAID,IAAIM,YAC/B3wB,KAAKqG,MAAM+pB,KAAKvd,MAAQyd,EAAIF,KAAKO,YACjC3wB,KAAK6S,MAAQyd,EAAI+W,IAAI1W,YACrB3wB,KAAK8S,OAASwd,EAAI+W,IAAIxW,aAEtB7wB,KAAKwlC,OAAQ,EAGfxlC,KAAKkmC,qBAAqB5V,EAAI+W,MAOhCjlC,EAAQqR,UAAUqyB,KAAO,WAClB9lC,KAAKulC,WACRvlC,KAAKgiB,UAOT5f,EAAQqR,UAAUoyB,KAAO,WACvB,GAAI7lC,KAAKulC,UAAW,CAClB,GAAIjV,GAAMtwB,KAAKswB,GAEXA,GAAI+W,IAAIl9B,YAAcmmB,EAAI+W,IAAIl9B,WAAWsH,YAAY6e,EAAI+W,KACzD/W,EAAIF,KAAKjmB,YAAammB,EAAIF,KAAKjmB,WAAWsH,YAAY6e,EAAIF,MAC1DE,EAAID,IAAIlmB,YAAcmmB,EAAID,IAAIlmB,WAAWsH,YAAY6e,EAAID,KAE7DrwB,KAAKiI,IAAM,KACXjI,KAAK6H,KAAO,KAEZ7H,KAAKulC,WAAY,IAQrBnjC,EAAQqR,UAAUuyB,YAAc,WAC9B,GAAI91B,GAAQlQ,KAAK86B,WAAWrF,SAASz1B,KAAKgT,KAAK9C,OAC3Cy3B,EAAQ3nC,KAAK+O,QAAQ44B,MAErBN,EAAMrnC,KAAKswB,IAAI+W,IACfjX,EAAOpwB,KAAKswB,IAAIF,KAChBC,EAAMrwB,KAAKswB,IAAID,GAIjBrwB,MAAK6H,KADM,SAAT8/B,EACUz3B,EAAQlQ,KAAK6S,MAET,QAAT80B,EACKz3B,EAIAA,EAAQlQ,KAAK6S,MAAQ,EAInCw0B,EAAI95B,MAAM1F,KAAO7H,KAAK6H,KAAO,KAG7BuoB,EAAK7iB,MAAM1F,KAAQqI,EAAQlQ,KAAKqG,MAAM+pB,KAAKvd,MAAQ,EAAK,KAGxDwd,EAAI9iB,MAAM1F,KAAQqI,EAAQlQ,KAAKqG,MAAMgqB,IAAIxd,MAAQ,EAAK,MAOxDzQ,EAAQqR,UAAUwyB,YAAc,WAC9B,GAAInR,GAAc90B,KAAK+O,QAAQ+lB,YAC3BuS,EAAMrnC,KAAKswB,IAAI+W,IACfjX,EAAOpwB,KAAKswB,IAAIF,KAChBC,EAAMrwB,KAAKswB,IAAID,GAEnB,IAAmB,OAAfyE,EACFuS,EAAI95B,MAAMtF,KAAWjI,KAAKiI,KAAO,GAAK,KAEtCmoB,EAAK7iB,MAAMtF,IAAS,IACpBmoB,EAAK7iB,MAAMuF,OAAU9S,KAAKqlC,OAAOp9B,IAAMjI,KAAKiI,IAAM,EAAK,KACvDmoB,EAAK7iB,MAAMsW,OAAS,OAEjB,CACH,GAAI+jB,GAAgB5nC,KAAKqlC,OAAOjP,QAAQ/vB,MAAMyM,OAC1Cge,EAAa8W,EAAgB5nC,KAAKqlC,OAAOp9B,IAAMjI,KAAKqlC,OAAOvyB,OAAS9S,KAAKiI,GAE7Eo/B,GAAI95B,MAAMtF,KAAWjI,KAAKqlC,OAAOvyB,OAAS9S,KAAKiI,IAAMjI,KAAK8S,QAAU,GAAK,KACzEsd,EAAK7iB,MAAMtF,IAAU2/B,EAAgB9W,EAAc,KACnDV,EAAK7iB,MAAMsW,OAAS,IAGtBwM,EAAI9iB,MAAMtF,KAAQjI,KAAKqG,MAAMgqB,IAAIvd,OAAS,EAAK,MAGjDjT,EAAOD,QAAUwC,GAKb,SAASvC,EAAQD,EAASM,GAc9B,QAASmC,GAAW2Q,EAAM8nB,EAAY/rB,GAcpC,GAbA/O,KAAKqG,OACHgqB,KACEpoB,IAAK,EACL4K,MAAO,EACPC,OAAQ,GAEVqd,SACErd,OAAQ,EACR+0B,WAAY,IAKZ70B,GACgBnM,QAAdmM,EAAK9C,MACP,KAAM,IAAItM,OAAM,oCAAsCoP,EAI1D9Q,GAAK3B,KAAKP,KAAMgT,EAAM8nB,EAAY/rB,GAhCpC,GAAI7M,GAAOhC,EAAoB,GAmC/BmC,GAAUoR,UAAY,GAAIvR,GAAM,KAAM,KAAM,MAO5CG,EAAUoR,UAAUsyB,UAAY,SAAS9P,GAGvC,GAAIlD,IAAYkD,EAAM9lB,IAAM8lB,EAAM/lB,OAAS,CAC3C,OAAQlQ,MAAKgT,KAAK9C,MAAQ+lB,EAAM/lB,MAAQ6iB,GAAc/yB,KAAKgT,KAAK9C,MAAQ+lB,EAAM9lB,IAAM4iB,GAMtF1wB,EAAUoR,UAAUuO,OAAS,WAC3B,GAAIsO,GAAMtwB,KAAKswB,GA0Bf,IAzBKA,IAEHtwB,KAAKswB,OACLA,EAAMtwB,KAAKswB,IAGXA,EAAI9d,MAAQX,SAASM,cAAc,OAInCme,EAAIH,QAAUte,SAASM,cAAc,OACrCme,EAAIH,QAAQ/nB,UAAY,UACxBkoB,EAAI9d,MAAMT,YAAYue,EAAIH,SAG1BG,EAAID,IAAMxe,SAASM,cAAc,OACjCme,EAAI9d,MAAMT,YAAYue,EAAID,KAG1BC,EAAI9d,MAAM,iBAAmBxS,KAE7BA,KAAKwlC,OAAQ,IAIVxlC,KAAKqlC,OACR,KAAM,IAAIzhC,OAAM,yCAElB,KAAK0sB,EAAI9d,MAAMrI,WAAY,CACzB,GAAIu9B,GAAa1nC,KAAKqlC,OAAO/U,IAAIoX,UACjC,KAAKA,EACH,KAAM,IAAI9jC,OAAM,iEAElB8jC,GAAW31B,YAAYue,EAAI9d,OAQ7B,GANAxS,KAAKulC,WAAY,EAMbvlC,KAAKwlC,MAAO,CACdxlC,KAAKymC,gBAAgBzmC,KAAKswB,IAAIH,SAC9BnwB,KAAK4mC,aAAa5mC,KAAKswB,IAAI9d,OAC3BxS,KAAK8mC,sBAAsB9mC,KAAKswB,IAAI9d,OACpCxS,KAAKknC,aAAalnC,KAAKswB,IAAI9d,MAG3B,IAAIpK,IAAapI,KAAKgT,KAAK5K,UAAW,IAAMpI,KAAKgT,KAAK5K,UAAY,KAC7DpI,KAAKslC,SAAW,YAAc,GACnChV,GAAI9d,MAAMpK,UAAa,aAAeA,EACtCkoB,EAAID,IAAIjoB,UAAa,WAAaA,EAGlCpI,KAAK6S,MAAQyd,EAAI9d,MAAMme,YACvB3wB,KAAK8S,OAASwd,EAAI9d,MAAMqe,aACxB7wB,KAAKqG,MAAMgqB,IAAIxd,MAAQyd,EAAID,IAAIM,YAC/B3wB,KAAKqG,MAAMgqB,IAAIvd,OAASwd,EAAID,IAAIQ,aAChC7wB,KAAKqG,MAAM8pB,QAAQrd,OAASwd,EAAIH,QAAQU,aAGxCP,EAAIH,QAAQ5iB,MAAMs6B,WAAa,EAAI7nC,KAAKqG,MAAMgqB,IAAIxd,MAAQ,KAG1Dyd,EAAID,IAAI9iB,MAAMtF,KAAQjI,KAAK8S,OAAS9S,KAAKqG,MAAMgqB,IAAIvd,QAAU,EAAK,KAClEwd,EAAID,IAAI9iB,MAAM1F,KAAQ7H,KAAKqG,MAAMgqB,IAAIxd,MAAQ,EAAK,KAElD7S,KAAKwlC,OAAQ,EAGfxlC,KAAKkmC,qBAAqB5V,EAAI9d,QAOhCnQ,EAAUoR,UAAUqyB,KAAO,WACpB9lC,KAAKulC,WACRvlC,KAAKgiB,UAOT3f,EAAUoR,UAAUoyB,KAAO,WACrB7lC,KAAKulC,YACHvlC,KAAKswB,IAAI9d,MAAMrI,YACjBnK,KAAKswB,IAAI9d,MAAMrI,WAAWsH,YAAYzR,KAAKswB,IAAI9d,OAGjDxS,KAAKiI,IAAM,KACXjI,KAAK6H,KAAO,KAEZ7H,KAAKulC,WAAY,IAQrBljC,EAAUoR,UAAUuyB,YAAc,WAChC,GAAI91B,GAAQlQ,KAAK86B,WAAWrF,SAASz1B,KAAKgT,KAAK9C,MAE/ClQ,MAAK6H,KAAOqI,EAAQlQ,KAAKqG,MAAMgqB,IAAIxd,MAGnC7S,KAAKswB,IAAI9d,MAAMjF,MAAM1F,KAAO7H,KAAK6H,KAAO,MAO1CxF,EAAUoR,UAAUwyB,YAAc,WAChC,GAAInR,GAAc90B,KAAK+O,QAAQ+lB,YAC3BtiB,EAAQxS,KAAKswB,IAAI9d,KAGnBA,GAAMjF,MAAMtF,IADK,OAAf6sB,EACgB90B,KAAKiI,IAAM,KAGVjI,KAAKqlC,OAAOvyB,OAAS9S,KAAKiI,IAAMjI,KAAK8S,OAAU,MAItEjT,EAAOD,QAAUyC,GAKb,SAASxC,EAAQD,EAASM,GAe9B,QAASoC,GAAW0Q,EAAM8nB,EAAY/rB,GASpC,GARA/O,KAAKqG,OACH8pB,SACEtd,MAAO,IAGX7S,KAAKokB,UAAW,EAGZpR,EAAM,CACR,GAAkBnM,QAAdmM,EAAK9C,MACP,KAAM,IAAItM,OAAM,oCAAsCoP,EAAK3S,GAE7D,IAAgBwG,QAAZmM,EAAK7C,IACP,KAAM,IAAIvM,OAAM,kCAAoCoP,EAAK3S,IAI7D6B,EAAK3B,KAAKP,KAAMgT,EAAM8nB,EAAY/rB,GA/BpC,GAAI02B,GAASvlC,EAAoB,IAC7BgC,EAAOhC,EAAoB,GAiC/BoC,GAAUmR,UAAY,GAAIvR,GAAM,KAAM,KAAM,MAE5CI,EAAUmR,UAAU2zB,cAAgB,aAOpC9kC,EAAUmR,UAAUsyB,UAAY,SAAS9P,GAEvC,MAAQj2B,MAAKgT,KAAK9C,MAAQ+lB,EAAM9lB,KAASnQ,KAAKgT,KAAK7C,IAAM8lB,EAAM/lB,OAMjE5N,EAAUmR,UAAUuO,OAAS,WAC3B,GAAIsO,GAAMtwB,KAAKswB,GAsBf,IArBKA,IAEHtwB,KAAKswB,OACLA,EAAMtwB,KAAKswB,IAGXA,EAAI+W,IAAMx1B,SAASM,cAAc,OAIjCme,EAAIH,QAAUte,SAASM,cAAc,OACrCme,EAAIH,QAAQ/nB,UAAY,UACxBkoB,EAAI+W,IAAIt1B,YAAYue,EAAIH,SAGxBG,EAAI+W,IAAI,iBAAmBrnC,KAE3BA,KAAKwlC,OAAQ,IAIVxlC,KAAKqlC,OACR,KAAM,IAAIzhC,OAAM,yCAElB,KAAK0sB,EAAI+W,IAAIl9B,WAAY,CACvB,GAAIu9B,GAAa1nC,KAAKqlC,OAAO/U,IAAIoX,UACjC,KAAKA,EACH,KAAM,IAAI9jC,OAAM,iEAElB8jC,GAAW31B,YAAYue,EAAI+W,KAQ7B,GANArnC,KAAKulC,WAAY,EAMbvlC,KAAKwlC,MAAO,CACdxlC,KAAKymC,gBAAgBzmC,KAAKswB,IAAIH,SAC9BnwB,KAAK4mC,aAAa5mC,KAAKswB,IAAI+W,KAC3BrnC,KAAK8mC,sBAAsB9mC,KAAKswB,IAAI+W,KACpCrnC,KAAKknC,aAAalnC,KAAKswB,IAAI+W,IAG3B,IAAIj/B,IAAapI,KAAKgT,KAAK5K,UAAa,IAAMpI,KAAKgT,KAAK5K,UAAa,KAChEpI,KAAKslC,SAAW,YAAc,GACnChV,GAAI+W,IAAIj/B,UAAYpI,KAAKonC,cAAgBh/B,EAGzCpI,KAAKokB,SAA6D,WAAlDtc,OAAOw/B,iBAAiBhX,EAAIH,SAAS/L,SAKrDpkB,KAAKswB,IAAIH,QAAQ5iB,MAAMu6B,SAAW,OAClC9nC,KAAKqG,MAAM8pB,QAAQtd,MAAQ7S,KAAKswB,IAAIH,QAAQQ,YAC5C3wB,KAAK8S,OAAS9S,KAAKswB,IAAI+W,IAAIxW,aAC3B7wB,KAAKswB,IAAIH,QAAQ5iB,MAAMu6B,SAAW,GAElC9nC,KAAKwlC,OAAQ,EAGfxlC,KAAKkmC,qBAAqB5V,EAAI+W,KAC9BrnC,KAAK+nC,mBACL/nC,KAAKgoC,qBAOP1lC,EAAUmR,UAAUqyB,KAAO,WACpB9lC,KAAKulC,WACRvlC,KAAKgiB,UAQT1f,EAAUmR,UAAUoyB,KAAO,WACzB,GAAI7lC,KAAKulC,UAAW,CAClB,GAAI8B,GAAMrnC,KAAKswB,IAAI+W,GAEfA,GAAIl9B,YACNk9B,EAAIl9B,WAAWsH,YAAY41B,GAG7BrnC,KAAKiI,IAAM,KACXjI,KAAK6H,KAAO,KAEZ7H,KAAKulC,WAAY,IAQrBjjC,EAAUmR,UAAUuyB,YAAc,WAChC,GAGIiC,GACAvX,EAJAwX,EAAcloC,KAAKqlC,OAAOxyB,MAC1B3C,EAAQlQ,KAAK86B,WAAWrF,SAASz1B,KAAKgT,KAAK9C,OAC3CC,EAAMnQ,KAAK86B,WAAWrF,SAASz1B,KAAKgT,KAAK7C,MAKhC+3B,EAATh4B,IACFA,GAASg4B,GAEP/3B,EAAM,EAAI+3B,IACZ/3B,EAAM,EAAI+3B,EAEZ,IAAIC,GAAW3jC,KAAKJ,IAAI+L,EAAMD,EAAO,EAoBrC,QAlBIlQ,KAAKokB,UACPpkB,KAAK6H,KAAOqI,EACZlQ,KAAK6S,MAAQs1B,EAAWnoC,KAAKqG,MAAM8pB,QAAQtd,MAC3C6d,EAAe1wB,KAAKqG,MAAM8pB,QAAQtd,QAOlC7S,KAAK6H,KAAOqI,EACZlQ,KAAK6S,MAAQs1B,EACbzX,EAAelsB,KAAKL,IAAIgM,EAAMD,EAAQ,EAAIlQ,KAAK+O,QAAQwV,QAASvkB,KAAKqG,MAAM8pB,QAAQtd,QAGrF7S,KAAKswB,IAAI+W,IAAI95B,MAAM1F,KAAO7H,KAAK6H,KAAO,KACtC7H,KAAKswB,IAAI+W,IAAI95B,MAAMsF,MAAQs1B,EAAW,KAE9BnoC,KAAK+O,QAAQ44B,OACnB,IAAK,OACH3nC,KAAKswB,IAAIH,QAAQ5iB,MAAM1F,KAAO,GAC9B,MAEF,KAAK,QACH7H,KAAKswB,IAAIH,QAAQ5iB,MAAM1F,KAAOrD,KAAKJ,IAAK+jC,EAAWzX,EAAe,EAAI1wB,KAAK+O,QAAQwV,QAAU,GAAK,IAClG,MAEF,KAAK,SACHvkB,KAAKswB,IAAIH,QAAQ5iB,MAAM1F,KAAOrD,KAAKJ,KAAK+jC,EAAWzX,EAAe,EAAI1wB,KAAK+O,QAAQwV,SAAW,EAAG,GAAK,IACtG,MAEF,SAIM0jB,EAFAjoC,KAAKokB,SACHjU,EAAM,EACM3L,KAAKJ,KAAK8L,EAAO,IAGhBwgB,EAIL,EAARxgB,EACY1L,KAAKL,KAAK+L,EACnBC,EAAMD,EAAQwgB,EAAe,EAAI1wB,KAAK+O,QAAQwV,SAIrC,EAGlBvkB,KAAKswB,IAAIH,QAAQ5iB,MAAM1F,KAAOogC,EAAc,OAQlD3lC,EAAUmR,UAAUwyB,YAAc,WAChC,GAAInR,GAAc90B,KAAK+O,QAAQ+lB,YAC3BuS,EAAMrnC,KAAKswB,IAAI+W,GAGjBA,GAAI95B,MAAMtF,IADO,OAAf6sB,EACc90B,KAAKiI,IAAM,KAGVjI,KAAKqlC,OAAOvyB,OAAS9S,KAAKiI,IAAMjI,KAAK8S,OAAU,MAQpExQ,EAAUmR,UAAUs0B,iBAAmB,WACrC,GAAI/nC,KAAKslC,UAAYtlC,KAAK+O,QAAQq3B,SAASgC,aAAepoC,KAAKswB,IAAI+X,SAAU,CAE3E,GAAIA,GAAWx2B,SAASM,cAAc,MACtCk2B,GAASjgC,UAAY,YACrBigC,EAASC,aAAetoC,KAGxBylC,EAAO4C,GACLz+B,gBAAgB,IACfiK,GAAG,OAAQ,cAId7T,KAAKswB,IAAI+W,IAAIt1B,YAAYs2B,GACzBroC,KAAKswB,IAAI+X,SAAWA,OAEZroC,KAAKslC,UAAYtlC,KAAKswB,IAAI+X,WAE9BroC,KAAKswB,IAAI+X,SAASl+B,YACpBnK,KAAKswB,IAAI+X,SAASl+B,WAAWsH,YAAYzR,KAAKswB,IAAI+X,UAEpDroC,KAAKswB,IAAI+X,SAAW,OAQxB/lC,EAAUmR,UAAUu0B,kBAAoB,WACtC,GAAIhoC,KAAKslC,UAAYtlC,KAAK+O,QAAQq3B,SAASgC,aAAepoC,KAAKswB,IAAIiY,UAAW,CAE5E,GAAIA,GAAY12B,SAASM,cAAc,MACvCo2B,GAAUngC,UAAY,aACtBmgC,EAAUC,cAAgBxoC,KAG1BylC,EAAO8C,GACL3+B,gBAAgB,IACfiK,GAAG,OAAQ,cAId7T,KAAKswB,IAAI+W,IAAIt1B,YAAYw2B,GACzBvoC,KAAKswB,IAAIiY,UAAYA,OAEbvoC,KAAKslC,UAAYtlC,KAAKswB,IAAIiY,YAE9BvoC,KAAKswB,IAAIiY,UAAUp+B,YACrBnK,KAAKswB,IAAIiY,UAAUp+B,WAAWsH,YAAYzR,KAAKswB,IAAIiY,WAErDvoC,KAAKswB,IAAIiY,UAAY,OAIzB1oC,EAAOD,QAAU0C,GAKb,SAASzC,GAOb,QAAS0C,KACPvC,KAAK+O,QAAU,KACf/O,KAAKqG,MAAQ,KAQf9D,EAAUkR,UAAUD,WAAa,SAASzE,GACpCA,GACFpO,KAAKgF,OAAO3F,KAAK+O,QAASA,IAQ9BxM,EAAUkR,UAAUuO,OAAS,WAE3B,OAAO,GAMTzf,EAAUkR,UAAUG,QAAU,aAU9BrR,EAAUkR,UAAUg1B,WAAa,WAC/B,GAAIC,GAAW1oC,KAAKqG,MAAMsiC,iBAAmB3oC,KAAKqG,MAAMwM,OACpD7S,KAAKqG,MAAMuiC,kBAAoB5oC,KAAKqG,MAAMyM,MAK9C,OAHA9S,MAAKqG,MAAMsiC,eAAiB3oC,KAAKqG,MAAMwM,MACvC7S,KAAKqG,MAAMuiC,gBAAkB5oC,KAAKqG,MAAMyM,OAEjC41B,GAGT7oC,EAAOD,QAAU2C,GAKb,SAAS1C,EAAQD,EAASM,GAe9B,QAASsC,GAAa0yB,EAAMnmB,GAC1B/O,KAAKk1B,KAAOA,EAGZl1B,KAAK40B,gBACHiU,iBAAiB,EAEjBC,QAASA,EACT5D,OAAQ,MAEVllC,KAAK+O,QAAUpO,EAAKgF,UAAW3F,KAAK40B,gBACpC50B,KAAKkqB,OAAS,EAEdlqB,KAAKi1B,UAELj1B,KAAKwT,WAAWzE,GA5BlB,GAAIpO,GAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChC2D,EAAS3D,EAAoB,IAC7B4oC,EAAU5oC,EAAoB,GA4BlCsC,GAAYiR,UAAY,GAAIlR,GAM5BC,EAAYiR,UAAUwhB,QAAU,WAC9B,GAAI7C,GAAMvgB,SAASM,cAAc,MACjCigB,GAAIhqB,UAAY,cAChBgqB,EAAI7kB,MAAM4W,SAAW,WACrBiO,EAAI7kB,MAAMtF,IAAM,MAChBmqB,EAAI7kB,MAAMuF,OAAS,OAEnB9S,KAAKoyB,IAAMA,GAMb5vB,EAAYiR,UAAUG,QAAU,WAC9B5T,KAAK+O,QAAQ85B,iBAAkB,EAC/B7oC,KAAKgiB,SAELhiB,KAAKk1B,KAAO,MAQd1yB,EAAYiR,UAAUD,WAAa,SAASzE,GACtCA,GAEFpO,EAAKyF,iBAAiB,kBAAmB,SAAU,WAAYpG,KAAK+O,QAASA,IAQjFvM,EAAYiR,UAAUuO,OAAS,WAC7B,GAAIhiB,KAAK+O,QAAQ85B,gBAAiB,CAChC,GAAIxD,GAASrlC,KAAKk1B,KAAK5E,IAAIyY,kBACvB/oC,MAAKoyB,IAAIjoB,YAAck7B,IAErBrlC,KAAKoyB,IAAIjoB,YACXnK,KAAKoyB,IAAIjoB,WAAWsH,YAAYzR,KAAKoyB,KAEvCiT,EAAOtzB,YAAY/R,KAAKoyB,KAExBpyB,KAAKkQ,QAGP,IAAI2tB,GAAM,GAAIj5B,OAAK,GAAIA,OAAOyC,UAAYrH,KAAKkqB,QAC3C7X,EAAIrS,KAAKk1B,KAAKv0B,KAAK80B,SAASoI,GAE5BqH,EAASllC,KAAK+O,QAAQ+5B,QAAQ9oC,KAAK+O,QAAQm2B,QAC3CoB,EAAQpB,EAAO1K,QAAU,IAAM0K,EAAOrK,KAAO,KAAOh3B,EAAOg6B,GAAKuE,OAAO,8BAC3EkE,GAAQA,EAAM3gB,OAAO,GAAGqjB,cAAgB1C,EAAM2C,UAAU,GAExDjpC,KAAKoyB,IAAI7kB,MAAM1F,KAAOwK,EAAI,KAC1BrS,KAAKoyB,IAAIkU,MAAQA,MAIbtmC,MAAKoyB,IAAIjoB,YACXnK,KAAKoyB,IAAIjoB,WAAWsH,YAAYzR,KAAKoyB,KAEvCpyB,KAAKylB,MAGP,QAAO,GAMTjjB,EAAYiR,UAAUvD,MAAQ,WAG5B,QAASiF,KACPV,EAAGgR,MAGH,IAAIlhB,GAAQkQ,EAAGygB,KAAKe,MAAM6E,WAAWrmB,EAAGygB,KAAKC,SAAS1I,OAAO5Z,OAAOtO,MAChEwuB,EAAW,EAAIxuB,EAAQ,EACZ,IAAXwuB,IAAiBA,EAAW,IAC5BA,EAAW,MAAMA,EAAW,KAEhCte,EAAGuN,SAGHvN,EAAGy0B,iBAAmBpvB,WAAW3E,EAAQ4d,GAd3C,GAAIte,GAAKzU,IAiBTmV,MAMF3S,EAAYiR,UAAUgS,KAAO,WACG5e,SAA1B7G,KAAKkpC,mBACPrvB,aAAa7Z,KAAKkpC,wBACXlpC,MAAKkpC,mBAUhB1mC,EAAYiR,UAAU01B,eAAiB,SAAStO,GAC9C,GAAIzsB,GAAIzN,EAAKuG,QAAQ2zB,EAAM,QAAQxzB,UAC/Bw2B,GAAM,GAAIj5B,OAAOyC,SACrBrH,MAAKkqB,OAAS9b,EAAIyvB,EAClB79B,KAAKgiB,UAOPxf,EAAYiR,UAAU21B,eAAiB,WACrC,MAAO,IAAIxkC,OAAK,GAAIA,OAAOyC,UAAYrH,KAAKkqB,SAG9CrqB,EAAOD,QAAU4C,GAKb,SAAS3C,EAAQD,EAASM,GAiB9B,QAASuC,GAAYyyB,EAAMnmB,GACzB/O,KAAKk1B,KAAOA,EAGZl1B,KAAK40B,gBACHyU,gBAAgB,EAChBP,QAASA,EACT5D,OAAQ,MAEVllC,KAAK+O,QAAUpO,EAAKgF,UAAW3F,KAAK40B,gBAEpC50B,KAAKm2B,WAAa,GAAIvxB,MACtB5E,KAAKspC,eAGLtpC,KAAKi1B,UAELj1B,KAAKwT,WAAWzE,GAhClB,GAAI02B,GAASvlC,EAAoB,IAC7BS,EAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChC2D,EAAS3D,EAAoB,IAC7B4oC,EAAU5oC,EAAoB,GA+BlCuC,GAAWgR,UAAY,GAAIlR,GAO3BE,EAAWgR,UAAUD,WAAa,SAASzE,GACrCA,GAEFpO,EAAKyF,iBAAiB,iBAAkB,SAAU,WAAYpG,KAAK+O,QAASA,IAQhFtM,EAAWgR,UAAUwhB,QAAU,WAC7B,GAAI7C,GAAMvgB,SAASM,cAAc,MACjCigB,GAAIhqB,UAAY,aAChBgqB,EAAI7kB,MAAM4W,SAAW,WACrBiO,EAAI7kB,MAAMtF,IAAM,MAChBmqB,EAAI7kB,MAAMuF,OAAS,OACnB9S,KAAKoyB,IAAMA,CAEX,IAAImX,GAAO13B,SAASM,cAAc,MAClCo3B,GAAKh8B,MAAM4W,SAAW,WACtBolB,EAAKh8B,MAAMtF,IAAM,MACjBshC,EAAKh8B,MAAM1F,KAAO,QAClB0hC,EAAKh8B,MAAMuF,OAAS,OACpBy2B,EAAKh8B,MAAMsF,MAAQ,OACnBuf,EAAIrgB,YAAYw3B,GAGhBvpC,KAAK8D,OAAS2hC,EAAOrT,GACnBoX,iBAAiB,IAEnBxpC,KAAK8D,OAAO+P,GAAG,YAAa7T,KAAK0+B,aAAarJ,KAAKr1B,OACnDA,KAAK8D,OAAO+P,GAAG,OAAa7T,KAAK2+B,QAAQtJ,KAAKr1B,OAC9CA,KAAK8D,OAAO+P,GAAG,UAAa7T,KAAK4+B,WAAWvJ,KAAKr1B,QAMnDyC,EAAWgR,UAAUG,QAAU,WAC7B5T,KAAK+O,QAAQs6B,gBAAiB,EAC9BrpC,KAAKgiB,SAELhiB,KAAK8D,OAAOkgC,QAAO,GACnBhkC,KAAK8D,OAAS,KAEd9D,KAAKk1B,KAAO,MAOdzyB,EAAWgR,UAAUuO,OAAS,WAC5B,GAAIhiB,KAAK+O,QAAQs6B,eAAgB,CAC/B,GAAIhE,GAASrlC,KAAKk1B,KAAK5E,IAAIyY,kBACvB/oC,MAAKoyB,IAAIjoB,YAAck7B,IAErBrlC,KAAKoyB,IAAIjoB,YACXnK,KAAKoyB,IAAIjoB,WAAWsH,YAAYzR,KAAKoyB,KAEvCiT,EAAOtzB,YAAY/R,KAAKoyB,KAG1B,IAAI/f,GAAIrS,KAAKk1B,KAAKv0B,KAAK80B,SAASz1B,KAAKm2B,YAEjC+O,EAASllC,KAAK+O,QAAQ+5B,QAAQ9oC,KAAK+O,QAAQm2B,QAC3CoB,EAAQpB,EAAOrK,KAAO,KAAOh3B,EAAO7D,KAAKm2B,YAAYiM,OAAO,8BAChEkE,GAAQA,EAAM3gB,OAAO,GAAGqjB,cAAgB1C,EAAM2C,UAAU,GAExDjpC,KAAKoyB,IAAI7kB,MAAM1F,KAAOwK,EAAI,KAC1BrS,KAAKoyB,IAAIkU,MAAQA,MAIbtmC,MAAKoyB,IAAIjoB,YACXnK,KAAKoyB,IAAIjoB,WAAWsH,YAAYzR,KAAKoyB,IAIzC,QAAO,GAOT3vB,EAAWgR,UAAUg2B,cAAgB,SAAS5O,GAC5C76B,KAAKm2B,WAAax1B,EAAKuG,QAAQ2zB,EAAM,QACrC76B,KAAKgiB,UAOPvf,EAAWgR,UAAUi2B,cAAgB,WACnC,MAAO,IAAI9kC,MAAK5E,KAAKm2B,WAAW9uB,YAQlC5E,EAAWgR,UAAUirB,aAAe,SAAS70B,GAC3C7J,KAAKspC,YAAY1J,UAAW,EAC5B5/B,KAAKspC,YAAYnT,WAAan2B,KAAKm2B,WAEnCtsB,EAAM28B,kBACN38B,EAAMD,kBAQRnH,EAAWgR,UAAUkrB,QAAU,SAAU90B,GACvC,GAAK7J,KAAKspC,YAAY1J,SAAtB,CAEA,GAAIU,GAASz2B,EAAMw2B,QAAQC,OACvBjuB,EAAIrS,KAAKk1B,KAAKv0B,KAAK80B,SAASz1B,KAAKspC,YAAYnT,YAAcmK,EAC3DzF,EAAO76B,KAAKk1B,KAAKv0B,KAAKk1B,OAAOxjB,EAEjCrS,MAAKypC,cAAc5O,GAGnB76B,KAAKk1B,KAAKE,QAAQjH,KAAK,cACrB0M,KAAM,GAAIj2B,MAAK5E,KAAKm2B,WAAW9uB,aAGjCwC,EAAM28B,kBACN38B,EAAMD,mBAQRnH,EAAWgR,UAAUmrB,WAAa,SAAU/0B,GACrC7J,KAAKspC,YAAY1J,WAGtB5/B,KAAKk1B,KAAKE,QAAQjH,KAAK,eACrB0M,KAAM,GAAIj2B,MAAK5E,KAAKm2B,WAAW9uB,aAGjCwC,EAAM28B,kBACN38B,EAAMD,mBAGR/J,EAAOD,QAAU6C,GAKb,SAAS5C,EAAQD,EAASM,GAe9B,QAASwC,GAAUwyB,EAAMnmB,EAAS46B,EAAKC,GACrC5pC,KAAKK,GAAKM,EAAK2E,aACftF,KAAKk1B,KAAOA,EAEZl1B,KAAK40B,gBACHE,YAAa,OACb+U,iBAAiB,EACjBC,iBAAiB,EACjBC,OAAO,EACPC,iBAAkB,EAClBC,iBAAkB,EAClBC,aAAc,GACdC,aAAc,EACdC,UAAW,GACXv3B,MAAO,OACPoW,SAAS,EACTgT,YAAY,EACZD,aACEn0B,MAAO1D,IAAI0C,OAAWzC,IAAIyC,QAC1B+gB,OAAQzjB,IAAI0C,OAAWzC,IAAIyC,SAE7By/B,OACEz+B,MAAOiiB,KAAKjjB,QACZ+gB,OAAQkC,KAAKjjB,SAEfu7B,QACEv6B,MAAO41B,SAAU52B,QACjB+gB,OAAQ6V,SAAU52B,UAItB7G,KAAK4pC,iBAAmBA,EACxB5pC,KAAKqqC,aAAeV,EACpB3pC,KAAKqG,SACLrG,KAAKsqC,aACHC,SACAC,UACAlE,UAGFtmC,KAAKswB,OAELtwB,KAAKi2B,OAAS/lB,MAAM,EAAGC,IAAI,GAE3BnQ,KAAK+O,QAAUpO,EAAKgF,UAAW3F,KAAK40B,gBACpC50B,KAAKyqC,iBAAmB,EAExBzqC,KAAKwT,WAAWzE,GAChB/O,KAAK6S,MAAQ5O,QAAQ,GAAKjE,KAAK+O,QAAQ8D,OAAO/H,QAAQ,KAAK,KAC3D9K,KAAK0qC,SAAW1qC,KAAK6S,MACrB7S,KAAK8S,OAAS9S,KAAKqqC,aAAaxZ,aAChC7wB,KAAK45B,QAAS,EAEd55B,KAAK2qC,WAAa,GAClB3qC,KAAK4qC,iBAAmB,GACxB5qC,KAAK6qC,aAAe,GAEpB7qC,KAAK8qC,WAAa,EAClB9qC,KAAK+qC,QAAS,EACd/qC,KAAKgrC,eACLhrC,KAAKirC,cAAe,EAGpBjrC,KAAK00B,UACL10B,KAAKkrC,eAAiB,EAGtBlrC,KAAKi1B,SAEL,IAAIxgB,GAAKzU,IACTA,MAAKk1B,KAAKE,QAAQvhB,GAAG,eAAgB,WACnCY,EAAG6b,IAAI6a,cAAc59B,MAAMtF,IAAMwM,EAAGygB,KAAKC,SAASiW,UAAY,OApFlE,GAAIzqC,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BqC,EAAYrC,EAAoB,IAChC0B,EAAW1B,EAAoB,GAqFnCwC,GAAS+Q,UAAY,GAAIlR,GAGzBG,EAAS+Q,UAAU43B,SAAW,SAASriB,EAAOsiB,GACvCtrC,KAAK00B,OAAOvuB,eAAe6iB,KAC9BhpB,KAAK00B,OAAO1L,GAASsiB,GAEvBtrC,KAAKkrC,gBAAkB,GAGzBxoC,EAAS+Q,UAAU83B,YAAc,SAASviB,EAAOsiB,GAC/CtrC,KAAK00B,OAAO1L,GAASsiB,GAGvB5oC,EAAS+Q,UAAU+3B,YAAc,SAASxiB,GACpChpB,KAAK00B,OAAOvuB,eAAe6iB,WACtBhpB,MAAK00B,OAAO1L,GACnBhpB,KAAKkrC,gBAAkB,IAK3BxoC,EAAS+Q,UAAUD,WAAa,SAAUzE,GACxC,GAAIA,EAAS,CACX,GAAIiT,IAAS,CACThiB,MAAK+O,QAAQ+lB,aAAe/lB,EAAQ+lB,aAAuCjuB,SAAxBkI,EAAQ+lB,cAC7D9S,GAAS,EAEX,IAAIxT,IACF,cACA,kBACA,kBACA,QACA,mBACA,mBACA,eACA,eACA,YACA,QACA,UACA,cACA,QACA,SACA,aAEF7N,GAAKyF,gBAAgBoI,EAAQxO,KAAK+O,QAASA,GAE3C/O,KAAK0qC,SAAWzmC,QAAQ,GAAKjE,KAAK+O,QAAQ8D,OAAO/H,QAAQ,KAAK,KAEhD,GAAVkX,GAAkBhiB,KAAKswB,IAAIzQ,QAC7B7f,KAAK6lC,OACL7lC,KAAK8lC,UASXpjC,EAAS+Q,UAAUwhB,QAAU,WAC3Bj1B,KAAKswB,IAAIzQ,MAAQhO,SAASM,cAAc,OACxCnS,KAAKswB,IAAIzQ,MAAMtS,MAAMsF,MAAQ7S,KAAK+O,QAAQ8D,MAC1C7S,KAAKswB,IAAIzQ,MAAMtS,MAAMuF,OAAS9S,KAAK8S,OAEnC9S,KAAKswB,IAAI6a,cAAgBt5B,SAASM,cAAc,OAChDnS,KAAKswB,IAAI6a,cAAc59B,MAAMsF,MAAQ,OACrC7S,KAAKswB,IAAI6a,cAAc59B,MAAMuF,OAAS9S,KAAK8S,OAC3C9S,KAAKswB,IAAI6a,cAAc59B,MAAM4W,SAAW,WAGxCnkB,KAAK2pC,IAAM93B,SAASC,gBAAgB,6BAA6B,OACjE9R,KAAK2pC,IAAIp8B,MAAM4W,SAAW,WAC1BnkB,KAAK2pC,IAAIp8B,MAAMtF,IAAM,MACrBjI,KAAK2pC,IAAIp8B,MAAMuF,OAAS,OACxB9S,KAAK2pC,IAAIp8B,MAAMsF,MAAQ,OACvB7S,KAAK2pC,IAAIp8B,MAAMk+B,QAAU,QACzBzrC,KAAKswB,IAAIzQ,MAAM9N,YAAY/R,KAAK2pC,MAGlCjnC,EAAS+Q,UAAUi4B,kBAAoB,WACrC9qC,EAAQuQ,gBAAgBnR,KAAKgrC,YAE7B,IAAI34B,GACA+3B,EAAYpqC,KAAK+O,QAAQq7B,UACzBuB,EAAa,GACbC,EAAa,EACbt5B,EAAIs5B,EAAa,GAAMD,CAGzBt5B,GAD8B,QAA5BrS,KAAK+O,QAAQ+lB,YACX8W,EAGA5rC,KAAK6S,MAAQu3B,EAAYwB,CAG/B,KAAK,GAAI5T,KAAWh4B,MAAK00B,OACnB10B,KAAK00B,OAAOvuB,eAAe6xB,KACO,GAAhCh4B,KAAK00B,OAAOsD,GAAS/O,SAAkEpiB,SAA9C7G,KAAK4pC,iBAAiB1R,WAAWF,IAAuE,GAA7Ch4B,KAAK4pC,iBAAiB1R,WAAWF,KACvIh4B,KAAK00B,OAAOsD,GAAS6T,SAASx5B,EAAGC,EAAGtS,KAAKgrC,YAAahrC,KAAK2pC,IAAKS,EAAWuB,GAC3Er5B,GAAKq5B,EAAaC,GAKxBhrC,GAAQ4Q,gBAAgBxR,KAAKgrC,aAC7BhrC,KAAKirC,cAAe,GAGtBvoC,EAAS+Q,UAAUq4B,cAAgB,WACR,GAArB9rC,KAAKirC,eACPrqC,EAAQuQ,gBAAgBnR,KAAKgrC,aAC7BpqC,EAAQ4Q,gBAAgBxR,KAAKgrC,aAC7BhrC,KAAKirC,cAAe,IAOxBvoC,EAAS+Q,UAAUqyB,KAAO,WACxB9lC,KAAK45B,QAAS,EACT55B,KAAKswB,IAAIzQ,MAAM1V,aACc,QAA5BnK,KAAK+O,QAAQ+lB,YACf90B,KAAKk1B,KAAK5E,IAAIzoB,KAAKkK,YAAY/R,KAAKswB,IAAIzQ,OAGxC7f,KAAKk1B,KAAK5E,IAAI1I,MAAM7V,YAAY/R,KAAKswB,IAAIzQ,QAIxC7f,KAAKswB,IAAI6a,cAAchhC,YAC1BnK,KAAKk1B,KAAK5E,IAAIyb,qBAAqBh6B,YAAY/R,KAAKswB,IAAI6a,gBAO5DzoC,EAAS+Q,UAAUoyB,KAAO,WACxB7lC,KAAK45B,QAAS,EACV55B,KAAKswB,IAAIzQ,MAAM1V,YACjBnK,KAAKswB,IAAIzQ,MAAM1V,WAAWsH,YAAYzR,KAAKswB,IAAIzQ,OAG7C7f,KAAKswB,IAAI6a,cAAchhC,YACzBnK,KAAKswB,IAAI6a,cAAchhC,WAAWsH,YAAYzR,KAAKswB,IAAI6a,gBAU3DzoC,EAAS+Q,UAAUqgB,SAAW,SAAU5jB,EAAOC,GAC1B,GAAfnQ,KAAK+qC,QAA8C,GAA3B/qC,KAAK+O,QAAQktB,YAA2C,IAArBj8B,KAAK6qC,cAC9D36B,EAAQ,IACVA,EAAQ,GAGZlQ,KAAKi2B,MAAM/lB,MAAQA,EACnBlQ,KAAKi2B,MAAM9lB,IAAMA,GAOnBzN,EAAS+Q,UAAUuO,OAAS,WAC1B,GAAI0mB,IAAU,EACVsD,EAAe,CAGnBhsC,MAAKswB,IAAI6a,cAAc59B,MAAMtF,IAAMjI,KAAKk1B,KAAKC,SAASiW,UAAY,IAElE,KAAK,GAAIpT,KAAWh4B,MAAK00B,OACnB10B,KAAK00B,OAAOvuB,eAAe6xB,KACO,GAAhCh4B,KAAK00B,OAAOsD,GAAS/O,SAAkEpiB,SAA9C7G,KAAK4pC,iBAAiB1R,WAAWF,IAAuE,GAA7Ch4B,KAAK4pC,iBAAiB1R,WAAWF,IACvIgU,IAIN,IAA2B,GAAvBhsC,KAAKkrC,gBAAuC,GAAhBc,EAC9BhsC,KAAK6lC,WAEF,CACH7lC,KAAK8lC,OACL9lC,KAAK8S,OAAS7O,OAAOjE,KAAKqqC,aAAa98B,MAAMuF,OAAOhI,QAAQ,KAAK,KAGjE9K,KAAKswB,IAAI6a,cAAc59B,MAAMuF,OAAS9S,KAAK8S,OAAS,KACpD9S,KAAK6S,MAAgC,GAAxB7S,KAAK+O,QAAQka,QAAkBhlB,QAAQ,GAAKjE,KAAK+O,QAAQ8D,OAAO/H,QAAQ,KAAK,KAAO,CAEjG,IAAIzE,GAAQrG,KAAKqG,MACbwZ,EAAQ7f,KAAKswB,IAAIzQ,KAGrBA,GAAMzX,UAAY,WAGlBpI,KAAKisC,oBAEL,IAAInX,GAAc90B,KAAK+O,QAAQ+lB,YAC3B+U,EAAkB7pC,KAAK+O,QAAQ86B,gBAC/BC,EAAkB9pC,KAAK+O,QAAQ+6B,eAGnCzjC,GAAM6lC,iBAAmBrC,EAAkBxjC,EAAM8lC,gBAAkB,EACnE9lC,EAAM+lC,iBAAmBtC,EAAkBzjC,EAAMgmC,gBAAkB,EAEnEhmC,EAAMimC,eAAiBtsC,KAAKk1B,KAAK5E,IAAIyb,qBAAqBpb,YAAc3wB,KAAK8qC,WAAa9qC,KAAK6S,MAAQ,EAAI7S,KAAK+O,QAAQk7B,iBACxH5jC,EAAMkmC,gBAAkB,EACxBlmC,EAAMmmC,eAAiBxsC,KAAKk1B,KAAK5E,IAAIyb,qBAAqBpb,YAAc3wB,KAAK8qC,WAAa9qC,KAAK6S,MAAQ,EAAI7S,KAAK+O,QAAQi7B,iBACxH3jC,EAAMomC,gBAAkB,EAGL,QAAf3X,GACFjV,EAAMtS,MAAMtF,IAAM,IAClB4X,EAAMtS,MAAM1F,KAAO,IACnBgY,EAAMtS,MAAMsW,OAAS,GACrBhE,EAAMtS,MAAMsF,MAAQ7S,KAAK6S,MAAQ,KACjCgN,EAAMtS,MAAMuF,OAAS9S,KAAK8S,OAAS,KACnC9S,KAAKqG,MAAMwM,MAAQ7S,KAAKk1B,KAAKC,SAASttB,KAAKgL,MAC3C7S,KAAKqG,MAAMyM,OAAS9S,KAAKk1B,KAAKC,SAASttB,KAAKiL,SAG5C+M,EAAMtS,MAAMtF,IAAM,GAClB4X,EAAMtS,MAAMsW,OAAS,IACrBhE,EAAMtS,MAAM1F,KAAO,IACnBgY,EAAMtS,MAAMsF,MAAQ7S,KAAK6S,MAAQ,KACjCgN,EAAMtS,MAAMuF,OAAS9S,KAAK8S,OAAS,KACnC9S,KAAKqG,MAAMwM,MAAQ7S,KAAKk1B,KAAKC,SAASvN,MAAM/U,MAC5C7S,KAAKqG,MAAMyM,OAAS9S,KAAKk1B,KAAKC,SAASvN,MAAM9U,QAG/C41B,EAAU1oC,KAAK0sC,gBACfhE,EAAU1oC,KAAKyoC,cAAgBC,EAEL,GAAtB1oC,KAAK+O,QAAQg7B,MACf/pC,KAAK0rC,oBAGL1rC,KAAK8rC,gBAGP9rC,KAAK2sC,aAAa7X;CAEpB,MAAO4T,IAOThmC,EAAS+Q,UAAUi5B,cAAgB,WACjC,GAAIhE,IAAU,CACd9nC,GAAQuQ,gBAAgBnR,KAAKsqC,YAAYC,OACzC3pC,EAAQuQ,gBAAgBnR,KAAKsqC,YAAYE,OAEzC,IAAI1V,GAAc90B,KAAK+O,QAAqB,YAGxC+sB,EAAc97B,KAAK+qC,OAAS/qC,KAAKqG,MAAMgmC,iBAAmB,GAAKrsC,KAAK4qC,iBAEpEliB,EAAO,GAAI9mB,GACb5B,KAAKi2B,MAAM/lB,MACXlQ,KAAKi2B,MAAM9lB,IACX2rB,EACA97B,KAAKswB,IAAIzQ,MAAMgR,aACf7wB,KAAK+O,QAAQitB,YAAYh8B,KAAK+O,QAAQ+lB,aACvB,GAAf90B,KAAK+qC,QAAmB/qC,KAAK+O,QAAQktB,WAGvCj8B,MAAK0oB,KAAOA,CAGZ,IAAIiiB,IAAc3qC,KAAKswB,IAAIzQ,MAAMgR,aAAgBnI,EAAK4T,WAAat8B,KAAKswB,IAAIzQ,MAAMgR,aAAenI,EAAK2U,gBAAoB3U,EAAK2U,YAAc3U,EAAK4T,WAAa5T,EAAKA,KAEpK1oB,MAAK2qC,WAAaA,CAElB,IAAIiC,GAAgB5sC,KAAK8S,OAAS63B,EAC9BkC,EAAiB,CAGrB,IAAmB,GAAf7sC,KAAK+qC,OAAiB,CACxBJ,EAAa3qC,KAAK4qC,iBAClBiC,EAAiBroC,KAAKypB,MAAOjuB,KAAKswB,IAAIzQ,MAAMgR,aAAe8Z,EAAciC,EACzE,KAAK,GAAI/mC,GAAI,EAAO,GAAMgnC,EAAVhnC,EAA0BA,IACxC6iB,EAAK8U,UAIP,IAFAoP,EAAgB5sC,KAAK8S,OAAS63B,EAEL,IAArB3qC,KAAK6qC,cAAiD,GAA3B7qC,KAAK+O,QAAQktB,WAAoB,CAC9D,GAAI6Q,GAAsBpkB,EAAK2T,UAAY3T,EAAKA,KAAQ1oB,KAAK6qC,YAC7D,IAAIiC,EAAqB,EACvB,IAAK,GAAIjnC,GAAI,EAAOinC,EAAJjnC,EAAwBA,IAAM6iB,EAAKE,WAEhD,IAAyB,EAArBkkB,EACP,IAAK,GAAIjnC,GAAI,GAAQinC,EAALjnC,EAAyBA,IAAM6iB,EAAK8U,gBAKxDoP,IAAiB,GAInB5sC,MAAK+sC,YAAcrkB,EAAK2T,SACxB,IAMIoB,GANAuP,EAAiB,EAGjB5oC,EAAM,CAI8ByC,UAArC7G,KAAK+O,QAAQqzB,OAAOtN,KACrB2I,EAAWz9B,KAAK+O,QAAQqzB,OAAOtN,GAAa2I,UAG9Cz9B,KAAKitC,aAAe,CAEpB,KADA,GAAI36B,GAAI,EACDlO,EAAMI,KAAKypB,MAAM2e,IAAgB,CACtClkB,EAAKE,OACLtW,EAAI9N,KAAKypB,MAAM7pB,EAAMumC,GACrBqC,EAAiB5oC,EAAMumC,CACvB,IAAI/M,GAAUlV,EAAKkV,WAEf59B,KAAK+O,QAAyB,iBAAgB,GAAX6uB,GAAmC,GAAf59B,KAAK+qC,QAAsD,GAAnC/qC,KAAK+O,QAAyB,kBAC/G/O,KAAKktC,aAAa56B,EAAI,EAAGoW,EAAKC,WAAW8U,GAAW3I,EAAa,cAAe90B,KAAKqG,MAAM8lC,iBAGzFvO,GAAW59B,KAAK+O,QAAyB,iBAAoB,GAAf/O,KAAK+qC,QAChB,GAAnC/qC,KAAK+O,QAAyB,iBAA6B,GAAf/O,KAAK+qC,QAA8B,GAAXnN,GAClEtrB,GAAK,GACPtS,KAAKktC,aAAa56B,EAAI,EAAGoW,EAAKC,WAAW8U,GAAW3I,EAAa,cAAe90B,KAAKqG,MAAMgmC,iBAE7FrsC,KAAKmtC,YAAY76B,EAAGwiB,EAAa,wBAAyB90B,KAAK+O,QAAQi7B,iBAAkBhqC,KAAKqG,MAAMmmC,iBAGpGxsC,KAAKmtC,YAAY76B,EAAGwiB,EAAa,wBAAyB90B,KAAK+O,QAAQk7B,iBAAkBjqC,KAAKqG,MAAMimC,gBAGnF,GAAftsC,KAAK+qC,QAAkC,GAAhBriB,EAAK8R,UAC9Bx6B,KAAK6qC,aAAezmC,GAGtBA,IAIApE,KAAKyqC,iBADY,GAAfzqC,KAAK+qC,OACiBz4B,GAAKtS,KAAK+sC,YAAcrkB,EAAK8R,SAG7Bx6B,KAAKswB,IAAIzQ,MAAMgR,aAAenI,EAAK2U,WAI7D,IAAI+P,GAAa,CACuBvmC,UAApC7G,KAAK+O,QAAQu3B,MAAMxR,IAAuEjuB,SAAzC7G,KAAK+O,QAAQu3B,MAAMxR,GAAahL,OACnFsjB,EAAaptC,KAAKqG,MAAMgnC,gBAE1B,IAAInjB,GAA+B,GAAtBlqB,KAAK+O,QAAQg7B,MAAgBvlC,KAAKJ,IAAIpE,KAAK+O,QAAQq7B,UAAWgD,GAAcptC,KAAK+O,QAAQm7B,aAAe,GAAKkD,EAAaptC,KAAK+O,QAAQm7B,aAAe,EA0BnK,OAvBIlqC,MAAKitC,aAAgBjtC,KAAK6S,MAAQqX,GAAmC,GAAxBlqB,KAAK+O,QAAQka,SAC5DjpB,KAAK6S,MAAQ7S,KAAKitC,aAAe/iB,EACjClqB,KAAK+O,QAAQ8D,MAAQ7S,KAAK6S,MAAQ,KAClCjS,EAAQ4Q,gBAAgBxR,KAAKsqC,YAAYC,OACzC3pC,EAAQ4Q,gBAAgBxR,KAAKsqC,YAAYE,QACzCxqC,KAAKgiB,SACL0mB,GAAU,GAGH1oC,KAAKitC,aAAgBjtC,KAAK6S,MAAQqX,GAAmC,GAAxBlqB,KAAK+O,QAAQka,SAAmBjpB,KAAK6S,MAAQ7S,KAAK0qC,UACtG1qC,KAAK6S,MAAQrO,KAAKJ,IAAIpE,KAAK0qC,SAAS1qC,KAAKitC,aAAe/iB,GACxDlqB,KAAK+O,QAAQ8D,MAAQ7S,KAAK6S,MAAQ,KAClCjS,EAAQ4Q,gBAAgBxR,KAAKsqC,YAAYC,OACzC3pC,EAAQ4Q,gBAAgBxR,KAAKsqC,YAAYE,QACzCxqC,KAAKgiB,SACL0mB,GAAU,IAGV9nC,EAAQ4Q,gBAAgBxR,KAAKsqC,YAAYC,OACzC3pC,EAAQ4Q,gBAAgBxR,KAAKsqC,YAAYE,QACzC9B,GAAU,GAGLA,GAGThmC,EAAS+Q,UAAU65B,aAAe,SAAUhpC,GAC1C,GAAIipC,GAAgBvtC,KAAK+sC,YAAczoC,EACnCkpC,EAAiBD,EAAgBvtC,KAAKyqC,gBAC1C,OAAO+C,IAYT9qC,EAAS+Q,UAAUy5B,aAAe,SAAU56B,EAAGwX,EAAMgL,EAAa1sB,EAAWqlC,GAE3E,GAAIzkB,GAAQpoB,EAAQoR,cAAc,MAAMhS,KAAKsqC,YAAYE,OAAQxqC,KAAKswB,IAAIzQ,MAC1EmJ,GAAM5gB,UAAYA,EAClB4gB,EAAMxE,UAAYsF,EACC,QAAfgL,GACF9L,EAAMzb,MAAM1F,KAAO,IAAM7H,KAAK+O,QAAQm7B,aAAe,KACrDlhB,EAAMzb,MAAMsb,UAAY,UAGxBG,EAAMzb,MAAMqa,MAAQ,IAAM5nB,KAAK+O,QAAQm7B,aAAe,KACtDlhB,EAAMzb,MAAMsb,UAAY,QAG1BG,EAAMzb,MAAMtF,IAAMqK,EAAI,GAAMm7B,EAAkBztC,KAAK+O,QAAQo7B,aAAe,KAE1ErgB,GAAQ,EAER,IAAI4jB,GAAelpC,KAAKJ,IAAIpE,KAAKqG,MAAMsnC,eAAe3tC,KAAKqG,MAAMunC,eAC7D5tC,MAAKitC,aAAenjB,EAAK9jB,OAAS0nC,IACpC1tC,KAAKitC,aAAenjB,EAAK9jB,OAAS0nC,IAYtChrC,EAAS+Q,UAAU05B,YAAc,SAAU76B,EAAGwiB,EAAa1sB,EAAW8hB,EAAQrX,GAC5E,GAAmB,GAAf7S,KAAK+qC,OAAgB,CACvB,GAAI3a,GAAOxvB,EAAQoR,cAAc,MAAMhS,KAAKsqC,YAAYC,MAAOvqC,KAAKswB,IAAI6a,cACxE/a,GAAKhoB,UAAYA,EACjBgoB,EAAK5L,UAAY,GAEE,QAAfsQ,EACF1E,EAAK7iB,MAAM1F,KAAQ7H,KAAK6S,MAAQqX,EAAU,KAG1CkG,EAAK7iB,MAAMqa,MAAS5nB,KAAK6S,MAAQqX,EAAU,KAG7CkG,EAAK7iB,MAAMsF,MAAQA,EAAQ,KAC3Bud,EAAK7iB,MAAMtF,IAAMqK,EAAI,OASzB5P,EAAS+Q,UAAUk5B,aAAe,SAAU7X,GAI1C,GAHAl0B,EAAQuQ,gBAAgBnR,KAAKsqC,YAAYhE,OAGDz/B,SAApC7G,KAAK+O,QAAQu3B,MAAMxR,IAAuEjuB,SAAzC7G,KAAK+O,QAAQu3B,MAAMxR,GAAahL,KAAoB,CACvG,GAAIwc,GAAQ1lC,EAAQoR,cAAc,MAAOhS,KAAKsqC,YAAYhE,MAAOtmC,KAAKswB,IAAIzQ,MAC1EymB,GAAMl+B,UAAY,eAAiB0sB,EACnCwR,EAAM9hB,UAAYxkB,KAAK+O,QAAQu3B,MAAMxR,GAAahL,KAGJjjB,SAA1C7G,KAAK+O,QAAQu3B,MAAMxR,GAAavnB,OAClC5M,EAAKiN,WAAW04B,EAAOtmC,KAAK+O,QAAQu3B,MAAMxR,GAAavnB,OAGtC,QAAfunB,EACFwR,EAAM/4B,MAAM1F,KAAO7H,KAAKqG,MAAMgnC,gBAAkB,KAGhD/G,EAAM/4B,MAAMqa,MAAQ5nB,KAAKqG,MAAMgnC,gBAAkB,KAGnD/G,EAAM/4B,MAAMsF,MAAQ7S,KAAK8S,OAAS,KAIpClS,EAAQ4Q,gBAAgBxR,KAAKsqC,YAAYhE,QAW3C5jC,EAAS+Q,UAAUw4B,mBAAqB,WAEtC,KAAM,mBAAqBjsC,MAAKqG,OAAQ,CACtC,GAAIwnC,GAAYh8B,SAASi8B,eAAe,KACpCC,EAAmBl8B,SAASM,cAAc,MAC9C47B,GAAiB3lC,UAAY,sBAC7B2lC,EAAiBh8B,YAAY87B,GAC7B7tC,KAAKswB,IAAIzQ,MAAM9N,YAAYg8B,GAE3B/tC,KAAKqG,MAAM8lC,gBAAkB4B,EAAiB3oB,aAC9CplB,KAAKqG,MAAMunC,eAAiBG,EAAiBhuB,YAE7C/f,KAAKswB,IAAIzQ,MAAMpO,YAAYs8B,GAG7B,KAAM,mBAAqB/tC,MAAKqG,OAAQ,CACtC,GAAI2nC,GAAYn8B,SAASi8B,eAAe,KACpCG,EAAmBp8B,SAASM,cAAc,MAC9C87B,GAAiB7lC,UAAY,sBAC7B6lC,EAAiBl8B,YAAYi8B,GAC7BhuC,KAAKswB,IAAIzQ,MAAM9N,YAAYk8B,GAE3BjuC,KAAKqG,MAAMgmC,gBAAkB4B,EAAiB7oB,aAC9CplB,KAAKqG,MAAMsnC,eAAiBM,EAAiBluB,YAE7C/f,KAAKswB,IAAIzQ,MAAMpO,YAAYw8B,GAG7B,KAAM,mBAAqBjuC,MAAKqG,OAAQ,CACtC,GAAI6nC,GAAYr8B,SAASi8B,eAAe,KACpCK,EAAmBt8B,SAASM,cAAc,MAC9Cg8B,GAAiB/lC,UAAY,sBAC7B+lC,EAAiBp8B,YAAYm8B,GAC7BluC,KAAKswB,IAAIzQ,MAAM9N,YAAYo8B,GAE3BnuC,KAAKqG,MAAMgnC,gBAAkBc,EAAiB/oB,aAC9CplB,KAAKqG,MAAM+nC,eAAiBD,EAAiBpuB,YAE7C/f,KAAKswB,IAAIzQ,MAAMpO,YAAY08B,KAI/BtuC,EAAOD,QAAU8C,GAKb,SAAS7C,EAAQD,EAASM,GAkB9B,QAASyC,GAAY4P,EAAOylB,EAASjpB,EAASs/B,GAC5CruC,KAAKK,GAAK23B,CACV,IAAIxpB,IAAU,WAAW,QAAQ,OAAO,mBAAmB,WAAW,aAAa,SAAS,aAC5FxO,MAAK+O,QAAUpO,EAAK4N,sBAAsBC,EAAOO,GACjD/O,KAAKsuC,kBAAwCznC,SAApB0L,EAAMnK,UAC/BpI,KAAKquC,yBAA2BA,EAChCruC,KAAKuuC,aAAe,EACpBvuC,KAAKmV,OAAO5C,GACkB,GAA1BvS,KAAKsuC,oBACPtuC,KAAKquC,yBAAyB,IAAM,GAEtCruC,KAAKq2B,aACLr2B,KAAKipB,QAA4BpiB,SAAlB0L,EAAM0W,SAAwB,EAAO1W,EAAM0W,QA5B5D,GAAItoB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BsuC,EAAOtuC,EAAoB,IAC3BuuC,EAAMvuC,EAAoB,IAC1BwuC,EAASxuC,EAAoB,GAgCjCyC,GAAW8Q,UAAU+iB,SAAW,SAASv0B,GAC1B,MAATA,GACFjC,KAAKq2B,UAAYp0B,EACQ,GAArBjC,KAAK+O,QAAQyH,MACfxW,KAAKq2B,UAAU7f,KAAK,SAAU5Q,EAAEa,GAAI,MAAOb,GAAEyM,EAAI5L,EAAE4L,KAIrDrS,KAAKq2B,cAST1zB,EAAW8Q,UAAUk7B,gBAAkB,SAAS7oB,GAC9C9lB,KAAKuuC,aAAezoB,GAQtBnjB,EAAW8Q,UAAUD,WAAa,SAASzE,GACzC,GAAgBlI,SAAZkI,EAAuB,CACzB,GAAIP,IAAU,WAAW,QAAQ,OAAO,mBAAmB,WAC3D7N,GAAK6F,oBAAoBgI,EAAQxO,KAAK+O,QAASA,GAE/CpO,EAAKkO,aAAa7O,KAAK+O,QAASA,EAAQ,cACxCpO,EAAKkO,aAAa7O,KAAK+O,QAASA,EAAQ,cACxCpO,EAAKkO,aAAa7O,KAAK+O,QAASA,EAAQ,UAEpCA,EAAQ6/B,YACuB,gBAAtB7/B,GAAQ6/B,YACb7/B,EAAQ6/B,WAAWC,kBACqB,WAAtC9/B,EAAQ6/B,WAAWC,gBACrB7uC,KAAK+O,QAAQ6/B,WAAWE,MAAQ,EAEa,WAAtC//B,EAAQ6/B,WAAWC,gBAC1B7uC,KAAK+O,QAAQ6/B,WAAWE,MAAQ,GAGhC9uC,KAAK+O,QAAQ6/B,WAAWC,gBAAkB,cAC1C7uC,KAAK+O,QAAQ6/B,WAAWE,MAAQ,KAOhB,QAAtB9uC,KAAK+O,QAAQxB,MACfvN,KAAKmH,KAAO,GAAIqnC,GAAKxuC,KAAKK,GAAIL,KAAK+O,SAEN,OAAtB/O,KAAK+O,QAAQxB,MACpBvN,KAAKmH,KAAO,GAAIsnC,GAAIzuC,KAAKK,GAAIL,KAAK+O,SAEL,UAAtB/O,KAAK+O,QAAQxB,QACpBvN,KAAKmH,KAAO,GAAIunC,GAAO1uC,KAAKK,GAAIL,KAAK+O,WASzCpM,EAAW8Q,UAAU0B,OAAS,SAAS5C,GACrCvS,KAAKuS,MAAQA,EACbvS,KAAKmwB,QAAU5d,EAAM4d,SAAW,QAChCnwB,KAAKoI,UAAYmK,EAAMnK,WAAapI,KAAKoI,WAAa,aAAepI,KAAKquC,yBAAyB,GAAK,GACxGruC,KAAKipB,QAA4BpiB,SAAlB0L,EAAM0W,SAAwB,EAAO1W,EAAM0W,QAC1DjpB,KAAKuN,MAAQgF,EAAMhF,MACnBvN,KAAKwT,WAAWjB,EAAMxD,UAcxBpM,EAAW8Q,UAAUo4B,SAAW,SAASx5B,EAAGC,EAAGlB,EAAe29B,EAAc3E,EAAWuB,GACrF,GACIqD,GAAMC,EADNC,EAA0B,GAAbvD,EAGbwD,EAAUvuC,EAAQ8Q,cAAc,OAAQN,EAAe29B,EAO3D,IANAI,EAAQz8B,eAAe,KAAM,IAAKL,GAClC88B,EAAQz8B,eAAe,KAAM,IAAKJ,EAAI48B,GACtCC,EAAQz8B,eAAe,KAAM,QAAS03B,GACtC+E,EAAQz8B,eAAe,KAAM,SAAU,EAAEw8B,GACzCC,EAAQz8B,eAAe,KAAM,QAAS,WAEZ,QAAtB1S,KAAK+O,QAAQxB,MACfyhC,EAAOpuC,EAAQ8Q,cAAc,OAAQN,EAAe29B,GACpDC,EAAKt8B,eAAe,KAAM,QAAS1S,KAAKoI,WACtBvB,SAAf7G,KAAKuN,OACNyhC,EAAKt8B,eAAe,KAAM,QAAS1S,KAAKuN,OAG1CyhC,EAAKt8B,eAAe,KAAM,IAAK,IAAML,EAAI,IAAIC,EAAE,MAAQD,EAAI+3B,GAAa,IAAI93B,GACzC,GAA/BtS,KAAK+O,QAAQqgC,OAAOpgC,UACtBigC,EAAWruC,EAAQ8Q,cAAc,OAAQN,EAAe29B,GACjB,OAAnC/uC,KAAK+O,QAAQqgC,OAAOta,YACtBma,EAASv8B,eAAe,KAAM,IAAK,IAAIL,EAAE,MAAQC,EAAI48B,GACnD,IAAI78B,EAAE,IAAIC,EAAE,MAAOD,EAAI+3B,GAAa,IAAI93B,EAAE,MAAOD,EAAI+3B,GAAa,KAAO93B,EAAI48B,IAG/ED,EAASv8B,eAAe,KAAM,IAAK,IAAIL,EAAE,IAAIC,EAAE,KACzCD,EAAE,KAAOC,EAAI48B,GAAc,MACzB78B,EAAI+3B,GAAa,KAAO93B,EAAI48B,GAClC,KAAM78B,EAAI+3B,GAAa,IAAI93B,GAE/B28B,EAASv8B,eAAe,KAAM,QAAS1S,KAAKoI,UAAY,cAGnB,GAAnCpI,KAAK+O,QAAQ0D,WAAWzD,SAC1BpO,EAAQwR,UAAUC,EAAI,GAAM+3B,EAAU93B,EAAGtS,KAAMoR,EAAe29B,OAG7D,CACH,GAAIM,GAAW7qC,KAAKypB,MAAM,GAAMmc,GAC5BkF,EAAa9qC,KAAKypB,MAAM,GAAM0d,GAC9B4D,EAAa/qC,KAAKypB,MAAM,IAAO0d,GAE/BzhB,EAAS1lB,KAAKypB,OAAOmc,EAAa,EAAIiF,GAAW,EAErDzuC,GAAQgS,QAAQP,EAAI,GAAIg9B,EAAWnlB,EAAY5X,EAAI48B,EAAaI,EAAa,EAAGD,EAAUC,EAAYtvC,KAAKoI,UAAY,OAAQgJ,EAAe29B,GAC9InuC,EAAQgS,QAAQP,EAAI,IAAIg9B,EAAWnlB,EAAS,EAAG5X,EAAI48B,EAAaK,EAAa,EAAGF,EAAUE,EAAYvvC,KAAKoI,UAAY,OAAQgJ,EAAe29B,KAYlJpsC,EAAW8Q,UAAUskB,UAAY,SAASqS,EAAWuB,GACnD,GAAIhC,GAAM93B,SAASC,gBAAgB,6BAA6B,MAEhE,OADA9R,MAAK6rC,SAAS,EAAE,GAAIF,KAAchC,EAAIS,EAAUuB,IACxC6D,KAAM7F,EAAK3gB,MAAOhpB,KAAKmwB,QAAS2E,YAAY90B,KAAK+O,QAAQ0gC,mBAGnE9sC,EAAW8Q,UAAUi8B,UAAY,SAASC,GACxC,MAAO3vC,MAAKmH,KAAKuoC,UAAUC,IAG7BhtC,EAAW8Q,UAAUm8B,KAAO,SAASlY,EAASnlB,EAAOs9B,GACnD7vC,KAAKmH,KAAKyoC,KAAKlY,EAASnlB,EAAOs9B,IAIjChwC,EAAOD,QAAU+C,GAKb,SAAS9C,EAAQD,EAASM,GAY9B,QAAS0C,GAAOo1B,EAAShlB,EAAMojB,GAC7Bp2B,KAAKg4B,QAAUA,EACfh4B,KAAKiiC,aACLjiC,KAAKynC,cAAgB,EACrBznC,KAAK8vC,gBAAkB98B,GAAQA,EAAK+8B,cACpC/vC,KAAKo2B,QAAUA,EAEfp2B,KAAKswB,OACLtwB,KAAKqG,OACH2iB,OACEnW,MAAO,EACPC,OAAQ,IAGZ9S,KAAKoI,UAAY,KAEjBpI,KAAKiC,SACLjC,KAAKgwC,gBACLhwC,KAAKkP,cACH+gC,WACAC,UAEFlwC,KAAKmwC,kBAAmB,CACxB,IAAI17B,GAAKzU,IACTA,MAAKo2B,QAAQlB,KAAKE,QAAQvhB,GAAG,mBAAoB,WAC/CY,EAAG07B,kBAAmB,IAGxBnwC,KAAKi1B,UAELj1B,KAAKsY,QAAQtF,GAxCf,CAAA,GAAIrS,GAAOT,EAAoB,GAC3B4B,EAAQ5B,EAAoB,GAChBA,GAAoB,IA6CpC0C,EAAM6Q,UAAUwhB,QAAU,WACxB,GAAIjM,GAAQnX,SAASM,cAAc,MACnC6W,GAAM5gB,UAAY,SAClBpI,KAAKswB,IAAItH,MAAQA,CAEjB,IAAIonB,GAAQv+B,SAASM,cAAc,MACnCi+B,GAAMhoC,UAAY,QAClB4gB,EAAMjX,YAAYq+B,GAClBpwC,KAAKswB,IAAI8f,MAAQA,CAEjB,IAAI1I,GAAa71B,SAASM,cAAc,MACxCu1B,GAAWt/B,UAAY,QACvBs/B,EAAW,kBAAoB1nC,KAC/BA,KAAKswB,IAAIoX,WAAaA,EAEtB1nC,KAAKswB,IAAI5jB,WAAamF,SAASM,cAAc,OAC7CnS,KAAKswB,IAAI5jB,WAAWtE,UAAY,QAEhCpI,KAAKswB,IAAIsR,KAAO/vB,SAASM,cAAc,OACvCnS,KAAKswB,IAAIsR,KAAKx5B,UAAY,QAK1BpI,KAAKswB,IAAI+f,OAASx+B,SAASM,cAAc,OACzCnS,KAAKswB,IAAI+f,OAAO9iC,MAAM2qB,WAAa,SACnCl4B,KAAKswB,IAAI+f,OAAO7rB,UAAY,IAC5BxkB,KAAKswB,IAAI5jB,WAAWqF,YAAY/R,KAAKswB,IAAI+f,SAO3CztC,EAAM6Q,UAAU6E,QAAU,SAAStF,GAEjC,GAAImd,GAAUnd,GAAQA,EAAKmd,OACvBA,aAAmBwW,SACrB3mC,KAAKswB,IAAI8f,MAAMr+B,YAAYoe,GAG3BnwB,KAAKswB,IAAI8f,MAAM5rB,UADI3d,SAAZspB,GAAqC,OAAZA,EACLA,EAGAnwB,KAAKg4B,SAAW,GAI7Ch4B,KAAKswB,IAAItH,MAAMsd,MAAQtzB,GAAQA,EAAKszB,OAAS,GAExCtmC,KAAKswB,IAAI8f,MAAMlsB,WAIlBvjB,EAAK8H,gBAAgBzI,KAAKswB,IAAI8f,MAAO,UAHrCzvC,EAAKwH,aAAanI,KAAKswB,IAAI8f,MAAO,SAOpC,IAAIhoC,GAAY4K,GAAQA,EAAK5K,WAAa,IACtCA,IAAapI,KAAKoI,YAChBpI,KAAKoI,YACPzH,EAAK8H,gBAAgBzI,KAAKswB,IAAItH,MAAOhpB,KAAKoI,WAC1CzH,EAAK8H,gBAAgBzI,KAAKswB,IAAIoX,WAAY1nC,KAAKoI,WAC/CzH,EAAK8H,gBAAgBzI,KAAKswB,IAAI5jB,WAAY1M,KAAKoI,WAC/CzH,EAAK8H,gBAAgBzI,KAAKswB,IAAIsR,KAAM5hC,KAAKoI,YAE3CzH,EAAKwH,aAAanI,KAAKswB,IAAItH,MAAO5gB,GAClCzH,EAAKwH,aAAanI,KAAKswB,IAAIoX,WAAYt/B,GACvCzH,EAAKwH,aAAanI,KAAKswB,IAAI5jB,WAAYtE,GACvCzH,EAAKwH,aAAanI,KAAKswB,IAAIsR,KAAMx5B,GACjCpI,KAAKoI,UAAYA,GAIfpI,KAAKuN,QACP5M,EAAKoN,cAAc/N,KAAKswB,IAAItH,MAAOhpB,KAAKuN,OACxCvN,KAAKuN,MAAQ,MAEXyF,GAAQA,EAAKzF,QACf5M,EAAKiN,WAAW5N,KAAKswB,IAAItH,MAAOhW,EAAKzF,OACrCvN,KAAKuN,MAAQyF,EAAKzF,QAQtB3K,EAAM6Q,UAAU68B,cAAgB,WAC9B,MAAOtwC,MAAKqG,MAAM2iB,MAAMnW,OAW1BjQ,EAAM6Q,UAAUuO,OAAS,SAASiU,EAAO/b,EAAQq2B,GAC/C,GAAI7H,IAAU,CAEd1oC,MAAKgwC,aAAehwC,KAAKwwC,oBAAoBxwC,KAAKkP,aAAclP,KAAKgwC,aAAc/Z,EAInF,IAAIwa,GAAezwC,KAAKswB,IAAI+f,OAAOjrB,YAC/BqrB,IAAgBzwC,KAAK0wC,mBACvB1wC,KAAK0wC,iBAAmBD,EAExB9vC,EAAKiI,QAAQ5I,KAAKiC,MAAO,SAAU0N,GACjCA,EAAK61B,OAAQ,EACT71B,EAAK41B,WAAW51B,EAAKqS,WAG3BuuB,GAAU,GAIRvwC,KAAKo2B,QAAQrnB,QAAQjN,MACvBA,EAAMA,MAAM9B,KAAKgwC,aAAc91B,EAAQq2B,GAGvCzuC,EAAMkgC,QAAQhiC,KAAKgwC,aAAc91B,EAAQla,KAAKiiC,UAIhD,IAAInvB,GAAS9S,KAAK2wC,iBAAiBz2B,GAG/BwtB,EAAa1nC,KAAKswB,IAAIoX,UAC1B1nC,MAAKiI,IAAMy/B,EAAWkJ,UACtB5wC,KAAK6H,KAAO6/B,EAAWmJ,WACvB7wC,KAAK6S,MAAQ60B,EAAW/W,YACxB+X,EAAU/nC,EAAKqI,eAAehJ,KAAM,SAAU8S,IAAW41B,EAGzDA,EAAU/nC,EAAKqI,eAAehJ,KAAKqG,MAAM2iB,MAAO,QAAShpB,KAAKswB,IAAI8f,MAAMrwB,cAAgB2oB,EACxFA,EAAU/nC,EAAKqI,eAAehJ,KAAKqG,MAAM2iB,MAAO,SAAUhpB,KAAKswB,IAAI8f,MAAMhrB,eAAiBsjB,EAG1F1oC,KAAKswB,IAAI5jB,WAAWa,MAAMuF,OAAUA,EAAS,KAC7C9S,KAAKswB,IAAIoX,WAAWn6B,MAAMuF,OAAUA,EAAS,KAC7C9S,KAAKswB,IAAItH,MAAMzb,MAAMuF,OAASA,EAAS,IAGvC,KAAK,GAAIjN,GAAI,EAAGirC,EAAK9wC,KAAKgwC,aAAahqC,OAAY8qC,EAAJjrC,EAAQA,IAAK,CAC1D,GAAI8J,GAAO3P,KAAKgwC,aAAanqC,EAC7B8J,GAAKs2B,YAAY/rB,GAGnB,MAAOwuB,IAST9lC,EAAM6Q,UAAUk9B,iBAAmB,SAAUz2B,GAE3C,GAAIpH,GACAk9B,EAAehwC,KAAKgwC,YAGxBhwC,MAAK+wC,gBACL,IAAIt8B,GAAKzU,IACT,IAAIgwC,EAAahqC,OAAQ,CACvB,GAAI7B,GAAM6rC,EAAa,GAAG/nC,IACtB7D,EAAM4rC,EAAa,GAAG/nC,IAAM+nC,EAAa,GAAGl9B,MAahD,IAZAnS,EAAKiI,QAAQonC,EAAc,SAAUrgC,GACnCxL,EAAMK,KAAKL,IAAIA,EAAKwL,EAAK1H,KACzB7D,EAAMI,KAAKJ,IAAIA,EAAMuL,EAAK1H,IAAM0H,EAAKmD,QACVjM,SAAvB8I,EAAKqD,KAAKmvB,WACZ1tB,EAAGwtB,UAAUtyB,EAAKqD,KAAKmvB,UAAUrvB,OAAStO,KAAKJ,IAAIqQ,EAAGwtB,UAAUtyB,EAAKqD,KAAKmvB,UAAUrvB,OAAOnD,EAAKmD,QAChG2B,EAAGwtB,UAAUtyB,EAAKqD,KAAKmvB,UAAUlZ,SAAU,KAO3C9kB,EAAM+V,EAAO0nB,KAAM,CAErB,GAAI1X,GAAS/lB,EAAM+V,EAAO0nB,IAC1Bx9B,IAAO8lB,EACPvpB,EAAKiI,QAAQonC,EAAc,SAAUrgC,GACnCA,EAAK1H,KAAOiiB,IAGhBpX,EAAS1O,EAAM8V,EAAOvK,KAAKqW,SAAW,MAGtClT,GAASoH,EAAO0nB,KAAO1nB,EAAOvK,KAAKqW,QAIrC,OAFAlT,GAAStO,KAAKJ,IAAI0O,EAAQ9S,KAAKqG,MAAM2iB,MAAMlW,SAQ7ClQ,EAAM6Q,UAAUqyB,KAAO,WAChB9lC,KAAKswB,IAAItH,MAAM7e,YAClBnK,KAAKo2B,QAAQ9F,IAAI0gB,SAASj/B,YAAY/R,KAAKswB,IAAItH,OAG5ChpB,KAAKswB,IAAIoX,WAAWv9B,YACvBnK,KAAKo2B,QAAQ9F,IAAIoX,WAAW31B,YAAY/R,KAAKswB,IAAIoX,YAG9C1nC,KAAKswB,IAAI5jB,WAAWvC,YACvBnK,KAAKo2B,QAAQ9F,IAAI5jB,WAAWqF,YAAY/R,KAAKswB,IAAI5jB,YAG9C1M,KAAKswB,IAAIsR,KAAKz3B,YACjBnK,KAAKo2B,QAAQ9F,IAAIsR,KAAK7vB,YAAY/R,KAAKswB,IAAIsR,OAO/Ch/B,EAAM6Q,UAAUoyB,KAAO,WACrB,GAAI7c,GAAQhpB,KAAKswB,IAAItH,KACjBA,GAAM7e,YACR6e,EAAM7e,WAAWsH,YAAYuX,EAG/B,IAAI0e,GAAa1nC,KAAKswB,IAAIoX,UACtBA,GAAWv9B,YACbu9B,EAAWv9B,WAAWsH,YAAYi2B,EAGpC,IAAIh7B,GAAa1M,KAAKswB,IAAI5jB,UACtBA,GAAWvC,YACbuC,EAAWvC,WAAWsH,YAAY/E,EAGpC,IAAIk1B,GAAO5hC,KAAKswB,IAAIsR,IAChBA,GAAKz3B,YACPy3B,EAAKz3B,WAAWsH,YAAYmwB,IAQhCh/B,EAAM6Q,UAAUF,IAAM,SAAS5D,GAc7B,GAbA3P,KAAKiC,MAAM0N,EAAKtP,IAAMsP,EACtBA,EAAKi2B,UAAU5lC,MAGY6G,SAAvB8I,EAAKqD,KAAKmvB,WAC+Bt7B,SAAvC7G,KAAKiiC,UAAUtyB,EAAKqD,KAAKmvB,YAC3BniC,KAAKiiC,UAAUtyB,EAAKqD,KAAKmvB,WAAarvB,OAAO,EAAGmW,SAAS,EAAOvgB,MAAM1I,KAAKynC,cAAexlC,UAC1FjC,KAAKynC,iBAEPznC,KAAKiiC,UAAUtyB,EAAKqD,KAAKmvB,UAAUlgC,MAAMsG,KAAKoH,IAEhD3P,KAAKixC,iBAEkC,IAAnCjxC,KAAKgwC,aAAahpC,QAAQ2I,GAAa,CACzC,GAAIsmB,GAAQj2B,KAAKo2B,QAAQlB,KAAKe,KAC9Bj2B,MAAKkxC,gBAAgBvhC,EAAM3P,KAAKgwC,aAAc/Z,KAIlDrzB,EAAM6Q,UAAUw9B,eAAiB,WAC/B,GAA6BpqC,SAAzB7G,KAAK8vC,gBAA+B,CACtC,GAAIqB,KACJ,IAAmC,gBAAxBnxC,MAAK8vC,gBAA6B,CAC3C,IAAK,GAAI3N,KAAYniC,MAAKiiC,UACxBkP,EAAU5oC,MAAM45B,SAAUA,EAAUiP,UAAWpxC,KAAKiiC,UAAUE,GAAUlgC,MAAM,GAAG+Q,KAAKhT,KAAK8vC,kBAE7FqB,GAAU36B,KAAK,SAAU5Q,EAAGa,GAC1B,MAAOb,GAAEwrC,UAAY3qC,EAAE2qC,gBAGtB,IAAmC,kBAAxBpxC,MAAK8vC,gBAA+B,CAClD,IAAK,GAAI3N,KAAYniC,MAAKiiC,UACxBkP,EAAU5oC,KAAKvI,KAAKiiC,UAAUE,GAAUlgC,MAAM,GAAG+Q,KAEnDm+B,GAAU36B,KAAKxW,KAAK8vC,iBAGtB,GAAIqB,EAAUnrC,OAAS,EACrB,IAAK,GAAIH,GAAI,EAAGA,EAAIsrC,EAAUnrC,OAAQH,IACpC7F,KAAKiiC,UAAUkP,EAAUtrC,GAAGs8B,UAAUz5B,MAAQ7C,IAMtDjD,EAAM6Q,UAAUs9B,eAAiB,WAC/B,IAAK,GAAI5O,KAAYniC,MAAKiiC,UACpBjiC,KAAKiiC,UAAU97B,eAAeg8B,KAChCniC,KAAKiiC,UAAUE,GAAUlZ,SAAU,IASzCrmB,EAAM6Q,UAAUkD,OAAS,SAAShH,SACzB3P,MAAKiC,MAAM0N,EAAKtP,IACvBsP,EAAKi2B,UAAU,KAGf,IAAIl9B,GAAQ1I,KAAKgwC,aAAahpC,QAAQ2I,EACzB,KAATjH,GAAa1I,KAAKgwC,aAAarnC,OAAOD,EAAO,IAUnD9F,EAAM6Q,UAAU8yB,kBAAoB,SAAS52B,GAC3C3P,KAAKo2B,QAAQib,WAAW1hC,EAAKtP,KAO/BuC,EAAM6Q,UAAUsC,MAAQ,WAKtB,IAAK,GAJDhN,GAAQpI,EAAKmI,QAAQ9I,KAAKiC,OAC1BqvC,KACAC,KAEK1rC,EAAI,EAAGA,EAAIkD,EAAM/C,OAAQH,IACNgB,SAAtBkC,EAAMlD,GAAGmN,KAAK7C,KAChBohC,EAAShpC,KAAKQ,EAAMlD,IAEtByrC,EAAW/oC,KAAKQ,EAAMlD,GAExB7F,MAAKkP,cACH+gC,QAASqB,EACTpB,MAAOqB,GAGTzvC,EAAMw/B,aAAathC,KAAKkP,aAAa+gC,SACrCnuC,EAAMy/B,WAAWvhC,KAAKkP,aAAaghC,QAYrCttC,EAAM6Q,UAAU+8B,oBAAsB,SAASthC,EAAcsiC,EAAiBvb,GAC5E,GAKItmB,GAAM9J,EALNmqC,KACAyB,KACA1e,GAAYkD,EAAM9lB,IAAM8lB,EAAM/lB,OAAS,EACvCwhC,EAAazb,EAAM/lB,MAAQ6iB,EAC3B4e,EAAa1b,EAAM9lB,IAAM4iB,EAIzB5jB,EAAiB,SAAU7K,GAC7B,MAAiBotC,GAARptC,EAA6B,GACpBqtC,GAATrtC,EAA8B,EACA,EAMzC,IAAIktC,EAAgBxrC,OAAS,EAC3B,IAAKH,EAAI,EAAGA,EAAI2rC,EAAgBxrC,OAAQH,IACtC7F,KAAK4xC,6BAA6BJ,EAAgB3rC,GAAImqC,EAAcyB,EAAoBxb,EAK5F,IAAI4b,GAAoBlxC,EAAKsO,mBAAmBC,EAAa+gC,QAAS9gC,EAAgB,OAAO,QAS7F,IANAnP,KAAK8xC,cAAcD,EAAmB3iC,EAAa+gC,QAASD,EAAcyB,EAAoB,SAAU9hC,GACtG,MAAQA,GAAKqD,KAAK9C,MAAQwhC,GAAc/hC,EAAKqD,KAAK9C,MAAQyhC,IAK/B,GAAzB3xC,KAAKmwC,iBAEP,IADAnwC,KAAKmwC,kBAAmB,EACnBtqC,EAAI,EAAGA,EAAIqJ,EAAaghC,MAAMlqC,OAAQH,IACzC7F,KAAK4xC,6BAA6B1iC,EAAaghC,MAAMrqC,GAAImqC,EAAcyB,EAAoBxb,OAG1F,CAEH,GAAI8b,GAAkBpxC,EAAKsO,mBAAmBC,EAAaghC,MAAO/gC,EAAgB,OAAO,MAGzFnP,MAAK8xC,cAAcC,EAAiB7iC,EAAaghC,MAAOF,EAAcyB,EAAoB,SAAU9hC,GAClG,MAAQA,GAAKqD,KAAK7C,IAAMuhC,GAAc/hC,EAAKqD,KAAK7C,IAAMwhC,IAM1D,IAAK9rC,EAAI,EAAGA,EAAImqC,EAAahqC,OAAQH,IACnC8J,EAAOqgC,EAAanqC,GACf8J,EAAK41B,WAAW51B,EAAKm2B,OAE1Bn2B,EAAKq2B,aAgBP,OAAOgK,IAGTptC,EAAM6Q,UAAUq+B,cAAgB,SAAUE,EAAY/vC,EAAO+tC,EAAcyB,EAAoBQ,GAC7F,GAAItiC,GACA9J,CAEJ,IAAkB,IAAdmsC,EAAkB,CACpB,IAAKnsC,EAAImsC,EAAYnsC,GAAK,IACxB8J,EAAO1N,EAAM4D,IACTosC,EAAetiC,IAFQ9J,IAMWgB,SAAhC4qC,EAAmB9hC,EAAKtP,MAC1BoxC,EAAmB9hC,EAAKtP,KAAM,EAC9B2vC,EAAaznC,KAAKoH,GAKxB,KAAK9J,EAAImsC,EAAa,EAAGnsC,EAAI5D,EAAM+D,SACjC2J,EAAO1N,EAAM4D,IACTosC,EAAetiC,IAFsB9J,IAMHgB,SAAhC4qC,EAAmB9hC,EAAKtP,MAC1BoxC,EAAmB9hC,EAAKtP,KAAM,EAC9B2vC,EAAaznC,KAAKoH,MAmB5B/M,EAAM6Q,UAAUy9B,gBAAkB,SAASvhC,EAAMqgC,EAAc/Z,GACvDtmB,EAAKo2B,UAAU9P,IACZtmB,EAAK41B,WAAW51B,EAAKm2B,OAE1Bn2B,EAAKq2B,cACLgK,EAAaznC,KAAKoH,IAGdA,EAAK41B,WAAW51B,EAAKk2B,QAgB/BjjC,EAAM6Q,UAAUm+B,6BAA+B,SAASjiC,EAAMqgC,EAAcyB,EAAoBxb,GAC1FtmB,EAAKo2B,UAAU9P,GACmBpvB,SAAhC4qC,EAAmB9hC,EAAKtP,MAC1BoxC,EAAmB9hC,EAAKtP,KAAM,EAC9B2vC,EAAaznC,KAAKoH,IAIhBA,EAAK41B,WAAW51B,EAAKk2B,QAM7BhmC,EAAOD,QAAUgD,GAKb,SAAS/C,EAAQD,EAASM,GAW9B,QAAS2C,GAAiBm1B,EAAShlB,EAAMojB,GACvCxzB,EAAMrC,KAAKP,KAAMg4B,EAAShlB,EAAMojB,GAEhCp2B,KAAK6S,MAAQ,EACb7S,KAAK8S,OAAS,EACd9S,KAAKiI,IAAM,EACXjI,KAAK6H,KAAO,EAfd,GACIjF,IADO1C,EAAoB,GACnBA,EAAoB,IAiBhC2C,GAAgB4Q,UAAY7M,OAAO+H,OAAO/L,EAAM6Q,WAShD5Q,EAAgB4Q,UAAUuO,OAAS,SAASiU,EAAO/b,GACjD,GAAIwuB,IAAU,CAEd1oC,MAAKgwC,aAAehwC,KAAKwwC,oBAAoBxwC,KAAKkP,aAAclP,KAAKgwC,aAAc/Z,GAGnFj2B,KAAK6S,MAAQ7S,KAAKswB,IAAI5jB,WAAWikB,YAGjC3wB,KAAKswB,IAAI5jB,WAAWa,MAAMuF,OAAU,GAGpC,KAAK,GAAIjN,GAAI,EAAGirC,EAAK9wC,KAAKgwC,aAAahqC,OAAY8qC,EAAJjrC,EAAQA,IAAK,CAC1D,GAAI8J,GAAO3P,KAAKgwC,aAAanqC,EAC7B8J,GAAKs2B,YAAY/rB,GAGnB,MAAOwuB,IAMT7lC,EAAgB4Q,UAAUqyB,KAAO,WAC1B9lC,KAAKswB,IAAI5jB,WAAWvC,YACvBnK,KAAKo2B,QAAQ9F,IAAI5jB,WAAWqF,YAAY/R,KAAKswB,IAAI5jB,aAIrD7M,EAAOD,QAAUiD,GAKb,SAAShD,EAAQD,EAASM,GA4B9B,QAAS4C,GAAQoyB,EAAMnmB,GACrB/O,KAAKk1B,KAAOA,EAEZl1B,KAAK40B,gBACHztB,KAAM,KACN2tB,YAAa,SACb6S,MAAO,OACP7lC,OAAO,EACPowC,WAAY,KAEZC,YAAY,EACZ/L,UACEgC,YAAY,EACZmD,aAAa,EACbh4B,KAAK,EACLoD,QAAQ,GAGV6tB,KAAOziC,EAASyiC,KAEhB4N,MAAO,SAAUziC,EAAM9G,GACrBA,EAAS8G,IAEX0iC,SAAU,SAAU1iC,EAAM9G,GACxBA,EAAS8G,IAEX2iC,OAAQ,SAAU3iC,EAAM9G,GACtBA,EAAS8G,IAEX4iC,SAAU,SAAU5iC,EAAM9G,GACxBA,EAAS8G,IAEX6iC,SAAU,SAAU7iC,EAAM9G,GACxBA,EAAS8G,IAGXuK,QACEvK,MACEoW,WAAY,GACZC,SAAU,IAEZ4b,KAAM,IAERrd,QAAS,GAIXvkB,KAAK+O,QAAUpO,EAAKgF,UAAW3F,KAAK40B,gBAGpC50B,KAAKyyC,aACHtrC,MAAO+I,MAAO,OAAQC,IAAK,SAG7BnQ,KAAK86B,YACHrF,SAAUP,EAAKv0B,KAAK80B,SACpBI,OAAQX,EAAKv0B,KAAKk1B,QAEpB71B,KAAKswB,OACLtwB,KAAKqG,SACLrG,KAAK8D,OAAS,IAEd,IAAI2Q,GAAKzU,IACTA,MAAKq2B,UAAY,KACjBr2B,KAAKs2B,WAAa,KAGlBt2B,KAAK0yC,eACHn/B,IAAO,SAAU1J,EAAOuK,GACtBK,EAAGk+B,OAAOv+B,EAAOnS,QAEnBkT,OAAU,SAAUtL,EAAOuK,GACzBK,EAAGm+B,UAAUx+B,EAAOnS,QAEtB0U,OAAU,SAAU9M,EAAOuK,GACzBK,EAAGo+B,UAAUz+B,EAAOnS,SAKxBjC,KAAK8yC,gBACHv/B,IAAO,SAAU1J,EAAOuK,GACtBK,EAAGs+B,aAAa3+B,EAAOnS,QAEzBkT,OAAU,SAAUtL,EAAOuK,GACzBK,EAAGu+B,gBAAgB5+B,EAAOnS,QAE5B0U,OAAU,SAAU9M,EAAOuK,GACzBK,EAAGw+B,gBAAgB7+B,EAAOnS,SAI9BjC,KAAKiC,SACLjC,KAAK00B,UACL10B,KAAKkzC,YAELlzC,KAAKmzC,aACLnzC,KAAKozC,YAAa,EAElBpzC,KAAKqzC,eAGLrzC,KAAKi1B,UAELj1B,KAAKwT,WAAWzE,GAlIlB,GAAI02B,GAASvlC,EAAoB,IAC7BS,EAAOT,EAAoB,GAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/B6B,EAAW7B,EAAoB,IAC/BqC,EAAYrC,EAAoB,IAChC0C,EAAQ1C,EAAoB,IAC5B2C,EAAkB3C,EAAoB,IACtCkC,EAAUlC,EAAoB,IAC9BmC,EAAYnC,EAAoB,IAChCoC,EAAYpC,EAAoB,IAChCiC,EAAiBjC,EAAoB,IAGrCozC,EAAY,gBACZC,EAAa,gBAsHjBzwC,GAAQ2Q,UAAY,GAAIlR,GAGxBO,EAAQ0U,OACN9K,WAAYvK,EACZklC,IAAKjlC,EACL6zB,MAAO3zB,EACPkQ,MAAOnQ,GAMTS,EAAQ2Q,UAAUwhB,QAAU,WAC1B,GAAIpV,GAAQhO,SAASM,cAAc,MACnC0N,GAAMzX,UAAY,UAClByX,EAAM,oBAAsB7f,KAC5BA,KAAKswB,IAAIzQ,MAAQA,CAGjB,IAAInT,GAAamF,SAASM,cAAc,MACxCzF,GAAWtE,UAAY,aACvByX,EAAM9N,YAAYrF,GAClB1M,KAAKswB,IAAI5jB,WAAaA,CAGtB,IAAIg7B,GAAa71B,SAASM,cAAc,MACxCu1B,GAAWt/B,UAAY,aACvByX,EAAM9N,YAAY21B,GAClB1nC,KAAKswB,IAAIoX,WAAaA,CAGtB,IAAI9F,GAAO/vB,SAASM,cAAc,MAClCyvB,GAAKx5B,UAAY,OACjBpI,KAAKswB,IAAIsR,KAAOA,CAGhB,IAAIoP,GAAWn/B,SAASM,cAAc,MACtC6+B,GAAS5oC,UAAY,WACrBpI,KAAKswB,IAAI0gB,SAAWA,EAGpBhxC,KAAKwzC,kBAGL,IAAIC,GAAkB,GAAI5wC,GAAgB0wC,EAAY,KAAMvzC,KAC5DyzC,GAAgB3N,OAChB9lC,KAAK00B,OAAO6e,GAAcE,EAM1BzzC,KAAK8D,OAAS2hC,EAAOzlC,KAAKk1B,KAAK5E,IAAIiI,iBACjC3uB,gBAAgB,IAIlB5J,KAAK8D,OAAO+P,GAAG,QAAa7T,KAAK++B,SAAS1J,KAAKr1B,OAC/CA,KAAK8D,OAAO+P,GAAG,YAAa7T,KAAK0+B,aAAarJ,KAAKr1B,OACnDA,KAAK8D,OAAO+P,GAAG,OAAa7T,KAAK2+B,QAAQtJ,KAAKr1B,OAC9CA,KAAK8D,OAAO+P,GAAG,UAAa7T,KAAK4+B,WAAWvJ,KAAKr1B,OAGjDA,KAAK8D,OAAO+P,GAAG,MAAQ7T,KAAK0zC,cAAcre,KAAKr1B,OAG/CA,KAAK8D,OAAO+P,GAAG,OAAQ7T,KAAK2zC,mBAAmBte,KAAKr1B,OAGpDA,KAAK8D,OAAO+P,GAAG,YAAa7T,KAAK4zC,WAAWve,KAAKr1B,OAGjDA,KAAK8lC,QAmEPhjC,EAAQ2Q,UAAUD,WAAa,SAASzE,GACtC,GAAIA,EAAS,CAEX,GAAIP,IAAU,OAAQ,QAAS,cAAe,UAAW,QAAS,aAAc,aAAc,iBAAkB,WAAW,OAAQ,OACnI7N,GAAKyF,gBAAgBoI,EAAQxO,KAAK+O,QAASA,GAEvC,UAAYA,KACgB,gBAAnBA,GAAQmL,QACjBla,KAAK+O,QAAQmL,OAAO0nB,KAAO7yB,EAAQmL,OACnCla,KAAK+O,QAAQmL,OAAOvK,KAAKoW,WAAahX,EAAQmL,OAC9Cla,KAAK+O,QAAQmL,OAAOvK,KAAKqW,SAAWjX,EAAQmL,QAEX,gBAAnBnL,GAAQmL,SACtBvZ,EAAKyF,iBAAiB,QAASpG,KAAK+O,QAAQmL,OAAQnL,EAAQmL,QACxD,QAAUnL,GAAQmL,SACe,gBAAxBnL,GAAQmL,OAAOvK,MACxB3P,KAAK+O,QAAQmL,OAAOvK,KAAKoW,WAAahX,EAAQmL,OAAOvK,KACrD3P,KAAK+O,QAAQmL,OAAOvK,KAAKqW,SAAWjX,EAAQmL,OAAOvK,MAEb,gBAAxBZ,GAAQmL,OAAOvK,MAC7BhP,EAAKyF,iBAAiB,aAAc,YAAapG,KAAK+O,QAAQmL,OAAOvK,KAAMZ,EAAQmL,OAAOvK,SAM9F,YAAcZ,KACgB,iBAArBA,GAAQq3B,UACjBpmC,KAAK+O,QAAQq3B,SAASgC,WAAcr5B,EAAQq3B,SAC5CpmC,KAAK+O,QAAQq3B,SAASmF,YAAcx8B,EAAQq3B,SAC5CpmC,KAAK+O,QAAQq3B,SAAS7yB,IAAcxE,EAAQq3B,SAC5CpmC,KAAK+O,QAAQq3B,SAASzvB,OAAc5H,EAAQq3B,UAET,gBAArBr3B,GAAQq3B,UACtBzlC,EAAKyF,iBAAiB,aAAc,cAAe,MAAO,UAAWpG,KAAK+O,QAAQq3B,SAAUr3B,EAAQq3B,UAKxG,IAAIyN,GAAc,SAAWt9B,GAC3B,GAAImD,GAAK3K,EAAQwH,EACjB,IAAImD,EAAI,CACN,KAAMA,YAAco6B,WAClB,KAAM,IAAIlwC,OAAM,UAAY2S,EAAO,uBAAyBA,EAAO,mBAErEvW,MAAK+O,QAAQwH,GAAQmD,IAEtB2b,KAAKr1B,OACP,QAAS,WAAY,WAAY,SAAU,YAAY4I,QAAQirC,GAGhE7zC,KAAK22B,cAST7zB,EAAQ2Q,UAAUkjB,UAAY,SAAS5nB,GACrC/O,KAAKkzC,YACLlzC,KAAKozC,YAAa,EAEdrkC,GAAWA,EAAQ6nB,cACrBj2B,EAAKiI,QAAQ5I,KAAKiC,MAAO,SAAU0N,GACjCA,EAAK61B,OAAQ,EACT71B,EAAK41B,WAAW51B,EAAKqS,YAQ/Blf,EAAQ2Q,UAAUG,QAAU,WAC1B5T,KAAK6lC,OACL7lC,KAAKw2B,SAAS,MACdx2B,KAAKu2B,UAAU,MAEfv2B,KAAK8D,OAAS,KAEd9D,KAAKk1B,KAAO,KACZl1B,KAAK86B,WAAa,MAMpBh4B,EAAQ2Q,UAAUoyB,KAAO,WAEnB7lC,KAAKswB,IAAIzQ,MAAM1V,YACjBnK,KAAKswB,IAAIzQ,MAAM1V,WAAWsH,YAAYzR,KAAKswB,IAAIzQ,OAI7C7f,KAAKswB,IAAIsR,KAAKz3B,YAChBnK,KAAKswB,IAAIsR,KAAKz3B,WAAWsH,YAAYzR,KAAKswB,IAAIsR,MAI5C5hC,KAAKswB,IAAI0gB,SAAS7mC,YACpBnK,KAAKswB,IAAI0gB,SAAS7mC,WAAWsH,YAAYzR,KAAKswB,IAAI0gB,WAQtDluC,EAAQ2Q,UAAUqyB,KAAO,WAElB9lC,KAAKswB,IAAIzQ,MAAM1V,YAClBnK,KAAKk1B,KAAK5E,IAAI7D,OAAO1a,YAAY/R,KAAKswB,IAAIzQ,OAIvC7f,KAAKswB,IAAIsR,KAAKz3B,YACjBnK,KAAKk1B,KAAK5E,IAAIyY,mBAAmBh3B,YAAY/R,KAAKswB,IAAIsR,MAInD5hC,KAAKswB,IAAI0gB,SAAS7mC,YACrBnK,KAAKk1B,KAAK5E,IAAIzoB,KAAKkK,YAAY/R,KAAKswB,IAAI0gB,WAW5CluC,EAAQ2Q,UAAU2jB,aAAe,SAAS3hB,GACxC,GAAI5P,GAAGirC,EAAIzwC,EAAIsP,CAMf,KAJW9I,QAAP4O,IAAkBA,MACjBnP,MAAMC,QAAQkP,KAAMA,GAAOA,IAG3B5P,EAAI,EAAGirC,EAAK9wC,KAAKmzC,UAAUntC,OAAY8qC,EAAJjrC,EAAQA,IAC9CxF,EAAKL,KAAKmzC,UAAUttC,GACpB8J,EAAO3P,KAAKiC,MAAM5B,GACdsP,GAAMA,EAAKg2B,UAKjB,KADA3lC,KAAKmzC,aACAttC,EAAI,EAAGirC,EAAKr7B,EAAIzP,OAAY8qC,EAAJjrC,EAAQA,IACnCxF,EAAKoV,EAAI5P,GACT8J,EAAO3P,KAAKiC,MAAM5B,GACdsP,IACF3P,KAAKmzC,UAAU5qC,KAAKlI,GACpBsP,EAAK+1B,WASX5iC,EAAQ2Q,UAAU6jB,aAAe,WAC/B,MAAOt3B,MAAKmzC,UAAU7+B,YAOxBxR,EAAQ2Q,UAAUsgC,gBAAkB,WAClC,GAAI9d,GAAQj2B,KAAKk1B,KAAKe,MAAMgK,WACxBp4B,EAAQ7H,KAAKk1B,KAAKv0B,KAAK80B,SAASQ,EAAM/lB,OACtC0X,EAAQ5nB,KAAKk1B,KAAKv0B,KAAK80B,SAASQ,EAAM9lB,KAEtCsF,IACJ,KAAK,GAAIuiB,KAAWh4B,MAAK00B,OACvB,GAAI10B,KAAK00B,OAAOvuB,eAAe6xB,GAM7B,IAAK,GALDzlB,GAAQvS,KAAK00B,OAAOsD,GACpBgc,EAAkBzhC,EAAMy9B,aAInBnqC,EAAI,EAAGA,EAAImuC,EAAgBhuC,OAAQH,IAAK,CAC/C,GAAI8J,GAAOqkC,EAAgBnuC,EAEtB8J,GAAK9H,KAAO+f,GAAWjY,EAAK9H,KAAO8H,EAAKkD,MAAQhL,GACnD4N,EAAIlN,KAAKoH,EAAKtP,IAMtB,MAAOoV,IAQT3S,EAAQ2Q,UAAUwgC,UAAY,SAAS5zC,GAErC,IAAK,GADD8yC,GAAYnzC,KAAKmzC,UACZttC,EAAI,EAAGirC,EAAKqC,EAAUntC,OAAY8qC,EAAJjrC,EAAQA,IAC7C,GAAIstC,EAAUttC,IAAMxF,EAAI,CACtB8yC,EAAUxqC,OAAO9C,EAAG,EACpB,SASN/C,EAAQ2Q,UAAUuO,OAAS,WACzB,GAAI9H,GAASla,KAAK+O,QAAQmL,OACtB+b,EAAQj2B,KAAKk1B,KAAKe,MAClBxrB,EAAS9J,EAAKyJ,OAAOK,OACrBsE,EAAU/O,KAAK+O,QACf+lB,EAAc/lB,EAAQ+lB,YACtB4T,GAAU,EACV7oB,EAAQ7f,KAAKswB,IAAIzQ,MACjBumB,EAAWr3B,EAAQq3B,SAASgC,YAAcr5B,EAAQq3B,SAASmF,WAG/DvrC,MAAKqG,MAAM4B,IAAMjI,KAAKk1B,KAAKC,SAASltB,IAAI6K,OAAS9S,KAAKk1B,KAAKC,SAASxoB,OAAO1E,IAC3EjI,KAAKqG,MAAMwB,KAAO7H,KAAKk1B,KAAKC,SAASttB,KAAKgL,MAAQ7S,KAAKk1B,KAAKC,SAASxoB,OAAO9E,KAG5EgY,EAAMzX,UAAY,WAAag+B,EAAW,YAAc,IAGxDsC,EAAU1oC,KAAKk0C,gBAAkBxL,CAIjC,IAAIyL,GAAkBle,EAAM9lB,IAAM8lB,EAAM/lB,MACpCkkC,EAAUD,GAAmBn0C,KAAKq0C,qBAAyBr0C,KAAKqG,MAAMwM,OAAS7S,KAAKqG,MAAMiuC,SAC1FF,KAAQp0C,KAAKozC,YAAa,GAC9BpzC,KAAKq0C,oBAAsBF,EAC3Bn0C,KAAKqG,MAAMiuC,UAAYt0C,KAAKqG,MAAMwM,KAElC,IAAI09B,GAAUvwC,KAAKozC,WACfmB,EAAav0C,KAAKw0C,cAClBC,GACF9kC,KAAMuK,EAAOvK,KACbiyB,KAAM1nB,EAAO0nB,MAEX8S,GACF/kC,KAAMuK,EAAOvK,KACbiyB,KAAM1nB,EAAOvK,KAAKqW,SAAW,GAE3BlT,EAAS,EACTkiB,EAAY9a,EAAO0nB,KAAO1nB,EAAOvK,KAAKqW,QA+B1C,OA5BAhmB,MAAK00B,OAAO6e,GAAYvxB,OAAOiU,EAAOye,EAAgBnE,GAGtD5vC,EAAKiI,QAAQ5I,KAAK00B,OAAQ,SAAUniB,GAClC,GAAIoiC,GAAepiC,GAASgiC,EAAcE,EAAcC,EACpDE,EAAeriC,EAAMyP,OAAOiU,EAAO0e,EAAapE,EACpD7H,GAAUkM,GAAgBlM,EAC1B51B,GAAUP,EAAMO,SAElBA,EAAStO,KAAKJ,IAAI0O,EAAQkiB,GAC1Bh1B,KAAKozC,YAAa,EAGlBvzB,EAAMtS,MAAMuF,OAAUrI,EAAOqI,GAG7B9S,KAAKqG,MAAMwM,MAAQgN,EAAM8Q,YACzB3wB,KAAKqG,MAAMyM,OAASA,EAGpB9S,KAAKswB,IAAIsR,KAAKr0B,MAAMtF,IAAMwC,EAAuB,OAAfqqB,EAC7B90B,KAAKk1B,KAAKC,SAASltB,IAAI6K,OAAS9S,KAAKk1B,KAAKC,SAASxoB,OAAO1E,IAC1DjI,KAAKk1B,KAAKC,SAASltB,IAAI6K,OAAS9S,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,QACxE9S,KAAKswB,IAAIsR,KAAKr0B,MAAM1F,KAAO,IAG3B6gC,EAAU1oC,KAAKyoC,cAAgBC,GAUjC5lC,EAAQ2Q,UAAU+gC,YAAc,WAC9B,GAAIK,GAA+C,OAA5B70C,KAAK+O,QAAQ+lB,YAAwB,EAAK90B,KAAKkzC,SAASltC,OAAS,EACpF8uC,EAAe90C,KAAKkzC,SAAS2B,GAC7BN,EAAav0C,KAAK00B,OAAOogB,IAAiB90C,KAAK00B,OAAO4e,EAE1D,OAAOiB,IAAc,MAQvBzxC,EAAQ2Q,UAAU+/B,iBAAmB,WACnC,CAAA,GAEI7jC,GAAMkG,EAFNk/B,EAAY/0C,KAAK00B,OAAO4e,EACXtzC,MAAK00B,OAAO6e,GAG7B,GAAIvzC,KAAKs2B,YAEP,GAAIye,EAAW,CACbA,EAAUlP,aACH7lC,MAAK00B,OAAO4e,EAEnB,KAAKz9B,IAAU7V,MAAKiC,MAClB,GAAIjC,KAAKiC,MAAMkE,eAAe0P,GAAS,CACrClG,EAAO3P,KAAKiC,MAAM4T,GAClBlG,EAAK01B,QAAU11B,EAAK01B,OAAO1uB,OAAOhH,EAClC,IAAIqoB,GAAUh4B,KAAKg1C,YAAYrlC,EAAKqD,MAChCT,EAAQvS,KAAK00B,OAAOsD,EACxBzlB,IAASA,EAAMgB,IAAI5D,IAASA,EAAKk2B,aAOvC,KAAKkP,EAAW,CACd,GAAI10C,GAAK,KACL2S,EAAO,IACX+hC,GAAY,GAAInyC,GAAMvC,EAAI2S,EAAMhT,MAChCA,KAAK00B,OAAO4e,GAAayB,CAEzB,KAAKl/B,IAAU7V,MAAKiC,MACdjC,KAAKiC,MAAMkE,eAAe0P,KAC5BlG,EAAO3P,KAAKiC,MAAM4T,GAClBk/B,EAAUxhC,IAAI5D,GAIlBolC,GAAUjP,SAShBhjC,EAAQ2Q,UAAUwhC,YAAc,WAC9B,MAAOj1C,MAAKswB,IAAI0gB,UAOlBluC,EAAQ2Q,UAAU+iB,SAAW,SAASv0B,GACpC,GACIwT,GADAhB,EAAKzU,KAELk1C,EAAel1C,KAAKq2B,SAGxB,IAAKp0B,EAGA,CAAA,KAAIA,YAAiBpB,IAAWoB,YAAiBnB,IAIpD,KAAM,IAAI4F,WAAU,kDAHpB1G,MAAKq2B,UAAYp0B,MAHjBjC,MAAKq2B,UAAY,IAoBnB,IAXI6e,IAEFv0C,EAAKiI,QAAQ5I,KAAK0yC,cAAe,SAAU7pC,EAAUgB,GACnDqrC,EAAalhC,IAAInK,EAAOhB,KAI1B4M,EAAMy/B,EAAa/+B,SACnBnW,KAAK6yC,UAAUp9B,IAGbzV,KAAKq2B,UAAW,CAElB,GAAIh2B,GAAKL,KAAKK,EACdM,GAAKiI,QAAQ5I,KAAK0yC,cAAe,SAAU7pC,EAAUgB,GACnD4K,EAAG4hB,UAAUxiB,GAAGhK,EAAOhB,EAAUxI,KAInCoV,EAAMzV,KAAKq2B,UAAUlgB,SACrBnW,KAAK2yC,OAAOl9B,GAGZzV,KAAKwzC,qBAQT1wC,EAAQ2Q,UAAU0hC,SAAW,WAC3B,MAAOn1C,MAAKq2B,WAOdvzB,EAAQ2Q,UAAU8iB,UAAY,SAAS7B,GACrC,GACIjf,GADAhB,EAAKzU,IAgBT,IAZIA,KAAKs2B,aACP31B,EAAKiI,QAAQ5I,KAAK8yC,eAAgB,SAAUjqC,EAAUgB,GACpD4K,EAAG6hB,WAAWpiB,YAAYrK,EAAOhB,KAInC4M,EAAMzV,KAAKs2B,WAAWngB,SACtBnW,KAAKs2B,WAAa,KAClBt2B,KAAKizC,gBAAgBx9B,IAIlBif,EAGA,CAAA,KAAIA,YAAkB7zB,IAAW6zB,YAAkB5zB,IAItD,KAAM,IAAI4F,WAAU,kDAHpB1G,MAAKs2B,WAAa5B,MAHlB10B,MAAKs2B,WAAa,IASpB,IAAIt2B,KAAKs2B,WAAY,CAEnB,GAAIj2B,GAAKL,KAAKK,EACdM,GAAKiI,QAAQ5I,KAAK8yC,eAAgB,SAAUjqC,EAAUgB,GACpD4K,EAAG6hB,WAAWziB,GAAGhK,EAAOhB,EAAUxI,KAIpCoV,EAAMzV,KAAKs2B,WAAWngB,SACtBnW,KAAK+yC,aAAat9B,GAIpBzV,KAAKwzC,mBAGLxzC,KAAKo1C,SAELp1C,KAAKk1B,KAAKE,QAAQjH,KAAK,UAAWza,OAAO,KAO3C5Q,EAAQ2Q,UAAU4hC,UAAY,WAC5B,MAAOr1C,MAAKs2B,YAOdxzB,EAAQ2Q,UAAU49B,WAAa,SAAShxC,GACtC,GAAIsP,GAAO3P,KAAKq2B,UAAU7gB,IAAInV,GAC1Bq3B,EAAU13B,KAAKq2B,UAAUjgB,YAEzBzG,IAEF3P,KAAK+O,QAAQwjC,SAAS5iC,EAAM,SAAUA,GAChCA,GAGF+nB,EAAQ/gB,OAAOtW,MAYvByC,EAAQ2Q,UAAU6hC,SAAW,SAAU/d,GACrC,MAAOA,GAASpwB,MAAQnH,KAAK+O,QAAQ5H,OAASowB,EAASpnB,IAAM,QAAU,QAUzErN,EAAQ2Q,UAAUuhC,YAAc,SAAUzd,GACxC,GAAIpwB,GAAOnH,KAAKs1C,SAAS/d,EACzB,OAAY,cAARpwB,GAA0CN,QAAlB0wB,EAAShlB,MAC7BghC,EAGCvzC,KAAKs2B,WAAaiB,EAAShlB,MAAQ+gC,GAS9CxwC,EAAQ2Q,UAAUm/B,UAAY,SAASn9B,GACrC,GAAIhB,GAAKzU,IAETyV,GAAI7M,QAAQ,SAAUvI,GACpB,GAAIk3B,GAAW9iB,EAAG4hB,UAAU7gB,IAAInV,EAAIoU,EAAGg+B,aACnC9iC,EAAO8E,EAAGxS,MAAM5B,GAChB8G,EAAOsN,EAAG6gC,SAAS/d,GAEnB5wB,EAAc7D,EAAQ0U,MAAMrQ,EAchC,IAZIwI,IAEGhJ,GAAiBgJ,YAAgBhJ,GAMpC8N,EAAGc,YAAY5F,EAAM4nB,IAJrB9iB,EAAG8gC,YAAY5lC,GACfA,EAAO,QAONA,EAAM,CAET,IAAIhJ,EAKC,KAEG,IAAID,WAFK,iBAARS,EAEa,4HAIA,sBAAwBA,EAAO,IAVnDwI,GAAO,GAAIhJ,GAAY4wB,EAAU9iB,EAAGqmB,WAAYrmB,EAAG1F,SACnDY,EAAKtP,GAAKA,EACVoU,EAAGC,SAAS/E,MAalB3P,KAAKo1C,SACLp1C,KAAKozC,YAAa,EAClBpzC,KAAKk1B,KAAKE,QAAQjH,KAAK,UAAWza,OAAO,KAQ3C5Q,EAAQ2Q,UAAUk/B,OAAS7vC,EAAQ2Q,UAAUm/B,UAO7C9vC,EAAQ2Q,UAAUo/B,UAAY,SAASp9B,GACrC,GAAI6B,GAAQ,EACR7C,EAAKzU,IACTyV,GAAI7M,QAAQ,SAAUvI,GACpB,GAAIsP,GAAO8E,EAAGxS,MAAM5B,EAChBsP,KACF2H,IACA7C,EAAG8gC,YAAY5lC,MAIf2H,IAEFtX,KAAKo1C,SACLp1C,KAAKozC,YAAa,EAClBpzC,KAAKk1B,KAAKE,QAAQjH,KAAK,UAAWza,OAAO,MAQ7C5Q,EAAQ2Q,UAAU2hC,OAAS,WAGzBz0C,EAAKiI,QAAQ5I,KAAK00B,OAAQ,SAAUniB,GAClCA,EAAMwD,WASVjT,EAAQ2Q,UAAUu/B,gBAAkB,SAASv9B,GAC3CzV,KAAK+yC,aAAat9B,IAQpB3S,EAAQ2Q,UAAUs/B,aAAe,SAASt9B,GACxC,GAAIhB,GAAKzU,IAETyV,GAAI7M,QAAQ,SAAUvI,GACpB,GAAIsvC,GAAYl7B,EAAG6hB,WAAW9gB,IAAInV,GAC9BkS,EAAQkC,EAAGigB,OAAOr0B,EAEtB,IAAKkS,EA6BHA,EAAM+F,QAAQq3B,OA7BJ,CAEV,GAAItvC,GAAMizC,GAAajzC,GAAMkzC,EAC3B,KAAM,IAAI3vC,OAAM,qBAAuBvD,EAAK,qBAG9C,IAAIm1C,GAAe5uC,OAAO+H,OAAO8F,EAAG1F,QACpCpO,GAAKgF,OAAO6vC,GACV1iC,OAAQ,OAGVP,EAAQ,GAAI3P,GAAMvC,EAAIsvC,EAAWl7B,GACjCA,EAAGigB,OAAOr0B,GAAMkS,CAGhB,KAAK,GAAIsD,KAAUpB,GAAGxS,MACpB,GAAIwS,EAAGxS,MAAMkE,eAAe0P,GAAS,CACnC,GAAIlG,GAAO8E,EAAGxS,MAAM4T,EAChBlG,GAAKqD,KAAKT,OAASlS,GACrBkS,EAAMgB,IAAI5D,GAKhB4C,EAAMwD,QACNxD,EAAMuzB,UAQV9lC,KAAKk1B,KAAKE,QAAQjH,KAAK,UAAWza,OAAO,KAQ3C5Q,EAAQ2Q,UAAUw/B,gBAAkB,SAASx9B,GAC3C,GAAIif,GAAS10B,KAAK00B,MAClBjf,GAAI7M,QAAQ,SAAUvI,GACpB,GAAIkS,GAAQmiB,EAAOr0B,EAEfkS,KACFA,EAAMszB,aACCnR,GAAOr0B,MAIlBL,KAAK22B,YAEL32B,KAAKk1B,KAAKE,QAAQjH,KAAK,UAAWza,OAAO,KAQ3C5Q,EAAQ2Q,UAAUygC,aAAe,WAC/B,GAAIl0C,KAAKs2B,WAAY,CAEnB,GAAI4c,GAAWlzC,KAAKs2B,WAAWngB,QAC7BJ,MAAO/V,KAAK+O,QAAQmjC,aAGlBpS,GAAWn/B,EAAKsG,WAAWisC,EAAUlzC,KAAKkzC,SAC9C,IAAIpT,EAAS,CAEX,GAAIpL,GAAS10B,KAAK00B,MAClBwe,GAAStqC,QAAQ,SAAUovB,GACzBtD,EAAOsD,GAAS6N,SAIlBqN,EAAStqC,QAAQ,SAAUovB,GACzBtD,EAAOsD,GAAS8N,SAGlB9lC,KAAKkzC,SAAWA,EAGlB,MAAOpT,GAGP,OAAO,GASXh9B,EAAQ2Q,UAAUiB,SAAW,SAAS/E,GACpC3P,KAAKiC,MAAM0N,EAAKtP,IAAMsP,CAGtB,IAAIqoB,GAAUh4B,KAAKg1C,YAAYrlC,EAAKqD,MAChCT,EAAQvS,KAAK00B,OAAOsD,EACpBzlB,IAAOA,EAAMgB,IAAI5D,IASvB7M,EAAQ2Q,UAAU8B,YAAc,SAAS5F,EAAM4nB,GAC7C,GAAIke,GAAa9lC,EAAKqD,KAAKT,KAM3B,IAHA5C,EAAK2I,QAAQif,GAGTke,GAAc9lC,EAAKqD,KAAKT,MAAO,CACjC,GAAImjC,GAAW11C,KAAK00B,OAAO+gB,EACvBC,IAAUA,EAAS/+B,OAAOhH,EAE9B,IAAIqoB,GAAUh4B,KAAKg1C,YAAYrlC,EAAKqD,MAChCT,EAAQvS,KAAK00B,OAAOsD,EACpBzlB,IAAOA,EAAMgB,IAAI5D,KAUzB7M,EAAQ2Q,UAAU8hC,YAAc,SAAS5lC,GAEvCA,EAAKk2B,aAGE7lC,MAAKiC,MAAM0N,EAAKtP,GAGvB,IAAIqI,GAAQ1I,KAAKmzC,UAAUnsC,QAAQ2I,EAAKtP,GAC3B,KAATqI,GAAa1I,KAAKmzC,UAAUxqC,OAAOD,EAAO,GAG9CiH,EAAK01B,QAAU11B,EAAK01B,OAAO1uB,OAAOhH,IASpC7M,EAAQ2Q,UAAUkiC,qBAAuB,SAAS5sC,GAGhD,IAAK,GAFDwoC,MAEK1rC,EAAI,EAAGA,EAAIkD,EAAM/C,OAAQH,IAC5BkD,EAAMlD,YAAcvD,IACtBivC,EAAShpC,KAAKQ,EAAMlD,GAGxB,OAAO0rC,IAYTzuC,EAAQ2Q,UAAUsrB,SAAW,SAAUl1B,GAErC7J,KAAKqzC,YAAY1jC,KAAO7M,EAAQ8yC,eAAe/rC,IAQjD/G,EAAQ2Q,UAAUirB,aAAe,SAAU70B,GACzC,GAAK7J,KAAK+O,QAAQq3B,SAASgC,YAAepoC,KAAK+O,QAAQq3B,SAASmF,YAAhE,CAIA,GAEIllC,GAFAsJ,EAAO3P,KAAKqzC,YAAY1jC,MAAQ,KAChC8E,EAAKzU,IAGT,IAAI2P,GAAQA,EAAK21B,SAAU,CACzB,GAAIgD,GAAez+B,EAAMG,OAAOs+B,aAC5BE,EAAgB3+B,EAAMG,OAAOw+B,aAE7BF,IACFjiC,GACEsJ,KAAM24B,EACNuN,SAAUhsC,EAAMw2B,QAAQ5T,OAAOtP,SAG7B1I,EAAG1F,QAAQq3B,SAASgC,aACtB/hC,EAAM6J,MAAQP,EAAKqD,KAAK9C,MAAM7I,WAE5BoN,EAAG1F,QAAQq3B,SAASmF,aAClB,SAAW57B,GAAKqD,OAAM3M,EAAMkM,MAAQ5C,EAAKqD,KAAKT,OAGpDvS,KAAKqzC,YAAYyC,WAAazvC,IAEvBmiC,GACPniC,GACEsJ,KAAM64B,EACNqN,SAAUhsC,EAAMw2B,QAAQ5T,OAAOtP,SAG7B1I,EAAG1F,QAAQq3B,SAASgC,aACtB/hC,EAAM8J,IAAMR,EAAKqD,KAAK7C,IAAI9I,WAExBoN,EAAG1F,QAAQq3B,SAASmF,aAClB,SAAW57B,GAAKqD,OAAM3M,EAAMkM,MAAQ5C,EAAKqD,KAAKT,OAGpDvS,KAAKqzC,YAAYyC,WAAazvC,IAG9BrG,KAAKqzC,YAAYyC,UAAY91C,KAAKs3B,eAAe3pB,IAAI,SAAUtN,GAC7D,GAAIsP,GAAO8E,EAAGxS,MAAM5B,GAChBgG,GACFsJ,KAAMA,EACNkmC,SAAUhsC,EAAMw2B,QAAQ5T,OAAOtP,QAkBjC,OAfI1I,GAAG1F,QAAQq3B,SAASgC,YAClB,SAAWz4B,GAAKqD,OAClB3M,EAAM6J,MAAQP,EAAKqD,KAAK9C,MAAM7I,UAE1B,OAASsI,GAAKqD,OAGhB3M,EAAM+J,SAAWT,EAAKqD,KAAK7C,IAAI9I,UAAYhB,EAAM6J,QAInDuE,EAAG1F,QAAQq3B,SAASmF,aAClB,SAAW57B,GAAKqD,OAAM3M,EAAMkM,MAAQ5C,EAAKqD,KAAKT,OAG7ClM,IAIXwD,EAAM28B,qBASV1jC,EAAQ2Q,UAAUkrB,QAAU,SAAU90B,GAGpC,GAFAA,EAAMD,iBAEF5J,KAAKqzC,YAAYyC,UAAW,CAC9B,GAAIrhC,GAAKzU,KACLwkC,EAAOxkC,KAAK+O,QAAQy1B,MAAQ,KAC5Bra,EAAUnqB,KAAKk1B,KAAK5E,IAAI5wB,KAAKmxC,WAAa7wC,KAAKk1B,KAAKC,SAASttB,KAAKgL,MAClEtO,EAAQvE,KAAKk1B,KAAKv0B,KAAK40B,WACvB7M,EAAO1oB,KAAKk1B,KAAKv0B,KAAK8zB,SAG1Bz0B,MAAKqzC,YAAYyC,UAAUltC,QAAQ,SAAUvC,GAC3C,GAAI0vC,MACAvb,EAAU/lB,EAAGygB,KAAKv0B,KAAKk1B,OAAOhsB,EAAMw2B,QAAQ5T,OAAOtP,QAAUgN,GAC7D6rB,EAAUvhC,EAAGygB,KAAKv0B,KAAKk1B,OAAOxvB,EAAMwvC,SAAW1rB,GAC/CD,EAASsQ,EAAUwb,CAEvB,IAAI,SAAW3vC,GAAO,CACpB,GAAI6J,GAAQ,GAAItL,MAAKyB,EAAM6J,MAAQga,EACnC6rB,GAAS7lC,MAAQs0B,EAAOA,EAAKt0B,EAAO3L,EAAOmkB,GAAQxY,EAGrD,GAAI,OAAS7J,GAAO,CAClB,GAAI8J,GAAM,GAAIvL,MAAKyB,EAAM8J,IAAM+Z,EAC/B6rB,GAAS5lC,IAAMq0B,EAAOA,EAAKr0B,EAAK5L,EAAOmkB,GAAQvY,MAExC,YAAc9J,KACrB0vC,EAAS5lC,IAAM,GAAIvL,MAAKmxC,EAAS7lC,MAAM7I,UAAYhB,EAAM+J,UAG3D,IAAI,SAAW/J,GAAO,CAEpB,GAAIkM,GAAQkC,EAAGwhC,gBAAgBpsC,EAC/BksC,GAASxjC,MAAQA,GAASA,EAAMylB,QAIlC,GAAIT,GAAW52B,EAAKgF,UAAWU,EAAMsJ,KAAKqD,KAAM+iC,EAChDthC,GAAG1F,QAAQyjC,SAASjb,EAAU,SAAUA,GAClCA,GACF9iB,EAAGyhC,iBAAiB7vC,EAAMsJ,KAAM4nB,OAKtCv3B,KAAKozC,YAAa,EAClBpzC,KAAKk1B,KAAKE,QAAQjH,KAAK,UAEvBtkB,EAAM28B,oBAUV1jC,EAAQ2Q,UAAUyiC,iBAAmB,SAASvmC,EAAMtJ,GAE9C,SAAWA,KAAOsJ,EAAKqD,KAAK9C,MAAQ7J,EAAM6J,OAC1C,OAAS7J,KAASsJ,EAAKqD,KAAK7C,IAAQ9J,EAAM8J,KAC1C,SAAW9J,IAASsJ,EAAKqD,KAAKT,OAASlM,EAAMkM,OAC/CvS,KAAKm2C,aAAaxmC,EAAMtJ,EAAMkM,QAUlCzP,EAAQ2Q,UAAU0iC,aAAe,SAASxmC,EAAMqoB,GAC9C,GAAIzlB,GAAQvS,KAAK00B,OAAOsD,EACxB,IAAIzlB,GAASA,EAAMylB,SAAWroB,EAAKqD,KAAKT,MAAO,CAC7C,GAAImjC,GAAW/lC,EAAK01B,MACpBqQ,GAAS/+B,OAAOhH,GAChB+lC,EAAS3/B,QACTxD,EAAMgB,IAAI5D,GACV4C,EAAMwD,QAENpG,EAAKqD,KAAKT,MAAQA,EAAMylB,UAS5Bl1B,EAAQ2Q,UAAUmrB,WAAa,SAAU/0B,GAGvC,GAFAA,EAAMD,iBAEF5J,KAAKqzC,YAAYyC,UAAW,CAE9B,GAAIM,MACA3hC,EAAKzU,KACL03B,EAAU13B,KAAKq2B,UAAUjgB,aAEzB0/B,EAAY91C,KAAKqzC,YAAYyC,SACjC91C,MAAKqzC,YAAYyC,UAAY,KAC7BA,EAAUltC,QAAQ,SAAUvC,GAC1B,GAAIhG,GAAKgG,EAAMsJ,KAAKtP,GAChBk3B,EAAW9iB,EAAG4hB,UAAU7gB,IAAInV,EAAIoU,EAAGg+B,aAEnC3S,GAAU,CACV,UAAWz5B,GAAMsJ,KAAKqD,OACxB8sB,EAAWz5B,EAAM6J,OAAS7J,EAAMsJ,KAAKqD,KAAK9C,MAAM7I,UAChDkwB,EAASrnB,MAAQvP,EAAKuG,QAAQb,EAAMsJ,KAAKqD,KAAK9C,MACtCwnB,EAAQzkB,SAAS9L,MAAQuwB,EAAQzkB,SAAS9L,KAAK+I,OAAS,SAE9D,OAAS7J,GAAMsJ,KAAKqD,OACtB8sB,EAAUA,GAAaz5B,EAAM8J,KAAO9J,EAAMsJ,KAAKqD,KAAK7C,IAAI9I,UACxDkwB,EAASpnB,IAAMxP,EAAKuG,QAAQb,EAAMsJ,KAAKqD,KAAK7C,IACpCunB,EAAQzkB,SAAS9L,MAAQuwB,EAAQzkB,SAAS9L,KAAKgJ,KAAO,SAE5D,SAAW9J,GAAMsJ,KAAKqD,OACxB8sB,EAAUA,GAAaz5B,EAAMkM,OAASlM,EAAMsJ,KAAKqD,KAAKT,MACtDglB,EAAShlB,MAAQlM,EAAMsJ,KAAKqD,KAAKT,OAI/ButB,GACFrrB,EAAG1F,QAAQujC,OAAO/a,EAAU,SAAUA,GAChCA,GAEFA,EAASG,EAAQvkB,UAAY9S,EAC7B+1C,EAAQ7tC,KAAKgvB,KAIb9iB,EAAGyhC,iBAAiB7vC,EAAMsJ,KAAMtJ,GAEhCoO,EAAG2+B,YAAa,EAChB3+B,EAAGygB,KAAKE,QAAQjH,KAAK,eAOzBioB,EAAQpwC,QACV0xB,EAAQviB,OAAOihC,GAGjBvsC,EAAM28B,oBASV1jC,EAAQ2Q,UAAUigC,cAAgB,SAAU7pC,GAC1C,GAAK7J,KAAK+O,QAAQojC,WAAlB,CAEA,GAAIkE,GAAWxsC,EAAMw2B,QAAQiW,UAAYzsC,EAAMw2B,QAAQiW,SAASD,QAC5DE,EAAW1sC,EAAMw2B,QAAQiW,UAAYzsC,EAAMw2B,QAAQiW,SAASC,QAChE,IAAIF,GAAWE,EAEb,WADAv2C,MAAK2zC,mBAAmB9pC,EAI1B,IAAI2sC,GAAex2C,KAAKs3B,eAEpB3nB,EAAO7M,EAAQ8yC,eAAe/rC,GAC9BspC,EAAYxjC,GAAQA,EAAKtP,MAC7BL,MAAKo3B,aAAa+b,EAElB,IAAIsD,GAAez2C,KAAKs3B,gBAIpBmf,EAAazwC,OAAS,GAAKwwC,EAAaxwC,OAAS,IACnDhG,KAAKk1B,KAAKE,QAAQjH,KAAK,UACrBlsB,MAAOw0C,MAUb3zC,EAAQ2Q,UAAUmgC,WAAa,SAAU/pC,GACvC,GAAK7J,KAAK+O,QAAQojC,YACbnyC,KAAK+O,QAAQq3B,SAAS7yB,IAA3B,CAEA,GAAIkB,GAAKzU,KACLwkC,EAAOxkC,KAAK+O,QAAQy1B,MAAQ,KAC5B70B,EAAO7M,EAAQ8yC,eAAe/rC,EAElC,IAAI8F,EAAM,CAIR,GAAI4nB,GAAW9iB,EAAG4hB,UAAU7gB,IAAI7F,EAAKtP,GACrCL,MAAK+O,QAAQsjC,SAAS9a,EAAU,SAAUA,GACpCA,GACF9iB,EAAG4hB,UAAUjgB,aAAajB,OAAOoiB,SAIlC,CAEH,GAAImf,GAAO/1C,EAAK+G,gBAAgB1H,KAAKswB,IAAIzQ,OACrCxN,EAAIxI,EAAMw2B,QAAQ5T,OAAO0S,MAAQuX,EACjCxmC,EAAQlQ,KAAKk1B,KAAKv0B,KAAKk1B,OAAOxjB,GAC9B9N,EAAQvE,KAAKk1B,KAAKv0B,KAAK40B,WACvB7M,EAAO1oB,KAAKk1B,KAAKv0B,KAAK8zB,UAEtBkiB,GACFzmC,MAAOs0B,EAAOA,EAAKt0B,EAAO3L,EAAOmkB,GAAQxY,EACzCigB,QAAS,WAIX,IAA0B,UAAtBnwB,KAAK+O,QAAQ5H,KAAkB,CACjC,GAAIgJ,GAAMnQ,KAAKk1B,KAAKv0B,KAAKk1B,OAAOxjB,EAAIrS,KAAKqG,MAAMwM,MAAQ,EACvD8jC,GAAQxmC,IAAMq0B,EAAOA,EAAKr0B,EAAK5L,EAAOmkB,GAAQvY,EAGhDwmC,EAAQ32C,KAAKq2B,UAAUljB,UAAYxS,EAAK2E,YAExC,IAAIiN,GAAQvS,KAAKi2C,gBAAgBpsC,EAC7B0I,KACFokC,EAAQpkC,MAAQA,EAAMylB,SAIxBh4B,KAAK+O,QAAQqjC,MAAMuE,EAAS,SAAUhnC,GAChCA,GACF8E,EAAG4hB,UAAUjgB,aAAa7C,IAAI5D,QAYtC7M,EAAQ2Q,UAAUkgC,mBAAqB,SAAU9pC,GAC/C,GAAK7J,KAAK+O,QAAQojC,WAAlB,CAEA,GAAIgB,GACAxjC,EAAO7M,EAAQ8yC,eAAe/rC,EAElC,IAAI8F,EAAM,CAERwjC,EAAYnzC,KAAKs3B,cAEjB,IAAIif,GAAW1sC,EAAMw2B,QAAQW,QAAQ,IAAMn3B,EAAMw2B,QAAQW,QAAQ,GAAGuV,WAAY,CAChF,IAAIA,EAAU,CAIZpD,EAAU5qC,KAAKoH,EAAKtP,GACpB,IAAI41B,GAAQnzB,EAAQ8zC,cAAc52C,KAAKq2B,UAAU7gB,IAAI29B,EAAWnzC,KAAKyyC,aAGrEU,KACA,KAAK,GAAI9yC,KAAML,MAAKiC,MAClB,GAAIjC,KAAKiC,MAAMkE,eAAe9F,GAAK,CACjC,GAAIw2C,GAAQ72C,KAAKiC,MAAM5B,GACnB6P,EAAQ2mC,EAAM7jC,KAAK9C,MACnBC,EAA0BtJ,SAAnBgwC,EAAM7jC,KAAK7C,IAAqB0mC,EAAM7jC,KAAK7C,IAAMD,CAExDA,IAAS+lB,EAAM9xB,KAAOgM,GAAO8lB,EAAM7xB,KACrC+uC,EAAU5qC,KAAKsuC,EAAMx2C,SAKxB,CAEH,GAAIqI,GAAQyqC,EAAUnsC,QAAQ2I,EAAKtP,GACtB,KAATqI,EAEFyqC,EAAU5qC,KAAKoH,EAAKtP,IAIpB8yC,EAAUxqC,OAAOD,EAAO,GAI5B1I,KAAKo3B,aAAa+b,GAElBnzC,KAAKk1B,KAAKE,QAAQjH,KAAK,UACrBlsB,MAAOjC,KAAKs3B,oBAWlBx0B,EAAQ8zC,cAAgB,SAASvgB,GAC/B,GAAIjyB,GAAM,KACND,EAAM,IAmBV,OAjBAkyB,GAAUztB,QAAQ,SAAUoK,IACf,MAAP7O,GAAe6O,EAAK9C,MAAQ/L,KAC9BA,EAAM6O,EAAK9C,OAGGrJ,QAAZmM,EAAK7C,KACI,MAAP/L,GAAe4O,EAAK7C,IAAM/L,KAC5BA,EAAM4O,EAAK7C,MAIF,MAAP/L,GAAe4O,EAAK9C,MAAQ9L,KAC9BA,EAAM4O,EAAK9C,UAMf/L,IAAKA,EACLC,IAAKA,IAUTtB,EAAQ8yC,eAAiB,SAAS/rC,GAEhC,IADA,GAAIG,GAASH,EAAMG,OACZA,GAAQ,CACb,GAAIA,EAAO7D,eAAe,iBACxB,MAAO6D,GAAO,gBAEhBA;EAASA,EAAOG,WAGlB,MAAO,OASTrH,EAAQ2Q,UAAUwiC,gBAAkB,SAASpsC,GAY3C,IAAK,GADDyT,GAAUzT,EAAMw2B,QAAQ5T,OAAOnP,QAC1BzX,EAAI,EAAGA,EAAI7F,KAAKkzC,SAASltC,OAAQH,IAAK,CAC7C,GAAImyB,GAAUh4B,KAAKkzC,SAASrtC,GACxB0M,EAAQvS,KAAK00B,OAAOsD,GACpB0P,EAAan1B,EAAM+d,IAAIoX,WACvBz/B,EAAMtH,EAAKqH,eAAe0/B,EAC9B,IAAIpqB,EAAUrV,GAAOqV,EAAUrV,EAAMy/B,EAAW7W,aAC9C,MAAOte,EAGT,IAAiC,QAA7BvS,KAAK+O,QAAQ+lB,aACf,GAAIjvB,IAAM7F,KAAKkzC,SAASltC,OAAS,GAAKsX,EAAUrV,EAC9C,MAAOsK,OAIT,IAAU,IAAN1M,GAAWyX,EAAUrV,EAAMy/B,EAAWxd,OACxC,MAAO3X,GAKb,MAAO,OASTzP,EAAQg0C,kBAAoB,SAASjtC,GAEnC,IADA,GAAIG,GAASH,EAAMG,OACZA,GAAQ,CACb,GAAIA,EAAO7D,eAAe,oBACxB,MAAO6D,GAAO,mBAEhBA,GAASA,EAAOG,WAGlB,MAAO,OAGTtK,EAAOD,QAAUkD,GAKb,SAASjD,EAAQD,EAASM,GAS9B,QAAS6C,GAAOmyB,EAAMnmB,EAASgoC,EAAMnN,GACnC5pC,KAAKk1B,KAAOA,EACZl1B,KAAK40B,gBACH5lB,SAAS,EACT+6B,OAAO,EACPiN,SAAU,GACVC,YAAa,EACbpvC,MACEohB,SAAS,EACT9E,SAAU,YAEZyD,OACEqB,SAAS,EACT9E,SAAU,aAGdnkB,KAAK+2C,KAAOA,EACZ/2C,KAAK+O,QAAUpO,EAAKgF,UAAU3F,KAAK40B,gBACnC50B,KAAK4pC,iBAAmBA,EAExB5pC,KAAKgrC,eACLhrC,KAAKswB,OACLtwB,KAAK00B,UACL10B,KAAKkrC,eAAiB,EACtBlrC,KAAKi1B,UAELj1B,KAAKwT,WAAWzE,GAjClB,GAAIpO,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BqC,EAAYrC,EAAoB,GAkCpC6C,GAAO0Q,UAAY,GAAIlR,GAEvBQ,EAAO0Q,UAAUsD,MAAQ,WACvB/W,KAAK00B,UACL10B,KAAKkrC,eAAiB,GAGxBnoC,EAAO0Q,UAAU43B,SAAW,SAASriB,EAAOsiB,GAErCtrC,KAAK00B,OAAOvuB,eAAe6iB,KAC9BhpB,KAAK00B,OAAO1L,GAASsiB,GAEvBtrC,KAAKkrC,gBAAkB,GAGzBnoC,EAAO0Q,UAAU83B,YAAc,SAASviB,EAAOsiB,GAC7CtrC,KAAK00B,OAAO1L,GAASsiB,GAGvBvoC,EAAO0Q,UAAU+3B,YAAc,SAASxiB,GAClChpB,KAAK00B,OAAOvuB,eAAe6iB,WACtBhpB,MAAK00B,OAAO1L,GACnBhpB,KAAKkrC,gBAAkB,IAI3BnoC,EAAO0Q,UAAUwhB,QAAU,WACzBj1B,KAAKswB,IAAIzQ,MAAQhO,SAASM,cAAc,OACxCnS,KAAKswB,IAAIzQ,MAAMzX,UAAY,SAC3BpI,KAAKswB,IAAIzQ,MAAMtS,MAAM4W,SAAW,WAChCnkB,KAAKswB,IAAIzQ,MAAMtS,MAAMtF,IAAM,OAC3BjI,KAAKswB,IAAIzQ,MAAMtS,MAAMk+B,QAAU,QAE/BzrC,KAAKswB,IAAI4mB,SAAWrlC,SAASM,cAAc,OAC3CnS,KAAKswB,IAAI4mB,SAAS9uC,UAAY,aAC9BpI,KAAKswB,IAAI4mB,SAAS3pC,MAAM4W,SAAW,WACnCnkB,KAAKswB,IAAI4mB,SAAS3pC,MAAMtF,IAAM,MAE9BjI,KAAK2pC,IAAM93B,SAASC,gBAAgB,6BAA6B,OACjE9R,KAAK2pC,IAAIp8B,MAAM4W,SAAW,WAC1BnkB,KAAK2pC,IAAIp8B,MAAMtF,IAAM,MACrBjI,KAAK2pC,IAAIp8B,MAAMsF,MAAQ7S,KAAK+O,QAAQioC,SAAW,EAAI,KACnDh3C,KAAK2pC,IAAIp8B,MAAMuF,OAAS,OAExB9S,KAAKswB,IAAIzQ,MAAM9N,YAAY/R,KAAK2pC,KAChC3pC,KAAKswB,IAAIzQ,MAAM9N,YAAY/R,KAAKswB,IAAI4mB,WAMtCn0C,EAAO0Q,UAAUoyB,KAAO,WAElB7lC,KAAKswB,IAAIzQ,MAAM1V,YACjBnK,KAAKswB,IAAIzQ,MAAM1V,WAAWsH,YAAYzR,KAAKswB,IAAIzQ,QAQnD9c,EAAO0Q,UAAUqyB,KAAO,WAEjB9lC,KAAKswB,IAAIzQ,MAAM1V,YAClBnK,KAAKk1B,KAAK5E,IAAI7D,OAAO1a,YAAY/R,KAAKswB,IAAIzQ,QAI9C9c,EAAO0Q,UAAUD,WAAa,SAASzE,GACrC,GAAIP,IAAU,UAAU,cAAc,QAAQ,OAAO,QACrD7N,GAAK6F,oBAAoBgI,EAAQxO,KAAK+O,QAASA,IAGjDhM,EAAO0Q,UAAUuO,OAAS,WACxB,GAAIgqB,GAAe,CACnB,KAAK,GAAIhU,KAAWh4B,MAAK00B,OACnB10B,KAAK00B,OAAOvuB,eAAe6xB,KACO,GAAhCh4B,KAAK00B,OAAOsD,GAAS/O,SAAkEpiB,SAA9C7G,KAAK4pC,iBAAiB1R,WAAWF,IAAuE,GAA7Ch4B,KAAK4pC,iBAAiB1R,WAAWF,IACvIgU,IAKN,IAAuC,GAAnChsC,KAAK+O,QAAQ/O,KAAK+2C,MAAM9tB,SAA2C,GAAvBjpB,KAAKkrC,gBAA+C,GAAxBlrC,KAAK+O,QAAQC,SAAoC,GAAhBg9B,EAC3GhsC,KAAK6lC,WAEF,CAqBH,GApBA7lC,KAAK8lC,OACmC,YAApC9lC,KAAK+O,QAAQ/O,KAAK+2C,MAAM5yB,UAA8D,eAApCnkB,KAAK+O,QAAQ/O,KAAK+2C,MAAM5yB,UAC5EnkB,KAAKswB,IAAIzQ,MAAMtS,MAAM1F,KAAO,MAC5B7H,KAAKswB,IAAIzQ,MAAMtS,MAAMsb,UAAY,OACjC7oB,KAAKswB,IAAI4mB,SAAS3pC,MAAMsb,UAAY,OACpC7oB,KAAKswB,IAAI4mB,SAAS3pC,MAAM1F,KAAQ7H,KAAK+O,QAAQioC,SAAW,GAAM,KAC9Dh3C,KAAKswB,IAAI4mB,SAAS3pC,MAAMqa,MAAQ,GAChC5nB,KAAK2pC,IAAIp8B,MAAM1F,KAAO,MACtB7H,KAAK2pC,IAAIp8B,MAAMqa,MAAQ,KAGvB5nB,KAAKswB,IAAIzQ,MAAMtS,MAAMqa,MAAQ,MAC7B5nB,KAAKswB,IAAIzQ,MAAMtS,MAAMsb,UAAY,QACjC7oB,KAAKswB,IAAI4mB,SAAS3pC,MAAMsb,UAAY,QACpC7oB,KAAKswB,IAAI4mB,SAAS3pC,MAAMqa,MAAS5nB,KAAK+O,QAAQioC,SAAW,GAAM,KAC/Dh3C,KAAKswB,IAAI4mB,SAAS3pC,MAAM1F,KAAO,GAC/B7H,KAAK2pC,IAAIp8B,MAAMqa,MAAQ,MACvB5nB,KAAK2pC,IAAIp8B,MAAM1F,KAAO,IAGgB,YAApC7H,KAAK+O,QAAQ/O,KAAK+2C,MAAM5yB,UAA8D,aAApCnkB,KAAK+O,QAAQ/O,KAAK+2C,MAAM5yB,SAC5EnkB,KAAKswB,IAAIzQ,MAAMtS,MAAMtF,IAAM,EAAIhE,OAAOjE,KAAKk1B,KAAK5E,IAAI7D,OAAOlf,MAAMtF,IAAI6C,QAAQ,KAAK,KAAO,KACzF9K,KAAKswB,IAAIzQ,MAAMtS,MAAMsW,OAAS,OAE3B,CACH,GAAIszB,GAAmBn3C,KAAKk1B,KAAKC,SAAS1I,OAAO3Z,OAAS9S,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,MAC7F9S,MAAKswB,IAAIzQ,MAAMtS,MAAMsW,OAAS,EAAIszB,EAAmBlzC,OAAOjE,KAAKk1B,KAAK5E,IAAI7D,OAAOlf,MAAMtF,IAAI6C,QAAQ,KAAK,KAAO,KAC/G9K,KAAKswB,IAAIzQ,MAAMtS,MAAMtF,IAAM,GAGH,GAAtBjI,KAAK+O,QAAQg7B,OACf/pC,KAAKswB,IAAIzQ,MAAMtS,MAAMsF,MAAQ7S,KAAKswB,IAAI4mB,SAASvmB,YAAc,GAAK,KAClE3wB,KAAKswB,IAAI4mB,SAAS3pC,MAAMqa,MAAQ,GAChC5nB,KAAKswB,IAAI4mB,SAAS3pC,MAAM1F,KAAO,GAC/B7H,KAAK2pC,IAAIp8B,MAAMsF,MAAQ,QAGvB7S,KAAKswB,IAAIzQ,MAAMtS,MAAMsF,MAAQ7S,KAAK+O,QAAQioC,SAAW,GAAKh3C,KAAKswB,IAAI4mB,SAASvmB,YAAc,GAAK,KAC/F3wB,KAAKo3C,kBAGP,IAAIjnB,GAAU,EACd,KAAK,GAAI6H,KAAWh4B,MAAK00B,OACnB10B,KAAK00B,OAAOvuB,eAAe6xB,KACO,GAAhCh4B,KAAK00B,OAAOsD,GAAS/O,SAAkEpiB,SAA9C7G,KAAK4pC,iBAAiB1R,WAAWF,IAAuE,GAA7Ch4B,KAAK4pC,iBAAiB1R,WAAWF,KACvI7H,GAAWnwB,KAAK00B,OAAOsD,GAAS7H,QAAU,UAIhDnwB,MAAKswB,IAAI4mB,SAAS1yB,UAAY2L,EAC9BnwB,KAAKswB,IAAI4mB,SAAS3pC,MAAMujB,WAAe,IAAO9wB,KAAK+O,QAAQioC,SAAYh3C,KAAK+O,QAAQkoC,YAAe,OAIvGl0C,EAAO0Q,UAAU2jC,gBAAkB,WACjC,GAAIp3C,KAAKswB,IAAIzQ,MAAM1V,WAAY,CAC7BvJ,EAAQuQ,gBAAgBnR,KAAKgrC,YAC7B,IAAIzmB,GAAUzc,OAAOw/B,iBAAiBtnC,KAAKswB,IAAIzQ,OAAOw3B,WAClDzL,EAAa3nC,OAAOsgB,EAAQzZ,QAAQ,KAAK,KACzCuH,EAAIu5B,EACJxB,EAAYpqC,KAAK+O,QAAQioC,SACzBrL,EAAa,IAAO3rC,KAAK+O,QAAQioC,SACjC1kC,EAAIs5B,EAAa,GAAMD,EAAa,CAExC3rC,MAAK2pC,IAAIp8B,MAAMsF,MAAQu3B,EAAY,EAAIwB,EAAa,IAEpD,KAAK,GAAI5T,KAAWh4B,MAAK00B,OACnB10B,KAAK00B,OAAOvuB,eAAe6xB,KACO,GAAhCh4B,KAAK00B,OAAOsD,GAAS/O,SAAkEpiB,SAA9C7G,KAAK4pC,iBAAiB1R,WAAWF,IAAuE,GAA7Ch4B,KAAK4pC,iBAAiB1R,WAAWF,KACvIh4B,KAAK00B,OAAOsD,GAAS6T,SAASx5B,EAAGC,EAAGtS,KAAKgrC,YAAahrC,KAAK2pC,IAAKS,EAAWuB,GAC3Er5B,GAAKq5B,EAAa3rC,KAAK+O,QAAQkoC,aAKrCr2C,GAAQ4Q,gBAAgBxR,KAAKgrC,eAIjCnrC,EAAOD,QAAUmD,GAKb,SAASlD,EAAQD,EAASM,GAqB9B,QAAS8C,GAAUkyB,EAAMnmB,GACvB/O,KAAKK,GAAKM,EAAK2E,aACftF,KAAKk1B,KAAOA,EAEZl1B,KAAK40B,gBACH6a,iBAAkB,OAClB6H,aAAc,UACd9gC,MAAM,EACN+gC,UAAU,EACVC,YAAa,QACbpI,QACEpgC,SAAS,EACT8lB,YAAa,UAEfvnB,MAAO,OACPkqC,UACE5kC,MAAO,GACP6kC,cAAe,UACf/P,MAAO,UAETiH,YACE5/B,SAAS,EACT6/B,gBAAiB,cACjBC,MAAO,IAETr8B,YACEzD,SAAS,EACT2D,KAAM,EACNpF,MAAO,UAEToqC,UACE9N,iBAAiB,EACjBC,iBAAiB,EACjBC,OAAO,EACPl3B,MAAO,OACPoW,SAAS,EACTgT,YAAY,EACZD,aACEn0B,MAAO1D,IAAI0C,OAAWzC,IAAIyC,QAC1B+gB,OAAQzjB,IAAI0C,OAAWzC,IAAIyC,UAkB/B+wC,QACE5oC,SAAS,EACT+6B,OAAO,EACPliC,MACEohB,SAAS,EACT9E,SAAU,YAEZyD,OACEqB,SAAS,EACT9E,SAAU,cAGduQ,QACEwD,gBAKJl4B,KAAK+O,QAAUpO,EAAKgF,UAAW3F,KAAK40B,gBACpC50B,KAAKswB,OACLtwB,KAAKqG,SACLrG,KAAK8D,OAAS,KACd9D,KAAK00B,UACL10B,KAAK63C,oBAAqB,EAC1B73C,KAAK83C,iBAAkB,EACvB93C,KAAK+3C,yBAA0B,CAE/B,IAAItjC,GAAKzU,IACTA,MAAKq2B,UAAY,KACjBr2B,KAAKs2B,WAAa,KAGlBt2B,KAAK0yC,eACHn/B,IAAO,SAAU1J,EAAOuK,GACtBK,EAAGk+B,OAAOv+B,EAAOnS,QAEnBkT,OAAU,SAAUtL,EAAOuK,GACzBK,EAAGm+B,UAAUx+B,EAAOnS,QAEtB0U,OAAU,SAAU9M,EAAOuK,GACzBK,EAAGo+B,UAAUz+B,EAAOnS,SAKxBjC,KAAK8yC,gBACHv/B,IAAO,SAAU1J,EAAOuK,GACtBK,EAAGs+B,aAAa3+B,EAAOnS,QAEzBkT,OAAU,SAAUtL,EAAOuK,GACzBK,EAAGu+B,gBAAgB5+B,EAAOnS,QAE5B0U,OAAU,SAAU9M,EAAOuK,GACzBK,EAAGw+B,gBAAgB7+B,EAAOnS,SAI9BjC,KAAKiC,SACLjC,KAAKmzC,aACLnzC,KAAKg4C,UAAYh4C,KAAKk1B,KAAKe,MAAM/lB,MACjClQ,KAAKqzC,eAELrzC,KAAKgrC,eACLhrC,KAAKwT,WAAWzE,GAChB/O,KAAKquC,0BAA4B,GACjCruC,KAAKi4C,QAAU,EACfj4C,KAAKk1B,KAAKE,QAAQvhB,GAAG,eAAgB,WACnCY,EAAGujC,UAAYvjC,EAAGygB,KAAKe,MAAM/lB,MAC7BuE,EAAGk1B,IAAIp8B,MAAM1F,KAAOlH,EAAKyJ,OAAOK,QAAQgK,EAAGpO,MAAMwM,OACjD4B,EAAGuN,OAAOzhB,KAAKkU,GAAG,KAIpBzU,KAAKi1B,UACLj1B,KAAK6vC,WAAalG,IAAK3pC,KAAK2pC,IAAKqB,YAAahrC,KAAKgrC,YAAaj8B,QAAS/O,KAAK+O,QAAS2lB,OAAQ10B,KAAK00B,QACpG10B,KAAKk1B,KAAKE,QAAQjH,KAAK,UAvJzB,GAAIxtB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BqC,EAAYrC,EAAoB,IAChCwC,EAAWxC,EAAoB,IAC/ByC,EAAazC,EAAoB,IACjC6C,EAAS7C,EAAoB,IAC7Bg4C,EAAoBh4C,EAAoB,IAExCozC,EAAY,eAiJhBtwC,GAAUyQ,UAAY,GAAIlR,GAK1BS,EAAUyQ,UAAUwhB,QAAU,WAC5B,GAAIpV,GAAQhO,SAASM,cAAc,MACnC0N,GAAMzX,UAAY,YAClBpI,KAAKswB,IAAIzQ,MAAQA,EAGjB7f,KAAK2pC,IAAM93B,SAASC,gBAAgB,6BAA6B,OACjE9R,KAAK2pC,IAAIp8B,MAAM4W,SAAW,WAC1BnkB,KAAK2pC,IAAIp8B,MAAMuF,QAAU,GAAK9S,KAAK+O,QAAQyoC,aAAa1sC,QAAQ,KAAK,IAAM,KAC3E9K,KAAK2pC,IAAIp8B,MAAMk+B,QAAU,QACzB5rB,EAAM9N,YAAY/R,KAAK2pC,KAGvB3pC,KAAK+O,QAAQ4oC,SAAS7iB,YAAc,OACpC90B,KAAKm4C,UAAY,GAAIz1C,GAAS1C,KAAKk1B,KAAMl1B,KAAK+O,QAAQ4oC,SAAU33C,KAAK2pC,IAAK3pC,KAAK+O,QAAQ2lB,QAEvF10B,KAAK+O,QAAQ4oC,SAAS7iB,YAAc,QACpC90B,KAAKo4C,WAAa,GAAI11C,GAAS1C,KAAKk1B,KAAMl1B,KAAK+O,QAAQ4oC,SAAU33C,KAAK2pC,IAAK3pC,KAAK+O,QAAQ2lB,cACjF10B,MAAK+O,QAAQ4oC,SAAS7iB,YAG7B90B,KAAKq4C,WAAa,GAAIt1C,GAAO/C,KAAKk1B,KAAMl1B,KAAK+O,QAAQ6oC,OAAQ,OAAQ53C,KAAK+O,QAAQ2lB,QAClF10B,KAAKs4C,YAAc,GAAIv1C,GAAO/C,KAAKk1B,KAAMl1B,KAAK+O,QAAQ6oC,OAAQ,QAAS53C,KAAK+O,QAAQ2lB,QAEpF10B,KAAK8lC,QAOP9iC,EAAUyQ,UAAUD,WAAa,SAASzE,GACxC,GAAIA,EAAS,CACX,GAAIP,IAAU,WAAW,eAAe,SAAS,cAAc,mBAAmB,QAAQ,WAAW,WAAW,OAAO,SAC3F3H,UAAxBkI,EAAQyoC,aAAgD3wC,SAAnBkI,EAAQ+D,QAAsEjM,SAA9C7G,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,QAC1G9S,KAAK83C,iBAAkB,EACvB93C,KAAK+3C,yBAA0B,GAEsBlxC,SAA9C7G,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,QAAgDjM,SAAxBkI,EAAQyoC,aACtEtsC,UAAU6D,EAAQyoC,YAAc,IAAI1sC,QAAQ,KAAK,KAAO9K,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,SAC7F9S,KAAK83C,iBAAkB,GAG3Bn3C,EAAK6F,oBAAoBgI,EAAQxO,KAAK+O,QAASA,GAC/CpO,EAAKkO,aAAa7O,KAAK+O,QAASA,EAAQ,cACxCpO,EAAKkO,aAAa7O,KAAK+O,QAASA,EAAQ,cACxCpO,EAAKkO,aAAa7O,KAAK+O,QAASA,EAAQ,UACxCpO,EAAKkO,aAAa7O,KAAK+O,QAASA,EAAQ,UAEpCA,EAAQ6/B,YACuB,gBAAtB7/B,GAAQ6/B,YACb7/B,EAAQ6/B,WAAWC,kBACqB,WAAtC9/B,EAAQ6/B,WAAWC,gBACrB7uC,KAAK+O,QAAQ6/B,WAAWE,MAAQ,EAEa,WAAtC//B,EAAQ6/B,WAAWC,gBAC1B7uC,KAAK+O,QAAQ6/B,WAAWE,MAAQ,GAGhC9uC,KAAK+O,QAAQ6/B,WAAWC,gBAAkB,cAC1C7uC,KAAK+O,QAAQ6/B,WAAWE,MAAQ,KAMpC9uC,KAAKm4C,WACkBtxC,SAArBkI,EAAQ4oC,WACV33C,KAAKm4C,UAAU3kC,WAAWxT,KAAK+O,QAAQ4oC,UACvC33C,KAAKo4C,WAAW5kC,WAAWxT,KAAK+O,QAAQ4oC,WAIxC33C,KAAKq4C,YACgBxxC,SAAnBkI,EAAQ6oC,SACV53C,KAAKq4C,WAAW7kC,WAAWxT,KAAK+O,QAAQ6oC,QACxC53C,KAAKs4C,YAAY9kC,WAAWxT,KAAK+O,QAAQ6oC,SAIzC53C,KAAK00B,OAAOvuB,eAAemtC,IAC7BtzC,KAAK00B,OAAO4e,GAAW9/B,WAAWzE,GAKlC/O,KAAKswB,IAAIzQ,OACX7f,KAAKgiB,QAAO,IAOhBhf,EAAUyQ,UAAUoyB,KAAO,WAErB7lC,KAAKswB,IAAIzQ,MAAM1V,YACjBnK,KAAKswB,IAAIzQ,MAAM1V,WAAWsH,YAAYzR,KAAKswB,IAAIzQ,QASnD7c,EAAUyQ,UAAUqyB,KAAO,WAEpB9lC,KAAKswB,IAAIzQ,MAAM1V,YAClBnK,KAAKk1B,KAAK5E,IAAI7D,OAAO1a,YAAY/R,KAAKswB,IAAIzQ,QAS9C7c,EAAUyQ,UAAU+iB,SAAW,SAASv0B,GACtC,GACEwT,GADEhB,EAAKzU,KAEPk1C,EAAel1C,KAAKq2B,SAGtB,IAAKp0B,EAGA,CAAA,KAAIA,YAAiBpB,IAAWoB,YAAiBnB,IAIpD,KAAM,IAAI4F,WAAU,kDAHpB1G,MAAKq2B,UAAYp0B,MAHjBjC,MAAKq2B,UAAY,IAoBnB,IAXI6e,IAEFv0C,EAAKiI,QAAQ5I,KAAK0yC,cAAe,SAAU7pC,EAAUgB,GACnDqrC,EAAalhC,IAAInK,EAAOhB,KAI1B4M,EAAMy/B,EAAa/+B,SACnBnW,KAAK6yC,UAAUp9B,IAGbzV,KAAKq2B,UAAW,CAElB,GAAIh2B,GAAKL,KAAKK,EACdM,GAAKiI,QAAQ5I,KAAK0yC,cAAe,SAAU7pC,EAAUgB,GACnD4K,EAAG4hB,UAAUxiB,GAAGhK,EAAOhB,EAAUxI,KAInCoV,EAAMzV,KAAKq2B,UAAUlgB,SACrBnW,KAAK2yC,OAAOl9B,GAEdzV,KAAKwzC,mBAELxzC,KAAKgiB,QAAO,IAQdhf,EAAUyQ,UAAU8iB,UAAY,SAAS7B,GACvC,GACIjf,GADAhB,EAAKzU,IAgBT,IAZIA,KAAKs2B,aACP31B,EAAKiI,QAAQ5I,KAAK8yC,eAAgB,SAAUjqC,EAAUgB,GACpD4K,EAAG6hB,WAAWpiB,YAAYrK,EAAOhB,KAInC4M,EAAMzV,KAAKs2B,WAAWngB,SACtBnW,KAAKs2B,WAAa,KAClBt2B,KAAKizC,gBAAgBx9B,IAIlBif,EAGA,CAAA,KAAIA,YAAkB7zB,IAAW6zB,YAAkB5zB,IAItD,KAAM,IAAI4F,WAAU,kDAHpB1G,MAAKs2B,WAAa5B,MAHlB10B,MAAKs2B,WAAa,IASpB,IAAIt2B,KAAKs2B,WAAY,CAEnB,GAAIj2B,GAAKL,KAAKK,EACdM,GAAKiI,QAAQ5I,KAAK8yC,eAAgB,SAAUjqC,EAAUgB,GACpD4K,EAAG6hB,WAAWziB,GAAGhK,EAAOhB,EAAUxI,KAIpCoV,EAAMzV,KAAKs2B,WAAWngB,SACtBnW,KAAK+yC,aAAat9B,GAEpBzV,KAAK4yC,aASP5vC,EAAUyQ,UAAUm/B,UAAY,WAC9B5yC,KAAKwzC,mBACLxzC,KAAKu4C,sBAELv4C,KAAKgiB,QAAO,IAEdhf,EAAUyQ,UAAUk/B,OAAkB,SAAUl9B,GAAMzV,KAAK4yC,UAAUn9B,IACrEzS,EAAUyQ,UAAUo/B,UAAkB,SAAUp9B,GAAMzV,KAAK4yC,UAAUn9B,IACrEzS,EAAUyQ,UAAUu/B,gBAAmB,SAAUE,GAC/C,IAAK,GAAIrtC,GAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAAK,CACxC,GAAI0M,GAAQvS,KAAKs2B,WAAW9gB,IAAI09B,EAASrtC,GACzC7F,MAAKw4C,aAAajmC,EAAO2gC,EAASrtC,IAIpC7F,KAAKgiB,QAAO,IAEdhf,EAAUyQ,UAAUs/B,aAAe,SAAUG,GAAWlzC,KAAKgzC,gBAAgBE,IAQ7ElwC,EAAUyQ,UAAUw/B,gBAAkB,SAAUC,GAC9C,IAAK,GAAIrtC,GAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAC/B7F,KAAK00B,OAAOvuB,eAAe+sC,EAASrtC,MACmB,SAArD7F,KAAK00B,OAAOwe,EAASrtC,IAAIkJ,QAAQ0gC,kBACnCzvC,KAAKo4C,WAAW5M,YAAY0H,EAASrtC,IACrC7F,KAAKs4C,YAAY9M,YAAY0H,EAASrtC,IACtC7F,KAAKs4C,YAAYt2B,WAGjBhiB,KAAKm4C,UAAU3M,YAAY0H,EAASrtC,IACpC7F,KAAKq4C,WAAW7M,YAAY0H,EAASrtC,IACrC7F,KAAKq4C,WAAWr2B,gBAEXhiB,MAAK00B,OAAOwe,EAASrtC,IAGhC7F,MAAKwzC,mBAELxzC,KAAKgiB,QAAO,IAWdhf,EAAUyQ,UAAU+kC,aAAe,SAAUjmC,EAAOylB,GAC7Ch4B,KAAK00B,OAAOvuB,eAAe6xB,IAY9Bh4B,KAAK00B,OAAOsD,GAAS7iB,OAAO5C,GACyB,SAAjDvS,KAAK00B,OAAOsD,GAASjpB,QAAQ0gC,kBAC/BzvC,KAAKo4C,WAAW7M,YAAYvT,EAASh4B,KAAK00B,OAAOsD,IACjDh4B,KAAKs4C,YAAY/M,YAAYvT,EAASh4B,KAAK00B,OAAOsD,MAGlDh4B,KAAKm4C,UAAU5M,YAAYvT,EAASh4B,KAAK00B,OAAOsD,IAChDh4B,KAAKq4C,WAAW9M,YAAYvT,EAASh4B,KAAK00B,OAAOsD,OAlBnDh4B,KAAK00B,OAAOsD,GAAW,GAAIr1B,GAAW4P,EAAOylB,EAASh4B,KAAK+O,QAAS/O,KAAKquC,0BACpB,SAAjDruC,KAAK00B,OAAOsD,GAASjpB,QAAQ0gC,kBAC/BzvC,KAAKo4C,WAAW/M,SAASrT,EAASh4B,KAAK00B,OAAOsD,IAC9Ch4B,KAAKs4C,YAAYjN,SAASrT,EAASh4B,KAAK00B,OAAOsD,MAG/Ch4B,KAAKm4C,UAAU9M,SAASrT,EAASh4B,KAAK00B,OAAOsD,IAC7Ch4B,KAAKq4C,WAAWhN,SAASrT,EAASh4B,KAAK00B,OAAOsD,MAclDh4B,KAAKq4C,WAAWr2B,SAChBhiB,KAAKs4C,YAAYt2B,UASnBhf,EAAUyQ,UAAU8kC,oBAAsB,WACxC,GAAsB,MAAlBv4C,KAAKq2B,UAAmB,CAC1B,GACI2B,GADAygB,IAEJ,KAAKzgB,IAAWh4B,MAAK00B,OACf10B,KAAK00B,OAAOvuB,eAAe6xB,KAC7BygB,EAAczgB,MAGlB,KAAK,GAAIniB,KAAU7V,MAAKq2B,UAAUnjB,MAChC,GAAIlT,KAAKq2B,UAAUnjB,MAAM/M,eAAe0P,GAAS,CAC/C,GAAIlG,GAAO3P,KAAKq2B,UAAUnjB,MAAM2C,EAChC,IAAkChP,SAA9B4xC,EAAc9oC,EAAK4C,OACrB,KAAM,IAAI3O,OAAM,4IAElB+L,GAAK0C,EAAI1R,EAAKuG,QAAQyI,EAAK0C,EAAE,QAC7BomC,EAAc9oC,EAAK4C,OAAOhK,KAAKoH,GAGnC,IAAKqoB,IAAWh4B,MAAK00B,OACf10B,KAAK00B,OAAOvuB,eAAe6xB,IAC7Bh4B,KAAK00B,OAAOsD,GAASxB,SAASiiB,EAAczgB,MAYpDh1B,EAAUyQ,UAAU+/B,iBAAmB,WACrC,GAAIxzC,KAAKq2B,WAA+B,MAAlBr2B,KAAKq2B,UAAmB,CAC5C,GAAIqiB,GAAmB,CACvB,KAAK,GAAI7iC,KAAU7V,MAAKq2B,UAAUnjB,MAChC,GAAIlT,KAAKq2B,UAAUnjB,MAAM/M,eAAe0P,GAAS,CAC/C,GAAIlG,GAAO3P,KAAKq2B,UAAUnjB,MAAM2C,EACpBhP,SAAR8I,IACEA,EAAKxJ,eAAe,SACHU,SAAf8I,EAAK4C,QACP5C,EAAK4C,MAAQ+gC,GAIf3jC,EAAK4C,MAAQ+gC,EAEfoF,EAAmB/oC,EAAK4C,OAAS+gC,EAAYoF,EAAmB,EAAIA,GAK1E,GAAwB,GAApBA,QACK14C,MAAK00B,OAAO4e,GACnBtzC,KAAKq4C,WAAW7M,YAAY8H,GAC5BtzC,KAAKs4C,YAAY9M,YAAY8H,GAC7BtzC,KAAKm4C,UAAU3M,YAAY8H,GAC3BtzC,KAAKo4C,WAAW5M,YAAY8H,OAEzB,CACH,GAAI/gC,IAASlS,GAAIizC,EAAWnjB,QAASnwB,KAAK+O,QAAQuoC,aAClDt3C,MAAKw4C,aAAajmC,EAAO+gC,eAIpBtzC,MAAK00B,OAAO4e,GACnBtzC,KAAKq4C,WAAW7M,YAAY8H,GAC5BtzC,KAAKs4C,YAAY9M,YAAY8H,GAC7BtzC,KAAKm4C,UAAU3M,YAAY8H,GAC3BtzC,KAAKo4C,WAAW5M,YAAY8H,EAG9BtzC,MAAKq4C,WAAWr2B,SAChBhiB,KAAKs4C,YAAYt2B,UAQnBhf,EAAUyQ,UAAUuO,OAAS,SAAS22B,GACpC,GAAIjQ,IAAU,CAGd1oC,MAAKqG,MAAMwM,MAAQ7S,KAAKswB,IAAIzQ,MAAM8Q,YAClC3wB,KAAKqG,MAAMyM,OAAS9S,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,OAGhCjM,SAAnB7G,KAAKs0C,WAA2Bt0C,KAAKqG,MAAMwM,QAC7C8lC,GAAmB,GAIrBjQ,EAAU1oC,KAAKyoC,cAAgBC,CAG/B,IAAIyL,GAAkBn0C,KAAKk1B,KAAKe,MAAM9lB,IAAMnQ,KAAKk1B,KAAKe,MAAM/lB,MACxDkkC,EAAUD,GAAmBn0C,KAAKq0C,mBA6BtC,IA5BAr0C,KAAKq0C,oBAAsBF,EAKZ,GAAXzL,IACF1oC,KAAK2pC,IAAIp8B,MAAMsF,MAAQlS,EAAKyJ,OAAOK,OAAO,EAAEzK,KAAKqG,MAAMwM,OACvD7S,KAAK2pC,IAAIp8B,MAAM1F,KAAOlH,EAAKyJ,OAAOK,QAAQzK,KAAKqG,MAAMwM,QAGN,KAA1C7S,KAAK+O,QAAQ+D,OAAS,IAAI9L,QAAQ,MAA8C,GAAhChH,KAAK+3C,2BACxD/3C,KAAK83C,iBAAkB,IAKC,GAAxB93C,KAAK83C,iBACH93C,KAAK+O,QAAQyoC,aAAex3C,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,OAAS,OAC1E9S,KAAK+O,QAAQyoC,YAAcx3C,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,OAAS,KACvE9S,KAAK2pC,IAAIp8B,MAAMuF,OAAS9S,KAAKk1B,KAAKC,SAASoD,gBAAgBzlB,OAAS,MAEtE9S,KAAK83C,iBAAkB,GAGvB93C,KAAK2pC,IAAIp8B,MAAMuF,QAAU,GAAK9S,KAAK+O,QAAQyoC,aAAa1sC,QAAQ,KAAK,IAAM,KAI9D,GAAX49B,GAA6B,GAAV0L,GAA6C,GAA3Bp0C,KAAK63C,oBAAkD,GAApBc,EAC1EjQ,EAAU1oC,KAAK44C,gBAAkBlQ,MAIjC,IAAsB,GAAlB1oC,KAAKg4C,UAAgB,CACvB,GAAI9tB,GAASlqB,KAAKk1B,KAAKe,MAAM/lB,MAAQlQ,KAAKg4C,UACtC/hB,EAAQj2B,KAAKk1B,KAAKe,MAAM9lB,IAAMnQ,KAAKk1B,KAAKe,MAAM/lB,KAClD,IAAwB,GAApBlQ,KAAKqG,MAAMwM,MAAY,CACzB,GAAIgmC,GAAmB74C,KAAKqG,MAAMwM,MAAMojB,EACpC9L,EAAUD,EAAS2uB,CACvB74C,MAAK2pC,IAAIp8B,MAAM1F,MAAS7H,KAAKqG,MAAMwM,MAAQsX,EAAW,MAO5D,MAFAnqB,MAAKq4C,WAAWr2B,SAChBhiB,KAAKs4C,YAAYt2B,SACV0mB,GAQT1lC,EAAUyQ,UAAUmlC,aAAe,WAGjC,GADAh4C,EAAQuQ,gBAAgBnR,KAAKgrC,aACL,GAApBhrC,KAAKqG,MAAMwM,OAAgC,MAAlB7S,KAAKq2B,UAAmB,CACnD,GAAI9jB,GAAO1M,EACPizC,KACAC,KACAC,KACAC,GAAe,EAGf/F,IACJ,KAAK,GAAIlb,KAAWh4B,MAAK00B,OACnB10B,KAAK00B,OAAOvuB,eAAe6xB,KAC7BzlB,EAAQvS,KAAK00B,OAAOsD,GACC,GAAjBzlB,EAAM0W,SAAgEpiB,SAA5C7G,KAAK+O,QAAQ2lB,OAAOwD,WAAWF,IAAqE,GAA3Ch4B,KAAK+O,QAAQ2lB,OAAOwD,WAAWF,IACpHkb,EAAS3qC,KAAKyvB,GAIpB,IAAIkb,EAASltC,OAAS,EAAG,CAEvB,GAAIkzC,GAAUl5C,KAAKk1B,KAAKv0B,KAAKo1B,cAAc/1B,KAAKk1B,KAAKC,SAASz1B,KAAKmT,OAC/DsmC,EAAUn5C,KAAKk1B,KAAKv0B,KAAKo1B,aAAa,EAAI/1B,KAAKk1B,KAAKC,SAASz1B,KAAKmT,OAClEyjB,IAQJ,KANAt2B,KAAKo5C,iBAAiBlG,EAAU5c,EAAY4iB,EAASC,GAGrDn5C,KAAKq5C,eAAenG,EAAU5c,GAGzBzwB,EAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAC/BizC,EAAsB5F,EAASrtC,IAAM7F,KAAKs5C,qBAAqBhjB,EAAW4c,EAASrtC,IAIrF7F,MAAKu5C,YAAYrG,EAAU4F,EAAuBE,GAIlDC,EAAej5C,KAAKw5C,aAAatG,EAAU8F,EAC3C,IAAIS,GAAa,CACjB,IAAoB,GAAhBR,GAAwBj5C,KAAKi4C,QAAUwB,EAKzC,MAJA74C,GAAQ4Q,gBAAgBxR,KAAKgrC,aAC7BhrC,KAAK63C,oBAAqB,EAC1B73C,KAAKi4C,UACLj4C,KAAKk1B,KAAKE,QAAQjH,KAAK,WAChB,CAUP,KAPInuB,KAAKi4C,QAAUwB,GACjBpgB,QAAQnF,IAAI,6EAEdl0B,KAAKi4C,QAAU,EACfj4C,KAAK63C,oBAAqB,EAGrBhyC,EAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAC/B0M,EAAQvS,KAAK00B,OAAOwe,EAASrtC,IAC7BkzC,EAAmB7F,EAASrtC,IAAM7F,KAAK05C,qBAAqBpjB,EAAW4c,EAASrtC,IAAK0M,EAIvF,KAAK1M,EAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAC/B0M,EAAQvS,KAAK00B,OAAOwe,EAASrtC,IACF,OAAvB0M,EAAMxD,QAAQxB,OAChBgF,EAAMq9B,KAAKmJ,EAAmB7F,EAASrtC,IAAK0M,EAAOvS,KAAK6vC,UAG5DqI,GAAkBtI,KAAKsD,EAAU6F,EAAoB/4C,KAAK6vC,YAOhE,MADAjvC,GAAQ4Q,gBAAgBxR,KAAKgrC,cACtB,GAiBThoC,EAAUyQ,UAAU2lC,iBAAmB,SAAUlG,EAAU5c,EAAY4iB,EAASC,GAC9E,GAAI5mC,GAAO1M,EAAGsmB,EAAGxc,CACjB,IAAIujC,EAASltC,OAAS,EACpB,IAAKH,EAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAAK,CACpC0M,EAAQvS,KAAK00B,OAAOwe,EAASrtC,IAC7BywB,EAAW4c,EAASrtC,MACpB,IAAI8zC,GAAgBrjB,EAAW4c,EAASrtC,GAExC,IAA0B,GAAtB0M,EAAMxD,QAAQyH,KAAc,CAC9B,GAAIojC,GAAQp1C,KAAKJ,IAAI,EAAGzD,EAAKkP,kBAAkB0C,EAAM8jB,UAAW6iB,EAAS,IAAK,UAC9E,KAAK/sB,EAAIytB,EAAOztB,EAAI5Z,EAAM8jB,UAAUrwB,OAAQmmB,IAE1C,GADAxc,EAAO4C,EAAM8jB,UAAUlK,GACVtlB,SAAT8I,EAAoB,CACtB,GAAIA,EAAK0C,EAAI8mC,EAAS,CACpBQ,EAAcpxC,KAAKoH,EACnB,OAGAgqC,EAAcpxC,KAAKoH,QAMzB,KAAKwc,EAAI,EAAGA,EAAI5Z,EAAM8jB,UAAUrwB,OAAQmmB,IACtCxc,EAAO4C,EAAM8jB,UAAUlK,GACVtlB,SAAT8I,GACEA,EAAK0C,EAAI6mC,GAAWvpC,EAAK0C,EAAI8mC,GAC/BQ,EAAcpxC,KAAKoH,KAgBjC3M,EAAUyQ,UAAU4lC,eAAiB,SAAUnG,EAAU5c,GACvD,GAAI/jB,EACJ,IAAI2gC,EAASltC,OAAS,EACpB,IAAK,GAAIH,GAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAEnC,GADA0M,EAAQvS,KAAK00B,OAAOwe,EAASrtC,IACC,GAA1B0M,EAAMxD,QAAQwoC,SAAkB,CAClC,GAAIoC,GAAgBrjB,EAAW4c,EAASrtC,GACxC,IAAI8zC,EAAc3zC,OAAS,EAAG,CAC5B,GAAI6zC,GAAY,EACZC,EAAiBH,EAAc3zC,OAI/B+zC,EAAY/5C,KAAKk1B,KAAKv0B,KAAKg1B,eAAegkB,EAAcA,EAAc3zC,OAAS,GAAGqM,GAAKrS,KAAKk1B,KAAKv0B,KAAKg1B,eAAegkB,EAAc,GAAGtnC,GACtI2nC,EAAiBF,EAAiBC,CACtCF,GAAYr1C,KAAKL,IAAIK,KAAKy1C,KAAK,GAAMH,GAAiBt1C,KAAKJ,IAAI,EAAGI,KAAKypB,MAAM+rB,IAG7E,KAAK,GADDE,MACK/tB,EAAI,EAAO2tB,EAAJ3tB,EAAoBA,GAAK0tB,EACvCK,EAAY3xC,KAAKoxC,EAAcxtB,GAGjCmK,GAAW4c,EAASrtC,IAAMq0C,KAgBpCl3C,EAAUyQ,UAAU8lC,YAAc,SAAUrG,EAAU5c,EAAY0iB,GAChE,GAAIrJ,GAAWp9B,EAAO1M,EAGlBkJ,EAFAorC,KACAC,IAEJ,IAAIlH,EAASltC,OAAS,EAAG,CACvB,IAAKH,EAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAC/B8pC,EAAYrZ,EAAW4c,EAASrtC,IAChCkJ,EAAU/O,KAAK00B,OAAOwe,EAASrtC,IAAIkJ,QAC/B4gC,EAAU3pC,OAAS,IACrBuM,EAAQvS,KAAK00B,OAAOwe,EAASrtC,IAES,SAAlCkJ,EAAQ0oC,SAASC,eAA6C,OAAjB3oC,EAAQxB,MACvB,QAA5BwB,EAAQ0gC,iBAA6B0K,EAAuBA,EAAoB7lC,OAAO/B,EAAMm9B,UAAUC,IAClEyK,EAAuBA,EAAqB9lC,OAAO/B,EAAMm9B,UAAUC,IAG5GqJ,EAAY9F,EAASrtC,IAAM0M,EAAMm9B,UAAUC,EAAUuD,EAASrtC,IAMpEqyC,GAAkBmC,oBAAoBF,EAAsBnB,EAAa9F,EAAU,iBAAmB,QACtGgF,EAAkBmC,oBAAoBD,EAAsBpB,EAAa9F,EAAU,kBAAmB,WAW1GlwC,EAAUyQ,UAAU+lC,aAAe,SAAUtG,EAAU8F,GACrD,GAGoEsB,GAAQC,EAHxE7R,GAAU,EACV8R,GAAgB,EAChBC,GAAiB,EACjBC,EAAU,IAAKC,EAAW,IAAKC,EAAU,KAAMC,EAAW,IAE9D,IAAI3H,EAASltC,OAAS,EAAG,CAEvB,IAAK,GAAIH,GAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAAK,CACxC,GAAI0M,GAAQvS,KAAK00B,OAAOwe,EAASrtC,GAC7B0M,IAA2C,SAAlCA,EAAMxD,QAAQ0gC,kBACzB+K,GAAgB,EAChBE,EAAU,EACVE,EAAU,GAEHroC,GAASA,EAAMxD,QAAQ0gC,mBAC9BgL,GAAiB,EACjBE,EAAW,EACXE,EAAW,GAKf,IAAK,GAAIh1C,GAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAC/BmzC,EAAY7yC,eAAe+sC,EAASrtC,KAClCmzC,EAAY9F,EAASrtC,IAAIi1C,UAAW,IACtCR,EAAStB,EAAY9F,EAASrtC,IAAI1B,IAClCo2C,EAASvB,EAAY9F,EAASrtC,IAAIzB,IAEe,SAA7C40C,EAAY9F,EAASrtC,IAAI4pC,kBAC3B+K,GAAgB,EAChBE,EAAUA,EAAUJ,EAASA,EAASI,EACtCE,EAAoBL,EAAVK,EAAmBL,EAASK,IAGtCH,GAAiB,EACjBE,EAAWA,EAAWL,EAASA,EAASK,EACxCE,EAAsBN,EAAXM,EAAoBN,EAASM,GAM3B,IAAjBL,GACFx6C,KAAKm4C,UAAUrkB,SAAS4mB,EAASE,GAEb,GAAlBH,GACFz6C,KAAKo4C,WAAWtkB,SAAS6mB,EAAUE,GAoCvC,MAjCAnS,GAAU1oC,KAAK+6C,qBAAqBP,EAAgBx6C,KAAKm4C,YAAezP,EACxEA,EAAU1oC,KAAK+6C,qBAAqBN,EAAgBz6C,KAAKo4C,aAAe1P,EAElD,GAAlB+R,GAA2C,GAAjBD,GAC5Bx6C,KAAKm4C,UAAU6C,WAAY,EAC3Bh7C,KAAKo4C,WAAW4C,WAAY,IAG5Bh7C,KAAKm4C,UAAU6C,WAAY,EAC3Bh7C,KAAKo4C,WAAW4C,WAAY,GAE9Bh7C,KAAKo4C,WAAWrN,QAAUyP,EACI,GAA1Bx6C,KAAKo4C,WAAWrN,QACW/qC,KAAKm4C,UAAUrN,WAAtB,GAAlB2P,EAAqDz6C,KAAKo4C,WAAWvlC,MAChB,EAEzD61B,EAAU1oC,KAAKm4C,UAAUn2B,UAAY0mB,EACrC1oC,KAAKo4C,WAAWxN,iBAAmB5qC,KAAKm4C,UAAUxN,WAClD3qC,KAAKo4C,WAAWvN,aAAe7qC,KAAKm4C,UAAUtN,aAC9CnC,EAAU1oC,KAAKo4C,WAAWp2B,UAAY0mB,GAGtCA,EAAU1oC,KAAKo4C,WAAWp2B,UAAY0mB,EAIE,IAAtCwK,EAASlsC,QAAQ,mBACnBksC,EAASvqC,OAAOuqC,EAASlsC,QAAQ,kBAAkB,GAEV,IAAvCksC,EAASlsC,QAAQ,oBACnBksC,EAASvqC,OAAOuqC,EAASlsC,QAAQ,mBAAmB,GAG/C0hC,GAYT1lC,EAAUyQ,UAAUsnC,qBAAuB,SAAUE,EAAUrZ,GAC7D,GAAI9B,IAAU,CAad,OAZgB,IAAZmb,EACErZ,EAAKtR,IAAIzQ,MAAM1V,YAA6B,GAAfy3B,EAAKhI,SACpCgI,EAAKiE,OACL/F,GAAU,GAIP8B,EAAKtR,IAAIzQ,MAAM1V,YAA6B,GAAfy3B,EAAKhI,SACrCgI,EAAKkE,OACLhG,GAAU,GAGPA,GAaT98B,EAAUyQ,UAAU6lC,qBAAuB,SAAU4B,GAKnD,IAAK,GAHDC,GAAQC,EADRC,KAEA5lB,EAAWz1B,KAAKk1B,KAAKv0B,KAAK80B,SAErB5vB,EAAI,EAAGA,EAAIq1C,EAAWl1C,OAAQH,IACrCs1C,EAAS1lB,EAASylB,EAAWr1C,GAAGwM,GAAKrS,KAAKqG,MAAMwM,MAChDuoC,EAASF,EAAWr1C,GAAGyM,EACvB+oC,EAAc9yC,MAAM8J,EAAG8oC,EAAQ7oC,EAAG8oC,GAGpC,OAAOC,IAcTr4C,EAAUyQ,UAAUimC,qBAAuB,SAAUwB,EAAY3oC,GAC/D,GACI4oC,GAAQC,EADRC,KAEA5lB,EAAWz1B,KAAKk1B,KAAKv0B,KAAK80B,SAC1BmM,EAAO5hC,KAAKm4C,UACZmD,EAAYr3C,OAAOjE,KAAK2pC,IAAIp8B,MAAMuF,OAAOhI,QAAQ,KAAK,IACpB,UAAlCyH,EAAMxD,QAAQ0gC,mBAChB7N,EAAO5hC,KAAKo4C,WAGd,KAAK,GAAIvyC,GAAI,EAAGA,EAAIq1C,EAAWl1C,OAAQH,IACrCs1C,EAAS1lB,EAASylB,EAAWr1C,GAAGwM,GAAKrS,KAAKqG,MAAMwM,MAChDuoC,EAAS52C,KAAKypB,MAAM2T,EAAK0L,aAAa4N,EAAWr1C,GAAGyM,IACpD+oC,EAAc9yC,MAAM8J,EAAG8oC,EAAQ7oC,EAAG8oC,GAKpC,OAFA7oC,GAAMo8B,gBAAgBnqC,KAAKL,IAAIm3C,EAAW1Z,EAAK0L,aAAa,KAErD+N,GAITx7C,EAAOD,QAAUoD,GAKb,SAASnD,EAAQD,EAASM,GAgB9B,QAAS+C,GAAUiyB,EAAMnmB,GACvB/O,KAAKswB,KACHoX,WAAY,KACZ6C,SACAgR,cACAC,cACAlqC,WACEi5B,SACAgR,cACAC,gBAGJx7C,KAAKqG,OACH4vB,OACE/lB,MAAO,EACPC,IAAK,EACL2rB,YAAa,GAEf2f,QAAS,GAGXz7C,KAAK40B,gBACHE,YAAa,SAEb+U,iBAAiB,EACjBC,iBAAiB,EACjB1H,OAAQ,KACR5M,SAAU,MAEZx1B,KAAK+O,QAAUpO,EAAKgF,UAAW3F,KAAK40B,gBAEpC50B,KAAKk1B,KAAOA,EAGZl1B,KAAKi1B,UAELj1B,KAAKwT,WAAWzE,GAlDlB,GAAIpO,GAAOT,EAAoB,GAC3BqC,EAAYrC,EAAoB,IAChC6B,EAAW7B,EAAoB,IAC/ByB,EAAWzB,EAAoB,IAC/B2D,EAAS3D,EAAoB,GAiDjC+C,GAASwQ,UAAY,GAAIlR,GAUzBU,EAASwQ,UAAUD,WAAa,SAASzE,GACnCA,IAEFpO,EAAKyF,iBACH,cACA,kBACA,kBACA,cACA,SACA,YACCpG,KAAK+O,QAASA,GAIb,UAAYA,KACe,kBAAlBlL,GAAOqhC,OAEhBrhC,EAAOqhC,OAAOn2B,EAAQm2B,QAGtBrhC,EAAOshC,KAAKp2B,EAAQm2B,WAS5BjiC,EAASwQ,UAAUwhB,QAAU,WAC3Bj1B,KAAKswB,IAAIoX,WAAa71B,SAASM,cAAc,OAC7CnS,KAAKswB,IAAI5jB,WAAamF,SAASM,cAAc,OAE7CnS,KAAKswB,IAAIoX,WAAWt/B,UAAY,sBAChCpI,KAAKswB,IAAI5jB,WAAWtE,UAAY,uBAMlCnF,EAASwQ,UAAUG,QAAU,WAEvB5T,KAAKswB,IAAIoX,WAAWv9B,YACtBnK,KAAKswB,IAAIoX,WAAWv9B,WAAWsH,YAAYzR,KAAKswB,IAAIoX,YAElD1nC,KAAKswB,IAAI5jB,WAAWvC,YACtBnK,KAAKswB,IAAI5jB,WAAWvC,WAAWsH,YAAYzR,KAAKswB,IAAI5jB,YAGtD1M,KAAKk1B,KAAO,MAOdjyB,EAASwQ,UAAUuO,OAAS,WAC1B,GAAIjT,GAAU/O,KAAK+O,QACf1I,EAAQrG,KAAKqG,MACbqhC,EAAa1nC,KAAKswB,IAAIoX,WACtBh7B,EAAa1M,KAAKswB,IAAI5jB,WAGtB24B,EAAiC,OAAvBt2B,EAAQ+lB,YAAwB90B,KAAKk1B,KAAK5E,IAAIroB,IAAMjI,KAAKk1B,KAAK5E,IAAIzM,OAC5E63B,EAAiBhU,EAAWv9B,aAAek7B,CAG/CrlC,MAAKisC,oBAGL,IACIpC,IADc7pC,KAAK+O,QAAQ+lB,YACT90B,KAAK+O,QAAQ86B,iBAC/BC,EAAkB9pC,KAAK+O,QAAQ+6B,eAGnCzjC,GAAM6lC,iBAAmBrC,EAAkBxjC,EAAM8lC,gBAAkB,EACnE9lC,EAAM+lC,iBAAmBtC,EAAkBzjC,EAAMgmC,gBAAkB,EACnEhmC,EAAMyM,OAASzM,EAAM6lC,iBAAmB7lC,EAAM+lC,iBAC9C/lC,EAAMwM,MAAQ60B,EAAW/W,YAEzBtqB,EAAMkmC,gBAAkBvsC,KAAKk1B,KAAKC,SAASz1B,KAAKoT,OAASzM,EAAM+lC,kBACnC,OAAvBr9B,EAAQ+lB,YAAuB90B,KAAKk1B,KAAKC,SAAStR,OAAO/Q,OAAS9S,KAAKk1B,KAAKC,SAASltB,IAAI6K,QAC9FzM,EAAMimC,eAAiB,EACvBjmC,EAAMomC,gBAAkBpmC,EAAMkmC,gBAAkBlmC,EAAM+lC,iBACtD/lC,EAAMmmC,eAAiB,CAGvB,IAAImP,GAAwBjU,EAAWkU,YACnCC,EAAwBnvC,EAAWkvC,WAsBvC,OArBAlU,GAAWv9B,YAAcu9B,EAAWv9B,WAAWsH,YAAYi2B,GAC3Dh7B,EAAWvC,YAAcuC,EAAWvC,WAAWsH,YAAY/E,GAE3Dg7B,EAAWn6B,MAAMuF,OAAS9S,KAAKqG,MAAMyM,OAAS,KAE9C9S,KAAK87C,iBAGDH,EACFtW,EAAOnzB,aAAaw1B,EAAYiU,GAGhCtW,EAAOtzB,YAAY21B,GAEjBmU,EACF77C,KAAKk1B,KAAK5E,IAAIyY,mBAAmB72B,aAAaxF,EAAYmvC,GAG1D77C,KAAKk1B,KAAK5E,IAAIyY,mBAAmBh3B,YAAYrF,GAGxC1M,KAAKyoC,cAAgBiT,GAO9Bz4C,EAASwQ,UAAUqoC,eAAiB,WAClC,GAAIhnB,GAAc90B,KAAK+O,QAAQ+lB,YAG3B5kB,EAAQvP,EAAKuG,QAAQlH,KAAKk1B,KAAKe,MAAM/lB,MAAO,UAC5CC,EAAMxP,EAAKuG,QAAQlH,KAAKk1B,KAAKe,MAAM9lB,IAAK,UACxC4rC,EAAgB/7C,KAAKk1B,KAAKv0B,KAAKk1B,OAA2C,GAAnC71B,KAAKqG,MAAMunC,gBAAkB,KAASvmC,UAC7Ey0B,EAAcigB,EAAgBp6C,EAAS45B,wBAAwBv7B,KAAKk1B,KAAKI,YAAat1B,KAAKk1B,KAAKe,MAAO8lB,EAC3GjgB,IAAe97B,KAAKk1B,KAAKv0B,KAAKk1B,OAAO,GAAGxuB,SAExC,IAAIqhB,GAAO,GAAI3mB,GAAS,GAAI6C,MAAKsL,GAAQ,GAAItL,MAAKuL,GAAM2rB,EAAa97B,KAAKk1B,KAAKI,YAC3Et1B,MAAK+O,QAAQqzB,QACf1Z,EAAKma,UAAU7iC,KAAK+O,QAAQqzB,QAE1BpiC,KAAK+O,QAAQymB,UACf9M,EAAKob,SAAS9jC,KAAK+O,QAAQymB,UAE7Bx1B,KAAK0oB,KAAOA,CAKZ,IAAI4H,GAAMtwB,KAAKswB,GACfA,GAAIhf,UAAUi5B,MAAQja,EAAIia,MAC1Bja,EAAIhf,UAAUiqC,WAAajrB,EAAIirB,WAC/BjrB,EAAIhf,UAAUkqC,WAAalrB,EAAIkrB,WAC/BlrB,EAAIia,SACJja,EAAIirB,cACJjrB,EAAIkrB,aAEJ,IAAIQ,GAEApe,EAGAqe,EAGA7zC,EAPAiK,EAAI,EAEJ6pC,EAAQ,EACRrpC,EAAQ,EAERspC,EAAmBt1C,OACnBzC,EAAM,CAIV,KADAskB,EAAKqa,QACEra,EAAK6U,WAAmB,IAANn5B,GACvBA,IAEA43C,EAAMtzB,EAAKC,aACXiV,EAAUlV,EAAKkV,UACfx1B,EAAYsgB,EAAKic,eAEjBuX,EAAQ7pC,EACRA,EAAIrS,KAAKk1B,KAAKv0B,KAAK80B,SAASumB,GAC5BnpC,EAAQR,EAAI6pC,EACRD,IACFA,EAAS1uC,MAAMsF,MAAQA,EAAQ,MAG7B7S,KAAK+O,QAAQ86B,iBACf7pC,KAAKo8C,kBAAkB/pC,EAAGqW,EAAK+b,gBAAiB3P,EAAa1sB,GAG3Dw1B,GAAW59B,KAAK+O,QAAQ+6B,iBACtBz3B,EAAI,IACkBxL,QAApBs1C,IACFA,EAAmB9pC,GAErBrS,KAAKq8C,kBAAkBhqC,EAAGqW,EAAKgc,gBAAiB5P,EAAa1sB,IAE/D6zC,EAAWj8C,KAAKs8C,kBAAkBjqC,EAAGyiB,EAAa1sB,IAGlD6zC,EAAWj8C,KAAKu8C,kBAAkBlqC,EAAGyiB,EAAa1sB,GAGpDsgB,EAAKE,MAIP,IAAI5oB,KAAK+O,QAAQ+6B,gBAAiB,CAChC,GAAI0S,GAAWx8C,KAAKk1B,KAAKv0B,KAAKk1B,OAAO,GACjC4mB,EAAW/zB,EAAKgc,cAAc8X,GAC9BE,EAAYD,EAASz2C,QAAUhG,KAAKqG,MAAMsnC,gBAAkB,IAAM,IAE9C9mC,QAApBs1C,GAA6CA,EAAZO,IACnC18C,KAAKq8C,kBAAkB,EAAGI,EAAU3nB,EAAa1sB,GAKrDzH,EAAKiI,QAAQ5I,KAAKswB,IAAIhf,UAAW,SAAUqrC,GACzC,KAAOA,EAAI32C,QAAQ,CACjB,GAAI2B,GAAOg1C,EAAIC,KACXj1C,IAAQA,EAAKwC,YACfxC,EAAKwC,WAAWsH,YAAY9J,OAcpC1E,EAASwQ,UAAU2oC,kBAAoB,SAAU/pC,EAAGyX,EAAMgL,EAAa1sB,GAErE,GAAI4gB,GAAQhpB,KAAKswB,IAAIhf,UAAUkqC,WAAW5pC,OAE1C,KAAKoX,EAAO,CAEV,GAAImH,GAAUte,SAASi8B,eAAe,GACtC9kB,GAAQnX,SAASM,cAAc,OAC/B6W,EAAMjX,YAAYoe,GAClBnwB,KAAKswB,IAAIoX,WAAW31B,YAAYiX,GAElChpB,KAAKswB,IAAIkrB,WAAWjzC,KAAKygB,GAEzBA,EAAM6zB,WAAW,GAAGC,UAAYhzB,EAEhCd,EAAMzb,MAAMtF,IAAsB,OAAf6sB,EAAyB90B,KAAKqG,MAAM+lC,iBAAmB,KAAQ,IAClFpjB,EAAMzb,MAAM1F,KAAOwK,EAAI,KACvB2W,EAAM5gB,UAAY,cAAgBA,GAYpCnF,EAASwQ,UAAU4oC,kBAAoB,SAAUhqC,EAAGyX,EAAMgL,EAAa1sB,GAErE,GAAI4gB,GAAQhpB,KAAKswB,IAAIhf,UAAUiqC,WAAW3pC,OAE1C,KAAKoX,EAAO,CAEV,GAAImH,GAAUte,SAASi8B,eAAehkB,EACtCd,GAAQnX,SAASM,cAAc,OAC/B6W,EAAMjX,YAAYoe,GAClBnwB,KAAKswB,IAAIoX,WAAW31B,YAAYiX,GAElChpB,KAAKswB,IAAIirB,WAAWhzC,KAAKygB,GAEzBA,EAAM6zB,WAAW,GAAGC,UAAYhzB,EAChCd,EAAM5gB,UAAY,cAAgBA,EAGlC4gB,EAAMzb,MAAMtF,IAAsB,OAAf6sB,EAAwB,IAAO90B,KAAKqG,MAAM6lC,iBAAoB,KACjFljB,EAAMzb,MAAM1F,KAAOwK,EAAI,MAWzBpP,EAASwQ,UAAU8oC,kBAAoB,SAAUlqC,EAAGyiB,EAAa1sB,GAE/D,GAAIgoB,GAAOpwB,KAAKswB,IAAIhf,UAAUi5B,MAAM34B,OAC/Bwe,KAEHA,EAAOve,SAASM,cAAc,OAC9BnS,KAAKswB,IAAI5jB,WAAWqF,YAAYqe,IAElCpwB,KAAKswB,IAAIia,MAAMhiC,KAAK6nB,EAEpB,IAAI/pB,GAAQrG,KAAKqG,KAYjB,OAVE+pB,GAAK7iB,MAAMtF,IADM,OAAf6sB,EACezuB,EAAM+lC,iBAAmB,KAGzBpsC,KAAKk1B,KAAKC,SAASltB,IAAI6K,OAAS,KAEnDsd,EAAK7iB,MAAMuF,OAASzM,EAAMkmC,gBAAkB,KAC5Cnc,EAAK7iB,MAAM1F,KAAQwK,EAAIhM,EAAMimC,eAAiB,EAAK,KAEnDlc,EAAKhoB,UAAY,uBAAyBA,EAEnCgoB,GAWTntB,EAASwQ,UAAU6oC,kBAAoB,SAAUjqC,EAAGyiB,EAAa1sB,GAE/D,GAAIgoB,GAAOpwB,KAAKswB,IAAIhf,UAAUi5B,MAAM34B,OAC/Bwe,KAEHA,EAAOve,SAASM,cAAc,OAC9BnS,KAAKswB,IAAI5jB,WAAWqF,YAAYqe,IAElCpwB,KAAKswB,IAAIia,MAAMhiC,KAAK6nB,EAEpB,IAAI/pB,GAAQrG,KAAKqG,KAYjB,OAVE+pB,GAAK7iB,MAAMtF,IADM,OAAf6sB,EACe,IAGA90B,KAAKk1B,KAAKC,SAASltB,IAAI6K,OAAS,KAEnDsd,EAAK7iB,MAAM1F,KAAQwK,EAAIhM,EAAMmmC,eAAiB,EAAK,KACnDpc,EAAK7iB,MAAMuF,OAASzM,EAAMomC,gBAAkB,KAE5Crc,EAAKhoB,UAAY,uBAAyBA,EAEnCgoB,GAQTntB,EAASwQ,UAAUw4B,mBAAqB,WAKjCjsC,KAAKswB,IAAIyd,mBACZ/tC,KAAKswB,IAAIyd,iBAAmBl8B,SAASM,cAAc,OACnDnS,KAAKswB,IAAIyd,iBAAiB3lC,UAAY,qBACtCpI,KAAKswB,IAAIyd,iBAAiBxgC,MAAM4W,SAAW,WAE3CnkB,KAAKswB,IAAIyd,iBAAiBh8B,YAAYF,SAASi8B,eAAe,MAC9D9tC,KAAKswB,IAAIoX,WAAW31B,YAAY/R,KAAKswB,IAAIyd,mBAE3C/tC,KAAKqG,MAAM8lC,gBAAkBnsC,KAAKswB,IAAIyd,iBAAiB3oB,aACvDplB,KAAKqG,MAAMunC,eAAiB5tC,KAAKswB,IAAIyd,iBAAiBhuB,YAGjD/f,KAAKswB,IAAI2d,mBACZjuC,KAAKswB,IAAI2d,iBAAmBp8B,SAASM,cAAc,OACnDnS,KAAKswB,IAAI2d,iBAAiB7lC,UAAY,qBACtCpI,KAAKswB,IAAI2d,iBAAiB1gC,MAAM4W,SAAW,WAE3CnkB,KAAKswB,IAAI2d,iBAAiBl8B,YAAYF,SAASi8B,eAAe,MAC9D9tC,KAAKswB,IAAIoX,WAAW31B,YAAY/R,KAAKswB,IAAI2d,mBAE3CjuC,KAAKqG,MAAMgmC,gBAAkBrsC,KAAKswB,IAAI2d,iBAAiB7oB,aACvDplB,KAAKqG,MAAMsnC,eAAiB3tC,KAAKswB,IAAI2d,iBAAiBluB,aAGxDlgB,EAAOD,QAAUqD,GAKb,SAASpD,EAAQD,EAASM,GAkC9B,QAASgD,GAAS6W,EAAW/G,EAAMjE,GACjC,KAAM/O,eAAgBkD,IACpB,KAAM,IAAI8W,aAAY,mDAGxBha,MAAK+8C,0BACL/8C,KAAKg9C,0BAGLh9C,KAAKia,iBAAmBF,EAGxB/Z,KAAKi9C,kBAAoB,GACzBj9C,KAAKk9C,eAAiB,IAAOl9C,KAAKi9C,kBAClCj9C,KAAKm9C,WAAa,EAClBn9C,KAAKo9C,YAAc,EACnBp9C,KAAKq9C,gBAAiB,EACtBr9C,KAAKs9C,wBAA0B,GAE/Bt9C,KAAKu9C,cAAe,EAEpBv9C,KAAKw9C,kBAAoBjqC,IAAI,KAAKkqC,KAAK,KAAKC,SAAS,KAAKC,QAAQ,KAAKC,IAAI,KAE3E,IAAIC,GAAwB,SAAU15C,EAAIC,EAAIC,EAAMC,GAClD,GAAIF,GAAOD,EACT,MAAO,EAGP,IAAII,GAAQ,GAAKH,EAAMD,EACvB,OAAOK,MAAKJ,IAAI,GAAGE,EAAQH,GAAKI,GAIpCvE,MAAK40B,gBACHkpB,OACED,sBAAuBA,EACvBE,KAAM,EACNC,UAAW,GACXC,UAAW,GACXjyB,OAAQ,GACRkyB,MAAO,UACPC,MAAOt3C,OACP4gB,SAAU,GACVC,SAAU,GACV02B,UAAW,QACXC,SAAU,GACVC,SAAU,UACVC,SAAU13C,OACV23C,gBAAiB,EACjBC,gBAAiB,UACjBC,kBAAmB,EACnBC,oBAAoB,EACpBC,YAAa,GACbC,YAAa,GACbC,mBAAoB,GACpBC,MAAO,GACP3zC,OACIuB,OAAQ,UACRD,WAAY,UACdE,WACED,OAAQ,UACRD,WAAY,WAEdG,OACEF,OAAQ,UACRD,WAAY,YAGhB6F,MAAO1L,OACP0Z,YAAa,EACby+B,oBAAqBn4C,QAEvBo4C,OACEpB,sBAAuBA,EACvBp2B,SAAU,EACVC,SAAU,GACV7U,MAAO,EACPqsC,yBAA0B,EAC1BC,WAAY,IACZ5xC,MAAO,OACPnC,OACEA,MAAM,UACNwB,UAAU,UACVC,MAAO,WAETxB,QAAQ,EACR+yC,UAAW,UACXC,SAAU,GACVC,SAAU,QACVC,SAAU,QACVC,gBAAiB,EACjBC,gBAAiB,QACjBW,eAAe,aACfC,iBAAkB,EAClBC,MACEt5C,OAAQ,GACRu5C,IAAK,EACLC,UAAW34C,QAEb44C,aAAc,QAEhBC,kBAAiB,EACjBC,SACEC,WACE5wC,SAAS,EACT6wC,cAAe,EACfC,sBAAuB,KACvBC,eAAgB,GAChBC,aAAc,GACdC,eAAgB,IAChBC,QAAS,KAEXC,WACEJ,eAAgB,EAChBC,aAAc,IACdC,eAAgB,IAChBG,aAAc,IACdF,QAAS,KAEXG,uBACErxC,SAAS,EACT+wC,eAAgB,EAChBC,aAAc,IACdC,eAAgB,IAChBG,aAAc,IACdF,QAAS,KAEXA,QAAS,KACTH,eAAgB,KAChBC,aAAc,KACdC,eAAgB,MAElBK,YACEtxC,SAAS,EACTuxC,gBAAiB,IACjBC,iBAAiB,IACjBC,cAAc,IACdC,eAAgB,GAChBC,qBAAsB,GACtBC,gBAAiB,IACjBC,oBAAqB,GACrBC,mBAAoB,EACpBC,YAAa,IACbC,mBAAoB,GACpBC,sBAAuB,GACvBC,WAAY,GACZC,aAActuC,MAAQ,EACRC,OAAQ,EACRkZ,OAAQ,GACtBo1B,sBAAuB,IACvBC,kBAAmB,GACnBC,uBAAwB,EACxBC,eAAe,GAEjBC,YACExyC,SAAS,GAEXyyC,UACEzyC,SAAS,EACT0yC,OAAQrvC,EAAG,GAAIC,EAAG,GAAIyuB,KAAM,KAC5B4gB,cAAc,GAEhBC,kBACE5yC,SAAS,EACT6yC,kBAAkB,GAEpBC,oBACE9yC,SAAQ,EACR+yC,gBAAiB,IACjBC,YAAa,IACbpmB,UAAW,KACXqmB,OAAQ,WAEVC,wBAAwB,EACxBC,cACEnzC,SAAS,EACTozC,SAAS,EACTj7C,KAAM,aACNk7C,UAAW,IAEbC,YAAc,GACdC,YAAc,GACdC,WAAW,EACXC,wBAAyB,IACzBC,uBAAuB,EACvBxd,OAAQ,KACR4D,QAASA,EACTniB,SACE3N,MAAO,IACPolC,UAAW,QACXC,SAAU,GACVC,SAAU,UACVlzC,OACEuB,OAAQ,OACRD,WAAY,YAGhBi2C,aAAa,EACbC,WAAW,EACXvkB,UAAU,EACVxxB,OAAO,EACPg2C,iBAAiB,EACjBC,iBAAiB,EACjBjwC,MAAQ,OACRC,OAAS,OACTq/B,YAAY,GAEdnyC,KAAK+iD,UAAYpiD,EAAKgF,UAAW3F,KAAK40B,gBACtC50B,KAAKgjD,WAAa,EAGlBhjD,KAAKijD,UAAYnF,SAASmB,UAC1Bj/C,KAAKkjD,oBAAqB,EAC1BljD,KAAKmjD,mBAAqBC,YAAaC,SAGvCrjD,KAAKsjD,eAAiB,EAAEtjD,KAAKi9C,kBAC7Bj9C,KAAKujD,wBAA0B,iBAC/BvjD,KAAKwjD,WAAY,EACjBxjD,KAAKyjD,WAAa,EAClBzjD,KAAK0jD,YAAc,EACnB1jD,KAAK2jD,YAAc,EACnB3jD,KAAK4jD,kBAAoB,EACzB5jD,KAAK6jD,kBAAoB,EACzB7jD,KAAK8jD,eAAiB,KACtB9jD,KAAK+jD,mBAAqB,KAC1B/jD,KAAKgkD,UAAY,CAGjB,IAAI7gD,GAAUnD,IACdA,MAAK00B,OAAS,GAAIrxB,GAClBrD,KAAKikD,OAAS,GAAI3gD,GAClBtD,KAAKikD,OAAOC,kBAAkB,WAC5B/gD,EAAQszB,YAIVz2B,KAAKmkD,WAAa,EAClBnkD,KAAKokD,WAAa,EAClBpkD,KAAKqkD,cAAgB,EAIrBrkD,KAAKskD,qBAELtkD,KAAKi1B,UAELj1B,KAAKukD,oBAELvkD,KAAKwkD,qBAELxkD,KAAKykD,uBAELzkD,KAAK0kD,uBAIL1kD,KAAK2kD,gBAAgB3kD,KAAK6f,MAAME,YAAc,EAAG/f,KAAK6f,MAAMuF,aAAe,GAC3EplB,KAAKwd,UAAU,GACfxd,KAAKwT,WAAWzE,GAGhB/O,KAAK4kD,yBAA0B,EAC/B5kD,KAAK6kD,mBACL7kD,KAAK8kD,sBAAuB,EAC5B9kD,KAAK+kD,YAAa,EAClB/kD,KAAKyiD,wBAA0B,KAC/BziD,KAAKglD,eAAgB,EAGrBhlD,KAAKilD,oBACLjlD,KAAKklD,0BACLllD,KAAKmlD,eACLnlD,KAAK89C,SACL99C,KAAKi/C,SAGLj/C,KAAKolD,eAAqB/yC,EAAK,EAAEC,EAAK,GACtCtS,KAAKqlD,mBAAqBhzC,EAAK,EAAEC,EAAK,GACtCtS,KAAKslD,iBAAmBjzC,EAAK,EAAEC,EAAK,GACpCtS,KAAKulD,cACLvlD,KAAKuE,MAAQ,EACbvE,KAAKwlD,cAAgBxlD,KAAKuE,MAG1BvE,KAAKylD,UAAY,KACjBzlD,KAAK0lD,UAAY,KAGjB1lD,KAAK2lD,gBACHpyC,IAAO,SAAU1J,EAAOuK,GACtBjR,EAAQyiD,UAAUxxC,EAAOnS,OACzBkB,EAAQ+M,SAEViF,OAAU,SAAUtL,EAAOuK,GACzBjR,EAAQ0iD,aAAazxC,EAAOnS,MAAOmS,EAAOpB,MAC1C7P,EAAQ+M,SAEVyG,OAAU,SAAU9M,EAAOuK,GACzBjR,EAAQ2iD,aAAa1xC,EAAOnS,OAC5BkB,EAAQ+M,UAGZlQ,KAAK+lD,gBACHxyC,IAAO,SAAU1J,EAAOuK,GACtBjR,EAAQ6iD,UAAU5xC,EAAOnS,OACzBkB,EAAQ+M,SAEViF,OAAU,SAAUtL,EAAOuK,GACzBjR,EAAQ8iD,aAAa7xC,EAAOnS,OAC5BkB,EAAQ+M,SAEVyG,OAAU,SAAU9M,EAAOuK,GACzBjR,EAAQ+iD,aAAa9xC,EAAOnS,OAC5BkB,EAAQ+M,UAKZlQ,KAAKmmD,QAAS,EACdnmD,KAAKomD,MAAQv/C,OAGb7G,KAAKsY,QAAQtF,EAAKhT,KAAK+iD,UAAUzC,WAAWtxC,SAAWhP,KAAK+iD,UAAUjB,mBAAmB9yC,SAGzFhP,KAAKu9C,cAAe,EAC6B,GAA7Cv9C,KAAK+iD,UAAUjB,mBAAmB9yC,QACpChP,KAAKqmD,2BAI2B,GAA5BrmD,KAAK+iD,UAAUP,WACjBxiD,KAAKsmD,YAAYl2C,SAAS,IAAI,EAAMpQ,KAAK+iD,UAAUzC,WAAWtxC,SAK9DhP,KAAK+iD,UAAUzC,WAAWtxC,SAC5BhP,KAAKumD,sBAnXT,GAAIhpC,GAAUrd,EAAoB,IAC9BulC,EAASvlC,EAAoB,IAC7BsmD,EAAWtmD,EAAoB,IAC/BS,EAAOT,EAAoB,GAC3Bm/B,EAAan/B,EAAoB,IACjCW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BuD,EAAYvD,EAAoB,IAChCwD,EAAcxD,EAAoB,IAClCmD,EAASnD,EAAoB,IAC7BoD,EAASpD,EAAoB,IAC7BqD,EAAOrD,EAAoB,IAC3BkD,EAAOlD,EAAoB,IAC3BsD,EAAQtD,EAAoB,IAC5BumD,EAAcvmD,EAAoB,IAClCwmD,EAAYxmD,EAAoB,IAChC4oC,EAAU5oC,EAAoB,GAGlCA,GAAoB,IAqWpBqd,EAAQra,EAAQuQ,WAOhBvQ,EAAQuQ,UAAUspC,wBAA0B,WAC1C,GAAI4J,GAAcp9C,UAAUC,UAAU47B,aACtCplC,MAAK4mD,iBAAkB,EACgB,IAAnCD,EAAY3/C,QAAQ,YACtBhH,KAAK4mD,iBAAkB,EAEiB,IAAjCD,EAAY3/C,QAAQ,WACvB2/C,EAAY3/C,QAAQ,WAAa,KACnChH,KAAK4mD,iBAAkB,IAa7B1jD,EAAQuQ,UAAUozC,eAAiB,WAIjC,IAAK,GAHDC,GAAUj1C,SAASk1C,qBAAsB,UAGpClhD,EAAI,EAAGA,EAAIihD,EAAQ9gD,OAAQH,IAAK,CACvC,GAAImhD,GAAMF,EAAQjhD,GAAGmhD,IACjBniD,EAAQmiD,GAAO,qBAAqBjiD,KAAKiiD,EAC7C,IAAIniD,EAEF,MAAOmiD,GAAI/d,UAAU,EAAG+d,EAAIhhD,OAASnB,EAAM,GAAGmB,QAIlD,MAAO,OAQT9C,EAAQuQ,UAAUwzC,UAAY,SAASC,GACrC,GAAsDC,GAAlDC,EAAO,IAAKC,EAAO,KAAMC,EAAO,IAAKC,EAAO,IAChD,IAAIL,EAAclhD,OAAS,EACzB,IAAK,GAAIH,GAAI,EAAGA,EAAIqhD,EAAclhD,OAAQH,IACxCshD,EAAOnnD,KAAK89C,MAAMoJ,EAAcrhD,IAC5ByhD,EAAQH,EAAKK,YAAgB,OAC/BF,EAAOH,EAAKK,YAAY3/C,MAEtB0/C,EAAQJ,EAAKK,YAAiB,QAChCD,EAAOJ,EAAKK,YAAY5/B,OAEtBw/B,EAAQD,EAAKK,YAAkB,SACjCJ,EAAOD,EAAKK,YAAYv/C,KAEtBo/C,EAAQF,EAAKK,YAAe,MAC9BH,EAAOF,EAAKK,YAAY3jC,YAK5B,KAAK,GAAI4jC,KAAUznD,MAAK89C,MAClB99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GACdH,EAAQH,EAAKK,YAAgB,OAC/BF,EAAOH,EAAKK,YAAY3/C,MAEtB0/C,EAAQJ,EAAKK,YAAiB,QAChCD,EAAOJ,EAAKK,YAAY5/B,OAEtBw/B,EAAQD,EAAKK,YAAkB,SACjCJ,EAAOD,EAAKK,YAAYv/C,KAEtBo/C,EAAQF,EAAKK,YAAe,MAC9BH,EAAOF,EAAKK,YAAY3jC,QAShC,OAHY,MAARyjC,GAAuB,MAARC,GAAwB,KAARH,GAAuB,MAARC,IAChDD,EAAO,EAAGC,EAAO,EAAGC,EAAO,EAAGC,EAAO,IAE/BD,KAAMA,EAAMC,KAAMA,EAAMH,KAAMA,EAAMC,KAAMA,IASpDnkD,EAAQuQ,UAAUi0C,YAAc,SAASzxB,GACvC,OAAQ5jB,EAAI,IAAO4jB,EAAMsxB,KAAOtxB,EAAMqxB,MAC9Bh1C,EAAI,IAAO2jB,EAAMoxB,KAAOpxB,EAAMmxB,QAUxClkD,EAAQuQ,UAAU6yC,WAAa,SAASv3C,EAAS44C,EAAaC,GAC5D5nD,KAAKy2B,SAAQ,GAEY5vB,SAArB8gD,IAAiCA,GAAc,GAC1B9gD,SAArB+gD,IAAiCA,GAAe,GACpC/gD,SAAZkI,IAAwBA,GAAW+uC,WACjBj3C,SAAlBkI,EAAQ+uC,QACV/uC,EAAQ+uC,SAGV,IAAI7nB,GACA4xB,CAEJ,IAAmB,GAAfF,EAAqB,CAEvB,GAAIG,GAAkB,CACtB,KAAK,GAAIL,KAAUznD,MAAK89C,MACtB,GAAI99C,KAAK89C,MAAM33C,eAAeshD,GAAS,CACrC,GAAIN,GAAOnnD,KAAK89C,MAAM2J,EACS,IAA3BN,EAAKY,qBACPD,GAAmB,GAIzB,GAAIA,EAAkB,GAAM9nD,KAAKmlD,YAAYn/C,OAE3C,WADAhG,MAAKsmD,WAAWv3C,GAAQ,EAAM64C,EAIhC3xB,GAAQj2B,KAAKinD,UAAUl4C,EAAQ+uC,MAE/B,IAAIkK,GAAgBhoD,KAAKmlD,YAAYn/C,MAIjC6hD,GAH+B,GAA/B7nD,KAAK+iD,UAAUZ,aACwB,GAArCniD,KAAK+iD,UAAUzC,WAAWtxC,SAC5Bg5C,GAAiBhoD,KAAK+iD,UAAUzC,WAAWC,gBAC/B,UAAYyH,EAAgB,WAAa,SAGzC,QAAUA,EAAgB,QAAU,SAIT,GAArChoD,KAAK+iD,UAAUzC,WAAWtxC,SAC1Bg5C,GAAiBhoD,KAAK+iD,UAAUzC,WAAWC,gBACjC,YAAcyH,EAAgB,YAAc,cAG5C,YAAcA,EAAgB,aAAe,SAK7D;GAAIC,GAASzjD,KAAKL,IAAInE,KAAK6f,MAAMC,OAAOC,YAAc,IAAK/f,KAAK6f,MAAMC,OAAOsF,aAAe,IAC5FyiC,IAAaI,MAEV,CACHhyB,EAAQj2B,KAAKinD,UAAUl4C,EAAQ+uC,MAC/B,IAAI/D,GAAgD,IAApCv1C,KAAK4mB,IAAI6K,EAAMsxB,KAAOtxB,EAAMqxB,MACxCY,EAAgD,IAApC1jD,KAAK4mB,IAAI6K,EAAMoxB,KAAOpxB,EAAMmxB,MAExCe,EAAanoD,KAAK6f,MAAMC,OAAOC,YAAeg6B,EAC9CqO,EAAapoD,KAAK6f,MAAMC,OAAOsF,aAAe8iC,CAClDL,GAA2BO,GAAdD,EAA4BA,EAAaC,EAGpDP,EAAY,IACdA,EAAY,EAId,IAAIp7B,GAASzsB,KAAK0nD,YAAYzxB,EAC9B,IAAoB,GAAhB2xB,EAAuB,CACzB,GAAI74C,IAAWoV,SAAUsI,EAAQloB,MAAOsjD,EAAWQ,UAAWt5C,EAC9D/O,MAAKooB,OAAOrZ,GACZ/O,KAAKmmD,QAAS,EACdnmD,KAAKkQ,YAGLuc,GAAOpa,GAAKw1C,EACZp7B,EAAOna,GAAKu1C,EACZp7B,EAAOpa,GAAK,GAAMrS,KAAK6f,MAAMC,OAAOC,YACpC0M,EAAOna,GAAK,GAAMtS,KAAK6f,MAAMC,OAAOsF,aACpCplB,KAAKwd,UAAUqqC,GACf7nD,KAAK2kD,iBAAiBl4B,EAAOpa,GAAGoa,EAAOna,IAS3CpP,EAAQuQ,UAAU60C,qBAAuB,WACvCtoD,KAAKuoD,qBACL,KAAK,GAAIC,KAAOxoD,MAAK89C,MACf99C,KAAK89C,MAAM33C,eAAeqiD,IAC5BxoD,KAAKmlD,YAAY58C,KAAKigD,IAiB5BtlD,EAAQuQ,UAAU6E,QAAU,SAAStF,EAAM40C,GAWzC,GAVqB/gD,SAAjB+gD,IACFA,GAAe,GAIjB5nD,KAAKyoD,cAAa,GAGlBzoD,KAAKu9C,cAAe,EAEhBvqC,GAAQA,EAAKqd,MAAQrd,EAAK8qC,OAAS9qC,EAAKisC,OAC1C,KAAM,IAAIjlC,aAAY,iGAYxB,IAP+C,GAA3Cha,KAAK+iD,UAAUnB,iBAAiB5yC,SAClChP,KAAK0oD,wBAIP1oD,KAAKwT,WAAWR,GAAQA,EAAKjE,SAEzBiE,GAAQA,EAAKqd,KAEf,GAAGrd,GAAQA,EAAKqd,IAAK,CACnB,GAAIs4B,GAAUllD,EAAUmlD,WAAW51C,EAAKqd,IAExC,YADArwB,MAAKsY,QAAQqwC,QAIZ,IAAI31C,GAAQA,EAAK61C,OAEpB,GAAG71C,GAAQA,EAAK61C,MAAO,CACrB,GAAIC,GAAYplD,EAAYqlD,WAAW/1C,EAAK61C,MAE5C,YADA7oD,MAAKsY,QAAQwwC,QAKf9oD,MAAKgpD,UAAUh2C,GAAQA,EAAK8qC,OAC5B99C,KAAKipD,UAAUj2C,GAAQA,EAAKisC,MAE9Bj/C,MAAKkpD,mBACe,GAAhBtB,IAC+C,GAA7C5nD,KAAK+iD,UAAUjB,mBAAmB9yC,SACpChP,KAAKmpD,eACLnpD,KAAKqmD,4BAI2B,GAA5BrmD,KAAK+iD,UAAUP,WACjBxiD,KAAKopD,aAGTppD,KAAKkQ,SAEPlQ,KAAKu9C,cAAe,GAOtBr6C,EAAQuQ,UAAUD,WAAa,SAAUzE,GACvC,GAAIA,EAAS,CACX,GAAI7I,GACAsI,GAAU,QAAQ,QAAQ,eAAe,qBAAqB,aAAa,aAC7E,WAAW,mBAAmB,QAAQ,SAAS,aAAa,YAAY,WAAW,aAOrF,IAJA7N,EAAKoG,uBAAuByH,EAAOxO,KAAK+iD,UAAWh0C,GACnDpO,EAAKoG,wBAAwB,SAAS/G,KAAK+iD,UAAUjF,MAAO/uC,EAAQ+uC,OACpEn9C,EAAKoG,wBAAwB,QAAQ,UAAU/G,KAAK+iD,UAAU9D,MAAOlwC,EAAQkwC,OAEzElwC,EAAQ4wC,UACVh/C,EAAKkO,aAAa7O,KAAK+iD,UAAUpD,QAAS5wC,EAAQ4wC,QAAQ,aAC1Dh/C,EAAKkO,aAAa7O,KAAK+iD,UAAUpD,QAAS5wC,EAAQ4wC,QAAQ,aAEtD5wC,EAAQ4wC,QAAQU,uBAAuB,CACzCrgD,KAAK+iD,UAAUjB,mBAAmB9yC,SAAU,EAC5ChP,KAAK+iD,UAAUpD,QAAQU,sBAAsBrxC,SAAU,EACvDhP,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,SAAU,CAC3C,KAAK9I,IAAQ6I,GAAQ4wC,QAAQU,sBACvBtxC,EAAQ4wC,QAAQU,sBAAsBl6C,eAAeD,KACvDlG,KAAK+iD,UAAUpD,QAAQU,sBAAsBn6C,GAAQ6I,EAAQ4wC,QAAQU,sBAAsBn6C,IAkDnG,GA5CI6I,EAAQqjC,QAAQpyC,KAAKw9C,iBAAiBjqC,IAAMxE,EAAQqjC,OACpDrjC,EAAQs6C,SAASrpD,KAAKw9C,iBAAiBC,KAAO1uC,EAAQs6C,QACtDt6C,EAAQu6C,aAAatpD,KAAKw9C,iBAAiBE,SAAW3uC,EAAQu6C,YAC9Dv6C,EAAQw6C,YAAYvpD,KAAKw9C,iBAAiBG,QAAU5uC,EAAQw6C,WAC5Dx6C,EAAQy6C,WAAWxpD,KAAKw9C,iBAAiBI,IAAM7uC,EAAQy6C,UAE3D7oD,EAAKkO,aAAa7O,KAAK+iD,UAAWh0C,EAAQ,gBAC1CpO,EAAKkO,aAAa7O,KAAK+iD,UAAWh0C,EAAQ,sBAC1CpO,EAAKkO,aAAa7O,KAAK+iD,UAAWh0C,EAAQ,cAC1CpO,EAAKkO,aAAa7O,KAAK+iD,UAAWh0C,EAAQ,cAC1CpO,EAAKkO,aAAa7O,KAAK+iD,UAAWh0C,EAAQ,YAC1CpO,EAAKkO,aAAa7O,KAAK+iD,UAAWh0C,EAAQ,oBAGtCA,EAAQ6yC,mBACV5hD,KAAKypD,SAAWzpD,KAAK+iD,UAAUnB,iBAAiBC,kBAK9C9yC,EAAQkwC,QACkBp4C,SAAxBkI,EAAQkwC,MAAM7zC,QACZzK,EAAK8D,SAASsK,EAAQkwC,MAAM7zC,QAC9BpL,KAAK+iD,UAAU9D,MAAM7zC,SACrBpL,KAAK+iD,UAAU9D,MAAM7zC,MAAMA,MAAQ2D,EAAQkwC,MAAM7zC,MACjDpL,KAAK+iD,UAAU9D,MAAM7zC,MAAMwB,UAAYmC,EAAQkwC,MAAM7zC,MACrDpL,KAAK+iD,UAAU9D,MAAM7zC,MAAMyB,MAAQkC,EAAQkwC,MAAM7zC,QAGfvE,SAA9BkI,EAAQkwC,MAAM7zC,MAAMA,QAA0BpL,KAAK+iD,UAAU9D,MAAM7zC,MAAMA,MAAQ2D,EAAQkwC,MAAM7zC,MAAMA,OACnEvE,SAAlCkI,EAAQkwC,MAAM7zC,MAAMwB,YAA0B5M,KAAK+iD,UAAU9D,MAAM7zC,MAAMwB,UAAYmC,EAAQkwC,MAAM7zC,MAAMwB,WAC3E/F,SAA9BkI,EAAQkwC,MAAM7zC,MAAMyB,QAA0B7M,KAAK+iD,UAAU9D,MAAM7zC,MAAMyB,MAAQkC,EAAQkwC,MAAM7zC,MAAMyB,QAE3G7M,KAAK+iD,UAAU9D,MAAMQ,cAAe,GAGjC1wC,EAAQkwC,MAAMb,WACWv3C,SAAxBkI,EAAQkwC,MAAM7zC,QACZzK,EAAK8D,SAASsK,EAAQkwC,MAAM7zC,OAAmBpL,KAAK+iD,UAAU9D,MAAMb,UAAYrvC,EAAQkwC,MAAM7zC,MAC3DvE,SAA9BkI,EAAQkwC,MAAM7zC,MAAMA,QAAsBpL,KAAK+iD,UAAU9D,MAAMb,UAAYrvC,EAAQkwC,MAAM7zC,MAAMA,SAK1G2D,EAAQ+uC,OACN/uC,EAAQ+uC,MAAM1yC,MAAO,CACvB,GAAIs+C,GAAc/oD,EAAKkL,WAAWkD,EAAQ+uC,MAAM1yC,MAChDpL,MAAK+iD,UAAUjF,MAAM1yC,MAAMsB,WAAag9C,EAAYh9C,WACpD1M,KAAK+iD,UAAUjF,MAAM1yC,MAAMuB,OAAS+8C,EAAY/8C,OAChD3M,KAAK+iD,UAAUjF,MAAM1yC,MAAMwB,UAAUF,WAAag9C,EAAY98C,UAAUF,WACxE1M,KAAK+iD,UAAUjF,MAAM1yC,MAAMwB,UAAUD,OAAS+8C,EAAY98C,UAAUD,OACpE3M,KAAK+iD,UAAUjF,MAAM1yC,MAAMyB,MAAMH,WAAag9C,EAAY78C,MAAMH,WAChE1M,KAAK+iD,UAAUjF,MAAM1yC,MAAMyB,MAAMF,OAAS+8C,EAAY78C,MAAMF,OAGhE,GAAIoC,EAAQ2lB,OACV,IAAK,GAAIi1B,KAAa56C,GAAQ2lB,OAC5B,GAAI3lB,EAAQ2lB,OAAOvuB,eAAewjD,GAAY,CAC5C,GAAIp3C,GAAQxD,EAAQ2lB,OAAOi1B,EAC3B3pD,MAAK00B,OAAOnhB,IAAIo2C,EAAWp3C,GAKjC,GAAIxD,EAAQ4X,QAAS,CACnB,IAAKzgB,IAAQ6I,GAAQ4X,QACf5X,EAAQ4X,QAAQxgB,eAAeD,KACjClG,KAAK+iD,UAAUp8B,QAAQzgB,GAAQ6I,EAAQ4X,QAAQzgB,GAG/C6I,GAAQ4X,QAAQvb,QAClBpL,KAAK+iD,UAAUp8B,QAAQvb,MAAQzK,EAAKkL,WAAWkD,EAAQ4X,QAAQvb,QAmBnE,GAfI,cAAgB2D,KACdA,EAAQ66C,WACL5pD,KAAK6pD,YACR7pD,KAAK6pD,UAAY,GAAInD,GAAU1mD,KAAK6f,OACpC7f,KAAK6pD,UAAUh2C,GAAG,SAAU7T,KAAK8pD,gBAAgBz0B,KAAKr1B,QAIpDA,KAAK6pD,YACP7pD,KAAK6pD,UAAUj2C,gBACR5T,MAAK6pD,YAKd96C,EAAQy7B,OACV,KAAM,IAAI5mC,OAAM,6EAMlB5D,MAAKskD,qBAELtkD,KAAK+pD,0BAEL/pD,KAAKgqD,0BAELhqD,KAAKiqD,yBAGLjqD,KAAKkqD,cAGLlqD,KAAK8pD,kBAEL9pD,KAAKmqD,uBACLnqD,KAAKklB,QAAQllB,KAAK+iD,UAAUlwC,MAAO7S,KAAK+iD,UAAUjwC,QAClD9S,KAAKmmD,QAAS,EACdnmD,KAAKkQ,UAaThN,EAAQuQ,UAAUwhB,QAAU,WAE1B,KAAOj1B,KAAKia,iBAAiBgK,iBAC3BjkB,KAAKia,iBAAiBxI,YAAYzR,KAAKia,iBAAiBiK,WAgB1D,IAbAlkB,KAAK6f,MAAQhO,SAASM,cAAc,OACpCnS,KAAK6f,MAAMzX,UAAY,oBACvBpI,KAAK6f,MAAMtS,MAAM4W,SAAW,WAC5BnkB,KAAK6f,MAAMtS,MAAM6W,SAAW,SAC5BpkB,KAAK6f,MAAMuqC,SAAW,IAKtBpqD,KAAK6f,MAAMC,OAASjO,SAASM,cAAc,UAC3CnS,KAAK6f,MAAMC,OAAOvS,MAAM4W,SAAW,WACnCnkB,KAAK6f,MAAM9N,YAAY/R,KAAK6f,MAAMC,QAE7B9f,KAAK6f,MAAMC,OAAOyH,WAQlB,CACH,GAAID,GAAMtnB,KAAK6f,MAAMC,OAAOyH,WAAW,KACvCvnB,MAAKgjD,YAAcl7C,OAAOuiD,kBAAoB,IAAM/iC,EAAIgjC,8BAC9ChjC,EAAIijC,2BACJjjC,EAAIkjC,0BACJljC,EAAImjC,yBACJnjC,EAAIojC,wBAA0B,GAGxC1qD,KAAK6f,MAAMC,OAAOyH,WAAW,MAAMojC,aAAa3qD,KAAKgjD,WAAY,EAAG,EAAGhjD,KAAKgjD,WAAY,EAAG,OAjB1D,CACjC,GAAI3+B,GAAWxS,SAASM,cAAe,MACvCkS,GAAS9W,MAAMnC,MAAQ,MACvBiZ,EAAS9W,MAAM+W,WAAc,OAC7BD,EAAS9W,MAAMgX,QAAW,OAC1BF,EAASG,UAAa,mDACtBxkB,KAAK6f,MAAMC,OAAO/N,YAAYsS,GAchCrkB,KAAKkqD,eAQPhnD,EAAQuQ,UAAUy2C,YAAc,WAC9B,GAAIz1C,GAAKzU,IACW6G,UAAhB7G,KAAK8D,QACP9D,KAAK8D,OAAO8mD,UAEd5qD,KAAKupC,QACLvpC,KAAK6qD,SACL7qD,KAAK8D,OAAS2hC,EAAOzlC,KAAK6f,MAAMC,QAC9B0pB,iBAAiB,IAEnBxpC,KAAK8D,OAAO+P,GAAG,MAAaY,EAAGq2C,OAAOz1B,KAAK5gB,IAC3CzU,KAAK8D,OAAO+P,GAAG,YAAaY,EAAGs2C,aAAa11B,KAAK5gB,IACjDzU,KAAK8D,OAAO+P,GAAG,OAAaY,EAAGoqB,QAAQxJ,KAAK5gB,IAC5CzU,KAAK8D,OAAO+P,GAAG,QAAaY,EAAGsqB,SAAS1J,KAAK5gB,IAC7CzU,KAAK8D,OAAO+P,GAAG,YAAaY,EAAGiqB,aAAarJ,KAAK5gB,IACjDzU,KAAK8D,OAAO+P,GAAG,OAAaY,EAAGkqB,QAAQtJ,KAAK5gB,IAC5CzU,KAAK8D,OAAO+P,GAAG,UAAaY,EAAGmqB,WAAWvJ,KAAK5gB,IAEhB,GAA3BzU,KAAK+iD,UAAU1kB,WACjBr+B,KAAK8D,OAAO+P,GAAG,aAAmBY,EAAGqqB,cAAczJ,KAAK5gB,IACxDzU,KAAK8D,OAAO+P,GAAG,iBAAmBY,EAAGqqB,cAAczJ,KAAK5gB,IACxDzU,KAAK8D,OAAO+P,GAAG,QAAmBY,EAAGuqB,SAAS3J,KAAK5gB,KAGrDzU,KAAK8D,OAAO+P,GAAG,YAAaY,EAAGu2C,kBAAkB31B,KAAK5gB,IAEtDzU,KAAKirD,YAAcxlB,EAAOzlC,KAAK6f,OAC7B2pB,iBAAiB,IAEnBxpC,KAAKirD,YAAYp3C,GAAG,UAAWY,EAAGy2C,WAAW71B,KAAK5gB,IAGlDzU,KAAKia,iBAAiBlI,YAAY/R,KAAK6f,QAOzC3c,EAAQuQ,UAAUq2C,gBAAkB,WAClC,GAAIr1C,GAAKzU,IACa6G,UAAlB7G,KAAKwmD,UACPxmD,KAAKwmD,SAAS5yC,UAId5T,KAAKwmD,SAAWA,EAD0B,GAAxCxmD,KAAK+iD,UAAUtB,SAASE,cACA5nC,UAAWjS,OAAQ8B,gBAAgB,IAGnCmQ,UAAW/Z,KAAK6f,MAAOjW,gBAAgB,IAGnE5J,KAAKwmD,SAAS2E,QAEVnrD,KAAK+iD,UAAUtB,SAASzyC,SAAWhP,KAAKorD,aAC1CprD,KAAKwmD,SAASnxB,KAAK,KAAQr1B,KAAKqrD,QAAQh2B,KAAK5gB,GAAQ,WACrDzU,KAAKwmD,SAASnxB,KAAK,KAAQr1B,KAAKsrD,aAAaj2B,KAAK5gB,GAAK,SACvDzU,KAAKwmD,SAASnxB,KAAK,OAAQr1B,KAAKurD,UAAUl2B,KAAK5gB,GAAM,WACrDzU,KAAKwmD,SAASnxB,KAAK,OAAQr1B,KAAKsrD,aAAaj2B,KAAK5gB,GAAK,SACvDzU,KAAKwmD,SAASnxB,KAAK,OAAQr1B,KAAKwrD,UAAUn2B,KAAK5gB,GAAM,WACrDzU,KAAKwmD,SAASnxB,KAAK,OAAQr1B,KAAKyrD,aAAap2B,KAAK5gB,GAAK,SACvDzU,KAAKwmD,SAASnxB,KAAK,QAAQr1B,KAAK0rD,WAAWr2B,KAAK5gB,GAAK,WACrDzU,KAAKwmD,SAASnxB,KAAK,QAAQr1B,KAAKyrD,aAAap2B,KAAK5gB,GAAK,SACvDzU,KAAKwmD,SAASnxB,KAAK,IAAQr1B,KAAK2rD,QAAQt2B,KAAK5gB,GAAQ,WACrDzU,KAAKwmD,SAASnxB,KAAK,IAAQr1B,KAAK4rD,UAAUv2B,KAAK5gB,GAAQ,SACvDzU,KAAKwmD,SAASnxB,KAAK,OAAQr1B,KAAK2rD,QAAQt2B,KAAK5gB,GAAQ,WACrDzU,KAAKwmD,SAASnxB,KAAK,OAAQr1B,KAAK4rD,UAAUv2B,KAAK5gB,GAAQ,SACvDzU,KAAKwmD,SAASnxB,KAAK,OAAQr1B,KAAK6rD,SAASx2B,KAAK5gB,GAAO,WACrDzU,KAAKwmD,SAASnxB,KAAK,OAAQr1B,KAAK4rD,UAAUv2B,KAAK5gB,GAAQ,SACvDzU,KAAKwmD,SAASnxB,KAAK,IAAQr1B,KAAK6rD,SAASx2B,KAAK5gB,GAAO,WACrDzU,KAAKwmD,SAASnxB,KAAK,IAAQr1B,KAAK4rD,UAAUv2B,KAAK5gB,GAAQ,SACvDzU,KAAKwmD,SAASnxB,KAAK,IAAQr1B,KAAK2rD,QAAQt2B,KAAK5gB,GAAQ,WACrDzU,KAAKwmD,SAASnxB,KAAK,IAAQr1B,KAAK4rD,UAAUv2B,KAAK5gB,GAAQ,SACvDzU,KAAKwmD,SAASnxB,KAAK,IAAQr1B,KAAK6rD,SAASx2B,KAAK5gB,GAAO,WACrDzU,KAAKwmD,SAASnxB,KAAK,IAAQr1B,KAAK4rD,UAAUv2B,KAAK5gB,GAAQ,SACvDzU,KAAKwmD,SAASnxB,KAAK,SAASr1B,KAAK2rD,QAAQt2B,KAAK5gB,GAAO,WACrDzU,KAAKwmD,SAASnxB,KAAK,SAASr1B,KAAK4rD,UAAUv2B,KAAK5gB,GAAO,SACvDzU,KAAKwmD,SAASnxB,KAAK,WAAWr1B,KAAK6rD,SAASx2B,KAAK5gB,GAAI,WACrDzU,KAAKwmD,SAASnxB,KAAK,WAAWr1B,KAAK4rD,UAAUv2B,KAAK5gB,GAAK,UAOV,GAA3CzU,KAAK+iD,UAAUnB,iBAAiB5yC,UAClChP,KAAKwmD,SAASnxB,KAAK,MAAMr1B,KAAK0oD,sBAAsBrzB,KAAK5gB,IACzDzU,KAAKwmD,SAASnxB,KAAK,SAASr1B,KAAK8rD,gBAAgBz2B,KAAK5gB,MAU1DvR,EAAQuQ,UAAUG,QAAU,WAC1B5T,KAAKkQ,MAAQ,aACblQ,KAAKgiB,OAAS,aACdhiB,KAAKomD,OAAQ,EAGbpmD,KAAK+rD,+BAGL/rD,KAAKwmD,SAAS2E,QAGdnrD,KAAK8D,OAAO8mD,UAGZ5qD,KAAKgU,MAELhU,KAAKgsD,oBAAoBhsD,KAAKia,mBAGhC/W,EAAQuQ,UAAUu4C,oBAAsB,SAASC,GAC/C,KAAoC,GAA7BA,EAAUhoC,iBACfjkB,KAAKgsD,oBAAoBC,EAAU/nC,YACnC+nC,EAAUx6C,YAAYw6C,EAAU/nC,aAUpChhB,EAAQuQ,UAAUy4C,YAAc,SAAU1tB,GACxC,OACEnsB,EAAGmsB,EAAMW,MAAQx+B,EAAK+G,gBAAgB1H,KAAK6f,MAAMC,QACjDxN,EAAGksB,EAAMY,MAAQz+B,EAAKqH,eAAehI,KAAK6f,MAAMC,UASpD5c,EAAQuQ,UAAUsrB,SAAW,SAAUl1B,IACjC,GAAIjF,OAAOyC,UAAYrH,KAAKgkD,UAAY,MAC1ChkD,KAAKupC,KAAK3I,QAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,QACnDzsB,KAAKupC,KAAK4iB,SAAU,EACpBnsD,KAAK6qD,MAAMtmD,MAAQvE,KAAKosD,YAGxBpsD,KAAKgkD,WAAY,GAAIp/C,OAAOyC,UAE5BrH,KAAKqsD,aAAarsD,KAAKupC,KAAK3I,WAQhC19B,EAAQuQ,UAAUirB,aAAe,SAAU70B,GACzC7J,KAAKssD,iBAAiBziD,IAUxB3G,EAAQuQ,UAAU64C,iBAAmB,SAASziD,GAElBhD,SAAtB7G,KAAKupC,KAAK3I,SACZ5gC,KAAK++B,SAASl1B,EAGhB,IAAIs9C,GAAOnnD,KAAKusD,WAAWvsD,KAAKupC,KAAK3I,QASrC,IANA5gC,KAAKupC,KAAK3J,UAAW,EACrB5/B,KAAKupC,KAAK4J,aACVnzC,KAAKupC,KAAKvrB,YAAche,KAAKwsD,kBAC7BxsD,KAAKupC,KAAKke,OAAS,KACnBznD,KAAKglD,eAAgB,EAET,MAARmC,GAA4C,GAA5BnnD,KAAK+iD,UAAUH,UAAmB,CACpD5iD,KAAKglD,eAAgB,EACrBhlD,KAAKupC,KAAKke,OAASN,EAAK9mD,GAEnB8mD,EAAKsF,cACRzsD,KAAK0sD,cAAcvF,GAAK,GAG1BnnD,KAAKmuB,KAAK,aAAaw+B,QAAQ3sD,KAAKs3B,eAAewmB,OAGnD,KAAK,GAAI8O,KAAY5sD,MAAK6sD,aAAa/O,MACrC,GAAI99C,KAAK6sD,aAAa/O,MAAM33C,eAAeymD,GAAW,CACpD,GAAI5oD,GAAShE,KAAK6sD,aAAa/O,MAAM8O,GACjCxgD,GACF/L,GAAI2D,EAAO3D,GACX8mD,KAAMnjD,EAGNqO,EAAGrO,EAAOqO,EACVC,EAAGtO,EAAOsO,EACVw6C,OAAQ9oD,EAAO8oD,OACfC,OAAQ/oD,EAAO+oD,OAGjB/oD,GAAO8oD,QAAS,EAChB9oD,EAAO+oD,QAAS,EAEhB/sD,KAAKupC,KAAK4J,UAAU5qC,KAAK6D,MAWjClJ,EAAQuQ,UAAUkrB,QAAU,SAAU90B,GACpC7J,KAAKgtD,cAAcnjD,IAUrB3G,EAAQuQ,UAAUu5C,cAAgB,SAASnjD,GACzC,IAAI7J,KAAKupC,KAAK4iB,QAAd,CAKAnsD,KAAKitD,aAEL,IAAIrsB,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,QACzChY,EAAKzU,KACLupC,EAAOvpC,KAAKupC,KACZ4J,EAAY5J,EAAK4J,SACrB,IAAIA,GAAaA,EAAUntC,QAAsC,GAA5BhG,KAAK+iD,UAAUH,UAAmB,CAErE,GAAItiB,GAASM,EAAQvuB,EAAIk3B,EAAK3I,QAAQvuB,EAClCkuB,EAASK,EAAQtuB,EAAIi3B,EAAK3I,QAAQtuB,CAGtC6gC,GAAUvqC,QAAQ,SAAUwD,GAC1B,GAAI+6C,GAAO/6C,EAAE+6C,IAER/6C,GAAE0gD,SACL3F,EAAK90C,EAAIoC,EAAGy4C,qBAAqBz4C,EAAG04C,qBAAqB/gD,EAAEiG,GAAKiuB,IAG7Dl0B,EAAE2gD,SACL5F,EAAK70C,EAAImC,EAAG24C,qBAAqB34C,EAAG44C,qBAAqBjhD,EAAEkG,GAAKiuB,MAM/DvgC,KAAKmmD,SACRnmD,KAAKmmD,QAAS,EACdnmD,KAAKkQ,aAKP,IAAkC,GAA9BlQ,KAAK+iD,UAAUJ,YAAqB,CAEtC,GAA0B97C,SAAtB7G,KAAKupC,KAAK3I,QAEZ,WADA5gC,MAAKssD,iBAAiBziD,EAGxB,IAAI8jB,GAAQiT,EAAQvuB,EAAIrS,KAAKupC,KAAK3I,QAAQvuB,EACtCub,EAAQgT,EAAQtuB,EAAItS,KAAKupC,KAAK3I,QAAQtuB,CAE1CtS,MAAK2kD,gBACH3kD,KAAKupC,KAAKvrB,YAAY3L,EAAIsb,EAC1B3tB,KAAKupC,KAAKvrB,YAAY1L,EAAIsb,GAE5B5tB,KAAKy2B,aASXvzB,EAAQuQ,UAAUmrB,WAAa,SAAU/0B,GACvC7J,KAAKstD,eAAezjD,IAItB3G,EAAQuQ,UAAU65C,eAAiB,WACjCttD,KAAKupC,KAAK3J,UAAW,CACrB,IAAIuT,GAAYnzC,KAAKupC,KAAK4J,SACtBA,IAAaA,EAAUntC,QACzBmtC,EAAUvqC,QAAQ,SAAUwD,GAE1BA,EAAE+6C,KAAK2F,OAAS1gD,EAAE0gD,OAClB1gD,EAAE+6C,KAAK4F,OAAS3gD,EAAE2gD,SAEpB/sD,KAAKmmD,QAAS,EACdnmD,KAAKkQ,SAGLlQ,KAAKy2B,UAEmB,GAAtBz2B,KAAKglD,cACPhlD,KAAKmuB,KAAK,WAAWw+B,aAGrB3sD,KAAKmuB,KAAK,WAAWw+B,QAAQ3sD,KAAKs3B,eAAewmB,SAQrD56C,EAAQuQ,UAAUq3C,OAAS,SAAUjhD,GACnC,GAAI+2B,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,OAC7CzsB,MAAKslD,gBAAkB1kB,EACvB5gC,KAAKutD,WAAW3sB,IASlB19B,EAAQuQ,UAAUs3C,aAAe,SAAUlhD,GACzC,GAAI+2B,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,OAC7CzsB,MAAKwtD,iBAAiB5sB,IAQxB19B,EAAQuQ,UAAUorB,QAAU,SAAUh1B,GACpC,GAAI+2B,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,OAC7CzsB,MAAKslD,gBAAkB1kB,EACvB5gC,KAAKytD,cAAc7sB,IAQrB19B,EAAQuQ,UAAUy3C,WAAa,SAAUrhD,GACvC,GAAI+2B,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,OAC7CzsB,MAAK0tD,iBAAiB9sB,IAQxB19B,EAAQuQ,UAAUurB,SAAW,SAAUn1B,GACrC,GAAI+2B,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,OAE7CzsB,MAAKupC,KAAK4iB,SAAU,EACd,SAAWnsD,MAAK6qD,QACpB7qD,KAAK6qD,MAAMtmD,MAAQ,EAIrB,IAAIA,GAAQvE,KAAK6qD,MAAMtmD,MAAQsF,EAAMw2B,QAAQ97B,KAC7CvE,MAAK2tD,MAAMppD,EAAOq8B,IAUpB19B,EAAQuQ,UAAUk6C,MAAQ,SAASppD,EAAOq8B,GACxC,GAA+B,GAA3B5gC,KAAK+iD,UAAU1kB,SAAkB,CACnC,GAAIuvB,GAAW5tD,KAAKosD,WACR,MAAR7nD,IACFA,EAAQ,MAENA,EAAQ,KACVA,EAAQ,GAGV,IAAIspD,GAAsB,IACRhnD,UAAd7G,KAAKupC,MACmB,GAAtBvpC,KAAKupC,KAAK3J,WACZiuB,EAAsB7tD,KAAK8tD,YAAY9tD,KAAKupC,KAAK3I,SAIrD,IAAI5iB,GAAche,KAAKwsD,kBAEnBuB,EAAYxpD,EAAQqpD,EACpBI,GAAM,EAAID,GAAantB,EAAQvuB,EAAI2L,EAAY3L,EAAI07C,EACnDE,GAAM,EAAIF,GAAantB,EAAQtuB,EAAI0L,EAAY1L,EAAIy7C,CASvD,IAPA/tD,KAAKulD,YAAclzC,EAAMrS,KAAKktD,qBAAqBtsB,EAAQvuB,GACxCC,EAAMtS,KAAKotD,qBAAqBxsB,EAAQtuB,IAE3DtS,KAAKwd,UAAUjZ,GACfvE,KAAK2kD,gBAAgBqJ,EAAIC,GACzBjuD,KAAKkuD,wBAEsB,MAAvBL,EAA6B,CAC/B,GAAIM,GAAuBnuD,KAAKouD,YAAYP,EAC5C7tD,MAAKupC,KAAK3I,QAAQvuB,EAAI87C,EAAqB97C,EAC3CrS,KAAKupC,KAAK3I,QAAQtuB,EAAI67C,EAAqB77C,EAY7C,MATAtS,MAAKy2B,UAEUlyB,EAAXqpD,EACF5tD,KAAKmuB,KAAK,QAASyN,UAAU,MAG7B57B,KAAKmuB,KAAK,QAASyN,UAAU,MAGxBr3B,IAYXrB,EAAQuQ,UAAUqrB,cAAgB,SAASj1B,GAEzC,GAAImlB,GAAQ,CAYZ,IAXInlB,EAAMolB,WACRD,EAAQnlB,EAAMolB,WAAW,IAChBplB,EAAMqlB,SAGfF,GAASnlB,EAAMqlB,OAAO,GAMpBF,EAAO,CAGT,GAAIzqB,GAAQvE,KAAKosD,YACbrrB,EAAO/R,EAAQ,EACP,GAARA,IACF+R,GAAe,EAAIA,GAErBx8B,GAAU,EAAIw8B,CAGd,IAAIV,GAAUhB,EAAWsB,YAAY3gC,KAAM6J,GACvC+2B,EAAU5gC,KAAKksD,YAAY7rB,EAAQ5T,OAGvCzsB,MAAK2tD,MAAMppD,EAAOq8B,GAIpB/2B,EAAMD,kBASR1G,EAAQuQ,UAAUu3C,kBAAoB,SAAUnhD,GAC9C,GAAIw2B,GAAUhB,EAAWsB,YAAY3gC,KAAM6J,GACvC+2B,EAAU5gC,KAAKksD,YAAY7rB,EAAQ5T,OAGnCzsB,MAAKquD,UACPruD,KAAKsuD,gBAAgB1tB,GAIqB,GAAxC5gC,KAAK+iD,UAAUtB,SAASE,cAA4D,GAAnC3hD,KAAK+iD,UAAUtB,SAASzyC,SAC3EhP,KAAK6f,MAAMwX,OAKb,IAAI5iB,GAAKzU,KACLuuD,EAAY,WACd95C,EAAG+5C,gBAAgB5tB,GAarB,IAXI5gC,KAAKyuD,YACPz7B,cAAchzB,KAAKyuD,YAEhBzuD,KAAKupC,KAAK3J,WACb5/B,KAAKyuD,WAAa30C,WAAWy0C,EAAWvuD,KAAK+iD,UAAUp8B,QAAQ3N,QAOrC,GAAxBhZ,KAAK+iD,UAAUl2C,MAAe,CAEhC,IAAK,GAAI6hD,KAAU1uD,MAAKijD,SAAShE,MAC3Bj/C,KAAKijD,SAAShE,MAAM94C,eAAeuoD,KACrC1uD,KAAKijD,SAAShE,MAAMyP,GAAQ7hD,OAAQ,QAC7B7M,MAAKijD,SAAShE,MAAMyP,GAK/B,IAAIprC,GAAMtjB,KAAKusD,WAAW3rB,EACf,OAAPtd,IACFA,EAAMtjB,KAAK2uD,WAAW/tB,IAEb,MAAPtd,GACFtjB,KAAK4uD,aAAatrC,EAIpB,KAAK,GAAImkC,KAAUznD,MAAKijD,SAASnF,MAC3B99C,KAAKijD,SAASnF,MAAM33C,eAAeshD,KACjCnkC,YAAe/f,IAAQ+f,EAAIjjB,IAAMonD,GAAUnkC,YAAelgB,IAAe,MAAPkgB,KACpEtjB,KAAK6uD,YAAY7uD,KAAKijD,SAASnF,MAAM2J,UAC9BznD,MAAKijD,SAASnF,MAAM2J,GAIjCznD,MAAKgiB,WAYT9e,EAAQuQ,UAAU+6C,gBAAkB,SAAU5tB,GAC5C,GAOIvgC,GAPAijB,GACFzb,KAAQ7H,KAAKktD,qBAAqBtsB,EAAQvuB,GAC1CpK,IAAQjI,KAAKotD,qBAAqBxsB,EAAQtuB,GAC1CsV,MAAQ5nB,KAAKktD,qBAAqBtsB,EAAQvuB,GAC1CwR,OAAQ7jB,KAAKotD,qBAAqBxsB,EAAQtuB,IAIxCw8C,EAAgB9uD,KAAKquD,SACrBU,GAAkB,CAEtB,IAAqBloD,QAAjB7G,KAAKquD,SAAuB,CAE9B,GAAIvQ,GAAQ99C,KAAK89C,MACbkR,IACJ,KAAK3uD,IAAMy9C,GACT,GAAIA,EAAM33C,eAAe9F,GAAK,CAC5B,GAAI8mD,GAAOrJ,EAAMz9C,EACb8mD,GAAK8H,kBAAkB3rC,IACDzc,SAApBsgD,EAAK+H,YACPF,EAAiBzmD,KAAKlI,GAM1B2uD,EAAiBhpD,OAAS,IAG5BhG,KAAKquD,SAAWruD,KAAK89C,MAAMkR,EAAiBA,EAAiBhpD,OAAS,IAEtE+oD,GAAkB,GAItB,GAAsBloD,SAAlB7G,KAAKquD,UAA6C,GAAnBU,EAA0B,CAE3D,GAAI9P,GAAQj/C,KAAKi/C,MACbkQ,IACJ,KAAK9uD,IAAM4+C,GACT,GAAIA,EAAM94C,eAAe9F,GAAK,CAC5B,GAAI+uD,GAAOnQ,EAAM5+C,EACb+uD,GAAKC,WAAkCxoD,SAApBuoD,EAAKF,YACxBE,EAAKH,kBAAkB3rC,IACzB6rC,EAAiB5mD,KAAKlI,GAKxB8uD,EAAiBnpD,OAAS,IAC5BhG,KAAKquD,SAAWruD,KAAKi/C,MAAMkQ,EAAiBA,EAAiBnpD,OAAS,KAI1E,GAAIhG,KAAKquD,UAEP,GAAIruD,KAAKquD,UAAYS,EAAe,CAClC,GAAIr6C,GAAKzU,IACJyU,GAAG66C,QACN76C,EAAG66C,MAAQ,GAAI9rD,GAAMiR,EAAGoL,MAAOpL,EAAGsuC,UAAUp8B,UAM9ClS,EAAG66C,MAAMC,YAAY3uB,EAAQvuB,EAAI,EAAGuuB,EAAQtuB,EAAI,GAChDmC,EAAG66C,MAAME,QAAQ/6C,EAAG45C,SAASa,YAC7Bz6C,EAAG66C,MAAMxpB,YAIP9lC,MAAKsvD,OACPtvD,KAAKsvD,MAAMzpB,QAYjB3iC,EAAQuQ,UAAU66C,gBAAkB,SAAU1tB,GACvC5gC,KAAKquD,UAAaruD,KAAKusD,WAAW3rB,KACrC5gC,KAAKquD,SAAWxnD,OACZ7G,KAAKsvD,OACPtvD,KAAKsvD,MAAMzpB,SAajB3iC,EAAQuQ,UAAUyR,QAAU,SAASrS,EAAOC,GAC1C,GAAI28C,IAAY,EACZC,EAAW1vD,KAAK6f,MAAMC,OAAOjN,MAC7B88C,EAAY3vD,KAAK6f,MAAMC,OAAOhN,MAC9BD,IAAS7S,KAAK+iD,UAAUlwC,OAASC,GAAU9S,KAAK+iD,UAAUjwC,QAAU9S,KAAK6f,MAAMtS,MAAMsF,OAASA,GAAS7S,KAAK6f,MAAMtS,MAAMuF,QAAUA,GACpI9S,KAAK6f,MAAMtS,MAAMsF,MAAQA,EACzB7S,KAAK6f,MAAMtS,MAAMuF,OAASA,EAE1B9S,KAAK6f,MAAMC,OAAOvS,MAAMsF,MAAQ,OAChC7S,KAAK6f,MAAMC,OAAOvS,MAAMuF,OAAS,OAEjC9S,KAAK6f,MAAMC,OAAOjN,MAAQ7S,KAAK6f,MAAMC,OAAOC,YAAc/f,KAAKgjD,WAC/DhjD,KAAK6f,MAAMC,OAAOhN,OAAS9S,KAAK6f,MAAMC,OAAOsF,aAAeplB,KAAKgjD,WAEjEhjD,KAAK+iD,UAAUlwC,MAAQA,EACvB7S,KAAK+iD,UAAUjwC,OAASA,EAExB28C,GAAY,IAMRzvD,KAAK6f,MAAMC,OAAOjN,OAAS7S,KAAK6f,MAAMC,OAAOC,YAAc/f,KAAKgjD,aAClEhjD,KAAK6f,MAAMC,OAAOjN,MAAQ7S,KAAK6f,MAAMC,OAAOC,YAAc/f,KAAKgjD,WAC/DyM,GAAY,GAEVzvD,KAAK6f,MAAMC,OAAOhN,QAAU9S,KAAK6f,MAAMC,OAAOsF,aAAeplB,KAAKgjD,aACpEhjD,KAAK6f,MAAMC,OAAOhN,OAAS9S,KAAK6f,MAAMC,OAAOsF,aAAeplB,KAAKgjD,WACjEyM,GAAY,IAIC,GAAbA,GACFzvD,KAAKmuB,KAAK,UAAWtb,MAAM7S,KAAK6f,MAAMC,OAAOjN,MAAQ7S,KAAKgjD,WAAWlwC,OAAO9S,KAAK6f,MAAMC,OAAOhN,OAAS9S,KAAKgjD,WAAY0M,SAAUA,EAAW1vD,KAAKgjD,WAAY2M,UAAWA,EAAY3vD,KAAKgjD,cAS9L9/C,EAAQuQ,UAAUu1C,UAAY,SAASlL,GACrC,GAAI8R,GAAe5vD,KAAKylD,SAExB,IAAI3H,YAAiBj9C,IAAWi9C,YAAiBh9C,GAC/Cd,KAAKylD,UAAY3H,MAEd,IAAIx3C,MAAMC,QAAQu3C,GACrB99C,KAAKylD,UAAY,GAAI5kD,GACrBb,KAAKylD,UAAUlyC,IAAIuqC,OAEhB,CAAA,GAAKA,EAIR,KAAM,IAAIp3C,WAAU,4BAHpB1G,MAAKylD,UAAY,GAAI5kD,GAgBvB,GAVI+uD,GAEFjvD,EAAKiI,QAAQ5I,KAAK2lD,eAAgB,SAAU98C,EAAUgB,GACpD+lD,EAAa57C,IAAInK,EAAOhB,KAK5B7I,KAAK89C,SAED99C,KAAKylD,UAAW,CAElB,GAAIhxC,GAAKzU,IACTW,GAAKiI,QAAQ5I,KAAK2lD,eAAgB,SAAU98C,EAAUgB,GACpD4K,EAAGgxC,UAAU5xC,GAAGhK,EAAOhB,IAIzB,IAAI4M,GAAMzV,KAAKylD,UAAUtvC,QACzBnW,MAAK4lD,UAAUnwC,GAEjBzV,KAAK6vD,oBAQP3sD,EAAQuQ,UAAUmyC,UAAY,SAASnwC,GAErC,IAAK,GADDpV,GACKwF,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IAAK,CAC9CxF,EAAKoV,EAAI5P,EACT,IAAImN,GAAOhT,KAAKylD,UAAUjwC,IAAInV,GAC1B8mD,EAAO,GAAI5jD,GAAKyP,EAAMhT,KAAKikD,OAAQjkD,KAAK00B,OAAQ10B,KAAK+iD,UAEzD,IADA/iD,KAAK89C,MAAMz9C,GAAM8mD,IACG,GAAfA,EAAK2F,QAAkC,GAAf3F,EAAK4F,QAAgC,OAAX5F,EAAK90C,GAAyB,OAAX80C,EAAK70C,GAAa,CAC1F,GAAI0Z,GAAS,EAASvW,EAAIzP,OAAS,GAC/B8pD,EAAQ,EAAItrD,KAAK0nB,GAAK1nB,KAAKiB,QACZ,IAAf0hD,EAAK2F,SAAkB3F,EAAK90C,EAAI2Z,EAASxnB,KAAKsa,IAAIgxC,IACnC,GAAf3I,EAAK4F,SAAkB5F,EAAK70C,EAAI0Z,EAASxnB,KAAKma,IAAImxC,IAExD9vD,KAAKmmD,QAAS,EAGhBnmD,KAAKsoD,uBAC4C,GAA7CtoD,KAAK+iD,UAAUjB,mBAAmB9yC,SAAwC,GAArBhP,KAAKu9C,eAC5Dv9C,KAAKmpD,eACLnpD,KAAKqmD,4BAEPrmD,KAAK+vD,0BACL/vD,KAAKgwD,kBACLhwD,KAAKiwD,kBAAkBjwD,KAAK89C,OAC5B99C,KAAKkwD,gBAQPhtD,EAAQuQ,UAAUoyC,aAAe,SAASpwC,EAAI06C,GAE5C,IAAK,GADDrS,GAAQ99C,KAAK89C,MACRj4C,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIxF,GAAKoV,EAAI5P,GACTshD,EAAOrJ,EAAMz9C,GACb2S,EAAOm9C,EAAYtqD,EACnBshD,GAEFA,EAAKiJ,cAAcp9C,EAAMhT,KAAK+iD,YAI9BoE,EAAO,GAAI5jD,GAAK8sD,WAAYrwD,KAAKikD,OAAQjkD,KAAK00B,OAAQ10B,KAAK+iD,WAC3DjF,EAAMz9C,GAAM8mD,GAGhBnnD,KAAKmmD,QAAS,EACmC,GAA7CnmD,KAAK+iD,UAAUjB,mBAAmB9yC,SAAwC,GAArBhP,KAAKu9C,eAC5Dv9C,KAAKmpD,eACLnpD,KAAKqmD,4BAEPrmD,KAAKsoD,uBACLtoD,KAAKiwD,kBAAkBnS,GACvB99C,KAAKmqD,wBAIPjnD,EAAQuQ,UAAU02C,qBAAuB,WACvC,IAAK,GAAIuE,KAAU1uD,MAAKi/C,MACtBj/C,KAAKi/C,MAAMyP,GAAQ4B,YAAa,GASpCptD,EAAQuQ,UAAUqyC,aAAe,SAASrwC,GAIxC,IAAK,GAHDqoC,GAAQ99C,KAAK89C,MAGRj4C,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IACDgB,SAApC7G,KAAK6sD,aAAa/O,MAAMroC,EAAI5P,MAC9B7F,KAAK89C,MAAMroC,EAAI5P,IAAI8/B,WACnB3lC,KAAKuwD,qBAAqBvwD,KAAK89C,MAAMroC,EAAI5P,KAI7C,KAAK,GAAIA,GAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIxF,GAAKoV,EAAI5P,SACNi4C,GAAMz9C,GAKfL,KAAKsoD,uBAC4C,GAA7CtoD,KAAK+iD,UAAUjB,mBAAmB9yC,SAAwC,GAArBhP,KAAKu9C,eAC5Dv9C,KAAKmpD,eACLnpD,KAAKqmD,4BAEPrmD,KAAK+vD,0BACL/vD,KAAKgwD,kBACLhwD,KAAK6vD,mBACL7vD,KAAKiwD,kBAAkBnS,IASzB56C,EAAQuQ,UAAUw1C,UAAY,SAAShK,GACrC,GAAIuR,GAAexwD,KAAK0lD,SAExB,IAAIzG,YAAiBp+C,IAAWo+C,YAAiBn+C,GAC/Cd,KAAK0lD,UAAYzG,MAEd,IAAI34C,MAAMC,QAAQ04C,GACrBj/C,KAAK0lD,UAAY,GAAI7kD,GACrBb,KAAK0lD,UAAUnyC,IAAI0rC,OAEhB,CAAA,GAAKA,EAIR,KAAM,IAAIv4C,WAAU,4BAHpB1G,MAAK0lD,UAAY,GAAI7kD,GAgBvB,GAVI2vD,GAEF7vD,EAAKiI,QAAQ5I,KAAK+lD,eAAgB,SAAUl9C,EAAUgB,GACpD2mD,EAAax8C,IAAInK,EAAOhB,KAK5B7I,KAAKi/C,SAEDj/C,KAAK0lD,UAAW,CAElB,GAAIjxC,GAAKzU,IACTW,GAAKiI,QAAQ5I,KAAK+lD,eAAgB,SAAUl9C,EAAUgB,GACpD4K,EAAGixC,UAAU7xC,GAAGhK,EAAOhB,IAIzB,IAAI4M,GAAMzV,KAAK0lD,UAAUvvC,QACzBnW,MAAKgmD,UAAUvwC,GAGjBzV,KAAKgwD,mBAQP9sD,EAAQuQ,UAAUuyC,UAAY,SAAUvwC,GAItC,IAAK,GAHDwpC,GAAQj/C,KAAKi/C,MACbyG,EAAY1lD,KAAK0lD,UAEZ7/C,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIxF,GAAKoV,EAAI5P,GAET4qD,EAAUxR,EAAM5+C,EAChBowD,IACFA,EAAQC,YAGV,IAAI19C,GAAO0yC,EAAUlwC,IAAInV,GAAKswD,iBAAoB,GAClD1R,GAAM5+C,GAAM,GAAI+C,GAAK4P,EAAMhT,KAAMA,KAAK+iD,WAExC/iD,KAAKmmD,QAAS,EACdnmD,KAAKiwD,kBAAkBhR,GACvBj/C,KAAK4wD,qBACL5wD,KAAK+vD,0BAC4C,GAA7C/vD,KAAK+iD,UAAUjB,mBAAmB9yC,SAAwC,GAArBhP,KAAKu9C,eAC5Dv9C,KAAKmpD,eACLnpD,KAAKqmD,6BASTnjD,EAAQuQ,UAAUwyC,aAAe,SAAUxwC,GAGzC,IAAK,GAFDwpC,GAAQj/C,KAAKi/C,MACbyG,EAAY1lD,KAAK0lD,UACZ7/C,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIxF,GAAKoV,EAAI5P,GAETmN,EAAO0yC,EAAUlwC,IAAInV,GACrB+uD,EAAOnQ,EAAM5+C,EACb+uD,IAEFA,EAAKsB,aACLtB,EAAKgB,cAAcp9C,EAAMhT,KAAK+iD,WAC9BqM,EAAKzR,YAILyR,EAAO,GAAIhsD,GAAK4P,EAAMhT,KAAMA,KAAK+iD,WACjC/iD,KAAKi/C,MAAM5+C,GAAM+uD,GAIrBpvD,KAAK4wD,qBAC4C,GAA7C5wD,KAAK+iD,UAAUjB,mBAAmB9yC,SAAwC,GAArBhP,KAAKu9C,eAC5Dv9C,KAAKmpD,eACLnpD,KAAKqmD,4BAEPrmD,KAAKmmD,QAAS,EACdnmD,KAAKiwD,kBAAkBhR,IAQzB/7C,EAAQuQ,UAAUyyC,aAAe,SAAUzwC,GAIzC,IAAK,GAHDwpC,GAAQj/C,KAAKi/C,MAGRp5C,EAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IACDgB,SAApC7G,KAAK6sD,aAAa5N,MAAMxpC,EAAI5P,MAC9Bo5C,EAAMxpC,EAAI5P,IAAI8/B,WACd3lC,KAAKuwD,qBAAqBtR,EAAMxpC,EAAI5P,KAIxC,KAAK,GAAIA,GAAI,EAAGC,EAAM2P,EAAIzP,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAIxF,GAAKoV,EAAI5P,GACTupD,EAAOnQ,EAAM5+C,EACb+uD,KACc,MAAZA,EAAKyB,WACA7wD,MAAK8wD,QAAiB,QAAS,MAAE1B,EAAKyB,IAAIxwD,IAEnD+uD,EAAKsB,mBACEzR,GAAM5+C,IAIjBL,KAAKmmD,QAAS,EACdnmD,KAAKiwD,kBAAkBhR,GAC0B,GAA7Cj/C,KAAK+iD,UAAUjB,mBAAmB9yC,SAAwC,GAArBhP,KAAKu9C,eAC5Dv9C,KAAKmpD,eACLnpD,KAAKqmD,4BAEPrmD,KAAK+vD,2BAOP7sD,EAAQuQ,UAAUu8C,gBAAkB,WAClC,GAAI3vD,GACAy9C,EAAQ99C,KAAK89C,MACbmB,EAAQj/C,KAAKi/C,KACjB,KAAK5+C,IAAMy9C,GACLA,EAAM33C,eAAe9F,KACvBy9C,EAAMz9C,GAAI4+C,SACVnB,EAAMz9C,GAAI0wD,gBAId,KAAK1wD,IAAM4+C,GACT,GAAIA,EAAM94C,eAAe9F,GAAK,CAC5B,GAAI+uD,GAAOnQ,EAAM5+C,EACjB+uD,GAAKzlC,KAAO,KACZylC,EAAKxlC,GAAK,KACVwlC,EAAKzR,YAaXz6C,EAAQuQ,UAAUw8C,kBAAoB,SAAS3sC,GAC7C,GAAIjjB,GAGAqc,EAAW7V,OACX8V,EAAW9V,OACXmqD,EAAa,CACjB,KAAK3wD,IAAMijB,GACT,GAAIA,EAAInd,eAAe9F,GAAK,CAC1B,GAAIiE,GAAQgf,EAAIjjB,GAAI6U,UACNrO,UAAVvC,IACFoY,EAAyB7V,SAAb6V,EAA0BpY,EAAQE,KAAKL,IAAIG,EAAOoY,GAC9DC,EAAyB9V,SAAb8V,EAA0BrY,EAAQE,KAAKJ,IAAIE,EAAOqY,GAC9Dq0C,GAAc1sD,GAMpB,GAAiBuC,SAAb6V,GAAuC7V,SAAb8V,EAC5B,IAAKtc,IAAMijB,GACLA,EAAInd,eAAe9F,IACrBijB,EAAIjjB,GAAI4wD,cAAcv0C,EAAUC,EAAUq0C,IAUlD9tD,EAAQuQ,UAAUuO,OAAS,WACzBhiB,KAAKklB,QAAQllB,KAAK+iD,UAAUlwC,MAAO7S,KAAK+iD,UAAUjwC,QAClD9S,KAAKy2B,WAQPvzB,EAAQuQ,UAAUgjB,QAAU,SAASmD,GACnC,GAAItS,GAAMtnB,KAAK6f,MAAMC,OAAOyH,WAAW,KAEvCD,GAAIqjC,aAAa3qD,KAAKgjD,WAAY,EAAG,EAAGhjD,KAAKgjD,WAAY,EAAG,EAG5D,IAAIkO,GAAIlxD,KAAK6f,MAAMC,OAAOC,YACtB5T,EAAInM,KAAK6f,MAAMC,OAAOsF,YAC1BkC,GAAIE,UAAU,EAAG,EAAG0pC,EAAG/kD,GAGvBmb,EAAI6pC,OACJ7pC,EAAI8pC,UAAUpxD,KAAKge,YAAY3L,EAAGrS,KAAKge,YAAY1L,GACnDgV,EAAI/iB,MAAMvE,KAAKuE,MAAOvE,KAAKuE,OAE3BvE,KAAKolD,eACH/yC,EAAKrS,KAAKktD,qBAAqB,GAC/B56C,EAAKtS,KAAKotD,qBAAqB,IAEjCptD,KAAKqlD,mBACHhzC,EAAKrS,KAAKktD,qBAAqBltD,KAAK6f,MAAMC,OAAOC,aACjDzN,EAAKtS,KAAKotD,qBAAqBptD,KAAK6f,MAAMC,OAAOsF,eAGnC,GAAVwU,IACJ55B,KAAKqxD,gBAAgB,sBAAuB/pC,IAClB,GAAtBtnB,KAAKupC,KAAK3J,UAA4C/4B,SAAvB7G,KAAKupC,KAAK3J,UAA4D,GAAlC5/B,KAAK+iD,UAAUF,kBACpF7iD,KAAKqxD,gBAAgB,aAAc/pC,KAIb,GAAtBtnB,KAAKupC,KAAK3J,UAA4C/4B,SAAvB7G,KAAKupC,KAAK3J,UAA4D,GAAlC5/B,KAAK+iD,UAAUD,kBACpF9iD,KAAKqxD,gBAAgB,aAAa/pC,GAAI,GAGxB,GAAVsS,GAC2B,GAA3B55B,KAAKkjD,oBACPljD,KAAKqxD,gBAAgB,oBAAqB/pC,GAQ9CA,EAAIgqC,UAEU,GAAV13B,GACFtS,EAAIE,UAAU,EAAG,EAAG0pC,EAAG/kD,IAU3BjJ,EAAQuQ,UAAUkxC,gBAAkB,SAAS4M,EAASC,GAC3B3qD,SAArB7G,KAAKge,cACPhe,KAAKge,aACH3L,EAAG,EACHC,EAAG,IAISzL,SAAZ0qD,IACFvxD,KAAKge,YAAY3L,EAAIk/C,GAEP1qD,SAAZ2qD,IACFxxD,KAAKge,YAAY1L,EAAIk/C,GAGvBxxD,KAAKmuB,KAAK,gBAQZjrB,EAAQuQ,UAAU+4C,gBAAkB,WAClC,OACEn6C,EAAGrS,KAAKge,YAAY3L,EACpBC,EAAGtS,KAAKge,YAAY1L,IASxBpP,EAAQuQ,UAAU+J,UAAY,SAASjZ,GACrCvE,KAAKuE,MAAQA,GAQfrB,EAAQuQ,UAAU24C,UAAY,WAC5B,MAAOpsD,MAAKuE,OAUdrB,EAAQuQ,UAAUy5C,qBAAuB,SAAS76C,GAChD,OAAQA,EAAIrS,KAAKge,YAAY3L,GAAKrS,KAAKuE,OAUzCrB,EAAQuQ,UAAU05C,qBAAuB,SAAS96C,GAChD,MAAOA,GAAIrS,KAAKuE,MAAQvE,KAAKge,YAAY3L,GAU3CnP,EAAQuQ,UAAU25C,qBAAuB,SAAS96C,GAChD,OAAQA,EAAItS,KAAKge,YAAY1L,GAAKtS,KAAKuE,OAUzCrB,EAAQuQ,UAAU45C,qBAAuB,SAAS/6C,GAChD,MAAOA,GAAItS,KAAKuE,MAAQvE,KAAKge,YAAY1L,GAU3CpP,EAAQuQ,UAAU26C,YAAc,SAAUtoC,GACxC,OAAQzT,EAAGrS,KAAKmtD,qBAAqBrnC,EAAIzT,GAAIC,EAAGtS,KAAKqtD,qBAAqBvnC,EAAIxT,KAShFpP,EAAQuQ,UAAUq6C,YAAc,SAAUhoC,GACxC,OAAQzT,EAAGrS,KAAKktD,qBAAqBpnC,EAAIzT,GAAIC,EAAGtS,KAAKotD,qBAAqBtnC,EAAIxT,KAUhFpP,EAAQuQ,UAAUg+C,WAAa,SAASnqC,EAAIoqC,GACvB7qD,SAAf6qD,IACFA,GAAa,EAIf,IAAI5T,GAAQ99C,KAAK89C,MACbxY,IAEJ,KAAK,GAAIjlC,KAAMy9C,GACTA,EAAM33C,eAAe9F,KACvBy9C,EAAMz9C,GAAIsxD,eAAe3xD,KAAKuE,MAAMvE,KAAKolD,cAAcplD,KAAKqlD,mBACxDvH,EAAMz9C,GAAIosD,aACZnnB,EAAS/8B,KAAKlI,IAGVy9C,EAAMz9C,GAAIuxD,UAAYF,IACxB5T,EAAMz9C,GAAIuvC,KAAKtoB,GAOvB,KAAK,GAAIlb,GAAI,EAAGylD,EAAOvsB,EAASt/B,OAAY6rD,EAAJzlD,EAAUA,KAC5C0xC,EAAMxY,EAASl5B,IAAIwlD,UAAYF,IACjC5T,EAAMxY,EAASl5B,IAAIwjC,KAAKtoB,IAW9BpkB,EAAQuQ,UAAUq+C,WAAa,SAASxqC,GACtC,GAAI23B,GAAQj/C,KAAKi/C,KACjB,KAAK,GAAI5+C,KAAM4+C,GACb,GAAIA,EAAM94C,eAAe9F,GAAK,CAC5B,GAAI+uD,GAAOnQ,EAAM5+C,EACjB+uD,GAAKtrB,SAAS9jC,KAAKuE,OACf6qD,EAAKC,WACPpQ,EAAM5+C,GAAIuvC,KAAKtoB,KAYvBpkB,EAAQuQ,UAAUs+C,kBAAoB,SAASzqC,GAC7C,GAAI23B,GAAQj/C,KAAKi/C,KACjB,KAAK,GAAI5+C,KAAM4+C,GACTA,EAAM94C,eAAe9F,IACvB4+C,EAAM5+C,GAAI0xD,kBAAkBzqC,IASlCpkB,EAAQuQ,UAAU21C,WAAa,WACgB,GAAzCppD,KAAK+iD,UAAUb,wBACjBliD,KAAKgyD,qBAKP,KADA,GAAI16C,GAAQ,EACLtX,KAAKmmD,QAAU7uC,EAAQtX,KAAK+iD,UAAUN,yBAC3CziD,KAAKiyD,eAKL36C,GAI0C,IAAxCtX,KAAK+iD,UAAUL,uBACjB1iD,KAAKsmD,YAAYl2C,SAAS,IAAI,GAAO,GAGM,GAAzCpQ,KAAK+iD,UAAUb,wBACjBliD,KAAKkyD,sBAGPlyD,KAAKmuB,KAAK,gCASZjrB,EAAQuQ,UAAUu+C,oBAAsB,WACtC,GAAIlU,GAAQ99C,KAAK89C,KACjB,KAAK,GAAIz9C,KAAMy9C,GACTA,EAAM33C,eAAe9F,IACJ,MAAfy9C,EAAMz9C,GAAIgS,GAA4B,MAAfyrC,EAAMz9C,GAAIiS,IACnCwrC,EAAMz9C,GAAI8xD,UAAU9/C,EAAIyrC,EAAMz9C,GAAIysD,OAClChP,EAAMz9C,GAAI8xD,UAAU7/C,EAAIwrC,EAAMz9C,GAAI0sD,OAClCjP,EAAMz9C,GAAIysD,QAAS,EACnBhP,EAAMz9C,GAAI0sD,QAAS,IAW3B7pD,EAAQuQ,UAAUy+C,oBAAsB,WACtC,GAAIpU,GAAQ99C,KAAK89C,KACjB,KAAK,GAAIz9C,KAAMy9C,GACTA,EAAM33C,eAAe9F,IACM,MAAzBy9C,EAAMz9C,GAAI8xD,UAAU9/C,IACtByrC,EAAMz9C,GAAIysD,OAAShP,EAAMz9C,GAAI8xD,UAAU9/C,EACvCyrC,EAAMz9C,GAAI0sD,OAASjP,EAAMz9C,GAAI8xD,UAAU7/C,IAa/CpP,EAAQuQ,UAAU2+C,UAAY,SAASC,GACrC,GAAIvU,GAAQ99C,KAAK89C,KACjB,KAAK,GAAIz9C,KAAMy9C,GACb,GAAkBj3C,SAAdi3C,EAAMz9C,IACwB,GAA5By9C,EAAMz9C,GAAIiyD,SAASD,GACrB,OAAO,CAIb,QAAO,GAUTnvD,EAAQuQ,UAAU8+C,mBAAqB,WACrC,GAEI9K,GAFA10B,EAAW/yB,KAAKs9C,wBAChBQ,EAAQ99C,KAAK89C,MAEb0U,GAAe,CAEnB,IAAIxyD,KAAK+iD,UAAUT,YAAc,EAC/B,IAAKmF,IAAU3J,GACTA,EAAM33C,eAAeshD,KACvB3J,EAAM2J,GAAQgL,oBAAoB1/B,EAAU/yB,KAAK+iD,UAAUT,aAC3DkQ,GAAe,OAKnB,KAAK/K,IAAU3J,GACTA,EAAM33C,eAAeshD,KACvB3J,EAAM2J,GAAQiL,aAAa3/B,GAC3By/B,GAAe,EAKrB,IAAoB,GAAhBA,EAAsB,CACxB,GAAIG,GAAgB3yD,KAAK+iD,UAAUR,YAAc/9C,KAAKJ,IAAIpE,KAAKuE,MAAM,IACrE,OAAIouD,GAAgB,GAAI3yD,KAAK+iD,UAAUT,aAC9B,EAGAtiD,KAAKoyD,UAAUO,GAG1B,OAAO,GAITzvD,EAAQuQ,UAAUm/C,oBAAsB,WACtC,GAAI9U,GAAQ99C,KAAK89C,KACjB,KAAK,GAAI2J,KAAU3J,GACbA,EAAM33C,eAAeshD,IACvB3J,EAAM2J,GAAQoL,kBAKpB3vD,EAAQuQ,UAAUq/C,mBAAqB,WACrC9yD,KAAK+yD,sBAAsB,uBACgB,GAAvC/yD,KAAK+iD,UAAUZ,aAAanzC,SAA0D,GAAvChP,KAAK+iD,UAAUZ,aAAaC,SAC7EpiD,KAAKgzD,mBAAmB,wBAS5B9vD,EAAQuQ,UAAUw+C,aAAe,WAC/B,IAAKjyD,KAAK4kD,yBACW,GAAf5kD,KAAKmmD,OAAgB,CACvB,GAAI8M,IAAmB,EACnBC,GAAsB,CAE1BlzD,MAAK+yD,sBAAsB,8BAC3B,IAAII,GAAanzD,KAAK+yD,sBAAsB,qBACD,IAAvC/yD,KAAK+iD,UAAUZ,aAAanzC,SAA0D,GAAvChP,KAAK+iD,UAAUZ,aAAaC,UAC7E8Q,EAAsBlzD,KAAKgzD,mBAAmB,sBAIhD,KAAK,GAAIntD,GAAI,EAAGA,EAAIstD,EAAWntD,OAAQH,IACrCotD,EAAmBE,EAAWttD,IAAMotD,CAItCjzD,MAAKmmD,OAAS8M,GAAoBC,EACf,GAAflzD,KAAKmmD,OACPnmD,KAAK8yD,qBAI4B,GAA7B9yD,KAAK8kD,uBACP9kD,KAAKmuB,KAAK,sBACVnuB,KAAK8kD,sBAAuB,GAIhC9kD,KAAKyiD,4BAYXv/C,EAAQuQ,UAAU2/C,eAAiB,WAQjC,GANApzD,KAAKomD,MAAQv/C,OAGb7G,KAAKqzD,oBAGc,GAAfrzD,KAAKmmD,OAAgB,CACvB,GAAImN,GAAY1uD,KAAKi5B,KACrB79B,MAAKiyD,cACL,IAAI7U,GAAcx4C,KAAKi5B,MAAQy1B,GAG1BtzD,KAAKk9C,eAAiBl9C,KAAKm9C,WAAa,EAAIC,GAAsC,GAAvBp9C,KAAKq9C,iBAA0C,GAAfr9C,KAAKmmD,SACnGnmD,KAAKiyD,eAGkB,GAAnBjyD,KAAKm9C,aACPn9C,KAAKq9C,gBAAiB,IAK5B,GAAIkW,GAAkB3uD,KAAKi5B,KAC3B79B,MAAKy2B,UACLz2B,KAAKm9C,WAAav4C,KAAKi5B,MAAQ01B,EAG/BvzD,KAAKkQ,SAGe,mBAAXpI,UACTA,OAAO0rD,sBAAwB1rD,OAAO0rD,uBAAyB1rD,OAAO2rD,0BACvC3rD,OAAO4rD,6BAA+B5rD,OAAO6rD,yBAM9EzwD,EAAQuQ,UAAUvD,MAAQ,WACxB,GAAmB,GAAflQ,KAAKmmD,QAAqC,GAAnBnmD,KAAKmkD,YAAsC,GAAnBnkD,KAAKokD,YAAyC,GAAtBpkD,KAAKqkD,eAAwC,GAAlBrkD,KAAKwjD,UACpGxjD,KAAKomD,QAENpmD,KAAKomD,MADqB,GAAxBpmD,KAAK4mD,gBACM9+C,OAAOgS,WAAW9Z,KAAKozD,eAAe/9B,KAAKr1B,MAAOA,KAAKk9C,gBAGvDp1C,OAAO0rD,sBAAsBxzD,KAAKozD,eAAe/9B,KAAKr1B,YAOvE,IAFAA,KAAKy2B,UAEDz2B,KAAKyiD,wBAA0B,EAAG,CAKpC,GAAIhuC,GAAKzU,KACLoU,GACFw/C,WAAYn/C,EAAGguC,wBAEjBziD,MAAKyiD,wBAA0B,EAC/BziD,KAAK8kD,sBAAuB,EAC5BhrC,WAAW,WACTrF,EAAG0Z,KAAK,aAAc/Z,IACrB,OAGHpU,MAAKyiD,wBAA0B,GAWrCv/C,EAAQuQ,UAAU4/C,kBAAoB,WACpC,GAAuB,GAAnBrzD,KAAKmkD,YAAsC,GAAnBnkD,KAAKokD,WAAiB,CAChD,GAAIpmC,GAAche,KAAKwsD,iBACvBxsD,MAAK2kD,gBAAgB3mC,EAAY3L,EAAErS,KAAKmkD,WAAYnmC,EAAY1L,EAAEtS,KAAKokD,YAEzE,GAA0B,GAAtBpkD,KAAKqkD,cAAoB,CAC3B,GAAI53B,IACFpa,EAAGrS,KAAK6f,MAAMC,OAAOC,YAAc,EACnCzN,EAAGtS,KAAK6f,MAAMC,OAAOsF,aAAe,EAEtCplB,MAAK2tD,MAAM3tD,KAAKuE,OAAO,EAAIvE,KAAKqkD,eAAgB53B,KAQpDvpB,EAAQuQ,UAAUogD,iBAAmB,SAASC,GAC9B,GAAVA,GACF9zD,KAAK4kD,yBAA0B,EAC/B5kD,KAAKmmD,QAAS,IAGdnmD,KAAK4kD,yBAA0B,EAC/B5kD,KAAKmmD,QAAS,EACdnmD,KAAKkQ,UAWThN,EAAQuQ,UAAUw2C,uBAAyB,SAASrC,GAIlD,GAHqB/gD,SAAjB+gD,IACFA,GAAe,GAE0B,GAAvC5nD,KAAK+iD,UAAUZ,aAAanzC,SAA0D,GAAvChP,KAAK+iD,UAAUZ,aAAaC,QAAiB,CAC9FpiD,KAAK4wD,oBAEL,KAAK,GAAInJ,KAAUznD,MAAK8wD,QAAiB,QAAS,MAC5C9wD,KAAK8wD,QAAiB,QAAS,MAAE3qD,eAAeshD,IACwB5gD,SAAtE7G,KAAKi/C,MAAMj/C,KAAK8wD,QAAiB,QAAS,MAAErJ,GAAQsM,qBAC/C/zD,MAAK8wD,QAAiB,QAAS,MAAErJ,OAK3C,CAEHznD,KAAK8wD,QAAiB,QAAS,QAC/B,KAAK,GAAIpC,KAAU1uD,MAAKi/C,MAClBj/C,KAAKi/C,MAAM94C,eAAeuoD,KAC5B1uD,KAAKi/C,MAAMyP,GAAQmC,IAAM,MAM/B7wD,KAAK+vD,0BACAnI,IACH5nD,KAAKmmD,QAAS,EACdnmD,KAAKkQ,UAWThN,EAAQuQ,UAAUm9C,mBAAqB,WACrC,GAA2C,GAAvC5wD,KAAK+iD,UAAUZ,aAAanzC,SAA0D,GAAvChP,KAAK+iD,UAAUZ,aAAaC,QAC7E,IAAK,GAAIsM,KAAU1uD,MAAKi/C,MACtB,GAAIj/C,KAAKi/C,MAAM94C,eAAeuoD,GAAS,CACrC,GAAIU,GAAOpvD,KAAKi/C,MAAMyP,EACtB,IAAgB,MAAZU,EAAKyB,IAAa,CACpB,GAAIpJ,GAAS,UAAUnzC,OAAO86C,EAAK/uD,GACnCL,MAAK8wD,QAAiB,QAAS,MAAErJ,GAAU,GAAIlkD,IACtClD,GAAGonD,EACF1J,KAAK,EACLG,MAAM,SACNC,MAAM,GACN6V,mBAAmB,SACbh0D,KAAK+iD,WACrBqM,EAAKyB,IAAM7wD,KAAK8wD,QAAiB,QAAS,MAAErJ,GAC5C2H,EAAKyB,IAAIkD,aAAe3E,EAAK/uD,GAC7B+uD,EAAK6E,wBAYf/wD,EAAQuQ,UAAUupC,wBAA0B,WAC1C,IAAK,GAAIkX,KAASzN,GACZA,EAAYtgD,eAAe+tD,KAC7BhxD,EAAQuQ,UAAUygD,GAASzN,EAAYyN,KAQ7ChxD,EAAQuQ,UAAU0gD,cAAgB,WAChC96B,QAAQnF,IAAI,mEACZl0B,KAAKo0D,kBAMPlxD,EAAQuQ,UAAU2gD,eAAiB,WACjC,GAAIC,KACJ,KAAK,GAAI5M,KAAUznD,MAAK89C,MACtB,GAAI99C,KAAK89C,MAAM33C,eAAeshD,GAAS,CACrC,GAAIN,GAAOnnD,KAAK89C,MAAM2J,GAClB6M,GAAkBt0D,KAAK89C,MAAMgP,OAC7ByH,GAAkBv0D,KAAK89C,MAAMiP,QAC7B/sD,KAAKylD,UAAUvyC,MAAMu0C,GAAQp1C,GAAK7N,KAAKypB,MAAMk5B,EAAK90C,IAAMrS,KAAKylD,UAAUvyC,MAAMu0C,GAAQn1C,GAAK9N,KAAKypB,MAAMk5B,EAAK70C,KAC5G+hD,EAAU9rD,MAAMlI,GAAGonD,EAAOp1C,EAAE7N,KAAKypB,MAAMk5B,EAAK90C,GAAGC,EAAE9N,KAAKypB,MAAMk5B,EAAK70C,GAAGgiD,eAAeA,EAAeC,eAAeA,IAIvHv0D,KAAKylD,UAAUtwC,OAAOk/C,IAMxBnxD,EAAQuQ,UAAU+gD,aAAe,SAAS/+C,GACxC,GAAI4+C,KACJ,IAAYxtD,SAAR4O,GACF,GAA0B,GAAtBnP,MAAMC,QAAQkP,IAChB,IAAK,GAAI5P,GAAI,EAAGA,EAAI4P,EAAIzP,OAAQH,IAC9B,GAA2BgB,SAAvB7G,KAAK89C,MAAMroC,EAAI5P,IAAmB,CACpC,GAAIshD,GAAOnnD,KAAK89C,MAAMroC,EAAI5P,GAC1BwuD,GAAU5+C,EAAI5P,KAAOwM,EAAG7N,KAAKypB,MAAMk5B,EAAK90C,GAAIC,EAAG9N,KAAKypB,MAAMk5B,EAAK70C,SAKnE,IAAwBzL,SAApB7G,KAAK89C,MAAMroC,GAAoB,CACjC,GAAI0xC,GAAOnnD,KAAK89C,MAAMroC,EACtB4+C,GAAU5+C,IAAQpD,EAAG7N,KAAKypB,MAAMk5B,EAAK90C,GAAIC,EAAG9N,KAAKypB,MAAMk5B,EAAK70C,SAKhE,KAAK,GAAIm1C,KAAUznD,MAAK89C,MACtB,GAAI99C,KAAK89C,MAAM33C,eAAeshD,GAAS,CACrC,GAAIN,GAAOnnD,KAAK89C,MAAM2J,EACtB4M,GAAU5M,IAAWp1C,EAAG7N,KAAKypB,MAAMk5B,EAAK90C,GAAIC,EAAG9N,KAAKypB,MAAMk5B,EAAK70C,IAIrE,MAAO+hD,IAWTnxD,EAAQuQ,UAAUghD,YAAc,SAAUhN,EAAQ14C,GAChD,GAAI/O,KAAK89C,MAAM33C,eAAeshD,GAAS,CACrB5gD,SAAZkI,IACFA,KAEF,IAAI2lD,IAAgBriD,EAAGrS,KAAK89C,MAAM2J,GAAQp1C,EAAGC,EAAGtS,KAAK89C,MAAM2J,GAAQn1C,EACnEvD,GAAQoV,SAAWuwC,EACnB3lD,EAAQ4lD,aAAelN,EAEvBznD,KAAKooB,OAAOrZ,OAGZsqB,SAAQnF,IAAI,iCAWhBhxB,EAAQuQ,UAAU2U,OAAS,SAAUrZ,GACnC,MAAgBlI,UAAZkI,OACFA,OAGwBlI,SAAtBkI,EAAQmb,SAAoCnb,EAAQmb,QAAa7X,EAAG,EAAGC,EAAG,IACpDzL,SAAtBkI,EAAQmb,OAAO7X,IAA6BtD,EAAQmb,OAAO7X,EAAK,GAC1CxL,SAAtBkI,EAAQmb,OAAO5X,IAA6BvD,EAAQmb,OAAO5X,EAAK,GAC1CzL,SAAtBkI,EAAQxK,QAAoCwK,EAAQxK,MAAYvE,KAAKosD,aAC/CvlD,SAAtBkI,EAAQoV,WAAoCpV,EAAQoV,SAAYnkB,KAAKwsD,mBAC/C3lD,SAAtBkI,EAAQs5C,YAAoCt5C,EAAQs5C,WAAaj4C,SAAS,IAC1ErB,EAAQs5C,aAAc,IAAsBt5C,EAAQs5C,WAAaj4C,SAAS,IAC1ErB,EAAQs5C,aAAc,IAAsBt5C,EAAQs5C,cACrBxhD,SAA/BkI,EAAQs5C,UAAUj4C,WAA0BrB,EAAQs5C,UAAUj4C,SAAW,KACpCvJ,SAArCkI,EAAQs5C,UAAUuM,iBAAgC7lD,EAAQs5C,UAAUuM,eAAiB,qBAEzF50D,MAAK60D,YAAY9lD,KAcnB7L,EAAQuQ,UAAUohD,YAAc,SAAU9lD,GACxC,GAAgBlI,SAAZkI,EAEF,YADAA,KAKF/O,MAAKitD,cACiB,GAAlBl+C,EAAQ+lD,SACV90D,KAAK8jD,eAAiB/0C,EAAQ4lD,aAC9B30D,KAAK+jD,mBAAqBh1C,EAAQmb,QAIb,GAAnBlqB,KAAKyjD,YACPzjD,KAAK+0D,kBAAkB,GAGzB/0D,KAAK0jD,YAAc1jD,KAAKosD,YACxBpsD,KAAK4jD,kBAAoB5jD,KAAKwsD,kBAC9BxsD,KAAK2jD,YAAc50C,EAAQxK,MAI3BvE,KAAKwd,UAAUxd,KAAK2jD,YACpB,IAAIqR,GAAah1D,KAAK8tD,aAAaz7C,EAAG,GAAMrS,KAAK6f,MAAMC,OAAOC,YAAazN,EAAG,GAAMtS,KAAK6f,MAAMC,OAAOsF,eAClG6vC,GACF5iD,EAAG2iD,EAAW3iD,EAAItD,EAAQoV,SAAS9R,EACnCC,EAAG0iD,EAAW1iD,EAAIvD,EAAQoV,SAAS7R,EAErCtS,MAAK6jD,mBACHxxC,EAAGrS,KAAK4jD,kBAAkBvxC,EAAI4iD,EAAmB5iD,EAAIrS,KAAK2jD,YAAc50C,EAAQmb,OAAO7X,EACvFC,EAAGtS,KAAK4jD,kBAAkBtxC,EAAI2iD,EAAmB3iD,EAAItS,KAAK2jD,YAAc50C,EAAQmb,OAAO5X,GAIvD,GAA9BvD,EAAQs5C,UAAUj4C,SACO,MAAvBpQ,KAAK8jD,gBACP9jD,KAAKk1D,eAAiBl1D,KAAKy2B,QAC3Bz2B,KAAKy2B,QAAUz2B,KAAKm1D,gBAGpBn1D,KAAKwd,UAAUxd,KAAK2jD,aACpB3jD,KAAK2kD,gBAAgB3kD,KAAK6jD,kBAAkBxxC,EAAGrS,KAAK6jD,kBAAkBvxC,GACtEtS,KAAKy2B,YAIPz2B,KAAKwjD,WAAY,EACjBxjD,KAAKsjD,eAAiB,GAAKtjD,KAAKi9C,kBAAoBluC,EAAQs5C,UAAUj4C,SAAW,OAAU,EAAIpQ,KAAKi9C,kBACpGj9C,KAAKujD,wBAA0Bx0C,EAAQs5C,UAAUuM,eACjD50D,KAAKk1D,eAAiBl1D,KAAKy2B,QAC3Bz2B,KAAKy2B,QAAUz2B,KAAK+0D,kBACpB/0D,KAAKy2B,UACLz2B,KAAKkQ,UAQThN,EAAQuQ,UAAU0hD,cAAgB,WAChC,GAAIT,IAAgBriD,EAAGrS,KAAK89C,MAAM99C,KAAK8jD,gBAAgBzxC,EAAGC,EAAGtS,KAAK89C,MAAM99C,KAAK8jD,gBAAgBxxC,GACzF0iD,EAAah1D,KAAK8tD,aAAaz7C,EAAG,GAAMrS,KAAK6f,MAAMC,OAAOC,YAAazN,EAAG,GAAMtS,KAAK6f,MAAMC,OAAOsF,eAClG6vC,GACF5iD,EAAG2iD,EAAW3iD,EAAIqiD,EAAariD,EAC/BC,EAAG0iD,EAAW1iD,EAAIoiD,EAAapiD,GAE7BsxC,EAAoB5jD,KAAKwsD,kBACzB3I,GACFxxC,EAAGuxC,EAAkBvxC,EAAI4iD,EAAmB5iD,EAAIrS,KAAKuE,MAAQvE,KAAK+jD,mBAAmB1xC,EACrFC,EAAGsxC,EAAkBtxC,EAAI2iD,EAAmB3iD,EAAItS,KAAKuE,MAAQvE,KAAK+jD,mBAAmBzxC,EAGvFtS,MAAK2kD,gBAAgBd,EAAkBxxC,EAAEwxC,EAAkBvxC,GAC3DtS,KAAKk1D,kBAGPhyD,EAAQuQ,UAAUw5C,YAAc,WACH,MAAvBjtD,KAAK8jD,iBACP9jD,KAAKy2B,QAAUz2B,KAAKk1D,eACpBl1D,KAAK8jD,eAAiB,KACtB9jD,KAAK+jD,mBAAqB,OAS9B7gD,EAAQuQ,UAAUshD,kBAAoB,SAAUtR,GAC9CzjD,KAAKyjD,WAAaA,GAAczjD,KAAKyjD,WAAazjD,KAAKsjD,eACvDtjD,KAAKyjD,YAAczjD,KAAKsjD,cAExB,IAAItxB,GAAWrxB,EAAK2P,gBAAgBtQ,KAAKujD,yBAAyBvjD,KAAKyjD,WAEvEzjD,MAAKwd,UAAUxd,KAAK0jD,aAAe1jD,KAAK2jD,YAAc3jD,KAAK0jD,aAAe1xB,GAC1EhyB,KAAK2kD,gBACH3kD,KAAK4jD,kBAAkBvxC,GAAKrS,KAAK6jD,kBAAkBxxC,EAAIrS,KAAK4jD,kBAAkBvxC,GAAK2f,EACnFhyB,KAAK4jD,kBAAkBtxC,GAAKtS,KAAK6jD,kBAAkBvxC,EAAItS,KAAK4jD,kBAAkBtxC,GAAK0f,GAGrFhyB,KAAKk1D,iBAGDl1D,KAAKyjD,YAAc,IACrBzjD,KAAKwjD,WAAY,EACjBxjD,KAAKyjD,WAAa,EAEhBzjD,KAAKy2B,QADoB,MAAvBz2B,KAAK8jD,eACQ9jD,KAAKm1D,cAGLn1D,KAAKk1D,eAEtBl1D,KAAKmuB,KAAK;EAIdjrB,EAAQuQ,UAAUyhD,eAAiB,aAQnChyD,EAAQuQ,UAAU23C,SAAW,WAC3B,OAAQprD,KAAK6pD,WAAa7pD,KAAK6pD,UAAUuL,QAQ3ClyD,EAAQuQ,UAAUqwB,SAAW,WAC3B,MAAO9jC,MAAKwd,aAQdta,EAAQuQ,UAAU8hB,SAAW,WAC3B,MAAOv1B,MAAKosD,aAQdlpD,EAAQuQ,UAAU4hD,qBAAuB,WACvC,MAAOr1D,MAAK8tD,aAAaz7C,EAAG,GAAMrS,KAAK6f,MAAMC,OAAOC,YAAazN,EAAG,GAAMtS,KAAK6f,MAAMC,OAAOsF,gBAI9FliB,EAAQuQ,UAAU6hD,eAAiB,SAAS7N,GAC1C,MAA2B5gD,UAAvB7G,KAAK89C,MAAM2J,GACNznD,KAAK89C,MAAM2J,GAAQD,YAD5B,QAKFtkD,EAAQuQ,UAAU8hD,kBAAoB,SAAS9N,GAC7C,GAAI+N,KACJ,IAA2B3uD,SAAvB7G,KAAK89C,MAAM2J,GAGb,IAAK,GAFDN,GAAOnnD,KAAK89C,MAAM2J,GAClBgO,GAAWhO,QAAS,GACf5hD,EAAI,EAAGA,EAAIshD,EAAKlI,MAAMj5C,OAAQH,IAAK,CAC1C,GAAIupD,GAAOjI,EAAKlI,MAAMp5C,EAClBupD,GAAKsG,MAAQjO,EACc5gD,SAAzB4uD,EAAQrG,EAAKuG,UACfH,EAASjtD,KAAK6mD,EAAKuG,QACnBF,EAAQrG,EAAKuG,SAAU,GAGlBvG,EAAKuG,QAAUlO,GACK5gD,SAAvB4uD,EAAQrG,EAAKsG,QACfF,EAASjtD,KAAK6mD,EAAKsG,MACnBD,EAAQrG,EAAKsG,OAAQ,GAK7B,MAAOF,IAGT31D,EAAOD,QAAUsD,GAKb,SAASrD,EAAQD,EAASM,GAoB9B,QAASkD,GAAMitD,EAAYltD,EAASyyD,GAClC,IAAKzyD,EACH,KAAM,qBAER,IAAIqL,IAAU,QAAQ,WAClBu0C,EAAYpiD,EAAK4N,sBAAsBC,EAAOonD,EAClD51D,MAAK+O,QAAUg0C,EAAU9D,MACzBj/C,KAAK2/C,QAAUoD,EAAUpD,QACzB3/C,KAAK+O,QAAsB,aAAI6mD,EAA+B,aAG9D51D,KAAKmD,QAAUA,EAGfnD,KAAKK,GAASwG,OACd7G,KAAK21D,OAAS9uD,OACd7G,KAAK01D,KAAS7uD,OACd7G,KAAKsmC,MAASz/B,OACd7G,KAAK61D,cAAgB71D,KAAK+O,QAAQ8D,MAAQ7S,KAAK+O,QAAQmwC,yBACvDl/C,KAAKsE,MAASuC,OACd7G,KAAKslC,UAAW,EAChBtlC,KAAK6M,OAAQ,EACb7M,KAAK81D,iBAAmB7tD,IAAI,EAAEJ,KAAK,EAAEgL,MAAM,EAAEC,OAAO,EAAEijD,MAAM,GAC5D/1D,KAAKg2D,YAAa,EAClBh2D,KAAKswD,YAAa,EAElBtwD,KAAK2pB,KAAO,KACZ3pB,KAAK4pB,GAAK,KACV5pB,KAAK6wD,IAAM,KAEX7wD,KAAKi2D,WAAa,KAClBj2D,KAAKk2D,SAAW,KAIhBl2D,KAAKm2D,kBACLn2D,KAAKo2D,gBAELp2D,KAAKqvD,WAAY,EAEjBrvD,KAAKq2D,YAAc,EACnBr2D,KAAKs2D,aAAc,EAEnBt2D,KAAKowD,cAAcC,GAEnBrwD,KAAKu2D,qBAAsB,EAC3Bv2D,KAAKw2D,cAAgB7sC,KAAK,KAAMC,GAAG,KAAM6sC,cACzCz2D,KAAK02D,cAAgB,KAjEvB,GAAI/1D,GAAOT,EAAoB,GAC3BqD,EAAOrD,EAAoB,GAwE/BkD,GAAKqQ,UAAU28C,cAAgB,SAASC,GAEtC,GADArwD,KAAKswD,YAAa,EACbD,EAAL,CAIA,GAAI7hD,IAAU,QAAQ,WAAW,WAAW,YAAY,WAAW,kBAAkB,kBAAkB,QACrG,2BAA2B,aAAa,mBAAmB,OAAO,eAAe,iBAAkB,UACnG,wBAsCF,QApCA7N,EAAK6F,oBAAoBgI,EAAQxO,KAAK+O,QAASshD,GAEvBxpD,SAApBwpD,EAAW1mC,OAA+B3pB,KAAK21D,OAAStF,EAAW1mC,MACjD9iB,SAAlBwpD,EAAWzmC,KAA+B5pB,KAAK01D,KAAOrF,EAAWzmC,IAE/C/iB,SAAlBwpD,EAAWhwD,KAA+BL,KAAKK,GAAKgwD,EAAWhwD,IAC1CwG,SAArBwpD,EAAWrnC,QAA+BhpB,KAAKgpB,MAAQqnC,EAAWrnC,MAAOhpB,KAAKg2D,YAAa,GAEtEnvD,SAArBwpD,EAAW/pB,QAA6BtmC,KAAKsmC,MAAQ+pB,EAAW/pB,OAC3Cz/B,SAArBwpD,EAAW/rD,QAA6BtE,KAAKsE,MAAQ+rD,EAAW/rD,OAC1CuC,SAAtBwpD,EAAWrqD,SAA6BhG,KAAK2/C,QAAQK,aAAeqQ,EAAWrqD,QAE1Da,SAArBwpD,EAAWjlD,QACbpL,KAAK+O,QAAQ0wC,cAAe,EACxB9+C,EAAK8D,SAAS4rD,EAAWjlD,QAC3BpL,KAAK+O,QAAQ3D,MAAMA,MAAQilD,EAAWjlD,MACtCpL,KAAK+O,QAAQ3D,MAAMwB,UAAYyjD,EAAWjlD,QAGXvE,SAA3BwpD,EAAWjlD,MAAMA,QAA0BpL,KAAK+O,QAAQ3D,MAAMA,MAAQilD,EAAWjlD,MAAMA,OACxDvE,SAA/BwpD,EAAWjlD,MAAMwB,YAA0B5M,KAAK+O,QAAQ3D,MAAMwB,UAAYyjD,EAAWjlD,MAAMwB,WAChE/F,SAA3BwpD,EAAWjlD,MAAMyB,QAA0B7M,KAAK+O,QAAQ3D,MAAMyB,MAAQwjD,EAAWjlD,MAAMyB,SAO/F7M,KAAK29C,UAEL39C,KAAKq2D,WAAar2D,KAAKq2D,YAAoCxvD,SAArBwpD,EAAWx9C,MACjD7S,KAAKs2D,YAAct2D,KAAKs2D,aAAsCzvD,SAAtBwpD,EAAWrqD,OAEnDhG,KAAK61D,cAAgB71D,KAAK+O,QAAQ8D,MAAO7S,KAAK+O,QAAQmwC,yBAG9Cl/C,KAAK+O,QAAQxB,OACnB,IAAK,OAAiBvN,KAAK4vC,KAAO5vC,KAAK22D,SAAW,MAClD,KAAK,QAAiB32D,KAAK4vC,KAAO5vC,KAAK42D,UAAY,MACnD,KAAK,eAAiB52D,KAAK4vC,KAAO5vC,KAAK62D,gBAAkB,MACzD,KAAK,YAAiB72D,KAAK4vC,KAAO5vC,KAAK82D,aAAe,MACtD,SAAsB92D,KAAK4vC,KAAO5vC,KAAK22D,aAQ3CvzD,EAAKqQ,UAAUkqC,QAAU,WACvB39C,KAAK0wD,aAEL1wD,KAAK2pB,KAAO3pB,KAAKmD,QAAQ26C,MAAM99C,KAAK21D,SAAW,KAC/C31D,KAAK4pB,GAAK5pB,KAAKmD,QAAQ26C,MAAM99C,KAAK01D,OAAS,KAC3C11D,KAAKqvD,UAAarvD,KAAK2pB,MAAQ3pB,KAAK4pB,GAEhC5pB,KAAKqvD,WACPrvD,KAAK2pB,KAAKotC,WAAW/2D,MACrBA,KAAK4pB,GAAGmtC,WAAW/2D,QAGfA,KAAK2pB,MACP3pB,KAAK2pB,KAAKqtC,WAAWh3D,MAEnBA,KAAK4pB,IACP5pB,KAAK4pB,GAAGotC,WAAWh3D,QAQzBoD,EAAKqQ,UAAUi9C,WAAa,WACtB1wD,KAAK2pB,OACP3pB,KAAK2pB,KAAKqtC,WAAWh3D,MACrBA,KAAK2pB,KAAO,MAEV3pB,KAAK4pB,KACP5pB,KAAK4pB,GAAGotC,WAAWh3D,MACnBA,KAAK4pB,GAAK,MAGZ5pB,KAAKqvD,WAAY,GAQnBjsD,EAAKqQ,UAAUy7C,SAAW,WACxB,MAA6B,kBAAflvD,MAAKsmC,MAAuBtmC,KAAKsmC,QAAUtmC,KAAKsmC,OAQhEljC,EAAKqQ,UAAUyB,SAAW,WACxB,MAAOlV,MAAKsE,OASdlB,EAAKqQ,UAAUw9C,cAAgB,SAAS9sD,EAAKC,EAAKC,GAChD,IAAKrE,KAAKq2D,YAA6BxvD,SAAf7G,KAAKsE,MAAqB,CAChD,GAAIC,GAAQvE,KAAK+O,QAAQ8uC,sBAAsB15C,EAAKC,EAAKC,EAAOrE,KAAKsE,OACjE2yD,EAAYj3D,KAAK+O,QAAQ2Y,SAAW1nB,KAAK+O,QAAQ0Y,QACrDznB,MAAK+O,QAAQ8D,MAAQ7S,KAAK+O,QAAQ0Y,SAAWljB,EAAQ0yD,EACrDj3D,KAAK61D,cAAgB71D,KAAK+O,QAAQ8D,MAAO7S,KAAK+O,QAAQmwC,2BAU1D97C,EAAKqQ,UAAUm8B,KAAO,WACpB,KAAM,uCAQRxsC,EAAKqQ,UAAUw7C,kBAAoB,SAAS3rC,GAC1C,GAAItjB,KAAKqvD,UAAW,CAClB,GAAI1/B,GAAU,GACVunC,EAAQl3D,KAAK2pB,KAAKtX,EAClB8kD,EAAQn3D,KAAK2pB,KAAKrX,EAClB8kD,EAAMp3D,KAAK4pB,GAAGvX,EACdglD,EAAMr3D,KAAK4pB,GAAGtX,EACdglD,EAAOh0C,EAAIzb,KACX0vD,EAAOj0C,EAAIrb,IAEXwjB,EAAOzrB,KAAKw3D,mBAAmBN,EAAOC,EAAOC,EAAKC,EAAKC,EAAMC,EAEjE,OAAe5nC,GAAPlE,EAGR,OAAO,GAIXroB,EAAKqQ,UAAUgkD,UAAY,WACzB,GAAIC,GAAW13D,KAAK+O,QAAQ3D,KAoB5B,OAnBIpL,MAAKswD,cAAe,IACW,MAA7BtwD,KAAK+O,QAAQ0wC,aACfiY,GACE9qD,UAAW5M,KAAK4pB,GAAG7a,QAAQ3D,MAAMwB,UAAUD,OAC3CE,MAAO7M,KAAK4pB,GAAG7a,QAAQ3D,MAAMyB,MAAMF,OACnCvB,MAAOzK,EAAKwK,gBAAgBnL,KAAK2pB,KAAK5a,QAAQ3D,MAAMuB,OAAQ3M,KAAK+O,QAAQ1D,WAGvC,QAA7BrL,KAAK+O,QAAQ0wC,cAAuD,GAA7Bz/C,KAAK+O,QAAQ0wC,gBAC3DiY,GACE9qD,UAAW5M,KAAK2pB,KAAK5a,QAAQ3D,MAAMwB,UAAUD,OAC7CE,MAAO7M,KAAK2pB,KAAK5a,QAAQ3D,MAAMyB,MAAMF,OACrCvB,MAAOzK,EAAKwK,gBAAgBnL,KAAK2pB,KAAK5a,QAAQ3D,MAAMuB,OAAQ3M,KAAK+O,QAAQ1D,WAG7ErL,KAAK+O,QAAQ3D,MAAQssD,EACrB13D,KAAKswD,YAAa,GAGC,GAAjBtwD,KAAKslC,SAA4BoyB,EAAS9qD,UACvB,GAAd5M,KAAK6M,MAAuB6qD,EAAS7qD,MACT6qD,EAAStsD,OAWhDhI,EAAKqQ,UAAUkjD,UAAY,SAASrvC,GAKlC,GAHAA,EAAIY,YAAcloB,KAAKy3D,YACvBnwC,EAAIO,UAAc7nB,KAAK23D,gBAEnB33D,KAAK2pB,MAAQ3pB,KAAK4pB,GAAI,CAExB,GAGIpX,GAHAq+C,EAAM7wD,KAAK43D,MAAMtwC,EAIrB,IAAItnB,KAAKgpB,MAAO,CACd,GAAyC,GAArChpB,KAAK+O,QAAQozC,aAAanzC,SAA0B,MAAP6hD,EAAa,CAC5D,GAAIgH,GAAY,IAAK,IAAK73D,KAAK2pB,KAAKtX,EAAIw+C,EAAIx+C,GAAK,IAAKrS,KAAK4pB,GAAGvX,EAAIw+C,EAAIx+C,IAClEylD,EAAY,IAAK,IAAK93D,KAAK2pB,KAAKrX,EAAIu+C,EAAIv+C,GAAK,IAAKtS,KAAK4pB,GAAGtX,EAAIu+C,EAAIv+C,GACtEE,IAASH,EAAEwlD,EAAWvlD,EAAEwlD,OAGxBtlD,GAAQxS,KAAK+3D,aAAa,GAE5B/3D,MAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOxW,EAAMH,EAAGG,EAAMF,QAG3C,CACH,GAAID,GAAGC,EACH0Z,EAAShsB,KAAK2/C,QAAQK,aAAe,EACrCmH,EAAOnnD,KAAK2pB,IACXw9B,GAAKt0C,OACRs0C,EAAK8Q,OAAO3wC,GAEV6/B,EAAKt0C,MAAQs0C,EAAKr0C,QACpBT,EAAI80C,EAAK90C,EAAI80C,EAAKt0C,MAAQ,EAC1BP,EAAI60C,EAAK70C,EAAI0Z,IAGb3Z,EAAI80C,EAAK90C,EAAI2Z,EACb1Z,EAAI60C,EAAK70C,EAAI60C,EAAKr0C,OAAS,GAE7B9S,KAAKk4D,QAAQ5wC,EAAKjV,EAAGC,EAAG0Z,GACxBxZ,EAAQxS,KAAKm4D,eAAe9lD,EAAGC,EAAG0Z,EAAQ,IAC1ChsB,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOxW,EAAMH,EAAGG,EAAMF,KAUhDlP,EAAKqQ,UAAUkkD,cAAgB,WAC7B,MAAqB,IAAjB33D,KAAKslC,SACC9gC,KAAKJ,IAAII,KAAKL,IAAInE,KAAK61D,cAAe71D,KAAK+O,QAAQ2Y,UAAW,GAAI1nB,KAAKo4D,iBAG7D,GAAdp4D,KAAK6M,MACArI,KAAKJ,IAAII,KAAKL,IAAInE,KAAK+O,QAAQowC,WAAYn/C,KAAK+O,QAAQ2Y,UAAW,GAAI1nB,KAAKo4D,iBAG5E5zD,KAAKJ,IAAIpE,KAAK+O,QAAQ8D,MAAO,GAAI7S,KAAKo4D,kBAKnDh1D,EAAKqQ,UAAU4kD,mBAAqB,WAClC,GAAyC,GAArCr4D,KAAK+O,QAAQozC,aAAaC,SAAwD,GAArCpiD,KAAK+O,QAAQozC,aAAanzC,QACzE,MAAOhP,MAAK6wD,GAET,IAAyC,GAArC7wD,KAAK+O,QAAQozC,aAAanzC,QACjC,OAAQqD,EAAE,EAAEC,EAAE,EAGd,IAAIgmD,GAAO,KACPC,EAAO,KACPtQ,EAASjoD,KAAK+O,QAAQozC,aAAaE,UACnCl7C,EAAOnH,KAAK+O,QAAQozC,aAAah7C,KAEjCgY,EAAK3a,KAAK4mB,IAAIprB,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GACpC+M,EAAK5a,KAAK4mB,IAAIprB,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,EA2JxC,OA1JY,YAARnL,GAA8B,iBAARA,EACpB3C,KAAK4mB,IAAIprB,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAAK7N,KAAK4mB,IAAIprB,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,IACjEtS,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,EACpBtS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GACxBimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS7oC,EAC9Bm5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS7oC,GAEvBpf,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,IAC7BimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS7oC,EAC9Bm5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS7oC,GAGzBpf,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,IACzBtS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GACxBimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS7oC,EAC9Bm5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS7oC,GAEvBpf,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,IAC7BimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS7oC,EAC9Bm5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS7oC,IAGtB,YAARjY,IACFmxD,EAAYrQ,EAAS7oC,EAAdD,EAAmBnf,KAAK2pB,KAAKtX,EAAIimD,IAGnC9zD,KAAK4mB,IAAIprB,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAAK7N,KAAK4mB,IAAIprB,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,KACtEtS,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,EACpBtS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GACxBimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS9oC,GAEvBnf,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,IAC7BimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS9oC,GAGzBnf,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,IACzBtS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GACxBimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS9oC,GAEvBnf,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,IAC7BimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS9oC,IAGtB,YAARhY,IACFoxD,EAAYtQ,EAAS9oC,EAAdC,EAAmBpf,KAAK2pB,KAAKrX,EAAIimD,IAI7B,iBAARpxD,EACH3C,KAAK4mB,IAAIprB,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAAK7N,KAAK4mB,IAAIprB,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,IACrEgmD,EAAOt4D,KAAK2pB,KAAKtX,EAEfkmD,EADEv4D,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,EACjBtS,KAAK4pB,GAAGtX,GAAK,EAAI21C,GAAU7oC,EAG3Bpf,KAAK4pB,GAAGtX,GAAK,EAAI21C,GAAU7oC,GAG7B5a,KAAK4mB,IAAIprB,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAAK7N,KAAK4mB,IAAIprB,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,KAExEgmD,EADEt4D,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,EACjBrS,KAAK4pB,GAAGvX,GAAK,EAAI41C,GAAU9oC,EAG3Bnf,KAAK4pB,GAAGvX,GAAK,EAAI41C,GAAU9oC,EAEpCo5C,EAAOv4D,KAAK2pB,KAAKrX,GAGJ,cAARnL,GAELmxD,EADEt4D,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,EACjBrS,KAAK4pB,GAAGvX,GAAK,EAAI41C,GAAU9oC,EAG3Bnf,KAAK4pB,GAAGvX,GAAK,EAAI41C,GAAU9oC,EAEpCo5C,EAAOv4D,KAAK2pB,KAAKrX,GAEF,YAARnL,GACPmxD,EAAOt4D,KAAK2pB,KAAKtX,EAEfkmD,EADEv4D,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,EACjBtS,KAAK4pB,GAAGtX,GAAK,EAAI21C,GAAU7oC,EAG3Bpf,KAAK4pB,GAAGtX,GAAK,EAAI21C,GAAU7oC,GAIhC5a,KAAK4mB,IAAIprB,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAAK7N,KAAK4mB,IAAIprB,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,GACjEtS,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,EACpBtS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAExBimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS7oC,EAC9Bm5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS7oC,EAC9Bk5C,EAAOt4D,KAAK4pB,GAAGvX,EAAIimD,EAAOt4D,KAAK4pB,GAAGvX,EAAIimD,GAE/Bt4D,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,IAE7BimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS7oC,EAC9Bm5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS7oC,EAC9Bk5C,EAAOt4D,KAAK4pB,GAAGvX,EAAIimD,EAAOt4D,KAAK4pB,GAAGvX,EAAIimD,GAGjCt4D,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,IACzBtS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAExBimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS7oC,EAC9Bm5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS7oC,EAC9Bk5C,EAAOt4D,KAAK4pB,GAAGvX,EAAIimD,EAAOt4D,KAAK4pB,GAAGvX,EAAIimD,GAE/Bt4D,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,IAE7BimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS7oC,EAC9Bm5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS7oC,EAC9Bk5C,EAAOt4D,KAAK4pB,GAAGvX,EAAIimD,EAAOt4D,KAAK4pB,GAAGvX,EAAIimD,IAInC9zD,KAAK4mB,IAAIprB,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAAK7N,KAAK4mB,IAAIprB,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,KACtEtS,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,EACpBtS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAExBimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK4pB,GAAGtX,EAAIimD,EAAOv4D,KAAK4pB,GAAGtX,EAAIimD,GAE/Bv4D,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,IAE7BimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK4pB,GAAGtX,EAAIimD,EAAOv4D,KAAK4pB,GAAGtX,EAAIimD,GAGjCv4D,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,IACzBtS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAExBimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK4pB,GAAGtX,EAAIimD,EAAOv4D,KAAK4pB,GAAGtX,EAAIimD,GAE/Bv4D,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,IAE7BimD,EAAOt4D,KAAK2pB,KAAKtX,EAAI41C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK2pB,KAAKrX,EAAI21C,EAAS9oC,EAC9Bo5C,EAAOv4D,KAAK4pB,GAAGtX,EAAIimD,EAAOv4D,KAAK4pB,GAAGtX,EAAIimD,MAOtClmD,EAAGimD,EAAMhmD,EAAGimD,IASxBn1D,EAAKqQ,UAAUmkD,MAAQ,SAAUtwC,GAI/B,GAFAA,EAAIa,YACJb,EAAIc,OAAOpoB,KAAK2pB,KAAKtX,EAAGrS,KAAK2pB,KAAKrX,GACO,GAArCtS,KAAK+O,QAAQozC,aAAanzC,QAAiB,CAC7C,GAAyC,GAArChP,KAAK+O,QAAQozC,aAAaC,QAAkB,CAC9C,GAAIyO,GAAM7wD,KAAKq4D,oBACf,OAAa,OAATxH,EAAIx+C,GACNiV,EAAIe,OAAOroB,KAAK4pB,GAAGvX,EAAGrS,KAAK4pB,GAAGtX,GAC9BgV,EAAIlH,SACG,OAKPkH,EAAIkxC,iBAAiB3H,EAAIx+C,EAAEw+C,EAAIv+C,EAAEtS,KAAK4pB,GAAGvX,EAAGrS,KAAK4pB,GAAGtX,GACpDgV,EAAIlH,SACGywC,GAMT,MAFAvpC,GAAIkxC,iBAAiBx4D,KAAK6wD,IAAIx+C,EAAErS,KAAK6wD,IAAIv+C,EAAEtS,KAAK4pB,GAAGvX,EAAGrS,KAAK4pB,GAAGtX,GAC9DgV,EAAIlH,SACGpgB,KAAK6wD,IAMd,MAFAvpC,GAAIe,OAAOroB,KAAK4pB,GAAGvX,EAAGrS,KAAK4pB,GAAGtX,GAC9BgV,EAAIlH,SACG,MAYXhd,EAAKqQ,UAAUykD,QAAU,SAAU5wC,EAAKjV,EAAGC,EAAG0Z,GAE5C1E,EAAIa,YACJb,EAAI2E,IAAI5Z,EAAGC,EAAG0Z,EAAQ,EAAG,EAAIxnB,KAAK0nB,IAAI,GACtC5E,EAAIlH,UAWNhd,EAAKqQ,UAAUukD,OAAS,SAAU1wC,EAAKwC,EAAMzX,EAAGC,GAC9C,GAAIwX,EAAM,CACRxC,EAAIQ,MAAS9nB,KAAK2pB,KAAK2b,UAAYtlC,KAAK4pB,GAAG0b,SAAY,QAAU,IACjEtlC,KAAK+O,QAAQsvC,SAAW,MAAQr+C,KAAK+O,QAAQuvC,QAC7C,IAAIyX,EAEJ,IAAuB,GAAnB/1D,KAAKg2D,WAAoB,CAC3B,GAAIzrB,GAAQ7lC,OAAOolB,GAAMxhB,MAAM,MAC3BmwD,EAAYluB,EAAMvkC,OAClBq4C,EAAWp6C,OAAOjE,KAAK+O,QAAQsvC,SACnC0X,GAAQzjD,GAAK,EAAImmD,GAAa,EAAIpa,CAGlC,KAAK,GADDxrC,GAAQyU,EAAIoxC,YAAYnuB,EAAM,IAAI13B,MAC7BhN,EAAI,EAAO4yD,EAAJ5yD,EAAeA,IAAK,CAClC,GAAIgiB,GAAYP,EAAIoxC,YAAYnuB,EAAM1kC,IAAIgN,KAC1CA,GAAQgV,EAAYhV,EAAQgV,EAAYhV,EAE1C,GAAIC,GAAS9S,KAAK+O,QAAQsvC,SAAWoa,EACjC5wD,EAAOwK,EAAIQ,EAAQ,EACnB5K,EAAMqK,EAAIQ,EAAS,CAGvB9S,MAAK81D,iBAAmB7tD,IAAIA,EAAIJ,KAAKA,EAAKgL,MAAMA,EAAMC,OAAOA,EAAOijD,MAAMA,GAG/E,GAAIA,GAAQ/1D,KAAK81D,gBAAgBC,KAEjCzuC,GAAI6pC,OAE+B,cAA/BnxD,KAAK+O,QAAQqwC,iBAChB93B,EAAI8pC,UAAU/+C,EAAG0jD,GACjB/1D,KAAK24D,yBAAyBrxC,GAC9BjV,EAAI,EACJ0jD,EAAQ,GAIT/1D,KAAK44D,eAAetxC,GACpBtnB,KAAK64D,eAAevxC,EAAIjV,EAAE0jD,EAAOxrB,EAAOkuB,EAAWpa,GAEnD/2B,EAAIgqC,YASLluD,EAAKqQ,UAAUklD,yBAA2B,SAASrxC,GAClD,GAAIlI,GAAKpf,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,EAC3B6M,EAAKnf,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,EAC3BymD,EAAiBt0D,KAAKu0D,MAAM35C,EAAID,IAGf,GAAjB25C,GAA4B,EAAL35C,GAAY25C,EAAiB,GAAU,EAAL35C,KAC5D25C,GAAkCt0D,KAAK0nB,IAGxC5E,EAAI0xC,OAAOF,IASZ11D,EAAKqQ,UAAUmlD,eAAiB,SAAStxC,GACxC,GAA8BzgB,SAA1B7G,KAAK+O,QAAQwvC,UAAoD,OAA1Bv+C,KAAK+O,QAAQwvC,UAA+C,SAA1Bv+C,KAAK+O,QAAQwvC,SAAqB,CAC9Gj3B,EAAIiB,UAAYvoB,KAAK+O,QAAQwvC,QAE7B,IAAI0a,GAAa,CAEoB,gBAA/Bj5D,KAAK+O,QAAQqwC,eACf93B,EAAI4xC,SAAuC,IAA7Bl5D,KAAK81D,gBAAgBjjD,MAA4C,IAA9B7S,KAAK81D,gBAAgBhjD,OAAc9S,KAAK81D,gBAAgBjjD,MAAO7S,KAAK81D,gBAAgBhjD,QAE/F,cAA/B9S,KAAK+O,QAAQqwC,eACpB93B,EAAI4xC,SAAuC,IAA7Bl5D,KAAK81D,gBAAgBjjD,QAAe7S,KAAK81D,gBAAgBhjD,OAASmmD,GAAaj5D,KAAK81D,gBAAgBjjD,MAAO7S,KAAK81D,gBAAgBhjD,QAExG,cAA/B9S,KAAK+O,QAAQqwC,eACpB93B,EAAI4xC,SAAuC,IAA7Bl5D,KAAK81D,gBAAgBjjD,MAAaomD,EAAYj5D,KAAK81D,gBAAgBjjD,MAAO7S,KAAK81D,gBAAgBhjD,QAG7GwU,EAAI4xC,SAASl5D,KAAK81D,gBAAgBjuD,KAAM7H,KAAK81D,gBAAgB7tD,IAAKjI,KAAK81D,gBAAgBjjD,MAAO7S,KAAK81D,gBAAgBhjD,UAezH1P,EAAKqQ,UAAUolD,eAAiB,SAASvxC,EAAKjV,EAAG0jD,EAAOxrB,EAAOkuB,EAAWpa,GAMxE,GAJD/2B,EAAIiB,UAAYvoB,KAAK+O,QAAQqvC,WAAa,QAC1C92B,EAAIuB,UAAY,SAGoB,cAA/B7oB,KAAK+O,QAAQqwC,eAAgC,CAC/C,GAAI6Z,GAAa,CACkB,eAA/Bj5D,KAAK+O,QAAQqwC,gBACf93B,EAAIwB,aAAe,aACnBitC,GAAS,EAAIkD,GAEyB,cAA/Bj5D,KAAK+O,QAAQqwC,gBACpB93B,EAAIwB,aAAe,UACnBitC,GAAS,EAAIkD,GAGb3xC,EAAIwB,aAAe,aAIrBxB,GAAIwB,aAAe,QAIjB9oB,MAAK+O,QAAQyvC,gBAAkB,IACjCl3B,EAAIO,UAAc7nB,KAAK+O,QAAQyvC,gBAC/Bl3B,EAAIY,YAAcloB,KAAK+O,QAAQ0vC,gBAC/Bn3B,EAAI6xC,SAAc,QAErB,KAAK,GAAItzD,GAAI,EAAO4yD,EAAJ5yD,EAAeA,IACzB7F,KAAK+O,QAAQyvC,gBAAkB,GAChCl3B,EAAI8xC,WAAW7uB,EAAM1kC,GAAIwM,EAAG0jD,GAEhCzuC,EAAIyB,SAASwhB,EAAM1kC,GAAIwM,EAAG0jD,GAC1BA,GAAS1X,GAaXj7C,EAAKqQ,UAAUqjD,cAAgB,SAASxvC,GAEtCA,EAAIY,YAAcloB,KAAKy3D,YACvBnwC,EAAIO,UAAY7nB,KAAK23D,eAErB,IAAI9G,GAAM,IAEV,IAAwBhqD,SAApBygB,EAAI+xC,YAA2B,CACjC/xC,EAAI6pC,MAEJ,IAAImI,IAAW,EAEbA,GAD+BzyD,SAA7B7G,KAAK+O,QAAQuwC,KAAKt5C,QAAkDa,SAA1B7G,KAAK+O,QAAQuwC,KAAKC,KACnDv/C,KAAK+O,QAAQuwC,KAAKt5C,OAAOhG,KAAK+O,QAAQuwC,KAAKC,MAG3C,EAAE,GAIfj4B,EAAI+xC,YAAYC,GAChBhyC,EAAIiyC,eAAiB,EAGrB1I,EAAM7wD,KAAK43D,MAAMtwC,GAGjBA,EAAI+xC,aAAa,IACjB/xC,EAAIiyC,eAAiB,EACrBjyC,EAAIgqC,cAIJhqC,GAAIa,YACJb,EAAIkyC,QAAU,QACsB3yD,SAAhC7G,KAAK+O,QAAQuwC,KAAKE,UAEpBl4B,EAAImyC,WAAWz5D,KAAK2pB,KAAKtX,EAAErS,KAAK2pB,KAAKrX,EAAEtS,KAAK4pB,GAAGvX,EAAErS,KAAK4pB,GAAGtX,GACpDtS,KAAK+O,QAAQuwC,KAAKt5C,OAAOhG,KAAK+O,QAAQuwC,KAAKC,IAAIv/C,KAAK+O,QAAQuwC,KAAKE,UAAUx/C,KAAK+O,QAAQuwC,KAAKC,MAE9D14C,SAA7B7G,KAAK+O,QAAQuwC,KAAKt5C,QAAkDa,SAA1B7G,KAAK+O,QAAQuwC,KAAKC,IAEnEj4B,EAAImyC,WAAWz5D,KAAK2pB,KAAKtX,EAAErS,KAAK2pB,KAAKrX,EAAEtS,KAAK4pB,GAAGvX,EAAErS,KAAK4pB,GAAGtX,GACpDtS,KAAK+O,QAAQuwC,KAAKt5C,OAAOhG,KAAK+O,QAAQuwC,KAAKC,OAIhDj4B,EAAIc,OAAOpoB,KAAK2pB,KAAKtX,EAAGrS,KAAK2pB,KAAKrX,GAClCgV,EAAIe,OAAOroB,KAAK4pB,GAAGvX,EAAGrS,KAAK4pB,GAAGtX,IAEhCgV,EAAIlH,QAIN,IAAIpgB,KAAKgpB,MAAO,CACd,GAAIxW,EACJ,IAAyC,GAArCxS,KAAK+O,QAAQozC,aAAanzC,SAA0B,MAAP6hD,EAAa,CAC5D,GAAIgH,GAAY,IAAK,IAAK73D,KAAK2pB,KAAKtX,EAAIw+C,EAAIx+C,GAAK,IAAKrS,KAAK4pB,GAAGvX,EAAIw+C,EAAIx+C,IAClEylD,EAAY,IAAK,IAAK93D,KAAK2pB,KAAKrX,EAAIu+C,EAAIv+C,GAAK,IAAKtS,KAAK4pB,GAAGtX,EAAIu+C,EAAIv+C,GACtEE,IAASH,EAAEwlD,EAAWvlD,EAAEwlD,OAGxBtlD,GAAQxS,KAAK+3D,aAAa,GAE5B/3D,MAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOxW,EAAMH,EAAGG,EAAMF,KAUhDlP,EAAKqQ,UAAUskD,aAAe,SAAU2B,GACtC,OACErnD,GAAI,EAAIqnD,GAAc15D,KAAK2pB,KAAKtX,EAAIqnD,EAAa15D,KAAK4pB,GAAGvX,EACzDC,GAAI,EAAIonD,GAAc15D,KAAK2pB,KAAKrX,EAAIonD,EAAa15D,KAAK4pB,GAAGtX,IAa7DlP,EAAKqQ,UAAU0kD,eAAiB,SAAU9lD,EAAGC,EAAG0Z,EAAQ0tC,GACtD,GAAI5J,GAA6B,GAApB4J,EAAa,EAAE,GAASl1D,KAAK0nB,EAC1C,QACE7Z,EAAGA,EAAI2Z,EAASxnB,KAAKsa,IAAIgxC,GACzBx9C,EAAGA,EAAI0Z,EAASxnB,KAAKma,IAAImxC,KAW7B1sD,EAAKqQ,UAAUojD,iBAAmB,SAASvvC,GACzC,GAAI9U,EAMJ,IAJA8U,EAAIY,YAAcloB,KAAKy3D,YACvBnwC,EAAIiB,UAAYjB,EAAIY,YACpBZ,EAAIO,UAAY7nB,KAAK23D,gBAEjB33D,KAAK2pB,MAAQ3pB,KAAK4pB,GAAI,CAExB,GAAIinC,GAAM7wD,KAAK43D,MAAMtwC,GAEjBwoC,EAAQtrD,KAAKu0D,MAAO/4D,KAAK4pB,GAAGtX,EAAItS,KAAK2pB,KAAKrX,EAAKtS,KAAK4pB,GAAGvX,EAAIrS,KAAK2pB,KAAKtX,GACrErM,GAAU,GAAK,EAAIhG,KAAK+O,QAAQ8D,OAAS7S,KAAK+O,QAAQswC,gBAE1D,IAAyC,GAArCr/C,KAAK+O,QAAQozC,aAAanzC,SAA0B,MAAP6hD,EAAa,CAC5D,GAAIgH,GAAY,IAAK,IAAK73D,KAAK2pB,KAAKtX,EAAIw+C,EAAIx+C,GAAK,IAAKrS,KAAK4pB,GAAGvX,EAAIw+C,EAAIx+C,IAClEylD,EAAY,IAAK,IAAK93D,KAAK2pB,KAAKrX,EAAIu+C,EAAIv+C,GAAK,IAAKtS,KAAK4pB,GAAGtX,EAAIu+C,EAAIv+C,GACtEE,IAASH,EAAEwlD,EAAWvlD,EAAEwlD,OAGxBtlD,GAAQxS,KAAK+3D,aAAa,GAG5BzwC,GAAIqyC,MAAMnnD,EAAMH,EAAGG,EAAMF,EAAGw9C,EAAO9pD,GACnCshB,EAAInH,OACJmH,EAAIlH,SAGApgB,KAAKgpB,OACPhpB,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOxW,EAAMH,EAAGG,EAAMF,OAG3C,CAEH,GAAID,GAAGC,EACH0Z,EAAS,IAAOxnB,KAAKJ,IAAI,IAAIpE,KAAK2/C,QAAQK,cAC1CmH,EAAOnnD,KAAK2pB,IACXw9B,GAAKt0C,OACRs0C,EAAK8Q,OAAO3wC,GAEV6/B,EAAKt0C,MAAQs0C,EAAKr0C,QACpBT,EAAI80C,EAAK90C,EAAiB,GAAb80C,EAAKt0C,MAClBP,EAAI60C,EAAK70C,EAAI0Z,IAGb3Z,EAAI80C,EAAK90C,EAAI2Z,EACb1Z,EAAI60C,EAAK70C,EAAkB,GAAd60C,EAAKr0C,QAEpB9S,KAAKk4D,QAAQ5wC,EAAKjV,EAAGC,EAAG0Z,EAGxB,IAAI8jC,GAAQ,GAAMtrD,KAAK0nB,GACnBlmB,GAAU,GAAK,EAAIhG,KAAK+O,QAAQ8D,OAAS7S,KAAK+O,QAAQswC,gBAC1D7sC,GAAQxS,KAAKm4D,eAAe9lD,EAAGC,EAAG0Z,EAAQ,IAC1C1E,EAAIqyC,MAAMnnD,EAAMH,EAAGG,EAAMF,EAAGw9C,EAAO9pD,GACnCshB,EAAInH,OACJmH,EAAIlH,SAGApgB,KAAKgpB,QACPxW,EAAQxS,KAAKm4D,eAAe9lD,EAAGC,EAAG0Z,EAAQ,IAC1ChsB,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOxW,EAAMH,EAAGG,EAAMF,MAKlDlP,EAAKqQ,UAAUmmD,eAAiB,SAASxrD,GACvC,GAAIyiD,GAAM7wD,KAAKq4D,qBAEXhmD,EAAI7N,KAAK6vB,IAAI,EAAEjmB,EAAE,GAAGpO,KAAK2pB,KAAKtX,EAAK,EAAEjE,GAAG,EAAIA,GAAIyiD,EAAIx+C,EAAI7N,KAAK6vB,IAAIjmB,EAAE,GAAGpO,KAAK4pB,GAAGvX,EAC9EC,EAAI9N,KAAK6vB,IAAI,EAAEjmB,EAAE,GAAGpO,KAAK2pB,KAAKrX,EAAK,EAAElE,GAAG,EAAIA,GAAIyiD,EAAIv+C,EAAI9N,KAAK6vB,IAAIjmB,EAAE,GAAGpO,KAAK4pB,GAAGtX,CAElF,QAAQD,EAAEA,EAAEC,EAAEA,IAWhBlP,EAAKqQ,UAAUomD,oBAAsB,SAASlwC,EAAKrC,GACjD,GAIIxB,GAAIgqC,EAAMgK,EAAkBC,EAAiBC,EAJ7C1qD,EAAgB,GAChBC,EAAY,EACZC,EAAM,EACNC,EAAO,EAEPwqD,EAAY,GACZ9S,EAAOnnD,KAAK4pB,EAKhB,KAJY,GAARD,IACFw9B,EAAOnnD,KAAK2pB,MAGAla,GAAPD,GAA2BF,EAAZC,GAA2B,CAC/C,GAAIG,GAAwB,IAAdF,EAAMC,EAOpB,IALAqW,EAAM9lB,KAAK45D,eAAelqD,GAC1BogD,EAAQtrD,KAAKu0D,MAAO5R,EAAK70C,EAAIwT,EAAIxT,EAAK60C,EAAK90C,EAAIyT,EAAIzT,GACnDynD,EAAmB3S,EAAK2S,iBAAiBxyC,EAAIwoC,GAC7CiK,EAAkBv1D,KAAK0rB,KAAK1rB,KAAK6vB,IAAIvO,EAAIzT,EAAE80C,EAAK90C,EAAE,GAAK7N,KAAK6vB,IAAIvO,EAAIxT,EAAE60C,EAAK70C,EAAE,IAC7E0nD,EAAaF,EAAmBC,EAC5Bv1D,KAAK4mB,IAAI4uC,GAAcC,EACzB,KAEoB,GAAbD,EACK,GAARrwC,EACFna,EAAME,EAGND,EAAOC,EAIG,GAARia,EACFla,EAAOC,EAGPF,EAAME,EAIVH,IAIF,MAFAuW,GAAI1X,EAAIsB,EAEDoW,GAUT1iB,EAAKqQ,UAAUmjD,WAAa,SAAStvC,GAEnCA,EAAIY,YAAcloB,KAAKy3D,YACvBnwC,EAAIiB,UAAYjB,EAAIY,YACpBZ,EAAIO,UAAY7nB,KAAK23D,eAGrB,IAAI7H,GAAO9pD,EAAQk0D,CAGnB,IAAIl6D,KAAK2pB,MAAQ3pB,KAAK4pB,GAAI,CAKxB,GAHA5pB,KAAK43D,MAAMtwC,GAG8B,GAArCtnB,KAAK+O,QAAQozC,aAAanzC,QAAiB,CAC7C,GAAI6hD,GAAM7wD,KAAKq4D,oBACf6B,GAAWl6D,KAAK65D,qBAAoB,EAAOvyC,EAC3C,IAAI6yC,GAAWn6D,KAAK45D,eAAep1D,KAAKJ,IAAI,EAAK81D,EAAS9rD,EAAI,IAC9D0hD,GAAQtrD,KAAKu0D,MAAOmB,EAAS5nD,EAAI6nD,EAAS7nD,EAAK4nD,EAAS7nD,EAAI8nD,EAAS9nD,OAElE,CACHy9C,EAAQtrD,KAAKu0D,MAAO/4D,KAAK4pB,GAAGtX,EAAItS,KAAK2pB,KAAKrX,EAAKtS,KAAK4pB,GAAGvX,EAAIrS,KAAK2pB,KAAKtX,EACrE,IAAI8M,GAAMnf,KAAK4pB,GAAGvX,EAAIrS,KAAK2pB,KAAKtX,EAC5B+M,EAAMpf,KAAK4pB,GAAGtX,EAAItS,KAAK2pB,KAAKrX,EAC5B8nD,EAAoB51D,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAC7Ci7C,EAAer6D,KAAK4pB,GAAGkwC,iBAAiBxyC,EAAKwoC,GAC7CwK,GAAiBF,EAAoBC,GAAgBD,CAEzDF,MACAA,EAAS7nD,GAAK,EAAIioD,GAAiBt6D,KAAK2pB,KAAKtX,EAAIioD,EAAgBt6D,KAAK4pB,GAAGvX,EACzE6nD,EAAS5nD,GAAK,EAAIgoD,GAAiBt6D,KAAK2pB,KAAKrX,EAAIgoD,EAAgBt6D,KAAK4pB,GAAGtX,EAU3E,GANAtM,GAAU,GAAK,EAAIhG,KAAK+O,QAAQ8D,OAAS7S,KAAK+O,QAAQswC,iBACtD/3B,EAAIqyC,MAAMO,EAAS7nD,EAAE6nD,EAAS5nD,EAAGw9C,EAAO9pD,GACxCshB,EAAInH,OACJmH,EAAIlH,SAGApgB,KAAKgpB,MAAO,CACd,GAAIxW,EAEFA,GADuC,GAArCxS,KAAK+O,QAAQozC,aAAanzC,SAA0B,MAAP6hD,EACvC7wD,KAAK45D,eAAe,IAGpB55D,KAAK+3D,aAAa,IAE5B/3D,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOxW,EAAMH,EAAGG,EAAMF,QAG3C,CAEH,GACID,GAAGC,EAAGqnD,EADNxS,EAAOnnD,KAAK2pB,KAEZqC,EAAS,IAAOxnB,KAAKJ,IAAI,IAAIpE,KAAK2/C,QAAQK,aACzCmH,GAAKt0C,OACRs0C,EAAK8Q,OAAO3wC,GAEV6/B,EAAKt0C,MAAQs0C,EAAKr0C,QACpBT,EAAI80C,EAAK90C,EAAiB,GAAb80C,EAAKt0C,MAClBP,EAAI60C,EAAK70C,EAAI0Z,EACb2tC,GACEtnD,EAAGA,EACHC,EAAG60C,EAAK70C,EACRw9C,MAAO,GAAMtrD,KAAK0nB,MAIpB7Z,EAAI80C,EAAK90C,EAAI2Z,EACb1Z,EAAI60C,EAAK70C,EAAkB,GAAd60C,EAAKr0C,OAClB6mD,GACEtnD,EAAG80C,EAAK90C,EACRC,EAAGA,EACHw9C,MAAO,GAAMtrD,KAAK0nB,KAGtB5E,EAAIa,YAEJb,EAAI2E,IAAI5Z,EAAGC,EAAG0Z,EAAQ,EAAG,EAAIxnB,KAAK0nB,IAAI,GACtC5E,EAAIlH,QAGJ,IAAIpa,IAAU,GAAK,EAAIhG,KAAK+O,QAAQ8D,OAAS7S,KAAK+O,QAAQswC,gBAC1D/3B,GAAIqyC,MAAMA,EAAMtnD,EAAGsnD,EAAMrnD,EAAGqnD,EAAM7J,MAAO9pD,GACzCshB,EAAInH,OACJmH,EAAIlH,SAGApgB,KAAKgpB,QACPxW,EAAQxS,KAAKm4D,eAAe9lD,EAAGC,EAAG0Z,EAAQ,IAC1ChsB,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOxW,EAAMH,EAAGG,EAAMF,MAiBlDlP,EAAKqQ,UAAU+jD,mBAAqB,SAAU+C,EAAGC,EAAIC,EAAGC,EAAIC,EAAGC,GAC7D,GAAI9wD,GAAc,CAClB,IAAI9J,KAAK2pB,MAAQ3pB,KAAK4pB,GACpB,GAAyC,GAArC5pB,KAAK+O,QAAQozC,aAAanzC,QAAiB,CAC7C,GAAIspD,GAAMC,CACV,IAAyC,GAArCv4D,KAAK+O,QAAQozC,aAAanzC,SAAwD,GAArChP,KAAK+O,QAAQozC,aAAaC,QACzEkW,EAAOt4D,KAAK6wD,IAAIx+C,EAChBkmD,EAAOv4D,KAAK6wD,IAAIv+C,MAEb,CACH,GAAIu+C,GAAM7wD,KAAKq4D,oBACfC,GAAOzH,EAAIx+C,EACXkmD,EAAO1H,EAAIv+C,EAEb,GACI4T,GACArgB,EAAEuI,EAAEiE,EAAEC,EAAGuoD,EAAOC,EAFhBC,EAAc,GAGlB,KAAKl1D,EAAI,EAAO,GAAJA,EAAQA,IAClBuI,EAAI,GAAIvI,EACRwM,EAAI7N,KAAK6vB,IAAI,EAAEjmB,EAAE,GAAGmsD,EAAM,EAAEnsD,GAAG,EAAIA,GAAIkqD,EAAO9zD,KAAK6vB,IAAIjmB,EAAE,GAAGqsD,EAC5DnoD,EAAI9N,KAAK6vB,IAAI,EAAEjmB,EAAE,GAAGosD,EAAM,EAAEpsD,GAAG,EAAIA,GAAImqD,EAAO/zD,KAAK6vB,IAAIjmB,EAAE,GAAGssD,EACxD70D,EAAI,IACNqgB,EAAWlmB,KAAKg7D,mBAAmBH,EAAMC,EAAMzoD,EAAEC,EAAGqoD,EAAGC,GACvDG,EAAyBA,EAAX70C,EAAyBA,EAAW60C,GAEpDF,EAAQxoD,EAAGyoD,EAAQxoD,CAErBxI,GAAcixD,MAGdjxD,GAAc9J,KAAKg7D,mBAAmBT,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,OAGpD,CACH,GAAIvoD,GAAGC,EAAG6M,EAAIC,EACV4M,EAAS,IAAOhsB,KAAK2/C,QAAQK,aAC7BmH,EAAOnnD,KAAK2pB,IACZw9B,GAAKt0C,MAAQs0C,EAAKr0C,QACpBT,EAAI80C,EAAK90C,EAAI,GAAM80C,EAAKt0C,MACxBP,EAAI60C,EAAK70C,EAAI0Z,IAGb3Z,EAAI80C,EAAK90C,EAAI2Z,EACb1Z,EAAI60C,EAAK70C,EAAI,GAAM60C,EAAKr0C,QAE1BqM,EAAK9M,EAAIsoD,EACTv7C,EAAK9M,EAAIsoD,EACT9wD,EAActF,KAAK4mB,IAAI5mB,KAAK0rB,KAAK/Q,EAAGA,EAAKC,EAAGA,GAAM4M,GAGpD,MAAIhsB,MAAK81D,gBAAgBjuD,KAAO8yD,GAC9B36D,KAAK81D,gBAAgBjuD,KAAO7H,KAAK81D,gBAAgBjjD,MAAQ8nD,GACzD36D,KAAK81D,gBAAgB7tD,IAAM2yD,GAC3B56D,KAAK81D,gBAAgB7tD,IAAMjI,KAAK81D,gBAAgBhjD,OAAS8nD,EAClD,EAGA9wD,GAIX1G,EAAKqQ,UAAUunD,mBAAqB,SAAST,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,GAC1D,GAAIK,GAAKR,EAAGF,EACVW,EAAKR,EAAGF,EACRW,EAAYF,EAAGA,EAAKC,EAAGA,EACvBE,IAAOT,EAAKJ,GAAMU,GAAML,EAAKJ,GAAMU,GAAMC,CAEvCC,GAAI,EACNA,EAAI,EAEO,EAAJA,IACPA,EAAI,EAGN,IAAI/oD,GAAIkoD,EAAKa,EAAIH,EACf3oD,EAAIkoD,EAAKY,EAAIF,EACb/7C,EAAK9M,EAAIsoD,EACTv7C,EAAK9M,EAAIsoD,CAQX,OAAOp2D,MAAK0rB,KAAK/Q,EAAGA,EAAKC,EAAGA,IAQ9Bhc,EAAKqQ,UAAUqwB,SAAW,SAASv/B,GACjCvE,KAAKo4D,gBAAkB,EAAI7zD,GAI7BnB,EAAKqQ,UAAUiyB,OAAS,WACtB1lC,KAAKslC,UAAW,GAGlBliC,EAAKqQ,UAAUkyB,SAAW,WACxB3lC,KAAKslC,UAAW,GAGlBliC,EAAKqQ,UAAUwgD,mBAAqB,WACjB,OAAbj0D,KAAK6wD,KAA8B,OAAd7wD,KAAK2pB,MAA6B,OAAZ3pB,KAAK4pB,IAClD5pB,KAAK6wD,IAAIx+C,EAAI,IAAOrS,KAAK2pB,KAAKtX,EAAIrS,KAAK4pB,GAAGvX,GAC1CrS,KAAK6wD,IAAIv+C,EAAI,IAAOtS,KAAK2pB,KAAKrX,EAAItS,KAAK4pB,GAAGtX,IAEtB,OAAbtS,KAAK6wD,MACZ7wD,KAAK6wD,IAAIx+C,EAAI,EACbrS,KAAK6wD,IAAIv+C,EAAI,IASjBlP,EAAKqQ,UAAUs+C,kBAAoB,SAASzqC,GAC1C,GAAgC,GAA5BtnB,KAAKu2D,oBAA6B,CACpC,GAA+B,OAA3Bv2D,KAAKw2D,aAAa7sC,MAA0C,OAAzB3pB,KAAKw2D,aAAa5sC,GAAa,CACpE,GAAIyxC,GAAa,cAAc/mD,OAAOtU,KAAKK,IACvCi7D,EAAW,YAAYhnD,OAAOtU,KAAKK,IACnC0iD,GACYjF,OAAOvrC,MAAM,GAAIyZ,OAAO,EAAGzL,YAAY,EAAGy+B,oBAAqB,GAC/DW,SAASO,QAAQ,GACjBI,YAAac,sBAAuB,EAAGD,aAActuC,MAAM,EAAGC,OAAQ,EAAGkZ,OAAO,IAEhGhsB,MAAKw2D,aAAa7sC,KAAO,GAAIpmB,IAC1BlD,GAAGg7D,EACFnd,MAAM,MACJ9yC,OAAOsB,WAAW,UAAWC,OAAO,UAAWC,WAAYF,WAAW,mBAClEq2C,GACV/iD,KAAKw2D,aAAa5sC,GAAK,GAAIrmB,IACxBlD,GAAGi7D,EACFpd,MAAM,MACN9yC,OAAOsB,WAAW,UAAWC,OAAO,UAAWC,WAAYF,WAAW,mBAChEq2C,GAGZ/iD,KAAKw2D,aAAaC,aACqB,GAAnCz2D,KAAKw2D,aAAa7sC,KAAK2b,WACzBtlC,KAAKw2D,aAAaC,UAAU9sC,KAAO3pB,KAAKu7D,2BAA2Bj0C,GACnEtnB,KAAKw2D,aAAa7sC,KAAKtX,EAAIrS,KAAKw2D,aAAaC,UAAU9sC,KAAKtX,EAC5DrS,KAAKw2D,aAAa7sC,KAAKrX,EAAItS,KAAKw2D,aAAaC,UAAU9sC,KAAKrX,GAEzB,GAAjCtS,KAAKw2D,aAAa5sC,GAAG0b,WACvBtlC,KAAKw2D,aAAaC,UAAU7sC,GAAK5pB,KAAKw7D,yBAAyBl0C,GAC/DtnB,KAAKw2D,aAAa5sC,GAAGvX,EAAIrS,KAAKw2D,aAAaC,UAAU7sC,GAAGvX,EACxDrS,KAAKw2D,aAAa5sC,GAAGtX,EAAItS,KAAKw2D,aAAaC,UAAU7sC,GAAGtX,GAG1DtS,KAAKw2D,aAAa7sC,KAAKimB,KAAKtoB,GAC5BtnB,KAAKw2D,aAAa5sC,GAAGgmB,KAAKtoB,OAG1BtnB,MAAKw2D,cAAgB7sC,KAAK,KAAMC,GAAG,KAAM6sC,eAQ7CrzD,EAAKqQ,UAAUgoD,oBAAsB,WACnCz7D,KAAKi2D,WAAaj2D,KAAK2pB,KACvB3pB,KAAKk2D,SAAWl2D,KAAK4pB,GACrB5pB,KAAKu2D,qBAAsB,GAO7BnzD,EAAKqQ,UAAUioD,qBAAuB,WACpC17D,KAAK21D,OAAS31D,KAAK2pB,KAAKtpB,GACxBL,KAAK01D,KAAO11D,KAAK4pB,GAAGvpB,GAChBL,KAAK21D,QAAU31D,KAAKi2D,WAAW51D,GACjCL,KAAKi2D,WAAWe,WAAWh3D,MAEpBA,KAAK01D,MAAQ11D,KAAKk2D,SAAS71D,IAClCL,KAAKk2D,SAASc,WAAWh3D,MAG3BA,KAAKi2D,WAAa,KAClBj2D,KAAKk2D,SAAW,KAChBl2D,KAAKu2D,qBAAsB,GAW7BnzD,EAAKqQ,UAAUkoD,wBAA0B,SAAStpD,EAAEC,GAClD,GAAImkD,GAAYz2D,KAAKw2D,aAAaC,UAC9BmF,EAAep3D,KAAK0rB,KAAK1rB,KAAK6vB,IAAIhiB,EAAIokD,EAAU9sC,KAAKtX,EAAE,GAAK7N,KAAK6vB,IAAI/hB,EAAImkD,EAAU9sC,KAAKrX,EAAE,IAC1FupD,EAAer3D,KAAK0rB,KAAK1rB,KAAK6vB,IAAIhiB,EAAIokD,EAAU7sC,GAAGvX,EAAI,GAAK7N,KAAK6vB,IAAI/hB,EAAImkD,EAAU7sC,GAAGtX,EAAI,GAE9F,OAAmB,IAAfspD,GACF57D,KAAK02D,cAAgB12D,KAAK2pB,KAC1B3pB,KAAK2pB,KAAO3pB,KAAKw2D,aAAa7sC,KACvB3pB,KAAKw2D,aAAa7sC,MAEL,GAAbkyC,GACP77D,KAAK02D,cAAgB12D,KAAK4pB,GAC1B5pB,KAAK4pB,GAAK5pB,KAAKw2D,aAAa5sC,GACrB5pB,KAAKw2D,aAAa5sC,IAGlB,MASXxmB,EAAKqQ,UAAUqoD,qBAAuB,WACG,GAAnC97D,KAAKw2D,aAAa7sC,KAAK2b,UACzBtlC,KAAK2pB,KAAO3pB,KAAK02D,cACjB12D,KAAK02D,cAAgB,KACrB12D,KAAKw2D,aAAa7sC,KAAKgc,YAEiB,GAAjC3lC,KAAKw2D,aAAa5sC,GAAG0b,WAC5BtlC,KAAK4pB,GAAK5pB,KAAK02D,cACf12D,KAAK02D,cAAgB,KACrB12D,KAAKw2D,aAAa5sC,GAAG+b,aAUzBviC,EAAKqQ,UAAU8nD,2BAA6B,SAASj0C,GAEnD,GAAIy0C,EACJ,IAAyC,GAArC/7D,KAAK+O,QAAQozC,aAAanzC,QAC5B+sD,EAAqB/7D,KAAK65D,qBAAoB,EAAMvyC,OAEjD,CACH,GAAIwoC,GAAQtrD,KAAKu0D,MAAO/4D,KAAK4pB,GAAGtX,EAAItS,KAAK2pB,KAAKrX,EAAKtS,KAAK4pB,GAAGvX,EAAIrS,KAAK2pB,KAAKtX,GACrE8M,EAAMnf,KAAK4pB,GAAGvX,EAAIrS,KAAK2pB,KAAKtX,EAC5B+M,EAAMpf,KAAK4pB,GAAGtX,EAAItS,KAAK2pB,KAAKrX,EAC5B8nD,EAAoB51D,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAE7C48C,EAAiBh8D,KAAK2pB,KAAKmwC,iBAAiBxyC,EAAKwoC,EAAQtrD,KAAK0nB,IAC9D+vC,GAAmB7B,EAAoB4B,GAAkB5B,CAC7D2B,MACAA,EAAmB1pD,EAAI,EAAoBrS,KAAK2pB,KAAKtX,GAAK,EAAI4pD,GAAmBj8D,KAAK4pB,GAAGvX,EACzF0pD,EAAmBzpD,EAAI,EAAoBtS,KAAK2pB,KAAKrX,GAAK,EAAI2pD,GAAmBj8D,KAAK4pB,GAAGtX,EAG3F,MAAOypD,IAST34D,EAAKqQ,UAAU+nD,yBAA2B,SAASl0C,GAEjD,GAAuB40C,EACvB,IAAyC,GAArCl8D,KAAK+O,QAAQozC,aAAanzC,QAC5BktD,EAAmBl8D,KAAK65D,qBAAoB,EAAOvyC,OAEhD,CACH,GAAIwoC,GAAQtrD,KAAKu0D,MAAO/4D,KAAK4pB,GAAGtX,EAAItS,KAAK2pB,KAAKrX,EAAKtS,KAAK4pB,GAAGvX,EAAIrS,KAAK2pB,KAAKtX,GACrE8M,EAAMnf,KAAK4pB,GAAGvX,EAAIrS,KAAK2pB,KAAKtX,EAC5B+M,EAAMpf,KAAK4pB,GAAGtX,EAAItS,KAAK2pB,KAAKrX,EAC5B8nD,EAAoB51D,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAC7Ci7C,EAAer6D,KAAK4pB,GAAGkwC,iBAAiBxyC,EAAKwoC,GAC7CwK,GAAiBF,EAAoBC,GAAgBD,CAEzD8B,MACAA,EAAiB7pD,GAAK,EAAIioD,GAAiBt6D,KAAK2pB,KAAKtX,EAAIioD,EAAgBt6D,KAAK4pB,GAAGvX,EACjF6pD,EAAiB5pD,GAAK,EAAIgoD,GAAiBt6D,KAAK2pB,KAAKrX,EAAIgoD,EAAgBt6D,KAAK4pB,GAAGtX,EAGnF,MAAO4pD,IAGTr8D,EAAOD,QAAUwD,GAIb,SAASvD,EAAQD,EAASM,GAQ9B,QAASmD,KACPrD,KAAK+W,QACL/W,KAAKm8D,aAAe,EARXj8D,EAAoB,EAe/BmD,GAAO+4D,UACJzvD,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAO3IrJ,EAAOoQ,UAAUsD,MAAQ,WACvB/W,KAAK00B,UACL10B,KAAK00B,OAAO1uB,OAAS,WAEnB,GAAIH,GAAI,CACR,KAAM,GAAInF,KAAKV,MACTA,KAAKmG,eAAezF,IACtBmF,GAGJ,OAAOA,KAWXxC,EAAOoQ,UAAU+B,IAAM,SAAUm0C,GAC/B,GAAIp3C,GAAQvS,KAAK00B,OAAOi1B,EACxB,IAAa9iD,QAAT0L,EAAoB,CAEtB,GAAI7J,GAAQ1I,KAAKm8D,aAAe94D,EAAO+4D,QAAQp2D,MAC/ChG,MAAKm8D,eACL5pD,KACAA,EAAMnH,MAAQ/H,EAAO+4D,QAAQ1zD,GAC7B1I,KAAK00B,OAAOi1B,GAAap3C,EAG3B,MAAOA,IAUTlP,EAAOoQ,UAAUF,IAAM,SAAUo2C,EAAWp8C,GAE1C,MADAvN,MAAK00B,OAAOi1B,GAAap8C,EAClBA,GAGT1N,EAAOD,QAAUyD,GAKb,SAASxD,GAMb,QAASyD,KACPtD,KAAKikD,UACLjkD,KAAKq8D,eACLr8D,KAAK6I,SAAWhC,OAQlBvD,EAAOmQ,UAAUywC,kBAAoB,SAASr7C,GAC5C7I,KAAK6I,SAAWA,GASlBvF,EAAOmQ,UAAU6oD,KAAO,SAASC,EAAKC,GACpC,GAAIC,GAAMz8D,KAAKikD,OAAOsY,EACtB,IAAY11D,SAAR41D,EAAmB,CAErB,GAAIhoD,GAAKzU,IACTy8D,GAAM,GAAIC,OACVD,EAAIE,OAAS,WAEO,GAAd38D,KAAK6S,QACPhB,SAASqjB,KAAKnjB,YAAY/R,MAC1BA,KAAK6S,MAAQ7S,KAAK2wB,YAClB3wB,KAAK8S,OAAS9S,KAAK6wB,aACnBhf,SAASqjB,KAAKzjB,YAAYzR,OAGxByU,EAAG5L,WACL4L,EAAGwvC,OAAOsY,GAAOE,EACjBhoD,EAAG5L,SAAS7I,QAIhBy8D,EAAIG,QAAU,WACM/1D,SAAd21D,GACFnjC,QAAQwjC,MAAM,wBAAyBN,SAChCv8D,MAAKgnD,IACRvyC,EAAG5L,UACL4L,EAAG5L,SAAS7I,OAIVyU,EAAG4nD,YAAYE,MAAS,EACtBv8D,KAAKgnD,KAAOwV,GACdnjC,QAAQwjC,MAAM,8BAA+BL,SACtCx8D,MAAKgnD,IACRvyC,EAAG5L,UACL4L,EAAG5L,SAAS7I,QAIdq5B,QAAQwjC,MAAM,wBAAyBN,GACvCv8D,KAAKgnD,IAAMwV,IAIbnjC,QAAQwjC,MAAM,wBAAyBN,GACvCv8D,KAAKgnD,IAAMwV,EACX/nD,EAAG4nD,YAAYE,IAAO,IAK5BE,EAAIzV,IAAMuV,EAGZ,MAAOE,IAGT58D,EAAOD,QAAU0D,GAKb,SAASzD,EAAQD,EAASM,GA6B9B,QAASqD,GAAK8sD,EAAYyM,EAAWC,EAAWnH,GAC9C,GAAI7S,GAAYpiD,EAAK4N,uBAAuB,SAASqnD,EACrD51D,MAAK+O,QAAUg0C,EAAUjF,MAEzB99C,KAAKslC,UAAW,EAChBtlC,KAAK6M,OAAQ,EAEb7M,KAAKi/C,SACLj/C,KAAK+wD,gBACL/wD,KAAKg9D,iBAGLh9D,KAAKK,GAAKwG,OACV7G,KAAKs0D,gBAAiB,EACtBt0D,KAAKu0D,gBAAiB,EACtBv0D,KAAK8sD,QAAS,EACd9sD,KAAK+sD,QAAS,EACd/sD,KAAKi9D,qBAAsB,EAC3Bj9D,KAAKk9D,kBAAsB,EAC3Bl9D,KAAKm9D,gBAAkBvH,EAAiB9X,MAAM9xB,OAC9ChsB,KAAKo9D,aAAc,EACnBp9D,KAAK++C,MAAQ,GACb/+C,KAAKq9D,kBAAmB,EACxBr9D,KAAKs9D,qBAAsB,EAC3Bt9D,KAAK81D,iBAAmB7tD,IAAI,EAAGJ,KAAK,EAAGgL,MAAM,EAAGC,OAAO,EAAGijD,MAAM,GAChE/1D,KAAKwnD,aAAev/C,IAAI,EAAGJ,KAAK,EAAG+f,MAAM,EAAG/D,OAAO,GAEnD7jB,KAAK88D,UAAYA,EACjB98D,KAAK+8D,UAAYA,EAGjB/8D,KAAKu9D,GAAK,EACVv9D,KAAKw9D,GAAK,EACVx9D,KAAKy9D,GAAK,EACVz9D,KAAK09D,GAAK,EACV19D,KAAKqS,EAAI,KACTrS,KAAKsS,EAAI,KACTtS,KAAK+nD,oBAAqB,EAG1B/nD,KAAK29D,eAAiBF,GAAG,EAAEC,GAAG,EAAErrD,EAAE,EAAEC,EAAE,GAEtCtS,KAAKkgD,QAAU0V,EAAiBjW,QAAQO,QACxClgD,KAAKmyD,WAAa9/C,EAAE,KAAKC,EAAE,MAE3BtS,KAAKowD,cAAcC,EAAYtN,GAG/B/iD,KAAK49D,eACL59D,KAAK69D,eAAiB,EACtB79D,KAAK89D,uBAA0BlI,EAAiBtV,WAAWa,YAAYtuC,MACvE7S,KAAK+9D,wBAA0BnI,EAAiBtV,WAAWa,YAAYruC,OACvE9S,KAAKg+D,wBAA0BpI,EAAiBtV,WAAWa,YAAYn1B,OACvEhsB,KAAKohD,sBAAwBwU,EAAiBtV,WAAWc,sBACzDphD,KAAKi+D,gBAAkB,EAGvBj+D,KAAKo4D,gBAAkB,EACvBp4D,KAAKk+D,aAAe,EACpBl+D,KAAKolD,eAAiB/yC,EAAK,KAAMC,EAAK,MACtCtS,KAAKqlD,mBAAqBhzC,EAAM,IAAKC,EAAM,KAC3CtS,KAAK+zD,aAAe,KAxFtB,GAAIpzD,GAAOT,EAAoB,EA+F/BqD,GAAKkQ,UAAUo/C,eAAiB,WAC9B7yD,KAAKqS,EAAIrS,KAAK29D,cAActrD,EAC5BrS,KAAKsS,EAAItS,KAAK29D,cAAcrrD,EAC5BtS,KAAKy9D,GAAKz9D,KAAK29D,cAAcF,GAC7Bz9D,KAAK09D,GAAK19D,KAAK29D,cAAcD,IAO/Bn6D,EAAKkQ,UAAUmqD,aAAe,WAE5B59D,KAAKm+D,eAAiBt3D,OACtB7G,KAAKo+D,YAAc,EACnBp+D,KAAKq+D,kBACLr+D,KAAKs+D,kBACLt+D,KAAKu+D,oBAOPh7D,EAAKkQ,UAAUsjD,WAAa,SAAS3H,GACH,IAA5BpvD,KAAKi/C,MAAMj4C,QAAQooD,IACrBpvD,KAAKi/C,MAAM12C,KAAK6mD,GAEqB,IAAnCpvD,KAAK+wD,aAAa/pD,QAAQooD,IAC5BpvD,KAAK+wD,aAAaxoD,KAAK6mD,IAQ3B7rD,EAAKkQ,UAAUujD,WAAa,SAAS5H,GACnC,GAAI1mD,GAAQ1I,KAAKi/C,MAAMj4C,QAAQooD,EAClB,KAAT1mD,GACF1I,KAAKi/C,MAAMt2C,OAAOD,EAAO,GAE3BA,EAAQ1I,KAAK+wD,aAAa/pD,QAAQooD,GACrB,IAAT1mD,GACF1I,KAAK+wD,aAAapoD,OAAOD,EAAO,IAUpCnF,EAAKkQ,UAAU28C,cAAgB,SAASC,EAAYtN,GAClD,GAAKsN,EAAL,CAIA,GAAI7hD,IAAU,cAAc,sBAAsB,QAAQ,QAAQ,cAAc,SAAS,YACvF,WAAW,WAAW,WAAW,kBAAkB,kBAAkB,QAAQ,OAAO,oBACpF,qBAAqB,qBAAqB,wBAkB5C,IAhBA7N,EAAK6F,oBAAoBgI,EAAQxO,KAAK+O,QAASshD,GAGzBxpD,SAAlBwpD,EAAWhwD,KAA0BL,KAAKK,GAAKgwD,EAAWhwD,IACrCwG,SAArBwpD,EAAWrnC,QAA0BhpB,KAAKgpB,MAAQqnC,EAAWrnC,MAAOhpB,KAAKw+D,cAAgBnO,EAAWrnC,OAC/EniB,SAArBwpD,EAAW/pB,QAA0BtmC,KAAKsmC,MAAQ+pB,EAAW/pB,OAC5Cz/B,SAAjBwpD,EAAWh+C,IAA0BrS,KAAKqS,EAAIg+C,EAAWh+C,EAAGrS,KAAK+nD,oBAAqB,GACrElhD,SAAjBwpD,EAAW/9C,IAA0BtS,KAAKsS,EAAI+9C,EAAW/9C,EAAGtS,KAAK+nD,oBAAqB,GACjElhD,SAArBwpD,EAAW/rD,QAA0BtE,KAAKsE,MAAQ+rD,EAAW/rD,OACxCuC,SAArBwpD,EAAWtR,QAA0B/+C,KAAK++C,MAAQsR,EAAWtR,MAAO/+C,KAAKq9D,kBAAmB,GAGzDx2D,SAAnCwpD,EAAW4M,sBAAoCj9D,KAAKi9D,oBAAsB5M,EAAW4M,qBAClDp2D,SAAnCwpD,EAAW6M,mBAAoCl9D,KAAKk9D,iBAAsB7M,EAAW6M,kBAClDr2D,SAAnCwpD,EAAWoO,kBAAoCz+D,KAAKy+D,gBAAsBpO,EAAWoO,iBAEzE53D,SAAZ7G,KAAKK,GACP,KAAM,sBAIR,IAAgC,gBAArBgwD,GAAW99C,OAAmD,gBAArB89C,GAAW99C,OAA0C,IAApB89C,EAAW99C,MAAc,CAC5G,GAAImsD,GAAW1+D,KAAK+8D,UAAUvnD,IAAI66C,EAAW99C,MAC7C5R,GAAKmG,WAAW9G,KAAK+O,QAAS2vD,GAE9B1+D,KAAK+O,QAAQ3D,MAAQzK,EAAKkL,WAAW7L,KAAK+O,QAAQ3D,OAMpD,GAH0BvE,SAAtBwpD,EAAWrkC,SAA+BhsB,KAAKm9D,gBAAkBn9D,KAAK+O,QAAQid,QACzDnlB,SAArBwpD,EAAWjlD,QAA+BpL,KAAK+O,QAAQ3D,MAAQzK,EAAKkL,WAAWwkD,EAAWjlD,QAEnEvE,SAAvB7G,KAAK+O,QAAQovC,OAA4C,IAArBn+C,KAAK+O,QAAQovC,MAAY,CAC/D,IAAIn+C,KAAK88D,UAIP,KAAM,uBAHN98D,MAAK2+D,SAAW3+D,KAAK88D,UAAUR,KAAKt8D,KAAK+O,QAAQovC,MAAOn+C,KAAK+O,QAAQ6vD,aAgCzE,OAzBkC/3D,SAA9BwpD,EAAWiE,gBACbt0D,KAAK8sD,QAAUuD,EAAWiE,eAC1Bt0D,KAAKs0D,eAAiBjE,EAAWiE,gBAETztD,SAAjBwpD,EAAWh+C,GAA0C,GAAvBrS,KAAKs0D,iBAC1Ct0D,KAAK8sD,QAAS,GAIkBjmD,SAA9BwpD,EAAWkE,gBACbv0D,KAAK+sD,QAAUsD,EAAWkE,eAC1Bv0D,KAAKu0D,eAAiBlE,EAAWkE,gBAET1tD,SAAjBwpD,EAAW/9C,GAA0C,GAAvBtS,KAAKu0D,iBAC1Cv0D,KAAK+sD,QAAS,GAGhB/sD,KAAKo9D,YAAcp9D,KAAKo9D,aAAsCv2D,SAAtBwpD,EAAWrkC,QAExB,UAAvBhsB,KAAK+O,QAAQmvC,OAA4C,kBAAvBl+C,KAAK+O,QAAQmvC,SACjDl+C,KAAK+O,QAAQivC,UAAY+E,EAAUjF,MAAMr2B,SACzCznB,KAAK+O,QAAQkvC,UAAY8E,EAAUjF,MAAMp2B,UAInC1nB,KAAK+O,QAAQmvC,OACnB,IAAK,WAAiBl+C,KAAK4vC,KAAO5vC,KAAK6+D,cAAe7+D,KAAKi4D,OAASj4D,KAAK8+D,eAAiB,MAC1F,KAAK,MAAiB9+D,KAAK4vC,KAAO5vC,KAAK++D,SAAU/+D,KAAKi4D,OAASj4D,KAAKg/D,UAAY,MAChF,KAAK,SAAiBh/D,KAAK4vC,KAAO5vC,KAAKi/D,YAAaj/D,KAAKi4D,OAASj4D,KAAKk/D,aAAe,MACtF,KAAK,UAAiBl/D,KAAK4vC,KAAO5vC,KAAKm/D,aAAcn/D,KAAKi4D,OAASj4D,KAAKo/D,cAAgB,MAExF,KAAK,QAAiBp/D,KAAK4vC,KAAO5vC,KAAKq/D,WAAYr/D,KAAKi4D,OAASj4D,KAAKs/D,YAAc,MACpF,KAAK,gBAAiBt/D,KAAK4vC,KAAO5vC,KAAKu/D,mBAAoBv/D,KAAKi4D,OAASj4D,KAAKw/D,oBAAsB,MACpG,KAAK,OAAiBx/D,KAAK4vC,KAAO5vC,KAAKy/D,UAAWz/D,KAAKi4D,OAASj4D,KAAK0/D,WAAa,MAClF,KAAK,MAAiB1/D,KAAK4vC,KAAO5vC,KAAK2/D,SAAU3/D,KAAKi4D,OAASj4D,KAAK4/D,YAAc,MAClF,KAAK,SAAiB5/D,KAAK4vC,KAAO5vC,KAAK6/D,YAAa7/D,KAAKi4D,OAASj4D,KAAK4/D,YAAc,MACrF,KAAK,WAAiB5/D,KAAK4vC,KAAO5vC,KAAK8/D,cAAe9/D,KAAKi4D,OAASj4D,KAAK4/D,YAAc,MACvF,KAAK,eAAiB5/D,KAAK4vC,KAAO5vC,KAAK+/D,kBAAmB//D,KAAKi4D,OAASj4D,KAAK4/D,YAAc,MAC3F,KAAK,OAAiB5/D,KAAK4vC,KAAO5vC,KAAKggE,UAAWhgE,KAAKi4D,OAASj4D,KAAK4/D,YAAc,MACnF,SAAsB5/D,KAAK4vC,KAAO5vC,KAAKm/D,aAAcn/D,KAAKi4D,OAASj4D,KAAKo/D,eAG1Ep/D,KAAKigE,WAOP18D,EAAKkQ,UAAUiyB,OAAS,WACtB1lC,KAAKslC,UAAW,EAChBtlC,KAAKigE,UAMP18D,EAAKkQ,UAAUkyB,SAAW,WACxB3lC,KAAKslC,UAAW,EAChBtlC,KAAKigE,UAOP18D,EAAKkQ,UAAUysD,eAAiB,WAC9BlgE,KAAKigE,UAOP18D,EAAKkQ,UAAUwsD,OAAS,WACtBjgE,KAAK6S,MAAQhM,OACb7G,KAAK8S,OAASjM,QAQhBtD,EAAKkQ,UAAUy7C,SAAW,WACxB,MAA6B,kBAAflvD,MAAKsmC,MAAuBtmC,KAAKsmC,QAAUtmC,KAAKsmC,OAShE/iC,EAAKkQ,UAAUqmD,iBAAmB,SAAUxyC,EAAKwoC,GAC/C,GAAIvvC,GAAc,CAMlB,QAJKvgB,KAAK6S,OACR7S,KAAKi4D,OAAO3wC,GAGNtnB,KAAK+O,QAAQmvC,OACnB,IAAK,SACL,IAAK,MACH,MAAOl+C,MAAK+O,QAAQid,OAAQzL,CAE9B,KAAK,UACH,GAAI3a,GAAI5F,KAAK6S,MAAQ,EACjBpM,EAAIzG,KAAK8S,OAAS,EAClBo+C,EAAK1sD,KAAKma,IAAImxC,GAASlqD,EACvBuG,EAAK3H,KAAKsa,IAAIgxC,GAASrpD,CAC3B,OAAOb,GAAIa,EAAIjC,KAAK0rB,KAAKghC,EAAIA,EAAI/kD,EAAIA,EAMvC,KAAK,MACL,IAAK,QACL,IAAK,OACL,QACE,MAAInM,MAAK6S,MACArO,KAAKL,IACRK,KAAK4mB,IAAIprB,KAAK6S,MAAQ,EAAIrO,KAAKsa,IAAIgxC,IACnCtrD,KAAK4mB,IAAIprB,KAAK8S,OAAS,EAAItO,KAAKma,IAAImxC,KAAWvvC,EAI5C,IAYfhd,EAAKkQ,UAAU0sD,UAAY,SAAS5C,EAAIC,GACtCx9D,KAAKu9D,GAAKA,EACVv9D,KAAKw9D,GAAKA,GASZj6D,EAAKkQ,UAAU2sD,UAAY,SAAS7C,EAAIC,GACtCx9D,KAAKu9D,IAAMA,EACXv9D,KAAKw9D,IAAMA,GAMbj6D,EAAKkQ,UAAU4sD,WAAa,WAC1BrgE,KAAK29D,cAActrD,EAAIrS,KAAKqS,EAC5BrS,KAAK29D,cAAcrrD,EAAItS,KAAKsS,EAC5BtS,KAAK29D,cAAcF,GAAKz9D,KAAKy9D,GAC7Bz9D,KAAK29D,cAAcD,GAAK19D,KAAK09D,IAO/Bn6D,EAAKkQ,UAAUi/C,aAAe,SAAS3/B,GAErC,GADA/yB,KAAKqgE,aACArgE,KAAK8sD,OAOR9sD,KAAKu9D,GAAK,EACVv9D,KAAKy9D,GAAK,MARM,CAChB,GAAIt+C,GAAOnf,KAAKkgD,QAAUlgD,KAAKy9D,GAC3Bt/C,GAAQne,KAAKu9D,GAAKp+C,GAAMnf,KAAK+O,QAAQgvC,IACzC/9C,MAAKy9D,IAAMt/C,EAAK4U,EAChB/yB,KAAKqS,GAAMrS,KAAKy9D,GAAK1qC,EAOvB,GAAK/yB,KAAK+sD,OAOR/sD,KAAKw9D,GAAK,EACVx9D,KAAK09D,GAAK,MARM,CAChB,GAAIt+C,GAAOpf,KAAKkgD,QAAUlgD,KAAK09D,GAC3Bt/C,GAAQpe,KAAKw9D,GAAKp+C,GAAMpf,KAAK+O,QAAQgvC,IACzC/9C,MAAK09D,IAAMt/C,EAAK2U,EAChB/yB,KAAKsS,GAAMtS,KAAK09D,GAAK3qC,IAezBxvB,EAAKkQ,UAAUg/C,oBAAsB,SAAS1/B,EAAUuvB,GAEtD,GADAtiD,KAAKqgE,aACArgE,KAAK8sD,OAQR9sD,KAAKu9D,GAAK,EACVv9D,KAAKy9D,GAAK,MATM,CAChB,GAAIt+C,GAAOnf,KAAKkgD,QAAUlgD,KAAKy9D,GAC3Bt/C,GAAQne,KAAKu9D,GAAKp+C,GAAMnf,KAAK+O,QAAQgvC,IACzC/9C,MAAKy9D,IAAMt/C,EAAK4U,EAChB/yB,KAAKy9D,GAAMj5D,KAAK4mB,IAAIprB,KAAKy9D,IAAMnb,EAAiBtiD,KAAKy9D,GAAK,EAAKnb,GAAeA,EAAetiD,KAAKy9D,GAClGz9D,KAAKqS,GAAMrS,KAAKy9D,GAAK1qC,EAOvB,GAAK/yB,KAAK+sD,OAQR/sD,KAAKw9D,GAAK,EACVx9D,KAAK09D,GAAK,MATM,CAChB,GAAIt+C,GAAOpf,KAAKkgD,QAAUlgD,KAAK09D,GAC3Bt/C,GAAQpe,KAAKw9D,GAAKp+C,GAAMpf,KAAK+O,QAAQgvC,IACzC/9C,MAAK09D,IAAMt/C,EAAK2U,EAChB/yB,KAAK09D,GAAMl5D,KAAK4mB,IAAIprB,KAAK09D,IAAMpb,EAAiBtiD,KAAK09D,GAAK,EAAKpb,GAAeA,EAAetiD,KAAK09D,GAClG19D,KAAKsS,GAAMtS,KAAK09D,GAAK3qC,IAYzBxvB,EAAKkQ,UAAU6sD,QAAU,WACvB,MAAQtgE,MAAK8sD,QAAU9sD,KAAK+sD,QAQ9BxpD,EAAKkQ,UAAU6+C,SAAW,SAASD,GACjC,GAAIkO,GAAW/7D,KAAK0rB,KAAK1rB,KAAK6vB,IAAIr0B,KAAKy9D,GAAG,GAAKj5D,KAAK6vB,IAAIr0B,KAAK09D,GAAG,GAEhE,OAAQ6C,GAAWlO,GAOrB9uD,EAAKkQ,UAAUg5C,WAAa,WAC1B,MAAOzsD,MAAKslC,UAOd/hC,EAAKkQ,UAAUyB,SAAW,WACxB,MAAOlV,MAAKsE,OASdf,EAAKkQ,UAAU+sD,YAAc,SAASnuD,EAAGC,GACvC,GAAI6M,GAAKnf,KAAKqS,EAAIA,EACd+M,EAAKpf,KAAKsS,EAAIA,CAClB,OAAO9N,MAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,IAUlC7b,EAAKkQ,UAAUw9C,cAAgB,SAAS9sD,EAAKC,EAAKC,GAChD,IAAKrE,KAAKo9D,aAA8Bv2D,SAAf7G,KAAKsE,MAAqB,CACjD,GAAIC,GAAQvE,KAAK+O,QAAQ8uC,sBAAsB15C,EAAKC,EAAKC,EAAOrE,KAAKsE,OACjEm8D,EAAazgE,KAAK+O,QAAQkvC,UAAYj+C,KAAK+O,QAAQivC,SACvD,IAAuC,GAAnCh+C,KAAK+O,QAAQ4vC,mBAA4B,CAC3C,GAAI+hB,GAAW1gE,KAAK+O,QAAQ8vC,YAAc7+C,KAAK+O,QAAQ6vC,WACvD5+C,MAAK+O,QAAQsvC,SAAWr+C,KAAK+O,QAAQ6vC,YAAcr6C,EAAQm8D,EAE7D1gE,KAAK+O,QAAQid,OAAShsB,KAAK+O,QAAQivC,UAAYz5C,EAAQk8D,EAGzDzgE,KAAKm9D,gBAAkBn9D,KAAK+O,QAAQid,QAQtCzoB,EAAKkQ,UAAUm8B,KAAO,WACpB,KAAM,wCAQRrsC,EAAKkQ,UAAUwkD,OAAS,WACtB,KAAM,0CAQR10D,EAAKkQ,UAAUw7C,kBAAoB,SAAS3rC,GAC1C,MAAQtjB,MAAK6H,KAAoByb,EAAIsE,OAC7B5nB,KAAK6H,KAAO7H,KAAK6S,MAAQyQ,EAAIzb,MAC7B7H,KAAKiI,IAAoBqb,EAAIO,QAC7B7jB,KAAKiI,IAAMjI,KAAK8S,OAASwQ,EAAIrb,KAGvC1E,EAAKkQ,UAAU6rD,aAAe,WAG5B,IAAKt/D,KAAK6S,QAAU7S,KAAK8S,OAAQ,CAC/B,GAAID,GAAOC,CACX,IAAI9S,KAAKsE,MAAO,CACdtE,KAAK+O,QAAQid,OAAQhsB,KAAKm9D,eAC1B,IAAI54D,GAAQvE,KAAK2+D,SAAS7rD,OAAS9S,KAAK2+D,SAAS9rD,KACnChM,UAAVtC,GACFsO,EAAQ7S,KAAK+O,QAAQid,QAAShsB,KAAK2+D,SAAS9rD,MAC5CC,EAAS9S,KAAK+O,QAAQid,OAAQznB,GAASvE,KAAK2+D,SAAS7rD,SAGrDD,EAAQ,EACRC,EAAS,OAIXD,GAAQ7S,KAAK2+D,SAAS9rD,MACtBC,EAAS9S,KAAK2+D,SAAS7rD,MAEzB9S,MAAK6S,MAASA,EACd7S,KAAK8S,OAASA,EAEd9S,KAAKi+D,gBAAkB,EACnBj+D,KAAK6S,MAAQ,GAAK7S,KAAK8S,OAAS,IAClC9S,KAAK6S,OAAUrO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAA0BphD,KAAK89D,uBAClF99D,KAAK8S,QAAUtO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK+9D,wBACjF/9D,KAAK+O,QAAQid,QAASxnB,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAKg+D,wBACxFh+D,KAAKi+D,gBAAkBj+D,KAAK6S,MAAQA,KAK1CtP,EAAKkQ,UAAUktD,qBAAuB,SAAUr5C,GAC9C,GAA2B,GAAvBtnB,KAAK2+D,SAAS9rD,MAAa,CAE7B,GAAI7S,KAAKo+D,YAAc,EAAG,CACxB,GAAIv2C,GAAc7nB,KAAKo+D,YAAc,EAAK,GAAK,CAC/Cv2C,IAAa7nB,KAAKo4D,gBAClBvwC,EAAYrjB,KAAKL,IAAI,GAAMnE,KAAK6S,MAAMgV,GAEtCP,EAAIs5C,YAAc,GAClBt5C,EAAIu5C,UAAU7gE,KAAK2+D,SAAU3+D,KAAK6H,KAAOggB,EAAW7nB,KAAKiI,IAAM4f,EAAW7nB,KAAK6S,MAAQ,EAAEgV,EAAW7nB,KAAK8S,OAAS,EAAE+U,GAItHP,EAAIs5C,YAAc,EAClBt5C,EAAIu5C,UAAU7gE,KAAK2+D,SAAU3+D,KAAK6H,KAAM7H,KAAKiI,IAAKjI,KAAK6S,MAAO7S,KAAK8S,UAIvEvP,EAAKkQ,UAAUqtD,gBAAkB,SAAUx5C,GACzC,GAAIhN,GACA4P,EAAS,CAEb,IAAIlqB,KAAK8S,OAAO,CACdoX,EAASlqB,KAAK8S,OAAS,CACvB,IAAIgjD,GAAkB91D,KAAK+gE,YAAYz5C,EAEnCwuC,GAAgB2C,WAAa,IAC/BvuC,GAAU4rC,EAAgBhjD,OAAS,EACnCoX,GAAU,GAId5P,EAASta,KAAKsS,EAAI4X,EAElBlqB,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOhpB,KAAKqS,EAAGiI,EAAQzT,SAG/CtD,EAAKkQ,UAAU4rD,WAAa,SAAU/3C,GACpCtnB,KAAKs/D,aAAah4C,GAClBtnB,KAAK6H,KAAS7H,KAAKqS,EAAIrS,KAAK6S,MAAQ,EACpC7S,KAAKiI,IAASjI,KAAKsS,EAAItS,KAAK8S,OAAS,EAErC9S,KAAK2gE,qBAAqBr5C,GAE1BtnB,KAAKwnD,YAAYv/C,IAAMjI,KAAKiI,IAC5BjI,KAAKwnD,YAAY3/C,KAAO7H,KAAK6H,KAC7B7H,KAAKwnD,YAAY5/B,MAAQ5nB,KAAK6H,KAAO7H,KAAK6S,MAC1C7S,KAAKwnD,YAAY3jC,OAAS7jB,KAAKiI,IAAMjI,KAAK8S,OAE1C9S,KAAK8gE,gBAAgBx5C,GACrBtnB,KAAKwnD,YAAY3/C,KAAOrD,KAAKL,IAAInE,KAAKwnD,YAAY3/C,KAAM7H,KAAK81D,gBAAgBjuD,MAC7E7H,KAAKwnD,YAAY5/B,MAAQpjB,KAAKJ,IAAIpE,KAAKwnD,YAAY5/B,MAAO5nB,KAAK81D,gBAAgBjuD,KAAO7H,KAAK81D,gBAAgBjjD,OAC3G7S,KAAKwnD,YAAY3jC,OAASrf,KAAKJ,IAAIpE,KAAKwnD,YAAY3jC,OAAQ7jB,KAAKwnD,YAAY3jC,OAAS7jB,KAAK81D,gBAAgBhjD;EAG7GvP,EAAKkQ,UAAU+rD,qBAAuB,SAAUl4C,GAC9C,GAAItnB,KAAK2+D,SAAS3X,KAAQhnD,KAAK2+D,SAAS9rD,OAAU7S,KAAK2+D,SAAS7rD,OAe1D9S,KAAKghE,oCACPhhE,KAAK6S,MAAQ,EACb7S,KAAK8S,OAAS,QACP9S,MAAKghE,mCAEdhhE,KAAKs/D,aAAah4C,OAnBlB,KAAKtnB,KAAK6S,MAAO,CACf,GAAIouD,GAAiC,EAAtBjhE,KAAK+O,QAAQid,MAC5BhsB,MAAK6S,MAAQouD,EACbjhE,KAAK8S,OAASmuD,EAKdjhE,KAAK+O,QAAQid,QAAuE,GAA7DxnB,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAA+BphD,KAAKg+D,wBAC/Fh+D,KAAKi+D,gBAAkBj+D,KAAK+O,QAAQid,OAAQ,GAAIi1C,EAChDjhE,KAAKghE,mCAAoC,IAc/Cz9D,EAAKkQ,UAAU8rD,mBAAqB,SAAUj4C,GAC5CtnB,KAAKw/D,qBAAqBl4C,GAE1BtnB,KAAK6H,KAAS7H,KAAKqS,EAAIrS,KAAK6S,MAAQ,EACpC7S,KAAKiI,IAASjI,KAAKsS,EAAItS,KAAK8S,OAAS,CAErC,IAAIouD,GAAUlhE,KAAK6H,KAAQ7H,KAAK6S,MAAQ,EACpCsuD,EAAUnhE,KAAKiI,IAAOjI,KAAK8S,OAAS,EACpCkZ,EAASxnB,KAAK4mB,IAAIprB,KAAK8S,OAAS,EAEpC9S,MAAKohE,eAAe95C,EAAK45C,EAASC,EAASn1C,GAE3C1E,EAAI6pC,OACJ7pC,EAAI+5C,OAAOrhE,KAAKqS,EAAGrS,KAAKsS,EAAG0Z,GAC3B1E,EAAIlH,SACJkH,EAAIg6C,OAEJthE,KAAK2gE,qBAAqBr5C,GAE1BA,EAAIgqC,UAEJtxD,KAAKwnD,YAAYv/C,IAAMjI,KAAKsS,EAAItS,KAAK+O,QAAQid,OAC7ChsB,KAAKwnD,YAAY3/C,KAAO7H,KAAKqS,EAAIrS,KAAK+O,QAAQid,OAC9ChsB,KAAKwnD,YAAY5/B,MAAQ5nB,KAAKqS,EAAIrS,KAAK+O,QAAQid,OAC/ChsB,KAAKwnD,YAAY3jC,OAAS7jB,KAAKsS,EAAItS,KAAK+O,QAAQid,OAEhDhsB,KAAK8gE,gBAAgBx5C,GAErBtnB,KAAKwnD,YAAY3/C,KAAOrD,KAAKL,IAAInE,KAAKwnD,YAAY3/C,KAAM7H,KAAK81D,gBAAgBjuD,MAC7E7H,KAAKwnD,YAAY5/B,MAAQpjB,KAAKJ,IAAIpE,KAAKwnD,YAAY5/B,MAAO5nB,KAAK81D,gBAAgBjuD,KAAO7H,KAAK81D,gBAAgBjjD,OAC3G7S,KAAKwnD,YAAY3jC,OAASrf,KAAKJ,IAAIpE,KAAKwnD,YAAY3jC,OAAQ7jB,KAAKwnD,YAAY3jC,OAAS7jB,KAAK81D,gBAAgBhjD,SAG7GvP,EAAKkQ,UAAUurD,WAAa,SAAU13C,GACpC,IAAKtnB,KAAK6S,MAAO,CACf,GAAIqH,GAAS,EACTqnD,EAAWvhE,KAAK+gE,YAAYz5C,EAChCtnB,MAAK6S,MAAQ0uD,EAAS1uD,MAAQ,EAAIqH,EAClCla,KAAK8S,OAASyuD,EAASzuD,OAAS,EAAIoH,EAEpCla,KAAK6S,OAAuE,GAA7DrO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAA+BphD,KAAK89D,uBACvF99D,KAAK8S,QAAuE,GAA7DtO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAA+BphD,KAAK+9D,wBACvF/9D,KAAKi+D,gBAAkBj+D,KAAK6S,OAAS0uD,EAAS1uD,MAAQ,EAAIqH,KAM9D3W,EAAKkQ,UAAUsrD,SAAW,SAAUz3C,GAClCtnB,KAAKg/D,WAAW13C,GAEhBtnB,KAAK6H,KAAO7H,KAAKqS,EAAIrS,KAAK6S,MAAQ,EAClC7S,KAAKiI,IAAMjI,KAAKsS,EAAItS,KAAK8S,OAAS,CAElC,IAAI0uD,GAAmB,IACnBjhD,EAAcvgB,KAAK+O,QAAQwR,YAC3BkhD,EAAqBzhE,KAAK+O,QAAQiwC,qBAAuB,EAAIh/C,KAAK+O,QAAQwR,WAE9E+G,GAAIY,YAAcloB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUD,OAAS3M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMF,OAAS3M,KAAK+O,QAAQ3D,MAAMuB,OAGtI3M,KAAKo+D,YAAc,IACrB92C,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAIo6C,UAAU1hE,KAAK6H,KAAK,EAAEyf,EAAIO,UAAW7nB,KAAKiI,IAAI,EAAEqf,EAAIO,UAAW7nB,KAAK6S,MAAM,EAAEyU,EAAIO,UAAW7nB,KAAK8S,OAAO,EAAEwU,EAAIO,UAAW7nB,KAAK+O,QAAQid,QACzI1E,EAAIlH,UAENkH,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAIiB,UAAYvoB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUF,WAAa1M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMH,WAAa1M,KAAK+O,QAAQ3D,MAAMsB,WAEhJ4a,EAAIo6C,UAAU1hE,KAAK6H,KAAM7H,KAAKiI,IAAKjI,KAAK6S,MAAO7S,KAAK8S,OAAQ9S,KAAK+O,QAAQid,QACzE1E,EAAInH,OACJmH,EAAIlH,SAEJpgB,KAAKwnD,YAAYv/C,IAAMjI,KAAKiI,IAC5BjI,KAAKwnD,YAAY3/C,KAAO7H,KAAK6H,KAC7B7H,KAAKwnD,YAAY5/B,MAAQ5nB,KAAK6H,KAAO7H,KAAK6S,MAC1C7S,KAAKwnD,YAAY3jC,OAAS7jB,KAAKiI,IAAMjI,KAAK8S,OAE1C9S,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOhpB,KAAKqS,EAAGrS,KAAKsS,IAI5C/O,EAAKkQ,UAAUqrD,gBAAkB,SAAUx3C,GACzC,IAAKtnB,KAAK6S,MAAO,CACf,GAAIqH,GAAS,EACTqnD,EAAWvhE,KAAK+gE,YAAYz5C,GAC5B3U,EAAO4uD,EAAS1uD,MAAQ,EAAIqH,CAChCla,MAAK6S,MAAQF,EACb3S,KAAK8S,OAASH,EAGd3S,KAAK6S,OAAUrO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK89D,uBACjF99D,KAAK8S,QAAUtO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK+9D,wBACjF/9D,KAAK+O,QAAQid,QAASxnB,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAKg+D,wBACxFh+D,KAAKi+D,gBAAkBj+D,KAAK6S,MAAQF,IAIxCpP,EAAKkQ,UAAUorD,cAAgB,SAAUv3C,GACvCtnB,KAAK8+D,gBAAgBx3C,GACrBtnB,KAAK6H,KAAO7H,KAAKqS,EAAIrS,KAAK6S,MAAQ,EAClC7S,KAAKiI,IAAMjI,KAAKsS,EAAItS,KAAK8S,OAAS,CAElC,IAAI0uD,GAAmB,IACnBjhD,EAAcvgB,KAAK+O,QAAQwR,YAC3BkhD,EAAqBzhE,KAAK+O,QAAQiwC,qBAAuB,EAAIh/C,KAAK+O,QAAQwR,WAE9E+G,GAAIY,YAAcloB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUD,OAAS3M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMF,OAAS3M,KAAK+O,QAAQ3D,MAAMuB,OAGtI3M,KAAKo+D,YAAc,IACrB92C,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAIq6C,SAAS3hE,KAAKqS,EAAIrS,KAAK6S,MAAM,EAAI,EAAEyU,EAAIO,UAAW7nB,KAAKsS,EAAgB,GAAZtS,KAAK8S,OAAa,EAAEwU,EAAIO,UAAW7nB,KAAK6S,MAAQ,EAAEyU,EAAIO,UAAW7nB,KAAK8S,OAAS,EAAEwU,EAAIO,WACpJP,EAAIlH,UAENkH,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAIiB,UAAYvoB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUF,WAAa1M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMH,WAAa1M,KAAK+O,QAAQ3D,MAAMsB,WAChJ4a,EAAIq6C,SAAS3hE,KAAKqS,EAAIrS,KAAK6S,MAAM,EAAG7S,KAAKsS,EAAgB,GAAZtS,KAAK8S,OAAY9S,KAAK6S,MAAO7S,KAAK8S,QAC/EwU,EAAInH,OACJmH,EAAIlH,SAEJpgB,KAAKwnD,YAAYv/C,IAAMjI,KAAKiI,IAC5BjI,KAAKwnD,YAAY3/C,KAAO7H,KAAK6H,KAC7B7H,KAAKwnD,YAAY5/B,MAAQ5nB,KAAK6H,KAAO7H,KAAK6S,MAC1C7S,KAAKwnD,YAAY3jC,OAAS7jB,KAAKiI,IAAMjI,KAAK8S,OAE1C9S,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOhpB,KAAKqS,EAAGrS,KAAKsS,IAI5C/O,EAAKkQ,UAAUyrD,cAAgB,SAAU53C,GACvC,IAAKtnB,KAAK6S,MAAO,CACf,GAAIqH,GAAS,EACTqnD,EAAWvhE,KAAK+gE,YAAYz5C,GAC5B25C,EAAWz8D,KAAKJ,IAAIm9D,EAAS1uD,MAAO0uD,EAASzuD,QAAU,EAAIoH,CAC/Dla,MAAK+O,QAAQid,OAASi1C,EAAW,EAEjCjhE,KAAK6S,MAAQouD,EACbjhE,KAAK8S,OAASmuD,EAKdjhE,KAAK+O,QAAQid,QAAuE,GAA7DxnB,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAA+BphD,KAAKg+D,wBAC/Fh+D,KAAKi+D,gBAAkBj+D,KAAK+O,QAAQid,OAAQ,GAAIi1C,IAIpD19D,EAAKkQ,UAAU2tD,eAAiB,SAAU95C,EAAKjV,EAAGC,EAAG0Z,GACnD,GAAIw1C,GAAmB,IACnBjhD,EAAcvgB,KAAK+O,QAAQwR,YAC3BkhD,EAAqBzhE,KAAK+O,QAAQiwC,qBAAuB,EAAIh/C,KAAK+O,QAAQwR,WAE9E+G,GAAIY,YAAcloB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUD,OAAS3M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMF,OAAS3M,KAAK+O,QAAQ3D,MAAMuB,OAGtI3M,KAAKo+D,YAAc,IACrB92C,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAI+5C,OAAOhvD,EAAGC,EAAG0Z,EAAO,EAAE1E,EAAIO,WAC9BP,EAAIlH,UAENkH,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAIiB,UAAYvoB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUF,WAAa1M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMH,WAAa1M,KAAK+O,QAAQ3D,MAAMsB,WAChJ4a,EAAI+5C,OAAOrhE,KAAKqS,EAAGrS,KAAKsS,EAAG0Z,GAC3B1E,EAAInH,OACJmH,EAAIlH,UAGN7c,EAAKkQ,UAAUwrD,YAAc,SAAU33C,GACrCtnB,KAAKk/D,cAAc53C,GACnBtnB,KAAK6H,KAAO7H,KAAKqS,EAAIrS,KAAK6S,MAAQ,EAClC7S,KAAKiI,IAAMjI,KAAKsS,EAAItS,KAAK8S,OAAS,EAElC9S,KAAKohE,eAAe95C,EAAKtnB,KAAKqS,EAAGrS,KAAKsS,EAAGtS,KAAK+O,QAAQid,QAEtDhsB,KAAKwnD,YAAYv/C,IAAMjI,KAAKsS,EAAItS,KAAK+O,QAAQid,OAC7ChsB,KAAKwnD,YAAY3/C,KAAO7H,KAAKqS,EAAIrS,KAAK+O,QAAQid,OAC9ChsB,KAAKwnD,YAAY5/B,MAAQ5nB,KAAKqS,EAAIrS,KAAK+O,QAAQid,OAC/ChsB,KAAKwnD,YAAY3jC,OAAS7jB,KAAKsS,EAAItS,KAAK+O,QAAQid,OAEhDhsB,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOhpB,KAAKqS,EAAGrS,KAAKsS,IAG5C/O,EAAKkQ,UAAU2rD,eAAiB,SAAU93C,GACxC,IAAKtnB,KAAK6S,MAAO,CACf,GAAI0uD,GAAWvhE,KAAK+gE,YAAYz5C,EAEhCtnB,MAAK6S,MAAyB,IAAjB0uD,EAAS1uD,MACtB7S,KAAK8S,OAA2B,EAAlByuD,EAASzuD,OACnB9S,KAAK6S,MAAQ7S,KAAK8S,SACpB9S,KAAK6S,MAAQ7S,KAAK8S,OAEpB,IAAI8uD,GAAc5hE,KAAK6S,KAGvB7S,MAAK6S,OAAUrO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK89D,uBACjF99D,KAAK8S,QAAUtO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK+9D,wBACjF/9D,KAAK+O,QAAQid,QAAUxnB,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAKg+D,wBACzFh+D,KAAKi+D,gBAAkBj+D,KAAK6S,MAAQ+uD,IAIxCr+D,EAAKkQ,UAAU0rD,aAAe,SAAU73C,GACtCtnB,KAAKo/D,eAAe93C,GACpBtnB,KAAK6H,KAAO7H,KAAKqS,EAAIrS,KAAK6S,MAAQ,EAClC7S,KAAKiI,IAAMjI,KAAKsS,EAAItS,KAAK8S,OAAS,CAElC,IAAI0uD,GAAmB,IACnBjhD,EAAcvgB,KAAK+O,QAAQwR,YAC3BkhD,EAAqBzhE,KAAK+O,QAAQiwC,qBAAuB,EAAIh/C,KAAK+O,QAAQwR,WAE9E+G,GAAIY,YAAcloB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUD,OAAS3M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMF,OAAS3M,KAAK+O,QAAQ3D,MAAMuB,OAGtI3M,KAAKo+D,YAAc,IACrB92C,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAIu6C,QAAQ7hE,KAAK6H,KAAK,EAAEyf,EAAIO,UAAW7nB,KAAKiI,IAAI,EAAEqf,EAAIO,UAAW7nB,KAAK6S,MAAM,EAAEyU,EAAIO,UAAW7nB,KAAK8S,OAAO,EAAEwU,EAAIO,WAC/GP,EAAIlH,UAENkH,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAIiB,UAAYvoB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUF,WAAa1M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMH,WAAa1M,KAAK+O,QAAQ3D,MAAMsB,WAEhJ4a,EAAIu6C,QAAQ7hE,KAAK6H,KAAM7H,KAAKiI,IAAKjI,KAAK6S,MAAO7S,KAAK8S,QAClDwU,EAAInH,OACJmH,EAAIlH,SAEJpgB,KAAKwnD,YAAYv/C,IAAMjI,KAAKiI,IAC5BjI,KAAKwnD,YAAY3/C,KAAO7H,KAAK6H,KAC7B7H,KAAKwnD,YAAY5/B,MAAQ5nB,KAAK6H,KAAO7H,KAAK6S,MAC1C7S,KAAKwnD,YAAY3jC,OAAS7jB,KAAKiI,IAAMjI,KAAK8S,OAE1C9S,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOhpB,KAAKqS,EAAGrS,KAAKsS,IAG5C/O,EAAKkQ,UAAUksD,SAAW,SAAUr4C,GAClCtnB,KAAK8hE,WAAWx6C,EAAK,WAGvB/jB,EAAKkQ,UAAUqsD,cAAgB,SAAUx4C,GACvCtnB,KAAK8hE,WAAWx6C,EAAK,aAGvB/jB,EAAKkQ,UAAUssD,kBAAoB,SAAUz4C,GAC3CtnB,KAAK8hE,WAAWx6C,EAAK,iBAGvB/jB,EAAKkQ,UAAUosD,YAAc,SAAUv4C,GACrCtnB,KAAK8hE,WAAWx6C,EAAK,WAGvB/jB,EAAKkQ,UAAUusD,UAAY,SAAU14C,GACnCtnB,KAAK8hE,WAAWx6C,EAAK,SAGvB/jB,EAAKkQ,UAAUmsD,aAAe,WAC5B,IAAK5/D,KAAK6S,MAAO,CACf7S,KAAK+O,QAAQid,OAAQhsB,KAAKm9D,eAC1B,IAAIxqD,GAAO,EAAI3S,KAAK+O,QAAQid,MAC5BhsB,MAAK6S,MAAQF,EACb3S,KAAK8S,OAASH,EAGd3S,KAAK6S,OAAUrO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK89D,uBACjF99D,KAAK8S,QAAUtO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK+9D,wBACjF/9D,KAAK+O,QAAQid,QAAsE,GAA7DxnB,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAA+BphD,KAAKg+D,wBAC9Fh+D,KAAKi+D,gBAAkBj+D,KAAK6S,MAAQF,IAIxCpP,EAAKkQ,UAAUquD,WAAa,SAAUx6C,EAAK42B,GACzCl+C,KAAK4/D,aAAat4C,GAElBtnB,KAAK6H,KAAO7H,KAAKqS,EAAIrS,KAAK6S,MAAQ,EAClC7S,KAAKiI,IAAMjI,KAAKsS,EAAItS,KAAK8S,OAAS,CAElC,IAAI0uD,GAAmB,IACnBjhD,EAAcvgB,KAAK+O,QAAQwR,YAC3BkhD,EAAqBzhE,KAAK+O,QAAQiwC,qBAAuB,EAAIh/C,KAAK+O,QAAQwR,YAC1EwhD,EAAmB,CAGvB,QAAQ7jB,GACN,IAAK,MAAiB6jB,EAAmB,CAAG,MAC5C,KAAK,SAAiBA,EAAmB,CAAG,MAC5C,KAAK,WAAiBA,EAAmB,CAAG,MAC5C,KAAK,eAAiBA,EAAmB,CAAG,MAC5C,KAAK,OAAiBA,EAAmB,EAG3Cz6C,EAAIY,YAAcloB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUD,OAAS3M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMF,OAAS3M,KAAK+O,QAAQ3D,MAAMuB,OAEtI3M,KAAKo+D,YAAc,IACrB92C,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAI42B,GAAOl+C,KAAKqS,EAAGrS,KAAKsS,EAAGtS,KAAK+O,QAAQid,OAAQ+1C,EAAmBz6C,EAAIO,WACvEP,EAAIlH,UAENkH,EAAIO,WAAa7nB,KAAKslC,SAAWm8B,EAAqBlhD,IAAiBvgB,KAAKo+D,YAAc,EAAKoD,EAAmB,GAClHl6C,EAAIO,WAAa7nB,KAAKo4D,gBACtB9wC,EAAIO,UAAYrjB,KAAKL,IAAInE,KAAK6S,MAAMyU,EAAIO,WAExCP,EAAIiB,UAAYvoB,KAAKslC,SAAWtlC,KAAK+O,QAAQ3D,MAAMwB,UAAUF,WAAa1M,KAAK6M,MAAQ7M,KAAK+O,QAAQ3D,MAAMyB,MAAMH,WAAa1M,KAAK+O,QAAQ3D,MAAMsB,WAChJ4a,EAAI42B,GAAOl+C,KAAKqS,EAAGrS,KAAKsS,EAAGtS,KAAK+O,QAAQid,QACxC1E,EAAInH,OACJmH,EAAIlH,SAEJpgB,KAAKwnD,YAAYv/C,IAAMjI,KAAKsS,EAAItS,KAAK+O,QAAQid,OAC7ChsB,KAAKwnD,YAAY3/C,KAAO7H,KAAKqS,EAAIrS,KAAK+O,QAAQid,OAC9ChsB,KAAKwnD,YAAY5/B,MAAQ5nB,KAAKqS,EAAIrS,KAAK+O,QAAQid,OAC/ChsB,KAAKwnD,YAAY3jC,OAAS7jB,KAAKsS,EAAItS,KAAK+O,QAAQid,OAE5ChsB,KAAKgpB,QACPhpB,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOhpB,KAAKqS,EAAGrS,KAAKsS,EAAItS,KAAK8S,OAAS,EAAGjM,OAAW,WAAU,GACpF7G,KAAKwnD,YAAY3/C,KAAOrD,KAAKL,IAAInE,KAAKwnD,YAAY3/C,KAAM7H,KAAK81D,gBAAgBjuD,MAC7E7H,KAAKwnD,YAAY5/B,MAAQpjB,KAAKJ,IAAIpE,KAAKwnD,YAAY5/B,MAAO5nB,KAAK81D,gBAAgBjuD,KAAO7H,KAAK81D,gBAAgBjjD,OAC3G7S,KAAKwnD,YAAY3jC,OAASrf,KAAKJ,IAAIpE,KAAKwnD,YAAY3jC,OAAQ7jB,KAAKwnD,YAAY3jC,OAAS7jB,KAAK81D,gBAAgBhjD,UAI/GvP,EAAKkQ,UAAUisD,YAAc,SAAUp4C,GACrC,IAAKtnB,KAAK6S,MAAO,CACf,GAAIqH,GAAS,EACTqnD,EAAWvhE,KAAK+gE,YAAYz5C,EAChCtnB,MAAK6S,MAAQ0uD,EAAS1uD,MAAQ,EAAIqH,EAClCla,KAAK8S,OAASyuD,EAASzuD,OAAS,EAAIoH,EAGpCla,KAAK6S,OAAUrO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK89D,uBACjF99D,KAAK8S,QAAUtO,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAK+9D,wBACjF/9D,KAAK+O,QAAQid,QAASxnB,KAAKL,IAAInE,KAAKo+D,YAAc,EAAGp+D,KAAKohD,uBAAyBphD,KAAKg+D,wBACxFh+D,KAAKi+D,gBAAkBj+D,KAAK6S,OAAS0uD,EAAS1uD,MAAQ,EAAIqH,KAI9D3W,EAAKkQ,UAAUgsD,UAAY,SAAUn4C,GACnCtnB,KAAK0/D,YAAYp4C,GACjBtnB,KAAK6H,KAAO7H,KAAKqS,EAAIrS,KAAK6S,MAAQ,EAClC7S,KAAKiI,IAAMjI,KAAKsS,EAAItS,KAAK8S,OAAS,EAElC9S,KAAKg4D,OAAO1wC,EAAKtnB,KAAKgpB,MAAOhpB,KAAKqS,EAAGrS,KAAKsS,GAE1CtS,KAAKwnD,YAAYv/C,IAAMjI,KAAKiI,IAC5BjI,KAAKwnD,YAAY3/C,KAAO7H,KAAK6H,KAC7B7H,KAAKwnD,YAAY5/B,MAAQ5nB,KAAK6H,KAAO7H,KAAK6S,MAC1C7S,KAAKwnD,YAAY3jC,OAAS7jB,KAAKiI,IAAMjI,KAAK8S,QAI5CvP,EAAKkQ,UAAUukD,OAAS,SAAU1wC,EAAKwC,EAAMzX,EAAGC,EAAGq1B,EAAOq6B,EAAUC,GAClE,GAAIC,GAAmBj+D,OAAOjE,KAAK+O,QAAQsvC,UAAYr+C,KAAKk+D,YAC5D,IAAIp0C,GAAQo4C,GAAoBliE,KAAK+O,QAAQ2vC,kBAAoB,EAAG,CAClE,GAAIL,GAAWp6C,OAAOjE,KAAK+O,QAAQsvC,SAG/B6jB,IAAoBliE,KAAK+O,QAAQ+vC,qBACnCT,EAAWp6C,OAAOjE,KAAK+O,QAAQ+vC,oBAAsB9+C,KAAKo4D,gBAI5D,IAAIha,GAAYp+C,KAAK+O,QAAQqvC,WAAa,UACtC+jB,EAAcniE,KAAK+O,QAAQ0vC,eAC/B,IAAIyjB,GAAoBliE,KAAK+O,QAAQ2vC,kBAAmB,CACtD,GAAIrzC,GAAU7G,KAAKJ,IAAI,EAAEI,KAAKL,IAAI,EAAE,GAAKnE,KAAK+O,QAAQ2vC,kBAAoBwjB,IAC1E9jB,GAAcz9C,EAAKwK,gBAAgBizC,EAAa/yC,GAChD82D,EAAcxhE,EAAKwK,gBAAgBg3D,EAAa92D,GAIlDic,EAAIQ,MAAQ9nB,KAAKslC,SAAW,QAAU,IAAM+Y,EAAW,MAAQr+C,KAAK+O,QAAQuvC,QAE5E,IAAI/T,GAAQzgB,EAAKxhB,MAAM,MACnBmwD,EAAYluB,EAAMvkC,OAClB+vD,EAAQzjD,GAAK,EAAImmD,GAAa,EAAIpa,CAChB,IAAlB4jB,IACFlM,EAAQzjD,GAAK,EAAImmD,IAAc,EAAIpa,GAKrC,KAAK,GADDxrC,GAAQyU,EAAIoxC,YAAYnuB,EAAM,IAAI13B,MAC7BhN,EAAI,EAAO4yD,EAAJ5yD,EAAeA,IAAK,CAClC,GAAIgiB,GAAYP,EAAIoxC,YAAYnuB,EAAM1kC,IAAIgN,KAC1CA,GAAQgV,EAAYhV,EAAQgV,EAAYhV,EAE1C,GAAIC,GAASurC,EAAWoa,EACpB5wD,EAAOwK,EAAIQ,EAAQ,EACnB5K,EAAMqK,EAAIQ,EAAS,CACP,YAAZkvD,IACF/5D,GAAO,GAAMo2C,EACbp2C,GAAO,EACP8tD,GAAS,GAEX/1D,KAAK81D,iBAAmB7tD,IAAIA,EAAIJ,KAAKA,EAAKgL,MAAMA,EAAMC,OAAOA,EAAOijD,MAAMA,GAG5ClvD,SAA1B7G,KAAK+O,QAAQwvC,UAAoD,OAA1Bv+C,KAAK+O,QAAQwvC,UAA+C,SAA1Bv+C,KAAK+O,QAAQwvC,WACxFj3B,EAAIiB,UAAYvoB,KAAK+O,QAAQwvC,SAC7Bj3B,EAAI4xC,SAASrxD,EAAMI,EAAK4K,EAAOC,IAIjCwU,EAAIiB,UAAY61B,EAChB92B,EAAIuB,UAAY8e,GAAS,SACzBrgB,EAAIwB,aAAek5C,GAAY,SAC3BhiE,KAAK+O,QAAQyvC,gBAAkB,IACjCl3B,EAAIO,UAAc7nB,KAAK+O,QAAQyvC,gBAC/Bl3B,EAAIY,YAAci6C,EAClB76C,EAAI6xC,SAAc,QAEpB,KAAK,GAAItzD,GAAI,EAAO4yD,EAAJ5yD,EAAeA,IAC1B7F,KAAK+O,QAAQyvC,iBACdl3B,EAAI8xC,WAAW7uB,EAAM1kC,GAAIwM,EAAG0jD,GAE9BzuC,EAAIyB,SAASwhB,EAAM1kC,GAAIwM,EAAG0jD,GAC1BA,GAAS1X,IAMf96C,EAAKkQ,UAAUstD,YAAc,SAASz5C,GACpC,GAAmBzgB,SAAf7G,KAAKgpB,MAAqB,CAC5B,GAAIq1B,GAAWp6C,OAAOjE,KAAK+O,QAAQsvC,SAC/BA,GAAWr+C,KAAKk+D,aAAel+D,KAAK+O,QAAQ+vC,qBAC9CT,EAAWp6C,OAAOjE,KAAK+O,QAAQ+vC,oBAAsB9+C,KAAKo4D,iBAE5D9wC,EAAIQ,MAAQ9nB,KAAKslC,SAAW,QAAU,IAAM+Y,EAAW,MAAQr+C,KAAK+O,QAAQuvC,QAM5E,KAAK,GAJD/T,GAAQvqC,KAAKgpB,MAAM1gB,MAAM,MACzBwK,GAAUurC,EAAW,GAAK9T,EAAMvkC,OAChC6M,EAAQ,EAEHhN,EAAI,EAAG87B,EAAO4I,EAAMvkC,OAAY27B,EAAJ97B,EAAUA,IAC7CgN,EAAQrO,KAAKJ,IAAIyO,EAAOyU,EAAIoxC,YAAYnuB,EAAM1kC,IAAIgN,MAGpD,QAAQA,MAASA,EAAOC,OAAUA,EAAQ2lD,UAAWluB,EAAMvkC,QAG3D,OAAQ6M,MAAS,EAAGC,OAAU,EAAG2lD,UAAW,IAUhDl1D,EAAKkQ,UAAUm+C,OAAS,WACtB,MAAmB/qD,UAAf7G,KAAK6S,MACD7S,KAAKqS,EAAIrS,KAAK6S,MAAO7S,KAAKo4D,iBAAoBp4D,KAAKolD,cAAc/yC,GACjErS,KAAKqS,EAAIrS,KAAK6S,MAAO7S,KAAKo4D,gBAAoBp4D,KAAKqlD,kBAAkBhzC,GACrErS,KAAKsS,EAAItS,KAAK8S,OAAO9S,KAAKo4D,iBAAoBp4D,KAAKolD,cAAc9yC,GACjEtS,KAAKsS,EAAItS,KAAK8S,OAAO9S,KAAKo4D,gBAAoBp4D,KAAKqlD,kBAAkB/yC,GAGpE,GAQX/O,EAAKkQ,UAAU2uD,OAAS,WACtB,MAAQpiE,MAAKqS,GAAKrS,KAAKolD,cAAc/yC,GAC7BrS,KAAKqS,EAAIrS,KAAKqlD,kBAAkBhzC,GAChCrS,KAAKsS,GAAKtS,KAAKolD,cAAc9yC,GAC7BtS,KAAKsS,EAAItS,KAAKqlD,kBAAkB/yC,GAW1C/O,EAAKkQ,UAAUk+C,eAAiB,SAASptD,EAAM6gD,EAAcC,GAC3DrlD,KAAKo4D,gBAAkB,EAAI7zD,EAC3BvE,KAAKk+D,aAAe35D,EACpBvE,KAAKolD,cAAgBA,EACrBplD,KAAKqlD,kBAAoBA,GAS3B9hD,EAAKkQ,UAAUqwB,SAAW,SAASv/B,GACjCvE,KAAKo4D,gBAAkB,EAAI7zD,EAC3BvE,KAAKk+D,aAAe35D,GAQtBhB,EAAKkQ,UAAU4uD,cAAgB,WAC7BriE,KAAKy9D,GAAK,EACVz9D,KAAK09D,GAAK,GASZn6D,EAAKkQ,UAAU6uD,eAAiB,SAASC,GACvC,GAAIC,GAAexiE,KAAKy9D,GAAKz9D,KAAKy9D,GAAK8E,CAEvCviE,MAAKy9D,GAAKj5D,KAAK0rB,KAAKsyC,EAAaxiE,KAAK+O,QAAQgvC,MAC9CykB,EAAexiE,KAAK09D,GAAK19D,KAAK09D,GAAK6E,EAEnCviE,KAAK09D,GAAKl5D,KAAK0rB,KAAKsyC,EAAaxiE,KAAK+O,QAAQgvC,OAGhDl+C,EAAOD,QAAU2D,GAKb,SAAS1D,GAWb,QAAS2D,GAAMuW,EAAW1H,EAAGC,EAAGwX,EAAMvc,GAElCvN,KAAK+Z,UADHA,EACeA,EAGAlI,SAASqjB,KAIdruB,SAAV0G,IACe,gBAAN8E,IACT9E,EAAQ8E,EACRA,EAAIxL,QACqB,gBAATijB,IAChBvc,EAAQuc,EACRA,EAAOjjB,QAGP0G,GACE6wC,UAAW,QACXC,SAAU,GACVC,SAAU,UACVlzC,OACEuB,OAAQ,OACRD,WAAY,aAMpB1M,KAAKqS,EAAI,EACTrS,KAAKsS,EAAI,EACTtS,KAAKukB,QAAU,EAEL1d,SAANwL,GAAyBxL,SAANyL,GACrBtS,KAAKuvD,YAAYl9C,EAAGC,GAETzL,SAATijB,GACF9pB,KAAKwvD,QAAQ1lC,GAIf9pB,KAAK6f,MAAQhO,SAASM,cAAc,OACpCnS,KAAK6f,MAAMzX,UAAY,kBACvBpI,KAAK6f,MAAMtS,MAAMnC,MAAkBmC,EAAM6wC,UACzCp+C,KAAK6f,MAAMtS,MAAM2S,gBAAkB3S,EAAMnC,MAAMsB,WAC/C1M,KAAK6f,MAAMtS,MAAM+S,YAAkB/S,EAAMnC,MAAMuB,OAC/C3M,KAAK6f,MAAMtS,MAAM8wC,SAAkB9wC,EAAM8wC,SAAW,KACpDr+C,KAAK6f,MAAMtS,MAAMk1D,WAAkBl1D,EAAM+wC,SACzCt+C,KAAK+Z,UAAUhI,YAAY/R,KAAK6f,OAOlCrc,EAAMiQ,UAAU87C,YAAc,SAASl9C,EAAGC,GACxCtS,KAAKqS,EAAInH,SAASmH,GAClBrS,KAAKsS,EAAIpH,SAASoH,IAOpB9O,EAAMiQ,UAAU+7C,QAAU,SAASr/B,GAC7BA,YAAmBwW,UACrB3mC,KAAK6f,MAAM2E,UAAY,GACvBxkB,KAAK6f,MAAM9N,YAAYoe,IAGvBnwB,KAAK6f,MAAM2E,UAAY2L,GAQ3B3sB,EAAMiQ,UAAUqyB,KAAO,SAAUA,GAK/B,GAJaj/B,SAATi/B,IACFA,GAAO,GAGLA,EAAM,CACR,GAAIhzB,GAAS9S,KAAK6f,MAAMuF,aACpBvS,EAAS7S,KAAK6f,MAAME,YACpBgV,EAAY/0B,KAAK6f,MAAM1V,WAAWib,aAClC0iB,EAAW9nC,KAAK6f,MAAM1V,WAAW4V,YAEjC9X,EAAOjI,KAAKsS,EAAIQ,CAChB7K,GAAM6K,EAAS9S,KAAKukB,QAAUwQ,IAChC9sB,EAAM8sB,EAAYjiB,EAAS9S,KAAKukB,SAE9Btc,EAAMjI,KAAKukB,UACbtc,EAAMjI,KAAKukB,QAGb,IAAI1c,GAAO7H,KAAKqS,CACZxK,GAAOgL,EAAQ7S,KAAKukB,QAAUujB,IAChCjgC,EAAOigC,EAAWj1B,EAAQ7S,KAAKukB,SAE7B1c,EAAO7H,KAAKukB,UACd1c,EAAO7H,KAAKukB,SAGdvkB,KAAK6f,MAAMtS,MAAM1F,KAAOA,EAAO,KAC/B7H,KAAK6f,MAAMtS,MAAMtF,IAAMA,EAAM,KAC7BjI,KAAK6f,MAAMtS,MAAM2qB,WAAa,cAG9Bl4B,MAAK6lC,QAOTriC,EAAMiQ,UAAUoyB,KAAO,WACrB7lC,KAAK6f,MAAMtS,MAAM2qB,WAAa,UAGhCr4B,EAAOD,QAAU4D,GAKb,SAAS3D,EAAQD,GAarB,QAAS8iE,GAAU1vD,GAEjB,MADAqd,GAAMrd,EACC2vD,IAoCT,QAAS5/B,KACPr6B,EAAQ,EACRjI,EAAI4vB,EAAI1K,OAAO,GAQjB,QAASiD,KACPlgB,IACAjI,EAAI4vB,EAAI1K,OAAOjd,GAOjB,QAASk6D,KACP,MAAOvyC,GAAI1K,OAAOjd,EAAQ,GAS5B,QAASm6D,GAAepiE,GACtB,MAAOqiE,GAAkBx0D,KAAK7N,GAShC,QAASsiE,GAAOn9D,EAAGa,GAKjB,GAJKb,IACHA,MAGEa,EACF,IAAK,GAAI8P,KAAQ9P,GACXA,EAAEN,eAAeoQ,KACnB3Q,EAAE2Q,GAAQ9P,EAAE8P,GAIlB,OAAO3Q,GAeT,QAASsS,GAASoL,EAAK0rB,EAAM1qC,GAG3B,IAFA,GAAIoJ,GAAOshC,EAAK1mC,MAAM,KAClB06D,EAAI1/C,EACD5V,EAAK1H,QAAQ,CAClB,GAAIiD,GAAMyE,EAAKkE,OACXlE,GAAK1H,QAEFg9D,EAAE/5D,KACL+5D,EAAE/5D,OAEJ+5D,EAAIA,EAAE/5D,IAIN+5D,EAAE/5D,GAAO3E,GAWf,QAAS2+D,GAAQzxC,EAAO21B,GAOtB,IANA,GAAIthD,GAAGC,EACH00B,EAAU,KAGV0oC,GAAU1xC,GACV9xB,EAAO8xB,EACJ9xB,EAAK2lC,QACV69B,EAAO36D,KAAK7I,EAAK2lC,QACjB3lC,EAAOA,EAAK2lC,MAId,IAAI3lC,EAAKo+C,MACP,IAAKj4C,EAAI,EAAGC,EAAMpG,EAAKo+C,MAAM93C,OAAYF,EAAJD,EAASA,IAC5C,GAAIshD,EAAK9mD,KAAOX,EAAKo+C,MAAMj4C,GAAGxF,GAAI,CAChCm6B,EAAU96B,EAAKo+C,MAAMj4C,EACrB,OAiBN,IAZK20B,IAEHA,GACEn6B,GAAI8mD,EAAK9mD,IAEPmxB,EAAM21B,OAER3sB,EAAQ2oC,KAAOJ,EAAMvoC,EAAQ2oC,KAAM3xC,EAAM21B,QAKxCthD,EAAIq9D,EAAOl9D,OAAS,EAAGH,GAAK,EAAGA,IAAK,CACvC,GAAImF,GAAIk4D,EAAOr9D,EAEVmF,GAAE8yC,QACL9yC,EAAE8yC,UAE4B,IAA5B9yC,EAAE8yC,MAAM92C,QAAQwzB,IAClBxvB,EAAE8yC,MAAMv1C,KAAKiyB,GAKb2sB,EAAKgc,OACP3oC,EAAQ2oC,KAAOJ,EAAMvoC,EAAQ2oC,KAAMhc,EAAKgc,OAS5C,QAASC,GAAQ5xC,EAAO49B,GAKtB,GAJK59B,EAAMytB,QACTztB,EAAMytB,UAERztB,EAAMytB,MAAM12C,KAAK6mD,GACb59B,EAAM49B,KAAM,CACd,GAAI+T,GAAOJ,KAAUvxC,EAAM49B,KAC3BA,GAAK+T,KAAOJ,EAAMI,EAAM/T,EAAK+T,OAajC,QAASE,GAAW7xC,EAAO7H,EAAMC,EAAIziB,EAAMg8D,GACzC,GAAI/T,IACFzlC,KAAMA,EACNC,GAAIA,EACJziB,KAAMA,EAQR,OALIqqB,GAAM49B,OACRA,EAAK+T,KAAOJ,KAAUvxC,EAAM49B,OAE9BA,EAAK+T,KAAOJ,EAAM3T,EAAK+T,SAAYA,GAE5B/T,EAOT,QAASkU,KAKP,IAJAC,EAAYC,EAAUC,KACtBC,EAAQ,GAGI,KAALjjE,GAAiB,KAALA,GAAkB,MAALA,GAAkB,MAALA,GAC3CmoB,GAGF,GAAG,CACD,GAAI+6C,IAAY,CAGhB,IAAS,KAALljE,EAAU,CAGZ,IADA,GAAIoF,GAAI6C,EAAQ,EACQ,KAAjB2nB,EAAI1K,OAAO9f,IAA8B,KAAjBwqB,EAAI1K,OAAO9f,IACxCA,GAEF,IAAqB,MAAjBwqB,EAAI1K,OAAO9f,IAA+B,IAAjBwqB,EAAI1K,OAAO9f,GAAU,CAEhD,KAAY,IAALpF,GAAgB,MAALA,GAChBmoB,GAEF+6C,IAAY,GAGhB,GAAS,KAALljE,GAA6B,KAAjBmiE,IAAsB,CAEpC,KAAY,IAALniE,GAAgB,MAALA,GAChBmoB,GAEF+6C,IAAY,EAEd,GAAS,KAALljE,GAA6B,KAAjBmiE,IAAsB,CAEpC,KAAY,IAALniE,GAAS,CACd,GAAS,KAALA,GAA6B,KAAjBmiE,IAAsB,CAEpCh6C,IACAA,GACA,OAGAA,IAGJ+6C,GAAY,EAId,KAAY,KAALljE,GAAiB,KAALA,GAAkB,MAALA,GAAkB,MAALA,GAC3CmoB,UAGG+6C,EAGP,IAAS,IAALljE,EAGF,YADA8iE,EAAYC,EAAUI,UAKxB,IAAIC,GAAKpjE,EAAImiE,GACb,IAAIkB,EAAWD,GAKb,MAJAN,GAAYC,EAAUI,UACtBF,EAAQG,EACRj7C,QACAA,IAKF,IAAIk7C,EAAWrjE,GAIb,MAHA8iE,GAAYC,EAAUI,UACtBF,EAAQjjE,MACRmoB,IAMF,IAAIi6C,EAAepiE,IAAW,KAALA,EAAU,CAIjC,IAHAijE,GAASjjE,EACTmoB,IAEOi6C,EAAepiE,IACpBijE,GAASjjE,EACTmoB,GAYF,OAVa,SAAT86C,EACFA,GAAQ,EAEQ,QAATA,EACPA,GAAQ,EAEA1+D,MAAMf,OAAOy/D,MACrBA,EAAQz/D,OAAOy/D,SAEjBH,EAAYC,EAAUO,YAKxB,GAAS,KAALtjE,EAAU,CAEZ,IADAmoB,IACY,IAALnoB,IAAiB,KAALA,GAAkB,KAALA,GAA6B,KAAjBmiE,MAC1Cc,GAASjjE,EACA,KAALA,GACFmoB,IAEFA,GAEF,IAAS,KAALnoB,EACF,KAAMujE,GAAe,2BAIvB,OAFAp7C,UACA26C,EAAYC,EAAUO,YAMxB,IADAR,EAAYC,EAAUS,QACV,IAALxjE,GACLijE,GAASjjE,EACTmoB,GAEF,MAAM,IAAI5O,aAAY,yBAA2BkqD,EAAKR,EAAO,IAAM,KAOrE,QAASf,KACP,GAAInxC,KAwBJ,IAtBAuR,IACAugC,IAGa,UAATI,IACFlyC,EAAM2yC,QAAS,EACfb,MAIW,SAATI,GAA6B,WAATA,KACtBlyC,EAAMrqB,KAAOu8D,EACbJ,KAIEC,GAAaC,EAAUO,aACzBvyC,EAAMnxB,GAAKqjE,EACXJ,KAIW,KAATI,EACF,KAAMM,GAAe,2BAQvB,IANAV,IAGAc,EAAgB5yC,GAGH,KAATkyC,EACF,KAAMM,GAAe,2BAKvB,IAHAV,IAGc,KAAVI,EACF,KAAMM,GAAe,uBASvB,OAPAV,WAGO9xC,GAAM21B,WACN31B,GAAM49B,WACN59B,GAAMA,MAENA,EAOT,QAAS4yC,GAAiB5yC,GACxB,KAAiB,KAAVkyC,GAAyB,KAATA,GACrBW,EAAe7yC,GACF,KAATkyC,GACFJ,IAWN,QAASe,GAAe7yC,GAEtB,GAAI8yC,GAAWC,EAAc/yC,EAC7B,IAAI8yC,EAIF,WAFAE,GAAUhzC,EAAO8yC,EAMnB,IAAInB,GAAOsB,EAAwBjzC,EACnC,KAAI2xC,EAAJ,CAKA,GAAII,GAAaC,EAAUO,WACzB,KAAMC,GAAe,sBAEvB,IAAI3jE,GAAKqjE,CAGT,IAFAJ,IAEa,KAATI,EAAc,CAGhB,GADAJ,IACIC,GAAaC,EAAUO,WACzB,KAAMC,GAAe,sBAEvBxyC,GAAMnxB,GAAMqjE,EACZJ,QAIAoB,GAAmBlzC,EAAOnxB,IAS9B,QAASkkE,GAAe/yC,GACtB,GAAI8yC,GAAW,IAgBf,IAba,YAATZ,IACFY,KACAA,EAASn9D,KAAO,WAChBm8D,IAGIC,GAAaC,EAAUO,aACzBO,EAASjkE,GAAKqjE,EACdJ,MAKS,KAATI,EAAc,CAehB,GAdAJ,IAEKgB,IACHA,MAEFA,EAASj/B,OAAS7T,EAClB8yC,EAASnd,KAAO31B,EAAM21B,KACtBmd,EAASlV,KAAO59B,EAAM49B,KACtBkV,EAAS9yC,MAAQA,EAAMA,MAGvB4yC,EAAgBE,GAGH,KAATZ,EACF,KAAMM,GAAe,2BAEvBV,WAGOgB,GAASnd,WACTmd,GAASlV,WACTkV,GAAS9yC,YACT8yC,GAASj/B,OAGX7T,EAAMmzC,YACTnzC,EAAMmzC,cAERnzC,EAAMmzC,UAAUp8D,KAAK+7D,GAGvB,MAAOA,GAYT,QAASG,GAAyBjzC,GAEhC,MAAa,QAATkyC,GACFJ,IAGA9xC,EAAM21B,KAAOyd,IACN,QAES,QAATlB,GACPJ,IAGA9xC,EAAM49B,KAAOwV,IACN,QAES,SAATlB,GACPJ,IAGA9xC,EAAMA,MAAQozC,IACP,SAGF,KAQT,QAASF,GAAmBlzC,EAAOnxB,GAEjC,GAAI8mD,IACF9mD,GAAIA,GAEF8iE,EAAOyB,GACPzB,KACFhc,EAAKgc,KAAOA,GAEdF,EAAQzxC,EAAO21B,GAGfqd,EAAUhzC,EAAOnxB,GAQnB,QAASmkE,GAAUhzC,EAAO7H,GACxB,KAAgB,MAAT+5C,GAA0B,MAATA,GAAe,CACrC,GAAI95C,GACAziB,EAAOu8D,CACXJ,IAEA,IAAIgB,GAAWC,EAAc/yC,EAC7B,IAAI8yC,EACF16C,EAAK06C,MAEF,CACH,GAAIf,GAAaC,EAAUO,WACzB,KAAMC,GAAe,kCAEvBp6C,GAAK85C,EACLT,EAAQzxC,GACNnxB,GAAIupB,IAEN05C,IAIF,GAAIH,GAAOyB,IAGPxV,EAAOiU,EAAW7xC,EAAO7H,EAAMC,EAAIziB,EAAMg8D,EAC7CC,GAAQ5xC,EAAO49B,GAEfzlC,EAAOC,GASX,QAASg7C,KAGP,IAFA,GAAIzB,GAAO,KAEK,KAATO,GAAc,CAGnB,IAFAJ,IACAH,KACiB,KAAVO,GAAyB,KAATA,GAAc,CACnC,GAAIH,GAAaC,EAAUO,WACzB,KAAMC,GAAe,0BAEvB,IAAIztD,GAAOmtD,CAGX,IADAJ,IACa,KAATI,EACF,KAAMM,GAAe,wBAIvB,IAFAV,IAEIC,GAAaC,EAAUO,WACzB,KAAMC,GAAe,2BAEvB,IAAI1/D,GAAQo/D,CACZxrD,GAASirD,EAAM5sD,EAAMjS,GAErBg/D,IACY,KAARI,GACFJ,IAIJ,GAAa,KAATI,EACF,KAAMM,GAAe,qBAEvBV,KAGF,MAAOH,GAQT,QAASa,GAAea,GACtB,MAAO,IAAI7qD,aAAY6qD,EAAU,UAAYX,EAAKR,EAAO,IAAM,WAAah7D,EAAQ,KAStF,QAASw7D,GAAMp6C,EAAMg7C,GACnB,MAAQh7C,GAAK9jB,QAAU8+D,EAAah7C,EAAQA,EAAKve,OAAO,EAAG,IAAM,MASnE,QAASw5D,GAASC,EAAQC,EAAQvrD,GAC5BpT,MAAMC,QAAQy+D,GAChBA,EAAOp8D,QAAQ,SAAUs8D,GACnB5+D,MAAMC,QAAQ0+D,GAChBA,EAAOr8D,QAAQ,SAAUu8D,GACvBzrD,EAAGwrD,EAAOC,KAIZzrD,EAAGwrD,EAAOD,KAKV3+D,MAAMC,QAAQ0+D,GAChBA,EAAOr8D,QAAQ,SAAUu8D,GACvBzrD,EAAGsrD,EAAQG,KAIbzrD,EAAGsrD,EAAQC,GAWjB,QAASrc,GAAY51C,GAEnB,GAAI21C,GAAU+Z,EAAS1vD,GACnBoyD,GACFtnB,SACAmB,SACAlwC,WAmBF,IAfI45C,EAAQ7K,OACV6K,EAAQ7K,MAAMl1C,QAAQ,SAAUy8D,GAC9B,GAAIC,IACFjlE,GAAIglE,EAAQhlE,GACZ2oB,MAAOtkB,OAAO2gE,EAAQr8C,OAASq8C,EAAQhlE,IAEzC0iE,GAAMuC,EAAWD,EAAQlC,MACrBmC,EAAUnnB,QACZmnB,EAAUpnB,MAAQ,SAEpBknB,EAAUtnB,MAAMv1C,KAAK+8D,KAKrB3c,EAAQ1J,MAAO,CAMjB,GAAIsmB,GAAc,SAAUC,GAC1B,GAAIC,IACF97C,KAAM67C,EAAQ77C,KACdC,GAAI47C,EAAQ57C,GAId,OAFAm5C,GAAM0C,EAAWD,EAAQrC,MACzBsC,EAAUl4D,MAAyB,MAAhBi4D,EAAQr+D,KAAgB,QAAU,OAC9Cs+D,EAGT9c,GAAQ1J,MAAMr2C,QAAQ,SAAU48D,GAC9B,GAAI77C,GAAMC,CAERD,GADE67C,EAAQ77C,eAAgB/iB,QACnB4+D,EAAQ77C,KAAKm0B,OAIlBz9C,GAAImlE,EAAQ77C,MAKdC,EADE47C,EAAQ57C,aAAchjB,QACnB4+D,EAAQ57C,GAAGk0B,OAIdz9C,GAAImlE,EAAQ57C,IAIZ47C,EAAQ77C,eAAgB/iB,SAAU4+D,EAAQ77C,KAAKs1B,OACjDumB,EAAQ77C,KAAKs1B,MAAMr2C,QAAQ,SAAU88D,GACnC,GAAID,GAAYF,EAAYG,EAC5BN,GAAUnmB,MAAM12C,KAAKk9D,KAIzBV,EAASp7C,EAAMC,EAAI,SAAUD,EAAMC,GACjC,GAAI87C,GAAUrC,EAAW+B,EAAWz7C,EAAKtpB,GAAIupB,EAAGvpB,GAAImlE,EAAQr+D,KAAMq+D,EAAQrC,MACtEsC,EAAYF,EAAYG,EAC5BN,GAAUnmB,MAAM12C,KAAKk9D,KAGnBD,EAAQ57C,aAAchjB,SAAU4+D,EAAQ57C,GAAGq1B,OAC7CumB,EAAQ57C,GAAGq1B,MAAMr2C,QAAQ,SAAU88D,GACjC,GAAID,GAAYF,EAAYG,EAC5BN,GAAUnmB,MAAM12C,KAAKk9D,OAW7B,MAJI9c,GAAQwa,OACViC,EAAUr2D,QAAU45C,EAAQwa,MAGvBiC,EAnyBT,GAAI5B,IACFC,KAAO,EACPG,UAAY,EACZG,WAAY,EACZE,QAAU,GAIRH,GACF6B,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EAELC,MAAM,EACNC,MAAM,GAGJ91C,EAAM,GACN3nB,EAAQ,EACRjI,EAAI,GACJijE,EAAQ,GACRH,EAAYC,EAAUC,KAmCtBX,EAAoB,iBA2uBxBljE,GAAQ8iE,SAAWA,EACnB9iE,EAAQgpD,WAAaA,GAKjB,SAAS/oD,EAAQD,GAGrB,QAASmpD,GAAWqd,EAAWr3D,GAC7B,GAAIkwC,MACAnB,IACJ99C,MAAK+O,SACHkwC,OACEQ,cAAc,GAEhB3B,OACEuoB,eAAe,EACfx6D,YAAY,IAIAhF,SAAZkI,IACF/O,KAAK+O,QAAQ+uC,MAAqB,cAAI/uC,EAAQs3D,eAAgB,EAC9DrmE,KAAK+O,QAAQ+uC,MAAkB,WAAO/uC,EAAQlD,YAAgB,EAC9D7L,KAAK+O,QAAQkwC,MAAoB,aAAKlwC,EAAQ0wC,cAAgB,EAKhE,KAAK,GAFD6mB,GAASF,EAAUnnB,MACnBsnB,EAASH,EAAUtoB,MACdj4C,EAAI,EAAGA,EAAIygE,EAAOtgE,OAAQH,IAAK,CACtC,GAAIupD,MACAoX,EAAQF,EAAOzgE,EACnBupD,GAAS,GAAIoX,EAAMnmE,GACnB+uD,EAAW,KAAIoX,EAAMC,OACrBrX,EAAS,GAAIoX,EAAMx8D,OACnBolD,EAAiB,WAAIoX,EAAMx/B,WAG3BooB,EAAY,MAAIoX,EAAMp7D,MACtBgkD,EAAmB,aAAsBvoD,SAAlBuoD,EAAY,OAAkB,EAAQpvD,KAAK+O,QAAQ0wC,aAC1ER,EAAM12C,KAAK6mD,GAGb,IAAK,GAAIvpD,GAAI,EAAGA,EAAI0gE,EAAOvgE,OAAQH,IAAK,CACtC,GAAIshD,MACAuf,EAAQH,EAAO1gE,EACnBshD,GAAS,GAAIuf,EAAMrmE,GACnB8mD,EAAiB,WAAIuf,EAAM1/B,WAC3BmgB,EAAQ,EAAIuf,EAAMr0D,EAClB80C,EAAQ,EAAIuf,EAAMp0D,EAClB60C,EAAY,MAAIuf,EAAM19C,MAEpBm+B,EAAY,MADuB,GAAjCnnD,KAAK+O,QAAQ+uC,MAAMjyC,WACL66D,EAAMt7D,MAGUvE,SAAhB6/D,EAAMt7D,OAAuBsB,WAAWg6D,EAAMt7D,MAAOuB,OAAO+5D,EAAMt7D,OAASvE,OAE7FsgD,EAAa,OAAIuf,EAAM/zD,KACvBw0C,EAAqB,eAAInnD,KAAK+O,QAAQ+uC,MAAMuoB,cAC5Clf,EAAqB,eAAInnD,KAAK+O,QAAQ+uC,MAAMuoB,cAC5CvoB,EAAMv1C,KAAK4+C,GAGb,OAAQrJ,MAAMA,EAAOmB,MAAMA,GAG7Br/C,EAAQmpD,WAAaA,GAIjB,SAASlpD,EAAQD,EAASM,GAI9BL,EAAOD,QAA6B,mBAAXkI,SAA2BA,OAAe,QAAK5H,EAAoB,KAKxF,SAASL,EAAQD,EAASM,GAK5BL,EAAOD,QADa,mBAAXkI,QACQA,OAAe,QAAK5H,EAAoB,IAGxC,WACf,KAAM0D,OAAM,+DAOZ,SAAS/D,EAAQD,EAASM,GAmB9B,QAASw2B,MAjBT,GAAInZ,GAAUrd,EAAoB,IAC9BulC,EAASvlC,EAAoB,IAC7BS,EAAOT,EAAoB,GAK3BwmD,GAJUxmD,EAAoB,GACnBA,EAAoB,GACvBA,EAAoB,IAClBA,EAAoB,IAClBA,EAAoB,KAChCyB,EAAWzB,EAAoB,GAYnCqd,GAAQmZ,EAAKjjB,WASbijB,EAAKjjB,UAAUwhB,QAAU,SAAUlb,GACjC/Z,KAAKswB,OAELtwB,KAAKswB,IAAI5wB,KAAuBmS,SAASM,cAAc,OACvDnS,KAAKswB,IAAI5jB,WAAuBmF,SAASM,cAAc,OACvDnS,KAAKswB,IAAIyY,mBAAuBl3B,SAASM,cAAc,OACvDnS,KAAKswB,IAAIyb,qBAAuBl6B,SAASM,cAAc,OACvDnS,KAAKswB,IAAIiI,gBAAuB1mB,SAASM,cAAc,OACvDnS,KAAKswB,IAAIq2C,cAAuB90D,SAASM,cAAc,OACvDnS,KAAKswB,IAAIs2C,eAAuB/0D,SAASM,cAAc,OACvDnS,KAAKswB,IAAI7D,OAAuB5a,SAASM,cAAc,OACvDnS,KAAKswB,IAAIzoB,KAAuBgK,SAASM,cAAc,OACvDnS,KAAKswB,IAAI1I,MAAuB/V,SAASM,cAAc,OACvDnS,KAAKswB,IAAIroB,IAAuB4J,SAASM,cAAc,OACvDnS,KAAKswB,IAAIzM,OAAuBhS,SAASM,cAAc,OACvDnS,KAAKswB,IAAIu2C,UAAuBh1D,SAASM,cAAc,OACvDnS,KAAKswB,IAAIw2C,aAAuBj1D,SAASM,cAAc,OACvDnS,KAAKswB,IAAIy2C,cAAuBl1D,SAASM,cAAc,OACvDnS,KAAKswB,IAAI02C,iBAAuBn1D,SAASM,cAAc,OACvDnS,KAAKswB,IAAI22C,eAAuBp1D,SAASM,cAAc,OACvDnS,KAAKswB,IAAI42C,kBAAuBr1D,SAASM,cAAc,OAEvDnS,KAAKswB,IAAI5wB,KAAK0I,UAA4B,oBAC1CpI,KAAKswB,IAAI5jB,WAAWtE,UAAsB,sBAC1CpI,KAAKswB,IAAIyY,mBAAmB3gC,UAAc,+BAC1CpI,KAAKswB,IAAIyb,qBAAqB3jC,UAAY,iCAC1CpI,KAAKswB,IAAIiI,gBAAgBnwB,UAAiB,kBAC1CpI,KAAKswB,IAAIq2C,cAAcv+D,UAAmB,gBAC1CpI,KAAKswB,IAAIs2C,eAAex+D,UAAkB,iBAC1CpI,KAAKswB,IAAIroB,IAAIG,UAA6B,eAC1CpI,KAAKswB,IAAIzM,OAAOzb,UAA0B,kBAC1CpI,KAAKswB,IAAIzoB,KAAKO,UAA4B,UAC1CpI,KAAKswB,IAAI7D,OAAOrkB,UAA0B,UAC1CpI,KAAKswB,IAAI1I,MAAMxf,UAA2B,UAC1CpI,KAAKswB,IAAIu2C,UAAUz+D,UAAuB,aAC1CpI,KAAKswB,IAAIw2C,aAAa1+D,UAAoB,gBAC1CpI,KAAKswB,IAAIy2C,cAAc3+D,UAAmB,aAC1CpI,KAAKswB,IAAI02C,iBAAiB5+D,UAAgB,gBAC1CpI,KAAKswB,IAAI22C,eAAe7+D,UAAkB,aAC1CpI,KAAKswB,IAAI42C,kBAAkB9+D,UAAe,gBAE1CpI,KAAKswB,IAAI5wB,KAAKqS,YAAY/R,KAAKswB,IAAI5jB,YACnC1M,KAAKswB,IAAI5wB,KAAKqS,YAAY/R,KAAKswB,IAAIyY,oBACnC/oC,KAAKswB,IAAI5wB,KAAKqS,YAAY/R,KAAKswB,IAAIyb,sBACnC/rC,KAAKswB,IAAI5wB,KAAKqS,YAAY/R,KAAKswB,IAAIiI,iBACnCv4B,KAAKswB,IAAI5wB,KAAKqS,YAAY/R,KAAKswB,IAAIq2C,eACnC3mE,KAAKswB,IAAI5wB,KAAKqS,YAAY/R,KAAKswB,IAAIs2C,gBACnC5mE,KAAKswB,IAAI5wB,KAAKqS,YAAY/R,KAAKswB,IAAIroB,KACnCjI,KAAKswB,IAAI5wB,KAAKqS,YAAY/R,KAAKswB,IAAIzM,QAEnC7jB,KAAKswB,IAAIiI,gBAAgBxmB,YAAY/R,KAAKswB,IAAI7D,QAC9CzsB,KAAKswB,IAAIq2C,cAAc50D,YAAY/R,KAAKswB,IAAIzoB,MAC5C7H,KAAKswB,IAAIs2C,eAAe70D,YAAY/R,KAAKswB,IAAI1I,OAE7C5nB,KAAKswB,IAAIiI,gBAAgBxmB,YAAY/R,KAAKswB,IAAIu2C,WAC9C7mE,KAAKswB,IAAIiI,gBAAgBxmB,YAAY/R,KAAKswB,IAAIw2C,cAC9C9mE,KAAKswB,IAAIq2C,cAAc50D,YAAY/R,KAAKswB,IAAIy2C,eAC5C/mE,KAAKswB,IAAIq2C,cAAc50D,YAAY/R,KAAKswB,IAAI02C,kBAC5ChnE,KAAKswB,IAAIs2C,eAAe70D,YAAY/R,KAAKswB,IAAI22C,gBAC7CjnE,KAAKswB,IAAIs2C,eAAe70D,YAAY/R,KAAKswB,IAAI42C,mBAE7ClnE,KAAK6T,GAAG,cAAe7T,KAAKy2B,QAAQpB,KAAKr1B,OACzCA,KAAK6T,GAAG,QAAS7T,KAAK++B,SAAS1J,KAAKr1B,OACpCA,KAAK6T,GAAG,QAAS7T,KAAKg/B,SAAS3J,KAAKr1B,OACpCA,KAAK6T,GAAG,YAAa7T,KAAK0+B,aAAarJ,KAAKr1B,OAC5CA,KAAK6T,GAAG,OAAQ7T,KAAK2+B,QAAQtJ,KAAKr1B,MAElC,IAAIyU,GAAKzU,IACTA,MAAK6T,GAAG,SAAU,SAAUw8C,GACtBA,GAAkC,GAApBA,EAAW38C,MAEtBe,EAAG0yD,eACN1yD,EAAG0yD,aAAertD,WAAW,WAC3BrF,EAAG0yD,aAAe,KAClB1yD,EAAGgiB,WACF,IAKLhiB,EAAGgiB,YAMPz2B,KAAK8D,OAAS2hC,EAAOzlC,KAAKswB,IAAI5wB,MAC5BkK,gBAAgB,IAElB5J,KAAKonE,YAEL,IAAIC,IACF,QAAS,QACT,MAAO,YAAa,OACpB,YAAa,OAAQ,UACrB,aAAc,iBAkChB,IAhCAA,EAAOz+D,QAAQ,SAAUiB,GACvB,GAAIR,GAAW,WACb,GAAIoQ,IAAQ5P,GAAOyK,OAAOhO,MAAMmN,UAAU7H,MAAMrL,KAAKwF,UAAW,GAC5D0O,GAAG22C,YACL32C,EAAG0Z,KAAK9V,MAAM5D,EAAIgF,GAGtBhF,GAAG3Q,OAAO+P,GAAGhK,EAAOR,GACpBoL,EAAG2yD,UAAUv9D,GAASR,IAIxBrJ,KAAKqG,OACH3G,QACAgN,cACA6rB,mBACAouC,iBACAC,kBACAn6C,UACA5kB,QACA+f,SACA3f,OACA4b,UACAlX,UACAy+B,UAAW,EACXk8B,aAAc,GAEhBtnE,KAAKw+B,SAELx+B,KAAKunE,YAAc,GAGdxtD,EAAW,KAAM,IAAInW,OAAM,wBAChCmW,GAAUhI,YAAY/R,KAAKswB,IAAI5wB,OA4BjCg3B,EAAKjjB,UAAUD,WAAa,SAAUzE,GACpC,GAAIA,EAAS,CAEX,GAAIP,IAAU,QAAS,SAAU,YAAa,YAAa,aAAc,QAAS,MAAO,cAAe,aAAc,iBAAkB,cACxI7N,GAAKyF,gBAAgBoI,EAAQxO,KAAK+O,QAASA,GAEvC,eAAiB/O,MAAK+O,SACxBpN,EAASw2B,qBAAqBn4B,KAAKk1B,KAAMl1B,KAAK+O,QAAQumB,aAGpD,cAAgBvmB,KACdA,EAAQ66C,WACL5pD,KAAK6pD,YACR7pD,KAAK6pD,UAAY,GAAInD,GAAU1mD,KAAKswB,IAAI5wB,OAItCM,KAAK6pD,YACP7pD,KAAK6pD,UAAUj2C,gBACR5T,MAAK6pD,YAMlB7pD,KAAKwnE,kBASP,GALAxnE,KAAKgC,WAAW4G,QAAQ,SAAU6+D,GAChCA,EAAUj0D,WAAWzE,KAInBA,GAAWA,EAAQgH,MACrB,KAAM,IAAInS,OAAM,wEAIlB5D,MAAKy2B,WAOPC,EAAKjjB,UAAU23C,SAAW,WACxB,OAAQprD,KAAK6pD,WAAa7pD,KAAK6pD,UAAUuL,QAM3C1+B,EAAKjjB,UAAUG,QAAU,WAEvB5T,KAAK+W,QAGL/W,KAAKgU,MAGLhU,KAAK0nE,kBAGD1nE,KAAKswB,IAAI5wB,KAAKyK,YAChBnK,KAAKswB,IAAI5wB,KAAKyK,WAAWsH,YAAYzR,KAAKswB,IAAI5wB,MAEhDM,KAAKswB,IAAM,KAGPtwB,KAAK6pD,YACP7pD,KAAK6pD,UAAUj2C,gBACR5T,MAAK6pD,UAId,KAAK,GAAIhgD,KAAS7J,MAAKonE,UACjBpnE,KAAKonE,UAAUjhE,eAAe0D,UACzB7J,MAAKonE,UAAUv9D,EAG1B7J,MAAKonE,UAAY,KACjBpnE,KAAK8D,OAAS,KAGd9D,KAAKgC,WAAW4G,QAAQ,SAAU6+D,GAChCA,EAAU7zD,YAGZ5T,KAAKk1B,KAAO,MAQdwB,EAAKjjB,UAAUg2B,cAAgB,SAAU5O,GACvC,IAAK76B,KAAKm2B,WACR,KAAM,IAAIvyB,OAAM,yDAGlB5D,MAAKm2B,WAAWsT,cAAc5O,IAOhCnE,EAAKjjB,UAAUi2B,cAAgB,WAC7B,IAAK1pC,KAAKm2B,WACR,KAAM,IAAIvyB,OAAM,yDAGlB,OAAO5D,MAAKm2B,WAAWuT,iBAQzBhT,EAAKjjB,UAAUsgC,gBAAkB,WAC/B,MAAO/zC,MAAKo2B,SAAWp2B,KAAKo2B,QAAQ2d,uBAetCrd,EAAKjjB,UAAUsD,MAAQ,SAAS4wD,KAEzBA,GAAQA,EAAK1lE,QAChBjC,KAAKw2B,SAAS,QAIXmxC,GAAQA,EAAKjzC,SAChB10B,KAAKu2B,UAAU,QAIZoxC,GAAQA,EAAK54D,WAChB/O,KAAKgC,WAAW4G,QAAQ,SAAU6+D,GAChCA,EAAUj0D,WAAWi0D,EAAU7yC,kBAGjC50B,KAAKwT,WAAWxT,KAAK40B,kBAazB8B,EAAKjjB,UAAU0jB,IAAM,SAASpoB,GAC5B,GAAIknB,GAAQj2B,KAAKg3B,eAGjB,IAAoB,OAAhBf,EAAM/lB,OAAgC,OAAd+lB,EAAM9lB,IAAlC,CAIA,GAAI+mB,GAAWnoB,GAA+BlI,SAApBkI,EAAQmoB,QAAyBnoB,EAAQmoB,SAAU,CAC7El3B,MAAKi2B,MAAMnC,SAASmC,EAAM/lB,MAAO+lB,EAAM9lB,IAAK+mB,KAQ9CR,EAAKjjB,UAAUujB,cAAgB,WAE7B,GAAID,GAAY/2B,KAAKy3B,eAGjBvnB,EAAQ6mB,EAAU5yB,IAClBgM,EAAM4mB,EAAU3yB,GACpB,IAAa,MAAT8L,GAAwB,MAAPC,EAAa,CAChC,GAAI4iB,GAAY5iB,EAAI9I,UAAY6I,EAAM7I,SACtB,IAAZ0rB,IAEFA,EAAW,OAEb7iB,EAAQ,GAAItL,MAAKsL,EAAM7I,UAAuB,IAAX0rB,GACnC5iB,EAAM,GAAIvL,MAAKuL,EAAI9I,UAAuB,IAAX0rB,GAGjC,OACE7iB,MAAOA,EACPC,IAAKA,IAwBTumB,EAAKjjB,UAAUwjB,UAAY,SAAS/mB,EAAOC,EAAKpB,GAC9C,GAAImoB,EACJ,IAAwB,GAApBnxB,UAAUC,OAAa,CACzB,GAAIiwB,GAAQlwB,UAAU,EACtBmxB,GAA6BrwB,SAAlBovB,EAAMiB,QAAyBjB,EAAMiB,SAAU,EAC1Dl3B,KAAKi2B,MAAMnC,SAASmC,EAAM/lB,MAAO+lB,EAAM9lB,IAAK+mB,OAG5CA,GAAWnoB,GAA+BlI,SAApBkI,EAAQmoB,QAAyBnoB,EAAQmoB,SAAU,EACzEl3B,KAAKi2B,MAAMnC,SAAS5jB,EAAOC,EAAK+mB,IAcpCR,EAAKjjB,UAAU2U,OAAS,SAASyS,EAAM9rB,GACrC,GAAIgkB,GAAW/yB,KAAKi2B,MAAM9lB,IAAMnQ,KAAKi2B,MAAM/lB,MACvC9B,EAAIzN,EAAKuG,QAAQ2zB,EAAM,QAAQxzB,UAE/B6I,EAAQ9B,EAAI2kB,EAAW,EACvB5iB,EAAM/B,EAAI2kB,EAAW,EACrBmE,EAAWnoB,GAA+BlI,SAApBkI,EAAQmoB,QAAyBnoB,EAAQmoB,SAAU,CAE7El3B,MAAKi2B,MAAMnC,SAAS5jB,EAAOC,EAAK+mB,IAOlCR,EAAKjjB,UAAUm0D,UAAY,WACzB,GAAI3xC,GAAQj2B,KAAKi2B,MAAMgK,UACvB,QACE/vB,MAAO,GAAItL,MAAKqxB,EAAM/lB,OACtBC,IAAK,GAAIvL,MAAKqxB,EAAM9lB,OAOxBumB,EAAKjjB,UAAUuO,OAAS,WACtBhiB,KAAKy2B,WAQPC,EAAKjjB,UAAUgjB,QAAU,WACvB,GAAIiS,IAAU,EACV35B,EAAU/O,KAAK+O,QACf1I,EAAQrG,KAAKqG,MACbiqB,EAAMtwB,KAAKswB,GAEf,IAAKA,EAAL,CAEA3uB,EAAS22B,kBAAkBt4B,KAAKk1B,KAAMl1B,KAAK+O,QAAQumB,aAGxB,OAAvBvmB,EAAQ+lB,aACVn0B,EAAKwH,aAAamoB,EAAI5wB,KAAM,OAC5BiB,EAAK8H,gBAAgB6nB,EAAI5wB,KAAM,YAG/BiB,EAAK8H,gBAAgB6nB,EAAI5wB,KAAM,OAC/BiB,EAAKwH,aAAamoB,EAAI5wB,KAAM,WAI9B4wB,EAAI5wB,KAAK6N,MAAMwnB,UAAYp0B,EAAKyJ,OAAOK,OAAOsE,EAAQgmB,UAAW,IACjEzE,EAAI5wB,KAAK6N,MAAMynB,UAAYr0B,EAAKyJ,OAAOK,OAAOsE,EAAQimB,UAAW,IACjE1E,EAAI5wB,KAAK6N,MAAMsF,MAAQlS,EAAKyJ,OAAOK,OAAOsE,EAAQ8D,MAAO,IAGzDxM,EAAMsG,OAAO9E,MAAUyoB,EAAIiI,gBAAgB5H,YAAcL,EAAIiI,gBAAgBxY,aAAe,EAC5F1Z,EAAMsG,OAAOib,MAASvhB,EAAMsG,OAAO9E,KACnCxB,EAAMsG,OAAO1E,KAAUqoB,EAAIiI,gBAAgB1H,aAAeP,EAAIiI,gBAAgBnT,cAAgB,EAC9F/e,EAAMsG,OAAOkX,OAASxd,EAAMsG,OAAO1E,GACnC,IAAI4/D,GAAkBv3C,EAAI5wB,KAAKmxB,aAAeP,EAAI5wB,KAAK0lB,aACnD0iD,EAAkBx3C,EAAI5wB,KAAKixB,YAAcL,EAAI5wB,KAAKqgB,WAIb,KAArCuQ,EAAIiI,gBAAgBnT,eACtB/e,EAAMsG,OAAO9E,KAAOxB,EAAMsG,OAAO1E,IACjC5B,EAAMsG,OAAOib,MAASvhB,EAAMsG,OAAO9E,MAEP,IAA1ByoB,EAAI5wB,KAAK0lB,eACX0iD,EAAkBD,GAKpBxhE,EAAMomB,OAAO3Z,OAASwd,EAAI7D,OAAOoE,aACjCxqB,EAAMwB,KAAKiL,OAAWwd,EAAIzoB,KAAKgpB,aAC/BxqB,EAAMuhB,MAAM9U,OAAUwd,EAAI1I,MAAMiJ,aAChCxqB,EAAM4B,IAAI6K,OAAYwd,EAAIroB,IAAImd,eAAoB/e,EAAMsG,OAAO1E,IAC/D5B,EAAMwd,OAAO/Q,OAASwd,EAAIzM,OAAOuB,eAAiB/e,EAAMsG,OAAOkX,MAM/D,IAAI+M,GAAgBpsB,KAAKJ,IAAIiC,EAAMwB,KAAKiL,OAAQzM,EAAMomB,OAAO3Z,OAAQzM,EAAMuhB,MAAM9U,QAC7Ei1D,EAAa1hE,EAAM4B,IAAI6K,OAAS8d,EAAgBvqB,EAAMwd,OAAO/Q,OAC/D+0D,EAAmBxhE,EAAMsG,OAAO1E,IAAM5B,EAAMsG,OAAOkX,MACrDyM,GAAI5wB,KAAK6N,MAAMuF,OAASnS,EAAKyJ,OAAOK,OAAOsE,EAAQ+D,OAAQi1D,EAAa,MAGxE1hE,EAAM3G,KAAKoT,OAASwd,EAAI5wB,KAAKmxB,aAC7BxqB,EAAMqG,WAAWoG,OAASzM,EAAM3G,KAAKoT,OAAS+0D,CAC9C,IAAI9rC,GAAkB11B,EAAM3G,KAAKoT,OAASzM,EAAM4B,IAAI6K,OAASzM,EAAMwd,OAAO/Q,OACxE+0D,CACFxhE,GAAMkyB,gBAAgBzlB,OAAUipB,EAChC11B,EAAMsgE,cAAc7zD,OAAYipB,EAChC11B,EAAMugE,eAAe9zD,OAAWzM,EAAMsgE,cAAc7zD,OAGpDzM,EAAM3G,KAAKmT,MAAQyd,EAAI5wB,KAAKixB,YAC5BtqB,EAAMqG,WAAWmG,MAAQxM,EAAM3G,KAAKmT,MAAQi1D,EAC5CzhE,EAAMwB,KAAKgL,MAAQyd,EAAIq2C,cAAc5mD,cAAkB1Z,EAAMsG,OAAO9E,KACpExB,EAAMsgE,cAAc9zD,MAAQxM,EAAMwB,KAAKgL,MACvCxM,EAAMuhB,MAAM/U,MAAQyd,EAAIs2C,eAAe7mD,cAAgB1Z,EAAMsG,OAAOib,MACpEvhB,EAAMugE,eAAe/zD,MAAQxM,EAAMuhB,MAAM/U,KACzC,IAAIm1D,GAAc3hE,EAAM3G,KAAKmT,MAAQxM,EAAMwB,KAAKgL,MAAQxM,EAAMuhB,MAAM/U,MAAQi1D,CAC5EzhE,GAAMomB,OAAO5Z,MAAiBm1D,EAC9B3hE,EAAMkyB,gBAAgB1lB,MAAQm1D,EAC9B3hE,EAAM4B,IAAI4K,MAAoBm1D,EAC9B3hE,EAAMwd,OAAOhR,MAAiBm1D,EAG9B13C,EAAI5jB,WAAWa,MAAMuF,OAAmBzM,EAAMqG,WAAWoG,OAAS,KAClEwd,EAAIyY,mBAAmBx7B,MAAMuF,OAAWzM,EAAMqG,WAAWoG,OAAS,KAClEwd,EAAIyb,qBAAqBx+B,MAAMuF,OAASzM,EAAMkyB,gBAAgBzlB,OAAS,KACvEwd,EAAIiI,gBAAgBhrB,MAAMuF,OAAczM,EAAMkyB,gBAAgBzlB,OAAS,KACvEwd,EAAIq2C,cAAcp5D,MAAMuF,OAAgBzM,EAAMsgE,cAAc7zD,OAAS,KACrEwd,EAAIs2C,eAAer5D,MAAMuF,OAAezM,EAAMugE,eAAe9zD,OAAS,KAEtEwd,EAAI5jB,WAAWa,MAAMsF,MAAmBxM,EAAMqG,WAAWmG,MAAQ,KACjEyd,EAAIyY,mBAAmBx7B,MAAMsF,MAAWxM,EAAMkyB,gBAAgB1lB,MAAQ,KACtEyd,EAAIyb,qBAAqBx+B,MAAMsF,MAASxM,EAAMqG,WAAWmG,MAAQ,KACjEyd,EAAIiI,gBAAgBhrB,MAAMsF,MAAcxM,EAAMomB,OAAO5Z,MAAQ,KAC7Dyd,EAAIroB,IAAIsF,MAAMsF,MAA0BxM,EAAM4B,IAAI4K,MAAQ,KAC1Dyd,EAAIzM,OAAOtW,MAAMsF,MAAuBxM,EAAMwd,OAAOhR,MAAQ,KAG7Dyd,EAAI5jB,WAAWa,MAAM1F,KAAiB,IACtCyoB,EAAI5jB,WAAWa,MAAMtF,IAAiB,IACtCqoB,EAAIyY,mBAAmBx7B,MAAM1F,KAAUxB,EAAMwB,KAAKgL,MAAQxM,EAAMsG,OAAO9E,KAAQ,KAC/EyoB,EAAIyY,mBAAmBx7B,MAAMtF,IAAS,IACtCqoB,EAAIyb,qBAAqBx+B,MAAM1F,KAAO,IACtCyoB,EAAIyb,qBAAqBx+B,MAAMtF,IAAO5B,EAAM4B,IAAI6K,OAAS,KACzDwd,EAAIiI,gBAAgBhrB,MAAM1F,KAAYxB,EAAMwB,KAAKgL,MAAQ,KACzDyd,EAAIiI,gBAAgBhrB,MAAMtF,IAAY5B,EAAM4B,IAAI6K,OAAS,KACzDwd,EAAIq2C,cAAcp5D,MAAM1F,KAAc,IACtCyoB,EAAIq2C,cAAcp5D,MAAMtF,IAAc5B,EAAM4B,IAAI6K,OAAS,KACzDwd,EAAIs2C,eAAer5D,MAAM1F,KAAcxB,EAAMwB,KAAKgL,MAAQxM,EAAMomB,OAAO5Z,MAAS,KAChFyd,EAAIs2C,eAAer5D,MAAMtF,IAAa5B,EAAM4B,IAAI6K,OAAS,KACzDwd,EAAIroB,IAAIsF,MAAM1F,KAAwBxB,EAAMwB,KAAKgL,MAAQ,KACzDyd,EAAIroB,IAAIsF,MAAMtF,IAAwB,IACtCqoB,EAAIzM,OAAOtW,MAAM1F,KAAqBxB,EAAMwB,KAAKgL,MAAQ,KACzDyd,EAAIzM,OAAOtW,MAAMtF,IAAsB5B,EAAM4B,IAAI6K,OAASzM,EAAMkyB,gBAAgBzlB,OAAU,KAI1F9S,KAAKioE,kBAGL,IAAI/9C,GAASlqB,KAAKqG,MAAM+kC,SACG,WAAvBr8B,EAAQ+lB,cACV5K,GAAU1lB,KAAKJ,IAAIpE,KAAKqG,MAAMkyB,gBAAgBzlB,OAAS9S,KAAKqG,MAAMomB,OAAO3Z,OACvE9S,KAAKqG,MAAMsG,OAAO1E,IAAMjI,KAAKqG,MAAMsG,OAAOkX,OAAQ,IAEtDyM,EAAI7D,OAAOlf,MAAM1F,KAAO,IACxByoB,EAAI7D,OAAOlf,MAAMtF,IAAOiiB,EAAS,KACjCoG,EAAIzoB,KAAK0F,MAAM1F,KAAS,IACxByoB,EAAIzoB,KAAK0F,MAAMtF,IAASiiB,EAAS,KACjCoG,EAAI1I,MAAMra,MAAM1F,KAAQ,IACxByoB,EAAI1I,MAAMra,MAAMtF,IAAQiiB,EAAS,IAGjC,IAAIg+C,GAAwC,GAAxBloE,KAAKqG,MAAM+kC,UAAiB,SAAW,GACvD+8B,EAAmBnoE,KAAKqG,MAAM+kC,WAAaprC,KAAKqG,MAAMihE,aAAe,SAAW,EAYpF,IAXAh3C,EAAIu2C,UAAUt5D,MAAM2qB,WAAsBgwC,EAC1C53C,EAAIw2C,aAAav5D,MAAM2qB,WAAmBiwC,EAC1C73C,EAAIy2C,cAAcx5D,MAAM2qB,WAAkBgwC,EAC1C53C,EAAI02C,iBAAiBz5D,MAAM2qB,WAAeiwC,EAC1C73C,EAAI22C,eAAe15D,MAAM2qB,WAAiBgwC,EAC1C53C,EAAI42C,kBAAkB35D,MAAM2qB,WAAciwC,EAG1CnoE,KAAKgC,WAAW4G,QAAQ,SAAU6+D,GAChC/+B,EAAU++B,EAAUzlD,UAAY0mB,IAE9BA,EAAS,CAEX,GAAI0/B,GAAc,CACdpoE,MAAKunE,YAAca,GACrBpoE,KAAKunE,cACLvnE,KAAKy2B,WAGL4C,QAAQnF,IAAI,qCAEdl0B,KAAKunE,YAAc,EAGrBvnE,KAAKmuB,KAAK,oBAIZuI,EAAKjjB,UAAU40D,QAAU,WACvB,KAAM,IAAIzkE,OAAM,wDAUlB8yB,EAAKjjB,UAAU01B,eAAiB,SAAStO,GACvC,IAAK76B,KAAKk2B,YACR,KAAM,IAAItyB,OAAM,sCAGlB5D;KAAKk2B,YAAYiT,eAAetO,IAQlCnE,EAAKjjB,UAAU21B,eAAiB,WAC9B,IAAKppC,KAAKk2B,YACR,KAAM,IAAItyB,OAAM,sCAGlB,OAAO5D,MAAKk2B,YAAYkT,kBAU1B1S,EAAKjjB,UAAUqiB,QAAU,SAASzjB,GAChC,MAAO1Q,GAASk0B,OAAO71B,KAAMqS,EAAGrS,KAAKqG,MAAMomB,OAAO5Z,QAUpD6jB,EAAKjjB,UAAUuiB,cAAgB,SAAS3jB,GACtC,MAAO1Q,GAASk0B,OAAO71B,KAAMqS,EAAGrS,KAAKqG,MAAM3G,KAAKmT,QAalD6jB,EAAKjjB,UAAUiiB,UAAY,SAASmF,GAClC,MAAOl5B,GAAS8zB,SAASz1B,KAAM66B,EAAM76B,KAAKqG,MAAMomB,OAAO5Z,QAczD6jB,EAAKjjB,UAAUmiB,gBAAkB,SAASiF,GACxC,MAAOl5B,GAAS8zB,SAASz1B,KAAM66B,EAAM76B,KAAKqG,MAAM3G,KAAKmT,QAUvD6jB,EAAKjjB,UAAU+zD,gBAAkB,WACA,GAA3BxnE,KAAK+O,QAAQ8lB,WACf70B,KAAKsoE,mBAGLtoE,KAAK0nE,mBASThxC,EAAKjjB,UAAU60D,iBAAmB,WAChC,GAAI7zD,GAAKzU,IAETA,MAAK0nE,kBAEL1nE,KAAKuoE,UAAY,WACf,MAA6B,IAAzB9zD,EAAG1F,QAAQ8lB,eAEbpgB,GAAGizD,uBAIDjzD,EAAG6b,IAAI5wB,OAKJ+U,EAAG6b,IAAI5wB,KAAKixB,aAAelc,EAAGpO,MAAMiuC,WACtC7/B,EAAG6b,IAAI5wB,KAAKmxB,cAAgBpc,EAAGpO,MAAMmiE,cACtC/zD,EAAGpO,MAAMiuC,UAAY7/B,EAAG6b,IAAI5wB,KAAKixB,YACjClc,EAAGpO,MAAMmiE,WAAa/zD,EAAG6b,IAAI5wB,KAAKmxB,aAElCpc,EAAG0Z,KAAK,aAMdxtB,EAAKuI,iBAAiBpB,OAAQ,SAAU9H,KAAKuoE,WAE7CvoE,KAAKyoE,WAAaC,YAAY1oE,KAAKuoE,UAAW,MAOhD7xC,EAAKjjB,UAAUi0D,gBAAkB,WAC3B1nE,KAAKyoE,aACPz1C,cAAchzB,KAAKyoE,YACnBzoE,KAAKyoE,WAAa5hE,QAIpBlG,EAAK+I,oBAAoB5B,OAAQ,SAAU9H,KAAKuoE,WAChDvoE,KAAKuoE,UAAY,MAQnB7xC,EAAKjjB,UAAUsrB,SAAW,WACxB/+B,KAAKw+B,MAAM4B,eAAgB,GAQ7B1J,EAAKjjB,UAAUurB,SAAW,WACxBh/B,KAAKw+B,MAAM4B,eAAgB,GAQ7B1J,EAAKjjB,UAAUirB,aAAe,WAC5B1+B,KAAKw+B,MAAMmqC,iBAAmB3oE,KAAKqG,MAAM+kC,WAQ3C1U,EAAKjjB,UAAUkrB,QAAU,SAAU90B,GAGjC,GAAK7J,KAAKw+B,MAAM4B,cAAhB,CAEA,GAAIpR,GAAQnlB,EAAMw2B,QAAQE,OAEtBqoC,EAAe5oE,KAAK6oE,gBACpBC,EAAe9oE,KAAK+oE,cAAc/oE,KAAKw+B,MAAMmqC,iBAAmB35C,EAGhE85C,IAAgBF,IAClB5oE,KAAKy2B,UACLz2B,KAAKmuB,KAAK,mBAUduI,EAAKjjB,UAAUs1D,cAAgB,SAAU39B,GAGvC,MAFAprC,MAAKqG,MAAM+kC,UAAYA,EACvBprC,KAAKioE,mBACEjoE,KAAKqG,MAAM+kC,WAQpB1U,EAAKjjB,UAAUw0D,iBAAmB,WAEhC,GAAIX,GAAe9iE,KAAKL,IAAInE,KAAKqG,MAAMkyB,gBAAgBzlB,OAAS9S,KAAKqG,MAAMomB,OAAO3Z,OAAQ,EAc1F,OAbIw0D,IAAgBtnE,KAAKqG,MAAMihE,eAGG,UAA5BtnE,KAAK+O,QAAQ+lB,cACf90B,KAAKqG,MAAM+kC,WAAck8B,EAAetnE,KAAKqG,MAAMihE,cAErDtnE,KAAKqG,MAAMihE,aAAeA,GAIxBtnE,KAAKqG,MAAM+kC,UAAY,IAAGprC,KAAKqG,MAAM+kC,UAAY,GACjDprC,KAAKqG,MAAM+kC,UAAYk8B,IAActnE,KAAKqG,MAAM+kC,UAAYk8B,GAEzDtnE,KAAKqG,MAAM+kC,WAQpB1U,EAAKjjB,UAAUo1D,cAAgB,WAC7B,MAAO7oE,MAAKqG,MAAM+kC,WAGpBvrC,EAAOD,QAAU82B,GAKb,SAAS72B,EAAQD,EAASM,GAE9B,GAAIulC,GAASvlC,EAAoB,GAOjCN,GAAQ+gC,YAAc,SAASx3B,EAASU,GACtC,GAAIm/D,GAAY,KAMZhoC,EAAUyE,EAAO57B,MAAMo/D,aAAap/D,EAAOm/D,GAC3C3oC,EAAUoF,EAAO57B,MAAMq/D,iBAAiBlpE,KAAMgpE,EAAWhoC,EAASn3B,EAWtE,OAPI7E,OAAMq7B,EAAQ5T,OAAO0S,SACvBkB,EAAQ5T,OAAO0S,MAAQt1B,EAAMs1B,OAE3Bn6B,MAAMq7B,EAAQ5T,OAAO2S,SACvBiB,EAAQ5T,OAAO2S,MAAQv1B,EAAMu1B,OAGxBiB,IAML,SAASxgC,EAAQD,GAGrBA,EAAY,IACV46B,QAAS,UACTK,KAAM,QAERj7B,EAAe,MAAIA,EAAY,GAC/BA,EAAe,MAAIA,EAAY,GAG/BA,EAAY,IACVupE,OAAQ,aACRtuC,KAAM,QAERj7B,EAAe,MAAIA,EAAY,GAC/BA,EAAe,MAAIA,EAAY,IAK3B,SAASC,EAAQD,EAASM,GAQ9B,QAASsuC,GAAKxW,EAASjpB,GACrB/O,KAAKg4B,QAAUA,EACfh4B,KAAK+O,QAAUA,EALjB,GAAInO,GAAUV,EAAoB,GAC9BwuC,EAASxuC,EAAoB,GAOjCsuC,GAAK/6B,UAAUi8B,UAAY,SAASC,GAGlC,IAAK,GAFDvzB,GAAOuzB,EAAU,GAAGr9B,EACpBgK,EAAOqzB,EAAU,GAAGr9B,EACf6Z,EAAI,EAAGA,EAAIwjB,EAAU3pC,OAAQmmB,IACpC/P,EAAOA,EAAOuzB,EAAUxjB,GAAG7Z,EAAIq9B,EAAUxjB,GAAG7Z,EAAI8J,EAChDE,EAAOA,EAAOqzB,EAAUxjB,GAAG7Z,EAAIq9B,EAAUxjB,GAAG7Z,EAAIgK,CAElD,QAAQnY,IAAKiY,EAAMhY,IAAKkY,EAAMmzB,iBAAkBzvC,KAAK+O,QAAQ0gC,mBAU/DjB,EAAK/6B,UAAUm8B,KAAO,SAAUlY,EAASnlB,EAAOs9B,GAC9C,GAAe,MAAXnY,GACEA,EAAQ1xB,OAAS,EAAG,CACtB,GAAIgpC,GAAM/hC,EACNquC,EAAYr3C,OAAO4rC,EAAUlG,IAAIp8B,MAAMuF,OAAOhI,QAAQ,KAAK,IAgB/D,IAfAkkC,EAAOpuC,EAAQ8Q,cAAc,OAAQm+B,EAAU7E,YAAa6E,EAAUlG,KACtEqF,EAAKt8B,eAAe,KAAM,QAASH,EAAMnK,WACtBvB,SAAhB0L,EAAMhF,OACPyhC,EAAKt8B,eAAe,KAAM,QAASH,EAAMhF,OAKzCN,EADsC,GAApCsF,EAAMxD,QAAQ6/B,WAAW5/B,QACvBw/B,EAAK46B,YAAY1xC,EAASnlB,GAG1Bi8B,EAAK66B,QAAQ3xC,GAIiB,GAAhCnlB,EAAMxD,QAAQqgC,OAAOpgC,QAAiB,CACxC,GACIs6D,GADAr6B,EAAWruC,EAAQ8Q,cAAc,OAAQm+B,EAAU7E,YAAa6E,EAAUlG,IAG5E2/B,GADsC,OAApC/2D,EAAMxD,QAAQqgC,OAAOta,YACf,IAAM4C,EAAQ,GAAGrlB,EAAI,MAAgBpF,EAAI,IAAMyqB,EAAQA,EAAQ1xB,OAAS,GAAGqM,EAAI,KAG/E,IAAMqlB,EAAQ,GAAGrlB,EAAI,IAAMipC,EAAY,IAAMruC,EAAI,IAAMyqB,EAAQA,EAAQ1xB,OAAS,GAAGqM,EAAI,IAAMipC,EAEvGrM,EAASv8B,eAAe,KAAM,QAASH,EAAMnK,UAAY,SACvBvB,SAA/B0L,EAAMxD,QAAQqgC,OAAO7hC,OACtB0hC,EAASv8B,eAAe,KAAM,QAASH,EAAMxD,QAAQqgC,OAAO7hC,OAE9D0hC,EAASv8B,eAAe,KAAM,IAAK42D,GAGrCt6B,EAAKt8B,eAAe,KAAM,IAAK,IAAMzF,GAGG,GAApCsF,EAAMxD,QAAQ0D,WAAWzD,SAC3B0/B,EAAOkB,KAAKlY,EAASnlB,EAAOs9B,KAepCrB,EAAK+6B,mBAAqB,SAASv2D,GAMjC,IAAK,GAJDw2D,GAAIC,EAAIC,EAAIC,EAAIC,EAAKC,EACrB58D,EAAIzI,KAAKypB,MAAMjb,EAAK,GAAGX,GAAK,IAAM7N,KAAKypB,MAAMjb,EAAK,GAAGV,GAAK,IAC1Dw3D,EAAgB,EAAE,EAClB9jE,EAASgN,EAAKhN,OACTH,EAAI,EAAOG,EAAS,EAAbH,EAAgBA,IAE9B2jE,EAAW,GAAL3jE,EAAUmN,EAAK,GAAKA,EAAKnN,EAAE,GACjC4jE,EAAKz2D,EAAKnN,GACV6jE,EAAK12D,EAAKnN,EAAE,GACZ8jE,EAAc3jE,EAARH,EAAI,EAAcmN,EAAKnN,EAAE,GAAK6jE,EAUpCE,GAAQv3D,IAAMm3D,EAAGn3D,EAAI,EAAEo3D,EAAGp3D,EAAIq3D,EAAGr3D,GAAIy3D,EAAgBx3D,IAAMk3D,EAAGl3D,EAAI,EAAEm3D,EAAGn3D,EAAIo3D,EAAGp3D,GAAIw3D,GAClFD,GAAQx3D,GAAMo3D,EAAGp3D,EAAI,EAAEq3D,EAAGr3D,EAAIs3D,EAAGt3D,GAAIy3D,EAAgBx3D,GAAMm3D,EAAGn3D,EAAI,EAAEo3D,EAAGp3D,EAAIq3D,EAAGr3D,GAAIw3D,GAGlF78D,GAAK,IACL28D,EAAIv3D,EAAI,IACRu3D,EAAIt3D,EAAI,IACRu3D,EAAIx3D,EAAI,IACRw3D,EAAIv3D,EAAI,IACRo3D,EAAGr3D,EAAI,IACPq3D,EAAGp3D,EAAI,GAGT,OAAOrF,IAcTuhC,EAAK46B,YAAc,SAASp2D,EAAMT,GAChC,GAAIu8B,GAAQv8B,EAAMxD,QAAQ6/B,WAAWE,KACrC,IAAa,GAATA,GAAwBjoC,SAAVioC,EAChB,MAAO9uC,MAAKupE,mBAAmBv2D,EAO/B,KAAK,GAJDw2D,GAAIC,EAAIC,EAAIC,EAAIC,EAAKC,EAAKE,EAAGC,EAAGC,EAAIC,EAAGl/C,EAAGm/C,EAAGC,EAC7CC,EAAQC,EAAQC,EAASC,EAASC,EAASC,EAC3Cz9D,EAAIzI,KAAKypB,MAAMjb,EAAK,GAAGX,GAAK,IAAM7N,KAAKypB,MAAMjb,EAAK,GAAGV,GAAK,IAC1DtM,EAASgN,EAAKhN,OACTH,EAAI,EAAOG,EAAS,EAAbH,EAAgBA,IAE9B2jE,EAAW,GAAL3jE,EAAUmN,EAAK,GAAKA,EAAKnN,EAAE,GACjC4jE,EAAKz2D,EAAKnN,GACV6jE,EAAK12D,EAAKnN,EAAE,GACZ8jE,EAAc3jE,EAARH,EAAI,EAAcmN,EAAKnN,EAAE,GAAK6jE,EAEpCK,EAAKvlE,KAAK0rB,KAAK1rB,KAAK6vB,IAAIm1C,EAAGn3D,EAAIo3D,EAAGp3D,EAAE,GAAK7N,KAAK6vB,IAAIm1C,EAAGl3D,EAAIm3D,EAAGn3D,EAAE,IAC9D03D,EAAKxlE,KAAK0rB,KAAK1rB,KAAK6vB,IAAIo1C,EAAGp3D,EAAIq3D,EAAGr3D,EAAE,GAAK7N,KAAK6vB,IAAIo1C,EAAGn3D,EAAIo3D,EAAGp3D,EAAE,IAC9D23D,EAAKzlE,KAAK0rB,KAAK1rB,KAAK6vB,IAAIq1C,EAAGr3D,EAAIs3D,EAAGt3D,EAAE,GAAK7N,KAAK6vB,IAAIq1C,EAAGp3D,EAAIq3D,EAAGr3D,EAAE,IAY9D+3D,EAAU7lE,KAAK6vB,IAAI41C,EAAKn7B,GACxBy7B,EAAU/lE,KAAK6vB,IAAI41C,EAAG,EAAEn7B,GACxBw7B,EAAU9lE,KAAK6vB,IAAI21C,EAAKl7B,GACxB07B,EAAUhmE,KAAK6vB,IAAI21C,EAAG,EAAEl7B,GACxB47B,EAAUlmE,KAAK6vB,IAAI01C,EAAKj7B,GACxB27B,EAAUjmE,KAAK6vB,IAAI01C,EAAG,EAAEj7B,GAExBo7B,EAAI,EAAEO,EAAU,EAAEC,EAASJ,EAASE,EACpCx/C,EAAI,EAAEu/C,EAAU,EAAEF,EAASC,EAASE,EACpCL,EAAI,EAAEO,GAAUA,EAASJ,GACrBH,EAAI,IAAIA,EAAI,EAAIA,GACpBC,EAAI,EAAEC,GAAUA,EAASC,GACrBF,EAAI,IAAIA,EAAI,EAAIA,GAEpBR,GAAQv3D,IAAMm4D,EAAUhB,EAAGn3D,EAAI63D,EAAET,EAAGp3D,EAAIo4D,EAAUf,EAAGr3D,GAAK83D,EACxD73D,IAAMk4D,EAAUhB,EAAGl3D,EAAI43D,EAAET,EAAGn3D,EAAIm4D,EAAUf,EAAGp3D,GAAK63D,GAEpDN,GAAQx3D,GAAMk4D,EAAUd,EAAGp3D,EAAI2Y,EAAE0+C,EAAGr3D,EAAIm4D,EAAUb,EAAGt3D,GAAK+3D,EACxD93D,GAAMi4D,EAAUd,EAAGn3D,EAAI0Y,EAAE0+C,EAAGp3D,EAAIk4D,EAAUb,EAAGr3D,GAAK83D,GAEvC,GAATR,EAAIv3D,GAAmB,GAATu3D,EAAIt3D,IAASs3D,EAAMH,GACxB,GAATI,EAAIx3D,GAAmB,GAATw3D,EAAIv3D,IAASu3D,EAAMH,GACrCz8D,GAAK,IACL28D,EAAIv3D,EAAI,IACRu3D,EAAIt3D,EAAI,IACRu3D,EAAIx3D,EAAI,IACRw3D,EAAIv3D,EAAI,IACRo3D,EAAGr3D,EAAI,IACPq3D,EAAGp3D,EAAI,GAGT,OAAOrF,IAUXuhC,EAAK66B,QAAU,SAASr2D,GAGtB,IAAK,GADD/F,GAAI,GACCpH,EAAI,EAAGA,EAAImN,EAAKhN,OAAQH,IAE7BoH,GADO,GAALpH,EACGmN,EAAKnN,GAAGwM,EAAI,IAAMW,EAAKnN,GAAGyM,EAG1B,IAAMU,EAAKnN,GAAGwM,EAAI,IAAMW,EAAKnN,GAAGyM,CAGzC,OAAOrF,IAGTpN,EAAOD,QAAU4uC,GAKb,SAAS3uC,EAAQD,EAASM,GAQ9B,QAASyqE,GAAS3yC,EAASjpB,GACzB/O,KAAKg4B,QAAUA,EACfh4B,KAAK+O,QAAUA,EALjB,CAAA,GAAInO,GAAUV,EAAoB,EACrBA,GAAoB,IAOjCyqE,EAASl3D,UAAUi8B,UAAY,SAASC,GACtC,GAA2C,SAAvC3vC,KAAK+O,QAAQ0oC,SAASC,cAA0B,CAGlD,IAAK,GAFDt7B,GAAOuzB,EAAU,GAAGr9B,EACpBgK,EAAOqzB,EAAU,GAAGr9B,EACf6Z,EAAI,EAAGA,EAAIwjB,EAAU3pC,OAAQmmB,IACpC/P,EAAOA,EAAOuzB,EAAUxjB,GAAG7Z,EAAIq9B,EAAUxjB,GAAG7Z,EAAI8J,EAChDE,EAAOA,EAAOqzB,EAAUxjB,GAAG7Z,EAAIq9B,EAAUxjB,GAAG7Z,EAAIgK,CAElD,QAAQnY,IAAKiY,EAAMhY,IAAKkY,EAAMmzB,iBAAkBzvC,KAAK+O,QAAQ0gC,kBAI7D,IAAK,GADDm7B,MACKz+C,EAAI,EAAGA,EAAIwjB,EAAU3pC,OAAQmmB,IACpCy+C,EAAgBriE,MACd8J,EAAGs9B,EAAUxjB,GAAG9Z,EAChBC,EAAGq9B,EAAUxjB,GAAG7Z,EAChB0lB,QAASh4B,KAAKg4B,SAGlB,OAAO4yC,IAYXD,EAAS/6B,KAAO,SAAUsD,EAAU6F,EAAoBlJ,GACtD,GAEIg7B,GACA5hE,EAAK6hE,EACLv4D,EACA1M,EAAEsmB,EALF4+C,KACAC,KAKAC,EAAY,CAGhB,KAAKplE,EAAI,EAAGA,EAAIqtC,EAASltC,OAAQH,IAE/B,GADA0M,EAAQs9B,EAAUnb,OAAOwe,EAASrtC,IACP,OAAvB0M,EAAMxD,QAAQxB,OACK,GAAjBgF,EAAM0W,UAAyEpiB,SAArDgpC,EAAU9gC,QAAQ2lB,OAAOwD,WAAWgb,EAASrtC,KAAyE,GAApDgqC,EAAU9gC,QAAQ2lB,OAAOwD,WAAWgb,EAASrtC,KAC3I,IAAKsmB,EAAI,EAAGA,EAAI4sB,EAAmB7F,EAASrtC,IAAIG,OAAQmmB,IACtD4+C,EAAaxiE,MACX8J,EAAG0mC,EAAmB7F,EAASrtC,IAAIsmB,GAAG9Z,EACtCC,EAAGymC,EAAmB7F,EAASrtC,IAAIsmB,GAAG7Z,EACtC0lB,QAASkb,EAASrtC,KAEpBolE,GAAa,CAMrB,IAAiB,GAAbA,EAeJ,IAZAF,EAAav0D,KAAK,SAAU5Q,EAAGa,GAC7B,MAAIb,GAAEyM,GAAK5L,EAAE4L,EACJzM,EAAEoyB,QAAUvxB,EAAEuxB,QAEdpyB,EAAEyM,EAAI5L,EAAE4L,IAKnBs4D,EAASO,sBAAsBF,EAAeD,GAGzCllE,EAAI,EAAGA,EAAIklE,EAAa/kE,OAAQH,IAAK,CACxC0M,EAAQs9B,EAAUnb,OAAOq2C,EAAallE,GAAGmyB,QACzC,IAAI0S,GAAW,GAAMn4B,EAAMxD,QAAQ0oC,SAAS5kC,KAE5C5J,GAAM8hE,EAAallE,GAAGwM,CACtB,IAAI84D,GAAe,CACnB,IAA2BtkE,SAAvBmkE,EAAc/hE,GACZpD,EAAE,EAAIklE,EAAa/kE,SAAS6kE,EAAermE,KAAK4mB,IAAI2/C,EAAallE,EAAE,GAAGwM,EAAIpJ,IAC1EpD,EAAI,IAAwBglE,EAAermE,KAAKL,IAAI0mE,EAAarmE,KAAK4mB,IAAI2/C,EAAallE,EAAE,GAAGwM,EAAIpJ,KACpG6hE,EAAWH,EAASS,iBAAiBP,EAAct4D,EAAOm4B,OAEvD,CACH,GAAI2gC,GAAUxlE,GAAKmlE,EAAc/hE,GAAKqiE,OAASN,EAAc/hE,GAAKsiE,UAC9DC,EAAU3lE,GAAKmlE,EAAc/hE,GAAKsiE,SAAW,EAC7CF,GAAUN,EAAa/kE,SAAS6kE,EAAermE,KAAK4mB,IAAI2/C,EAAaM,GAASh5D,EAAIpJ,IAClFuiE,EAAU,IAAsBX,EAAermE,KAAKL,IAAI0mE,EAAarmE,KAAK4mB,IAAI2/C,EAAaS,GAASn5D,EAAIpJ,KAC5G6hE,EAAWH,EAASS,iBAAiBP,EAAct4D,EAAOm4B,GAC1DsgC,EAAc/hE,GAAKsiE,UAAY,EAEa,SAAxCh5D,EAAMxD,QAAQ0oC,SAASC,eACzByzB,EAAeH,EAAc/hE,GAAKwiE,YAClCT,EAAc/hE,GAAKwiE,aAAel5D,EAAMg8B,aAAew8B,EAAallE,GAAGyM,GAExB,cAAxCC,EAAMxD,QAAQ0oC,SAASC,gBAC9BozB,EAASj4D,MAAQi4D,EAASj4D,MAAQm4D,EAAc/hE,GAAKqiE,OACrDR,EAAS5gD,QAAW8gD,EAAc/hE,GAAa,SAAI6hE,EAASj4D,MAAS,GAAIi4D,EAASj4D,OAASm4D,EAAc/hE,GAAKqiE,OAAO,GACjF,QAAhC/4D,EAAMxD,QAAQ0oC,SAAS9P,MAAwBmjC,EAAS5gD,QAAU,GAAI4gD,EAASj4D,MAC1C,SAAhCN,EAAMxD,QAAQ0oC,SAAS9P,QAAmBmjC,EAAS5gD,QAAU,GAAI4gD,EAASj4D,QAGvFjS,EAAQgS,QAAQm4D,EAAallE,GAAGwM,EAAIy4D,EAAS5gD,OAAQ6gD,EAAallE,GAAGyM,EAAI64D,EAAcL,EAASj4D,MAAON,EAAMg8B,aAAew8B,EAAallE,GAAGyM,EAAGC,EAAMnK,UAAY,OAAQynC,EAAU7E,YAAa6E,EAAUlG,KAElK,GAApCp3B,EAAMxD,QAAQ0D,WAAWzD,SAC3BpO,EAAQwR,UAAU24D,EAAallE,GAAGwM,EAAIy4D,EAAS5gD,OAAQ6gD,EAAallE,GAAGyM,EAAGC,EAAOs9B,EAAU7E,YAAa6E,EAAUlG,OAYxHghC,EAASO,sBAAwB,SAAUF,EAAeD,GAGxD,IAAK,GADDF,GACKhlE,EAAI,EAAGA,EAAIklE,EAAa/kE,OAAQH,IACnCA,EAAI,EAAIklE,EAAa/kE,SACvB6kE,EAAermE,KAAK4mB,IAAI2/C,EAAallE,EAAI,GAAGwM,EAAI04D,EAAallE,GAAGwM,IAE9DxM,EAAI,IACNglE,EAAermE,KAAKL,IAAI0mE,EAAcrmE,KAAK4mB,IAAI2/C,EAAallE,EAAI,GAAGwM,EAAI04D,EAAallE,GAAGwM,KAErE,GAAhBw4D,IACuChkE,SAArCmkE,EAAcD,EAAallE,GAAGwM,KAChC24D,EAAcD,EAAallE,GAAGwM,IAAMi5D,OAAQ,EAAGC,SAAU,EAAGE,YAAa,IAE3ET,EAAcD,EAAallE,GAAGwM,GAAGi5D,QAAU,IAejDX,EAASS,iBAAmB,SAAUP,EAAct4D,EAAOm4B,GACzD,GAAI73B,GAAOqX,CAwBX,OAvBI2gD,GAAet4D,EAAMxD,QAAQ0oC,SAAS5kC,OAASg4D,EAAe,GAChEh4D,EAAuB63B,EAAfmgC,EAA0BngC,EAAWmgC,EAE7C3gD,EAAS,EAC2B,QAAhC3X,EAAMxD,QAAQ0oC,SAAS9P,MACzBzd,GAAU,GAAM2gD,EAEuB,SAAhCt4D,EAAMxD,QAAQ0oC,SAAS9P,QAC9Bzd,GAAU,GAAM2gD,KAKlBh4D,EAAQN,EAAMxD,QAAQ0oC,SAAS5kC,MAC/BqX,EAAS,EAC2B,QAAhC3X,EAAMxD,QAAQ0oC,SAAS9P,MACzBzd,GAAU,GAAM3X,EAAMxD,QAAQ0oC,SAAS5kC,MAEA,SAAhCN,EAAMxD,QAAQ0oC,SAAS9P,QAC9Bzd,GAAU,GAAM3X,EAAMxD,QAAQ0oC,SAAS5kC,SAInCA,MAAOA,EAAOqX,OAAQA,IAGhCygD,EAAStwB,oBAAsB,SAASuwB,EAAiB5xB,EAAa9F,EAAUw4B,EAAY52C,GAC1F,GAAI81C,EAAgB5kE,OAAS,EAAG,CAE9B4kE,EAAgBp0D,KAAK,SAAU5Q,EAAGa,GAChC,MAAIb,GAAEyM,GAAK5L,EAAE4L,EACJzM,EAAEoyB,QAAUvxB,EAAEuxB,QAEdpyB,EAAEyM,EAAI5L,EAAE4L,GAGnB,IAAI24D,KAEJL,GAASO,sBAAsBF,EAAeJ,GAC9C5xB,EAAY0yB,GAAcf,EAASgB,qBAAqBX,EAAeJ,GACvE5xB,EAAY0yB,GAAYj8B,iBAAmB3a,EAC3Coe,EAAS3qC,KAAKmjE,KAIlBf,EAASgB,qBAAuB,SAAUX,EAAeD,GAIvD,IAAK,GAHD9hE,GACAmT,EAAO2uD,EAAa,GAAGz4D,EACvBgK,EAAOyuD,EAAa,GAAGz4D,EAClBzM,EAAI,EAAGA,EAAIklE,EAAa/kE,OAAQH,IACvCoD,EAAM8hE,EAAallE,GAAGwM,EACKxL,SAAvBmkE,EAAc/hE,IAChBmT,EAAOA,EAAO2uD,EAAallE,GAAGyM,EAAIy4D,EAAallE,GAAGyM,EAAI8J,EACtDE,EAAOA,EAAOyuD,EAAallE,GAAGyM,EAAIy4D,EAAallE,GAAGyM,EAAIgK,GAGtD0uD,EAAc/hE,GAAKwiE,aAAeV,EAAallE,GAAGyM,CAGtD,KAAK,GAAIs5D,KAAQZ,GACXA,EAAc7kE,eAAeylE,KAC/BxvD,EAAOA,EAAO4uD,EAAcY,GAAMH,YAAcT,EAAcY,GAAMH,YAAcrvD,EAClFE,EAAOA,EAAO0uD,EAAcY,GAAMH,YAAcT,EAAcY,GAAMH,YAAcnvD,EAItF,QAAQnY,IAAKiY,EAAMhY,IAAKkY,IAG1Bzc,EAAOD,QAAU+qE,GAIb,SAAS9qE,EAAQD,EAASM,GAO9B,QAASwuC,GAAO1W,EAASjpB,GACvB/O,KAAKg4B,QAAUA,EACfh4B,KAAK+O,QAAUA,EAJjB,GAAInO,GAAUV,EAAoB,EAQlCwuC,GAAOj7B,UAAUi8B,UAAY,SAASC,GAGpC,IAAK,GAFDvzB,GAAOuzB,EAAU,GAAGr9B,EACpBgK,EAAOqzB,EAAU,GAAGr9B,EACf6Z,EAAI,EAAGA,EAAIwjB,EAAU3pC,OAAQmmB,IACpC/P,EAAOA,EAAOuzB,EAAUxjB,GAAG7Z,EAAIq9B,EAAUxjB,GAAG7Z,EAAI8J,EAChDE,EAAOA,EAAOqzB,EAAUxjB,GAAG7Z,EAAIq9B,EAAUxjB,GAAG7Z,EAAIgK,CAElD,QAAQnY,IAAKiY,EAAMhY,IAAKkY,EAAMmzB,iBAAkBzvC,KAAK+O,QAAQ0gC,mBAG/Df,EAAOj7B,UAAUm8B,KAAO,SAASlY,EAASnlB,EAAOs9B,EAAW3lB,GAC1DwkB,EAAOkB,KAAKlY,EAASnlB,EAAOs9B,EAAW3lB,IAYzCwkB,EAAOkB,KAAO,SAAUlY,EAASnlB,EAAOs9B,EAAW3lB,GAClCrjB,SAAXqjB,IAAuBA,EAAS,EACpC,KAAK,GAAIrkB,GAAI,EAAGA,EAAI6xB,EAAQ1xB,OAAQH,IAClCjF,EAAQwR,UAAUslB,EAAQ7xB,GAAGwM,EAAI6X,EAAQwN,EAAQ7xB,GAAGyM,EAAGC,EAAOs9B,EAAU7E,YAAa6E,EAAUlG,MAKnG9pC,EAAOD,QAAU8uC,GAIb,SAAS7uC,EAAQD,EAASM,GAE9B,GAAI2rE,GAAe3rE,EAAoB,IACnC4rE,EAAe5rE,EAAoB,IACnC6rE,EAAe7rE,EAAoB,IACnC8rE,EAAiB9rE,EAAoB,IACrC+rE,EAAoB/rE,EAAoB,IACxCgsE,EAAkBhsE,EAAoB,IACtCisE,EAA0BjsE,EAAoB,GAQlDN,GAAQwsE,WAAa,SAAUC,GAC7B,IAAK,GAAIC,KAAiBD,GACpBA,EAAelmE,eAAemmE,KAChCtsE,KAAKssE,GAAiBD,EAAeC,KAY3C1sE,EAAQ2sE,YAAc,SAAUF,GAC9B,IAAK,GAAIC,KAAiBD,GACpBA,EAAelmE,eAAemmE,KAChCtsE,KAAKssE,GAAiBzlE,SAW5BjH,EAAQ0kD,mBAAqB,WAC3BtkD,KAAKosE,WAAWP,GAChB7rE,KAAKwsE,2BACkC,GAAnCxsE,KAAK+iD,UAAUrD,iBACjB1/C,KAAKysE,4BAGLzsE,KAAK+rD,gCAUTnsD,EAAQ4kD,mBAAqB,WAC3BxkD,KAAK69D,eAAiB,EACtB79D,KAAK0sE,aAAe,EACpB1sE,KAAKosE,WAAWN,IASlBlsE,EAAQ2kD,kBAAoB,WAC1BvkD,KAAK8wD,WACL9wD,KAAK2sE,cAAgB,WACrB3sE,KAAK8wD,QAAgB,UACrB9wD,KAAK8wD,QAAgB,OAAE,YAAchT,SACnCmB,SACAkG,eACAgZ,eAAkB,EAClByO,YAAe/lE,QACjB7G,KAAK8wD,QAAgB,UACrB9wD,KAAK8wD,QAAiB,SAAKhT,SACzBmB,SACAkG,eACAgZ,eAAkB,EAClByO,YAAe/lE,QAEjB7G,KAAKmlD,YAAcnlD,KAAK8wD,QAAgB,OAAE,WAAwB,YAElE9wD,KAAKosE,WAAWL,IASlBnsE,EAAQ6kD,qBAAuB,WAC7BzkD,KAAK6sD,cAAgB/O,SAAWmB,UAEhCj/C,KAAKosE,WAAWJ,IASlBpsE,EAAQoqD,wBAA0B,WAEhChqD,KAAK6sE,8BAA+B,EACpC7sE,KAAK8sE,sBAAuB,EAEmB,GAA3C9sE,KAAK+iD,UAAUnB,iBAAiB5yC,SAELnI,SAAzB7G,KAAK+sE,kBACP/sE,KAAK+sE,gBAAkBl7D,SAASM,cAAc,OAC9CnS,KAAK+sE,gBAAgB3kE,UAAY,0BAE/BpI,KAAK+sE,gBAAgBx/D,MAAMk+B,QADR,GAAjBzrC,KAAKypD,SAC8B,QAGA,OAEvCzpD,KAAK6f,MAAM9N,YAAY/R,KAAK+sE,kBAGLlmE,SAArB7G,KAAKgtE,cACPhtE,KAAKgtE,YAAcn7D,SAASM,cAAc,OAC1CnS,KAAKgtE,YAAY5kE,UAAY,gCAE3BpI,KAAKgtE,YAAYz/D,MAAMk+B,QADJ,GAAjBzrC,KAAKypD,SAC0B,OAGA,QAEnCzpD,KAAK6f,MAAM9N,YAAY/R,KAAKgtE,cAGRnmE,SAAlB7G,KAAKitE,WACPjtE,KAAKitE,SAAWp7D,SAASM,cAAc,OACvCnS,KAAKitE,SAAS7kE,UAAY,gCAC1BpI,KAAKitE,SAAS1/D,MAAMk+B,QAAUzrC,KAAK+sE,gBAAgBx/D,MAAMk+B,QACzDzrC,KAAK6f,MAAM9N,YAAY/R,KAAKitE,WAI9BjtE,KAAKosE,WAAWH,GAGhBjsE,KAAK0oD,yBAGwB7hD,SAAzB7G,KAAK+sE,kBAEP/sE,KAAK0oD,wBAGL1oD,KAAK6f,MAAMpO,YAAYzR,KAAK+sE,iBAC5B/sE,KAAK6f,MAAMpO,YAAYzR,KAAKgtE,aAC5BhtE,KAAK6f,MAAMpO,YAAYzR,KAAKitE,UAE5BjtE,KAAK+sE,gBAAkBlmE,OACvB7G,KAAKgtE,YAAcnmE,OACnB7G,KAAKitE,SAAWpmE,OAEhB7G,KAAKusE,YAAYN,KAWvBrsE,EAAQmqD,wBAA0B,WAChC/pD,KAAKosE,WAAWF,GAEhBlsE,KAAKktE,mBACoC,GAArCltE,KAAK+iD,UAAUvB,WAAWxyC,SAC5BhP,KAAKmtE,2BAUTvtE,EAAQ8kD,qBAAuB,WAC7B1kD,KAAKosE,WAAWD,KAMd,SAAStsE,EAAQD,EAASM,GAiB9B,QAASwmD,GAAU3sC,GACjB/Z,KAAKo1D,QAAS,EAEdp1D,KAAKswB,KACHvW,UAAWA,GAGb/Z,KAAKswB,IAAI88C,QAAUv7D,SAASM,cAAc,OAC1CnS,KAAKswB,IAAI88C,QAAQhlE,UAAY,UAE7BpI,KAAKswB,IAAIvW,UAAUhI,YAAY/R,KAAKswB,IAAI88C,SAExCptE,KAAK8D,OAAS2hC,EAAOzlC,KAAKswB,IAAI88C,SAAU5jC,iBAAiB,IACzDxpC,KAAK8D,OAAO+P,GAAG,MAAO7T,KAAKqtE,cAAch4C,KAAKr1B,MAG9C,IAAIyU,GAAKzU,KACLqnE,GACF,QAAS,QACT,YAAa,OACb,YAAa,OAAQ,UACrB,aAAc,iBAEhBA,GAAOz+D,QAAQ,SAAUiB,GACvB4K,EAAG3Q,OAAO+P,GAAGhK,EAAO,SAAUA,GAC5BA,EAAM28B,sBAKVxmC,KAAKstE,aAAe7nC,EAAO39B,QAAS0hC,iBAAiB,IACrDxpC,KAAKstE,aAAaz5D,GAAG,MAAO,SAAUhK,GAE/B0jE,EAAW1jE,EAAMG,OAAQ+P,IAC5BtF,EAAG+4D,eAIe3mE,SAAlB7G,KAAKwmD,UACPxmD,KAAKwmD,SAAS5yC,UAEhB5T,KAAKwmD,SAAWA,IAGhBxmD,KAAKytE,YAAcztE,KAAKwtE,WAAWn4C,KAAKr1B,MAiF1C,QAASutE,GAAWpkE,EAASk8B,GAC3B,KAAOl8B,GAAS,CACd,GAAIA,IAAYk8B,EACd,OAAO,CAETl8B,GAAUA,EAAQgB,WAEpB,OAAO,EAnJT,GAAIq8C,GAAWtmD,EAAoB,IAC/Bqd,EAAUrd,EAAoB,IAC9BulC,EAASvlC,EAAoB,IAC7BS,EAAOT,EAAoB,EA4D/Bqd,GAAQmpC,EAAUjzC,WAGlBizC,EAAUlsB,QAAU,KAKpBksB,EAAUjzC,UAAUG,QAAU,WAC5B5T,KAAKwtE,aAGLxtE,KAAKswB,IAAI88C,QAAQjjE,WAAWsH,YAAYzR,KAAKswB,IAAI88C,SAGjDptE,KAAK8D,OAAS,KACd9D,KAAKstE,aAAe,MAQtB5mB,EAAUjzC,UAAUi6D,SAAW,WAEzBhnB,EAAUlsB,SACZksB,EAAUlsB,QAAQgzC,aAEpB9mB,EAAUlsB,QAAUx6B,KAEpBA,KAAKo1D,QAAS,EACdp1D,KAAKswB,IAAI88C,QAAQ7/D,MAAMk+B,QAAU,OACjC9qC,EAAKwH,aAAanI,KAAKswB,IAAIvW,UAAW,cAEtC/Z,KAAKmuB,KAAK,UACVnuB,KAAKmuB,KAAK,YAIVnuB,KAAKwmD,SAASnxB,KAAK,MAAOr1B,KAAKytE,cAOjC/mB,EAAUjzC,UAAU+5D,WAAa,WAC/BxtE,KAAKo1D,QAAS,EACdp1D,KAAKswB,IAAI88C,QAAQ7/D,MAAMk+B,QAAU,GACjC9qC,EAAK8H,gBAAgBzI,KAAKswB,IAAIvW,UAAW,cACzC/Z,KAAKwmD,SAASmnB,OAAO,MAAO3tE,KAAKytE,aAEjCztE,KAAKmuB,KAAK,UACVnuB,KAAKmuB,KAAK,eAQZu4B,EAAUjzC,UAAU45D,cAAgB,SAAUxjE,GAE5C7J,KAAK0tE,WACL7jE,EAAM28B,mBAsBR3mC,EAAOD,QAAU8mD,GAKb,SAAS7mD,EAAQD,GAGrBA,EAAY,IACV69C,KAAM,OACNG,IAAK,kBACLgwB,KAAM,OACN3K,QAAS,WACTG,QAAS,WACTyK,SAAU,YACVnwB,SAAU,YACVowB,eAAgB,+CAChBC,gBAAiB,qEACjBC,oBAAqB,wEACrBC,gBAAiB,kCACjBC,mBAAoB,+BAEtBtuE,EAAe,MAAIA,EAAY,GAC/BA,EAAe,MAAIA,EAAY,GAG/BA,EAAY,IACV69C,KAAM,WACNG,IAAK,uBACLgwB,KAAM,QACN3K,QAAS,iBACTG,QAAS,iBACTyK,SAAU,gBACVnwB,SAAU,gBACVowB,eAAgB,uDAChBC,gBAAiB,6EACjBC,oBAAqB,kFACrBC,gBAAiB,wCACjBC,mBAAoB,2CAEtBtuE,EAAe,MAAIA,EAAY,GAC/BA,EAAe,MAAIA,EAAY,IAK3B,WAKoC,mBAA7BuuE,4BAKTA,yBAAyB16D,UAAU4tD,OAAS,SAAShvD,EAAGC,EAAGvH,GACzD/K,KAAKmoB,YACLnoB,KAAKisB,IAAI5Z,EAAGC,EAAGvH,EAAG,EAAG,EAAEvG,KAAK0nB,IAAI,IASlCiiD,yBAAyB16D,UAAU26D,OAAS,SAAS/7D,EAAGC,EAAGvH,GACzD/K,KAAKmoB,YACLnoB,KAAK+S,KAAKV,EAAItH,EAAGuH,EAAIvH,EAAO,EAAJA,EAAW,EAAJA,IASjCojE,yBAAyB16D,UAAU6b,SAAW,SAASjd,EAAGC,EAAGvH,GAE3D/K,KAAKmoB,WAEL,IAAI/b,GAAQ,EAAJrB,EACJsjE,EAAKjiE,EAAI,EACTkiE,EAAK9pE,KAAK0rB,KAAK,GAAK,EAAI9jB,EACxBD,EAAI3H,KAAK0rB,KAAK9jB,EAAIA,EAAIiiE,EAAKA,EAE/BruE,MAAKooB,OAAO/V,EAAGC,GAAKnG,EAAImiE,IACxBtuE,KAAKqoB,OAAOhW,EAAIg8D,EAAI/7D,EAAIg8D,GACxBtuE,KAAKqoB,OAAOhW,EAAIg8D,EAAI/7D,EAAIg8D,GACxBtuE,KAAKqoB,OAAOhW,EAAGC,GAAKnG,EAAImiE,IACxBtuE,KAAKwoB,aASP2lD,yBAAyB16D,UAAU86D,aAAe,SAASl8D,EAAGC,EAAGvH,GAE/D/K,KAAKmoB,WAEL,IAAI/b,GAAQ,EAAJrB,EACJsjE,EAAKjiE,EAAI,EACTkiE,EAAK9pE,KAAK0rB,KAAK,GAAK,EAAI9jB,EACxBD,EAAI3H,KAAK0rB,KAAK9jB,EAAIA,EAAIiiE,EAAKA,EAE/BruE,MAAKooB,OAAO/V,EAAGC,GAAKnG,EAAImiE,IACxBtuE,KAAKqoB,OAAOhW,EAAIg8D,EAAI/7D,EAAIg8D,GACxBtuE,KAAKqoB,OAAOhW,EAAIg8D,EAAI/7D,EAAIg8D,GACxBtuE,KAAKqoB,OAAOhW,EAAGC,GAAKnG,EAAImiE,IACxBtuE,KAAKwoB,aASP2lD,yBAAyB16D,UAAU+6D,KAAO,SAASn8D,EAAGC,EAAGvH,GAEvD/K,KAAKmoB,WAEL,KAAK,GAAIsmD,GAAI,EAAO,GAAJA,EAAQA,IAAK,CAC3B,GAAIziD,GAAUyiD,EAAI,IAAM,EAAS,IAAJ1jE,EAAc,GAAJA,CACvC/K,MAAKqoB,OACDhW,EAAI2Z,EAASxnB,KAAKma,IAAQ,EAAJ8vD,EAAQjqE,KAAK0nB,GAAK,IACxC5Z,EAAI0Z,EAASxnB,KAAKsa,IAAQ,EAAJ2vD,EAAQjqE,KAAK0nB,GAAK,KAI9ClsB,KAAKwoB,aAMP2lD,yBAAyB16D,UAAUiuD,UAAY,SAASrvD,EAAGC,EAAG4+C,EAAG/kD,EAAGpB,GAClE,GAAI2jE,GAAMlqE,KAAK0nB,GAAG,GACE,GAAhBglC,EAAM,EAAInmD,IAAYA,EAAMmmD,EAAI,GAChB,EAAhB/kD,EAAM,EAAIpB,IAAYA,EAAMoB,EAAI,GACpCnM,KAAKmoB,YACLnoB,KAAKooB,OAAO/V,EAAEtH,EAAEuH,GAChBtS,KAAKqoB,OAAOhW,EAAE6+C,EAAEnmD,EAAEuH,GAClBtS,KAAKisB,IAAI5Z,EAAE6+C,EAAEnmD,EAAEuH,EAAEvH,EAAEA,EAAM,IAAJ2jE,EAAY,IAAJA,GAAQ,GACrC1uE,KAAKqoB,OAAOhW,EAAE6+C,EAAE5+C,EAAEnG,EAAEpB,GACpB/K,KAAKisB,IAAI5Z,EAAE6+C,EAAEnmD,EAAEuH,EAAEnG,EAAEpB,EAAEA,EAAE,EAAM,GAAJ2jE,GAAO,GAChC1uE,KAAKqoB,OAAOhW,EAAEtH,EAAEuH,EAAEnG,GAClBnM,KAAKisB,IAAI5Z,EAAEtH,EAAEuH,EAAEnG,EAAEpB,EAAEA,EAAM,GAAJ2jE,EAAW,IAAJA,GAAQ,GACpC1uE,KAAKqoB,OAAOhW,EAAEC,EAAEvH,GAChB/K,KAAKisB,IAAI5Z,EAAEtH,EAAEuH,EAAEvH,EAAEA,EAAM,IAAJ2jE,EAAY,IAAJA,GAAQ,IAMrCP,yBAAyB16D,UAAUouD,QAAU,SAASxvD,EAAGC,EAAG4+C,EAAG/kD,GAC7D,GAAIwiE,GAAQ,SACRC,EAAM1d,EAAI,EAAKyd,EACfE,EAAM1iE,EAAI,EAAKwiE,EACfG,EAAKz8D,EAAI6+C,EACT6d,EAAKz8D,EAAInG,EACT6iE,EAAK38D,EAAI6+C,EAAI,EACb+d,EAAK38D,EAAInG,EAAI,CAEjBnM,MAAKmoB,YACLnoB,KAAKooB,OAAO/V,EAAG48D,GACfjvE,KAAKkvE,cAAc78D,EAAG48D,EAAKJ,EAAIG,EAAKJ,EAAIt8D,EAAG08D,EAAI18D,GAC/CtS,KAAKkvE,cAAcF,EAAKJ,EAAIt8D,EAAGw8D,EAAIG,EAAKJ,EAAIC,EAAIG,GAChDjvE,KAAKkvE,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACjD/uE,KAAKkvE,cAAcF,EAAKJ,EAAIG,EAAI18D,EAAG48D,EAAKJ,EAAIx8D,EAAG48D,IAQjDd,yBAAyB16D,UAAUkuD,SAAW,SAAStvD,EAAGC,EAAG4+C,EAAG/kD,GAC9D,GAAI+B,GAAI,EAAE,EACNihE,EAAWje,EACXke,EAAWjjE,EAAI+B,EAEfygE,EAAQ,SACRC,EAAMO,EAAW,EAAKR,EACtBE,EAAMO,EAAW,EAAKT,EACtBG,EAAKz8D,EAAI88D,EACTJ,EAAKz8D,EAAI88D,EACTJ,EAAK38D,EAAI88D,EAAW,EACpBF,EAAK38D,EAAI88D,EAAW,EACpBC,EAAM/8D,GAAKnG,EAAIijE,EAAS,GACxBE,EAAMh9D,EAAInG,CAEdnM,MAAKmoB,YACLnoB,KAAKooB,OAAO0mD,EAAIG,GAEhBjvE,KAAKkvE,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACjD/uE,KAAKkvE,cAAcF,EAAKJ,EAAIG,EAAI18D,EAAG48D,EAAKJ,EAAIx8D,EAAG48D,GAE/CjvE,KAAKkvE,cAAc78D,EAAG48D,EAAKJ,EAAIG,EAAKJ,EAAIt8D,EAAG08D,EAAI18D,GAC/CtS,KAAKkvE,cAAcF,EAAKJ,EAAIt8D,EAAGw8D,EAAIG,EAAKJ,EAAIC,EAAIG,GAEhDjvE,KAAKqoB,OAAOymD,EAAIO,GAEhBrvE,KAAKkvE,cAAcJ,EAAIO,EAAMR,EAAIG,EAAKJ,EAAIU,EAAKN,EAAIM,GACnDtvE,KAAKkvE,cAAcF,EAAKJ,EAAIU,EAAKj9D,EAAGg9D,EAAMR,EAAIx8D,EAAGg9D,GAEjDrvE,KAAKqoB,OAAOhW,EAAG48D,IAOjBd,yBAAyB16D,UAAUkmD,MAAQ,SAAStnD,EAAGC,EAAGw9C,EAAO9pD,GAE/D,GAAIupE,GAAKl9D,EAAIrM,EAASxB,KAAKsa,IAAIgxC,GAC3B0f,EAAKl9D,EAAItM,EAASxB,KAAKma,IAAImxC,GAI3B2f,EAAKp9D,EAAa,GAATrM,EAAexB,KAAKsa,IAAIgxC,GACjC4f,EAAKp9D,EAAa,GAATtM,EAAexB,KAAKma,IAAImxC,GAGjC6f,EAAKJ,EAAKvpE,EAAS,EAAIxB,KAAKsa,IAAIgxC,EAAQ,GAAMtrD,KAAK0nB,IACnD0jD,EAAKJ,EAAKxpE,EAAS,EAAIxB,KAAKma,IAAImxC,EAAQ,GAAMtrD,KAAK0nB,IAGnD2jD,EAAKN,EAAKvpE,EAAS,EAAIxB,KAAKsa,IAAIgxC,EAAQ,GAAMtrD,KAAK0nB,IACnD4jD,EAAKN,EAAKxpE,EAAS,EAAIxB,KAAKma,IAAImxC,EAAQ,GAAMtrD,KAAK0nB,GAEvDlsB,MAAKmoB,YACLnoB,KAAKooB,OAAO/V,EAAGC,GACftS,KAAKqoB,OAAOsnD,EAAIC,GAChB5vE,KAAKqoB,OAAOonD,EAAIC,GAChB1vE,KAAKqoB,OAAOwnD,EAAIC,GAChB9vE,KAAKwoB,aASP2lD,yBAAyB16D,UAAUgmD,WAAa,SAASpnD,EAAEC,EAAEmoD,EAAGC,EAAGqV,GAC5DA,IAAWA,GAAW,GAAG,IACd,GAAZC,IAAeA,EAAa,KAChC,IAAIC,GAAYF,EAAU/pE,MAC1BhG,MAAKooB,OAAO/V,EAAGC,EAKf,KAJA,GAAI6M,GAAMs7C,EAAGpoD,EAAI+M,EAAMs7C,EAAGpoD,EACtB49D,EAAQ9wD,EAAGD,EACXgxD,EAAgB3rE,KAAK0rB,KAAM/Q,EAAGA,EAAKC,EAAGA,GACtCgxD,EAAU,EAAGxgC,GAAK,EACfugC,GAAe,IAAI,CACxB,GAAIH,GAAaD,EAAUK,IAAYH,EACnCD,GAAaG,IAAeH,EAAaG,EAC7C,IAAIj0D,GAAQ1X,KAAK0rB,KAAM8/C,EAAWA,GAAc,EAAIE,EAAMA,GACnD,GAAH/wD,IAAMjD,GAASA,GACnB7J,GAAK6J,EACL5J,GAAK49D,EAAMh0D,EACXlc,KAAK4vC,EAAO,SAAW,UAAUv9B,EAAEC,GACnC69D,GAAiBH,EACjBpgC,GAAQA,MAUV,SAAS/vC,GAeb,QAAS0d,GAAQ+F,GACf,MAAIA,GAAY4wC,EAAM5wC,GAAtB,OAWF,QAAS4wC,GAAM5wC,GACb,IAAK,GAAIra,KAAOsU,GAAQ9J,UACtB6P,EAAIra,GAAOsU,EAAQ9J,UAAUxK,EAE/B,OAAOqa,GAxBTzjB,EAAOD,QAAU2d,EAoCjBA,EAAQ9J,UAAUI,GAClB0J,EAAQ9J,UAAUvK,iBAAmB,SAASW,EAAO6P,GAInD,MAHA1Z,MAAKqwE,WAAarwE,KAAKqwE,gBACtBrwE,KAAKqwE,WAAWxmE,GAAS7J,KAAKqwE,WAAWxmE,QACvCtB,KAAKmR,GACD1Z,MAaTud,EAAQ9J,UAAU68D,KAAO,SAASzmE,EAAO6P,GAIvC,QAAS7F,KACP08D,EAAKv8D,IAAInK,EAAOgK,GAChB6F,EAAGrB,MAAMrY,KAAM+F,WALjB,GAAIwqE,GAAOvwE,IAUX,OATAA,MAAKqwE,WAAarwE,KAAKqwE,eAOvBx8D,EAAG6F,GAAKA,EACR1Z,KAAK6T,GAAGhK,EAAOgK,GACR7T,MAaTud,EAAQ9J,UAAUO,IAClBuJ,EAAQ9J,UAAU+8D,eAClBjzD,EAAQ9J,UAAUg9D,mBAClBlzD,EAAQ9J,UAAU/J,oBAAsB,SAASG,EAAO6P,GAItD,GAHA1Z,KAAKqwE,WAAarwE,KAAKqwE,eAGnB,GAAKtqE,UAAUC,OAEjB,MADAhG,MAAKqwE,cACErwE,IAIT,IAAI0wE,GAAY1wE,KAAKqwE,WAAWxmE,EAChC,KAAK6mE,EAAW,MAAO1wE,KAGvB,IAAI,GAAK+F,UAAUC,OAEjB,aADOhG,MAAKqwE,WAAWxmE,GAChB7J,IAKT,KAAK,GADD2wE,GACK9qE,EAAI,EAAGA,EAAI6qE,EAAU1qE,OAAQH,IAEpC,GADA8qE,EAAKD,EAAU7qE,GACX8qE,IAAOj3D,GAAMi3D,EAAGj3D,KAAOA,EAAI,CAC7Bg3D,EAAU/nE,OAAO9C,EAAG,EACpB,OAGJ,MAAO7F,OAWTud,EAAQ9J,UAAU0a,KAAO,SAAStkB,GAChC7J,KAAKqwE,WAAarwE,KAAKqwE,cACvB,IAAI52D,MAAU7N,MAAMrL,KAAKwF,UAAW,GAChC2qE,EAAY1wE,KAAKqwE,WAAWxmE,EAEhC,IAAI6mE,EAAW,CACbA,EAAYA,EAAU9kE,MAAM,EAC5B,KAAK,GAAI/F,GAAI,EAAGC,EAAM4qE,EAAU1qE,OAAYF,EAAJD,IAAWA,EACjD6qE,EAAU7qE,GAAGwS,MAAMrY,KAAMyZ,GAI7B,MAAOzZ,OAWTud,EAAQ9J,UAAU2zD,UAAY,SAASv9D,GAErC,MADA7J,MAAKqwE,WAAarwE,KAAKqwE,eAChBrwE,KAAKqwE,WAAWxmE,QAWzB0T,EAAQ9J,UAAUm9D,aAAe,SAAS/mE,GACxC,QAAU7J,KAAKonE,UAAUv9D,GAAO7D,SAM9B,SAASnG,EAAQD,EAASM,GAE9B,GAAI2wE,IAMJ,SAAU/oE,EAAQjB,GA4OlB,QAASiqE,KACFrrC,EAAOsrC,QAKVC,EAAMC,sBAGNC,EAAMC,KAAK1rC,EAAO2rC,SAAU,SAAS/wC,GACjCgxC,EAAUC,SAASjxC,KAIvB2wC,EAAMO,QAAQ9rC,EAAO+rC,SAAUC,EAAYJ,EAAUK,QACrDV,EAAMO,QAAQ9rC,EAAO+rC,SAAUG,EAAWN,EAAUK,QAGpDjsC,EAAOsrC,OAAQ,GAxOnB,GAAItrC,GAAS,QAASA,GAAOt8B,EAAS4F,GAClC,MAAO,IAAI02B,GAAOmsC,SAASzoE,EAAS4F,OAUxC02B,GAAOosC,QAAU,QAgBjBpsC,EAAOqsC,UAOHC,UAQIC,WAAY,OASZC,YAAa,QAUbC,aAAc,OAQdC,eAAgB,OAShBC,SAAU,OAaVC,kBAAmB,kBAU3B5sC,EAAO+rC,SAAW3/D,SAOlB4zB,EAAO6sC,kBAAoB/oE,UAAUgpE,gBAAkBhpE,UAAUipE,iBAOjE/sC,EAAOgtC,gBAAmB,gBAAkB3qE,GAO5C29B,EAAOitC,UAAY,6CAA6CpkE,KAAK/E,UAAUC,WAO/Ei8B,EAAOktC,eAAkBltC,EAAOgtC,iBAAmBhtC,EAAOitC,WAAcjtC,EAAO6sC,kBAQ/E7sC,EAAOmtC,mBAAqB,EAU5B,IAAIC,MASAC,EAAiBrtC,EAAOqtC,eAAiB,OACzCC,EAAiBttC,EAAOstC,eAAiB,OACzCC,EAAevtC,EAAOutC,aAAe,KACrCC,EAAkBxtC,EAAOwtC,gBAAkB,QAS3CC,EAAgBztC,EAAOytC,cAAgB,QACvCC,EAAgB1tC,EAAO0tC,cAAgB,QACvCC,EAAc3tC,EAAO2tC,YAAc,MASnCC,EAAc5tC,EAAO4tC,YAAc,QACnC5B,EAAahsC,EAAOgsC,WAAa,OACjCE,EAAYlsC,EAAOksC,UAAY,MAC/B2B,EAAgB7tC,EAAO6tC,cAAgB,UACvCC,EAAc9tC,EAAO8tC,YAAc,OASvC9tC,GAAOsrC,OAAQ,EAOftrC,EAAO+tC,QAAU/tC,EAAO+tC,YAQxB/tC,EAAO2rC,SAAW3rC,EAAO2rC,YAkCzB,IAAIF,GAAQzrC,EAAOguC,OAUf9tE,OAAQ,SAAgB+tE,EAAM1sB,EAAK+b,GAC/B,IAAI,GAAI95D,KAAO+9C,IACPA,EAAI7gD,eAAe8C,IAASyqE,EAAKzqE,KAASpC,GAAak8D,IAG3D2Q,EAAKzqE,GAAO+9C,EAAI/9C,GAEpB,OAAOyqE,IAUX7/D,GAAI,SAAY1K,EAAShC,EAAMwsE,GAC3BxqE,EAAQD,iBAAiB/B,EAAMwsE,GAAS,IAU5C3/D,IAAK,SAAa7K,EAAShC,EAAMwsE,GAC7BxqE,EAAQO,oBAAoBvC,EAAMwsE,GAAS,IAa/CxC,KAAM,SAAc7tD,EAAKswD,EAAUj6D,GAC/B,GAAI9T,GAAGC,CAGP,IAAG,WAAawd,GACZA,EAAI1a,QAAQgrE,EAAUj6D,OAEnB,IAAG2J,EAAItd,SAAWa,GACrB,IAAIhB,EAAI,EAAGC,EAAMwd,EAAItd,OAAYF,EAAJD,EAASA,IAClC,GAAG+tE,EAASrzE,KAAKoZ,EAAS2J,EAAIzd,GAAIA,EAAGyd,MAAS,EAC1C,WAKR,KAAIzd,IAAKyd,GACL,GAAGA,EAAInd,eAAeN,IAClB+tE,EAASrzE,KAAKoZ,EAAS2J,EAAIzd,GAAIA,EAAGyd,MAAS,EAC3C,QAahBuwD,MAAO,SAAe7sB,EAAK8sB,GACvB,MAAO9sB,GAAIhgD,QAAQ8sE,GAAQ,IAU/BC,QAAS,SAAiB/sB,EAAK8sB,GAC3B,GAAG9sB,EAAIhgD,QAAS,CACZ,GAAI0B,GAAQs+C,EAAIhgD,QAAQ8sE,EACxB,OAAkB,KAAVprE,GAAgB,EAAQA,EAEhC,IAAI,GAAI7C,GAAI,EAAGC,EAAMkhD,EAAIhhD,OAAYF,EAAJD,EAASA,IACtC,GAAGmhD,EAAInhD,KAAOiuE,EACV,MAAOjuE,EAGf,QAAO,GAUfiD,QAAS,SAAiBwa,GACtB,MAAOhd,OAAMmN,UAAU7H,MAAMrL,KAAK+iB,EAAK,IAU3C0wD,UAAW,SAAmB7sB,EAAM9hB,GAChC,KAAM8hB,GAAM,CACR,GAAGA,GAAQ9hB,EACP,OAAO,CAEX8hB,GAAOA,EAAKh9C,WAEhB,OAAO,GASX8pE,UAAW,SAAmBjzC,GAC1B,GAAI7B,MACAC,KACAjiB,KACAG,KACAnZ,EAAMK,KAAKL,IACXC,EAAMI,KAAKJ,GAGf,OAAsB,KAAnB48B,EAAQh7B,QAEHm5B,MAAO6B,EAAQ,GAAG7B,MAClBC,MAAO4B,EAAQ,GAAG5B,MAClBjiB,QAAS6jB,EAAQ,GAAG7jB,QACpBG,QAAS0jB,EAAQ,GAAG1jB,UAI5B4zD,EAAMC,KAAKnwC,EAAS,SAASxC,GACzBW,EAAM52B,KAAKi2B,EAAMW,OACjBC,EAAM72B,KAAKi2B,EAAMY,OACjBjiB,EAAQ5U,KAAKi2B,EAAMrhB,SACnBG,EAAQ/U,KAAKi2B,EAAMlhB,YAInB6hB,OAAQh7B,EAAIkU,MAAM7T,KAAM26B,GAAS/6B,EAAIiU,MAAM7T,KAAM26B,IAAU,EAC3DC,OAAQj7B,EAAIkU,MAAM7T,KAAM46B,GAASh7B,EAAIiU,MAAM7T,KAAM46B,IAAU,EAC3DjiB,SAAUhZ,EAAIkU,MAAM7T,KAAM2Y,GAAW/Y,EAAIiU,MAAM7T,KAAM2Y,IAAY,EACjEG,SAAUnZ,EAAIkU,MAAM7T,KAAM8Y,GAAWlZ,EAAIiU,MAAM7T,KAAM8Y,IAAY,KAYzE42D,YAAa,SAAqBC,EAAW7zC,EAAQC,GACjD,OACIluB,EAAG7N,KAAK4mB,IAAIkV,EAAS6zC,IAAc,EACnC7hE,EAAG9N,KAAK4mB,IAAImV,EAAS4zC,IAAc,IAW3CC,SAAU,SAAkBC,EAAQC,GAChC,GAAIjiE,GAAIiiE,EAAOn3D,QAAUk3D,EAAOl3D,QAC5B7K,EAAIgiE,EAAOh3D,QAAU+2D,EAAO/2D,OAEhC,OAA0B,KAAnB9Y,KAAKu0D,MAAMzmD,EAAGD,GAAW7N,KAAK0nB,IAUzCqoD,aAAc,SAAsBF,EAAQC,GACxC,GAAIjiE,GAAI7N,KAAK4mB,IAAIipD,EAAOl3D,QAAUm3D,EAAOn3D,SACrC7K,EAAI9N,KAAK4mB,IAAIipD,EAAO/2D,QAAUg3D,EAAOh3D,QAEzC,OAAGjL,IAAKC,EACG+hE,EAAOl3D,QAAUm3D,EAAOn3D,QAAU,EAAI41D,EAAiBE,EAE3DoB,EAAO/2D,QAAUg3D,EAAOh3D,QAAU,EAAI01D,EAAeF,GAUhEtS,YAAa,SAAqB6T,EAAQC,GACtC,GAAIjiE,GAAIiiE,EAAOn3D,QAAUk3D,EAAOl3D,QAC5B7K,EAAIgiE,EAAOh3D,QAAU+2D,EAAO/2D,OAEhC,OAAO9Y,MAAK0rB,KAAM7d,EAAIA,EAAMC,EAAIA,IAWpCijB,SAAU,SAAkBrlB,EAAOC,GAE/B,MAAGD,GAAMlK,QAAU,GAAKmK,EAAInK,QAAU,EAC3BhG,KAAKwgE,YAAYrwD,EAAI,GAAIA,EAAI,IAAMnQ,KAAKwgE,YAAYtwD,EAAM,GAAIA,EAAM,IAExE,GAUXskE,YAAa,SAAqBtkE,EAAOC,GAErC,MAAGD,GAAMlK,QAAU,GAAKmK,EAAInK,QAAU,EAC3BhG,KAAKo0E,SAASjkE,EAAI,GAAIA,EAAI,IAAMnQ,KAAKo0E,SAASlkE,EAAM,GAAIA,EAAM,IAElE,GASXukE,WAAY,SAAoB74C,GAC5B,MAAOA,IAAao3C,GAAgBp3C,GAAak3C,GAWrD4B,eAAgB,SAAwBvrE,EAASjD,EAAM5B,EAAOqwE,GAC1D,GAAIC,IAAY,GAAI,SAAU,MAAO,IAAK,KAC1C1uE,GAAOgrE,EAAM2D,YAAY3uE,EAEzB,KAAI,GAAIL,GAAI,EAAGA,EAAI+uE,EAAS5uE,OAAQH,IAAK,CACrC,GAAInF,GAAIwF,CAOR,IALG0uE,EAAS/uE,KACRnF,EAAIk0E,EAAS/uE,GAAKnF,EAAEkL,MAAM,EAAG,GAAGo9B,cAAgBtoC,EAAEkL,MAAM,IAIzDlL,IAAKyI,GAAQoE,MAAO,CACnBpE,EAAQoE,MAAM7M,IAAgB,MAAVi0E,GAAkBA,IAAWrwE,GAAS,EAC1D,UAeZwwE,eAAgB,SAAwB3rE,EAAS9C,EAAOsuE,GACpD,GAAItuE,GAAU8C,GAAYA,EAAQoE,MAAlC,CAKA2jE,EAAMC,KAAK9qE,EAAO,SAAS/B,EAAO4B,GAC9BgrE,EAAMwD,eAAevrE,EAASjD,EAAM5B,EAAOqwE,IAG/C,IAAII,GAAUJ,GAAU,WACpB,OAAO,EAIY,SAApBtuE,EAAM2rE,aACL7oE,EAAQ6rE,cAAgBD,GAGP,QAAlB1uE,EAAM+rE,WACLjpE,EAAQ8rE,YAAcF,KAU9BF,YAAa,SAAqBK,GAC9B,MAAOA,GAAIpqE,QAAQ,eAAgB,SAASsB,GACxC,MAAOA,GAAE,GAAG48B,kBAapBgoC,EAAQvrC,EAAO57B,OAQfsrE,oBAAoB,EAQpBC,SAAS,EAQTC,cAAc,EAWdxhE,GAAI,SAAY1K,EAAShC,EAAMwsE,EAAS2B,GACpC,GAAI99D,GAAQrQ,EAAKmB,MAAM,IACvB4oE,GAAMC,KAAK35D,EAAO,SAASrQ,GACvB+pE,EAAMr9D,GAAG1K,EAAShC,EAAMwsE,GACxB2B,GAAQA,EAAKnuE,MAarB6M,IAAK,SAAa7K,EAAShC,EAAMwsE,EAAS2B,GACtC,GAAI99D,GAAQrQ,EAAKmB,MAAM,IACvB4oE,GAAMC,KAAK35D,EAAO,SAASrQ,GACvB+pE,EAAMl9D,IAAI7K,EAAShC,EAAMwsE,GACzB2B,GAAQA,EAAKnuE,MAarBoqE,QAAS,SAAiBpoE,EAAS6/D,EAAW2K,GAC1C,GAAIpD,GAAOvwE,KAEPu1E,EAAiB,SAAwBC,GACzC,GAGIC,GAHAC,EAAUF,EAAGruE,KAAKi+B,cAClBuwC,EAAYlwC,EAAO6sC,kBACnBsD,EAAU1E,EAAM2C,MAAM6B,EAAS,QAKhCE,IAAWrF,EAAK4E,qBAITS,GAAW5M,GAAaqK,GAA6B,IAAdmC,EAAGxoD,QAChDujD,EAAK4E,oBAAqB,EAC1B5E,EAAK8E,cAAe,GACdM,GAAa3M,GAAaqK,EAChC9C,EAAK8E,aAA+B,IAAfG,EAAGK,SAAiBC,EAAaC,UAAU5C,EAAeqC,GAExEI,GAAW5M,GAAaqK,IAC/B9C,EAAK4E,oBAAqB,EAC1B5E,EAAK8E,cAAe,GAIrBM,GAAa3M,GAAa2I,GACzBmE,EAAaE,cAAchN,EAAWwM,GAIvCjF,EAAK8E,eACJI,EAAclF,EAAK0F,SAAS11E,KAAKgwE,EAAMiF,EAAIxM,EAAW7/D,EAASwqE,IAKhE8B,GAAe9D,IACdpB,EAAK4E,oBAAqB,EAC1B5E,EAAK8E,cAAe,EACpBS,EAAa3qB,SAIdwqB,GAAa3M,GAAa2I,GACzBmE,EAAaE,cAAchN,EAAWwM,IAK9C,OADAx1E,MAAK6T,GAAG1K,EAAS0pE,EAAY7J,GAAYuM,GAClCA,GAaXU,SAAU,SAAkBT,EAAIxM,EAAW7/D,EAASwqE,GAChD,GAAIuC,GAAYl2E,KAAKipE,aAAauM,EAAIxM,GAClCmN,EAAkBD,EAAUlwE,OAC5ByvE,EAAczM,EACdoN,EAAgBF,EAAUG,QAC1BC,EAAgBH,CAGjBnN,IAAaqK,EACZ+C,EAAgB7C,EAEVvK,GAAa2I,IACnByE,EAAgB9C,EAGhBgD,EAAgBJ,EAAUlwE,QAAWwvE,EAAiB,eAAIA,EAAGe,eAAevwE,OAAS,IAMtFswE,EAAgB,GAAKt2E,KAAKo1E,UACzBK,EAAchE,GAIlBzxE,KAAKo1E,SAAU,CAGf,IAAIoB,GAASx2E,KAAKkpE,iBAAiB//D,EAASssE,EAAaS,EAAWV,EA4BpE,OAxBGxM,IAAa2I,GACZgC,EAAQpzE,KAAK8wE,EAAWmF,GAIzBJ,IACCI,EAAOF,cAAgBA,EACvBE,EAAOxN,UAAYoN,EAEnBzC,EAAQpzE,KAAK8wE,EAAWmF,GAExBA,EAAOxN,UAAYyM,QACZe,GAAOF,eAIfb,GAAe9D,IACdgC,EAAQpzE,KAAK8wE,EAAWmF,GAIxBx2E,KAAKo1E,SAAU,GAGZK,GAUXxE,oBAAqB,WACjB,GAAIz5D,EAgCJ,OA7BQA,GAFLiuB,EAAO6sC,kBACHxqE,EAAOguE,cAEF,cACA,cACA,+CAIA,gBACA,gBACA,oDAGFrwC,EAAOktC,gBAET,aACA,YACA,yBAIA,uBACA,sBACA,gCAIRE,EAAYQ,GAAe77D,EAAM,GACjCq7D,EAAYpB,GAAcj6D,EAAM,GAChCq7D,EAAYlB,GAAan6D,EAAM,GACxBq7D,GAUX5J,aAAc,SAAsBuM,EAAIxM,GAEpC,GAAGvjC,EAAO6sC,kBACN,MAAOwD,GAAa7M,cAIxB,IAAGuM,EAAGx0C,QAAS,CACX,GAAGgoC,GAAayI,EACZ,MAAO+D,GAAGx0C,OAGd,IAAIy1C,MACAniE,KAAYA,OAAO48D,EAAMpoE,QAAQ0sE,EAAGx0C,SAAUkwC,EAAMpoE,QAAQ0sE,EAAGe,iBAC/DL,IASJ,OAPAhF,GAAMC,KAAK78D,EAAQ,SAASkqB,GACrB0yC,EAAM6C,QAAQ0C,EAAaj4C,EAAMk4C,eAAgB,GAChDR,EAAU3tE,KAAKi2B,GAEnBi4C,EAAYluE,KAAKi2B,EAAMk4C,cAGpBR,EAKX,MADAV,GAAGkB,WAAa,GACRlB,IAYZtM,iBAAkB,SAA0B//D,EAAS6/D,EAAWhoC,EAASw0C,GAErE,GAAImB,GAAcxD,CAOlB,OANGjC,GAAM2C,MAAM2B,EAAGruE,KAAM,UAAY2uE,EAAaC,UAAU7C,EAAesC,GACtEmB,EAAczD,EACR4C,EAAaC,UAAU3C,EAAaoC,KAC1CmB,EAAcvD,IAId3mD,OAAQykD,EAAM+C,UAAUjzC,GACxB41C,UAAWhyE,KAAKi5B,MAChB7zB,OAAQwrE,EAAGxrE,OACXg3B,QAASA,EACTgoC,UAAWA,EACX2N,YAAaA,EACbrgC,SAAUk/B,EAMV5rE,eAAgB,WACZ,GAAI0sC,GAAWt2C,KAAKs2C,QACpBA,GAASugC,qBAAuBvgC,EAASugC,sBACzCvgC,EAAS1sC,gBAAkB0sC,EAAS1sC,kBAMxC48B,gBAAiB,WACbxmC,KAAKs2C,SAAS9P,mBAQlBswC,WAAY,WACR,MAAOzF,GAAUyF,iBAa7BhB,EAAerwC,EAAOqwC,cAMtBiB,YAOA9N,aAAc,WACV,GAAI+N,KAKJ,OAHA9F,GAAMC,KAAKnxE,KAAK+2E,SAAU,SAASn2C,GAC/Bo2C,EAAUzuE,KAAKq4B,KAEZo2C,GASXhB,cAAe,SAAuBhN,EAAWiO,GAC1CjO,GAAa2I,GAAc3I,GAAa2I,GAAsC,IAAzBsF,EAAapB,cAC1D71E,MAAK+2E,SAASE,EAAaC,YAElCD,EAAaP,WAAaO,EAAaC,UACvCl3E,KAAK+2E,SAASE,EAAaC,WAAaD,IAUhDlB,UAAW,SAAmBY,EAAanB,GACvC,IAAIA,EAAGmB,YACH,OAAO,CAGX,IAAIQ,GAAK3B,EAAGmB,YACRn/D,IAKJ,OAHAA,GAAM07D,GAAkBiE,KAAQ3B,EAAG4B,sBAAwBlE,GAC3D17D,EAAM27D,GAAkBgE,KAAQ3B,EAAG6B,sBAAwBlE,GAC3D37D,EAAM47D,GAAgB+D,KAAQ3B,EAAG8B,oBAAsBlE,GAChD57D,EAAMm/D,IAOjBxrB,MAAO,WACHnrD,KAAK+2E,cAWT1F,EAAY5rC,EAAO8xC,WAEnBnG,YAGA52C,QAAS,KAITgD,SAAU,KAGVg6C,SAAS,EAQTC,YAAa,SAAqBC,EAAMC,GAEjC33E,KAAKw6B,UAIRx6B,KAAKw3E,SAAU,EAGfx3E,KAAKw6B,SACDk9C,KAAMA,EACNE,WAAY1G,EAAMvrE,UAAWgyE,GAC7BE,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,gBACAzhE,KAAM,IAGVvW,KAAK0xE,OAAOiG,KAShBjG,OAAQ,SAAgBiG,GACpB,GAAI33E,KAAKw6B,UAAWx6B,KAAKw3E,QAAzB,CAKAG,EAAY33E,KAAKi4E,gBAAgBN,EAGjC,IAAID,GAAO13E,KAAKw6B,QAAQk9C,KACpBQ,EAAcR,EAAK3oE,OAmBvB,OAhBAmiE,GAAMC,KAAKnxE,KAAKoxE,SAAU,SAAwB/wC,IAE1CrgC,KAAKw3E,SAAWE,EAAK1oE,SAAWkpE,EAAY73C,EAAQ9pB,OACpD8pB,EAAQszC,QAAQpzE,KAAK8/B,EAASs3C,EAAWD,IAE9C13E,MAGAA,KAAKw6B,UACJx6B,KAAKw6B,QAAQq9C,UAAYF,GAG1BA,EAAU3O,WAAa2I,GACtB3xE,KAAK82E,aAGFa,IASXb,WAAY,WAGR92E,KAAKw9B,SAAW0zC,EAAMvrE,UAAW3F,KAAKw6B,SAGtCx6B,KAAKw6B,QAAU,KACfx6B,KAAKw3E,SAAU,GAYnBW,kBAAmB,SAA2B3C,EAAI/oD,EAAQ0nD,EAAW7zC,EAAQC,GACzE,GAAIyb,GAAMh8C,KAAKw6B,QACX49C,GAAS,EACTC,EAASr8B,EAAI87B,cACbQ,EAAWt8B,EAAIg8B,YAEhBK,IAAU7C,EAAGoB,UAAYyB,EAAOzB,UAAYnxC,EAAOmtC,qBAClDnmD,EAAS4rD,EAAO5rD,OAChB0nD,EAAYqB,EAAGoB,UAAYyB,EAAOzB,UAClCt2C,EAASk1C,EAAG/oD,OAAOtP,QAAUk7D,EAAO5rD,OAAOtP,QAC3CojB,EAASi1C,EAAG/oD,OAAOnP,QAAU+6D,EAAO5rD,OAAOnP,QAC3C86D,GAAS,IAGV5C,EAAGxM,WAAauK,GAAeiC,EAAGxM,WAAasK,KAC9Ct3B,EAAI+7B,gBAAkBvC,KAGtBx5B,EAAI87B,eAAiBM,KACrBE,EAAS/X,SAAW2Q,EAAMgD,YAAYC,EAAW7zC,EAAQC,GACzD+3C,EAASxoB,MAAQohB,EAAMkD,SAAS3nD,EAAQ+oD,EAAG/oD,QAC3C6rD,EAAS18C,UAAYs1C,EAAMqD,aAAa9nD,EAAQ+oD,EAAG/oD,QAEnDuvB,EAAI87B,cAAgB97B,EAAI+7B,iBAAmBvC,EAC3Cx5B,EAAI+7B,gBAAkBvC,GAG1BA,EAAG+C,UAAYD,EAAS/X,SAASluD,EACjCmjE,EAAGgD,UAAYF,EAAS/X,SAASjuD,EACjCkjE,EAAGiD,aAAeH,EAASxoB,MAC3B0lB,EAAGkD,iBAAmBJ,EAAS18C,WASnCq8C,gBAAiB,SAAyBzC,GACtC,GAAIx5B,GAAMh8C,KAAKw6B,QACXm+C,EAAU38B,EAAI47B,WACdgB,EAAS58B,EAAI67B,WAAac,GAG3BnD,EAAGxM,WAAauK,GAAeiC,EAAGxM,WAAasK,KAC9CqF,EAAQ33C,WACRkwC,EAAMC,KAAKqE,EAAGx0C,QAAS,SAASxC,GAC5Bm6C,EAAQ33C,QAAQz4B,MACZ4U,QAASqhB,EAAMrhB,QACfG,QAASkhB,EAAMlhB,YAK3B,IAAI62D,GAAYqB,EAAGoB,UAAY+B,EAAQ/B,UACnCt2C,EAASk1C,EAAG/oD,OAAOtP,QAAUw7D,EAAQlsD,OAAOtP,QAC5CojB,EAASi1C,EAAG/oD,OAAOnP,QAAUq7D,EAAQlsD,OAAOnP,OAkBhD,OAhBAtd,MAAKm4E,kBAAkB3C,EAAIoD,EAAOnsD,OAAQ0nD,EAAW7zC,EAAQC,GAE7D2wC,EAAMvrE,OAAO6vE,GACToC,WAAYe,EAEZxE,UAAWA,EACX7zC,OAAQA,EACRC,OAAQA,EAERra,SAAUgrD,EAAM1Q,YAAYmY,EAAQlsD,OAAQ+oD,EAAG/oD,QAC/CqjC,MAAOohB,EAAMkD,SAASuE,EAAQlsD,OAAQ+oD,EAAG/oD,QACzCmP,UAAWs1C,EAAMqD,aAAaoE,EAAQlsD,OAAQ+oD,EAAG/oD,QACjDloB,MAAO2sE,EAAM37C,SAASojD,EAAQ33C,QAASw0C,EAAGx0C,SAC1C63C,SAAU3H,EAAMsD,YAAYmE,EAAQ33C,QAASw0C,EAAGx0C,WAG7Cw0C,GASXlE,SAAU,SAAkBjxC,GAExB,GAAItxB,GAAUsxB,EAAQyxC,YAyBtB,OAxBG/iE,GAAQsxB,EAAQ9pB,QAAU1P,IACzBkI,EAAQsxB,EAAQ9pB,OAAQ,GAI5B26D,EAAMvrE,OAAO8/B,EAAOqsC,SAAU/iE,GAAS,GAGvCsxB,EAAQ33B,MAAQ23B,EAAQ33B,OAAS,IAGjC1I,KAAKoxE,SAAS7oE,KAAK83B,GAGnBrgC,KAAKoxE,SAAS56D,KAAK,SAAS5Q,EAAGa,GAC3B,MAAGb,GAAE8C,MAAQjC,EAAEiC,MACJ,GAER9C,EAAE8C,MAAQjC,EAAEiC,MACJ,EAEJ,IAGJ1I,KAAKoxE,UAmBpB3rC,GAAOmsC,SAAW,SAASzoE,EAAS4F,GAChC,GAAIwhE,GAAOvwE,IAIX8wE,KAMA9wE,KAAKmJ,QAAUA,EAOfnJ,KAAKgP,SAAU,EAQfkiE,EAAMC,KAAKpiE,EAAS,SAASzK,EAAOiS,SACzBxH,GAAQwH,GACfxH,EAAQmiE,EAAM2D,YAAYt+D,IAASjS,IAGvCtE,KAAK+O,QAAUmiE,EAAMvrE,OAAOurE,EAAMvrE,UAAW8/B,EAAOqsC,UAAW/iE,OAG5D/O,KAAK+O,QAAQgjE,UACZb,EAAM4D,eAAe90E,KAAKmJ,QAASnJ,KAAK+O,QAAQgjE,UAAU,GAQ9D/xE,KAAK84E,kBAAoB9H,EAAMO,QAAQpoE,EAASkqE,EAAa,SAASmC,GAC/DjF,EAAKvhE,SAAWwmE,EAAGxM,WAAaqK,EAC/BhC,EAAUoG,YAAYlH,EAAMiF,GACtBA,EAAGxM,WAAauK,GACtBlC,EAAUK,OAAO8D,KASzBx1E,KAAK+4E,kBAGTtzC,EAAOmsC,SAASn+D,WASZI,GAAI,SAAiBu9D,EAAUuC,GAC3B,GAAIpD,GAAOvwE,IAIX,OAHAgxE,GAAMn9D,GAAG08D,EAAKpnE,QAASioE,EAAUuC,EAAS,SAASxsE,GAC/CopE,EAAKwI,cAAcxwE,MAAO83B,QAASl5B,EAAMwsE,QAASA,MAE/CpD,GAUXv8D,IAAK,SAAkBo9D,EAAUuC,GAC7B,GAAIpD,GAAOvwE,IAQX,OANAgxE,GAAMh9D,IAAIu8D,EAAKpnE,QAASioE,EAAUuC,EAAS,SAASxsE,GAChD,GAAIuB,GAAQwoE,EAAM6C,SAAU1zC,QAASl5B,EAAMwsE,QAASA,GACjDjrE,MAAU,GACT6nE,EAAKwI,cAAcpwE,OAAOD,EAAO,KAGlC6nE,GAUX8F,QAAS,SAAsBh2C,EAASs3C,GAEhCA,IACAA,KAIJ,IAAI9tE,GAAQ47B,EAAO+rC,SAASwH,YAAY,QACxCnvE,GAAMovE,UAAU54C,GAAS,GAAM,GAC/Bx2B,EAAMw2B,QAAUs3C,CAIhB,IAAIxuE,GAAUnJ,KAAKmJ,OAMnB,OALG+nE,GAAM8C,UAAU2D,EAAU3tE,OAAQb,KACjCA,EAAUwuE,EAAU3tE,QAGxBb,EAAQ+vE,cAAcrvE,GACf7J,MASXgkC,OAAQ,SAAgBm1C,GAEpB,MADAn5E,MAAKgP,QAAUmqE,EACRn5E,MAQX4qD,QAAS,WACL,GAAI/kD,GAAGuzE,CAMP,KAHAlI,EAAM4D,eAAe90E,KAAKmJ,QAASnJ,KAAK+O,QAAQgjE,UAAU,GAGtDlsE,EAAI,GAAKuzE,EAAKp5E,KAAK+4E,gBAAgBlzE,IACnCqrE,EAAMl9D,IAAIhU,KAAKmJ,QAASiwE,EAAG/4C,QAAS+4C,EAAGzF,QAQ3C,OALA3zE,MAAK+4E,iBAGL/H,EAAMh9D,IAAIhU,KAAKmJ,QAAS0pE,EAAYQ,GAAcrzE,KAAK84E,mBAEhD,OAqDf,SAAUviE,GAGN,QAAS8iE,GAAY7D,EAAIkC,GACrB,GAAI17B,GAAMq1B,EAAU72C,OAGpB,MAAGk9C,EAAK3oE,QAAQuqE,eAAiB,GAC7B9D,EAAGx0C,QAAQh7B,OAAS0xE,EAAK3oE,QAAQuqE,gBAIrC,OAAO9D,EAAGxM,WACN,IAAKqK,GACDkG,GAAY,CACZ,MAEJ,KAAK9H,GAGD,GAAG+D,EAAGtvD,SAAWwxD,EAAK3oE,QAAQyqE,iBAC1Bx9B,EAAIzlC,MAAQA,EACZ,MAGJ,IAAIkjE,GAAcz9B,EAAI47B,WAAWnrD,MAGjC,IAAGuvB,EAAIzlC,MAAQA,IACXylC,EAAIzlC,KAAOA,EACRmhE,EAAK3oE,QAAQ2qE,wBAA0BlE,EAAGtvD,SAAW,GAAG,CAIvD,GAAI+hC,GAASzjD,KAAK4mB,IAAIssD,EAAK3oE,QAAQyqE,gBAAkBhE,EAAGtvD,SACxDuzD,GAAYt6C,OAASq2C,EAAGl1C,OAAS2nB,EACjCwxB,EAAYr6C,OAASo2C,EAAGj1C,OAAS0nB,EACjCwxB,EAAYt8D,SAAWq4D,EAAGl1C,OAAS2nB,EACnCwxB,EAAYn8D,SAAWk4D,EAAGj1C,OAAS0nB,EAGnCutB,EAAKnE,EAAU4G,gBAAgBzC,IAKpCx5B,EAAI67B,UAAU8B,gBACXjC,EAAK3oE,QAAQ4qE,gBACXjC,EAAK3oE,QAAQ6qE,qBAAuBpE,EAAGtvD,YAE3CsvD,EAAGmE,gBAAiB,EAIxB,IAAIE,GAAgB79B,EAAI67B,UAAUj8C,SAC/B45C,GAAGmE,gBAAkBE,IAAkBrE,EAAG55C,YAErC45C,EAAG55C,UADJs1C,EAAMuD,WAAWoF,GACArE,EAAGj1C,OAAS,EAAKyyC,EAAeF,EAEhC0C,EAAGl1C,OAAS,EAAKyyC,EAAiBE,GAKtDsG,IACA7B,EAAKrB,QAAQ9/D,EAAO,QAASi/D,GAC7B+D,GAAY,GAIhB7B,EAAKrB,QAAQ9/D,EAAMi/D,GACnBkC,EAAKrB,QAAQ9/D,EAAOi/D,EAAG55C,UAAW45C,EAElC,IAAIf,GAAavD,EAAMuD,WAAWe,EAAG55C,YAGjC87C,EAAK3oE,QAAQ+qE,mBAAqBrF,GACjCiD,EAAK3oE,QAAQgrE,sBAAwBtF,IACtCe,EAAG5rE,gBAEP,MAEJ,KAAK0pE,GACEiG,GAAa/D,EAAGc,eAAiBoB,EAAK3oE,QAAQuqE,iBAC7C5B,EAAKrB,QAAQ9/D,EAAO,MAAOi/D,GAC3B+D,GAAY,EAEhB,MAEJ,KAAK5H,GACD4H,GAAY,GAzFxB,GAAIA,IAAY,CA8FhB9zC,GAAO2rC,SAAS4I,MACZzjE,KAAMA,EACN7N,MAAO,GACPirE,QAAS0F,EACTvH,UAOI0H,gBAAiB,GAWjBE,wBAAwB,EAQxBJ,eAAgB,EAUhBS,qBAAqB,EAQrBD,mBAAmB,EASnBH,gBAAgB,EAShBC,oBAAqB,MAG9B,QAgBHn0C,EAAO2rC,SAAS6I,SACZ1jE,KAAM,UACN7N,MAAO,KACPirE,QAAS,SAAwB6B,EAAIkC,GACjCA,EAAKrB,QAAQr2E,KAAKuW,KAAMi/D,KAqBhC,SAAUj/D,GAGN,QAAS2jE,GAAY1E,EAAIkC,GACrB,GAAI3oE,GAAU2oE,EAAK3oE,QACfyrB,EAAU62C,EAAU72C,OAExB,QAAOg7C,EAAGxM,WACN,IAAKqK,GACDx5D,aAAausC,GAGb5rB,EAAQjkB,KAAOA,EAIf6vC,EAAQtsC,WAAW,WACZ0gB,GAAWA,EAAQjkB,MAAQA,GAC1BmhE,EAAKrB,QAAQ9/D,EAAMi/D,IAExBzmE,EAAQorE,YACX,MAEJ,KAAK1I,GACE+D,EAAGtvD,SAAWnX,EAAQqrE,eACrBvgE,aAAausC,EAEjB,MAEJ,KAAKktB,GACDz5D,aAAausC,IA7BzB,GAAIA,EAkCJ3gB,GAAO2rC,SAASiJ,MACZ9jE,KAAMA,EACN7N,MAAO,GACPopE,UAMIqI,YAAa,IAQbC,cAAe,GAEnBzG,QAASuG,IAEd,QAeHz0C,EAAO2rC,SAASkJ,SACZ/jE,KAAM,UACN7N,MAAOuQ,IACP06D,QAAS,SAAwB6B,EAAIkC,GAC9BlC,EAAGxM,WAAasK,GACfoE,EAAKrB,QAAQr2E,KAAKuW,KAAMi/D,KAyCpC/vC,EAAO2rC,SAASmJ,OACZhkE,KAAM,QACN7N,MAAO,GACPopE,UAMI0I,gBAAiB,EAOjBC,gBAAiB,EAQjBC,eAAgB,GAQhBC,eAAgB,IAGpBhH,QAAS,SAAsB6B,EAAIkC,GAC/B,GAAGlC,EAAGxM,WAAasK,EAAe,CAC9B,GAAItyC,GAAUw0C,EAAGx0C,QAAQh7B,OACrB+I,EAAU2oE,EAAK3oE,OAGnB,IAAGiyB,EAAUjyB,EAAQyrE,iBACjBx5C,EAAUjyB,EAAQ0rE,gBAClB,QAKDjF,EAAG+C,UAAYxpE,EAAQ2rE,gBACtBlF,EAAGgD,UAAYzpE,EAAQ4rE,kBAEvBjD,EAAKrB,QAAQr2E,KAAKuW,KAAMi/D,GACxBkC,EAAKrB,QAAQr2E,KAAKuW,KAAOi/D,EAAG55C,UAAW45C,OA2BvD,SAAUj/D,GAGN,QAASqkE,GAAWpF,EAAIkC,GACpB,GAGImD,GACAC,EAJA/rE,EAAU2oE,EAAK3oE,QACfyrB,EAAU62C,EAAU72C,QACpBrI,EAAOk/C,EAAU7zC,QAIrB,QAAOg4C,EAAGxM,WACN,IAAKqK,GACD0H,GAAW,CACX,MAEJ,KAAKtJ,GACDsJ,EAAWA,GAAavF,EAAGtvD,SAAWnX,EAAQisE,cAC9C,MAEJ,KAAKrJ,IACGT,EAAM2C,MAAM2B,EAAGl/B,SAASnvC,KAAM,WAAaquE,EAAGrB,UAAYplE,EAAQksE,aAAeF,IAEjFF,EAAY1oD,GAAQA,EAAK0lD,WAAarC,EAAGoB,UAAYzkD,EAAK0lD,UAAUjB,UACpEkE,GAAe,EAGZ3oD,GAAQA,EAAK5b,MAAQA,GACnBskE,GAAaA,EAAY9rE,EAAQmsE,mBAClC1F,EAAGtvD,SAAWnX,EAAQosE,oBACtBzD,EAAKrB,QAAQ,YAAab,GAC1BsF,GAAe,KAIfA,GAAgB/rE,EAAQqsE,aACxB5gD,EAAQjkB,KAAOA,EACfmhE,EAAKrB,QAAQ77C,EAAQjkB,KAAMi/D,MAnC/C,GAAIuF,IAAW,CA0Cft1C,GAAO2rC,SAASiK,KACZ9kE,KAAMA,EACN7N,MAAO,IACPirE,QAASiH,EACT9I,UAOImJ,WAAY,IAQZD,eAAgB,GAQhBI,WAAW,EAQXD,kBAAmB,GAQnBD,kBAAmB,OAG5B,OAeHz1C,EAAO2rC,SAASkK,OACZ/kE,KAAM,QACN7N,OAAQuQ,IACR64D,UASIloE,gBAAgB,EAQhB2xE,cAAc,GAElB5H,QAAS,SAAsB6B,EAAIkC,GAC/B,MAAGA,GAAK3oE,QAAQwsE,cAAgB/F,EAAGmB,aAAezD,MAC9CsC,GAAGsB,cAIJY,EAAK3oE,QAAQnF,gBACZ4rE,EAAG5rE,sBAGJ4rE,EAAGxM,WAAauK,GACfmE,EAAKrB,QAAQ,QAASb,OA4ClC,SAAUj/D,GAGN,QAASilE,GAAiBhG,EAAIkC,GAC1B,OAAOlC,EAAGxM,WACN,IAAKqK,GACDkG,GAAY,CACZ,MAEJ,KAAK9H,GAED,GAAG+D,EAAGx0C,QAAQh7B,OAAS,EACnB,MAGJ,IAAIy1E,GAAiBj3E,KAAK4mB,IAAI,EAAIoqD,EAAGjxE,OACjCm3E,EAAoBl3E,KAAK4mB,IAAIoqD,EAAGqD,SAIpC,IAAG4C,EAAiB/D,EAAK3oE,QAAQ4sE,mBAC7BD,EAAoBhE,EAAK3oE,QAAQ6sE,qBACjC,MAIJvK,GAAU72C,QAAQjkB,KAAOA,EAGrBgjE,IACA7B,EAAKrB,QAAQ9/D,EAAO,QAASi/D,GAC7B+D,GAAY,GAGhB7B,EAAKrB,QAAQ9/D,EAAMi/D,GAGhBkG,EAAoBhE,EAAK3oE,QAAQ6sE,sBAChClE,EAAKrB,QAAQ,SAAUb,GAIxBiG,EAAiB/D,EAAK3oE,QAAQ4sE,oBAC7BjE,EAAKrB,QAAQ,QAASb,GACtBkC,EAAKrB,QAAQ,SAAWb,EAAGjxE,MAAQ,EAAI,KAAO,OAAQixE,GAE1D,MAEJ,KAAKlC,GACEiG,GAAa/D,EAAGc,cAAgB,IAC/BoB,EAAKrB,QAAQ9/D,EAAO,MAAOi/D,GAC3B+D,GAAY,IAlD5B,GAAIA,IAAY,CAwDhB9zC,GAAO2rC,SAASyK,WACZtlE,KAAMA,EACN7N,MAAO,GACPopE,UAOI6J,kBAAmB,IAQnBC,qBAAsB,GAG1BjI,QAAS6H,IAEd,aAQG3K,EAAgC,WAC9B,MAAOprC,IACTllC,KAAKX,EAASM,EAAqBN,EAASC,KAASgxE,IAAkChqE,IAAchH,EAAOD,QAAUixE,KASzH/oE,SAIC,SAASjI,EAAQD,EAASM,GAE9B,GAAI2wE,IAA0D,SAASiL,EAAQj8E,IAM/E,SAAWgH,GA+RP,QAASk1E,GAAIn2E,EAAGa,EAAGhG,GACf,OAAQsF,UAAUC,QACd,IAAK,GAAG,MAAY,OAALJ,EAAYA,EAAIa,CAC/B,KAAK,GAAG,MAAY,OAALb,EAAYA,EAAS,MAALa,EAAYA,EAAIhG,CAC/C,SAAS,KAAM,IAAImD,OAAM,iBAIjC,QAASo4E,GAAWp2E,EAAGa,GACnB,MAAON,IAAe5F,KAAKqF,EAAGa,GAGlC,QAASw1E,KAGL,OACIC,OAAQ,EACRC,gBACAC,eACAh4D,SAAW,GACXi4D,cAAgB,EAChBC,WAAY,EACZC,aAAe,KACfC,eAAgB,EAChBC,iBAAkB,EAClBC,KAAK,GAIb,QAASC,GAASC,GACV/4E,GAAOg5E,+BAAgC,GAChB,mBAAZxjD,UAA2BA,QAAQyjD,MAC9CzjD,QAAQyjD,KAAK,wBAA0BF,GAI/C,QAASG,GAAUH,EAAKljE,GACpB,GAAIsjE,IAAY,CAChB,OAAOr3E,GAAO,WAKV,MAJIq3E,KACAL,EAASC,GACTI,GAAY,GAETtjE,EAAGrB,MAAMrY,KAAM+F,YACvB2T,GAGP,QAASujE,GAAgB1mE,EAAMqmE,GACtBM,GAAa3mE,KACdomE,EAASC,GACTM,GAAa3mE,IAAQ,GAI7B,QAAS4mE,GAASC,EAAM9lE,GACpB,MAAO,UAAU1R,GACb,MAAOy3E,GAAaD,EAAK78E,KAAKP,KAAM4F,GAAI0R,IAGhD,QAASgmE,GAAgBF,EAAMG,GAC3B,MAAO,UAAU33E,GACb,MAAO5F,MAAKw9E,aAAaC,QAAQL,EAAK78E,KAAKP,KAAM4F,GAAI23E,IAI7D,QAASG,GAAU93E,EAAGa,GAElB,GAGIk3E,GAASC,EAHTC,EAA0C,IAAvBp3E,EAAEwyB,OAASrzB,EAAEqzB,SAAiBxyB,EAAE2yB,QAAUxzB,EAAEwzB,SAE/D+M,EAASvgC,EAAEkzB,QAAQvlB,IAAIsqE,EAAgB,SAa3C,OAViB,GAAbp3E,EAAI0/B,GACJw3C,EAAU/3E,EAAEkzB,QAAQvlB,IAAIsqE,EAAiB,EAAG,UAE5CD,GAAUn3E,EAAI0/B,IAAWA,EAASw3C,KAElCA,EAAU/3E,EAAEkzB,QAAQvlB,IAAIsqE,EAAiB,EAAG,UAE5CD,GAAUn3E,EAAI0/B,IAAWw3C,EAAUx3C,MAG9B03C,EAAiBD,GAc9B,QAASE,GAAgB54C,EAAQxC,EAAMq7C,GACnC,GAAIC,EAEJ,OAAgB,OAAZD,EAEOr7C,EAEgB,MAAvBwC,EAAO+4C,aACA/4C,EAAO+4C,aAAav7C,EAAMq7C,GACX,MAAf74C,EAAOg5C,MAEdF,EAAO94C,EAAOg5C,KAAKH,GACfC,GAAe,GAAPt7C,IACRA,GAAQ,IAEPs7C,GAAiB,KAATt7C,IACTA,EAAO,GAEJA,GAGAA;CAQf,QAASy7C,MAIT,QAASC,GAAOC,EAAQC,GAChBA,KAAiB,GACjBC,EAAcF,GAElBG,EAAWx+E,KAAMq+E,GACjBr+E,KAAK44B,GAAK,GAAIh0B,OAAMy5E,EAAOzlD,IAGvB6lD,MAAqB,IACrBA,IAAmB,EACnB56E,GAAO66E,aAAa1+E,MACpBy+E,IAAmB,GAK3B,QAASE,GAASvuE,GACd,GAAIwuE,GAAkBC,EAAqBzuE,GACvC0uE,EAAQF,EAAgB3lD,MAAQ,EAChC8lD,EAAWH,EAAgBI,SAAW,EACtCC,EAASL,EAAgBxlD,OAAS,EAClC8lD,EAAQN,EAAgBO,MAAQ,EAChCC,EAAOR,EAAgB7lD,KAAO,EAC9B+E,EAAQ8gD,EAAgBl8C,MAAQ,EAChC3E,EAAU6gD,EAAgBn8C,QAAU,EACpCzE,EAAU4gD,EAAgBp8C,QAAU,EACpCvE,EAAe2gD,EAAgBr8C,aAAe,CAGlDviC,MAAKq/E,eAAiBphD,EACR,IAAVD,EACU,IAAVD,EACQ,KAARD,EAGJ99B,KAAKs/E,OAASF,EACF,EAARF,EAIJl/E,KAAKu/E,SAAWN,EACD,EAAXF,EACQ,GAARD,EAEJ9+E,KAAKkT,SAELlT,KAAKw/E,QAAU37E,GAAO25E,aAEtBx9E,KAAKy/E,UAQT,QAAS95E,GAAOC,EAAGa,GACf,IAAK,GAAIZ,KAAKY,GACNu1E,EAAWv1E,EAAGZ,KACdD,EAAEC,GAAKY,EAAEZ,GAYjB,OARIm2E,GAAWv1E,EAAG,cACdb,EAAEF,SAAWe,EAAEf,UAGfs2E,EAAWv1E,EAAG,aACdb,EAAEyB,QAAUZ,EAAEY,SAGXzB,EAGX,QAAS44E,GAAW50D,EAAID,GACpB,GAAI9jB,GAAGK,EAAMw5E,CAiCb,IA/BqC,mBAA1B/1D,GAAKg2D,mBACZ/1D,EAAG+1D,iBAAmBh2D,EAAKg2D,kBAER,mBAAZh2D,GAAKi2D,KACZh2D,EAAGg2D,GAAKj2D,EAAKi2D,IAEM,mBAAZj2D,GAAKk2D,KACZj2D,EAAGi2D,GAAKl2D,EAAKk2D,IAEM,mBAAZl2D,GAAKm2D,KACZl2D,EAAGk2D,GAAKn2D,EAAKm2D,IAEW,mBAAjBn2D,GAAKo2D,UACZn2D,EAAGm2D,QAAUp2D,EAAKo2D,SAEG,mBAAdp2D,GAAKq2D,OACZp2D,EAAGo2D,KAAOr2D,EAAKq2D,MAEQ,mBAAhBr2D,GAAKs2D,SACZr2D,EAAGq2D,OAASt2D,EAAKs2D,QAEO,mBAAjBt2D,GAAKu2D,UACZt2D,EAAGs2D,QAAUv2D,EAAKu2D,SAEE,mBAAbv2D,GAAKw2D,MACZv2D,EAAGu2D,IAAMx2D,EAAKw2D,KAEU,mBAAjBx2D,GAAK61D,UACZ51D,EAAG41D,QAAU71D,EAAK61D,SAGlBY,GAAiBp6E,OAAS,EAC1B,IAAKH,IAAKu6E,IACNl6E,EAAOk6E,GAAiBv6E,GACxB65E,EAAM/1D,EAAKzjB,GACQ,mBAARw5E,KACP91D,EAAG1jB,GAAQw5E,EAKvB,OAAO91D,GAGX,QAASy2D,GAASC,GACd,MAAa,GAATA,EACO97E,KAAKy1C,KAAKqmC,GAEV97E,KAAKgB,MAAM86E,GAM1B,QAASjD,GAAaiD,EAAQC,EAAcC,GAIxC,IAHA,GAAIC,GAAS,GAAKj8E,KAAK4mB,IAAIk1D,GACvB/wD,EAAO+wD,GAAU,EAEdG,EAAOz6E,OAASu6E,GACnBE,EAAS,IAAMA,CAEnB,QAAQlxD,EAAQixD,EAAY,IAAM,GAAM,KAAOC,EAGnD,QAASC,GAA0BC,EAAM16E,GACrC,GAAI26E,IAAO3iD,aAAc,EAAGghD,OAAQ,EAUpC,OARA2B,GAAI3B,OAASh5E,EAAMmzB,QAAUunD,EAAKvnD,QACC,IAA9BnzB,EAAMgzB,OAAS0nD,EAAK1nD,QACrB0nD,EAAK7nD,QAAQvlB,IAAIqtE,EAAI3B,OAAQ,KAAK4B,QAAQ56E,MACxC26E,EAAI3B,OAGV2B,EAAI3iD,cAAgBh4B,GAAU06E,EAAK7nD,QAAQvlB,IAAIqtE,EAAI3B,OAAQ,KAEpD2B,EAGX,QAASE,GAAkBH,EAAM16E,GAC7B,GAAI26E,EAUJ,OATA36E,GAAQ86E,EAAO96E,EAAO06E,GAClBA,EAAKK,SAAS/6E,GACd26E,EAAMF,EAA0BC,EAAM16E,IAEtC26E,EAAMF,EAA0Bz6E,EAAO06E,GACvCC,EAAI3iD,cAAgB2iD,EAAI3iD,aACxB2iD,EAAI3B,QAAU2B,EAAI3B,QAGf2B,EAIX,QAASK,GAAYrlD,EAAWrlB,GAC5B,MAAO,UAAUmpE,EAAKnC,GAClB,GAAI2D,GAAKC,CAUT,OARe,QAAX5D,GAAoBv4E,OAAOu4E,KAC3BN,EAAgB1mE,EAAM,YAAcA,EAAQ,uDAAyDA,EAAO,qBAC5G4qE,EAAMzB,EAAKA,EAAMnC,EAAQA,EAAS4D,GAGtCzB,EAAqB,gBAARA,IAAoBA,EAAMA,EACvCwB,EAAMr9E,GAAOuM,SAASsvE,EAAKnC,GAC3B6D,EAAgCphF,KAAMkhF,EAAKtlD,GACpC57B,MAIf,QAASohF,GAAgCC,EAAKjxE,EAAUkxE,EAAU5C,GAC9D,GAAIzgD,GAAe7tB,EAASivE,cACxBD,EAAOhvE,EAASkvE,MAChBL,EAAS7uE,EAASmvE,OACtBb,GAA+B,MAAhBA,GAAuB,EAAOA,EAEzCzgD,GACAojD,EAAIzoD,GAAG2oD,SAASF,EAAIzoD,GAAKqF,EAAeqjD,GAExClC,GACAoC,GAAUH,EAAK,OAAQI,GAAUJ,EAAK,QAAUjC,EAAOkC,GAEvDrC,GACAyC,GAAeL,EAAKI,GAAUJ,EAAK,SAAWpC,EAASqC,GAEvD5C,GACA76E,GAAO66E,aAAa2C,EAAKjC,GAAQH,GAKzC,QAAS14E,GAAQo7E,GACb,MAAiD,mBAA1C/6E,OAAO6M,UAAU/N,SAASnF,KAAKohF,GAG1C,QAASh9E,GAAOg9E,GACZ,MAAiD,kBAA1C/6E,OAAO6M,UAAU/N,SAASnF,KAAKohF,IAClCA,YAAiB/8E,MAIzB,QAASg9E,GAAc5c,EAAQC,EAAQ4c,GACnC,GAGIh8E,GAHAC,EAAMtB,KAAKL,IAAI6gE,EAAOh/D,OAAQi/D,EAAOj/D,QACrC87E,EAAat9E,KAAK4mB,IAAI45C,EAAOh/D,OAASi/D,EAAOj/D,QAC7C+7E,EAAQ,CAEZ,KAAKl8E,EAAI,EAAOC,EAAJD,EAASA,KACZg8E,GAAe7c,EAAOn/D,KAAOo/D,EAAOp/D,KACnCg8E,GAAeG,EAAMhd,EAAOn/D,MAAQm8E,EAAM/c,EAAOp/D,MACnDk8E,GAGR,OAAOA,GAAQD,EAGnB,QAASG,GAAeC,GACpB,GAAIA,EAAO,CACP,GAAIC,GAAUD,EAAM98C,cAAct6B,QAAQ,QAAS,KACnDo3E,GAAQE,GAAYF,IAAUG,GAAeF,IAAYA,EAE7D,MAAOD,GAGX,QAASrD,GAAqByD,GAC1B,GACIC,GACAr8E,EAFA04E,IAIJ,KAAK14E,IAAQo8E,GACLtG,EAAWsG,EAAap8E,KACxBq8E,EAAiBN,EAAe/7E,GAC5Bq8E,IACA3D,EAAgB2D,GAAkBD,EAAYp8E,IAK1D,OAAO04E,GAGX,QAAS4D,GAASpzE,GACd,GAAIkI,GAAOmrE,CAEX,IAA8B,IAA1BrzE,EAAMpI,QAAQ,QACdsQ,EAAQ,EACRmrE,EAAS,UAER,CAAA,GAA+B,IAA3BrzE,EAAMpI,QAAQ,SAKnB,MAJAsQ,GAAQ,GACRmrE,EAAS,QAMb5+E,GAAOuL,GAAS,SAAUgzB,EAAQ15B,GAC9B,GAAI7C,GAAG68E,EACHlpE,EAAS3V,GAAO27E,QAAQpwE,GACxBuzE,IAYJ,IAVsB,gBAAXvgD,KACP15B,EAAQ05B,EACRA,EAASv7B,GAGb67E,EAAS,SAAU78E,GACf,GAAIrF,GAAIqD,KAAS++E,MAAMC,IAAIJ,EAAQ58E,EACnC,OAAO2T,GAAOjZ,KAAKsD,GAAO27E,QAASh/E,EAAG4hC,GAAU,KAGvC,MAAT15B,EACA,MAAOg6E,GAAOh6E,EAGd,KAAK7C,EAAI,EAAOyR,EAAJzR,EAAWA,IACnB88E,EAAQp6E,KAAKm6E,EAAO78E,GAExB,OAAO88E,IAKnB,QAASX,GAAMc,GACX,GAAIC,IAAiBD,EACjBx+E,EAAQ,CAUZ,OARsB,KAAlBy+E,GAAuBC,SAASD,KAE5Bz+E,EADAy+E,GAAiB,EACTv+E,KAAKgB,MAAMu9E,GAEXv+E,KAAKy1C,KAAK8oC,IAInBz+E,EAGX,QAAS2+E,GAAYhqD,EAAMG,GACvB,MAAO,IAAIx0B,MAAKA,KAAKs+E,IAAIjqD,EAAMG,EAAQ,EAAG,IAAI+pD,aAGlD,QAASC,GAAYnqD,EAAMoqD,EAAKC,GAC5B,MAAOC,IAAW1/E,IAAQo1B,EAAM,GAAI,GAAKoqD,EAAMC,IAAOD,EAAKC,GAAKnE,KAGpE,QAASqE,GAAWvqD,GAChB,MAAOwqD,GAAWxqD,GAAQ,IAAM,IAGpC,QAASwqD,GAAWxqD,GAChB,MAAQA,GAAO,IAAM,GAAKA,EAAO,MAAQ,GAAMA,EAAO,MAAQ,EAGlE,QAASslD,GAAc/9E,GACnB,GAAI4jB,EACA5jB,GAAEkjF,IAAyB,KAAnBljF,EAAE2/E,IAAI/7D,WACdA,EACI5jB,EAAEkjF,GAAGC,IAAS,GAAKnjF,EAAEkjF,GAAGC,IAAS,GAAKA,GACtCnjF,EAAEkjF,GAAGE,IAAQ,GAAKpjF,EAAEkjF,GAAGE,IAAQX,EAAYziF,EAAEkjF,GAAGG,IAAOrjF,EAAEkjF,GAAGC,KAAUC,GACtEpjF,EAAEkjF,GAAGI,IAAQ,GAAKtjF,EAAEkjF,GAAGI,IAAQ,IACX,KAAftjF,EAAEkjF,GAAGI,MAAkC,IAAjBtjF,EAAEkjF,GAAGK,KACY,IAAjBvjF,EAAEkjF,GAAGM,KACiB,IAAtBxjF,EAAEkjF,GAAGO,KAAuBH,GACvDtjF,EAAEkjF,GAAGK,IAAU,GAAKvjF,EAAEkjF,GAAGK,IAAU,GAAKA,GACxCvjF,EAAEkjF,GAAGM,IAAU,GAAKxjF,EAAEkjF,GAAGM,IAAU,GAAKA,GACxCxjF,EAAEkjF,GAAGO,IAAe,GAAKzjF,EAAEkjF,GAAGO,IAAe,IAAMA,GACnD,GAEAzjF,EAAE2/E,IAAI+D,qBAAkCL,GAAXz/D,GAAmBA,EAAWw/D,MAC3Dx/D,EAAWw/D,IAGfpjF,EAAE2/E,IAAI/7D,SAAWA,GAIzB,QAAS+/D,GAAQ3jF,GAiBb,MAhBkB,OAAdA,EAAE4jF,WACF5jF,EAAE4jF,UAAYp/E,MAAMxE,EAAEo4B,GAAGyrD,YACrB7jF,EAAE2/E,IAAI/7D,SAAW,IAChB5jB,EAAE2/E,IAAIjE,QACN17E,EAAE2/E,IAAI5D,eACN/7E,EAAE2/E,IAAI7D,YACN97E,EAAE2/E,IAAI3D,gBACNh8E,EAAE2/E,IAAI1D,gBAEPj8E,EAAEu/E,UACFv/E,EAAE4jF,SAAW5jF,EAAE4jF,UACa,IAAxB5jF,EAAE2/E,IAAI9D,eACwB,IAA9B77E,EAAE2/E,IAAIhE,aAAan2E,QACnBxF,EAAE2/E,IAAImE,UAAYz9E,IAGvBrG,EAAE4jF,SAGb,QAASG,GAAgBt7E,GACrB,MAAOA,GAAMA,EAAIm8B,cAAct6B,QAAQ,IAAK,KAAO7B,EAMvD,QAASu7E,GAAaC,GAGlB,IAFA,GAAWt4D,GAAGvD,EAAMsc,EAAQ58B,EAAxBzC,EAAI,EAEDA,EAAI4+E,EAAMz+E,QAAQ,CAKrB,IAJAsC,EAAQi8E,EAAgBE,EAAM5+E,IAAIyC,MAAM,KACxC6jB,EAAI7jB,EAAMtC,OACV4iB,EAAO27D,EAAgBE,EAAM5+E,EAAI,IACjC+iB,EAAOA,EAAOA,EAAKtgB,MAAM,KAAO,KACzB6jB,EAAI,GAAG,CAEV,GADA+Y,EAASw/C,EAAWp8E,EAAMsD,MAAM,EAAGugB,GAAG3jB,KAAK,MAEvC,MAAO08B,EAEX,IAAItc,GAAQA,EAAK5iB,QAAUmmB,GAAKy1D,EAAct5E,EAAOsgB,GAAM,IAASuD,EAAI,EAEpE,KAEJA,KAEJtmB,IAEJ,MAAO,MAGX,QAAS6+E,GAAWnuE,GAChB,GAAIouE,GAAY,IAChB,KAAK77C,GAAQvyB,IAASquE,GAClB,IACID,EAAY9gF,GAAOqhC,UACjB,WAAkC,GAAI1N,GAAI,GAAI5zB,OAAM,gCAAiE,MAA7B4zB,GAAEqtD,KAAO,mBAA0BrtD,KAE7H3zB,GAAOqhC,OAAOy/C,GAChB,MAAOntD,IAEb,MAAOsR,IAAQvyB,GAKnB,QAASwqE,GAAOY,EAAOmD,GACnB,GAAIlE,GAAKh0D,CACT,OAAIk4D,GAAM7E,QACNW,EAAMkE,EAAMhsD,QACZlM,GAAQ/oB,GAAOyD,SAASq6E,IAAUh9E,EAAOg9E,IAChCA,GAAS99E,GAAO89E,KAAYf,EAErCA,EAAIhoD,GAAG2oD,SAASX,EAAIhoD,GAAKhM,GACzB/oB,GAAO66E,aAAakC,GAAK,GAClBA,GAEA/8E,GAAO89E,GAAOoD,QA6N7B,QAASC,GAAuBrD,GAC5B,MAAIA,GAAM98E,MAAM,YACL88E,EAAM72E,QAAQ,WAAY,IAE9B62E,EAAM72E,QAAQ,MAAO,IAGhC,QAASm6E,GAAmB7iD,GACxB,GAA4Cv8B,GAAGG,EAA3C+C,EAAQq5B,EAAOv9B,MAAMqgF,GAEzB,KAAKr/E,EAAI,EAAGG,EAAS+C,EAAM/C,OAAYA,EAAJH,EAAYA,IAEvCkD,EAAMlD,GADNs/E,GAAqBp8E,EAAMlD,IAChBs/E,GAAqBp8E,EAAMlD,IAE3Bm/E,EAAuBj8E,EAAMlD,GAIhD,OAAO,UAAUw7E,GACb,GAAIZ,GAAS,EACb,KAAK56E,EAAI,EAAOG,EAAJH,EAAYA,IACpB46E,GAAU13E,EAAMlD,YAAciuC,UAAW/qC,EAAMlD,GAAGtF,KAAK8gF,EAAKj/C,GAAUr5B,EAAMlD,EAEhF,OAAO46E,IAKf,QAAS2E,GAAa5kF,EAAG4hC,GACrB,MAAK5hC,GAAE2jF,WAIP/hD,EAASijD,EAAajjD,EAAQ5hC,EAAEg9E,cAE3B8H,GAAgBljD,KACjBkjD,GAAgBljD,GAAU6iD,EAAmB7iD,IAG1CkjD,GAAgBljD,GAAQ5hC,IATpBA,EAAEg9E,aAAa+H,cAY9B,QAASF,GAAajjD,EAAQ8C,GAG1B,QAASsgD,GAA4B7D,GACjC,MAAOz8C,GAAOugD,eAAe9D,IAAUA,EAH3C,GAAI97E,GAAI,CAOR,KADA6/E,GAAsBC,UAAY,EAC3B9/E,GAAK,GAAK6/E,GAAsBp3E,KAAK8zB,IACxCA,EAASA,EAAOt3B,QAAQ46E,GAAuBF,GAC/CE,GAAsBC,UAAY,EAClC9/E,GAAK,CAGT,OAAOu8B,GAUX,QAASwjD,GAAsBliB,EAAO2a,GAClC,GAAIz4E,GAAGu+D,EAASka,EAAO0B,OACvB,QAAQrc,GACR,IAAK,IACD,MAAOmiB,GACX,KAAK,OACD,MAAOC,GACX,KAAK,OACL,IAAK,OACL,IAAK,OACD,MAAO3hB,GAAS4hB,GAAuBC,EAC3C,KAAK,IACL,IAAK,IACL,IAAK,IACD,MAAOC,GACX,KAAK,SACL,IAAK,QACL,IAAK,QACL,IAAK,QACD,MAAO9hB,GAAS+hB,GAAsBC,EAC1C,KAAK,IACD,GAAIhiB,EACA,MAAO0hB,GAGf,KAAK,KACD,GAAI1hB,EACA,MAAOiiB,GAGf,KAAK,MACD,GAAIjiB,EACA,MAAO2hB,GAGf,KAAK,MACD,MAAOO,GACX,KAAK,MACL,IAAK,OACL,IAAK,KACL,IAAK,MACL,IAAK,OACD,MAAOC,GACX,KAAK,IACL,IAAK,IACD,MAAOjI,GAAOmB,QAAQ+G,cAC1B,KAAK,IACD,MAAOC,GACX,KAAK,IACD,MAAOC,GACX,KAAK,IACL,IAAK,KACD,MAAOC,GACX,KAAK,IACD,MAAOC,GACX,KAAK,OACD,MAAOC,GACX,KAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACD,MAAOziB,GAASiiB,GAAsBS,EAC1C,KAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,MAAOA,GACX,KAAK,KACD,MAAO1iB,GAASka,EAAOmB,QAAQsH,cAAgBzI,EAAOmB,QAAQuH,oBAClE,SAEI,MADAnhF,GAAI,GAAIohF,QAAOC,GAAaC,GAAexjB,EAAM54D,QAAQ,KAAM,KAAM,OAK7E,QAASq8E,GAAoBC,GACzBA,EAASA,GAAU,EACnB,IAAIC,GAAqBD,EAAOviF,MAAM6hF,QAClCY,EAAUD,EAAkBA,EAAkBrhF,OAAS,OACvDyH,GAAS65E,EAAU,IAAIziF,MAAM0iF,MAA0B,IAAK,EAAG,GAC/DxpD,IAAuB,GAAXtwB,EAAM,IAAWu0E,EAAMv0E,EAAM,GAE7C,OAAoB,MAAbA,EAAM,GAAaswB,GAAWA,EAIzC,QAASypD,GAAwB9jB,EAAOie,EAAOtD,GAC3C,GAAIz4E,GAAG6hF,EAAgBpJ,EAAOqF,EAE9B,QAAQhgB,GAER,IAAK,IACY,MAATie,IACA8F,EAAc9D,IAA8B,GAApB3B,EAAML,GAAS,GAE3C,MAEJ,KAAK,IACL,IAAK,KACY,MAATA,IACA8F,EAAc9D,IAAS3B,EAAML,GAAS,EAE1C,MACJ,KAAK,MACL,IAAK,OACD/7E,EAAIy4E,EAAOmB,QAAQkI,YAAY/F,EAAOje,EAAO2a,EAAO0B,SAE3C,MAALn6E,EACA6hF,EAAc9D,IAAS/9E,EAEvBy4E,EAAO8B,IAAI5D,aAAeoF,CAE9B,MAEJ,KAAK,IACL,IAAK,KACY,MAATA,IACA8F,EAAc7D,IAAQ5B,EAAML,GAEhC,MACJ,KAAK,KACY,MAATA,IACA8F,EAAc7D,IAAQ5B,EAAM92E,SAChBy2E,EAAM98E,MAAM,WAAW,GAAI,KAE3C,MAEJ,KAAK,MACL,IAAK,OACY,MAAT88E,IACAtD,EAAOsJ,WAAa3F,EAAML,GAG9B,MAEJ,KAAK,KACD8F,EAAc5D,IAAQhgF,GAAO+jF,kBAAkBjG,EAC/C,MACJ,KAAK,OACL,IAAK,QACL,IAAK,SACD8F,EAAc5D,IAAQ7B,EAAML,EAC5B,MAEJ,KAAK,IACL,IAAK,IACDtD,EAAOwJ,UAAYlG,CAEnB,MAEJ,KAAK,IACL,IAAK,KACDtD,EAAO8B,IAAImE,SAAU,CAEzB,KAAK,IACL,IAAK,KACDmD,EAAc3D,IAAQ9B,EAAML,EAC5B,MAEJ,KAAK,IACL,IAAK,KACD8F,EAAc1D,IAAU/B,EAAML,EAC9B,MAEJ,KAAK,IACL,IAAK,KACD8F,EAAczD,IAAUhC,EAAML,EAC9B,MAEJ,KAAK,IACL,IAAK,KACL,IAAK,MACL,IAAK,OACD8F,EAAcxD,IAAejC,EAAuB,KAAhB,KAAOL,GAC3C,MAEJ,KAAK,IACDtD,EAAOzlD,GAAK,GAAIh0B,MAAKo9E,EAAML,GAC3B,MAEJ,KAAK,IACDtD,EAAOzlD,GAAK,GAAIh0B,MAAyB,IAApBghB,WAAW+7D,GAChC,MAEJ,KAAK,IACL,IAAK,KACDtD,EAAOyJ,SAAU,EACjBzJ,EAAO2B,KAAOmH,EAAoBxF,EAClC,MAEJ,KAAK,KACL,IAAK,MACL,IAAK,OACD/7E,EAAIy4E,EAAOmB,QAAQuI,cAAcpG,GAExB,MAAL/7E,GACAy4E,EAAO2J,GAAK3J,EAAO2J,OACnB3J,EAAO2J,GAAM,EAAIpiF,GAEjBy4E,EAAO8B,IAAI8H,eAAiBtG,CAEhC,MAEJ,KAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,IACL,IAAK,IACDje,EAAQA,EAAMn4D,OAAO,EAAG,EAE5B,KAAK,OACL,IAAK,OACL,IAAK,QACDm4D,EAAQA,EAAMn4D,OAAO,EAAG,GACpBo2E,IACAtD,EAAO2J,GAAK3J,EAAO2J,OACnB3J,EAAO2J,GAAGtkB,GAASse,EAAML,GAE7B,MACJ,KAAK,KACL,IAAK,KACDtD,EAAO2J,GAAK3J,EAAO2J,OACnB3J,EAAO2J,GAAGtkB,GAAS7/D,GAAO+jF,kBAAkBjG,IAIpD,QAASuG,GAAsB7J,GAC3B,GAAIntB,GAAGi3B,EAAUhJ,EAAMx8C,EAAS0gD,EAAKC,EAAK8E,CAE1Cl3B,GAAImtB,EAAO2J,GACC,MAAR92B,EAAEm3B,IAAqB,MAAPn3B,EAAEo3B,GAAoB,MAAPp3B,EAAEq3B,GACjClF,EAAM,EACNC,EAAM,EAMN6E,EAAWpM,EAAI7qB,EAAEm3B,GAAIhK,EAAOqF,GAAGG,IAAON,GAAW1/E,KAAU,EAAG,GAAGo1B,MACjEkmD,EAAOpD,EAAI7qB,EAAEo3B,EAAG,GAChB3lD,EAAUo5C,EAAI7qB,EAAEq3B,EAAG,KAEnBlF,EAAMhF,EAAOmB,QAAQgJ,MAAMnF,IAC3BC,EAAMjF,EAAOmB,QAAQgJ,MAAMlF,IAE3B6E,EAAWpM,EAAI7qB,EAAEu3B,GAAIpK,EAAOqF,GAAGG,IAAON,GAAW1/E,KAAUw/E,EAAKC,GAAKrqD,MACrEkmD,EAAOpD,EAAI7qB,EAAEA,EAAG,GAEL,MAAPA,EAAEjkD,GAEF01B,EAAUuuB,EAAEjkD,EACEo2E,EAAV1gD,KACEw8C,GAINx8C,EAFc,MAAPuuB,EAAE15B,EAEC05B,EAAE15B,EAAI6rD,EAGNA,GAGlB+E,EAAOM,GAAmBP,EAAUhJ,EAAMx8C,EAAS2gD,EAAKD,GAExDhF,EAAOqF,GAAGG,IAAQuE,EAAKnvD,KACvBolD,EAAOsJ,WAAaS,EAAKpvD,UAO7B,QAAS2vD,GAAetK,GACpB,GAAIx4E,GAAGszB,EAAkByvD,EAAaC,EAAzBlH,IAEb,KAAItD,EAAOzlD,GAAX,CA6BA,IAzBAgwD,EAAcE,GAAiBzK,GAG3BA,EAAO2J,IAAyB,MAAnB3J,EAAOqF,GAAGE,KAAqC,MAApBvF,EAAOqF,GAAGC,KAClDuE,EAAsB7J,GAItBA,EAAOsJ,aACPkB,EAAY9M,EAAIsC,EAAOqF,GAAGG,IAAO+E,EAAY/E,KAEzCxF,EAAOsJ,WAAanE,EAAWqF,KAC/BxK,EAAO8B,IAAI+D,oBAAqB,GAGpC/qD,EAAO4vD,GAAYF,EAAW,EAAGxK,EAAOsJ,YACxCtJ,EAAOqF,GAAGC,IAASxqD,EAAK6vD,cACxB3K,EAAOqF,GAAGE,IAAQzqD,EAAKgqD,cAQtBt9E,EAAI,EAAO,EAAJA,GAAyB,MAAhBw4E,EAAOqF,GAAG79E,KAAcA,EACzCw4E,EAAOqF,GAAG79E,GAAK87E,EAAM97E,GAAK+iF,EAAY/iF,EAI1C,MAAW,EAAJA,EAAOA,IACVw4E,EAAOqF,GAAG79E,GAAK87E,EAAM97E,GAAsB,MAAhBw4E,EAAOqF,GAAG79E,GAAqB,IAANA,EAAU,EAAI,EAAKw4E,EAAOqF,GAAG79E,EAI7D,MAApBw4E,EAAOqF,GAAGI,KACgB,IAAtBzF,EAAOqF,GAAGK,KACY,IAAtB1F,EAAOqF,GAAGM,KACiB,IAA3B3F,EAAOqF,GAAGO,MACd5F,EAAO4K,UAAW,EAClB5K,EAAOqF,GAAGI,IAAQ,GAGtBzF,EAAOzlD,IAAMylD,EAAOyJ,QAAUiB,GAAcG,IAAU7wE,MAAM,KAAMspE,GAG/C,MAAftD,EAAO2B,MACP3B,EAAOzlD,GAAGuwD,cAAc9K,EAAOzlD,GAAGwwD,gBAAkB/K,EAAO2B,MAG3D3B,EAAO4K,WACP5K,EAAOqF,GAAGI,IAAQ,KAI1B,QAASuF,GAAehL,GACpB,GAAIO,EAEAP,GAAOzlD,KAIXgmD,EAAkBC,EAAqBR,EAAOuB,IAC9CvB,EAAOqF,IACH9E,EAAgB3lD,KAChB2lD,EAAgBxlD,MAChBwlD,EAAgB7lD,KAAO6lD,EAAgBzlD,KACvCylD,EAAgBl8C,KAChBk8C,EAAgBn8C,OAChBm8C,EAAgBp8C,OAChBo8C,EAAgBr8C,aAGpBomD,EAAetK,IAGnB,QAASyK,IAAiBzK,GACtB,GAAIxgD,GAAM,GAAIj5B,KACd,OAAIy5E,GAAOyJ,SAEHjqD,EAAIyrD,iBACJzrD,EAAImrD,cACJnrD,EAAIslD,eAGAtlD,EAAIoF,cAAepF,EAAIgG,WAAYhG,EAAI+F,WAKvD,QAAS2lD,IAA4BlL,GACjC,GAAIA,EAAOwB,KAAOh8E,GAAO2lF,SAErB,WADAC,IAASpL,EAIbA,GAAOqF,MACPrF,EAAO8B,IAAIjE,OAAQ,CAGnB,IACIr2E,GAAG6jF,EAAaC,EAAQjmB,EAAOkmB,EAD/BxC,EAAS,GAAK/I,EAAOuB,GAErBiK,EAAezC,EAAOphF,OACtB8jF,EAAyB,CAI7B,KAFAH,EAAStE,EAAahH,EAAOwB,GAAIxB,EAAOmB,SAAS36E,MAAMqgF,QAElDr/E,EAAI,EAAGA,EAAI8jF,EAAO3jF,OAAQH,IAC3B69D,EAAQimB,EAAO9jF,GACf6jF,GAAetC,EAAOviF,MAAM+gF,EAAsBliB,EAAO2a,SAAgB,GACrEqL,IACAE,EAAUxC,EAAO77E,OAAO,EAAG67E,EAAOpgF,QAAQ0iF,IACtCE,EAAQ5jF,OAAS,GACjBq4E,EAAO8B,IAAI/D,YAAY7zE,KAAKqhF,GAEhCxC,EAASA,EAAOx7E,MAAMw7E,EAAOpgF,QAAQ0iF,GAAeA,EAAY1jF,QAChE8jF,GAA0BJ,EAAY1jF,QAGtCm/E,GAAqBzhB,IACjBgmB,EACArL,EAAO8B,IAAIjE,OAAQ,EAGnBmC,EAAO8B,IAAIhE,aAAa5zE,KAAKm7D,GAEjC8jB,EAAwB9jB,EAAOgmB,EAAarL,IAEvCA,EAAO0B,UAAY2J,GACxBrL,EAAO8B,IAAIhE,aAAa5zE,KAAKm7D,EAKrC2a,GAAO8B,IAAI9D,cAAgBwN,EAAeC,EACtC1C,EAAOphF,OAAS,GAChBq4E,EAAO8B,IAAI/D,YAAY7zE,KAAK6+E,GAI5B/I,EAAO8B,IAAImE,WAAY,GAAQjG,EAAOqF,GAAGI,KAAS,KAClDzF,EAAO8B,IAAImE,QAAUz9E,GAGzBw3E,EAAOqF,GAAGI,IAAQhG,EAAgBO,EAAOmB,QAASnB,EAAOqF,GAAGI,IACpDzF,EAAOwJ,WACfc,EAAetK,GACfE,EAAcF,GAGlB,QAAS6I,IAAe96E,GACpB,MAAOA,GAAEtB,QAAQ,sCAAuC,SAAUi/E,EAAStgB,EAAIC,EAAIC,EAAIqgB,GACnF,MAAOvgB,IAAMC,GAAMC,GAAMqgB,IAKjC,QAAS/C,IAAa76E,GAClB,MAAOA,GAAEtB,QAAQ,yBAA0B,QAI/C,QAASm/E,IAA2B5L,GAChC,GAAI6L,GACAC,EAEAC,EACAvkF,EACAwkF,CAEJ,IAAyB,IAArBhM,EAAOwB,GAAG75E,OAGV,MAFAq4E,GAAO8B,IAAI3D,eAAgB,OAC3B6B,EAAOzlD,GAAK,GAAIh0B,MAAK0lF,KAIzB,KAAKzkF,EAAI,EAAGA,EAAIw4E,EAAOwB,GAAG75E,OAAQH,IAC9BwkF,EAAe,EACfH,EAAa1L,KAAeH,GACN,MAAlBA,EAAOyJ,UACPoC,EAAWpC,QAAUzJ,EAAOyJ,SAEhCoC,EAAW/J,IAAMlE,IACjBiO,EAAWrK,GAAKxB,EAAOwB,GAAGh6E,GAC1B0jF,GAA4BW,GAEvB/F,EAAQ+F,KAKbG,GAAgBH,EAAW/J,IAAI9D,cAG/BgO,GAAqD,GAArCH,EAAW/J,IAAIhE,aAAan2E,OAE5CkkF,EAAW/J,IAAIoK,MAAQF,GAEJ,MAAfD,GAAsCA,EAAfC,KACvBD,EAAcC,EACdF,EAAaD,GAIrBvkF,GAAO04E,EAAQ8L,GAAcD,GAIjC,QAAST,IAASpL,GACd,GAAIx4E,GAAG2kF,EACHpD,EAAS/I,EAAOuB,GAChB/6E,EAAQ4lF,GAAS1lF,KAAKqiF,EAE1B,IAAIviF,EAAO,CAEP,IADAw5E,EAAO8B,IAAIzD,KAAM,EACZ72E,EAAI,EAAG2kF,EAAIE,GAAS1kF,OAAYwkF,EAAJ3kF,EAAOA,IACpC,GAAI6kF,GAAS7kF,GAAG,GAAGd,KAAKqiF,GAAS,CAE7B/I,EAAOwB,GAAK6K,GAAS7kF,GAAG,IAAMhB,EAAM,IAAM,IAC1C,OAGR,IAAKgB,EAAI,EAAG2kF,EAAIG,GAAS3kF,OAAYwkF,EAAJ3kF,EAAOA,IACpC,GAAI8kF,GAAS9kF,GAAG,GAAGd,KAAKqiF,GAAS,CAC7B/I,EAAOwB,IAAM8K,GAAS9kF,GAAG,EACzB,OAGJuhF,EAAOviF,MAAM6hF,MACbrI,EAAOwB,IAAM,KAEjB0J,GAA4BlL,OAE5BA,GAAO+F,UAAW,EAK1B,QAASwG,IAAmBvM,GACxBoL,GAASpL,GACLA,EAAO+F,YAAa,UACb/F,GAAO+F,SACdvgF,GAAOgnF,wBAAwBxM,IAIvC,QAAS1wE,IAAIgvC,EAAKjjC,GACd,GAAc7T,GAAV+6E,IACJ,KAAK/6E,EAAI,EAAGA,EAAI82C,EAAI32C,SAAUH,EAC1B+6E,EAAIr4E,KAAKmR,EAAGijC,EAAI92C,GAAIA,GAExB,OAAO+6E,GAGX,QAASkK,IAAkBzM,GACvB,GAAuB0L,GAAnBpI,EAAQtD,EAAOuB,EACf+B,KAAU96E,EACVw3E,EAAOzlD,GAAK,GAAIh0B,MACTD,EAAOg9E,GACdtD,EAAOzlD,GAAK,GAAIh0B,OAAM+8E,GAC6B,QAA3CoI,EAAUgB,GAAgBhmF,KAAK48E,IACvCtD,EAAOzlD,GAAK,GAAIh0B,OAAMmlF,EAAQ,IACN,gBAAVpI,GACdiJ,GAAmBvM,GACZ93E,EAAQo7E,IACftD,EAAOqF,GAAK/1E,GAAIg0E,EAAM/1E,MAAM,GAAI,SAAU0X,GACtC,MAAOpY,UAASoY,EAAK,MAEzBqlE,EAAetK,IACU,gBAAZ,GACbgL,EAAehL,GACU,gBAAZ,GAEbA,EAAOzlD,GAAK,GAAIh0B,MAAK+8E,GAErB99E,GAAOgnF,wBAAwBxM,GAIvC,QAAS6K,IAAS52E,EAAG9R,EAAGyM,EAAGd,EAAGi+D,EAAGh+D,EAAG4+E,GAGhC,GAAI7xD,GAAO,GAAIv0B,MAAK0N,EAAG9R,EAAGyM,EAAGd,EAAGi+D,EAAGh+D,EAAG4+E,EAMtC,OAHQ,MAAJ14E,GACA6mB,EAAK6J,YAAY1wB,GAEd6mB,EAGX,QAAS4vD,IAAYz2E,GACjB,GAAI6mB,GAAO,GAAIv0B,MAAKA,KAAKs+E,IAAI7qE,MAAM,KAAMtS,WAIzC,OAHQ,MAAJuM,GACA6mB,EAAK8xD,eAAe34E,GAEjB6mB,EAGX,QAAS+xD,IAAavJ,EAAOz8C,GACzB,GAAqB,gBAAVy8C,GACP,GAAK38E,MAAM28E,IAKP,GADAA,EAAQz8C,EAAO6iD,cAAcpG,GACR,gBAAVA,GACP,MAAO,UALXA,GAAQz2E,SAASy2E,EAAO,GAShC,OAAOA,GASX,QAASwJ,IAAkB/D,EAAQ9G,EAAQ8K,EAAeC,EAAUnmD,GAChE,MAAOA,GAAOomD,aAAahL,GAAU,IAAK8K,EAAehE,EAAQiE,GAGrE,QAASC,IAAaC,EAAgBH,EAAelmD,GACjD,GAAI90B,GAAWvM,GAAOuM,SAASm7E,GAAgBngE,MAC3C4S,EAAU/P,GAAM7d,EAASof,GAAG,MAC5BuO,EAAU9P,GAAM7d,EAASof,GAAG,MAC5BsO,EAAQ7P,GAAM7d,EAASof,GAAG,MAC1B4vD,EAAOnxD,GAAM7d,EAASof,GAAG,MACzByvD,EAAShxD,GAAM7d,EAASof,GAAG,MAC3BsvD,EAAQ7wD,GAAM7d,EAASof,GAAG,MAE1B/V,EAAOukB,EAAUwtD,GAAuBp/E,IAAM,IAAK4xB,IACnC,IAAZD,IAAkB,MAClBA,EAAUytD,GAAuBhrF,IAAM,KAAMu9B,IACnC,IAAVD,IAAgB,MAChBA,EAAQ0tD,GAAuBr/E,IAAM,KAAM2xB,IAClC,IAATshD,IAAe,MACfA,EAAOoM,GAAuBv+E,IAAM,KAAMmyE,IAC/B,IAAXH,IAAiB,MACjBA,EAASuM,GAAuBphB,IAAM,KAAM6U,IAClC,IAAVH,IAAgB,OAAS,KAAMA,EAKvC,OAHArlE,GAAK,GAAK2xE,EACV3xE,EAAK,IAAM8xE,EAAiB,EAC5B9xE,EAAK,GAAKyrB,EACHimD,GAAkB9yE,SAAUoB,GAgBvC,QAAS8pE,IAAWlC,EAAKoK,EAAgBC,GACrC,GAEIC,GAFAx7E,EAAMu7E,EAAuBD,EAC7BG,EAAkBF,EAAuBrK,EAAItoD,KAajD,OATI6yD,GAAkBz7E,IAClBy7E,GAAmB,GAGDz7E,EAAM,EAAxBy7E,IACAA,GAAmB,GAGvBD,EAAiB9nF,GAAOw9E,GAAK9tE,IAAIq4E,EAAiB,MAE9CzM,KAAM36E,KAAKy1C,KAAK0xC,EAAe3yD,YAAc,GAC7CC,KAAM0yD,EAAe1yD,QAK7B,QAASyvD,IAAmBzvD,EAAMkmD,EAAMx8C,EAAS+oD,EAAsBD,GACnE,GAA6CI,GAAW7yD,EAApD/rB,EAAI87E,GAAY9vD,EAAM,EAAG,GAAG6yD,WAOhC,OALA7+E,GAAU,IAANA,EAAU,EAAIA,EAClB01B,EAAqB,MAAXA,EAAkBA,EAAU8oD,EACtCI,EAAYJ,EAAiBx+E,GAAKA,EAAIy+E,EAAuB,EAAI,IAAUD,EAAJx+E,EAAqB,EAAI,GAChG+rB,EAAY,GAAKmmD,EAAO,IAAMx8C,EAAU8oD,GAAkBI,EAAY,GAGlE5yD,KAAMD,EAAY,EAAIC,EAAOA,EAAO,EACpCD,UAAWA,EAAY,EAAKA,EAAYwqD,EAAWvqD,EAAO,GAAKD,GAQvE,QAAS+yD,IAAW1N,GAChB,GAEIuC,GAFAe,EAAQtD,EAAOuB,GACfx9C,EAASi8C,EAAOwB,EAKpB,OAFAxB,GAAOmB,QAAUnB,EAAOmB,SAAW37E,GAAO25E,WAAWa,EAAOyB,IAE9C,OAAV6B,GAAmBv/C,IAAWv7B,GAAuB,KAAV86E,EACpC99E,GAAOmoF,SAAS1P,WAAW,KAGjB,gBAAVqF,KACPtD,EAAOuB,GAAK+B,EAAQtD,EAAOmB,QAAQyM,SAAStK,IAG5C99E,GAAOyD,SAASq6E,GACT,GAAIvD,GAAOuD,GAAO,IAClBv/C,EACH77B,EAAQ67B,GACR6nD,GAA2B5L,GAE3BkL,GAA4BlL,GAGhCyM,GAAkBzM,GAGtBuC,EAAM,GAAIxC,GAAOC,GACbuC,EAAIqI,WAEJrI,EAAIrtE,IAAI,EAAG,KACXqtE,EAAIqI,SAAWpiF,GAGZ+5E,IAyCX,QAASsL,IAAOxyE,EAAIyyE,GAChB,GAAIvL,GAAK/6E,CAIT,IAHuB,IAAnBsmF,EAAQnmF,QAAgBO,EAAQ4lF,EAAQ,MACxCA,EAAUA,EAAQ,KAEjBA,EAAQnmF,OACT,MAAOnC,KAGX,KADA+8E,EAAMuL,EAAQ,GACTtmF,EAAI,EAAGA,EAAIsmF,EAAQnmF,SAAUH,EAC1BsmF,EAAQtmF,GAAG6T,GAAIknE,KACfA,EAAMuL,EAAQtmF,GAGtB,OAAO+6E,GAsvBX,QAASc,IAAeL,EAAK/8E,GACzB,GAAI8nF,EAGJ,OAAqB,gBAAV9nF,KACPA,EAAQ+8E,EAAI7D,aAAakK,YAAYpjF,GAEhB,gBAAVA,IACA+8E,GAIf+K,EAAa5nF,KAAKL,IAAIk9E,EAAIloD,OAClB8pD,EAAY5B,EAAIpoD,OAAQ30B,IAChC+8E,EAAIzoD,GAAG,OAASyoD,EAAIpB,OAAS,MAAQ,IAAM,SAAS37E,EAAO8nF,GACpD/K,GAGX,QAASI,IAAUJ,EAAKgL,GACpB,MAAOhL,GAAIzoD,GAAG,OAASyoD,EAAIpB,OAAS,MAAQ,IAAMoM,KAGtD,QAAS7K,IAAUH,EAAKgL,EAAM/nF,GAC1B,MAAa,UAAT+nF,EACO3K,GAAeL,EAAK/8E,GAEpB+8E,EAAIzoD,GAAG,OAASyoD,EAAIpB,OAAS,MAAQ,IAAMoM,GAAM/nF,GAIhE,QAASgoF,IAAaD,EAAME,GACxB,MAAO,UAAUjoF,GACb,MAAa,OAATA,GACAk9E,GAAUxhF,KAAMqsF,EAAM/nF,GACtBT,GAAO66E,aAAa1+E,KAAMusF,GACnBvsF,MAEAyhF,GAAUzhF,KAAMqsF,IAqCnC,QAASG,IAAapN,GAElB,MAAc,KAAPA,EAAa,OAGxB,QAASqN,IAAa3N,GAGlB,MAAe,QAARA,EAAiB,IAuL5B,QAAS4N,IAAmBn2E,GACxB1S,GAAOuM,SAASsJ,GAAGnD,GAAQ,WACvB,MAAOvW,MAAKkT,MAAMqD,IA2D1B,QAASo2E,IAAWC,GAEK,mBAAVC,SAGXC,GAAkBC,GAAYlpF,OAE1BkpF,GAAYlpF,OADZ+oF,EACqB7P,EACb,uGAGAl5E,IAEaA,IAplF7B,IA/WA,GAAIA,IAIAipF,GAGAjnF,GANAgsE,GAAU,QAEVkb,GAAiC,mBAAXjR,IAA6C,mBAAXh0E,SAA0BA,SAAWg0E,EAAOh0E,OAAoB9H,KAAT87E,EAE/G7tD,GAAQzpB,KAAKypB,MACb9nB,GAAiBS,OAAO6M,UAAUtN,eAGlC09E,GAAO,EACPF,GAAQ,EACRC,GAAO,EACPE,GAAO,EACPC,GAAS,EACTC,GAAS,EACTC,GAAc,EAGdn7C,MAGAs3C,MAGAwE,GAA+B,mBAAX/kF,IAA0BA,GAAUA,EAAOD,QAG/DmrF,GAAkB,sBAClBiC,GAA0B,uDAI1BC,GAAmB,gIAGnB/H,GAAmB,qKACnBQ,GAAwB,6CAGxBmB,GAA2B,QAC3BR,GAA6B,UAC7BL,GAA4B,UAC5BG,GAA2B,gBAC3BS,GAAmB,MACnBN,GAAiB,mHACjBI,GAAqB,uBACrBC,GAAc,KACdH,GAAqB,aACrBC,GAAwB,yBAGxBZ,GAAqB,KACrBO,GAAsB,OACtBN,GAAwB,QACxBC,GAAuB,QACvBG,GAAsB,aACtBD,GAAyB,WAIzBwE,GAAW,4IAEXyC,GAAY,uBAEZxC,KACK,eAAgB,0BAChB,aAAc,sBACd,eAAgB,oBAChB,aAAc,iBACd,WAAY,gBAIjBC,KACK,gBAAiB,6BACjB,WAAY,wBACZ,QAAS,mBACT,KAAM,cAIXpD,GAAuB,kBAIvB4F,IADyB,0CAA0C7kF,MAAM,MAErE8kF,aAAiB,EACjBC,QAAY,IACZC,QAAY,IACZC,MAAU,KACVC,KAAS,MACTC,OAAW,OACXC,MAAU,UAGdtL,IACI4I,GAAK,cACL5+E,EAAI,SACJ5L,EAAI,SACJ2L,EAAI,OACJc,EAAI,MACJ0gF,EAAI,OACJz8B,EAAI,OACJo3B,EAAI,UACJle,EAAI,QACJwjB,EAAI,UACJt7E,EAAI,OACJu7E,IAAM,YACNr2D,EAAI,UACJ+wD,EAAI,aACJE,GAAI,WACJJ,GAAI,eAGRhG,IACIyL,UAAY,YACZC,WAAa,aACbC,QAAU,UACVC,SAAW,WACXC,YAAc,eAIlB5I,MAGAkG,IACIp/E,EAAG,GACH5L,EAAG,GACH2L,EAAG,GACHc,EAAG,GACHm9D,EAAG,IAIP+jB,GAAmB,gBAAgB7lF,MAAM,KACzC8lF,GAAe,kBAAkB9lF,MAAM,KAEvC68E,IACI/a,EAAO,WACH,MAAOpqE,MAAKo5B,QAAU,GAE1Bi1D,IAAO,SAAUjsD,GACb,MAAOpiC,MAAKw9E,aAAa8Q,YAAYtuF,KAAMoiC,IAE/CmsD,KAAO,SAAUnsD,GACb,MAAOpiC,MAAKw9E,aAAayB,OAAOj/E,KAAMoiC,IAE1CurD,EAAO,WACH,MAAO3tF,MAAKm5B,QAEhB00D,IAAO,WACH,MAAO7tF,MAAKg5B,aAEhB/rB,EAAO,WACH,MAAOjN,MAAK+4B,OAEhBy1D,GAAO,SAAUpsD,GACb,MAAOpiC,MAAKw9E,aAAaiR,YAAYzuF,KAAMoiC,IAE/CssD,IAAO,SAAUtsD,GACb,MAAOpiC,MAAKw9E,aAAamR,cAAc3uF,KAAMoiC,IAEjDwsD,KAAO,SAAUxsD,GACb,MAAOpiC,MAAKw9E,aAAaqR,SAAS7uF,KAAMoiC,IAE5C8uB,EAAO,WACH,MAAOlxD,MAAKm/E,QAEhBmJ,EAAO,WACH,MAAOtoF,MAAK8uF,WAEhBC,GAAO,WACH,MAAO1R,GAAar9E,KAAKi5B,OAAS,IAAK,IAE3C+1D,KAAO,WACH,MAAO3R,GAAar9E,KAAKi5B,OAAQ,IAErCg2D,MAAQ,WACJ,MAAO5R,GAAar9E,KAAKi5B,OAAQ,IAErCi2D,OAAS,WACL,GAAI58E,GAAItS,KAAKi5B,OAAQ1J,EAAOjd,GAAK,EAAI,IAAM,GAC3C,OAAOid,GAAO8tD,EAAa74E,KAAK4mB,IAAI9Y,GAAI,IAE5Cm2E,GAAO,WACH,MAAOpL,GAAar9E,KAAKmoF,WAAa,IAAK,IAE/CgH,KAAO,WACH,MAAO9R,GAAar9E,KAAKmoF,WAAY,IAEzCiH,MAAQ,WACJ,MAAO/R,GAAar9E,KAAKmoF,WAAY,IAEzCE,GAAO,WACH,MAAOhL,GAAar9E,KAAKqvF,cAAgB,IAAK,IAElDC,KAAO,WACH,MAAOjS,GAAar9E,KAAKqvF,cAAe,IAE5CE,MAAQ,WACJ,MAAOlS,GAAar9E,KAAKqvF,cAAe,IAE5C73D,EAAI,WACA,MAAOx3B,MAAK2iC,WAEhB4lD,EAAI,WACA,MAAOvoF,MAAKwvF,cAEhB5pF,EAAO,WACH,MAAO5F,MAAKw9E,aAAaO,SAAS/9E,KAAK89B,QAAS99B,KAAK+9B,WAAW,IAEpEmsC,EAAO,WACH,MAAOlqE,MAAKw9E,aAAaO,SAAS/9E,KAAK89B,QAAS99B,KAAK+9B,WAAW,IAEpEpT,EAAO,WACH,MAAO3qB,MAAK89B,SAEhB3xB,EAAO,WACH,MAAOnM,MAAK89B,QAAU,IAAM,IAEhCt9B,EAAO,WACH,MAAOR,MAAK+9B,WAEhB3xB,EAAO,WACH,MAAOpM,MAAKg+B,WAEhBpT,EAAO,WACH,MAAOo3D,GAAMhiF,KAAKi+B,eAAiB,MAEvCwxD,GAAO,WACH,MAAOpS,GAAa2E,EAAMhiF,KAAKi+B,eAAiB,IAAK,IAEzDyxD,IAAO,WACH,MAAOrS,GAAar9E,KAAKi+B,eAAgB,IAE7C0xD,KAAO,WACH,MAAOtS,GAAar9E,KAAKi+B,eAAgB,IAE7C2xD,EAAO,WACH,GAAIhqF,GAAI5F,KAAK6vF,YACTppF,EAAI,GAKR,OAJQ,GAAJb,IACAA,GAAKA,EACLa,EAAI,KAEDA,EAAI42E,EAAa2E,EAAMp8E,EAAI,IAAK,GAAK,IAAMy3E,EAAa2E,EAAMp8E,GAAK,GAAI,IAElFkqF,GAAO,WACH,GAAIlqF,GAAI5F,KAAK6vF,YACTppF,EAAI,GAKR,OAJQ,GAAJb,IACAA,GAAKA,EACLa,EAAI,KAEDA,EAAI42E,EAAa2E,EAAMp8E,EAAI,IAAK,GAAKy3E,EAAa2E,EAAMp8E,GAAK,GAAI,IAE5E6X,EAAI,WACA,MAAOzd,MAAK+vF,YAEhBC,GAAK,WACD,MAAOhwF,MAAKiwF,YAEhB59E,EAAO,WACH,MAAOrS,MAAKqH,WAEhB8jB,EAAO,WACH,MAAOnrB,MAAKkwF,QAEhBtC,EAAI,WACA,MAAO5tF,MAAKg/E,YAIpB9B,MAEAiT,IAAS,SAAU,cAAe,WAAY,gBAAiB,eAE/D1R,IAAmB,EAyFhB0P,GAAiBnoF,QACpBH,GAAIsoF,GAAiBvxC,MACrBuoC,GAAqBt/E,GAAI,KAAOy3E,EAAgB6H,GAAqBt/E,IAAIA,GAE7E,MAAOuoF,GAAapoF,QAChBH,GAAIuoF,GAAaxxC,MACjBuoC,GAAqBt/E,GAAIA,IAAKs3E,EAASgI,GAAqBt/E,IAAI,EAEpEs/E,IAAqBiL,KAAOjT,EAASgI,GAAqB0I,IAAK,GA0d/DloF,EAAOw4E,EAAO1qE,WAEVovE,IAAM,SAAUxE,GACZ,GAAIn4E,GAAML,CACV,KAAKA,IAAKw4E,GACNn4E,EAAOm4E,EAAOx4E,GACM,kBAATK,GACPlG,KAAK6F,GAAKK,EAEVlG,KAAK,IAAM6F,GAAKK,CAKxBlG,MAAK+mF,qBAAuB,GAAIC,QAAOhnF,KAAK8mF,cAAcrgB,OAAS,IAAM,UAAUA,SAGvF8Y,QAAU,wFAAwFj3E,MAAM,KACxG22E,OAAS,SAAUz+E,GACf,MAAOR,MAAKu/E,QAAQ/+E,EAAE44B,UAG1Bi3D,aAAe,kDAAkD/nF,MAAM,KACvEgmF,YAAc,SAAU9tF,GACpB,MAAOR,MAAKqwF,aAAa7vF,EAAE44B,UAG/BsuD,YAAc,SAAU4I,EAAWluD,EAAQ+hC,GACvC,GAAIt+D,GAAGw7E,EAAKkP,CAQZ,KANKvwF,KAAKwwF,eACNxwF,KAAKwwF,gBACLxwF,KAAKywF,oBACLzwF,KAAK0wF,sBAGJ7qF,EAAI,EAAO,GAAJA,EAAQA,IAAK,CAYrB,GAVAw7E,EAAMx9E,GAAO++E,KAAK,IAAM/8E,IACpBs+D,IAAWnkE,KAAKywF,iBAAiB5qF,KACjC7F,KAAKywF,iBAAiB5qF,GAAK,GAAImhF,QAAO,IAAMhnF,KAAKi/E,OAAOoC,EAAK,IAAIv2E,QAAQ,IAAK,IAAM,IAAK,KACzF9K,KAAK0wF,kBAAkB7qF,GAAK,GAAImhF,QAAO,IAAMhnF,KAAKsuF,YAAYjN,EAAK,IAAIv2E,QAAQ,IAAK,IAAM,IAAK,MAE9Fq5D,GAAWnkE,KAAKwwF,aAAa3qF,KAC9B0qF,EAAQ,IAAMvwF,KAAKi/E,OAAOoC,EAAK,IAAM,KAAOrhF,KAAKsuF,YAAYjN,EAAK,IAClErhF,KAAKwwF,aAAa3qF,GAAK,GAAImhF,QAAOuJ,EAAMzlF,QAAQ,IAAK,IAAK,MAG1Dq5D,GAAqB,SAAX/hC,GAAqBpiC,KAAKywF,iBAAiB5qF,GAAGyI,KAAKgiF,GAC7D,MAAOzqF,EACJ,IAAIs+D,GAAqB,QAAX/hC,GAAoBpiC,KAAK0wF,kBAAkB7qF,GAAGyI,KAAKgiF,GACpE,MAAOzqF,EACJ,KAAKs+D,GAAUnkE,KAAKwwF,aAAa3qF,GAAGyI,KAAKgiF,GAC5C,MAAOzqF,KAKnB8qF,UAAY,2DAA2DroF,MAAM,KAC7EumF,SAAW,SAAUruF,GACjB,MAAOR,MAAK2wF,UAAUnwF,EAAEu4B,QAG5B63D,eAAiB,8BAA8BtoF,MAAM,KACrDqmF,cAAgB,SAAUnuF,GACtB,MAAOR,MAAK4wF,eAAepwF,EAAEu4B,QAGjC83D,aAAe,uBAAuBvoF,MAAM,KAC5CmmF,YAAc,SAAUjuF,GACpB,MAAOR,MAAK6wF,aAAarwF,EAAEu4B,QAG/BgvD,cAAgB,SAAU+I,GACtB,GAAIjrF,GAAGw7E,EAAKkP,CAMZ,KAJKvwF,KAAK+wF,iBACN/wF,KAAK+wF,mBAGJlrF,EAAI,EAAO,EAAJA,EAAOA,IAQf,GANK7F,KAAK+wF,eAAelrF,KACrBw7E,EAAMx9E,IAAQ,IAAM,IAAIk1B,IAAIlzB,GAC5B0qF,EAAQ,IAAMvwF,KAAK6uF,SAASxN,EAAK,IAAM,KAAOrhF,KAAK2uF,cAActN,EAAK,IAAM,KAAOrhF,KAAKyuF,YAAYpN,EAAK,IACzGrhF,KAAK+wF,eAAelrF,GAAK,GAAImhF,QAAOuJ,EAAMzlF,QAAQ,IAAK,IAAK,MAG5D9K,KAAK+wF,eAAelrF,GAAGyI,KAAKwiF,GAC5B,MAAOjrF,IAKnBmrF,iBACIC,IAAM,YACNC,GAAK,SACLC,EAAI,aACJC,GAAK,eACLC,IAAM,kBACNC,KAAO,yBAEX7L,eAAiB,SAAUx8E,GACvB,GAAIw3E,GAASzgF,KAAKgxF,gBAAgB/nF,EAOlC,QANKw3E,GAAUzgF,KAAKgxF,gBAAgB/nF,EAAI+/B,iBACpCy3C,EAASzgF,KAAKgxF,gBAAgB/nF,EAAI+/B,eAAel+B,QAAQ,mBAAoB,SAAU40E,GACnF,MAAOA,GAAI9zE,MAAM,KAErB5L,KAAKgxF,gBAAgB/nF,GAAOw3E,GAEzBA,GAGXvC,KAAO,SAAUyD,GAGb,MAAiD,OAAxCA,EAAQ,IAAIv8C,cAAczf,OAAO,IAG9C4gE,eAAiB,gBACjBxI,SAAW,SAAUjgD,EAAOC,EAASwzD,GACjC,MAAIzzD,GAAQ,GACDyzD,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAKhCC,WACIC,QAAU,gBACVC,QAAU,mBACVC,SAAW,eACXC,QAAU,oBACVC,SAAW,sBACXC,SAAW,KAEfC,SAAW,SAAU9oF,EAAKo4E,EAAKxjD,GAC3B,GAAI4iD,GAASzgF,KAAKwxF,UAAUvoF,EAC5B,OAAyB,kBAAXw3E,GAAwBA,EAAOpoE,MAAMgpE,GAAMxjD,IAAQ4iD,GAGrEuR,eACIC,OAAS,QACTC,KAAO,SACP9lF,EAAI,gBACJ5L,EAAI,WACJ2xF,GAAK,aACLhmF,EAAI,UACJimF,GAAK,WACLnlF,EAAI,QACJuhF,GAAK,UACLpkB,EAAI,UACJioB,GAAK,YACL//E,EAAI,SACJggF,GAAK,YAGThH,aAAe,SAAUhL,EAAQ8K,EAAehE,EAAQiE,GACpD,GAAI5K,GAASzgF,KAAKgyF,cAAc5K,EAChC,OAA0B,kBAAX3G,GACXA,EAAOH,EAAQ8K,EAAehE,EAAQiE,GACtC5K,EAAO31E,QAAQ,MAAOw1E,IAG9BiS,WAAa,SAAU3lE,EAAM6zD,GACzB,GAAIr+C,GAASpiC,KAAKgyF,cAAcplE,EAAO,EAAI,SAAW,OACtD,OAAyB,kBAAXwV,GAAwBA,EAAOq+C,GAAUr+C,EAAOt3B,QAAQ,MAAO21E,IAGjFhD,QAAU,SAAU6C,GAChB,MAAOtgF,MAAKwyF,SAAS1nF,QAAQ,KAAMw1E,IAEvCkS,SAAW,KACX1L,cAAgB,UAEhBmF,SAAW,SAAU7E,GACjB,MAAOA,IAGXqL,WAAa,SAAUrL,GACnB,MAAOA,IAGXjI,KAAO,SAAUkC,GACb,MAAOkC,IAAWlC,EAAKrhF,KAAKwoF,MAAMnF,IAAKrjF,KAAKwoF,MAAMlF,KAAKnE,MAG3DqJ,OACInF,IAAM,EACNC,IAAM,GAGVmI,eAAiB,WACb,MAAOzrF,MAAKwoF,MAAMnF,KAGtBqP,eAAiB,WACb,MAAO1yF,MAAKwoF,MAAMlF,KAGtBqP,aAAc,eACdpN,YAAa,WACT,MAAOvlF,MAAK2yF,gBA0yBpB9uF,GAAS,SAAU89E,EAAOv/C,EAAQ8C,EAAQi/B,GACtC,GAAI1jE,EAiBJ,OAfuB,iBAAb,KACN0jE,EAASj/B,EACTA,EAASr+B,GAIbpG,KACAA,EAAEk/E,kBAAmB,EACrBl/E,EAAEm/E,GAAK+B,EACPlhF,EAAEo/E,GAAKz9C,EACP3hC,EAAEq/E,GAAK56C,EACPzkC,EAAEs/E,QAAU5b,EACZ1jE,EAAEw/E,QAAS,EACXx/E,EAAE0/E,IAAMlE,IAED8P,GAAWtrF,IAGtBoD,GAAOg5E,6BAA8B,EAErCh5E,GAAOgnF,wBAA0B9N,EAC7B,4LAIA,SAAUsB,GACNA,EAAOzlD,GAAK,GAAIh0B,MAAKy5E,EAAOuB,IAAMvB,EAAOyJ,QAAU,OAAS,OA0BpEjkF,GAAOM,IAAM,WACT,GAAIsV,MAAU7N,MAAMrL,KAAKwF,UAAW,EAEpC,OAAOmmF,IAAO,WAAYzyE,IAG9B5V,GAAOO,IAAM,WACT,GAAIqV,MAAU7N,MAAMrL,KAAKwF,UAAW,EAEpC,OAAOmmF,IAAO,UAAWzyE,IAI7B5V,GAAO++E,IAAM,SAAUjB,EAAOv/C,EAAQ8C,EAAQi/B,GAC1C,GAAI1jE,EAkBJ,OAhBuB,iBAAb,KACN0jE,EAASj/B,EACTA,EAASr+B,GAIbpG,KACAA,EAAEk/E,kBAAmB,EACrBl/E,EAAEqnF,SAAU,EACZrnF,EAAEw/E,QAAS,EACXx/E,EAAEq/E,GAAK56C,EACPzkC,EAAEm/E,GAAK+B,EACPlhF,EAAEo/E,GAAKz9C,EACP3hC,EAAEs/E,QAAU5b,EACZ1jE,EAAE0/E,IAAMlE,IAED8P,GAAWtrF,GAAGmiF,OAIzB/+E,GAAOqsF,KAAO,SAAUvO,GACpB,MAAO99E,IAAe,IAAR89E,IAIlB99E,GAAOuM,SAAW,SAAUuxE,EAAO14E,GAC/B,GAGIsmB,GACAqjE,EACAC,EACAC,EANA1iF,EAAWuxE,EAEX98E,EAAQ,IAiEZ,OA3DIhB,IAAOkvF,WAAWpR,GAClBvxE,GACI46E,GAAIrJ,EAAMtC,cACVpyE,EAAG00E,EAAMrC,MACTlV,EAAGuX,EAAMpC,SAEW,gBAAVoC,IACdvxE,KACInH,EACAmH,EAASnH,GAAO04E,EAEhBvxE,EAAS6tB,aAAe0jD,IAElB98E,EAAQmoF,GAAwBjoF,KAAK48E,KAC/CpyD,EAAqB,MAAb1qB,EAAM,GAAc,GAAK,EACjCuL,GACIkC,EAAG,EACHrF,EAAG+0E,EAAMn9E,EAAM++E,KAASr0D,EACxBpjB,EAAG61E,EAAMn9E,EAAMi/E,KAASv0D,EACxB/uB,EAAGwhF,EAAMn9E,EAAMk/E,KAAWx0D,EAC1BnjB,EAAG41E,EAAMn9E,EAAMm/E,KAAWz0D,EAC1By7D,GAAIhJ,EAAMn9E,EAAMo/E,KAAgB10D,KAE1B1qB,EAAQooF,GAAiBloF,KAAK48E,KACxCpyD,EAAqB,MAAb1qB,EAAM,GAAc,GAAK,EACjCguF,EAAW,SAAUG,GAIjB,GAAIpS,GAAMoS,GAAOptE,WAAWotE,EAAIloF,QAAQ,IAAK,KAE7C,QAAQ9F,MAAM47E,GAAO,EAAIA,GAAOrxD,GAEpCnf,GACIkC,EAAGugF,EAAShuF,EAAM,IAClBulE,EAAGyoB,EAAShuF,EAAM,IAClBoI,EAAG4lF,EAAShuF,EAAM,IAClBsH,EAAG0mF,EAAShuF,EAAM,IAClBrE,EAAGqyF,EAAShuF,EAAM,IAClBuH,EAAGymF,EAAShuF,EAAM,IAClBqsD,EAAG2hC,EAAShuF,EAAM,MAEH,MAAZuL,EACPA,KAC2B,gBAAbA,KACT,QAAUA,IAAY,MAAQA,MACnC0iF,EAAUhS,EAAkBj9E,GAAOuM,EAASuZ,MAAO9lB,GAAOuM,EAASwZ,KAEnExZ,KACAA,EAAS46E,GAAK8H,EAAQ70D,aACtB7tB,EAASg6D,EAAI0oB,EAAQ7T,QAGzB2T,EAAM,GAAIjU,GAASvuE,GAEfvM,GAAOkvF,WAAWpR,IAAU3F,EAAW2F,EAAO,aAC9CiR,EAAIpT,QAAUmC,EAAMnC,SAGjBoT,GAIX/uF,GAAOovF,QAAUphB,GAGjBhuE,GAAOi/B,cAAgBoqD,GAGvBrpF,GAAO2lF,SAAW,aAIlB3lF,GAAOu8E,iBAAmBA,GAI1Bv8E,GAAO66E,aAAe,aAGtB76E,GAAOqvF,sBAAwB,SAAUj5B,EAAWk5B,GAChD,MAAI3H,IAAuBvxB,KAAepzD,GAC/B,EAEPssF,IAAUtsF,EACH2kF,GAAuBvxB,IAElCuxB,GAAuBvxB,GAAak5B,GAC7B,IAGXtvF,GAAOshC,KAAO43C,EACV,wDACA,SAAU9zE,EAAK3E,GACX,MAAOT,IAAOqhC,OAAOj8B,EAAK3E,KAOlCT,GAAOqhC,OAAS,SAAUj8B,EAAKmO,GAC3B,GAAIpE,EAcJ,OAbI/J,KAEI+J,EADmB,mBAAb,GACCnP,GAAOuvF,aAAanqF,EAAKmO,GAGzBvT,GAAO25E,WAAWv0E,GAGzB+J,IACAnP,GAAOuM,SAASovE,QAAU37E,GAAO27E,QAAUxsE,IAI5CnP,GAAO27E,QAAQ6T,OAG1BxvF,GAAOuvF,aAAe,SAAU78E,EAAMa,GAClC,MAAe,QAAXA,GACAA,EAAOk8E,KAAO/8E,EACTuyB,GAAQvyB,KACTuyB,GAAQvyB,GAAQ,GAAI4nE,IAExBr1C,GAAQvyB,GAAMssE,IAAIzrE,GAGlBvT,GAAOqhC,OAAO3uB,GAEPuyB,GAAQvyB,WAGRuyB,IAAQvyB,GACR,OAIf1S,GAAO0vF,SAAWxW,EACd,gEACA,SAAU9zE,GACN,MAAOpF,IAAO25E,WAAWv0E,KAKjCpF,GAAO25E,WAAa,SAAUv0E,GAC1B,GAAIi8B,EAMJ,IAJIj8B,GAAOA,EAAIu2E,SAAWv2E,EAAIu2E,QAAQ6T,QAClCpqF,EAAMA,EAAIu2E,QAAQ6T,QAGjBpqF,EACD,MAAOpF,IAAO27E,OAGlB,KAAKj5E,EAAQ0C,GAAM,CAGf,GADAi8B,EAASw/C,EAAWz7E,GAEhB,MAAOi8B,EAEXj8B,IAAOA,GAGX,MAAOu7E,GAAav7E,IAIxBpF,GAAOyD,SAAW,SAAUgc,GACxB,MAAOA,aAAe86D,IACV,MAAP96D,GAAe04D,EAAW14D,EAAK,qBAIxCzf,GAAOkvF,WAAa,SAAUzvE,GAC1B,MAAOA,aAAeq7D,GAG1B,KAAK94E,GAAIsqF,GAAMnqF,OAAS,EAAGH,IAAK,IAAKA,GACjC28E,EAAS2N,GAAMtqF,IAGnBhC,IAAOo+E,eAAiB,SAAUC,GAC9B,MAAOD,GAAeC,IAG1Br+E,GAAOmoF,QAAU,SAAUwH,GACvB,GAAIhzF,GAAIqD,GAAO++E,IAAI0H,IAQnB,OAPa,OAATkJ,EACA7tF,EAAOnF,EAAE2/E,IAAKqT,GAGdhzF,EAAE2/E,IAAI1D,iBAAkB,EAGrBj8E,GAGXqD,GAAO4vF,UAAY,WACf,MAAO5vF,IAAOwU,MAAM,KAAMtS,WAAW0tF,aAGzC5vF,GAAO+jF,kBAAoB,SAAUjG,GACjC,MAAOK,GAAML,IAAUK,EAAML,GAAS,GAAK,KAAO,MAGtD99E,GAAOc,OAASA,EAOhBgB,EAAO9B,GAAO6V,GAAK0kE,EAAO3qE,WAEtBqlB,MAAQ,WACJ,MAAOj1B,IAAO7D,OAGlBqH,QAAU,WACN,OAAQrH,KAAK44B,GAA4B,KAArB54B,KAAKkgF,SAAW,IAGxCgQ,KAAO,WACH,MAAO1rF,MAAKgB,OAAOxF,KAAO,MAG9B0F,SAAW,WACP,MAAO1F,MAAK84B,QAAQoM,OAAO,MAAM9C,OAAO,qCAG5C76B,OAAS,WACL,MAAOvH,MAAKkgF,QAAU,GAAIt7E,OAAM5E,MAAQA,KAAK44B,IAGjDnxB,YAAc,WACV,GAAIjH,GAAIqD,GAAO7D,MAAM4iF,KACrB,OAAI,GAAIpiF,EAAEy4B,QAAUz4B,EAAEy4B,QAAU,KACxB,kBAAsBr0B,MAAK6O,UAAUhM,YAE9BzH,KAAKuH,SAASE,cAEd29E,EAAa5kF,EAAG,gCAGpB4kF,EAAa5kF,EAAG,mCAI/BsI,QAAU,WACN,GAAItI,GAAIR,IACR,QACIQ,EAAEy4B,OACFz4B,EAAE44B,QACF54B,EAAE24B,OACF34B,EAAEs9B,QACFt9B,EAAEu9B,UACFv9B,EAAEw9B,UACFx9B,EAAEy9B,iBAIVkmD,QAAU,WACN,MAAOA,GAAQnkF,OAGnB0zF,aAAe,WACX,MAAI1zF,MAAK0jF,GACE1jF,KAAKmkF,WAAavC,EAAc5hF,KAAK0jF,IAAK1jF,KAAKigF,OAASp8E,GAAO++E,IAAI5iF,KAAK0jF,IAAM7/E,GAAO7D,KAAK0jF,KAAK56E,WAAa,GAGhH,GAGX6qF,aAAe,WACX,MAAOhuF,MAAW3F,KAAKmgF,MAG3ByT,UAAW,WACP,MAAO5zF,MAAKmgF,IAAI/7D,UAGpBw+D,IAAM,SAAUiR,GACZ,MAAO7zF,MAAK6vF,UAAU,EAAGgE,IAG7B9O,MAAQ,SAAU8O,GASd,MARI7zF,MAAKigF,SACLjgF,KAAK6vF,UAAU,EAAGgE,GAClB7zF,KAAKigF,QAAS,EAEV4T,GACA7zF,KAAK4rB,SAAS5rB,KAAK8zF,iBAAkB,MAGtC9zF,MAGXoiC,OAAS,SAAU2xD,GACf,GAAItT,GAAS2E,EAAaplF,KAAM+zF,GAAelwF,GAAOi/B,cACtD,OAAO9iC,MAAKw9E,aAAaiV,WAAWhS,IAGxCltE,IAAM0tE,EAAY,EAAG,OAErBr1D,SAAWq1D,EAAY,GAAI,YAE3Br0D,KAAO,SAAU+0D,EAAOO,EAAO8R,GAC3B,GAEYpnE,GAAM6zD,EAFdwT,EAAOlT,EAAOY,EAAO3hF,MACrBk0F,EAAmD,KAAvCD,EAAKpE,YAAc7vF,KAAK6vF,YAqBxC,OAlBA3N,GAAQD,EAAeC,GAET,SAAVA,GAA8B,UAAVA,GAA+B,YAAVA,GACzCzB,EAAS/C,EAAU19E,KAAMi0F,GACX,YAAV/R,EACAzB,GAAkB,EACD,SAAVyB,IACPzB,GAAkB,MAGtB7zD,EAAO5sB,KAAOi0F,EACdxT,EAAmB,WAAVyB,EAAqBt1D,EAAO,IACvB,WAAVs1D,EAAqBt1D,EAAO,IAClB,SAAVs1D,EAAmBt1D,EAAO,KAChB,QAAVs1D,GAAmBt1D,EAAOsnE,GAAY,MAC5B,SAAVhS,GAAoBt1D,EAAOsnE,GAAY,OACvCtnE,GAEDonE,EAAUvT,EAASJ,EAASI,IAGvC92D,KAAO,SAAUkR,EAAMuwD,GACnB,MAAOvnF,IAAOuM,UAAUwZ,GAAI5pB,KAAM2pB,KAAMkR,IAAOqK,OAAOllC,KAAKklC,UAAUivD,UAAU/I,IAGnFgJ,QAAU,SAAUhJ,GAChB,MAAOprF,MAAK2pB,KAAK9lB,KAAUunF,IAG/B2G,SAAW,SAAUl3D,GAIjB,GAAIgD,GAAMhD,GAAQh3B,KACdwwF,EAAMtT,EAAOljD,EAAK79B,MAAMs0F,QAAQ,OAChC1nE,EAAO5sB,KAAK4sB,KAAKynE,EAAK,QAAQ,GAC9BjyD,EAAgB,GAAPxV,EAAY,WACV,GAAPA,EAAY,WACL,EAAPA,EAAW,UACJ,EAAPA,EAAW,UACJ,EAAPA,EAAW,UACJ,EAAPA,EAAW,WAAa,UAChC,OAAO5sB,MAAKoiC,OAAOpiC,KAAKw9E,aAAauU,SAAS3vD,EAAQpiC,KAAM6D,GAAOg6B,MAGvE4lD,WAAa,WACT,MAAOA,GAAWzjF,KAAKi5B,SAG3Bs7D,MAAQ,WACJ,MAAQv0F,MAAK6vF,YAAc7vF,KAAK84B,QAAQM,MAAM,GAAGy2D,aAC7C7vF,KAAK6vF,YAAc7vF,KAAK84B,QAAQM,MAAM,GAAGy2D,aAGjD92D,IAAM,SAAU4oD,GACZ,GAAI5oD,GAAM/4B,KAAKigF,OAASjgF,KAAK44B,GAAGkzD,YAAc9rF,KAAK44B,GAAG47D,QACtD,OAAa,OAAT7S,GACAA,EAAQuJ,GAAavJ,EAAO3hF,KAAKw9E,cAC1Bx9E,KAAKuT,IAAIouE,EAAQ5oD,EAAK,MAEtBA,GAIfK,MAAQkzD,GAAa,SAAS,GAE9BgI,QAAU,SAAUpS,GAIhB,OAHAA,EAAQD,EAAeC,IAIvB,IAAK,OACDliF,KAAKo5B,MAAM,EAEf,KAAK,UACL,IAAK,QACDp5B,KAAKm5B,KAAK,EAEd,KAAK,OACL,IAAK,UACL,IAAK,MACDn5B,KAAK89B,MAAM,EAEf,KAAK,OACD99B,KAAK+9B,QAAQ,EAEjB,KAAK,SACD/9B,KAAKg+B,QAAQ,EAEjB,KAAK,SACDh+B,KAAKi+B,aAAa,GAgBtB,MAXc,SAAVikD,EACAliF,KAAK2iC,QAAQ,GACI,YAAVu/C,GACPliF,KAAKwvF,WAAW,GAIN,YAAVtN,GACAliF,KAAKo5B,MAAqC,EAA/B50B,KAAKgB,MAAMxF,KAAKo5B,QAAU,IAGlCp5B,MAGXy0F,MAAO,SAAUvS,GAEb,MADAA,GAAQD,EAAeC,GACnBA,IAAUr7E,GAAuB,gBAAVq7E,EAChBliF,KAEJA,KAAKs0F,QAAQpS,GAAO3uE,IAAI,EAAc,YAAV2uE,EAAsB,OAASA,GAAQt2D,SAAS,EAAG,OAG1Fi1D,QAAS,SAAUc,EAAOO,GACtB,GAAIwS,EAEJ,OADAxS,GAAQD,EAAgC,mBAAVC,GAAwBA,EAAQ,eAChD,gBAAVA,GACAP,EAAQ99E,GAAOyD,SAASq6E,GAASA,EAAQ99E,GAAO89E,IACxC3hF,MAAQ2hF,IAEhB+S,EAAU7wF,GAAOyD,SAASq6E,IAAUA,GAAS99E,GAAO89E,GAC7C+S,GAAW10F,KAAK84B,QAAQw7D,QAAQpS,KAI/ClB,SAAU,SAAUW,EAAOO,GACvB,GAAIwS,EAEJ,OADAxS,GAAQD,EAAgC,mBAAVC,GAAwBA,EAAQ,eAChD,gBAAVA,GACAP,EAAQ99E,GAAOyD,SAASq6E,GAASA,EAAQ99E,GAAO89E,IAChCA,GAAR3hF,OAER00F,EAAU7wF,GAAOyD,SAASq6E,IAAUA,GAAS99E,GAAO89E,IAC5C3hF,KAAK84B,QAAQ27D,MAAMvS,GAASwS,IAI5CC,UAAW,SAAUhrE,EAAMC,EAAIs4D,GAC3B,MAAOliF,MAAK6gF,QAAQl3D,EAAMu4D,IAAUliF,KAAKghF,SAASp3D,EAAIs4D,IAG1Dp9C,OAAQ,SAAU68C,EAAOO,GACrB,GAAIwS,EAEJ,OADAxS,GAAQD,EAAeC,GAAS,eAClB,gBAAVA,GACAP,EAAQ99E,GAAOyD,SAASq6E,GAASA,EAAQ99E,GAAO89E,IACxC3hF,QAAU2hF,IAElB+S,GAAW7wF,GAAO89E,IACT3hF,KAAK84B,QAAQw7D,QAAQpS,IAAWwS,GAAWA,IAAa10F,KAAK84B,QAAQ27D,MAAMvS,KAI5F/9E,IAAK44E,EACI,mGACA,SAAU92E,GAEN,MADAA,GAAQpC,GAAOwU,MAAM,KAAMtS,WACZ/F,KAARiG,EAAejG,KAAOiG,IAI1C7B,IAAK24E,EACG,mGACA,SAAU92E,GAEN,MADAA,GAAQpC,GAAOwU,MAAM,KAAMtS,WACpBE,EAAQjG,KAAOA,KAAOiG,IAIzC2uF,KAAO7X,EACC,4GAEA,SAAU4E,EAAOkS,GACb,MAAa,OAATlS,GACqB,gBAAVA,KACPA,GAASA,GAGb3hF,KAAK6vF,UAAUlO,EAAOkS,GAEf7zF,OAECA,KAAK6vF,cAe7BA,UAAY,SAAUlO,EAAOkS,GACzB,GACIgB,GADA3qE,EAASlqB,KAAKkgF,SAAW,CAE7B,OAAa,OAATyB,GACqB,gBAAVA,KACPA,EAAQwF,EAAoBxF,IAE5Bn9E,KAAK4mB,IAAIu2D,GAAS,KAClBA,EAAgB,GAARA,IAEP3hF,KAAKigF,QAAU4T,IAChBgB,EAAc70F,KAAK8zF,kBAEvB9zF,KAAKkgF,QAAUyB,EACf3hF,KAAKigF,QAAS,EACK,MAAf4U,GACA70F,KAAKuT,IAAIshF,EAAa,KAEtB3qE,IAAWy3D,KACNkS,GAAiB7zF,KAAK80F,kBACvB1T,EAAgCphF,KACxB6D,GAAOuM,SAASuxE,EAAQz3D,EAAQ,KAAM,GAAG,GACzClqB,KAAK80F,oBACb90F,KAAK80F,mBAAoB,EACzBjxF,GAAO66E,aAAa1+E,MAAM,GAC1BA,KAAK80F,kBAAoB,OAI1B90F,MAEAA,KAAKigF,OAAS/1D,EAASlqB,KAAK8zF,kBAI3CiB,QAAU,WACN,OAAQ/0F,KAAKigF,QAGjB+U,YAAc,WACV,MAAOh1F,MAAKigF,QAGhBgV,MAAQ,WACJ,MAAOj1F,MAAKigF,QAA2B,IAAjBjgF,KAAKkgF,SAG/B6P,SAAW,WACP,MAAO/vF,MAAKigF,OAAS,MAAQ,IAGjCgQ,SAAW,WACP,MAAOjwF,MAAKigF,OAAS,6BAA+B,IAGxDwT,UAAY,WAMR,MALIzzF,MAAKggF,KACLhgF,KAAK6vF,UAAU7vF,KAAKggF,MACM,gBAAZhgF,MAAK4/E,IACnB5/E,KAAK6vF,UAAU1I,EAAoBnnF,KAAK4/E,KAErC5/E,MAGXk1F,qBAAuB,SAAUvT,GAQ7B,MAHIA,GAJCA,EAIO99E,GAAO89E,GAAOkO,YAHd,GAMJ7vF,KAAK6vF,YAAclO,GAAS,KAAO,GAG/CsB,YAAc,WACV,MAAOA,GAAYjjF,KAAKi5B,OAAQj5B,KAAKo5B,UAGzCJ,UAAY,SAAU2oD,GAClB,GAAI3oD,GAAY/K,IAAOpqB,GAAO7D,MAAMs0F,QAAQ,OAASzwF,GAAO7D,MAAMs0F,QAAQ,SAAW,OAAS,CAC9F,OAAgB,OAAT3S,EAAgB3oD,EAAYh5B,KAAKuT,IAAKouE,EAAQ3oD,EAAY,MAGrEgmD,QAAU,SAAU2C,GAChB,MAAgB,OAATA,EAAgBn9E,KAAKy1C,MAAMj6C,KAAKo5B,QAAU,GAAK,GAAKp5B,KAAKo5B,MAAoB,GAAbuoD,EAAQ,GAAS3hF,KAAKo5B,QAAU,IAG3G+uD,SAAW,SAAUxG,GACjB,GAAI1oD,GAAOsqD,GAAWvjF,KAAMA,KAAKw9E,aAAagL,MAAMnF,IAAKrjF,KAAKw9E,aAAagL,MAAMlF,KAAKrqD,IACtF,OAAgB,OAAT0oD,EAAgB1oD,EAAOj5B,KAAKuT,IAAKouE,EAAQ1oD,EAAO,MAG3Do2D,YAAc,SAAU1N,GACpB,GAAI1oD,GAAOsqD,GAAWvjF,KAAM,EAAG,GAAGi5B,IAClC,OAAgB,OAAT0oD,EAAgB1oD,EAAOj5B,KAAKuT,IAAKouE,EAAQ1oD,EAAO,MAG3DkmD,KAAO,SAAUwC,GACb,GAAIxC,GAAOn/E,KAAKw9E,aAAa2B,KAAKn/E,KAClC,OAAgB,OAAT2hF,EAAgBxC,EAAOn/E,KAAKuT,IAAqB,GAAhBouE,EAAQxC,GAAW,MAG/D2P,QAAU,SAAUnN,GAChB,GAAIxC,GAAOoE,GAAWvjF,KAAM,EAAG,GAAGm/E,IAClC,OAAgB,OAATwC,EAAgBxC,EAAOn/E,KAAKuT,IAAqB,GAAhBouE,EAAQxC,GAAW,MAG/Dx8C,QAAU,SAAUg/C,GAChB,GAAIh/C,IAAW3iC,KAAK+4B,MAAQ,EAAI/4B,KAAKw9E,aAAagL,MAAMnF,KAAO,CAC/D,OAAgB,OAAT1B,EAAgBh/C,EAAU3iC,KAAKuT,IAAIouE,EAAQh/C,EAAS,MAG/D6sD,WAAa,SAAU7N,GAInB,MAAgB,OAATA,EAAgB3hF,KAAK+4B,OAAS,EAAI/4B,KAAK+4B,IAAI/4B,KAAK+4B,MAAQ,EAAI4oD,EAAQA,EAAQ,IAGvFwT,eAAiB,WACb,MAAO/R,GAAYpjF,KAAKi5B,OAAQ,EAAG,IAGvCmqD,YAAc,WACV,GAAIgS,GAAWp1F,KAAKw9E,aAAagL,KACjC,OAAOpF,GAAYpjF,KAAKi5B,OAAQm8D,EAAS/R,IAAK+R,EAAS9R,MAG3D9tE,IAAM,SAAU0sE,GAEZ,MADAA,GAAQD,EAAeC,GAChBliF,KAAKkiF,MAGhBW,IAAM,SAAUX,EAAO59E,GACnB,GAAI+nF,EACJ,IAAqB,gBAAVnK,GACP,IAAKmK,IAAQnK,GACTliF,KAAK6iF,IAAIwJ,EAAMnK,EAAMmK,QAIzBnK,GAAQD,EAAeC,GACI,kBAAhBliF,MAAKkiF,IACZliF,KAAKkiF,GAAO59E,EAGpB,OAAOtE,OAMXklC,OAAS,SAAUj8B,GACf,GAAIosF,EAEJ,OAAIpsF,KAAQpC,EACD7G,KAAKw/E,QAAQ6T,OAEpBgC,EAAgBxxF,GAAO25E,WAAWv0E,GACb,MAAjBosF,IACAr1F,KAAKw/E,QAAU6V,GAEZr1F,OAIfmlC,KAAO43C,EACH,kJACA,SAAU9zE,GACN,MAAIA,KAAQpC,EACD7G,KAAKw9E,aAELx9E,KAAKklC,OAAOj8B,KAK/Bu0E,WAAa,WACT,MAAOx9E,MAAKw/E,SAGhBsU,eAAiB,WAGb,MAAuD,KAA/CtvF,KAAKypB,MAAMjuB,KAAK44B,GAAG08D,oBAAsB,OA+CzDzxF,GAAO6V,GAAG6oB,YAAc1+B,GAAO6V,GAAGukB,aAAequD,GAAa,gBAAgB,GAC9EzoF,GAAO6V,GAAG8oB,OAAS3+B,GAAO6V,GAAGskB,QAAUsuD,GAAa,WAAW,GAC/DzoF,GAAO6V,GAAG+oB,OAAS5+B,GAAO6V,GAAGqkB,QAAUuuD,GAAa,WAAW,GAK/DzoF,GAAO6V,GAAGgpB,KAAO7+B,GAAO6V,GAAGokB,MAAQwuD,GAAa,SAAS,GAEzDzoF,GAAO6V,GAAGyf,KAAOmzD,GAAa,QAAQ,GACtCzoF,GAAO6V,GAAGwgB,MAAQ6iD,EAAU,kDAAmDuP,GAAa,QAAQ,IACpGzoF,GAAO6V,GAAGuf,KAAOqzD,GAAa,YAAY,GAC1CzoF,GAAO6V,GAAGolE,MAAQ/B,EAAU,kDAAmDuP,GAAa,YAAY,IAGxGzoF,GAAO6V,GAAG0lE,KAAOv7E,GAAO6V,GAAGqf,IAC3Bl1B,GAAO6V,GAAGulE,OAASp7E,GAAO6V,GAAG0f,MAC7Bv1B,GAAO6V,GAAGwlE,MAAQr7E,GAAO6V,GAAGylE,KAC5Bt7E,GAAO6V,GAAG67E,SAAW1xF,GAAO6V,GAAGo1E,QAC/BjrF,GAAO6V,GAAGqlE,SAAWl7E,GAAO6V,GAAGslE,QAG/Bn7E,GAAO6V,GAAG87E,OAAS3xF,GAAO6V,GAAGjS,YAG7B5D,GAAO6V,GAAG+7E,MAAQ5xF,GAAO6V,GAAGu7E,MAkB5BtvF,EAAO9B,GAAOuM,SAASsJ,GAAKilE,EAASlrE,WAEjCgsE,QAAU,WACN,GAIIzhD,GAASD,EAASD,EAJlBG,EAAej+B,KAAKq/E,cACpBD,EAAOp/E,KAAKs/E,MACZL,EAASj/E,KAAKu/E,QACdvsE,EAAOhT,KAAKkT,MACa4rE,EAAQ,CAIrC9rE,GAAKirB,aAAeA,EAAe,IAEnCD,EAAUqiD,EAASpiD,EAAe,KAClCjrB,EAAKgrB,QAAUA,EAAU,GAEzBD,EAAUsiD,EAASriD,EAAU,IAC7BhrB,EAAK+qB,QAAUA,EAAU,GAEzBD,EAAQuiD,EAAStiD,EAAU,IAC3B/qB,EAAK8qB,MAAQA,EAAQ,GAErBshD,GAAQiB,EAASviD,EAAQ,IAGzBghD,EAAQuB,EAASmM,GAAYpN,IAC7BA,GAAQiB,EAASoM,GAAY3N,IAI7BG,GAAUoB,EAASjB,EAAO,IAC1BA,GAAQ,GAGRN,GAASuB,EAASpB,EAAS,IAC3BA,GAAU,GAEVjsE,EAAKosE,KAAOA,EACZpsE,EAAKisE,OAASA,EACdjsE,EAAK8rE,MAAQA,GAGjB1zD,IAAM,WAYF,MAXAprB,MAAKq/E,cAAgB76E,KAAK4mB,IAAIprB,KAAKq/E,eACnCr/E,KAAKs/E,MAAQ96E,KAAK4mB,IAAIprB,KAAKs/E,OAC3Bt/E,KAAKu/E,QAAU/6E,KAAK4mB,IAAIprB,KAAKu/E,SAE7Bv/E,KAAKkT,MAAM+qB,aAAez5B,KAAK4mB,IAAIprB,KAAKkT,MAAM+qB,cAC9Cj+B,KAAKkT,MAAM8qB,QAAUx5B,KAAK4mB,IAAIprB,KAAKkT,MAAM8qB,SACzCh+B,KAAKkT,MAAM6qB,QAAUv5B,KAAK4mB,IAAIprB,KAAKkT,MAAM6qB,SACzC/9B,KAAKkT,MAAM4qB,MAAQt5B,KAAK4mB,IAAIprB,KAAKkT,MAAM4qB,OACvC99B,KAAKkT,MAAM+rE,OAASz6E,KAAK4mB,IAAIprB,KAAKkT,MAAM+rE,QACxCj/E,KAAKkT,MAAM4rE,MAAQt6E,KAAK4mB,IAAIprB,KAAKkT,MAAM4rE,OAEhC9+E,MAGXk/E,MAAQ,WACJ,MAAOmB,GAASrgF,KAAKo/E,OAAS,IAGlC/3E,QAAU,WACN,MAAOrH,MAAKq/E,cACG,MAAbr/E,KAAKs/E,MACJt/E,KAAKu/E,QAAU,GAAM,OACK,QAA3ByC,EAAMhiF,KAAKu/E,QAAU,KAG3B4U,SAAW,SAAUuB,GACjB,GAAIjV,GAAS6K,GAAatrF,MAAO01F,EAAY11F,KAAKw9E,aAMlD,OAJIkY,KACAjV,EAASzgF,KAAKw9E,aAAa+U,YAAYvyF,KAAMygF,IAG1CzgF,KAAKw9E,aAAaiV,WAAWhS,IAGxCltE,IAAM,SAAUouE,EAAOjC,GAEnB,GAAIwB,GAAMr9E,GAAOuM,SAASuxE,EAAOjC,EAQjC,OANA1/E,MAAKq/E,eAAiB6B,EAAI7B,cAC1Br/E,KAAKs/E,OAAS4B,EAAI5B,MAClBt/E,KAAKu/E,SAAW2B,EAAI3B,QAEpBv/E,KAAKy/E,UAEEz/E,MAGX4rB,SAAW,SAAU+1D,EAAOjC,GACxB,GAAIwB,GAAMr9E,GAAOuM,SAASuxE,EAAOjC,EAQjC,OANA1/E,MAAKq/E,eAAiB6B,EAAI7B,cAC1Br/E,KAAKs/E,OAAS4B,EAAI5B,MAClBt/E,KAAKu/E,SAAW2B,EAAI3B,QAEpBv/E,KAAKy/E,UAEEz/E,MAGXwV,IAAM,SAAU0sE,GAEZ,MADAA,GAAQD,EAAeC,GAChBliF,KAAKkiF,EAAM98C,cAAgB,QAGtC5V,GAAK,SAAU0yD,GACX,GAAI9C,GAAMH,CAGV,IAFAiD,EAAQD,EAAeC,GAET,UAAVA,GAA+B,SAAVA,EAGrB,MAFA9C,GAAOp/E,KAAKs/E,MAAQt/E,KAAKq/E,cAAgB,MACzCJ,EAASj/E,KAAKu/E,QAA8B,GAApBiN,GAAYpN,GACnB,UAAV8C,EAAoBjD,EAASA,EAAS,EAI7C,QADAG,EAAOp/E,KAAKs/E,MAAQ96E,KAAKypB,MAAMw+D,GAAYzsF,KAAKu/E,QAAU,KAClD2C,GACJ,IAAK,OAAQ,MAAO9C,GAAO,EAAIp/E,KAAKq/E,cAAgB,MACpD,KAAK,MAAO,MAAOD,GAAOp/E,KAAKq/E,cAAgB,KAC/C,KAAK,OAAQ,MAAc,IAAPD,EAAYp/E,KAAKq/E,cAAgB,IACrD,KAAK,SAAU,MAAc,IAAPD,EAAY,GAAKp/E,KAAKq/E,cAAgB,GAC5D,KAAK,SAAU,MAAc,IAAPD,EAAY,GAAK,GAAKp/E,KAAKq/E,cAAgB,GAEjE,KAAK,cAAe,MAAO76E,MAAKgB,MAAa,GAAP45E,EAAY,GAAK,GAAK,KAAQp/E,KAAKq/E,aACzE,SAAS,KAAM,IAAIz7E,OAAM,gBAAkBs+E;GAKvD/8C,KAAOthC,GAAO6V,GAAGyrB,KACjBD,OAASrhC,GAAO6V,GAAGwrB,OAEnBywD,YAAc5Y,EACV,sFAEA,WACI,MAAO/8E,MAAKyH,gBAIpBA,YAAc,WAEV,GAAIq3E,GAAQt6E,KAAK4mB,IAAIprB,KAAK8+E,SACtBG,EAASz6E,KAAK4mB,IAAIprB,KAAKi/E,UACvBG,EAAO56E,KAAK4mB,IAAIprB,KAAKo/E,QACrBthD,EAAQt5B,KAAK4mB,IAAIprB,KAAK89B,SACtBC,EAAUv5B,KAAK4mB,IAAIprB,KAAK+9B,WACxBC,EAAUx5B,KAAK4mB,IAAIprB,KAAKg+B,UAAYh+B,KAAKi+B,eAAiB,IAE9D,OAAKj+B,MAAK41F,aAMF51F,KAAK41F,YAAc,EAAI,IAAM,IACjC,KACC9W,EAAQA,EAAQ,IAAM,KACtBG,EAASA,EAAS,IAAM,KACxBG,EAAOA,EAAO,IAAM,KACnBthD,GAASC,GAAWC,EAAW,IAAM,KACtCF,EAAQA,EAAQ,IAAM,KACtBC,EAAUA,EAAU,IAAM,KAC1BC,EAAUA,EAAU,IAAM,IAXpB,OAcfw/C,WAAa,WACT,MAAOx9E,MAAKw/E,SAGhBgW,OAAS,WACL,MAAOx1F,MAAKyH,iBAIpB5D,GAAOuM,SAASsJ,GAAGhU,SAAW7B,GAAOuM,SAASsJ,GAAGjS,WAQjD,KAAK5B,KAAKsnF,IACFnR,EAAWmR,GAAwBtnF,KACnC6mF,GAAmB7mF,GAAEu/B,cAI7BvhC,IAAOuM,SAASsJ,GAAGm8E,eAAiB,WAChC,MAAO71F,MAAKwvB,GAAG,OAEnB3rB,GAAOuM,SAASsJ,GAAGk8E,UAAY,WAC3B,MAAO51F,MAAKwvB,GAAG,MAEnB3rB,GAAOuM,SAASsJ,GAAGo8E,UAAY,WAC3B,MAAO91F,MAAKwvB,GAAG,MAEnB3rB,GAAOuM,SAASsJ,GAAGq8E,QAAU,WACzB,MAAO/1F,MAAKwvB,GAAG,MAEnB3rB,GAAOuM,SAASsJ,GAAGs8E,OAAS,WACxB,MAAOh2F,MAAKwvB,GAAG,MAEnB3rB,GAAOuM,SAASsJ,GAAGu8E,QAAU,WACzB,MAAOj2F,MAAKwvB,GAAG,UAEnB3rB,GAAOuM,SAASsJ,GAAGw8E,SAAW,WAC1B,MAAOl2F,MAAKwvB,GAAG,MAEnB3rB,GAAOuM,SAASsJ,GAAGy8E,QAAU,WACzB,MAAOn2F,MAAKwvB,GAAG,MASnB3rB,GAAOqhC,OAAO,MACVkxD,aAAc,uBACd3Y,QAAU,SAAU6C,GAChB,GAAI75E,GAAI65E,EAAS,GACbG,EAAuC,IAA7BuB,EAAM1B,EAAS,IAAM,IAAa,KACrC,IAAN75E,EAAW,KACL,IAANA,EAAW,KACL,IAANA,EAAW,KAAO,IACvB,OAAO65E,GAASG,KA4BpBmE,GACA/kF,EAAOD,QAAUiE,IAEfgtE,EAAgC,SAAUwlB,EAASz2F,EAASC,GAM1D,MALIA,GAAOw+E,QAAUx+E,EAAOw+E,UAAYx+E,EAAOw+E,SAASiY,YAAa,IAEjEvJ,GAAYlpF,OAASipF,IAGlBjpF,IACTtD,KAAKX,EAASM,EAAqBN,EAASC,KAASgxE,IAAkChqE,IAAchH,EAAOD,QAAUixE,IACxH8b,IAAW,MAIhBpsF,KAAKP,QAEqBO,KAAKX,EAAU,WAAa,MAAOI,SAAYE,EAAoB,IAAIL,KAIhG,SAASA,EAAQD,GAErB,GAAI22F,GAAgCC,EAA8B3lB,GAOjE,SAAUnxE,EAAMC,GAGX62F,KAAmCD,EAAiC,EAAW1lB,EAA2E,kBAAnC0lB,GAAiDA,EAA+Bl+E,MAAMzY,EAAS42F,GAAiCD,IAAmE1vF,SAAlCgqE,IAAgDhxE,EAAOD,QAAUixE,KAU7V7wE,KAAM,WAEN,QAASwmD,GAASz3C,GAChB,GAOIlJ,GAPA+D,EAAiBmF,GAAWA,EAAQnF,iBAAkB,EAEtDmQ,EAAYhL,GAAWA,EAAQgL,WAAajS,OAE5C2uF,KACAC,GAAUC,WAAYC,UACtBC,IAIJ,KAAKhxF,EAAI,GAAS,KAALA,EAAUA,IAAMgxF,EAAMnyF,OAAOoyF,aAAajxF,KAAOg/E,KAAK,IAAMh/E,EAAI,IAAK+L,OAAO,EAEzF,KAAK/L,EAAI,GAAS,IAALA,EAASA,IAAMgxF,EAAMnyF,OAAOoyF,aAAajxF,KAAOg/E,KAAKh/E,EAAG+L,OAAO,EAE5E,KAAK/L,EAAI,EAAS,GAALA,EAAUA,IAAMgxF,EAAM,GAAKhxF,IAAMg/E,KAAK,GAAKh/E,EAAG+L,OAAO,EAElE,KAAK/L,EAAI,EAAS,IAALA,EAAWA,IAAMgxF,EAAM,IAAMhxF,IAAMg/E,KAAK,IAAMh/E,EAAG+L,OAAO,EAErE,KAAK/L,EAAI,EAAS,GAALA,EAAUA,IAAMgxF,EAAM,MAAQhxF,IAAMg/E,KAAK,GAAKh/E,EAAG+L,OAAO,EAGrEilF,GAAM,SAAWhS,KAAK,IAAKjzE,OAAO,GAClCilF,EAAM,SAAWhS,KAAK,IAAKjzE,OAAO,GAClCilF,EAAM,SAAWhS,KAAK,IAAKjzE,OAAO,GAClCilF,EAAM,SAAWhS,KAAK,IAAKjzE,OAAO,GAClCilF,EAAM,SAAWhS,KAAK,IAAKjzE,OAAO,GAElCilF,EAAY,MAAMhS,KAAK,GAAIjzE,OAAO,GAClCilF,EAAU,IAAQhS,KAAK,GAAIjzE,OAAO,GAClCilF,EAAa,OAAKhS,KAAK,GAAIjzE,OAAO,GAClCilF,EAAY,MAAMhS,KAAK,GAAIjzE,OAAO,GAElCilF,EAAa,OAAKhS,KAAK,GAAIjzE,OAAO,GAClCilF,EAAa,OAAKhS,KAAK,GAAIjzE,OAAO,GAClCilF,EAAa,OAAKhS,KAAK,GAAIjzE,MAAO/K,QAClCgwF,EAAW,KAAOhS,KAAK,GAAIjzE,OAAO,GAClCilF,EAAiB,WAAKhS,KAAK,EAAGjzE,OAAO,GACrCilF,EAAW,KAAWhS,KAAK,EAAGjzE,OAAO,GACrCilF,EAAY,MAAUhS,KAAK,GAAIjzE,OAAO,GACtCilF,EAAW,KAAWhS,KAAK,GAAIjzE,OAAO,GACtCilF,EAAM,WAAgBhS,KAAK,GAAIjzE,OAAO,GACtCilF,EAAc,QAAQhS,KAAK,GAAIjzE,OAAO,GACtCilF,EAAgB,UAAMhS,KAAK,GAAIjzE,OAAO,GAEtCilF,EAAM,MAAYhS,KAAK,IAAKjzE,OAAO,GACnCilF,EAAM,MAAYhS,KAAK,IAAKjzE,OAAO,GACnCilF,EAAM,MAAYhS,KAAK,IAAKjzE,OAAO,GACnCilF,EAAM,MAAYhS,KAAK,IAAKjzE,OAAO,EAInC,IAAImlF,GAAO,SAASltF,GAAQmtF,EAAYntF,EAAM,YAC1CotF,EAAK,SAASptF,GAAQmtF,EAAYntF,EAAM,UAGxCmtF,EAAc,SAASntF,EAAM1C,GAC/B,GAAoCN,SAAhC6vF,EAAOvvF,GAAM0C,EAAMqtF,SAAwB,CAE7C,IAAK,GADDC,GAAQT,EAAOvvF,GAAM0C,EAAMqtF,SACtBrxF,EAAI,EAAGA,EAAIsxF,EAAMnxF,OAAQH,IACTgB,SAAnBswF,EAAMtxF,GAAG+L,MACXulF,EAAMtxF,GAAG6T,GAAG7P,GAEa,GAAlBstF,EAAMtxF,GAAG+L,OAAmC,GAAlB/H,EAAM0sC,SACvC4gD,EAAMtxF,GAAG6T,GAAG7P,GAEa,GAAlBstF,EAAMtxF,GAAG+L,OAAoC,GAAlB/H,EAAM0sC,UACxC4gD,EAAMtxF,GAAG6T,GAAG7P,EAIM,IAAlBD,GACFC,EAAMD,kBA4FZ,OAtFA6sF,GAAiBphE,KAAO,SAASpsB,EAAKJ,EAAU1B,GAI9C,GAHaN,SAATM,IACFA,EAAO,WAEUN,SAAfgwF,EAAM5tF,GACR,KAAM,IAAIrF,OAAM,oBAAsBqF,EAEFpC,UAAlC6vF,EAAOvvF,GAAM0vF,EAAM5tF,GAAK47E,QAC1B6R,EAAOvvF,GAAM0vF,EAAM5tF,GAAK47E,UAE1B6R,EAAOvvF,GAAM0vF,EAAM5tF,GAAK47E,MAAMt8E,MAAMmR,GAAG7Q,EAAU+I,MAAMilF,EAAM5tF,GAAK2I,SAKpE6kF,EAAiBW,QAAU,SAASvuF,EAAU1B,GAC/BN,SAATM,IACFA,EAAO,UAET,KAAK,GAAI8B,KAAO4tF,GACVA,EAAM1wF,eAAe8C,IACvBwtF,EAAiBphE,KAAKpsB,EAAIJ,EAAS1B,IAMzCsvF,EAAiBY,OAAS,SAASxtF,GACjC,IAAK,GAAIZ,KAAO4tF,GACd,GAAIA,EAAM1wF,eAAe8C,GAAM,CAC7B,GAAsB,GAAlBY,EAAM0sC,UAAwC,GAApBsgD,EAAM5tF,GAAK2I,OAAiB/H,EAAMqtF,SAAWL,EAAM5tF,GAAK47E,KACpF,MAAO57E,EAEJ,IAAsB,GAAlBY,EAAM0sC,UAAyC,GAApBsgD,EAAM5tF,GAAK2I,OAAkB/H,EAAMqtF,SAAWL,EAAM5tF,GAAK47E,KAC3F,MAAO57E,EAEJ,IAAIY,EAAMqtF,SAAWL,EAAM5tF,GAAK47E,MAAe,SAAP57E,EAC3C,MAAOA,GAIb,MAAO,wCAITwtF,EAAiB9oB,OAAS,SAAS1kE,EAAKJ,EAAU1B,GAIhD,GAHaN,SAATM,IACFA,EAAO,WAEUN,SAAfgwF,EAAM5tF,GACR,KAAM,IAAIrF,OAAM,oBAAsBqF,EAExC,IAAiBpC,SAAbgC,EAAwB,CAC1B,GAAIyuF,MACAH,EAAQT,EAAOvvF,GAAM0vF,EAAM5tF,GAAK47E,KACpC,IAAch+E,SAAVswF,EACF,IAAK,GAAItxF,GAAI,EAAGA,EAAIsxF,EAAMnxF,OAAQH,KAC1BsxF,EAAMtxF,GAAG6T,IAAM7Q,GAAYsuF,EAAMtxF,GAAG+L,OAASilF,EAAM5tF,GAAK2I,QAC5D0lF,EAAY/uF,KAAKmuF,EAAOvvF,GAAM0vF,EAAM5tF,GAAK47E,MAAMh/E,GAIrD6wF,GAAOvvF,GAAM0vF,EAAM5tF,GAAK47E,MAAQyS,MAGhCZ,GAAOvvF,GAAM0vF,EAAM5tF,GAAK47E,UAK5B4R,EAAiBtrC,MAAQ,WACvBurC,GAAUC,WAAYC,WAIxBH,EAAiB7iF,QAAU,WACzB8iF,GAAUC,WAAYC,UACtB78E,EAAUrQ,oBAAoB,UAAWqtF,GAAM,GAC/Ch9E,EAAUrQ,oBAAoB,QAASutF,GAAI,IAI7Cl9E,EAAU7Q,iBAAiB,UAAU6tF,GAAK,GAC1Ch9E,EAAU7Q,iBAAiB,QAAQ+tF,GAAG,GAG/BR,EAGT,MAAOjwC,MAQL,SAAS3mD,EAAQD,EAASM,GAqgB9B,QAASq3F,KACPv3F,KAAK+iD,UAAUZ,aAAanzC,SAAWhP,KAAK+iD,UAAUZ,aAAanzC,OACnE,IAAIwoF,GAAqB3lF,SAAS4lF,eAAe,qBACCD,GAAmBjqF,MAAMb,WAAhC,GAAvC1M,KAAK+iD,UAAUZ,aAAanzC,QAAwD,UACR,UAEhFhP,KAAKiqD,wBAAuB,GAO9B,QAASytC,KACP,IAAK,GAAIjwC,KAAUznD,MAAKilD,iBAClBjlD,KAAKilD,iBAAiB9+C,eAAeshD,KACvCznD,KAAKilD,iBAAiBwC,GAAQgW,GAAK,EAAIz9D,KAAKilD,iBAAiBwC,GAAQiW,GAAK,EAC1E19D,KAAKilD,iBAAiBwC,GAAQ8V,GAAK,EAAIv9D,KAAKilD,iBAAiBwC,GAAQ+V,GAAK,EAG7B,IAA7Cx9D,KAAK+iD,UAAUjB,mBAAmB9yC,SACpChP,KAAKqmD,2BACLsxC,EAAiBp3F,KAAKP,KAAM,aAAc,EAAG,8CAC7C23F,EAAiBp3F,KAAKP,KAAM,aAAc,EAAG,0BAC7C23F,EAAiBp3F,KAAKP,KAAM,aAAc,EAAG,0BAC7C23F,EAAiBp3F,KAAKP,KAAM,aAAc,EAAG,wBAC7C23F,EAAiBp3F,KAAKP,KAAM,eAAgB,EAAG,oBAG/CA,KAAK43F,kBAEP53F,KAAKmmD,QAAS,EACdnmD,KAAKkQ,QAMP,QAAS2nF,KACP,GAAI9oF,GAAU,gDACV+oF,KACAC,EAAelmF,SAAS4lF,eAAe,wBACvCO,EAAenmF,SAAS4lF,eAAe,uBAC3C,IAA4B,GAAxBM,EAAaE,QAAiB,CAMhC,GALIj4F,KAAK+iD,UAAUpD,QAAQC,UAAUE,uBAAyB9/C,KAAKk4F,gBAAgBv4C,QAAQC,UAAUE,uBAAwBg4C,EAAgBvvF,KAAK,0BAA4BvI,KAAK+iD,UAAUpD,QAAQC,UAAUE,uBAC3M9/C,KAAK+iD,UAAUpD,QAAQI,gBAAkB//C,KAAKk4F,gBAAgBv4C,QAAQC,UAAUG,gBAAyC+3C,EAAgBvvF,KAAK,mBAAqBvI,KAAK+iD,UAAUpD,QAAQI,gBAC1L//C,KAAK+iD,UAAUpD,QAAQK,cAAgBhgD,KAAKk4F,gBAAgBv4C,QAAQC,UAAUI,cAA2C83C,EAAgBvvF,KAAK,iBAAmBvI,KAAK+iD,UAAUpD,QAAQK,cACxLhgD,KAAK+iD,UAAUpD,QAAQM,gBAAkBjgD,KAAKk4F,gBAAgBv4C,QAAQC,UAAUK,gBAAyC63C,EAAgBvvF,KAAK,mBAAqBvI,KAAK+iD,UAAUpD,QAAQM,gBAC1LjgD,KAAK+iD,UAAUpD,QAAQO,SAAWlgD,KAAKk4F,gBAAgBv4C,QAAQC,UAAUM,SAAgD43C,EAAgBvvF,KAAK,YAAcvI,KAAK+iD,UAAUpD,QAAQO,SACzJ,GAA1B43C,EAAgB9xF,OAAa,CAC/B+I,EAAU,kBACVA,GAAW,wBACX,KAAK,GAAIlJ,GAAI,EAAGA,EAAIiyF,EAAgB9xF,OAAQH,IAC1CkJ,GAAW+oF,EAAgBjyF,GACvBA,EAAIiyF,EAAgB9xF,OAAS,IAC/B+I,GAAW,KAGfA,IAAW,KAET/O,KAAK+iD,UAAUZ,aAAanzC,SAAWhP,KAAKk4F,gBAAgB/1C,aAAanzC,UAC7C,GAA1B8oF,EAAgB9xF,OAAc+I,EAAU,kBACtCA,GAAW,KACjBA,GAAW,iBAAmB/O,KAAK+iD,UAAUZ,aAAanzC,SAE7C,iDAAXD,IACFA,GAAW,UAGV,IAA4B,GAAxBipF,EAAaC,QAAiB,CAQrC,GAPAlpF,EAAU,kBACVA,GAAW,wCACP/O,KAAK+iD,UAAUpD,QAAQQ,UAAUC,cAAgBpgD,KAAKk4F,gBAAgBv4C,QAAQQ,UAAUC,cAAgB03C,EAAgBvvF,KAAK,iBAAmBvI,KAAK+iD,UAAUpD,QAAQQ,UAAUC,cACjLpgD,KAAK+iD,UAAUpD,QAAQI,gBAAkB//C,KAAKk4F,gBAAgBv4C,QAAQQ,UAAUJ,gBAAwB+3C,EAAgBvvF,KAAK,mBAAqBvI,KAAK+iD,UAAUpD,QAAQI,gBACzK//C,KAAK+iD,UAAUpD,QAAQK,cAAgBhgD,KAAKk4F,gBAAgBv4C,QAAQQ,UAAUH,cAA0B83C,EAAgBvvF,KAAK,iBAAmBvI,KAAK+iD,UAAUpD,QAAQK,cACvKhgD,KAAK+iD,UAAUpD,QAAQM,gBAAkBjgD,KAAKk4F,gBAAgBv4C,QAAQQ,UAAUF,gBAAwB63C,EAAgBvvF,KAAK,mBAAqBvI,KAAK+iD,UAAUpD,QAAQM,gBACzKjgD,KAAK+iD,UAAUpD,QAAQO,SAAWlgD,KAAKk4F,gBAAgBv4C,QAAQQ,UAAUD,SAA+B43C,EAAgBvvF,KAAK,YAAcvI,KAAK+iD,UAAUpD,QAAQO,SACxI,GAA1B43C,EAAgB9xF,OAAa,CAC/B+I,GAAW,gBACX,KAAK,GAAIlJ,GAAI,EAAGA,EAAIiyF,EAAgB9xF,OAAQH,IAC1CkJ,GAAW+oF,EAAgBjyF,GACvBA,EAAIiyF,EAAgB9xF,OAAS,IAC/B+I,GAAW,KAGfA,IAAW,KAEiB,GAA1B+oF,EAAgB9xF,SAAc+I,GAAW,KACzC/O,KAAK+iD,UAAUZ,cAAgBniD,KAAKk4F,gBAAgB/1C,eACtDpzC,GAAW,mBAAqB/O,KAAK+iD,UAAUZ,cAEjDpzC,GAAW,SAER,CAOH,GANAA,EAAU,kBACN/O,KAAK+iD,UAAUpD,QAAQU,sBAAsBD,cAAgBpgD,KAAKk4F,gBAAgBv4C,QAAQU,sBAAsBD,cAAgB03C,EAAgBvvF,KAAK,iBAAmBvI,KAAK+iD,UAAUpD,QAAQU,sBAAsBD,cACrNpgD,KAAK+iD,UAAUpD,QAAQI,gBAAkB//C,KAAKk4F,gBAAgBv4C,QAAQU,sBAAsBN,gBAAwB+3C,EAAgBvvF,KAAK,mBAAqBvI,KAAK+iD,UAAUpD,QAAQI,gBACrL//C,KAAK+iD,UAAUpD,QAAQK,cAAgBhgD,KAAKk4F,gBAAgBv4C,QAAQU,sBAAsBL,cAA0B83C,EAAgBvvF,KAAK,iBAAmBvI,KAAK+iD,UAAUpD,QAAQK,cACnLhgD,KAAK+iD,UAAUpD,QAAQM,gBAAkBjgD,KAAKk4F,gBAAgBv4C,QAAQU,sBAAsBJ,gBAAwB63C,EAAgBvvF,KAAK,mBAAqBvI,KAAK+iD,UAAUpD,QAAQM,gBACrLjgD,KAAK+iD,UAAUpD,QAAQO,SAAWlgD,KAAKk4F,gBAAgBv4C,QAAQU,sBAAsBH,SAA+B43C,EAAgBvvF,KAAK,YAAcvI,KAAK+iD,UAAUpD,QAAQO,SACpJ,GAA1B43C,EAAgB9xF,OAAa,CAC/B+I,GAAW,oCACX,KAAK,GAAIlJ,GAAI,EAAGA,EAAIiyF,EAAgB9xF,OAAQH,IAC1CkJ,GAAW+oF,EAAgBjyF,GACvBA,EAAIiyF,EAAgB9xF,OAAS,IAC/B+I,GAAW,KAGfA,IAAW,MAOb,GALAA,GAAW,wBACX+oF,KACI93F,KAAK+iD,UAAUjB,mBAAmBlmB,WAAa57B,KAAKk4F,gBAAgBp2C,mBAAmBlmB,WAAkCk8D,EAAgBvvF,KAAK,cAAgBvI,KAAK+iD,UAAUjB,mBAAmBlmB,WAChMp3B,KAAK4mB,IAAIprB,KAAK+iD,UAAUjB,mBAAmBC,kBAAoB/hD,KAAKk4F,gBAAgBp2C,mBAAmBC,iBAAkB+1C,EAAgBvvF,KAAK,oBAAsBvI,KAAK+iD,UAAUjB,mBAAmBC,iBACtM/hD,KAAK+iD,UAAUjB,mBAAmBE,aAAehiD,KAAKk4F,gBAAgBp2C,mBAAmBE,aAAgC81C,EAAgBvvF,KAAK,gBAAkBvI,KAAK+iD,UAAUjB,mBAAmBE,aACxK,GAA1B81C,EAAgB9xF,OAAa,CAC/B,IAAK,GAAIH,GAAI,EAAGA,EAAIiyF,EAAgB9xF,OAAQH,IAC1CkJ,GAAW+oF,EAAgBjyF,GACvBA,EAAIiyF,EAAgB9xF,OAAS,IAC/B+I,GAAW,KAGfA,IAAW,QAGXA,IAAW,eAEbA,IAAW,KAIb/O,KAAKm4F,WAAW3zE,UAAYzV,EAO9B,QAASqpF,KACP,GAAI3iF,IAAO,iBAAkB,gBAAiB,iBAC1C4iF,EAAcxmF,SAASymF,cAAc,6CAA6Ch0F,MAClFi0F,EAAU,SAAWF,EAAc,SACnCG,EAAQ3mF,SAAS4lF,eAAec,EACpCC,GAAMjrF,MAAMk+B,QAAU,OACtB,KAAK,GAAI5lC,GAAI,EAAGA,EAAI4P,EAAIzP,OAAQH,IAC1B4P,EAAI5P,IAAM0yF,IACZC,EAAQ3mF,SAAS4lF,eAAehiF,EAAI5P,IACpC2yF,EAAMjrF,MAAMk+B,QAAU,OAG1BzrC,MAAKy4F,gBACc,KAAfJ,GACFr4F,KAAK+iD,UAAUjB,mBAAmB9yC,SAAU,EAC5ChP,KAAK+iD,UAAUpD,QAAQU,sBAAsBrxC,SAAU,EACvDhP,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,SAAU,GAErB,KAAfqpF,EAC0C,GAA7Cr4F,KAAK+iD,UAAUjB,mBAAmB9yC,UACpChP,KAAK+iD,UAAUjB,mBAAmB9yC,SAAU,EAC5ChP,KAAK+iD,UAAUpD,QAAQU,sBAAsBrxC,SAAU,EACvDhP,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,SAAU,EAC3ChP,KAAK+iD,UAAUZ,aAAanzC,SAAU,EACtChP,KAAKqmD,6BAIPrmD,KAAK+iD,UAAUjB,mBAAmB9yC,SAAU,EAC5ChP,KAAK+iD,UAAUpD,QAAQU,sBAAsBrxC,SAAU,EACvDhP,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,SAAU,GAE7ChP,KAAKwsE,0BACL,IAAIgrB,GAAqB3lF,SAAS4lF,eAAe,qBACCD,GAAmBjqF,MAAMb,WAAhC,GAAvC1M,KAAK+iD,UAAUZ,aAAanzC,QAAwD,UACR,UAChFhP,KAAKmmD,QAAS,EACdnmD,KAAKkQ,QAWP,QAASynF,GAAkBt3F,EAAGsN,EAAI+qF,GAChC,GAAIC,GAAUt4F,EAAK,SACfu4F,EAAa/mF,SAAS4lF,eAAep3F,GAAIiE,KAEzCgC,OAAMC,QAAQoH,IAChBkE,SAAS4lF,eAAekB,GAASr0F,MAAQqJ,EAAIzC,SAAS0tF,IACtD54F,KAAK64F,yBAAyBH,EAAsB/qF,EAAIzC,SAAS0tF,OAGjE/mF,SAAS4lF,eAAekB,GAASr0F,MAAQ4G,SAASyC,GAAOiY,WAAWgzE,GACpE54F,KAAK64F,yBAAyBH,EAAuBxtF,SAASyC,GAAOiY,WAAWgzE,MAGrD,gCAAzBF,GACuB,sCAAzBA,GACyB,kCAAzBA,IACA14F,KAAKqmD,2BAEPrmD,KAAKmmD,QAAS,EACdnmD,KAAKkQ,QAhtBP,GAAIvP,GAAOT,EAAoB,GAC3B44F,EAAiB54F,EAAoB,IACrC64F,EAA4B74F,EAAoB,IAChD84F,EAAiB94F,EAAoB,GAOzCN,GAAQq5F,iBAAmB,WACzBj5F,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,SAAWhP,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,QAC7EhP,KAAKwsE,2BACLxsE,KAAKmmD,QAAS,EACdnmD,KAAKkQ,SASPtQ,EAAQ4sE,yBAA2B,WAEe,GAA5CxsE,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,SACnChP,KAAKusE,YAAYusB,GACjB94F,KAAKusE,YAAYwsB,GAEjB/4F,KAAK+iD,UAAUpD,QAAQI,eAAiB//C,KAAK+iD,UAAUpD,QAAQC,UAAUG,eACzE//C,KAAK+iD,UAAUpD,QAAQK,aAAehgD,KAAK+iD,UAAUpD,QAAQC,UAAUI,aACvEhgD,KAAK+iD,UAAUpD,QAAQM,eAAiBjgD,KAAK+iD,UAAUpD,QAAQC,UAAUK,eACzEjgD,KAAK+iD,UAAUpD,QAAQO,QAAUlgD,KAAK+iD,UAAUpD,QAAQC,UAAUM,QAElElgD,KAAKosE,WAAW4sB,IAE+C,GAAxDh5F,KAAK+iD,UAAUpD,QAAQU,sBAAsBrxC,SACpDhP,KAAKusE,YAAYysB,GACjBh5F,KAAKusE,YAAYusB,GAEjB94F,KAAK+iD,UAAUpD,QAAQI,eAAiB//C,KAAK+iD,UAAUpD,QAAQU,sBAAsBN,eACrF//C,KAAK+iD,UAAUpD,QAAQK,aAAehgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBL,aACnFhgD,KAAK+iD,UAAUpD,QAAQM,eAAiBjgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBJ,eACrFjgD,KAAK+iD,UAAUpD,QAAQO,QAAUlgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBH,QAE9ElgD,KAAKosE,WAAW2sB,KAGhB/4F,KAAKusE,YAAYysB,GACjBh5F,KAAKusE,YAAYwsB,GACjB/4F,KAAKk5F,cAAgBryF,OAErB7G,KAAK+iD,UAAUpD,QAAQI,eAAiB//C,KAAK+iD,UAAUpD,QAAQQ,UAAUJ,eACzE//C,KAAK+iD,UAAUpD,QAAQK,aAAehgD,KAAK+iD,UAAUpD,QAAQQ,UAAUH,aACvEhgD,KAAK+iD,UAAUpD,QAAQM,eAAiBjgD,KAAK+iD,UAAUpD,QAAQQ,UAAUF,eACzEjgD,KAAK+iD,UAAUpD,QAAQO,QAAUlgD,KAAK+iD,UAAUpD,QAAQQ,UAAUD,QAElElgD,KAAKosE,WAAW0sB,KAUpBl5F,EAAQu5F,4BAA8B,WAEL,GAA3Bn5F,KAAKmlD,YAAYn/C,OACnBhG,KAAK89C,MAAM99C,KAAKmlD,YAAY,IAAIgb,UAAU,EAAG,IAIzCngE,KAAKmlD,YAAYn/C,OAAShG,KAAK+iD,UAAUzC,WAAWE,kBAAyD,GAArCxgD,KAAK+iD,UAAUzC,WAAWtxC,SACpGhP,KAAKo5F,aAAap5F,KAAK+iD,UAAUzC,WAAWG,eAAe,GAI7DzgD,KAAKq5F,qBAUTz5F,EAAQy5F,iBAAmB,WAKzBr5F,KAAKs5F,gCACLt5F,KAAKu5F,uBAEDv5F,KAAK+iD,UAAUpD,QAAQM,eAAiB,IACC,GAAvCjgD,KAAK+iD,UAAUZ,aAAanzC,SAA0D,GAAvChP,KAAK+iD,UAAUZ,aAAaC,QAC7EpiD,KAAKw5F,oCAGuD,GAAxDx5F,KAAK+iD,UAAUpD,QAAQU,sBAAsBrxC,QAC/ChP,KAAKy5F,qCAGLz5F,KAAK05F,2BAeb95F,EAAQmwD,wBAA0B,WAChC,GAA2C,GAAvC/vD,KAAK+iD,UAAUZ,aAAanzC,SAA0D,GAAvChP,KAAK+iD,UAAUZ,aAAaC,QAAiB,CAC9FpiD,KAAKilD,oBACLjlD,KAAKklD,yBAEL,KAAK,GAAIuC,KAAUznD,MAAK89C,MAClB99C,KAAK89C,MAAM33C,eAAeshD,KAC5BznD,KAAKilD,iBAAiBwC,GAAUznD,KAAK89C,MAAM2J,GAG/C,IAAIkyC,GAAe35F,KAAK8wD,QAAiB,QAAS,KAClD,KAAK,GAAI8oC,KAAiBD,GACpBA,EAAaxzF,eAAeyzF,KAC1B55F,KAAKi/C,MAAM94C,eAAewzF,EAAaC,GAAe7lC,cACxD/zD,KAAKilD,iBAAiB20C,GAAiBD,EAAaC,GAGpDD,EAAaC,GAAez5B,UAAU,EAAG,GAK/C,KAAK,GAAI3X,KAAOxoD,MAAKilD,iBACfjlD,KAAKilD,iBAAiB9+C,eAAeqiD,IACvCxoD,KAAKklD,uBAAuB38C,KAAKigD,OAKrCxoD,MAAKilD,iBAAmBjlD,KAAK89C,MAC7B99C,KAAKklD,uBAAyBllD,KAAKmlD,aAUvCvlD,EAAQ05F,8BAAgC,WACtC,GAAIn6E,GAAIC,EAAI8G,EAAUihC,EAAMthD,EACxBi4C,EAAQ99C,KAAKilD,iBACb40C,EAAU75F,KAAK+iD,UAAUpD,QAAQI,eACjC+5C,EAAe,CAEnB,KAAKj0F,EAAI,EAAGA,EAAI7F,KAAKklD,uBAAuBl/C,OAAQH,IAClDshD,EAAOrJ,EAAM99C,KAAKklD,uBAAuBr/C,IACzCshD,EAAKjH,QAAUlgD,KAAK+iD,UAAUpD,QAAQO,QAEhB,WAAlBlgD,KAAK+5F,WAAqC,GAAXF,GACjC16E,GAAMgoC,EAAK90C,EACX+M,GAAM+nC,EAAK70C,EACX4T,EAAW1hB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAEpC06E,EAA4B,GAAZ5zE,EAAiB,EAAK2zE,EAAU3zE,EAChDihC,EAAKoW,GAAKp+C,EAAK26E,EACf3yC,EAAKqW,GAAKp+C,EAAK06E,IAGf3yC,EAAKoW,GAAK,EACVpW,EAAKqW,GAAK,IAahB59D,EAAQ85F,uBAAyB,WAC/B,GAAIM,GAAY5qC,EAAMV,EAClBvvC,EAAIC,EAAIm+C,EAAIC,EAAIy8B,EAAa/zE,EAC7B+4B,EAAQj/C,KAAKi/C,KAGjB,KAAKyP,IAAUzP,GACTA,EAAM94C,eAAeuoD,KACvBU,EAAOnQ,EAAMyP,GACTU,EAAKC,WAEHrvD,KAAK89C,MAAM33C,eAAeipD,EAAKsG,OAAS11D,KAAK89C,MAAM33C,eAAeipD,EAAKuG,UACzEqkC,EAAa5qC,EAAKzP,QAAQK,aAE1Bg6C,IAAe5qC,EAAKxlC,GAAGw0C,YAAchP,EAAKzlC,KAAKy0C,YAAc,GAAKp+D,KAAK+iD,UAAUzC,WAAWY,WAE5F/hC,EAAMiwC,EAAKzlC,KAAKtX,EAAI+8C,EAAKxlC,GAAGvX,EAC5B+M,EAAMgwC,EAAKzlC,KAAKrX,EAAI88C,EAAKxlC,GAAGtX,EAC5B4T,EAAW1hB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAEpB,GAAZ8G,IACFA,EAAW,KAIb+zE,EAAcj6F,KAAK+iD,UAAUpD,QAAQM,gBAAkB+5C,EAAa9zE,GAAYA,EAEhFq3C,EAAKp+C,EAAK86E,EACVz8B,EAAKp+C,EAAK66E,EAEV7qC,EAAKzlC,KAAK4zC,IAAMA,EAChBnO,EAAKzlC,KAAK6zC,IAAMA,EAChBpO,EAAKxlC,GAAG2zC,IAAMA,EACdnO,EAAKxlC,GAAG4zC,IAAMA,KAexB59D,EAAQ45F,kCAAoC,WAC1C,GAAIQ,GAAY5qC,EAAMV,EAAQwrC,EAC1Bj7C,EAAQj/C,KAAKi/C,KAGjB,KAAKyP,IAAUzP,GACb,GAAIA,EAAM94C,eAAeuoD,KACvBU,EAAOnQ,EAAMyP,GACTU,EAAKC,WAEHrvD,KAAK89C,MAAM33C,eAAeipD,EAAKsG,OAAS11D,KAAK89C,MAAM33C,eAAeipD,EAAKuG,SACzD,MAAZvG,EAAKyB,KAAa,CACpB,GAAIspC,GAAQ/qC,EAAKxlC,GACbwwE,EAAQhrC,EAAKyB,IACbwpC,EAAQjrC,EAAKzlC,IAEjBqwE,GAAa5qC,EAAKzP,QAAQK,aAE1Bk6C,EAAsBC,EAAM/7B,YAAci8B,EAAMj8B,YAAc,EAG9D47B,GAAcE,EAAsBl6F,KAAK+iD,UAAUzC,WAAWY,WAC9DlhD,KAAKs6F,sBAAsBH,EAAOC,EAAO,GAAMJ,GAC/Ch6F,KAAKs6F,sBAAsBF,EAAOC,EAAO,GAAML,KAiB3Dp6F,EAAQ06F,sBAAwB,SAAUH,EAAOC,EAAOJ,GACtD,GAAI76E,GAAIC,EAAIm+C,EAAIC,EAAIy8B,EAAa/zE,CAEjC/G,GAAMg7E,EAAM9nF,EAAI+nF,EAAM/nF,EACtB+M,EAAM+6E,EAAM7nF,EAAI8nF,EAAM9nF,EACtB4T,EAAW1hB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAEpB,GAAZ8G,IACFA,EAAW,KAIb+zE,EAAcj6F,KAAK+iD,UAAUpD,QAAQM,gBAAkB+5C,EAAa9zE,GAAYA,EAEhFq3C,EAAKp+C,EAAK86E,EACVz8B,EAAKp+C,EAAK66E,EAEVE,EAAM58B,IAAMA,EACZ48B,EAAM38B,IAAMA,EACZ48B,EAAM78B,IAAMA,EACZ68B,EAAM58B,IAAMA,GAId59D,EAAQmsD,6BAA+B,WACrC,GAAkCllD,SAA9B7G,KAAKu6F,qBAAoC,CAC3C,KAAOv6F,KAAKu6F,qBAAqBt2E,iBAC/BjkB,KAAKu6F,qBAAqB9oF,YAAYzR,KAAKu6F,qBAAqBr2E,WAGlElkB,MAAKu6F,qBAAqBpwF,WAAWsH,YAAYzR,KAAKu6F,sBACtDv6F,KAAKu6F,qBAAuB1zF,SAQhCjH,EAAQ6sE,0BAA4B,WAClC,GAAkC5lE,SAA9B7G,KAAKu6F,qBAAoC,CAC3Cv6F,KAAKk4F,mBACLv3F,EAAKmG,WAAW9G,KAAKk4F,gBAAgBl4F,KAAK+iD,UAE1C,IAAIy3C,GAAmBh2F,KAAKJ,IAAI,IAAQ,GAAKpE,KAAK+iD,UAAUpD,QAAQC,UAAUE,sBAAyB,IACnG26C,EAAYj2F,KAAKL,IAAI,IAAwD,GAAlDnE,KAAK+iD,UAAUpD,QAAQC,UAAUK,gBAE5Dy6C,GAAgC,KAAM,KAAM,KAAM,KACtD16F,MAAKu6F,qBAAuB1oF,SAASM,cAAc,OACnDnS,KAAKu6F,qBAAqBnyF,UAAY,uBACtCpI,KAAKu6F,qBAAqB/1E,UAAY,smBAW0Dg2E,EAAiB,YAAe,GAAKx6F,KAAK+iD,UAAUpD,QAAQC,UAAUE,sBAAyB,4EAA4E06C,EAAiB,0BAA6Bx6F,KAAK+iD,UAAUpD,QAAQC,UAA+B,sBAAI,4JAG7Q5/C,KAAK+iD,UAAUpD,QAAQC,UAAUG,eAAiB,wFAA0F//C,KAAK+iD,UAAUpD,QAAQC,UAAUG,eAAiB,2JAG/L//C,KAAK+iD,UAAUpD,QAAQC,UAAUI,aAAe,sFAAwFhgD,KAAK+iD,UAAUpD,QAAQC,UAAUI,aAAe,iJAGpMy6C,EAAU,YAAcz6F,KAAK+iD,UAAUpD,QAAQC,UAAUK,eAAiB,iEAAiEw6C,EAAU,0BAA4Bz6F,KAAK+iD,UAAUpD,QAAQC,UAAUK,eAAiB,sJAG5NjgD,KAAK+iD,UAAUpD,QAAQC,UAAUM,QAAU,4FAA8FlgD,KAAK+iD,UAAUpD,QAAQC,UAAUM,QAAU,sPAM/KlgD,KAAK+iD,UAAUpD,QAAQQ,UAAUC,aAAe,kGAAoGpgD,KAAK+iD,UAAUpD,QAAQQ,UAAUC,aAAe,2JAGnMpgD,KAAK+iD,UAAUpD,QAAQQ,UAAUJ,eAAiB,uFAAyF//C,KAAK+iD,UAAUpD,QAAQQ,UAAUJ,eAAiB,0JAG9L//C,KAAK+iD,UAAUpD,QAAQQ,UAAUH,aAAe,qFAAuFhgD,KAAK+iD,UAAUpD,QAAQQ,UAAUH,aAAe,4JAGrLhgD,KAAK+iD,UAAUpD,QAAQQ,UAAUF,eAAiB,yFAA2FjgD,KAAK+iD,UAAUpD,QAAQQ,UAAUF,eAAiB,qJAGtMjgD,KAAK+iD,UAAUpD,QAAQQ,UAAUD,QAAU,2FAA6FlgD,KAAK+iD,UAAUpD,QAAQQ,UAAUD,QAAU,oQAM9KlgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBD,aAAe,kGAAoGpgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBD,aAAe,2JAG3NpgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBN,eAAiB,uFAAyF//C,KAAK+iD,UAAUpD,QAAQU,sBAAsBN,eAAiB,0JAGtN//C,KAAK+iD,UAAUpD,QAAQU,sBAAsBL,aAAe,qFAAuFhgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBL,aAAe,4JAG7MhgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBJ,eAAiB,yFAA2FjgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBJ,eAAiB,qJAG9NjgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBH,QAAU,2FAA6FlgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBH,QAAU,uJAG3Mw6C,EAA6B1zF,QAAQhH,KAAK+iD,UAAUjB,mBAAmBlmB,WAAa,0FAA4F57B,KAAK+iD,UAAUjB,mBAAmBlmB,UAAY,oKAGtN57B,KAAK+iD,UAAUjB,mBAAmBC,gBAAkB,yFAA2F/hD,KAAK+iD,UAAUjB,mBAAmBC,gBAAkB,6JAGvM/hD,KAAK+iD,UAAUjB,mBAAmBE,YAAc,wFAA0FhiD,KAAK+iD,UAAUjB,mBAAmBE,YAAc,odAU9RhiD,KAAKia,iBAAiB0gF,cAAczoF,aAAalS,KAAKu6F,qBAAsBv6F,KAAKia,kBACjFja,KAAKm4F,WAAatmF,SAASM,cAAc,OACzCnS,KAAKm4F,WAAW5qF,MAAM8wC,SAAW,OACjCr+C,KAAKm4F,WAAW5qF,MAAMk1D,WAAa,UACnCziE,KAAKia,iBAAiB0gF,cAAczoF,aAAalS,KAAKm4F,WAAYn4F,KAAKia,iBAEvE,IAAI2gF,EACJA,GAAe/oF,SAAS4lF,eAAe,eACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,cAAe,GAAI,2CACvE46F,EAAe/oF,SAAS4lF,eAAe,eACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,cAAe,EAAG,0BACtE46F,EAAe/oF,SAAS4lF,eAAe,eACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,cAAe,EAAG,0BACtE46F,EAAe/oF,SAAS4lF,eAAe,eACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,cAAe,EAAG,wBACtE46F,EAAe/oF,SAAS4lF,eAAe,iBACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,gBAAiB,EAAG,mBAExE46F,EAAe/oF,SAAS4lF,eAAe,cACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,aAAc,EAAG,kCACrE46F,EAAe/oF,SAAS4lF,eAAe,cACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,aAAc,EAAG,0BACrE46F,EAAe/oF,SAAS4lF,eAAe,cACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,aAAc,EAAG,0BACrE46F,EAAe/oF,SAAS4lF,eAAe,cACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,aAAc,EAAG,wBACrE46F,EAAe/oF,SAAS4lF,eAAe,gBACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,eAAgB,EAAG,mBAEvE46F,EAAe/oF,SAAS4lF,eAAe,cACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,aAAc,EAAG,8CACrE46F,EAAe/oF,SAAS4lF,eAAe,cACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,aAAc,EAAG,0BACrE46F,EAAe/oF,SAAS4lF,eAAe,cACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,aAAc,EAAG,0BACrE46F,EAAe/oF,SAAS4lF,eAAe,cACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,aAAc,EAAG,wBACrE46F,EAAe/oF,SAAS4lF,eAAe,gBACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,eAAgB,EAAG,mBACvE46F,EAAe/oF,SAAS4lF,eAAe,qBACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,oBAAqB06F,EAA8B,gCACvGE,EAAe/oF,SAAS4lF,eAAe,kBACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,iBAAkB,EAAG,sCACzE46F,EAAe/oF,SAAS4lF,eAAe,iBACvCmD,EAAaxxE,SAAWuuE,EAAiBtiE,KAAKr1B,KAAM,gBAAiB,EAAG,iCAExE,IAAI+3F,GAAelmF,SAAS4lF,eAAe,wBACvCO,EAAenmF,SAAS4lF,eAAe,wBACvCoD,EAAehpF,SAAS4lF,eAAe,uBAC3CO,GAAaC,SAAU,EACnBj4F,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,UACnC+oF,EAAaE,SAAU,GAErBj4F,KAAK+iD,UAAUjB,mBAAmB9yC,UACpC6rF,EAAa5C,SAAU,EAGzB,IAAIT,GAAqB3lF,SAAS4lF,eAAe,sBAC7CqD,EAAwBjpF,SAAS4lF,eAAe,yBAChDsD,EAAwBlpF,SAAS4lF,eAAe,wBAEpDD,GAAmBjlE,QAAUglE,EAAwBliE,KAAKr1B,MAC1D86F,EAAsBvoE,QAAUmlE,EAAqBriE,KAAKr1B,MAC1D+6F,EAAsBxoE,QAAUslE,EAAqBxiE,KAAKr1B,MAExDw3F,EAAmBjqF,MAAMb,WADQ,GAA/B1M,KAAK+iD,UAAUZ,cAA8D,GAAtCniD,KAAK+iD,UAAUi4C,oBAClB,UAGA,UAIxC5C,EAAqB//E,MAAMrY,MAE3B+3F,EAAa3uE,SAAWgvE,EAAqB/iE,KAAKr1B,MAClDg4F,EAAa5uE,SAAWgvE,EAAqB/iE,KAAKr1B,MAClD66F,EAAazxE,SAAWgvE,EAAqB/iE,KAAKr1B,QAWtDJ,EAAQi5F,yBAA2B,SAAUH,EAAuBp0F,GAClE,GAAI22F,GAAYvC,EAAsBpwF,MAAM,IACpB,IAApB2yF,EAAUj1F,OACZhG,KAAK+iD,UAAUk4C,EAAU,IAAM32F,EAEJ,GAApB22F,EAAUj1F,OACjBhG,KAAK+iD,UAAUk4C,EAAU,IAAIA,EAAU,IAAM32F,EAElB,GAApB22F,EAAUj1F,SACjBhG,KAAK+iD,UAAUk4C,EAAU,IAAIA,EAAU,IAAIA,EAAU,IAAM32F,KA6N3D,SAASzE,EAAQD,GAYrBA,EAAQ2mD,oBAAsB,WAE7BvmD,KAAKo5F,aAAap5F,KAAK+iD,UAAUzC,WAAWC,iBAAiB,GAG7DvgD,KAAKkwD,eAI2B,GAA5BlwD,KAAK+iD,UAAUP,WACjBxiD,KAAKopD,aAEPppD,KAAKkQ,SASNtQ,EAAQw5F,aAAe,SAAS8B,EAAkBC,GAOhD,IANA,GAAInzC,GAAgBhoD,KAAKmlD,YAAYn/C,OAEjCo1F,EAAY,GACZr8C,EAAQ,EAGLiJ,EAAgBkzC,GAA4BE,EAARr8C,GACrCA,EAAQ,GAAK,GACf/+C,KAAKq7F,oBAAmB,GACxBr7F,KAAKs7F,0BAGLt7F,KAAKu7F,uBAEPv7F,KAAKq7F,oBAAmB,GACxBrzC,EAAgBhoD,KAAKmlD,YAAYn/C,OACjC+4C,GAAS,CAIPA,GAAQ,GAAmB,GAAdo8C,GACfn7F,KAAK43F,kBAEP53F,KAAK+vD,2BASPnwD,EAAQ47F,YAAc,SAASr0C,GAC7B,GAAIs0C,GAA2Bz7F,KAAKmmD,MACpC,IAAIgB,EAAKiX,YAAcp+D,KAAK+iD,UAAUzC,WAAWM,iBAAmB5gD,KAAK07F,kBAAkBv0C,KACrE,WAAlBnnD,KAAK+5F,WAAqD,GAA3B/5F,KAAKmlD,YAAYn/C,QAAc,CAEhEhG,KAAK27F,WAAWx0C,EAIhB,KAHA,GAAIpI,GAAQ,EAGJ/+C,KAAKmlD,YAAYn/C,OAAShG,KAAK+iD,UAAUzC,WAAWC,iBAA6B,GAARxB,GAC/E/+C,KAAK47F,uBACL78C,GAAS,MAKX/+C,MAAK67F,mBAAmB10C,GAAK,GAAM,GAGnCnnD,KAAKsoD,uBACLtoD,KAAK+vD,0BACL/vD,KAAKkwD,cAIHlwD,MAAKmmD,QAAUs1C,GACjBz7F,KAAKkQ,SAQTtQ,EAAQsuD,sBAAwB,WACW,GAArCluD,KAAK+iD,UAAUzC,WAAWtxC,SAA8D,GAA3ChP,KAAK+iD,UAAUzC,WAAWiB,eACzEvhD,KAAK87F,eAAe,GAAE,GAAM,IAUhCl8F,EAAQ27F,qBAAuB,WAC7Bv7F,KAAK87F,eAAe,IAAG,GAAM,IAS/Bl8F,EAAQg8F,qBAAuB,WAC7B57F,KAAK87F,eAAe,GAAE,GAAM,IAgB9Bl8F,EAAQk8F,eAAiB,SAASC,EAAcC,EAAUt6D,EAAMu6D,GAC9D,GAAIR,GAA2Bz7F,KAAKmmD,OAChC+1C,EAAgBl8F,KAAKmlD,YAAYn/C,OAEjCm2F,EAAqBn8F,KAAKwlD,cAAgBxlD,KAAKuE,OAA0B,GAAjBw3F,EACxDK,EAAsBp8F,KAAKwlD,cAAgBxlD,KAAKuE,OAA0B,GAAjBw3F,CAGnC,IAAtBK,GACFp8F,KAAKq8F,kBAImB,GAAtBD,GAA+C,IAAjBL,EAGhC/7F,KAAKs8F,cAAc56D,IAES,GAArBy6D,GAA8C,GAAjBJ,KACvB,GAATr6D,EAGF1hC,KAAKu8F,cAAcP,EAAUt6D,GAK7B1hC,KAAKu8F,cAAcP,GAAW,IAGlCh8F,KAAKsoD,uBAGDtoD,KAAKmlD,YAAYn/C,QAAUk2F,GAAwC,GAAtBE,GAA+C,IAAjBL,IAC7E/7F,KAAKw8F,eAAe96D,GACpB1hC,KAAKsoD,yBAImB,GAAtB8zC,GAA+C,IAAjBL,KAChC/7F,KAAKy8F,eACLz8F,KAAKsoD,wBAGPtoD,KAAKwlD,cAAgBxlD,KAAKuE,MAG1BvE,KAAKkwD,eAGDlwD,KAAKmlD,YAAYn/C,OAASk2F,IAC5Bl8F,KAAK69D,gBAAkB,EAEvB79D,KAAKs7F,2BAGW,GAAdW,GAAsCp1F,SAAfo1F,IAErBj8F,KAAKmmD,QAAUs1C,GACjBz7F,KAAKkQ,QAITlQ,KAAK+vD,2BAMPnwD,EAAQ68F,aAAe,WAErB,GAAIC,GAAkB18F,KAAK28F,mBACvBD,GAAkB18F,KAAK+iD,UAAUzC,WAAWI,gBAC9C1gD,KAAK48F,sBAAsB,EAAI58F,KAAK+iD,UAAUzC,WAAWI,eAAiBg8C,IAW9E98F,EAAQ48F,eAAiB,SAAS96D,GAChC1hC,KAAK68F,cACL78F,KAAK88F,mBAAmBp7D,GAAM,IAQhC9hC,EAAQy7F,mBAAqB,SAASY,GACpC,GAAIR,GAA2Bz7F,KAAKmmD,OAChC+1C,EAAgBl8F,KAAKmlD,YAAYn/C,MAErChG,MAAKw8F,gBAAe,GAGpBx8F,KAAKsoD,uBACLtoD,KAAKkwD,eAELlwD,KAAK+vD,0BAGD/vD,KAAKmlD,YAAYn/C,QAAUk2F,IAC7Bl8F,KAAK69D,gBAAkB,IAGP,GAAdo+B,GAAsCp1F,SAAfo1F,IAErBj8F,KAAKmmD,QAAUs1C,GACjBz7F,KAAKkQ,SAUXtQ,EAAQm9F,oBAAsB,WAC5B,GAA+C,GAA3C/8F,KAAK+iD,UAAUzC,WAAWiB,cAC5B,IAAK,GAAIkG,KAAUznD,MAAK89C,MACtB,GAAI99C,KAAK89C,MAAM33C,eAAeshD,GAAS,CACrC,GAAIN,GAAOnnD,KAAK89C,MAAM2J,EACD,IAAjBN,EAAKib,WACFjb,EAAKt0C,MAAQ7S,KAAKuE,MAAQvE,KAAK+iD,UAAUzC,WAAWO,oBAAsB7gD,KAAK6f,MAAMC,OAAOC,aAC9FonC,EAAKr0C,OAAS9S,KAAKuE,MAAQvE,KAAK+iD,UAAUzC,WAAWO,oBAAsB7gD,KAAK6f,MAAMC,OAAOsF,eAC9FplB,KAAKw7F,YAAYr0C,KAe7BvnD,EAAQ28F,cAAgB,SAASP,EAAUt6D,GACzC,IAAK,GAAI77B,GAAI,EAAGA,EAAI7F,KAAKmlD,YAAYn/C,OAAQH,IAAK,CAChD,GAAIshD,GAAOnnD,KAAK89C,MAAM99C,KAAKmlD,YAAYt/C,GACvC7F,MAAK67F,mBAAmB10C,EAAK60C,EAAUt6D,GACvC1hC,KAAK+vD,4BAeTnwD,EAAQi8F,mBAAqB,SAAS1xF,EAAY6xF,EAAWt6D,EAAOs7D,GAElE,GAAI7yF,EAAWi0D,YAAc,IACXv3D,SAAZm2F,IACFA,GAAU,GAIZhB,EAAYgB,GAAWhB,EAEnB7xF,EAAWg0D,eAAiBn+D,KAAKuE,OAAkB,GAATm9B,GAE5C,IAAK,GAAIu7D,KAAmB9yF,GAAWk0D,eACrC,GAAIl0D,EAAWk0D,eAAel4D,eAAe82F,GAAkB,CAC7D,GAAIC,GAAY/yF,EAAWk0D,eAAe4+B,EAI7B,IAATv7D,GACEw7D,EAAUr/B,gBAAkB1zD,EAAWo0D,gBAAgBp0D,EAAWo0D,gBAAgBv4D,OAAO,IACtFg3F,IACLh9F,KAAKm9F,sBAAsBhzF,EAAW8yF,EAAgBjB,EAAUt6D,EAAMs7D,GAIpEh9F,KAAK07F,kBAAkBvxF,IACzBnK,KAAKm9F,sBAAsBhzF,EAAW8yF,EAAgBjB,EAAUt6D,EAAMs7D,KAwBpFp9F,EAAQu9F,sBAAwB,SAAShzF,EAAY8yF,EAAiBjB,EAAWt6D,EAAOs7D,GACtF,GAAIE,GAAY/yF,EAAWk0D,eAAe4+B,EAG1C,IAAIC,EAAU/+B,eAAiBn+D,KAAKuE,OAAkB,GAATm9B,EAAe,CAE1D1hC,KAAKyoD,eAGLzoD,KAAK89C,MAAMm/C,GAAmBC,EAG9Bl9F,KAAKo9F,uBAAuBjzF,EAAW+yF,GAGvCl9F,KAAKq9F,wBAAwBlzF,EAAW+yF,GAGxCl9F,KAAKs9F,eAAenzF,GAGpBA,EAAW4E,QAAQgvC,MAAQm/C,EAAUnuF,QAAQgvC,KAC7C5zC,EAAWi0D,aAAe8+B,EAAU9+B,YACpCj0D,EAAW4E,QAAQsvC,SAAW75C,KAAKL,IAAInE,KAAK+iD,UAAUzC,WAAWS,YAAa/gD,KAAK+iD,UAAUjF,MAAMO,SAAWr+C,KAAK+iD,UAAUzC,WAAWQ,oBAAoB32C,EAAWi0D,YAAY,IAGnL8+B,EAAU7qF,EAAIlI,EAAWkI,EAAIlI,EAAW8zD,iBAAmB,GAAMz5D,KAAKiB,UACtEy3F,EAAU5qF,EAAInI,EAAWmI,EAAInI,EAAW8zD,iBAAmB,GAAMz5D,KAAKiB,gBAG/D0E,GAAWk0D,eAAe4+B,EAGjC,IAAIM,IAAgB,CACpB,KAAK,GAAIC,KAAerzF,GAAWk0D,eACjC,GAAIl0D,EAAWk0D,eAAel4D,eAAeq3F,IACvCrzF,EAAWk0D,eAAem/B,GAAa3/B,gBAAkBq/B,EAAUr/B,eAAgB,CACrF0/B,GAAgB,CAChB,OAKe,GAAjBA,GACFpzF,EAAWo0D,gBAAgB3hB,MAG7B58C,KAAKy9F,uBAAuBP,GAI5BA,EAAUr/B,eAAiB,EAG3B1zD,EAAW+1D,iBAGXlgE,KAAKmmD,QAAS,EAIC,GAAb61C,GACFh8F,KAAK67F,mBAAmBqB,EAAUlB,EAAUt6D,EAAMs7D,IAWtDp9F,EAAQ69F,uBAAyB,SAASt2C,GACxC,IAAK,GAAIthD,GAAI,EAAGA,EAAIshD,EAAK4J,aAAa/qD,OAAQH,IAC5CshD,EAAK4J,aAAalrD,GAAGouD,sBAczBr0D,EAAQ08F,cAAgB,SAAS56D,GAClB,GAATA,EAC6C,GAA3C1hC,KAAK+iD,UAAUzC,WAAWiB,eAC5BvhD,KAAK09F,sBAIP19F,KAAK29F,wBAUT/9F,EAAQ89F,oBAAsB,WAC5B,GAAIv+E,GAAGC,EAAGpZ,EACN43F,EAAY59F,KAAK+iD,UAAUzC,WAAWK,qBAAqB3gD,KAAKuE,KAIpE,KAAK,GAAImqD,KAAU1uD,MAAKi/C,MACtB,GAAIj/C,KAAKi/C,MAAM94C,eAAeuoD,GAAS,CACrC,GAAIU,GAAOpvD,KAAKi/C,MAAMyP,EACtB,IAAIU,EAAKC,WACHD,EAAKsG,MAAQtG,EAAKuG,SACpBx2C,EAAMiwC,EAAKxlC,GAAGvX,EAAI+8C,EAAKzlC,KAAKtX,EAC5B+M,EAAMgwC,EAAKxlC,GAAGtX,EAAI88C,EAAKzlC,KAAKrX,EAC5BtM,EAASxB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAGrBw+E,EAAT53F,GAAoB,CAEtB,GAAImE,GAAailD,EAAKzlC,KAClBuzE,EAAY9tC,EAAKxlC,EACjBwlC,GAAKxlC,GAAG7a,QAAQgvC,KAAOqR,EAAKzlC,KAAK5a,QAAQgvC,OAC3C5zC,EAAailD,EAAKxlC,GAClBszE,EAAY9tC,EAAKzlC,MAGkB,GAAjCuzE,EAAUnsC,aAAa/qD,OACzBhG,KAAK69F,cAAc1zF,EAAW+yF,GAAU,GAEC,GAAlC/yF,EAAW4mD,aAAa/qD,QAC/BhG,KAAK69F,cAAcX,EAAU/yF,GAAW,MAetDvK,EAAQ+9F,qBAAuB,WAC7B,IAAK,GAAIl2C,KAAUznD,MAAK89C,MAEtB,GAAI99C,KAAK89C,MAAM33C,eAAeshD,GAAS,CACrC,GAAIy1C,GAAYl9F,KAAK89C,MAAM2J,EAG3B,IAAqC,GAAjCy1C,EAAUnsC,aAAa/qD,OAAa,CACtC,GAAIopD,GAAO8tC,EAAUnsC,aAAa,GAC9B5mD,EAAcilD,EAAKsG,MAAQwnC,EAAU78F,GAAML,KAAK89C,MAAMsR,EAAKuG,QAAU31D,KAAK89C,MAAMsR,EAAKsG,KAErFwnC,GAAU78F,IAAM8J,EAAW9J,KACzB8J,EAAW4E,QAAQgvC,KAAOm/C,EAAUnuF,QAAQgvC,KAC9C/9C,KAAK69F,cAAc1zF,EAAW+yF,GAAU,GAGxCl9F,KAAK69F,cAAcX,EAAU/yF,GAAW,OAgBpDvK,EAAQk+F,4BAA8B,SAAS32C,GAG7C,IAAK,GAFD42C,GAAoB,GACpBC,EAAwB,KACnBn4F,EAAI,EAAGA,EAAIshD,EAAK4J,aAAa/qD,OAAQH,IAC5C,GAA6BgB,SAAzBsgD,EAAK4J,aAAalrD,GAAkB,CACtC,GAAIo4F,GAAY,IACZ92C,GAAK4J,aAAalrD,GAAG8vD,QAAUxO,EAAK9mD,GACtC49F,EAAY92C,EAAK4J,aAAalrD,GAAG8jB,KAE1Bw9B,EAAK4J,aAAalrD,GAAG6vD,MAAQvO,EAAK9mD,KACzC49F,EAAY92C,EAAK4J,aAAalrD,GAAG+jB,IAIlB,MAAbq0E,GAAqBF,EAAoBE,EAAU1/B,gBAAgBv4D,SACrE+3F,EAAoBE,EAAU1/B,gBAAgBv4D,OAC9Cg4F,EAAwBC;CAKb,MAAbA,GAAkDp3F,SAA7B7G,KAAK89C,MAAMmgD,EAAU59F,KAC5CL,KAAK69F,cAAcI,EAAW92C,GAAM,IAYxCvnD,EAAQk9F,mBAAqB,SAASp7D,EAAOw8D,GAE3C,IAAK,GAAIz2C,KAAUznD,MAAK89C,MAElB99C,KAAK89C,MAAM33C,eAAeshD,IAC5BznD,KAAKm+F,oBAAoBn+F,KAAK89C,MAAM2J,GAAQ/lB,EAAMw8D,IAcxDt+F,EAAQu+F,oBAAsB,SAASC,EAAS18D,EAAOw8D,EAAWG,GAShE,GAR6Bx3F,SAAzBw3F,IACFA,EAAuB,GAOpBD,EAAQrtC,aAAa/qD,QAAUhG,KAAK0sE,cAA6B,GAAbwxB,GACtDE,EAAQrtC,aAAa/qD,QAAUhG,KAAK0sE,cAA6B,GAAbwxB,EAAoB,CASzE,IAAK,GAPD/+E,GAAGC,EAAGpZ,EACN43F,EAAY59F,KAAK+iD,UAAUzC,WAAWK,qBAAqB3gD,KAAKuE,MAChE+5F,GAAe,EAGfC,KACAC,EAAuBJ,EAAQrtC,aAAa/qD,OACvCmmB,EAAI,EAAOqyE,EAAJryE,EAA0BA,IACxCoyE,EAAah2F,KAAK61F,EAAQrtC,aAAa5kC,GAAG9rB,GAK5C,IAAa,GAATqhC,EAEF,IADA48D,GAAe,EACVnyE,EAAI,EAAOqyE,EAAJryE,EAA0BA,IAAK,CACzC,GAAIijC,GAAOpvD,KAAKi/C,MAAMs/C,EAAapyE,GACnC,IAAatlB,SAATuoD,GACEA,EAAKC,WACHD,EAAKsG,MAAQtG,EAAKuG,SACpBx2C,EAAMiwC,EAAKxlC,GAAGvX,EAAI+8C,EAAKzlC,KAAKtX,EAC5B+M,EAAMgwC,EAAKxlC,GAAGtX,EAAI88C,EAAKzlC,KAAKrX,EAC5BtM,EAASxB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAErBw+E,EAAT53F,GAAoB,CACtBs4F,GAAe,CACf,QASZ,IAAM58D,GAAS48D,GAAiB58D,EAAO,CACrC,GAAI+8D,MACAC,IAEJ,KAAKvyE,EAAI,EAAOqyE,EAAJryE,EAA0BA,IAAK,CACzCijC,EAAOpvD,KAAKi/C,MAAMs/C,EAAapyE,GAC/B,IAAI+wE,GAAYl9F,KAAK89C,MAAOsR,EAAKuG,QAAUyoC,EAAQ/9F,GAAM+uD,EAAKsG,KAAOtG,EAAKuG,OACxC9uD,UAA9B63F,EAAYxB,EAAU78F,MACxBq+F,EAAYxB,EAAU78F,KAAM,EAC5Bo+F,EAASl2F,KAAK20F,IAIlB,IAAK/wE,EAAI,EAAGA,EAAIsyE,EAASz4F,OAAQmmB,IAAK,CACpC,GAAI+wE,GAAYuB,EAAStyE,EAEpB+wE,GAAUnsC,aAAa/qD,QAAWhG,KAAK0sE,aAAe2xB,GACxDnB,EAAU78F,IAAM+9F,EAAQ/9F,IACzBL,KAAK69F,cAAcO,EAAQlB,EAAUx7D,OAsB/C9hC,EAAQi+F,cAAgB,SAAS1zF,EAAY+yF,EAAWx7D,GAEtDv3B,EAAWk0D,eAAe6+B,EAAU78F,IAAM68F,CAG1C,KAAK,GAAIr3F,GAAI,EAAGA,EAAIq3F,EAAUnsC,aAAa/qD,OAAQH,IAAK,CACtD,GAAIupD,GAAO8tC,EAAUnsC,aAAalrD,EAC9BupD,GAAKsG,MAAQvrD,EAAW9J,IAAM+uD,EAAKuG,QAAUxrD,EAAW9J,GAE1DL,KAAK2+F,qBAAqBx0F,EAAW+yF,EAAU9tC,GAI/CpvD,KAAK4+F,sBAAsBz0F,EAAW+yF,EAAU9tC,GAIpD8tC,EAAUnsC,gBAGV/wD,KAAK6+F,8BAA8B10F,EAAW+yF,SAIvCl9F,MAAK89C,MAAMo/C,EAAU78F,GAG5B,IAAIy+F,GAAa30F,EAAW4E,QAAQgvC,IACpCm/C,GAAUr/B,eAAiB79D,KAAK69D,eAChC1zD,EAAW4E,QAAQgvC,MAAQm/C,EAAUnuF,QAAQgvC,KAC7C5zC,EAAWi0D,aAAe8+B,EAAU9+B,YACpCj0D,EAAW4E,QAAQsvC,SAAW75C,KAAKL,IAAInE,KAAK+iD,UAAUzC,WAAWS,YAAa/gD,KAAK+iD,UAAUjF,MAAMO,SAAWr+C,KAAK+iD,UAAUzC,WAAWQ,mBAAmB32C,EAAWi0D,aAGlKj0D,EAAWo0D,gBAAgBp0D,EAAWo0D,gBAAgBv4D,OAAS,IAAMhG,KAAK69D,gBAC5E1zD,EAAWo0D,gBAAgBh2D,KAAKvI,KAAK69D,gBAKrC1zD,EAAWg0D,eADA,GAATz8B,EAC0B,EAGA1hC,KAAKuE,MAInC4F,EAAW+1D,iBAGX/1D,EAAWk0D,eAAe6+B,EAAU78F,IAAI89D,eAAiBh0D,EAAWg0D,eAGpE++B,EAAU76B,gBAGVl4D,EAAWm4D,eAAew8B,GAG1B9+F,KAAKmmD,QAAS,GAYhBvmD,EAAQ++F,qBAAuB,SAASx0F,EAAY+yF,EAAW9tC,GAEbvoD,SAA5CsD,EAAWm0D,eAAe4+B,EAAU78F,MACtC8J,EAAWm0D,eAAe4+B,EAAU78F,QAGtC8J,EAAWm0D,eAAe4+B,EAAU78F,IAAIkI,KAAK6mD,SAGtCpvD,MAAKi/C,MAAMmQ,EAAK/uD,GAGvB,KAAK,GAAIwF,GAAI,EAAGA,EAAIsE,EAAW4mD,aAAa/qD,OAAQH,IAClD,GAAIsE,EAAW4mD,aAAalrD,GAAGxF,IAAM+uD,EAAK/uD,GAAI,CAC5C8J,EAAW4mD,aAAapoD,OAAO9C,EAAE,EACjC,SAcNjG,EAAQg/F,sBAAwB,SAASz0F,EAAY+yF,EAAW9tC,GAE1DA,EAAKsG,MAAQtG,EAAKuG,OACpB31D,KAAK2+F,qBAAqBx0F,EAAY+yF,EAAW9tC,IAG7CA,EAAKsG,MAAQwnC,EAAU78F,IACzB+uD,EAAKgH,aAAa7tD,KAAK20F,EAAU78F,IACjC+uD,EAAKxlC,GAAKzf,EACVilD,EAAKsG,KAAOvrD,EAAW9J,KAGvB+uD,EAAK+G,eAAe5tD,KAAK20F,EAAU78F,IACnC+uD,EAAKzlC,KAAOxf,EACZilD,EAAKuG,OAASxrD,EAAW9J,IAG3BL,KAAK++F,oBAAoB50F,EAAW+yF,EAAU9tC,KAalDxvD,EAAQi/F,8BAAgC,SAAS10F,EAAY+yF,GAE3D,IAAK,GAAIr3F,GAAI,EAAGA,EAAIsE,EAAW4mD,aAAa/qD,OAAQH,IAAK,CACvD,GAAIupD,GAAOjlD,EAAW4mD,aAAalrD,EAE/BupD,GAAKsG,MAAQtG,EAAKuG,QACpB31D,KAAK2+F,qBAAqBx0F,EAAY+yF,EAAW9tC,KAcvDxvD,EAAQm/F,oBAAsB,SAAS50F,EAAY+yF,EAAW9tC,GAGtDjlD,EAAW6yD,cAAc72D,eAAe+2F,EAAU78F,MACtD8J,EAAW6yD,cAAckgC,EAAU78F,QAErC8J,EAAW6yD,cAAckgC,EAAU78F,IAAIkI,KAAK6mD,GAG5CjlD,EAAW4mD,aAAaxoD,KAAK6mD,IAY/BxvD,EAAQy9F,wBAA0B,SAASlzF,EAAY+yF,GACrD,GAAI/yF,EAAW6yD,cAAc72D,eAAe+2F,EAAU78F,IAAK,CACzD,IAAK,GAAIwF,GAAI,EAAGA,EAAIsE,EAAW6yD,cAAckgC,EAAU78F,IAAI2F,OAAQH,IAAK,CACtE,GAAIupD,GAAOjlD,EAAW6yD,cAAckgC,EAAU78F,IAAIwF,EAC9CupD,GAAK+G,eAAe/G,EAAK+G,eAAenwD,OAAO,IAAMk3F,EAAU78F,IACjE+uD,EAAK+G,eAAevZ,MACpBwS,EAAKuG,OAASunC,EAAU78F,GACxB+uD,EAAKzlC,KAAOuzE,IAGZ9tC,EAAKgH,aAAaxZ,MAClBwS,EAAKsG,KAAOwnC,EAAU78F,GACtB+uD,EAAKxlC,GAAKszE,GAIZA,EAAUnsC,aAAaxoD,KAAK6mD,EAG5B,KAAK,GAAIjjC,GAAI,EAAGA,EAAIhiB,EAAW4mD,aAAa/qD,OAAQmmB,IAClD,GAAIhiB,EAAW4mD,aAAa5kC,GAAG9rB,IAAM+uD,EAAK/uD,GAAI,CAC5C8J,EAAW4mD,aAAapoD,OAAOwjB,EAAE,EACjC,cAKChiB,GAAW6yD,cAAckgC,EAAU78F,MAa9CT,EAAQ09F,eAAiB,SAASnzF,GAEhC,IAAK,GADD4mD,MACKlrD,EAAI,EAAGA,EAAIsE,EAAW4mD,aAAa/qD,OAAQH,IAAK,CACvD,GAAIupD,GAAOjlD,EAAW4mD,aAAalrD,IAC/BsE,EAAW9J,IAAM+uD,EAAKsG,MAAQvrD,EAAW9J,IAAM+uD,EAAKuG,SACtD5E,EAAaxoD,KAAK6mD,GAGtBjlD,EAAW4mD,aAAeA,GAY5BnxD,EAAQw9F,uBAAyB,SAASjzF,EAAY+yF,GACpD,IAAK,GAAIr3F,GAAI,EAAGA,EAAIsE,EAAWm0D,eAAe4+B,EAAU78F,IAAI2F,OAAQH,IAAK,CACvE,GAAIupD,GAAOjlD,EAAWm0D,eAAe4+B,EAAU78F,IAAIwF,EAGnD7F,MAAKi/C,MAAMmQ,EAAK/uD,IAAM+uD,EAGtB8tC,EAAUnsC,aAAaxoD,KAAK6mD,GAC5BjlD,EAAW4mD,aAAaxoD,KAAK6mD,SAGxBjlD,GAAWm0D,eAAe4+B,EAAU78F,KAa7CT,EAAQswD,aAAe,WACrB,GAAIzI,EAEJ,KAAKA,IAAUznD,MAAK89C,MAClB,GAAI99C,KAAK89C,MAAM33C,eAAeshD,GAAS,CACrC,GAAIN,GAAOnnD,KAAK89C,MAAM2J,EAClBN,GAAKiX,YAAc,IACrBjX,EAAKn+B,MAAQ,IAAI1U,OAAO5P,OAAOyiD,EAAKiX,aAAa,MAMvD,IAAK3W,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GACM,GAApBN,EAAKiX,cAELjX,EAAKn+B,MADoBniB,SAAvBsgD,EAAKqX,cACMrX,EAAKqX,cAGL95D,OAAOyiD,EAAK9mD,OAuBnCT,EAAQ07F,uBAAyB,WAC/B,GAGI7zC,GAHAu3C,EAAW,EACXC,EAAW,IACXC,EAAe,CAInB,KAAKz3C,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,KAC5By3C,EAAel/F,KAAK89C,MAAM2J,GAAQ8W,gBAAgBv4D,OACnCk5F,EAAXF,IAA0BA,EAAWE,GACrCD,EAAWC,IAAeD,EAAWC,GAI7C,IAAIF,EAAWC,EAAWj/F,KAAK+iD,UAAUzC,WAAWgB,uBAAwB,CAC1E,GAAI46C,GAAgBl8F,KAAKmlD,YAAYn/C,OACjCm5F,EAAcH,EAAWh/F,KAAK+iD,UAAUzC,WAAWgB,sBAEvD,KAAKmG,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,IACxBznD,KAAK89C,MAAM2J,GAAQ8W,gBAAgBv4D,OAASm5F,GAC9Cn/F,KAAK89F,4BAA4B99F,KAAK89C,MAAM2J,GAIlDznD,MAAKsoD,uBAEDtoD,KAAKmlD,YAAYn/C,QAAUk2F,IAC7Bl8F,KAAK69D,gBAAkB,KAe7Bj+D,EAAQ87F,kBAAoB,SAASv0C,GACnC,MACE3iD,MAAK4mB,IAAI+7B,EAAK90C,EAAIrS,KAAKulD,WAAWlzC,IAAMrS,KAAK+iD,UAAUzC,WAAWe,kBAAkBrhD,KAAKuE,OAEzFC,KAAK4mB,IAAI+7B,EAAK70C,EAAItS,KAAKulD,WAAWjzC,IAAMtS,KAAK+iD,UAAUzC,WAAWe,kBAAkBrhD,KAAKuE,OAU7F3E,EAAQg4F,gBAAkB,WACxB,IAAK,GAAI/xF,GAAI,EAAGA,EAAI7F,KAAKmlD,YAAYn/C,OAAQH,IAAK,CAChD,GAAIshD,GAAOnnD,KAAK89C,MAAM99C,KAAKmlD,YAAYt/C,GACvC,IAAoB,GAAfshD,EAAK2F,QAAkC,GAAf3F,EAAK4F,OAAkB,CAClD,GAAI/gC,GAAS,EAAShsB,KAAKmlD,YAAYn/C,OAASxB,KAAKL,IAAI,IAAIgjD,EAAKp4C,QAAQgvC,MACtE+R,EAAQ,EAAItrD,KAAK0nB,GAAK1nB,KAAKiB,QACZ,IAAf0hD,EAAK2F,SAAkB3F,EAAK90C,EAAI2Z,EAASxnB,KAAKsa,IAAIgxC,IACnC,GAAf3I,EAAK4F,SAAkB5F,EAAK70C,EAAI0Z,EAASxnB,KAAKma,IAAImxC,IACtD9vD,KAAKy9F,uBAAuBt2C,MAYlCvnD,EAAQi9F,YAAc,WAMpB,IAAK,GALDuC,GAAU,EACVC,EAAiB,EACjBC,EAAa,EACbC,EAAa,EAER15F,EAAI,EAAGA,EAAI7F,KAAKmlD,YAAYn/C,OAAQH,IAAK,CAEhD,GAAIshD,GAAOnnD,KAAK89C,MAAM99C,KAAKmlD,YAAYt/C,GACnCshD,GAAK4J,aAAa/qD,OAASu5F,IAC7BA,EAAap4C,EAAK4J,aAAa/qD,QAEjCo5F,GAAWj4C,EAAK4J,aAAa/qD,OAC7Bq5F,GAAkB76F,KAAK6vB,IAAI8yB,EAAK4J,aAAa/qD,OAAO,GACpDs5F,GAAc,EAEhBF,GAAoBE,EACpBD,GAAkCC,CAElC,IAAIE,GAAWH,EAAiB76F,KAAK6vB,IAAI+qE,EAAQ,GAE7CK,EAAoBj7F,KAAK0rB,KAAKsvE,EAElCx/F,MAAK0sE,aAAeloE,KAAKgB,MAAM45F,EAAU,EAAEK,GAGvCz/F,KAAK0sE,aAAe6yB,IACtBv/F,KAAK0sE,aAAe6yB,IAexB3/F,EAAQg9F,sBAAwB,SAAS8C,GACvC1/F,KAAK0sE,aAAe,CACpB,IAAIizB,GAAen7F,KAAKgB,MAAMxF,KAAKmlD,YAAYn/C,OAAS05F,EACxD,KAAK,GAAIj4C,KAAUznD,MAAK89C,MAClB99C,KAAK89C,MAAM33C,eAAeshD,IACkB,GAA1CznD,KAAK89C,MAAM2J,GAAQsJ,aAAa/qD,QAC9B25F,EAAe,IACjB3/F,KAAKm+F,oBAAoBn+F,KAAK89C,MAAM2J,IAAQ,GAAK,EAAK,GACtDk4C,GAAgB,IAa1B//F,EAAQ+8F,kBAAoB,WAC1B,GAAIiD,GAAS,EACTv7F,EAAQ,CACZ,KAAK,GAAIojD,KAAUznD,MAAK89C,MAClB99C,KAAK89C,MAAM33C,eAAeshD,KACkB,GAA1CznD,KAAK89C,MAAM2J,GAAQsJ,aAAa/qD,SAClC45F,GAAU,GAEZv7F,GAAS,EAGb,OAAOu7F,GAAOv7F,IAMZ,SAASxE,EAAQD,EAASM,GAE9B,GAAIS,GAAOT,EAAoB,GAC3BqD,EAAOrD,EAAoB,GAgB/BN,GAAQspD,iBAAmB,WACzBlpD,KAAK8wD,QAAgB,OAAE9wD,KAAK+5F,WAAWj8C,MAAQ99C,KAAK89C,MACpD99C,KAAK8wD,QAAgB,OAAE9wD,KAAK+5F,WAAW96C,MAAQj/C,KAAKi/C,MACpDj/C,KAAK8wD,QAAgB,OAAE9wD,KAAK+5F,WAAW50C,YAAcnlD,KAAKmlD,aAa5DvlD,EAAQigG,gBAAkB,SAASC,EAAUC,GACxBl5F,SAAfk5F,GAA0C,UAAdA,EAC9B//F,KAAKggG,sBAAsBF,GAG3B9/F,KAAKigG,sBAAsBH,IAY/BlgG,EAAQogG,sBAAwB,SAASF,GACvC9/F,KAAKmlD,YAAcnlD,KAAK8wD,QAAgB,OAAEgvC,GAAuB,YACjE9/F,KAAK89C,MAAc99C,KAAK8wD,QAAgB,OAAEgvC,GAAiB,MAC3D9/F,KAAKi/C,MAAcj/C,KAAK8wD,QAAgB,OAAEgvC,GAAiB,OAU7DlgG,EAAQsgG,uBAAyB,WAC/BlgG,KAAKmlD,YAAcnlD,KAAK8wD,QAAiB,QAAe,YACxD9wD,KAAK89C,MAAc99C,KAAK8wD,QAAiB,QAAS,MAClD9wD,KAAKi/C,MAAcj/C,KAAK8wD,QAAiB,QAAS,OAWpDlxD,EAAQqgG,sBAAwB,SAASH,GACvC9/F,KAAKmlD,YAAcnlD,KAAK8wD,QAAgB,OAAEgvC,GAAuB,YACjE9/F,KAAK89C,MAAc99C,KAAK8wD,QAAgB,OAAEgvC,GAAiB,MAC3D9/F,KAAKi/C,MAAcj/C,KAAK8wD,QAAgB,OAAEgvC,GAAiB,OAU7DlgG,EAAQugG,kBAAoB,WAC1BngG,KAAK6/F,gBAAgB7/F,KAAK+5F,YAU5Bn6F,EAAQm6F,QAAU,WAChB,MAAO/5F,MAAK2sE,aAAa3sE,KAAK2sE,aAAa3mE,OAAO,IAUpDpG,EAAQwgG,gBAAkB,WACxB,GAAIpgG,KAAK2sE,aAAa3mE,OAAS,EAC7B,MAAOhG,MAAK2sE,aAAa3sE,KAAK2sE,aAAa3mE,OAAO,EAGlD,MAAM,IAAIU,WAAU,iEAaxB9G,EAAQygG,iBAAmB,SAASC,GAClCtgG,KAAK2sE,aAAapkE,KAAK+3F,IAUzB1gG,EAAQ2gG,kBAAoB,WAC1BvgG,KAAK2sE,aAAa/vB,OAWpBh9C,EAAQ4gG,iBAAmB,SAASF,GAElCtgG,KAAK8wD,QAAgB,OAAEwvC,IAAUxiD,SACAmB,SACAkG,eACAgZ,eAAkBn+D,KAAKuE,MACvBqoE,YAAe/lE,QAGhD7G,KAAK8wD,QAAgB,OAAEwvC,GAAoB,YAAI,GAAI/8F,IAC9ClD,GAAGigG,EACFl1F,OACEsB,WAAY,UACZC,OAAQ,iBAEJ3M,KAAK+iD,WACjB/iD,KAAK8wD,QAAgB,OAAEwvC,GAAoB,YAAEliC,YAAc,GAW7Dx+D,EAAQ6gG,oBAAsB,SAASX,SAC9B9/F,MAAK8wD,QAAgB,OAAEgvC,IAWhClgG,EAAQ8gG,oBAAsB,SAASZ,SAC9B9/F,MAAK8wD,QAAgB,OAAEgvC,IAWhClgG,EAAQ+gG,cAAgB,SAASb,GAE/B9/F,KAAK8wD,QAAgB,OAAEgvC,GAAY9/F,KAAK8wD,QAAgB,OAAEgvC,GAG1D9/F,KAAKygG,oBAAoBX,IAW3BlgG,EAAQghG,gBAAkB,SAASd,GAEjC9/F,KAAK8wD,QAAgB,OAAEgvC,GAAY9/F,KAAK8wD,QAAgB,OAAEgvC,GAG1D9/F,KAAK0gG,oBAAoBZ,IAa3BlgG,EAAQihG,qBAAuB,SAASf,GAEtC,IAAK,GAAIr4C,KAAUznD,MAAK89C,MAClB99C,KAAK89C,MAAM33C,eAAeshD,KAC5BznD,KAAK8wD,QAAgB,OAAEgvC,GAAiB,MAAEr4C,GAAUznD,KAAK89C,MAAM2J,GAKnE,KAAK,GAAIiH,KAAU1uD,MAAKi/C,MAClBj/C,KAAKi/C,MAAM94C,eAAeuoD,KAC5B1uD,KAAK8wD,QAAgB,OAAEgvC,GAAiB,MAAEpxC,GAAU1uD,KAAKi/C,MAAMyP,GAKnE,KAAK,GAAI7oD,GAAI,EAAGA,EAAI7F,KAAKmlD,YAAYn/C,OAAQH,IAC3C7F,KAAK8wD,QAAgB,OAAEgvC,GAAuB,YAAEv3F,KAAKvI,KAAKmlD,YAAYt/C,KAW1EjG,EAAQkhG,6BAA+B,WACrC9gG,KAAKo5F,aAAa,GAAE,IAUtBx5F,EAAQ+7F,WAAa,SAASx0C,GAE5B,GAAI45C,GAAS/gG,KAAK+5F,gBAWX/5F,MAAK89C,MAAMqJ,EAAK9mD,GAEvB,IAAI2gG,GAAmBrgG,EAAK2E,YAG5BtF,MAAK2gG,cAAcI,GAGnB/gG,KAAKwgG,iBAAiBQ,GAGtBhhG,KAAKqgG,iBAAiBW,GAGtBhhG,KAAK6/F,gBAAgB7/F,KAAK+5F,WAG1B/5F,KAAK89C,MAAMqJ,EAAK9mD,IAAM8mD,GAUxBvnD,EAAQy8F,gBAAkB,WAExB,GAAI0E,GAAS/gG,KAAK+5F,SAGlB,IAAc,WAAVgH,IAC8B,GAA3B/gG,KAAKmlD,YAAYn/C,QACpBhG,KAAK8wD,QAAgB,OAAEiwC,GAAqB,YAAEluF,MAAM7S,KAAKuE,MAAQvE,KAAK+iD,UAAUzC,WAAWO,oBAAsB7gD,KAAK6f,MAAMC,OAAOC,aACnI/f,KAAK8wD,QAAgB,OAAEiwC,GAAqB,YAAEjuF,OAAO9S,KAAKuE,MAAQvE,KAAK+iD,UAAUzC,WAAWO,oBAAsB7gD,KAAK6f,MAAMC,OAAOsF,cAAe,CACnJ,GAAI67E,GAAiBjhG,KAAKogG,iBAG1BpgG,MAAK8gG,+BAIL9gG,KAAK6gG,qBAAqBI,GAI1BjhG,KAAKygG,oBAAoBM,GAGzB/gG,KAAK4gG,gBAAgBK,GAGrBjhG,KAAK6/F,gBAAgBoB,GAGrBjhG,KAAKugG,oBAGLvgG,KAAKsoD,uBAGLtoD,KAAK+vD,4BAeXnwD,EAAQmzD,sBAAwB,SAASmuC,EAAYC,GACnD,GAAIC,KACJ,IAAiBv6F,SAAbs6F,EACF,IAAK,GAAIJ,KAAU/gG,MAAK8wD,QAAgB,OAClC9wD,KAAK8wD,QAAgB,OAAE3qD,eAAe46F,KAExC/gG,KAAKggG,sBAAsBe,GAC3BK,EAAa74F,KAAMvI,KAAKkhG,WAK5B,KAAK,GAAIH,KAAU/gG,MAAK8wD,QAAgB,OACtC,GAAI9wD,KAAK8wD,QAAgB,OAAE3qD,eAAe46F,GAAS,CAEjD/gG,KAAKggG,sBAAsBe,EAC3B,IAAItnF,GAAOnT,MAAMmN,UAAU9K,OAAOpI,KAAKwF,UAAW,EAEhDq7F,GAAa74F,KADXkR,EAAKzT,OAAS,EACGhG,KAAKkhG,GAAaznF,EAAK,GAAGA,EAAK,IAG/BzZ,KAAKkhG,GAAaC,IAO7C,MADAnhG,MAAKmgG,oBACEiB,GAaTxhG,EAAQozD,mBAAqB,SAASkuC,EAAYC,GAChD,GAAIC,IAAe,CACnB,IAAiBv6F,SAAbs6F,EACFnhG,KAAKkgG,yBACLkB,EAAephG,KAAKkhG,SAEjB,CACHlhG,KAAKkgG,wBACL,IAAIzmF,GAAOnT,MAAMmN,UAAU9K,OAAOpI,KAAKwF,UAAW,EAEhDq7F,GADE3nF,EAAKzT,OAAS,EACDhG,KAAKkhG,GAAaznF,EAAK,GAAGA,EAAK,IAG/BzZ,KAAKkhG,GAAaC,GAKrC,MADAnhG,MAAKmgG,oBACEiB,GAaTxhG,EAAQyhG,sBAAwB,SAASH,EAAYC,GACnD,GAAiBt6F,SAAbs6F,EACF,IAAK,GAAIJ,KAAU/gG,MAAK8wD,QAAgB,OAClC9wD,KAAK8wD,QAAgB,OAAE3qD,eAAe46F,KAExC/gG,KAAKigG,sBAAsBc,GAC3B/gG,KAAKkhG,UAKT,KAAK,GAAIH,KAAU/gG,MAAK8wD,QAAgB,OACtC,GAAI9wD,KAAK8wD,QAAgB,OAAE3qD,eAAe46F,GAAS,CAEjD/gG,KAAKigG,sBAAsBc,EAC3B,IAAItnF,GAAOnT,MAAMmN,UAAU9K,OAAOpI,KAAKwF,UAAW,EAC9C0T,GAAKzT,OAAS,EAChBhG,KAAKkhG,GAAaznF,EAAK,GAAGA,EAAK,IAG/BzZ,KAAKkhG,GAAaC,GAK1BnhG,KAAKmgG,qBAaPvgG,EAAQyxD,gBAAkB,SAAS6vC,EAAYC,GAC7C,GAAI1nF,GAAOnT,MAAMmN,UAAU9K,OAAOpI,KAAKwF,UAAW,EACjCc,UAAbs6F,GACFnhG,KAAK+yD,sBAAsBmuC,GAC3BlhG,KAAKqhG,sBAAsBH,IAGvBznF,EAAKzT,OAAS,GAChBhG,KAAK+yD,sBAAsBmuC,EAAYznF,EAAK,GAAGA,EAAK,IACpDzZ,KAAKqhG,sBAAsBH,EAAYznF,EAAK,GAAGA,EAAK,MAGpDzZ,KAAK+yD,sBAAsBmuC,EAAYC,GACvCnhG,KAAKqhG,sBAAsBH,EAAYC,KAY7CvhG,EAAQ2oD,oBAAsB,WAC5B,GAAIw4C,GAAS/gG,KAAK+5F,SAClB/5F,MAAK8wD,QAAgB,OAAEiwC,GAAqB,eAC5C/gG,KAAKmlD,YAAcnlD,KAAK8wD,QAAgB,OAAEiwC,GAAqB,aAWjEnhG,EAAQ0hG,iBAAmB,SAASh6E,EAAIy4E,GACtC,GAAsD54C,GAAlDC,EAAO,IAAKC,EAAO,KAAMC,EAAO,IAAKC,EAAO,IAChD,KAAK,GAAIw5C,KAAU/gG,MAAK8wD,QAAQivC,GAC9B,GAAI//F,KAAK8wD,QAAQivC,GAAY55F,eAAe46F,IACcl6F,SAApD7G,KAAK8wD,QAAQivC,GAAYgB,GAAqB,YAAiB,CAEjE/gG,KAAK6/F,gBAAgBkB,EAAOhB,GAE5B34C,EAAO,IAAKC,EAAO,KAAMC,EAAO,IAAKC,EAAO,IAC5C,KAAK,GAAIE,KAAUznD,MAAK89C,MAClB99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GAClBN,EAAK8Q,OAAO3wC,GACRggC,EAAOH,EAAK90C,EAAI,GAAM80C,EAAKt0C,QAAQy0C,EAAOH,EAAK90C,EAAI,GAAM80C,EAAKt0C,OAC9D00C,EAAOJ,EAAK90C,EAAI,GAAM80C,EAAKt0C,QAAQ00C,EAAOJ,EAAK90C,EAAI,GAAM80C,EAAKt0C,OAC9Du0C,EAAOD,EAAK70C,EAAI,GAAM60C,EAAKr0C,SAASs0C,EAAOD,EAAK70C,EAAI,GAAM60C,EAAKr0C,QAC/Du0C,EAAOF,EAAK70C,EAAI,GAAM60C,EAAKr0C,SAASu0C,EAAOF,EAAK70C,EAAI,GAAM60C,EAAKr0C,QAGvEq0C,GAAOnnD,KAAK8wD,QAAQivC,GAAYgB,GAAqB,YACrD55C,EAAK90C,EAAI,IAAOk1C,EAAOD,GACvBH,EAAK70C,EAAI,IAAO+0C,EAAOD,GACvBD,EAAKt0C,MAAQ,GAAKs0C,EAAK90C,EAAIi1C,GAC3BH,EAAKr0C,OAAS,GAAKq0C,EAAK70C,EAAI80C,GAC5BD,EAAKp4C,QAAQid,OAASxnB,KAAK0rB,KAAK1rB,KAAK6vB,IAAI,GAAI8yB,EAAKt0C,MAAM,GAAKrO,KAAK6vB,IAAI,GAAI8yB,EAAKr0C,OAAO,IACtFq0C,EAAKrjB,SAAS9jC,KAAKuE,OACnB4iD,EAAK8X,YAAY33C,KAMzB1nB,EAAQ2hG,oBAAsB,SAASj6E,GACrCtnB,KAAKshG,iBAAiBh6E,EAAI,UAC1BtnB,KAAKshG,iBAAiBh6E,EAAI,UAC1BtnB,KAAKmgG,sBAMH,SAAStgG,EAAQD,EAASM,GAE9B,GAAIqD,GAAOrD,EAAoB,GAS/BN,GAAQ4hG,yBAA2B,SAASx9F,EAAQgrD,GAClD,GAAIlR,GAAQ99C,KAAK89C,KACjB,KAAK,GAAI2J,KAAU3J,GACbA,EAAM33C,eAAeshD,IACnB3J,EAAM2J,GAAQwH,kBAAkBjrD,IAClCgrD,EAAiBzmD,KAAKk/C,IAY9B7nD,EAAQ6hG,4BAA8B,SAAUz9F,GAC9C,GAAIgrD,KAEJ,OADAhvD,MAAK+yD,sBAAsB,2BAA2B/uD,EAAOgrD,GACtDA,GAWTpvD,EAAQ8hG,yBAA2B,SAAS9gE,GAC1C,GAAIvuB,GAAIrS,KAAKktD,qBAAqBtsB,EAAQvuB,GACtCC,EAAItS,KAAKotD,qBAAqBxsB,EAAQtuB,EAE1C,QACEzK,KAAQwK,EACRpK,IAAQqK,EACRsV,MAAQvV,EACRwR,OAAQvR,IAYZ1S,EAAQ2sD,WAAa,SAAU3rB,GAE7B,GAAI+gE,GAAiB3hG,KAAK0hG,yBAAyB9gE,GAC/CouB,EAAmBhvD,KAAKyhG,4BAA4BE,EAIxD,OAAI3yC,GAAiBhpD,OAAS,EACpBhG,KAAK89C,MAAMkR,EAAiBA,EAAiBhpD,OAAS,IAGvD,MAWXpG,EAAQgiG,yBAA2B,SAAU59F,EAAQmrD,GACnD,GAAIlQ,GAAQj/C,KAAKi/C,KACjB,KAAK,GAAIyP,KAAUzP,GACbA,EAAM94C,eAAeuoD,IACnBzP,EAAMyP,GAAQO,kBAAkBjrD,IAClCmrD,EAAiB5mD,KAAKmmD,IAa9B9uD,EAAQiiG,4BAA8B,SAAU79F,GAC9C,GAAImrD,KAEJ,OADAnvD,MAAK+yD,sBAAsB,2BAA2B/uD,EAAOmrD,GACtDA,GAWTvvD,EAAQ+uD,WAAa,SAAS/tB,GAC5B,GAAI+gE,GAAiB3hG,KAAK0hG,yBAAyB9gE,GAC/CuuB,EAAmBnvD,KAAK6hG,4BAA4BF,EAExD,OAAIxyC,GAAiBnpD,OAAS,EACrBhG,KAAKi/C,MAAMkQ,EAAiBA,EAAiBnpD,OAAS,IAGtD,MAWXpG,EAAQkiG,gBAAkB,SAASx+E,GAC7BA,YAAe/f,GACjBvD,KAAK6sD,aAAa/O,MAAMx6B,EAAIjjB,IAAMijB,EAGlCtjB,KAAK6sD,aAAa5N,MAAM37B,EAAIjjB,IAAMijB,GAUtC1jB,EAAQmiG,YAAc,SAASz+E,GACzBA,YAAe/f,GACjBvD,KAAKijD,SAASnF,MAAMx6B,EAAIjjB,IAAMijB,EAG9BtjB,KAAKijD,SAAShE,MAAM37B,EAAIjjB,IAAMijB,GAWlC1jB,EAAQ2wD,qBAAuB,SAASjtC,GAClCA,YAAe/f,SACVvD,MAAK6sD,aAAa/O,MAAMx6B,EAAIjjB,UAG5BL,MAAK6sD,aAAa5N,MAAM37B,EAAIjjB,KAUvCT,EAAQ6oD,aAAe,SAASu5C,GACTn7F,SAAjBm7F,IACFA,GAAe,EAEjB,KAAI,GAAIv6C,KAAUznD,MAAK6sD,aAAa/O,MAC/B99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,IACxCznD,KAAK6sD,aAAa/O,MAAM2J,GAAQ9hB,UAGpC,KAAI,GAAI+oB,KAAU1uD,MAAK6sD,aAAa5N,MAC/Bj/C,KAAK6sD,aAAa5N,MAAM94C,eAAeuoD,IACxC1uD,KAAK6sD,aAAa5N,MAAMyP,GAAQ/oB,UAIpC3lC,MAAK6sD,cAAgB/O,SAASmB,UAEV,GAAhB+iD,GACFhiG,KAAKmuB,KAAK,SAAUnuB,KAAKs3B,iBAU7B13B,EAAQqiG,kBAAoB,SAASD,GACdn7F,SAAjBm7F,IACFA,GAAe,EAGjB,KAAK,GAAIv6C,KAAUznD,MAAK6sD,aAAa/O,MAC/B99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,IACrCznD,KAAK6sD,aAAa/O,MAAM2J,GAAQ2W,YAAc,IAChDp+D,KAAK6sD,aAAa/O,MAAM2J,GAAQ9hB,WAChC3lC,KAAKuwD,qBAAqBvwD,KAAK6sD,aAAa/O,MAAM2J,IAKpC,IAAhBu6C,GACFhiG,KAAKmuB,KAAK,SAAUnuB,KAAKs3B,iBAW7B13B,EAAQsiG,sBAAwB,WAC9B,GAAI5qF,GAAQ,CACZ,KAAK,GAAImwC,KAAUznD,MAAK6sD,aAAa/O,MAC/B99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,KACzCnwC,GAAS,EAGb,OAAOA,IAST1X,EAAQuiG,iBAAmB,WACzB,IAAK,GAAI16C,KAAUznD,MAAK6sD,aAAa/O,MACnC,GAAI99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,GACzC,MAAOznD,MAAK6sD,aAAa/O,MAAM2J,EAGnC,OAAO,OAST7nD,EAAQwiG,iBAAmB,WACzB,IAAK,GAAI1zC,KAAU1uD,MAAK6sD,aAAa5N,MACnC,GAAIj/C,KAAK6sD,aAAa5N,MAAM94C,eAAeuoD,GACzC,MAAO1uD,MAAK6sD,aAAa5N,MAAMyP,EAGnC,OAAO,OAUT9uD,EAAQyiG,sBAAwB,WAC9B,GAAI/qF,GAAQ,CACZ,KAAK,GAAIo3C,KAAU1uD,MAAK6sD,aAAa5N,MAC/Bj/C,KAAK6sD,aAAa5N,MAAM94C,eAAeuoD,KACzCp3C,GAAS,EAGb,OAAOA,IAUT1X,EAAQ0iG,wBAA0B,WAChC,GAAIhrF,GAAQ,CACZ,KAAI,GAAImwC,KAAUznD,MAAK6sD,aAAa/O,MAC/B99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,KACxCnwC,GAAS,EAGb,KAAI,GAAIo3C,KAAU1uD,MAAK6sD,aAAa5N,MAC/Bj/C,KAAK6sD,aAAa5N,MAAM94C,eAAeuoD,KACxCp3C,GAAS,EAGb,OAAOA,IAST1X,EAAQ2iG,kBAAoB,WAC1B,IAAI,GAAI96C,KAAUznD,MAAK6sD,aAAa/O,MAClC,GAAG99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,GACxC,OAAO,CAGX,KAAI,GAAIiH,KAAU1uD,MAAK6sD,aAAa5N,MAClC,GAAGj/C,KAAK6sD,aAAa5N,MAAM94C,eAAeuoD,GACxC,OAAO,CAGX,QAAO,GAUT9uD,EAAQ4iG,oBAAsB,WAC5B,IAAI,GAAI/6C,KAAUznD,MAAK6sD,aAAa/O,MAClC,GAAG99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,IACpCznD,KAAK6sD,aAAa/O,MAAM2J,GAAQ2W,YAAc,EAChD,OAAO,CAIb,QAAO,GASTx+D,EAAQ6iG,sBAAwB,SAASt7C,GACvC,IAAK,GAAIthD,GAAI,EAAGA,EAAIshD,EAAK4J,aAAa/qD,OAAQH,IAAK,CACjD,GAAIupD,GAAOjI,EAAK4J,aAAalrD,EAC7BupD,GAAK1pB,SACL1lC,KAAK8hG,gBAAgB1yC,KAUzBxvD,EAAQ8iG,qBAAuB,SAASv7C,GACtC,IAAK,GAAIthD,GAAI,EAAGA,EAAIshD,EAAK4J,aAAa/qD,OAAQH,IAAK,CACjD,GAAIupD,GAAOjI,EAAK4J,aAAalrD,EAC7BupD,GAAKviD,OAAQ,EACb7M,KAAK+hG,YAAY3yC,KAWrBxvD,EAAQ+iG,wBAA0B,SAASx7C,GACzC,IAAK,GAAIthD,GAAI,EAAGA,EAAIshD,EAAK4J,aAAa/qD,OAAQH,IAAK,CACjD,GAAIupD,GAAOjI,EAAK4J,aAAalrD,EAC7BupD,GAAKzpB,WACL3lC,KAAKuwD,qBAAqBnB,KAgB9BxvD,EAAQ8sD,cAAgB,SAAS1oD,EAAQ4+F,EAAQZ,EAAca,EAAgBC,GACxDj8F,SAAjBm7F,IACFA,GAAe,GAEMn7F,SAAnBg8F,IACFA,GAAiB,GAGa,GAA5B7iG,KAAKuiG,qBAA0C,GAAVK,GAAgD,GAA7B5iG,KAAK8sE,sBAC/D9sE,KAAKyoD,cAAa,GAIG,GAAnBzkD,EAAOshC,UAAmD,GAA7BtlC,KAAK+iD,UAAU5Q,aAAsB2wD,EAQ1C,GAAnB9+F,EAAOshC,UACdtlC,KAAK8hG,gBAAgB99F,GACrBg+F,GAAe,IAGfh+F,EAAO2hC,WACP3lC,KAAKuwD,qBAAqBvsD,KAb1BA,EAAO0hC,SACP1lC,KAAK8hG,gBAAgB99F,GACjBA,YAAkBT,IAA6C,GAArCvD,KAAK6sE,8BAA2D,GAAlBg2B,GAC1E7iG,KAAKyiG,sBAAsBz+F,IAaX,GAAhBg+F,GACFhiG,KAAKmuB,KAAK,SAAUnuB,KAAKs3B,iBAY7B13B,EAAQivD,YAAc,SAAS7qD,GACT,GAAhBA,EAAO6I,QACT7I,EAAO6I,OAAQ,EACf7M,KAAKmuB,KAAK,YAAYg5B,KAAKnjD,EAAO3D,OAWtCT,EAAQgvD,aAAe,SAAS5qD,GACV,GAAhBA,EAAO6I,QACT7I,EAAO6I,OAAQ,EACf7M,KAAK+hG,YAAY/9F,GACbA,YAAkBT,IACpBvD,KAAKmuB,KAAK,aAAag5B,KAAKnjD,EAAO3D,MAGnC2D,YAAkBT,IACpBvD,KAAK0iG,qBAAqB1+F,IAa9BpE,EAAQysD,aAAe,aAUvBzsD,EAAQ2tD,WAAa,SAAS3sB,GAC5B,GAAIumB,GAAOnnD,KAAKusD,WAAW3rB,EAC3B,IAAY,MAARumB,EACFnnD,KAAK0sD,cAAcvF,GAAM,OAEtB,CACH,GAAIiI,GAAOpvD,KAAK2uD,WAAW/tB,EACf,OAARwuB,EACFpvD,KAAK0sD,cAAc0C,GAAM,GAGzBpvD,KAAKyoD,eAGT,GAAI4H,GAAarwD,KAAKs3B,cACtB+4B,GAAoB,SAClB0yC,KAAM1wF,EAAGuuB,EAAQvuB,EAAGC,EAAGsuB,EAAQtuB,GAC/BwN,QAASzN,EAAGrS,KAAKktD,qBAAqBtsB,EAAQvuB,GAAIC,EAAGtS,KAAKotD,qBAAqBxsB,EAAQtuB,KAEzFtS,KAAKmuB,KAAK,QAASkiC,GACnBrwD,KAAKy2B,WAUP72B,EAAQ4tD,iBAAmB,SAAS5sB,GAClC,GAAIumB,GAAOnnD,KAAKusD,WAAW3rB,EACf,OAARumB,GAAyBtgD,SAATsgD,IAElBnnD,KAAKulD,YAAelzC,EAAMrS,KAAKktD,qBAAqBtsB,EAAQvuB,GACxCC,EAAMtS,KAAKotD,qBAAqBxsB,EAAQtuB,IAC5DtS,KAAKw7F,YAAYr0C,GAEnB,IAAIkJ,GAAarwD,KAAKs3B,cACtB+4B,GAAoB,SAClB0yC,KAAM1wF,EAAGuuB,EAAQvuB,EAAGC,EAAGsuB,EAAQtuB,GAC/BwN,QAASzN,EAAGrS,KAAKktD,qBAAqBtsB,EAAQvuB,GAAIC,EAAGtS,KAAKotD,qBAAqBxsB,EAAQtuB,KAEzFtS,KAAKmuB,KAAK,cAAekiC,IAU3BzwD,EAAQ6tD,cAAgB,SAAS7sB,GAC/B,GAAIumB,GAAOnnD,KAAKusD,WAAW3rB,EAC3B,IAAY,MAARumB,EACFnnD,KAAK0sD,cAAcvF,GAAK,OAErB,CACH,GAAIiI,GAAOpvD,KAAK2uD,WAAW/tB,EACf,OAARwuB,GACFpvD,KAAK0sD,cAAc0C,GAAK,GAG5BpvD,KAAKy2B,WAUP72B,EAAQ8tD,iBAAmB,SAAS9sB,GAClC5gC,KAAKgjG,6BAA6BpiE,GAClC5gC,KAAKijG,2BAA2BriE,IAGlChhC,EAAQojG,6BAA+B,aACvCpjG,EAAQqjG,2BAA6B,aAOrCrjG,EAAQ03B,aAAe,WACrB,GAAIq1B,GAAU3sD,KAAKkjG,mBACfC,EAAUnjG,KAAKojG,kBACnB,QAAQtlD,MAAM6O,EAAS1N,MAAMkkD,IAS/BvjG,EAAQsjG,iBAAmB,WACzB,GAAIG,KACJ,IAAiC,GAA7BrjG,KAAK+iD,UAAU5Q,WACjB,IAAK,GAAIsV,KAAUznD,MAAK6sD,aAAa/O,MAC/B99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,IACzC47C,EAAQ96F,KAAKk/C,EAInB,OAAO47C,IASTzjG,EAAQwjG,iBAAmB,WACzB,GAAIC,KACJ,IAAiC,GAA7BrjG,KAAK+iD,UAAU5Q,WACjB,IAAK,GAAIuc,KAAU1uD,MAAK6sD,aAAa5N,MAC/Bj/C,KAAK6sD,aAAa5N,MAAM94C,eAAeuoD,IACzC20C,EAAQ96F,KAAKmmD,EAInB,OAAO20C,IASTzjG,EAAQw3B,aAAe,WACrBiC,QAAQnF,IAAI,gEAUdt0B,EAAQ0jG,YAAc,SAASnwD,EAAW0vD,GACxC,GAAIh9F,GAAG87B,EAAMthC,CAEb,KAAK8yC,GAAkCtsC,QAApBssC,EAAUntC,OAC3B,KAAM,qCAKR,KAFAhG,KAAKyoD,cAAa,GAEb5iD,EAAI,EAAG87B,EAAOwR,EAAUntC,OAAY27B,EAAJ97B,EAAUA,IAAK,CAClDxF,EAAK8yC,EAAUttC,EAEf,IAAIshD,GAAOnnD,KAAK89C,MAAMz9C,EACtB,KAAK8mD,EACH,KAAM,IAAIo8C,YAAW,iBAAmBljG,EAAK,cAE/CL,MAAK0sD,cAAcvF,GAAK,GAAK,EAAK07C,GAAe,GAEnD7iG,KAAKgiB,UASPpiB,EAAQ4jG,YAAc,SAASrwD,GAC7B,GAAIttC,GAAG87B,EAAMthC,CAEb,KAAK8yC,GAAkCtsC,QAApBssC,EAAUntC,OAC3B,KAAM,qCAKR,KAFAhG,KAAKyoD,cAAa,GAEb5iD,EAAI,EAAG87B,EAAOwR,EAAUntC,OAAY27B,EAAJ97B,EAAUA,IAAK,CAClDxF,EAAK8yC,EAAUttC,EAEf,IAAIupD,GAAOpvD,KAAKi/C,MAAM5+C,EACtB,KAAK+uD,EACH,KAAM,IAAIm0C,YAAW,iBAAmBljG,EAAK,cAE/CL,MAAK0sD,cAAc0C,GAAK,GAAK,GAAK,GAAM,GAE1CpvD,KAAKgiB,UAOPpiB,EAAQiwD,iBAAmB,WACzB,IAAI,GAAIpI,KAAUznD,MAAK6sD,aAAa/O,MAC/B99C,KAAK6sD,aAAa/O,MAAM33C,eAAeshD,KACnCznD,KAAK89C,MAAM33C,eAAeshD,UACtBznD,MAAK6sD,aAAa/O,MAAM2J,GAIrC,KAAI,GAAIiH,KAAU1uD,MAAK6sD,aAAa5N,MAC/Bj/C,KAAK6sD,aAAa5N,MAAM94C,eAAeuoD,KACnC1uD,KAAKi/C,MAAM94C,eAAeuoD,UACtB1uD,MAAK6sD,aAAa5N,MAAMyP,MASnC,SAAS7uD,EAAQD,EAASM,GAE9B,GAAIS,GAAOT,EAAoB,GAC3BqD,EAAOrD,EAAoB,IAC3BkD,EAAOlD,EAAoB,GAO/BN,GAAQ6jG,qBAAuB,WAC7BzjG,KAAKgsD,oBAAoBhsD,KAAK+sE,iBAC9B/sE,KAAK0jG,mBAEL1jG,KAAKgjG,6BAA+B,mBAC7BhjG,MAAK8wD,QAAiB,QAAS,MAAc,iBAC7C9wD,MAAK8wD,QAAiB,QAAS,MAAiB,cACvD9wD,KAAKkjD,oBAAqB,EAC1BljD,KAAK4kD,yBAA0B,GAUjChlD,EAAQ+jG,4BAA8B,WACpC,IAAK,GAAIC,KAAgB5jG,MAAK6kD,gBACxB7kD,KAAK6kD,gBAAgB1+C,eAAey9F,KACtC5jG,KAAK4jG,GAAgB5jG,KAAK6kD,gBAAgB++C,SACnC5jG,MAAK6kD,gBAAgB++C,KAUlChkG,EAAQikG,gBAAkB,WACxB7jG,KAAKypD,UAAYzpD,KAAKypD,QACtB,IAAIq6C,GAAU9jG,KAAK+sE,gBACfE,EAAWjtE,KAAKitE,SAChBD,EAAchtE,KAAKgtE,WACF,IAAjBhtE,KAAKypD,UACPq6C,EAAQv2F,MAAMk+B,QAAQ,QACtBwhC,EAAS1/D,MAAMk+B,QAAQ,QACvBuhC,EAAYz/D,MAAMk+B,QAAQ,OAC1BwhC,EAAS16C,QAAUvyB,KAAK6jG,gBAAgBxuE,KAAKr1B,QAG7C8jG,EAAQv2F,MAAMk+B,QAAQ,OACtBwhC,EAAS1/D,MAAMk+B,QAAQ,OACvBuhC,EAAYz/D,MAAMk+B,QAAQ,QAC1BwhC,EAAS16C,QAAU,MAErBvyB,KAAK0oD,yBAQP9oD,EAAQ8oD,sBAAwB,WAE1B1oD,KAAK+jG,eACP/jG,KAAKgU,IAAI,SAAUhU,KAAK+jG,cAG1B,IAAI7+D,GAASllC,KAAK+iD,UAAUja,QAAQ9oC,KAAK+iD,UAAU7d,OAqBnD,IAnB6Br+B,SAAzB7G,KAAKgkG,kBACPhkG,KAAKgkG,gBAAgBtoC,uBACrB17D,KAAKgkG,gBAAkBn9F,OACvB7G,KAAKikG,oBAAsB,KAC3BjkG,KAAKkjD,oBAAqB,EAC1BljD,KAAKy2B,WAIPz2B,KAAK2jG,8BAGL3jG,KAAK4kD,yBAA0B,EAG/B5kD,KAAK6sE,8BAA+B,EACpC7sE,KAAK8sE,sBAAuB,EAC5B9sE,KAAK0jG,mBAEgB,GAAjB1jG,KAAKypD,SAAkB,CACzB,KAAOzpD,KAAK+sE,gBAAgB9oD,iBAC1BjkB,KAAK+sE,gBAAgBt7D,YAAYzR,KAAK+sE,gBAAgB7oD,WAGxDlkB,MAAK0jG,gBAA6B,YAAI7xF,SAASM,cAAc,QAC7DnS,KAAK0jG,gBAA6B,YAAEt7F,UAAY,6BAChDpI,KAAK0jG,gBAAkC,iBAAI7xF,SAASM,cAAc,QAClEnS,KAAK0jG,gBAAkC,iBAAEt7F,UAAY,4BACrDpI,KAAK0jG,gBAAkC,iBAAEl/E,UAAY0gB,EAAgB,QACrEllC,KAAK0jG,gBAA6B,YAAE3xF,YAAY/R,KAAK0jG,gBAAkC,kBAEvF1jG,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,OACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,wBAEtDpI,KAAK0jG,gBAA6B,YAAI7xF,SAASM,cAAc,QAC7DnS,KAAK0jG,gBAA6B,YAAEt7F,UAAY,iCAChDpI,KAAK0jG,gBAAkC,iBAAI7xF,SAASM,cAAc,QAClEnS,KAAK0jG,gBAAkC,iBAAEt7F,UAAY,4BACrDpI,KAAK0jG,gBAAkC,iBAAEl/E,UAAY0gB,EAAgB,QACrEllC,KAAK0jG,gBAA6B,YAAE3xF,YAAY/R,KAAK0jG,gBAAkC,kBAEvF1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAA6B,aACnE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAmC,mBACzE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAA6B,aAE/B,GAAhC1jG,KAAKkiG,yBAAgCliG,KAAKw9C,iBAAiBC,MAC7Dz9C,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,OACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,wBAEtDpI,KAAK0jG,gBAA8B,aAAI7xF,SAASM,cAAc,QAC9DnS,KAAK0jG,gBAA8B,aAAEt7F,UAAY,8BACjDpI,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,QACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,4BACtDpI,KAAK0jG,gBAAmC,kBAAEl/E,UAAY0gB,EAAiB,SACvEllC,KAAK0jG,gBAA8B,aAAE3xF,YAAY/R,KAAK0jG,gBAAmC,mBAEzF1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAmC,mBACzE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAA8B,eAE7B,GAAhC1jG,KAAKqiG,yBAAgE,GAAhCriG,KAAKkiG,0BACjDliG,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,OACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,wBAEtDpI,KAAK0jG,gBAA8B,aAAI7xF,SAASM,cAAc,QAC9DnS,KAAK0jG,gBAA8B,aAAEt7F,UAAY,8BACjDpI,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,QACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,4BACtDpI,KAAK0jG,gBAAmC,kBAAEl/E,UAAY0gB,EAAiB,SACvEllC,KAAK0jG,gBAA8B,aAAE3xF,YAAY/R,KAAK0jG,gBAAmC,mBAEzF1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAmC,mBACzE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAA8B,eAEtC,GAA5B1jG,KAAKuiG,sBACPviG,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,OACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,wBAEtDpI,KAAK0jG,gBAA4B,WAAI7xF,SAASM,cAAc,QAC5DnS,KAAK0jG,gBAA4B,WAAEt7F,UAAY,gCAC/CpI,KAAK0jG,gBAAiC,gBAAI7xF,SAASM,cAAc,QACjEnS,KAAK0jG,gBAAiC,gBAAEt7F,UAAY,4BACpDpI,KAAK0jG,gBAAiC,gBAAEl/E,UAAY0gB,EAAY,IAChEllC,KAAK0jG,gBAA4B,WAAE3xF,YAAY/R,KAAK0jG,gBAAiC,iBAErF1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAmC,mBACzE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAA4B,aAKpE1jG,KAAK0jG,gBAA6B,YAAEnxE,QAAUvyB,KAAKkkG,sBAAsB7uE,KAAKr1B,MAC9EA,KAAK0jG,gBAA6B,YAAEnxE,QAAUvyB,KAAKmkG,sBAAsB9uE,KAAKr1B,MAC1C,GAAhCA,KAAKkiG,yBAAgCliG,KAAKw9C,iBAAiBC,KAC7Dz9C,KAAK0jG,gBAA8B,aAAEnxE,QAAUvyB,KAAKokG,UAAU/uE,KAAKr1B,MAE5B,GAAhCA,KAAKqiG,yBAAgE,GAAhCriG,KAAKkiG,0BACjDliG,KAAK0jG,gBAA8B,aAAEnxE,QAAUvyB,KAAKqkG,uBAAuBhvE,KAAKr1B,OAElD,GAA5BA,KAAKuiG,sBACPviG,KAAK0jG,gBAA4B,WAAEnxE,QAAUvyB,KAAK8rD,gBAAgBz2B,KAAKr1B,OAEzEA,KAAKitE,SAAS16C,QAAUvyB,KAAK6jG,gBAAgBxuE,KAAKr1B,KAElD,IAAIyU,GAAKzU,IACTA,MAAK+jG,cAAgBtvF,EAAGi0C,sBACxB1oD,KAAK6T,GAAG,SAAU7T,KAAK+jG,mBAEpB,CACH,KAAO/jG,KAAKgtE,YAAY/oD,iBACtBjkB,KAAKgtE,YAAYv7D,YAAYzR,KAAKgtE,YAAY9oD,WAGhDlkB,MAAK0jG,gBAA8B,aAAI7xF,SAASM,cAAc,QAC9DnS,KAAK0jG,gBAA8B,aAAEt7F,UAAY,uCACjDpI,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,QACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,4BACtDpI,KAAK0jG,gBAAmC,kBAAEl/E,UAAY0gB,EAAa,KACnEllC,KAAK0jG,gBAA8B,aAAE3xF,YAAY/R,KAAK0jG,gBAAmC,mBAEzF1jG,KAAKgtE,YAAYj7D,YAAY/R,KAAK0jG,gBAA8B,cAEhE1jG,KAAK0jG,gBAA8B,aAAEnxE,QAAUvyB,KAAK6jG,gBAAgBxuE,KAAKr1B,QAW7EJ,EAAQskG,sBAAwB,WAE9BlkG,KAAKyjG,uBACDzjG,KAAK+jG,eACP/jG,KAAKgU,IAAI,SAAUhU,KAAK+jG,cAG1B,IAAI7+D,GAASllC,KAAK+iD,UAAUja,QAAQ9oC,KAAK+iD,UAAU7d,OAEnDllC,MAAK0jG,mBACL1jG,KAAK0jG,gBAA0B,SAAI7xF,SAASM,cAAc,QAC1DnS,KAAK0jG,gBAA0B,SAAEt7F,UAAY,8BAC7CpI,KAAK0jG,gBAA+B,cAAI7xF,SAASM,cAAc,QAC/DnS,KAAK0jG,gBAA+B,cAAEt7F,UAAY,4BAClDpI,KAAK0jG,gBAA+B,cAAEl/E,UAAY0gB,EAAa,KAC/DllC,KAAK0jG,gBAA0B,SAAE3xF,YAAY/R,KAAK0jG,gBAA+B,eAEjF1jG,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,OACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,wBAEtDpI,KAAK0jG,gBAAiC,gBAAI7xF,SAASM,cAAc,QACjEnS,KAAK0jG,gBAAiC,gBAAEt7F,UAAY,8BACpDpI,KAAK0jG,gBAAsC,qBAAI7xF,SAASM,cAAc,QACtEnS,KAAK0jG,gBAAsC,qBAAEt7F,UAAY,4BACzDpI,KAAK0jG,gBAAsC,qBAAEl/E,UAAY0gB,EAAuB,eAChFllC,KAAK0jG,gBAAiC,gBAAE3xF,YAAY/R,KAAK0jG,gBAAsC,sBAE/F1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAA0B,UAChE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAmC,mBACzE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAiC,iBAGvE1jG,KAAK0jG,gBAA0B,SAAEnxE,QAAUvyB,KAAK0oD,sBAAsBrzB,KAAKr1B,KAG3E,IAAIyU,GAAKzU,IACTA,MAAK+jG,cAAgBtvF,EAAG6vF,SACxBtkG,KAAK6T,GAAG,SAAU7T,KAAK+jG,gBASzBnkG,EAAQukG,sBAAwB,WAE9BnkG,KAAKyjG,uBACLzjG,KAAKyoD,cAAa,GAClBzoD,KAAK4kD,yBAA0B,EAE3B5kD,KAAK+jG,eACP/jG,KAAKgU,IAAI,SAAUhU,KAAK+jG,cAG1B,IAAI7+D,GAASllC,KAAK+iD,UAAUja,QAAQ9oC,KAAK+iD,UAAU7d,OAEnDllC,MAAKyoD,eACLzoD,KAAK8sE,sBAAuB,EAC5B9sE,KAAK6sE,8BAA+B,EAEpC7sE,KAAK0jG,mBACL1jG,KAAK0jG,gBAA0B,SAAI7xF,SAASM,cAAc,QAC1DnS,KAAK0jG,gBAA0B,SAAEt7F,UAAY,8BAC7CpI,KAAK0jG,gBAA+B,cAAI7xF,SAASM,cAAc,QAC/DnS,KAAK0jG,gBAA+B,cAAEt7F,UAAY,4BAClDpI,KAAK0jG,gBAA+B,cAAEl/E,UAAY0gB,EAAa,KAC/DllC,KAAK0jG,gBAA0B,SAAE3xF,YAAY/R,KAAK0jG,gBAA+B,eAEjF1jG,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,OACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,wBAEtDpI,KAAK0jG,gBAAiC,gBAAI7xF,SAASM,cAAc,QACjEnS,KAAK0jG,gBAAiC,gBAAEt7F,UAAY,8BACpDpI,KAAK0jG,gBAAsC,qBAAI7xF,SAASM,cAAc,QACtEnS,KAAK0jG,gBAAsC,qBAAEt7F,UAAY,4BACzDpI,KAAK0jG,gBAAsC,qBAAEl/E,UAAY0gB,EAAwB,gBACjFllC,KAAK0jG,gBAAiC,gBAAE3xF,YAAY/R,KAAK0jG,gBAAsC,sBAE/F1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAA0B,UAChE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAmC,mBACzE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAiC,iBAGvE1jG,KAAK0jG,gBAA0B,SAAEnxE,QAAUvyB,KAAK0oD,sBAAsBrzB,KAAKr1B,KAG3E,IAAIyU,GAAKzU,IACTA,MAAK+jG,cAAgBtvF,EAAG8vF,eACxBvkG,KAAK6T,GAAG,SAAU7T,KAAK+jG,eAGvB/jG,KAAK6kD,gBAA8B,aAAI7kD,KAAKqsD,aAC5CrsD,KAAK6kD,gBAA8C,6BAAI7kD,KAAKgjG,6BAC5DhjG,KAAK6kD,gBAAkC,iBAAI7kD,KAAKssD,iBAChDtsD,KAAK6kD,gBAAgC,eAAI7kD,KAAKstD,eAC9CttD,KAAK6kD,gBAA+B,cAAI7kD,KAAKytD,cAC7CztD,KAAKqsD,aAAersD,KAAKukG,eACzBvkG,KAAKgjG,6BAA+B,aACpChjG,KAAKytD,cAAmB,aACxBztD,KAAKssD,iBAAmB,aACxBtsD,KAAKstD,eAAmBttD,KAAKwkG,eAG7BxkG,KAAKy2B,WAQP72B,EAAQykG,uBAAyB,WAE/BrkG,KAAKyjG,uBACLzjG,KAAKkjD,oBAAqB,EAEtBljD,KAAK+jG,eACP/jG,KAAKgU,IAAI,SAAUhU,KAAK+jG,eAG1B/jG,KAAKgkG,gBAAkBhkG,KAAKoiG,mBAC5BpiG,KAAKgkG,gBAAgBvoC,qBAErB,IAAIv2B,GAASllC,KAAK+iD,UAAUja,QAAQ9oC,KAAK+iD,UAAU7d,OAEnDllC,MAAK0jG,mBACL1jG,KAAK0jG,gBAA0B,SAAI7xF,SAASM,cAAc,QAC1DnS,KAAK0jG,gBAA0B,SAAEt7F,UAAY,8BAC7CpI,KAAK0jG,gBAA+B,cAAI7xF,SAASM,cAAc,QAC/DnS,KAAK0jG,gBAA+B,cAAEt7F,UAAY,4BAClDpI,KAAK0jG,gBAA+B,cAAEl/E,UAAY0gB,EAAa,KAC/DllC,KAAK0jG,gBAA0B,SAAE3xF,YAAY/R,KAAK0jG,gBAA+B,eAEjF1jG,KAAK0jG,gBAAmC,kBAAI7xF,SAASM,cAAc,OACnEnS,KAAK0jG,gBAAmC,kBAAEt7F,UAAY,wBAEtDpI,KAAK0jG,gBAAiC,gBAAI7xF,SAASM,cAAc,QACjEnS,KAAK0jG,gBAAiC,gBAAEt7F,UAAY,8BACpDpI,KAAK0jG,gBAAsC,qBAAI7xF,SAASM,cAAc,QACtEnS,KAAK0jG,gBAAsC,qBAAEt7F,UAAY,4BACzDpI,KAAK0jG,gBAAsC,qBAAEl/E,UAAY0gB,EAA4B,oBACrFllC,KAAK0jG,gBAAiC,gBAAE3xF,YAAY/R,KAAK0jG,gBAAsC,sBAE/F1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAA0B,UAChE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAmC,mBACzE1jG,KAAK+sE,gBAAgBh7D,YAAY/R,KAAK0jG,gBAAiC,iBAGvE1jG,KAAK0jG,gBAA0B,SAAEnxE,QAAUvyB,KAAK0oD,sBAAsBrzB,KAAKr1B,MAG3EA,KAAK6kD,gBAA8B,aAAS7kD,KAAKqsD,aACjDrsD,KAAK6kD,gBAA8C,6BAAK7kD,KAAKgjG,6BAC7DhjG,KAAK6kD,gBAA4B,WAAW7kD,KAAKutD,WACjDvtD,KAAK6kD,gBAAkC,iBAAK7kD,KAAKssD,iBACjDtsD,KAAK6kD,gBAA+B,cAAQ7kD,KAAKgtD,cACjDhtD,KAAKqsD,aAAmBrsD,KAAKykG,mBAC7BzkG,KAAKutD,WAAmB,aACxBvtD,KAAKgtD,cAAmBhtD,KAAK0kG,iBAC7B1kG,KAAKssD,iBAAmB,aACxBtsD,KAAKgjG,6BAA+BhjG,KAAK2kG,oBAGzC3kG,KAAKy2B,WAUP72B,EAAQ6kG,mBAAqB,SAAS7jE,GACpC5gC,KAAKgkG,gBAAgBxtC,aAAa7sC,KAAKgc,WACvC3lC,KAAKgkG,gBAAgBxtC,aAAa5sC,GAAG+b,WACrC3lC,KAAKikG,oBAAsBjkG,KAAKgkG,gBAAgBroC,wBAAwB37D,KAAKktD,qBAAqBtsB,EAAQvuB,GAAGrS,KAAKotD,qBAAqBxsB,EAAQtuB,IAC9G,OAA7BtS,KAAKikG,sBACPjkG,KAAKikG,oBAAoBv+D,SACzB1lC,KAAK4kD,yBAA0B,GAEjC5kD,KAAKy2B,WAUP72B,EAAQ8kG,iBAAmB,SAAS76F,GAClC,GAAI+2B,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,OACZ,QAA7BzsB,KAAKikG,qBAA6Dp9F,SAA7B7G,KAAKikG,sBAC5CjkG,KAAKikG,oBAAoB5xF,EAAIrS,KAAKktD,qBAAqBtsB,EAAQvuB,GAC/DrS,KAAKikG,oBAAoB3xF,EAAItS,KAAKotD,qBAAqBxsB,EAAQtuB,IAEjEtS,KAAKy2B,WASP72B,EAAQ+kG,oBAAsB,SAAS/jE,GACrC,GAAIgkE,GAAU5kG,KAAKusD,WAAW3rB,EACd,QAAZgkE,GACqD,GAAnD5kG,KAAKgkG,gBAAgBxtC,aAAa7sC,KAAK2b,WACzCtlC,KAAKgkG,gBAAgBloC,uBACrB97D,KAAK6kG,UAAUD,EAAQvkG,GAAIL,KAAKgkG,gBAAgBp6E,GAAGvpB,IACnDL,KAAKgkG,gBAAgBxtC,aAAa7sC,KAAKgc,YAEY,GAAjD3lC,KAAKgkG,gBAAgBxtC,aAAa5sC,GAAG0b,WACvCtlC,KAAKgkG,gBAAgBloC,uBACrB97D,KAAK6kG,UAAU7kG,KAAKgkG,gBAAgBr6E,KAAKtpB,GAAIukG,EAAQvkG,IACrDL,KAAKgkG,gBAAgBxtC,aAAa5sC,GAAG+b,aAIvC3lC,KAAKgkG,gBAAgBloC,uBAEvB97D,KAAK4kD,yBAA0B,EAC/B5kD,KAAKy2B,WASP72B,EAAQ2kG,eAAiB,SAAS3jE,GAChC,GAAoC,GAAhC5gC,KAAKkiG,wBAA8B,CACrC,GAAI/6C,GAAOnnD,KAAKusD,WAAW3rB,EAE3B,IAAY,MAARumB,EACF,GAAIA,EAAKiX,YAAc,EACrB0mC,MAAM9kG,KAAK+iD,UAAUja,QAAQ9oC,KAAK+iD,UAAU7d,QAAyB,qBAElE,CACHllC,KAAK0sD,cAAcvF,GAAK,EACxB,IAAIwyC,GAAe35F,KAAK8wD,QAAiB,QAAS,KAGlD6oC,GAAyB,WAAI,GAAIp2F,IAAMlD,GAAG,oBAAoBL,KAAK+iD,UACnE,IAAIgiD,GAAapL,EAAyB,UAC1CoL,GAAW1yF,EAAI80C,EAAK90C,EACpB0yF,EAAWzyF,EAAI60C,EAAK70C,EAGpBtS,KAAKi/C,MAAsB,eAAI,GAAI77C,IAAM/C,GAAG,iBAAiBspB,KAAKw9B,EAAK9mD,GAAGupB,GAAGm7E,EAAW1kG,IAAKL,KAAMA,KAAK+iD,UACxG,IAAIiiD,GAAiBhlG,KAAKi/C,MAAsB,cAChD+lD,GAAer7E,KAAOw9B,EACtB69C,EAAe31C,WAAY,EAC3B21C,EAAej2F,QAAQozC,cAAgBnzC,SAAS,EAC5CozC,SAAS,EACTj7C,KAAM,aACNk7C,UAAW,IAEf2iD,EAAe1/D,UAAW,EAC1B0/D,EAAep7E,GAAKm7E,EAEpB/kG,KAAK6kD,gBAA+B,cAAI7kD,KAAKgtD,cAC7ChtD,KAAKgtD,cAAgB,SAASnjD,GAC5B,GAAI+2B,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,QACzCu4E,EAAiBhlG,KAAKi/C,MAAsB,cAChD+lD;EAAep7E,GAAGvX,EAAIrS,KAAKktD,qBAAqBtsB,EAAQvuB,GACxD2yF,EAAep7E,GAAGtX,EAAItS,KAAKotD,qBAAqBxsB,EAAQtuB,IAG1DtS,KAAKmmD,QAAS,EACdnmD,KAAKkQ,WAMbtQ,EAAQ4kG,eAAiB,SAAS36F,GAChC,GAAoC,GAAhC7J,KAAKkiG,wBAA8B,CACrC,GAAIthE,GAAU5gC,KAAKksD,YAAYriD,EAAMw2B,QAAQ5T,OAE7CzsB,MAAKgtD,cAAgBhtD,KAAK6kD,gBAA+B,oBAClD7kD,MAAK6kD,gBAA+B,aAG3C,IAAIogD,GAAgBjlG,KAAKi/C,MAAsB,eAAE0W,aAG1C31D,MAAKi/C,MAAsB,qBAC3Bj/C,MAAK8wD,QAAiB,QAAS,MAAc,iBAC7C9wD,MAAK8wD,QAAiB,QAAS,MAAiB,aAEvD,IAAI3J,GAAOnnD,KAAKusD,WAAW3rB,EACf,OAARumB,IACEA,EAAKiX,YAAc,EACrB0mC,MAAM9kG,KAAK+iD,UAAUja,QAAQ9oC,KAAK+iD,UAAU7d,QAAyB,kBAGrEllC,KAAKklG,YAAYD,EAAc99C,EAAK9mD,IACpCL,KAAK0oD,0BAGT1oD,KAAKyoD,iBAQT7oD,EAAQ0kG,SAAW,WACjB,GAAItkG,KAAKuiG,qBAAwC,GAAjBviG,KAAKypD,SAAkB,CACrD,GAAIk4C,GAAiB3hG,KAAK0hG,yBAAyB1hG,KAAKslD,iBACpD6/C,GAAe9kG,GAAGM,EAAK2E,aAAa+M,EAAEsvF,EAAe95F,KAAKyK,EAAEqvF,EAAe15F,IAAI+gB,MAAM,MAAMsrC,gBAAe,EAAKC,gBAAe,EAClI,IAAIv0D,KAAKw9C,iBAAiBjqC,IAAK,CAC7B,GAAwC,GAApCvT,KAAKw9C,iBAAiBjqC,IAAIvN,OAU5B,KAAM,IAAIpC,OAAM,sEAThB,IAAI6Q,GAAKzU,IACTA,MAAKw9C,iBAAiBjqC,IAAI4xF,EAAa,SAASC,GAC9C3wF,EAAGgxC,UAAUlyC,IAAI6xF,GACjB3wF,EAAGi0C,wBACHj0C,EAAG0xC,QAAS,EACZ1xC,EAAGvE,cAWPlQ,MAAKylD,UAAUlyC,IAAI4xF,GACnBnlG,KAAK0oD,wBACL1oD,KAAKmmD,QAAS,EACdnmD,KAAKkQ,UAWXtQ,EAAQslG,YAAc,SAASG,EAAaC,GAC1C,GAAqB,GAAjBtlG,KAAKypD,SAAkB,CACzB,GAAI07C,IAAex7E,KAAK07E,EAAcz7E,GAAG07E,EACzC,IAAItlG,KAAKw9C,iBAAiBG,QAAS,CACjC,GAA4C,GAAxC39C,KAAKw9C,iBAAiBG,QAAQ33C,OAShC,KAAM,IAAIpC,OAAM,0EARhB,IAAI6Q,GAAKzU,IACTA,MAAKw9C,iBAAiBG,QAAQwnD,EAAa,SAASC,GAClD3wF,EAAGixC,UAAUnyC,IAAI6xF,GACjB3wF,EAAG0xC,QAAS,EACZ1xC,EAAGvE,cAUPlQ,MAAK0lD,UAAUnyC,IAAI4xF,GACnBnlG,KAAKmmD,QAAS,EACdnmD,KAAKkQ,UAUXtQ,EAAQilG,UAAY,SAASQ,EAAaC,GACxC,GAAqB,GAAjBtlG,KAAKypD,SAAkB,CACzB,GAAI07C,IAAe9kG,GAAIL,KAAKgkG,gBAAgB3jG,GAAIspB,KAAK07E,EAAcz7E,GAAG07E,EACtE,IAAItlG,KAAKw9C,iBAAiBE,SAAU,CAClC,GAA6C,GAAzC19C,KAAKw9C,iBAAiBE,SAAS13C,OASjC,KAAM,IAAIpC,OAAM,wEARhB,IAAI6Q,GAAKzU,IACTA,MAAKw9C,iBAAiBE,SAASynD,EAAa,SAASC,GACnD3wF,EAAGixC,UAAUvwC,OAAOiwF,GACpB3wF,EAAG0xC,QAAS,EACZ1xC,EAAGvE,cAUPlQ,MAAK0lD,UAAUvwC,OAAOgwF,GACtBnlG,KAAKmmD,QAAS,EACdnmD,KAAKkQ,UAUXtQ,EAAQwkG,UAAY,WAClB,IAAIpkG,KAAKw9C,iBAAiBC,MAAyB,GAAjBz9C,KAAKypD,SA4BrC,KAAM,IAAI7lD,OAAM,iDA3BhB,IAAIujD,GAAOnnD,KAAKmiG,mBACZnvF,GAAQ3S,GAAG8mD,EAAK9mD,GAClB2oB,MAAOm+B,EAAKn+B,MACZzW,MAAO40C,EAAKp4C,QAAQwD,MACpB2rC,MAAOiJ,EAAKp4C,QAAQmvC,MACpB9yC,OACEsB,WAAWy6C,EAAKp4C,QAAQ3D,MAAMsB,WAC9BC,OAAOw6C,EAAKp4C,QAAQ3D,MAAMuB,OAC1BC,WACEF,WAAWy6C,EAAKp4C,QAAQ3D,MAAMwB,UAAUF,WACxCC,OAAOw6C,EAAKp4C,QAAQ3D,MAAMwB,UAAUD,SAG1C,IAAyC,GAArC3M,KAAKw9C,iBAAiBC,KAAKz3C,OAU7B,KAAM,IAAIpC,OAAM,wEAThB,IAAI6Q,GAAKzU,IACTA,MAAKw9C,iBAAiBC,KAAKzqC,EAAM,SAAUoyF,GACzC3wF,EAAGgxC,UAAUtwC,OAAOiwF,GACpB3wF,EAAGi0C,wBACHj0C,EAAG0xC,QAAS,EACZ1xC,EAAGvE,WAoBXtQ,EAAQksD,gBAAkB,WACxB,IAAK9rD,KAAKuiG,qBAAwC,GAAjBviG,KAAKypD,SACpC,GAAKzpD,KAAKwiG,sBA4BRsC,MAAM9kG,KAAK+iD,UAAUja,QAAQ9oC,KAAK+iD,UAAU7d,QAA4B,wBA5BzC,CAC/B,GAAIqgE,GAAgBvlG,KAAKkjG,mBACrBsC,EAAgBxlG,KAAKojG,kBACzB,IAAIpjG,KAAKw9C,iBAAiBI,IAAK,CAC7B,GAAInpC,GAAKzU,KACLgT,GAAQ8qC,MAAOynD,EAAetmD,MAAOumD,EACzC,IAAwC,GAApCxlG,KAAKw9C,iBAAiBI,IAAI53C,OAU5B,KAAM,IAAIpC,OAAM,0EAThB5D,MAAKw9C,iBAAiBI,IAAI5qC,EAAM,SAAUoyF,GACxC3wF,EAAGixC,UAAU/uC,OAAOyuF,EAAcnmD,OAClCxqC,EAAGgxC,UAAU9uC,OAAOyuF,EAActnD,OAClCrpC,EAAGg0C,eACHh0C,EAAG0xC,QAAS,EACZ1xC,EAAGvE,cAQPlQ,MAAK0lD,UAAU/uC,OAAO6uF,GACtBxlG,KAAKylD,UAAU9uC,OAAO4uF,GACtBvlG,KAAKyoD,eACLzoD,KAAKmmD,QAAS,EACdnmD,KAAKkQ,WAYT,SAASrQ,EAAQD,EAASM,GAE9B,GACIulC,IADOvlC,EAAoB,GAClBA,EAAoB,IAEjCN,GAAQstE,iBAAmB,WAEzB,GAA8C,GAA1CltE,KAAKmjD,kBAAkBC,SAASp9C,OAAa,CAC/C,IAAK,GAAIH,GAAI,EAAGA,EAAI7F,KAAKmjD,kBAAkBC,SAASp9C,OAAQH,IAC1D7F,KAAKmjD,kBAAkBC,SAASv9C,GAAG+kD,SAErC5qD,MAAKmjD,kBAAkBC,YAGzBpjD,KAAKijG,2BAA6B,aAG9BjjG,KAAKylG,gBAAkBzlG,KAAKylG,eAAwB,SAAKzlG,KAAKylG,eAAwB,QAAEt7F,YAC1FnK,KAAKylG,eAAwB,QAAEt7F,WAAWsH,YAAYzR,KAAKylG,eAAwB,UAYvF7lG,EAAQutE,wBAA0B,WAChCntE,KAAKktE,mBAELltE,KAAKylG,iBACL,IAAIA,IAAkB,KAAK,OAAO,OAAO,QAAQ,SAAS,UAAU,eAChEC,GAAwB,UAAU,YAAY,YAAY,aAAa,UAAU,WAAW,cAEhG1lG,MAAKylG,eAAwB,QAAI5zF,SAASM,cAAc,OACxDnS,KAAK6f,MAAM9N,YAAY/R,KAAKylG,eAAwB,QAEpD,KAAK,GAAI5/F,GAAI,EAAGA,EAAI4/F,EAAez/F,OAAQH,IAAK,CAC9C7F,KAAKylG,eAAeA,EAAe5/F,IAAMgM,SAASM,cAAc,OAChEnS,KAAKylG,eAAeA,EAAe5/F,IAAIuC,UAAY,sBAAwBq9F,EAAe5/F,GAC1F7F,KAAKylG,eAAwB,QAAE1zF,YAAY/R,KAAKylG,eAAeA,EAAe5/F,IAE9E,IAAI/B,GAAS2hC,EAAOzlC,KAAKylG,eAAeA,EAAe5/F,KAAM2jC,iBAAiB,GAC9E1lC,GAAO+P,GAAG,QAAS7T,KAAK0lG,EAAqB7/F,IAAIwvB,KAAKr1B,OACtDA,KAAKmjD,kBAAkBE,KAAK96C,KAAKzE,GAGnC9D,KAAKijG,2BAA6BjjG,KAAK2lG,cAEvC3lG,KAAKmjD,kBAAkBC,SAAWpjD,KAAKmjD,kBAAkBE,MAS3DzjD,EAAQgmG,YAAc,SAAS/7F,GAC7B7J,KAAKsmD,YAAYl2C,SAAS,MAC1BvG,EAAM28B,mBAQR5mC,EAAQ+lG,cAAgB,WACtB3lG,KAAKyrD,eACLzrD,KAAKsrD,eACLtrD,KAAK4rD,aAYPhsD,EAAQyrD,QAAU,SAASxhD,GACzB7J,KAAKokD,WAAapkD,KAAK+iD,UAAUtB,SAASC,MAAMpvC,EAChDtS,KAAKkQ,QACLrG,EAAMD,kBAQRhK,EAAQ2rD,UAAY,SAAS1hD,GAC3B7J,KAAKokD,YAAcpkD,KAAK+iD,UAAUtB,SAASC,MAAMpvC,EACjDtS,KAAKkQ,QACLrG,EAAMD,kBAQRhK,EAAQ4rD,UAAY,SAAS3hD,GAC3B7J,KAAKmkD,WAAankD,KAAK+iD,UAAUtB,SAASC,MAAMrvC,EAChDrS,KAAKkQ,QACLrG,EAAMD,kBAQRhK,EAAQ8rD,WAAa,SAAS7hD,GAC5B7J,KAAKmkD,YAAcnkD,KAAK+iD,UAAUtB,SAASC,MAAMpvC,EACjDtS,KAAKkQ,QACLrG,EAAMD,kBAQRhK,EAAQ+rD,QAAU,SAAS9hD,GACzB7J,KAAKqkD,cAAgBrkD,KAAK+iD,UAAUtB,SAASC,MAAM3gB,KACnD/gC,KAAKkQ,QACLrG,EAAMD,kBAQRhK,EAAQisD,SAAW,SAAShiD,GAC1B7J,KAAKqkD,eAAiBrkD,KAAK+iD,UAAUtB,SAASC,MAAM3gB,KACpD/gC,KAAKkQ,QACLrG,EAAMD,kBAQRhK,EAAQgsD,UAAY,SAAS/hD,GAC3B7J,KAAKqkD,cAAgB,EACrBx6C,GAASA,EAAMD,kBAQjBhK,EAAQ0rD,aAAe,SAASzhD,GAC9B7J,KAAKokD,WAAa,EAClBv6C,GAASA,EAAMD,kBAQjBhK,EAAQ6rD,aAAe,SAAS5hD,GAC9B7J,KAAKmkD,WAAa,EAClBt6C,GAASA,EAAMD,mBAMb,SAAS/J,EAAQD,GAErBA,EAAQupD,aAAe,WACrB,IAAK,GAAI1B,KAAUznD,MAAK89C,MACtB,GAAI99C,KAAK89C,MAAM33C,eAAeshD,GAAS,CACrC,GAAIN,GAAOnnD,KAAK89C,MAAM2J,EACO,IAAzBN,EAAKkW,mBACPlW,EAAKpI,MAAQ,GACboI,EAAKmW,qBAAsB,KAYnC19D,EAAQymD,yBAA2B,WACjC,GAAiD,GAA7CrmD,KAAK+iD,UAAUjB,mBAAmB9yC,SAAmBhP,KAAKmlD,YAAYn/C,OAAS,EAAG,CAEpF,GACImhD,GAAMM,EADNo+C,EAAU,EAEVC,GAAe,EACfC,GAAiB,CAErB,KAAKt+C,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GACA,IAAdN,EAAKpI,MACP+mD,GAAe,EAGfC,GAAiB,EAEfF,EAAU1+C,EAAKlI,MAAMj5C,SACvB6/F,EAAU1+C,EAAKlI,MAAMj5C,QAM3B,IAAsB,GAAlB+/F,GAA0C,GAAhBD,EAC5B,KAAM,IAAIliG,OAAM,wHAQhB5D,MAAKgmG,mBAGiB,GAAlBD,IAC8C,WAA5C/lG,KAAK+iD,UAAUjB,mBAAmBG,OACpCjiD,KAAKimG,iBAAiBJ,GAGtB7lG,KAAKkmG,0BAAyB,GAKlC,IAAIC,GAAenmG,KAAKomG,kBAGxBpmG,MAAKqmG,uBAAuBF,GAG5BnmG,KAAKkQ,UAYXtQ,EAAQymG,uBAAyB,SAASF,GACxC,GAAI1+C,GAAQN,CAGZ,KAAK,GAAIpI,KAASonD,GAChB,GAAIA,EAAahgG,eAAe44C,GAE9B,IAAK0I,IAAU0+C,GAAapnD,GAAOjB,MAC7BqoD,EAAapnD,GAAOjB,MAAM33C,eAAeshD,KAC3CN,EAAOg/C,EAAapnD,GAAOjB,MAAM2J,GACkB,MAA/CznD,KAAK+iD,UAAUjB,mBAAmBlmB,WAAoE,MAA/C57B,KAAK+iD,UAAUjB,mBAAmBlmB,UACvFurB,EAAK2F,SACP3F,EAAK90C,EAAI8zF,EAAapnD,GAAOunD,OAC7Bn/C,EAAK2F,QAAS,EAEdq5C,EAAapnD,GAAOunD,QAAUH,EAAapnD,GAAOiD,aAIhDmF,EAAK4F,SACP5F,EAAK70C,EAAI6zF,EAAapnD,GAAOunD,OAC7Bn/C,EAAK4F,QAAS,EAEdo5C,EAAapnD,GAAOunD,QAAUH,EAAapnD,GAAOiD,aAGtDhiD,KAAKumG,kBAAkBp/C,EAAKlI,MAAMkI,EAAK9mD,GAAG8lG,EAAah/C,EAAKpI,OAOpE/+C,MAAKopD,cAUPxpD,EAAQwmG,iBAAmB,WACzB,GACI3+C,GAAQN,EAAMpI,EADdonD,IAKJ,KAAK1+C,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GAClBN,EAAK2F,QAAS,EACd3F,EAAK4F,QAAS,EACqC,MAA/C/sD,KAAK+iD,UAAUjB,mBAAmBlmB,WAAoE,MAA/C57B,KAAK+iD,UAAUjB,mBAAmBlmB,UAC3FurB,EAAK70C,EAAItS,KAAK+iD,UAAUjB,mBAAmBC,gBAAgBoF,EAAKpI,MAGhEoI,EAAK90C,EAAIrS,KAAK+iD,UAAUjB,mBAAmBC,gBAAgBoF,EAAKpI,MAEjCl4C,SAA7Bs/F,EAAah/C,EAAKpI,SACpBonD,EAAah/C,EAAKpI,QAAUusB,OAAQ,EAAGxtB,SAAWwoD,OAAO,EAAGtkD,YAAY,IAE1EmkD,EAAah/C,EAAKpI,OAAOusB,QAAU,EACnC66B,EAAah/C,EAAKpI,OAAOjB,MAAM2J,GAAUN,EAK7C,IAAIq/C,GAAW,CACf,KAAKznD,IAASonD,GACRA,EAAahgG,eAAe44C,IAC1BynD,EAAWL,EAAapnD,GAAOusB,SACjCk7B,EAAWL,EAAapnD,GAAOusB,OAMrC,KAAKvsB,IAASonD,GACRA,EAAahgG,eAAe44C,KAC9BonD,EAAapnD,GAAOiD,aAAewkD,EAAW,GAAKxmG,KAAK+iD,UAAUjB,mBAAmBE,YACrFmkD,EAAapnD,GAAOiD,aAAgBmkD,EAAapnD,GAAOusB,OAAS,EACjE66B,EAAapnD,GAAOunD,OAASH,EAAapnD,GAAOiD,YAAe,IAAOmkD,EAAapnD,GAAOusB,OAAS,GAAK66B,EAAapnD,GAAOiD,YAIjI,OAAOmkD,IAUTvmG,EAAQqmG,iBAAmB,SAASJ,GAClC,GAAIp+C,GAAQN,CAGZ,KAAKM,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GACdN,EAAKlI,MAAMj5C,QAAU6/F,IACvB1+C,EAAKpI,MAAQ,GAMnB,KAAK0I,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GACA,GAAdN,EAAKpI,OACP/+C,KAAKymG,UAAU,EAAEt/C,EAAKlI,MAAMkI,EAAK9mD,MAczCT,EAAQsmG,yBAA2B,WACjC,GAAIz+C,GAAQN,EAAMu/C,EACdzH,EAAW,GAGfyH,GAAY1mG,KAAK89C,MAAM99C,KAAKmlD,YAAY,IACxCuhD,EAAU3nD,MAAQkgD,EAClBj/F,KAAK2mG,kBAAkB1H,EAASyH,EAAUznD,MAAMynD,EAAUrmG,GAG1D,KAAKonD,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GAClBw3C,EAAW93C,EAAKpI,MAAQkgD,EAAW93C,EAAKpI,MAAQkgD,EAKpD,KAAKx3C,IAAUznD,MAAK89C,MACd99C,KAAK89C,MAAM33C,eAAeshD,KAC5BN,EAAOnnD,KAAK89C,MAAM2J,GAClBN,EAAKpI,OAASkgD,IAepBr/F,EAAQomG,iBAAmB,WACzBhmG,KAAK+iD,UAAUzC,WAAWtxC,SAAU,EACpChP,KAAK+iD,UAAUpD,QAAQC,UAAU5wC,SAAU,EAC3ChP,KAAK+iD,UAAUpD,QAAQU,sBAAsBrxC,SAAU,EACvDhP,KAAKwsE,2BACsC,GAAvCxsE,KAAK+iD,UAAUZ,aAAanzC,UAC9BhP,KAAK+iD,UAAUZ,aAAaC,SAAU,GAExCpiD,KAAKiqD,wBAEL,IAAIo0B,GAASr+E,KAAK+iD,UAAUjB,kBAC5Bu8B,GAAOt8B,gBAAkBv9C,KAAK4mB,IAAIizD,EAAOt8B,kBACjB,MAApBs8B,EAAOziD,WAAyC,MAApByiD,EAAOziD,aACrCyiD,EAAOt8B,iBAAmB,IAGJ,MAApBs8B,EAAOziD,WAAyC,MAApByiD,EAAOziD,UACM,GAAvC57B,KAAK+iD,UAAUZ,aAAanzC,UAC9BhP,KAAK+iD,UAAUZ,aAAah7C,KAAO,YAIM,GAAvCnH,KAAK+iD,UAAUZ,aAAanzC,UAC9BhP,KAAK+iD,UAAUZ,aAAah7C,KAAO,eAgBzCvH,EAAQ2mG,kBAAoB,SAAStnD,EAAO2nD,EAAUT,EAAcU,GAClE,IAAK,GAAIhhG,GAAI,EAAGA,EAAIo5C,EAAMj5C,OAAQH,IAAK,CACrC,GAAIq3F,GAAY,IAEdA,GADEj+C,EAAMp5C,GAAG6vD,MAAQkxC,EACP3nD,EAAMp5C,GAAG8jB,KAGTs1B,EAAMp5C,GAAG+jB,EAIvB,IAAIk9E,IAAY,CACmC,OAA/C9mG,KAAK+iD,UAAUjB,mBAAmBlmB,WAAoE,MAA/C57B,KAAK+iD,UAAUjB,mBAAmBlmB,UACvFshE,EAAUpwC,QAAUowC,EAAUn+C,MAAQ8nD,IACxC3J,EAAUpwC,QAAS,EACnBowC,EAAU7qF,EAAI8zF,EAAajJ,EAAUn+C,OAAOunD,OAC5CQ,GAAY,GAIV5J,EAAUnwC,QAAUmwC,EAAUn+C,MAAQ8nD,IACxC3J,EAAUnwC,QAAS,EACnBmwC,EAAU5qF,EAAI6zF,EAAajJ,EAAUn+C,OAAOunD,OAC5CQ,GAAY,GAIC,GAAbA,IACFX,EAAajJ,EAAUn+C,OAAOunD,QAAUH,EAAajJ,EAAUn+C,OAAOiD,YAClEk7C,EAAUj+C,MAAMj5C,OAAS,GAC3BhG,KAAKumG,kBAAkBrJ,EAAUj+C,MAAMi+C,EAAU78F,GAAG8lG,EAAajJ,EAAUn+C,UAenFn/C,EAAQ6mG,UAAY,SAAS1nD,EAAOE,EAAO2nD,GACzC,IAAK,GAAI/gG,GAAI,EAAGA,EAAIo5C,EAAMj5C,OAAQH,IAAK,CACrC,GAAIq3F,GAAY,IAEdA,GADEj+C,EAAMp5C,GAAG6vD,MAAQkxC,EACP3nD,EAAMp5C,GAAG8jB,KAGTs1B,EAAMp5C,GAAG+jB,IAEA,IAAnBszE,EAAUn+C,OAAem+C,EAAUn+C,MAAQA,KAC7Cm+C,EAAUn+C,MAAQA,EACdm+C,EAAUj+C,MAAMj5C,OAAS,GAC3BhG,KAAKymG,UAAU1nD,EAAM,EAAGm+C,EAAUj+C,MAAOi+C,EAAU78F,OAe3DT,EAAQ+mG,kBAAoB,SAAS5nD,EAAOE,EAAO2nD,GACjD5mG,KAAK89C,MAAM8oD,GAAUtpC,qBAAsB,CAE3C,KAAK,GADD4/B,GAAWthE,EACN/1B,EAAI,EAAGA,EAAIo5C,EAAMj5C,OAAQH,IAChC+1B,EAAY,EACRqjB,EAAMp5C,GAAG6vD,MAAQkxC,GACnB1J,EAAYj+C,EAAMp5C,GAAG8jB,KACrBiS,EAAY,IAGZshE,EAAYj+C,EAAMp5C,GAAG+jB,GAEA,IAAnBszE,EAAUn+C,QACZm+C,EAAUn+C,MAAQA,EAAQnjB,EAI9B,KAAK,GAAI/1B,GAAI,EAAGA,EAAIo5C,EAAMj5C,OAAQH,IACAq3F,EAA5Bj+C,EAAMp5C,GAAG6vD,MAAQkxC,EAAuB3nD,EAAMp5C,GAAG8jB,KACnCs1B,EAAMp5C,GAAG+jB,GAEvBszE,EAAUj+C,MAAMj5C,OAAS,GAAKk3F,EAAU5/B,uBAAwB,GAClEt9D,KAAK2mG,kBAAkBzJ,EAAUn+C,MAAOm+C,EAAUj+C,MAAOi+C,EAAU78F,KAWzET,EAAQ64F,cAAgB,WACtB,IAAK,GAAIhxC,KAAUznD,MAAK89C,MAClB99C,KAAK89C,MAAM33C,eAAeshD,KAC5BznD,KAAK89C,MAAM2J,GAAQqF,QAAS,EAC5B9sD,KAAK89C,MAAM2J,GAAQsF,QAAS,KAQ9B,SAASltD,GAEb,QAASknG,GAAeC,GACvB,KAAM,IAAIpjG,OAAM,uBAAyBojG,EAAM,MAEhDD,EAAer5F,KAAO,WAAa,UACnCq5F,EAAeE,QAAUF,EACzBlnG,EAAOD,QAAUmnG,EACjBA,EAAe1mG,GAAK,IAKhB,SAASR,EAAQD,GAQrBA,EAAQ25F,qBAAuB,WAC7B,GAAIp6E,GAAIC,EAAW8G,EAAUq3C,EAAIC,EAAI08B,EACnCgN,EAAgB/M,EAAOC,EAAOv0F,EAAGsmB,EAE/B2xB,EAAQ99C,KAAKilD,iBACbE,EAAcnlD,KAAKklD,uBAGnBiiD,EAAS,GAAK,EACd1gG,EAAI,EAAI,EAGR25C,EAAepgD,KAAK+iD,UAAUpD,QAAQQ,UAAUC,aAChDgnD,EAAkBhnD,CAItB,KAAKv6C,EAAI,EAAGA,EAAIs/C,EAAYn/C,OAAS,EAAGH,IAEtC,IADAs0F,EAAQr8C,EAAMqH,EAAYt/C,IACrBsmB,EAAItmB,EAAI,EAAGsmB,EAAIg5B,EAAYn/C,OAAQmmB,IAAK,CAC3CiuE,EAAQt8C,EAAMqH,EAAYh5B,IAC1B+tE,EAAsBC,EAAM/7B,YAAcg8B,EAAMh8B,YAAc,EAE9Dj/C,EAAKi7E,EAAM/nF,EAAI8nF,EAAM9nF,EACrB+M,EAAKg7E,EAAM9nF,EAAI6nF,EAAM7nF,EACrB4T,EAAW1hB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAGpB,GAAZ8G,IACFA,EAAW,GAAI1hB,KAAKiB,SACpB0Z,EAAK+G,GAGPkhF,EAA0C,GAAvBlN,EAA4B95C,EAAgBA,GAAgB,EAAI85C,EAAsBl6F,KAAK+iD,UAAUzC,WAAWW,sBACnI,IAAIr7C,GAAIuhG,EAASC,CACF,GAAIA,EAAflhF,IAEAghF,EADa,GAAME,EAAjBlhF,EACe,EAGAtgB,EAAIsgB,EAAWzf,EAIlCygG,GAA0C,GAAvBhN,EAA4B,EAAI,EAAIA,EAAsBl6F,KAAK+iD,UAAUzC,WAAWU,mBACvGkmD,GAAkC1iG,KAAKJ,IAAI8hB,EAAS,IAAKkhF,GAEzD7pC,EAAKp+C,EAAK+nF,EACV1pC,EAAKp+C,EAAK8nF,EACV/M,EAAM58B,IAAMA,EACZ48B,EAAM38B,IAAMA,EACZ48B,EAAM78B,IAAMA,EACZ68B,EAAM58B,IAAMA,MAUhB,SAAS39D,EAAQD,GAQrBA,EAAQ25F,qBAAuB,WAC7B,GAAIp6E,GAAIC,EAAI8G,EAAUq3C,EAAIC,EACxB0pC,EAAgB/M,EAAOC,EAAOv0F,EAAGsmB,EAE/B2xB,EAAQ99C,KAAKilD,iBACbE,EAAcnlD,KAAKklD,uBAGnB9E,EAAepgD,KAAK+iD,UAAUpD,QAAQU,sBAAsBD,YAIhE,KAAKv6C,EAAI,EAAGA,EAAIs/C,EAAYn/C,OAAS,EAAGH,IAEtC,IADAs0F,EAAQr8C,EAAMqH,EAAYt/C,IACrBsmB,EAAItmB,EAAI,EAAGsmB,EAAIg5B,EAAYn/C,OAAQmmB,IAItC,GAHAiuE,EAAQt8C,EAAMqH,EAAYh5B,IAGtBguE,EAAMp7C,OAASq7C,EAAMr7C,MAAO,CAE9B5/B,EAAKi7E,EAAM/nF,EAAI8nF,EAAM9nF,EACrB+M,EAAKg7E,EAAM9nF,EAAI6nF,EAAM7nF,EACrB4T,EAAW1hB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,EAGpC,IAAIioF,GAAY,GAEdH,GADa9mD,EAAXl6B,GACgB1hB,KAAK6vB,IAAIgzE,EAAUnhF,EAAS,GAAK1hB,KAAK6vB,IAAIgzE,EAAUjnD,EAAa,GAGlE,EAGD,GAAZl6B,EACFA,EAAW,IAGXghF,GAAkChhF,EAEpCq3C,EAAKp+C,EAAK+nF,EACV1pC,EAAKp+C,EAAK8nF,EAEV/M,EAAM58B,IAAMA,EACZ48B,EAAM38B,IAAMA,EACZ48B,EAAM78B,IAAMA,EACZ68B,EAAM58B,IAAMA,IAYtB59D,EAAQ65F,mCAAqC,WAS3C,IAAK,GARDO,GAAY5qC,EAAMV,EAClBvvC,EAAIC,EAAIm+C,EAAIC,EAAIy8B,EAAa/zE,EAC7B+4B,EAAQj/C,KAAKi/C,MAEbnB,EAAQ99C,KAAKilD,iBACbE,EAAcnlD,KAAKklD,uBAGdr/C,EAAI,EAAGA,EAAIs/C,EAAYn/C,OAAQH,IAAK,CAC3C,GAAIs0F,GAAQr8C,EAAMqH,EAAYt/C,GAC9Bs0F,GAAMmN,SAAW,EACjBnN,EAAMoN,SAAW,EAKnB,IAAK74C,IAAUzP,GACb,GAAIA,EAAM94C,eAAeuoD,KACvBU,EAAOnQ,EAAMyP,GACTU,EAAKC,WAEHrvD,KAAK89C,MAAM33C,eAAeipD,EAAKsG,OAAS11D,KAAK89C,MAAM33C,eAAeipD,EAAKuG,SAqBzE,GApBAqkC,EAAa5qC,EAAKzP,QAAQK,aAE1Bg6C,IAAe5qC,EAAKxlC,GAAGw0C,YAAchP,EAAKzlC,KAAKy0C,YAAc,GAAKp+D,KAAK+iD,UAAUzC,WAAWY,WAE5F/hC,EAAMiwC,EAAKzlC,KAAKtX,EAAI+8C,EAAKxlC,GAAGvX,EAC5B+M,EAAMgwC,EAAKzlC,KAAKrX,EAAI88C,EAAKxlC,GAAGtX,EAC5B4T,EAAW1hB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAEpB,GAAZ8G,IACFA,EAAW,KAIb+zE,EAAcj6F,KAAK+iD,UAAUpD,QAAQM,gBAAkB+5C,EAAa9zE,GAAYA,EAEhFq3C,EAAKp+C,EAAK86E,EACVz8B,EAAKp+C,EAAK66E,EAIN7qC,EAAKxlC,GAAGm1B,OAASqQ,EAAKzlC,KAAKo1B,MAC7BqQ,EAAKxlC,GAAG09E,UAAY/pC,EACpBnO,EAAKxlC,GAAG29E,UAAY/pC,EACpBpO,EAAKzlC,KAAK29E,UAAY/pC,EACtBnO,EAAKzlC,KAAK49E,UAAY/pC,MAEnB,CACH,GAAIvV,GAAS,EACbmH,GAAKxlC,GAAG2zC,IAAMtV,EAAOsV,EACrBnO,EAAKxlC,GAAG4zC,IAAMvV,EAAOuV,EACrBpO,EAAKzlC,KAAK4zC,IAAMtV,EAAOsV,EACvBnO,EAAKzlC,KAAK6zC,IAAMvV,EAAOuV,EAQjC,GACI8pC,GAAUC,EADVtN,EAAc,CAElB,KAAKp0F,EAAI,EAAGA,EAAIs/C,EAAYn/C,OAAQH,IAAK,CACvC,GAAIshD,GAAOrJ,EAAMqH,EAAYt/C,GAC7ByhG,GAAW9iG,KAAKL,IAAI81F,EAAYz1F,KAAKJ,KAAK61F,EAAY9yC,EAAKmgD,WAC3DC,EAAW/iG,KAAKL,IAAI81F,EAAYz1F,KAAKJ,KAAK61F,EAAY9yC,EAAKogD,WAE3DpgD,EAAKoW,IAAM+pC,EACXngD,EAAKqW,IAAM+pC,EAIb,GAAIC,GAAU,EACVC,EAAU,CACd,KAAK5hG,EAAI,EAAGA,EAAIs/C,EAAYn/C,OAAQH,IAAK,CACvC,GAAIshD,GAAOrJ,EAAMqH,EAAYt/C,GAC7B2hG,IAAWrgD,EAAKoW,GAChBkqC,GAAWtgD,EAAKqW,GAElB,GAAIkqC,GAAeF,EAAUriD,EAAYn/C,OACrC2hG,EAAeF,EAAUtiD,EAAYn/C,MAEzC,KAAKH,EAAI,EAAGA,EAAIs/C,EAAYn/C,OAAQH,IAAK,CACvC,GAAIshD,GAAOrJ,EAAMqH,EAAYt/C,GAC7BshD,GAAKoW,IAAMmqC,EACXvgD,EAAKqW,IAAMmqC,KAOX,SAAS9nG,EAAQD,GAQrBA,EAAQ25F,qBAAuB,WAC7B,GAA8D,GAA1Dv5F,KAAK+iD,UAAUpD,QAAQC,UAAUE,sBAA4B,CAC/D,GAAIqH,GACArJ,EAAQ99C,KAAKilD,iBACbE,EAAcnlD,KAAKklD,uBACnB0iD,EAAYziD,EAAYn/C,MAE5BhG,MAAK6nG,mBAAmB/pD,EAAMqH,EAK9B,KAAK,GAHD+zC,GAAgBl5F,KAAKk5F,cAGhBrzF,EAAI,EAAO+hG,EAAJ/hG,EAAeA,IAC7BshD,EAAOrJ,EAAMqH,EAAYt/C,IACrBshD,EAAKp4C,QAAQgvC,KAAO,IAEtB/9C,KAAK8nG,sBAAsB5O,EAAcx5F,KAAK++F,SAASsJ,GAAG5gD,GAC1DnnD,KAAK8nG,sBAAsB5O,EAAcx5F,KAAK++F,SAASuJ,GAAG7gD,GAC1DnnD,KAAK8nG,sBAAsB5O,EAAcx5F,KAAK++F,SAASwJ,GAAG9gD,GAC1DnnD,KAAK8nG,sBAAsB5O,EAAcx5F,KAAK++F,SAASyJ,GAAG/gD,MAelEvnD,EAAQkoG,sBAAwB,SAASK,EAAahhD,GAEpD,GAAIghD,EAAaC,cAAgB,EAAG,CAClC,GAAIjpF,GAAGC,EAAG8G,CAUV,IAPA/G,EAAKgpF,EAAaE,aAAah2F,EAAI80C,EAAK90C,EACxC+M,EAAK+oF,EAAaE,aAAa/1F,EAAI60C,EAAK70C,EACxC4T,EAAW1hB,KAAK0rB,KAAK/Q,EAAKA,EAAKC,EAAKA,GAKhC8G,EAAWiiF,EAAaG,SAAWtoG,KAAK+iD,UAAUpD,QAAQC,UAAUC,cAAe,CAErE,GAAZ35B,IACFA,EAAW,GAAI1hB,KAAKiB,SACpB0Z,EAAK+G,EAEP,IAAI4zE,GAAe95F,KAAK+iD,UAAUpD,QAAQC,UAAUE,sBAAwBqoD,EAAapqD,KAAOoJ,EAAKp4C,QAAQgvC,MAAQ73B,EAAWA,EAAWA,GACvIq3C,EAAKp+C,EAAK26E,EACVt8B,EAAKp+C,EAAK06E,CACd3yC,GAAKoW,IAAMA,EACXpW,EAAKqW,IAAMA,MAIX,IAAkC,GAA9B2qC,EAAaC,cACfpoG,KAAK8nG,sBAAsBK,EAAa1J,SAASsJ,GAAG5gD,GACpDnnD,KAAK8nG,sBAAsBK,EAAa1J,SAASuJ,GAAG7gD,GACpDnnD,KAAK8nG,sBAAsBK,EAAa1J,SAASwJ,GAAG9gD,GACpDnnD,KAAK8nG,sBAAsBK,EAAa1J,SAASyJ,GAAG/gD,OAGpD,IAAIghD,EAAa1J,SAASzrF,KAAK3S,IAAM8mD,EAAK9mD,GAAI,CAE5B,GAAZ6lB,IACFA,EAAW,GAAI1hB,KAAKiB,SACpB0Z,EAAK+G,EAEP,IAAI4zE,GAAe95F,KAAK+iD,UAAUpD,QAAQC,UAAUE,sBAAwBqoD,EAAapqD,KAAOoJ,EAAKp4C,QAAQgvC,MAAQ73B,EAAWA,EAAWA,GACvIq3C,EAAKp+C,EAAK26E,EACVt8B,EAAKp+C,EAAK06E,CACd3yC,GAAKoW,IAAMA,EACXpW,EAAKqW,IAAMA,KAcrB59D,EAAQioG,mBAAqB,SAAS/pD,EAAMqH,GAU1C,IAAK,GATDgC,GACAygD,EAAYziD,EAAYn/C,OAExBshD,EAAOrjD,OAAOskG,UAChBnhD,EAAOnjD,OAAOskG,UACdhhD,GAAOtjD,OAAOskG,UACdlhD,GAAOpjD,OAAOskG,UAGP1iG,EAAI,EAAO+hG,EAAJ/hG,EAAeA,IAAK,CAClC,GAAIwM,GAAIyrC,EAAMqH,EAAYt/C,IAAIwM,EAC1BC,EAAIwrC,EAAMqH,EAAYt/C,IAAIyM,CAC1BwrC,GAAMqH,EAAYt/C,IAAIkJ,QAAQgvC,KAAO,IAC/BuJ,EAAJj1C,IAAYi1C,EAAOj1C,GACnBA,EAAIk1C,IAAQA,EAAOl1C,GACf+0C,EAAJ90C,IAAY80C,EAAO90C,GACnBA,EAAI+0C,IAAQA,EAAO/0C,IAI3B,GAAIk2F,GAAWhkG,KAAK4mB,IAAIm8B,EAAOD,GAAQ9iD,KAAK4mB,IAAIi8B,EAAOD,EACnDohD,GAAW,GAAIphD,GAAQ,GAAMohD,EAAUnhD,GAAQ,GAAMmhD,IACtClhD,GAAQ,GAAMkhD,EAAUjhD,GAAQ,GAAMihD,EAGzD,IAAIC,GAAkB,KAClBC,EAAWlkG,KAAKJ,IAAIqkG,EAAgBjkG,KAAK4mB,IAAIm8B,EAAOD,IACpDqhD,EAAe,GAAMD,EACrBxnC,EAAU,IAAO5Z,EAAOC,GAAO4Z,EAAU,IAAO/Z,EAAOC,GAGvD6xC,GACFx5F,MACE2oG,cAAeh2F,EAAE,EAAGC,EAAE,GACtByrC,KAAK,EACL9nB,OACEqxB,KAAM4Z,EAAQynC,EAAaphD,KAAK2Z,EAAQynC,EACxCvhD,KAAM+Z,EAAQwnC,EAAathD,KAAK8Z,EAAQwnC,GAE1Ch2F,KAAM+1F,EACNJ,SAAU,EAAII,EACdjK,UAAYzrF,KAAK,MACjB80B,SAAU,EACViX,MAAO,EACPqpD,cAAe,GAMnB,KAHApoG,KAAK4oG,aAAa1P,EAAcx5F,MAG3BmG,EAAI,EAAO+hG,EAAJ/hG,EAAeA,IACzBshD,EAAOrJ,EAAMqH,EAAYt/C,IACrBshD,EAAKp4C,QAAQgvC,KAAO,GACtB/9C,KAAK6oG,aAAa3P,EAAcx5F,KAAKynD,EAKzCnnD,MAAKk5F,cAAgBA,GAWvBt5F,EAAQkpG,kBAAoB,SAASX,EAAchhD,GACjD,GAAI4hD,GAAYZ,EAAapqD,KAAOoJ,EAAKp4C,QAAQgvC,KAC7CirD,EAAe,EAAED,CAErBZ,GAAaE,aAAah2F,EAAI81F,EAAaE,aAAah2F,EAAI81F,EAAapqD,KAAOoJ,EAAK90C,EAAI80C,EAAKp4C,QAAQgvC,KACtGoqD,EAAaE,aAAah2F,GAAK22F,EAE/Bb,EAAaE,aAAa/1F,EAAI61F,EAAaE,aAAa/1F,EAAI61F,EAAapqD,KAAOoJ,EAAK70C,EAAI60C,EAAKp4C,QAAQgvC,KACtGoqD,EAAaE,aAAa/1F,GAAK02F,EAE/Bb,EAAapqD,KAAOgrD,CACpB,IAAIE,GAAczkG,KAAKJ,IAAII,KAAKJ,IAAI+iD,EAAKr0C,OAAOq0C,EAAKn7B,QAAQm7B,EAAKt0C,MAClEs1F,GAAargE,SAAYqgE,EAAargE,SAAWmhE,EAAeA,EAAcd,EAAargE,UAa7FloC,EAAQipG,aAAe,SAASV,EAAahhD,EAAK+hD,IAC1B,GAAlBA,GAA6CriG,SAAnBqiG,IAE5BlpG,KAAK8oG,kBAAkBX,EAAahhD,GAGlCghD,EAAa1J,SAASsJ,GAAG9xE,MAAMsxB,KAAOJ,EAAK90C,EACzC81F,EAAa1J,SAASsJ,GAAG9xE,MAAMoxB,KAAOF,EAAK70C,EAC7CtS,KAAKmpG,eAAehB,EAAahhD,EAAK,MAGtCnnD,KAAKmpG,eAAehB,EAAahhD,EAAK,MAIpCghD,EAAa1J,SAASsJ,GAAG9xE,MAAMoxB,KAAOF,EAAK70C,EAC7CtS,KAAKmpG,eAAehB,EAAahhD,EAAK,MAGtCnnD,KAAKmpG,eAAehB,EAAahhD,EAAK,OAc5CvnD,EAAQupG,eAAiB,SAAShB,EAAahhD,EAAKiiD,GAClD,OAAQjB,EAAa1J,SAAS2K,GAAQhB,eACpC,IAAK,GACHD,EAAa1J,SAAS2K,GAAQ3K,SAASzrF,KAAOm0C,EAC9CghD,EAAa1J,SAAS2K,GAAQhB,cAAgB,EAC9CpoG,KAAK8oG,kBAAkBX,EAAa1J,SAAS2K,GAAQjiD,EACrD,MACF,KAAK,GAGCghD,EAAa1J,SAAS2K,GAAQ3K,SAASzrF,KAAKX,GAAK80C,EAAK90C,GACtD81F,EAAa1J,SAAS2K,GAAQ3K,SAASzrF,KAAKV,GAAK60C,EAAK70C,GACxD60C,EAAK90C,GAAK7N,KAAKiB,SACf0hD,EAAK70C,GAAK9N,KAAKiB,WAGfzF,KAAK4oG,aAAaT,EAAa1J,SAAS2K,IACxCppG,KAAK6oG,aAAaV,EAAa1J,SAAS2K,GAAQjiD,GAElD,MACF,KAAK,GACHnnD,KAAK6oG,aAAaV,EAAa1J,SAAS2K,GAAQjiD,KAatDvnD,EAAQgpG,aAAe,SAAST,GAE9B,GAAIkB,GAAgB,IACc,IAA9BlB,EAAaC,gBACfiB,EAAgBlB,EAAa1J,SAASzrF,KACtCm1F,EAAapqD,KAAO,EAAGoqD,EAAaE,aAAah2F,EAAI,EAAG81F,EAAaE,aAAa/1F,EAAI,GAExF61F,EAAaC,cAAgB,EAC7BD,EAAa1J,SAASzrF,KAAO,KAC7BhT,KAAKspG,cAAcnB,EAAa,MAChCnoG,KAAKspG,cAAcnB,EAAa,MAChCnoG,KAAKspG,cAAcnB,EAAa,MAChCnoG,KAAKspG,cAAcnB,EAAa,MAEX,MAAjBkB,GACFrpG,KAAK6oG,aAAaV,EAAakB,IAenCzpG,EAAQ0pG,cAAgB,SAASnB,EAAciB,GAC7C,GAAI9hD,GAAKC,EAAKH,EAAKC,EACfkiD,EAAY,GAAMpB,EAAax1F,IACnC,QAAQy2F,GACN,IAAK,KACH9hD,EAAO6gD,EAAalyE,MAAMqxB,KAC1BC,EAAO4gD,EAAalyE,MAAMqxB,KAAOiiD,EACjCniD,EAAO+gD,EAAalyE,MAAMmxB,KAC1BC,EAAO8gD,EAAalyE,MAAMmxB,KAAOmiD,CACjC,MACF,KAAK,KACHjiD,EAAO6gD,EAAalyE,MAAMqxB,KAAOiiD,EACjChiD,EAAO4gD,EAAalyE,MAAMsxB,KAC1BH,EAAO+gD,EAAalyE,MAAMmxB,KAC1BC,EAAO8gD,EAAalyE,MAAMmxB,KAAOmiD,CACjC,MACF,KAAK,KACHjiD,EAAO6gD,EAAalyE,MAAMqxB,KAC1BC,EAAO4gD,EAAalyE,MAAMqxB,KAAOiiD,EACjCniD,EAAO+gD,EAAalyE,MAAMmxB,KAAOmiD,EACjCliD,EAAO8gD,EAAalyE,MAAMoxB,IAC1B,MACF,KAAK,KACHC,EAAO6gD,EAAalyE,MAAMqxB,KAAOiiD,EACjChiD,EAAO4gD,EAAalyE,MAAMsxB,KAC1BH,EAAO+gD,EAAalyE,MAAMmxB,KAAOmiD,EACjCliD,EAAO8gD,EAAalyE,MAAMoxB,KAK9B8gD,EAAa1J,SAAS2K,IACpBf,cAAch2F,EAAE,EAAEC,EAAE,GACpByrC,KAAK,EACL9nB,OAAOqxB,KAAKA,EAAKC,KAAKA,EAAKH,KAAKA,EAAKC,KAAKA,GAC1C10C,KAAM,GAAMw1F,EAAax1F,KACzB21F,SAAU,EAAIH,EAAaG,SAC3B7J,UAAWzrF,KAAK,MAChB80B,SAAU,EACViX,MAAOopD,EAAappD,MAAM,EAC1BqpD,cAAe,IAYnBxoG,EAAQ4pG,UAAY,SAASliF,EAAIlc,GACJvE,SAAvB7G,KAAKk5F,gBAEP5xE,EAAIO,UAAY,EAEhB7nB,KAAKypG,YAAYzpG,KAAKk5F,cAAcx5F,KAAK4nB,EAAIlc,KAajDxL,EAAQ6pG,YAAc,SAASC,EAAOpiF,EAAIlc,GAC1BvE,SAAVuE,IACFA,EAAQ,WAGkB,GAAxBs+F,EAAOtB,gBACTpoG,KAAKypG,YAAYC,EAAOjL,SAASsJ,GAAGzgF,GACpCtnB,KAAKypG,YAAYC,EAAOjL,SAASuJ,GAAG1gF,GACpCtnB,KAAKypG,YAAYC,EAAOjL,SAASyJ,GAAG5gF,GACpCtnB,KAAKypG,YAAYC,EAAOjL,SAASwJ,GAAG3gF,IAEtCA,EAAIY,YAAc9c,EAClBkc,EAAIa,YACJb,EAAIc,OAAOshF,EAAOzzE,MAAMqxB,KAAKoiD,EAAOzzE,MAAMmxB,MAC1C9/B,EAAIe,OAAOqhF,EAAOzzE,MAAMsxB,KAAKmiD,EAAOzzE,MAAMmxB,MAC1C9/B,EAAIlH,SAEJkH,EAAIa,YACJb,EAAIc,OAAOshF,EAAOzzE,MAAMsxB,KAAKmiD,EAAOzzE,MAAMmxB,MAC1C9/B,EAAIe,OAAOqhF,EAAOzzE,MAAMsxB,KAAKmiD,EAAOzzE,MAAMoxB,MAC1C//B,EAAIlH,SAEJkH,EAAIa,YACJb,EAAIc,OAAOshF,EAAOzzE,MAAMsxB,KAAKmiD,EAAOzzE,MAAMoxB,MAC1C//B,EAAIe,OAAOqhF,EAAOzzE,MAAMqxB,KAAKoiD,EAAOzzE,MAAMoxB,MAC1C//B,EAAIlH,SAEJkH,EAAIa,YACJb,EAAIc,OAAOshF,EAAOzzE,MAAMqxB,KAAKoiD,EAAOzzE,MAAMoxB,MAC1C//B,EAAIe,OAAOqhF,EAAOzzE,MAAMqxB,KAAKoiD,EAAOzzE,MAAMmxB,MAC1C9/B,EAAIlH,WAaF,SAASvgB,GAEbA,EAAOD,QAAU,SAASC,GAQzB,MAPIA,GAAO8pG,kBACV9pG,EAAOk9E,UAAY,aACnBl9E,EAAO+pG,SAEP/pG,EAAO4+F,YACP5+F,EAAO8pG,gBAAkB,GAEnB9pG"} \ No newline at end of file diff --git a/dist/vis.min.css b/dist/vis.min.css index a390c40d..338598a3 100644 --- a/dist/vis.min.css +++ b/dist/vis.min.css @@ -1 +1 @@ -.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}.vis.timeline.root{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right,.vis.timeline .vispanel.top{border:1px #bfbfbf}.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.top{border-left-style:solid;border-right-style:solid}.vis.timeline .background{overflow:hidden}.vis.timeline .vispanel>.content{position:relative}.vis.timeline .vispanel .shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis.timeline .vispanel .shadow.top{top:-1px;left:0}.vis.timeline .vispanel .shadow.bottom{bottom:-1px;left:0}.vis.timeline .labelset{position:relative;overflow:hidden;box-sizing:border-box}.vis.timeline .labelset .vlabel{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .labelset .vlabel:last-child{border-bottom:none}.vis.timeline .labelset .vlabel .inner{display:inline-block;padding:5px}.vis.timeline .labelset .vlabel .inner.hidden{padding:0}.vis.timeline .itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis.timeline .itemset .background,.vis.timeline .itemset .foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis.timeline .axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis.timeline .foreground .group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .foreground .group:last-child{border-bottom:none}.vis.timeline .item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block;padding:5px}.vis.timeline .item.selected{border-color:#FFC200;background-color:#FFF785;z-index:2}.vis.timeline .editable .item.selected{cursor:move}.vis.timeline .item.point.selected{background-color:#FFF785}.vis.timeline .item.box{text-align:center;border-style:solid;border-radius:2px}.vis.timeline .item.point{background:0 0}.vis.timeline .item.dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis.timeline .item.range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis.timeline .item.background{overflow:hidden;border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis.timeline .item.range .content{position:relative;display:inline-block;max-width:100%;overflow:hidden}.vis.timeline .item.background .content{position:absolute;display:inline-block;overflow:hidden;max-width:100%;margin:5px}.vis.timeline .item.line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis.timeline .item .content{white-space:nowrap;overflow:hidden}.vis.timeline .item .delete{background:url(img/timeline/delete.png) top center no-repeat;position:absolute;width:24px;height:24px;top:0;right:-24px;cursor:pointer}.vis.timeline .item.range .drag-left{position:absolute;width:24px;height:100%;top:0;left:-4px;cursor:w-resize}.vis.timeline .item.range .drag-right{position:absolute;width:24px;height:100%;top:0;right:-4px;cursor:e-resize}.vis.timeline .timeaxis{position:relative;overflow:hidden}.vis.timeline .timeaxis.foreground{top:0;left:0;width:100%}.vis.timeline .timeaxis.background{position:absolute;top:0;left:0;width:100%;height:100%}.vis.timeline .timeaxis .text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis.timeline .timeaxis .text.measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis.timeline .timeaxis .grid.vertical{position:absolute;border-left:1px solid}.vis.timeline .timeaxis .grid.minor{border-color:#e5e5e5}.vis.timeline .timeaxis .grid.major{border-color:#bfbfbf}.vis.timeline .currenttime{background-color:#FF7F6E;width:2px;z-index:1}.vis.timeline .customtime{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis.timeline .vispanel.background.horizontal .grid.horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis.timeline .vispanel.background.horizontal .grid.minor{border-color:#e5e5e5}.vis.timeline .vispanel.background.horizontal .grid.major{border-color:#bfbfbf}.vis.timeline .dataaxis .yAxis.major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis.timeline .dataaxis .yAxis.major.measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis.timeline .dataaxis .yAxis.minor.measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis.timeline .dataaxis .yAxis.title.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.title.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.timeline .dataaxis .yAxis.title.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.timeline .legend{background-color:rgba(247,252,255,.65);padding:5px;border-color:#b3b3b3;border-style:solid;border-width:1px;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis.timeline .legendText{white-space:nowrap;display:inline-block}.vis.timeline .graphGroup0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis.timeline .graphGroup1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis.timeline .graphGroup2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis.timeline .graphGroup3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis.timeline .graphGroup4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis.timeline .graphGroup5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis.timeline .graphGroup6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis.timeline .graphGroup7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis.timeline .graphGroup8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis.timeline .graphGroup9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis.timeline .fill{fill-opacity:.1;stroke:none}.vis.timeline .bar{fill-opacity:.5;stroke-width:1px}.vis.timeline .point{stroke-width:2px;fill-opacity:1}.vis.timeline .legendBackground{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis.timeline .outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis.timeline .iconFill{fill-opacity:.3;stroke:none}div.network-manipulationDiv{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);position:absolute;left:0;top:0;width:100%;height:30px}div.network-manipulation-editMode{position:absolute;left:0;top:0;height:30px;margin-top:20px}div.network-manipulation-closeDiv{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);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.network-manipulation-closeDiv:hover{opacity:.6}span.network-manipulationUI{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:-14px 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.network-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}span.network-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}span.network-manipulationUI.back{background-image:url(img/network/backIcon.png)}span.network-manipulationUI.none:hover{box-shadow:1px 1px 8px transparent;cursor:default}span.network-manipulationUI.none:active{box-shadow:1px 1px 8px transparent}span.network-manipulationUI.none{padding:0}span.network-manipulationUI.notification{margin:2px;font-weight:700}span.network-manipulationUI.add{background-image:url(img/network/addNodeIcon.png)}span.network-manipulationUI.edit{background-image:url(img/network/editIcon.png)}span.network-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}span.network-manipulationUI.connect{background-image:url(img/network/connectIcon.png)}span.network-manipulationUI.delete{background-image:url(img/network/deleteIcon.png)}span.network-manipulationLabel{margin:0 0 0 23px;line-height:25px}div.network-seperatorLine{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.network-navigation_wrapper{position:absolute;left:0;top:0;width:100%;height:100%}div.network-navigation{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.network-navigation:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.network-navigation:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.network-navigation.up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.network-navigation.down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.network-navigation.left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.network-navigation.right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.network-navigation.zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.network-navigation.zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.network-navigation.zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px} \ No newline at end of file +.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}.vis.timeline.root{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right,.vis.timeline .vispanel.top{border:1px #bfbfbf}.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.top{border-left-style:solid;border-right-style:solid}.vis.timeline .background{overflow:hidden}.vis.timeline .vispanel>.content{position:relative}.vis.timeline .vispanel .shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis.timeline .vispanel .shadow.top{top:-1px;left:0}.vis.timeline .vispanel .shadow.bottom{bottom:-1px;left:0}.vis.timeline .labelset{position:relative;overflow:hidden;box-sizing:border-box}.vis.timeline .labelset .vlabel{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .labelset .vlabel:last-child{border-bottom:none}.vis.timeline .labelset .vlabel .inner{display:inline-block;padding:5px}.vis.timeline .labelset .vlabel .inner.hidden{padding:0}.vis.timeline .itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis.timeline .itemset .background,.vis.timeline .itemset .foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis.timeline .axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis.timeline .foreground .group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .foreground .group:last-child{border-bottom:none}.vis.timeline .item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block;padding:5px}.vis.timeline .item.selected{border-color:#FFC200;background-color:#FFF785;z-index:2}.vis.timeline .editable .item.selected{cursor:move}.vis.timeline .item.point.selected{background-color:#FFF785}.vis.timeline .item.box{text-align:center;border-style:solid;border-radius:2px}.vis.timeline .item.point{background:0 0}.vis.timeline .item.dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis.timeline .item.range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis.timeline .item.background{overflow:hidden;border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis.timeline .item.range .content{position:relative;display:inline-block;max-width:100%;overflow:hidden}.vis.timeline .item.background .content{position:absolute;display:inline-block;overflow:hidden;max-width:100%;margin:5px}.vis.timeline .item.line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis.timeline .item .content{white-space:nowrap;overflow:hidden}.vis.timeline .item .delete{background:url(img/timeline/delete.png) top center no-repeat;position:absolute;width:24px;height:24px;top:0;right:-24px;cursor:pointer}.vis.timeline .item.range .drag-left{position:absolute;width:24px;height:100%;top:0;left:-4px;cursor:w-resize}.vis.timeline .item.range .drag-right{position:absolute;width:24px;height:100%;top:0;right:-4px;cursor:e-resize}.vis.timeline .timeaxis{position:relative;overflow:hidden}.vis.timeline .timeaxis.foreground{top:0;left:0;width:100%}.vis.timeline .timeaxis.background{position:absolute;top:0;left:0;width:100%;height:100%}.vis.timeline .timeaxis .text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis.timeline .timeaxis .text.measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis.timeline .timeaxis .grid.vertical{position:absolute;border-left:1px solid}.vis.timeline .timeaxis .grid.minor{border-color:#e5e5e5}.vis.timeline .timeaxis .grid.major{border-color:#bfbfbf}.vis.timeline .currenttime{background-color:#FF7F6E;width:2px;z-index:1}.vis.timeline .customtime{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis.timeline .vispanel.background.horizontal .grid.horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis.timeline .vispanel.background.horizontal .grid.minor{border-color:#e5e5e5}.vis.timeline .vispanel.background.horizontal .grid.major{border-color:#bfbfbf}.vis.timeline .dataaxis .yAxis.major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis.timeline .dataaxis .yAxis.major.measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis.timeline .dataaxis .yAxis.minor.measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis.timeline .dataaxis .yAxis.title.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.title.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.timeline .dataaxis .yAxis.title.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.timeline .legend{background-color:rgba(247,252,255,.65);padding:5px;border-color:#b3b3b3;border-style:solid;border-width:1px;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis.timeline .legendText{white-space:nowrap;display:inline-block}.vis.timeline .graphGroup0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis.timeline .graphGroup1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis.timeline .graphGroup2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis.timeline .graphGroup3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis.timeline .graphGroup4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis.timeline .graphGroup5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis.timeline .graphGroup6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis.timeline .graphGroup7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis.timeline .graphGroup8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis.timeline .graphGroup9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis.timeline .fill{fill-opacity:.1;stroke:none}.vis.timeline .bar{fill-opacity:.5;stroke-width:1px}.vis.timeline .point{stroke-width:2px;fill-opacity:1}.vis.timeline .legendBackground{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis.timeline .outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis.timeline .iconFill{fill-opacity:.3;stroke:none}div.network-manipulationDiv{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);position:absolute;left:0;top:0;width:100%;height:30px}div.network-manipulation-editMode{position:absolute;left:0;top:0;height:30px;margin-top:20px}div.network-manipulation-closeDiv{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);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.network-manipulation-closeDiv:hover{opacity:.6}span.network-manipulationUI{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:-14px 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.network-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}span.network-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}span.network-manipulationUI.back{background-image:url(img/network/backIcon.png)}span.network-manipulationUI.none:hover{box-shadow:1px 1px 8px transparent;cursor:default}span.network-manipulationUI.none:active{box-shadow:1px 1px 8px transparent}span.network-manipulationUI.none{padding:0}span.network-manipulationUI.notification{margin:2px;font-weight:700}span.network-manipulationUI.add{background-image:url(img/network/addNodeIcon.png)}span.network-manipulationUI.edit{background-image:url(img/network/editIcon.png)}span.network-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}span.network-manipulationUI.connect{background-image:url(img/network/connectIcon.png)}span.network-manipulationUI.delete{background-image:url(img/network/deleteIcon.png)}span.network-manipulationLabel{margin:0 0 0 23px;line-height:25px}div.network-seperatorLine{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.network-navigation_wrapper{position:absolute;left:0;top:0;width:100%;height:100%}div.network-navigation{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.network-navigation:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.network-navigation:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.network-navigation.up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.network-navigation.down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.network-navigation.left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.network-navigation.right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.network-navigation.zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.network-navigation.zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.network-navigation.zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}div.network-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid;box-shadow:3px 3px 10px rgba(128,128,128,.5)} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 16108e0b..314f8995 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 3.9.1 - * @date 2015-01-22 + * @version 3.10.0 + * @date 2015-02-11 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,18 +22,18 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(t,e,i){var s=i(44);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=o.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},e.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(s.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):s(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return s(t);if(t instanceof Date)return s(t.valueOf());if(s.isMoment(t))return s(t);if(e.isString(t))return n=o.exec(t),s(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(s.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=o.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var o=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},e.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,s){return e+e+i+i+s+s});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var s=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(s[0],s[1],s[2])}if(e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.45*o.s,v:Math.min(1,1.05*o.v)},r={h:o.h,s:Math.min(1,1.25*o.v),v:.6*o.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||"white",i.border=t.border||i.background,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||i.background,i.highlight.border=t.highlight&&t.highlight.border||i.border),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||i.background,i.hover.border=t.hover&&t.hover.border||i.border);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var n={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var s=n.split(t.style.cssText),o=n.split(i),r=e.extend(s,o);t.style.cssText=n.join(r)},e.removeCssText=function(t,e){var i=n.split(t.style.cssText),s=n.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=n.join(i)},e.HSVToRGB=function(t,e,i){var s,o,n,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},e.HSVToHex=function(t,i,s){var o=e.HSVToRGB(t,i,s);return e.RGBToHex(o.r,o.g,o.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var s=Object.create(i),o=0;o=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},e.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},e.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&r.setAttributeNS(null,"style",s.group.options.drawPoints.styles),r.setAttributeNS(null,"class",s.className+" point"),r},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,m=i&&i.filter,f=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&f.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&f.push(d));if(i&&i.order&&void 0==t&&this._sort(f,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=f.length;p>c;c++)f[c]=this._filterFields(f[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(f[c]);return s}return f},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.get=function(){var t,e,i,s=this,n=o.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var r=o.extend({},this._options,e);this._options.filter&&e&&e.filter&&(r.filter=function(t){return s._options.filter(t)&&e.filter(t)});var a=[];return void 0!=t&&a.push(t),a.push(r),a.push(i),this._data&&this._data.get.apply(this._data,a)},s.prototype.getIds=function(t){var e;if(this._data){var i,s=this._options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},s.prototype.getDataSet=function(){for(var t=this;t instanceof s;)t=t._data;return t||null},s.prototype._onEvent=function(t,e,i){var s,o,n,r,a=e&&e.items,h=this._data,d=[],l=[],c=[];if(a&&h){switch(t){case"add":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t){function e(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}e.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},e.extend=function(t,i){var s=new e(i);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){s.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new p,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function o(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function n(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(56),a=i(3),h=i(4),d=i(1),l=i(10),c=i(9),p=i(7),u=i(8),m=i(11),f=i(12);r(s.prototype),s.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(u-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new f(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new l(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new f(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new l(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new f(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new l(n,r,this.zMin)),e=this._convert3Dto2D(new l(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),p=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var M=this.yLabel;M.length>0&&(d=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(M,o.x,o.y));var S=this.zLabel;S.length>0&&(h=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new l(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(S,o.x-h,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,h,d,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+M.x/S/2,1),a=this._hsv2rgb(c,p,u),h=a):(u=1,a=this._hsv2rgb(c,p,u),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,g.lineWidth=d,g.fillStyle=a,g.strokeStyle=h,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,m,f;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,f=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=f,i.fillStyle=m,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=o(t),this.startMouseY=n(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(o(t))-this.startMouseX,i=parseFloat(n(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new c(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var d=n.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var p=d[l],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,f))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=s},function(t,e,i){function s(){this.armLocation=new o,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new o,this.cameraRotation=new o(.5*Math.PI,0,0),this.calculateCameraOrientation()}var o=i(10);s.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},s.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},s.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},s.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},s.prototype.getArmLength=function(){return this.armLength},s.prototype.getCameraLocation=function(){return this.cameraLocation},s.prototype.getCameraRotation=function(){return this.cameraRotation},s.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=s},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{snap:null,toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this.redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o,n){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=n,this.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),1==this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},e.prototype.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(25),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i,s){s!==!0&&(s=!1);var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return s>=this.start&&s<=this.end||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},s.prototype._onDragEnd=function(){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.props.touch.start-(i-o))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[]),this.format=s.FORMAT}var o=i(44),n=i(15),r=i(1);s.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},s.prototype.setFormat=function(t){var e=r.deepExtend({},s.FORMAT);this.format=r.deepExtend(e,t)},s.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"hour":this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step); -break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,s=864e5,o=36e5,n=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*s>t&&(this.scale="day",this.step=5),2*s>t&&(this.scale="day",this.step=2),s>t&&(this.scale="day",this.step=1),s/2>t&&(this.scale="weekday",this.step=1),4*o>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),15*n>t&&(this.scale="minute",this.step=15),10*n>t&&(this.scale="minute",this.step=10),5*n>t&&(this.scale="minute",this.step=5),n>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},s.prototype.snap=function(t){var e=new Date(t.valueOf());if("year"==this.scale){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if("month"==this.scale)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if("day"==this.scale){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if("weekday"==this.scale){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if("hour"==this.scale){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if("minute"==this.scale){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if("second"==this.scale)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if("millisecond"==this.scale){var s=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/s)*s)}return e},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},s.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(o().add(1,"day"),"day")?" tomorrow":t.isSame(o().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function s(t){return t.isSame(new Date,"month")?" current-month":""}function n(t){return t.isSame(new Date,"year")?" current-year":""}var r=o(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-"+(d+4)),d+"h"+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"day"+l+" "+c+s(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+s(a)+t(a.month());case"year":var p=a.year();return"year"+p+n(a)+t(p);default:return""}},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(20);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?o>0?Math.max(-s,0):-e:0>s?Math.min(-s,o-s-e-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(25),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(25),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format","alignZeros"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.hidden=!1,this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.hidden=!0,this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n)}return t},s.prototype._redrawLabels=function(){var t=!1;n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,s=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=s;var o=(this.dom.frame.offsetHeight-s.deadSpace*(this.dom.frame.offsetHeight/s.marginRange))/((s.marginRange-s.deadSpace)/s.step);this.stepPixels=o;var r=this.height/o,h=0;if(0==this.master){o=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/o-r); -for(var d=0;.5*h>d;d++)s.previous();if(r=this.height/o,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=s.marginEnd/s.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)s.next();else if(0>l)for(var d=0;-l>d;d++)s.previous()}}else r+=.25;this.valueAtZero=s.marginEnd;var c,p=0,u=1;void 0!==this.options.format[e]&&(c=this.options.format[e].decimals),this.maxLabelSize=0;for(var m=0;u=0&&this._redrawLabel(m-2,s.getCurrent(c),e,"yAxis major",this.props.majorCharHeight),this._redrawLine(m,e,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(m,e,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==s.current&&(this.zeroCrossing=u),u++}this.conversionFactor=0==this.master?m/(this.valueAtZero-s.current):this.dom.frame.offsetHeight/s.marginRange;var g=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(g=this.props.titleCharHeight);var v=1==this.options.icons?Math.max(this.options.iconWidth,g)+this.options.labelOffsetX+15:g+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-v&&1==this.options.visible?(this.width=this.maxLabelSize+v,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+v),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),t=!1),t},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;rs;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(25),d=i(30),l=i(31),c=i(22),p=i(23),u=i(24),m=i(21),f="__ungrouped__",g="__background__";s.prototype=new h,s.types={background:m,box:c,range:u,point:p},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new l(g,null,this);r.show(),this.groups[g]=r,this.hammer=o(this.body.dom.centerContainer,{preventDefault:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(){this.groupIds=[],this.stackDirty=!0},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,v),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[f];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[f];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[f];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new d(n,r,this),this.groups[f]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:f},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==f||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:a})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData._fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null},t.exports=s},function(t,e,i){function s(t,e,i,s){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.linegraphOptions=s,this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(25);s.prototype=new r,s.prototype.clear=function(){this.groups={},this.amountOfGroups=0},s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1 -},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",this.dom.frame.style.position="absolute",this.dom.frame.style.top="10px",this.dom.frame.style.display="block",this.dom.textArea=document.createElement("div"),this.dom.textArea.className="legendText",this.dom.textArea.style.position="relative",this.dom.textArea.style.top="0px",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.svg.style.height="100%",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){var t=0;for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||t++);if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled||0==t)this.hide();else{if(this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",this.dom.frame.style.textAlign="left",this.dom.textArea.style.textAlign="left",this.dom.textArea.style.left=this.options.iconSize+15+"px",this.dom.textArea.style.right="",this.svg.style.left="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",this.dom.frame.style.textAlign="right",this.dom.textArea.style.textAlign="right",this.dom.textArea.style.right=this.options.iconSize+15+"px",this.dom.textArea.style.left="",this.svg.style.right="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position)this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom="";else{var i=this.body.domProps.center.height-this.body.domProps.centerContainer.height;this.dom.frame.style.bottom=4+i+Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""}0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var s="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(1!=this.groups[e].visible||void 0!==this.linegraphOptions.visibility[e]&&1!=this.linegraphOptions.visibility[e]||(s+=this.groups[e].content+"
"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a=[],h=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?o.majorLabelHeight+"px":this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?"0":this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},s.prototype.snap=function(t){return this.step.snap(t)},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null},this.defaultOptions={nodes:{mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,fontStrokeWidth:0,fontStrokeColor:"white",level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,thetaInverted:2,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02}},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},maxVelocity:30,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,zoomExtentOnStabilize:!0,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],_new:[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.animating=!1,this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null,this.touchTime=0;var o=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){o._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulation=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.draggingNodes=!1,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){o._addNodes(e.items),o.start()},update:function(t,e){o._updateNodes(e.items,e.data),o.start()},remove:function(t,e){o._removeNodes(e.items),o.start()}},this.edgesListeners={add:function(t,e){o._addEdges(e.items),o.start()},update:function(t,e){o._updateEdges(e.items),o.start()},remove:function(t,e){o._removeEdges(e.items),o.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent(void 0,!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(57),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(52),b=i(53),_=i(54);i(55),o(s.prototype),s.prototype._determineBrowserMethod=function(){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,-1!=t.indexOf("msie 9.0")?this.requiresTimeout=!0:-1!=t.indexOf("safari")&&t.indexOf("chrome")<=-1&&(this.requiresTimeout=!0)},s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;et.boundingBox.left&&(s=t.boundingBox.left),ot.boundingBox.bottom&&(e=t.boundingBox.top),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var r=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);s*=r}else{var a=1.1*Math.abs(o.maxX-o.minX),h=1.1*Math.abs(o.maxY-o.minY),d=this.frame.canvas.clientWidth/a,l=this.frame.canvas.clientHeight/h;s=l>=d?d:l}s>1&&(s=1);var c=this._findCenter(o);if(0==i){var p={position:c,scale:s,animation:t};this.moveTo(p),this.moving=!0,this.start()}else c.x*=s,c.y*=s,c.x-=.5*this.frame.canvas.clientWidth,c.y-=.5*this.frame.canvas.clientHeight,this._setScale(s),this._setTranslation(-c.x,-c.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this.initializing=!0,t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(1==this.constants.dataManipulation.enabled&&this._createManipulatorBar(),this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1; -for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover)),this.constants.edges.inheritColor=!1),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.');this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._bindHammer(),this._createKeyBinds(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,this.start()}},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this._bindHammer()},s.prototype._bindHammer=function(){var t=this;void 0!==this.hammer&&this.hammer.dispose(),this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",t._onTap.bind(t)),this.hammer.on("doubletap",t._onDoubleTap.bind(t)),this.hammer.on("hold",t._onHold.bind(t)),this.hammer.on("touch",t._onTouch.bind(t)),this.hammer.on("dragstart",t._onDragStart.bind(t)),this.hammer.on("drag",t._onDrag.bind(t)),this.hammer.on("dragend",t._onDragEnd.bind(t)),1==this.constants.zoomable&&(this.hammer.on("mousewheel",t._onMouseWheel.bind(t)),this.hammer.on("DOMMouseScroll",t._onMouseWheel.bind(t)),this.hammer.on("pinch",t._onPinch.bind(t))),this.hammer.on("mousemove",t._onMouseMoveTitle.bind(t)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",t._onRelease.bind(t)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype.destroy=function(){this.start=function(){},this.redraw=function(){},this.timer=!1,this._cleanupPhysicsConfiguration(),this.keycharm.reset(),this.hammer.dispose(),this.off(),this._recursiveDOMDelete(this.containerElement)},s.prototype._recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)this._recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){(new Date).valueOf()-this.touchTime>100&&(this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this.touchTime=(new Date).valueOf(),this._handleTouch(this.drag.pointer))},s.prototype._onDragStart=function(t){this._handleDragStart(t)},s.prototype._handleDragStart=function(t){void 0===this.drag.pointer&&this._onTouch(t);var e=this._getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=this._getTranslation(),this.drag.nodeId=null,this.draggingNodes=!1,null!=e&&1==this.constants.dragNodes){this.draggingNodes=!0,this.drag.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,this.drag.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),0==this.draggingNodes?this.emit("dragEnd",{nodeIds:[]}):this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i);var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof f&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj,o=!1;if(void 0==this.popupObj){var n=this.nodes,r=[];for(e in n)if(n.hasOwnProperty(e)){var a=n[e];a.isOverlappingWith(i)&&void 0!==a.getTitle()&&r.push(e)}r.length>0&&(this.popupObj=this.nodes[r[r.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var h=this.edges,d=[];for(e in h)if(h.hasOwnProperty(e)){var l=h[e];l.connected&&void 0!==l.getTitle()&&l.isOverlappingWith(i)&&d.push(e)}d.length>0&&(this.popupObj=this.edges[d[d.length-1]])}if(this.popupObj){if(this.popupObj!=s){var c=this;c.popup||(c.popup=new v(c.frame,c.constants.tooltip)),c.popup.setPosition(t.x-3,t.y-3),c.popup.setText(c.popupObj.getTitle()),c.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth*this.pixelRatio&&(this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight*this.pixelRatio&&(this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width*this.pixelRatio,height:this.frame.canvas.height*this.pixelRatio,oldWidth:s*this.pixelRatio,oldHeight:o*this.pixelRatio})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new f(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i)},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var o=t[e].getValue();void 0!==o&&(i=void 0===i?o:Math.min(o,i),s=void 0===s?o:Math.max(o,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(t){var e=this.frame.canvas.getContext("2d");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.frame.canvas.width*this.pixelRatio,s=this.frame.canvas.height*this.pixelRatio;e.clearRect(0,0,i,s),e.save(),e.translate(this.translation.x,this.translation.y),e.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth*this.pixelRatio),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight*this.pixelRatio)},1!=t&&(this._doInAllSectors("_drawAllSectorNodes",e),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",e)),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",e,!1),1!=t&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",e),e.restore(),1==t&&e.clearRect(0,0,i,s)},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._revertPhysicsState=function(){var t=this.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].revertPosition()},s.prototype._revertPhysicsTick=function(){this._doInAllActiveSectors("_revertPhysicsState"),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&this._doInSupportSector("_revertPhysicsState")},s.prototype._physicsTick=function(){if(!this.freezeSimulation&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s2*e||1==this.runDoubleSpeed)&&1==this.moving&&(this._physicsTick(),0!=this.renderTime&&(this.runDoubleSpeed=!0))}var i=Date.now();this._redraw(),this.renderTime=Date.now()-i,this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(1==this.moving||0!=this.xIncrement||0!=this.yIncrement||0!=this.zoomIncrement||1==this.animating)this.timer||(this.timer=1==this.requiresTimeout?window.setTimeout(this._animationStep.bind(this),this.renderTimestep):window.requestAnimationFrame(this._animationStep.bind(this)));else if(this._redraw(),this.stabilizationIterations>1){var t=this,e={iterations:t.stabilizationIterations};this.stabilizationIterations=0,this.startedStabilization=!1,setTimeout(function(){t.emit("stabilized",e)},0)}else this.stabilizationIterations=0},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.toggleFreeze=function(){0==this.freezeSimulation?this.freezeSimulation=!0:(this.freezeSimulation=!1,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new f({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.animating=!1,this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished"))},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},s.prototype.getBoundingBox=function(t){return void 0!==this.nodes[t]?this.nodes[t].boundingBox:void 0},t.exports=s},function(t,e,i){function s(t,e,i){if(!e)throw"No network provided";var s=["edges","physics"],n=o.selectiveBridgeObject(s,i);this.options=n.edges,this.physics=n.physics,this.options.smoothCurves=i.smoothCurves,this.network=e,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.title=void 0,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.value=void 0,this.selected=!1,this.hover=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.dirtyLabel=!0,this.from=null,this.to=null,this.via=null,this.fromBackup=null,this.toBackup=null,this.originalFromId=[],this.originalToId=[],this.connected=!1,this.widthFixed=!1,this.lengthFixed=!1,this.setProperties(t),this.controlNodesEnabled=!1,this.controlNodes={from:null,to:null,positions:{}},this.connectedNode=null}var o=i(1),n=i(40);s.prototype.setProperties=function(t){if(t){var e=["style","fontSize","fontFace","fontColor","fontFill","fontStrokeWidth","fontStrokeColor","width","widthSelectionMultiplier","hoverWidth","arrowScaleFactor","dash","inheritColor","labelAlignment"];switch(o.selectiveDeepExtend(e,this.options,t),void 0!==t.from&&(this.fromId=t.from),void 0!==t.to&&(this.toId=t.to),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.dirtyLabel=!0),void 0!==t.title&&(this.title=t.title),void 0!==t.value&&(this.value=t.value),void 0!==t.length&&(this.physics.springLength=t.length),void 0!==t.color&&(this.options.inheritColor=!1,o.isString(t.color)?(this.options.color.color=t.color,this.options.color.highlight=t.color):(void 0!==t.color.color&&(this.options.color.color=t.color.color),void 0!==t.color.highlight&&(this.options.color.highlight=t.color.highlight),void 0!==t.color.hover&&(this.options.color.hover=t.color.hover))),this.connect(),this.widthFixed=this.widthFixed||void 0!==t.width,this.lengthFixed=this.lengthFixed||void 0!==t.length,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier,this.options.style){case"line":this.draw=this._drawLine;break;case"arrow":this.draw=this._drawArrow;break;case"arrow-center":this.draw=this._drawArrowCenter;break;case"dash-line":this.draw=this._drawDashLine;break;default:this.draw=this._drawLine}}},s.prototype.connect=function(){this.disconnect(),this.from=this.network.nodes[this.fromId]||null,this.to=this.network.nodes[this.toId]||null,this.connected=this.from&&this.to,this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)) -},s.prototype.disconnect=function(){this.from&&(this.from.detachEdge(this),this.from=null),this.to&&(this.to.detachEdge(this),this.to=null),this.connected=!1},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.getValue=function(){return this.value},s.prototype.setValueRange=function(t,e){if(!this.widthFixed&&void 0!==this.value){var i=(this.options.widthMax-this.options.widthMin)/(e-t);this.options.width=(this.value-t)*i+this.options.widthMin,this.widthSelected=this.options.width*this.options.widthSelectionMultiplier}},s.prototype.draw=function(){throw"Method draw not initialized in edge"},s.prototype.isOverlappingWith=function(t){if(this.connected){var e=10,i=this.from.x,s=this.from.y,o=this.to.x,n=this.to.y,r=t.left,a=t.top,h=this._getDistanceToEdge(i,s,o,n,r,a);return e>h}return!1},s.prototype._getColor=function(){var t=this.options.color;return"to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:this.to.options.color.border}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:this.from.options.color.border}),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){if(1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled)return this.via;if(0==this.options.smoothCurves.enabled)return{x:0,y:0};var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}var o=this.labelDimensions.yLine;t.save(),"horizontal"!=this.options.labelAlignment&&(t.translate(i,o),this._rotateForLabelAlignment(t),i=0,o=0),this._drawLabelRect(t),this._drawLabelText(t,i,o,n,r,a),t.restore()}},s.prototype._rotateForLabelAlignment=function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,s=Math.atan2(e,i);(-1>s&&0>i||s>0&&0>i)&&(s+=Math.PI),t.rotate(s)},s.prototype._drawLabelRect=function(t){if(void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){t.fillStyle=this.options.fontFill;var e=2;"line-center"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,.5*-this.labelDimensions.height,this.labelDimensions.width,this.labelDimensions.height):"line-above"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,-(this.labelDimensions.height+e),this.labelDimensions.width,this.labelDimensions.height):"line-below"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,e,this.labelDimensions.width,this.labelDimensions.height):t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)}},s.prototype._drawLabelText=function(t,e,i,s,o,n){if(t.fillStyle=this.options.fontColor||"black",t.textAlign="center","horizontal"!=this.options.labelAlignment){var r=2;"line-above"==this.options.labelAlignment?(t.textBaseline="alphabetic",i-=2*r):"line-below"==this.options.labelAlignment?(t.textBaseline="hanging",i+=2*r):t.textBaseline="middle"}else t.textBaseline="middle";this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var a=0;o>a;a++)this.options.fontStrokeWidth>0&&t.strokeText(s[a],e,i),t.fillText(s[a],e,i),i+=n},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.setLineDash){t.save();var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],t.setLineDash(i),t.lineDashOffset=0,e=this._line(t),t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._pointOnBezier=function(t){var e=this._getViaCoordinates(),i=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.to.x,s=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.to.y;return{x:i,y:s}},s.prototype._findBorderPosition=function(t,e){var i,s,o,n,r,a=10,h=0,d=0,l=1,c=.2,p=this.to;for(1==t&&(p=this.from);l>=d&&a>h;){var u=.5*(d+l);if(i=this._pointOnBezier(u),s=Math.atan2(p.y-i.y,p.x-i.x),o=p.distanceToBorder(e,s),n=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=o-n,Math.abs(r)r?0==t?d=u:l=u:0==t?l=u:d=u,h++}return i.t=u,i},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i,s;if(this.from!=this.to){if(this._line(t),1==this.options.smoothCurves.enabled){var o=this._getViaCoordinates();s=this._findBorderPosition(!1,t);var n=this._pointOnBezier(Math.max(0,s.t-.1));e=Math.atan2(s.y-n.y,s.x-n.x)}else{e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var r=this.to.x-this.from.x,a=this.to.y-this.from.y,h=Math.sqrt(r*r+a*a),d=this.to.distanceToBorder(t,e),l=(h-d)/h;s={},s.x=(1-l)*this.from.x+l*this.to.x,s.y=(1-l)*this.from.y+l*this.to.y}if(i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(s.x,s.y,e,i),t.fill(),t.stroke(),this.label){var c;c=1==this.options.smoothCurves.enabled&&null!=o?this._pointOnBezier(.5):this._pointOnLine(.5),this._label(t,this.label,c.x,c.y)}}else{var p,u,m,f=this.from,g=.25*Math.max(100,this.physics.springLength);f.width||f.resize(t),f.width>f.height?(p=f.x+.5*f.width,u=f.y-g,m={x:p,y:f.y,angle:.9*Math.PI}):(p=f.x+g,u=f.y-.5*f.height,m={x:f.x,y:u,angle:.6*Math.PI}),t.beginPath(),t.arc(p,u,g,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(m.x,m.y,m.angle,i),t.fill(),t.stroke(),this.label&&(c=this._pointOnCircle(p,u,g,.5),this._label(t,this.label,c.x,c.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,m,f,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):null!==this.via&&(this.via.x=0,this.via.y=0)},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:7,borderWidth:2,borderWidthSelected:2},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}this.controlNodes.positions={},0==this.controlNodes.from.selected&&(this.controlNodes.positions.from=this.getControlNodeFromPosition(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y),0==this.controlNodes.to.selected&&(this.controlNodes.positions.to=this.getControlNodeToPosition(t),this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.fromBackup=this.from,this.toBackup=this.to,this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.fromId=this.from.id,this.toId=this.to.id,this.fromId!=this.fromBackup.id?this.fromBackup.detachEdge(this):this.toId!=this.toBackup.id&&this.toBackup.detachEdge(this),this.fromBackup=null,this.toBackup=null,this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected?(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()):1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodeFromPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!0,t);else{var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n;e={},e.x=a*this.from.x+(1-a)*this.to.x,e.y=a*this.from.y+(1-a)*this.to.y}return e},s.prototype.getControlNodeToPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!1,t);else{var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.to.distanceToBorder(t,i),a=(n-r)/n;e={},e.x=(1-a)*this.from.x+a*this.to.x,e.y=(1-a)*this.from.y+a*this.to.y}return e},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e},t.exports=s},function(t){function e(){this.images={},this.imageBroken={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var s=this;i=new Image,i.onload=function(){0==this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),s.callback&&(s.images[t]=i,s.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,s.callback&&s.callback(this)):s.imageBroken[t]===!0?(console.error("Could not load brokenImage:",e),delete this.src,s.callback&&s.callback(this)):(this.src=e,s.imageBroken[t]=!0)},i.src=t}return i},t.exports=e},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.fontDrawThreshold=3,this.id=void 0,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.boundingBox={top:0,left:0,right:0,bottom:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.x=null,this.y=null,this.previousState={vx:0,vy:0,x:0,y:0},this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.dynamicEdgesLength=0,this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.revertPosition=function(){this.x=this.previousState.x,this.y=this.previousState.y,this.vx=this.previousState.vx,this.vy=this.previousState.vy},s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","group","mass"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof t.group||"string"==typeof t.group&&""!=t.group){var s=this.grouplist.get(t.group);o.deepExtend(this.options,s),this.options.color=o.parseColor(this.options.color)}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,("image"===this.options.shape||"circularImage"===this.options.shape)&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"circularImage":this.draw=this._drawCircularImage,this.resize=this._resizeCircularImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.storeState=function(){this.previousState.x=this.x,this.previousState.y=this.y,this.previousState.vx=this.vx,this.previousState.vy=this.vy},s.prototype.discreteStep=function(t){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.options.radius=(this.options.radiusMin+this.options.radiusMax)/2;else{var i=(this.options.radiusMax-this.options.radiusMin)/(e-t);this.options.radius=(this.value-t)*i+this.options.radiusMin}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.options.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.options.radius||this.imageObj.width,e=this.options.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImageAtPosition=function(t){if(0!=this.imageObj.width){if(this.clusterSize>1){var e=this.clusterSize>1?10:0;e*=this.networkScaleInv,e=Math.min(.2*this.width,e),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-e,this.top-e,this.width+2*e,this.height+2*e)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height)}},s.prototype._drawImageLabel=function(t){var e,i=0;if(this.height){i=this.height/2;var s=this.getTextSize(t);s.lineCount>=1&&(i+=s.height/2,i+=3)}e=this.y+i,this._label(t,this.label,this.x,e,void 0)},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawImageAtPosition(t),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeCircularImage=function(t){if(this.imageObj.src&&this.imageObj.width&&this.imageObj.height)this._swapToImageResizeWhenImageLoaded&&(this.width=0,this.height=0,delete this._swapToImageResizeWhenImageLoaded),this._resizeImage(t);else if(!this.width){var e=2*this.options.radius;this.width=e,this.height=e,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*e,this._swapToImageResizeWhenImageLoaded=!0}},s.prototype._drawCircularImage=function(t){this._resizeCircularImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=this.left+this.width/2,i=this.top+this.height/2,s=Math.abs(this.height/2);this._drawRawCircle(t,e,i,s),t.save(),t.circle(this.x,this.y,s),t.stroke(),t.clip(),this._drawImageAtPosition(t),t.restore(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2; -var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawRawCircle=function(t,e,i,s){var o=2.5,n=this.options.borderWidth,r=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(e,i,s+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,s),t.fill(),t.stroke()},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawRawCircle(t,this.x,this.y,this.options.radius),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.options.radius=this.baseRadiusValue;var t=2*this.options.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this.label&&(this._label(t,this.label,this.x,this.y+this.height/2,void 0,"hanging",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height))},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height},s.prototype._label=function(t,e,i,s,o,n,r){if(e&&Number(this.options.fontSize)*this.networkScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;var a=e.split("\n"),h=a.length,d=Number(this.options.fontSize),l=s+(1-h)/2*d;1==r&&(l=s+(1-h)/(2*d));for(var c=t.measureText(a[0]).width,p=1;h>p;p++){var u=t.measureText(a[p]).width;c=u>c?u:c}var m=this.options.fontSize*h,f=i-c/2,g=s-m/2;"hanging"==n&&(g+=.5*d,g+=4,l+=4),this.labelDimensions={top:g,left:f,width:c,height:m,yLine:l},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(f,g,c,m)),t.fillStyle=this.options.fontColor||"black",t.textAlign=o||"center",t.textBaseline=n||"middle",this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var p=0;h>p;p++)this.options.fontStrokeWidth&&t.strokeText(a[p],i,l),t.fillText(a[p],i,l),l+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.options.fontSize+"px "+this.options.fontFace;for(var e=this.label.split("\n"),i=(Number(this.options.fontSize)+4)*e.length,s=0,o=0,n=e.length;n>o;o++)s=Math.max(s,t.measureText(e[o]).width);return{width:s,height:i,lineCount:e.length}}return{width:0,height:0,lineCount:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(N=D.NULL,k="";" "==E||" "==E||"\n"==E||"\r"==E;)o();do{var t=!1;if("#"==E){for(var e=O-1;" "==T.charAt(e)||" "==T.charAt(e);)e--;if("\n"==T.charAt(e)||""==T.charAt(e)){for(;""!=E&&"\n"!=E;)o();t=!0}}if("/"==E&&"/"==n()){for(;""!=E&&"\n"!=E;)o();t=!0}if("/"==E&&"*"==n()){for(;""!=E;){if("*"==E&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==E||" "==E||"\n"==E||"\r"==E;)o()}while(t);if(""==E)return void(N=D.DELIMITER);var i=E+n();if(C[i])return N=D.DELIMITER,k=i,o(),void o();if(C[E])return N=D.DELIMITER,k=E,void o();if(r(E)||"-"==E){for(k+=E,o();r(E);)k+=E,o();return"false"==k?k=!1:"true"==k?k=!0:isNaN(Number(k))||(k=Number(k)),void(N=D.IDENTIFIER)}if('"'==E){for(o();""!=E&&('"'!=E||'"'==E&&'"'==n());)k+=E,'"'==E&&o(),o();if('"'!=E)throw x('End of string " expected');return o(),void(N=D.IDENTIFIER)}for(N=D.UNKNOWN;""!=E;)k+=E,o();throw new SyntaxError('Syntax error in part "'+w(k,30)+'"')}function u(){var t={};if(s(),p(),"strict"==k&&(t.strict=!0,p()),("graph"==k||"digraph"==k)&&(t.type=k,p()),N==D.IDENTIFIER&&(t.id=k,p()),"{"!=k)throw x("Angle bracket { expected");if(p(),m(t),"}"!=k)throw x("Angle bracket } expected");if(p(),""!==k)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==k&&"}"!=k;)f(t),";"==k&&p()}function f(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(N!=D.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),N!=D.IDENTIFIER)throw x("Identifier expected");t[s]=k,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==k&&(e={},e.type="subgraph",p(),N==D.IDENTIFIER&&(e.id=k,p())),"{"==k){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=k)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==k?(p(),t.node=_(),"node"):"edge"==k?(p(),t.edge=_(),"edge"):"graph"==k?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==k||"--"==k;){var i,s=k;p();var o=g(t);if(o)i=o;else{if(N!=D.IDENTIFIER)throw x("Identifier or subgraph expected");i=k,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==k;){for(p(),t={};""!==k&&"]"!=k;){if(N!=D.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),N!=D.IDENTIFIER)throw x("Attribute value expected");var i=k;h(t,e,i),p(),","==k&&p()}if("]"!=k)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(k,30)+'" (char '+O+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function S(t){var e=i(t),s={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),s.nodes.push(e)}),e.edges){var o=function(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,i;e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=o(t);s.edges.push(e)}),M(e,i,function(e,i){var n=c(s,e.id,i.id,t.type,t.attr),r=o(n);s.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=o(t);s.edges.push(e)})})}return e.attr&&(s.options=e.attr),s}var D={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},T="",O=0,E="",k="",N=D.NULL,L=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=S},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}return{start:e,end:i}},s.prototype.setWindow=function(t,e,i){var s=i&&void 0!==i.animate?i.animate:!0;if(1==arguments.length){var o=arguments[0];this.range.setRange(o.start,o.end,s)}else this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t){var f=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[s].y?t[s].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" "; -return a},s._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",M=t.length,S=0;M-1>S;S++)s=0==S?t[0]:t[S-1],o=t[S],n=t[S+1],r=M>S+2?t[S+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(n=Math.min(n,Math.abs(c[d-1].x-r))),a=s._getSafeDrawData(n,h,m);else{var g=d+(p[r].amount-p[r].resolved),v=d-(p[r].resolved+1);g0&&(n=Math.min(n,Math.abs(c[v].x-r))),a=s._getSafeDrawData(n,h,m),p[r].resolved+=1,"stack"==h.options.barChart.handleOverlap?(f=p[r].accumulated,p[r].accumulated+=h.zeroPosition-c[d].y):"sideBySide"==h.options.barChart.handleOverlap&&(a.width=a.width/p[r].amount,a.offset+=p[r].resolved*a.width-.5*a.width*(p[r].amount+1),"left"==h.options.barChart.align?a.offset-=.5*a.width:"right"==h.options.barChart.align&&(a.offset+=.5*a.width))}o.drawBar(c[d].x+a.offset,c[d].y-f,a.width,h.zeroPosition-c[d].y,h.className+" bar",i.svgElements,i.svg),1==h.options.drawPoints.enabled&&o.drawPoint(c[d].x+a.offset,c[d].y,h,i.svgElements,i.svg)}},s._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=ot[s].y?t[s].y:e,i=is;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,m=e+(s-r/2),f=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,m),this.bezierCurveTo(l,m+d,p+h,f,p,f),this.bezierCurveTo(p-h,f,t,m+d,t,m),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){var i,s,o;!function(n,r){s=[],i=r,o="function"==typeof i?i.apply(e,s):i,!(void 0!==o&&(t.exports=o))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s=t&&t.container||window,o={},n={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==n[e][t.keyCode]){for(var s=n[e][t.keyCode],o=0;oe-n?(i=t.clone().add(o-1,"months"),s=(e-n)/(n-i)):(i=t.clone().add(o+1,"months"),s=(e-n)/(i-n)),-(o+s)}function f(t,e,i){var s;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(s=t.isPM(i),s&&12>e&&(e+=12),s||12!==e||(e=0),e):e}function g(){}function v(t,e){e!==!1&&F(t),_(this,t),this._d=new Date(+t._d),Di===!1&&(Di=!0,Ce.updateOffset(this),Di=!1)}function y(t){var e=N(t),i=e.year||0,s=e.quarter||0,o=e.month||0,n=e.week||0,r=e.day||0,a=e.hour||0,h=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*h+36e5*a,this._days=+r+7*n,this._months=+o+3*s+12*i,this._data={},this._locale=Ce.localeData(),this._bubble()}function b(t,e){for(var i in e)a(e,i)&&(t[i]=e[i]);return a(e,"toString")&&(t.toString=e.toString),a(e,"valueOf")&&(t.valueOf=e.valueOf),t}function _(t,e){var i,s,o;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),Ye.length>0)for(i in Ye)s=Ye[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function x(t){return 0>t?Math.ceil(t):Math.floor(t)}function w(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&I(t[s])!==I(e[s]))&&r++;return r+n}function k(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=gi[t]||vi[e]||e}return t}function N(t){var e,i,s={};for(i in t)a(t,i)&&(e=k(i),e&&(s[e]=t[i]));return s}function L(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}Ce[t]=function(s,o){var r,a,h=Ce._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Ce().utc().set(i,t);return h.call(Ce._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function I(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function z(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function P(t,e,i){return me(Ce([t,11,31+e-i]),e,i).week}function A(t){return R(t)?366:365}function R(t){return t%4===0&&t%100!==0||t%400===0}function F(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ze]<0||t._a[ze]>11?ze:t._a[Pe]<1||t._a[Pe]>z(t._a[Ie],t._a[ze])?Pe:t._a[Ae]<0||t._a[Ae]>24||24===t._a[Ae]&&(0!==t._a[Re]||0!==t._a[Fe]||0!==t._a[He])?Ae:t._a[Re]<0||t._a[Re]>59?Re:t._a[Fe]<0||t._a[Fe]>59?Fe:t._a[He]<0||t._a[He]>999?He:-1,t._pf._overflowDayOfYear&&(Ie>e||e>Pe)&&(e=Pe),t._pf.overflow=e)}function H(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length&&t._pf.bigHour===n)),t._isValid}function B(t){return t?t.toLowerCase().replace("_","-"):t}function Y(t){for(var e,i,s,o,n=0;n0;){if(s=W(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function W(t){var e=null;if(!Be[t]&&We)try{e=Ce.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Ce.locale(e)}catch(i){}return Be[t]}function G(t,e){var i,s;return e._isUTC?(i=e.clone(),s=(Ce.isMoment(t)||O(t)?+t:+Ce(t))-+i,i._d.setTime(+i._d+s),Ce.updateOffset(i,!1),i):Ce(t).local()}function j(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function V(t){var e,i,s=t.match(Ue);for(e=0,i=s.length;i>e;e++)s[e]=wi[s[e]]?wi[s[e]]:j(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function U(t,e){return t.isValid()?(e=X(e,t.localeData()),yi[e]||(yi[e]=V(e)),yi[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Xe.lastIndex=0;s>=0&&Xe.test(t);)t=t.replace(Xe,i),Xe.lastIndex=0,s-=1;return t}function q(t,e){var i,s=e._strict;switch(t){case"Q":return oi;case"DDDD":return ri;case"YYYY":case"GGGG":case"gggg":return s?ai:Qe;case"Y":case"G":case"g":return di;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?hi:Ke;case"S":if(s)return oi;case"SS":if(s)return ni;case"SSS":if(s)return ri;case"DDD":return Ze;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Je;case"a":case"A":return e._locale._meridiemParse;case"x":return ii;case"X":return si;case"Z":case"ZZ":return ti;case"T":return ei;case"SSSS":return $e;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?ni:qe;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return qe;case"Do":return s?e._locale._ordinalParse:e._locale._ordinalParseLenient;default:return i=new RegExp(se(ie(t.replace("\\","")),"i"))}}function Z(t){t=t||"";var e=t.match(ti)||[],i=e[e.length-1]||[],s=(i+"").match(mi)||["-",0,0],o=+(60*s[1])+I(s[2]);return"+"===s[0]?o:-o}function Q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[ze]=3*(I(e)-1));break;case"M":case"MM":null!=e&&(o[ze]=I(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e,t,i._strict),null!=s?o[ze]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Pe]=I(e));break;case"Do":null!=e&&(o[Pe]=I(parseInt(e.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=I(e));break;case"YY":o[Ie]=Ce.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[Ie]=I(e);break;case"a":case"A":i._meridiem=e;break;case"h":case"hh":i._pf.bigHour=!0;case"H":case"HH":o[Ae]=I(e);break;case"m":case"mm":o[Re]=I(e);break;case"s":case"ss":o[Fe]=I(e);break;case"S":case"SS":case"SSS":case"SSSS":o[He]=I(1e3*("0."+e));break;case"x":i._d=new Date(I(e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=Z(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=I(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=Ce.parseTwoDigitYear(e)}}function K(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[Ie],me(Ce(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[Ie],me(Ce(),n,a).year),s=r(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),h=fe(i,s,o,a,n),t._a[Ie]=h.year,t._dayOfYear=h.dayOfYear}function $(t){var e,i,s,o,n=[];if(!t._d){for(s=te(t),t._w&&null==t._a[Pe]&&null==t._a[ze]&&K(t),t._dayOfYear&&(o=r(t._a[Ie],s[Ie]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=le(o,0,t._dayOfYear),t._a[ze]=i.getUTCMonth(),t._a[Pe]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Ae]&&0===t._a[Re]&&0===t._a[Fe]&&0===t._a[He]&&(t._nextDay=!0,t._a[Ae]=0),t._d=(t._useUTC?le:de).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Ae]=24)}}function J(t){var e;t._d||(e=N(t._i),t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],$(t))}function te(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function ee(t){if(t._f===Ce.ISO_8601)return void ne(t);t._a=[],t._pf.empty=!0;var e,i,s,o,r,a=""+t._i,h=a.length,d=0;for(s=X(t._f,t._locale).match(Ue)||[],e=0;e0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(i)+i.length),d+=i.length),wi[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),Q(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[Ae]<=12&&(t._pf.bigHour=n),t._a[Ae]=f(t._locale,t._a[Ae],t._meridiem),$(t),F(t)}function ie(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function se(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function oe(t){var e,i,s,o,n;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;on)&&(s=n,i=e));b(t,i||e)}function ne(t){var e,i,s=t._i,o=li.exec(s);if(o){for(t._pf.iso=!0,e=0,i=pi.length;i>e;e++)if(pi[e][1].exec(s)){t._f=pi[e][0]+(o[6]||" ");break}for(e=0,i=ui.length;i>e;e++)if(ui[e][1].exec(s)){t._f+=ui[e][0];break}s.match(ti)&&(t._f+="Z"),ee(t)}else t._isValid=!1}function re(t){ne(t),t._isValid===!1&&(delete t._isValid,Ce.createFromInputFallback(t))}function ae(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function le(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ce(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function pe(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ue(t,e,i){var s=Ce.duration(t).abs(),o=Ne(s.as("s")),n=Ne(s.as("m")),r=Ne(s.as("h")),a=Ne(s.as("d")),h=Ne(s.as("M")),d=Ne(s.as("y")),l=o0,l[4]=i,pe.apply({},l)}function me(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Ce(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function fe(t,e,i,s,o){var n,r,a=le(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:A(t-1)+r}}function ge(t){var e,i=t._i,s=t._f;return t._locale=t._locale||Ce.localeData(t._l),null===i||s===n&&""===i?Ce.invalid({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),Ce.isMoment(i)?new v(i,!0):(s?T(s)?oe(t):ee(t):he(t),e=new v(t),e._nextDay&&(e.add(1,"d"),e._nextDay=n),e))}function ve(t,e){var i,s;if(1===e.length&&T(e[0])&&(e=e[0]),!e.length)return Ce();for(i=e[0],s=1;s=0?"+":"-";return e+w(Math.abs(t),6)},gg:function(){return w(this.weekYear()%100,2)},gggg:function(){return w(this.weekYear(),4)},ggggg:function(){return w(this.weekYear(),5)},GG:function(){return w(this.isoWeekYear()%100,2)},GGGG:function(){return w(this.isoWeekYear(),4)},GGGGG:function(){return w(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return I(this.milliseconds()/100)},SS:function(){return w(I(this.milliseconds()/10),2)},SSS:function(){return w(this.milliseconds(),3)},SSSS:function(){return w(this.milliseconds(),3)},Z:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(I(t/60),2)+":"+w(I(t)%60,2)},ZZ:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(I(t/60),2)+w(I(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Mi={},Si=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],Di=!1;_i.length;)Oe=_i.pop(),wi[Oe+"o"]=u(wi[Oe],Oe);for(;xi.length;)Oe=xi.pop(),wi[Oe+Oe]=p(wi[Oe],2);wi.DDDD=p(wi.DDD,3),b(g.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t,e,i){var s,o,n;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;12>s;s++){if(o=Ce.utc([2e3,s]),i&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[s]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[s].test(t))return s;if(i&&"MMM"===e&&this._shortMonthsParse[s].test(t))return s;if(!i&&this._monthsParse[s].test(t))return s}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=Ce([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e,i){var s=this._calendar[t];return"function"==typeof s?s.apply(e,[i]):s},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(t){return t},postformat:function(t){return t},week:function(t){return me(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},firstDayOfWeek:function(){return this._week.dow},firstDayOfYear:function(){return this._week.doy},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),Ce=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._i=t,o._f=e,o._l=i,o._strict=s,o._isUTC=!1,o._pf=h(),ge(o)},Ce.suppressDeprecationWarnings=!1,Ce.createFromInputFallback=l("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),Ce.min=function(){var t=[].slice.call(arguments,0);return ve("isBefore",t)},Ce.max=function(){var t=[].slice.call(arguments,0);return ve("isAfter",t)},Ce.utc=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=e,o._strict=s,o._pf=h(),ge(o).utc()},Ce.unix=function(t){return Ce(1e3*t)},Ce.duration=function(t,e){var i,s,o,n,r=t,h=null;return Ce.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=je.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:I(h[Pe])*i,h:I(h[Ae])*i,m:I(h[Re])*i,s:I(h[Fe])*i,ms:I(h[He])*i}):(h=Ve.exec(t))?(i="-"===h[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},r={y:o(h[2]),M:o(h[3]),d:o(h[4]),h:o(h[5]),m:o(h[6]),s:o(h[7]),w:o(h[8])}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=S(Ce(r.from),Ce(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new y(r),Ce.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Ce.version=Ee,Ce.defaultFormat=ci,Ce.ISO_8601=function(){},Ce.momentProperties=Ye,Ce.updateOffset=function(){},Ce.relativeTimeThreshold=function(t,e){return bi[t]===n?!1:e===n?bi[t]:(bi[t]=e,!0)},Ce.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Ce.locale(t,e)}),Ce.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Ce.defineLocale(t,e):Ce.localeData(t),i&&(Ce.duration._locale=Ce._locale=i)),Ce._locale._abbr},Ce.defineLocale=function(t,e){return null!==e?(e.abbr=t,Be[t]||(Be[t]=new g),Be[t].set(e),Ce.locale(t),Be[t]):(delete Be[t],null)},Ce.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Ce.localeData(t)}),Ce.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ce._locale;if(!T(t)){if(e=W(t))return e;t=[t]}return Y(t)},Ce.isMoment=function(t){return t instanceof v||null!=t&&a(t,"_isAMomentObject")},Ce.isDuration=function(t){return t instanceof y};for(Oe=Si.length-1;Oe>=0;--Oe)L(Si[Oe]);Ce.normalizeUnits=function(t){return k(t)},Ce.invalid=function(t){var e=Ce.utc(0/0);return null!=t?b(e._pf,t):e._pf.userInvalidated=!0,e},Ce.parseZone=function(){return Ce.apply(null,arguments).parseZone()},Ce.parseTwoDigitYear=function(t){return I(t)+(I(t)>68?1900:2e3)},Ce.isDate=O,b(Ce.fn=v.prototype,{clone:function(){return Ce(this)},valueOf:function(){return+this._d-6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=Ce(this).utc();return 00:!1},parsingFlags:function(){return b({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.utcOffset(0,t)},local:function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(this._dateUtcOffset(),"m")),this},format:function(t){var e=U(this,t||Ce.defaultFormat);return this.localeData().postformat(e)},add:D(1,"add"),subtract:D(-1,"subtract"),diff:function(t,e,i){var s,o,n=G(t,this),r=6e4*(n.utcOffset()-this.utcOffset());return e=k(e),"year"===e||"month"===e||"quarter"===e?(o=m(this,n),"quarter"===e?o/=3:"year"===e&&(o/=12)):(s=this-n,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?o:x(o)},from:function(t,e){return Ce.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Ce(),t)},calendar:function(t){var e=t||Ce(),i=G(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this,Ce(e)))},isLeapYear:function(){return R(this.year())},isDST:function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},day:function(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ce(t,this.localeData()),this.add(t-e,"d")):e},month:xe("Month",!0),startOf:function(t){switch(t=k(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t?this.weekday(0):"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=k(t),t===n||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+this>+t):(i=Ce.isMoment(t)?+t:+Ce(t),i<+this.clone().startOf(e))},isBefore:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+t>+this):(i=Ce.isMoment(t)?+t:+Ce(t),+this.clone().endOf(e)t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=Ce.apply(null,arguments),t>this?this:t}),zone:l("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),utcOffset:function(t,e){var i,s=this._offset||0;return null!=t?("string"==typeof t&&(t=Z(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateUtcOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),s!==t&&(!e||this._changeInProgress?C(this,Ce.duration(t-s,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Ce.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?s:this._dateUtcOffset()},isLocal:function(){return!this._isUTC},isUtcOffset:function(){return this._isUTC},isUtc:function(){return this._isUTC&&0===this._offset},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Z(this._i)),this},hasAlignedHourOffset:function(t){return t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60===0},daysInMonth:function(){return z(this.year(),this.month())},dayOfYear:function(t){var e=Ne((Ce(this).startOf("day")-Ce(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=me(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=me(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=me(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return P(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return P(this.year(),t.dow,t.doy)},get:function(t){return t=k(t),this[t]()},set:function(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else t=k(t),"function"==typeof this[t]&&this[t](e);return this},locale:function(t){var e;return t===n?this._locale._abbr:(e=Ce.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateUtcOffset:function(){return 15*-Math.round(this._d.getTimezoneOffset()/15)}}),Ce.fn.millisecond=Ce.fn.milliseconds=xe("Milliseconds",!1),Ce.fn.second=Ce.fn.seconds=xe("Seconds",!1),Ce.fn.minute=Ce.fn.minutes=xe("Minutes",!1),Ce.fn.hour=Ce.fn.hours=xe("Hours",!0),Ce.fn.date=xe("Date",!0),Ce.fn.dates=l("dates accessor is deprecated. Use date instead.",xe("Date",!0)),Ce.fn.year=xe("FullYear",!0),Ce.fn.years=l("years accessor is deprecated. Use year instead.",xe("FullYear",!0)),Ce.fn.days=Ce.fn.day,Ce.fn.months=Ce.fn.month,Ce.fn.weeks=Ce.fn.week,Ce.fn.isoWeeks=Ce.fn.isoWeek,Ce.fn.quarters=Ce.fn.quarter,Ce.fn.toJSON=Ce.fn.toISOString,Ce.fn.isUTC=Ce.fn.isUtc,b(Ce.duration.fn=y.prototype,{_bubble:function(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;r.milliseconds=s%1e3,t=x(s/1e3),r.seconds=t%60,e=x(t/60),r.minutes=e%60,i=x(e/60),r.hours=i%24,o+=x(i/24),a=x(we(o)),o-=x(Me(a)),n+=x(o/30),o%=30,a+=x(n/12),n%=12,r.days=o,r.months=n,r.years=a},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return x(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*I(this._months/12)},humanize:function(t){var e=ue(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=Ce.duration(t,e);return this._milliseconds+=i._milliseconds,this._days+=i._days,this._months+=i._months,this._bubble(),this},subtract:function(t,e){var i=Ce.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=k(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=k(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*we(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Me(this._months/12)),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:Ce.fn.lang,locale:Ce.fn.locale,toIsoString:l("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),i=Math.abs(this.days()),s=Math.abs(this.hours()),o=Math.abs(this.minutes()),n=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"},localeData:function(){return this._locale},toJSON:function(){return this.toISOString()}}),Ce.duration.fn.toString=Ce.duration.fn.toISOString;for(Oe in fi)a(fi,Oe)&&Se(Oe.toLowerCase());Ce.duration.fn.asMilliseconds=function(){return this.as("ms")},Ce.duration.fn.asSeconds=function(){return this.as("s")},Ce.duration.fn.asMinutes=function(){return this.as("m")},Ce.duration.fn.asHours=function(){return this.as("h")},Ce.duration.fn.asDays=function(){return this.as("d")},Ce.duration.fn.asWeeks=function(){return this.as("weeks")},Ce.duration.fn.asMonths=function(){return this.as("M")},Ce.duration.fn.asYears=function(){return this.as("y")},Ce.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===I(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),We?o.exports=Ce:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(ke.moment=Te),Ce}.call(e,i,e,o),!(s!==n&&(o.exports=s)),De(!0))}).call(this)}).call(e,function(){return this}(),i(71)(t))},function(t,e,i){var s;!function(o,n){function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){S.register(t)}),w.onTouch(a.DOCUMENT,v,S.detect),w.onTouch(a.DOCUMENT,y,S.detect),a.READY=!0)}var a=function D(t,e){return new D.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",m=a.POINTER_TOUCH="touch",f=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(S,d),a&&(d.changedLength=h,d.eventType=a,s.call(S,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(S,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return M.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=m;return x.inStr(s.type,"mouse")||M.matchType(u,s)?o=u:M.matchType(f,s)&&(o=f),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return S.stopDetect()}}}},M=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),s[t]},reset:function(){this.pointers={}}},S=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?S.startDetect(i,t):t.eventType==_&&S.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=S.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=S.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=S.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=S.current,h=S.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e} -}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),this.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e)for(c=0;l>c;c++)if(p=this.edges[d[c]],void 0!==p){var u=this.nodes[p.fromId==t.id?p.toId:p.fromId];u.dynamicEdges.length<=this.hubThreshold+s&&u.id!=t.id&&this._addToCluster(t,u,e)}}},e._addToCluster=function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id))) -},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdgesLength),t+=n.dynamicEdgesLength,e+=Math.pow(n.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulation=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t],delete this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=this.manipulationDiv,e=this.closeDiv,i=this.editModeDiv;1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1,this._redraw()),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,this.manipulationDOM={},1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDOM.addNodeSpan=document.createElement("span"),this.manipulationDOM.addNodeSpan.className="network-manipulationUI add",this.manipulationDOM.addNodeLabelSpan=document.createElement("span"),this.manipulationDOM.addNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addNodeLabelSpan.innerHTML=t.addNode,this.manipulationDOM.addNodeSpan.appendChild(this.manipulationDOM.addNodeLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.addEdgeSpan=document.createElement("span"),this.manipulationDOM.addEdgeSpan.className="network-manipulationUI connect",this.manipulationDOM.addEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.addEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addEdgeLabelSpan.innerHTML=t.addEdge,this.manipulationDOM.addEdgeSpan.appendChild(this.manipulationDOM.addEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.addNodeSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.addEdgeSpan),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?(this.manipulationDOM.seperatorLineDiv2=document.createElement("div"),this.manipulationDOM.seperatorLineDiv2.className="network-seperatorLine",this.manipulationDOM.editNodeSpan=document.createElement("span"),this.manipulationDOM.editNodeSpan.className="network-manipulationUI edit",this.manipulationDOM.editNodeLabelSpan=document.createElement("span"),this.manipulationDOM.editNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editNodeLabelSpan.innerHTML=t.editNode,this.manipulationDOM.editNodeSpan.appendChild(this.manipulationDOM.editNodeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv2),this.manipulationDiv.appendChild(this.manipulationDOM.editNodeSpan)):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.seperatorLineDiv3=document.createElement("div"),this.manipulationDOM.seperatorLineDiv3.className="network-seperatorLine",this.manipulationDOM.editEdgeSpan=document.createElement("span"),this.manipulationDOM.editEdgeSpan.className="network-manipulationUI edit",this.manipulationDOM.editEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.editEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editEdgeLabelSpan.innerHTML=t.editEdge,this.manipulationDOM.editEdgeSpan.appendChild(this.manipulationDOM.editEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv3),this.manipulationDiv.appendChild(this.manipulationDOM.editEdgeSpan)),0==this._selectionIsEmpty()&&(this.manipulationDOM.seperatorLineDiv4=document.createElement("div"),this.manipulationDOM.seperatorLineDiv4.className="network-seperatorLine",this.manipulationDOM.deleteSpan=document.createElement("span"),this.manipulationDOM.deleteSpan.className="network-manipulationUI delete",this.manipulationDOM.deleteLabelSpan=document.createElement("span"),this.manipulationDOM.deleteLabelSpan.className="network-manipulationLabel",this.manipulationDOM.deleteLabelSpan.innerHTML=t.del,this.manipulationDOM.deleteSpan.appendChild(this.manipulationDOM.deleteLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv4),this.manipulationDiv.appendChild(this.manipulationDOM.deleteSpan)),this.manipulationDOM.addNodeSpan.onclick=this._createAddNodeToolbar.bind(this),this.manipulationDOM.addEdgeSpan.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDOM.editNodeSpan.onclick=this._editNode.bind(this):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.editEdgeSpan.onclick=this._createEditEdgeToolbar.bind(this)),0==this._selectionIsEmpty()&&(this.manipulationDOM.deleteSpan.onclick=this._deleteSelected.bind(this)),this.closeDiv.onclick=this._toggleEditMode.bind(this);var e=this;this.boundFunction=e._createManipulatorBar,this.on("select",this.boundFunction)}else{for(;this.editModeDiv.hasChildNodes();)this.editModeDiv.removeChild(this.editModeDiv.firstChild);this.manipulationDOM.editModeSpan=document.createElement("span"),this.manipulationDOM.editModeSpan.className="network-manipulationUI edit editmode",this.manipulationDOM.editModeLabelSpan=document.createElement("span"),this.manipulationDOM.editModeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editModeLabelSpan.innerHTML=t.edit,this.manipulationDOM.editModeSpan.appendChild(this.manipulationDOM.editModeLabelSpan),this.editModeDiv.appendChild(this.manipulationDOM.editModeSpan),this.manipulationDOM.editModeSpan.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.addDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._addNode,this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0,this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.edgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._handleConnect,this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.editEdgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulation=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!==e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulation=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge;i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(2!=this.triggerFunctions.del.length)throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s,o,n=0;n1&&s.hierarchyEnumerated===!1&&this._setLevelDirected(s.level,s.edges,s.id)},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,m=4/3,f=this.constants.physics.repulsion.nodeDistance,g=f;for(d=0;di&&(r=.5*g>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=Math.max(i,.01*g),s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.thetaInverted){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),m=.5*u,f=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-m,maxX:f+m,minY:g-m,maxY:g+m},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},e._placeInRegion=function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=70},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Edge:i(37),Groups:i(38),Images:i(39),Node:i(40),Popup:i(41),dotparser:i(42),gephiParser:i(43)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(44),e.hammer=i(45)},function(t,e,i){var s=i(44);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.giveRange=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=o.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},e.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},e.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(s.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])):s(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return s(t);if(t instanceof Date)return s(t.valueOf());if(s.isMoment(t))return s(t);if(e.isString(t))return n=o.exec(t),s(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(s.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=o.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=o.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var o=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},e.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},e.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},e.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},e.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},e.forEach=function(t,e){var i,s;if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,s){return e+e+i+i+s+s});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var s=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+s[0]+","+s[1]+","+s[2]+","+i+")"}var s=e.hexToRGB(t);return null==s?t:"rgba("+s.r+","+s.g+","+s.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)){if(e.isValidRGB(t)){var s=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(s[0],s[1],s[2])}if(e.isValidHex(t)){var o=e.hexToHSV(t),n={h:o.h,s:.45*o.s,v:Math.min(1,1.05*o.v)},r={h:o.h,s:Math.min(1,1.25*o.v),v:.6*o.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(n.h,n.s,n.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||"white",i.border=t.border||i.background,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||i.background,i.highlight.border=t.highlight&&t.highlight.border||i.border),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||i.background,i.hover.border=t.hover&&t.hover.border||i.border);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}};var n={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),s=i[0].trim(),o=i[1].trim();e[s]=o}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var s=n.split(t.style.cssText),o=n.split(i),r=e.extend(s,o);t.style.cssText=n.join(r)},e.removeCssText=function(t,e){var i=n.split(t.style.cssText),s=n.split(e);for(var o in s)s.hasOwnProperty(o)&&delete i[o];t.style.cssText=n.join(i)},e.HSVToRGB=function(t,e,i){var s,o,n,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},e.HSVToHex=function(t,i,s){var o=e.HSVToRGB(t,i,s);return e.RGBToHex(o.r,o.g,o.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var s=Object.create(i),o=0;o=r&&o>n;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===s?d[i]:d[i][s],c=e(l);if(0==c)return h;-1==c?r=h+1:a=h-1,n++}return-1},e.binarySearchValue=function(t,e,i,s){for(var o,n,r,a,h=1e4,d=0,l=0,c=t.length-1;c>=l&&h>d;){if(a=Math.floor(.5*(c+l)),o=t[Math.max(0,a-1)][i],n=t[a][i],r=t[Math.min(t.length-1,a+1)][i],n==e)return a;if(e>o&&n>e)return"before"==s?Math.max(0,a-1):a;if(e>n&&r>e)return"before"==s?a:Math.min(t.length-1,a+1);e>n?l=a+1:c=a-1,d++}return-1},e.easeInOutQuad=function(t,e,i,s){var o=i-e;return t/=s/2,1>t?o/2*t*t+e:(t--,-o/2*(t*(t-2)-1)+e)},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i,s){var o;return e.hasOwnProperty(t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==s?i.insertBefore(o,s):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==s?i.insertBefore(o,s):i.appendChild(o)),e[t].used.push(o),o},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size)):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size)),void 0!==s.options.drawPoints.styles&&r.setAttributeNS(null,"style",s.group.options.drawPoints.styles),r.setAttributeNS(null,"class",s.className+" point"),r},e.drawBar=function(t,i,s,o,n,r,a){if(0!=o){0>o&&(o*=-1,i-=o);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var o=i(1),n=i(5);s.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=n.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=[],r=this,a=r._fieldId,h=function(t){var e=t[a];r._data[e]?(e=r._updateItem(t),s.push(e),n.push(t)):(e=r._addItem(t),i.push(e))};if(Array.isArray(t))for(var d=0,l=t.length;l>d;d++)h(t[d]);else if(o.isDataTable(t))for(var c=this._getColumnNames(t),p=0,u=t.getNumberOfRows();u>p;p++){for(var m={},f=0,g=c.length;g>f;f++){var v=c[f];m[v]=t.getValue(p,f)}h(m)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");h(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s,data:n},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,m=i&&i.filter,f=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&f.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&f.push(d));if(i&&i.order&&void 0==t&&this._sort(f,i.order),i&&i.fields){var g=i.fields;if(void 0!=t)d=this._filterFields(d,g);else for(c=0,p=f.length;p>c;c++)f[c]=this._filterFields(f[c],g)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(f[c]);return s}return f},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){if(!t)return t;var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},this.length=0,this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},s=[],o=[],n=0;ns;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}this.length+=d.length-c.length,d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t){function e(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}e.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},e.extend=function(t,i){var s=new e(i);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){s.flush()};var o=[{name:"flush",original:void 0}];if(i&&i.replace)for(var n=0;nthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},e.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var o=function(t){return t};this.xValueLabel=o,this.yValueLabel=o,this.zValueLabel=o,this.filterLabel="time",this.legendLabel="value",this.style=s.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new p,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function o(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function n(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(56),a=i(3),h=i(4),d=i(1),l=i(10),c=i(9),p=i(7),u=i(8),m=i(11),f=i(12);r(s.prototype),s.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var m=(t-p)/(u-p),g=240*m,v=this._hsv2rgb(g,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new f(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new l(x,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.xValueLabel(i.getCurrent())+" ",o.x,o.y),i.next()}for(g.lineWidth=1,s=void 0===this.defaultYStep,i=new f(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new l(n,i.getCurrent(),this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top",o.y+=b):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(" "+this.yValueLabel(i.getCurrent())+" ",o.x,o.y),i.next();for(g.lineWidth=1,s=void 0===this.defaultZStep,i=new f(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(n,r,i.getCurrent())),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(t.x-b,t.y),g.stroke(),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();g.lineWidth=1,t=this._convert3Dto2D(new l(n,r,this.zMin)),e=this._convert3Dto2D(new l(n,r,this.zMax)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),g.lineWidth=1,p=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),p=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),u=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(p.x,p.y),g.lineTo(u.x,u.y),g.stroke(),g.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),g.strokeStyle=this.colorAxis,g.beginPath(),g.moveTo(t.x,t.y),g.lineTo(e.x,e.y),g.stroke();var w=this.xLabel;w.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(_)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)>0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)<0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(w,o.x,o.y));var M=this.yLabel;M.length>0&&(d=.1/this.scale.x,n=Math.sin(_)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new l(n,r,this.zMin)),Math.cos(2*_)<0?(g.textAlign="center",g.textBaseline="top"):Math.sin(2*_)>0?(g.textAlign="right",g.textBaseline="middle"):(g.textAlign="left",g.textBaseline="middle"),g.fillStyle=this.colorAxis,g.fillText(M,o.x,o.y));var S=this.zLabel;S.length>0&&(h=30,n=Math.cos(_)>0?this.xMin:this.xMax,r=Math.sin(_)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new l(n,r,a)),g.textAlign="right",g.textBaseline="middle",g.fillStyle=this.colorAxis,g.fillText(S,o.x-h,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,h,d,c,p,u,m,f=this.frame.canvas,g=f.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+M.x/S/2,1),a=this._hsv2rgb(c,p,u),h=a):(u=1,a=this._hsv2rgb(c,p,u),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,g.lineWidth=d,g.fillStyle=a,g.strokeStyle=h,g.beginPath(),g.moveTo(t.screen.x,t.screen.y),g.lineTo(e.screen.x,e.screen.y),g.lineTo(o.screen.x,o.screen.y),g.lineTo(i.screen.x,i.screen.y),g.closePath(),g.fill(),g.stroke()}}else for(n=0;np&&(p=0);var u,m,f;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,f=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),f=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=f,i.fillStyle=m,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=o(t),this.startMouseY=n(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(o(t))-this.startMouseX,i=parseFloat(n(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new c(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var d=n.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var p=d[l],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,f))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=s},function(t,e,i){function s(){this.armLocation=new o,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new o,this.cameraRotation=new o(.5*Math.PI,0,0),this.calculateCameraOrientation()}var o=i(10);s.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},s.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},s.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},s.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},s.prototype.getArmLength=function(){return this.armLength},s.prototype.getCameraLocation=function(){return this.cameraLocation},s.prototype.getCameraRotation=function(){return this.cameraRotation},s.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=s},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t +},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i,r){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var h=r;r=i,i=h}var u=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return u.timeAxis.step.scale},getStep:function(){return u.timeAxis.step.step},toScreen:u._toScreen.bind(u),toGlobalScreen:u._toGlobalScreen.bind(u),toTime:u._toTime.bind(u),toGlobalTime:u._toGlobalTime.bind(u)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,r&&this.setOptions(r),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(32);s.prototype=new h,s.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var s=this._getDataRange();var o=void 0!=this.options.start?this.options.start:s.start,a=void 0!=this.options.end?this.options.end:s.end;this.setWindow(o,a,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],s=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),o=null,n=null;if(s.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===o||o>e)&&(o=e),(null===n||i>n)&&(n=i)}),null!==o&&null!==n){var r=(o+n)/2,a=Math.max(this.range.end-this.range.start,1.1*(n-o)),h=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(r-a/2,r+a/2,h)}}},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?o.convert(s.start,"Date").valueOf():null;var n=t.max("start");n&&(i=o.convert(n.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?o.convert(r.end,"Date").valueOf():Math.max(i,o.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},t.exports=s},function(t,e,i){function s(t,e,i,s){if(!(Array.isArray(i)||i instanceof n)&&i instanceof Object){var r=s;s=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=o.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.customTime=new c(this.body),this.components.push(this.customTime),this.linegraph=new p(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,s&&this.setOptions(s),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var o=(i(56),i(45),i(1)),n=i(3),r=i(4),a=i(17),h=i(46),d=i(35),l=i(26),c=i(27),p=i(34);s.prototype=new h,s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof n||t instanceof r?t:new n(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var s=void 0!=this.options.start?this.options.start:null,o=void 0!=this.options.end?this.options.end:null;this.setWindow(s,o,{animate:!1})}else this.fit({animate:!1})},s.prototype.setGroups=function(t){var e;e=t?t instanceof n||t instanceof r?t:new n(t):null,this.groupsData=e,this.linegraph.setGroups(e)},s.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},s.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},s.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},t.exports=s},function(t,e,i){var s=i(44);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var p=0,u=n.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(o.dayOfYear()),d.year(o.year()),d.subtract(7,"days"),l.dayOfYear(o.dayOfYear()),l.year(o.year()),l.subtract(7-p,"days"),u.add(1,"weeks");break;case"weekly":var m=l.diff(d,"days"),f=d.day();d.date(o.date()),d.month(o.month()),d.year(o.year()),l=d.clone(),d.day(f),l.day(f),l.add(m,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),u.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=1),d.month(o.month()),d.year(o.year()),d.subtract(1,"months"),l.month(o.month()),l.year(o.year()),l.subtract(1,"months"),l.add(p,"months"),u.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(o.year()),d.subtract(1,"years"),l.year(o.year()),l.subtract(1,"years"),l.add(p,"years"),u.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;u>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var g=e.isHidden(t.range.start,t.hiddenDates),v=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==g.hidden&&(y=1==t.range.startToFront?g.startDate-1:g.endDate+1),1==v.hidden&&(b=1==t.range.endToFront?v.startDate-1:v.endDate+1),(1==g.hidden||1==v.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],s=0;s=e[s].start&&e[o].end<=e[s].end?e[o].remove=!0:e[o].start>=e[s].start&&e[o].start<=e[s].end?(e[s].end=e[o].end,e[o].remove=!0):e[o].end>=e[s].start&&e[o].end<=e[s].end&&(e[s].start=e[o].start,e[o].remove=!0));for(var s=0;s=r&&a>o){i=!0;break}}if(1==i&&o=e&&i>r&&(s+=r-n)}return s},e.correctTimeForHidden=function(t,i,o){return o=s(o).toDate().valueOf(),o-=e.getHiddenDurationBefore(t,i,o)},e.getHiddenDurationBefore=function(t,e,i){var o=0;i=s(i).toDate().valueOf();for(var n=0;n=e.start&&a=a&&(o+=a-r)}return o},e.getAccumulatedHiddenDuration=function(t,e,i){for(var s=0,o=0,n=e.start,r=0;r=e.start&&h=i)break;s+=h-a}}return s},e.snapAwayFromHidden=function(t,i,s,o){var n=e.isHidden(i,t);return 1==n.hidden?0>s?1==o?n.startDate-(n.endDate-i)-1:n.startDate-1:1==o?n.endDate+(i-n.startDate)+1:n.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=s&&o>t)return{hidden:!0,startDate:s,endDate:o}}return{hidden:!1,startDate:s,endDate:o}}},function(t){function e(t,e,i,s,o,n){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=n,this.setRange(t,e,i,s,o)}e.prototype.setRange=function(t,e,i,s,o){this._start=void 0===o.min?t:o.min,this._end=void 0===o.max?e:o.max,this._start==this._end&&(this._start-=.75,this._end+=1),1==this.autoScale&&this.setMinimumStep(i,s),this.setFirst(o)},e.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,s=1.2*i,o=t*(s/e),n=Math.round(Math.log(s)/Math.LN10),r=-1,a=Math.pow(10,n),h=0;0>n&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,1==this.alignZeros&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(t){var e=Math.abs(this.current)0;s--){if("0"!=i[s]){if("."==i[s]||","==i[s]){i=i.slice(0,s);break}break}i=i.slice(0,s)}}else{var o="",n=i.indexOf("e");if(-1!=n&&(o=i.slice(n),i=i.slice(0,n)),n=Math.max(i.indexOf(","),i.indexOf(".")),-1===n?(0!==t&&(i+="."),n=i.length+t):0!==t&&(n+=t+1),n>i.length)for(var r=n-i.length;r>0;r--)i+="0";else i=i.slice(0,n);i+=o}return i},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animateTimer=null,this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(47),h=i(44),d=i(25),l=i(15);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e,i,s){s!==!0&&(s=!1);var o=void 0!=t?r.convert(t,"Date").valueOf():null,n=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,d=this.end,c="number"==typeof i?i:500,p=(new Date).valueOf(),u=!1,m=function(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-p,i=e>c,g=i||null===o?o:r.easeInOutQuad(e,h,o,c),v=i||null===n?n:r.easeInOutQuad(e,d,n,c);f=a._applyRange(g,v),l.updateHiddenDates(a.body,a.options.hiddenDates),u=u||f,f&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:s}),i?u&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:s}):a.animateTimer=setTimeout(m,20)}};return m()}var f=this._applyRange(o,n);if(l.updateHiddenDates(this.body,this.options.hiddenDates),f){var g={start:new Date(this.start),end:new Date(this.end),byUser:s};this.body.emitter.emit("rangechange",g),this.body.emitter.emit("rangechanged",g)}},s.prototype._cancelAnimation=function(){this.animateTimer&&(clearTimeout(this.animateTimer),this.animateTimer=null)},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h&&s>this.start&&od&&(d=0),o-s>d&&(this.end-this.start===d&&sthis.end?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return s>=this.start&&s<=this.end||o>=this.start&&o<=this.end||this.start>=s&&this.start<=o||this.end>=s&&this.end<=o||this.body.emitter.emit("checkRangedItems"),this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t,e){return s.conversion(this.start,this.end,t,e)},s.conversion=function(t,e,i,s){return void 0===s&&(s=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-s)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;o(e);var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY;i-=this.deltaDifference;var s=this.props.touch.end-this.props.touch.start,n=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);s-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*s,h=this.props.touch.start+a,d=this.props.touch.end+a,c=l.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),p=l.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(c!=h||p!=d)return this.deltaDifference+=i,this.props.touch.start=c,this.props.touch.end=p,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},s.prototype._onDragEnd=function(){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r,e)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/(t.gesture.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=s-o,a=i-o+(this.props.touch.start-(i-o))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=1-e>0?!1:!0,this.endToFront=e-1>0?!1:!0;var d=l.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),c=l.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(d!=a||c!=h)&&(this.props.touch.start=d,this.props.touch.end=c,this.scaleOffset=1-t.gesture.scale,a=d,h=c),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var s=this.body.domProps.center.height;return e=this.conversion(s),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var s=l.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),o=l.getHiddenDurationBefore(this.body.hiddenDates,this,e),n=s-o,r=e-o+(this.start-(e-o))*t,a=e+n+(this.end-(e+n))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=l.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),d=l.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||d!=a)&&(r=h,a=d),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var s,o,n;for(s=0,o=t.length;o>s;s++)if(void 0!==t[s].data.subgroup){n=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i,o){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=o,void 0===o&&(this.hiddenDates=[]),this.format=s.FORMAT}var o=i(44),n=i(15),r=i(1);s.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},s.prototype.setFormat=function(t){var e=r.deepExtend({},s.FORMAT);this.format=r.deepExtend(e,t)},s.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1); +break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"hour":this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,s=864e5,o=36e5,n=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*s>t&&(this.scale="day",this.step=5),2*s>t&&(this.scale="day",this.step=2),s>t&&(this.scale="day",this.step=1),s/2>t&&(this.scale="weekday",this.step=1),4*o>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),15*n>t&&(this.scale="minute",this.step=15),10*n>t&&(this.scale="minute",this.step=10),5*n>t&&(this.scale="minute",this.step=5),n>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},s.snap=function(t,e,i){var s=new Date(t.valueOf());if("year"==e){var o=s.getFullYear()+Math.round(s.getMonth()/12);s.setFullYear(Math.round(o/i)*i),s.setMonth(0),s.setDate(0),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("month"==e)s.getDate()>15?(s.setDate(1),s.setMonth(s.getMonth()+1)):s.setDate(1),s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:s.setHours(24*Math.round(s.getHours()/24));break;default:s.setHours(12*Math.round(s.getHours()/12))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:s.setHours(12*Math.round(s.getHours()/12));break;default:s.setHours(6*Math.round(s.getHours()/6))}s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:s.setMinutes(60*Math.round(s.getMinutes()/60));break;default:s.setMinutes(30*Math.round(s.getMinutes()/30))}s.setSeconds(0),s.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:s.setMinutes(5*Math.round(s.getMinutes()/5)),s.setSeconds(0);break;case 5:s.setSeconds(60*Math.round(s.getSeconds()/60));break;default:s.setSeconds(30*Math.round(s.getSeconds()/30))}s.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:s.setSeconds(5*Math.round(s.getSeconds()/5)),s.setMilliseconds(0);break;case 5:s.setMilliseconds(1e3*Math.round(s.getMilliseconds()/1e3));break;default:s.setMilliseconds(500*Math.round(s.getMilliseconds()/500))}else if("millisecond"==e){var n=i>5?i/2:1;s.setMilliseconds(Math.round(s.getMilliseconds()/n)*n)}return s},s.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},s.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?o(t).format(e):""},s.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(o().add(1,"day"),"day")?" tomorrow":t.isSame(o().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function s(t){return t.isSame(new Date,"month")?" current-month":""}function n(t){return t.isSame(new Date,"year")?" current-year":""}var r=o(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-"+(d+4)),d+"h"+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),c=a.format("MMMM").toLowerCase();return"day"+l+" "+c+s(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+s(a)+t(a.month());case"year":var p=a.year();return"year"+p+n(a)+t(p);default:return""}},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(45),n=i(1);s.prototype.stack=!0,s.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setData=function(t){this.data=t,this.dirty=!0,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},s.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;if(e!==this.content){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},s.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("title")},s.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},s.prototype.show=r.prototype.show,s.prototype.hide=r.prototype.hide,s.prototype.repositionX=r.prototype.repositionX,s.prototype.repositionY=function(t){var e="top"===this.options.orientation;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var s=this.data.subgroup,o=this.parent.subgroups,r=o[s].index;if(1==e){i=this.parent.subgroups[s].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in o)o.hasOwnProperty(h)&&1==o[h].visible&&o[h].indexr&&(a+=o[h].height+t.item.vertical);i=this.parent.subgroups[s].height+t.item.vertical,this.dom.box.style.top=a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof n?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=s},function(t,e,i){function s(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);o.call(this,t,e,i)}{var o=i(20);i(1)}s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end);-i>s&&(s=-i),o>2*i&&(o=2*i);var n=Math.max(o-s,1);switch(this.overflow?(this.left=s,this.width=n+this.props.content.width,e=this.props.content.width):(this.left=s,this.width=n,e=Math.min(o-s-2*this.options.padding,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=n+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(n-e-2*this.options.padding,0)+"px";break;case"center":this.dom.content.style.left=Math.max((n-e-2*this.options.padding)/2,0)+"px";break;default:t=this.overflow?o>0?Math.max(-s,0):-e:0>s?Math.min(-s,o-s-e-2*this.options.padding):0,this.dom.content.style.left=t+"px"}},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=o.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var o=i(1),n=i(25),r=i(44),a=i(48);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),s=this.options.locales[this.options.locale],o=s.current+" "+s.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=i+"px",this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},s.prototype.setCurrentTime=function(t){var e=o.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},s.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1,locales:h,locale:"en"},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(25),a=i(44),h=i(48);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime","locale","locales"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale],s=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");s=s.charAt(0).toUpperCase()+s.substring(1),this.bar.style.left=e+"px",this.bar.title=s}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=n.convert(t,"Date"),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i,s){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}},title:{left:{text:void 0},right:{text:void 0}},format:{left:{decimals:void 0},right:{decimals:void 0}}},this.linegraphOptions=s,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.stepPixelsForced=25,this.zeroCrossing=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var n=this;this.body.emitter.on("verticalDrag",function(){n.dom.lineContainer.style.top=n.body.domProps.scrollTop+"px"})}var o=i(1),n=i(2),r=i(25),a=i(16);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","customRange","title","format","alignZeros"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(1!=this.groups[r].visible||void 0!==this.linegraphOptions.visibility[r]&&1!=this.linegraphOptions.visibility[r]||(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s));n.cleanupElements(this.svgElements),this.iconsRemoved=!1},s.prototype._cleanupIcons=function(){0==this.iconsRemoved&&(n.prepareElements(this.svgElements),n.cleanupElements(this.svgElements),this.iconsRemoved=!0)},s.prototype.show=function(){this.hidden=!1,this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.hidden=!0,this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){0==this.master&&1==this.options.alignZeros&&-1!=this.zeroCrossing&&t>0&&(t=0),this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(1!=this.groups[i].visible||void 0!==this.linegraphOptions.visibility[i]&&1!=this.linegraphOptions.visibility[i]||e++);if(0==this.amountOfGroups||0==e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var s=this.props,o=this.dom.frame;o.className="dataaxis",this._calculateCharSize();var n=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;s.minorLabelHeight=r?s.minorCharHeight:0,s.majorLabelHeight=a?s.majorCharHeight:0,s.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,s.minorLineHeight=1,s.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,s.majorLineHeight=1,"left"==n?(o.style.top="0",o.style.left="0",o.style.bottom="",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(o.style.top="",o.style.bottom="0",o.style.left="0",o.style.width=this.width+"px",o.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,1==this.options.icons?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(n) +}return t},s.prototype._redrawLabels=function(){var t=!1;n.prepareElements(this.DOMelements.lines),n.prepareElements(this.DOMelements.labels);var e=this.options.orientation,i=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,s=new a(this.range.start,this.range.end,i,this.dom.frame.offsetHeight,this.options.customRange[this.options.orientation],0==this.master&&this.options.alignZeros);this.step=s;var o=(this.dom.frame.offsetHeight-s.deadSpace*(this.dom.frame.offsetHeight/s.marginRange))/((s.marginRange-s.deadSpace)/s.step);this.stepPixels=o;var r=this.height/o,h=0;if(0==this.master){o=this.stepPixelsForced,h=Math.round(this.dom.frame.offsetHeight/o-r);for(var d=0;.5*h>d;d++)s.previous();if(r=this.height/o,-1!=this.zeroCrossing&&1==this.options.alignZeros){var l=s.marginEnd/s.step-this.zeroCrossing;if(l>0)for(var d=0;l>d;d++)s.next();else if(0>l)for(var d=0;-l>d;d++)s.previous()}}else r+=.25;this.valueAtZero=s.marginEnd;var c,p=0,u=1;void 0!==this.options.format[e]&&(c=this.options.format[e].decimals),this.maxLabelSize=0;for(var m=0;u=0&&this._redrawLabel(m-2,s.getCurrent(c),e,"yAxis major",this.props.majorCharHeight),this._redrawLine(m,e,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(m,e,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),1==this.master&&0==s.current&&(this.zeroCrossing=u),u++}this.conversionFactor=0==this.master?m/(this.valueAtZero-s.current):this.dom.frame.offsetHeight/s.marginRange;var g=0;void 0!==this.options.title[e]&&void 0!==this.options.title[e].text&&(g=this.props.titleCharHeight);var v=1==this.options.icons?Math.max(this.options.iconWidth,g)+this.options.labelOffsetX+15:g+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-v&&1==this.options.visible?(this.width=this.maxLabelSize+v,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+v),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(n.cleanupElements(this.DOMelements.lines),n.cleanupElements(this.DOMelements.labels),t=!1),t},s.prototype.convertValue=function(t){var e=this.valueAtZero-t,i=e*this.conversionFactor;return i},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=s,r.innerHTML=e,"left"==i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSized;d++){var c=this.visibleItems[d];c.repositionY(e)}return s},s.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var s=this;if(i.length){var n=i[0].top,r=i[0].top+i[0].height;if(o.forEach(i,function(t){n=Math.min(n,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(s.subgroups[t.data.subgroup].height=Math.max(s.subgroups[t.data.subgroup].height,t.height),s.subgroups[t.data.subgroup].visible=!0)}),n>t.axis){var a=n-t.axis;r-=a,o.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=t.axis+t.item.vertical;return e=Math.max(e,this.props.label.height)},s.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},s.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(n=0;nl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,n=0;nl})}for(n=0;n=0&&(n=e[r],!o(n));r--)void 0===s[n.id]&&(s[n.id]=!0,i.push(n));for(r=t+1;rs;s++){var n=this.visibleItems[s];n.repositionY(e)}return i},s.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={type:null,orientation:"bottom",align:"auto",stack:!0,groupOrder:null,selectable:!0,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20},padding:5},this.options=n.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var o=i(45),n=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),c=i(31),p=i(22),u=i(23),m=i(24),f=i(21),g="__ungrouped__",v="__background__";s.prototype=new d,s.types={background:f,box:p,range:m,point:u},s.prototype._create=function(){var t=document.createElement("div");t.className="itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="foreground",t.appendChild(i),this.dom.foreground=i;var s=document.createElement("div");s.className="axis",this.dom.axis=s;var n=document.createElement("div");n.className="labelset",this.dom.labelSet=n,this._updateUngrouped();var r=new c(v,null,this);r.show(),this.groups[v]=r,this.hammer=o(this.body.dom.centerContainer,{preventDefault:!0}),this.hammer.on("touch",this._onTouch.bind(this)),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("hold",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},s.prototype.setOptions=function(t){if(t){var e=["type","align","orientation","padding","stack","selectable","groupOrder","dataAttributes","template","hide","snap"];n.selectiveExtend(e,this.options,t),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(n.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&n.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&n.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},s.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&n.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},s.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},s.prototype.setSelection=function(t){var e,i,s,o;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},f=0,g=t.axis+t.item.vertical;return this.groups[v].redraw(e,m,c),n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,f+=t.height}),f=Math.max(f,g),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==o?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[g];return i||null},s.prototype._updateUngrouped=function(){{var t,e,i=this.groups[g];this.groups[v]}if(this.groupsData){if(i){i.hide(),delete this.groups[g];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var s=this._getGroupId(t.data),o=this.groups[s];o&&o.add(t)||t.hide()}}}else if(!i){var n=null,r=null;i=new l(n,r,this),this.groups[g]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},s.prototype.getGroups=function(){return this.groupsData},s.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},s.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},s.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?v:this.groupsData?t.group:g},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=e._getType(i),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==g||t==v)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new l(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change",{queue:!0})},s.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.setData(e),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)}},s.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:a})}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l=this.body.util.getScale(),c=this.body.util.getStep(),p={start:i?i(d,l,c):d,content:"new item"};if("range"===this.options.type){var u=this.body.util.toTime(h+this.props.width/5);p.end=i?i(u,l,c):u}p[this.itemsData._fieldId]=n.randomUUID();var m=this.groupFromTarget(t);m&&(p.group=m.groupId),this.options.onAdd(p,function(t){t&&e.itemsData.getDataSet().add(t)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=t.gesture.touches[0]&&t.gesture.touches[0].shiftKey||!1;if(o){e.push(i.id);var n=s._getItemRange(this.itemsData.get(e,this.itemOptions));e=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=n.min&&d<=n.max&&e.push(a.id)}}else{var l=e.indexOf(i.id);-1==l?e.push(i.id):e.splice(l,1)}this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()})}}},s._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"]; +e=e.parentNode}return null},s.prototype.groupFromTarget=function(t){for(var e=t.gesture.center.clientY,i=0;ia&&ea)return o}else if(0===i&&e"));this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(25),d=i(28),l=i(29),c=i(33),p=i(50),u="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),c={};for(this._getRelevantData(a,c,d,l),this._applySampling(a,c),e=0;eu&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;rs){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var s=0;s0){var n=1,r=o.length,a=this.body.util.toGlobalScreen(o[o.length-1].x)-this.body.util.toGlobalScreen(o[0].x),h=r/a;n=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=n)d.push(o[l]);e[t[s]]=d}}},s.prototype._getYRanges=function(t,e,i){var s,o,n,r,a=[],h=[];if(t.length>0){for(n=0;n0&&(o=this.groups[t[n]],"stack"==r.barChart.handleOverlap&&"bar"==r.style?"left"==r.yAxisOrientation?a=a.concat(o.getYRange(s)):h=h.concat(o.getYRange(s)):i[t[n]]=o.getYRange(s,t[n]));p.getStackedBarYRange(a,i,t,"__barchartLeft","left"),p.getStackedBarYRange(h,i,t,"__barchartRight","right")}},s.prototype._updateYAxis=function(t,e){var i,s,o=!1,n=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var c=0;ci?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l));1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(this.yAxisLeft.lineOffset=1==r?this.yAxisRight.width:0,o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,-1!=t.indexOf("__barchartLeft")&&t.splice(t.indexOf("__barchartLeft"),1),-1!=t.indexOf("__barchartRight")&&t.splice(t.indexOf("__barchartRight"),1),o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1;return 0==t?e.dom.frame.parentNode&&0==e.hidden&&(e.hide(),i=!0):e.dom.frame.parentNode||1!=e.hidden||(e.show(),i=!0),i},s.prototype._convertXcoordinates=function(t){for(var e,i,s=[],o=this.body.util.toScreen,n=0;ny;)y++,l=h.getCurrent(),c=h.isMajor(),u=h.getClassName(),f=m,m=this.body.util.toScreen(l),g=m-f,p&&(p.style.width=g+"px"),this.options.showMinorLabels&&this._repaintMinorText(m,h.getLabelMinor(),t,u),c&&this.options.showMajorLabels?(m>0&&(void 0==v&&(v=m),this._repaintMajorText(m,h.getLabelMajor(),t,u)),p=this._repaintMajorLine(m,t,u)):p=this._repaintMinorLine(m,t,u),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),_=h.getLabelMajor(b),x=_.length*(this.props.majorCharWidth||10)+10;(void 0==v||v>x)&&this._repaintMajorText(0,_,t,u)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i,s){var o=this.dom.redundant.minorTexts.shift();if(!o){var n=document.createTextNode("");o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.childNodes[0].nodeValue=e,o.style.top="top"==i?this.props.majorLabelHeight+"px":"0",o.style.left=t+"px",o.className="text minor "+s},s.prototype._repaintMajorText=function(t,e,i,s){var o=this.dom.redundant.majorTexts.shift();if(!o){var n=document.createTextNode(e);o=document.createElement("div"),o.appendChild(n),this.dom.foreground.appendChild(o)}this.dom.majorTexts.push(o),o.childNodes[0].nodeValue=e,o.className="text major "+s,o.style.top="top"==i?"0":this.props.minorLabelHeight+"px",o.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?o.majorLabelHeight+"px":this.body.domProps.top.height+"px",s.style.height=o.minorLineHeight+"px",s.style.left=t-o.minorLineWidth/2+"px",s.className="grid vertical minor "+i,s},s.prototype._repaintMajorLine=function(t,e,i){var s=this.dom.redundant.lines.shift();s||(s=document.createElement("div"),this.dom.background.appendChild(s)),this.dom.lines.push(s);var o=this.props;return s.style.top="top"==e?"0":this.body.domProps.top.height+"px",s.style.left=t-o.majorLineWidth/2+"px",s.style.height=o.majorLineHeight+"px",s.className="grid vertical major "+i,s},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="text major measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._determineBrowserMethod(),this._initializeMixinLoaders(),this.containerElement=t,this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=0,this.physicsTime=0,this.runDoubleSpeed=!1,this.physicsDiscreteStepsize=.5,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null};var o=function(t,e,i,s){if(e==t)return.5;var o=1/(e-t);return Math.max(0,(s-t)*o)};this.defaultOptions={nodes:{customScalingFunction:o,mass:1,radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fontColor:"black",fontSize:14,fontFace:"verdana",fontFill:void 0,fontStrokeWidth:0,fontStrokeColor:"#ffffff",fontDrawThreshold:3,scaleFontWithValue:!1,fontSizeMin:14,fontSizeMax:30,fontSizeMaxVisible:30,level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},group:void 0,borderWidth:1,borderWidthSelected:void 0},edges:{customScalingFunction:o,widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},opacity:1,fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",fontStrokeWidth:0,fontStrokeColor:"white",labelAlignment:"horizontal",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,thetaInverted:2,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2,clusterByZoom:!0},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD",layout:"hubsize"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},maxVelocity:50,minVelocity:.1,stabilize:!0,stabilizationIterations:1e3,zoomExtentOnStabilize:!0,locale:"en",locales:_,tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,width:"100%",height:"100%",selectable:!0},this.constants=a.extend({},this.defaultOptions),this.pixelRatio=1,this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1,this.navigationHammers={existing:[],_new:[]},this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.animating=!1,this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=null,this.lockedOnNodeOffset=null,this.touchTime=0;var n=this;this.groups=new u,this.images=new m,this.images.setOnloadCallback(function(){n._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulationEnabled=!1,this.cachedFunctions={},this.startedStabilization=!1,this.stabilized=!1,this.stabilizationIterations=null,this.draggingNodes=!1,this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){n._addNodes(e.items),n.start()},update:function(t,e){n._updateNodes(e.items,e.data),n.start()},remove:function(t,e){n._removeNodes(e.items),n.start()}},this.edgesListeners={add:function(t,e){n._addEdges(e.items),n.start()},update:function(t,e){n._updateEdges(e.items),n.start()},remove:function(t,e){n._removeEdges(e.items),n.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.constants.stabilize&&this.zoomExtent({duration:0},!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(56),n=i(45),r=i(59),a=i(1),h=i(47),d=i(3),l=i(4),c=i(42),p=i(43),u=i(38),m=i(39),f=i(40),g=i(37),v=i(41),y=i(52),b=i(53),_=i(54);i(55),o(s.prototype),s.prototype._determineBrowserMethod=function(){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,-1!=t.indexOf("msie 9.0")?this.requiresTimeout=!0:-1!=t.indexOf("safari")&&t.indexOf("chrome")<=-1&&(this.requiresTimeout=!0)},s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;e0)for(var r=0;re.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),se.boundingBox.left&&(o=e.boundingBox.left),ne.boundingBox.bottom&&(i=e.boundingBox.top),s.5*this.nodeIndices.length)return void this.zoomExtent(t,!1,i);s=this._getRange(t.nodes);var h=this.nodeIndices.length;o=1==this.constants.smoothCurves?1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?49.07548/(h+142.05338)+91444e-8:12.662/(h+7.4147)+.0964822:1==this.constants.clustering.enabled&&h>=this.constants.clustering.initialMaxNodes?77.5271985/(h+187.266146)+476710517e-13:30.5062972/(h+19.93597763)+.08413486; +var d=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);o*=d}else{s=this._getRange(t.nodes);var l=1.1*Math.abs(s.maxX-s.minX),c=1.1*Math.abs(s.maxY-s.minY),p=this.frame.canvas.clientWidth/l,u=this.frame.canvas.clientHeight/c;o=u>=p?p:u}o>1&&(o=1);var m=this._findCenter(s);if(0==i){var t={position:m,scale:o,animation:t};this.moveTo(t),this.moving=!0,this.start()}else m.x*=o,m.y*=o,m.x-=.5*this.frame.canvas.clientWidth,m.y-=.5*this.frame.canvas.clientHeight,this._setScale(o),this._setTranslation(-m.x,-m.y)},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),this._unselectAll(!0),this.initializing=!0,t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(1==this.constants.dataManipulation.enabled&&this._createManipulatorBar(),this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else if(t&&t.gephi){if(t&&t.gephi){var s=p.parseGephi(t.gephi);return void this.setData(s)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),0==e&&(1==this.constants.hierarchicalLayout.enabled?(this._resetLevels(),this._setupHierarchicalLayout()):1==this.constants.stabilize&&this._stabilize(),this.start()),this.initializing=!1},s.prototype.setOptions=function(t){if(t){var e,i=["nodes","edges","smoothCurves","hierarchicalLayout","clustering","navigation","keyboard","dataManipulation","onAdd","onEdit","onEditEdge","onConnect","onDelete","clickToUse"];if(a.selectiveNotDeepExtend(i,this.constants,t),a.selectiveNotDeepExtend(["color"],this.constants.nodes,t.nodes),a.selectiveNotDeepExtend(["color","length"],this.constants.edges,t.edges),t.physics&&(a.mergeOptions(this.constants.physics,t.physics,"barnesHut"),a.mergeOptions(this.constants.physics,t.physics,"repulsion"),t.physics.hierarchicalRepulsion)){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),a.mergeOptions(this.constants,t,"smoothCurves"),a.mergeOptions(this.constants,t,"hierarchicalLayout"),a.mergeOptions(this.constants,t,"clustering"),a.mergeOptions(this.constants,t,"navigation"),a.mergeOptions(this.constants,t,"keyboard"),a.mergeOptions(this.constants,t,"dataManipulation"),t.dataManipulation&&(this.editMode=this.constants.dataManipulation.initiallyVisible),t.edges&&(void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover)),this.constants.edges.inheritColor=!1),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color))),t.nodes&&t.nodes.color){var s=a.parseColor(t.nodes.color);this.constants.nodes.color.background=s.background,this.constants.nodes.color.border=s.border,this.constants.nodes.color.highlight.background=s.highlight.background,this.constants.nodes.color.highlight.border=s.highlight.border,this.constants.nodes.color.hover.background=s.hover.background,this.constants.nodes.color.hover.border=s.hover.border}if(t.groups)for(var o in t.groups)if(t.groups.hasOwnProperty(o)){var n=t.groups[o];this.groups.add(o,n)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}if("clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new b(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):this.activator&&(this.activator.destroy(),delete this.activator)),t.labels)throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.');this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._bindHammer(),this._createKeyBinds(),this._markAllEdgesAsDirty(),this.setSize(this.constants.width,this.constants.height),this.moving=!0,this.start()}},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this._bindHammer()},s.prototype._bindHammer=function(){var t=this;void 0!==this.hammer&&this.hammer.dispose(),this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",t._onTap.bind(t)),this.hammer.on("doubletap",t._onDoubleTap.bind(t)),this.hammer.on("hold",t._onHold.bind(t)),this.hammer.on("touch",t._onTouch.bind(t)),this.hammer.on("dragstart",t._onDragStart.bind(t)),this.hammer.on("drag",t._onDrag.bind(t)),this.hammer.on("dragend",t._onDragEnd.bind(t)),1==this.constants.zoomable&&(this.hammer.on("mousewheel",t._onMouseWheel.bind(t)),this.hammer.on("DOMMouseScroll",t._onMouseWheel.bind(t)),this.hammer.on("pinch",t._onPinch.bind(t))),this.hammer.on("mousemove",t._onMouseMoveTitle.bind(t)),this.hammerFrame=n(this.frame,{prevent_default:!0}),this.hammerFrame.on("release",t._onRelease.bind(t)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=r(1==this.constants.keyboard.bindToWindow?{container:window,preventDefault:!1}:{container:this.frame,preventDefault:!1}),this.keycharm.reset(),this.constants.keyboard.enabled&&this.isActive()&&(this.keycharm.bind("up",this._moveUp.bind(t),"keydown"),this.keycharm.bind("up",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("down",this._moveDown.bind(t),"keydown"),this.keycharm.bind("down",this._yStopMoving.bind(t),"keyup"),this.keycharm.bind("left",this._moveLeft.bind(t),"keydown"),this.keycharm.bind("left",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("right",this._moveRight.bind(t),"keydown"),this.keycharm.bind("right",this._xStopMoving.bind(t),"keyup"),this.keycharm.bind("=",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("=",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num+",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("num+",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("num-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("num-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("-",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("-",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("[",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("[",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("]",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("]",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pageup",this._zoomIn.bind(t),"keydown"),this.keycharm.bind("pageup",this._stopZoom.bind(t),"keyup"),this.keycharm.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.keycharm.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.keycharm.bind("esc",this._createManipulatorBar.bind(t)),this.keycharm.bind("delete",this._deleteSelected.bind(t)))},s.prototype.destroy=function(){this.start=function(){},this.redraw=function(){},this.timer=!1,this._cleanupPhysicsConfiguration(),this.keycharm.reset(),this.hammer.dispose(),this.off(),this._recursiveDOMDelete(this.containerElement)},s.prototype._recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)this._recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){(new Date).valueOf()-this.touchTime>100&&(this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this.touchTime=(new Date).valueOf(),this._handleTouch(this.drag.pointer))},s.prototype._onDragStart=function(t){this._handleDragStart(t)},s.prototype._handleDragStart=function(t){void 0===this.drag.pointer&&this._onTouch(t);var e=this._getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=this._getTranslation(),this.drag.nodeId=null,this.draggingNodes=!1,null!=e&&1==this.constants.dragNodes){this.draggingNodes=!0,this.drag.nodeId=e.id,e.isSelected()||this._selectObject(e,!1),this.emit("dragStart",{nodeIds:this.getSelection().nodes});for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,this.drag.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){this.releaseNode();var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(t){this._handleDragEnd(t)},s.prototype._handleDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.length?(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()):this._redraw(),0==this.draggingNodes?this.emit("dragEnd",{nodeIds:[]}):this.emit("dragEnd",{nodeIds:this.getSelection().nodes})},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i),0==this.constants.keyboard.bindToWindow&&1==this.constants.keyboard.enabled&&this.frame.focus();var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof f&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj,o=!1;if(void 0==this.popupObj){var n=this.nodes,r=[];for(e in n)if(n.hasOwnProperty(e)){var a=n[e];a.isOverlappingWith(i)&&void 0!==a.getTitle()&&r.push(e)}r.length>0&&(this.popupObj=this.nodes[r[r.length-1]],o=!0)}if(void 0===this.popupObj&&0==o){var h=this.edges,d=[];for(e in h)if(h.hasOwnProperty(e)){var l=h[e];l.connected&&void 0!==l.getTitle()&&l.isOverlappingWith(i)&&d.push(e)}d.length>0&&(this.popupObj=this.edges[d[d.length-1]])}if(this.popupObj){if(this.popupObj!=s){var c=this;c.popup||(c.popup=new v(c.frame,c.constants.tooltip)),c.popup.setPosition(t.x-3,t.y-3),c.popup.setText(c.popupObj.getTitle()),c.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){var i=!1,s=this.frame.canvas.width,o=this.frame.canvas.height;t!=this.constants.width||e!=this.constants.height||this.frame.style.width!=t||this.frame.style.height!=e?(this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,this.constants.width=t,this.constants.height=e,i=!0):(this.frame.canvas.width!=this.frame.canvas.clientWidth*this.pixelRatio&&(this.frame.canvas.width=this.frame.canvas.clientWidth*this.pixelRatio,i=!0),this.frame.canvas.height!=this.frame.canvas.clientHeight*this.pixelRatio&&(this.frame.canvas.height=this.frame.canvas.clientHeight*this.pixelRatio,i=!0)),1==i&&this.emit("resize",{width:this.frame.canvas.width*this.pixelRatio,height:this.frame.canvas.height*this.pixelRatio,oldWidth:s*this.pixelRatio,oldHeight:o*this.pixelRatio})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(Array.isArray(t))this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new f(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length+10,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t,e){for(var i=this.nodes,s=0,o=t.length;o>s;s++){var n=t[s],r=i[n],a=e[s];r?r.setProperties(a,this.constants):(r=new f(properties,this.images,this.groups,this.constants),i[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._updateValueRange(i),this._markAllEdgesAsDirty()},s.prototype._markAllEdgesAsDirty=function(){for(var t in this.edges)this.edges[t].colorDirty=!0},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.nodes[t[i]]&&(this.nodes[t[i]].unselect(),this._removeFromSelection(this.nodes[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(Array.isArray(t))this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout())},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++)void 0!==this.selectionObj.edges[t[i]]&&(e[t[i]].unselect(),this._removeFromSelection(e[t[i]]));for(var i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[],e[t].dynamicEdges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0,o=0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s),o+=n)}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s,o)},s.prototype.redraw=function(){this.setSize(this.constants.width,this.constants.height),this._redraw()},s.prototype._redraw=function(t){var e=this.frame.canvas.getContext("2d");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.frame.canvas.clientWidth,s=this.frame.canvas.clientHeight;e.clearRect(0,0,i,s),e.save(),e.translate(this.translation.x,this.translation.y),e.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},1!=t&&(this._doInAllSectors("_drawAllSectorNodes",e),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",e)),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",e,!1),1!=t&&1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",e),e.restore(),1==t&&e.clearRect(0,0,i,s)},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);return o>.5*this.constants.maxVelocity?!0:this._isMoving(o)}return!1},s.prototype._revertPhysicsState=function(){var t=this.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].revertPosition()},s.prototype._revertPhysicsTick=function(){this._doInAllActiveSectors("_revertPhysicsState"),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&this._doInSupportSector("_revertPhysicsState")},s.prototype._physicsTick=function(){if(!this.freezeSimulationEnabled&&1==this.moving){var t=!1,e=!1;this._doInAllActiveSectors("_initializeForceCalculation");var i=this._doInAllActiveSectors("_discreteStepNodes");1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic&&(e=this._doInSupportSector("_discreteStepNodes"));for(var s=0;s2*e||1==this.runDoubleSpeed)&&1==this.moving&&(this._physicsTick(),0!=this.renderTime&&(this.runDoubleSpeed=!0))}var i=Date.now();this._redraw(),this.renderTime=Date.now()-i,this.start()},"undefined"!=typeof window&&(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),s.prototype.start=function(){if(1==this.moving||0!=this.xIncrement||0!=this.yIncrement||0!=this.zoomIncrement||1==this.animating)this.timer||(this.timer=1==this.requiresTimeout?window.setTimeout(this._animationStep.bind(this),this.renderTimestep):window.requestAnimationFrame(this._animationStep.bind(this)));else if(this._redraw(),this.stabilizationIterations>1){var t=this,e={iterations:t.stabilizationIterations};this.stabilizationIterations=0,this.startedStabilization=!1,setTimeout(function(){t.emit("stabilized",e)},0)}else this.stabilizationIterations=0},s.prototype._handleNavigation=function(){if(0!=this.xIncrement||0!=this.yIncrement){var t=this._getTranslation();this._setTranslation(t.x+this.xIncrement,t.y+this.yIncrement)}if(0!=this.zoomIncrement){var e={x:this.frame.canvas.clientWidth/2,y:this.frame.canvas.clientHeight/2};this._zoom(this.scale*(1+this.zoomIncrement),e)}},s.prototype.freezeSimulation=function(t){1==t?(this.freezeSimulationEnabled=!0,this.moving=!1):(this.freezeSimulationEnabled=!1,this.moving=!0,this.start())},s.prototype._configureSmoothCurves=function(t){if(void 0===t&&(t=!0),1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this._createBezierNodes();for(var e in this.sectors.support.nodes)this.sectors.support.nodes.hasOwnProperty(e)&&void 0===this.edges[this.sectors.support.nodes[e].parentEdgeId]&&delete this.sectors.support.nodes[e]}else{this.sectors.support.nodes={};for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.edges[i].via=null)}this._updateCalculationNodes(),t||(this.moving=!0,this.start())},s.prototype._createBezierNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic)for(var t in this.edges)if(this.edges.hasOwnProperty(t)){var e=this.edges[t];if(null==e.via){var i="edgeId:".concat(e.id);this.sectors.support.nodes[i]=new f({id:i,mass:1,shape:"circle",image:"",internalMultiplier:1},{},{},this.constants),e.via=this.sectors.support.nodes[i],e.via.parentEdgeId=e.id,e.positionBezierNode()}}},s.prototype._initializeMixinLoaders=function(){for(var t in y)y.hasOwnProperty(t)&&(s.prototype[t]=y[t])},s.prototype.storePosition=function(){console.log("storePosition is depricated: use .storePositions() from now on."),this.storePositions()},s.prototype.storePositions=function(){var t=[];for(var e in this.nodes)if(this.nodes.hasOwnProperty(e)){var i=this.nodes[e],s=!this.nodes.xFixed,o=!this.nodes.yFixed;(this.nodesData._data[e].x!=Math.round(i.x)||this.nodesData._data[e].y!=Math.round(i.y))&&t.push({id:e,x:Math.round(i.x),y:Math.round(i.y),allowedToMoveX:s,allowedToMoveY:o})}this.nodesData.update(t)},s.prototype.getPositions=function(t){var e={};if(void 0!==t){if(1==Array.isArray(t)){for(var i=0;i=1&&(this.animating=!1,this.easingTime=0,this._redraw=null!=this.lockedOnNodeId?this._lockedRedraw:this._classicRedraw,this.emit("animationFinished")) +},s.prototype._classicRedraw=function(){},s.prototype.isActive=function(){return!this.activator||this.activator.active},s.prototype.setScale=function(){return this._setScale()},s.prototype.getScale=function(){return this._getScale()},s.prototype.getCenterCoordinates=function(){return this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight})},s.prototype.getBoundingBox=function(t){return void 0!==this.nodes[t]?this.nodes[t].boundingBox:void 0},s.prototype.getConnectedNodes=function(t){var e=[];if(void 0!==this.nodes[t])for(var i=this.nodes[t],s={nodeId:!0},o=0;oh}return!1},s.prototype._getColor=function(){var t=this.options.color;return this.colorDirty===!0&&("to"==this.options.inheritColor?t={highlight:this.to.options.color.highlight.border,hover:this.to.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}:("from"==this.options.inheritColor||1==this.options.inheritColor)&&(t={highlight:this.from.options.color.highlight.border,hover:this.from.options.color.hover.border,color:o.overrideOpacity(this.from.options.color.border,this.options.opacity)}),this.options.color=t,this.colorDirty=!1),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.options.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.physics.springLength/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.max(Math.min(this.widthSelected,this.options.widthMax),.3*this.networkScaleInv):1==this.hover?Math.max(Math.min(this.options.hoverWidth,this.options.widthMax),.3*this.networkScaleInv):Math.max(this.options.width,.3*this.networkScaleInv)},s.prototype._getViaCoordinates=function(){if(1==this.options.smoothCurves.dynamic&&1==this.options.smoothCurves.enabled)return this.via;if(0==this.options.smoothCurves.enabled)return{x:0,y:0};var t=null,e=null,i=this.options.smoothCurves.roundness,s=this.options.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"==s&&(t=i*n>o?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yd;d++){var l=t.measureText(n[d]).width;h=l>h?l:h}var c=this.options.fontSize*r,p=i-h/2,u=s-c/2;this.labelDimensions={top:u,left:p,width:h,height:c,yLine:o}}var o=this.labelDimensions.yLine;t.save(),"horizontal"!=this.options.labelAlignment&&(t.translate(i,o),this._rotateForLabelAlignment(t),i=0,o=0),this._drawLabelRect(t),this._drawLabelText(t,i,o,n,r,a),t.restore()}},s.prototype._rotateForLabelAlignment=function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,s=Math.atan2(e,i);(-1>s&&0>i||s>0&&0>i)&&(s+=Math.PI),t.rotate(s)},s.prototype._drawLabelRect=function(t){if(void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill){t.fillStyle=this.options.fontFill;var e=2;"line-center"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,.5*-this.labelDimensions.height,this.labelDimensions.width,this.labelDimensions.height):"line-above"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,-(this.labelDimensions.height+e),this.labelDimensions.width,this.labelDimensions.height):"line-below"==this.options.labelAlignment?t.fillRect(.5*-this.labelDimensions.width,e,this.labelDimensions.width,this.labelDimensions.height):t.fillRect(this.labelDimensions.left,this.labelDimensions.top,this.labelDimensions.width,this.labelDimensions.height)}},s.prototype._drawLabelText=function(t,e,i,s,o,n){if(t.fillStyle=this.options.fontColor||"black",t.textAlign="center","horizontal"!=this.options.labelAlignment){var r=2;"line-above"==this.options.labelAlignment?(t.textBaseline="alphabetic",i-=2*r):"line-below"==this.options.labelAlignment?(t.textBaseline="hanging",i+=2*r):t.textBaseline="middle"}else t.textBaseline="middle";this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=this.options.fontStrokeColor,t.lineJoin="round");for(var a=0;o>a;a++)this.options.fontStrokeWidth>0&&t.strokeText(s[a],e,i),t.fillText(s[a],e,i),i+=n},s.prototype._drawDashLine=function(t){t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth();var e=null;if(void 0!==t.setLineDash){t.save();var i=[0];i=void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?[this.options.dash.length,this.options.dash.gap]:[5,5],t.setLineDash(i),t.lineDashOffset=0,e=this._line(t),t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else t.beginPath(),t.lineCap="round",void 0!==this.options.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap,this.options.dash.altLength,this.options.dash.gap]):void 0!==this.options.dash.length&&void 0!==this.options.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.options.dash.length,this.options.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var s;if(1==this.options.smoothCurves.enabled&&null!=e){var o=.5*(.5*(this.from.x+e.x)+.5*(this.to.x+e.x)),n=.5*(.5*(this.from.y+e.y)+.5*(this.to.y+e.y));s={x:o,y:n}}else s=this._pointOnLine(.5);this._label(t,this.label,s.x,s.y)}},s.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},s.prototype._pointOnCircle=function(t,e,i,s){var o=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}},s.prototype._drawArrowCenter=function(t){var e;if(t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth(),this.from!=this.to){var i=this._line(t),s=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),o=(10+5*this.options.width)*this.options.arrowScaleFactor;if(1==this.options.smoothCurves.enabled&&null!=i){var n=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),r=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:n,y:r}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var a,h,d=.25*Math.max(100,this.physics.springLength),l=this.from;l.width||l.resize(t),l.width>l.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.options.width)*this.options.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._pointOnBezier=function(t){var e=this._getViaCoordinates(),i=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.to.x,s=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.to.y;return{x:i,y:s}},s.prototype._findBorderPosition=function(t,e){var i,s,o,n,r,a=10,h=0,d=0,l=1,c=.2,p=this.to;for(1==t&&(p=this.from);l>=d&&a>h;){var u=.5*(d+l);if(i=this._pointOnBezier(u),s=Math.atan2(p.y-i.y,p.x-i.x),o=p.distanceToBorder(e,s),n=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=o-n,Math.abs(r)r?0==t?d=u:l=u:0==t?l=u:d=u,h++}return i.t=u,i},s.prototype._drawArrow=function(t){t.strokeStyle=this._getColor(),t.fillStyle=t.strokeStyle,t.lineWidth=this._getLineWidth();var e,i,s;if(this.from!=this.to){if(this._line(t),1==this.options.smoothCurves.enabled){var o=this._getViaCoordinates();s=this._findBorderPosition(!1,t);var n=this._pointOnBezier(Math.max(0,s.t-.1));e=Math.atan2(s.y-n.y,s.x-n.x)}else{e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var r=this.to.x-this.from.x,a=this.to.y-this.from.y,h=Math.sqrt(r*r+a*a),d=this.to.distanceToBorder(t,e),l=(h-d)/h;s={},s.x=(1-l)*this.from.x+l*this.to.x,s.y=(1-l)*this.from.y+l*this.to.y}if(i=(10+5*this.options.width)*this.options.arrowScaleFactor,t.arrow(s.x,s.y,e,i),t.fill(),t.stroke(),this.label){var c;c=1==this.options.smoothCurves.enabled&&null!=o?this._pointOnBezier(.5):this._pointOnLine(.5),this._label(t,this.label,c.x,c.y)}}else{var p,u,m,f=this.from,g=.25*Math.max(100,this.physics.springLength);f.width||f.resize(t),f.width>f.height?(p=f.x+.5*f.width,u=f.y-g,m={x:p,y:f.y,angle:.9*Math.PI}):(p=f.x+g,u=f.y-.5*f.height,m={x:f.x,y:u,angle:.6*Math.PI}),t.beginPath(),t.arc(p,u,g,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.options.width)*this.options.arrowScaleFactor;t.arrow(m.x,m.y,m.angle,i),t.fill(),t.stroke(),this.label&&(c=this._pointOnCircle(p,u,g,.5),this._label(t,this.label,c.x,c.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){var r=0;if(this.from!=this.to)if(1==this.options.smoothCurves.enabled){var a,h;if(1==this.options.smoothCurves.enabled&&1==this.options.smoothCurves.dynamic)a=this.via.x,h=this.via.y;else{var d=this._getViaCoordinates();a=d.x,h=d.y}var l,c,p,u,m,f,g,v=1e9;for(c=0;10>c;c++)p=.1*c,u=Math.pow(1-p,2)*t+2*p*(1-p)*a+Math.pow(p,2)*i,m=Math.pow(1-p,2)*e+2*p*(1-p)*h+Math.pow(p,2)*s,c>0&&(l=this._getDistanceToLine(f,g,u,m,o,n),v=v>l?l:v),f=u,g=m;r=v}else r=this._getDistanceToLine(t,e,i,s,o,n);else{var u,m,y,b,_=.25*this.physics.springLength,x=this.from;x.width>x.height?(u=x.x+.5*x.width,m=x.y-_):(u=x.x+_,m=x.y-.5*x.height),y=u-o,b=m-n,r=Math.abs(Math.sqrt(y*y+b*b)-_)}return this.labelDimensions.lefto&&this.labelDimensions.topn?0:r},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&null!==this.from&&null!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):null!==this.via&&(this.via.x=0,this.via.y=0)},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:7,borderWidth:2,borderWidthSelected:2},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}this.controlNodes.positions={},0==this.controlNodes.from.selected&&(this.controlNodes.positions.from=this.getControlNodeFromPosition(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y),0==this.controlNodes.to.selected&&(this.controlNodes.positions.to=this.getControlNodeToPosition(t),this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.fromBackup=this.from,this.toBackup=this.to,this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.fromId=this.from.id,this.toId=this.to.id,this.fromId!=this.fromBackup.id?this.fromBackup.detachEdge(this):this.toId!=this.toBackup.id&&this.toBackup.detachEdge(this),this.fromBackup=null,this.toBackup=null,this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected?(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()):1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodeFromPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!0,t);else{var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n;e={},e.x=a*this.from.x+(1-a)*this.to.x,e.y=a*this.from.y+(1-a)*this.to.y}return e},s.prototype.getControlNodeToPosition=function(t){var e;if(1==this.options.smoothCurves.enabled)e=this._findBorderPosition(!1,t);else{var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.to.distanceToBorder(t,i),a=(n-r)/n;e={},e.x=(1-a)*this.from.x+a*this.to.x,e.y=(1-a)*this.from.y+a*this.to.y}return e},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e},t.exports=s},function(t){function e(){this.images={},this.imageBroken={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var s=this;i=new Image,i.onload=function(){0==this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),s.callback&&(s.images[t]=i,s.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,s.callback&&s.callback(this)):s.imageBroken[t]===!0?this.src==e?(console.error("Could not load brokenImage:",e),delete this.src,s.callback&&s.callback(this)):(console.error("Could not load image:",t),this.src=e):(console.error("Could not load image:",t),this.src=e,s.imageBroken[t]=!0)},i.src=t}return i},t.exports=e},function(t,e,i){function s(t,e,i,s){var n=o.selectiveBridgeObject(["nodes"],s);this.options=n.nodes,this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.id=void 0,this.allowedToMoveX=!1,this.allowedToMoveY=!1,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.level=-1,this.preassignedLevel=!1,this.hierarchyEnumerated=!1,this.labelDimensions={top:0,left:0,width:0,height:0,yLine:0},this.boundingBox={top:0,left:0,right:0,bottom:0},this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.x=null,this.y=null,this.predefinedPosition=!1,this.previousState={vx:0,vy:0,x:0,y:0},this.damping=s.physics.damping,this.fixedData={x:null,y:null},this.setProperties(t,n),this.resetCluster(),this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.revertPosition=function(){this.x=this.previousState.x,this.y=this.previousState.y,this.vx=this.previousState.vx,this.vy=this.previousState.vy},s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t)},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&this.edges.splice(e,1),e=this.dynamicEdges.indexOf(t),-1!=e&&this.dynamicEdges.splice(e,1)},s.prototype.setProperties=function(t,e){if(t){var i=["borderWidth","borderWidthSelected","shape","image","brokenImage","radius","fontColor","fontSize","fontFace","fontFill","fontStrokeWidth","fontStrokeColor","group","mass","fontDrawThreshold","scaleFontWithValue","fontSizeMaxVisible","customScalingFunction"];if(o.selectiveDeepExtend(i,this.options,t),void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.x&&(this.x=t.x,this.predefinedPosition=!0),void 0!==t.y&&(this.y=t.y,this.predefinedPosition=!0),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if("number"==typeof t.group||"string"==typeof t.group&&""!=t.group){var s=this.grouplist.get(t.group);o.deepExtend(this.options,s),this.options.color=o.parseColor(this.options.color)}if(void 0!==t.radius&&(this.baseRadiusValue=this.options.radius),void 0!==t.color&&(this.options.color=o.parseColor(t.color)),void 0!==this.options.image&&""!=this.options.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage)}switch(void 0!==t.allowedToMoveX?(this.xFixed=!t.allowedToMoveX,this.allowedToMoveX=t.allowedToMoveX):void 0!==t.x&&0==this.allowedToMoveX&&(this.xFixed=!0),void 0!==t.allowedToMoveY?(this.yFixed=!t.allowedToMoveY,this.allowedToMoveY=t.allowedToMoveY):void 0!==t.y&&0==this.allowedToMoveY&&(this.yFixed=!0),this.radiusFixed=this.radiusFixed||void 0!==t.radius,("image"===this.options.shape||"circularImage"===this.options.shape)&&(this.options.radiusMin=e.nodes.widthMin,this.options.radiusMax=e.nodes.widthMax),this.options.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"circularImage":this.draw=this._drawCircularImage,this.resize=this._resizeCircularImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.options.shape){case"circle":case"dot":return this.options.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.storeState=function(){this.previousState.x=this.x,this.previousState.y=this.y,this.previousState.vx=this.vx,this.previousState.vy=this.vy},s.prototype.discreteStep=function(t){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var e=this.damping*this.vx,i=(this.fx-e)/this.options.mass;this.vx+=i*t,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var s=this.damping*this.vy,o=(this.fy-s)/this.options.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.storeState(),this.xFixed)this.fx=0,this.vx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.options.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0,this.vy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.options.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){var e=Math.sqrt(Math.pow(this.vx,2)+Math.pow(this.vy,2));return e>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e,i){if(!this.radiusFixed&&void 0!==this.value){var s=this.options.customScalingFunction(t,e,i,this.value),o=this.options.radiusMax-this.options.radiusMin;if(1==this.options.scaleFontWithValue){var n=this.options.fontSizeMax-this.options.fontSizeMin;this.options.fontSize=this.options.fontSizeMin+s*n}this.options.radius=this.options.radiusMin+s*o}this.baseRadiusValue=this.options.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.options.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.options.radius||this.imageObj.width,e=this.options.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImageAtPosition=function(t){if(0!=this.imageObj.width){if(this.clusterSize>1){var e=this.clusterSize>1?10:0;e*=this.networkScaleInv,e=Math.min(.2*this.width,e),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-e,this.top-e,this.width+2*e,this.height+2*e)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height)}},s.prototype._drawImageLabel=function(t){var e,i=0;if(this.height){i=this.height/2;var s=this.getTextSize(t);s.lineCount>=1&&(i+=s.height/2,i+=3)}e=this.y+i,this._label(t,this.label,this.x,e,void 0)},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawImageAtPosition(t),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height) +},s.prototype._resizeCircularImage=function(t){if(this.imageObj.src&&this.imageObj.width&&this.imageObj.height)this._swapToImageResizeWhenImageLoaded&&(this.width=0,this.height=0,delete this._swapToImageResizeWhenImageLoaded),this._resizeImage(t);else if(!this.width){var e=2*this.options.radius;this.width=e,this.height=e,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*e,this._swapToImageResizeWhenImageLoaded=!0}},s.prototype._drawCircularImage=function(t){this._resizeCircularImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=this.left+this.width/2,i=this.top+this.height/2,s=Math.abs(this.height/2);this._drawRawCircle(t,e,i,s),t.save(),t.circle(this.x,this.y,s),t.stroke(),t.clip(),this._drawImageAtPosition(t),t.restore(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._drawImageLabel(t),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height)},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.options.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.options.borderWidth,s=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.options.radius=s/2,this.width=s,this.height=s,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.options.radius-.5*s}},s.prototype._drawRawCircle=function(t,e,i,s){var o=2.5,n=this.options.borderWidth,r=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(e,i,s+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?r:n)+(this.clusterSize>1?o:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.circle(this.x,this.y,s),t.fill(),t.stroke()},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._drawRawCircle(t,this.x,this.y,this.options.radius),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.options.radius=this.baseRadiusValue;var t=2*this.options.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.options.borderWidth,o=this.options.borderWidthSelected||2*this.options.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.options.color.highlight.border:this.hover?this.options.color.hover.border:this.options.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.options.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.options.color.highlight.background:this.hover?this.options.color.hover.background:this.options.color.background,t[e](this.x,this.y,this.options.radius),t.fill(),t.stroke(),this.boundingBox.top=this.y-this.options.radius,this.boundingBox.left=this.x-this.options.radius,this.boundingBox.right=this.x+this.options.radius,this.boundingBox.bottom=this.y+this.options.radius,this.label&&(this._label(t,this.label,this.x,this.y+this.height/2,void 0,"hanging",!0),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelDimensions.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelDimensions.left+this.labelDimensions.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelDimensions.height))},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.options.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y),this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height},s.prototype._label=function(t,e,i,s,n,r,a){var h=Number(this.options.fontSize)*this.networkScale;if(e&&h>=this.options.fontDrawThreshold-1){var d=Number(this.options.fontSize);h>=this.options.fontSizeMaxVisible&&(d=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv);var l=this.options.fontColor||"#000000",c=this.options.fontStrokeColor;if(h<=this.options.fontDrawThreshold){var p=Math.max(0,Math.min(1,1-(this.options.fontDrawThreshold-h)));l=o.overrideOpacity(l,p),c=o.overrideOpacity(c,p)}t.font=(this.selected?"bold ":"")+d+"px "+this.options.fontFace;var u=e.split("\n"),m=u.length,f=s+(1-m)/2*d;1==a&&(f=s+(1-m)/(2*d));for(var g=t.measureText(u[0]).width,v=1;m>v;v++){var y=t.measureText(u[v]).width;g=y>g?y:g}var b=d*m,_=i-g/2,x=s-b/2;"hanging"==r&&(x+=.5*d,x+=4,f+=4),this.labelDimensions={top:x,left:_,width:g,height:b,yLine:f},void 0!==this.options.fontFill&&null!==this.options.fontFill&&"none"!==this.options.fontFill&&(t.fillStyle=this.options.fontFill,t.fillRect(_,x,g,b)),t.fillStyle=l,t.textAlign=n||"center",t.textBaseline=r||"middle",this.options.fontStrokeWidth>0&&(t.lineWidth=this.options.fontStrokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var v=0;m>v;v++)this.options.fontStrokeWidth&&t.strokeText(u[v],i,f),t.fillText(u[v],i,f),f+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){var e=Number(this.options.fontSize);e*this.networkScale>this.options.fontSizeMaxVisible&&(e=Number(this.options.fontSizeMaxVisible)*this.networkScaleInv),t.font=(this.selected?"bold ":"")+e+"px "+this.options.fontFace;for(var i=this.label.split("\n"),s=(e+4)*i.length,o=0,n=0,r=i.length;r>n;n++)o=Math.max(o,t.measureText(i[n]).width);return{width:o,height:s,lineCount:i.length}}return{width:0,height:0,lineCount:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(N=D.NULL,k="";" "==E||" "==E||"\n"==E||"\r"==E;)o();do{var t=!1;if("#"==E){for(var e=O-1;" "==T.charAt(e)||" "==T.charAt(e);)e--;if("\n"==T.charAt(e)||""==T.charAt(e)){for(;""!=E&&"\n"!=E;)o();t=!0}}if("/"==E&&"/"==n()){for(;""!=E&&"\n"!=E;)o();t=!0}if("/"==E&&"*"==n()){for(;""!=E;){if("*"==E&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==E||" "==E||"\n"==E||"\r"==E;)o()}while(t);if(""==E)return void(N=D.DELIMITER);var i=E+n();if(C[i])return N=D.DELIMITER,k=i,o(),void o();if(C[E])return N=D.DELIMITER,k=E,void o();if(r(E)||"-"==E){for(k+=E,o();r(E);)k+=E,o();return"false"==k?k=!1:"true"==k?k=!0:isNaN(Number(k))||(k=Number(k)),void(N=D.IDENTIFIER)}if('"'==E){for(o();""!=E&&('"'!=E||'"'==E&&'"'==n());)k+=E,'"'==E&&o(),o();if('"'!=E)throw x('End of string " expected');return o(),void(N=D.IDENTIFIER)}for(N=D.UNKNOWN;""!=E;)k+=E,o();throw new SyntaxError('Syntax error in part "'+w(k,30)+'"')}function u(){var t={};if(s(),p(),"strict"==k&&(t.strict=!0,p()),("graph"==k||"digraph"==k)&&(t.type=k,p()),N==D.IDENTIFIER&&(t.id=k,p()),"{"!=k)throw x("Angle bracket { expected");if(p(),m(t),"}"!=k)throw x("Angle bracket } expected");if(p(),""!==k)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==k&&"}"!=k;)f(t),";"==k&&p()}function f(t){var e=g(t);if(e)return void b(t,e);var i=v(t);if(!i){if(N!=D.IDENTIFIER)throw x("Identifier expected");var s=k;if(p(),"="==k){if(p(),N!=D.IDENTIFIER)throw x("Identifier expected");t[s]=k,p()}else y(t,s)}}function g(t){var e=null;if("subgraph"==k&&(e={},e.type="subgraph",p(),N==D.IDENTIFIER&&(e.id=k,p())),"{"==k){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=k)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==k?(p(),t.node=_(),"node"):"edge"==k?(p(),t.edge=_(),"edge"):"graph"==k?(p(),t.graph=_(),"graph"):null}function y(t,e){var i={id:e},s=_();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==k||"--"==k;){var i,s=k;p();var o=g(t);if(o)i=o;else{if(N!=D.IDENTIFIER)throw x("Identifier or subgraph expected");i=k,d(t,{id:i}),p()}var n=_(),r=c(t,e,i,s,n);l(t,r),e=i}}function _(){for(var t=null;"["==k;){for(p(),t={};""!==k&&"]"!=k;){if(N!=D.IDENTIFIER)throw x("Attribute name expected");var e=k;if(p(),"="!=k)throw x("Equal sign = expected");if(p(),N!=D.IDENTIFIER)throw x("Attribute value expected");var i=k;h(t,e,i),p(),","==k&&p()}if("]"!=k)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+w(k,30)+'" (char '+O+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function S(t){var e=i(t),s={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),s.nodes.push(e)}),e.edges){var o=function(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e};e.edges.forEach(function(t){var e,i;e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=o(t);s.edges.push(e)}),M(e,i,function(e,i){var n=c(s,e.id,i.id,t.type,t.attr),r=o(n);s.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=o(t);s.edges.push(e)})})}return e.attr&&(s.options=e.attr),s}var D={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},C={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},T="",O=0,E="",k="",N=D.NULL,I=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=S},function(t,e){function i(t,e){var i=[],s=[];this.options={edges:{inheritColor:!0},nodes:{allowedToMove:!1,parseColor:!1}},void 0!==e&&(this.options.nodes.allowedToMove=e.allowedToMove|!1,this.options.nodes.parseColor=e.parseColor|!1,this.options.edges.inheritColor=e.inheritColor|!0);for(var o=t.edges,n=t.nodes,r=0;r=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}return{start:e,end:i}},s.prototype.setWindow=function(t,e,i){var s;if(1==arguments.length){var o=arguments[0];s=void 0!==o.animate?o.animate:!0,this.range.setRange(o.start,o.end,s)}else s=i&&void 0!==i.animate?i.animate:!0,this.range.setRange(t,e,s)},s.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,s=r.convert(t,"Date").valueOf(),o=s-i/2,n=s+i/2,a=e&&void 0!==e.animate?e.animate:!0;this.range.setRange(o,n,a)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){this._redraw()},s.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){h.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(r.addClassName(s.root,"top"),r.removeClassName(s.root,"bottom")):(r.removeClassName(s.root,"top"),r.addClassName(s.root,"bottom")),s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;0===s.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===s.root.clientHeight&&(n=o),i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),d=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,d+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var l=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=l,i.leftContainer.height=l,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var c=i.root.width-i.left.width-i.right.width-n;i.center.width=c,i.centerContainer.width=c,i.top.width=c,i.bottom.width=c,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+i.border.left+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var p=this.props.scrollTop;"bottom"==e.orientation&&(p+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=p+"px",s.left.style.left="0",s.left.style.top=p+"px",s.right.style.left="0",s.right.style.top=p+"px";var u=0==this.props.scrollTop?"hidden":"",m=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(s.shadowTop.style.visibility=u,s.shadowBottom.style.visibility=m,s.shadowTopLeft.style.visibility=u,s.shadowBottomLeft.style.visibility=m,s.shadowTopRight.style.visibility=u,s.shadowBottomRight.style.visibility=m,this.components.forEach(function(e){t=e.redraw()||t}),t){var f=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTopt[s].y?t[s].y:e,i=i0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=o.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?s._catmullRom(t,e):s._linear(t),1==e.options.shaded.enabled){var d,l=o.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&n.draw(t,e,i)}},s._catmullRomUniform=function(t){for(var e,i,s,o,n,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,f,g,v,y,b,_,x,w=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",M=t.length,S=0;M-1>S;S++)s=0==S?t[0]:t[S-1],o=t[S],n=t[S+1],r=M>S+2?t[S+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),g=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),x=Math.pow(d,i),_=Math.pow(d,2*i),p=2*_+3*x*v+b,u=2*y+3*g*v+b,m=3*x*(x+v),m>0&&(m=1/m),f=3*g*(g+v),f>0&&(f=1/f),a={x:(-b*s.x+p*o.x+_*n.x)*m,y:(-b*s.y+p*o.y+_*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*f,y:(y*o.y+u*n.y-b*r.y)*f},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),w+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return w},s._linear=function(t){for(var e="",i=0;it[s].y?t[s].y:e,i=i0&&(n=Math.min(n,Math.abs(c[d-1].x-r))),a=s._getSafeDrawData(n,h,m);else{var g=d+(p[r].amount-p[r].resolved),v=d-(p[r].resolved+1);g0&&(n=Math.min(n,Math.abs(c[v].x-r))),a=s._getSafeDrawData(n,h,m),p[r].resolved+=1,"stack"==h.options.barChart.handleOverlap?(f=p[r].accumulated,p[r].accumulated+=h.zeroPosition-c[d].y):"sideBySide"==h.options.barChart.handleOverlap&&(a.width=a.width/p[r].amount,a.offset+=p[r].resolved*a.width-.5*a.width*(p[r].amount+1),"left"==h.options.barChart.align?a.offset-=.5*a.width:"right"==h.options.barChart.align&&(a.offset+=.5*a.width))}o.drawBar(c[d].x+a.offset,c[d].y-f,a.width,h.zeroPosition-c[d].y,h.className+" bar",i.svgElements,i.svg),1==h.options.drawPoints.enabled&&o.drawPoint(c[d].x+a.offset,c[d].y,h,i.svgElements,i.svg)}},s._getDataIntersections=function(t,e){for(var i,s=0;s0&&(i=Math.min(i,Math.abs(e[s-1].x-e[s].x))),0==i&&(void 0===t[e[s].x]&&(t[e[s].x]={amount:0,resolved:0,accumulated:0}),t[e[s].x].amount+=1)},s._getSafeDrawData=function(t,e,i){var s,o;return t0?(s=i>t?i:t,o=0,"left"==e.options.barChart.align?o-=.5*t:"right"==e.options.barChart.align&&(o+=.5*t)):(s=e.options.barChart.width,o=0,"left"==e.options.barChart.align?o-=.5*e.options.barChart.width:"right"==e.options.barChart.align&&(o+=.5*e.options.barChart.width)),{width:s,offset:o}},s.getStackedBarYRange=function(t,e,i,o,n){if(t.length>0){t.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x});var r={};s._getDataIntersections(r,t),e[o]=s._getStackedBarYRange(r,t),e[o].yAxisOrientation=n,i.push(o)}},s._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;ne[n].y?e[n].y:s,o=ot[r].accumulated?t[r].accumulated:s,o=ot[s].y?t[s].y:e,i=is;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,m=e+(s-r/2),f=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,m),this.bezierCurveTo(l,m+d,p+h,f,p,f),this.bezierCurveTo(p-h,f,t,m+d,t,m),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){var s;!function(o,n){function r(){a.READY||(w.determineEventTypes(),x.each(a.gestures,function(t){S.register(t)}),w.onTouch(a.DOCUMENT,v,S.detect),w.onTouch(a.DOCUMENT,y,S.detect),a.READY=!0)}var a=function D(t,e){return new D.Instance(t,e||{})};a.VERSION="1.1.3",a.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},a.DOCUMENT=document,a.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,a.HAS_TOUCHEVENTS="ontouchstart"in o,a.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),a.NO_MOUSEEVENTS=a.HAS_TOUCHEVENTS&&a.IS_MOBILE||a.HAS_POINTEREVENTS,a.CALCULATE_INTERVAL=25;var h={},d=a.DIRECTION_DOWN="down",l=a.DIRECTION_LEFT="left",c=a.DIRECTION_UP="up",p=a.DIRECTION_RIGHT="right",u=a.POINTER_MOUSE="mouse",m=a.POINTER_TOUCH="touch",f=a.POINTER_PEN="pen",g=a.EVENT_START="start",v=a.EVENT_MOVE="move",y=a.EVENT_END="end",b=a.EVENT_RELEASE="release",_=a.EVENT_TOUCH="touch";a.READY=!1,a.plugins=a.plugins||{},a.gestures=a.gestures||{};var x=a.utils={extend:function(t,e,i){for(var s in e)!e.hasOwnProperty(s)||t[s]!==n&&i||(t[s]=e[s]);return t},on:function(t,e,i){t.addEventListener(e,i,!1)},off:function(t,e,i){t.removeEventListener(e,i,!1)},each:function(t,e,i){var s,o;if("forEach"in t)t.forEach(e,i);else if(t.length!==n){for(s=0,o=t.length;o>s;s++)if(e.call(i,t[s],s,t)===!1)return}else for(s in t)if(t.hasOwnProperty(s)&&e.call(i,t[s],s,t)===!1)return},inStr:function(t,e){return t.indexOf(e)>-1},inArray:function(t,e){if(t.indexOf){var i=t.indexOf(e);return-1===i?!1:i}for(var s=0,o=t.length;o>s;s++)if(t[s]===e)return s;return!1},toArray:function(t){return Array.prototype.slice.call(t,0)},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){var e=[],i=[],s=[],o=[],n=Math.min,r=Math.max;return 1===t.length?{pageX:t[0].pageX,pageY:t[0].pageY,clientX:t[0].clientX,clientY:t[0].clientY}:(x.each(t,function(t){e.push(t.pageX),i.push(t.pageY),s.push(t.clientX),o.push(t.clientY)}),{pageX:(n.apply(Math,e)+r.apply(Math,e))/2,pageY:(n.apply(Math,i)+r.apply(Math,i))/2,clientX:(n.apply(Math,s)+r.apply(Math,s))/2,clientY:(n.apply(Math,o)+r.apply(Math,o))/2})},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return 180*Math.atan2(s,i)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.clientX-e.clientX),s=Math.abs(t.clientY-e.clientY);return i>=s?t.clientX-e.clientX>0?l:p:t.clientY-e.clientY>0?c:d},getDistance:function(t,e){var i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==c||t==d},setPrefixedCss:function(t,e,i,s){var o=["","Webkit","Moz","O","ms"];e=x.toCamelCase(e);for(var n=0;n0&&this.started&&(r=v),this.started=!0;var d=this.collectEventData(i,r,o,t);return e!=y&&s.call(S,d),a&&(d.changedLength=h,d.eventType=a,s.call(S,d),d.eventType=r,delete d.changedLength),r==y&&(s.call(S,d),this.started=!1),r},determineEventTypes:function(){var t;return t=a.HAS_POINTEREVENTS?o.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:a.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],h[g]=t[0],h[v]=t[1],h[y]=t[2],h},getTouchList:function(t,e){if(a.HAS_POINTEREVENTS)return M.getTouchList();if(t.touches){if(e==v)return t.touches;var i=[],s=[].concat(x.toArray(t.touches),x.toArray(t.changedTouches)),o=[];return x.each(s,function(t){x.inArray(i,t.identifier)===!1&&o.push(t),i.push(t.identifier)}),o}return t.identifier=1,[t]},collectEventData:function(t,e,i,s){var o=m;return x.inStr(s.type,"mouse")||M.matchType(u,s)?o=u:M.matchType(f,s)&&(o=f),{center:x.getCenter(i),timeStamp:Date.now(),target:s.target,touches:i,eventType:e,pointerType:o,srcEvent:s,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return S.stopDetect()}}}},M=a.PointerEvent={pointers:{},getTouchList:function(){var t=[];return x.each(this.pointers,function(e){t.push(e)}),t},updatePointer:function(t,e){t==y||t!=y&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var i=e.pointerType,s={};return s[u]=i===(e.MSPOINTER_TYPE_MOUSE||u),s[m]=i===(e.MSPOINTER_TYPE_TOUCH||m),s[f]=i===(e.MSPOINTER_TYPE_PEN||f),s[t]},reset:function(){this.pointers={}}},S=a.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:x.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,i=e.options;return x.each(this.gestures,function(s){!this.stopped&&e.enabled&&i[s.name]&&s.handler.call(s,t,e)},this),this.current&&(this.current.lastEvent=t),t.eventType==y&&this.stopDetect(),t}},stopDetect:function(){this.previous=x.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,i,s,o){var n=this.current,r=!1,h=n.lastCalcEvent,d=n.lastCalcData;h&&t.timeStamp-h.timeStamp>a.CALCULATE_INTERVAL&&(e=h.center,i=t.timeStamp-h.timeStamp,s=t.center.clientX-h.center.clientX,o=t.center.clientY-h.center.clientY,r=!0),(t.eventType==_||t.eventType==b)&&(n.futureCalcEvent=t),(!n.lastCalcEvent||r)&&(d.velocity=x.getVelocity(i,s,o),d.angle=x.getAngle(e,t.center),d.direction=x.getDirection(e,t.center),n.lastCalcEvent=n.futureCalcEvent||t,n.futureCalcEvent=t),t.velocityX=d.velocity.x,t.velocityY=d.velocity.y,t.interimAngle=d.angle,t.interimDirection=d.direction},extendEventData:function(t){var e=this.current,i=e.startEvent,s=e.lastEvent||i;(t.eventType==_||t.eventType==b)&&(i.touches=[],x.each(t.touches,function(t){i.touches.push({clientX:t.clientX,clientY:t.clientY})}));var o=t.timeStamp-i.timeStamp,n=t.center.clientX-i.center.clientX,r=t.center.clientY-i.center.clientY;return this.getCalculatedData(t,s.center,o,n,r),x.extend(t,{startEvent:i,deltaTime:o,deltaX:n,deltaY:r,distance:x.getDistance(i.center,t.center),angle:x.getAngle(i.center,t.center),direction:x.getDirection(i.center,t.center),scale:x.getScale(i.touches,t.touches),rotation:x.getRotation(i.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return e[t.name]===n&&(e[t.name]=!0),x.extend(a.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}};a.Instance=function(t,e){var i=this;r(),this.element=t,this.enabled=!0,x.each(e,function(t,i){delete e[i],e[x.toCamelCase(i)]=t}),this.options=x.extend(x.extend({},a.defaults),e||{}),this.options.behavior&&x.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=w.onTouch(t,g,function(t){i.enabled&&t.eventType==g?S.startDetect(i,t):t.eventType==_&&S.detect(t)}),this.eventHandlers=[]},a.Instance.prototype={on:function(t,e){var i=this;return w.on(i.element,t,e,function(t){i.eventHandlers.push({gesture:t,handler:e})}),i},off:function(t,e){var i=this;return w.off(i.element,t,e,function(t){var s=x.inArray({gesture:t,handler:e});s!==!1&&i.eventHandlers.splice(s,1)}),i},trigger:function(t,e){e||(e={});var i=a.DOCUMENT.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e;var s=this.element;return x.hasParent(e.target,s)&&(s=e.target),s.dispatchEvent(i),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(x.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)x.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],w.off(this.element,h[g],this.eventStartHandler),null}},function(t){function e(e,s){var o=S.current;if(!(s.options.dragMaxTouches>0&&e.touches.length>s.options.dragMaxTouches))switch(e.eventType){case g:i=!1;break;case v:if(e.distance0)){var r=Math.abs(s.options.dragMinDistance/e.distance);n.pageX+=e.deltaX*r,n.pageY+=e.deltaY*r,n.clientX+=e.deltaX*r,n.clientY+=e.deltaY*r,e=S.extendEventData(e)}(o.lastEvent.dragLockToAxis||s.options.dragLockToAxis&&s.options.dragLockMinDistance<=e.distance)&&(e.dragLockToAxis=!0);var a=o.lastEvent.direction;e.dragLockToAxis&&a!==e.direction&&(e.direction=x.isVertical(a)?e.deltaY<0?c:d:e.deltaX<0?l:p),i||(s.trigger(t+"start",e),i=!0),s.trigger(t,e),s.trigger(t+e.direction,e);var h=x.isVertical(e.direction);(s.options.dragBlockVertical&&h||s.options.dragBlockHorizontal&&!h)&&e.preventDefault();break;case b:i&&e.changedLength<=s.options.dragMaxTouches&&(s.trigger(t+"end",e),i=!1);break;case y:i=!1}}var i=!1;a.gestures.Drag={name:t,index:50,handler:e,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),a.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){function e(e,s){var o=s.options,n=S.current;switch(e.eventType){case g:clearTimeout(i),n.name=t,i=setTimeout(function(){n&&n.name==t&&s.trigger(t,e)},o.holdTimeout);break;case v:e.distance>o.holdThreshold&&clearTimeout(i);break;case b:clearTimeout(i)}}var i;a.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:e}}("hold"),a.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==b&&e.trigger(this.name,t)}},a.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==b){var i=t.touches.length,s=e.options;if(is.swipeMaxTouches)return;(t.velocityX>s.swipeVelocityX||t.velocityY>s.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){function e(e,s){var o,n,r=s.options,a=S.current,h=S.previous;switch(e.eventType){case g:i=!1;break;case v:i=i||e.distance>r.tapMaxDistance;break;case y:!x.inStr(e.srcEvent.type,"cancel")&&e.deltaTimes.options.transformMinRotation&&s.trigger("rotate",e),o>s.options.transformMinScale&&(s.trigger("pinch",e),s.trigger("pinch"+(e.scale<1?"in":"out"),e));break;case b:i&&e.changedLength<2&&(s.trigger(t+"end",e),i=!1)}}var i=!1;a.gestures.Transform={name:t,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:e}}("transform"),s=function(){return a}.call(e,i,e,t),!(s!==n&&(t.exports=s))}(window)},function(t,e,i){var s;(function(t,o){(function(n){function r(t,e,i){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:i;default:throw new Error("Implement me")}}function a(t,e){return Ie.call(t,e)}function h(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(t){Ce.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function l(t,e){var i=!0;return b(function(){return i&&(d(t),i=!1),e.apply(this,arguments)},e)}function c(t,e){Mi[t]||(d(e),Mi[t]=!0)}function p(t,e){return function(i){return w(t.call(this,i),e)}}function u(t,e){return function(i){return this.localeData().ordinal(t.call(this,i),e)}}function m(t,e){var i,s,o=12*(e.year()-t.year())+(e.month()-t.month()),n=t.clone().add(o,"months");return 0>e-n?(i=t.clone().add(o-1,"months"),s=(e-n)/(n-i)):(i=t.clone().add(o+1,"months"),s=(e-n)/(i-n)),-(o+s)}function f(t,e,i){var s;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(s=t.isPM(i),s&&12>e&&(e+=12),s||12!==e||(e=0),e):e +}function g(){}function v(t,e){e!==!1&&F(t),_(this,t),this._d=new Date(+t._d),Di===!1&&(Di=!0,Ce.updateOffset(this),Di=!1)}function y(t){var e=N(t),i=e.year||0,s=e.quarter||0,o=e.month||0,n=e.week||0,r=e.day||0,a=e.hour||0,h=e.minute||0,d=e.second||0,l=e.millisecond||0;this._milliseconds=+l+1e3*d+6e4*h+36e5*a,this._days=+r+7*n,this._months=+o+3*s+12*i,this._data={},this._locale=Ce.localeData(),this._bubble()}function b(t,e){for(var i in e)a(e,i)&&(t[i]=e[i]);return a(e,"toString")&&(t.toString=e.toString),a(e,"valueOf")&&(t.valueOf=e.valueOf),t}function _(t,e){var i,s,o;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),Ye.length>0)for(i in Ye)s=Ye[i],o=e[s],"undefined"!=typeof o&&(t[s]=o);return t}function x(t){return 0>t?Math.ceil(t):Math.floor(t)}function w(t,e,i){for(var s=""+Math.abs(t),o=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&L(t[s])!==L(e[s]))&&r++;return r+n}function k(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=gi[t]||vi[e]||e}return t}function N(t){var e,i,s={};for(i in t)a(t,i)&&(e=k(i),e&&(s[e]=t[i]));return s}function I(t){var e,i;if(0===t.indexOf("week"))e=7,i="day";else{if(0!==t.indexOf("month"))return;e=12,i="month"}Ce[t]=function(s,o){var r,a,h=Ce._locale[t],d=[];if("number"==typeof s&&(o=s,s=n),a=function(t){var e=Ce().utc().set(i,t);return h.call(Ce._locale,e,s||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function L(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function z(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function P(t,e,i){return me(Ce([t,11,31+e-i]),e,i).week}function A(t){return R(t)?366:365}function R(t){return t%4===0&&t%100!==0||t%400===0}function F(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ze]<0||t._a[ze]>11?ze:t._a[Pe]<1||t._a[Pe]>z(t._a[Le],t._a[ze])?Pe:t._a[Ae]<0||t._a[Ae]>24||24===t._a[Ae]&&(0!==t._a[Re]||0!==t._a[Fe]||0!==t._a[He])?Ae:t._a[Re]<0||t._a[Re]>59?Re:t._a[Fe]<0||t._a[Fe]>59?Fe:t._a[He]<0||t._a[He]>999?He:-1,t._pf._overflowDayOfYear&&(Le>e||e>Pe)&&(e=Pe),t._pf.overflow=e)}function H(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length&&t._pf.bigHour===n)),t._isValid}function B(t){return t?t.toLowerCase().replace("_","-"):t}function Y(t){for(var e,i,s,o,n=0;n0;){if(s=W(o.slice(0,e).join("-")))return s;if(i&&i.length>=e&&E(o,i,!0)>=e-1)break;e--}n++}return null}function W(t){var e=null;if(!Be[t]&&We)try{e=Ce.locale(),!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Ce.locale(e)}catch(i){}return Be[t]}function G(t,e){var i,s;return e._isUTC?(i=e.clone(),s=(Ce.isMoment(t)||O(t)?+t:+Ce(t))-+i,i._d.setTime(+i._d+s),Ce.updateOffset(i,!1),i):Ce(t).local()}function j(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function V(t){var e,i,s=t.match(Ue);for(e=0,i=s.length;i>e;e++)s[e]=wi[s[e]]?wi[s[e]]:j(s[e]);return function(o){var n="";for(e=0;i>e;e++)n+=s[e]instanceof Function?s[e].call(o,t):s[e];return n}}function U(t,e){return t.isValid()?(e=X(e,t.localeData()),yi[e]||(yi[e]=V(e)),yi[e](t)):t.localeData().invalidDate()}function X(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Xe.lastIndex=0;s>=0&&Xe.test(t);)t=t.replace(Xe,i),Xe.lastIndex=0,s-=1;return t}function q(t,e){var i,s=e._strict;switch(t){case"Q":return oi;case"DDDD":return ri;case"YYYY":case"GGGG":case"gggg":return s?ai:Qe;case"Y":case"G":case"g":return di;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?hi:Ke;case"S":if(s)return oi;case"SS":if(s)return ni;case"SSS":if(s)return ri;case"DDD":return Ze;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Je;case"a":case"A":return e._locale._meridiemParse;case"x":return ii;case"X":return si;case"Z":case"ZZ":return ti;case"T":return ei;case"SSSS":return $e;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?ni:qe;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return qe;case"Do":return s?e._locale._ordinalParse:e._locale._ordinalParseLenient;default:return i=new RegExp(se(ie(t.replace("\\","")),"i"))}}function Z(t){t=t||"";var e=t.match(ti)||[],i=e[e.length-1]||[],s=(i+"").match(mi)||["-",0,0],o=+(60*s[1])+L(s[2]);return"+"===s[0]?o:-o}function Q(t,e,i){var s,o=i._a;switch(t){case"Q":null!=e&&(o[ze]=3*(L(e)-1));break;case"M":case"MM":null!=e&&(o[ze]=L(e)-1);break;case"MMM":case"MMMM":s=i._locale.monthsParse(e,t,i._strict),null!=s?o[ze]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(o[Pe]=L(e));break;case"Do":null!=e&&(o[Pe]=L(parseInt(e.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=L(e));break;case"YY":o[Le]=Ce.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":o[Le]=L(e);break;case"a":case"A":i._meridiem=e;break;case"h":case"hh":i._pf.bigHour=!0;case"H":case"HH":o[Ae]=L(e);break;case"m":case"mm":o[Re]=L(e);break;case"s":case"ss":o[Fe]=L(e);break;case"S":case"SS":case"SSS":case"SSSS":o[He]=L(1e3*("0."+e));break;case"x":i._d=new Date(L(e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=Z(e);break;case"dd":case"ddd":case"dddd":s=i._locale.weekdaysParse(e),null!=s?(i._w=i._w||{},i._w.d=s):i._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=L(e));break;case"gg":case"GG":i._w=i._w||{},i._w[t]=Ce.parseTwoDigitYear(e)}}function K(t){var e,i,s,o,n,a,h;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(n=1,a=4,i=r(e.GG,t._a[Le],me(Ce(),1,4).year),s=r(e.W,1),o=r(e.E,1)):(n=t._locale._week.dow,a=t._locale._week.doy,i=r(e.gg,t._a[Le],me(Ce(),n,a).year),s=r(e.w,1),null!=e.d?(o=e.d,n>o&&++s):o=null!=e.e?e.e+n:n),h=fe(i,s,o,a,n),t._a[Le]=h.year,t._dayOfYear=h.dayOfYear}function $(t){var e,i,s,o,n=[];if(!t._d){for(s=te(t),t._w&&null==t._a[Pe]&&null==t._a[ze]&&K(t),t._dayOfYear&&(o=r(t._a[Le],s[Le]),t._dayOfYear>A(o)&&(t._pf._overflowDayOfYear=!0),i=le(o,0,t._dayOfYear),t._a[ze]=i.getUTCMonth(),t._a[Pe]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=n[e]=s[e];for(;7>e;e++)t._a[e]=n[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Ae]&&0===t._a[Re]&&0===t._a[Fe]&&0===t._a[He]&&(t._nextDay=!0,t._a[Ae]=0),t._d=(t._useUTC?le:de).apply(null,n),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Ae]=24)}}function J(t){var e;t._d||(e=N(t._i),t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],$(t))}function te(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function ee(t){if(t._f===Ce.ISO_8601)return void ne(t);t._a=[],t._pf.empty=!0;var e,i,s,o,r,a=""+t._i,h=a.length,d=0;for(s=X(t._f,t._locale).match(Ue)||[],e=0;e0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(i)+i.length),d+=i.length),wi[o]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(o),Q(o,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(o);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[Ae]<=12&&(t._pf.bigHour=n),t._a[Ae]=f(t._locale,t._a[Ae],t._meridiem),$(t),F(t)}function ie(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,o){return e||i||s||o})}function se(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function oe(t){var e,i,s,o,n;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;on)&&(s=n,i=e));b(t,i||e)}function ne(t){var e,i,s=t._i,o=li.exec(s);if(o){for(t._pf.iso=!0,e=0,i=pi.length;i>e;e++)if(pi[e][1].exec(s)){t._f=pi[e][0]+(o[6]||" ");break}for(e=0,i=ui.length;i>e;e++)if(ui[e][1].exec(s)){t._f+=ui[e][0];break}s.match(ti)&&(t._f+="Z"),ee(t)}else t._isValid=!1}function re(t){ne(t),t._isValid===!1&&(delete t._isValid,Ce.createFromInputFallback(t))}function ae(t,e){var i,s=[];for(i=0;it&&a.setFullYear(t),a}function le(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function ce(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function pe(t,e,i,s,o){return o.relativeTime(e||1,!!i,t,s)}function ue(t,e,i){var s=Ce.duration(t).abs(),o=Ne(s.as("s")),n=Ne(s.as("m")),r=Ne(s.as("h")),a=Ne(s.as("d")),h=Ne(s.as("M")),d=Ne(s.as("y")),l=o0,l[4]=i,pe.apply({},l)}function me(t,e,i){var s,o=i-e,n=i-t.day();return n>o&&(n-=7),o-7>n&&(n+=7),s=Ce(t).add(n,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function fe(t,e,i,s,o){var n,r,a=le(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:o,n=o-a+(a>s?7:0)-(o>a?7:0),r=7*(e-1)+(i-o)+n+1,{year:r>0?t:t-1,dayOfYear:r>0?r:A(t-1)+r}}function ge(t){var e,i=t._i,s=t._f;return t._locale=t._locale||Ce.localeData(t._l),null===i||s===n&&""===i?Ce.invalid({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),Ce.isMoment(i)?new v(i,!0):(s?T(s)?oe(t):ee(t):he(t),e=new v(t),e._nextDay&&(e.add(1,"d"),e._nextDay=n),e))}function ve(t,e){var i,s;if(1===e.length&&T(e[0])&&(e=e[0]),!e.length)return Ce();for(i=e[0],s=1;s=0?"+":"-";return e+w(Math.abs(t),6)},gg:function(){return w(this.weekYear()%100,2)},gggg:function(){return w(this.weekYear(),4)},ggggg:function(){return w(this.weekYear(),5)},GG:function(){return w(this.isoWeekYear()%100,2)},GGGG:function(){return w(this.isoWeekYear(),4)},GGGGG:function(){return w(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return L(this.milliseconds()/100)},SS:function(){return w(L(this.milliseconds()/10),2)},SSS:function(){return w(this.milliseconds(),3)},SSSS:function(){return w(this.milliseconds(),3)},Z:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+":"+w(L(t)%60,2)},ZZ:function(){var t=this.utcOffset(),e="+";return 0>t&&(t=-t,e="-"),e+w(L(t/60),2)+w(L(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Mi={},Si=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],Di=!1;_i.length;)Oe=_i.pop(),wi[Oe+"o"]=u(wi[Oe],Oe);for(;xi.length;)Oe=xi.pop(),wi[Oe+Oe]=p(wi[Oe],2);wi.DDDD=p(wi.DDD,3),b(g.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t,e,i){var s,o,n;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;12>s;s++){if(o=Ce.utc([2e3,s]),i&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(o,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(o,"").replace(".","")+"$","i")),i||this._monthsParse[s]||(n="^"+this.months(o,"")+"|^"+this.monthsShort(o,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[s].test(t))return s;if(i&&"MMM"===e&&this._shortMonthsParse[s].test(t))return s;if(!i&&this._monthsParse[s].test(t))return s}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=Ce([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e,i){var s=this._calendar[t];return"function"==typeof s?s.apply(e,[i]):s},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,i,s){var o=this._relativeTime[i];return"function"==typeof o?o(t,e,i,s):o.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(t){return t},postformat:function(t){return t},week:function(t){return me(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},firstDayOfWeek:function(){return this._week.dow},firstDayOfYear:function(){return this._week.doy},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),Ce=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._i=t,o._f=e,o._l=i,o._strict=s,o._isUTC=!1,o._pf=h(),ge(o)},Ce.suppressDeprecationWarnings=!1,Ce.createFromInputFallback=l("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),Ce.min=function(){var t=[].slice.call(arguments,0);return ve("isBefore",t)},Ce.max=function(){var t=[].slice.call(arguments,0);return ve("isAfter",t)},Ce.utc=function(t,e,i,s){var o;return"boolean"==typeof i&&(s=i,i=n),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=e,o._strict=s,o._pf=h(),ge(o).utc()},Ce.unix=function(t){return Ce(1e3*t)},Ce.duration=function(t,e){var i,s,o,n,r=t,h=null;return Ce.isDuration(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(r={},e?r[e]=t:r.milliseconds=t):(h=je.exec(t))?(i="-"===h[1]?-1:1,r={y:0,d:L(h[Pe])*i,h:L(h[Ae])*i,m:L(h[Re])*i,s:L(h[Fe])*i,ms:L(h[He])*i}):(h=Ve.exec(t))?(i="-"===h[1]?-1:1,o=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},r={y:o(h[2]),M:o(h[3]),d:o(h[4]),h:o(h[5]),m:o(h[6]),s:o(h[7]),w:o(h[8])}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=S(Ce(r.from),Ce(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),s=new y(r),Ce.isDuration(t)&&a(t,"_locale")&&(s._locale=t._locale),s},Ce.version=Ee,Ce.defaultFormat=ci,Ce.ISO_8601=function(){},Ce.momentProperties=Ye,Ce.updateOffset=function(){},Ce.relativeTimeThreshold=function(t,e){return bi[t]===n?!1:e===n?bi[t]:(bi[t]=e,!0)},Ce.lang=l("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return Ce.locale(t,e)}),Ce.locale=function(t,e){var i;return t&&(i="undefined"!=typeof e?Ce.defineLocale(t,e):Ce.localeData(t),i&&(Ce.duration._locale=Ce._locale=i)),Ce._locale._abbr},Ce.defineLocale=function(t,e){return null!==e?(e.abbr=t,Be[t]||(Be[t]=new g),Be[t].set(e),Ce.locale(t),Be[t]):(delete Be[t],null)},Ce.langData=l("moment.langData is deprecated. Use moment.localeData instead.",function(t){return Ce.localeData(t)}),Ce.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ce._locale;if(!T(t)){if(e=W(t))return e;t=[t]}return Y(t)},Ce.isMoment=function(t){return t instanceof v||null!=t&&a(t,"_isAMomentObject")},Ce.isDuration=function(t){return t instanceof y};for(Oe=Si.length-1;Oe>=0;--Oe)I(Si[Oe]);Ce.normalizeUnits=function(t){return k(t)},Ce.invalid=function(t){var e=Ce.utc(0/0);return null!=t?b(e._pf,t):e._pf.userInvalidated=!0,e},Ce.parseZone=function(){return Ce.apply(null,arguments).parseZone()},Ce.parseTwoDigitYear=function(t){return L(t)+(L(t)>68?1900:2e3)},Ce.isDate=O,b(Ce.fn=v.prototype,{clone:function(){return Ce(this)},valueOf:function(){return+this._d-6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=Ce(this).utc();return 00:!1},parsingFlags:function(){return b({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.utcOffset(0,t)},local:function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(this._dateUtcOffset(),"m")),this},format:function(t){var e=U(this,t||Ce.defaultFormat);return this.localeData().postformat(e)},add:D(1,"add"),subtract:D(-1,"subtract"),diff:function(t,e,i){var s,o,n=G(t,this),r=6e4*(n.utcOffset()-this.utcOffset());return e=k(e),"year"===e||"month"===e||"quarter"===e?(o=m(this,n),"quarter"===e?o/=3:"year"===e&&(o/=12)):(s=this-n,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?o:x(o)},from:function(t,e){return Ce.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(Ce(),t)},calendar:function(t){var e=t||Ce(),i=G(e,this).startOf("day"),s=this.diff(i,"days",!0),o=-6>s?"sameElse":-1>s?"lastWeek":0>s?"lastDay":1>s?"sameDay":2>s?"nextDay":7>s?"nextWeek":"sameElse";return this.format(this.localeData().calendar(o,this,Ce(e)))},isLeapYear:function(){return R(this.year())},isDST:function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},day:function(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ce(t,this.localeData()),this.add(t-e,"d")):e},month:xe("Month",!0),startOf:function(t){switch(t=k(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t?this.weekday(0):"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=k(t),t===n||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+this>+t):(i=Ce.isMoment(t)?+t:+Ce(t),i<+this.clone().startOf(e))},isBefore:function(t,e){var i;return e=k("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=Ce.isMoment(t)?t:Ce(t),+t>+this):(i=Ce.isMoment(t)?+t:+Ce(t),+this.clone().endOf(e)t?this:t}),max:l("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=Ce.apply(null,arguments),t>this?this:t}),zone:l("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),utcOffset:function(t,e){var i,s=this._offset||0;return null!=t?("string"==typeof t&&(t=Z(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=this._dateUtcOffset()),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),s!==t&&(!e||this._changeInProgress?C(this,Ce.duration(t-s,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,Ce.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?s:this._dateUtcOffset()},isLocal:function(){return!this._isUTC},isUtcOffset:function(){return this._isUTC},isUtc:function(){return this._isUTC&&0===this._offset},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Z(this._i)),this},hasAlignedHourOffset:function(t){return t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60===0},daysInMonth:function(){return z(this.year(),this.month())},dayOfYear:function(t){var e=Ne((Ce(this).startOf("day")-Ce(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=me(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=me(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=me(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return P(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return P(this.year(),t.dow,t.doy)},get:function(t){return t=k(t),this[t]()},set:function(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else t=k(t),"function"==typeof this[t]&&this[t](e);return this},locale:function(t){var e;return t===n?this._locale._abbr:(e=Ce.localeData(t),null!=e&&(this._locale=e),this)},lang:l("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===n?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateUtcOffset:function(){return 15*-Math.round(this._d.getTimezoneOffset()/15)}}),Ce.fn.millisecond=Ce.fn.milliseconds=xe("Milliseconds",!1),Ce.fn.second=Ce.fn.seconds=xe("Seconds",!1),Ce.fn.minute=Ce.fn.minutes=xe("Minutes",!1),Ce.fn.hour=Ce.fn.hours=xe("Hours",!0),Ce.fn.date=xe("Date",!0),Ce.fn.dates=l("dates accessor is deprecated. Use date instead.",xe("Date",!0)),Ce.fn.year=xe("FullYear",!0),Ce.fn.years=l("years accessor is deprecated. Use year instead.",xe("FullYear",!0)),Ce.fn.days=Ce.fn.day,Ce.fn.months=Ce.fn.month,Ce.fn.weeks=Ce.fn.week,Ce.fn.isoWeeks=Ce.fn.isoWeek,Ce.fn.quarters=Ce.fn.quarter,Ce.fn.toJSON=Ce.fn.toISOString,Ce.fn.isUTC=Ce.fn.isUtc,b(Ce.duration.fn=y.prototype,{_bubble:function(){var t,e,i,s=this._milliseconds,o=this._days,n=this._months,r=this._data,a=0;r.milliseconds=s%1e3,t=x(s/1e3),r.seconds=t%60,e=x(t/60),r.minutes=e%60,i=x(e/60),r.hours=i%24,o+=x(i/24),a=x(we(o)),o-=x(Me(a)),n+=x(o/30),o%=30,a+=x(n/12),n%=12,r.days=o,r.months=n,r.years=a},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return x(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12)},humanize:function(t){var e=ue(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var i=Ce.duration(t,e);return this._milliseconds+=i._milliseconds,this._days+=i._days,this._months+=i._months,this._bubble(),this},subtract:function(t,e){var i=Ce.duration(t,e);return this._milliseconds-=i._milliseconds,this._days-=i._days,this._months-=i._months,this._bubble(),this},get:function(t){return t=k(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,i;if(t=k(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,i=this._months+12*we(e),"month"===t?i:i/12;switch(e=this._days+Math.round(Me(this._months/12)),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t) +}},lang:Ce.fn.lang,locale:Ce.fn.locale,toIsoString:l("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),i=Math.abs(this.days()),s=Math.abs(this.hours()),o=Math.abs(this.minutes()),n=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(s||o||n?"T":"")+(s?s+"H":"")+(o?o+"M":"")+(n?n+"S":""):"P0D"},localeData:function(){return this._locale},toJSON:function(){return this.toISOString()}}),Ce.duration.fn.toString=Ce.duration.fn.toISOString;for(Oe in fi)a(fi,Oe)&&Se(Oe.toLowerCase());Ce.duration.fn.asMilliseconds=function(){return this.as("ms")},Ce.duration.fn.asSeconds=function(){return this.as("s")},Ce.duration.fn.asMinutes=function(){return this.as("m")},Ce.duration.fn.asHours=function(){return this.as("h")},Ce.duration.fn.asDays=function(){return this.as("d")},Ce.duration.fn.asWeeks=function(){return this.as("weeks")},Ce.duration.fn.asMonths=function(){return this.as("M")},Ce.duration.fn.asYears=function(){return this.as("y")},Ce.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===L(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),We?o.exports=Ce:(s=function(t,e,i){return i.config&&i.config()&&i.config().noGlobal===!0&&(ke.moment=Te),Ce}.call(e,i,e,o),!(s!==n&&(o.exports=s)),De(!0))}).call(this)}).call(e,function(){return this}(),i(71)(t))},function(t,e){var i,s,o;!function(n,r){s=[],i=r,o="function"==typeof i?i.apply(e,s):i,!(void 0!==o&&(t.exports=o))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,s=t&&t.container||window,o={},n={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==n[e][t.keyCode]){for(var s=n[e][t.keyCode],o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var d;d=document.getElementById("graph_BH_gc"),d.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),d=document.getElementById("graph_BH_cg"),d.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),d=document.getElementById("graph_BH_sc"),d.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),d=document.getElementById("graph_BH_sl"),d.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),d=document.getElementById("graph_BH_damp"),d.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),d=document.getElementById("graph_R_nd"),d.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),d=document.getElementById("graph_R_cg"),d.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),d=document.getElementById("graph_R_sc"),d.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),d=document.getElementById("graph_R_sl"),d.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),d=document.getElementById("graph_R_damp"),d.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),d=document.getElementById("graph_H_nd"),d.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),d=document.getElementById("graph_H_cg"),d.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),d=document.getElementById("graph_H_sc"),d.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),d=document.getElementById("graph_H_sl"),d.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),d=document.getElementById("graph_H_damp"),d.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),d=document.getElementById("graph_H_direction"),d.onchange=a.bind(this,"graph_H_direction",i,"hierarchicalLayout_direction"),d=document.getElementById("graph_H_levsep"),d.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),d=document.getElementById("graph_H_nspac"),d.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var l=document.getElementById("graph_physicsMethod1"),c=document.getElementById("graph_physicsMethod2"),p=document.getElementById("graph_physicsMethod3");c.checked=!0,this.constants.physics.barnesHut.enabled&&(l.checked=!0),this.constants.hierarchicalLayout.enabled&&(p.checked=!0);var u=document.getElementById("graph_toggleSmooth"),m=document.getElementById("graph_repositionNodes"),f=document.getElementById("graph_generateOptions");u.onclick=s.bind(this),m.onclick=o.bind(this),f.onclick=n.bind(this),u.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),l.onchange=r.bind(this),c.onchange=r.bind(this),p.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),1==this.constants.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),this.forceAggregateHubs(!0),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&1==this.constants.clustering.clusterByZoom&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length,r=this.previousScalethis.scale&&0==t;1==a&&this._collapseSector(),1==a||-1==t?this._formClusters(i):(1==r||1==t)&&(1==i?this._openClusters(e,i):this._openClusters(e,!1)),this._updateNodeIndexList(),this.nodeIndices.length!=n||1!=a&&-1!=t||(this._aggregateHubs(i),this._updateNodeIndexList()),(1==a||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this.updateLabels(),this._updateCalculationNodes(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){if(1==this.constants.clustering.clusterByZoom)for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(void 0===s&&(s=!1),e=s||e,t.formationScalei)){var r=n.from,a=n.to;n.to.options.mass>n.from.options.mass&&(r=n.to,a=n.from),1==a.dynamicEdges.length?this._addToCluster(r,a,!1):1==r.dynamicEdges.length&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.options.mass>e.options.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o) +}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdges.length>=this.hubThreshold&&0==i||t.dynamicEdges.length==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e){var u=[],m={};for(c=0;l>c;c++){p=this.edges[d[c]];var f=this.nodes[p.fromId==t.id?p.toId:p.fromId];void 0===m[f.id]&&(m[f.id]=!0,u.push(f))}for(c=0;c1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdges.length),t+=n.dynamicEdges.length,e+=Math.pow(n.dynamicEdges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdges.length&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdges.length&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1),o=i(40);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new o({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](o[0],o[1]):this[t](e))}return this._loadLatestSector(),i},e._doInSupportSector=function(t,e){var i=!1;if(void 0===e)this._switchToSupportSector(),i=this[t]();else{this._switchToSupportSector();var s=Array.prototype.splice.call(arguments,1);i=s.length>1?this[t](s[0],s[1]):this[t](e)}return this._loadLatestSector(),i},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},e._selectionIsEmpty=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ei;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e,!0)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,!1,!0)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(40),n=i(37);e._clearManipulatorBar=function(){this._recursiveDOMDelete(this.manipulationDiv),this.manipulationDOM={},this._manipulationReleaseOverload=function(){},delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode,this.controlNodesActive=!1,this.freezeSimulationEnabled=!1},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t],delete this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=this.manipulationDiv,e=this.closeDiv,i=this.editModeDiv;1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];if(void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1,this._redraw()),this._restoreOverloadedFunctions(),this.freezeSimulationEnabled=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,this.manipulationDOM={},1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDOM.addNodeSpan=document.createElement("span"),this.manipulationDOM.addNodeSpan.className="network-manipulationUI add",this.manipulationDOM.addNodeLabelSpan=document.createElement("span"),this.manipulationDOM.addNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addNodeLabelSpan.innerHTML=t.addNode,this.manipulationDOM.addNodeSpan.appendChild(this.manipulationDOM.addNodeLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.addEdgeSpan=document.createElement("span"),this.manipulationDOM.addEdgeSpan.className="network-manipulationUI connect",this.manipulationDOM.addEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.addEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.addEdgeLabelSpan.innerHTML=t.addEdge,this.manipulationDOM.addEdgeSpan.appendChild(this.manipulationDOM.addEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.addNodeSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.addEdgeSpan),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?(this.manipulationDOM.seperatorLineDiv2=document.createElement("div"),this.manipulationDOM.seperatorLineDiv2.className="network-seperatorLine",this.manipulationDOM.editNodeSpan=document.createElement("span"),this.manipulationDOM.editNodeSpan.className="network-manipulationUI edit",this.manipulationDOM.editNodeLabelSpan=document.createElement("span"),this.manipulationDOM.editNodeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editNodeLabelSpan.innerHTML=t.editNode,this.manipulationDOM.editNodeSpan.appendChild(this.manipulationDOM.editNodeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv2),this.manipulationDiv.appendChild(this.manipulationDOM.editNodeSpan)):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.seperatorLineDiv3=document.createElement("div"),this.manipulationDOM.seperatorLineDiv3.className="network-seperatorLine",this.manipulationDOM.editEdgeSpan=document.createElement("span"),this.manipulationDOM.editEdgeSpan.className="network-manipulationUI edit",this.manipulationDOM.editEdgeLabelSpan=document.createElement("span"),this.manipulationDOM.editEdgeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editEdgeLabelSpan.innerHTML=t.editEdge,this.manipulationDOM.editEdgeSpan.appendChild(this.manipulationDOM.editEdgeLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv3),this.manipulationDiv.appendChild(this.manipulationDOM.editEdgeSpan)),0==this._selectionIsEmpty()&&(this.manipulationDOM.seperatorLineDiv4=document.createElement("div"),this.manipulationDOM.seperatorLineDiv4.className="network-seperatorLine",this.manipulationDOM.deleteSpan=document.createElement("span"),this.manipulationDOM.deleteSpan.className="network-manipulationUI delete",this.manipulationDOM.deleteLabelSpan=document.createElement("span"),this.manipulationDOM.deleteLabelSpan.className="network-manipulationLabel",this.manipulationDOM.deleteLabelSpan.innerHTML=t.del,this.manipulationDOM.deleteSpan.appendChild(this.manipulationDOM.deleteLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv4),this.manipulationDiv.appendChild(this.manipulationDOM.deleteSpan)),this.manipulationDOM.addNodeSpan.onclick=this._createAddNodeToolbar.bind(this),this.manipulationDOM.addEdgeSpan.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDOM.editNodeSpan.onclick=this._editNode.bind(this):1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDOM.editEdgeSpan.onclick=this._createEditEdgeToolbar.bind(this)),0==this._selectionIsEmpty()&&(this.manipulationDOM.deleteSpan.onclick=this._deleteSelected.bind(this)),this.closeDiv.onclick=this._toggleEditMode.bind(this);var e=this;this.boundFunction=e._createManipulatorBar,this.on("select",this.boundFunction)}else{for(;this.editModeDiv.hasChildNodes();)this.editModeDiv.removeChild(this.editModeDiv.firstChild);this.manipulationDOM.editModeSpan=document.createElement("span"),this.manipulationDOM.editModeSpan.className="network-manipulationUI edit editmode",this.manipulationDOM.editModeLabelSpan=document.createElement("span"),this.manipulationDOM.editModeLabelSpan.className="network-manipulationLabel",this.manipulationDOM.editModeLabelSpan.innerHTML=t.edit,this.manipulationDOM.editModeSpan.appendChild(this.manipulationDOM.editModeLabelSpan),this.editModeDiv.appendChild(this.manipulationDOM.editModeSpan),this.manipulationDOM.editModeSpan.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.addDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._addNode,this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulationEnabled=!0,this.boundFunction&&this.off("select",this.boundFunction);var t=this.constants.locales[this.constants.locale];this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.edgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this);var e=this;this.boundFunction=e._handleConnect,this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleDragEnd=this._handleDragEnd,this.cachedFunctions._handleOnHold=this._handleOnHold,this._handleTouch=this._handleConnect,this._manipulationReleaseOverload=function(){},this._handleOnHold=function(){},this._handleDragStart=function(){},this._handleDragEnd=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes();var t=this.constants.locales[this.constants.locale];this.manipulationDOM={},this.manipulationDOM.backSpan=document.createElement("span"),this.manipulationDOM.backSpan.className="network-manipulationUI back",this.manipulationDOM.backLabelSpan=document.createElement("span"),this.manipulationDOM.backLabelSpan.className="network-manipulationLabel",this.manipulationDOM.backLabelSpan.innerHTML=t.back,this.manipulationDOM.backSpan.appendChild(this.manipulationDOM.backLabelSpan),this.manipulationDOM.seperatorLineDiv1=document.createElement("div"),this.manipulationDOM.seperatorLineDiv1.className="network-seperatorLine",this.manipulationDOM.descriptionSpan=document.createElement("span"),this.manipulationDOM.descriptionSpan.className="network-manipulationUI none",this.manipulationDOM.descriptionLabelSpan=document.createElement("span"),this.manipulationDOM.descriptionLabelSpan.className="network-manipulationLabel",this.manipulationDOM.descriptionLabelSpan.innerHTML=t.editEdgeDescription,this.manipulationDOM.descriptionSpan.appendChild(this.manipulationDOM.descriptionLabelSpan),this.manipulationDiv.appendChild(this.manipulationDOM.backSpan),this.manipulationDiv.appendChild(this.manipulationDOM.seperatorLineDiv1),this.manipulationDiv.appendChild(this.manipulationDOM.descriptionSpan),this.manipulationDOM.backSpan.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._manipulationReleaseOverload=this._manipulationReleaseOverload,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._manipulationReleaseOverload=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulationEnabled=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!==e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this.edgeBeingEdited._restoreControlNodes(),this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulationEnabled=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);if(null!=e)if(e.clusterSize>1)alert(this.constants.locales[this.constants.locale].createEdgeError);else{this._selectObject(e,!1);var i=this.sectors.support.nodes;i.targetNode=new o({id:"targetNode"},{},{},this.constants);var s=i.targetNode;s.x=e.x,s.y=e.y,this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:s.id},this,this.constants);var r=this.edges.connectionEdge;r.from=e,r.connected=!0,r.options.smoothCurves={enabled:!0,dynamic:!1,type:"continuous",roundness:.5},r.selected=!0,r.to=s,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center),i=this.edges.connectionEdge; +i.to.x=this._XconvertDOMtoCanvas(e.x),i.to.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()}}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){var e=this._getPointer(t.gesture.center);this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var i=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var s=this._getNodeAt(e);null!=s&&(s.clusterSize>1?alert(this.constants.locales[this.constants.locale].createEdgeError):(this._createEdge(i,s.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add){if(2!=this.triggerFunctions.add.length)throw new Error("The function for add does not support two arguments (data,callback)");var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect){if(2!=this.triggerFunctions.connect.length)throw new Error("The function for connect does not support two arguments (data,callback)");var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge){if(2!=this.triggerFunctions.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(!this.triggerFunctions.edit||1!=this.editMode)throw new Error("No edit function has been bound to this button");var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.options.group,shape:t.options.shape,color:{background:t.options.color.background,border:t.options.color.border,highlight:{background:t.options.color.highlight.background,border:t.options.color.highlight.border}}};if(2!=this.triggerFunctions.edit.length)throw new Error("The function for edit does not support two arguments (data, callback)");var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.locales[this.constants.locale].deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};if(2!=this.triggerFunctions.del.length)throw new Error("The function for delete does not support two arguments (data, callback)");this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()})}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=(i(1),i(45));e._cleanNavigation=function(){if(0!=this.navigationHammers.existing.length){for(var t=0;t0){var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,o.edges.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._setLevelDirected=function(t,e,i){this.nodes[i].hierarchyEnumerated=!0;for(var s,o,n=0;n1&&s.hierarchyEnumerated===!1&&this._setLevelDirected(s.level,s.edges,s.id)},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.keys=function(){return[]},e.resolve=e,t.exports=e,e.id=67},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,m=4/3,f=this.constants.physics.repulsion.nodeDistance,g=f;for(d=0;di&&(r=.5*g>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=Math.max(i,.01*g),s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],t.options.mass>0&&(this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t))}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.thetaInverted){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.options.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l))}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),m=.5*u,f=.5*(o+r),g=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-m,maxX:f+m,minY:g-m,maxY:g+m},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.options.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=s,t.mass=i;var o=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},e._placeInRegion=function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}}])}); //# sourceMappingURL=vis.map diff --git a/docs/dataset.html b/docs/dataset.html index d6c2bf81..110afc0a 100644 --- a/docs/dataset.html +++ b/docs/dataset.html @@ -21,6 +21,7 @@
  • Example
  • Construction
  • Methods
  • +
  • Properties
  • Subscriptions
  • Data Manipulation
  • Data Selection
  • @@ -373,6 +374,29 @@ var data = new vis.DataSet([data] [, options]) +

    Properties

    + +

    DataSet contains the following properties.

    + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    lengthNumberThe number of items in the DataSet.
    + +

    Subscriptions

    diff --git a/docs/dataview.html b/docs/dataview.html index 3046391f..316da77a 100644 --- a/docs/dataview.html +++ b/docs/dataview.html @@ -20,6 +20,8 @@

  • Overview
  • Example
  • Construction
  • +
  • Methods
  • +
  • Properties
  • Getting Data
  • Subscriptions
  • Data Policy
  • @@ -152,6 +154,122 @@ var data = new vis.DataView(dataset, options) +

    Methods

    + +

    DataView contains the following methods.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MethodReturn TypeDescription
    + get([options] [, data])
    + get(id [,options] [, data])
    + get(ids [, options] [, data]) +
    Object | Array | DataTable + Get a single item, multiple items, or all items from the DataView. + Usage examples can be found in section Getting Data, and the available options are described in section Data Selection. If parameter data is provided, items will be appended to this array or table, which is required in case of Google DataTable. +
    + getDataSet() + DataSet + Get the DataSet to which the DataView is connected. +
    + getIds([options]) + Number[] + Get ids of all items or of a filtered set of items. + Available options are described in section Data Selection, except that options fields and type are not applicable in case of getIds. +
    off(event, callback)none + Unsubscribe from an event, remove an event listener. See section Subscriptions. +
    on(event, callback)none + Subscribe to an event, add an event listener. See section Subscriptions. +
    refresh()none + Refresh the filter results of a DataView. Useful when the filter function contains dynamic properties, like: + +
    var data = new vis.DataSet(...);
    +var view = new vis.DataView(data, {
    +  filter: function (item) {
    +    return item.value > threshold;
    +  }
    +});
    + In this example, threshold is an external parameter. When the value of threshold changes, the DataView must be notified that the filter results may have changed by calling DataView.refresh(). +
    + setDataSet(data) + none + Replace the DataSet of the DataView. Parameter data can be a DataSet or a DataView. +
    + + +

    Properties

    + +

    DataView contains the following properties.

    + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    lengthNumberThe number of items in the DataView.
    +

    Getting Data

    @@ -165,8 +283,8 @@ var items = view.get();

    Data of a DataView can be filtered and formatted again, in exactly the same way as in a DataSet. See sections - Data Filtering and - Data Formatting for more + Data Manipulation and + Data Selection for more information.

    diff --git a/docs/graph2d.html b/docs/graph2d.html index df23f03d..bcc03402 100644 --- a/docs/graph2d.html +++ b/docs/graph2d.html @@ -737,6 +737,22 @@ The options colored in green can also be used as options for the groups. All opt If not provided, the earliest date present in the events is taken as start date. + + timeAxis.scale + string + none + Set a fixed scale for the time axis of the Timeline. Choose from 'millisecond', 'second', 'minute', 'hour', 'weekday', 'day', 'month', 'year'. + + + + timeAxis.step + number + 1 + + Set a fixed step size for the time axis. Only applicable when used together with timeAxis.scale. + Choose for example 1, 2, 5, or 10. + + width String diff --git a/docs/network.html b/docs/network.html index e4775b41..d1c2e9af 100644 --- a/docs/network.html +++ b/docs/network.html @@ -849,6 +849,13 @@ var options = { inside an object nodes in the networks options object.

    All options in green boxes can be defined per-node as well. All options defined per-node override these global settings. + + + + + + + @@ -861,6 +868,31 @@ All options defined per-node override these global settings. + + + + + + + @@ -927,6 +959,38 @@ All options defined per-node override these global settings. + + + + + + + + + + + + + + fontSizeMax + + + + + + + + + + + + + + + + @@ -1197,7 +1261,12 @@ var options = { - + + + + + + @@ -1727,7 +1796,8 @@ var options = { radius: 1}, maxNodeSizeIncrements: 600, activeAreaBoxSize: 100, - clusterLevelDifference: 2 + clusterLevelDifference: 2, + clusterByZoom: true } } // OR to just load the module with default values: @@ -1870,6 +1940,12 @@ var options = { If the highest level of your network at any given time is 3, nodes that have not clustered or have clustered only once will join their neighbour with the lowest cluster level. + + + + + +
    NameTypeDefaultDescription
    borderWidth Numberundefined The width of the border of the node when it is selected. If left at undefined, double the borderWidth will be used.
    customScalingFunctionFunctionFunctionThis is a function you can override to make the nodes scale the way you want them based on their values. The default function is this:
    +
    +function (min,max,total,value) {
    +    if (max == min) {
    +        return 0.5;
    +    }
    +    else {
    +        var scale = 1 / (max - min);
    +        return Math.max(0,(value - min)*scale);
    +    }
    +};
    +
    + The function receives the minimum value of the set, the maximum value, the total sum of all values and finally the value of the node or edge it works on. It has to return a value between 0 and 1. + The nodes and edges then calculate their size as follows: +
    +var scale = customScalingFunction(min,max,total,value);
    +var diff = maxSize - minSize;
    +mySize = minSize + diff * scale;
    +
    color String | Object14 Font size in pixels for label in the node.
    scaleFontWithValueBooleanfalseWhen using values, you can let the font scale with the size of the nodes if you enable the this option.
    fontSizeMinNumber14When using values, you can let the font scale with the size of the nodes if you enable the scaleFontWithValue option. This is the minimum value of the fontSize.
    Number30When using values, you can let the font scale with the size of the nodes if you enable the scaleFontWithValue option. This is the maximum value of the fontSize.
    fontSizeMaxVisibleNumber30When using values, you can let the font scale with the size of the nodes if you enable the scaleFontWithValue option. If you have a wide distribution of values and have a large max fontSize, + the text will become huge if you zoom in on it. This option limits the percieved fontSize to avoid this. If you set it to 20, no label will be larger than fontsize 20 (at scale = 1) regardless of the scale.
    fontDrawThresholdNumber3When zooming out, the text becomes smaller. This option sets the minimum size of the label before not being drawn. Just like the fontSizeMaxVisible option, this is the relative fontSize (fontSize * scale). + You can combine this with the min and max values to have the labels of influential nodes show earlier when zooming in.
    fontFill StringPossible values: "line-above", "line-center", "line-below". The alignment of the label when drawn on the edge. If horizontal it will align the label absolute horizontial.
    opacityNumber1.0Possible values: [0 .. 1]. This opacity value is added on top of the color information. This only happens for the unselected state.
    style string
    clusterByZoomBooleantrueYou can toggle the clustering by zoom level using this option.
    @@ -1906,7 +1982,8 @@ var options = { x: 10, y: 10, zoom: 0.02 - } + }, + bindToWindow: true } } @@ -1938,6 +2015,12 @@ var options = { 0.02 This defines the zoomspeed when using the keyboard navigation. + + bindToWindow + Boolean + true + If this is true, global keyboard events will be used. If it is false, the keyboard events are only used when the network is active. It is activated on mouseOver automatically. + @@ -2202,11 +2285,18 @@ var options = { - getBoundingBox() + getBoundingBox(nodeId) Object Returns a bounding box for the node including label in the format: {top:Number,left:Number,right:Number,bottom:Number}. These values are in canvas space. + + getConnectedNodes(nodeId) + Array + Returns an array with nodeIds of nodes that are connected to this node. Network keeps track of the connected nodes so this function allows you + to quickly get them without iterating over all edges manually. This is a lot faster for cases with many edges. + + getSelection() Array of ids @@ -2233,6 +2323,13 @@ var options = { easeInQuint, easeOutQuint, easeInOutQuint

    + + freezeSimulation(Boolean) + none + Calling freezeSimulation(true) immmediately stops the simulation and triggerst the stabilized event. This does not mean that the network + is physically stabilized but the nodes are not moving anymore. To continue the simulation call freezeSimulation(false). + + releaseNode() none @@ -2322,6 +2419,12 @@ var options = { nodes with id 3 and 5. The highlisghEdges boolean can be used to automatically select the edges connected to the node. + + getConnectedNodes(nodeId) + Array + Get an array of (unique) nodeIds that are directly connected to this node. + + selectEdges(selection) none @@ -2341,7 +2444,7 @@ var options = { or in percentages. - getPositions([ids]) + getPositions([nodeIds]) Object This will return an object of all nodes' positions. Data can be accessed with object[nodeId].x and .y. You can optionally supply an id as string or number or an array of ids. If no id or array of ids have been supplied, all positions are returned. @@ -2363,6 +2466,7 @@ var options = { options can just be a boolean. When true, the zoom is animated, when false there is no animation. Alternatively, you can supply an object.

    The object can consist of:
    + nodes: [nodeIds]
    - an optional subset of nodes to zoom in on,
    duration: Number
    - the duration of the animation in milliseconds,
    easingFunction: String
    - the easing function of the animation, available are:
    linear, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, @@ -2371,6 +2475,7 @@ var options = { +

    Events

    diff --git a/docs/timeline.html b/docs/timeline.html index 0b910594..59eec23e 100644 --- a/docs/timeline.html +++ b/docs/timeline.html @@ -742,6 +742,7 @@ var options = { showMinorLabels are false, no horizontal axis will be visible. + stack Boolean @@ -749,6 +750,16 @@ var options = { If true (default), items will be stacked on top of each other such that they do not overlap. + + snap + function | null + function + When moving items on the Timeline, they will be snapped to nice dates like full hours or days, depending on the current scale. The snap function can be replaced with a custom function, or can be set to null to disable snapping. The signature of the snap function is: +
    function snap(date: Date, scale: string, step: number) : Date | number
    + The parameter scale can be can be 'millisecond', 'second', 'minute', 'hour', 'weekday, 'day, 'month, or 'year'. The parameter step is a number like 1, 2, 4, 5. + + + start Date | Number | String @@ -764,6 +775,26 @@ var options = { A template function used to generate the contents of the items. The function is called by the Timeline with an items data as argument, and must return HTML code as result. When the option template is specified, the items do not need to have a field content. See section Templates for a detailed explanation. + + timeAxis.scale + string + none + Set a fixed scale for the time axis of the Timeline. Choose from 'millisecond', 'second', 'minute', 'hour', 'weekday', 'day', 'month', 'year'. Example usage: +
    var options = {
    +  timeAxis: {scale: 'minute', step: 5}
    +}
    + + + + + timeAxis.step + number + 1 + + Set a fixed step size for the time axis. Only applicable when used together with timeAxis.scale. + Choose for example 1, 2, 5, or 10. + + type String @@ -921,7 +952,9 @@ timeline.clear({options: true}); // clear options only redraw() none - Force a redraw of the Timeline. Can be useful to manually redraw when option autoResize=false. + Force a redraw of the Timeline. The size of all items will be recalculated. + Can be useful to manually redraw when option autoResize=false and the window + has been resized, or when the items CSS has been changed. diff --git a/download/vis.zip b/download/vis.zip index bbb266b2976a3b433ed1faaea8b5ef20311b8cc7..d3e9d97011af3a78abf2401acba2a8ac0ed7579a 100644 GIT binary patch delta 616880 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 z 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ፄ^r)M_Ro0P$t!DC7 zpb=PE0y_0K>D*j(){1+mw^wNR*V_+N?c+m#J{xGCQtZx?z7``~6+{{e5lw`#REJ(QD_Fl69j}Dn~X$!-dvaHI720#RnwLRs;tX$;|_Q zf55iv22z&;m%8e5S5|1TTe{1$@XQ;&uals}p1^8fLPQTq( zd0>(5IIY>fY`Bi(?6~e?gAeP`!6JL2@lD(E)~>k!vuZrTuWLtm6^`&KHo~iLgd^p| z2(Ka|{Ce#Ozorph#YT7)8R6G!NBA{=jqs{!gjaHeS9XL~VuV-W2(Mxz{CfQezjj7= zWkz@vjPPaS5&pZpaB~@<``_2n{qIEg%NX4+BXs}!TDt$8=zdv6_e)9lOH21lLHEm$ z?w2vT|9w5(|L)NJ($M|Vp}WD(Xj~P`38uk;0*wa=!I{+npNh*VPIrFN&ue>sWJ>J` zOzhBwH(eratQ$mA%55VxF7<|BrX4+`#yvd1!|l5nUg288z7ymJ62E*w5x;nQp)Xa~ zfD7&=dmAAdH+s$qhfY&$5;gm_1LtJJ%c3G~ktH&uh;wm_uMl&fbx=utAMfgO!pHKO zT0B#;y+dc>3+X6clXNl9FC>p!-_hO)k68 zsV?zx{4HftqYk_dYkw+W3;^>XBpQ{OGcHy zk%9IilK0v|dTk)Bsv*55NUI1WvnxP zeA1)U#@twNU!vP;65JlvuS@N4V_C6mg|L2Ra4j666=ND9O;C>F&zOve_UL?e%B=P~0R)lIU+uxFX@y1Isq z?5hL+=r96;>l#XKJ-_QjORtf5r=pF7JQZyw>KkvHEMR?qztjhg)qPy9t|b8*2rwpD zR};h)X0rMX#AibRCpsov5~zIS{PYp)ml(S(pYq*(=VVfcO`>ZiM)$!GZ`p9Uz)cUt z(5Ap^`tCeOmV^jwI$jYRhhhT+j}JvLzaDzO>%iR@tPmcEBIB{y_>A-S?8yr84pR1t zOs2(12ceFC?|fK)s)%Gq*;*(k9VrfORyvO6B!etD;nDoiL2%gdNWC9D2fW%H?`SkA zPVHlj3V;|q77IjT1k%7M&M$@-4w8Gzb=$2`e%6u(9qB`C?xq|-HYB)=a+X#38!H^= z$72j$(>l#ZY6l&LfUwstco^H?A3gg)|6mGseE9r-y0QyNi%PVTupfMT;yT@-wA+H- z5)!wtwS^(9!iLZ!gK_Khuu2oow0N|(FOQ%8WIB?V8r*{+JB%yzN3Du7$Ey9m>S$9* zYfy|wt)!ytEFIw<913pRuvDU4K2?l{qXcE}1bQ!770Y=tn5+GtVtf;Hh#lw?F{TDy zNGVBwX5Cs9``Sdxm1F}pj*R~?pWOxHpAO1myj(=a->G86d8;3DwRg&nv*Sgxk|s>p zcEA6}#vI5gXhmd`(TJ1r=}elasGcgxr=*XP8ZfjNETkwV+QkIJD#`@wv7oxsNwF-m z5%|aj$t3Bp^Ib8024xl1NBvU)P3X#}5J7pEtvQ z2uIPPggvm*d_Tczq7{a6*<4Z;SSg}^tP%T8SsO2s3s;mrm)-?cH%61 z)i+i!)IKnL+AA?wt@f8=AM)pgMa5p7iwu+lqz92_+i_vCC}!8~T`{|@&PCh+W9XNv z$vFCQiqTzWqi#hHz}T>nPhF1$if2S1^`_4ca@wX7E<8IyVW&?&q+BZ?5V(mob+9;)nx@u}GW&L1q)~tnv`UF1ifx<-K=p#BD#X2MeqFQsu!$p#n= zj|1h#{FR)*XHBU2x|*7=8&Y%Cl$x)rsaYu{c@^J`Oifu}O;Ul?I*Px4Zbya|Ws!;0p zb`?@#WySlt?g5qQ3e!wpCJ;)be=hWkS_FDG>X~7P`ku9?7{FYK&rzp>iCBS)aDWpB z1iRGLD}kj??~83D(QdDQ(?P4$fhl~`OKWTpQN)}O=)m$7hk|-FhVR0MU)AUdUUbaf zaMS_s4O>(uILp2Gf+o_G3%=`s3ojJFTQfL~8{-HsvU0@iV|=NjnufUAf3MXE<_bL( zSjK4onSzB(AYeogBH3}>>8`aRn~%o2h6zsUm_S~xK@M<;bmEQ(lg1%+tb&f4L&dq< zs#Zje1{Zdn`ha&q_a9Ry>eZQa#Fu8G_Yu)jo{o&$lh~fQ_m23wpLM_K?BDSmc&yjG zKrg{C5#icCt5#b+=1*3r9yo zbnh6}9f*kUa)K%PaJeXGHwW2vs+h#BLx#obY&aqpw9Z+W=#;!Vf9{w$@ARGW z`w>8Fc8EbjK*lWLR&Z{K>sLC)ZvR#Tb68W-wm|FjpF81gK0;Q3cpdVG*er z!&WA?r~>RJzlhX~e*wOzhk4|>O zHKV<40C*Jzys8I$*#Pim6!4`49Dz)3u$5jE6j)7$5Hd@ih%Dqn6OIkglC1t&#OG3a z_b>cRV1lYXw8IQ7GfIu-R}O}M#k;tlxuaH4gi z^C`@J6QfrwM@}V#SSNyvIetIfW^7)aDgd>OSQX4|rbgx#9f0czALpE|_#=(t*ZL9TGOxBZogI){kmM!ufMzfx~%Be<+^_T-Rsw7RlhFR^y}|# zzb-5KbyjhEOM)_Yw}cGiN7W$fvHQthu=1-#r;E3hfAJs(8=ZJH2XZ|`t6S9AyIc^C z>C1cNS;69P*$CrR^{iZ#cfD)y#LR2`-folDw|ig2y*^203nTHGU834pYqI;%X`MWI zbjshhd%mvRwu#;TJln+e#xV&wMjkSb#4|Civ7r36ObM?tW6=>&d*b_lGK*9l+y>^Q zD#I$Ce?qfE9$D_us0W^SxiPklB0*~-?h@V`+{OBD0BK6w8hi5y(kI7WK<+WeC?Pfd zTfL$uTLlgR-9BRMTZ;q4TdaoqgBpjMK&_7GaoZvOe2l-b0~5D-a(LVlg70>9jNYz^ z&D+&Mc`M*QE*9;G37<5srtNOcYI{R)GxssD&>()kv_5zdS6|O$_)Kb>p*_U;YTuK}1^0&y1?*>RD zfBezV&|jF4fshd*x2`Qkk>+fvWW)Tr$90a1QL&fImJ93<9D^6r%uu?1Q5UG}^lLEi zUpjY8jXe|-#!S+Sc0gHn4*=5c>~_Jez$gKj-wGXtuok&&$(Qqp6PV+fRZ)-qo#*VB z;Ex<8snG7zfWU@v-4i{$rTM6*BV4BPe^O_{WAKSbU%Cggiv;|8#x0RM7lt<1%0qe0 zx#F19&0Ho&{Xsex#8^#aVo?1Iho1>!xowiZ&-A$Kl%FQJp14E^FzFs4Knm^+VhRPi zmA8py!RMrnjq-1Ce`ssVOhu^TPKx&S<}qXj5tF0Se0DG&;}xu9sQW-%x8iuEe}%Ox zo|b1j^OHeaRZzUF{x8vl@uVpDI=KB%re>f5gG@2&%hVo;>KEWWd{nf7ce~7$E3XLf zkScrZih(a&jC+@IcV?=Ja zteOFw&2#HBnT`voA9!L0f&hS$`U74R+;!I#vgD(I0^HWYHo?YwvUsvpfOm9yN8k0L zu53DmJ6meSf&G>t6|~SR<(5ew0;uO8yy+lSDJfqjE+`?pu<#UQe6Vxof9rLhVG-0K zWkrySyzp$s+Vm5Ou1`4%=@s20$mUW;0TUzAt&%pxo7G~*c?>Jx!*PB>H`xHO)_zdn zo3zXTIFy;>qtQ6?3duU5sX7X%5K6v1mEqTm-Qogr%`ueol!!;yhlBR54-%6 zPJb$6AFyyYVfn&rvLRKRe@2^p5x%EZF*gAy>n;hfAE&%(*J}AXd(1|G*PM(ift>-Z zv%Ji~8-1_lU`CIGBqe!yYvDkf{Q%LfZqp4f6>%4bqdfc~qm^(<;j&b7YL44ZFj-9V zVTKQSyb9 zh#)R$9G%>np<9)#C_VTbKC^^-!C`t$KvmtvHD1hdPV=tJ*Uw+7wSN8{YUoj0T{Sv& z?vSy26)v?j?h)jNf5l`17S1U|iduJ5M3`XKnj2%XW!=WCxvAs^+b~-V1iwjSCGx$6 z%UJl+!KJB<*PQkelX=1|bBJ>?8_}#(%j|_! z4QhBphdx-(5wOT#-#XT{U928(T?o9#L4oh$^52E9WQzqJfAX2chpLY1+7bR)(Vt8F z!v%`t;}Qa#U%cQiEB?ao;Y@XBq~0r?ZD(Z99f+My_(noHTr9y!9-{iG-m|q+JCl32 zKN*BzR@RKXOQQCwePCqRc~G0#lJ2)@?ytDI!eQF=g;KSC&leOF4mj1`-A0`&n_?c8 zUVmp-w;Uw1f9Ha);{`?DdKi>v$k4EPsO^c|Szto!`Q#yFgI?p&ERNYk9BSa-i%qYK z6&4-KN=Y>4t$Sobb!s*}7k0yQftwxrdg!sO0Oam%YIiml&aNiVglUPZ+s|kz6tv(R zhB`h@PPnN#+27Ev!g+M>KVB3&kK0~|E%HmVw7}>zfAYk!xE35kNFPpUXt0|P>5kQG ziv|6I$U6A9VsEu5poIE&y%mT4dPdxT84dI4hMwU!AZECe`;~}!bHY_J&9#|t^WTwh znhW_0u8APxOrm%#Vj&k+-$c({QCMEnce5>{>J7-ot8au-AY6jx(fUg$d~mwrXj^m> zYmH?>e{SXpB-ZC-u!+Wh(^YqOB0LOQH&XKh}6?Am-AE3Z&N zBKEbL3qzsLG==*gyE1=b8rx<1_3aS*-)7~$e*u$Sk9jx$LkO$6Snph&mEBpx+@<|O zEbSLJSlVe_Z$`SBrT)v`=2HLF|GuSu_34-TOR?1BC3$UAy8fE~_nWNwmvaAPcLcYy z=3h2h^DinD??%&eRX4l8T&uX(X&lD7g$^RlNX;`$-FtteV;VQzeK`iWkf$OC;Olv} zfBxvdLZ}LnN+sYR)(D4a@nGq?!Fi%LQExCoiL=(v%og_nI<_nNQ_qbRv+hR28;Jd8 z8|xU1^g_dE#u!nySjQA~t88TattD}t%u*$B{L@7Ovyi4e+LN!RPu5v{$S!?7HL4EY z?a-Ne3AE&I5n2=GR0hArY3>tpl3si)e<7n5ppPJA6y9%+klt4N8q9m4nfLlzp*mK( z-uCC$p!P?Khk$I%s@LD>+!on>9VWe9sfyk+_zaIFevqCw^7=ohVDwvO9CnO_e2#~Q zQQOg@D4~N{MN3<|VCiv^1zyKax~W?idKWl&(!-nWuYMcm)87rGj#5Va7jA`Oe_NiF z$Jr}~vsWHxuc|rwqMEZW0?ux<`QJ1!#XdtZ?1js)D`&c_#B^Et)8$v-?OV4O{B99& zczbmX-oEsB`_kd5CVTnBg_#Mb!03K^_YCGo_-HEI&3sXFJR^U&-?MJhwABJx>(LR&SenK5vy;< zEB~aP;@-TzUWLOH-$jw$Qr~xz!*24EbeekAO}^_U-*l5l-Q@ecoBWMcf2T*P-cJx7 zl?eMiq+mk+JRTRty#4*w=Y392cZ%7Wy4&5I?)~nA?k<)G$DT*3dV5<971m1!WxGxF zl0SmP+f24QT2U*{^TqHqX@8&FSvypNl=SzKR{&~1`A+@$+kWy*f~lYe^DKS8FH3Gy z$-hy_M>QpPsAS(M`L|fffBQ~JZv9cLFibuP+gNT>aNtWR!cq}HqN zzG;KW6{F-noi5t1?(OXEq7kR-JpZoZ`8Vcy$AmJM)9EotW*t~?M*g*F$tfJE$kD0H zs>FdvA)5nTbw|H2eQ~!1)mn9I>|TpbKCSN`cE~u{5JnaUqw}| zM^OH?l>9sS4u@KJGf1op6oovg`ShgY)9V{^9rgND^RA6WNe@=rpG?@@2B((*=yI~*(c^v@Xe!PLI-o2kHfvVOq1#zC7XPA6JX+-Za zV->Qz50Ixhq;;Sv0rV-=;?Ya~ih&}OXe|p^AVb`JSip0-tI*<@Gvq9?shUSCr#N~x zKhBTg8a3dBF({{LMV=E-`baF>6A$=HwDi{zMmCMISa?4nmi>+mq;AiSOPvJPHr)qPq3{`Qg;4od;^eBCj9`w7wpcvdsJnuU#fYJi}CXUgmPd9k{?QdWW`-_;3f5Ue4fjee+ zYaccWZG^um54`V5OVnkeEmKY;!;XJ3A3i0XI^bGl_FwLBIszvySrqf>eUIWAh2w@d z<`)Vf#fZ4a#_Rq#3QT6w!4P#1YOwjWkpoCSfAqLINnC@vsqYrMa(*GlMLV?ZL;qNO zsvMPkq}EJ`>KjqlYg9HPPoes~-F?Xe{wbCDzV8*1h(&21o_UC0e!-~gmUH+)bA=R4 zn|_ynuYy`Kx`3$V{I0A;v(wgcepl9l8E)%{Utx_%kOE29@Tu>8R-2VtO*ix(TQDVloGtM`$8Jb< ze+{#tNta|qRm^Ir)4-a+eVY}%cu8tya1G;Q7n}Ge-S6AimlEd zo!@Ayqw2M~_-7OQuYSPB2Y!QyYq;_G=9308*TwQ~@^e=o>d|ge7Dq{#kS9Pb*DlGIVH$~79J_}~G<`$JHlLzB>WvXH3kKdK4 zf3Y%UiGzC>y??X;x^FV3e?|KU@8kxa*Q{o%O9}BUJ_VV)F1)sG#*_IxQDqFyl0o4t8PPp8@~p? zjgJ8s>v9wz!+R^KYf^yR4uP#4xFrJL62Og*0a#C90nidSDsxC1e;gOX&|6kd6F44H zV(CdbJZ+2I359yXxp+5W8FRDbeEo;w5h9a`n(s=(d6Ik=*@u~e*^A~f~V@> zLEW3}x2Bf(+JF1Df40SKzs3Ig7Pq;@owou{(Rh7}JARAX>s#F67Vq0;?#ssOTfBb* zs@~@o`;wHR@%k2nalCI@^yL~`BrM&?%?_r~n#O#b?HJ30o_BP4}(pkFlDf4xy-;qHx}3r`wh98l^Z zY}2f>E;zs!SvhSjlJjEz9ui&s(Zq6AdjM5_iT4j@7K5&Yj52DuaCFwP7%z3+$m6tJ zY?b+BHqKCJKr5Kl=r4ci{pF9^_JB?KU;$)amZa5k1_r2^U8D$Z`$3o7XYrf|0^mP# zGKIE3*vQCxf5}eoFJE-cxzQdt-E|EY!Oy>3X|sw{l0YB16+Pfk6{_)RS0*YNlGf$lv23fB~W_xbs^yDLastEot$5c4LeVX7L- zXiS4D8)x5cu|j#y&5A&Lkra)gv~LZ@%SK>eJ0#O&(%w~T{=rqW6W%}5F2mc z31oA+!iFia6MT+TZThu1Rf}ygM5S|-wC76a$meunmEZ&)B}nFZcBXGxDGcFuo4)JW zsgt9{^cfU>T%1p(5JgNheF&`s{;Oo$c|IK#=RN!_GLxKU!}maPYF>%)a*@MI0I=JW ze{_Wce@5c|xKR8IWyXcl4uP3i`_<5tKCG6A9A$RL9Za|{_{~yny{3S+pU;|m^y7>> z5uEl+$18||ImG*~c=wPH9w10W_l^PQwxx;CJ3r0U*6iz~Eq}rqunij)e#!vp@xJN9 zXEDHk`cp#B7sYaTO8w&X!C(%FYTThEe+@cARvQ*0G9*8JLcv%S=?lCzIZ%sAsdRvj z?G{Qxq!UDrP=M*XLo%=6YfeY~He;jlC zX{Dx^;_yHtI0XD#@jRb!;D!$NF#td*9U9!6>MXPju-L$wKSvqkHZ@@$x7W8ln>G?b zA|#J1_4J-t3Ghsn(W815f>_eMnpzNc$}s@7SswQkjZxtJz>{?y0 z?Fn={*MYE{IrWz_S$j4|q#jd*e-FXoz9#!Jn?tTNPrgr2qWWtJ76Uve#*;1Bu8Sdp z5-4nY6D?ia9WUCASp|3v_-i&EcatnTMN2L-LIctLtZHztCA*D&$+-jbsV8a-pMk^y zp@AVxz8x3oqV3BMlR8z1nSBSq>o|bd)c{`a+dSab{PA2#kAt|Z5b2{Je^)zVy_M|r z`xX;zG^vAP9C9}pafV@ll+$#k(^);(r<3jzrK6Ni35+Y0@ZDC3Ic2MDK{z8ghE)Ht zpOQHLhjOCBYVA@23X@=_P#bsV{aFr2jl1w?8~>s2*n_+2 zQLRi-it+y5^cEs+;brdee|fqpQ8AoqBLJ?MitTaHf!(E9+Dzmj(@kfnIuKvWP{S_V z{&-?-OvBlB0VrB&3Uw^C6tiHrtmYQO1|o&s2%B~#I$I6~yBNF~{#K*rjH)JfFs3#1 z6f9eXzsuDUdHE(v$@LVxcKhuL1lH5ep_yFvOLy6KhNLT-m#TzKf1GJI42ttpwxDa< zDkU1V!k12lL1JeMGEE`0lfWh`+sY>SqTPxCR_l}nrg6F6GIa>X&tGYc%6N^^+mxeg ztV=)6s#m2N4J}=(!P`4VR*+Bf|2 z5nk$nB6_x=-dnYcQG!K+MNaan#r8CQwS~DdZZ~gmbj4lvf4%-3sb#jTJXlBhBrBE+ zVR#s4>71WNOZp2(8;OYLGI==zdV>AWFavIGRjbp&-PFSQnBLbm+()10qm27#O-l{> zh_{5rZ)+TUKcY5co9piae;e<~uXov#vVSs;v}Lk_#kh67$ZLI9`f_*`{KQdL_5pU8CV z0P?epva_5I{p#eWs;`YFaVwl_e;rD6^rAKUf2^=(|BsDV@Ba}* zHXYUN{}IF!rQ%)F0ASG58+h}esR2M^=KvrxlI?^vb5^go6~ij@i<^w9w?B^zYRm-F z7&{o4nDO1ELo(7rsT8MdOqA@>v839Q zT^8)Me~gAZ0`Lg!te{YzE*7)Bt*vxaOj3o^{ABCr^eioh^L)10M5vnxb?a7?>c1j_ zRfC1P2|wAomwbzM;2wd)1%vHCaq|x!AOPo#7pYX(l!P{SAfXLy?^d`xhPNFE33N}j zweNPe(dx9AUS@LznN7#} z!kAsYNlV(~cV+Q&Hmsdt|B3m|(-ICYi}6@--*VQ~5Wti?%}!GEQK~2o+Fj3#(ujvf ze=PgOctqD=qc-#(yx@LNW15|t8n!man5M35CEI=P;MUorGgt%3z1ZVz$!pZ0tKZ(H zUE%VQc5*s+H14ttTMvjIlSB|0n zv@^Pj?I-!&o3~efW%il+Fi<0$rPHhA6+S3YodM>hRzqx*MB{5a+2|xQQARz~=4kP# zlcWUhi0e5z4f}a$m~!u$qQXVb!C90!b|4>bo5w@>ct^Vkn1)bjwJ(ATV;68Lf1P}t zY$to_`7eYWoh*+}Tf83nm4;5qG+Hv%B_s3j+Z;}7 z#cn9U2!4P+%>_R?I3{B6xD!t2Ft~_6UU{?c#o%YKwETiQwkuRYuu(-ufrp|QyeET# zKubxYh$U(L)bn<7&fLR3i3w*yzk}B(Tm?D+AKtDA;*vN!ML^U{KkCZke>Jbk7uk8E z9i7efiycaP-`V$!9W~do)OgGFZ0)VZ#>L(HUVNfs$Du?IRqbqw8tO4f3bkm!pmDFc zwsGI7aF5v}zn-tiiEMLIZl?pAOhxQQ=gx#GYl`)(8@w)yxmfwByLCrQ5tMKnbYc0UCxfB1P}By`!OAp9AwKX}|PZh(Nkrk9|pUUy12!mQ}2^ldE# zF^o`L@8hbAYW%k0!b#wP8gVO)_=-j_&|r5Y*qso@{qRx00<4)9-s;*WLfR#DyJOj1 ze;QTX>G(sdH!dL0^2sC{NBkB)G*u#2^ zkiV2G0j%NrF)ukjf5*A&hI^Yqz88d#vRO4_Imu;wa1qtvF`ofg11m5KX$@6JJ+$;+ zS=5@Z-@=0Gtlfdpl>{BSOi@mjF2s)tj!_o=5enAkRN5cHOkLghEKRS zpCKCk2u=|PcvnZHz;cVGBRJoIlH2{+MMWvPb%BLu7jXF}e;*}(crb$hRn*Xz$6J5c zPT_x5fYago6Fd@!vh$Nc+TPjS?dt#fy)QboD816bsaiWV$X`&5btty0@Q44PvkA7h zz4Pa;{tu4bTW0QX4zWf90A-s{Uz9t|IHGgwfuy`BanAnJt$yq+QQ!w~L8%xRtsEAO z`A8LQ(hFP6e|DlDc^m0~eQB9$x00#+(ssOekz`U|T$uS75&e6Pb_;+fdyY_Jp4l_A zRlEbD@6qfPPZe%^@J}eir1OZgI@($79>Eop9>0>~oW#n(3qhSET4)?Hp*WFBfnL z;Hy@$VMakcn}7A?V)WI;-j`eI4}670V_rjeDZND{wp5KMh*dp^RRa*0^&l?mKx}dE zoUwF;8+xG08Rov$QQ*yM;ZKmxX4!P~=rkXX+FYwsTL@UMzJ%gCVWV(Edsr6-Zj5e+ zz?~yTf0+_1ir~?r@b@HV!s7J8mIowF;e_H*R}@v)G7h*WD=IKhFDyW(pay6gCt>U> zk7U4+y*8nSxQ0peL0{5~HoWM9QMv0}*%HxQ)sC<4!PUeUs{}Df94Wd*{99d2Gw8aeY)4~F+hu~ge;b7eqhQ7ygR#V6aQ`c@vJBw?@pRJf z^<5afGNDTnd#hxl=GvwZ+>W*>kG$e)WTkj_{1c2}LAA*q`tE`v^?$!HTyRd)^2Pb| z4f_uxC0bfuHHa#XCI9RVNh7@MBs0aE)hL1MnSR(?=>Hxk~o5Qm8l@) ze_zM5Ve{5L_tbzo9PwR7TXNx$?OkI*V^zve?OCYro+jUDOQyDPQr!!~P=;TOTUZjF zn6^l={H=x8@98ZArn5hOzc2S?^k$LH6=Xa_&%iK(gBE?Gfxx~K4f$75>KNDSPeq$m zHEmv3)8_RW+PuCE+PrpYGbu((C6Tg=e_1hyyR}+6z)`-U+r6#is;j;vUqE;0fjJeY zy4{2;cawMT&a=Tx?YQ3YO}cmQI1?UBPLA)P+K7~E>(fm$SpR1@PRlZRWTI}|BilLt z#sg)wt6NZnxl~D)e7;zwR<4zQeo5%Tu4t+>9bci5=X5wd<&fs&lMet4w%kR;% zMEgjnHRL>hpU=Qbhn^DfYwP~wcS;EUOkD}Nlc?Nw{83b+Kj^SU2TqhEsiURNm9Y<3 z@mKPOh;ecV3YmEs6fvjc+r2O3f5w97(*R8>C@^(Os%`l_c7?|nw*8LV2&KIdJ8()~RlK`Y?=G)J`28s5=X#Wbe@PUljo?jk z5fTqHtge@zeCOWFr#(IMoX-o4Cy&JPYa+8 zO`8H1;z)nhx}MQdqvbKce|-b#whqo$i4aU{AliaK$E#=xnm{9>teb~X&)rwr(M^VR zf>l_vw5LH8Y%EWbhtq_9P-rIMT_kz}lRzV1&4?$Jj418rbF^RTwM+eSd8&rvYz;9M zmE*MU96HR4*g1n1V(qCB*PVoqU@Me@K$vjxhx&^V9lbBMk#M`cfBss*uUA|{F#;wh zD}#3evUm|!gfy4SI3J`LOAeb|wR6cBbk{k#71Et>3>?V)r>ot%Dg^{k`$KT-5E0$* z5KB#q|F^S&|8{VeC<55{xbjd?gEQ`@&fH|gzeEU~us`s4zpB<(K<`MU-CqAARy${Y z!Mq}xR_sf}%bJN2e-64HZieUfVI5Y?sIF#fP-ErmDsh##S{xtw`d%%fF5rgPR){AL z+gGwwJ+^hyC&X5lj$r%9iA-elOHAh-S9xRzZh~R2TNJD6bKXf3^ypXfwBn&SeZ8Owrh! zI-;3ywBlSd=1`hAxvK~^s0T@*akUt*i;;l=5_&58v`XbJ0lSk?fB*!8x99^e?%OOJlVo#??D%$ zx7==Luz&_oV%=a7$I@)V3Tsdzne$XG0>^gk2}e+ruSNEemugA_B!9gtn{TGF2Z!96 z4i^-3#E3**TdH@tfozd9AWnT_A-%2Jh`?IJlD}@a9)fh`UY51p{7ElUwF5JWo7 z3u878@bZStk*TlgUjQvVSy{cj)5LjGIo{1)E(v@iDjURTJ_ZXd`mbTu06*b8DT-vaVP< z*G~$wP&<(ZO3zFpB{LGhN@r);j~A|7ZZU_hFzP9N)vB7FY@)YXON?=Y06MbzKF3qU zpSCmI4>Z<$!jB?fWZ>eUFGIo4HyWR}a9xR;@9bY)bx3F2uYV*0EdlNjw>4Tdv3-fX z4uYX@*FN_xPJ%n0c@pk~vRY-jXoBHrMu*@?5N?YUhh8<~nrV8L=404XX_-qi7?2mz?K#{6T|y}}spoJ{QtPaw?pB@Y zDYfq&<0m3T&*=XDbxSQlUfaIrFqJw!g$hvvfT8rF@$N^hNXXkVo9BwL&o zBOD1pmIC_1)(0<>tA;CIij zS5Nq@EzvIB+kQGdE|f&DQL5pJ;8d~R9aG2byo`#jHh-4-@*ZGJ?tSLvLHxKUN&Iq^ zZrzWc{?rn_Pj0;?KHe2|jAOr|z$z##ok88|LBc-vH`D#l_tM?1h846PGL9E8)FH;? zono)oOTgRKz~4w(e{9(yl-W{9SH+lvI;)8e6a7vWX8C7O?%iVSK01SV=gwcNCwq>a7u`aFQY&35?yAO(`jk?f{%J^c|E8o0UtCtv z@ct<3UUMr{P!rEHX_uStUbC+&$4;SfkhO#?rTEb7Hy7f8{MR> zDAn2835j)fQbjBVC@E!RI(*uOP>@G;r|Z9Da>ZXV(eNd{iyiK}^cv0!wG=6?8ZCzl ze-o6WmeDSlIIgQ`y^rW4XyzR^b6aEK;;!+M1A!%8a)BE5#d0%K&f{Y&CW|mfuM}1T zoX0@=dzOuzvMc6ic+UY_s9vP(CC?OuMd4nko@-T-b)xnpVNP=Wd(PCh5H3uxHObEt zuk=Z}M9$k;axeAhZ!B@19?!c+e`iS(w_$L zl|FPz-`@WC^IM4HROON$oZS}FQYoo8I)_H_)(gN?&92FqHFCU6G%vsC_zVKi;}MQaK&nh(*kZMxjm$jME-B}m2I)ir`V zF9ZoS^|(&U>fq)S+5orJq-}(WaG=ezC0w-NujcJ%4qjge@Au>u$DX*-Tkq6S8zCBP zzu9IW!+cv4%p-GC{>d)<&umkJe>&ziHKg#YE+%*N^K6X4^4!vfgwB550`jbsde4=e z)pYpj^Orv!wK@^3pkfczbcN72KOP;ucpgI@i)kZQ3nI$JO2rYz%5khI(Dn_mRu!9I z4aF?hV__3%fHlR|4a=hdx(U`$u>sat%wYXo{kjI$P&tbAAf4X`X;rTQf6h>}EIGepbUFbJQoD_R%0B3j{Darw=4>qG-~eDN*(Z%xH($)ySoQQ)Es zf{V?KSOjY}U=k`vU74hFxCsWA-{a(>!e$yI>j177tYIBC@3l57nW%z>2qc!k9j_0{ zWbE-U<`NaozA$oA+eI^1f62JeS5;EFm=4Fea}wmhf-=dI!GwT z)1+PEa4e8VN2Zr}~O`l3XqhLoI ziv4RkoY=V44u?9i8Gl|*W_mM>eUL3B;-hAZ78vs=uC@uwDdG4 z8_2^jSq@K=g_@g5e@+{9@K&OsBDBCO4#K8hWW%L4^RR@_5cMGS#2}cdY~px?^L!IA zrCY2F$}EVBe1Y2-?29>5g4`(6<;)Txmf^saHq{43n$6mHGNe(ChDAmh%zRe>11i}A z)${2|H5*&WUF)^wpj&gf4a%8QnaJ@JAhkAC?OLQ~73jhce>lOR$KaB@k^rM!@=}(X z*GzbCi%FZV$OhBfUO>XDR!vu%3=a-sq^FpFNAqadpGroH`R!h-Q)15)m7!G*EpV+& zTUQqI{Nx1P9E_ujbcQ2PZ0dkr3S39ytTw$GQi1DBpdGApehDi0?k|zsghp_Hg9{I# z@r9wHq4x?`f6?~{_$Q>R^t6Y{-o13y580BtgRxwIrwW@LMFbKbXd@M#~J`wh~QGqI&w#Ib>V_>ixBF_>y_k$7M)j9+g z<+N1#J4NRWpr|sj>SiiXD+WqE$G@~nrlB46Dc}Y!e@1U(HuNWA^;B9qZf(u@EBquo#Wc0EvFAUZiV@TK_2P2EOhTFv^*@sh#Jc<2luLX1Uq)Y6o3oP?7m+oTpaP7YU{6AHB1uWeE(_zAlrwK3n*PZ=IPwj2A;{N$D4&I1*I ze@7g9?I0G=%@#vCcv;PBWSDW1m`^Pbs_IC#PMIck+6!x?`#oiDAk81J#v70*GF zDfoERYy?DtTDml^GtFveX9`CFxq{9?`Iu^O!hI3ZvDko>U|viUks=tIns7?Bjv3B) zra_C)8e?m9ra|3@x=e#!hPS4P2Aih%e_adX1t*YvlLTI7uID~dq!cR?Uht$-!tqKAv%AUJHd0FoQKd<|4-*s|heK)33us^Gsf1#!k zwkSICQU^|uGS%gpK$dPGpekdnVEXojBTfTTXyw$ZomID!hTIdIo&>j;{n`n}1M#z- zND&VvB3j_Uv~&Be%7=?=Mw%AAqJ&crbi%&DaF=QpFCeFVLAg2UP1#Fc7fbC}sMKQG z+rz?VtN=K9$W)Lf1F&8y`pqx~e|OJmWT8|prB#9u!zGwvUfKu?1TMvdE+tzM6rcs9 z?L)Z7po_ErKRG%=0T~MO=`ox{Efy(PdIp)jx$vlU%`!SQiR(b z59E|B#{BF`Apeu%2Xq_V=6GT89TBkze2$DUNb1;Lam;Vbg|q3Xt|-zdu`v~iy_nOU zaj>w|=J%wF<1Q>?I1_wgf8n`SG|4eI+*#D{byVOzD*z|zv}>8dZkDavn;mu}S{KOC zWzMtMimd<~A?XyD_U<={sCWAKPWt-4qth(s5i{Plw76T+$k-J6-7qi7D`8iz9`Cf} z)rGHce1%)k+CEiSK~tO$xDVY+EC7y+;!geF+3=&-&~l$^y?Este?*(`rptl!_iO&U z7vo6y_iOxjFX?+a2>@t>j&_;ELuHuHy$}>^;k1{i%&9oJcq^L#Rm+N0Ag7` zA}Bun^1#~Kob5g)C$n_;EOw_h6e;$HZ{d^04oLPmV6?On{WS;eFHK$SN`(LfzWYEv<(rWgPZh)B+SZW``&i{|4r3s@?WKK z?ebUh>7J5OMj+uZ2_j%}modqB#;Qb=IkLr2D;{Aq4r2euKKfibxH13}#i2xu>msAz zX#b^PHr!7YC)<6e#D$HBfSX-aqKy}7@YfH|)fVo`ZVMLke^tVHXcgo#Y0G@#L=qsW zX%9+m>wWaBIBx^B#HJeYAuKx`dr1c#K( zAZ2=-Emkope}mG<7_c2U+m8PZvy&7zF)KDD!4_x7PGB2Atzv38s@VE4eP{K!dR!)&GUGVb`a0F2+r@x~#tyv;jMG5TqzDg@KnoZ}|e;@1n`MAJcGc3C)-wCzLyG}>i zoR2&w#H0e@je~luoYe2y*+`uK!}-FgxjqzRj!%v_Wqde-;Oau>{sx}Ve=GZyIWao| zR&u9eA0t;?{_tU^Hmknl>LTSisy=|TD>!NYX* zm%_I89N1Xw2yWj&xG#lv`Sw;o!F`IE4@=+ue|y8X(B7(vsI;de?ln4}@l`hM9FY2# z1GPdaE zD+T)k53<{>N8)a#4kHhqK-tI!A%#kiKn!f2`WA?dUCPo;p)enr8-ofRMwE7Vic||s zf1*L%u+iGaD{%<(SsTZ$mzVgrO@$#Lx2`Ap$ODd9k;At%jBZpRMB?H61dY{-?-@hw z37~H%9xyoloPi&>^#cd!*qI|6on9Eo8Xa5`-Q1^&FZR?Qdc@Db#{UXkkLV7hc_BiO z?9RsP9L|9TcOL7%a?5OC2jFUHcHy>XmzX-wr*|LrHy+iELq<_(-HTf5@kF zrAX|6isNHl;P^ON0)TQ6_$tb9kt;LU`Dm0)!3|$w_vWpB48tW+0?ky>B-@Lq6ZB!F z0rg7zUTXt&bkH@Vtd+) zk{~!b4zwt=o@+EJ;5hAqQsg$P9zQP@AXWLPksIk^fhxU8w<#8U^xW0{e^3&Ap>+}V z`oXo3*OdhBu=vCAg{_+#wGCQgCGHx{aDC@M8&!&t)oj?r?3`Je@DeRL4^J803w@{ zEAZ+95PEcYXv+onKtc-C_;NdQMQMogH{3ve|2T()xF3}KR|uWrIFgQaC8v-x zY7xr};{EZP5mf-@(v^T$(PPbXj-RaLP4Z*O7kN6yV58bKT+DHrxKctEQ^+xbs~|9z zMjwY~nq_sbyeZL20)fgbso}<>VKHmbRt0iMsp;k|it#+f;fI#?^ zlBFWD*`s|elN;$|Ysm|4f=9$9Q*(KPH?m~9`^-D*a*BZH`m7>=WPb%b|LiP)R~3-b zMu&YR6&f8F_LcPE7L?T$wH0$+7r%~`*t6}@lYIv^or@pT(?*r}IxLYmu+@`&q5bkg z^H&t5&Y|)L3abkGJ4oFt({IgR&K%IbWci}KreeiyKUyz8Ue;YnNYzsAJG1N7V$NO9 zZ$oVP8bULxP8$TQ*t7DT#Z~28j~YPqC8^m3XuFBz}aJ#s|9HU zX({kxmUr0VrlR<9`hE)j_xY#=S)V~^8PhF<{A8;196w|@WeIunHu)vd2}9oGBe2;$ zbW-VDX7d8{jR_cM5jY=z5T2OWi6F1}=nkR-gKCLA0<+0XsefzOU^i5-8bMx84Q#iM z5rZUrnnon^KL0o_)J9`3;UkKFG^zw2yxhI6q)VPo?()Z+3Iaf|uFo6%5B zlfZ1fPIEDUpte+7B4OkZL;pfMJabzX`z}{-ea9!P)xwJ>q?b_yra#?>9vOM!!li{SGFn$C1JGDO#UX8bl~CWXRz$!?RyTXN8Fs07=La9{DuSMF^;A=EhYt@z=2$* z9I%umvn1P^E42 zi64%6yC~RP`Wp<#RS!4NBLM9lM&%frG6&B~rDMFcyXO-vKW5o5KhE6+kidyOoQqD6 zcP^l-QGW&-lvzfWc^l1&ZDzR1WKBLAXU952=_?A8^a7v2W(1NWI2|cXH%y=-qZy09 zKjxY3n_{0Q>F`t}TZDJ;$~~7Wc>|A?uo1dw^y1j=<*+5V_M)0=fo)b-fHBc^)jL~L zjZ-yHvES8OQtAV`awcDLm?EF_;DKc~O9BXOT7NBwEcpruBLT1j?|yuQEGD06FiP6f z{*mo9a!)XH0$qc^nB*h4rwPO9L@jaca7;-qe4yLhAY`|a9ZBz4*d%et(4&A(;sFt@ z>xOz#GGV*7ZD|gWSwtrBxUl-I7ck=MpunDRx=$QLv@<<-bkp_)VvFnkZ+MRx?s`=L zbAPguz!w_{P=@s~s6ER*d{EPE4`X6=VV=>~t1GUZJmfEwSINCLghiW+Rr>rDH^0{9 z5t1^2|0HyJdT^kRbZ-KYrG$W(UI>WQiVoPJ0{{4EqHBdCS-pu6$7=g$_wc;utrw!= z7@NhCIPW%s%FH>2Su?pbA-ybq*?5$+5P!>-GqI-7+2lYY+fz^4T+RqH!cCX`nhw(0 zn$hORJvQ}_SnoJ;%?ev_l69ULg9xSFRocX3$|{T2c+6kSTEQS2rf?NrIDNy34FkYi zD>w>I4__b%Rg*8L;lA%!>0WnY^wKP1XoYktHK7m{l;DzN=>-M@^XaC9jZZfiFn?KG zidPz4my)7rB{_Yg8Kd-MI*K6#xclgEQQz)~2>GJB8dHYSL(^U*mKM*zyr%&hQLX;# zUbC49P2O8t(5nyLl7`KYwfdZ`o(D!p{)rZid{(HM|Ueck?q!$nS1` zzq|SAq5QXS^ZVU@?%&*hj+(K!;Cw8nsmY6KJt@^g%P_zD;C(6|JWwT0SP_A?jAC+) zrVNbVJ@Nj{Jn^)O*2EF-)BA`8*!=Dy_PdLi=gMK_l|Df0jLU}aOKmUG4kvuPuia#paQdH(^sp=DdVl)3qmTW80Z=B^ zjlVfyyLVMH*m;SQ<|mVf(jW04_WMl-Vohz6%u=nueo?*jP!%efgW74^4#ExH1O$Z% zT08hidS{65{C))5{0KBEacWOM`QR|{tOyP)n;n&cy|@kadFah9+Goy)LgyFhou=iB z^C_6XGPp0JXHC?}e}6smYaVnIV}oy=KuA3G=gW0s%^v+yC|Xr%W5b1NJ#VxQ*Z|y{ z{Ox`KLubTsj?$n?@1pjk4nF3jS8u75x=HZ%@ab3l%X#X7KrRrciL!7CF^dBb>4gMg zPYi!kXL@%chk87Bf-}9{TZ;EehG|r09*!Xn|1{a|Z{6S8>3?rOu)eK0_X<8eh#rgK zL6ZawSsY=W;aS?Euv+n{Ijzx3<5>Y2D#s8rZ=QoHP7s`>&N;W?4r9?ib?ticcj z%uZct71k31t%l-xVv{AJvJ%#y7w##IQ!Fx(W7AmFsh+7G4r&he=GjaQR8{^lJ2llJ zl<_hBhbwp5=zmuxbPILtk?N)5 z4dG#zc9TK$#yva1C7a2>zrLilo@iN6kYHv|IWWpbH>8s7*+d7kUD0EniHs>Ugs|x# zY>|ZS#ufVF>h88*0rxLw0N{Ivi*2_ndEa9$P`{9b`hQ%fN1n`&Oy+G;=qq%+x~Uk! z!SQ+X_|P6J^mIx@Th`$+QIg^~iGoVQNXJ^S@Jhl^*EKTBFS0RP%mtjSCIm7_+;G-c z&-n_eOdcF4_69+&YV1b|xX&tJEJbs1>`SG#k1&v-+_2eM&_$Ja3Hul?0 zfomgn#Wc4~dNOUV{YcP@%nS=?CAGsoQ8NCNi_`ayXDTaqZ9OwlV_iOm&=vJFKxs>> z8g^M<0yx7AVht-rX2f>4nx6uGm4!c+Por##qZH*+S2XcxO5vmj_*TW!r{JLYARzR5 z!PE?ykCz~610H`{Wrv#&FBGpO>P?4hEnqoXrttc~s)QRIEB2fVM+sax3rOKsoV4%$ zbzZ3L6YIrFE>6+~-YzfB!QE}1LDUGPsB{xrt-1+|gKk1x&`Z9{&$8*>-L9|FvHBBY zt8c=|XYL4d>J+Poe`$yjGEaQ7`+<+b?a-UOa+glS^Q7kr*C(2hRW@dsnryVh8^5Yi)%k3Gl5qwHolwfNu~4nYrcztD)gjnyS}y1I0;EnX zOo2m}L23ggf7wptBM}sQf<_`2zAj`|d%}WS6lUAnrjCkl6*n(*ah;NeVOi0?nQSL} z&O5E{ZzxsaO5kEh6kw7tE>GB9$L&vuNn*+EVFF>4?7J#Vs;Pqab}R9;3yQ$-9lBPM zi?O9>*Nji#({m>{PYosq9qIvBOXfxA_g-SB19EwGf2LFrh(WPZGpZ~h``>)EI0dWg zl9N6q7~{31)79tyZzpbnm6le2;`wI`^4QWnRq&bH9%Vw33jgfkMy5kk>1V3+b48_} zLwjQm>h8~A0hR*x=eOKpc#CY{70CSpu5zIS(a+#%1Zn?r&(!6$L%aB|4x%Q%2wq^K z`!Xo)e_bnwPrN?|&h2PdN;BTnas+$hXZ4X?py$`_1eHh*A{5!bot|UR>!0JxF5FsrW zXY+iz@Qi3k$^fexX*V_#s|f1ME6b zOo#;AiCxL$!6{~56##0v8RPod}r(0hM ze>*A&9_Qtk8n_#`#G#ohAe=pqGY55|J6qMRj$WgtAMf1wD}Kq(4x$5Va&evMk>e9O zr?4cUnh#!4-EX@)Krck?gow$2D4Wn}u^f-!j?pCjnXbzwCT|uYAZ%m0A!{5neI@fl zHiCl=O;*R_+l46%um-5Lzy?sC!K(&ff5lmg16rQJM8H4B69@**(EaI>2yoh`L5L7` z1lS@mqU7gw1qoIOMTvau2@`m=g@4U4JPh);5bVOw->4xHlc}1u@<5w$3oDqXE-=LSLlVYziF3%zbb3-@kf01kjBuzFVq;D{x9{-ArY&_FMqi#{fKt43}H^{|QLQ}&E z*AN9f7yi8jXvMB+wpuzIE+>@O;`^ac zn@Y!PEW24N^^W1@zHF14T-c4LzHP@-jYgEiH4v}UA(WWv_Y2S6v1v#DbEb-15u6EQ zml^-=5w!EwLCpA(NTRBl)s9T9nwWRq$P*kKe`l7JOFFMHb68x6)IFgMV=`eBT4LZqBj)^D-IbC0qow=rp>x(x*N9Vgrg~| zJtzoL=re(5y5*YVdSo$;gyQSIzj_2{#V@HcJDBz)`&%q5o6+LFDLp1@7=N}7dIUm6 zXpxWTj`fzH<#aQGO9y=^Zqgm;i&4AS#;&6;#P;S+;6Cw4+xaQTC(I^dg>at}%!_aW z*`wEMiUQNKI~aO=FS6pm%oThp3$?b7<@GIU#o#D@A~oQw{-nj zMrutcJd8O&g+wyLaaxwzj7nFG&*<%Dz7xWd&u?{=eOI{aCh_ZPG%Z(19fMsX6 z_JS6WviRqVU;L^k8qODGHa@mNU&uH&$jU`Rrl&TYq2-rqr^oUQ^jpK~GG}qK3C0&GO3G(492bymv~)ZO@97&d65?RFNXF^> z1eGI2Q;A2U^=YwiyToW95!8ELk++k_4`27}@JT3q(1_x=oE56?CfJVR0W#*BjI0Bt zswJO8##3-p&*r6|&40tOdN5Vm$61EXqH3Ur=@d~&8Kc2U?GC0oZ`ecB0r6%ouDiMh zNAiL;7iP#+)$Afu$|6ix3>&ZZmC%_f)FXgH!-SdjO$%=%nG1zyd5R~l0O>V1u8(7R zgk*6HB1+*N4T+2=huZZ#XHe8HD2e=FIz}MXq@U;68TXA3d4CK#YV*O-EZZG1U}mPl z=Bgw=IZ%9&7|_#6J|5>~rlu`qWiemWKrd0rQG+}$dFuu~;9VdFUImcs{Sz5$_mb`2 zPPi8V3zvxFKR(4*vpT@&ED zHd;5uqv~?F(O0y4R6Kt&{d+bqWY{ttd_jcKvqyt{8Ilv?3ZoCD<2^wU;qV}HlwAme zjec%#%g`f+uq{DPlt{{_hjxh;PoL-w9*0^^M~7;0$$xz8(2W78fS#3VB;m7zf7Ea$ z+x@o^ay}J>`@J0~((hqG_1}&Y9odpi6}CTQ5tC-+MkCYVr8bChmm-r2o5b(yLu`Er z=bRKFuKXZ70G#1fRFxB4&hE7pKYE_)>Fq`y41y)yjKyTS!FSrdQWWS>XdXAfB$eCq z%ZZ8fj(@yUodOu3#|1>OB)w81xTb^Ffd%bFx8)L>YU=mC*xh$tK@%HB)LeP6h3xWo zfqDWzv$Sm2(KQmjP}N4~n|3g%z5IhRGP_kT#hk$ugrI1aN(otz-f7gyiD0EBOep8t zjrmWIMRH*+h3x7whu~mn`yChTWrq7Sz(b6)&VQcuPVCaOxBMZM#VU|NYsbD8NEpW# zf$lw}r)vOP6~l<373QOC{^IyqdZIML|9AeiQyrsJ8N`rQ2V@B~?yywGt^RtL; zrrofx@>d4|OS#q}pJ=|9xyJ)P%Xbx4TjxrS3qEq=rfRDnXkikQi1y_XDOB0kQ&F~H zlC8R~Ej0Q4eF&=^l$#5o@csnot(63&Jbz3eSL-0-eHrethnyobfN6CNyXRgb*id3i zkrr7l$yv}mu8PCu6fps~#AKW1LvzP$-Jimib=x-!y{pqV#Q}xzQSl5KY%~7RHoPXTMed*xtQ{q#UfC3DoM#x<8QptfTYrFT z2^rQ~rF=I@-$S6+Ij`;uyz2=jEy~8ON-R0TtI$`(p2PZuwmlMV1|9Ase-zXBGshFl ztGsdGKM_?!9Y=1wY6fQ0@YqH@X*cbp2*ys&q_y28FOOi`8txuR5sL@{iJlY&XHxj% zO;accrwANfaxVtIgMZ@^F>VJm89s_y@BUTy&nLC7wb0R+)-bfQ@R244~(w9d~lMfPxUr zxQL$rSf{U+9jd@#>LTF8!i95V&CZO%e#q~e2XfwO`2^bP0&c^q&GIxaCx3fDI4A23 zteFc)G^3h6g&7AMO1Qmd?U=4mG82sMuXvKhn||-i!F(iu|8)qY56@#navI(^@a0#9 z#ETZVhRlhmIyxA%ZZ0k&S7i)ZsIm*wmaN;lcY6Dh3;KQsStb9yW0r~1iD>7q34C>Ckj;# zNBXF{ou@GAc;KssQ-5p}U1sXLJ3~nbC1+Z_R?I;FQUaQ|<)_7YGA`H)j@isy%d_o9 zxP%?;Hw^YZb@_%|4aUteQS?fOLvX#r(;z-_)g;Bs3m&qn|E6K#>2T!_*H@8Fc{u*n z9S>l^@-tIFA%ix9Aqp-6x)}kwk0rhWyMp?%xmiDS{m9T&IDeWb38TW1-)Xrk&wZ}3Ki2XDu$GxoZ5Njif#71QwT$(4u^5T zvyp|*Jk7_zU^v8bgsmwmG6ldZNWH_M&HaJ(`uQfu+z)sAVQ|<6!&4cF*4##oG}XK7 zQBuF?emoA5Kz~gES|6I0uk-v9xI}baN1NAL1Z`|ktH*OWe$bX@x5kiTRen|B@x#|$ zuNFAcz+pETj38(z=h=An;`!0{`j|G@E$GdHZzn>~U80Xju2P|N<>fO(C8B&rcL?## zoH?5eH*+YMEnS0502-$t6~GrCpWeGsHtthQ?fqkQ(SHXvG4=Xn0Xow*CxWafx?_`Q zgC(z~@$FqN(V*j6^vWKcKIAOma11an#<<~Js*dHux~wb6f#T$nV5Fm;mnEOhP-Wu; zG*LSh2uFl@b_>|T6(@5=K{)kEXq%<|Bv3BS^OFCUQX+NbroJHjHTnIgxpH`9nN#gUX(6~5+X~cnM7tQO()_M z4BpGJiMGh%++OJD^w5K(-S70+rv$$82^BrHCsysgOe(5RJQO?~P!}WIZQeKW2*m{v z)Cf`Mw-D$I)35&^T0Ic}ECf!V41XM7h4CVNoPQr5tF>>cJr*q9AR&TlE~ZB&;Fmm^ z(dgQjbONFGP8_4pNpZ@kTr)AZd|=#$_mb9WG0!jIByHTn+{f|(uxJa?0l)#LPT>fv zJNTFAgx>V@vM46uQ%t!Mq*Rd)px!em1ui>lJ_t^0XL_>N^W1L_fb*KY!!!NpdTw*%%24j8YF8YhVSR5YOPvU*Szt zay)+V3@aTD)#8Nk*1!Ukzg1{{`>pB0ET1Yh33loV^_sSj*#u3F;CE9*u@O=ECH#(1 zR69n*k|?8oNef7rJD4?tSOQ@^-%M&1xuTCrq=ze+u7#h6XKJ63+C+Ti9#yLSuz!C= z@(XGs>W{YL(b|(7TK6IcwT}UvVHn8diFQA_A>b>_uBATO4~cYYfQHCl3sQQ4kU007 zg~S%2rf^t@!!z=7oA|gjfEN3-$(4lehc`)<=b}X2W0d?({%RmC5qtb+T0(44s%6m06#U;QobLZt*^$y~+lg zqLi}sNEZ^l3TSz1E2vMs*6MC!5V9JB#|D7CM<+SSHt^Yj+rXdxl(;WVYw`$9=O;Q+ z3`{wST0c&K(OZeCp>p83U{H8cXg|Gdo6K>dljs* zG|cYMhWDaB@Oov|FHLB6zHL|-+-=>WY`{^4rrN8Kb>IWs36Xd1(__9a_~PfH>s(00)S0P8Zy60!|^w*zoDLz9@crBaukeF)?uZp1iu$c2<=_UkI&LVme382a^4*aaVB#MnoGyVO{ z_3?2MmNFtizEYFy-oVT_5;y#HASOOc>{SRcabS|hJcLB-sYFXtI1Z$!Npe!<|b{D=%SEJhCa(;iF4(JQ1j{Y5L+98mXN~LgDw4 zublWYvJ_|lZ7ix5QscyKQ^3B{ZuDd%NXzW$^u==V-^+BwSASs5Xm+`9B>tFgEpu8! z)0Jrp_>#GHO>0kpVc$`B+#p^Pe1>MgCT?_hrB`GQQrbWpCZ=ppC}b35IWUR2!|Utx zahOE>P`zYaWNCEFq{se23O8ytt?;+q!X<)gDAh`*d9c}ebyO+N@*rPOjA4>Ld-TW8 z`QTv&!{ehx^M6}+E6mHX7VXikUpKsCOfoa77lnIIwziC(TQYiQOc-H8X9@upwYNuLU zsdP@3vU9B)wT(WgSL3F-pq)Qm!`=$;6V?gatQ6XXx2Zy?XP*U2iS65t9PrY}JHY*d z)yk}B16<$zHr(9yHErb6CT&3KPis%7o9@SSjDN58=2Ls>MgeQU{Z0>62iAEzZbqXC zx5vCS*2#Wpd~sV$Utvq!a>TgP8ak;{TTdL_X>Cg|;Mfjbijb}7F6&i{lYKZIwA|pA ziS4p(QsZJ?t%Iw^!@#9M^n1ZA9@+{{_$oC}zztA$(;~Dl8J((vD;JKcHwDadX(iHV z0)K(N0F&%gkqZ&6x*z$ zm_M-Y;8xSDVtgHh@GjWR=muhJlXM8x2pclp#Z!w2ZPO2l3KChrJ%FXZ%)T8L=^|R+ z(Rp+&FIbfY)^{}ss%1yW&NPF(zqK^Fkbidc=H7x_(Cz%`PnMWpNuL9HL9^QERDMn* zKDLDSNy-tx&dC)n9nZ6Lw8DnSgHT+@7f{4dhI@U%V&PW5HaL|+4qC2mSF^k(#AXtq zZD&7*DRVnGiboLLh`qfIGk&EHY-*S>I>QY!;*wj-jAD8lW>mFe%$Q!d%(#Xd4S)96 z=0??!M$yg0A2J8iD8KoVxdAu2dqA#4vlP_N;Y@|r1LM?dobdjlzpUEr&n}G7P zIEUl6IboP%i8lY5D6Jb_!f{E)p?@s8SZ$gOv$9O*`ItN_;V_o~P7VePH%%HnW6pDEan|lY8^1$Q<;OyFfG`Y{h=E3QF z*Em}8mQ{wwkhu=LooF--!Us20ZwW=S8wJr#H2<7H%c}E8{2fiN~j6RAeWr zM~Gbc&Eu*&|4tFT_}dL9!p95PcyU{JfzYk&;5M#Z3w5_W;{*4e0B^YTYaJQF_g0J)XH2;!OHb##p-?Ag&VNvSpX zd3L;{tC#4vdCnKkIQcWXyZF{{Sf?SrC4~`4lb@H9nFfdu=Giz)OC3#JaVh$fqbmny zg3c%wjEz``hiD0f)_?N)AWzwl4v)=Io70(~a9N=d1_iT-W*8JQ#CQCgjhc@u^r)Eh z=0&lHt={^b!elkh;BH2VS2)n?rd7$xFS9x1E4O10i)I)*{v&wT5l0T+emd^^k7GVO znKdpj2k!Zad7;noJ?9M5mGJhEfnZH4*?eOtyYMsF9 z`}v+!vW^Bhgb7xdnmvU-VKyr!oY+*TZQX=oni}3IXK*hOZ$Lo^e6Z!)gSejUyLAOH z=T(&nk?b6EW1L5{7aiw9cMi5$<^7+kqW_4jH@oMO1IeZe}% z$6C|fq!HqTNq=wyjj^@G{q1fj^)@U>r<&LV`vdA!u^}6#>1>8`335Xw>3O=Mi6eqX zm!<^_N5+_$feYi(R}Go&S2waK5?Q+BfwS+lNS(S_d+2n~s5K0RW%}oBt~DBVZ|yDt z{_2m{k<}yT$S$^cnHDQc((1(sIHg#?vryNsqzt}tmVZuH1rhiKC(CxA0!zYi4tASF zoUYnMso@c>x2KC9AIsfc5<5ob0(_Wk5;P=N@!d)>Tf4+&H(p|iL4WmC_CIf#t<%bc z58f?kWe}XRYKV2+l zds|znqJLJZ7;b*D^>ccb($&jNgtdvVwr)cwwRejuH&pJF(H{Ph8DlO3V0?R?AeQ$+ z3p*CpM!8^S#ikb9#86rWx|;}*Ng5fF2_-D1XSkOG|3k|UF;hrVQ{D3mBr5! zlrZ@jQh?a_9HYeJovTr@oOLw>82M>-f-(BL6~#xz`P2rx8}abip3is_hOzYEK!A=Z zdVk4dixa52iY2$fz_7V}$5y6`+2~(GSa45DkcN1RLo=`xliD!6q#td) z5wh*e1%RH$pl~u4(tr5b5oP$}U)Dnv3qfbvNTIHT!Q2}-XT0PESKpDBaft&He?b{WWTcvqoS}a!u6F!f8&-)%?(fS z2qmD@5X*m+^pme?f+w_9!axOj!!si1jyYy@gl(VA(nmU$(*E*dln-^wh>&dA34TIt zZmRY_O}lck-QP$nWqBR-bVmdy-7ZdORjt4ZG9&e??nTINwALvp3SCtZG;?UL|rG^?f#;feAsc_2Icbt!XAY zga}w7VnSW)@vYl#veI9#uC&6;h4qQBzHuwlS*=q`oHff)PPE!CT=VV8yfnzKKg;35 zYY%hWi`cEt_9HvgT{XCAw-fmfBp$rNqB;s%Jd`# zRgKh&GMR8;qiBdng-OmGWh)&pR`1=$#gG=$c{ZjkGkf5f7aYw&bxCzSn*_S-2iO|@ z&9WK%d@WcF<$$OD5}YdyP`&*A=-Cg+;}_4oHZ*58<71y$4KG@?51cy`K3&~Tg^!bJ zj^r11PD!REYd8-Ff0(5s`yo4Cv^5O9on6UVuOqdNikYcIBZQj=XN3MAcGyhe04Z#*V210APM#Nf1>S11QX)Q(`Do=feQP5-f(Tt1?YQ6j3*fs=Hj{|Ee-M_#4~(I^JuM)cONuI7NnuMgdZzD?xWegv=60y;d?&JS&jHq$R`zu(RAD;Cs?fBXshyjy<-dZt&>E;}?6X z2gCPTe@MX9J~Y3k7aU#5W8r3Z2|VrI<3_k1g5Bg*9JS>*tH9746*Rcdy&7Rax2nNa z5M+`_eB$i?8fg>$cyg^xM)JmMsxEHW{BGmq-B9S}(Ex+!(_K`DqtKYj@Q&S(f)`i;9<$+fe!3Bw2~*ag8;z502oLBE_Jk0 ztcLUt=`3GgAYeBHV04y7G%EIJA4g(TOj`?ckq*Mk5VQiK2Ck*MT;U$7740miz&4_U zv3kI>z2t+nFWHMK8fSA?MQy+@@={z~f1!L*L7UI;acMSf)J2%f;S(SMK=nFh@*liW z@?e@Y+*L1%_{@Q_${myh2SH z|KS-E`cHqt5`=iL;W+qRDyC;u51w^=ypo{bSZUuY6y%cegNcbBXkK!FMq^qKe~;LaH^}#r zS4JcW$xn7cy5Y#crSaG{Z#mV$0-tSo&)Al~A!*dp@_gUvq4@^JK($D?eXNLXb%Pa7 zbH7pN)T_yV?n)+?g=w*FVJMe_6Qz;P%E;n?>iJP2l43Sl5pF7dwTQ(Pfz%(y%}qWi znV#_TMW}vj1dIWsG_Ih-f3|h=3KE;XIG?_xTi+}5BADz>tvCAH+n(kYk$X5+j54l$ zDc;2iz$HUb!~Nelh=OlC7pnpp+Hd|+&3xe&^PDfeI*}o&4^^!*+@2Tq9yKvN2?~?z zTu*dNc#c~MoS7MZ@a0I3_&d`cRlZ34Tfp|1g^a|h_mpL(1a|1gO#eROuPlw^_~5}6k)kVa-flJW?) zSy~+VnZep=53PQi8Y$7m4ZRKTFh*Y{?Ew|vQ2Qqwa3>sw2DYKLXLMa{BLa5Qg8eFC zcrFm&W`mGfdjfPMe^#_m4tPTPSkc=wn63u)ri2YxsTyX-=h{X7^6^Q{n&u#Dl31)! znlw4_o$O-?>~IfFc00`VJ5I~eJg1Q5Fx}=URKWZ_V2P*WSe6%0n(RvNn zD^`5gjt|512X2@05>>?X3DM2g9`*sIeVhZ&L;Lz|{ zX7@sZt!&m}`hAwC91+*L1`IjXBae_QoOYB^dXtqU%JW8c4y6Eho52|t*idK-%TFu zc9VX;6Gcvq)>{GRNDQD`-Z(^v$?!IL!JZ*KlS@cU>1mKD&2_-hqvQl(5#YOtIEWM{ zLQ4MTf8b;;&TMU}avSJf-klYvCy}@20L8qsFX1rvko-}CyA0Z&1#$wmMi8y@n)eXkToOfyOE+ZV5%e?2_fmnjXY(1IKsulNuIP07w14@9C< z>?sNt^B>ZIQt$Q*eu8E9T8D>+Ep1!kXZXEUwnTnHB{KN&_uubLCgv3gkv*PR-Yd1+ zeXp1X-?m00wUnAy`Z2z;k0&r_{G#>j*)#J3q>^dnwfaz&#VdM`X=ZEth=}c#WxS)0 ze-qW#v&6;T=`&)FrQ#irymxw!@DcAQ1;W=3C7d@7DOyzZYahLu= zgvPv2ilp$DNk@4|F=x~iHi0eZddtuKf9f!}&iLwZ1V@UyVoDepZ93{CaQRkGN_(P2 z^`xPNC#NZk?vA4@n?13qFufTmh4FD!JqK==5sqGM$r>eMmin-?4 zi&m6sgw!Fbs^#G5`|+wooK0)<49R6xM0fj)qr&HEs|JYz6wUDd5qL6vhH=&We>Z-3 z@Z|3EA{l2VYIDn%59dM`p6XD18o#^YnrE~W8=+n-pkG@B1z%f7bd0)QquA)U^l@P7 zWi=>6A6FOhmUGpoXO^sOS97V6!Xl@D-tO|uvW(ZO8*DOUMWRzyDTRX0qSJz8=*e(Y zJOjxYy`K9DU44Vi2;)r%(HcUVe-xX2?&vgUd)^@9%^7aAha$s*pO~J-fZcf4QA6S$ zBMKP13Hu^B9v76q5`zIed->wk(ZlCQdk~jIJ1*dH4n`CK$|R&6enzZ7B1{Rrla2;5 zEz}H|vCreT>3Dpkrp5B)^y%~vYeGayJc#+fhggN+X{R5Ts~~U!uW5V6f2<_O6j!6= zcnqp)+v?o+l4t4Sw1=H*JLOMAdGIJQb!4z=zXep3+cs+qp@mCsYp<#j^4Ydm2Q~<% z2JZ+K;6x4*4>avDN)bgary8&Jx~kvQ_naTyZ3|Te+gQ*klS|#}7U>#$71a*CJnOm| ziR8*^&tf^+fdINu^ICyGe=b_+XgH&SVx4n+=kv-BICnWe~f>iL7y-KkF zicYWHIyc+iMH)S9*52XTro0&%?Vp~EYr1A^5EV^%6E)J5o|Ux?84JlLUiTvS@$3}n zZES}KYHLxWc^f0RQBLc~t?gLNHe6IDZjFJWYo}%Pe}se^;OTL;SS1q-$(xsxJqkxp zixs9-2V>&`?uV$I1BLDF(mhh^kP=tc?UHtIfZGJmPF-mb4);9J?sll+JS+KH^*uVq0rMNs5)V~(t;-EveEnIzW%XOS z+?caXPDWEM;A&$R>jOWD(Q})kw4{7T^o5@2)Mu}v=t<_5&ofdF>h#p7I z;$Y5rTkCICo;s48d zz0p+}#zG(2NLPy(Z)q26y3WF+zlV5!<@x~d=Yu07NQ&<3mr^_cjQy(+_HHHU=CF6; zpto-U^mY~2RgkZPbsXuBhrAufxf1X-aE<`3274WpJ-|3|@7-@o3)1-aBY^M6e*o8@ z+!(Nrv632fB=!NL@2h!PM`HlIa~ptnLcn!n*Bo$!6kFH8SnnqH*8&Dfd+$MGK1Q7{ z%5D!LfUm*F)qn#&MuC5CyNWY>b|ZatKLXfi3k|uUWUhhiOACfv$;^!*$5C!Pd^IS0 zfN8;OOl96gG@-JF+>pvOkbNpMf8?fAu7(^(xiOV%P!5LAXdU-FI+;r2pXD=SP{1y^K~+|CNe00MM;Yjah&4v$Y})e&QI@ zB_wH~Zh!m`@(_oKk$4 z;#EZ4V{-09bn^#rI>S~)V1OzlP0*9y2K_-hl}BKK)9#|)Y1f{Ef5~};2*F9h?w4WZjSpOcp!+&Z{E6q(Tdp4yi zJbw7P>(x?EF=Pelk!lUsS4W<`cz*P~4z>`ueQU38|DqRymXU^P4@&d$8KM$7^S3Tf z&TW2*UErUHR$lmT=I`WP&~kiMyr;&|#(N%n=6U_PzDM3;<6P~RmX6nU8flLR6UU)q zx^X#&BGK96(2)Zx)PK@C5`3WYaT8Dch7^d>EAUCb4T{`Z*N?hh zL~nP5LRHbV>hj)NP=|F;0zy?m(F#Ap00)j5|G`K*9_1Ug;zF?Qeob#+y0fdQNw!=Z z93=k5PhT2Vjuo3MB1n5uHpWH)w}pjb!A4(UsZxi*fa^7IXMe{Fg>jLW7zLxtrcI0< z@0d0Tn!WF@y+E8a6|}UP00+;WKL7FPN!MAR+53;cS)|f3xqEuLH<{dx2Oofj-)aXo zihZU8i<|$*UvD8F(zI@gRbzrdGJ@OGBMb{*7h8lFcM+jif&ZP87RkiBz*6+9Cjxi8 zvC@FUTUo~M&6rjBCtMTnG2jmRDfS0L{H zqz4HG)tG;6zCv1o7T}>Cq|+1niN48@pPTa=qO&N+cz?v`1yr`<9IF_gqvXII0I{{- zxWvKD!Zs@SL9z&X%=Y-?k7}nw%h=aR3#+w&SV=J&wVa_7xjNNa;xL6}3#HH>Dgw4` z=#4JhYNaN_h_nb)%iquYz?kHnUOF1VAqxRq19(!*=f(N;U~e`9zRDEk<}u85kqXK& zzx-7#-hUqbxMC#p)Dv-R!a+0XTw<3lOg8a@ge z`$)wSCk3K0aWu+KZ!ym&=DzMarP6{~2cb%#l!&mNSOLLP74cFftRHIbWBpVAHl=%0 zNX_gAZe(g*oBnPjt<4rB!qYz=2vAo(+NRDa)LxNtU_*3?QSy5dZu=x(u(*aGYonH; zMe##%p3NVrnsEFj@K3yU!#O2!86l7PsJLj5++JyljzsVw{d&TCT?bW+1m~f;A4m&m z3p{951B!47d?#odu^DP`UqO=Vm(ZdE6@Q~+thK@;0FddbD+N+m4K| z4!TXls~L%mE(UYSKp;zyr3KTq4~he9wM~u8LC2vSr`TT=@%84km#=fezjs5DMKjxXv!Kh95dc2g04v;k%&*~=(XDCCgM@GQ;8 zbSFYUazeynW)R@`v@2-Q)fJqp3poaHH3?bpnd%T<_;Q~kW8f4_<ly0^99IRvM|}_eu^P{h|%4HrxYAM zcx*uI2VA2zDcY@PxnC8XJu`$jj-ZGgK0b3CuRJ1Boo1lyrW7q9GJT^@xMfKJj(_AD^)Yf}JK~B^=z4=|vV1GpzQNVXK z2{KJY5xf+j4B zd&zT743a@e;ph5(rjr;Kb0II%$qWZ6$k-{Nnsc-xK1XAOss<}Bf6{4d>|kNzA}Hb^ zO&G=ZIoPFOXRGG+U`4Bsd6wE>+rD|#XFN41$ZQ0FX58Z!&yqHpynn#pl#b_FI$CM` z{qw?abU%6KRx%^BRDJWe3c>GT@CWYYZ2#yS*$wekoN-%BECVQ&~civA+9_^NKj}%E}VL?Vhz}+DIAi6A>rQ`?x87 zs(A^iWq-YUn&_VHd};vjFVF3!>NOr$rxHV;xcn)c*DyH`Y4?v$I~hrv z(q}5aTkERCn2W320xyhUcU2ulHmOj?~{?*eT9?>)|%x&L4 zqHv^8!7R!(NUYWH1vsyVIH_-GPTH@Px{Ed9@@#|aup-&U=6{V_0v&3gh;ar?`E?-( z#}hS*7d-?saj-!*Ttfm5mm~WtGF{7{QG9G~){|!c1b{H6?ieJ7qp#l&EMC`b#`{X% zI-rt4vf{E{lJz?Q%3<<>oe;5RL)~noo)`|b_E6$Hh^H~U8=GTuz6Q&3J{W12;`hNT zWmq42ZWy?baDN`C0`uYyk1NIbVoO78Hgm{PRvwmgfbG-f*j(D)F<6ApCJ&D4>BL)r z|E`8x2q0H~CXJo0r;khLY2c&d9Rf!O1T7gPKQ@ypdeJ-TG6-qO=_!Sx)f@~QBan&B z4EIym*|vjvvUix%EW)9Jrt&Am8m=+nE5|06KJ9I<-+ybX{_w67b^Aaj;<>NW5T12E z)eC4wx#yW zMIMYNC*y>(8p=ds3%n2M9-#ZNw`3dlXed=7&!F(JOYd%i4h7Pq8f-c(_ba_QlJ(m@ z@`YsVq<>-+3;mJ52{dK=G_Gf}YJrF0o)tmqa(#hicH#N8chapVoi;Hws0W&SPCpF) z?f?qs4(;Fe4BvZ*hH3+c0~E-E6eqsGn1aHC!2S`WL>~?$^J1~V%{PkUx@|Fz17*HM zDW^SPwyz62eSN3hQ3wvezrk&O#Sc^VDm%o98-Ie;qx`V4kwZYw$dC{QpU^5F&vyb~#+v44}&01t)rVs;zt~HSbfFG#l&7yR5O);QkhTYmb zaC%hl6ZBP|!n&JJm~$($A(=l3^B(3~nPxGvCaH+?Jd_W56++Qrp zbAQ9h;lEvjdpFSQv7=EI;dHGMu!Et-2iXBhJTiV)owx2Fr;%HzDRq_j7n|}G6VOtw z*)jxal!zP}%!o*Il~wj{szEw!b$4Dv8wY>d0jiZu&@9&oV$8TZgeM-b8T2-yQIZ<6 z00JG?((5vb9W(d!Cp_RbzSZ&^lELw7t$$KO+Zz~s>xIx>La!aS#?gmhwLo(ScoX>M zK#R$5nA&UGSCA=>yBrm&zDMb{JPA$O$>{Xd;&YT59kFI=3gu*y9$&RcP9mtZQvU>S zjdV}jzn|`j^O~n>-QKdbzO@tqiV8CgKHs(tFx5*}-*>tcTW&a|;;JwmQu}dQFMp-# za_TGUZRL;Eas7KMw_Y=Df1`T8LgiMd(y}$I^rdJ|=5U5BIp%M7@lQ_uOqq~*o0dSB z?^UP-uqvYxTpC*Fih|~qvspvp%4DZJUgSp{g=AWH625mVQo1$z||?1YqzVl=p=cb*MI(-XfLws z?WMQ2%E??t z91$nh4Hc;o0)9Yq<)aFd*@0YV+@bK-15ZjPrxbyn67FJPNCy>P)PIN#ZJ}2EUU#26 zAC1(UdBT)VMi0((ASB(UQ#Od6E>}A`LS}{D(j)T~Wu{_wh1oCI6%;B8Ev z&@n{eO%-619qH<(r&faXo>#DD^Qe?vy>VH?&m&o*MgKVg)N;~Cl=?QbffH>5#)QCjA0PgcQ#c<$clYSw& z2>7Owfwm0{l;saHPTmaBl%4`M_Njv#ZjO3A?!7}E0LVt~*#~3}r(Y;b4KYQMp4PKT zbBdk}&G8(PG7=m$v|at{7$gE?fDiO!7L}p7_D?{NuM@^O8a>(~Zn4D*w{+Yb92olc z?@;XRuC>zILc$qnVE*)LwP;3$@>j@ObTM1f~X;n~7(GU=aFYJ=1hvGkeuoHyjbM8W@O?4JuX!%Vs{%Heu?fpiGJFAE`5g zWDvJ(bvM~-mP@1xZL2NqFM)mnc(vREe+Gdq>T+7h+9X+cd$NZ{zDZFUmm#)DuzjL- zd@1!jff;|?Rh8{v0p(!7rz$@&0|Pm0E4|iZz8Tk0uE<#qm!LNS9N?Py2&hB2rAYmi z@917l>VpIG@IwAtgAf=a8Frv4%Kd$FJeCqN3t+=r9=dkpxGp)Tg&Sfqbmem0e_1(+ zAvRF^=q@#!1TV`c+DqCoECNk}E`SPGzERM*Mg8wsZpCic=Z$+IxbI=ecy5f&k~fR3 z@!ii--I=4ejdJDrJq!4?FH%b?Zk z)X{f zM+90<4KH#mHu%I4AR>whe+@{ELUUTZ&;S!%!P!oAr2wKDDlqI$HVjrAt>>CBhKn6E#C zZtvsuY@$b_omfkO_TNLV6)yZE6Gko~^r<-YtUj zA4K8C?T;Zr_BtB3hfjVUcrt9QM=OSW-~kT4N^f&qoV3*h&&6?xqEDinTQ&4*Lfu=)>p# z0*#+JepOcE=L$WIpZmOd89kpGvO~}3YOU1o*@fa6`&7EkPo~lA&}71b(o2P7o?9u( zb>cO`=c`;D4%4wND34ZT=KZH`_G)yq?i%#d%jW8T8lCJne??X!d*upQw#;hI2EHQJ zwTNFIY=Tcvu8sea*f#K<oR@I$VR zt_YxAspa)6ey`P0T{>HL;Zy#x9%{e5a@Pek_z3lGM5N}t*xeJJ3#6cuG`0 z)603YcZGRKe^J+(Uri7W?)GIoK0`Dk9Yqgwk@y<*q+UPQRrv6^yV}tcy*heZ!pJnK z*fjouPDZ~;?B}J`=LycJ(|MnwMWR5V5QjVF?8hQ_3RyT6(GrE8p^6(nx;g+3_ZKlj z`k_!Yi5;+o@V6@^8r~L~Kiw1WFeU=u0*|?4;l*J8e|gFV6Qfgqm_C~~Pk32}+cd#p zy{BAf(5|bmsJUW0CH=VJ;szuVAM~0MBq9iz1-IXJ)lSaKJ-J>*(3@xtz{k&c!@TxG zZz|DiVP>`2)$@cx_Q1cZ`*rV@*KMyG)5FN4B|Dsh*Se_pxa%`^d;yp^%Oi0)aWDEj=xU*Z8NV;A%7l8kqfb1^E_%wm>Sn z8~F#+7tn=C$nvq^_fi08F+0tum!Mr&y+ReiWfT$eR(S1v->^U#fFJ=tcwx8-|LGxK z)lt)?RTZqAK*1UJEwdW1NS2J0jT@o4kg6bljWB z$X3h7Qt!~ZIuv(z|CKIsDI)FTF6-p`pv;+U|CpG*t^3#>c4FA~H z#eYV8`iO{65N!fp#pd9^oanQge<>iqKv;3Yb>@cYT?e_)ylnA8GAeIl`v9A#en)8Q=aNJUeLq_;+8xIIWNC zC0k)A%MD@{4aR5GXd{gxHDo4o4)r03&wCfAOPG|K3N-G#2pDu}NbnIC18S6H7X*%= zSogulSvJK+9U%h}mM+;mf7UJ=1wTnEt*HZ@m>udy7SBsN4SjoDQq|p4Me$=_VK^9i z*4V(DhOhAf1MdA8vX}1bS|ebS>)D~}jDAXPOPNkEViRmCVHd)b<_?2^0S>_{W*@>{ zUN%7fE~=Y0{2`&&5%&wEWW8T4tYuJjUg=$mGidgPbOxNX(e+Gkf3*46>f=P@JTE5` zGv84b{+sa==m#$85VI%iCyt8JnYE|&(g4iQiGn8n?kG~abF}t%fpszuJ@hLP`wmBcP@XKCfvpIk zmySdbWyr{Va|2rPe+6L_O2qJ}@E#>ASttqV>INd{GN`Sz<8n;fVkS&e>7dacXcd|sDV z6@CJg(D#IR&`~mVPB#Plg@GFZ#RYB01cxP%8Ib()vS8jye{ax5&kLeEODm^7QX|++ zH(i-VFiW1U>ypx67Z|p?3Qb@t`K#fF@U~0hSKK+2ax+R;xOdt8nMnN_Wp+*NO~|9E z4Ju-0VRceh5x^XWiCww>&ZMq(?TQhZxQX=>uyXw%a)$YO6Q9edp8Uf4Pfr-?JL|Zl zzJ|9unN7;sfASlyD5+h!ul3TpLMtz?Ylz)$-2#1U1J}4Yr1}MU`e|ekxP>MK$g&HO zY(RsVe~oU!s%)*PE#_Rt;m-QWT4gI%C2Ec9Wssnb*8Sf9O|>`E0^F1M$7{cz$9=;Bt=n3wv0# z%SCe@?(G9u$;ljr(`XU_7_*qxtpQ%O=-!|SclnW14<`D`^s4kxX^5KVdB(}M&4aTf zE3CJ5`+|ziJWfl#xWLtjG9V#qUuzFjZ+r?eZYDXtXkm-B#r0cwvg+ofC63i*9j8)~ ze=hy@n~$M`mh7J$G_{eBujSe$WR*&!*)dXL93F;Y%}aG>GD7hdgb|AW;^WOESH$q8 zN)Eeb3?-d8<#BVIuXpE;tv7AV$-^|p$%=msEHCd{%!y}tuUrK0j($e);mN;3=9Pgr zV#OOHr|7;&JJfdNkGn^&ftq|ke@g&bR9-l3P^yZ#R7^@Ac&OHY_*|o|rw>X{ z@;W(p`VJfU#634miBN%iU##B3Uj-43BOAhk_H;*n8F}A#ia|9ap`m91X$R5o(ua#t zYARZj$~hHKHsrp(B|?1YU1s-I4kHUcwVcSt&%%8edO;JL0N4-{r^EYTNrTKme+`m6 zC&!iP=kTKGt{>B3Dh75|G#pH7;Hr>d#|pe4qLS#safEl;Wq=@g^P@7@SvMZR)G5QHl+uo04k6>^%iF@`V72MRi~h z_YtU-qDy9}$lZ0w$Y(k7aXp&xRdNW+5p8KimEVfXlc8u^I6p580b(bQi5*X?;@!;J z)gV?N-mZRMJtFk*dJs(0u&Dz=Gw!!`@Mcu}u?XBG2=gSaQ+TA$vv0e=7J2vFVGIJJ z{v4O#y8}Ld2+xH5Wpn(#oSszA4u+ee!KMesb_1=?Jm})lv<3*KXEzf^;)HU2KAW!- zAK&PqmSD_h8dK3&kiZRgvgObC$e3?C_>qV&oC#Qb9+&Van4eMc)ch0=o8lMqGb+B{ zIX>QLTPLBC!SLVl{!zKOzZ`CDn#KKO0KRxowiUsD11>~U2K`Ux_|S*uKBo9_Gu0d z?DK$ovcO2`6O7Fw&op3(C6ndU%f8#JS2g*W8C(IsHYdv=fq&%3PO(RaO4D|KKwDhN zsX=Nj|DZ(k&m4D;v91Q~L~LlMEe2kMP;rf|W77}fE4EztGOAPcH3()OOg=6+W#qr)3YnqW{xNhNFN0dtrI zi~xnlS@*%uiDKMfkuc`V-_K|D-$-cFF2xIU4VlfqP(lOq%?oIxlnZn6nQNYaMjHKY z@);R$hsYCO4D*S_Gp^;nTe!wAs&ABkray;0YsmqQ-r~kQeDEYM^@f5u<&;!*hw>=G zi4s`tJBf@ChL@EG$+Y{6gZ`~pd;f&r$}IU`%-G9>u8OaJ;2jSotF!n?Kp%QW1RJj;`7!Pjy z5C|;}HXV*-nMOjf$A)b3B(o`n>CPEZunEQ6Nn}HDq46B`VNEKK+ZgZ>e%s8z)CKv) z@m|d;+0BmTre)#K8#V9O(!c;4>z0pZldy58nAYNSp9x7^k~M|2>aqAJ8SS-b`PB?i z<`8?0q2oK+^pN9zY7t=ql#zsgFkuOmhUT9V!a%B{pwT7F3n-XRDA-F%@WSE$l;&N9 zG_R-V&Jc5oE=bD=W+)mkzYypy90}1yQ2AIc#ly#xbDo>;$AlXUw5ThFxzL-5_4y3> zzR&7p7j>9hRF3}+7U-Dpv^Wgpa_ohba9`v-c?6H}1-;>Gk#Xwn)pN&xj=UXFoXXg; zAUaM&RLk4LV9|WbusVwBKxSGVmISz6Rp{GjCinMwwE*NGP=W|KrX!IlT@{SHx5tBz zGr&v%X_F6tCM~P!vII|3TH>K06HXRDF2HB!>aY?!r=bmaE$nKkc0u zq63qH`eZGzPyWSlPsk7z9`HqofBl{8xy)nRQSbI;M2HYn? z#`ci-y{sx6@cx-6%&}~}O;thtt^5hZFIwg&!*Eer;wLk5Dbum*VgpN_GvS$X>mW$ru0m$nGU&_#Ewpb|Q#um9L7 zwzm@Bf7vN+>v8{oP67CC+qxW)Z*T`B1oDwxH2pcE>+%1t7ELgBLKrVdcI{}=DJBv5 zV5Yxg^=Kmq&f@;Oa8J^LQjv657vfc#A$6S?b7@Xx=O{siuwP;>5*<&f{rb3s{p{*J zRm-Qly^ycLc?V7?__Uj-{qpDUK*#$2P!-w$j9OrAa2v;eox&oNqo2>p<9c7>QAv~{ z=-W*C!-aQ_ye|Ur#5!EmHbsUbQDDAO@VzYxySL@lxwO5bQ@1}Z5jEW_wtEP*gWv(A z(;N;5Hu91nKi1VRs`<3suZA1*vyIWlh9^%lr`0or4o#r_;5>To5)pc+1%^CwG9R@Z z^O!uZ&&-B@n9|#KcT**go5em_iF@V0nmhZzT-%n2^qbq^@q4B$N8Q>=)9)fC>dldR zq|TE*YKYigAm6DXvZ%p8s1l#h@)%OZJUjSKO1B)bvmYClx`v@HBQOE6^*nmWkPsW< zzYMh5#wcde(4;{U;60G|ZJxX~vhZm47tM6~Ds&)!c8V1HKzFNAk~PQWWP;$)Y#Cn9 zQIUEq9Zg9fA0L(Nv(uRb45g-tt;N3UGhES=vrHKA9 z&X~w(EK!nO`;RY&gQMkgzH{r=>FMeC^mBvP4sYGw+S>SRIhs&K$Nn9ts{*?+f@JUx-h$8@mS`C7iE8;ft&ll|}!lH0&y z5)kfyqCv<&JBEDF^q9&nY|&+S4{U*7*LnNg&RIBoZ>7%ZDR@2ivM0OLR_Ef=`djS|n-`iSztPz$>3}2}-WS*6 zfqH_ut7>}So=_(50FtT=y~GrM5*(Q1?k-aW{jHLJ2Q_jxuUfuf*_|T;Tmqg5HHol@ zZ(|gF$gwREQ{YLbu7h~Wzo(M1*NgQhUO-#n-LQM06a0F?Lscn-jICxW*ud{()sz%i zWNn)K2oMV2K|zV^o|c_KiO|tc%Xfx~Cif6FF>(0_%E?g$w#96oBvP?|f<#$9h21R; z^RP=!9`+~E!#{eNuoDXH0Nn2W#t_w+T1IO|-5U7ykRCD$wohy~c1ujvp6 zfGW)}XC&_CUMKYgBY~bai+8a9pwT{P&Ip&C&8N-69Ix?M&u1O(Gi8*Oq@K-09G!kd-h_BeSc2N=1&~KRLPd5wp_z*wF*#$4fIv1eC;Hf&`c40PNh%=`i=4 z77x%R0BOLywGAGa`Y#QRQLcdfLvrdh22#ARRZtwYbV9ylOIMus+;ri}-GU`DpH+le z#W<5CMM3*EKDHCH+-JC)Z*)}v8rR%$uMt7pDSt>+-#3xkRPwAXDKq(oIG& ztyhT~O#?u6fn-)K2bfAe{>UJCG48#V{z!?YT8tR7QD`=+&{z_tD?xTyp#SS&N_^tw zfJ$vcsFyd$15ba43q$6hO@(k?fyH264r`ykHF$we@sBbBL5wOgo&Jq*Mq03&rwd+t z>b*BgsBdW#VqqzIP&Ef8&-}MN!Q^%170UMijg$@4atE=a}2}1#6dpmZg2}bHxOSO)-&9r z%}vNCF&qxV0!%!h``(n+@Sn{HUUtUr4|PI?J%p3h2Jg)+uZf1j!}{Q$T2ugS&+G>G zeF}RH6f$NrKrz8dO9XZcWRfyiMVtck5ERN$0MvihDJIhSf7JRim(kVqW{pW6kdPeq z*cs|_)4<*Xn0+~{c%nvtn18-vO_D#bDY6yW5 zpp%y&O~t9*3^QG zxn3}^i+2%NN=n+JcqnDBbv1fCNq?6+8k-R zZ&VD<(U2c0;enSqE0B)Fq&dc^;^n1hudKb^*eY(}D6&)Gjf*}I@S&A}qJnq`Etr4t zdGYnV5Y=266k*^1iax!X^z-$GH#c#39(IqMhgxUHz5QxzmanqaV3K4#y z*Y(I$Zz-H$kSJ>MWd@`;EcwHizCvGrCPCWA_d6Q7b2*0}vrh$x1u8s4R6=fI()8D`=Zj zQ?`8lHjEreKrZ`y#&9Dg!q*W zj7qvBo&pc@Wm-$!vzIH)10H`5_F&v-W)V5~?NRMAy5l!bNo{}E73$f{tO(4+?&10!O|U|JM$LoJ zSdpqecqFxQMt1-s-$!xgyMVcYCrAnv9Egqy z{Nmf)AaQhqG-K+REFj!OloC6|fhfcuaCn*m&%IbMyxFqZp&95iZ`|PF3E2L8yR4C% z#T2BUp|CnRbaCE+AlAbN^!$0B@S*F27+{J4UdUmDhFPIg4Z94p~ zBLsGeX~Y0+e7r!u#a(}hfoo{YFc^5!l9ifu?7+hfX)?*bml+mTbtd<{UvJl<_Coul zl*Ou=-1HS0V(sZBwk$Mc$-I2wQSLsEuQ+;@azj*F(>~51`V8SjRn(XVN7ep2v68gR zrSN&QAh@MxESvn@c|{$Rtn0QE>7~XGsOCX^6E5b@a4>jH5*B||)XIA@d#p{Hw%nh9 zn$?^!a78%)bC~z_gp5)9ftOBb-USpPR8A%j+V&O5Ry7z_^_rI4thUFeP;L6Q=ehcR zS6+9y(54jq`n(qR;&D9*+e9aAIpvJuhEqrWpg5UhINZ|A@U*f9lR)x86j^)Vyqma^ zvyhv}E|fu3OKpEZha4*y&A~O{M7Je}Y%xm;Z6Kg%lcUAFlI9q+o)!KR(iJzLs$mr| ztZx6Pat6Qz<^&SUx^0G*i%Elt$T$#4sDy7MR@JOHI9d=RFoA-@&DJUai&N`2gRq-g%*#F0u2OrYm>;RX0V^ zvGde2-1&c3_JQcX^RF~{S9HCY_fk{u+HhWyi%rK& zWHJ%O-)yaK%Un8*yIZ!>^QNZgKFNC9LF797i-f6bI7}US!4&G}H!=;wVlm05N;d2* z_%wuU^aqJ4D=tH-!zT~Dj?xpc`2zfjB+^N^w&j0fQJ(XV?N6ZR;#h_+fwXI>4`5TE zUU5`{om*9yv$&`vgzOqWPf#B)H}}{OL?sxKa>s4Mx&kiSJBLh2WV>>yVXB$IFbjiR zz*fsF?(oQi1rn|T3KjRy5@MFX`VJg{D83FkV~u2gR7AfV_~M{`+|~(|UD%jG3#pDw z7lVJ%0Otq)HV`tNu-!8qOlGiG;#&cwz{}EEh89QV1cF}<_RHn*$#nXnIUc-mlL*3) z**GfSF6zl)MUfXJno1&^*h#oVS(3)intxJlvuEsH7JjNV=&GN)I2AgC7bn)jPD1%y zV!}xUUTy}jx8B&GPoCpty{wK~z?!giZ`6NmtU8JTE~zsJc7j}7fb6 z5mUUISWnA_a)Jr$y8&216 z_L$B`LN6v8cu072ciqMcudm;j-vNK$6wlh$+i699#b(pYiHIwre2OTIfo~U+o;-EERygX(tOlFPLD)s;FyMMAr}Lw-P=50oA;^z4J?J@&{i9|vDW{j1#`bvi zMEdp_&CE;;$gz4}EzRV1*M-pdZhmTc>tO$pwP;)(*Z~Oq2f=foLP4Un920*<{$-2p zzdA-S7rSE+!vkEw7<0aW*97X;>*aeCl&U7LF{o8L~4rvC{5x+D` zACi$`0_=U+IJEQK5T$Sz>Gpr0Hn;4R&}P<6MN_``mo9Yyd8vXv4B;`bM($un=PaZu zNZLftt+#n+-e0~R_y2wQ>_;2)!Yg_C^LOb2Yr7YH4Xizq$3)^+>4QR{th}j=yzz6f ztdwQWK|OV@+-pR81@#PR`-BGb|X8JhmRrB1`1mgy`vR=(ldcUC{)~gjs`c1RjpRG9_UNzHj zgR5-__0S*F!=~f`52d{TPaUn8rjH(MOL6H~q0Q?U09(oc8TDO9^9g|PDc~naoU}38 zxN&}CqxbC!B{V1~+P;#8kY?5M=}bkxUm9O zIq)RcyJC6iONP^i0Un#y8}Y4(j*jDDx(=|MT3Z_z;zC=}bHRTx68jzFEc4HqIz3}B z@`>6Sf3C;#v>2wvwtbVlHg~-6n_;8d=|*4P4O^*Z)*4^?eCj}(Lx>3?YuMbp^|@=W zAqfO9!|^k_VliNb%A>+RQy@Tb>%3WPkL)NTRgyRq11KK!+nLl9x06%60p3NaDc;Ub z@%9x=F-5Mkl*xY)XH0!NLmnk;Tc5^~U~6sh;R6)yV0b}B-y<@W++hK?|M4fp!exL0P_%52(k;7$>zcJOBh0swh2UwK{kIp%R0Jds&4l{LDak;uGU{|H3TMzt8)s(JApdS%l7nL ztW^6^GCjWZwQ_zfNmT{V^-EwbFRLX<+Fw?Vl~S4|r&I!M67(^W>M^hVBvKy{d3v&! zPB$V2PYi$YdlqO+r0m&ZQY|Q+Itar5@)!KqFILTXZY<7!S%p#B!ztKAJ&gJJCc1Z@ zvodYD$p6H=m{0yQo{<@Z8GLKjS3pjA{<(FFl_cg3S(?S7ZczY=vTwoNk(fZVAFto+ zx^7rZGd-8=Q6OnKt!EQXa8Aes;X08HWWjsq=vRNeV|pCfPmg93_z__of+kVJ1 z2Ic}*bYw@js16oYOH!f*rO9KZ5XtpvYN%RWG>7JBmKe6j%wMwVp^)jvXDIcbmh^;W zbIkC@$GK+0>8gA)g`aRHu`uO`w5hf;Onf8a6+oAW&>YST4Tm8xZxja4)13#FcOkxA zk?Vh5JWqOC&)Tnz=A!Ej zfDvQzUAwdpWx*k#kITh7P{}oDcJ_Zh z_^SFGLY{so7zr^UuwTw(PcgJ3#9QNShRp(-Uf)9}g~b?IhJ>Rs8kRV$)U6AX;^g=q zX~3VIm4(!+XB5uL93tM=M6_^1Pa34$Jgt(Ez9Y8>U63$5a6{>B_NJb*3P?Bgs4&oE z(BYFWuvL2%&V)M;po<2631n{*sC$1frjImCDhfW$52NBB5Z&snhk_i8q2Fj^FHb(s z0;L@#W5WL3gvUvrOgc{r-}xs>>vxEtvuDc|U6*9qR@xf}&`y-CS`DXV%LtNJwRUgM zrMqy5=F(ljYm#kzvHD;z4C1yOZS>05YN*${Rzq54+$3TN0*AZkWa5KjPnds_@Fy>T zc>1IcjIS8*6oc*+T)8j7QV)~F$0Cmq&nngWRI8Z(6h`YJ z@a;?qi=eRxQzKGY3qHu!ned(s?;6V4Tt0&IgUKmYIm{O&TID}3E{FjN8UV*)cup6E z$2FE1rnZL>y2PjsDRPY8qfLK@@Y*n5Af32}eA%0#zz}`~f5klO2hK__0B~ng1vcc1 z6Douo5M@&sA_zu2@sUiXGpuTs@g*jVF3!)YXc#fMqqzNuc0+kY9x!;sBo0_ZK8Sw& za$;aDjmz{S*I{x~Ivq|6L1m)20?Zr&A}(0bHxXdqqbtX^%NbP232~XX`iCC+d4(VY}anK;3$7~#Ni#3`9 zMi>;-*xZlvqFlhkaT9MLxQ=l6<-{%W{c%Oaq++Cwin^A=udgzP-=Gkxbsa>$#pa}5 zh+4j`tzj{vPFa7;FYdA`bg(i8drxHXNr)V)hZG9X(kFHzGWJRds*kt|?Y7Kt(Sd%} zMUc)CEJe2HZ@WB*s{2x@O~m@2!+a!aXx)j~wrXh$<$+Ad%i)1b95DY(9oJw!=bfgl zH-LM!9RUTqO;j?MD*WmvKk$eJ|KZA$3p6K+l2gxy$MAo=;lVZ|Dz=nnWrOLM|BaZI zpqb&XN0G&iqd2sxDQ~BRIs^N#zK)x|aj3>kreBkhp5yL1Lpn=RpPqtKq&D836NAnt z)!DOy#L_pxBIf4y<_E8nB08z#`AK_}YQGyaJg(w1d_yI!p?V49ZqEh{PQllV8<73h zn?kYE7bt)KEoVh_JU6uEVL3OH_wux2x_#Q5g3&UfO~KeI6H#F70^{A(elHiqlkkyRu9_x{vrsOX$&vm$t`OKQ0ap zgaT?vHtM+R9p;i0kCa8|xjdyoj!v9ZHff|#`?h~7{E<${iK#EVmorFw>WGwH!>Rh| zG^Dn?Yg9#1^%`}RF2R*|jfy&>UgKfS;AvLK!7$gF7KFeK4BbV1yt4jTi zb#G+;z=S29k9*>H^yhG3+!e_9$)2ck;#;68H132R^fcFyff9S;rNKvo z)}P}7@cb)o89H7z76$!E5hpM1q6~arlE|5LMO#C{lL3rjQ}{*OAu*jH!GMC;iEVp` zIBUU(SgO|V3% zd{MoN+38RqBmugqgK7PaaG74{TQod*a=?;IoJ6PG(m&$i0reN2dl!@DRvkXB;Kh0$ zLn1i7#PiHd+i%?~24oBBC*c#u*B)&N?&1Vh9%*Dpryc(w)pl$TBdqfn++=sc^AmrZ z8sJ9YG`&tu`Hl6`);8&G{K(b2*z>1q-M;O7(EZ!~rD?k0*gKcM6(E)IuN0{LfR;4b z55SX}ciJT1HRKqhK?<8x7MZY3lnN-qAGXEo`i({*Y=BtDOS)Kb$9!Hpb;s7)jTnQ6 z>6R@|)q%KEOrVNc9j{6$w~(Te_tAe+R+oDrnLf)r0BJy$zmk(`S}m*8TbX<$(TYNg zP#x{(N%1XZA-lQ)$va|$8gSLJ#Kj=681i`T^ToNVxDmOctU&22J^=prfs zuw4!G_xjC9)rzT;P-4EQUFL&+wfnb@E zbxd1MHbB@zV1X}o}fudPjHpIJ64qIi|MP&o9X1|1ktH3Z)}8~ zEc&5o-k~Et*t}DS)pu1jCr;jQVE=Ve@4quJpPG6YZuP)o#B#c*%8A)z!_h5&If@X_ z&g~Ly!kd#NXTD*KUO1KRli)2_R*Ux~F!@893e=EeDqScfeZ1pV0HVRgx6B@^Y7n}Y zJ9Cv!=JT*J^nW8!m1z1pNEc)2ND1QuhP1?-?$xt$VNQMpv3#8AJN^Aw+GP_-Aa=ta z`ff0xTiRw}qZ8fS-i@eFZg5Y3ty}-IcOOIkwiGQmzMB-p#lKKVLKhz{^=PGk+eCzJihKOK zS=1 zrsW4qC<5yFC3gG(v+WL3uh=NK4WnWJuQ-NYf~ZQ0R9h}6L2d9>Iob>60tN~=jd{}+ z7-#vkJU5#=19vdMP2LuN!<{`KgFy+cg{Z7tvK4!{WZEs9iRJV|2#kvKLRaruPO-qZ zP>YjrW*Q%W`aUfGTHk&qT@*llCmsmDDAr5t&Ewp81ZA@u&s-!T=4^8Nk&}>2qC4u( zl&_{tZ;w8j>kDER&;!gYR``2Gsvx}G67_6vak8w~;ENDY5Us9%A_4_p8(&xwy9Xr$ z_GR6pa(6uQUnD zA@JeYczmB73^)0!^-p(oAQP)POOU(Om3h?Ts0J9s&;2)l#l}}RR5QSjW=`Q|%e1?%e~BZt1X#!W=19Noi`_Kq8=vNM=_B&cfGpCT`vg z&5T(Qr%?!ht2w=C5f=5O$yg&L_KqU+gqBsbbfpZ;+Y%KCm}xCyXwBo-j}&3yRGnZu z4?hTZ!d8Y|T*sf#OsNSHK@>H2Z)jgbEY-*Lv|Nb(SxC7jLR$|Na*C8pIhnMqUj9tK(NB~l31`jD zvv58fv5Z~|kgTN!*>ob9OemSQ-|tgc=TJNo$!)e9w#!BMJeky0cU3DwN6I<{PWQM3lFWw&8<4Yc|I-(gWhqb zFO6b<*Fmqn4swFq>~)mwLB5s@6O@V&wEa6p2qLHXbgj>~y2Ac^Yb~d~i#4#HJ^)ZK z{Hjnubf`ht!`?8N>e``C9B;G%yEQGYVVT{z1Pe*13!ms*l{`R`(;fm{8z&DoP>KJ=e| zOCE-?WxJ|6Nc9RR7|yq=KAJRfi=Te{?!~j8o-_>@VA!vQc;1AW$LEqpYv}{aL~EjA5{*n2QL! zb{sx5ec%fKZu_;t2OJW|l9ZtJVFHPNByVVIL9YO&Mds9{XmtXZ#E(hEgO39AN*yNK z+tjW{89Nh$5_XtwF%(pD3^stR`@*s9c8W*z3%_tXbTACv09MIqTJSYHr@tXY^|G?_ z*XeLsL|PTGMd3Y>o%q4MY)#unh8< zo0QY~5Gt1^%f?hiO91obm=A>+Tp1*?jnxiPSYpNH%wl=kB9o)UKPB4M>ju@N=C6(c zBT@jcq1fREMc>gg7?c@~I{HR`wtxItm@+r1S!uelcy|nc+rnmcA3OAvP!J+)I^9zQ zANhv0@3V_CkWN7$F>S*S||o& zd&_>lP$vbsk=tA08s_E*;S%l=t>UOt$&_W#UVBt71m&4O1x1r+2bhw7R$UUJf5!P>D`T|sftRMYx z;emln0GgSBZc7GQwxi~y;X*63U+6Z%rmysEWb4p{)-~XZ3}Hv;ifOAq9tka{0@8Lx zP?fxMSe+rP43P_`*9>cas*18TU_w#N3?S^2B0Hg5$g!SWJdK@}l~wFnVJJC>m3u7K*Z@WI7UdEK*ejI2xFx7IPDyWFdQksjo%tPb9QJiAMNY2ZD8OK?Qyr6qbI~RIcaTI!e zTFetkcM@_RV0V-UcCZTNIqt9Gs={8o@7YyEF69Xi_97AWTE&b$!z|i*{{2H#$C0Vw zOBm&e`y*fSV0iS(=gj8L`=3NpePgA=o$w|hohHLgQQz`wG$AK42?W9{>i$W}hnrpJ z+BNpiwMeLcDB+~{b?D?WBj%gg72QATBpubNZS^+2cAdQOj<3iidB!Y;#W&YcC{p@k z103Hex;xl#h>$k4T0F2}!v#&DDgP-(ckv}HY^-H|n9!jf{K(@|!!4m`yqrbCo3=4? z@O#22*V7t26v!-?Ldh7mro`;Y5(pjOiw}UAqnR zoWqEJGT=*W4@V|F=CRqJT86|yKp+W&95*LzbqfKHLGBGDw7*U6sub-$<

    P7mj0h02JvtnJ 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

    IK`3lixxREy=~(I%&{`zn&PcYl$(N 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ٲ?zVpK<0`38mwd&!`rXk8=3J4~S`)vmDi* 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 z�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≦n^PK_LoX=B!I_u`YUE-Q6M% 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 delta 607385 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Ô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%0DR1L1Dl7|vw(aw^Y(^v>r&AbiFlY20V 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μ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%0AFG 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 diff --git a/examples/network/25_physics_configuration.html b/examples/network/25_physics_configuration.html index 104040be..1d42c625 100644 --- a/examples/network/25_physics_configuration.html +++ b/examples/network/25_physics_configuration.html @@ -78,6 +78,7 @@ }; var options = { + edges:{opacity:0.2}, stabilize: false, configurePhysics:true }; diff --git a/examples/network/29_neighbourhood_highlight.html b/examples/network/29_neighbourhood_highlight.html index 783dfb29..09bd570a 100644 --- a/examples/network/29_neighbourhood_highlight.html +++ b/examples/network/29_neighbourhood_highlight.html @@ -10027,7 +10027,12 @@ function redrawAll() { radiusMin: 10, radiusMax: 30, fontSize: 12, - fontFace: "Tahoma" + fontFace: "Tahoma", + scaleFontWithValue:true, + fontSizeMin:8, + fontSizeMax:20, + fontThreshold:12, + fontSizeMaxVisible:20 }, edges: { width: 0.15, @@ -10071,8 +10076,6 @@ function onClick(selectedItems) { } } else { - var allEdges = edges.get(); - // we clear the level of separation in all nodes. clearLevelOfSeperation(allNodes); @@ -10083,7 +10086,7 @@ function onClick(selectedItems) { // any data can be added to a node, this is just stored in the nodeObject. storeLevelOfSeperation(connectedNodes,0, allNodes); for (var i = 1; i < degrees + 1; i++) { - appendConnectedNodes(connectedNodes, allEdges); + appendConnectedNodes(connectedNodes); storeLevelOfSeperation(connectedNodes, i, allNodes); } for (nodeId in allNodes) { @@ -10153,7 +10156,7 @@ function clearLevelOfSeperation(allNodes) { * * */ -function appendConnectedNodes(sourceNodes, allEdges) { +function appendConnectedNodes(sourceNodes) { var tempSourceNodes = []; // first we make a copy of the nodes so we do not extend the array we loop over. for (var i = 0; i < sourceNodes.length; i++) { @@ -10165,7 +10168,8 @@ function appendConnectedNodes(sourceNodes, allEdges) { if (sourceNodes.indexOf(nodeId) == -1) { sourceNodes.push(nodeId); } - addUnique(getConnectedNodes(nodeId, allEdges),sourceNodes); + var connectedNodes = network.getConnectedNodes(nodeId); + addUnique(connectedNodes,sourceNodes); } tempSourceNodes = null; } @@ -10183,27 +10187,6 @@ function addUnique(fromArray, toArray) { } } -/** - * Get a list of nodes that are connected to the supplied nodeId with edges. - * @param nodeId - * @returns {Array} - */ -function getConnectedNodes(nodeId, allEdges) { - var edgesArray = allEdges; - var connectedNodes = []; - - for (var i = 0; i < edgesArray.length; i++) { - var edge = edgesArray[i]; - if (edge.to == nodeId) { - connectedNodes.push(edge.from); - } - else if (edge.from == nodeId) { - connectedNodes.push(edge.to) - } - } - return connectedNodes; -} - redrawAll() diff --git a/examples/timeline/33_custom_snapping.html b/examples/timeline/33_custom_snapping.html new file mode 100644 index 00000000..53c496ec --- /dev/null +++ b/examples/timeline/33_custom_snapping.html @@ -0,0 +1,54 @@ + + + + Timeline | Custom snapping + + + + + +

    + When moving the items in on the Timeline below, they will snap to full hours, + independent of being zoomed in or out. +

    +
    + + + + \ No newline at end of file diff --git a/examples/timeline/index.html b/examples/timeline/index.html index 37912cd4..c21533dc 100644 --- a/examples/timeline/index.html +++ b/examples/timeline/index.html @@ -43,6 +43,7 @@

    30_subgroups.html

    31_background_areas_with_groups.html

    32_grid_styling.html

    +

    33_custom_snapping.html

    requirejs_example.html

    diff --git a/images/exampleScreenshots/timeline/29.png b/images/exampleScreenshots/timeline/29.png index b4ace4d2d7834bcd69707f08b90250bc7b6a4665..186d471459c6497a02a3fbd28450620173ece903 100644 GIT binary patch delta 12751 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

    RtqW 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 KrK`Y30sjx2SLo^h diff --git a/images/exampleScreenshots/timeline/30.png b/images/exampleScreenshots/timeline/30.png index d498cd47e848271f5baef3f6ef3bc4b9a8166913..b4ace4d2d7834bcd69707f08b90250bc7b6a4665 100644 GIT binary patch delta 10248 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 delta 13228 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 QApR|R85QYTNt2NO0eykDDgXcg diff --git a/images/exampleScreenshots/timeline/31.png b/images/exampleScreenshots/timeline/31.png index 1de251a4f3d99e83c0405702ac25287658723929..d498cd47e848271f5baef3f6ef3bc4b9a8166913 100644 GIT binary patch delta 14357 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 x`0-uTGvr^f?SBk(|F~H4cUPq6uh0{ule!9ccgn delta 13195 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 diff --git a/images/exampleScreenshots/timeline/28.png b/images/exampleScreenshots/timeline/32.png similarity index 53% rename from images/exampleScreenshots/timeline/28.png rename to images/exampleScreenshots/timeline/32.png index 186d471459c6497a02a3fbd28450620173ece903..1de251a4f3d99e83c0405702ac25287658723929 100644 GIT binary patch delta 13201 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 install vis

    installing with bower

    bower install vis
    -

    download zip (version 3.9.1)

    +

    download

    + vis.zip (version 3.10.0)

    diff --git a/timeline_examples.html b/timeline_examples.html index 09feb821..2cb5a2a8 100644 --- a/timeline_examples.html +++ b/timeline_examples.html @@ -288,32 +288,38 @@ +