@kepler.gl/utils 3.0.0-alpha.0 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aggregate-utils.js +2 -2
- package/dist/color-utils.d.ts +4 -0
- package/dist/color-utils.js +28 -3
- package/dist/data-container-interface.js +1 -1
- package/dist/data-container-utils.js +2 -2
- package/dist/data-row.js +2 -2
- package/dist/data-scale-utils.js +4 -4
- package/dist/data-utils.d.ts +10 -12
- package/dist/data-utils.js +120 -44
- package/dist/dataset-utils.d.ts +12 -1
- package/dist/dataset-utils.js +74 -9
- package/dist/dom-to-image.d.ts +14 -14
- package/dist/dom-to-image.js +23 -69
- package/dist/dom-utils.d.ts +3 -0
- package/dist/dom-utils.js +29 -3
- package/dist/effect-utils.d.ts +13 -0
- package/dist/effect-utils.js +129 -0
- package/dist/export-map-html.js +2 -2
- package/dist/export-utils.js +13 -4
- package/dist/filter-utils.d.ts +11 -9
- package/dist/filter-utils.js +66 -36
- package/dist/format.d.ts +1 -0
- package/dist/format.js +33 -0
- package/dist/gl-utils.js +2 -2
- package/dist/h3-utils.d.ts +2 -1
- package/dist/h3-utils.js +5 -4
- package/dist/index.d.ts +14 -9
- package/dist/index.js +230 -555
- package/dist/indexed-data-container.js +2 -2
- package/dist/locale-utils.js +2 -2
- package/dist/map-info-utils.js +2 -2
- package/dist/map-style-utils/mapbox-gl-style-editor.d.ts +2 -1
- package/dist/map-style-utils/mapbox-gl-style-editor.js +9 -3
- package/dist/map-style-utils/mapbox-utils.js +2 -2
- package/dist/map-utils.d.ts +8 -2
- package/dist/map-utils.js +24 -7
- package/dist/mapbox-utils.js +2 -2
- package/dist/noop.d.ts +1 -0
- package/dist/noop.js +29 -0
- package/dist/notifications-utils.d.ts +14 -26
- package/dist/notifications-utils.js +9 -11
- package/dist/observe-dimensions.js +10 -6
- package/dist/plot.d.ts +6 -0
- package/dist/plot.js +46 -0
- package/dist/projection-utils.d.ts +9 -0
- package/dist/projection-utils.js +36 -2
- package/dist/row-data-container.js +2 -2
- package/dist/searcher-utils.js +2 -2
- package/dist/split-map-utils.d.ts +4 -1
- package/dist/split-map-utils.js +10 -4
- package/dist/time.d.ts +16 -0
- package/dist/time.js +105 -0
- package/dist/utils.d.ts +36 -10
- package/dist/utils.js +38 -6
- package/package.json +11 -11
@@ -0,0 +1,129 @@
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
2
|
+
//
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
8
|
+
// furnished to do so, subject to the following conditions:
|
9
|
+
//
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
11
|
+
// all copies or substantial portions of the Software.
|
12
|
+
//
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
// THE SOFTWARE.
|
20
|
+
|
21
|
+
"use strict";
|
22
|
+
|
23
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
24
|
+
|
25
|
+
Object.defineProperty(exports, "__esModule", {
|
26
|
+
value: true
|
27
|
+
});
|
28
|
+
exports.computeDeckEffects = computeDeckEffects;
|
29
|
+
exports.mergeEffectParams = mergeEffectParams;
|
30
|
+
exports.reorderEffectOrder = reorderEffectOrder;
|
31
|
+
exports.fixEffectOrder = void 0;
|
32
|
+
|
33
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
34
|
+
|
35
|
+
var _sortable = require("@dnd-kit/sortable");
|
36
|
+
|
37
|
+
var _suncalc = _interopRequireDefault(require("suncalc"));
|
38
|
+
|
39
|
+
var _constants = require("@kepler.gl/constants");
|
40
|
+
|
41
|
+
var _utils = require("./utils");
|
42
|
+
|
43
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
44
|
+
|
45
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
46
|
+
|
47
|
+
function computeDeckEffects(_ref) {
|
48
|
+
var visState = _ref.visState,
|
49
|
+
mapState = _ref.mapState;
|
50
|
+
var effects = visState.effectOrder.map(function (effectId) {
|
51
|
+
return (0, _utils.findById)(effectId)(visState.effects);
|
52
|
+
}).filter(function (effect) {
|
53
|
+
return Boolean(effect && effect.config.isEnabled && effect.deckEffect);
|
54
|
+
});
|
55
|
+
var lightShadowEffect = effects.find(function (effect) {
|
56
|
+
return effect.type === _constants.LIGHT_AND_SHADOW_EFFECT.type;
|
57
|
+
});
|
58
|
+
|
59
|
+
if (lightShadowEffect) {
|
60
|
+
var timestamp = lightShadowEffect.config.params.timestamp;
|
61
|
+
|
62
|
+
if (!isDaytime(mapState.latitude, mapState.longitude, timestamp)) {
|
63
|
+
// TODO: interpolate for dusk/dawn
|
64
|
+
// TODO: Should we avoid mutating the effect? (didn't work when tried defensive copying)
|
65
|
+
lightShadowEffect.deckEffect.shadowColor[3] = 0;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
return effects.map(function (effect) {
|
70
|
+
return effect.deckEffect;
|
71
|
+
});
|
72
|
+
}
|
73
|
+
|
74
|
+
function mergeEffectParams(params, extraParams) {
|
75
|
+
var p1 = params || {};
|
76
|
+
var p2 = extraParams || {};
|
77
|
+
return _objectSpread(_objectSpread(_objectSpread({}, p1), p2), {}, {
|
78
|
+
// @ts-expect-error
|
79
|
+
config: _objectSpread(_objectSpread({}, p1.config || {}), p2.config || {})
|
80
|
+
});
|
81
|
+
}
|
82
|
+
/**
|
83
|
+
* Always keep light & shadow effect at the top
|
84
|
+
*/
|
85
|
+
|
86
|
+
|
87
|
+
var fixEffectOrder = function fixEffectOrder(effects, effectOrder) {
|
88
|
+
var lightShadowEffect = effects.find(function (effect) {
|
89
|
+
return effect.type === _constants.LIGHT_AND_SHADOW_EFFECT.type;
|
90
|
+
});
|
91
|
+
|
92
|
+
if (lightShadowEffect) {
|
93
|
+
var ind = effectOrder.indexOf(lightShadowEffect.id);
|
94
|
+
|
95
|
+
if (ind > 0) {
|
96
|
+
effectOrder.splice(ind, 1);
|
97
|
+
effectOrder.unshift(lightShadowEffect.id);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
101
|
+
return effectOrder;
|
102
|
+
};
|
103
|
+
|
104
|
+
exports.fixEffectOrder = fixEffectOrder;
|
105
|
+
|
106
|
+
function reorderEffectOrder(effectOrder, originEffectId, destinationEffectId) {
|
107
|
+
var activeIndex = effectOrder.indexOf(originEffectId);
|
108
|
+
var overIndex = effectOrder.indexOf(destinationEffectId);
|
109
|
+
return (0, _sortable.arrayMove)(effectOrder, activeIndex, overIndex);
|
110
|
+
}
|
111
|
+
/**
|
112
|
+
* Check if the current time is daytime at the given location
|
113
|
+
* @param {number} lat Latitude
|
114
|
+
* @param {number} lon Longitude
|
115
|
+
* @param {number} timestamp Milliseconds since the Unix Epoch
|
116
|
+
* @returns boolean
|
117
|
+
*/
|
118
|
+
|
119
|
+
|
120
|
+
function isDaytime(lat, lon, timestamp) {
|
121
|
+
var date = new Date(timestamp);
|
122
|
+
|
123
|
+
var _SunCalc$getTimes = _suncalc["default"].getTimes(date, lat, lon),
|
124
|
+
sunrise = _SunCalc$getTimes.sunrise,
|
125
|
+
sunset = _SunCalc$getTimes.sunset;
|
126
|
+
|
127
|
+
return date >= sunrise && date <= sunset;
|
128
|
+
}
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZmZlY3QtdXRpbHMudHMiXSwibmFtZXMiOlsiY29tcHV0ZURlY2tFZmZlY3RzIiwidmlzU3RhdGUiLCJtYXBTdGF0ZSIsImVmZmVjdHMiLCJlZmZlY3RPcmRlciIsIm1hcCIsImVmZmVjdElkIiwiZmlsdGVyIiwiZWZmZWN0IiwiQm9vbGVhbiIsImNvbmZpZyIsImlzRW5hYmxlZCIsImRlY2tFZmZlY3QiLCJsaWdodFNoYWRvd0VmZmVjdCIsImZpbmQiLCJ0eXBlIiwiTElHSFRfQU5EX1NIQURPV19FRkZFQ1QiLCJ0aW1lc3RhbXAiLCJwYXJhbXMiLCJpc0RheXRpbWUiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInNoYWRvd0NvbG9yIiwibWVyZ2VFZmZlY3RQYXJhbXMiLCJleHRyYVBhcmFtcyIsInAxIiwicDIiLCJmaXhFZmZlY3RPcmRlciIsImluZCIsImluZGV4T2YiLCJpZCIsInNwbGljZSIsInVuc2hpZnQiLCJyZW9yZGVyRWZmZWN0T3JkZXIiLCJvcmlnaW5FZmZlY3RJZCIsImRlc3RpbmF0aW9uRWZmZWN0SWQiLCJhY3RpdmVJbmRleCIsIm92ZXJJbmRleCIsImxhdCIsImxvbiIsImRhdGUiLCJEYXRlIiwiU3VuQ2FsYyIsImdldFRpbWVzIiwic3VucmlzZSIsInN1bnNldCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFJQTs7QUFDQTs7Ozs7O0FBSU8sU0FBU0Esa0JBQVQsT0FNaUI7QUFBQSxNQUx0QkMsUUFLc0IsUUFMdEJBLFFBS3NCO0FBQUEsTUFKdEJDLFFBSXNCLFFBSnRCQSxRQUlzQjtBQUN0QixNQUFJQyxPQUFPLEdBQUdGLFFBQVEsQ0FBQ0csV0FBVCxDQUNYQyxHQURXLENBQ1AsVUFBQUMsUUFBUSxFQUFJO0FBQ2YsV0FBTyxxQkFBU0EsUUFBVCxFQUFtQkwsUUFBUSxDQUFDRSxPQUE1QixDQUFQO0FBQ0QsR0FIVyxFQUlYSSxNQUpXLENBSUosVUFBQUMsTUFBTTtBQUFBLFdBQUlDLE9B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cUJBRS9CQSxPQUYrQjtBQUFBLE1BRXRCQyxNQUZzQixxQkFFdEJBLE1BRnNCOztBQUd0QyxTQUFPTCxJQUFJLElBQUlJLE9BQVIsSUFBbUJKLElBQUksSUFBSUssTUFBbEM7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXJyYXlNb3ZlfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgU3VuQ2FsYyBmcm9tICdzdW5jYWxjJztcblxuaW1wb3J0IHtQb3N0UHJvY2Vzc0VmZmVjdH0gZnJvbSAnQGRlY2suZ2wvY29yZS90eXBlZCc7XG5cbmltcG9ydCB7TElHSFRfQU5EX1NIQURPV19FRkZFQ1R9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7ZmluZEJ5SWR9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtWaXNTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC9zY2hlbWFzJztcbmltcG9ydCB7TWFwU3RhdGUsIEVmZmVjdFBhcmFtcywgRWZmZWN0fSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVEZWNrRWZmZWN0cyh7XG4gIHZpc1N0YXRlLFxuICBtYXBTdGF0ZVxufToge1xuICB2aXNTdGF0ZTogVmlzU3RhdGU7XG4gIG1hcFN0YXRlOiBNYXBTdGF0ZTtcbn0pOiBQb3N0UHJvY2Vzc0VmZmVjdFtdIHtcbiAgbGV0IGVmZmVjdHMgPSB2aXNTdGF0ZS5lZmZlY3RPcmRlclxuICAgIC5tYXAoZWZmZWN0SWQgPT4ge1xuICAgICAgcmV0dXJuIGZpbmRCeUlkKGVmZmVjdElkKSh2aXNTdGF0ZS5lZmZlY3RzKTtcbiAgICB9KVxuICAgIC5maWx0ZXIoZWZmZWN0ID0+IEJvb2xlYW4oZWZmZWN0ICYmIGVmZmVjdC5jb25maWcuaXNFbmFibGVkICYmIGVmZmVjdC5kZWNrRWZmZWN0KSkgYXMgRWZmZWN0W107XG5cbiAgY29uc3QgbGlnaHRTaGFkb3dFZmZlY3QgPSBlZmZlY3RzLmZpbmQoZWZmZWN0ID0+IGVmZmVjdC50eXBlID09PSBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVC50eXBlKTtcbiAgaWYgKGxpZ2h0U2hhZG93RWZmZWN0KSB7XG4gICAgY29uc3Qge3RpbWVzdGFtcH0gPSBsaWdodFNoYWRvd0VmZmVjdC5jb25maWcucGFyYW1zO1xuICAgIGlmICghaXNEYXl0aW1lKG1hcFN0YXRlLmxhdGl0dWRlLCBtYXBTdGF0ZS5sb25naXR1ZGUsIHRpbWVzdGFtcCkpIHtcbiAgICAgIC8vIFRPRE86IGludGVycG9sYXRlIGZvciBkdXNrL2Rhd25cbiAgICAgIC8vIFRPRE86IFNob3VsZCB3ZSBhdm9pZCBtdXRhdGluZyB0aGUgZWZmZWN0PyAoZGlkbid0IHdvcmsgd2hlbiB0cmllZCBkZWZlbnNpdmUgY29weWluZylcbiAgICAgIGxpZ2h0U2hhZG93RWZmZWN0LmRlY2tFZmZlY3Quc2hhZG93Q29sb3JbM10gPSAwO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZWZmZWN0cy5tYXAoZWZmZWN0ID0+IGVmZmVjdC5kZWNrRWZmZWN0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRWZmZWN0UGFyYW1zKFxuICBwYXJhbXM6IFBhcnRpYWw8RWZmZWN0UGFyYW1zPixcbiAgZXh0cmFQYXJhbXM6IFBhcnRpYWw8RWZmZWN0UGFyYW1zPlxuKTogUGFydGlhbDxFZmZlY3RQYXJhbXM+IHtcbiAgY29uc3QgcDEgPSBwYXJhbXMgfHwge307XG4gIGNvbnN0IHAyID0gZXh0cmFQYXJhbXMgfHwge307XG4gIHJldHVybiB7XG4gICAgLi4ucDEsXG4gICAgLi4ucDIsXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIGNvbmZpZzoge1xuICAgICAgLi4uKHAxLmNvbmZpZyB8fCB7fSksXG4gICAgICAuLi4ocDIuY29uZmlnIHx8IHt9KVxuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBBbHdheXMga2VlcCBsaWdodCAmIHNoYWRvdyBlZmZlY3QgYXQgdGhlIHRvcFxuICovXG5leHBvcnQgY29uc3QgZml4RWZmZWN0T3JkZXIgPSAoZWZmZWN0czogRWZmZWN0W10sIGVmZmVjdE9yZGVyOiBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3QgbGlnaHRTaGFkb3dFZmZlY3QgPSBlZmZlY3RzLmZpbmQoZWZmZWN0ID0+IGVmZmVjdC50eXBlID09PSBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVC50eXBlKTtcbiAgaWYgKGxpZ2h0U2hhZG93RWZmZWN0KSB7XG4gICAgY29uc3QgaW5kID0gZWZmZWN0T3JkZXIuaW5kZXhPZihsaWdodFNoYWRvd0VmZmVjdC5pZCk7XG4gICAgaWYgKGluZCA+IDApIHtcbiAgICAgIGVmZmVjdE9yZGVyLnNwbGljZShpbmQsIDEpO1xuICAgICAgZWZmZWN0T3JkZXIudW5zaGlmdChsaWdodFNoYWRvd0VmZmVjdC5pZCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBlZmZlY3RPcmRlcjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZW9yZGVyRWZmZWN0T3JkZXIoXG4gIGVmZmVjdE9yZGVyOiBzdHJpbmdbXSxcbiAgb3JpZ2luRWZmZWN0SWQ6IHN0cmluZyxcbiAgZGVzdGluYXRpb25FZmZlY3RJZDogc3RyaW5nXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGFjdGl2ZUluZGV4ID0gZWZmZWN0T3JkZXIuaW5kZXhPZihvcmlnaW5FZmZlY3RJZCk7XG4gIGNvbnN0IG92ZXJJbmRleCA9IGVmZmVjdE9yZGVyLmluZGV4T2YoZGVzdGluYXRpb25FZmZlY3RJZCk7XG4gIHJldHVybiBhcnJheU1vdmUoZWZmZWN0T3JkZXIsIGFjdGl2ZUluZGV4LCBvdmVySW5kZXgpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBjdXJyZW50IHRpbWUgaXMgZGF5dGltZSBhdCB0aGUgZ2l2ZW4gbG9jYXRpb25cbiAqIEBwYXJhbSB7bnVtYmVyfSBsYXQgTGF0aXR1ZGVcbiAqIEBwYXJhbSB7bnVtYmVyfSBsb24gTG9uZ2l0dWRlXG4gKiBAcGFyYW0ge251bWJlcn0gdGltZXN0YW1wIE1pbGxpc2Vjb25kcyBzaW5jZSB0aGUgVW5peCBFcG9jaFxuICogQHJldHVybnMgYm9vbGVhblxuICovXG5mdW5jdGlvbiBpc0RheXRpbWUobGF0LCBsb24sIHRpbWVzdGFtcCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTtcbiAgY29uc3Qge3N1bnJpc2UsIHN1bnNldH0gPSBTdW5DYWxjLmdldFRpbWVzKGRhdGUsIGxhdCwgbG9uKTtcbiAgcmV0dXJuIGRhdGUgPj0gc3VucmlzZSAmJiBkYXRlIDw9IHN1bnNldDtcbn1cbiJdfQ==
|
package/dist/export-map-html.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
// Copyright (c)
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
2
2
|
//
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
@@ -41,4 +41,4 @@ var exportMapToHTML = function exportMapToHTML(options) {
|
|
41
41
|
};
|
42
42
|
|
43
43
|
exports.exportMapToHTML = exportMapToHTML;
|
44
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnQtbWFwLWh0bWwudHMiXSwibmFtZXMiOlsiZXhwb3J0TWFwVG9IVE1MIiwib3B0aW9ucyIsInZlcnNpb24iLCJLRVBMRVJfR0xfVkVSU0lPTiIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibW9kZSIsIkVYUE9SVF9IVE1MX01BUF9NT0RFUyIsIlJFQUQiLCJKU09OIiwic3RyaW5naWZ5IiwiZGF0YXNldHMiLCJjb25maWciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFxQkE7O0FBckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1BLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsT0FBRCxFQUEwQztBQUFBLE1BQWhDQyxPQUFnQyx1RUFBdEJDLDRCQUFzQjtBQUN2RSwyaEZBdUNpREQsT0F2Q2pELHFVQWtEZ0NELE9BQU8sQ0FBQ0csb0JBQVIsSUFBZ0Msc0JBbERoRSw0bEVBNkY0QkgsT0FBTyxDQUFDSSxJQUFSLEtBQWlCQyxpQ0FBc0JDLElBN0ZuRSxpcE5BZ0xnQk4sT0FBTyxDQUFDSSxJQUFSLEtBQWlCQyxpQ0FBc0JDLElBQXZDLEdBQThDLFlBQTlDLEdBQTZELEVBaEw3RSw0eENBaU42QkMsSUFBSSxDQUFDQyxTQUFMLENBQWVSLE9BQU8sQ0FBQ1MsUUFBdkIsQ0FqTjdCLDJDQWtOMkJGLElBQUksQ0FBQ0MsU0FBTCxDQUFlUixPQUFPLENBQUNVLE1BQXZCLENBbE4zQjtBQXFPRCxDQXRPTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQge0tFUExFUl9HTF9WRVJTSU9OLCBFWFBPUlRfSFRNTF9NQVBfTU9ERVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGNyZWF0ZSBhbiBodG1sIGZpbGUgd2hpY2ggd2lsbCBpbmxjdWRlIGtlcGxlciBhbmQgbWFwIGRhdGFcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIE9iamVjdCB0aGF0IGNvbGxlY3RzIGFsbCBuZWNlc3NhcnkgZGF0YSB0byAgY3JlYXRlIHRoZSBodG1sIGZpbGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm1hcGJveEFwaUFjY2Vzc1Rva2VuIE1hcGJveCB0b2tlbiB1c2VkIHRvIGZldGNoIG1hcGJveCB0aWxlc1xuICogQHBhcmFtIHtBcnJheTxPYmplY3Q+fSBvcHRpb25zLmRhdGFzZXRzIERhdGEgdG8gaW5jbHVkZSBpbiB0aGUgbWFwXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5jb25maWcgdGhpcyBvYmplY3Qgd2lsbCBjb250YWluIHRoZSBmdWxsIGtlcGxlci5nbCBpbnN0YW5jZSBjb25maWd1cmF0aW9uIHttYXBTdGF0ZSwgbWFwU3R5bGUsIHZpc1N0YXRlfVxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb24gd2hpY2ggdmVyc2lvbiBvZiBLZXBsZXIuZ2wgdG8gbG9hZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4cG9ydE1hcFRvSFRNTCA9IChvcHRpb25zLCB2ZXJzaW9uID0gS0VQTEVSX0dMX1ZFUlNJT04pID0+IHtcbiAgcmV0dXJuIGBcbiAgICA8IURPQ1RZUEUgaHRtbD5cbiAgICA8aHRtbD5cbiAgICAgIDxoZWFkPlxuICAgICAgICA8bWV0YSBjaGFyc2V0PVwiVVRGLThcIi8+XG4gICAgICAgIDx0aXRsZT5LZXBsZXIuZ2wgZW1iZWRkZWQgbWFwPC90aXRsZT5cblxuICAgICAgICA8IS0tVWJlciBGb250LS0+XG4gICAgICAgIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wvdWJlci1mb250cy80LjAuMC9zdXBlcmZpbmUuY3NzXCI+XG5cbiAgICAgICAgPCEtLU1hcEJveCBjc3MtLT5cbiAgICAgICAgPGxpbmsgaHJlZj1cImh0dHBzOi8vYXBpLnRpbGVzLm1hcGJveC5jb20vbWFwYm94LWdsLWpzL3YxLjEuMS9tYXBib3gtZ2wuY3NzXCIgcmVsPVwic3R5bGVzaGVldFwiPlxuXG4gICAgICAgIDwhLeKAlCBmYWNlYm9vayBvcGVuIGdyYXBoIHRhZ3MgLS0+XG4gICAgICAgIDxtZXRhIHByb3BlcnR5PVwib2c6dXJsXCIgY29udGVudD1cImh0dHA6Ly9rZXBsZXIuZ2wvXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzp0aXRsZVwiIGNvbnRlbnQ9XCJMYXJnZS1zY2FsZSBXZWJHTC1wb3dlcmVkIEdlb3NwYXRpYWwgRGF0YSBWaXN1YWxpemF0aW9uIFRvb2xcIiAvPlxuICAgICAgICA8bWV0YSBwcm9wZXJ0eT1cIm9nOmRlc2NyaXB0aW9uXCIgY29udGVudD1cIktlcGxlci5nbCBpcyBhIHBvd2VyZnVsIHdlYi1iYXNlZCBnZW9zcGF0aWFsIGRhdGEgYW5hbHlzaXMgdG9vbC4gQnVpbHQgb24gYSBoaWdoIHBlcmZvcm1hbmNlIHJlbmRlcmluZyBlbmdpbmUgYW5kIGRlc2lnbmVkIGZvciBsYXJnZS1zY2FsZSBkYXRhIHNldHMuXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzpzaXRlX25hbWVcIiBjb250ZW50PVwia2VwbGVyLmdsXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzppbWFnZVwiIGNvbnRlbnQ9XCJodHRwczovL2QxYTNmNHNwYXp6cnA0LmNsb3VkZnJvbnQubmV0L2tlcGxlci5nbC9rZXBsZXIuZ2wtbWV0YS10YWcucG5nXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzppbWFnZTp0eXBlXCIgY29udGVudD1cImltYWdlL3BuZ1wiIC8+XG4gICAgICAgIDxtZXRhIHByb3BlcnR5PVwib2c6aW1hZ2U6d2lkdGhcIiBjb250ZW50PVwiODAwXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzppbWFnZTpoZWlnaHRcIiBjb250ZW50PVwiODAwXCIgLz5cblxuICAgICAgICA8IS3igJQgdHdpdHRlciBjYXJkIHRhZ3MgLS0+XG4gICAgICAgIDxtZXRhIG5hbWU9XCJ0d2l0dGVyOmNhcmRcIiBjb250ZW50PVwic3VtbWFyeV9sYXJnZV9pbWFnZVwiPlxuICAgICAgICA8bWV0YSBuYW1lPVwidHdpdHRlcjpzaXRlXCIgY29udGVudD1cIkB1YmVyXCI+XG4gICAgICAgIDxtZXRhIG5hbWU9XCJ0d2l0dGVyOmNyZWF0b3JcIiBjb250ZW50PVwiQHViZXJcIj5cbiAgICAgICAgPG1ldGEgbmFtZT1cInR3aXR0ZXI6dGl0bGVcIiBjb250ZW50PVwiTGFyZ2Utc2NhbGUgV2ViR0wtcG93ZXJlZCBHZW9zcGF0aWFsIERhdGEgVmlzdWFsaXphdGlvbiBUb29sXCI+XG4gICAgICAgIDxtZXRhIG5hbWU9XCJ0d2l0dGVyOmRlc2NyaXB0aW9uXCIgY29udGVudD1cIktlcGxlci5nbCBpcyBhIHBvd2VyZnVsIHdlYi1iYXNlZCBnZW9zcGF0aWFsIGRhdGEgYW5hbHlzaXMgdG9vbC4gQnVpbHQgb24gYSBoaWdoIHBlcmZvcm1hbmNlIHJlbmRlcmluZyBlbmdpbmUgYW5kIGRlc2lnbmVkIGZvciBsYXJnZS1zY2FsZSBkYXRhIHNldHMuXCI+XG4gICAgICAgIDxtZXRhIG5hbWU9XCJ0d2l0dGVyOmltYWdlXCIgY29udGVudD1cImh0dHBzOi8vZDFhM2Y0c3BhenpycDQuY2xvdWRmcm9udC5uZXQva2VwbGVyLmdsL2tlcGxlci5nbC1tZXRhLXRhZy5wbmdcIiAvPlxuXG4gICAgICAgIDwhLS0gTG9hZCBSZWFjdC9SZWR1eCAtLT5cbiAgICAgICAgPHNjcmlwdCBzcmM9XCJodHRwczovL3VucGtnLmNvbS9yZWFjdEAxNi44LjQvdW1kL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzXCIgY3Jvc3NvcmlnaW4+PC9zY3JpcHQ+XG4gICAgICAgIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly91bnBrZy5jb20vcmVhY3QtZG9tQDE2LjguNC91bWQvcmVhY3QtZG9tLnByb2R1Y3Rpb24ubWluLmpzXCIgY3Jvc3NvcmlnaW4+PC9zY3JpcHQ+XG4gICAgICAgIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly91bnBrZy5jb20vcmVkdXhAMy43LjIvZGlzdC9yZWR1eC5qc1wiIGNyb3Nzb3JpZ2luPjwvc2NyaXB0PlxuICAgICAgICA8c2NyaXB0IHNyYz1cImh0dHBzOi8vdW5wa2cuY29tL3JlYWN0LXJlZHV4QDcuMS4zL2Rpc3QvcmVhY3QtcmVkdXgubWluLmpzXCIgY3Jvc3NvcmlnaW4+PC9zY3JpcHQ+XG4gICAgICAgIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly91bnBrZy5jb20vc3R5bGVkLWNvbXBvbmVudHNANC4xLjMvZGlzdC9zdHlsZWQtY29tcG9uZW50cy5taW4uanNcIiBjcm9zc29yaWdpbj48L3NjcmlwdD5cblxuICAgICAgICA8IS0tIExvYWQgS2VwbGVyLmdsIC0tPlxuICAgICAgICA8c2NyaXB0IHNyYz1cImh0dHBzOi8vdW5wa2cuY29tL2tlcGxlci5nbEAke3ZlcnNpb259L3VtZC9rZXBsZXJnbC5taW4uanNcIiBjcm9zc29yaWdpbj48L3NjcmlwdD5cblxuICAgICAgICA8c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+XG4gICAgICAgICAgYm9keSB7bWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuO31cbiAgICAgICAgPC9zdHlsZT5cblxuICAgICAgICA8IS0tTWFwQm94IHRva2VuLS0+XG4gICAgICAgIDxzY3JpcHQ+XG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogUHJvdmlkZSB5b3VyIE1hcEJveCBUb2tlblxuICAgICAgICAgICAqKi9cbiAgICAgICAgICBjb25zdCBNQVBCT1hfVE9LRU4gPSAnJHtvcHRpb25zLm1hcGJveEFwaUFjY2Vzc1Rva2VuIHx8ICdQUk9WSURFX01BUEJPWF9UT0tFTid9JztcbiAgICAgICAgICBjb25zdCBXQVJOSU5HX01FU1NBR0UgPSAnUGxlYXNlIFByb3ZpZGUgYSBNYXBib3ggVG9rZW4gaW4gb3JkZXIgdG8gdXNlIEtlcGxlci5nbC4gRWRpdCB0aGlzIGZpbGUgYW5kIGZpbGwgb3V0IE1BUEJPWF9UT0tFTiB3aXRoIHlvdXIgYWNjZXNzIGtleSc7XG4gICAgICAgIDwvc2NyaXB0PlxuXG4gICAgICAgIDwhLS0gR0E6IERlbGV0ZSB0aGlzIGFzIHlvdSB3aXNoLCBIb3dldmVyIHRvIHBhdCBvdXJzZWx2ZXMgb24gdGhlIGJhY2ssIHdlIG9ubHkgdHJhY2sgYW5vbnltb3VzIHBhZ2V2aWV3IHRvIHVuZGVyc3RhbmQgaG93IG1hbnkgcGVvcGxlIGFyZSB1c2luZyBrZXBsZXIuZ2wuIC0tPlxuICAgICAgICA8c2NyaXB0PlxuICAgICAgICAgIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXtcbiAgICAgICAgICAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSxcbiAgICAgICAgICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pXG4gICAgICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdodHRwczovL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpO1xuICAgICAgICAgIGdhKCdjcmVhdGUnLCAnVUEtNjQ2OTQ0MDQtMTknLCB7XG4gICAgICAgICAgICAnc3RvcmFnZSc6ICdub25lJyxcbiAgICAgICAgICAgICdjbGllbnRJZCc6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnYTpjbGllbnRJZCcpXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZ2EoZnVuY3Rpb24odHJhY2tlcikge1xuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2E6Y2xpZW50SWQnLCB0cmFja2VyLmdldCgnY2xpZW50SWQnKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZ2EoJ3NldCcsICdjaGVja1Byb3RvY29sVGFzaycsIG51bGwpOyAvLyBEaXNhYmxlIGZpbGUgcHJvdG9jb2wgY2hlY2tpbmcuXG4gICAgICAgICAgZ2EoJ3NldCcsICdjaGVja1N0b3JhZ2VUYXNrJywgbnVsbCk7IC8vIERpc2FibGUgY29va2llIHN0b3JhZ2UgY2hlY2tpbmcuXG4gICAgICAgICAgZ2EoJ3NldCcsICdoaXN0b3J5SW1wb3J0VGFzaycsIG51bGwpOyAvLyBEaXNhYmxlIGhpc3RvcnkgY2hlY2tpbmcgKHJlcXVpcmVzIHJlYWRpbmcgZnJvbSBjb29raWVzKS5cbiAgICAgICAgICBnYSgnc2V0JywgJ3BhZ2UnLCAna2VwbGVyZ2wtaHRtbCcpO1xuICAgICAgICAgIGdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7XG4gICAgICAgIDwvc2NyaXB0PlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDwhLS0gV2Ugd2lsbCBwdXQgb3VyIFJlYWN0IGNvbXBvbmVudCBpbnNpZGUgdGhpcyBkaXYuIC0tPlxuICAgICAgICA8ZGl2IGlkPVwiYXBwXCI+XG4gICAgICAgICAgPCEtLSBLZXBsZXIuZ2wgbWFwIHdpbGwgYmUgcGxhY2VkIGhlcmUtLT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBMb2FkIG91ciBSZWFjdCBjb21wb25lbnQuIC0tPlxuICAgICAgICA8c2NyaXB0PlxuICAgICAgICAgIC8qIFZhbGlkYXRlIE1hcGJveCBUb2tlbiAqL1xuICAgICAgICAgIGlmICgoTUFQQk9YX1RPS0VOIHx8ICcnKSA9PT0gJycgfHwgTUFQQk9YX1RPS0VOID09PSAnUFJPVklERV9NQVBCT1hfVE9LRU4nKSB7XG4gICAgICAgICAgICBhbGVydChXQVJOSU5HX01FU1NBR0UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qKiBTVE9SRSAqKi9cbiAgICAgICAgICBjb25zdCByZWR1Y2VycyA9IChmdW5jdGlvbiBjcmVhdGVSZWR1Y2VycyhyZWR1eCwga2VwbGVyR2wpIHtcbiAgICAgICAgICAgIHJldHVybiByZWR1eC5jb21iaW5lUmVkdWNlcnMoe1xuICAgICAgICAgICAgICAvLyBtb3VudCBrZXBsZXJHbCByZWR1Y2VyXG4gICAgICAgICAgICAgIGtlcGxlckdsOiBrZXBsZXJHbC5rZXBsZXJHbFJlZHVjZXIuaW5pdGlhbFN0YXRlKHtcbiAgICAgICAgICAgICAgICB1aVN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICByZWFkT25seTogJHtvcHRpb25zLm1vZGUgPT09IEVYUE9SVF9IVE1MX01BUF9NT0RFUy5SRUFEfSxcbiAgICAgICAgICAgICAgICAgIGN1cnJlbnRNb2RhbDogbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0oUmVkdXgsIEtlcGxlckdsKSk7XG5cbiAgICAgICAgICBjb25zdCBtaWRkbGVXYXJlcyA9IChmdW5jdGlvbiBjcmVhdGVNaWRkbGV3YXJlcyhrZXBsZXJHbCkge1xuICAgICAgICAgICAgcmV0dXJuIGtlcGxlckdsLmVuaGFuY2VSZWR1eE1pZGRsZXdhcmUoW1xuICAgICAgICAgICAgICAvLyBBZGQgb3RoZXIgbWlkZGxld2FyZXMgaGVyZVxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfShLZXBsZXJHbCkpO1xuXG4gICAgICAgICAgY29uc3QgZW5oYW5jZXJzID0gKGZ1bmN0aW9uIGNyYWV0ZUVuaGFuY2VycyhyZWR1eCwgbWlkZGxlcykge1xuICAgICAgICAgICAgcmV0dXJuIHJlZHV4LmFwcGx5TWlkZGxld2FyZSguLi5taWRkbGVzKTtcbiAgICAgICAgICB9KFJlZHV4LCBtaWRkbGVXYXJlcykpO1xuXG4gICAgICAgICAgY29uc3Qgc3RvcmUgPSAoZnVuY3Rpb24gY3JlYXRlU3RvcmUocmVkdXgsIGVuaGFuY2Vycykge1xuICAgICAgICAgICAgY29uc3QgaW5pdGlhbFN0YXRlID0ge307XG5cbiAgICAgICAgICAgIHJldHVybiByZWR1eC5jcmVhdGVTdG9yZShcbiAgICAgICAgICAgICAgcmVkdWNlcnMsXG4gICAgICAgICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgICAgICAgcmVkdXguY29tcG9zZShlbmhhbmNlcnMpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0oUmVkdXgsIGVuaGFuY2VycykpO1xuICAgICAgICAgIC8qKiBFTkQgU1RPUkUgKiovXG5cbiAgICAgICAgICAvKiogQ09NUE9ORU5UUyAqKi9cbiAgICAgICAgICB2YXIgS2VwbGVyRWxlbWVudCA9IChmdW5jdGlvbiBtYWtlS2VwbGVyRWxlbWVudChyZWFjdCwga2VwbGVyR2wsIG1hcGJveFRva2VuKSB7XG4gICAgICAgICAgICB2YXIgTG9nb1N2ZyA9IGZ1bmN0aW9uIExvZ29TdmcoKSB7XG4gICAgICAgICAgICAgIHJldHVybiByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgeyBjbGFzc05hbWU6IFwibG9nby1jb250YWluZXJcIiwgc3R5bGU6IHtwb3NpdGlvbjogJ2ZpeGVkJywgekluZGV4OiAxMDAwMCwgcGFkZGluZzogJzRweCd9IH0sXG4gICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICBcInN2Z1wiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImtlcGxlcl9nbF9fbG9nb1wiLFxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwN3B4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjIxcHhcIixcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiBcIjAgMCAxMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgIFwiZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgxMy41MDAwMDAsIDEzLjUwMDAwMCkgcm90YXRlKDQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMy41MDAwMDAsIC0xMy41MDAwMDApIHRyYW5zbGF0ZSg0LjAwMDAwMCwgNC4wMDAwMDApXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFwicmVjdFwiLCB7IHg6IFwiMFwiLCB5OiBcIjZcIiwgdHJhbnNmb3JtOiBcIm1hdHJpeCgyLjUzNTE4MWUtMDYgMSAtMSAyLjUzNTE4MWUtMDYgMTguMTEwNyA2LjAzNjkpXCIsIGZpbGw6IFwiIzUzNUM2Q1wiLCB3aWR0aDogXCIxMi4xXCIsIGhlaWdodDogXCIxMi4xXCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChcInJlY3RcIiwgeyB4OiBcIjZcIiwgeTogXCIwXCIsIHRyYW5zZm9ybTogXCJtYXRyaXgoMi41MzUxODJlLTA2IDEgLTEgMi41MzUxODJlLTA2IDE4LjExMDcgLTYuMDM2OSlcIiwgZmlsbDpcIiMxRkJBRDZcIiwgd2lkdGg6IFwiMTIuMVwiLCBoZWlnaHQ6IFwiMTIuMVwiIH0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgXCJnXCIsXG4gICAgICAgICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwgeyBmaWxsOlwiIzFGQkFENlwiLCBkOiBcIk0zOSw4LjdoMi4ybC0yLjgsNC4ybDIuOSw1LjFIMzlsLTIuNC00LjJoLTEuM1YxOGgtMlY1bDItMC4xdjcuM2gxLjNMMzksOC43elwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIHJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHsgZmlsbDpcIiMxRkJBRDZcIiwgZDogXCJNNDIuNCwxMy4zYzAtMS41LDAuNC0yLjcsMS4xLTMuNXMxLjgtMS4yLDMuMS0xLjJjMS4zLDAsMi4yLDAuNCwyLjgsMS4xYzAuNiwwLjcsMC45LDEuOCwwLjksMy4zIGMwLDAuNCwwLDAuOCwwLDEuMWgtNS44YzAsMS42LDAuOCwyLjQsMi40LDIuNGMxLDAsMi0wLjIsMi45LTAuNmwwLjIsMS43Yy0wLjQsMC4yLTAuOSwwLjQtMS40LDAuNXMtMS4xLDAuMi0xLjcsMC4yIGMtMS41LDAtMi42LTAuNC0zLjMtMS4yQzQyLjgsMTYuMSw0Mi40LDE0LjksNDIuNCwxMy4zeiBNNDYuNiwxMC4xYy0wLjcsMC0xLjIsMC4yLTEuNSwwLjVjLTAuNCwwLjQtMC42LDAuOS0wLjYsMS43aDQgYzAtMC44LTAuMi0xLjQtMC41LTEuN1M0Ny4yLDEwLjEsNDYuNiwxMC4xelwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIHJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHsgZmlsbDpcIiMxRkJBRDZcIiwgZDogXCJNNTcuMSwxOC4yYy0xLDAtMS44LTAuMy0yLjMtMC45bDAsMGwwLDEuM3YyLjVoLTJWOC43aDEuNWwwLjMsMC45aDBjMC4zLTAuMywwLjctMC42LDEuMi0wLjcgYzAuNC0wLjIsMC45LTAuMywxLjQtMC4zYzEuMiwwLDIuMSwwLjQsMi43LDEuMWMwLjYsMC43LDAuOSwyLDAuOSwzLjdjMCwxLjYtMC4zLDIuOC0xLDMuN0M1OS4yLDE3LjgsNTguMywxOC4yLDU3LjEsMTguMnogTTU2LjcsMTAuM2MtMC40LDAtMC44LDAuMS0xLjEsMC4yYy0wLjMsMC4yLTAuNiwwLjQtMC44LDAuN3Y0LjNjMC4yLDAuMywwLjQsMC41LDAuNywwLjdjMC4zLDAuMiwwLjcsMC4zLDEuMSwwLjMgYzAuNywwLDEuMi0wLjIsMS42LTAuN2MwLjQtMC41LDAuNS0xLjMsMC41LTIuNWMwLTAuOC0wLjEtMS40LTAuMi0xLjhzLTAuNC0wLjctMC43LTAuOUM1Ny42LDEwLjQsNTcuMiwxMC4zLDU2LjcsMTAuM3pcIiB9KSxcbiAgICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7IGZpbGw6XCIjMUZCQUQ2XCIsIGQ6IFwiTTYzLjIsMTZWNWwyLTAuMXYxMC44YzAsMC4zLDAuMSwwLjUsMC4yLDAuNmMwLjEsMC4xLDAuMywwLjIsMC42LDAuMmMwLjMsMCwwLjYsMCwwLjktMC4xVjE4IGMtMC40LDAuMS0xLDAuMi0xLjYsMC4yYy0wLjgsMC0xLjMtMC4yLTEuNy0wLjVTNjMuMiwxNi44LDYzLjIsMTZ6XCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwgeyBmaWxsOlwiIzFGQkFENlwiLCBkOiBcIk02OC4yLDEzLjNjMC0xLjUsMC40LTIuNywxLjEtMy41YzAuNy0wLjgsMS44LTEuMiwzLjEtMS4yYzEuMywwLDIuMiwwLjQsMi44LDEuMWMwLjYsMC43LDAuOSwxLjgsMC45LDMuMyBjMCwwLjQsMCwwLjgsMCwxLjFoLTUuOGMwLDEuNiwwLjgsMi40LDIuNCwyLjRjMSwwLDItMC4yLDIuOS0wLjZsMC4yLDEuN2MtMC40LDAuMi0wLjksMC40LTEuNCwwLjVzLTEuMSwwLjItMS43LDAuMiBjLTEuNSwwLTIuNi0wLjQtMy4zLTEuMkM2OC42LDE2LjEsNjguMiwxNC45LDY4LjIsMTMuM3ogTTcyLjQsMTAuMWMtMC43LDAtMS4yLDAuMi0xLjUsMC41Yy0wLjQsMC40LTAuNiwwLjktMC42LDEuN2g0IGMwLTAuOC0wLjItMS40LTAuNS0xLjdTNzMsMTAuMSw3Mi40LDEwLjF6XCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwgeyBmaWxsOlwiIzFGQkFENlwiLCBkOiBcIk04MC4yLDguN2wwLjEsMS43aDBjMC4zLTAuNiwwLjctMS4xLDEuMS0xLjRjMC40LTAuMywxLTAuNSwxLjYtMC41YzAuNCwwLDAuNywwLDEsMC4xbC0wLjEsMiBjLTAuMy0wLjEtMC43LTAuMi0xLTAuMmMtMC43LDAtMS4zLDAuMy0xLjcsMC44Yy0wLjQsMC41LTAuNywxLjItMC43LDIuMVYxOGgtMlY4LjdIODAuMnpcIiB9KSxcbiAgICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7IGZpbGw6XCIjMUZCQUQ2XCIsIGQ6IFwiTTgzLjgsMTdjMC0wLjgsMC40LTEuMiwxLjItMS4yYzAuOCwwLDEuMiwwLjQsMS4yLDEuMmMwLDAuOC0wLjQsMS4xLTEuMiwxLjFDODQuMiwxOC4yLDgzLjgsMTcuOCw4My44LDE3elwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIHJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHsgZmlsbDpcIiMxRkJBRDZcIiwgZDogXCJNODguNSwxOC43YzAtMC44LDAuNC0xLjQsMS4yLTEuOGMtMC42LTAuMy0wLjktMC44LTAuOS0xLjVjMC0wLjcsMC40LTEuMiwxLjEtMS42Yy0wLjMtMC4zLTAuNi0wLjYtMC43LTAuOSBjLTAuMi0wLjQtMC4yLTAuOC0wLjItMS4zYzAtMSwwLjMtMS44LDAuOS0yLjNjMC42LTAuNSwxLjYtMC44LDIuOC0wLjhjMC41LDAsMSwwLDEuNCwwLjFjMC40LDAuMSwwLjgsMC4yLDEuMSwwLjRsMi40LTAuMnYxLjUgaC0xLjVjMC4yLDAuNCwwLjIsMC44LDAuMiwxLjNjMCwxLTAuMywxLjctMC45LDIuMnMtMS41LDAuOC0yLjcsMC44Yy0wLjcsMC0xLjItMC4xLTEuNi0wLjJjLTAuMSwwLjEtMC4yLDAuMi0wLjMsMC4zIGMtMC4xLDAuMS0wLjEsMC4yLTAuMSwwLjRjMCwwLjIsMC4xLDAuMywwLjIsMC40YzAuMSwwLjEsMC4zLDAuMiwwLjYsMC4ybDIuNywwLjJjMSwwLjEsMS43LDAuMywyLjIsMC42YzAuNSwwLjMsMC44LDAuOSwwLjgsMS43IGMwLDAuNi0wLjIsMS4xLTAuNSwxLjVjLTAuNCwwLjQtMC45LDAuOC0xLjUsMWMtMC43LDAuMi0xLjUsMC40LTIuNCwwLjRjLTEuMywwLTIuMy0wLjItMy0wLjZDODguOCwyMC4xLDg4LjUsMTkuNSw4OC41LDE4Ljd6IE05NS4xLDE4LjRjMC0wLjMtMC4xLTAuNS0wLjMtMC43cy0wLjYtMC4yLTEuMS0wLjNsLTIuNy0wLjNjLTAuMiwwLjEtMC40LDAuMy0wLjUsMC41Yy0wLjEsMC4yLTAuMiwwLjQtMC4yLDAuNiBjMCwwLjQsMC4yLDAuOCwwLjUsMWMwLjQsMC4yLDEsMC4zLDEuOCwwLjNDOTQuMiwxOS41LDk1LjEsMTkuMiw5NS4xLDE4LjR6IE05NC4zLDExLjVjMC0wLjYtMC4xLTEtMC40LTEuMiBjLTAuMy0wLjItMC43LTAuMy0xLjMtMC4zYy0wLjcsMC0xLjEsMC4xLTEuNCwwLjNjLTAuMywwLjItMC40LDAuNi0wLjQsMS4yczAuMSwxLDAuNCwxLjJjMC4zLDAuMiwwLjcsMC4zLDEuNCwwLjMgYzAuNiwwLDEuMS0wLjEsMS4zLTAuNFM5NC4zLDEyLDk0LjMsMTEuNXpcIiB9KSxcbiAgICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7IGZpbGw6XCIjMUZCQUQ2XCIsIGQ6IFwiTTk5LjQsMTZWNWwyLTAuMXYxMC44YzAsMC4zLDAuMSwwLjUsMC4yLDAuNmMwLjEsMC4xLDAuMywwLjIsMC42LDAuMmMwLjMsMCwwLjYsMCwwLjktMC4xVjE4IGMtMC40LDAuMS0xLDAuMi0xLjYsMC4yYy0wLjgsMC0xLjMtMC4yLTEuNy0wLjVTOTkuNCwxNi44LDk5LjQsMTZ6XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiBBcHAoKSB7XG4gICAgICAgICAgICAgIHZhciByb290RWxtID0gcmVhY3QudXNlUmVmKG51bGwpO1xuICAgICAgICAgICAgICB2YXIgX3VzZVN0YXRlID0gcmVhY3QudXNlU3RhdGUoe1xuICAgICAgICAgICAgICAgIHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdmFyIHdpbmRvd0RpbWVuc2lvbiA9IF91c2VTdGF0ZVswXTtcbiAgICAgICAgICAgICAgdmFyIHNldERpbWVuc2lvbiA9IF91c2VTdGF0ZVsxXTtcbiAgICAgICAgICAgICAgcmVhY3QudXNlRWZmZWN0KGZ1bmN0aW9uIHNpZGVFZmZlY3QoKXtcbiAgICAgICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVSZXNpemUoKSB7XG4gICAgICAgICAgICAgICAgICBzZXREaW1lbnNpb24oe3dpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCwgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHR9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBoYW5kbGVSZXNpemUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaGFuZGxlUmVzaXplKTt9O1xuICAgICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICAgIHJldHVybiByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICdkaXYnLFxuICAgICAgICAgICAgICAgIHtzdHlsZToge3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCBsZWZ0OiAwLCB3aWR0aDogJzEwMHZ3JywgaGVpZ2h0OiAnMTAwdmgnfX0sXG4gICAgICAgICAgICAgICAgJHtvcHRpb25zLm1vZGUgPT09IEVYUE9SVF9IVE1MX01BUF9NT0RFUy5SRUFEID8gJ0xvZ29TdmcoKSwnIDogJyd9XG4gICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChrZXBsZXJHbC5LZXBsZXJHbCwge1xuICAgICAgICAgICAgICAgICAgbWFwYm94QXBpQWNjZXNzVG9rZW46IG1hcGJveFRva2VuLFxuICAgICAgICAgICAgICAgICAgaWQ6IFwibWFwXCIsXG4gICAgICAgICAgICAgICAgICB3aWR0aDogd2luZG93RGltZW5zaW9uLndpZHRoLFxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB3aW5kb3dEaW1lbnNpb24uaGVpZ2h0XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0oUmVhY3QsIEtlcGxlckdsLCBNQVBCT1hfVE9LRU4pKTtcblxuICAgICAgICAgIGNvbnN0IGFwcCA9IChmdW5jdGlvbiBjcmVhdGVSZWFjdFJlZHV4UHJvdmlkZXIocmVhY3QsIHJlYWN0UmVkdXgsIEtlcGxlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICByZWFjdFJlZHV4LlByb3ZpZGVyLFxuICAgICAgICAgICAgICB7c3RvcmV9LFxuICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KEtlcGxlckVsZW1lbnQsIG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgICAgfShSZWFjdCwgUmVhY3RSZWR1eCwgS2VwbGVyRWxlbWVudCkpO1xuICAgICAgICAgIC8qKiBFTkQgQ09NUE9ORU5UUyAqKi9cblxuICAgICAgICAgIC8qKiBSZW5kZXIgKiovXG4gICAgICAgICAgKGZ1bmN0aW9uIHJlbmRlcihyZWFjdCwgcmVhY3RET00sIGFwcCkge1xuICAgICAgICAgICAgcmVhY3RET00ucmVuZGVyKGFwcCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FwcCcpKTtcbiAgICAgICAgICB9KFJlYWN0LCBSZWFjdERPTSwgYXBwKSk7XG4gICAgICAgIDwvc2NyaXB0PlxuICAgICAgICA8IS0tIFRoZSBuZXh0IHNjcmlwdCB3aWxsIHNob3cgaG93IHRvIGludGVyYWN0IGRpcmVjdGx5IHdpdGggS2VwbGVyIG1hcCBzdG9yZSAtLT5cbiAgICAgICAgPHNjcmlwdD5cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBDdXN0b21pemUgbWFwLlxuICAgICAgICAgICAqIEluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB5b3UgY2FuIHVzZSB0aGUgc3RvcmUgb2JqZWN0IHRvIGRpc3BhdGNoIEtlcGxlci5nbCBhY3Rpb25zXG4gICAgICAgICAgICogdG8gYWRkIG5ldyBkYXRhIGFuZCBjdXN0b21pemUgYmVoYXZpb3JcbiAgICAgICAgICAgKi9cbiAgICAgICAgICAoZnVuY3Rpb24gY3VzdG9taXplKGtlcGxlckdsLCBzdG9yZSkge1xuICAgICAgICAgICAgY29uc3QgZGF0YXNldHMgPSAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMuZGF0YXNldHMpfTtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucy5jb25maWcpfTtcblxuICAgICAgICAgICAgY29uc3QgbG9hZGVkRGF0YSA9IGtlcGxlckdsLktlcGxlckdsU2NoZW1hLmxvYWQoXG4gICAgICAgICAgICAgIGRhdGFzZXRzLFxuICAgICAgICAgICAgICBjb25maWdcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHN0b3JlLmRpc3BhdGNoKGtlcGxlckdsLmFkZERhdGFUb01hcCh7XG4gICAgICAgICAgICAgIGRhdGFzZXRzOiBsb2FkZWREYXRhLmRhdGFzZXRzLFxuICAgICAgICAgICAgICBjb25maWc6IGxvYWRlZERhdGEuY29uZmlnLFxuICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgY2VudGVyTWFwOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfShLZXBsZXJHbCwgc3RvcmUpKVxuICAgICAgICA8L3NjcmlwdD5cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gIGA7XG59O1xuIl19
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnQtbWFwLWh0bWwudHMiXSwibmFtZXMiOlsiZXhwb3J0TWFwVG9IVE1MIiwib3B0aW9ucyIsInZlcnNpb24iLCJLRVBMRVJfR0xfVkVSU0lPTiIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibW9kZSIsIkVYUE9SVF9IVE1MX01BUF9NT0RFUyIsIlJFQUQiLCJKU09OIiwic3RyaW5naWZ5IiwiZGF0YXNldHMiLCJjb25maWciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFxQkE7O0FBckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1BLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsT0FBRCxFQUEwQztBQUFBLE1BQWhDQyxPQUFnQyx1RUFBdEJDLDRCQUFzQjtBQUN2RSwyaEZBdUNpREQsT0F2Q2pELHFVQWtEZ0NELE9BQU8sQ0FBQ0csb0JBQVIsSUFBZ0Msc0JBbERoRSw0bEVBNkY0QkgsT0FBTyxDQUFDSSxJQUFSLEtBQWlCQyxpQ0FBc0JDLElBN0ZuRSxpcE5BZ0xnQk4sT0FBTyxDQUFDSSxJQUFSLEtBQWlCQyxpQ0FBc0JDLElBQXZDLEdBQThDLFlBQTlDLEdBQTZELEVBaEw3RSw0eENBaU42QkMsSUFBSSxDQUFDQyxTQUFMLENBQWVSLE9BQU8sQ0FBQ1MsUUFBdkIsQ0FqTjdCLDJDQWtOMkJGLElBQUksQ0FBQ0MsU0FBTCxDQUFlUixPQUFPLENBQUNVLE1BQXZCLENBbE4zQjtBQXFPRCxDQXRPTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQge0tFUExFUl9HTF9WRVJTSU9OLCBFWFBPUlRfSFRNTF9NQVBfTU9ERVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGNyZWF0ZSBhbiBodG1sIGZpbGUgd2hpY2ggd2lsbCBpbmxjdWRlIGtlcGxlciBhbmQgbWFwIGRhdGFcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIE9iamVjdCB0aGF0IGNvbGxlY3RzIGFsbCBuZWNlc3NhcnkgZGF0YSB0byAgY3JlYXRlIHRoZSBodG1sIGZpbGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm1hcGJveEFwaUFjY2Vzc1Rva2VuIE1hcGJveCB0b2tlbiB1c2VkIHRvIGZldGNoIG1hcGJveCB0aWxlc1xuICogQHBhcmFtIHtBcnJheTxPYmplY3Q+fSBvcHRpb25zLmRhdGFzZXRzIERhdGEgdG8gaW5jbHVkZSBpbiB0aGUgbWFwXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5jb25maWcgdGhpcyBvYmplY3Qgd2lsbCBjb250YWluIHRoZSBmdWxsIGtlcGxlci5nbCBpbnN0YW5jZSBjb25maWd1cmF0aW9uIHttYXBTdGF0ZSwgbWFwU3R5bGUsIHZpc1N0YXRlfVxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb24gd2hpY2ggdmVyc2lvbiBvZiBLZXBsZXIuZ2wgdG8gbG9hZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4cG9ydE1hcFRvSFRNTCA9IChvcHRpb25zLCB2ZXJzaW9uID0gS0VQTEVSX0dMX1ZFUlNJT04pID0+IHtcbiAgcmV0dXJuIGBcbiAgICA8IURPQ1RZUEUgaHRtbD5cbiAgICA8aHRtbD5cbiAgICAgIDxoZWFkPlxuICAgICAgICA8bWV0YSBjaGFyc2V0PVwiVVRGLThcIi8+XG4gICAgICAgIDx0aXRsZT5LZXBsZXIuZ2wgZW1iZWRkZWQgbWFwPC90aXRsZT5cblxuICAgICAgICA8IS0tVWJlciBGb250LS0+XG4gICAgICAgIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wvdWJlci1mb250cy80LjAuMC9zdXBlcmZpbmUuY3NzXCI+XG5cbiAgICAgICAgPCEtLU1hcEJveCBjc3MtLT5cbiAgICAgICAgPGxpbmsgaHJlZj1cImh0dHBzOi8vYXBpLnRpbGVzLm1hcGJveC5jb20vbWFwYm94LWdsLWpzL3YxLjEuMS9tYXBib3gtZ2wuY3NzXCIgcmVsPVwic3R5bGVzaGVldFwiPlxuXG4gICAgICAgIDwhLeKAlCBmYWNlYm9vayBvcGVuIGdyYXBoIHRhZ3MgLS0+XG4gICAgICAgIDxtZXRhIHByb3BlcnR5PVwib2c6dXJsXCIgY29udGVudD1cImh0dHA6Ly9rZXBsZXIuZ2wvXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzp0aXRsZVwiIGNvbnRlbnQ9XCJMYXJnZS1zY2FsZSBXZWJHTC1wb3dlcmVkIEdlb3NwYXRpYWwgRGF0YSBWaXN1YWxpemF0aW9uIFRvb2xcIiAvPlxuICAgICAgICA8bWV0YSBwcm9wZXJ0eT1cIm9nOmRlc2NyaXB0aW9uXCIgY29udGVudD1cIktlcGxlci5nbCBpcyBhIHBvd2VyZnVsIHdlYi1iYXNlZCBnZW9zcGF0aWFsIGRhdGEgYW5hbHlzaXMgdG9vbC4gQnVpbHQgb24gYSBoaWdoIHBlcmZvcm1hbmNlIHJlbmRlcmluZyBlbmdpbmUgYW5kIGRlc2lnbmVkIGZvciBsYXJnZS1zY2FsZSBkYXRhIHNldHMuXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzpzaXRlX25hbWVcIiBjb250ZW50PVwia2VwbGVyLmdsXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzppbWFnZVwiIGNvbnRlbnQ9XCJodHRwczovL2QxYTNmNHNwYXp6cnA0LmNsb3VkZnJvbnQubmV0L2tlcGxlci5nbC9rZXBsZXIuZ2wtbWV0YS10YWcucG5nXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzppbWFnZTp0eXBlXCIgY29udGVudD1cImltYWdlL3BuZ1wiIC8+XG4gICAgICAgIDxtZXRhIHByb3BlcnR5PVwib2c6aW1hZ2U6d2lkdGhcIiBjb250ZW50PVwiODAwXCIgLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzppbWFnZTpoZWlnaHRcIiBjb250ZW50PVwiODAwXCIgLz5cblxuICAgICAgICA8IS3igJQgdHdpdHRlciBjYXJkIHRhZ3MgLS0+XG4gICAgICAgIDxtZXRhIG5hbWU9XCJ0d2l0dGVyOmNhcmRcIiBjb250ZW50PVwic3VtbWFyeV9sYXJnZV9pbWFnZVwiPlxuICAgICAgICA8bWV0YSBuYW1lPVwidHdpdHRlcjpzaXRlXCIgY29udGVudD1cIkB1YmVyXCI+XG4gICAgICAgIDxtZXRhIG5hbWU9XCJ0d2l0dGVyOmNyZWF0b3JcIiBjb250ZW50PVwiQHViZXJcIj5cbiAgICAgICAgPG1ldGEgbmFtZT1cInR3aXR0ZXI6dGl0bGVcIiBjb250ZW50PVwiTGFyZ2Utc2NhbGUgV2ViR0wtcG93ZXJlZCBHZW9zcGF0aWFsIERhdGEgVmlzdWFsaXphdGlvbiBUb29sXCI+XG4gICAgICAgIDxtZXRhIG5hbWU9XCJ0d2l0dGVyOmRlc2NyaXB0aW9uXCIgY29udGVudD1cIktlcGxlci5nbCBpcyBhIHBvd2VyZnVsIHdlYi1iYXNlZCBnZW9zcGF0aWFsIGRhdGEgYW5hbHlzaXMgdG9vbC4gQnVpbHQgb24gYSBoaWdoIHBlcmZvcm1hbmNlIHJlbmRlcmluZyBlbmdpbmUgYW5kIGRlc2lnbmVkIGZvciBsYXJnZS1zY2FsZSBkYXRhIHNldHMuXCI+XG4gICAgICAgIDxtZXRhIG5hbWU9XCJ0d2l0dGVyOmltYWdlXCIgY29udGVudD1cImh0dHBzOi8vZDFhM2Y0c3BhenpycDQuY2xvdWRmcm9udC5uZXQva2VwbGVyLmdsL2tlcGxlci5nbC1tZXRhLXRhZy5wbmdcIiAvPlxuXG4gICAgICAgIDwhLS0gTG9hZCBSZWFjdC9SZWR1eCAtLT5cbiAgICAgICAgPHNjcmlwdCBzcmM9XCJodHRwczovL3VucGtnLmNvbS9yZWFjdEAxNi44LjQvdW1kL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzXCIgY3Jvc3NvcmlnaW4+PC9zY3JpcHQ+XG4gICAgICAgIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly91bnBrZy5jb20vcmVhY3QtZG9tQDE2LjguNC91bWQvcmVhY3QtZG9tLnByb2R1Y3Rpb24ubWluLmpzXCIgY3Jvc3NvcmlnaW4+PC9zY3JpcHQ+XG4gICAgICAgIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly91bnBrZy5jb20vcmVkdXhAMy43LjIvZGlzdC9yZWR1eC5qc1wiIGNyb3Nzb3JpZ2luPjwvc2NyaXB0PlxuICAgICAgICA8c2NyaXB0IHNyYz1cImh0dHBzOi8vdW5wa2cuY29tL3JlYWN0LXJlZHV4QDcuMS4zL2Rpc3QvcmVhY3QtcmVkdXgubWluLmpzXCIgY3Jvc3NvcmlnaW4+PC9zY3JpcHQ+XG4gICAgICAgIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly91bnBrZy5jb20vc3R5bGVkLWNvbXBvbmVudHNANC4xLjMvZGlzdC9zdHlsZWQtY29tcG9uZW50cy5taW4uanNcIiBjcm9zc29yaWdpbj48L3NjcmlwdD5cblxuICAgICAgICA8IS0tIExvYWQgS2VwbGVyLmdsIC0tPlxuICAgICAgICA8c2NyaXB0IHNyYz1cImh0dHBzOi8vdW5wa2cuY29tL2tlcGxlci5nbEAke3ZlcnNpb259L3VtZC9rZXBsZXJnbC5taW4uanNcIiBjcm9zc29yaWdpbj48L3NjcmlwdD5cblxuICAgICAgICA8c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+XG4gICAgICAgICAgYm9keSB7bWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBvdmVyZmxvdzogaGlkZGVuO31cbiAgICAgICAgPC9zdHlsZT5cblxuICAgICAgICA8IS0tTWFwQm94IHRva2VuLS0+XG4gICAgICAgIDxzY3JpcHQ+XG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogUHJvdmlkZSB5b3VyIE1hcEJveCBUb2tlblxuICAgICAgICAgICAqKi9cbiAgICAgICAgICBjb25zdCBNQVBCT1hfVE9LRU4gPSAnJHtvcHRpb25zLm1hcGJveEFwaUFjY2Vzc1Rva2VuIHx8ICdQUk9WSURFX01BUEJPWF9UT0tFTid9JztcbiAgICAgICAgICBjb25zdCBXQVJOSU5HX01FU1NBR0UgPSAnUGxlYXNlIFByb3ZpZGUgYSBNYXBib3ggVG9rZW4gaW4gb3JkZXIgdG8gdXNlIEtlcGxlci5nbC4gRWRpdCB0aGlzIGZpbGUgYW5kIGZpbGwgb3V0IE1BUEJPWF9UT0tFTiB3aXRoIHlvdXIgYWNjZXNzIGtleSc7XG4gICAgICAgIDwvc2NyaXB0PlxuXG4gICAgICAgIDwhLS0gR0E6IERlbGV0ZSB0aGlzIGFzIHlvdSB3aXNoLCBIb3dldmVyIHRvIHBhdCBvdXJzZWx2ZXMgb24gdGhlIGJhY2ssIHdlIG9ubHkgdHJhY2sgYW5vbnltb3VzIHBhZ2V2aWV3IHRvIHVuZGVyc3RhbmQgaG93IG1hbnkgcGVvcGxlIGFyZSB1c2luZyBrZXBsZXIuZ2wuIC0tPlxuICAgICAgICA8c2NyaXB0PlxuICAgICAgICAgIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXtcbiAgICAgICAgICAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJndW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSxcbiAgICAgICAgICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pXG4gICAgICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdodHRwczovL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpO1xuICAgICAgICAgIGdhKCdjcmVhdGUnLCAnVUEtNjQ2OTQ0MDQtMTknLCB7XG4gICAgICAgICAgICAnc3RvcmFnZSc6ICdub25lJyxcbiAgICAgICAgICAgICdjbGllbnRJZCc6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnYTpjbGllbnRJZCcpXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZ2EoZnVuY3Rpb24odHJhY2tlcikge1xuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2E6Y2xpZW50SWQnLCB0cmFja2VyLmdldCgnY2xpZW50SWQnKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZ2EoJ3NldCcsICdjaGVja1Byb3RvY29sVGFzaycsIG51bGwpOyAvLyBEaXNhYmxlIGZpbGUgcHJvdG9jb2wgY2hlY2tpbmcuXG4gICAgICAgICAgZ2EoJ3NldCcsICdjaGVja1N0b3JhZ2VUYXNrJywgbnVsbCk7IC8vIERpc2FibGUgY29va2llIHN0b3JhZ2UgY2hlY2tpbmcuXG4gICAgICAgICAgZ2EoJ3NldCcsICdoaXN0b3J5SW1wb3J0VGFzaycsIG51bGwpOyAvLyBEaXNhYmxlIGhpc3RvcnkgY2hlY2tpbmcgKHJlcXVpcmVzIHJlYWRpbmcgZnJvbSBjb29raWVzKS5cbiAgICAgICAgICBnYSgnc2V0JywgJ3BhZ2UnLCAna2VwbGVyZ2wtaHRtbCcpO1xuICAgICAgICAgIGdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7XG4gICAgICAgIDwvc2NyaXB0PlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDwhLS0gV2Ugd2lsbCBwdXQgb3VyIFJlYWN0IGNvbXBvbmVudCBpbnNpZGUgdGhpcyBkaXYuIC0tPlxuICAgICAgICA8ZGl2IGlkPVwiYXBwXCI+XG4gICAgICAgICAgPCEtLSBLZXBsZXIuZ2wgbWFwIHdpbGwgYmUgcGxhY2VkIGhlcmUtLT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBMb2FkIG91ciBSZWFjdCBjb21wb25lbnQuIC0tPlxuICAgICAgICA8c2NyaXB0PlxuICAgICAgICAgIC8qIFZhbGlkYXRlIE1hcGJveCBUb2tlbiAqL1xuICAgICAgICAgIGlmICgoTUFQQk9YX1RPS0VOIHx8ICcnKSA9PT0gJycgfHwgTUFQQk9YX1RPS0VOID09PSAnUFJPVklERV9NQVBCT1hfVE9LRU4nKSB7XG4gICAgICAgICAgICBhbGVydChXQVJOSU5HX01FU1NBR0UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qKiBTVE9SRSAqKi9cbiAgICAgICAgICBjb25zdCByZWR1Y2VycyA9IChmdW5jdGlvbiBjcmVhdGVSZWR1Y2VycyhyZWR1eCwga2VwbGVyR2wpIHtcbiAgICAgICAgICAgIHJldHVybiByZWR1eC5jb21iaW5lUmVkdWNlcnMoe1xuICAgICAgICAgICAgICAvLyBtb3VudCBrZXBsZXJHbCByZWR1Y2VyXG4gICAgICAgICAgICAgIGtlcGxlckdsOiBrZXBsZXJHbC5rZXBsZXJHbFJlZHVjZXIuaW5pdGlhbFN0YXRlKHtcbiAgICAgICAgICAgICAgICB1aVN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICByZWFkT25seTogJHtvcHRpb25zLm1vZGUgPT09IEVYUE9SVF9IVE1MX01BUF9NT0RFUy5SRUFEfSxcbiAgICAgICAgICAgICAgICAgIGN1cnJlbnRNb2RhbDogbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0oUmVkdXgsIEtlcGxlckdsKSk7XG5cbiAgICAgICAgICBjb25zdCBtaWRkbGVXYXJlcyA9IChmdW5jdGlvbiBjcmVhdGVNaWRkbGV3YXJlcyhrZXBsZXJHbCkge1xuICAgICAgICAgICAgcmV0dXJuIGtlcGxlckdsLmVuaGFuY2VSZWR1eE1pZGRsZXdhcmUoW1xuICAgICAgICAgICAgICAvLyBBZGQgb3RoZXIgbWlkZGxld2FyZXMgaGVyZVxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfShLZXBsZXJHbCkpO1xuXG4gICAgICAgICAgY29uc3QgZW5oYW5jZXJzID0gKGZ1bmN0aW9uIGNyYWV0ZUVuaGFuY2VycyhyZWR1eCwgbWlkZGxlcykge1xuICAgICAgICAgICAgcmV0dXJuIHJlZHV4LmFwcGx5TWlkZGxld2FyZSguLi5taWRkbGVzKTtcbiAgICAgICAgICB9KFJlZHV4LCBtaWRkbGVXYXJlcykpO1xuXG4gICAgICAgICAgY29uc3Qgc3RvcmUgPSAoZnVuY3Rpb24gY3JlYXRlU3RvcmUocmVkdXgsIGVuaGFuY2Vycykge1xuICAgICAgICAgICAgY29uc3QgaW5pdGlhbFN0YXRlID0ge307XG5cbiAgICAgICAgICAgIHJldHVybiByZWR1eC5jcmVhdGVTdG9yZShcbiAgICAgICAgICAgICAgcmVkdWNlcnMsXG4gICAgICAgICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgICAgICAgcmVkdXguY29tcG9zZShlbmhhbmNlcnMpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0oUmVkdXgsIGVuaGFuY2VycykpO1xuICAgICAgICAgIC8qKiBFTkQgU1RPUkUgKiovXG5cbiAgICAgICAgICAvKiogQ09NUE9ORU5UUyAqKi9cbiAgICAgICAgICB2YXIgS2VwbGVyRWxlbWVudCA9IChmdW5jdGlvbiBtYWtlS2VwbGVyRWxlbWVudChyZWFjdCwga2VwbGVyR2wsIG1hcGJveFRva2VuKSB7XG4gICAgICAgICAgICB2YXIgTG9nb1N2ZyA9IGZ1bmN0aW9uIExvZ29TdmcoKSB7XG4gICAgICAgICAgICAgIHJldHVybiByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgeyBjbGFzc05hbWU6IFwibG9nby1jb250YWluZXJcIiwgc3R5bGU6IHtwb3NpdGlvbjogJ2ZpeGVkJywgekluZGV4OiAxMDAwMCwgcGFkZGluZzogJzRweCd9IH0sXG4gICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICBcInN2Z1wiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImtlcGxlcl9nbF9fbG9nb1wiLFxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwN3B4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjIxcHhcIixcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiBcIjAgMCAxMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgIFwiZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgxMy41MDAwMDAsIDEzLjUwMDAwMCkgcm90YXRlKDQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMy41MDAwMDAsIC0xMy41MDAwMDApIHRyYW5zbGF0ZSg0LjAwMDAwMCwgNC4wMDAwMDApXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFwicmVjdFwiLCB7IHg6IFwiMFwiLCB5OiBcIjZcIiwgdHJhbnNmb3JtOiBcIm1hdHJpeCgyLjUzNTE4MWUtMDYgMSAtMSAyLjUzNTE4MWUtMDYgMTguMTEwNyA2LjAzNjkpXCIsIGZpbGw6IFwiIzUzNUM2Q1wiLCB3aWR0aDogXCIxMi4xXCIsIGhlaWdodDogXCIxMi4xXCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChcInJlY3RcIiwgeyB4OiBcIjZcIiwgeTogXCIwXCIsIHRyYW5zZm9ybTogXCJtYXRyaXgoMi41MzUxODJlLTA2IDEgLTEgMi41MzUxODJlLTA2IDE4LjExMDcgLTYuMDM2OSlcIiwgZmlsbDpcIiMxRkJBRDZcIiwgd2lkdGg6IFwiMTIuMVwiLCBoZWlnaHQ6IFwiMTIuMVwiIH0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgXCJnXCIsXG4gICAgICAgICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwgeyBmaWxsOlwiIzFGQkFENlwiLCBkOiBcIk0zOSw4LjdoMi4ybC0yLjgsNC4ybDIuOSw1LjFIMzlsLTIuNC00LjJoLTEuM1YxOGgtMlY1bDItMC4xdjcuM2gxLjNMMzksOC43elwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIHJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHsgZmlsbDpcIiMxRkJBRDZcIiwgZDogXCJNNDIuNCwxMy4zYzAtMS41LDAuNC0yLjcsMS4xLTMuNXMxLjgtMS4yLDMuMS0xLjJjMS4zLDAsMi4yLDAuNCwyLjgsMS4xYzAuNiwwLjcsMC45LDEuOCwwLjksMy4zIGMwLDAuNCwwLDAuOCwwLDEuMWgtNS44YzAsMS42LDAuOCwyLjQsMi40LDIuNGMxLDAsMi0wLjIsMi45LTAuNmwwLjIsMS43Yy0wLjQsMC4yLTAuOSwwLjQtMS40LDAuNXMtMS4xLDAuMi0xLjcsMC4yIGMtMS41LDAtMi42LTAuNC0zLjMtMS4yQzQyLjgsMTYuMSw0Mi40LDE0LjksNDIuNCwxMy4zeiBNNDYuNiwxMC4xYy0wLjcsMC0xLjIsMC4yLTEuNSwwLjVjLTAuNCwwLjQtMC42LDAuOS0wLjYsMS43aDQgYzAtMC44LTAuMi0xLjQtMC41LTEuN1M0Ny4yLDEwLjEsNDYuNiwxMC4xelwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIHJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHsgZmlsbDpcIiMxRkJBRDZcIiwgZDogXCJNNTcuMSwxOC4yYy0xLDAtMS44LTAuMy0yLjMtMC45bDAsMGwwLDEuM3YyLjVoLTJWOC43aDEuNWwwLjMsMC45aDBjMC4zLTAuMywwLjctMC42LDEuMi0wLjcgYzAuNC0wLjIsMC45LTAuMywxLjQtMC4zYzEuMiwwLDIuMSwwLjQsMi43LDEuMWMwLjYsMC43LDAuOSwyLDAuOSwzLjdjMCwxLjYtMC4zLDIuOC0xLDMuN0M1OS4yLDE3LjgsNTguMywxOC4yLDU3LjEsMTguMnogTTU2LjcsMTAuM2MtMC40LDAtMC44LDAuMS0xLjEsMC4yYy0wLjMsMC4yLTAuNiwwLjQtMC44LDAuN3Y0LjNjMC4yLDAuMywwLjQsMC41LDAuNywwLjdjMC4zLDAuMiwwLjcsMC4zLDEuMSwwLjMgYzAuNywwLDEuMi0wLjIsMS42LTAuN2MwLjQtMC41LDAuNS0xLjMsMC41LTIuNWMwLTAuOC0wLjEtMS40LTAuMi0xLjhzLTAuNC0wLjctMC43LTAuOUM1Ny42LDEwLjQsNTcuMiwxMC4zLDU2LjcsMTAuM3pcIiB9KSxcbiAgICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7IGZpbGw6XCIjMUZCQUQ2XCIsIGQ6IFwiTTYzLjIsMTZWNWwyLTAuMXYxMC44YzAsMC4zLDAuMSwwLjUsMC4yLDAuNmMwLjEsMC4xLDAuMywwLjIsMC42LDAuMmMwLjMsMCwwLjYsMCwwLjktMC4xVjE4IGMtMC40LDAuMS0xLDAuMi0xLjYsMC4yYy0wLjgsMC0xLjMtMC4yLTEuNy0wLjVTNjMuMiwxNi44LDYzLjIsMTZ6XCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwgeyBmaWxsOlwiIzFGQkFENlwiLCBkOiBcIk02OC4yLDEzLjNjMC0xLjUsMC40LTIuNywxLjEtMy41YzAuNy0wLjgsMS44LTEuMiwzLjEtMS4yYzEuMywwLDIuMiwwLjQsMi44LDEuMWMwLjYsMC43LDAuOSwxLjgsMC45LDMuMyBjMCwwLjQsMCwwLjgsMCwxLjFoLTUuOGMwLDEuNiwwLjgsMi40LDIuNCwyLjRjMSwwLDItMC4yLDIuOS0wLjZsMC4yLDEuN2MtMC40LDAuMi0wLjksMC40LTEuNCwwLjVzLTEuMSwwLjItMS43LDAuMiBjLTEuNSwwLTIuNi0wLjQtMy4zLTEuMkM2OC42LDE2LjEsNjguMiwxNC45LDY4LjIsMTMuM3ogTTcyLjQsMTAuMWMtMC43LDAtMS4yLDAuMi0xLjUsMC41Yy0wLjQsMC40LTAuNiwwLjktMC42LDEuN2g0IGMwLTAuOC0wLjItMS40LTAuNS0xLjdTNzMsMTAuMSw3Mi40LDEwLjF6XCIgfSksXG4gICAgICAgICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwgeyBmaWxsOlwiIzFGQkFENlwiLCBkOiBcIk04MC4yLDguN2wwLjEsMS43aDBjMC4zLTAuNiwwLjctMS4xLDEuMS0xLjRjMC40LTAuMywxLTAuNSwxLjYtMC41YzAuNCwwLDAuNywwLDEsMC4xbC0wLjEsMiBjLTAuMy0wLjEtMC43LTAuMi0xLTAuMmMtMC43LDAtMS4zLDAuMy0xLjcsMC44Yy0wLjQsMC41LTAuNywxLjItMC43LDIuMVYxOGgtMlY4LjdIODAuMnpcIiB9KSxcbiAgICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7IGZpbGw6XCIjMUZCQUQ2XCIsIGQ6IFwiTTgzLjgsMTdjMC0wLjgsMC40LTEuMiwxLjItMS4yYzAuOCwwLDEuMiwwLjQsMS4yLDEuMmMwLDAuOC0wLjQsMS4xLTEuMiwxLjFDODQuMiwxOC4yLDgzLjgsMTcuOCw4My44LDE3elwiIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIHJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHsgZmlsbDpcIiMxRkJBRDZcIiwgZDogXCJNODguNSwxOC43YzAtMC44LDAuNC0xLjQsMS4yLTEuOGMtMC42LTAuMy0wLjktMC44LTAuOS0xLjVjMC0wLjcsMC40LTEuMiwxLjEtMS42Yy0wLjMtMC4zLTAuNi0wLjYtMC43LTAuOSBjLTAuMi0wLjQtMC4yLTAuOC0wLjItMS4zYzAtMSwwLjMtMS44LDAuOS0yLjNjMC42LTAuNSwxLjYtMC44LDIuOC0wLjhjMC41LDAsMSwwLDEuNCwwLjFjMC40LDAuMSwwLjgsMC4yLDEuMSwwLjRsMi40LTAuMnYxLjUgaC0xLjVjMC4yLDAuNCwwLjIsMC44LDAuMiwxLjNjMCwxLTAuMywxLjctMC45LDIuMnMtMS41LDAuOC0yLjcsMC44Yy0wLjcsMC0xLjItMC4xLTEuNi0wLjJjLTAuMSwwLjEtMC4yLDAuMi0wLjMsMC4zIGMtMC4xLDAuMS0wLjEsMC4yLTAuMSwwLjRjMCwwLjIsMC4xLDAuMywwLjIsMC40YzAuMSwwLjEsMC4zLDAuMiwwLjYsMC4ybDIuNywwLjJjMSwwLjEsMS43LDAuMywyLjIsMC42YzAuNSwwLjMsMC44LDAuOSwwLjgsMS43IGMwLDAuNi0wLjIsMS4xLTAuNSwxLjVjLTAuNCwwLjQtMC45LDAuOC0xLjUsMWMtMC43LDAuMi0xLjUsMC40LTIuNCwwLjRjLTEuMywwLTIuMy0wLjItMy0wLjZDODguOCwyMC4xLDg4LjUsMTkuNSw4OC41LDE4Ljd6IE05NS4xLDE4LjRjMC0wLjMtMC4xLTAuNS0wLjMtMC43cy0wLjYtMC4yLTEuMS0wLjNsLTIuNy0wLjNjLTAuMiwwLjEtMC40LDAuMy0wLjUsMC41Yy0wLjEsMC4yLTAuMiwwLjQtMC4yLDAuNiBjMCwwLjQsMC4yLDAuOCwwLjUsMWMwLjQsMC4yLDEsMC4zLDEuOCwwLjNDOTQuMiwxOS41LDk1LjEsMTkuMiw5NS4xLDE4LjR6IE05NC4zLDExLjVjMC0wLjYtMC4xLTEtMC40LTEuMiBjLTAuMy0wLjItMC43LTAuMy0xLjMtMC4zYy0wLjcsMC0xLjEsMC4xLTEuNCwwLjNjLTAuMywwLjItMC40LDAuNi0wLjQsMS4yczAuMSwxLDAuNCwxLjJjMC4zLDAuMiwwLjcsMC4zLDEuNCwwLjMgYzAuNiwwLDEuMS0wLjEsMS4zLTAuNFM5NC4zLDEyLDk0LjMsMTEuNXpcIiB9KSxcbiAgICAgICAgICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7IGZpbGw6XCIjMUZCQUQ2XCIsIGQ6IFwiTTk5LjQsMTZWNWwyLTAuMXYxMC44YzAsMC4zLDAuMSwwLjUsMC4yLDAuNmMwLjEsMC4xLDAuMywwLjIsMC42LDAuMmMwLjMsMCwwLjYsMCwwLjktMC4xVjE4IGMtMC40LDAuMS0xLDAuMi0xLjYsMC4yYy0wLjgsMC0xLjMtMC4yLTEuNy0wLjVTOTkuNCwxNi44LDk5LjQsMTZ6XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiBBcHAoKSB7XG4gICAgICAgICAgICAgIHZhciByb290RWxtID0gcmVhY3QudXNlUmVmKG51bGwpO1xuICAgICAgICAgICAgICB2YXIgX3VzZVN0YXRlID0gcmVhY3QudXNlU3RhdGUoe1xuICAgICAgICAgICAgICAgIHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdmFyIHdpbmRvd0RpbWVuc2lvbiA9IF91c2VTdGF0ZVswXTtcbiAgICAgICAgICAgICAgdmFyIHNldERpbWVuc2lvbiA9IF91c2VTdGF0ZVsxXTtcbiAgICAgICAgICAgICAgcmVhY3QudXNlRWZmZWN0KGZ1bmN0aW9uIHNpZGVFZmZlY3QoKXtcbiAgICAgICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVSZXNpemUoKSB7XG4gICAgICAgICAgICAgICAgICBzZXREaW1lbnNpb24oe3dpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCwgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHR9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBoYW5kbGVSZXNpemUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaGFuZGxlUmVzaXplKTt9O1xuICAgICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICAgIHJldHVybiByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICdkaXYnLFxuICAgICAgICAgICAgICAgIHtzdHlsZToge3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCBsZWZ0OiAwLCB3aWR0aDogJzEwMHZ3JywgaGVpZ2h0OiAnMTAwdmgnfX0sXG4gICAgICAgICAgICAgICAgJHtvcHRpb25zLm1vZGUgPT09IEVYUE9SVF9IVE1MX01BUF9NT0RFUy5SRUFEID8gJ0xvZ29TdmcoKSwnIDogJyd9XG4gICAgICAgICAgICAgICAgcmVhY3QuY3JlYXRlRWxlbWVudChrZXBsZXJHbC5LZXBsZXJHbCwge1xuICAgICAgICAgICAgICAgICAgbWFwYm94QXBpQWNjZXNzVG9rZW46IG1hcGJveFRva2VuLFxuICAgICAgICAgICAgICAgICAgaWQ6IFwibWFwXCIsXG4gICAgICAgICAgICAgICAgICB3aWR0aDogd2luZG93RGltZW5zaW9uLndpZHRoLFxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB3aW5kb3dEaW1lbnNpb24uaGVpZ2h0XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0oUmVhY3QsIEtlcGxlckdsLCBNQVBCT1hfVE9LRU4pKTtcblxuICAgICAgICAgIGNvbnN0IGFwcCA9IChmdW5jdGlvbiBjcmVhdGVSZWFjdFJlZHV4UHJvdmlkZXIocmVhY3QsIHJlYWN0UmVkdXgsIEtlcGxlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiByZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICByZWFjdFJlZHV4LlByb3ZpZGVyLFxuICAgICAgICAgICAgICB7c3RvcmV9LFxuICAgICAgICAgICAgICByZWFjdC5jcmVhdGVFbGVtZW50KEtlcGxlckVsZW1lbnQsIG51bGwpXG4gICAgICAgICAgICApXG4gICAgICAgICAgfShSZWFjdCwgUmVhY3RSZWR1eCwgS2VwbGVyRWxlbWVudCkpO1xuICAgICAgICAgIC8qKiBFTkQgQ09NUE9ORU5UUyAqKi9cblxuICAgICAgICAgIC8qKiBSZW5kZXIgKiovXG4gICAgICAgICAgKGZ1bmN0aW9uIHJlbmRlcihyZWFjdCwgcmVhY3RET00sIGFwcCkge1xuICAgICAgICAgICAgcmVhY3RET00ucmVuZGVyKGFwcCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FwcCcpKTtcbiAgICAgICAgICB9KFJlYWN0LCBSZWFjdERPTSwgYXBwKSk7XG4gICAgICAgIDwvc2NyaXB0PlxuICAgICAgICA8IS0tIFRoZSBuZXh0IHNjcmlwdCB3aWxsIHNob3cgaG93IHRvIGludGVyYWN0IGRpcmVjdGx5IHdpdGggS2VwbGVyIG1hcCBzdG9yZSAtLT5cbiAgICAgICAgPHNjcmlwdD5cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBDdXN0b21pemUgbWFwLlxuICAgICAgICAgICAqIEluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB5b3UgY2FuIHVzZSB0aGUgc3RvcmUgb2JqZWN0IHRvIGRpc3BhdGNoIEtlcGxlci5nbCBhY3Rpb25zXG4gICAgICAgICAgICogdG8gYWRkIG5ldyBkYXRhIGFuZCBjdXN0b21pemUgYmVoYXZpb3JcbiAgICAgICAgICAgKi9cbiAgICAgICAgICAoZnVuY3Rpb24gY3VzdG9taXplKGtlcGxlckdsLCBzdG9yZSkge1xuICAgICAgICAgICAgY29uc3QgZGF0YXNldHMgPSAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMuZGF0YXNldHMpfTtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucy5jb25maWcpfTtcblxuICAgICAgICAgICAgY29uc3QgbG9hZGVkRGF0YSA9IGtlcGxlckdsLktlcGxlckdsU2NoZW1hLmxvYWQoXG4gICAgICAgICAgICAgIGRhdGFzZXRzLFxuICAgICAgICAgICAgICBjb25maWdcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHN0b3JlLmRpc3BhdGNoKGtlcGxlckdsLmFkZERhdGFUb01hcCh7XG4gICAgICAgICAgICAgIGRhdGFzZXRzOiBsb2FkZWREYXRhLmRhdGFzZXRzLFxuICAgICAgICAgICAgICBjb25maWc6IGxvYWRlZERhdGEuY29uZmlnLFxuICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgY2VudGVyTWFwOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfShLZXBsZXJHbCwgc3RvcmUpKVxuICAgICAgICA8L3NjcmlwdD5cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gIGA7XG59O1xuIl19
|
package/dist/export-utils.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
// Copyright (c)
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
2
2
|
//
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
@@ -171,9 +171,17 @@ function downloadFile(fileBlob, fileName) {
|
|
171
171
|
link.setAttribute('href', url);
|
172
172
|
link.setAttribute('download', fileName);
|
173
173
|
|
174
|
-
_window.document.body.appendChild(link);
|
174
|
+
_window.document.body.appendChild(link); // in some cases where maps are embedded, e.g. need to
|
175
|
+
// create and dispatch an event so that the browser downloads
|
176
|
+
// the file instead of navigating to the url
|
175
177
|
|
176
|
-
|
178
|
+
|
179
|
+
var evt = new MouseEvent('click', {
|
180
|
+
view: window,
|
181
|
+
bubbles: false,
|
182
|
+
cancelable: true
|
183
|
+
});
|
184
|
+
link.dispatchEvent(evt);
|
177
185
|
|
178
186
|
_window.document.body.removeChild(link);
|
179
187
|
|
@@ -229,6 +237,7 @@ function getMapJSON(state) {
|
|
229
237
|
function exportJson(state) {
|
230
238
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
231
239
|
var map = getMapJSON(state, options);
|
240
|
+
map.info.source = 'kepler.gl';
|
232
241
|
var fileBlob = new _window.Blob([exportToJsonString(map)], {
|
233
242
|
type: 'application/json'
|
234
243
|
});
|
@@ -270,4 +279,4 @@ var exporters = {
|
|
270
279
|
};
|
271
280
|
var _default = exporters;
|
272
281
|
exports["default"] = _default;
|
273
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnQtdXRpbHMudHMiXSwibmFtZXMiOlsiREVGQVVMVF9JTUFHRV9OQU1FIiwiREVGQVVMVF9IVE1MX05BTUUiLCJERUZBVUxUX0pTT05fTkFNRSIsIkRFRkFVTFRfREFUQV9OQU1FIiwiREVGQVVMVF9FWFBPUlRfSlNPTl9TRVRUSU5HUyIsImhhc0RhdGEiLCJkZWZhdWx0UmVzb2x1dGlvbiIsIk9uZVhSZXNvbHV0aW9uT3B0aW9uIiwiZGVmYXVsdFJhdGlvIiwiRm91ckJ5VGhyZWVSYXRpb09wdGlvbiIsImlzTVNFZGdlIiwid2luZG93IiwiQm9vbGVhbiIsIm5hdmlnYXRvciIsIm1zU2F2ZU9yT3BlbkJsb2IiLCJnZXRTY2FsZUZyb21JbWFnZVNpemUiLCJpbWFnZVciLCJpbWFnZUgiLCJtYXBXIiwibWFwSCIsInNvbWUiLCJkIiwiYmFzZSIsIm1hcEJhc2UiLCJjYWxjdWxhdGVFeHBvcnRJbWFnZVNpemUiLCJyYXRpbyIsInJlc29sdXRpb24iLCJyYXRpb0l0ZW0iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJmaW5kIiwib3AiLCJpZCIsInJlc29sdXRpb25JdGVtIiwiRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMiLCJnZXRTaXplIiwic2NhbGVkV2lkdGgiLCJ3aWR0aCIsInNjYWxlZEhlaWdodCIsImhlaWdodCIsIkVYUE9SVF9JTUdfUkFUSU9TIiwiQ1VTVE9NIiwic2NhbGUiLCJ1bmRlZmluZWQiLCJjb252ZXJ0VG9QbmciLCJzb3VyY2VFbGVtIiwib3B0aW9ucyIsImRvbXRvaW1hZ2UiLCJ0b1BuZyIsImRhdGFVUkl0b0Jsb2IiLCJkYXRhVVJJIiwiYmluYXJ5Iiwic3BsaXQiLCJtaW1lU3RyaW5nIiwiYWIiLCJBcnJheUJ1ZmZlciIsImxlbmd0aCIsImlhIiwiVWludDhBcnJheSIsImkiLCJjaGFyQ29kZUF0IiwiQmxvYiIsInR5cGUiLCJkb3dubG9hZEZpbGUiLCJmaWxlQmxvYiIsImZpbGVOYW1lIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwibGluayIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImNsaWNrIiwicmVtb3ZlQ2hpbGQiLCJyZXZva2VPYmplY3RVUkwiLCJleHBvcnRJbWFnZSIsInVpU3RhdGVFeHBvcnRJbWFnZSIsImZpbGVuYW1lIiwiaW1hZ2VEYXRhVXJpIiwiZmlsZSIsImV4cG9ydFRvSnNvblN0cmluZyIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiZSIsIlR5cGVFcnJvciIsIm1lc3NhZ2UiLCJkZXNjcmlwdGlvbiIsImdldE1hcEpTT04iLCJzdGF0ZSIsInNjaGVtYSIsInZpc1N0YXRlIiwiZ2V0Q29uZmlnVG9TYXZlIiwibWFwVG9TYXZlIiwic2F2ZSIsInRpdGxlIiwiZXhwb3J0SnNvbiIsIm1hcCIsImFwcE5hbWUiLCJleHBvcnRIdG1sIiwidXNlck1hcGJveFRva2VuIiwiZXhwb3J0TWFwYm94QWNjZXNzVG9rZW4iLCJtb2RlIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJleHBvcnRNYXAiLCJ1aVN0YXRlIiwidGh1bWJuYWlsIiwiZXhwb3J0ZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUFTQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ08sSUFBTUEsa0JBQWtCLEdBQUcsZUFBM0I7O0FBQ0EsSUFBTUMsaUJBQWlCLEdBQUcsZ0JBQTFCOztBQUNBLElBQU1DLGlCQUFpQixHQUFHLGdCQUExQjs7QUFDQSxJQUFNQyxpQkFBaUIsR0FBRyxXQUExQjtBQUVQO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsNEJBQTRCLEdBQUc7QUFDMUNDLEVBQUFBLE9BQU8sRUFBRTtBQURpQyxDQUFyQzs7QUFJUCxJQUFNQyxpQkFBaUIsR0FBR0MsK0JBQTFCO0FBRUEsSUFBTUMsWUFBWSxHQUFHQyxpQ0FBckI7O0FBRU8sU0FBU0Ms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Q0FETDtBQUVSYyxJQUFBQSxvQkFBb0IsRUFDbEIsQ0FBQ0gsZUFBZSxJQUFJLEVBQXBCLE1BQTRCLEVBQTVCLEdBQWlDQSxlQUFqQyxHQUFtREMsdUJBSDdDO0FBSVJDLElBQUFBLElBQUksRUFBSkE7QUFKUSxJQUFWOztBQU9BLE1BQU16QyxRQUFRLEdBQUcsSUFBSUgsWUFBSixDQUFTLENBQUMsb0NBQWdCdUIsSUFBaEIsQ0FBRCxDQUFULEVBQWtDO0FBQUN0QixJQUFBQSxJQUFJLEVBQUU7QUFBUCxHQUFsQyxDQUFqQjtBQUNBQyxFQUFBQSxZQUFZLENBQUNDLFFBQUQsRUFBVzRCLEtBQUssQ0FBQ1MsT0FBTixhQUFtQlQsS0FBSyxDQUFDUyxPQUF6QixhQUEwQ25HLGlCQUFyRCxDQUFaO0FBQ0Q7O0FBRU0sU0FBU3lHLFNBQVQsQ0FBbUJmLEtBQW5CLEVBQWtFO0FBQUEsTUFBeEM5QyxPQUF3Qyx1RUFBOUJ6Qyw0QkFBOEI7QUFBQSxNQUNoRTRFLFlBRGdFLEdBQ2hEVyxLQUFLLENBQUNnQixPQUFOLENBQWM5QixXQURrQyxDQUNoRUcsWUFEZ0U7QUFFdkUsTUFBTTRCLFNBQXNCLEdBQUc1QixZQUFZLEdBQUdoQyxhQUFhLENBQUNnQyxZQUFELENBQWhCLEdBQWlDLElBQTVFO0FBQ0EsTUFBTWUsU0FBUyxHQUFHTCxVQUFVLENBQUNDLEtBQUQsRUFBUTlDLE9BQVIsQ0FBNUI7QUFFQSxTQUFPO0FBQ0xzRCxJQUFBQSxHQUFHLEVBQUVKLFNBREE7QUFFTGEsSUFBQUEsU0FBUyxFQUFUQTtBQUZLLEdBQVA7QUFJRDs7QUFFRCxJQUFNQyxTQUFTLEdBQUc7QUFDaEJoQyxFQUFBQSxXQUFXLEVBQVhBLFdBRGdCO0FBRWhCcUIsRUFBQUEsVUFBVSxFQUFWQSxVQUZnQjtBQUdoQkcsRUFBQUEsVUFBVSxFQUFWQTtBQUhnQixDQUFsQjtlQU1lUSxTIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtCbG9iLCBVUkwsIGF0b2IsIFVpbnQ4QXJyYXksIEFycmF5QnVmZmVyLCBkb2N1bWVudH0gZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuXG5pbXBvcnQge1xuICBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyxcbiAgRVhQT1JUX0lNR19SQVRJT19PUFRJT05TLFxuICBSRVNPTFVUSU9OUyxcbiAgRVhQT1JUX0lNR19SQVRJT1MsXG4gIEZvdXJCeVRocmVlUmF0aW9PcHRpb24sXG4gIE9uZVhSZXNvbHV0aW9uT3B0aW9uLFxuICBFeHBvcnRJbWFnZVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgZG9tdG9pbWFnZSBmcm9tICcuL2RvbS10by1pbWFnZSc7XG5pbXBvcnQge2dlbmVyYXRlSGFzaElkLCBzZXR9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtleHBvcnRNYXBUb0hUTUx9IGZyb20gJy4vZXhwb3J0LW1hcC1odG1sJztcblxuLyoqXG4gKiBEZWZhdWx0IGZpbGUgbmFtZXNcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU1BR0VfTkFNRSA9ICdrZXBsZXIuZ2wucG5nJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0hUTUxfTkFNRSA9ICdrZXBsZXIuZ2wuaHRtbCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9KU09OX05BTUUgPSAna2VwbGVyLmdsLmpzb24nO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfREFUQV9OQU1FID0gJ2tlcGxlci5nbCc7XG5cbi8qKlxuICogRGVmYXVsdCBqc29uIGV4cG9ydCBzZXR0aW5nc1xuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFBPUlRfSlNPTl9TRVRUSU5HUyA9IHtcbiAgaGFzRGF0YTogdHJ1ZVxufTtcblxuY29uc3QgZGVmYXVsdFJlc29sdXRpb24gPSBPbmVYUmVzb2x1dGlvbk9wdGlvbjtcblxuY29uc3QgZGVmYXVsdFJhdGlvID0gRm91ckJ5VGhyZWVSYXRpb09wdGlvbjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTVNFZGdlKHdpbmRvdzogV2luZG93KTogYm9vbGVhbiB7XG4gIC8vIEB0cy1pZ25vcmUgbXNTYXZlT3JPcGVuQmxvYiB3YXMgYSBwcm9wcmlldGFyeSBhZGRpdGlvbiB0byB0aGUgTmF2aWdhdG9yIG9iamVjdCwgYWRkZWQgYnkgTWljcm9zb2Z0IGZvciBJbnRlcm5ldCBFeHBsb3Jlci5cbiAgcmV0dXJuIEJvb2xlYW4od2luZG93Lm5hdmlnYXRvciAmJiB3aW5kb3cubmF2aWdhdG9yLm1zU2F2ZU9yT3BlbkJsb2IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NhbGVGcm9tSW1hZ2VTaXplKGltYWdlVyA9IDAsIGltYWdlSCA9IDAsIG1hcFcgPSAwLCBtYXBIID0gMCkge1xuICBpZiAoW2ltYWdlVywgaW1hZ2VILCBtYXBXLCBtYXBIXS5zb21lKGQgPT4gZCA8PSAwKSkge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgY29uc3QgYmFzZSA9IGltYWdlVyAvIGltYWdlSCA+IDEgPyBpbWFnZVcgOiBpbWFnZUg7XG4gIGNvbnN0IG1hcEJhc2UgPSBpbWFnZVcgLyBpbWFnZUggPiAxID8gbWFwVyA6IG1hcEg7XG4gIHJldHVybiBiYXNlIC8gbWFwQmFzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUV4cG9ydEltYWdlU2l6ZSh7XG4gIG1hcFcsXG4gIG1hcEgsXG4gIHJhdGlvLFxuICByZXNvbHV0aW9uXG59OiB7XG4gIG1hcFc6IG51bWJlcjtcbiAgbWFwSDogbnVtYmVyO1xuICByYXRpbzoga2V5b2YgdHlwZW9mIEVYUE9SVF9JTUdfUkFUSU9TO1xuICByZXNvbHV0aW9uOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG59KSB7XG4gIGlmIChtYXBXIDw9IDAgfHwgbWFwSCA8PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCByYXRpb0l0ZW0gPSBFWFBPUlRfSU1HX1JBVElPX09QVElPTlMuZmluZChvcCA9PiBvcC5pZCA9PT0gcmF0aW8pIHx8IGRlZmF1bHRSYXRpbztcblxuICBjb25zdCByZXNvbHV0aW9uSXRlbSA9XG4gICAgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMuZmluZChvcCA9PiBvcC5pZCA9PT0gcmVzb2x1dGlvbikgfHwgZGVmYXVsdFJlc29sdXRpb247XG5cbiAgY29uc3Qge3dpZHRoOiBzY2FsZWRXaWR0aCwgaGVpZ2h0OiBzY2FsZWRIZWlnaHR9ID0gcmVzb2x1dGlvbkl0ZW0uZ2V0U2l6ZShtYXBXLCBtYXBIKTtcblxuICBjb25zdCB7d2lkdGg6IGltYWdlVywgaGVpZ2h0OiBpbWFnZUh9ID0gcmF0aW9JdGVtLmdldFNpemUoc2NhbGVkV2lkdGgsIHNjYWxlZEhlaWdodCk7XG5cbiAgY29uc3Qge3NjYWxlfSA9IHJhdGlvSXRlbS5pZCA9PT0gRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NID8ge3NjYWxlOiB1bmRlZmluZWR9IDogcmVzb2x1dGlvbkl0ZW07XG5cbiAgcmV0dXJuIHtcbiAgICBzY2FsZSxcbiAgICBpbWFnZVcsXG4gICAgaW1hZ2VIXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9Qbmcoc291cmNlRWxlbTogSFRNTEVsZW1lbnQsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGRvbXRvaW1hZ2UudG9Qbmcoc291cmNlRWxlbSwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhVVJJdG9CbG9iKGRhdGFVUkk6IHN0cmluZyk6IEJsb2Ige1xuICBjb25zdCBiaW5hcnkgPSBhdG9iKGRhdGFVUkkuc3BsaXQoJywnKVsxXSk7XG5cbiAgLy8gc2VwYXJhdGUgb3V0IHRoZSBtaW1lIGNvbXBvbmVudFxuICBjb25zdCBtaW1lU3RyaW5nID0gZGF0YVVSSVxuICAgIC5zcGxpdCgnLCcpWzBdXG4gICAgLnNwbGl0KCc6JylbMV1cbiAgICAuc3BsaXQoJzsnKVswXTtcblxuICAvLyB3cml0ZSB0aGUgYnl0ZXMgb2YgdGhlIHN0cmluZyB0byBhbiBBcnJheUJ1ZmZlclxuICBjb25zdCBhYiA9IG5ldyBBcnJheUJ1ZmZlcihiaW5hcnkubGVuZ3RoKTtcblxuICAvLyBjcmVhdGUgYSB2aWV3IGludG8gdGhlIGJ1ZmZlclxuICBjb25zdCBpYSA9IG5ldyBVaW50OEFycmF5KGFiKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGg7IGkrKykge1xuICAgIGlhW2ldID0gYmluYXJ5LmNoYXJDb2RlQXQoaSk7XG4gIH1cblxuICByZXR1cm4gbmV3IEJsb2IoW2FiXSwge3R5cGU6IG1pbWVTdHJpbmd9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkRmlsZShmaWxlQmxvYjogQmxvYiwgZmlsZU5hbWU6IHN0cmluZykge1xuICBpZiAoaXNNU0VkZ2Uod2luZG93KSkge1xuICAgICh3aW5kb3cubmF2aWdhdG9yIGFzIGFueSkubXNTYXZlT3JPcGVuQmxvYihmaWxlQmxvYiwgZmlsZU5hbWUpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZUJsb2IpO1xuXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZU5hbWUpO1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXaGV0aGVyIGNvbG9yIGlzIHJnYlxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydEltYWdlKHVpU3RhdGVFeHBvcnRJbWFnZTogRXhwb3J0SW1hZ2UsIGZpbGVuYW1lID0gREVGQVVMVF9JTUFHRV9OQU1FKSB7XG4gIGNvbnN0IHtpbWFnZURhdGFVcml9ID0gdWlTdGF0ZUV4cG9ydEltYWdlO1xuICBpZiAoaW1hZ2VEYXRhVXJpKSB7XG4gICAgY29uc3QgZmlsZSA9IGRhdGFVUkl0b0Jsb2IoaW1hZ2VEYXRhVXJpKTtcbiAgICBkb3dubG9hZEZpbGUoZmlsZSwgZmlsZW5hbWUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRUb0pzb25TdHJpbmcoZGF0YSkge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSByZXR1cm4gZS5tZXNzYWdlO1xuICAgIC8vIE5vbi1TdGFuZGFyZCBFcnJvciBPYmplY3QgUHJvcGVydHlcbiAgICByZXR1cm4gKGUgYXMgYW55KS5kZXNjcmlwdGlvbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFwSlNPTihzdGF0ZSwgb3B0aW9ucyA9IERFRkFVTFRfRVhQT1JUX0pTT05fU0VUVElOR1MpIHtcbiAgY29uc3Qge2hhc0RhdGF9ID0gb3B0aW9ucztcbiAgY29uc3Qgc2NoZW1hID0gc3RhdGUudmlzU3RhdGUuc2NoZW1hO1xuXG4gIGlmICghaGFzRGF0YSkge1xuICAgIHJldHVybiBzY2hlbWEuZ2V0Q29uZmlnVG9TYXZlKHN0YXRlKTtcbiAgfVxuXG4gIGxldCBtYXBUb1NhdmUgPSBzY2hlbWEuc2F2ZShzdGF0ZSk7XG4gIC8vIGFkZCBmaWxlIG5hbWUgaWYgdGl0bGUgaXMgbm90IHByb3ZpZGVkXG4gIGNvbnN0IHRpdGxlID0gZ2V0KG1hcFRvU2F2ZSwgWydpbmZvJywgJ3RpdGxlJ10pO1xuICBpZiAoIXRpdGxlIHx8ICF0aXRsZS5sZW5ndGgpIHtcbiAgICBtYXBUb1NhdmUgPSBzZXQoWydpbmZvJywgJ3RpdGxlJ10sIGBrZXBsZXJnbF8ke2dlbmVyYXRlSGFzaElkKDYpfWAsIG1hcFRvU2F2ZSk7XG4gIH1cbiAgcmV0dXJuIG1hcFRvU2F2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydEpzb24oc3RhdGUsIG9wdGlvbnM6IGFueSA9IHt9KSB7XG4gIGNvbnN0IG1hcCA9IGdldE1hcEpTT04oc3RhdGUsIG9wdGlvbnMpO1xuXG4gIGNvbnN0IGZpbGVCbG9iID0gbmV3IEJsb2IoW2V4cG9ydFRvSnNvblN0cmluZyhtYXApXSwge3R5cGU6ICdhcHBsaWNhdGlvbi9qc29uJ30pO1xuICBjb25zdCBmaWxlTmFtZSA9IHN0YXRlLmFwcE5hbWUgPyBgJHtzdGF0ZS5hcHBOYW1lfS5qc29uYCA6IERFRkFVTFRfSlNPTl9OQU1FO1xuICBkb3dubG9hZEZpbGUoZmlsZUJsb2IsIGZpbGVOYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydEh0bWwoc3RhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3Qge3VzZXJNYXBib3hUb2tlbiwgZXhwb3J0TWFwYm94QWNjZXNzVG9rZW4sIG1vZGV9ID0gb3B0aW9ucztcblxuICBjb25zdCBkYXRhID0ge1xuICAgIC4uLmdldE1hcEpTT04oc3RhdGUpLFxuICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuOlxuICAgICAgKHVzZXJNYXBib3hUb2tlbiB8fCAnJykgIT09ICcnID8gdXNlck1hcGJveFRva2VuIDogZXhwb3J0TWFwYm94QWNjZXNzVG9rZW4sXG4gICAgbW9kZVxuICB9O1xuXG4gIGNvbnN0IGZpbGVCbG9iID0gbmV3IEJsb2IoW2V4cG9ydE1hcFRvSFRNTChkYXRhKV0sIHt0eXBlOiAndGV4dC9odG1sJ30pO1xuICBkb3dubG9hZEZpbGUoZmlsZUJsb2IsIHN0YXRlLmFwcE5hbWUgPyBgJHtzdGF0ZS5hcHBOYW1lfS5odG1sYCA6IERFRkFVTFRfSFRNTF9OQU1FKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydE1hcChzdGF0ZSwgb3B0aW9ucyA9IERFRkFVTFRfRVhQT1JUX0pTT05fU0VUVElOR1MpIHtcbiAgY29uc3Qge2ltYWdlRGF0YVVyaX0gPSBzdGF0ZS51aVN0YXRlLmV4cG9ydEltYWdlO1xuICBjb25zdCB0aHVtYm5haWw6IEJsb2IgfCBudWxsID0gaW1hZ2VEYXRhVXJpID8gZGF0YVVSSXRvQmxvYihpbWFnZURhdGFVcmkpIDogbnVsbDtcbiAgY29uc3QgbWFwVG9TYXZlID0gZ2V0TWFwSlNPTihzdGF0ZSwgb3B0aW9ucyk7XG5cbiAgcmV0dXJuIHtcbiAgICBtYXA6IG1hcFRvU2F2ZSxcbiAgICB0aHVtYm5haWxcbiAgfTtcbn1cblxuY29uc3QgZXhwb3J0ZXJzID0ge1xuICBleHBvcnRJbWFnZSxcbiAgZXhwb3J0SnNvbixcbiAgZXhwb3J0SHRtbFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZXhwb3J0ZXJzO1xuIl19
|
282
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBvcnQtdXRpbHMudHMiXSwibmFtZXMiOlsiREVGQVVMVF9JTUFHRV9OQU1FIiwiREVGQVVMVF9IVE1MX05BTUUiLCJERUZBVUxUX0pTT05fTkFNRSIsIkRFRkFVTFRfREFUQV9OQU1FIiwiREVGQVVMVF9FWFBPUlRfSlNPTl9TRVRUSU5HUyIsImhhc0RhdGEiLCJkZWZhdWx0UmVzb2x1dGlvbiIsIk9uZVhSZXNvbHV0aW9uT3B0aW9uIiwiZGVmYXVsdFJhdGlvIiwiRm91ckJ5VGhyZWVSYXRpb09wdGlvbiIsImlzTVNFZGdlIiwid2luZG93IiwiQm9vbGVhbiIsIm5hdmlnYXRvciIsIm1zU2F2ZU9yT3BlbkJsb2IiLCJnZXRTY2FsZUZyb21JbWFnZVNpemUiLCJpbWFnZVciLCJpbWFnZUgiLCJtYXBXIiwibWFwSCIsInNvbWUiLCJkIiwiYmFzZSIsIm1hcEJhc2UiLCJjYWxjdWxhdGVFeHBvcnRJbWFnZVNpemUiLCJyYXRpbyIsInJlc29sdXRpb24iLCJyYXRpb0l0ZW0iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJmaW5kIiwib3AiLCJpZCIsInJlc29sdXRpb25JdGVtIiwiRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMiLCJnZXRTaXplIiwic2NhbGVkV2lkdGgiLCJ3aWR0aCIsInNjYWxlZEhlaWdodCIsImhlaWdodCIsIkVYUE9SVF9JTUdfUkFUSU9TIiwiQ1VTVE9NIiwic2NhbGUiLCJ1bmRlZmluZWQiLCJjb252ZXJ0VG9QbmciLCJzb3VyY2VFbGVtIiwib3B0aW9ucyIsImRvbXRvaW1hZ2UiLCJ0b1BuZyIsImRhdGFVUkl0b0Jsb2IiLCJkYXRhVVJJIiwiYmluYXJ5Iiwic3BsaXQiLCJtaW1lU3RyaW5nIiwiYWIiLCJBcnJheUJ1ZmZlciIsImxlbmd0aCIsImlhIiwiVWludDhBcnJheSIsImkiLCJjaGFyQ29kZUF0IiwiQmxvYiIsInR5cGUiLCJkb3dubG9hZEZpbGUiLCJmaWxlQmxvYiIsImZpbGVOYW1lIiwidXJsIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwibGluayIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImV2dCIsIk1vdXNlRXZlbnQiLCJ2aWV3IiwiYnViYmxlcyIsImNhbmNlbGFibGUiLCJkaXNwYXRjaEV2ZW50IiwicmVtb3ZlQ2hpbGQiLCJyZXZva2VPYmplY3RVUkwiLCJleHBvcnRJbWFnZSIsInVpU3RhdGVFeHBvcnRJbWFnZSIsImZpbGVuYW1lIiwiaW1hZ2VEYXRhVXJpIiwiZmlsZSIsImV4cG9ydFRvSnNvblN0cmluZyIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiZSIsIlR5cGVFcnJvciIsIm1lc3NhZ2UiLCJkZXNjcmlwdGlvbiIsImdldE1hcEpTT04iLCJzdGF0ZSIsInNjaGVtYSIsInZpc1N0YXRlIiwiZ2V0Q29uZmlnVG9TYXZlIiwibWFwVG9TYXZlIiwic2F2ZSIsInRpdGxlIiwiZXhwb3J0SnNvbiIsIm1hcCIsImluZm8iLCJzb3VyY2UiLCJhcHBOYW1lIiwiZXhwb3J0SHRtbCIsInVzZXJNYXBib3hUb2tlbiIsImV4cG9ydE1hcGJveEFjY2Vzc1Rva2VuIiwibW9kZSIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiZXhwb3J0TWFwIiwidWlTdGF0ZSIsInRodW1ibmFpbCIsImV4cG9ydGVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBU0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNPLElBQU1BLGtCQUFrQixHQUFHLGVBQTNCOztBQUNBLElBQU1DLGlCQUFpQixHQUFHLGdCQUExQjs7QUFDQSxJQUFNQyxpQkFBaUIsR0FBRyxnQkFBMUI7O0FBQ0EsSUFBTUMsaUJBQWlCLEdBQUcsV0FBMUI7QUFFUDtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLDRCQUE0QixHQUFHO0FBQzFDQyxFQUFBQSxPQUFPLEVBQUU7QUFEaUMsQ0FBckM7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QUQsRUFBUW5ELE9BQVIsQ0FBNUI7QUFFQSxTQUFPO0FBQ0wyRCxJQUFBQSxHQUFHLEVBQUVKLFNBREE7QUFFTGUsSUFBQUEsU0FBUyxFQUFUQTtBQUZLLEdBQVA7QUFJRDs7QUFFRCxJQUFNQyxTQUFTLEdBQUc7QUFDaEJsQyxFQUFBQSxXQUFXLEVBQVhBLFdBRGdCO0FBRWhCcUIsRUFBQUEsVUFBVSxFQUFWQSxVQUZnQjtBQUdoQkssRUFBQUEsVUFBVSxFQUFWQTtBQUhnQixDQUFsQjtlQU1lUSxTIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtCbG9iLCBVUkwsIGF0b2IsIFVpbnQ4QXJyYXksIEFycmF5QnVmZmVyLCBkb2N1bWVudH0gZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuXG5pbXBvcnQge1xuICBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyxcbiAgRVhQT1JUX0lNR19SQVRJT19PUFRJT05TLFxuICBSRVNPTFVUSU9OUyxcbiAgRVhQT1JUX0lNR19SQVRJT1MsXG4gIEZvdXJCeVRocmVlUmF0aW9PcHRpb24sXG4gIE9uZVhSZXNvbHV0aW9uT3B0aW9uLFxuICBFeHBvcnRJbWFnZVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgZG9tdG9pbWFnZSBmcm9tICcuL2RvbS10by1pbWFnZSc7XG5pbXBvcnQge2dlbmVyYXRlSGFzaElkLCBzZXR9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtleHBvcnRNYXBUb0hUTUx9IGZyb20gJy4vZXhwb3J0LW1hcC1odG1sJztcblxuLyoqXG4gKiBEZWZhdWx0IGZpbGUgbmFtZXNcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU1BR0VfTkFNRSA9ICdrZXBsZXIuZ2wucG5nJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0hUTUxfTkFNRSA9ICdrZXBsZXIuZ2wuaHRtbCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9KU09OX05BTUUgPSAna2VwbGVyLmdsLmpzb24nO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfREFUQV9OQU1FID0gJ2tlcGxlci5nbCc7XG5cbi8qKlxuICogRGVmYXVsdCBqc29uIGV4cG9ydCBzZXR0aW5nc1xuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFBPUlRfSlNPTl9TRVRUSU5HUyA9IHtcbiAgaGFzRGF0YTogdHJ1ZVxufTtcblxuY29uc3QgZGVmYXVsdFJlc29sdXRpb24gPSBPbmVYUmVzb2x1dGlvbk9wdGlvbjtcblxuY29uc3QgZGVmYXVsdFJhdGlvID0gRm91ckJ5VGhyZWVSYXRpb09wdGlvbjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTVNFZGdlKHdpbmRvdzogV2luZG93KTogYm9vbGVhbiB7XG4gIC8vIEB0cy1pZ25vcmUgbXNTYXZlT3JPcGVuQmxvYiB3YXMgYSBwcm9wcmlldGFyeSBhZGRpdGlvbiB0byB0aGUgTmF2aWdhdG9yIG9iamVjdCwgYWRkZWQgYnkgTWljcm9zb2Z0IGZvciBJbnRlcm5ldCBFeHBsb3Jlci5cbiAgcmV0dXJuIEJvb2xlYW4od2luZG93Lm5hdmlnYXRvciAmJiB3aW5kb3cubmF2aWdhdG9yLm1zU2F2ZU9yT3BlbkJsb2IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NhbGVGcm9tSW1hZ2VTaXplKGltYWdlVyA9IDAsIGltYWdlSCA9IDAsIG1hcFcgPSAwLCBtYXBIID0gMCkge1xuICBpZiAoW2ltYWdlVywgaW1hZ2VILCBtYXBXLCBtYXBIXS5zb21lKGQgPT4gZCA8PSAwKSkge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgY29uc3QgYmFzZSA9IGltYWdlVyAvIGltYWdlSCA+IDEgPyBpbWFnZVcgOiBpbWFnZUg7XG4gIGNvbnN0IG1hcEJhc2UgPSBpbWFnZVcgLyBpbWFnZUggPiAxID8gbWFwVyA6IG1hcEg7XG4gIHJldHVybiBiYXNlIC8gbWFwQmFzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUV4cG9ydEltYWdlU2l6ZSh7XG4gIG1hcFcsXG4gIG1hcEgsXG4gIHJhdGlvLFxuICByZXNvbHV0aW9uXG59OiB7XG4gIG1hcFc6IG51bWJlcjtcbiAgbWFwSDogbnVtYmVyO1xuICByYXRpbzoga2V5b2YgdHlwZW9mIEVYUE9SVF9JTUdfUkFUSU9TO1xuICByZXNvbHV0aW9uOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG59KSB7XG4gIGlmIChtYXBXIDw9IDAgfHwgbWFwSCA8PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCByYXRpb0l0ZW0gPSBFWFBPUlRfSU1HX1JBVElPX09QVElPTlMuZmluZChvcCA9PiBvcC5pZCA9PT0gcmF0aW8pIHx8IGRlZmF1bHRSYXRpbztcblxuICBjb25zdCByZXNvbHV0aW9uSXRlbSA9XG4gICAgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMuZmluZChvcCA9PiBvcC5pZCA9PT0gcmVzb2x1dGlvbikgfHwgZGVmYXVsdFJlc29sdXRpb247XG5cbiAgY29uc3Qge3dpZHRoOiBzY2FsZWRXaWR0aCwgaGVpZ2h0OiBzY2FsZWRIZWlnaHR9ID0gcmVzb2x1dGlvbkl0ZW0uZ2V0U2l6ZShtYXBXLCBtYXBIKTtcblxuICBjb25zdCB7d2lkdGg6IGltYWdlVywgaGVpZ2h0OiBpbWFnZUh9ID0gcmF0aW9JdGVtLmdldFNpemUoc2NhbGVkV2lkdGgsIHNjYWxlZEhlaWdodCk7XG5cbiAgY29uc3Qge3NjYWxlfSA9IHJhdGlvSXRlbS5pZCA9PT0gRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NID8ge3NjYWxlOiB1bmRlZmluZWR9IDogcmVzb2x1dGlvbkl0ZW07XG5cbiAgcmV0dXJuIHtcbiAgICBzY2FsZSxcbiAgICBpbWFnZVcsXG4gICAgaW1hZ2VIXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9Qbmcoc291cmNlRWxlbTogSFRNTEVsZW1lbnQsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGRvbXRvaW1hZ2UudG9Qbmcoc291cmNlRWxlbSwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhVVJJdG9CbG9iKGRhdGFVUkk6IHN0cmluZyk6IEJsb2Ige1xuICBjb25zdCBiaW5hcnkgPSBhdG9iKGRhdGFVUkkuc3BsaXQoJywnKVsxXSk7XG5cbiAgLy8gc2VwYXJhdGUgb3V0IHRoZSBtaW1lIGNvbXBvbmVudFxuICBjb25zdCBtaW1lU3RyaW5nID0gZGF0YVVSSVxuICAgIC5zcGxpdCgnLCcpWzBdXG4gICAgLnNwbGl0KCc6JylbMV1cbiAgICAuc3BsaXQoJzsnKVswXTtcblxuICAvLyB3cml0ZSB0aGUgYnl0ZXMgb2YgdGhlIHN0cmluZyB0byBhbiBBcnJheUJ1ZmZlclxuICBjb25zdCBhYiA9IG5ldyBBcnJheUJ1ZmZlcihiaW5hcnkubGVuZ3RoKTtcblxuICAvLyBjcmVhdGUgYSB2aWV3IGludG8gdGhlIGJ1ZmZlclxuICBjb25zdCBpYSA9IG5ldyBVaW50OEFycmF5KGFiKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGg7IGkrKykge1xuICAgIGlhW2ldID0gYmluYXJ5LmNoYXJDb2RlQXQoaSk7XG4gIH1cblxuICByZXR1cm4gbmV3IEJsb2IoW2FiXSwge3R5cGU6IG1pbWVTdHJpbmd9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkRmlsZShmaWxlQmxvYjogQmxvYiwgZmlsZU5hbWU6IHN0cmluZykge1xuICBpZiAoaXNNU0VkZ2Uod2luZG93KSkge1xuICAgICh3aW5kb3cubmF2aWdhdG9yIGFzIGFueSkubXNTYXZlT3JPcGVuQmxvYihmaWxlQmxvYiwgZmlsZU5hbWUpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZUJsb2IpO1xuXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZU5hbWUpO1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICAvLyBpbiBzb21lIGNhc2VzIHdoZXJlIG1hcHMgYXJlIGVtYmVkZGVkLCBlLmcuIG5lZWQgdG9cbiAgICAvLyBjcmVhdGUgYW5kIGRpc3BhdGNoIGFuIGV2ZW50IHNvIHRoYXQgdGhlIGJyb3dzZXIgZG93bmxvYWRzXG4gICAgLy8gdGhlIGZpbGUgaW5zdGVhZCBvZiBuYXZpZ2F0aW5nIHRvIHRoZSB1cmxcbiAgICBjb25zdCBldnQgPSBuZXcgTW91c2VFdmVudCgnY2xpY2snLCB7XG4gICAgICB2aWV3OiB3aW5kb3csXG4gICAgICBidWJibGVzOiBmYWxzZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICB9KTtcbiAgICBsaW5rLmRpc3BhdGNoRXZlbnQoZXZ0KTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgfVxufVxuXG4vKipcbiAqIFdoZXRoZXIgY29sb3IgaXMgcmdiXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0SW1hZ2UodWlTdGF0ZUV4cG9ydEltYWdlOiBFeHBvcnRJbWFnZSwgZmlsZW5hbWUgPSBERUZBVUxUX0lNQUdFX05BTUUpIHtcbiAgY29uc3Qge2ltYWdlRGF0YVVyaX0gPSB1aVN0YXRlRXhwb3J0SW1hZ2U7XG4gIGlmIChpbWFnZURhdGFVcmkpIHtcbiAgICBjb25zdCBmaWxlID0gZGF0YVVSSXRvQmxvYihpbWFnZURhdGFVcmkpO1xuICAgIGRvd25sb2FkRmlsZShmaWxlLCBmaWxlbmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydFRvSnNvblN0cmluZyhkYXRhKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHJldHVybiBlLm1lc3NhZ2U7XG4gICAgLy8gTm9uLVN0YW5kYXJkIEVycm9yIE9iamVjdCBQcm9wZXJ0eVxuICAgIHJldHVybiAoZSBhcyBhbnkpLmRlc2NyaXB0aW9uO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXBKU09OKHN0YXRlLCBvcHRpb25zID0gREVGQVVMVF9FWFBPUlRfSlNPTl9TRVRUSU5HUykge1xuICBjb25zdCB7aGFzRGF0YX0gPSBvcHRpb25zO1xuICBjb25zdCBzY2hlbWEgPSBzdGF0ZS52aXNTdGF0ZS5zY2hlbWE7XG5cbiAgaWYgKCFoYXNEYXRhKSB7XG4gICAgcmV0dXJuIHNjaGVtYS5nZXRDb25maWdUb1NhdmUoc3RhdGUpO1xuICB9XG5cbiAgbGV0IG1hcFRvU2F2ZSA9IHNjaGVtYS5zYXZlKHN0YXRlKTtcbiAgLy8gYWRkIGZpbGUgbmFtZSBpZiB0aXRsZSBpcyBub3QgcHJvdmlkZWRcbiAgY29uc3QgdGl0bGUgPSBnZXQobWFwVG9TYXZlLCBbJ2luZm8nLCAndGl0bGUnXSk7XG4gIGlmICghdGl0bGUgfHwgIXRpdGxlLmxlbmd0aCkge1xuICAgIG1hcFRvU2F2ZSA9IHNldChbJ2luZm8nLCAndGl0bGUnXSwgYGtlcGxlcmdsXyR7Z2VuZXJhdGVIYXNoSWQoNil9YCwgbWFwVG9TYXZlKTtcbiAgfVxuICByZXR1cm4gbWFwVG9TYXZlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0SnNvbihzdGF0ZSwgb3B0aW9uczogYW55ID0ge30pIHtcbiAgY29uc3QgbWFwID0gZ2V0TWFwSlNPTihzdGF0ZSwgb3B0aW9ucyk7XG4gIG1hcC5pbmZvLnNvdXJjZSA9ICdrZXBsZXIuZ2wnO1xuICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtleHBvcnRUb0pzb25TdHJpbmcobWFwKV0sIHt0eXBlOiAnYXBwbGljYXRpb24vanNvbid9KTtcbiAgY29uc3QgZmlsZU5hbWUgPSBzdGF0ZS5hcHBOYW1lID8gYCR7c3RhdGUuYXBwTmFtZX0uanNvbmAgOiBERUZBVUxUX0pTT05fTkFNRTtcbiAgZG93bmxvYWRGaWxlKGZpbGVCbG9iLCBmaWxlTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRIdG1sKHN0YXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IHt1c2VyTWFwYm94VG9rZW4sIGV4cG9ydE1hcGJveEFjY2Vzc1Rva2VuLCBtb2RlfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAuLi5nZXRNYXBKU09OKHN0YXRlKSxcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbjpcbiAgICAgICh1c2VyTWFwYm94VG9rZW4gfHwgJycpICE9PSAnJyA/IHVzZXJNYXBib3hUb2tlbiA6IGV4cG9ydE1hcGJveEFjY2Vzc1Rva2VuLFxuICAgIG1vZGVcbiAgfTtcblxuICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtleHBvcnRNYXBUb0hUTUwoZGF0YSldLCB7dHlwZTogJ3RleHQvaHRtbCd9KTtcbiAgZG93bmxvYWRGaWxlKGZpbGVCbG9iLCBzdGF0ZS5hcHBOYW1lID8gYCR7c3RhdGUuYXBwTmFtZX0uaHRtbGAgOiBERUZBVUxUX0hUTUxfTkFNRSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRNYXAoc3RhdGUsIG9wdGlvbnMgPSBERUZBVUxUX0VYUE9SVF9KU09OX1NFVFRJTkdTKSB7XG4gIGNvbnN0IHtpbWFnZURhdGFVcml9ID0gc3RhdGUudWlTdGF0ZS5leHBvcnRJbWFnZTtcbiAgY29uc3QgdGh1bWJuYWlsOiBCbG9iIHwgbnVsbCA9IGltYWdlRGF0YVVyaSA/IGRhdGFVUkl0b0Jsb2IoaW1hZ2VEYXRhVXJpKSA6IG51bGw7XG4gIGNvbnN0IG1hcFRvU2F2ZSA9IGdldE1hcEpTT04oc3RhdGUsIG9wdGlvbnMpO1xuXG4gIHJldHVybiB7XG4gICAgbWFwOiBtYXBUb1NhdmUsXG4gICAgdGh1bWJuYWlsXG4gIH07XG59XG5cbmNvbnN0IGV4cG9ydGVycyA9IHtcbiAgZXhwb3J0SW1hZ2UsXG4gIGV4cG9ydEpzb24sXG4gIGV4cG9ydEh0bWxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGV4cG9ydGVycztcbiJdfQ==
|
package/dist/filter-utils.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { VisState } from '@kepler.gl/schemas';
|
1
2
|
import { Millisecond, Field, ParsedFilter, Filter, FilterBase, PolygonFilter, FieldDomain, TimeRangeFieldDomain, HistogramBin, Feature, FeatureValue, LineChart, TimeRangeFilter, RangeFieldDomain, FilterDatasetOpt, FilterRecord } from '@kepler.gl/types';
|
2
3
|
import { DataContainerInterface } from './data-container-interface';
|
3
4
|
export declare const durationSecond = 1000;
|
@@ -43,8 +44,9 @@ export declare const DEFAULT_FILTER_STRUCTURE: {
|
|
43
44
|
dataId: never[];
|
44
45
|
freeze: boolean;
|
45
46
|
id: null;
|
47
|
+
enabled: boolean;
|
46
48
|
fixedDomain: boolean;
|
47
|
-
|
49
|
+
view: "side";
|
48
50
|
isAnimating: boolean;
|
49
51
|
animationWindow: "free";
|
50
52
|
speed: number;
|
@@ -63,7 +65,10 @@ export declare const LAYER_FILTERS: "polygon"[];
|
|
63
65
|
/**
|
64
66
|
* Generates a filter with a dataset id as dataId
|
65
67
|
*/
|
66
|
-
export declare function getDefaultFilter(dataId
|
68
|
+
export declare function getDefaultFilter({ dataId, id }?: {
|
69
|
+
dataId?: string | null | string[];
|
70
|
+
id?: string;
|
71
|
+
}): FilterBase<LineChart>;
|
67
72
|
/**
|
68
73
|
* Check if a filter is valid based on the given dataId
|
69
74
|
* @param filter to validate
|
@@ -148,7 +153,7 @@ export declare function getFilterFunction<L extends {
|
|
148
153
|
};
|
149
154
|
id: string;
|
150
155
|
}>(field: Field | null, dataId: string, filter: Filter, layers: L[], dataContainer: DataContainerInterface): filterFunction;
|
151
|
-
export declare function updateFilterDataId(dataId: string): FilterBase<LineChart>;
|
156
|
+
export declare function updateFilterDataId(dataId: string | string[]): FilterBase<LineChart>;
|
152
157
|
export declare function filterDataByFilterTypes({ dynamicDomainFilters, cpuFilters, filterFuncs }: {
|
153
158
|
dynamicDomainFilters: Filter[] | null;
|
154
159
|
cpuFilters: Filter[] | null;
|
@@ -295,12 +300,8 @@ export declare function filterDatasetCPU<T extends StateType<K, L>, K extends Ke
|
|
295
300
|
/**
|
296
301
|
* Validate parsed filters with datasets and add filterProps to field
|
297
302
|
*/
|
298
|
-
|
299
|
-
|
300
|
-
[id: string]: K;
|
301
|
-
};
|
302
|
-
layers: L[];
|
303
|
-
}, K extends KeplerTableModel<K, L>, L extends {
|
303
|
+
declare type MinVisStateForFilter = Pick<VisState, 'layers' | 'datasets' | 'isMergingDatasets'>;
|
304
|
+
export declare function validateFiltersUpdateDatasets<S extends MinVisStateForFilter, K extends KeplerTableModel<K, L>, L extends {
|
304
305
|
config: {
|
305
306
|
dataId: string | null;
|
306
307
|
label: string;
|
@@ -321,4 +322,5 @@ export declare function getFilterPlot<K extends KeplerTableModel<K, L>, L>(filte
|
|
321
322
|
export declare function getIntervalBins(filter: TimeRangeFilter): any;
|
322
323
|
export declare function isValidTimeDomain(domain: any): boolean;
|
323
324
|
export declare function getTimeWidgetHintFormatter(domain: [number, number]): string | undefined;
|
325
|
+
export declare function isSideFilter(filter: Filter): boolean;
|
324
326
|
export {};
|