@kepler.gl/components 3.1.8 → 3.1.10
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/common/image-preview.d.ts +3 -3
- package/dist/common/image-preview.js +17 -13
- package/dist/common/link-renderer.d.ts +6 -2
- package/dist/common/link-renderer.js +1 -1
- package/dist/common/loading-spinner.js +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +44 -1
- package/dist/kepler-gl.d.ts +28 -10
- package/dist/kepler-gl.js +19 -8
- package/dist/map/layer-hover-info.js +38 -15
- package/dist/map-container.d.ts +1 -0
- package/dist/map-container.js +7 -2
- package/dist/modal-container.d.ts +1 -1
- package/dist/modals/export-data-modal.js +2 -2
- package/dist/modals/export-image-modal.d.ts +1 -1
- package/dist/modals/export-image-modal.js +1 -1
- package/dist/modals/save-map-modal.d.ts +1 -2
- package/dist/modals/save-map-modal.js +1 -1
- package/dist/modals/tilesets-modals/common.d.ts +2 -1
- package/dist/modals/tilesets-modals/common.js +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.d.ts +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.js +11 -5
- package/dist/modals/tilesets-modals/load-tileset.js +21 -3
- package/dist/modals/tilesets-modals/tileset-raster-form.js +20 -14
- package/dist/modals/tilesets-modals/tileset-wms-form.d.ts +7 -0
- package/dist/modals/tilesets-modals/tileset-wms-form.js +163 -0
- package/dist/plot-container.d.ts +10 -7
- package/dist/plot-container.js +171 -170
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/layer-manager.d.ts +1 -0
- package/dist/side-panel/layer-manager.js +25 -10
- package/dist/side-panel/layer-panel/color-scale-selector.js +16 -9
- package/dist/side-panel/layer-panel/custom-palette.d.ts +1 -6
- package/dist/side-panel/layer-panel/custom-palette.js +132 -88
- package/dist/side-panel/layer-panel/dataset-layer-section.js +21 -8
- package/dist/side-panel/layer-panel/layer-configurator.js +56 -14
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +10 -10
- package/package.json +17 -16
package/dist/plot-container.js
CHANGED
|
@@ -7,15 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = PlotContainerFactory;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
-
var _reselect = require("reselect");
|
|
19
14
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
20
15
|
var _reactMapGl = require("react-map-gl");
|
|
21
16
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
@@ -32,8 +27,6 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
32
27
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
33
28
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
34
29
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
35
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
36
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
37
30
|
var CLASS_FILTER = ['maplibregl-control-container', 'mapboxgl-control-container', 'attrition-link', 'attrition-logo', 'map-control__panel-split-viewport-tools'];
|
|
38
31
|
var DOM_FILTER_FUNC = function DOM_FILTER_FUNC(node) {
|
|
39
32
|
return !CLASS_FILTER.includes(node.className);
|
|
@@ -50,188 +43,196 @@ var StyledMapContainer = _styledComponents["default"].div(_templateObject2 || (_
|
|
|
50
43
|
return props.height;
|
|
51
44
|
});
|
|
52
45
|
function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return
|
|
73
|
-
|
|
74
|
-
topMapStyle: (0, _utils.scaleMapStyleByResolution)(mapStyle.topMapStyle, scale)
|
|
46
|
+
function PlotContainer(_ref) {
|
|
47
|
+
var ratio = _ref.ratio,
|
|
48
|
+
resolution = _ref.resolution,
|
|
49
|
+
_ref$legend = _ref.legend,
|
|
50
|
+
legend = _ref$legend === void 0 ? false : _ref$legend,
|
|
51
|
+
center = _ref.center,
|
|
52
|
+
imageSize = _ref.imageSize,
|
|
53
|
+
escapeXhtmlForWebpack = _ref.escapeXhtmlForWebpack,
|
|
54
|
+
mapFields = _ref.mapFields,
|
|
55
|
+
_ref$splitMaps = _ref.splitMaps,
|
|
56
|
+
splitMaps = _ref$splitMaps === void 0 ? [] : _ref$splitMaps,
|
|
57
|
+
setExportImageSetting = _ref.setExportImageSetting,
|
|
58
|
+
setExportImageDataUri = _ref.setExportImageDataUri,
|
|
59
|
+
setExportImageError = _ref.setExportImageError,
|
|
60
|
+
addNotification = _ref.addNotification,
|
|
61
|
+
enableErrorNotification = _ref.enableErrorNotification,
|
|
62
|
+
logoComponent = _ref.logoComponent;
|
|
63
|
+
var plottingAreaRef = (0, _react.useRef)(null);
|
|
64
|
+
var _useState = (0, _react.useState)(function () {
|
|
65
|
+
return mapFields.visState.effects.map(function (effect) {
|
|
66
|
+
return effect.clone();
|
|
75
67
|
});
|
|
76
|
-
})
|
|
77
|
-
(0,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
68
|
+
}),
|
|
69
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
70
|
+
plotEffects = _useState2[0];
|
|
71
|
+
var mapState = mapFields.mapState;
|
|
72
|
+
|
|
73
|
+
// Memoize the scale calculation
|
|
74
|
+
var scale = (0, _react.useMemo)(function () {
|
|
75
|
+
if (imageSize.scale) {
|
|
76
|
+
return imageSize.scale;
|
|
77
|
+
}
|
|
78
|
+
var calculatedScale = (0, _utils.getScaleFromImageSize)(imageSize.imageW, imageSize.imageH, mapState.width * (mapState.isSplit ? 2 : 1), mapState.height);
|
|
79
|
+
return calculatedScale > 0 ? calculatedScale : 1;
|
|
80
|
+
}, [imageSize.scale, imageSize.imageW, imageSize.imageH, mapState.width, mapState.height, mapState.isSplit]);
|
|
81
|
+
|
|
82
|
+
// Memoize the map style
|
|
83
|
+
var scaledMapStyle = (0, _react.useMemo)(function () {
|
|
84
|
+
var mapStyle = mapFields.mapStyle;
|
|
85
|
+
return _objectSpread(_objectSpread({}, mapStyle), {}, {
|
|
86
|
+
bottomMapStyle: (0, _utils.scaleMapStyleByResolution)(mapStyle.bottomMapStyle, scale),
|
|
87
|
+
topMapStyle: (0, _utils.scaleMapStyleByResolution)(mapStyle.topMapStyle, scale)
|
|
81
88
|
});
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
89
|
+
}, [mapFields.mapStyle, scale]);
|
|
90
|
+
|
|
91
|
+
// Memoize the retrieveNewScreenshot callback
|
|
92
|
+
var debouncedScreenshot = (0, _react.useMemo)(function () {
|
|
93
|
+
return (0, _debounce["default"])(function () {
|
|
94
|
+
if (plottingAreaRef.current) {
|
|
95
|
+
(0, _utils.convertToPng)(plottingAreaRef.current, {
|
|
88
96
|
filter: DOM_FILTER_FUNC,
|
|
89
97
|
width: imageSize.imageW,
|
|
90
98
|
height: imageSize.imageH,
|
|
91
99
|
escapeXhtmlForWebpack: escapeXhtmlForWebpack
|
|
92
|
-
}).then(
|
|
93
|
-
|
|
94
|
-
if (
|
|
95
|
-
|
|
100
|
+
}).then(setExportImageDataUri)["catch"](function (err) {
|
|
101
|
+
setExportImageError(err);
|
|
102
|
+
if (enableErrorNotification) {
|
|
103
|
+
addNotification((0, _utils.exportImageError)({
|
|
96
104
|
err: err
|
|
97
105
|
}));
|
|
98
106
|
}
|
|
99
107
|
});
|
|
100
108
|
}
|
|
109
|
+
}, 500);
|
|
110
|
+
}, [imageSize.imageW, imageSize.imageH, escapeXhtmlForWebpack, setExportImageDataUri, setExportImageError, enableErrorNotification, addNotification]);
|
|
111
|
+
var retrieveNewScreenshot = (0, _react.useCallback)(debouncedScreenshot, [debouncedScreenshot]);
|
|
112
|
+
|
|
113
|
+
// Memoize the onMapRender callback
|
|
114
|
+
var debouncedMapRender = (0, _react.useMemo)(function () {
|
|
115
|
+
return (0, _debounce["default"])(function (map) {
|
|
116
|
+
if (map.isStyleLoaded()) {
|
|
117
|
+
retrieveNewScreenshot();
|
|
118
|
+
}
|
|
119
|
+
}, 500);
|
|
120
|
+
}, [retrieveNewScreenshot]);
|
|
121
|
+
var onMapRender = (0, _react.useCallback)(debouncedMapRender, [debouncedMapRender]);
|
|
122
|
+
|
|
123
|
+
// Initial setup effect
|
|
124
|
+
(0, _react.useEffect)(function () {
|
|
125
|
+
setExportImageSetting({
|
|
126
|
+
processing: true
|
|
101
127
|
});
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
(0, _inherits2["default"])(PlotContainer, _Component);
|
|
110
|
-
return (0, _createClass2["default"])(PlotContainer, [{
|
|
111
|
-
key: "getEffectsForPlot",
|
|
112
|
-
value: function getEffectsForPlot() {
|
|
113
|
-
return this.props.mapFields.visState.effects.map(function (effect) {
|
|
114
|
-
return effect.clone();
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}, {
|
|
118
|
-
key: "componentDidMount",
|
|
119
|
-
value: function componentDidMount() {
|
|
120
|
-
this.props.setExportImageSetting({
|
|
128
|
+
}, [setExportImageSetting]);
|
|
129
|
+
|
|
130
|
+
// Screenshot update effect
|
|
131
|
+
(0, _react.useEffect)(function () {
|
|
132
|
+
if (ratio !== undefined || resolution !== undefined || legend !== undefined) {
|
|
133
|
+
setExportImageSetting({
|
|
121
134
|
processing: true
|
|
122
135
|
});
|
|
136
|
+
retrieveNewScreenshot();
|
|
123
137
|
}
|
|
124
|
-
},
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
// re-fetch the new screenshot only when ratio legend or resolution changes
|
|
129
|
-
var checks = ['ratio', 'resolution', 'legend'];
|
|
130
|
-
var shouldRetrieveScreenshot = checks.some(function (item) {
|
|
131
|
-
return _this2.props.exportImageSetting[item] !== prevProps.exportImageSetting[item];
|
|
132
|
-
});
|
|
133
|
-
if (shouldRetrieveScreenshot) {
|
|
134
|
-
this.props.setExportImageSetting({
|
|
135
|
-
processing: true
|
|
136
|
-
});
|
|
137
|
-
this._retrieveNewScreenshot();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}, {
|
|
141
|
-
key: "render",
|
|
142
|
-
value: function render() {
|
|
143
|
-
var _this$props = this.props,
|
|
144
|
-
exportImageSetting = _this$props.exportImageSetting,
|
|
145
|
-
mapFields = _this$props.mapFields,
|
|
146
|
-
_this$props$splitMaps = _this$props.splitMaps,
|
|
147
|
-
splitMaps = _this$props$splitMaps === void 0 ? [] : _this$props$splitMaps;
|
|
148
|
-
var mapState = mapFields.mapState,
|
|
149
|
-
visState = mapFields.visState;
|
|
150
|
-
var layers = visState.layers,
|
|
151
|
-
layerData = visState.layerData;
|
|
152
|
-
var imageSize = exportImageSetting.imageSize,
|
|
153
|
-
legend = exportImageSetting.legend;
|
|
154
|
-
var isSplit = splitMaps && splitMaps.length > 1;
|
|
138
|
+
}, [ratio, resolution, legend, setExportImageSetting, retrieveNewScreenshot]);
|
|
139
|
+
|
|
140
|
+
// Memoize size calculations
|
|
141
|
+
var _useMemo = (0, _react.useMemo)(function () {
|
|
155
142
|
var size = {
|
|
156
|
-
width:
|
|
157
|
-
height:
|
|
143
|
+
width: imageSize.imageW || 1,
|
|
144
|
+
height: imageSize.imageH || 1
|
|
145
|
+
};
|
|
146
|
+
var isSplit = splitMaps.length > 1;
|
|
147
|
+
return {
|
|
148
|
+
size: size,
|
|
149
|
+
width: size.width / (isSplit ? 2 : 1),
|
|
150
|
+
height: size.height
|
|
158
151
|
};
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
152
|
+
}, [imageSize.imageW, imageSize.imageH, splitMaps.length]),
|
|
153
|
+
size = _useMemo.size,
|
|
154
|
+
width = _useMemo.width,
|
|
155
|
+
height = _useMemo.height;
|
|
156
|
+
|
|
157
|
+
// Memoize map state
|
|
158
|
+
var newMapState = (0, _react.useMemo)(function () {
|
|
159
|
+
var baseMapState = _objectSpread(_objectSpread({}, mapState), {}, {
|
|
160
|
+
width: width,
|
|
161
|
+
height: height,
|
|
162
|
+
zoom: mapState.zoom + (Math.log2(scale) || 0)
|
|
163
|
+
});
|
|
164
|
+
if (center) {
|
|
165
|
+
var renderedLayers = mapFields.visState.layers.filter(function (layer, idx) {
|
|
166
|
+
return layer.id !== _constants.GEOCODER_LAYER_ID && layer.shouldRenderLayer(mapFields.visState.layerData[idx]);
|
|
167
|
+
});
|
|
168
|
+
var bounds = (0, _reducers.findMapBounds)(renderedLayers);
|
|
169
|
+
var centerAndZoom = (0, _utils.getCenterAndZoomFromBounds)(bounds, {
|
|
163
170
|
width: width,
|
|
164
|
-
height: height
|
|
165
|
-
zoom: mapState.zoom + (Math.log2(scale) || 0)
|
|
171
|
+
height: height
|
|
166
172
|
});
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
var bounds = (0, _reducers.findMapBounds)(renderedLayers);
|
|
174
|
-
var centerAndZoom = (0, _utils.getCenterAndZoomFromBounds)(bounds, {
|
|
175
|
-
width: width,
|
|
176
|
-
height: height
|
|
173
|
+
if (centerAndZoom) {
|
|
174
|
+
var zoom = Number.isFinite(centerAndZoom.zoom) ? centerAndZoom.zoom : mapState.zoom;
|
|
175
|
+
return _objectSpread(_objectSpread({}, baseMapState), {}, {
|
|
176
|
+
longitude: centerAndZoom.center[0],
|
|
177
|
+
latitude: centerAndZoom.center[1],
|
|
178
|
+
zoom: zoom + Number(Math.log2(scale) || 0)
|
|
177
179
|
});
|
|
178
|
-
if (centerAndZoom) {
|
|
179
|
-
var zoom = Number.isFinite(centerAndZoom.zoom) ? centerAndZoom.zoom : mapState.zoom;
|
|
180
|
-
newMapState.longitude = centerAndZoom.center[0];
|
|
181
|
-
newMapState.latitude = centerAndZoom.center[1];
|
|
182
|
-
newMapState.zoom = zoom + Number(Math.log2(scale) || 0);
|
|
183
|
-
}
|
|
184
180
|
}
|
|
185
|
-
var mapProps = _objectSpread(_objectSpread({}, mapFields), {}, {
|
|
186
|
-
mapStyle: this.scaledMapStyleSelector(this.props),
|
|
187
|
-
// override viewport based on export settings
|
|
188
|
-
mapState: newMapState,
|
|
189
|
-
mapControls: {
|
|
190
|
-
// override map legend visibility
|
|
191
|
-
mapLegend: {
|
|
192
|
-
show: legend,
|
|
193
|
-
active: true
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
MapComponent: _reactMapGl.Map,
|
|
197
|
-
onMapRender: this._onMapRender,
|
|
198
|
-
isExport: true,
|
|
199
|
-
deckGlProps: _objectSpread(_objectSpread({}, mapFields.deckGlProps), {}, {
|
|
200
|
-
glOptions: {
|
|
201
|
-
preserveDrawingBuffer: true,
|
|
202
|
-
useDevicePixels: false
|
|
203
|
-
}
|
|
204
|
-
}),
|
|
205
|
-
visState: _objectSpread(_objectSpread({}, mapFields.visState), {}, {
|
|
206
|
-
// Make sure to use effects not associated with a different WebGL context
|
|
207
|
-
effects: this.state.plotEffects
|
|
208
|
-
})
|
|
209
|
-
});
|
|
210
|
-
var mapContainers = !isSplit ? /*#__PURE__*/_react["default"].createElement(MapContainer, (0, _extends2["default"])({
|
|
211
|
-
index: 0,
|
|
212
|
-
primary: true
|
|
213
|
-
}, mapProps)) : /*#__PURE__*/_react["default"].createElement(MapsLayout, {
|
|
214
|
-
className: "plot-container-maps",
|
|
215
|
-
mapState: newMapState
|
|
216
|
-
}, splitMaps.map(function (settings, index) {
|
|
217
|
-
return /*#__PURE__*/_react["default"].createElement(MapContainer, (0, _extends2["default"])({
|
|
218
|
-
key: index,
|
|
219
|
-
index: index,
|
|
220
|
-
primary: index === 1
|
|
221
|
-
}, mapProps));
|
|
222
|
-
}));
|
|
223
|
-
return /*#__PURE__*/_react["default"].createElement(StyledPlotContainer, {
|
|
224
|
-
className: "export-map-instance"
|
|
225
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledMapContainer, {
|
|
226
|
-
ref: this.plottingAreaRef,
|
|
227
|
-
width: size.width,
|
|
228
|
-
height: size.height
|
|
229
|
-
}, /*#__PURE__*/_react["default"].createElement(_mapViewStateContext.MapViewStateContextProvider, {
|
|
230
|
-
mapState: newMapState
|
|
231
|
-
}, mapContainers)));
|
|
232
181
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
182
|
+
return baseMapState;
|
|
183
|
+
}, [mapState, width, height, scale, center, mapFields.visState]);
|
|
184
|
+
|
|
185
|
+
// Memoize map props
|
|
186
|
+
var mapProps = (0, _react.useMemo)(function () {
|
|
187
|
+
return _objectSpread(_objectSpread({}, mapFields), {}, {
|
|
188
|
+
mapStyle: scaledMapStyle,
|
|
189
|
+
mapState: newMapState,
|
|
190
|
+
mapControls: {
|
|
191
|
+
mapLegend: {
|
|
192
|
+
show: Boolean(legend),
|
|
193
|
+
active: true
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
MapComponent: _reactMapGl.Map,
|
|
197
|
+
onMapRender: onMapRender,
|
|
198
|
+
isExport: true,
|
|
199
|
+
deckGlProps: _objectSpread(_objectSpread({}, mapFields.deckGlProps), {}, {
|
|
200
|
+
glOptions: {
|
|
201
|
+
preserveDrawingBuffer: true,
|
|
202
|
+
useDevicePixels: false
|
|
203
|
+
}
|
|
204
|
+
}),
|
|
205
|
+
visState: _objectSpread(_objectSpread({}, mapFields.visState), {}, {
|
|
206
|
+
effects: plotEffects
|
|
207
|
+
}),
|
|
208
|
+
// allow overriding the legend panel logo in export
|
|
209
|
+
logoComponent: logoComponent
|
|
210
|
+
});
|
|
211
|
+
}, [mapFields, scaledMapStyle, newMapState, legend, onMapRender, plotEffects, logoComponent]);
|
|
212
|
+
var isSplit = splitMaps.length > 1;
|
|
213
|
+
var mapContainers = !isSplit ? /*#__PURE__*/_react["default"].createElement(MapContainer, (0, _extends2["default"])({
|
|
214
|
+
index: 0,
|
|
215
|
+
primary: true
|
|
216
|
+
}, mapProps)) : /*#__PURE__*/_react["default"].createElement(MapsLayout, {
|
|
217
|
+
className: "plot-container-maps",
|
|
218
|
+
mapState: newMapState
|
|
219
|
+
}, splitMaps.map(function (settings, index) {
|
|
220
|
+
return /*#__PURE__*/_react["default"].createElement(MapContainer, (0, _extends2["default"])({
|
|
221
|
+
key: index,
|
|
222
|
+
index: index,
|
|
223
|
+
primary: index === 1
|
|
224
|
+
}, mapProps));
|
|
225
|
+
}));
|
|
226
|
+
return /*#__PURE__*/_react["default"].createElement(StyledPlotContainer, {
|
|
227
|
+
className: "export-map-instance"
|
|
228
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledMapContainer, {
|
|
229
|
+
ref: plottingAreaRef,
|
|
230
|
+
width: size.width,
|
|
231
|
+
height: size.height
|
|
232
|
+
}, /*#__PURE__*/_react["default"].createElement(_mapViewStateContext.MapViewStateContextProvider, {
|
|
233
|
+
mapState: newMapState
|
|
234
|
+
}, mapContainers)));
|
|
235
|
+
}
|
|
236
|
+
return /*#__PURE__*/_react["default"].memo(PlotContainer);
|
|
236
237
|
}
|
|
237
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVzZWxlY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RNYXBHbCIsIl9kZWJvdW5jZSIsIl91dGlscyIsIl9yZWR1Y2VycyIsIl9tYXBDb250YWluZXIiLCJfbWFwc0xheW91dCIsIl9tYXBWaWV3U3RhdGVDb250ZXh0IiwiX2NvbnN0YW50cyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIkNMQVNTX0ZJTFRFUiIsIkRPTV9GSUxURVJfRlVOQyIsIm5vZGUiLCJpbmNsdWRlcyIsImNsYXNzTmFtZSIsIk9VVF9PRl9TQ1JFRU5fUE9TSVRJT04iLCJQbG90Q29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJNYXBDb250YWluZXJGYWN0b3J5IiwiTWFwc0xheW91dEZhY3RvcnkiLCJTdHlsZWRQbG90Q29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJTdHlsZWRNYXBDb250YWluZXIiLCJwcm9wcyIsIndpZHRoIiwiaGVpZ2h0IiwiTWFwQ29udGFpbmVyIiwiTWFwc0xheW91dCIsIlBsb3RDb250YWluZXIiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiY3JlYXRlUmVmIiwibWFwRmllbGRzIiwibWFwU3R5bGUiLCJpbWFnZVNpemUiLCJleHBvcnRJbWFnZVNldHRpbmciLCJtYXBTdGF0ZSIsInNjYWxlIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwiaW1hZ2VIIiwiaXNTcGxpdCIsImNyZWF0ZVNlbGVjdG9yIiwibWFwU3R5bGVTZWxlY3RvciIsIm1hcFNjYWxlU2VsZWN0b3IiLCJib3R0b21NYXBTdHlsZSIsInNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24iLCJ0b3BNYXBTdHlsZSIsIm1hcCIsImlzU3R5bGVMb2FkZWQiLCJfcmV0cmlldmVOZXdTY3JlZW5zaG90IiwicGxvdHRpbmdBcmVhUmVmIiwiY3VycmVudCIsIl90aGlzJHByb3BzJGV4cG9ydEltYSIsImVzY2FwZVhodG1sRm9yV2VicGFjayIsImNvbnZlcnRUb1BuZyIsInRoZW4iLCJzZXRFeHBvcnRJbWFnZURhdGFVcmkiLCJlcnIiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiZW5hYmxlRXJyb3JOb3RpZmljYXRpb24iLCJhZGROb3RpZmljYXRpb24iLCJleHBvcnRJbWFnZUVycm9yIiwiX29uTWFwUmVuZGVyIiwiZGVib3VuY2UiLCJzdGF0ZSIsInBsb3RFZmZlY3RzIiwiZ2V0RWZmZWN0c0ZvclBsb3QiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwidmlzU3RhdGUiLCJlZmZlY3RzIiwiZWZmZWN0IiwiY2xvbmUiLCJjb21wb25lbnREaWRNb3VudCIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsInByb2Nlc3NpbmciLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpczIiLCJjaGVja3MiLCJzaG91bGRSZXRyaWV2ZVNjcmVlbnNob3QiLCJzb21lIiwiaXRlbSIsInJlbmRlciIsIl90aGlzJHByb3BzIiwiX3RoaXMkcHJvcHMkc3BsaXRNYXBzIiwic3BsaXRNYXBzIiwibGF5ZXJzIiwibGF5ZXJEYXRhIiwibGVnZW5kIiwic2l6ZSIsIm5ld01hcFN0YXRlIiwiem9vbSIsIk1hdGgiLCJsb2cyIiwiY2VudGVyIiwicmVuZGVyZWRMYXllcnMiLCJsYXllciIsImlkeCIsImlkIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImJvdW5kcyIsImZpbmRNYXBCb3VuZHMiLCJjZW50ZXJBbmRab29tIiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwibWFwUHJvcHMiLCJzY2FsZWRNYXBTdHlsZVNlbGVjdG9yIiwibWFwQ29udHJvbHMiLCJtYXBMZWdlbmQiLCJzaG93IiwiYWN0aXZlIiwiTWFwQ29tcG9uZW50IiwiTWFwIiwib25NYXBSZW5kZXIiLCJpc0V4cG9ydCIsImRlY2tHbFByb3BzIiwiZ2xPcHRpb25zIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidXNlRGV2aWNlUGl4ZWxzIiwibWFwQ29udGFpbmVycyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJpbmRleCIsInByaW1hcnkiLCJzZXR0aW5ncyIsInJlZiIsIk1hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlciIsIkNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wbG90LWNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLy8gbGlicmFyaWVzXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge01hcH0gZnJvbSAncmVhY3QtbWFwLWdsJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHtcbiAgZXhwb3J0SW1hZ2VFcnJvcixcbiAgc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbixcbiAgZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMsXG4gIGNvbnZlcnRUb1BuZyxcbiAgZ2V0U2NhbGVGcm9tSW1hZ2VTaXplXG59IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtmaW5kTWFwQm91bmRzfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCBNYXBDb250YWluZXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRhaW5lcic7XG5pbXBvcnQgTWFwc0xheW91dEZhY3RvcnkgZnJvbSAnLi9tYXBzLWxheW91dCc7XG5pbXBvcnQge01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcn0gZnJvbSAnLi9tYXAtdmlldy1zdGF0ZS1jb250ZXh0JztcblxuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRCwgRXhwb3J0SW1hZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7RWZmZWN0LCBTcGxpdE1hcH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpb25IYW5kbGVyLFxuICBhZGROb3RpZmljYXRpb24sXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFtcbiAgJ21hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXInLFxuICAnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLFxuICAnYXR0cml0aW9uLWxpbmsnLFxuICAnYXR0cml0aW9uLWxvZ28nLFxuICAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJ1xuXTtcbmNvbnN0IERPTV9GSUxURVJfRlVOQyA9IG5vZGUgPT4gIUNMQVNTX0ZJTFRFUi5pbmNsdWRlcyhub2RlLmNsYXNzTmFtZSk7XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cblBsb3RDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbTWFwQ29udGFpbmVyRmFjdG9yeSwgTWFwc0xheW91dEZhY3RvcnldO1xuXG4vLyBSZW1vdmUgbWFwYm94IGxvZ28gaW4gZXhwb3J0ZWQgbWFwLCBiZWNhdXNlIGl0IGNvbnRhaW5zIG5vbi1hc2NpaSBjaGFyYWN0ZXJzXG4vLyBSZW1vdmUgc3BsaXQgdmlld3BvcnQgVUkgY29udHJvbHMgZnJvbSBleHBvcnRlZCBpbWFnZXMgd2hlbiB0aGUgbGVnZW5kIGlzIHNob3duXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCxcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBsaWJyZS1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBib3gtYXR0cmlidXRpb24tY29udGFpbmVyLFxuICAubWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR7T1VUX09GX1NDUkVFTl9QT1NJVElPTn1weDtcbiAgbGVmdDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRhaW5lclByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250YWluZXJQcm9wcz5gXG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuaW50ZXJmYWNlIFBsb3RDb250YWluZXJQcm9wcyB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGV4cG9ydEltYWdlU2V0dGluZzogRXhwb3J0SW1hZ2U7XG4gIGFkZE5vdGlmaWNhdGlvbjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkTm90aWZpY2F0aW9uPjtcbiAgbWFwRmllbGRzOiBSZXR1cm5UeXBlPHR5cGVvZiBtYXBGaWVsZHNTZWxlY3Rvcj47XG4gIHNldEV4cG9ydEltYWdlU2V0dGluZzogdHlwZW9mIHNldEV4cG9ydEltYWdlU2V0dGluZztcbiAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VEYXRhVXJpO1xuICBzZXRFeHBvcnRJbWFnZUVycm9yOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VFcnJvcjtcbiAgc3BsaXRNYXBzPzogU3BsaXRNYXBbXTtcbiAgZW5hYmxlRXJyb3JOb3RpZmljYXRpb24/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgUGxvdENvbnRhaW5lclN0YXRlIHtcbiAgcGxvdEVmZmVjdHM6IEVmZmVjdFtdO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQbG90Q29udGFpbmVyRmFjdG9yeShcbiAgTWFwQ29udGFpbmVyOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250YWluZXJGYWN0b3J5PixcbiAgTWFwc0xheW91dDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwc0xheW91dEZhY3Rvcnk+XG4pOiBSZWFjdC5Db21wb25lbnRUeXBlPFBsb3RDb250YWluZXJQcm9wcz4ge1xuICBjbGFzcyBQbG90Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50PFBsb3RDb250YWluZXJQcm9wcywgUGxvdENvbnRhaW5lclN0YXRlPiB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuX29uTWFwUmVuZGVyID0gZGVib3VuY2UodGhpcy5fb25NYXBSZW5kZXIsIDUwMCk7XG4gICAgICB0aGlzLl9yZXRyaWV2ZU5ld1NjcmVlbnNob3QgPSBkZWJvdW5jZSh0aGlzLl9yZXRyaWV2ZU5ld1NjcmVlbnNob3QsIDUwMCk7XG5cbiAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgIHBsb3RFZmZlY3RzOiB0aGlzLmdldEVmZmVjdHNGb3JQbG90KClcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFZmZlY3RzRm9yUGxvdCgpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm1hcEZpZWxkcy52aXNTdGF0ZS5lZmZlY3RzLm1hcChlZmZlY3QgPT4gZWZmZWN0LmNsb25lKCkpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdGhpcy5wcm9wcy5zZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgICAvLyByZS1mZXRjaCB0aGUgbmV3IHNjcmVlbnNob3Qgb25seSB3aGVuIHJhdGlvIGxlZ2VuZCBvciByZXNvbHV0aW9uIGNoYW5nZXNcbiAgICAgIGNvbnN0IGNoZWNrcyA9IFsncmF0aW8nLCAncmVzb2x1dGlvbicsICdsZWdlbmQnXTtcbiAgICAgIGNvbnN0IHNob3VsZFJldHJpZXZlU2NyZWVuc2hvdCA9IGNoZWNrcy5zb21lKFxuICAgICAgICBpdGVtID0+IHRoaXMucHJvcHMuZXhwb3J0SW1hZ2VTZXR0aW5nW2l0ZW1dICE9PSBwcmV2UHJvcHMuZXhwb3J0SW1hZ2VTZXR0aW5nW2l0ZW1dXG4gICAgICApO1xuICAgICAgaWYgKHNob3VsZFJldHJpZXZlU2NyZWVuc2hvdCkge1xuICAgICAgICB0aGlzLnByb3BzLnNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgICAgICB0aGlzLl9yZXRyaWV2ZU5ld1NjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwbG90dGluZ0FyZWFSZWYgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG5cbiAgICBtYXBTdHlsZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMubWFwRmllbGRzLm1hcFN0eWxlO1xuICAgIG1hcFNjYWxlU2VsZWN0b3IgPSBwcm9wcyA9PiB7XG4gICAgICBjb25zdCB7aW1hZ2VTaXplfSA9IHByb3BzLmV4cG9ydEltYWdlU2V0dGluZztcbiAgICAgIGNvbnN0IHttYXBTdGF0ZX0gPSBwcm9wcy5tYXBGaWVsZHM7XG4gICAgICBpZiAoaW1hZ2VTaXplLnNjYWxlKSB7XG4gICAgICAgIHJldHVybiBpbWFnZVNpemUuc2NhbGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNjYWxlID0gZ2V0U2NhbGVGcm9tSW1hZ2VTaXplKFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICBtYXBTdGF0ZS53aWR0aCAqIChtYXBTdGF0ZS5pc1NwbGl0ID8gMiA6IDEpLFxuICAgICAgICBtYXBTdGF0ZS5oZWlnaHRcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBzY2FsZSA+IDAgPyBzY2FsZSA6IDE7XG4gICAgfTtcblxuICAgIHNjYWxlZE1hcFN0eWxlU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMubWFwU3R5bGVTZWxlY3RvcixcbiAgICAgIHRoaXMubWFwU2NhbGVTZWxlY3RvcixcbiAgICAgIChtYXBTdHlsZSwgc2NhbGUpID0+ICh7XG4gICAgICAgIC4uLm1hcFN0eWxlLFxuICAgICAgICBib3R0b21NYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS5ib3R0b21NYXBTdHlsZSwgc2NhbGUpLFxuICAgICAgICB0b3BNYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS50b3BNYXBTdHlsZSwgc2NhbGUpXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBfb25NYXBSZW5kZXIgPSBtYXAgPT4ge1xuICAgICAgaWYgKG1hcC5pc1N0eWxlTG9hZGVkKCkpIHtcbiAgICAgICAgdGhpcy5fcmV0cmlldmVOZXdTY3JlZW5zaG90KCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9yZXRyaWV2ZU5ld1NjcmVlbnNob3QgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wbG90dGluZ0FyZWFSZWYuY3VycmVudCkge1xuICAgICAgICBjb25zdCB7aW1hZ2VTaXplLCBlc2NhcGVYaHRtbEZvcldlYnBhY2t9ID0gdGhpcy5wcm9wcy5leHBvcnRJbWFnZVNldHRpbmc7XG4gICAgICAgIGNvbnZlcnRUb1BuZyh0aGlzLnBsb3R0aW5nQXJlYVJlZi5jdXJyZW50LCB7XG4gICAgICAgICAgZmlsdGVyOiBET01fRklMVEVSX0ZVTkMsXG4gICAgICAgICAgd2lkdGg6IGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgICAgaGVpZ2h0OiBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICAgIGVzY2FwZVhodG1sRm9yV2VicGFja1xuICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKHRoaXMucHJvcHMuc2V0RXhwb3J0SW1hZ2VEYXRhVXJpKVxuICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRFeHBvcnRJbWFnZUVycm9yKGVycik7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5lbmFibGVFcnJvck5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICB0aGlzLnByb3BzLmFkZE5vdGlmaWNhdGlvbihleHBvcnRJbWFnZUVycm9yKHtlcnJ9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtleHBvcnRJbWFnZVNldHRpbmcsIG1hcEZpZWxkcywgc3BsaXRNYXBzID0gW119ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHttYXBTdGF0ZSwgdmlzU3RhdGV9ID0gbWFwRmllbGRzO1xuICAgICAgY29uc3Qge2xheWVycywgbGF5ZXJEYXRhfSA9IHZpc1N0YXRlO1xuICAgICAgY29uc3Qge2ltYWdlU2l6ZSwgbGVnZW5kfSA9IGV4cG9ydEltYWdlU2V0dGluZztcblxuICAgICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcyAmJiBzcGxpdE1hcHMubGVuZ3RoID4gMTtcblxuICAgICAgY29uc3Qgc2l6ZSA9IHtcbiAgICAgICAgd2lkdGg6IGltYWdlU2l6ZT8uaW1hZ2VXIHx8IDEsXG4gICAgICAgIGhlaWdodDogaW1hZ2VTaXplPy5pbWFnZUggfHwgMVxuICAgICAgfTtcbiAgICAgIGNvbnN0IHdpZHRoID0gc2l6ZS53aWR0aCAvIChpc1NwbGl0ID8gMiA6IDEpO1xuICAgICAgY29uc3QgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XG4gICAgICBjb25zdCBzY2FsZSA9IHRoaXMubWFwU2NhbGVTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IG5ld01hcFN0YXRlID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgem9vbTogbWFwU3RhdGUuem9vbSArIChNYXRoLmxvZzIoc2NhbGUpIHx8IDApXG4gICAgICB9O1xuXG4gICAgICAvLyBjZW50ZXIgYW5kIGFsbCBsYXllciBib3VuZHNcbiAgICAgIGlmIChleHBvcnRJbWFnZVNldHRpbmcuY2VudGVyKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkTGF5ZXJzID0gbGF5ZXJzLmZpbHRlcihcbiAgICAgICAgICAobGF5ZXIsIGlkeCkgPT4gbGF5ZXIuaWQgIT09IEdFT0NPREVSX0xBWUVSX0lEICYmIGxheWVyLnNob3VsZFJlbmRlckxheWVyKGxheWVyRGF0YVtpZHhdKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBib3VuZHMgPSBmaW5kTWFwQm91bmRzKHJlbmRlcmVkTGF5ZXJzKTtcbiAgICAgICAgY29uc3QgY2VudGVyQW5kWm9vbSA9IGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzKGJvdW5kcywge3dpZHRoLCBoZWlnaHR9KTtcbiAgICAgICAgaWYgKGNlbnRlckFuZFpvb20pIHtcbiAgICAgICAgICBjb25zdCB6b29tID0gTnVtYmVyLmlzRmluaXRlKGNlbnRlckFuZFpvb20uem9vbSkgPyBjZW50ZXJBbmRab29tLnpvb20gOiBtYXBTdGF0ZS56b29tO1xuXG4gICAgICAgICAgbmV3TWFwU3RhdGUubG9uZ2l0dWRlID0gY2VudGVyQW5kWm9vbS5jZW50ZXJbMF07XG4gICAgICAgICAgbmV3TWFwU3RhdGUubGF0aXR1ZGUgPSBjZW50ZXJBbmRab29tLmNlbnRlclsxXTtcbiAgICAgICAgICBuZXdNYXBTdGF0ZS56b29tID0gem9vbSArIE51bWJlcihNYXRoLmxvZzIoc2NhbGUpIHx8IDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hcFByb3BzID0ge1xuICAgICAgICAuLi5tYXBGaWVsZHMsXG4gICAgICAgIG1hcFN0eWxlOiB0aGlzLnNjYWxlZE1hcFN0eWxlU2VsZWN0b3IodGhpcy5wcm9wcyksXG5cbiAgICAgICAgLy8gb3ZlcnJpZGUgdmlld3BvcnQgYmFzZWQgb24gZXhwb3J0IHNldHRpbmdzXG4gICAgICAgIG1hcFN0YXRlOiBuZXdNYXBTdGF0ZSxcbiAgICAgICAgbWFwQ29udHJvbHM6IHtcbiAgICAgICAgICAvLyBvdmVycmlkZSBtYXAgbGVnZW5kIHZpc2liaWxpdHlcbiAgICAgICAgICBtYXBMZWdlbmQ6IHtcbiAgICAgICAgICAgIHNob3c6IGxlZ2VuZCxcbiAgICAgICAgICAgIGFjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgTWFwQ29tcG9uZW50OiBNYXAsXG4gICAgICAgIG9uTWFwUmVuZGVyOiB0aGlzLl9vbk1hcFJlbmRlcixcbiAgICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICAgIGRlY2tHbFByb3BzOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLmRlY2tHbFByb3BzLFxuICAgICAgICAgIGdsT3B0aW9uczoge1xuICAgICAgICAgICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlLFxuICAgICAgICAgICAgdXNlRGV2aWNlUGl4ZWxzOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmlzU3RhdGU6IHtcbiAgICAgICAgICAuLi5tYXBGaWVsZHMudmlzU3RhdGUsXG4gICAgICAgICAgLy8gTWFrZSBzdXJlIHRvIHVzZSBlZmZlY3RzIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBkaWZmZXJlbnQgV2ViR0wgY29udGV4dFxuICAgICAgICAgIGVmZmVjdHM6IHRoaXMuc3RhdGUucGxvdEVmZmVjdHNcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgY29uc3QgbWFwQ29udGFpbmVycyA9ICFpc1NwbGl0ID8gKFxuICAgICAgICA8TWFwQ29udGFpbmVyIGluZGV4PXswfSBwcmltYXJ5PXt0cnVlfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgICApIDogKFxuICAgICAgICA8TWFwc0xheW91dCBjbGFzc05hbWU9XCJwbG90LWNvbnRhaW5lci1tYXBzXCIgbWFwU3RhdGU9e25ld01hcFN0YXRlfT5cbiAgICAgICAgICB7c3BsaXRNYXBzLm1hcCgoc2V0dGluZ3MsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8TWFwQ29udGFpbmVyIGtleT17aW5kZXh9IGluZGV4PXtpbmRleH0gcHJpbWFyeT17aW5kZXggPT09IDF9IHsuLi5tYXBQcm9wc30gLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9NYXBzTGF5b3V0PlxuICAgICAgKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTdHlsZWRQbG90Q29udGFpbmVyIGNsYXNzTmFtZT1cImV4cG9ydC1tYXAtaW5zdGFuY2VcIj5cbiAgICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyIHJlZj17dGhpcy5wbG90dGluZ0FyZWFSZWZ9IHdpZHRoPXtzaXplLndpZHRofSBoZWlnaHQ9e3NpemUuaGVpZ2h0fT5cbiAgICAgICAgICAgIDxNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIgbWFwU3RhdGU9e25ld01hcFN0YXRlfT5cbiAgICAgICAgICAgICAge21hcENvbnRhaW5lcnN9XG4gICAgICAgICAgICA8L01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRQbG90Q29udGFpbmVyPlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFBsb3RDb250YWluZXI7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFB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
|
|
238
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RNYXBHbCIsIl9kZWJvdW5jZSIsIl91dGlscyIsIl9yZWR1Y2VycyIsIl9tYXBDb250YWluZXIiLCJfbWFwc0xheW91dCIsIl9tYXBWaWV3U3RhdGVDb250ZXh0IiwiX2NvbnN0YW50cyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJDTEFTU19GSUxURVIiLCJET01fRklMVEVSX0ZVTkMiLCJub2RlIiwiaW5jbHVkZXMiLCJjbGFzc05hbWUiLCJPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OIiwiUGxvdENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udGFpbmVyRmFjdG9yeSIsIk1hcHNMYXlvdXRGYWN0b3J5IiwiU3R5bGVkUGxvdENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU3R5bGVkTWFwQ29udGFpbmVyIiwicHJvcHMiLCJ3aWR0aCIsImhlaWdodCIsIk1hcENvbnRhaW5lciIsIk1hcHNMYXlvdXQiLCJQbG90Q29udGFpbmVyIiwiX3JlZiIsInJhdGlvIiwicmVzb2x1dGlvbiIsIl9yZWYkbGVnZW5kIiwibGVnZW5kIiwiY2VudGVyIiwiaW1hZ2VTaXplIiwiZXNjYXBlWGh0bWxGb3JXZWJwYWNrIiwibWFwRmllbGRzIiwiX3JlZiRzcGxpdE1hcHMiLCJzcGxpdE1hcHMiLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZURhdGFVcmkiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiYWRkTm90aWZpY2F0aW9uIiwiZW5hYmxlRXJyb3JOb3RpZmljYXRpb24iLCJsb2dvQ29tcG9uZW50IiwicGxvdHRpbmdBcmVhUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJ2aXNTdGF0ZSIsImVmZmVjdHMiLCJtYXAiLCJlZmZlY3QiLCJjbG9uZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwbG90RWZmZWN0cyIsIm1hcFN0YXRlIiwic2NhbGUiLCJ1c2VNZW1vIiwiY2FsY3VsYXRlZFNjYWxlIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwiaW1hZ2VIIiwiaXNTcGxpdCIsInNjYWxlZE1hcFN0eWxlIiwibWFwU3R5bGUiLCJib3R0b21NYXBTdHlsZSIsInNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24iLCJ0b3BNYXBTdHlsZSIsImRlYm91bmNlZFNjcmVlbnNob3QiLCJkZWJvdW5jZSIsImN1cnJlbnQiLCJjb252ZXJ0VG9QbmciLCJ0aGVuIiwiZXJyIiwiZXhwb3J0SW1hZ2VFcnJvciIsInJldHJpZXZlTmV3U2NyZWVuc2hvdCIsInVzZUNhbGxiYWNrIiwiZGVib3VuY2VkTWFwUmVuZGVyIiwiaXNTdHlsZUxvYWRlZCIsIm9uTWFwUmVuZGVyIiwidXNlRWZmZWN0IiwicHJvY2Vzc2luZyIsInVuZGVmaW5lZCIsIl91c2VNZW1vIiwic2l6ZSIsIm5ld01hcFN0YXRlIiwiYmFzZU1hcFN0YXRlIiwiem9vbSIsIk1hdGgiLCJsb2cyIiwicmVuZGVyZWRMYXllcnMiLCJsYXllcnMiLCJsYXllciIsImlkeCIsImlkIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImxheWVyRGF0YSIsImJvdW5kcyIsImZpbmRNYXBCb3VuZHMiLCJjZW50ZXJBbmRab29tIiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwibWFwUHJvcHMiLCJtYXBDb250cm9scyIsIm1hcExlZ2VuZCIsInNob3ciLCJCb29sZWFuIiwiYWN0aXZlIiwiTWFwQ29tcG9uZW50IiwiTWFwIiwiaXNFeHBvcnQiLCJkZWNrR2xQcm9wcyIsImdsT3B0aW9ucyIsInByZXNlcnZlRHJhd2luZ0J1ZmZlciIsInVzZURldmljZVBpeGVscyIsIm1hcENvbnRhaW5lcnMiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiaW5kZXgiLCJwcmltYXJ5Iiwic2V0dGluZ3MiLCJrZXkiLCJyZWYiLCJNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIiLCJSZWFjdCIsIm1lbW8iXSwic291cmNlcyI6WyIuLi9zcmMvcGxvdC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGxpYnJhcmllc1xuaW1wb3J0IFJlYWN0LCB7dXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge01hcH0gZnJvbSAncmVhY3QtbWFwLWdsJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHtcbiAgZXhwb3J0SW1hZ2VFcnJvcixcbiAgc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbixcbiAgZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMsXG4gIGNvbnZlcnRUb1BuZyxcbiAgZ2V0U2NhbGVGcm9tSW1hZ2VTaXplXG59IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtmaW5kTWFwQm91bmRzfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCBNYXBDb250YWluZXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRhaW5lcic7XG5pbXBvcnQgTWFwc0xheW91dEZhY3RvcnkgZnJvbSAnLi9tYXBzLWxheW91dCc7XG5pbXBvcnQge01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcn0gZnJvbSAnLi9tYXAtdmlldy1zdGF0ZS1jb250ZXh0JztcblxuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtFZmZlY3QsIFNwbGl0TWFwLCBFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpb25IYW5kbGVyLFxuICBhZGROb3RpZmljYXRpb24sXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFtcbiAgJ21hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXInLFxuICAnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLFxuICAnYXR0cml0aW9uLWxpbmsnLFxuICAnYXR0cml0aW9uLWxvZ28nLFxuICAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJ1xuXTtcbmNvbnN0IERPTV9GSUxURVJfRlVOQyA9IG5vZGUgPT4gIUNMQVNTX0ZJTFRFUi5pbmNsdWRlcyhub2RlLmNsYXNzTmFtZSk7XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cblBsb3RDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbTWFwQ29udGFpbmVyRmFjdG9yeSwgTWFwc0xheW91dEZhY3RvcnldO1xuXG4vLyBSZW1vdmUgbWFwYm94IGxvZ28gaW4gZXhwb3J0ZWQgbWFwLCBiZWNhdXNlIGl0IGNvbnRhaW5zIG5vbi1hc2NpaSBjaGFyYWN0ZXJzXG4vLyBSZW1vdmUgc3BsaXQgdmlld3BvcnQgVUkgY29udHJvbHMgZnJvbSBleHBvcnRlZCBpbWFnZXMgd2hlbiB0aGUgbGVnZW5kIGlzIHNob3duXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCxcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBsaWJyZS1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBib3gtYXR0cmlidXRpb24tY29udGFpbmVyLFxuICAubWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR7T1VUX09GX1NDUkVFTl9QT1NJVElPTn1weDtcbiAgbGVmdDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRhaW5lclByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250YWluZXJQcm9wcz5gXG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuaW50ZXJmYWNlIFBsb3RDb250YWluZXJQcm9wcyB7XG4gIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICByYXRpbz86IHN0cmluZztcbiAgcmVzb2x1dGlvbj86IHN0cmluZztcbiAgbGVnZW5kPzogYm9vbGVhbjtcbiAgY2VudGVyPzogYm9vbGVhbjtcbiAgaW1hZ2VTaXplOiBFeHBvcnRJbWFnZVsnaW1hZ2VTaXplJ107XG4gIGVzY2FwZVhodG1sRm9yV2VicGFjaz86IGJvb2xlYW47XG5cbiAgLy8gTWFwIHNldHRpbmdzXG4gIG1hcEZpZWxkczogUmV0dXJuVHlwZTx0eXBlb2YgbWFwRmllbGRzU2VsZWN0b3I+O1xuICBzcGxpdE1hcHM/OiBTcGxpdE1hcFtdO1xuXG4gIC8vIENhbGxiYWNrc1xuICBzZXRFeHBvcnRJbWFnZVNldHRpbmc6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZVNldHRpbmc7XG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaTogdHlwZW9mIHNldEV4cG9ydEltYWdlRGF0YVVyaTtcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcjogdHlwZW9mIHNldEV4cG9ydEltYWdlRXJyb3I7XG4gIGFkZE5vdGlmaWNhdGlvbjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkTm90aWZpY2F0aW9uPjtcblxuICAvLyBGbGFnc1xuICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbj86IGJvb2xlYW47XG5cbiAgLy8gT3B0aW9uYWw6IG92ZXJyaWRlIGxlZ2VuZCBoZWFkZXIgbG9nbyBkdXJpbmcgZXhwb3J0XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBsb3RDb250YWluZXJGYWN0b3J5KFxuICBNYXBDb250YWluZXI6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRhaW5lckZhY3Rvcnk+LFxuICBNYXBzTGF5b3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBzTGF5b3V0RmFjdG9yeT5cbik6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGxvdENvbnRhaW5lclByb3BzPiB7XG4gIGZ1bmN0aW9uIFBsb3RDb250YWluZXIoe1xuICAgIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICAgIHJhdGlvLFxuICAgIHJlc29sdXRpb24sXG4gICAgbGVnZW5kID0gZmFsc2UsXG4gICAgY2VudGVyLFxuICAgIGltYWdlU2l6ZSxcbiAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2ssXG5cbiAgICAvLyBNYXAgc2V0dGluZ3NcbiAgICBtYXBGaWVsZHMsXG4gICAgc3BsaXRNYXBzID0gW10sXG5cbiAgICAvLyBDYWxsYmFja3NcbiAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcsXG4gICAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgYWRkTm90aWZpY2F0aW9uLFxuXG4gICAgLy8gRmxhZ3NcbiAgICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbixcbiAgICBsb2dvQ29tcG9uZW50XG4gIH06IFBsb3RDb250YWluZXJQcm9wcykge1xuICAgIGNvbnN0IHBsb3R0aW5nQXJlYVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3Bsb3RFZmZlY3RzXSA9IHVzZVN0YXRlPEVmZmVjdFtdPigoKSA9PlxuICAgICAgbWFwRmllbGRzLnZpc1N0YXRlLmVmZmVjdHMubWFwKGVmZmVjdCA9PiBlZmZlY3QuY2xvbmUoKSlcbiAgICApO1xuXG4gICAgY29uc3Qge21hcFN0YXRlfSA9IG1hcEZpZWxkcztcblxuICAgIC8vIE1lbW9pemUgdGhlIHNjYWxlIGNhbGN1bGF0aW9uXG4gICAgY29uc3Qgc2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChpbWFnZVNpemUuc2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGltYWdlU2l6ZS5zY2FsZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2FsY3VsYXRlZFNjYWxlID0gZ2V0U2NhbGVGcm9tSW1hZ2VTaXplKFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICBtYXBTdGF0ZS53aWR0aCAqIChtYXBTdGF0ZS5pc1NwbGl0ID8gMiA6IDEpLFxuICAgICAgICBtYXBTdGF0ZS5oZWlnaHRcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjYWxjdWxhdGVkU2NhbGUgPiAwID8gY2FsY3VsYXRlZFNjYWxlIDogMTtcbiAgICB9LCBbXG4gICAgICBpbWFnZVNpemUuc2NhbGUsXG4gICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgIG1hcFN0YXRlLndpZHRoLFxuICAgICAgbWFwU3RhdGUuaGVpZ2h0LFxuICAgICAgbWFwU3RhdGUuaXNTcGxpdFxuICAgIF0pO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgbWFwIHN0eWxlXG4gICAgY29uc3Qgc2NhbGVkTWFwU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IG1hcFN0eWxlID0gbWFwRmllbGRzLm1hcFN0eWxlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubWFwU3R5bGUsXG4gICAgICAgIGJvdHRvbU1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLmJvdHRvbU1hcFN0eWxlLCBzY2FsZSksXG4gICAgICAgIHRvcE1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLnRvcE1hcFN0eWxlLCBzY2FsZSlcbiAgICAgIH07XG4gICAgfSwgW21hcEZpZWxkcy5tYXBTdHlsZSwgc2NhbGVdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIHJldHJpZXZlTmV3U2NyZWVuc2hvdCBjYWxsYmFja1xuICAgIGNvbnN0IGRlYm91bmNlZFNjcmVlbnNob3QgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgIGlmIChwbG90dGluZ0FyZWFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29udmVydFRvUG5nKHBsb3R0aW5nQXJlYVJlZi5jdXJyZW50LCB7XG4gICAgICAgICAgICAgIGZpbHRlcjogRE9NX0ZJTFRFUl9GVU5DLFxuICAgICAgICAgICAgICB3aWR0aDogaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICAgICAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2tcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC50aGVuKHNldEV4cG9ydEltYWdlRGF0YVVyaSlcbiAgICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXhwb3J0SW1hZ2VFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGlmIChlbmFibGVFcnJvck5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICAgICAgYWRkTm90aWZpY2F0aW9uKGV4cG9ydEltYWdlRXJyb3Ioe2Vycn0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFtcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrLFxuICAgICAgICBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gICAgICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgICAgIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uLFxuICAgICAgICBhZGROb3RpZmljYXRpb25cbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgcmV0cmlldmVOZXdTY3JlZW5zaG90ID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkU2NyZWVuc2hvdCwgW2RlYm91bmNlZFNjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIG9uTWFwUmVuZGVyIGNhbGxiYWNrXG4gICAgY29uc3QgZGVib3VuY2VkTWFwUmVuZGVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGRlYm91bmNlKG1hcCA9PiB7XG4gICAgICAgICAgaWYgKG1hcC5pc1N0eWxlTG9hZGVkKCkpIHtcbiAgICAgICAgICAgIHJldHJpZXZlTmV3U2NyZWVuc2hvdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFtyZXRyaWV2ZU5ld1NjcmVlbnNob3RdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uTWFwUmVuZGVyID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkTWFwUmVuZGVyLCBbZGVib3VuY2VkTWFwUmVuZGVyXSk7XG5cbiAgICAvLyBJbml0aWFsIHNldHVwIGVmZmVjdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICB9LCBbc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXSk7XG5cbiAgICAvLyBTY3JlZW5zaG90IHVwZGF0ZSBlZmZlY3RcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHJhdGlvICE9PSB1bmRlZmluZWQgfHwgcmVzb2x1dGlvbiAhPT0gdW5kZWZpbmVkIHx8IGxlZ2VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgICAgICByZXRyaWV2ZU5ld1NjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9LCBbcmF0aW8sIHJlc29sdXRpb24sIGxlZ2VuZCwgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nLCByZXRyaWV2ZU5ld1NjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgc2l6ZSBjYWxjdWxhdGlvbnNcbiAgICBjb25zdCB7c2l6ZSwgd2lkdGgsIGhlaWdodH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHNpemUgPSB7XG4gICAgICAgIHdpZHRoOiBpbWFnZVNpemUuaW1hZ2VXIHx8IDEsXG4gICAgICAgIGhlaWdodDogaW1hZ2VTaXplLmltYWdlSCB8fCAxXG4gICAgICB9O1xuICAgICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcy5sZW5ndGggPiAxO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgd2lkdGg6IHNpemUud2lkdGggLyAoaXNTcGxpdCA/IDIgOiAxKSxcbiAgICAgICAgaGVpZ2h0OiBzaXplLmhlaWdodFxuICAgICAgfTtcbiAgICB9LCBbaW1hZ2VTaXplLmltYWdlVywgaW1hZ2VTaXplLmltYWdlSCwgc3BsaXRNYXBzLmxlbmd0aF0pO1xuXG4gICAgLy8gTWVtb2l6ZSBtYXAgc3RhdGVcbiAgICBjb25zdCBuZXdNYXBTdGF0ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgYmFzZU1hcFN0YXRlID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgem9vbTogbWFwU3RhdGUuem9vbSArIChNYXRoLmxvZzIoc2NhbGUpIHx8IDApXG4gICAgICB9O1xuXG4gICAgICBpZiAoY2VudGVyKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkTGF5ZXJzID0gbWFwRmllbGRzLnZpc1N0YXRlLmxheWVycy5maWx0ZXIoXG4gICAgICAgICAgKGxheWVyLCBpZHgpID0+XG4gICAgICAgICAgICBsYXllci5pZCAhPT0gR0VPQ09ERVJfTEFZRVJfSUQgJiZcbiAgICAgICAgICAgIGxheWVyLnNob3VsZFJlbmRlckxheWVyKG1hcEZpZWxkcy52aXNTdGF0ZS5sYXllckRhdGFbaWR4XSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYm91bmRzID0gZmluZE1hcEJvdW5kcyhyZW5kZXJlZExheWVycyk7XG4gICAgICAgIGNvbnN0IGNlbnRlckFuZFpvb20gPSBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyhib3VuZHMsIHt3aWR0aCwgaGVpZ2h0fSk7XG4gICAgICAgIGlmIChjZW50ZXJBbmRab29tKSB7XG4gICAgICAgICAgY29uc3Qgem9vbSA9IE51bWJlci5pc0Zpbml0ZShjZW50ZXJBbmRab29tLnpvb20pID8gY2VudGVyQW5kWm9vbS56b29tIDogbWFwU3RhdGUuem9vbTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZU1hcFN0YXRlLFxuICAgICAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclswXSxcbiAgICAgICAgICAgIGxhdGl0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclsxXSxcbiAgICAgICAgICAgIHpvb206IHpvb20gKyBOdW1iZXIoTWF0aC5sb2cyKHNjYWxlKSB8fCAwKVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VNYXBTdGF0ZTtcbiAgICB9LCBbbWFwU3RhdGUsIHdpZHRoLCBoZWlnaHQsIHNjYWxlLCBjZW50ZXIsIG1hcEZpZWxkcy52aXNTdGF0ZV0pO1xuXG4gICAgLy8gTWVtb2l6ZSBtYXAgcHJvcHNcbiAgICBjb25zdCBtYXBQcm9wcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICAuLi5tYXBGaWVsZHMsXG4gICAgICAgIG1hcFN0eWxlOiBzY2FsZWRNYXBTdHlsZSxcbiAgICAgICAgbWFwU3RhdGU6IG5ld01hcFN0YXRlLFxuICAgICAgICBtYXBDb250cm9sczoge1xuICAgICAgICAgIG1hcExlZ2VuZDoge1xuICAgICAgICAgICAgc2hvdzogQm9vbGVhbihsZWdlbmQpLFxuICAgICAgICAgICAgYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBNYXBDb21wb25lbnQ6IE1hcCxcbiAgICAgICAgb25NYXBSZW5kZXIsXG4gICAgICAgIGlzRXhwb3J0OiB0cnVlLFxuICAgICAgICBkZWNrR2xQcm9wczoge1xuICAgICAgICAgIC4uLm1hcEZpZWxkcy5kZWNrR2xQcm9wcyxcbiAgICAgICAgICBnbE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICAgICAgICAgIHVzZURldmljZVBpeGVsczogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHZpc1N0YXRlOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLnZpc1N0YXRlLFxuICAgICAgICAgIGVmZmVjdHM6IHBsb3RFZmZlY3RzXG4gICAgICAgIH0sXG4gICAgICAgIC8vIGFsbG93IG92ZXJyaWRpbmcgdGhlIGxlZ2VuZCBwYW5lbCBsb2dvIGluIGV4cG9ydFxuICAgICAgICBsb2dvQ29tcG9uZW50XG4gICAgICB9KSxcbiAgICAgIFttYXBGaWVsZHMsIHNjYWxlZE1hcFN0eWxlLCBuZXdNYXBTdGF0ZSwgbGVnZW5kLCBvbk1hcFJlbmRlciwgcGxvdEVmZmVjdHMsIGxvZ29Db21wb25lbnRdXG4gICAgKTtcblxuICAgIGNvbnN0IGlzU3BsaXQgPSBzcGxpdE1hcHMubGVuZ3RoID4gMTtcbiAgICBjb25zdCBtYXBDb250YWluZXJzID0gIWlzU3BsaXQgPyAoXG4gICAgICA8TWFwQ29udGFpbmVyIGluZGV4PXswfSBwcmltYXJ5PXt0cnVlfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgKSA6IChcbiAgICAgIDxNYXBzTGF5b3V0IGNsYXNzTmFtZT1cInBsb3QtY29udGFpbmVyLW1hcHNcIiBtYXBTdGF0ZT17bmV3TWFwU3RhdGV9PlxuICAgICAgICB7c3BsaXRNYXBzLm1hcCgoc2V0dGluZ3MsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPE1hcENvbnRhaW5lciBrZXk9e2luZGV4fSBpbmRleD17aW5kZXh9IHByaW1hcnk9e2luZGV4ID09PSAxfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgICAgICkpfVxuICAgICAgPC9NYXBzTGF5b3V0PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFBsb3RDb250YWluZXIgY2xhc3NOYW1lPVwiZXhwb3J0LW1hcC1pbnN0YW5jZVwiPlxuICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyIHJlZj17cGxvdHRpbmdBcmVhUmVmfSB3aWR0aD17c2l6ZS53aWR0aH0gaGVpZ2h0PXtzaXplLmhlaWdodH0+XG4gICAgICAgICAgPE1hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlciBtYXBTdGF0ZT17bmV3TWFwU3RhdGV9PlxuICAgICAgICAgICAge21hcENvbnRhaW5lcnN9XG4gICAgICAgICAgPC9NYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXI+XG4gICAgICAgIDwvU3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgPC9TdHlsZWRQbG90Q29udGFpbmVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gUmVhY3QubWVtbyhQbG90Q29udGFpbmVyKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQU9BLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLG9CQUFBLEdBQUFULE9BQUE7QUFFQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFBdUQsSUFBQVcsZUFBQSxFQUFBQyxnQkFBQSxFQXBCdkQ7QUFDQTtBQUVBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9B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
|
|
@@ -23,7 +23,7 @@ function DatasetInfoFactory() {
|
|
|
23
23
|
return /*#__PURE__*/_react["default"].createElement(StyledDataRowCount, {
|
|
24
24
|
className: "source-data-rows"
|
|
25
25
|
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
26
|
-
id: dataset.type === _constants.DatasetType.VECTOR_TILE ? 'datasetInfo.vectorTile' : dataset.type === _constants.DatasetType.RASTER_TILE ? 'datasetInfo.rasterTile' : 'datasetInfo.rowCount',
|
|
26
|
+
id: dataset.type === _constants.DatasetType.VECTOR_TILE ? 'datasetInfo.vectorTile' : dataset.type === _constants.DatasetType.RASTER_TILE ? 'datasetInfo.rasterTile' : dataset.type === _constants.DatasetType.WMS_TILE ? 'datasetInfo.wmsTile' : 'datasetInfo.rowCount',
|
|
27
27
|
values: {
|
|
28
28
|
rowCount: numFormat(dataset.dataContainer.numRows())
|
|
29
29
|
}
|
|
@@ -31,4 +31,4 @@ function DatasetInfoFactory() {
|
|
|
31
31
|
};
|
|
32
32
|
return DatasetInfo;
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2QzRm9ybWF0IiwiX2NvbnN0YW50cyIsIl9sb2NhbGl6YXRpb24iLCJfdGVtcGxhdGVPYmplY3QiLCJudW1Gb3JtYXQiLCJmb3JtYXQiLCJTdHlsZWREYXRhUm93Q291bnQiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzdWJ0ZXh0Q29sb3IiLCJEYXRhc2V0SW5mb0ZhY3RvcnkiLCJEYXRhc2V0SW5mbyIsIl9yZWYiLCJkYXRhc2V0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJpZCIsInR5cGUiLCJEYXRhc2V0VHlwZSIsIlZFQ1RPUl9USUxFIiwiUkFTVEVSX1RJTEUiLCJXTVNfVElMRSIsInZhbHVlcyIsInJvd0NvdW50IiwiZGF0YUNvbnRhaW5lciIsIm51bVJvd3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9jb21tb24vZGF0YXNldC1pbmZvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2Zvcm1hdH0gZnJvbSAnZDMtZm9ybWF0JztcblxuaW1wb3J0IHtEYXRhc2V0VHlwZX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0RhdGFDb250YWluZXJJbnRlcmZhY2V9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5jb25zdCBudW1Gb3JtYXQgPSBmb3JtYXQoJywnKTtcblxudHlwZSBNaW5pRGF0YXNldCA9IHtcbiAgZGF0YUNvbnRhaW5lcjogRGF0YUNvbnRhaW5lckludGVyZmFjZTtcbiAgdHlwZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFzZXRJbmZvUHJvcHMgPSB7XG4gIGRhdGFzZXQ6IE1pbmlEYXRhc2V0O1xufTtcblxuY29uc3QgU3R5bGVkRGF0YVJvd0NvdW50ID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICBwYWRkaW5nLWxlZnQ6IDE5cHg7XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEYXRhc2V0SW5mb0ZhY3RvcnkoKSB7XG4gIGNvbnN0IERhdGFzZXRJbmZvOiBSZWFjdC5GQzxEYXRhc2V0SW5mb1Byb3BzPiA9ICh7ZGF0YXNldH06IERhdGFzZXRJbmZvUHJvcHMpID0+IChcbiAgICA8U3R5bGVkRGF0YVJvd0NvdW50IGNsYXNzTmFtZT1cInNvdXJjZS1kYXRhLXJvd3NcIj5cbiAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgIGlkPXtcbiAgICAgICAgICBkYXRhc2V0LnR5cGUgPT09IERhdGFzZXRUeXBlLlZFQ1RPUl9USUxFXG4gICAgICAgICAgICA/ICdkYXRhc2V0SW5mby52ZWN0b3JUaWxlJ1xuICAgICAgICAgICAgOiBkYXRhc2V0LnR5cGUgPT09IERhdGFzZXRUeXBlLlJBU1RFUl9USUxFXG4gICAgICAgICAgICA/ICdkYXRhc2V0SW5mby5yYXN0ZXJUaWxlJ1xuICAgICAgICAgICAgOiBkYXRhc2V0LnR5cGUgPT09IERhdGFzZXRUeXBlLldNU19USUxFXG4gICAgICAgICAgICA/ICdkYXRhc2V0SW5mby53bXNUaWxlJ1xuICAgICAgICAgICAgOiAnZGF0YXNldEluZm8ucm93Q291bnQnXG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVzPXt7cm93Q291bnQ6IG51bUZvcm1hdChkYXRhc2V0LmRhdGFDb250YWluZXIubnVtUm93cygpKX19XG4gICAgICAvPlxuICAgIDwvU3R5bGVkRGF0YVJvd0NvdW50PlxuICApO1xuXG4gIHJldHVybiBEYXRhc2V0SW5mbztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBQXlELElBQUFLLGVBQUEsRUFSekQ7QUFDQTtBQVVBLElBQU1DLFNBQVMsR0FBRyxJQUFBQyxnQkFBTSxFQUFDLEdBQUcsQ0FBQztBQVc3QixJQUFNQyxrQkFBa0IsR0FBR0MsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBTCxlQUFBLEtBQUFBLGVBQUEsT0FBQU0sdUJBQUEsa0ZBRTFCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsWUFBWTtBQUFBLEVBRTNDO0FBRWMsU0FBU0Msa0JBQWtCQSxDQUFBLEVBQUc7RUFDM0MsSUFBTUMsV0FBdUMsR0FBRyxTQUExQ0EsV0FBdUNBLENBQUFDLElBQUE7SUFBQSxJQUFLQyxPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTztJQUFBLG9CQUN2RHBCLE1BQUEsWUFBQXFCLGFBQUEsQ0FBQ1gsa0JBQWtCO01BQUNZLFNBQVMsRUFBQztJQUFrQixnQkFDOUN0QixNQUFBLFlBQUFxQixhQUFBLENBQUNmLGFBQUEsQ0FBQWlCLGdCQUFnQjtNQUNmQyxFQUFFLEVBQ0FKLE9BQU8sQ0FBQ0ssSUFBSSxLQUFLQyxzQkFBVyxDQUFDQyxXQUFXLEdBQ3BDLHdCQUF3QixHQUN4QlAsT0FBTyxDQUFDSyxJQUFJLEtBQUtDLHNCQUFXLENBQUNFLFdBQVcsR0FDeEMsd0JBQXdCLEdBQ3hCUixPQUFPLENBQUNLLElBQUksS0FBS0Msc0JBQVcsQ0FBQ0csUUFBUSxHQUNyQyxxQkFBcUIsR0FDckIsc0JBQ0w7TUFDREMsTUFBTSxFQUFFO1FBQUNDLFFBQVEsRUFBRXZCLFNBQVMsQ0FBQ1ksT0FBTyxDQUFDWSxhQUFhLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQUM7SUFBRSxDQUNoRSxDQUNpQixDQUFDO0VBQUEsQ0FDdEI7RUFFRCxPQUFPZixXQUFXO0FBQ3BCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -33,6 +33,7 @@ declare type LayerManagerProps = {
|
|
|
33
33
|
updateTableColor: ActionHandler<typeof VisStateActions.updateTableColor>;
|
|
34
34
|
panelListView: PanelListView;
|
|
35
35
|
panelMetadata: SidePanelItem;
|
|
36
|
+
showDeleteDataset?: boolean;
|
|
36
37
|
} & WrappedComponentProps;
|
|
37
38
|
export declare const LayerBlendingSelector: React.MemoExoticComponent<({ layerBlending, updateLayerBlending, intl, className }: LayerBlendingSelectorProps) => React.JSX.Element>;
|
|
38
39
|
declare function LayerManagerFactory(LayerList: ReturnType<typeof LayerListFactory>, DatasetLayerGroup: ReturnType<typeof DatasetLayerGroupFactory>, PanelViewListToggle: ReturnType<typeof PanelViewListToggleFactory>, PanelTitle: ReturnType<typeof PanelTitleFactory>, DatasetSection: ReturnType<typeof DatasetSectionFactory>, AddLayerButton: ReturnType<typeof AddLayerButtonFactory>, InfoHelper: ReturnType<typeof InfoHelperFactory>): React.FC<import("react-intl").WithIntlProps<LayerManagerProps>> & {
|