@kepler.gl/components 3.3.0-alpha.6 → 3.3.0-alpha.7
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/cjs/common/data-table/cell-size.js +40 -23
- package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
- package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
- package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
- package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
- package/dist/cjs/common/data-table/header-cell.js +123 -44
- package/dist/cjs/common/data-table/index.js +102 -29
- package/dist/cjs/common/histogram-plot.js +1 -1
- package/dist/cjs/common/icons/{arrow-down-solid.js → draw-point.js} +21 -11
- package/dist/cjs/common/icons/index.js +15 -1
- package/dist/cjs/common/icons/line-string.js +60 -0
- package/dist/cjs/common/toolbar-item.js +24 -3
- package/dist/cjs/editor/editor.js +26 -8
- package/dist/cjs/editor/feature-action-panel.js +34 -12
- package/dist/cjs/editor/feature-properties-editor.js +215 -0
- package/dist/cjs/editor/filter-feature-badges.js +92 -0
- package/dist/cjs/index.js +33 -1
- package/dist/cjs/kepler-gl.js +20 -3
- package/dist/cjs/map/map-control-toolbar.js +2 -2
- package/dist/cjs/map/map-control.js +13 -7
- package/dist/cjs/map/map-draw-panel.js +65 -15
- package/dist/cjs/map/theme-toggle-button.js +64 -0
- package/dist/cjs/map-container.js +16 -5
- package/dist/cjs/modal-container.js +2 -1
- package/dist/cjs/modals/cloud-components/cloud-item.js +55 -7
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +75 -3
- package/dist/cjs/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/cjs/modals/cloud-tile.js +52 -38
- package/dist/cjs/modals/data-table-modal.js +37 -25
- package/dist/cjs/modals/export-video-modal.js +28 -1
- package/dist/cjs/modals/export-video-modal.spec.js +56 -10
- package/dist/cjs/modals/globe-export-video-container.js +19 -3
- package/dist/cjs/modals/globe-export-video-preview.js +25 -7
- package/dist/cjs/modals/hubble-utils.js +8 -3
- package/dist/cjs/modals/swipe-composite-utils.js +9 -1
- package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +9 -5
- package/dist/cjs/side-panel/layer-manager.js +11 -3
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
- package/dist/common/data-table/column-statistics-components.d.ts +31 -0
- package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
- package/dist/common/data-table/column-statistics-time.d.ts +19 -0
- package/dist/common/data-table/header-cell.d.ts +7 -5
- package/dist/common/data-table/index.d.ts +7 -24
- package/dist/common/histogram-plot.d.ts +24 -1
- package/dist/common/icons/{arrow-down-solid.d.ts → draw-point.d.ts} +2 -1
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/line-string.d.ts +10 -0
- package/dist/common/toolbar-item.d.ts +2 -0
- package/dist/editor/editor.d.ts +1 -0
- package/dist/editor/feature-action-panel.d.ts +1 -0
- package/dist/editor/feature-properties-editor.d.ts +8 -0
- package/dist/editor/filter-feature-badges.d.ts +12 -0
- package/dist/esm/common/data-table/cell-size.js +40 -23
- package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
- package/dist/esm/common/data-table/column-statistics-components.js +59 -0
- package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
- package/dist/esm/common/data-table/column-statistics-time.js +60 -0
- package/dist/esm/common/data-table/header-cell.js +125 -46
- package/dist/esm/common/data-table/index.js +102 -29
- package/dist/esm/common/histogram-plot.js +1 -1
- package/dist/esm/common/icons/draw-point.js +44 -0
- package/dist/esm/common/icons/index.js +3 -1
- package/dist/esm/common/icons/line-string.js +54 -0
- package/dist/esm/common/toolbar-item.js +24 -3
- package/dist/esm/editor/editor.js +26 -8
- package/dist/esm/editor/feature-action-panel.js +37 -15
- package/dist/esm/editor/feature-properties-editor.js +208 -0
- package/dist/esm/editor/filter-feature-badges.js +85 -0
- package/dist/esm/index.js +5 -1
- package/dist/esm/kepler-gl.js +20 -3
- package/dist/esm/map/map-control-toolbar.js +2 -2
- package/dist/esm/map/map-control.js +13 -7
- package/dist/esm/map/map-draw-panel.js +63 -11
- package/dist/esm/map/theme-toggle-button.js +55 -0
- package/dist/esm/map-container.js +16 -5
- package/dist/esm/modal-container.js +2 -1
- package/dist/esm/modals/cloud-components/cloud-item.js +53 -7
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +76 -4
- package/dist/esm/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/esm/modals/cloud-tile.js +52 -38
- package/dist/esm/modals/data-table-modal.js +38 -26
- package/dist/esm/modals/export-video-modal.js +29 -2
- package/dist/esm/modals/export-video-modal.spec.js +56 -10
- package/dist/esm/modals/globe-export-video-container.js +20 -4
- package/dist/esm/modals/globe-export-video-preview.js +26 -8
- package/dist/esm/modals/hubble-utils.js +8 -3
- package/dist/esm/modals/swipe-composite-utils.js +9 -1
- package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
- package/dist/esm/modals/swipe-export-video-preview.js +8 -4
- package/dist/esm/side-panel/layer-manager.js +11 -3
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/index.d.ts +8 -0
- package/dist/kepler-gl.d.ts +3 -0
- package/dist/map/map-control.d.ts +6 -2
- package/dist/map/map-draw-panel.d.ts +1 -0
- package/dist/map/theme-toggle-button.d.ts +18 -0
- package/dist/map-container.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
- package/dist/modals/data-table-modal.d.ts +1 -0
- package/dist/modals/globe-export-video-container.d.ts +2 -0
- package/dist/modals/globe-export-video-preview.d.ts +3 -0
- package/dist/modals/hubble-utils.d.ts +2 -1
- package/dist/modals/swipe-composite-utils.d.ts +1 -1
- package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
- package/package.json +20 -20
- package/dist/cjs/modals/cloud-components/provider-loading.js +0 -20
- package/dist/cjs/modals/storage-map-viewer.js +0 -98
- package/dist/cjs/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/esm/common/icons/arrow-down-solid.js +0 -34
- package/dist/esm/modals/cloud-components/provider-loading.js +0 -15
- package/dist/esm/modals/storage-map-viewer.js +0 -93
- package/dist/esm/side-panel/cloud-storage-dropdown.js +0 -33
- package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
|
@@ -1,14 +1,23 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject, _templateObject2;
|
|
1
3
|
// SPDX-License-Identifier: MIT
|
|
2
4
|
// Copyright contributors to the kepler.gl project
|
|
3
5
|
|
|
4
6
|
import React, { useCallback } from 'react';
|
|
5
7
|
import classnames from 'classnames';
|
|
8
|
+
import copy from 'copy-to-clipboard';
|
|
9
|
+
import styled from 'styled-components';
|
|
6
10
|
import { EDITOR_MODES } from '@kepler.gl/constants';
|
|
7
|
-
import {
|
|
11
|
+
import { editorFeaturesToFeatureCollection, getApplicationConfig } from '@kepler.gl/utils';
|
|
12
|
+
import { Copy, CursorClick, DrawPoint, DrawPolygon, EyeSeen, EyeUnseen, Layers, LineString, Polygon, Rectangle } from '../common/icons';
|
|
8
13
|
import { MapControlButton } from '../common/styled-components';
|
|
9
14
|
import ToolbarItem from '../common/toolbar-item';
|
|
10
15
|
import MapControlTooltipFactory from './map-control-tooltip';
|
|
11
16
|
import MapControlToolbarFactory from './map-control-toolbar';
|
|
17
|
+
var ToolbarSeparator = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 1px;\n margin: 4px 12px;\n background-color: ", ";\n opacity: 0.2;\n"])), function (props) {
|
|
18
|
+
return props.theme.panelHeaderIcon;
|
|
19
|
+
});
|
|
20
|
+
var DrawControls = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n\n .convert-to-layer .toolbar-item__title {\n flex: 1;\n min-width: 0;\n white-space: pre;\n text-align: center;\n line-height: 1.25;\n overflow: hidden;\n font-size: 11px;\n }\n"])));
|
|
12
21
|
MapDrawPanelFactory.deps = [MapControlTooltipFactory, MapControlToolbarFactory];
|
|
13
22
|
function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
14
23
|
var defaultActionIcons = {
|
|
@@ -17,31 +26,42 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
17
26
|
polygon: DrawPolygon,
|
|
18
27
|
cursor: CursorClick,
|
|
19
28
|
innerPolygon: Polygon,
|
|
20
|
-
rectangle: Rectangle
|
|
29
|
+
rectangle: Rectangle,
|
|
30
|
+
point: DrawPoint,
|
|
31
|
+
line: LineString,
|
|
32
|
+
copy: Copy,
|
|
33
|
+
layers: Layers
|
|
21
34
|
};
|
|
22
35
|
var MapDrawPanel = /*#__PURE__*/React.memo(function (_ref) {
|
|
23
|
-
var _mapControls$mapDraw, _mapControls$mapDraw2;
|
|
36
|
+
var _mapControls$mapDraw, _editor$features, _mapControls$mapDraw2;
|
|
24
37
|
var editor = _ref.editor,
|
|
25
38
|
mapControls = _ref.mapControls,
|
|
26
39
|
onToggleMapControl = _ref.onToggleMapControl,
|
|
27
40
|
onSetEditorMode = _ref.onSetEditorMode,
|
|
41
|
+
onConvertEditorFeaturesToLayer = _ref.onConvertEditorFeaturesToLayer,
|
|
28
42
|
_ref$actionIcons = _ref.actionIcons,
|
|
29
43
|
actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons;
|
|
30
44
|
var isActive = mapControls === null || mapControls === void 0 || (_mapControls$mapDraw = mapControls.mapDraw) === null || _mapControls$mapDraw === void 0 ? void 0 : _mapControls$mapDraw.active;
|
|
45
|
+
var hasSketchFeatures = Boolean(editor === null || editor === void 0 || (_editor$features = editor.features) === null || _editor$features === void 0 ? void 0 : _editor$features.length);
|
|
46
|
+
var enableSketches = getApplicationConfig().enableDrawOnMapSketches;
|
|
31
47
|
var onToggleMenuPanel = useCallback(function () {
|
|
32
48
|
if (!isActive) {
|
|
33
49
|
onSetEditorMode(EDITOR_MODES.DRAW_RECTANGLE);
|
|
34
50
|
}
|
|
35
51
|
onToggleMapControl('mapDraw');
|
|
36
52
|
}, [isActive, onToggleMapControl, onSetEditorMode]);
|
|
53
|
+
var onCopyAllGeometry = useCallback(function () {
|
|
54
|
+
var _editor$features2;
|
|
55
|
+
if (!(editor !== null && editor !== void 0 && (_editor$features2 = editor.features) !== null && _editor$features2 !== void 0 && _editor$features2.length)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
copy(JSON.stringify(editorFeaturesToFeatureCollection(editor.features)));
|
|
59
|
+
}, [editor === null || editor === void 0 ? void 0 : editor.features]);
|
|
37
60
|
if (!(mapControls !== null && mapControls !== void 0 && (_mapControls$mapDraw2 = mapControls.mapDraw) !== null && _mapControls$mapDraw2 !== void 0 && _mapControls$mapDraw2.show)) {
|
|
38
61
|
return null;
|
|
39
62
|
}
|
|
40
|
-
return /*#__PURE__*/React.createElement(
|
|
41
|
-
className: "map-draw-controls"
|
|
42
|
-
style: {
|
|
43
|
-
position: 'relative'
|
|
44
|
-
}
|
|
63
|
+
return /*#__PURE__*/React.createElement(DrawControls, {
|
|
64
|
+
className: "map-draw-controls"
|
|
45
65
|
}, isActive ? /*#__PURE__*/React.createElement(MapControlToolbar, {
|
|
46
66
|
$show: isActive
|
|
47
67
|
}, /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
@@ -52,7 +72,23 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
52
72
|
label: "toolbar.select",
|
|
53
73
|
icon: actionIcons.cursor,
|
|
54
74
|
active: editor.mode === EDITOR_MODES.EDIT
|
|
55
|
-
}), /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
75
|
+
}), enableSketches ? /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
76
|
+
className: "draw-point",
|
|
77
|
+
onClick: function onClick() {
|
|
78
|
+
return onSetEditorMode(EDITOR_MODES.DRAW_POINT);
|
|
79
|
+
},
|
|
80
|
+
label: "toolbar.point",
|
|
81
|
+
icon: actionIcons.point,
|
|
82
|
+
active: editor.mode === EDITOR_MODES.DRAW_POINT
|
|
83
|
+
}) : null, enableSketches ? /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
84
|
+
className: "draw-line",
|
|
85
|
+
onClick: function onClick() {
|
|
86
|
+
return onSetEditorMode(EDITOR_MODES.DRAW_LINESTRING);
|
|
87
|
+
},
|
|
88
|
+
label: "toolbar.line",
|
|
89
|
+
icon: actionIcons.line,
|
|
90
|
+
active: editor.mode === EDITOR_MODES.DRAW_LINESTRING
|
|
91
|
+
}) : null, /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
56
92
|
className: "draw-feature",
|
|
57
93
|
onClick: function onClick() {
|
|
58
94
|
return onSetEditorMode(EDITOR_MODES.DRAW_POLYGON);
|
|
@@ -68,7 +104,23 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
68
104
|
label: "toolbar.rectangle",
|
|
69
105
|
icon: actionIcons.rectangle,
|
|
70
106
|
active: editor.mode === EDITOR_MODES.DRAW_RECTANGLE
|
|
71
|
-
})
|
|
107
|
+
}), enableSketches ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ToolbarSeparator, null), /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
108
|
+
className: "copy-all-geometry",
|
|
109
|
+
onClick: onCopyAllGeometry,
|
|
110
|
+
label: "toolbar.copyAll",
|
|
111
|
+
tooltip: "tooltip.copyAllSketches",
|
|
112
|
+
icon: actionIcons.copy,
|
|
113
|
+
disabled: !hasSketchFeatures
|
|
114
|
+
}), /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
115
|
+
className: "convert-to-layer",
|
|
116
|
+
onClick: function onClick() {
|
|
117
|
+
return onConvertEditorFeaturesToLayer === null || onConvertEditorFeaturesToLayer === void 0 ? void 0 : onConvertEditorFeaturesToLayer();
|
|
118
|
+
},
|
|
119
|
+
label: "toolbar.convertToLayer",
|
|
120
|
+
tooltip: "tooltip.convertToLayer",
|
|
121
|
+
icon: actionIcons.layers,
|
|
122
|
+
disabled: !hasSketchFeatures
|
|
123
|
+
})) : null) : null, /*#__PURE__*/React.createElement(MapControlTooltip, {
|
|
72
124
|
id: "map-draw",
|
|
73
125
|
message: "tooltip.DrawOnMap"
|
|
74
126
|
}, /*#__PURE__*/React.createElement(MapControlButton, {
|
|
@@ -88,4 +140,4 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
88
140
|
return MapDrawPanel;
|
|
89
141
|
}
|
|
90
142
|
export default MapDrawPanelFactory;
|
|
91
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwiY2xhc3NuYW1lcyIsIkVESVRPUl9NT0RFUyIsIkN1cnNvckNsaWNrIiwiRHJhd1BvbHlnb24iLCJFeWVTZWVuIiwiRXllVW5zZWVuIiwiUG9seWdvbiIsIlJlY3RhbmdsZSIsIk1hcENvbnRyb2xCdXR0b24iLCJUb29sYmFySXRlbSIsIk1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSIsIk1hcENvbnRyb2xUb29sYmFyRmFjdG9yeSIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXAiLCJNYXBDb250cm9sVG9vbGJhciIsImRlZmF1bHRBY3Rpb25JY29ucyIsInZpc2libGUiLCJoaWRkZW4iLCJwb2x5Z29uIiwiY3Vyc29yIiwiaW5uZXJQb2x5Z29uIiwicmVjdGFuZ2xlIiwiTWFwRHJhd1BhbmVsIiwibWVtbyIsIl9yZWYiLCJfbWFwQ29udHJvbHMkbWFwRHJhdyIsIl9tYXBDb250cm9scyRtYXBEcmF3MiIsImVkaXRvciIsIm1hcENvbnRyb2xzIiwib25Ub2dnbGVNYXBDb250cm9sIiwib25TZXRFZGl0b3JNb2RlIiwiX3JlZiRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiaXNBY3RpdmUiLCJtYXBEcmF3IiwiYWN0aXZlIiwib25Ub2dnbGVNZW51UGFuZWwiLCJEUkFXX1JFQ1RBTkdMRSIsInNob3ciLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJwb3NpdGlvbiIsIiRzaG93Iiwib25DbGljayIsIkVESVQiLCJsYWJlbCIsImljb24iLCJtb2RlIiwiRFJBV19QT0xZR09OIiwiaWQiLCJtZXNzYWdlIiwiZSIsInByZXZlbnREZWZhdWx0IiwiaGVpZ2h0IiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFwL21hcC1kcmF3LXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7RURJVE9SX01PREVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0N1cnNvckNsaWNrLCBEcmF3UG9seWdvbiwgRXllU2VlbiwgRXllVW5zZWVuLCBQb2x5Z29uLCBSZWN0YW5nbGV9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgVG9vbGJhckl0ZW0gZnJvbSAnLi4vY29tbW9uL3Rvb2xiYXItaXRlbSc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtdG9vbHRpcCc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtdG9vbGJhcic7XG5pbXBvcnQge0VkaXRvciwgTWFwQ29udHJvbHN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtCYXNlUHJvcHN9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5cbk1hcERyYXdQYW5lbEZhY3RvcnkuZGVwcyA9IFtNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksIE1hcENvbnRyb2xUb29sYmFyRmFjdG9yeV07XG5cbmV4cG9ydCB0eXBlIE1hcERyYXdQYW5lbFByb3BzID0ge1xuICBlZGl0b3I6IEVkaXRvcjtcbiAgbWFwQ29udHJvbHM6IE1hcENvbnRyb2xzO1xuICBvblRvZ2dsZU1hcENvbnRyb2w6IChjb250cm9sOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uU2V0RWRpdG9yTW9kZTogKG1vZGU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub2dnbGVFZGl0b3JWaXNpYmlsaXR5OiAoKSA9PiB2b2lkO1xuICBhY3Rpb25JY29uczoge1tpZDogc3RyaW5nXTogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+fTtcbn07XG5cbmZ1bmN0aW9uIE1hcERyYXdQYW5lbEZhY3RvcnkoXG4gIE1hcENvbnRyb2xUb29sdGlwOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3Rvcnk+LFxuICBNYXBDb250cm9sVG9vbGJhcjogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgICB2aXNpYmxlOiBFeWVTZWVuLFxuICAgIGhpZGRlbjogRXllVW5zZWVuLFxuICAgIHBvbHlnb246IERyYXdQb2x5Z29uLFxuICAgIGN1cnNvcjogQ3Vyc29yQ2xpY2ssXG4gICAgaW5uZXJQb2x5Z29uOiBQb2x5Z29uLFxuICAgIHJlY3RhbmdsZTogUmVjdGFuZ2xlXG4gIH07XG5cbiAgY29uc3QgTWFwRHJhd1BhbmVsOiBSZWFjdC5GQzxNYXBEcmF3UGFuZWxQcm9wcz4gPSBSZWFjdC5tZW1vKFxuICAgICh7XG4gICAgICBlZGl0b3IsXG4gICAgICBtYXBDb250cm9scyxcbiAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCxcbiAgICAgIG9uU2V0RWRpdG9yTW9kZSxcbiAgICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgaXNBY3RpdmUgPSBtYXBDb250cm9scz8ubWFwRHJhdz8uYWN0aXZlO1xuICAgICAgY29uc3Qgb25Ub2dnbGVNZW51UGFuZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfUkVDVEFOR0xFKTtcbiAgICAgICAgfVxuICAgICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcERyYXcnKTtcbiAgICAgIH0sIFtpc0FjdGl2ZSwgb25Ub2dnbGVNYXBDb250cm9sLCBvblNldEVkaXRvck1vZGVdKTtcbiAgICAgIGlmICghbWFwQ29udHJvbHM/Lm1hcERyYXc/LnNob3cpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1hcC1kcmF3LWNvbnRyb2xzXCIgc3R5bGU9e3twb3NpdGlvbjogJ3JlbGF0aXZlJ319PlxuICAgICAgICAgIHtpc0FjdGl2ZSA/IChcbiAgICAgICAgICAgIDxNYXBDb250cm9sVG9vbGJhciAkc2hvdz17aXNBY3RpdmV9PlxuICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlZGl0LWZlYXR1cmVcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2V0RWRpdG9yTW9kZShFRElUT1JfTU9ERVMuRURJVCl9XG4gICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLnNlbGVjdFwiXG4gICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMuY3Vyc29yfVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5FRElUfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcmF3LWZlYXR1cmVcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2V0RWRpdG9yTW9kZShFRElUT1JfTU9ERVMuRFJBV19QT0xZR09OKX1cbiAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIucG9seWdvblwiXG4gICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMuaW5uZXJQb2x5Z29ufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5EUkFXX1BPTFlHT059XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctcmVjdGFuZ2xlXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfUkVDVEFOR0xFKX1cbiAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIucmVjdGFuZ2xlXCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5yZWN0YW5nbGV9XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkRSQVdfUkVDVEFOR0xFfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9NYXBDb250cm9sVG9vbGJhcj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXAgaWQ9XCJtYXAtZHJhd1wiIG1lc3NhZ2U9XCJ0b29sdGlwLkRyYXdPbk1hcFwiPlxuICAgICAgICAgICAgPE1hcENvbnRyb2xCdXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCAnbWFwLWRyYXcnLCB7aXNBY3RpdmV9KX1cbiAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG9uVG9nZ2xlTWVudVBhbmVsKCk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxhY3Rpb25JY29ucy5wb2x5Z29uIGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgPC9NYXBDb250cm9sQnV0dG9uPlxuICAgICAgICAgIDwvTWFwQ29udHJvbFRvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gICk7XG5cbiAgTWFwRHJhd1BhbmVsLmRpc3BsYXlOYW1lID0gJ01hcERyYXdQYW5lbCc7XG4gIHJldHVybiBNYXBEcmF3UGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcERyYXdQYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLFFBQU8sT0FBTztBQUN4QyxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUVuQyxTQUFRQyxZQUFZLFFBQU8sc0JBQXNCO0FBQ2pELFNBQVFDLFdBQVcsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxTQUFTLFFBQU8saUJBQWlCO0FBQ2hHLFNBQVFDLGdCQUFnQixRQUFPLDZCQUE2QjtBQUM1RCxPQUFPQyxXQUFXLE1BQU0sd0JBQXdCO0FBQ2hELE9BQU9DLHdCQUF3QixNQUFNLHVCQUF1QjtBQUM1RCxPQUFPQyx3QkFBd0IsTUFBTSx1QkFBdUI7QUFJNURDLG1CQUFtQixDQUFDQyxJQUFJLEdBQUcsQ0FBQ0gsd0JBQXdCLEVBQUVDLHdCQUF3QixDQUFDO0FBVy9FLFNBQVNDLG1CQUFtQkEsQ0FDMUJFLGlCQUE4RCxFQUM5REMsaUJBQThELEVBQzlEO0VBQ0EsSUFBTUMsa0JBQWtCLEdBQUc7SUFDekJDLE9BQU8sRUFBRWIsT0FBTztJQUNoQmMsTUFBTSxFQUFFYixTQUFTO0lBQ2pCYyxPQUFPLEVBQUVoQixXQUFXO0lBQ3BCaUIsTUFBTSxFQUFFbEIsV0FBVztJQUNuQm1CLFlBQVksRUFBRWYsT0FBTztJQUNyQmdCLFNBQVMsRUFBRWY7RUFDYixDQUFDO0VBRUQsSUFBTWdCLFlBQXlDLGdCQUFHekIsS0FBSyxDQUFDMEIsSUFBSSxDQUMxRCxVQUFBQyxJQUFBLEVBTU07SUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtJQUFBLElBTEpDLE1BQU0sR0FBQUgsSUFBQSxDQUFORyxNQUFNO01BQ05DLFdBQVcsR0FBQUosSUFBQSxDQUFYSSxXQUFXO01BQ1hDLGtCQUFrQixHQUFBTCxJQUFBLENBQWxCSyxrQkFBa0I7TUFDbEJDLGVBQWUsR0FBQU4sSUFBQSxDQUFmTSxlQUFlO01BQUFDLGdCQUFBLEdBQUFQLElBQUEsQ0FDZlEsV0FBVztNQUFYQSxXQUFXLEdBQUFELGdCQUFBLGNBQUdoQixrQkFBa0IsR0FBQWdCLGdCQUFBO0lBRWhDLElBQU1FLFFBQVEsR0FBR0wsV0FBVyxhQUFYQSxXQUFXLGdCQUFBSCxvQkFBQSxHQUFYRyxXQUFXLENBQUVNLE9BQU8sY0FBQVQsb0JBQUEsdUJBQXBCQSxvQkFBQSxDQUFzQlUsTUFBTTtJQUM3QyxJQUFNQyxpQkFBaUIsR0FBR3RDLFdBQVcsQ0FBQyxZQUFNO01BQzFDLElBQUksQ0FBQ21DLFFBQVEsRUFBRTtRQUNiSCxlQUFlLENBQUM5QixZQUFZLENBQUNxQyxjQUFjLENBQUM7TUFDOUM7TUFDQVIsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0lBQy9CLENBQUMsRUFBRSxDQUFDSSxRQUFRLEVBQUVKLGtCQUFrQixFQUFFQyxlQUFlLENBQUMsQ0FBQztJQUNuRCxJQUFJLEVBQUNGLFdBQVcsYUFBWEEsV0FBVyxnQkFBQUYscUJBQUEsR0FBWEUsV0FBVyxDQUFFTSxPQUFPLGNBQUFSLHFCQUFBLGVBQXBCQSxxQkFBQSxDQUFzQlksSUFBSSxHQUFFO01BQy9CLE9BQU8sSUFBSTtJQUNiO0lBQ0Esb0JBQ0V6QyxLQUFBLENBQUEwQyxhQUFBO01BQUtDLFNBQVMsRUFBQyxtQkFBbUI7TUFBQ0MsS0FBSyxFQUFFO1FBQUNDLFFBQVEsRUFBRTtNQUFVO0lBQUUsR0FDOURULFFBQVEsZ0JBQ1BwQyxLQUFBLENBQUEwQyxhQUFBLENBQUN6QixpQkFBaUI7TUFBQzZCLEtBQUssRUFBRVY7SUFBUyxnQkFDakNwQyxLQUFBLENBQUEwQyxhQUFBLENBQUMvQixXQUFXO01BQ1ZnQyxTQUFTLEVBQUMsY0FBYztNQUN4QkksT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRZCxlQUFlLENBQUM5QixZQUFZLENBQUM2QyxJQUFJLENBQUM7TUFBQSxDQUFDO01BQ2xEQyxLQUFLLEVBQUMsZ0JBQWdCO01BQ3RCQyxJQUFJLEVBQUVmLFdBQVcsQ0FBQ2IsTUFBTztNQUN6QmdCLE1BQU0sRUFBRVIsTUFBTSxDQUFDcUIsSUFBSSxLQUFLaEQsWUFBWSxDQUFDNkM7SUFBSyxDQUMzQyxDQUFDLGVBQ0ZoRCxLQUFBLENBQUEwQyxhQUFBLENBQUMvQixXQUFXO01BQ1ZnQyxTQUFTLEVBQUMsY0FBYztNQUN4QkksT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRZCxlQUFlLENBQUM5QixZQUFZLENBQUNpRCxZQUFZLENBQUM7TUFBQSxDQUFDO01BQzFESCxLQUFLLEVBQUMsaUJBQWlCO01BQ3ZCQyxJQUFJLEVBQUVmLFdBQVcsQ0FBQ1osWUFBYTtNQUMvQmUsTUFBTSxFQUFFUixNQUFNLENBQUNxQixJQUFJLEtBQUtoRCxZQUFZLENBQUNpRDtJQUFhLENBQ25ELENBQUMsZUFDRnBELEtBQUEsQ0FBQTBDLGFBQUEsQ0FBQy9CLFdBQVc7TUFDVmdDLFNBQVMsRUFBQyxnQkFBZ0I7TUFDMUJJLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1FBQUEsT0FBUWQsZUFBZSxDQUFDOUIsWUFBWSxDQUFDcUMsY0FBYyxDQUFDO01BQUEsQ0FBQztNQUM1RFMsS0FBSyxFQUFDLG1CQUFtQjtNQUN6QkMsSUFBSSxFQUFFZixXQUFXLENBQUNYLFNBQVU7TUFDNUJjLE1BQU0sRUFBRVIsTUFBTSxDQUFDcUIsSUFBSSxLQUFLaEQsWUFBWSxDQUFDcUM7SUFBZSxDQUNyRCxDQUNnQixDQUFDLEdBQ2xCLElBQUksZUFDUnhDLEtBQUEsQ0FBQTBDLGFBQUEsQ0FBQzFCLGlCQUFpQjtNQUFDcUMsRUFBRSxFQUFDLFVBQVU7TUFBQ0MsT0FBTyxFQUFDO0lBQW1CLGdCQUMxRHRELEtBQUEsQ0FBQTBDLGFBQUEsQ0FBQ2hDLGdCQUFnQjtNQUNmaUMsU0FBUyxFQUFFekMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLFVBQVUsRUFBRTtRQUFDa0MsUUFBUSxFQUFSQTtNQUFRLENBQUMsQ0FBRTtNQUNwRVcsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUVRLENBQUMsRUFBSTtRQUNaQSxDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xCakIsaUJBQWlCLENBQUMsQ0FBQztNQUNyQixDQUFFO01BQ0ZELE1BQU0sRUFBRUY7SUFBUyxnQkFFakJwQyxLQUFBLENBQUEwQyxhQUFBLENBQUNQLFdBQVcsQ0FBQ2QsT0FBTztNQUFDb0MsTUFBTSxFQUFDO0lBQU0sQ0FBRSxDQUNwQixDQUNELENBQ2hCLENBQUM7RUFFVixDQUNGLENBQUM7RUFFRGhDLFlBQVksQ0FBQ2lDLFdBQVcsR0FBRyxjQUFjO0VBQ3pDLE9BQU9qQyxZQUFZO0FBQ3JCO0FBRUEsZUFBZVgsbUJBQW1CIiwiaWdub3JlTGlzdCI6W119
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwiY2xhc3NuYW1lcyIsImNvcHkiLCJzdHlsZWQiLCJFRElUT1JfTU9ERVMiLCJlZGl0b3JGZWF0dXJlc1RvRmVhdHVyZUNvbGxlY3Rpb24iLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsIkNvcHkiLCJDdXJzb3JDbGljayIsIkRyYXdQb2ludCIsIkRyYXdQb2x5Z29uIiwiRXllU2VlbiIsIkV5ZVVuc2VlbiIsIkxheWVycyIsIkxpbmVTdHJpbmciLCJQb2x5Z29uIiwiUmVjdGFuZ2xlIiwiTWFwQ29udHJvbEJ1dHRvbiIsIlRvb2xiYXJJdGVtIiwiTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5IiwiVG9vbGJhclNlcGFyYXRvciIsImRpdiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJwcm9wcyIsInRoZW1lIiwicGFuZWxIZWFkZXJJY29uIiwiRHJhd0NvbnRyb2xzIiwiX3RlbXBsYXRlT2JqZWN0MiIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXAiLCJNYXBDb250cm9sVG9vbGJhciIsImRlZmF1bHRBY3Rpb25JY29ucyIsInZpc2libGUiLCJoaWRkZW4iLCJwb2x5Z29uIiwiY3Vyc29yIiwiaW5uZXJQb2x5Z29uIiwicmVjdGFuZ2xlIiwicG9pbnQiLCJsaW5lIiwibGF5ZXJzIiwiTWFwRHJhd1BhbmVsIiwibWVtbyIsIl9yZWYiLCJfbWFwQ29udHJvbHMkbWFwRHJhdyIsIl9lZGl0b3IkZmVhdHVyZXMiLCJfbWFwQ29udHJvbHMkbWFwRHJhdzIiLCJlZGl0b3IiLCJtYXBDb250cm9scyIsIm9uVG9nZ2xlTWFwQ29udHJvbCIsIm9uU2V0RWRpdG9yTW9kZSIsIm9uQ29udmVydEVkaXRvckZlYXR1cmVzVG9MYXllciIsIl9yZWYkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsImlzQWN0aXZlIiwibWFwRHJhdyIsImFjdGl2ZSIsImhhc1NrZXRjaEZlYXR1cmVzIiwiQm9vbGVhbiIsImZlYXR1cmVzIiwibGVuZ3RoIiwiZW5hYmxlU2tldGNoZXMiLCJlbmFibGVEcmF3T25NYXBTa2V0Y2hlcyIsIm9uVG9nZ2xlTWVudVBhbmVsIiwiRFJBV19SRUNUQU5HTEUiLCJvbkNvcHlBbGxHZW9tZXRyeSIsIl9lZGl0b3IkZmVhdHVyZXMyIiwiSlNPTiIsInN0cmluZ2lmeSIsInNob3ciLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiJHNob3ciLCJvbkNsaWNrIiwiRURJVCIsImxhYmVsIiwiaWNvbiIsIm1vZGUiLCJEUkFXX1BPSU5UIiwiRFJBV19MSU5FU1RSSU5HIiwiRFJBV19QT0xZR09OIiwiRnJhZ21lbnQiLCJ0b29sdGlwIiwiZGlzYWJsZWQiLCJpZCIsIm1lc3NhZ2UiLCJlIiwicHJldmVudERlZmF1bHQiLCJoZWlnaHQiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXAvbWFwLWRyYXctcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBjb3B5IGZyb20gJ2NvcHktdG8tY2xpcGJvYXJkJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0VESVRPUl9NT0RFU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtlZGl0b3JGZWF0dXJlc1RvRmVhdHVyZUNvbGxlY3Rpb24sIGdldEFwcGxpY2F0aW9uQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7XG4gIENvcHksXG4gIEN1cnNvckNsaWNrLFxuICBEcmF3UG9pbnQsXG4gIERyYXdQb2x5Z29uLFxuICBFeWVTZWVuLFxuICBFeWVVbnNlZW4sXG4gIExheWVycyxcbiAgTGluZVN0cmluZyxcbiAgUG9seWdvbixcbiAgUmVjdGFuZ2xlXG59IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgVG9vbGJhckl0ZW0gZnJvbSAnLi4vY29tbW9uL3Rvb2xiYXItaXRlbSc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtdG9vbHRpcCc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtdG9vbGJhcic7XG5pbXBvcnQge0VkaXRvciwgTWFwQ29udHJvbHN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtCYXNlUHJvcHN9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5cbmNvbnN0IFRvb2xiYXJTZXBhcmF0b3IgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiA0cHggMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckljb259O1xuICBvcGFjaXR5OiAwLjI7XG5gO1xuXG5jb25zdCBEcmF3Q29udHJvbHMgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNvbnZlcnQtdG8tbGF5ZXIgLnRvb2xiYXItaXRlbV9fdGl0bGUge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG5gO1xuXG5NYXBEcmF3UGFuZWxGYWN0b3J5LmRlcHMgPSBbTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5LCBNYXBDb250cm9sVG9vbGJhckZhY3RvcnldO1xuXG5leHBvcnQgdHlwZSBNYXBEcmF3UGFuZWxQcm9wcyA9IHtcbiAgZWRpdG9yOiBFZGl0b3I7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBvblNldEVkaXRvck1vZGU6IChtb2RlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRWRpdG9yVmlzaWJpbGl0eTogKCkgPT4gdm9pZDtcbiAgb25Db252ZXJ0RWRpdG9yRmVhdHVyZXNUb0xheWVyPzogKCkgPT4gdm9pZDtcbiAgYWN0aW9uSWNvbnM6IHtbaWQ6IHN0cmluZ106IFJlYWN0LkNvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+Pn07XG59O1xuXG5mdW5jdGlvbiBNYXBEcmF3UGFuZWxGYWN0b3J5KFxuICBNYXBDb250cm9sVG9vbHRpcDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5PixcbiAgTWFwQ29udHJvbFRvb2xiYXI6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sYmFyRmFjdG9yeT5cbikge1xuICBjb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gICAgdmlzaWJsZTogRXllU2VlbixcbiAgICBoaWRkZW46IEV5ZVVuc2VlbixcbiAgICBwb2x5Z29uOiBEcmF3UG9seWdvbixcbiAgICBjdXJzb3I6IEN1cnNvckNsaWNrLFxuICAgIGlubmVyUG9seWdvbjogUG9seWdvbixcbiAgICByZWN0YW5nbGU6IFJlY3RhbmdsZSxcbiAgICBwb2ludDogRHJhd1BvaW50LFxuICAgIGxpbmU6IExpbmVTdHJpbmcsXG4gICAgY29weTogQ29weSxcbiAgICBsYXllcnM6IExheWVyc1xuICB9O1xuXG4gIGNvbnN0IE1hcERyYXdQYW5lbDogUmVhY3QuRkM8TWFwRHJhd1BhbmVsUHJvcHM+ID0gUmVhY3QubWVtbyhcbiAgICAoe1xuICAgICAgZWRpdG9yLFxuICAgICAgbWFwQ29udHJvbHMsXG4gICAgICBvblRvZ2dsZU1hcENvbnRyb2wsXG4gICAgICBvblNldEVkaXRvck1vZGUsXG4gICAgICBvbkNvbnZlcnRFZGl0b3JGZWF0dXJlc1RvTGF5ZXIsXG4gICAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29uc1xuICAgIH0pID0+IHtcbiAgICAgIGNvbnN0IGlzQWN0aXZlID0gbWFwQ29udHJvbHM/Lm1hcERyYXc/LmFjdGl2ZTtcbiAgICAgIGNvbnN0IGhhc1NrZXRjaEZlYXR1cmVzID0gQm9vbGVhbihlZGl0b3I/LmZlYXR1cmVzPy5sZW5ndGgpO1xuICAgICAgY29uc3QgZW5hYmxlU2tldGNoZXMgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZURyYXdPbk1hcFNrZXRjaGVzO1xuICAgICAgY29uc3Qgb25Ub2dnbGVNZW51UGFuZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfUkVDVEFOR0xFKTtcbiAgICAgICAgfVxuICAgICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcERyYXcnKTtcbiAgICAgIH0sIFtpc0FjdGl2ZSwgb25Ub2dnbGVNYXBDb250cm9sLCBvblNldEVkaXRvck1vZGVdKTtcbiAgICAgIGNvbnN0IG9uQ29weUFsbEdlb21ldHJ5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIWVkaXRvcj8uZmVhdHVyZXM/Lmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb3B5KEpTT04uc3RyaW5naWZ5KGVkaXRvckZlYXR1cmVzVG9GZWF0dXJlQ29sbGVjdGlvbihlZGl0b3IuZmVhdHVyZXMpKSk7XG4gICAgICB9LCBbZWRpdG9yPy5mZWF0dXJlc10pO1xuICAgICAgaWYgKCFtYXBDb250cm9scz8ubWFwRHJhdz8uc2hvdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxEcmF3Q29udHJvbHMgY2xhc3NOYW1lPVwibWFwLWRyYXctY29udHJvbHNcIj5cbiAgICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgICA8TWFwQ29udHJvbFRvb2xiYXIgJHNob3c9e2lzQWN0aXZlfT5cbiAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZWRpdC1mZWF0dXJlXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkVESVQpfVxuICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5zZWxlY3RcIlxuICAgICAgICAgICAgICAgIGljb249e2FjdGlvbkljb25zLmN1cnNvcn1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2VkaXRvci5tb2RlID09PSBFRElUT1JfTU9ERVMuRURJVH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAge2VuYWJsZVNrZXRjaGVzID8gKFxuICAgICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZHJhdy1wb2ludFwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfUE9JTlQpfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLnBvaW50XCJcbiAgICAgICAgICAgICAgICAgIGljb249e2FjdGlvbkljb25zLnBvaW50fVxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkRSQVdfUE9JTlR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIHtlbmFibGVTa2V0Y2hlcyA/IChcbiAgICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctbGluZVwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfTElORVNUUklORyl9XG4gICAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIubGluZVwiXG4gICAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5saW5lfVxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkRSQVdfTElORVNUUklOR31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZHJhdy1mZWF0dXJlXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfUE9MWUdPTil9XG4gICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLnBvbHlnb25cIlxuICAgICAgICAgICAgICAgIGljb249e2FjdGlvbkljb25zLmlubmVyUG9seWdvbn1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2VkaXRvci5tb2RlID09PSBFRElUT1JfTU9ERVMuRFJBV19QT0xZR09OfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcmF3LXJlY3RhbmdsZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX1JFQ1RBTkdMRSl9XG4gICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLnJlY3RhbmdsZVwiXG4gICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMucmVjdGFuZ2xlfVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5EUkFXX1JFQ1RBTkdMRX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAge2VuYWJsZVNrZXRjaGVzID8gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8VG9vbGJhclNlcGFyYXRvciAvPlxuICAgICAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvcHktYWxsLWdlb21ldHJ5XCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5QWxsR2VvbWV0cnl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5jb3B5QWxsXCJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcD1cInRvb2x0aXAuY29weUFsbFNrZXRjaGVzXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMuY29weX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFoYXNTa2V0Y2hGZWF0dXJlc31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY29udmVydC10by1sYXllclwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ29udmVydEVkaXRvckZlYXR1cmVzVG9MYXllcj8uKCl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5jb252ZXJ0VG9MYXllclwiXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9XCJ0b29sdGlwLmNvbnZlcnRUb0xheWVyXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMubGF5ZXJzfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17IWhhc1NrZXRjaEZlYXR1cmVzfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L01hcENvbnRyb2xUb29sYmFyPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxNYXBDb250cm9sVG9vbHRpcCBpZD1cIm1hcC1kcmF3XCIgbWVzc2FnZT1cInRvb2x0aXAuRHJhd09uTWFwXCI+XG4gICAgICAgICAgICA8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ21hcC1jb250cm9sLWJ1dHRvbicsICdtYXAtZHJhdycsIHtpc0FjdGl2ZX0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgb25Ub2dnbGVNZW51UGFuZWwoKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgYWN0aXZlPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGFjdGlvbkljb25zLnBvbHlnb24gaGVpZ2h0PVwiMThweFwiIC8+XG4gICAgICAgICAgICA8L01hcENvbnRyb2xCdXR0b24+XG4gICAgICAgICAgPC9NYXBDb250cm9sVG9vbHRpcD5cbiAgICAgICAgPC9EcmF3Q29udHJvbHM+XG4gICAgICApO1xuICAgIH1cbiAgKTtcblxuICBNYXBEcmF3UGFuZWwuZGlzcGxheU5hbWUgPSAnTWFwRHJhd1BhbmVsJztcbiAgcmV0dXJuIE1hcERyYXdQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwRHJhd1BhbmVsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNB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
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright contributors to the kepler.gl project
|
|
3
|
+
|
|
4
|
+
import React, { useCallback } from 'react';
|
|
5
|
+
import classnames from 'classnames';
|
|
6
|
+
import { THEME } from '@kepler.gl/constants';
|
|
7
|
+
import { getApplicationConfig } from '@kepler.gl/utils';
|
|
8
|
+
import { Moon, Sun } from '../common/icons';
|
|
9
|
+
import { MapControlButton } from '../common/styled-components';
|
|
10
|
+
import MapControlTooltipFactory from './map-control-tooltip';
|
|
11
|
+
ThemeToggleButtonFactory.deps = [MapControlTooltipFactory];
|
|
12
|
+
function ThemeToggleButtonFactory(MapControlTooltip) {
|
|
13
|
+
var defaultActionIcons = {
|
|
14
|
+
sun: Sun,
|
|
15
|
+
moon: Moon
|
|
16
|
+
};
|
|
17
|
+
var ThemeToggleButton = function ThemeToggleButton(_ref) {
|
|
18
|
+
var _mapControls$mapTheme;
|
|
19
|
+
var _ref$themeName = _ref.themeName,
|
|
20
|
+
themeName = _ref$themeName === void 0 ? THEME.dark : _ref$themeName,
|
|
21
|
+
onSetTheme = _ref.onSetTheme,
|
|
22
|
+
mapControls = _ref.mapControls,
|
|
23
|
+
_ref$actionIcons = _ref.actionIcons,
|
|
24
|
+
actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons;
|
|
25
|
+
var isLight = themeName === THEME.light;
|
|
26
|
+
var onClick = useCallback(function (event) {
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
onSetTheme(isLight ? THEME.dark : THEME.light);
|
|
29
|
+
}, [isLight, onSetTheme]);
|
|
30
|
+
if (!getApplicationConfig().enableThemeToggle) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
var showControl = mapControls === null || mapControls === void 0 || (_mapControls$mapTheme = mapControls.mapTheme) === null || _mapControls$mapTheme === void 0 ? void 0 : _mapControls$mapTheme.show;
|
|
34
|
+
if (!showControl) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
var Icon = isLight ? actionIcons.moon : actionIcons.sun;
|
|
38
|
+
return /*#__PURE__*/React.createElement(MapControlTooltip, {
|
|
39
|
+
id: "toggle-theme",
|
|
40
|
+
message: isLight ? 'tooltip.switchToDarkTheme' : 'tooltip.switchToLightTheme'
|
|
41
|
+
}, /*#__PURE__*/React.createElement(MapControlButton, {
|
|
42
|
+
className: classnames('map-control-button', 'toggle-theme', {
|
|
43
|
+
light: isLight
|
|
44
|
+
}),
|
|
45
|
+
onClick: onClick,
|
|
46
|
+
active: isLight
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
48
|
+
height: "18px"
|
|
49
|
+
})));
|
|
50
|
+
};
|
|
51
|
+
ThemeToggleButton.displayName = 'ThemeToggleButton';
|
|
52
|
+
return /*#__PURE__*/React.memo(ThemeToggleButton);
|
|
53
|
+
}
|
|
54
|
+
export default ThemeToggleButtonFactory;
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwiY2xhc3NuYW1lcyIsIlRIRU1FIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJNb29uIiwiU3VuIiwiTWFwQ29udHJvbEJ1dHRvbiIsIk1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSIsIlRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcCIsImRlZmF1bHRBY3Rpb25JY29ucyIsInN1biIsIm1vb24iLCJUaGVtZVRvZ2dsZUJ1dHRvbiIsIl9yZWYiLCJfbWFwQ29udHJvbHMkbWFwVGhlbWUiLCJfcmVmJHRoZW1lTmFtZSIsInRoZW1lTmFtZSIsImRhcmsiLCJvblNldFRoZW1lIiwibWFwQ29udHJvbHMiLCJfcmVmJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJpc0xpZ2h0IiwibGlnaHQiLCJvbkNsaWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImVuYWJsZVRoZW1lVG9nZ2xlIiwic2hvd0NvbnRyb2wiLCJtYXBUaGVtZSIsInNob3ciLCJJY29uIiwiY3JlYXRlRWxlbWVudCIsImlkIiwibWVzc2FnZSIsImNsYXNzTmFtZSIsImFjdGl2ZSIsImhlaWdodCIsImRpc3BsYXlOYW1lIiwibWVtbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXAvdGhlbWUtdG9nZ2xlLWJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50VHlwZSwgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQge1RIRU1FfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge01hcENvbnRyb2xzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5pbXBvcnQge01vb24sIFN1bn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7TWFwQ29udHJvbEJ1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcblxuaW50ZXJmYWNlIFRoZW1lVG9nZ2xlQnV0dG9uSWNvbnMge1xuICBzdW46IENvbXBvbmVudFR5cGU8YW55PjtcbiAgbW9vbjogQ29tcG9uZW50VHlwZTxhbnk+O1xufVxuXG5leHBvcnQgdHlwZSBUaGVtZVRvZ2dsZUJ1dHRvblByb3BzID0ge1xuICB0aGVtZU5hbWU/OiBzdHJpbmc7XG4gIG9uU2V0VGhlbWU6ICh0aGVtZTogc3RyaW5nKSA9PiB2b2lkO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIGFjdGlvbkljb25zPzogVGhlbWVUb2dnbGVCdXR0b25JY29ucztcbn07XG5cblRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeV07XG5cbmZ1bmN0aW9uIFRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeShcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT5cbikge1xuICBjb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gICAgc3VuOiBTdW4sXG4gICAgbW9vbjogTW9vblxuICB9O1xuXG4gIGNvbnN0IFRoZW1lVG9nZ2xlQnV0dG9uOiBSZWFjdC5GQzxUaGVtZVRvZ2dsZUJ1dHRvblByb3BzPiA9ICh7XG4gICAgdGhlbWVOYW1lID0gVEhFTUUuZGFyayxcbiAgICBvblNldFRoZW1lLFxuICAgIG1hcENvbnRyb2xzLFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gIH0pID0+IHtcbiAgICBjb25zdCBpc0xpZ2h0ID0gdGhlbWVOYW1lID09PSBUSEVNRS5saWdodDtcblxuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25TZXRUaGVtZShpc0xpZ2h0ID8gVEhFTUUuZGFyayA6IFRIRU1FLmxpZ2h0KTtcbiAgICAgIH0sXG4gICAgICBbaXNMaWdodCwgb25TZXRUaGVtZV1cbiAgICApO1xuXG4gICAgaWYgKCFnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZVRoZW1lVG9nZ2xlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzaG93Q29udHJvbCA9IG1hcENvbnRyb2xzPy5tYXBUaGVtZT8uc2hvdztcbiAgICBpZiAoIXNob3dDb250cm9sKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBJY29uID0gaXNMaWdodCA/IGFjdGlvbkljb25zLm1vb24gOiBhY3Rpb25JY29ucy5zdW47XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1hcENvbnRyb2xUb29sdGlwXG4gICAgICAgIGlkPVwidG9nZ2xlLXRoZW1lXCJcbiAgICAgICAgbWVzc2FnZT17aXNMaWdodCA/ICd0b29sdGlwLnN3aXRjaFRvRGFya1RoZW1lJyA6ICd0b29sdGlwLnN3aXRjaFRvTGlnaHRUaGVtZSd9XG4gICAgICA+XG4gICAgICAgIDxNYXBDb250cm9sQnV0dG9uXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCAndG9nZ2xlLXRoZW1lJywge2xpZ2h0OiBpc0xpZ2h0fSl9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICBhY3RpdmU9e2lzTGlnaHR9XG4gICAgICAgID5cbiAgICAgICAgICA8SWNvbiBoZWlnaHQ9XCIxOHB4XCIgLz5cbiAgICAgICAgPC9NYXBDb250cm9sQnV0dG9uPlxuICAgICAgPC9NYXBDb250cm9sVG9vbHRpcD5cbiAgICApO1xuICB9O1xuXG4gIFRoZW1lVG9nZ2xlQnV0dG9uLmRpc3BsYXlOYW1lID0gJ1RoZW1lVG9nZ2xlQnV0dG9uJztcbiAgcmV0dXJuIFJlYWN0Lm1lbW8oVGhlbWVUb2dnbGVCdXR0b24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUaGVtZVRvZ2dsZUJ1dHRvbkZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFrQkMsV0FBVyxRQUFPLE9BQU87QUFDdkQsT0FBT0MsVUFBVSxNQUFNLFlBQVk7QUFFbkMsU0FBUUMsS0FBSyxRQUFPLHNCQUFzQjtBQUUxQyxTQUFRQyxvQkFBb0IsUUFBTyxrQkFBa0I7QUFFckQsU0FBUUMsSUFBSSxFQUFFQyxHQUFHLFFBQU8saUJBQWlCO0FBQ3pDLFNBQVFDLGdCQUFnQixRQUFPLDZCQUE2QjtBQUM1RCxPQUFPQyx3QkFBd0IsTUFBTSx1QkFBdUI7QUFjNURDLHdCQUF3QixDQUFDQyxJQUFJLEdBQUcsQ0FBQ0Ysd0JBQXdCLENBQUM7QUFFMUQsU0FBU0Msd0JBQXdCQSxDQUMvQkUsaUJBQThELEVBQzlEO0VBQ0EsSUFBTUMsa0JBQWtCLEdBQUc7SUFDekJDLEdBQUcsRUFBRVAsR0FBRztJQUNSUSxJQUFJLEVBQUVUO0VBQ1IsQ0FBQztFQUVELElBQU1VLGlCQUFtRCxHQUFHLFNBQXREQSxpQkFBbURBLENBQUFDLElBQUEsRUFLbkQ7SUFBQSxJQUFBQyxxQkFBQTtJQUFBLElBQUFDLGNBQUEsR0FBQUYsSUFBQSxDQUpKRyxTQUFTO01BQVRBLFNBQVMsR0FBQUQsY0FBQSxjQUFHZixLQUFLLENBQUNpQixJQUFJLEdBQUFGLGNBQUE7TUFDdEJHLFVBQVUsR0FBQUwsSUFBQSxDQUFWSyxVQUFVO01BQ1ZDLFdBQVcsR0FBQU4sSUFBQSxDQUFYTSxXQUFXO01BQUFDLGdCQUFBLEdBQUFQLElBQUEsQ0FDWFEsV0FBVztNQUFYQSxXQUFXLEdBQUFELGdCQUFBLGNBQUdYLGtCQUFrQixHQUFBVyxnQkFBQTtJQUVoQyxJQUFNRSxPQUFPLEdBQUdOLFNBQVMsS0FBS2hCLEtBQUssQ0FBQ3VCLEtBQUs7SUFFekMsSUFBTUMsT0FBTyxHQUFHMUIsV0FBVyxDQUN6QixVQUFBMkIsS0FBSyxFQUFJO01BQ1BBLEtBQUssQ0FBQ0MsY0FBYyxDQUFDLENBQUM7TUFDdEJSLFVBQVUsQ0FBQ0ksT0FBTyxHQUFHdEIsS0FBSyxDQUFDaUIsSUFBSSxHQUFHakIsS0FBSyxDQUFDdUIsS0FBSyxDQUFDO0lBQ2hELENBQUMsRUFDRCxDQUFDRCxPQUFPLEVBQUVKLFVBQVUsQ0FDdEIsQ0FBQztJQUVELElBQUksQ0FBQ2pCLG9CQUFvQixDQUFDLENBQUMsQ0FBQzBCLGlCQUFpQixFQUFFO01BQzdDLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBTUMsV0FBVyxHQUFHVCxXQUFXLGFBQVhBLFdBQVcsZ0JBQUFMLHFCQUFBLEdBQVhLLFdBQVcsQ0FBRVUsUUFBUSxjQUFBZixxQkFBQSx1QkFBckJBLHFCQUFBLENBQXVCZ0IsSUFBSTtJQUMvQyxJQUFJLENBQUNGLFdBQVcsRUFBRTtNQUNoQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQU1HLElBQUksR0FBR1QsT0FBTyxHQUFHRCxXQUFXLENBQUNWLElBQUksR0FBR1UsV0FBVyxDQUFDWCxHQUFHO0lBRXpELG9CQUNFYixLQUFBLENBQUFtQyxhQUFBLENBQUN4QixpQkFBaUI7TUFDaEJ5QixFQUFFLEVBQUMsY0FBYztNQUNqQkMsT0FBTyxFQUFFWixPQUFPLEdBQUcsMkJBQTJCLEdBQUc7SUFBNkIsZ0JBRTlFekIsS0FBQSxDQUFBbUMsYUFBQSxDQUFDNUIsZ0JBQWdCO01BQ2YrQixTQUFTLEVBQUVwQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFFO1FBQUN3QixLQUFLLEVBQUVEO01BQU8sQ0FBQyxDQUFFO01BQzlFRSxPQUFPLEVBQUVBLE9BQVE7TUFDakJZLE1BQU0sRUFBRWQ7SUFBUSxnQkFFaEJ6QixLQUFBLENBQUFtQyxhQUFBLENBQUNELElBQUk7TUFBQ00sTUFBTSxFQUFDO0lBQU0sQ0FBRSxDQUNMLENBQ0QsQ0FBQztFQUV4QixDQUFDO0VBRUR6QixpQkFBaUIsQ0FBQzBCLFdBQVcsR0FBRyxtQkFBbUI7RUFDbkQsb0JBQU96QyxLQUFLLENBQUMwQyxJQUFJLENBQUMzQixpQkFBaUIsQ0FBQztBQUN0QztBQUVBLGVBQWVOLHdCQUF3QiIsImlnbm9yZUxpc3QiOltdfQ==
|