@kepler.gl/components 3.3.0-alpha.5 → 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/annotations/annotation-node.js +145 -0
- package/dist/cjs/annotations/annotation-overlay.js +168 -0
- package/dist/cjs/annotations/annotation-panel.js +361 -0
- package/dist/cjs/annotations/annotation-text.js +149 -0
- package/dist/cjs/annotations/annotation-utils.js +197 -0
- package/dist/cjs/annotations/index.js +53 -0
- package/dist/cjs/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/cjs/annotations/lexical-editor/floating-link-editor.js +193 -0
- package/dist/cjs/annotations/lexical-editor/index.js +78 -0
- package/dist/cjs/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/cjs/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/cjs/annotations/lexical-editor/lexical-rich-text-editor.js +121 -0
- package/dist/cjs/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/cjs/annotations/lexical-editor/lexical-toolbar.js +292 -0
- package/dist/cjs/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/cjs/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/cjs/bottom-widget.js +183 -0
- package/dist/cjs/common/action-panel.js +133 -0
- package/dist/cjs/common/animation-control/animation-control.js +100 -0
- package/dist/cjs/common/animation-control/animation-controller.js +271 -0
- package/dist/cjs/common/animation-control/animation-speed-slider.js +63 -0
- package/dist/cjs/common/animation-control/animation-window-control.js +59 -0
- package/dist/cjs/common/animation-control/export-video-control.js +43 -0
- package/dist/cjs/common/animation-control/floating-time-display.js +131 -0
- package/dist/cjs/common/animation-control/play-control.js +50 -0
- package/dist/cjs/common/animation-control/playback-controls.js +164 -0
- package/dist/cjs/common/animation-control/reset-control.js +41 -0
- package/dist/cjs/common/animation-control/speed-control.js +51 -0
- package/dist/cjs/common/animation-control/window-action-control.js +57 -0
- package/dist/cjs/common/checkbox.js +101 -0
- package/dist/cjs/common/color-legend.js +272 -0
- package/dist/cjs/common/column-stats-chart.js +312 -0
- package/dist/cjs/common/data-table/button.js +38 -0
- package/dist/cjs/common/data-table/canvas.js +26 -0
- package/dist/cjs/common/data-table/cell-size.js +200 -0
- 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/display-format.js +125 -0
- package/dist/cjs/common/data-table/grid.js +106 -0
- package/dist/cjs/common/data-table/header-cell.js +227 -0
- package/dist/cjs/common/data-table/index.js +543 -0
- package/dist/cjs/common/data-table/option-dropdown.js +159 -0
- package/dist/cjs/common/dataset-label.js +27 -0
- package/dist/cjs/common/dnd-layer-items.js +22 -0
- package/dist/cjs/common/error-boundary.js +59 -0
- package/dist/cjs/common/field-selector.js +172 -0
- package/dist/cjs/common/field-token.js +43 -0
- package/dist/cjs/common/file-uploader/file-drop.js +180 -0
- package/dist/cjs/common/file-uploader/file-upload-progress.js +84 -0
- package/dist/cjs/common/file-uploader/file-upload.js +241 -0
- package/dist/cjs/common/file-uploader/upload-button.js +58 -0
- package/dist/cjs/common/flex-container.js +15 -0
- package/dist/cjs/common/histogram-plot.js +282 -0
- package/dist/cjs/common/icon-button.js +25 -0
- package/dist/cjs/common/icons/3d-models/airplane.js +103 -0
- package/dist/cjs/common/icons/3d-models/bicycle.js +425 -0
- package/dist/cjs/common/icons/3d-models/boeing.js +118 -0
- package/dist/cjs/common/icons/3d-models/car.js +109 -0
- package/dist/cjs/common/icons/3d-models/cargoship.js +245 -0
- package/dist/cjs/common/icons/3d-models/evtol.js +133 -0
- package/dist/cjs/common/icons/3d-models/glider.js +61 -0
- package/dist/cjs/common/icons/3d-models/helicopter.js +109 -0
- package/dist/cjs/common/icons/3d-models/scooter.js +158 -0
- package/dist/cjs/common/icons/3d-models/semitruck.js +176 -0
- package/dist/cjs/common/icons/3d-models/truck.js +121 -0
- package/dist/cjs/common/icons/add.js +40 -0
- package/dist/cjs/common/icons/anchor_window.js +41 -0
- package/dist/cjs/common/icons/annotation-text.js +55 -0
- package/dist/cjs/common/icons/arrow-down-alt.js +40 -0
- package/dist/cjs/common/icons/arrow-down-full.js +49 -0
- package/dist/cjs/common/icons/arrow-down-small.js +53 -0
- package/dist/cjs/common/icons/arrow-down.js +50 -0
- package/dist/cjs/common/icons/arrow-left.js +43 -0
- package/dist/cjs/common/icons/arrow-right.js +40 -0
- package/dist/cjs/common/icons/arrow-up-alt.js +41 -0
- package/dist/cjs/common/icons/arrow-up-solid.js +40 -0
- package/dist/cjs/common/icons/arrow-up.js +40 -0
- package/dist/cjs/common/icons/base-map.js +56 -0
- package/dist/cjs/common/icons/base.js +78 -0
- package/dist/cjs/common/icons/bug.js +70 -0
- package/dist/cjs/common/icons/calendar.js +48 -0
- package/dist/cjs/common/icons/cancel.js +40 -0
- package/dist/cjs/common/icons/checkmark.js +46 -0
- package/dist/cjs/common/icons/clipboard.js +41 -0
- package/dist/cjs/common/icons/clock.js +42 -0
- package/dist/cjs/common/icons/close.js +46 -0
- package/dist/cjs/common/icons/cloud.js +50 -0
- package/dist/cjs/common/icons/code-alt.js +43 -0
- package/dist/cjs/common/icons/copy.js +51 -0
- package/dist/cjs/common/icons/crosshairs.js +43 -0
- package/dist/cjs/common/icons/cube-3d.js +54 -0
- package/dist/cjs/common/icons/cursor-click.js +44 -0
- package/dist/cjs/common/icons/cursor-point.js +50 -0
- package/dist/cjs/common/icons/data-table.js +76 -0
- package/dist/cjs/common/icons/db.js +58 -0
- package/dist/cjs/common/icons/delete.js +52 -0
- package/dist/cjs/common/icons/docs.js +56 -0
- package/dist/cjs/common/icons/docs2.js +50 -0
- package/dist/cjs/common/icons/drag-n-drop.js +42 -0
- package/dist/cjs/common/icons/draggable-dots.js +84 -0
- package/dist/cjs/common/icons/draw-point.js +50 -0
- package/dist/cjs/common/icons/draw-polygon.js +60 -0
- package/dist/cjs/common/icons/edit.js +48 -0
- package/dist/cjs/common/icons/effects/brightness-contrast.js +69 -0
- package/dist/cjs/common/icons/effects/color-halftone.js +108 -0
- package/dist/cjs/common/icons/effects/distance-fog.js +78 -0
- package/dist/cjs/common/icons/effects/dot-screen.js +103 -0
- package/dist/cjs/common/icons/effects/edge-work.js +62 -0
- package/dist/cjs/common/icons/effects/hexagonal-pixelate.js +129 -0
- package/dist/cjs/common/icons/effects/hue-saturation.js +60 -0
- package/dist/cjs/common/icons/effects/ink.js +59 -0
- package/dist/cjs/common/icons/effects/light-and-shadow.js +48 -0
- package/dist/cjs/common/icons/effects/magic-wand.js +60 -0
- package/dist/cjs/common/icons/effects/magnify.js +67 -0
- package/dist/cjs/common/icons/effects/noise.js +113 -0
- package/dist/cjs/common/icons/effects/sepia.js +60 -0
- package/dist/cjs/common/icons/effects/surface-fog.js +85 -0
- package/dist/cjs/common/icons/effects/tilt-shift.js +69 -0
- package/dist/cjs/common/icons/effects/triangle-blur.js +64 -0
- package/dist/cjs/common/icons/effects/vibrance.js +60 -0
- package/dist/cjs/common/icons/effects/vignette.js +53 -0
- package/dist/cjs/common/icons/effects/zoom-blur.js +88 -0
- package/dist/cjs/common/icons/email.js +44 -0
- package/dist/cjs/common/icons/expand.js +42 -0
- package/dist/cjs/common/icons/eye-seen.js +49 -0
- package/dist/cjs/common/icons/eye-unseen.js +47 -0
- package/dist/cjs/common/icons/file-type.js +35 -0
- package/dist/cjs/common/icons/file.js +40 -0
- package/dist/cjs/common/icons/files.js +41 -0
- package/dist/cjs/common/icons/filter-funnel.js +50 -0
- package/dist/cjs/common/icons/folder.js +50 -0
- package/dist/cjs/common/icons/free-window.js +44 -0
- package/dist/cjs/common/icons/gear.js +42 -0
- package/dist/cjs/common/icons/globe.js +53 -0
- package/dist/cjs/common/icons/hash.js +40 -0
- package/dist/cjs/common/icons/help.js +50 -0
- package/dist/cjs/common/icons/histogram.js +41 -0
- package/dist/cjs/common/icons/horizontal-resize-handle.js +58 -0
- package/dist/cjs/common/icons/index.js +838 -0
- package/dist/cjs/common/icons/info.js +53 -0
- package/dist/cjs/common/icons/layers.js +54 -0
- package/dist/cjs/common/icons/left-arrow.js +43 -0
- package/dist/cjs/common/icons/legend.js +68 -0
- package/dist/cjs/common/icons/line-chart.js +40 -0
- package/dist/cjs/common/icons/line-string.js +60 -0
- package/dist/cjs/common/icons/location-marker.js +58 -0
- package/dist/cjs/common/icons/login.js +43 -0
- package/dist/cjs/common/icons/logout.js +42 -0
- package/dist/cjs/common/icons/map-icon.js +47 -0
- package/dist/cjs/common/icons/map-pin.js +56 -0
- package/dist/cjs/common/icons/messages.js +54 -0
- package/dist/cjs/common/icons/minus.js +40 -0
- package/dist/cjs/common/icons/moon.js +58 -0
- package/dist/cjs/common/icons/order-by-dataset.js +46 -0
- package/dist/cjs/common/icons/order-by-list.js +38 -0
- package/dist/cjs/common/icons/pause.js +60 -0
- package/dist/cjs/common/icons/picture.js +59 -0
- package/dist/cjs/common/icons/pin.js +52 -0
- package/dist/cjs/common/icons/play.js +50 -0
- package/dist/cjs/common/icons/pointer-click.js +58 -0
- package/dist/cjs/common/icons/polygon.js +62 -0
- package/dist/cjs/common/icons/rectangle.js +63 -0
- package/dist/cjs/common/icons/reduce.js +43 -0
- package/dist/cjs/common/icons/reset.js +56 -0
- package/dist/cjs/common/icons/save.js +57 -0
- package/dist/cjs/common/icons/save2.js +54 -0
- package/dist/cjs/common/icons/search.js +42 -0
- package/dist/cjs/common/icons/settings.js +60 -0
- package/dist/cjs/common/icons/share.js +70 -0
- package/dist/cjs/common/icons/speed.js +52 -0
- package/dist/cjs/common/icons/split.js +68 -0
- package/dist/cjs/common/icons/square-select.js +42 -0
- package/dist/cjs/common/icons/sun.js +74 -0
- package/dist/cjs/common/icons/sunrise.js +70 -0
- package/dist/cjs/common/icons/sunset.js +70 -0
- package/dist/cjs/common/icons/timeline-marker.js +55 -0
- package/dist/cjs/common/icons/trash.js +54 -0
- package/dist/cjs/common/icons/vert-dots.js +78 -0
- package/dist/cjs/common/icons/vert-three-dots.js +53 -0
- package/dist/cjs/common/icons/warning-sign.js +60 -0
- package/dist/cjs/common/icons/warning.js +54 -0
- package/dist/cjs/common/icons/zoom-in.js +47 -0
- package/dist/cjs/common/icons/zoom-out.js +47 -0
- package/dist/cjs/common/image-preview.js +64 -0
- package/dist/cjs/common/index.js +282 -0
- package/dist/cjs/common/info-helper.js +61 -0
- package/dist/cjs/common/item-selector/accessor.js +37 -0
- package/dist/cjs/common/item-selector/chickleted-input.js +157 -0
- package/dist/cjs/common/item-selector/dropdown-list.js +257 -0
- package/dist/cjs/common/item-selector/dropdown-select.js +84 -0
- package/dist/cjs/common/item-selector/item-selector.js +254 -0
- package/dist/cjs/common/item-selector/typeahead.js +435 -0
- package/dist/cjs/common/layout-splitter.js +230 -0
- package/dist/cjs/common/line-chart.js +286 -0
- package/dist/cjs/common/link-renderer.js +20 -0
- package/dist/cjs/common/loading-spinner.js +50 -0
- package/dist/cjs/common/logo.js +68 -0
- package/dist/cjs/common/map-layer-selector.js +38 -0
- package/dist/cjs/common/modal.js +170 -0
- package/dist/cjs/common/portaled.js +287 -0
- package/dist/cjs/common/progress-bar.js +47 -0
- package/dist/cjs/common/radius-legend.js +131 -0
- package/dist/cjs/common/range-brush.js +265 -0
- package/dist/cjs/common/range-plot.js +217 -0
- package/dist/cjs/common/range-slider-timeline-panel.js +42 -0
- package/dist/cjs/common/range-slider-timeline.js +112 -0
- package/dist/cjs/common/range-slider.js +371 -0
- package/dist/cjs/common/slider/mouse-event.js +104 -0
- package/dist/cjs/common/slider/slider-bar-handle.js +90 -0
- package/dist/cjs/common/slider/slider-handle.js +136 -0
- package/dist/cjs/common/slider/slider.js +251 -0
- package/dist/cjs/common/styled-components.js +447 -0
- package/dist/cjs/common/switch.js +21 -0
- package/dist/cjs/common/sync-timeline-control.js +61 -0
- package/dist/cjs/common/time-range-slider-time-title.js +62 -0
- package/dist/cjs/common/time-range-slider.js +143 -0
- package/dist/cjs/common/time-slider-marker.js +115 -0
- package/dist/cjs/common/timeline-helpers.js +57 -0
- package/dist/cjs/common/timeline-slider.js +140 -0
- package/dist/cjs/common/tippy-tooltip.js +134 -0
- package/dist/cjs/common/toolbar-item.js +81 -0
- package/dist/cjs/common/toolbar.js +27 -0
- package/dist/cjs/common/vertical-toolbar.js +16 -0
- package/dist/cjs/connect/keplergl-connect.js +44 -0
- package/dist/cjs/connect/with-local-selector.js +85 -0
- package/dist/cjs/container.js +180 -0
- package/dist/cjs/context.js +43 -0
- package/dist/cjs/dnd-context.js +174 -0
- package/dist/cjs/editor/editor.js +218 -0
- package/dist/cjs/editor/feature-action-panel.js +169 -0
- package/dist/cjs/editor/feature-properties-editor.js +215 -0
- package/dist/cjs/editor/filter-feature-badges.js +92 -0
- package/dist/cjs/effects/compact-color-picker.js +110 -0
- package/dist/cjs/effects/effect-configurator.js +473 -0
- package/dist/cjs/effects/effect-list.js +129 -0
- package/dist/cjs/effects/effect-manager.js +126 -0
- package/dist/cjs/effects/effect-panel-header.js +196 -0
- package/dist/cjs/effects/effect-panel.js +86 -0
- package/dist/cjs/effects/effect-time-configurator.js +313 -0
- package/dist/cjs/effects/effect-time-selector.js +152 -0
- package/dist/cjs/effects/effect-time-slider.js +198 -0
- package/dist/cjs/effects/effect-type-dropdown-list.js +65 -0
- package/dist/cjs/effects/effect-type-list-item.js +98 -0
- package/dist/cjs/effects/effect-type-selector.js +76 -0
- package/dist/cjs/effects/side-panel-title.js +37 -0
- package/dist/cjs/effects/surface-fog-section.js +262 -0
- package/dist/cjs/effects/timezone-selector.js +57 -0
- package/dist/cjs/filter-animation-controller.js +76 -0
- package/dist/cjs/filters/components.js +14 -0
- package/dist/cjs/filters/filter-panels/filter-panel-with-field-select.js +77 -0
- package/dist/cjs/filters/filter-panels/filter-synced-dataset-panel.js +260 -0
- package/dist/cjs/filters/filter-panels/multi-select-filter-panel.js +48 -0
- package/dist/cjs/filters/filter-panels/new-filter-panel.js +66 -0
- package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +67 -0
- package/dist/cjs/filters/filter-panels/range-filter-panel.js +53 -0
- package/dist/cjs/filters/filter-panels/single-select-filter-panel.js +48 -0
- package/dist/cjs/filters/filter-panels/time-range-filter-panel.js +129 -0
- package/dist/cjs/filters/filter-panels/time-synced-field-selector.js +28 -0
- package/dist/cjs/filters/filter-panels/types.js +6 -0
- package/dist/cjs/filters/index.js +63 -0
- package/dist/cjs/filters/multi-select-filter.js +31 -0
- package/dist/cjs/filters/polygon-filter.js +76 -0
- package/dist/cjs/filters/range-filter.js +35 -0
- package/dist/cjs/filters/single-select-filter.js +40 -0
- package/dist/cjs/filters/time-range-filter.js +69 -0
- package/dist/cjs/filters/time-widget-settings.js +311 -0
- package/dist/cjs/filters/time-widget-top.js +80 -0
- package/dist/cjs/filters/time-widget.js +376 -0
- package/dist/cjs/filters/types.js +6 -0
- package/dist/cjs/geocoder/geocoder.js +327 -0
- package/dist/cjs/geocoder-panel.js +172 -0
- package/dist/cjs/hooks/use-cloud-list-provider.js +46 -0
- package/dist/cjs/hooks/use-dnd-effects.js +69 -0
- package/dist/cjs/hooks/use-dnd-layers.js +141 -0
- package/dist/cjs/hooks/use-feature-flags.js +17 -0
- package/dist/cjs/hooks/use-fetch-raster-tile-metadata.js +120 -0
- package/dist/cjs/hooks/use-fetch-vector-tile-metadata.js +133 -0
- package/dist/cjs/hooks/use-legend-position.js +176 -0
- package/dist/cjs/hooks/use-on-click-outside.js +36 -0
- package/dist/cjs/index.js +2929 -0
- package/dist/cjs/injector.js +151 -0
- package/dist/cjs/kepler-gl.js +681 -0
- package/dist/cjs/layer-animation-controller.js +53 -0
- package/dist/cjs/loading-indicator.js +76 -0
- package/dist/cjs/map/annotations/annotation-control.js +55 -0
- package/dist/cjs/map/attribution.js +391 -0
- package/dist/cjs/map/coordinate-info.js +42 -0
- package/dist/cjs/map/effects/effect-control.js +51 -0
- package/dist/cjs/map/layer-hover-info.js +318 -0
- package/dist/cjs/map/lazy-tippy.js +60 -0
- package/dist/cjs/map/locale-panel.js +76 -0
- package/dist/cjs/map/map-control-panel.js +140 -0
- package/dist/cjs/map/map-control-toolbar.js +18 -0
- package/dist/cjs/map/map-control-tooltip.js +34 -0
- package/dist/cjs/map/map-control.js +87 -0
- package/dist/cjs/map/map-draw-panel.js +150 -0
- package/dist/cjs/map/map-legend-panel.js +289 -0
- package/dist/cjs/map/map-legend.js +509 -0
- package/dist/cjs/map/map-navigation-control.js +159 -0
- package/dist/cjs/map/map-popover-content.js +28 -0
- package/dist/cjs/map/map-popover.js +189 -0
- package/dist/cjs/map/map-scale.js +162 -0
- package/dist/cjs/map/split-map-button.js +176 -0
- package/dist/cjs/map/theme-toggle-button.js +64 -0
- package/dist/cjs/map/toggle-3d-button.js +122 -0
- package/dist/cjs/map-container.js +1333 -0
- package/dist/cjs/map-view-state-context.js +98 -0
- package/dist/cjs/maps-layout.js +102 -0
- package/dist/cjs/modal-container.js +457 -0
- package/dist/cjs/modals/add-map-style-modal.js +262 -0
- package/dist/cjs/modals/cloud-components/cloud-header.js +59 -0
- package/dist/cjs/modals/cloud-components/cloud-item.js +107 -0
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +164 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.js +48 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.spec.js +98 -0
- package/dist/cjs/modals/cloud-components/provider-select.js +30 -0
- package/dist/cjs/modals/cloud-tile.js +216 -0
- package/dist/cjs/modals/data-table-modal.js +227 -0
- package/dist/cjs/modals/delete-data-modal.js +41 -0
- package/dist/cjs/modals/error-display.js +32 -0
- package/dist/cjs/modals/export-data-modal.js +163 -0
- package/dist/cjs/modals/export-image-modal.js +188 -0
- package/dist/cjs/modals/export-map-modal/components.js +34 -0
- package/dist/cjs/modals/export-map-modal/export-html-map.js +128 -0
- package/dist/cjs/modals/export-map-modal/export-json-map.js +81 -0
- package/dist/cjs/modals/export-map-modal/export-map-modal.js +84 -0
- package/dist/cjs/modals/export-video-modal.js +440 -0
- package/dist/cjs/modals/export-video-modal.spec.js +732 -0
- package/dist/cjs/modals/fog-height-animation.js +97 -0
- package/dist/cjs/modals/globe-export-video-container.js +642 -0
- package/dist/cjs/modals/globe-export-video-preview.js +166 -0
- package/dist/cjs/modals/hubble-utils.js +452 -0
- package/dist/cjs/modals/hubble-utils.spec.js +397 -0
- package/dist/cjs/modals/image-modal-container.js +57 -0
- package/dist/cjs/modals/load-data-modal.js +97 -0
- package/dist/cjs/modals/load-storage-map.js +79 -0
- package/dist/cjs/modals/load-storage-map.spec.js +216 -0
- package/dist/cjs/modals/loading-dialog.js +37 -0
- package/dist/cjs/modals/modal-dialog.js +16 -0
- package/dist/cjs/modals/modal-tabs.js +74 -0
- package/dist/cjs/modals/overwrite-map-modal.js +83 -0
- package/dist/cjs/modals/save-map-modal.js +179 -0
- package/dist/cjs/modals/save-map-modal.spec.js +195 -0
- package/dist/cjs/modals/share-map-modal.js +168 -0
- package/dist/cjs/modals/share-map-modal.spec.js +173 -0
- package/dist/cjs/modals/status-panel.js +65 -0
- package/dist/cjs/modals/swipe-composite-utils.js +126 -0
- package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
- package/dist/cjs/modals/swipe-export-settings.js +372 -0
- package/dist/cjs/modals/swipe-export-video-container.js +653 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +395 -0
- package/dist/cjs/modals/tilesets-modals/common.js +6 -0
- package/dist/cjs/modals/tilesets-modals/load-data-footer.js +55 -0
- package/dist/cjs/modals/tilesets-modals/load-tileset.js +168 -0
- package/dist/cjs/modals/tilesets-modals/tileset-bitmap-form.js +283 -0
- package/dist/cjs/modals/tilesets-modals/tileset-icon.js +39 -0
- package/dist/cjs/modals/tilesets-modals/tileset-raster-form.js +287 -0
- package/dist/cjs/modals/tilesets-modals/tileset-tile3d-form.js +388 -0
- package/dist/cjs/modals/tilesets-modals/tileset-vector-form.js +261 -0
- package/dist/cjs/modals/tilesets-modals/tileset-wms-form.js +206 -0
- package/dist/cjs/notification-panel/notification-item.js +119 -0
- package/dist/cjs/notification-panel.js +39 -0
- package/dist/cjs/plot-container.js +311 -0
- package/dist/cjs/side-panel/add-by-dataset-button.js +128 -0
- package/dist/cjs/side-panel/common/dataset-info.js +34 -0
- package/dist/cjs/side-panel/common/dataset-tag.js +62 -0
- package/dist/cjs/side-panel/common/dataset-title.js +143 -0
- package/dist/cjs/side-panel/common/source-data-catalog.js +49 -0
- package/dist/cjs/side-panel/common/source-data-selector-content.js +64 -0
- package/dist/cjs/side-panel/common/source-data-selector.js +41 -0
- package/dist/cjs/side-panel/common/source-selector.js +56 -0
- package/dist/cjs/side-panel/common/types.js +6 -0
- package/dist/cjs/side-panel/custom-panel.js +39 -0
- package/dist/cjs/side-panel/filter-manager.js +202 -0
- package/dist/cjs/side-panel/filter-panel/add-filter-button.js +27 -0
- package/dist/cjs/side-panel/filter-panel/filter-panel-header.js +67 -0
- package/dist/cjs/side-panel/filter-panel/filter-panel.js +92 -0
- package/dist/cjs/side-panel/interaction-manager.js +45 -0
- package/dist/cjs/side-panel/interaction-panel/brush-config.js +41 -0
- package/dist/cjs/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/cjs/side-panel/interaction-panel/interaction-panel.js +121 -0
- package/dist/cjs/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +164 -0
- package/dist/cjs/side-panel/interaction-panel/tooltip-config.js +149 -0
- package/dist/cjs/side-panel/layer-manager.js +232 -0
- package/dist/cjs/side-panel/layer-panel/add-layer-button.js +27 -0
- package/dist/cjs/side-panel/layer-panel/aggr-scale-selector.js +37 -0
- package/dist/cjs/side-panel/layer-panel/channel-by-value-selector.js +71 -0
- package/dist/cjs/side-panel/layer-panel/color-breaks-panel.js +193 -0
- package/dist/cjs/side-panel/layer-panel/color-palette-preset.js +45 -0
- package/dist/cjs/side-panel/layer-panel/color-palette.js +74 -0
- package/dist/cjs/side-panel/layer-panel/color-range-selector.js +242 -0
- package/dist/cjs/side-panel/layer-panel/color-scale-selector.js +295 -0
- package/dist/cjs/side-panel/layer-panel/color-selector.js +186 -0
- package/dist/cjs/side-panel/layer-panel/column-selector.js +59 -0
- package/dist/cjs/side-panel/layer-panel/custom-palette.js +787 -0
- package/dist/cjs/side-panel/layer-panel/custom-picker.js +83 -0
- package/dist/cjs/side-panel/layer-panel/dataset-layer-group.js +68 -0
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +109 -0
- package/dist/cjs/side-panel/layer-panel/dataset-section.js +74 -0
- package/dist/cjs/side-panel/layer-panel/dimension-scale-selector.js +91 -0
- package/dist/cjs/side-panel/layer-panel/how-to-button.js +27 -0
- package/dist/cjs/side-panel/layer-panel/layer-color-selector.js +105 -0
- package/dist/cjs/side-panel/layer-panel/layer-column-config.js +85 -0
- package/dist/cjs/side-panel/layer-panel/layer-column-mode-config.js +192 -0
- package/dist/cjs/side-panel/layer-panel/layer-config-group.js +143 -0
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +1116 -0
- package/dist/cjs/side-panel/layer-panel/layer-error-message.js +29 -0
- package/dist/cjs/side-panel/layer-panel/layer-group-header.js +178 -0
- package/dist/cjs/side-panel/layer-panel/layer-list.js +330 -0
- package/dist/cjs/side-panel/layer-panel/layer-panel-header.js +311 -0
- package/dist/cjs/side-panel/layer-panel/layer-panel.js +171 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-dropdown-list.js +77 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-list-item.js +71 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-selector.js +57 -0
- package/dist/cjs/side-panel/layer-panel/raster-tile-colormap-list-item.js +60 -0
- package/dist/cjs/side-panel/layer-panel/raster-tile-layer-configurator.js +457 -0
- package/dist/cjs/side-panel/layer-panel/scenegraph-model-selector.js +122 -0
- package/dist/cjs/side-panel/layer-panel/single-color-palette.js +85 -0
- package/dist/cjs/side-panel/layer-panel/text-label-panel.js +173 -0
- package/dist/cjs/side-panel/layer-panel/vector-tile-layer-configurator.js +93 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-by-field-selector.js +60 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-slider.js +167 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-switch.js +55 -0
- package/dist/cjs/side-panel/map-manager.js +108 -0
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +334 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-group-color-picker.js +76 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-group-item.js +94 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-selector.js +74 -0
- package/dist/cjs/side-panel/map-style-panel/map-style-selector.js +97 -0
- package/dist/cjs/side-panel/panel-header-action.js +73 -0
- package/dist/cjs/side-panel/panel-header.js +309 -0
- package/dist/cjs/side-panel/panel-tab.js +55 -0
- package/dist/cjs/side-panel/panel-title.js +40 -0
- package/dist/cjs/side-panel/panel-toggle.js +47 -0
- package/dist/cjs/side-panel/panel-view-list-toggle.js +97 -0
- package/dist/cjs/side-panel/side-bar.js +126 -0
- package/dist/cjs/side-panel.js +235 -0
- package/dist/cjs/types.js +6 -0
- 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/draw-point.d.ts +10 -0
- 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/annotations/annotation-node.js +138 -0
- package/dist/esm/annotations/annotation-overlay.js +161 -0
- package/dist/esm/annotations/annotation-panel.js +355 -0
- package/dist/esm/annotations/annotation-text.js +142 -0
- package/dist/esm/annotations/annotation-utils.js +185 -0
- package/dist/esm/annotations/index.js +9 -0
- package/dist/esm/annotations/lexical-editor/clickable-link-plugin.js +64 -0
- package/dist/esm/annotations/lexical-editor/floating-link-editor.js +186 -0
- package/dist/esm/annotations/lexical-editor/index.js +9 -0
- package/dist/esm/annotations/lexical-editor/lexical-constants.js +16 -0
- package/dist/esm/annotations/lexical-editor/lexical-nodes.js +7 -0
- package/dist/esm/annotations/lexical-editor/lexical-rich-text-editor.js +114 -0
- package/dist/esm/annotations/lexical-editor/lexical-theme.js +19 -0
- package/dist/esm/annotations/lexical-editor/lexical-toolbar.js +285 -0
- package/dist/esm/annotations/lexical-editor/lexical-utils.js +37 -0
- package/dist/esm/annotations/lexical-editor/use-lexical-toolbar.js +248 -0
- package/dist/esm/bottom-widget.js +176 -0
- package/dist/esm/common/action-panel.js +126 -0
- package/dist/esm/common/animation-control/animation-control.js +95 -0
- package/dist/esm/common/animation-control/animation-controller.js +266 -0
- package/dist/esm/common/animation-control/animation-speed-slider.js +56 -0
- package/dist/esm/common/animation-control/animation-window-control.js +50 -0
- package/dist/esm/common/animation-control/export-video-control.js +36 -0
- package/dist/esm/common/animation-control/floating-time-display.js +124 -0
- package/dist/esm/common/animation-control/play-control.js +43 -0
- package/dist/esm/common/animation-control/playback-controls.js +157 -0
- package/dist/esm/common/animation-control/reset-control.js +34 -0
- package/dist/esm/common/animation-control/speed-control.js +46 -0
- package/dist/esm/common/animation-control/window-action-control.js +48 -0
- package/dist/esm/common/checkbox.js +94 -0
- package/dist/esm/common/color-legend.js +261 -0
- package/dist/esm/common/column-stats-chart.js +305 -0
- package/dist/esm/common/data-table/button.js +33 -0
- package/dist/esm/common/data-table/canvas.js +22 -0
- package/dist/esm/common/data-table/cell-size.js +194 -0
- 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/display-format.js +118 -0
- package/dist/esm/common/data-table/grid.js +100 -0
- package/dist/esm/common/data-table/header-cell.js +220 -0
- package/dist/esm/common/data-table/index.js +536 -0
- package/dist/esm/common/data-table/option-dropdown.js +152 -0
- package/dist/esm/common/dataset-label.js +22 -0
- package/dist/esm/common/dnd-layer-items.js +16 -0
- package/dist/esm/common/error-boundary.js +55 -0
- package/dist/esm/common/field-selector.js +164 -0
- package/dist/esm/common/field-token.js +38 -0
- package/dist/esm/common/file-uploader/file-drop.js +170 -0
- package/dist/esm/common/file-uploader/file-upload-progress.js +77 -0
- package/dist/esm/common/file-uploader/file-upload.js +234 -0
- package/dist/esm/common/file-uploader/upload-button.js +51 -0
- package/dist/esm/common/flex-container.js +10 -0
- package/dist/esm/common/histogram-plot.js +275 -0
- package/dist/esm/common/icon-button.js +20 -0
- package/dist/esm/common/icons/3d-models/airplane.js +97 -0
- package/dist/esm/common/icons/3d-models/bicycle.js +419 -0
- package/dist/esm/common/icons/3d-models/boeing.js +112 -0
- package/dist/esm/common/icons/3d-models/car.js +103 -0
- package/dist/esm/common/icons/3d-models/cargoship.js +239 -0
- package/dist/esm/common/icons/3d-models/evtol.js +127 -0
- package/dist/esm/common/icons/3d-models/glider.js +55 -0
- package/dist/esm/common/icons/3d-models/helicopter.js +103 -0
- package/dist/esm/common/icons/3d-models/scooter.js +152 -0
- package/dist/esm/common/icons/3d-models/semitruck.js +170 -0
- package/dist/esm/common/icons/3d-models/truck.js +115 -0
- package/dist/esm/common/icons/add.js +34 -0
- package/dist/esm/common/icons/anchor_window.js +36 -0
- package/dist/esm/common/icons/annotation-text.js +49 -0
- package/dist/esm/common/icons/arrow-down-alt.js +34 -0
- package/dist/esm/common/icons/arrow-down-full.js +43 -0
- package/dist/esm/common/icons/arrow-down-small.js +47 -0
- package/dist/esm/common/icons/arrow-down.js +44 -0
- package/dist/esm/common/icons/arrow-left.js +37 -0
- package/dist/esm/common/icons/arrow-right.js +34 -0
- package/dist/esm/common/icons/arrow-up-alt.js +35 -0
- package/dist/esm/common/icons/arrow-up-solid.js +34 -0
- package/dist/esm/common/icons/arrow-up.js +34 -0
- package/dist/esm/common/icons/base-map.js +49 -0
- package/dist/esm/common/icons/base.js +72 -0
- package/dist/esm/common/icons/bug.js +64 -0
- package/dist/esm/common/icons/calendar.js +42 -0
- package/dist/esm/common/icons/cancel.js +34 -0
- package/dist/esm/common/icons/checkmark.js +40 -0
- package/dist/esm/common/icons/clipboard.js +35 -0
- package/dist/esm/common/icons/clock.js +36 -0
- package/dist/esm/common/icons/close.js +40 -0
- package/dist/esm/common/icons/cloud.js +44 -0
- package/dist/esm/common/icons/code-alt.js +37 -0
- package/dist/esm/common/icons/copy.js +45 -0
- package/dist/esm/common/icons/crosshairs.js +37 -0
- package/dist/esm/common/icons/cube-3d.js +48 -0
- package/dist/esm/common/icons/cursor-click.js +38 -0
- package/dist/esm/common/icons/cursor-point.js +44 -0
- package/dist/esm/common/icons/data-table.js +70 -0
- package/dist/esm/common/icons/db.js +52 -0
- package/dist/esm/common/icons/delete.js +46 -0
- package/dist/esm/common/icons/docs.js +50 -0
- package/dist/esm/common/icons/docs2.js +44 -0
- package/dist/esm/common/icons/drag-n-drop.js +36 -0
- package/dist/esm/common/icons/draggable-dots.js +78 -0
- package/dist/esm/common/icons/draw-point.js +44 -0
- package/dist/esm/common/icons/draw-polygon.js +54 -0
- package/dist/esm/common/icons/edit.js +42 -0
- package/dist/esm/common/icons/effects/brightness-contrast.js +63 -0
- package/dist/esm/common/icons/effects/color-halftone.js +102 -0
- package/dist/esm/common/icons/effects/distance-fog.js +72 -0
- package/dist/esm/common/icons/effects/dot-screen.js +97 -0
- package/dist/esm/common/icons/effects/edge-work.js +56 -0
- package/dist/esm/common/icons/effects/hexagonal-pixelate.js +123 -0
- package/dist/esm/common/icons/effects/hue-saturation.js +54 -0
- package/dist/esm/common/icons/effects/ink.js +53 -0
- package/dist/esm/common/icons/effects/light-and-shadow.js +42 -0
- package/dist/esm/common/icons/effects/magic-wand.js +54 -0
- package/dist/esm/common/icons/effects/magnify.js +61 -0
- package/dist/esm/common/icons/effects/noise.js +107 -0
- package/dist/esm/common/icons/effects/sepia.js +54 -0
- package/dist/esm/common/icons/effects/surface-fog.js +79 -0
- package/dist/esm/common/icons/effects/tilt-shift.js +63 -0
- package/dist/esm/common/icons/effects/triangle-blur.js +58 -0
- package/dist/esm/common/icons/effects/vibrance.js +54 -0
- package/dist/esm/common/icons/effects/vignette.js +47 -0
- package/dist/esm/common/icons/effects/zoom-blur.js +82 -0
- package/dist/esm/common/icons/email.js +38 -0
- package/dist/esm/common/icons/expand.js +36 -0
- package/dist/esm/common/icons/eye-seen.js +43 -0
- package/dist/esm/common/icons/eye-unseen.js +41 -0
- package/dist/esm/common/icons/file-type.js +30 -0
- package/dist/esm/common/icons/file.js +34 -0
- package/dist/esm/common/icons/files.js +37 -0
- package/dist/esm/common/icons/filter-funnel.js +44 -0
- package/dist/esm/common/icons/folder.js +44 -0
- package/dist/esm/common/icons/free-window.js +39 -0
- package/dist/esm/common/icons/gear.js +36 -0
- package/dist/esm/common/icons/globe.js +47 -0
- package/dist/esm/common/icons/hash.js +34 -0
- package/dist/esm/common/icons/help.js +44 -0
- package/dist/esm/common/icons/histogram.js +37 -0
- package/dist/esm/common/icons/horizontal-resize-handle.js +52 -0
- package/dist/esm/common/icons/index.js +126 -0
- package/dist/esm/common/icons/info.js +47 -0
- package/dist/esm/common/icons/layers.js +48 -0
- package/dist/esm/common/icons/left-arrow.js +37 -0
- package/dist/esm/common/icons/legend.js +62 -0
- package/dist/esm/common/icons/line-chart.js +34 -0
- package/dist/esm/common/icons/line-string.js +54 -0
- package/dist/esm/common/icons/location-marker.js +52 -0
- package/dist/esm/common/icons/login.js +37 -0
- package/dist/esm/common/icons/logout.js +36 -0
- package/dist/esm/common/icons/map-icon.js +40 -0
- package/dist/esm/common/icons/map-pin.js +50 -0
- package/dist/esm/common/icons/messages.js +48 -0
- package/dist/esm/common/icons/minus.js +34 -0
- package/dist/esm/common/icons/moon.js +52 -0
- package/dist/esm/common/icons/order-by-dataset.js +41 -0
- package/dist/esm/common/icons/order-by-list.js +33 -0
- package/dist/esm/common/icons/pause.js +54 -0
- package/dist/esm/common/icons/picture.js +55 -0
- package/dist/esm/common/icons/pin.js +46 -0
- package/dist/esm/common/icons/play.js +44 -0
- package/dist/esm/common/icons/pointer-click.js +52 -0
- package/dist/esm/common/icons/polygon.js +56 -0
- package/dist/esm/common/icons/rectangle.js +57 -0
- package/dist/esm/common/icons/reduce.js +37 -0
- package/dist/esm/common/icons/reset.js +50 -0
- package/dist/esm/common/icons/save.js +51 -0
- package/dist/esm/common/icons/save2.js +48 -0
- package/dist/esm/common/icons/search.js +36 -0
- package/dist/esm/common/icons/settings.js +54 -0
- package/dist/esm/common/icons/share.js +64 -0
- package/dist/esm/common/icons/speed.js +46 -0
- package/dist/esm/common/icons/split.js +62 -0
- package/dist/esm/common/icons/square-select.js +36 -0
- package/dist/esm/common/icons/sun.js +68 -0
- package/dist/esm/common/icons/sunrise.js +64 -0
- package/dist/esm/common/icons/sunset.js +64 -0
- package/dist/esm/common/icons/timeline-marker.js +49 -0
- package/dist/esm/common/icons/trash.js +48 -0
- package/dist/esm/common/icons/vert-dots.js +72 -0
- package/dist/esm/common/icons/vert-three-dots.js +47 -0
- package/dist/esm/common/icons/warning-sign.js +54 -0
- package/dist/esm/common/icons/warning.js +48 -0
- package/dist/esm/common/icons/zoom-in.js +41 -0
- package/dist/esm/common/icons/zoom-out.js +41 -0
- package/dist/esm/common/image-preview.js +59 -0
- package/dist/esm/common/index.js +8 -0
- package/dist/esm/common/info-helper.js +56 -0
- package/dist/esm/common/item-selector/accessor.js +31 -0
- package/dist/esm/common/item-selector/chickleted-input.js +150 -0
- package/dist/esm/common/item-selector/dropdown-list.js +251 -0
- package/dist/esm/common/item-selector/dropdown-select.js +79 -0
- package/dist/esm/common/item-selector/item-selector.js +247 -0
- package/dist/esm/common/item-selector/typeahead.js +428 -0
- package/dist/esm/common/layout-splitter.js +224 -0
- package/dist/esm/common/line-chart.js +279 -0
- package/dist/esm/common/link-renderer.js +13 -0
- package/dist/esm/common/loading-spinner.js +43 -0
- package/dist/esm/common/logo.js +63 -0
- package/dist/esm/common/map-layer-selector.js +33 -0
- package/dist/esm/common/modal.js +163 -0
- package/dist/esm/common/portaled.js +280 -0
- package/dist/esm/common/progress-bar.js +43 -0
- package/dist/esm/common/radius-legend.js +124 -0
- package/dist/esm/common/range-brush.js +258 -0
- package/dist/esm/common/range-plot.js +210 -0
- package/dist/esm/common/range-slider-timeline-panel.js +35 -0
- package/dist/esm/common/range-slider-timeline.js +105 -0
- package/dist/esm/common/range-slider.js +364 -0
- package/dist/esm/common/slider/mouse-event.js +98 -0
- package/dist/esm/common/slider/slider-bar-handle.js +84 -0
- package/dist/esm/common/slider/slider-handle.js +130 -0
- package/dist/esm/common/slider/slider.js +245 -0
- package/dist/esm/common/styled-components.js +441 -0
- package/dist/esm/common/switch.js +16 -0
- package/dist/esm/common/sync-timeline-control.js +54 -0
- package/dist/esm/common/time-range-slider-time-title.js +57 -0
- package/dist/esm/common/time-range-slider.js +135 -0
- package/dist/esm/common/time-slider-marker.js +105 -0
- package/dist/esm/common/timeline-helpers.js +48 -0
- package/dist/esm/common/timeline-slider.js +133 -0
- package/dist/esm/common/tippy-tooltip.js +127 -0
- package/dist/esm/common/toolbar-item.js +76 -0
- package/dist/esm/common/toolbar.js +22 -0
- package/dist/esm/common/vertical-toolbar.js +11 -0
- package/dist/esm/connect/keplergl-connect.js +38 -0
- package/dist/esm/connect/with-local-selector.js +78 -0
- package/dist/esm/container.js +171 -0
- package/dist/esm/context.js +35 -0
- package/dist/esm/dnd-context.js +167 -0
- package/dist/esm/editor/editor.js +211 -0
- package/dist/esm/editor/feature-action-panel.js +161 -0
- package/dist/esm/editor/feature-properties-editor.js +208 -0
- package/dist/esm/editor/filter-feature-badges.js +85 -0
- package/dist/esm/effects/compact-color-picker.js +103 -0
- package/dist/esm/effects/effect-configurator.js +465 -0
- package/dist/esm/effects/effect-list.js +122 -0
- package/dist/esm/effects/effect-manager.js +119 -0
- package/dist/esm/effects/effect-panel-header.js +188 -0
- package/dist/esm/effects/effect-panel.js +79 -0
- package/dist/esm/effects/effect-time-configurator.js +306 -0
- package/dist/esm/effects/effect-time-selector.js +145 -0
- package/dist/esm/effects/effect-time-slider.js +190 -0
- package/dist/esm/effects/effect-type-dropdown-list.js +57 -0
- package/dist/esm/effects/effect-type-list-item.js +89 -0
- package/dist/esm/effects/effect-type-selector.js +69 -0
- package/dist/esm/effects/side-panel-title.js +32 -0
- package/dist/esm/effects/surface-fog-section.js +254 -0
- package/dist/esm/effects/timezone-selector.js +50 -0
- package/dist/esm/filter-animation-controller.js +67 -0
- package/dist/esm/filters/components.js +9 -0
- package/dist/esm/filters/filter-panels/filter-panel-with-field-select.js +68 -0
- package/dist/esm/filters/filter-panels/filter-synced-dataset-panel.js +253 -0
- package/dist/esm/filters/filter-panels/multi-select-filter-panel.js +39 -0
- package/dist/esm/filters/filter-panels/new-filter-panel.js +56 -0
- package/dist/esm/filters/filter-panels/polygon-filter-panel.js +58 -0
- package/dist/esm/filters/filter-panels/range-filter-panel.js +44 -0
- package/dist/esm/filters/filter-panels/single-select-filter-panel.js +39 -0
- package/dist/esm/filters/filter-panels/time-range-filter-panel.js +120 -0
- package/dist/esm/filters/filter-panels/time-synced-field-selector.js +23 -0
- package/dist/esm/filters/filter-panels/types.js +3 -0
- package/dist/esm/filters/index.js +12 -0
- package/dist/esm/filters/multi-select-filter.js +24 -0
- package/dist/esm/filters/polygon-filter.js +67 -0
- package/dist/esm/filters/range-filter.js +28 -0
- package/dist/esm/filters/single-select-filter.js +33 -0
- package/dist/esm/filters/time-range-filter.js +61 -0
- package/dist/esm/filters/time-widget-settings.js +304 -0
- package/dist/esm/filters/time-widget-top.js +73 -0
- package/dist/esm/filters/time-widget.js +369 -0
- package/dist/esm/filters/types.js +3 -0
- package/dist/esm/geocoder/geocoder.js +318 -0
- package/dist/esm/geocoder-panel.js +164 -0
- package/dist/esm/hooks/use-cloud-list-provider.js +37 -0
- package/dist/esm/hooks/use-dnd-effects.js +62 -0
- package/dist/esm/hooks/use-dnd-layers.js +136 -0
- package/dist/esm/hooks/use-feature-flags.js +11 -0
- package/dist/esm/hooks/use-fetch-raster-tile-metadata.js +113 -0
- package/dist/esm/hooks/use-fetch-vector-tile-metadata.js +128 -0
- package/dist/esm/hooks/use-legend-position.js +170 -0
- package/dist/esm/hooks/use-on-click-outside.js +29 -0
- package/dist/esm/index.js +282 -0
- package/dist/esm/injector.js +141 -0
- package/dist/esm/kepler-gl.js +668 -0
- package/dist/esm/layer-animation-controller.js +44 -0
- package/dist/esm/loading-indicator.js +69 -0
- package/dist/esm/map/annotations/annotation-control.js +46 -0
- package/dist/esm/map/attribution.js +382 -0
- package/dist/esm/map/coordinate-info.js +36 -0
- package/dist/esm/map/effects/effect-control.js +42 -0
- package/dist/esm/map/layer-hover-info.js +312 -0
- package/dist/esm/map/lazy-tippy.js +53 -0
- package/dist/esm/map/locale-panel.js +67 -0
- package/dist/esm/map/map-control-panel.js +133 -0
- package/dist/esm/map/map-control-toolbar.js +13 -0
- package/dist/esm/map/map-control-tooltip.js +27 -0
- package/dist/esm/map/map-control.js +83 -0
- package/dist/esm/map/map-draw-panel.js +143 -0
- package/dist/esm/map/map-legend-panel.js +282 -0
- package/dist/esm/map/map-legend.js +496 -0
- package/dist/esm/map/map-navigation-control.js +152 -0
- package/dist/esm/map/map-popover-content.js +21 -0
- package/dist/esm/map/map-popover.js +181 -0
- package/dist/esm/map/map-scale.js +155 -0
- package/dist/esm/map/split-map-button.js +167 -0
- package/dist/esm/map/theme-toggle-button.js +55 -0
- package/dist/esm/map/toggle-3d-button.js +113 -0
- package/dist/esm/map-container.js +1303 -0
- package/dist/esm/map-view-state-context.js +89 -0
- package/dist/esm/maps-layout.js +95 -0
- package/dist/esm/modal-container.js +454 -0
- package/dist/esm/modals/add-map-style-modal.js +256 -0
- package/dist/esm/modals/cloud-components/cloud-header.js +52 -0
- package/dist/esm/modals/cloud-components/cloud-item.js +100 -0
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +163 -0
- package/dist/esm/modals/cloud-components/cloud-maps.js +43 -0
- package/dist/esm/modals/cloud-components/cloud-maps.spec.js +94 -0
- package/dist/esm/modals/cloud-components/provider-select.js +25 -0
- package/dist/esm/modals/cloud-tile.js +209 -0
- package/dist/esm/modals/data-table-modal.js +220 -0
- package/dist/esm/modals/delete-data-modal.js +36 -0
- package/dist/esm/modals/error-display.js +23 -0
- package/dist/esm/modals/export-data-modal.js +155 -0
- package/dist/esm/modals/export-image-modal.js +181 -0
- package/dist/esm/modals/export-map-modal/components.js +29 -0
- package/dist/esm/modals/export-map-modal/export-html-map.js +123 -0
- package/dist/esm/modals/export-map-modal/export-json-map.js +74 -0
- package/dist/esm/modals/export-map-modal/export-map-modal.js +77 -0
- package/dist/esm/modals/export-video-modal.js +427 -0
- package/dist/esm/modals/export-video-modal.spec.js +731 -0
- package/dist/esm/modals/fog-height-animation.js +90 -0
- package/dist/esm/modals/globe-export-video-container.js +636 -0
- package/dist/esm/modals/globe-export-video-preview.js +159 -0
- package/dist/esm/modals/hubble-utils.js +434 -0
- package/dist/esm/modals/hubble-utils.spec.js +396 -0
- package/dist/esm/modals/image-modal-container.js +48 -0
- package/dist/esm/modals/load-data-modal.js +89 -0
- package/dist/esm/modals/load-storage-map.js +70 -0
- package/dist/esm/modals/load-storage-map.spec.js +212 -0
- package/dist/esm/modals/loading-dialog.js +32 -0
- package/dist/esm/modals/modal-dialog.js +9 -0
- package/dist/esm/modals/modal-tabs.js +67 -0
- package/dist/esm/modals/overwrite-map-modal.js +76 -0
- package/dist/esm/modals/save-map-modal.js +172 -0
- package/dist/esm/modals/save-map-modal.spec.js +196 -0
- package/dist/esm/modals/share-map-modal.js +160 -0
- package/dist/esm/modals/share-map-modal.spec.js +172 -0
- package/dist/esm/modals/status-panel.js +60 -0
- package/dist/esm/modals/swipe-composite-utils.js +119 -0
- package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
- package/dist/esm/modals/swipe-export-settings.js +366 -0
- package/dist/esm/modals/swipe-export-video-container.js +646 -0
- package/dist/esm/modals/swipe-export-video-preview.js +388 -0
- package/dist/esm/modals/tilesets-modals/common.js +3 -0
- package/dist/esm/modals/tilesets-modals/load-data-footer.js +48 -0
- package/dist/esm/modals/tilesets-modals/load-tileset.js +161 -0
- package/dist/esm/modals/tilesets-modals/tileset-bitmap-form.js +275 -0
- package/dist/esm/modals/tilesets-modals/tileset-icon.js +34 -0
- package/dist/esm/modals/tilesets-modals/tileset-raster-form.js +279 -0
- package/dist/esm/modals/tilesets-modals/tileset-tile3d-form.js +380 -0
- package/dist/esm/modals/tilesets-modals/tileset-vector-form.js +253 -0
- package/dist/esm/modals/tilesets-modals/tileset-wms-form.js +199 -0
- package/dist/esm/notification-panel/notification-item.js +112 -0
- package/dist/esm/notification-panel.js +34 -0
- package/dist/esm/plot-container.js +304 -0
- package/dist/esm/side-panel/add-by-dataset-button.js +121 -0
- package/dist/esm/side-panel/common/dataset-info.js +29 -0
- package/dist/esm/side-panel/common/dataset-tag.js +57 -0
- package/dist/esm/side-panel/common/dataset-title.js +136 -0
- package/dist/esm/side-panel/common/source-data-catalog.js +44 -0
- package/dist/esm/side-panel/common/source-data-selector-content.js +55 -0
- package/dist/esm/side-panel/common/source-data-selector.js +34 -0
- package/dist/esm/side-panel/common/source-selector.js +49 -0
- package/dist/esm/side-panel/common/types.js +3 -0
- package/dist/esm/side-panel/custom-panel.js +32 -0
- package/dist/esm/side-panel/filter-manager.js +195 -0
- package/dist/esm/side-panel/filter-panel/add-filter-button.js +20 -0
- package/dist/esm/side-panel/filter-panel/filter-panel-header.js +60 -0
- package/dist/esm/side-panel/filter-panel/filter-panel.js +85 -0
- package/dist/esm/side-panel/interaction-manager.js +38 -0
- package/dist/esm/side-panel/interaction-panel/brush-config.js +36 -0
- package/dist/esm/side-panel/interaction-panel/geocoder-config.js +40 -0
- package/dist/esm/side-panel/interaction-panel/interaction-panel.js +114 -0
- package/dist/esm/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +157 -0
- package/dist/esm/side-panel/interaction-panel/tooltip-config.js +142 -0
- package/dist/esm/side-panel/layer-manager.js +225 -0
- package/dist/esm/side-panel/layer-panel/add-layer-button.js +20 -0
- package/dist/esm/side-panel/layer-panel/aggr-scale-selector.js +29 -0
- package/dist/esm/side-panel/layer-panel/channel-by-value-selector.js +61 -0
- package/dist/esm/side-panel/layer-panel/color-breaks-panel.js +186 -0
- package/dist/esm/side-panel/layer-panel/color-palette-preset.js +40 -0
- package/dist/esm/side-panel/layer-panel/color-palette.js +67 -0
- package/dist/esm/side-panel/layer-panel/color-range-selector.js +236 -0
- package/dist/esm/side-panel/layer-panel/color-scale-selector.js +288 -0
- package/dist/esm/side-panel/layer-panel/color-selector.js +179 -0
- package/dist/esm/side-panel/layer-panel/column-selector.js +52 -0
- package/dist/esm/side-panel/layer-panel/custom-palette.js +783 -0
- package/dist/esm/side-panel/layer-panel/custom-picker.js +77 -0
- package/dist/esm/side-panel/layer-panel/dataset-layer-group.js +59 -0
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +102 -0
- package/dist/esm/side-panel/layer-panel/dataset-section.js +68 -0
- package/dist/esm/side-panel/layer-panel/dimension-scale-selector.js +82 -0
- package/dist/esm/side-panel/layer-panel/how-to-button.js +22 -0
- package/dist/esm/side-panel/layer-panel/layer-color-selector.js +94 -0
- package/dist/esm/side-panel/layer-panel/layer-column-config.js +76 -0
- package/dist/esm/side-panel/layer-panel/layer-column-mode-config.js +184 -0
- package/dist/esm/side-panel/layer-panel/layer-config-group.js +134 -0
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +1107 -0
- package/dist/esm/side-panel/layer-panel/layer-error-message.js +24 -0
- package/dist/esm/side-panel/layer-panel/layer-group-header.js +171 -0
- package/dist/esm/side-panel/layer-panel/layer-list.js +323 -0
- package/dist/esm/side-panel/layer-panel/layer-panel-header.js +302 -0
- package/dist/esm/side-panel/layer-panel/layer-panel.js +164 -0
- package/dist/esm/side-panel/layer-panel/layer-type-dropdown-list.js +69 -0
- package/dist/esm/side-panel/layer-panel/layer-type-list-item.js +63 -0
- package/dist/esm/side-panel/layer-panel/layer-type-selector.js +50 -0
- package/dist/esm/side-panel/layer-panel/raster-tile-colormap-list-item.js +55 -0
- package/dist/esm/side-panel/layer-panel/raster-tile-layer-configurator.js +450 -0
- package/dist/esm/side-panel/layer-panel/scenegraph-model-selector.js +115 -0
- package/dist/esm/side-panel/layer-panel/single-color-palette.js +78 -0
- package/dist/esm/side-panel/layer-panel/text-label-panel.js +166 -0
- package/dist/esm/side-panel/layer-panel/vector-tile-layer-configurator.js +86 -0
- package/dist/esm/side-panel/layer-panel/vis-config-by-field-selector.js +53 -0
- package/dist/esm/side-panel/layer-panel/vis-config-slider.js +160 -0
- package/dist/esm/side-panel/layer-panel/vis-config-switch.js +50 -0
- package/dist/esm/side-panel/map-manager.js +99 -0
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +327 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-group-color-picker.js +69 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-group-item.js +87 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-selector.js +69 -0
- package/dist/esm/side-panel/map-style-panel/map-style-selector.js +92 -0
- package/dist/esm/side-panel/panel-header-action.js +68 -0
- package/dist/esm/side-panel/panel-header.js +303 -0
- package/dist/esm/side-panel/panel-tab.js +49 -0
- package/dist/esm/side-panel/panel-title.js +35 -0
- package/dist/esm/side-panel/panel-toggle.js +40 -0
- package/dist/esm/side-panel/panel-view-list-toggle.js +90 -0
- package/dist/esm/side-panel/side-bar.js +119 -0
- package/dist/esm/side-panel.js +227 -0
- package/dist/esm/types.js +3 -0
- package/dist/index.d.ts +9 -1
- 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 +18 -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 +39 -24
- package/dist/annotations/annotation-node.js +0 -145
- package/dist/annotations/annotation-overlay.js +0 -168
- package/dist/annotations/annotation-panel.js +0 -361
- package/dist/annotations/annotation-text.js +0 -149
- package/dist/annotations/annotation-utils.js +0 -197
- package/dist/annotations/index.js +0 -53
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +0 -71
- package/dist/annotations/lexical-editor/floating-link-editor.js +0 -193
- package/dist/annotations/lexical-editor/index.js +0 -78
- package/dist/annotations/lexical-editor/lexical-constants.js +0 -22
- package/dist/annotations/lexical-editor/lexical-nodes.js +0 -13
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +0 -121
- package/dist/annotations/lexical-editor/lexical-theme.js +0 -25
- package/dist/annotations/lexical-editor/lexical-toolbar.js +0 -292
- package/dist/annotations/lexical-editor/lexical-utils.js +0 -45
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +0 -253
- package/dist/bottom-widget.js +0 -183
- package/dist/common/action-panel.js +0 -133
- package/dist/common/animation-control/animation-control.js +0 -100
- package/dist/common/animation-control/animation-controller.js +0 -271
- package/dist/common/animation-control/animation-speed-slider.js +0 -63
- package/dist/common/animation-control/animation-window-control.js +0 -59
- package/dist/common/animation-control/export-video-control.js +0 -43
- package/dist/common/animation-control/floating-time-display.js +0 -131
- package/dist/common/animation-control/play-control.js +0 -50
- package/dist/common/animation-control/playback-controls.js +0 -164
- package/dist/common/animation-control/reset-control.js +0 -41
- package/dist/common/animation-control/speed-control.js +0 -51
- package/dist/common/animation-control/window-action-control.js +0 -57
- package/dist/common/checkbox.js +0 -101
- package/dist/common/color-legend.js +0 -272
- package/dist/common/column-stats-chart.js +0 -312
- package/dist/common/data-table/button.js +0 -38
- package/dist/common/data-table/canvas.js +0 -26
- package/dist/common/data-table/cell-size.js +0 -183
- package/dist/common/data-table/display-format.js +0 -125
- package/dist/common/data-table/grid.js +0 -106
- package/dist/common/data-table/header-cell.js +0 -148
- package/dist/common/data-table/index.js +0 -470
- package/dist/common/data-table/option-dropdown.js +0 -159
- package/dist/common/dataset-label.js +0 -27
- package/dist/common/dnd-layer-items.js +0 -22
- package/dist/common/error-boundary.js +0 -59
- package/dist/common/field-selector.js +0 -172
- package/dist/common/field-token.js +0 -43
- package/dist/common/file-uploader/file-drop.js +0 -180
- package/dist/common/file-uploader/file-upload-progress.js +0 -84
- package/dist/common/file-uploader/file-upload.js +0 -241
- package/dist/common/file-uploader/upload-button.js +0 -58
- package/dist/common/flex-container.js +0 -15
- package/dist/common/histogram-plot.js +0 -282
- package/dist/common/icon-button.js +0 -25
- package/dist/common/icons/3d-models/airplane.js +0 -103
- package/dist/common/icons/3d-models/bicycle.js +0 -425
- package/dist/common/icons/3d-models/boeing.js +0 -118
- package/dist/common/icons/3d-models/car.js +0 -109
- package/dist/common/icons/3d-models/cargoship.js +0 -245
- package/dist/common/icons/3d-models/evtol.js +0 -133
- package/dist/common/icons/3d-models/glider.js +0 -61
- package/dist/common/icons/3d-models/helicopter.js +0 -109
- package/dist/common/icons/3d-models/scooter.js +0 -158
- package/dist/common/icons/3d-models/semitruck.js +0 -176
- package/dist/common/icons/3d-models/truck.js +0 -121
- package/dist/common/icons/add.js +0 -40
- package/dist/common/icons/anchor_window.js +0 -41
- package/dist/common/icons/annotation-text.js +0 -55
- package/dist/common/icons/arrow-down-alt.js +0 -40
- package/dist/common/icons/arrow-down-full.js +0 -49
- package/dist/common/icons/arrow-down-small.js +0 -53
- package/dist/common/icons/arrow-down-solid.d.ts +0 -9
- package/dist/common/icons/arrow-down-solid.js +0 -40
- package/dist/common/icons/arrow-down.js +0 -50
- package/dist/common/icons/arrow-left.js +0 -43
- package/dist/common/icons/arrow-right.js +0 -40
- package/dist/common/icons/arrow-up-alt.js +0 -41
- package/dist/common/icons/arrow-up-solid.js +0 -40
- package/dist/common/icons/arrow-up.js +0 -40
- package/dist/common/icons/base-map.js +0 -56
- package/dist/common/icons/base.js +0 -78
- package/dist/common/icons/bug.js +0 -70
- package/dist/common/icons/calendar.js +0 -48
- package/dist/common/icons/cancel.js +0 -40
- package/dist/common/icons/checkmark.js +0 -46
- package/dist/common/icons/clipboard.js +0 -41
- package/dist/common/icons/clock.js +0 -42
- package/dist/common/icons/close.js +0 -46
- package/dist/common/icons/cloud.js +0 -50
- package/dist/common/icons/code-alt.js +0 -43
- package/dist/common/icons/copy.js +0 -51
- package/dist/common/icons/crosshairs.js +0 -43
- package/dist/common/icons/cube-3d.js +0 -54
- package/dist/common/icons/cursor-click.js +0 -44
- package/dist/common/icons/cursor-point.js +0 -50
- package/dist/common/icons/data-table.js +0 -76
- package/dist/common/icons/db.js +0 -58
- package/dist/common/icons/delete.js +0 -52
- package/dist/common/icons/docs.js +0 -56
- package/dist/common/icons/docs2.js +0 -50
- package/dist/common/icons/drag-n-drop.js +0 -42
- package/dist/common/icons/draggable-dots.js +0 -84
- package/dist/common/icons/draw-polygon.js +0 -60
- package/dist/common/icons/edit.js +0 -48
- package/dist/common/icons/effects/brightness-contrast.js +0 -69
- package/dist/common/icons/effects/color-halftone.js +0 -108
- package/dist/common/icons/effects/distance-fog.js +0 -78
- package/dist/common/icons/effects/dot-screen.js +0 -103
- package/dist/common/icons/effects/edge-work.js +0 -62
- package/dist/common/icons/effects/hexagonal-pixelate.js +0 -129
- package/dist/common/icons/effects/hue-saturation.js +0 -60
- package/dist/common/icons/effects/ink.js +0 -59
- package/dist/common/icons/effects/light-and-shadow.js +0 -48
- package/dist/common/icons/effects/magic-wand.js +0 -60
- package/dist/common/icons/effects/magnify.js +0 -67
- package/dist/common/icons/effects/noise.js +0 -113
- package/dist/common/icons/effects/sepia.js +0 -60
- package/dist/common/icons/effects/surface-fog.js +0 -85
- package/dist/common/icons/effects/tilt-shift.js +0 -69
- package/dist/common/icons/effects/triangle-blur.js +0 -64
- package/dist/common/icons/effects/vibrance.js +0 -60
- package/dist/common/icons/effects/vignette.js +0 -53
- package/dist/common/icons/effects/zoom-blur.js +0 -88
- package/dist/common/icons/email.js +0 -44
- package/dist/common/icons/expand.js +0 -42
- package/dist/common/icons/eye-seen.js +0 -49
- package/dist/common/icons/eye-unseen.js +0 -47
- package/dist/common/icons/file-type.js +0 -35
- package/dist/common/icons/file.js +0 -40
- package/dist/common/icons/files.js +0 -41
- package/dist/common/icons/filter-funnel.js +0 -50
- package/dist/common/icons/folder.js +0 -50
- package/dist/common/icons/free-window.js +0 -44
- package/dist/common/icons/gear.js +0 -42
- package/dist/common/icons/globe.js +0 -53
- package/dist/common/icons/hash.js +0 -40
- package/dist/common/icons/help.js +0 -50
- package/dist/common/icons/histogram.js +0 -41
- package/dist/common/icons/horizontal-resize-handle.js +0 -58
- package/dist/common/icons/index.js +0 -824
- package/dist/common/icons/info.js +0 -53
- package/dist/common/icons/layers.js +0 -54
- package/dist/common/icons/left-arrow.js +0 -43
- package/dist/common/icons/legend.js +0 -68
- package/dist/common/icons/line-chart.js +0 -40
- package/dist/common/icons/location-marker.js +0 -58
- package/dist/common/icons/login.js +0 -43
- package/dist/common/icons/logout.js +0 -42
- package/dist/common/icons/map-icon.js +0 -47
- package/dist/common/icons/map-pin.js +0 -56
- package/dist/common/icons/messages.js +0 -54
- package/dist/common/icons/minus.js +0 -40
- package/dist/common/icons/moon.js +0 -58
- package/dist/common/icons/order-by-dataset.js +0 -46
- package/dist/common/icons/order-by-list.js +0 -38
- package/dist/common/icons/pause.js +0 -60
- package/dist/common/icons/picture.js +0 -59
- package/dist/common/icons/pin.js +0 -52
- package/dist/common/icons/play.js +0 -50
- package/dist/common/icons/pointer-click.js +0 -58
- package/dist/common/icons/polygon.js +0 -62
- package/dist/common/icons/rectangle.js +0 -63
- package/dist/common/icons/reduce.js +0 -43
- package/dist/common/icons/reset.js +0 -56
- package/dist/common/icons/save.js +0 -57
- package/dist/common/icons/save2.js +0 -54
- package/dist/common/icons/search.js +0 -42
- package/dist/common/icons/settings.js +0 -60
- package/dist/common/icons/share.js +0 -70
- package/dist/common/icons/speed.js +0 -52
- package/dist/common/icons/split.js +0 -68
- package/dist/common/icons/square-select.js +0 -42
- package/dist/common/icons/sun.js +0 -74
- package/dist/common/icons/sunrise.js +0 -70
- package/dist/common/icons/sunset.js +0 -70
- package/dist/common/icons/timeline-marker.js +0 -55
- package/dist/common/icons/trash.js +0 -54
- package/dist/common/icons/vert-dots.js +0 -78
- package/dist/common/icons/vert-three-dots.js +0 -53
- package/dist/common/icons/warning-sign.js +0 -60
- package/dist/common/icons/warning.js +0 -54
- package/dist/common/icons/zoom-in.js +0 -47
- package/dist/common/icons/zoom-out.js +0 -47
- package/dist/common/image-preview.js +0 -64
- package/dist/common/index.js +0 -282
- package/dist/common/info-helper.js +0 -61
- package/dist/common/item-selector/accessor.js +0 -37
- package/dist/common/item-selector/chickleted-input.js +0 -157
- package/dist/common/item-selector/dropdown-list.js +0 -257
- package/dist/common/item-selector/dropdown-select.js +0 -84
- package/dist/common/item-selector/item-selector.js +0 -254
- package/dist/common/item-selector/typeahead.js +0 -435
- package/dist/common/layout-splitter.js +0 -230
- package/dist/common/line-chart.js +0 -286
- package/dist/common/link-renderer.js +0 -20
- package/dist/common/loading-spinner.js +0 -50
- package/dist/common/logo.js +0 -68
- package/dist/common/map-layer-selector.js +0 -38
- package/dist/common/modal.js +0 -170
- package/dist/common/portaled.js +0 -287
- package/dist/common/progress-bar.js +0 -47
- package/dist/common/radius-legend.js +0 -131
- package/dist/common/range-brush.js +0 -265
- package/dist/common/range-plot.js +0 -217
- package/dist/common/range-slider-timeline-panel.js +0 -42
- package/dist/common/range-slider-timeline.js +0 -112
- package/dist/common/range-slider.js +0 -371
- package/dist/common/slider/mouse-event.js +0 -104
- package/dist/common/slider/slider-bar-handle.js +0 -90
- package/dist/common/slider/slider-handle.js +0 -136
- package/dist/common/slider/slider.js +0 -251
- package/dist/common/styled-components.js +0 -447
- package/dist/common/switch.js +0 -21
- package/dist/common/sync-timeline-control.js +0 -61
- package/dist/common/time-range-slider-time-title.js +0 -62
- package/dist/common/time-range-slider.js +0 -143
- package/dist/common/time-slider-marker.js +0 -115
- package/dist/common/timeline-helpers.js +0 -57
- package/dist/common/timeline-slider.js +0 -140
- package/dist/common/tippy-tooltip.js +0 -134
- package/dist/common/toolbar-item.js +0 -60
- package/dist/common/toolbar.js +0 -27
- package/dist/common/vertical-toolbar.js +0 -16
- package/dist/connect/keplergl-connect.js +0 -44
- package/dist/connect/with-local-selector.js +0 -85
- package/dist/container.js +0 -180
- package/dist/context.js +0 -43
- package/dist/dnd-context.js +0 -174
- package/dist/editor/editor.js +0 -200
- package/dist/editor/feature-action-panel.js +0 -147
- package/dist/effects/compact-color-picker.js +0 -110
- package/dist/effects/effect-configurator.js +0 -473
- package/dist/effects/effect-list.js +0 -129
- package/dist/effects/effect-manager.js +0 -126
- package/dist/effects/effect-panel-header.js +0 -196
- package/dist/effects/effect-panel.js +0 -86
- package/dist/effects/effect-time-configurator.js +0 -313
- package/dist/effects/effect-time-selector.js +0 -152
- package/dist/effects/effect-time-slider.js +0 -198
- package/dist/effects/effect-type-dropdown-list.js +0 -65
- package/dist/effects/effect-type-list-item.js +0 -98
- package/dist/effects/effect-type-selector.js +0 -76
- package/dist/effects/side-panel-title.js +0 -37
- package/dist/effects/surface-fog-section.js +0 -262
- package/dist/effects/timezone-selector.js +0 -57
- package/dist/filter-animation-controller.js +0 -76
- package/dist/filters/components.js +0 -14
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +0 -77
- package/dist/filters/filter-panels/filter-synced-dataset-panel.js +0 -260
- package/dist/filters/filter-panels/multi-select-filter-panel.js +0 -48
- package/dist/filters/filter-panels/new-filter-panel.js +0 -66
- package/dist/filters/filter-panels/polygon-filter-panel.js +0 -67
- package/dist/filters/filter-panels/range-filter-panel.js +0 -53
- package/dist/filters/filter-panels/single-select-filter-panel.js +0 -48
- package/dist/filters/filter-panels/time-range-filter-panel.js +0 -129
- package/dist/filters/filter-panels/time-synced-field-selector.js +0 -28
- package/dist/filters/filter-panels/types.js +0 -6
- package/dist/filters/index.js +0 -63
- package/dist/filters/multi-select-filter.js +0 -31
- package/dist/filters/polygon-filter.js +0 -76
- package/dist/filters/range-filter.js +0 -35
- package/dist/filters/single-select-filter.js +0 -40
- package/dist/filters/time-range-filter.js +0 -69
- package/dist/filters/time-widget-settings.js +0 -311
- package/dist/filters/time-widget-top.js +0 -80
- package/dist/filters/time-widget.js +0 -376
- package/dist/filters/types.js +0 -6
- package/dist/geocoder/geocoder.js +0 -327
- package/dist/geocoder-panel.js +0 -172
- package/dist/hooks/use-cloud-list-provider.js +0 -46
- package/dist/hooks/use-dnd-effects.js +0 -69
- package/dist/hooks/use-dnd-layers.js +0 -141
- package/dist/hooks/use-feature-flags.js +0 -17
- package/dist/hooks/use-fetch-raster-tile-metadata.js +0 -120
- package/dist/hooks/use-fetch-vector-tile-metadata.js +0 -133
- package/dist/hooks/use-legend-position.js +0 -176
- package/dist/hooks/use-on-click-outside.js +0 -36
- package/dist/index.js +0 -2890
- package/dist/injector.js +0 -151
- package/dist/kepler-gl.js +0 -664
- package/dist/layer-animation-controller.js +0 -53
- package/dist/loading-indicator.js +0 -76
- package/dist/map/annotations/annotation-control.js +0 -55
- package/dist/map/attribution.js +0 -391
- package/dist/map/coordinate-info.js +0 -42
- package/dist/map/effects/effect-control.js +0 -51
- package/dist/map/layer-hover-info.js +0 -318
- package/dist/map/lazy-tippy.js +0 -60
- package/dist/map/locale-panel.js +0 -76
- package/dist/map/map-control-panel.js +0 -140
- package/dist/map/map-control-toolbar.js +0 -18
- package/dist/map/map-control-tooltip.js +0 -34
- package/dist/map/map-control.js +0 -81
- package/dist/map/map-draw-panel.js +0 -100
- package/dist/map/map-legend-panel.js +0 -289
- package/dist/map/map-legend.js +0 -509
- package/dist/map/map-navigation-control.js +0 -159
- package/dist/map/map-popover-content.js +0 -28
- package/dist/map/map-popover.js +0 -189
- package/dist/map/map-scale.js +0 -162
- package/dist/map/split-map-button.js +0 -176
- package/dist/map/toggle-3d-button.js +0 -122
- package/dist/map-container.js +0 -1322
- package/dist/map-view-state-context.js +0 -98
- package/dist/maps-layout.js +0 -102
- package/dist/modal-container.js +0 -456
- package/dist/modals/add-map-style-modal.js +0 -262
- package/dist/modals/cloud-components/cloud-header.js +0 -59
- package/dist/modals/cloud-components/cloud-item.js +0 -59
- package/dist/modals/cloud-components/cloud-item.spec.js +0 -92
- package/dist/modals/cloud-components/cloud-maps.js +0 -47
- package/dist/modals/cloud-components/cloud-maps.spec.js +0 -98
- package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
- package/dist/modals/cloud-components/provider-loading.js +0 -20
- package/dist/modals/cloud-components/provider-select.js +0 -30
- package/dist/modals/cloud-tile.js +0 -202
- package/dist/modals/data-table-modal.js +0 -215
- package/dist/modals/delete-data-modal.js +0 -41
- package/dist/modals/error-display.js +0 -32
- package/dist/modals/export-data-modal.js +0 -163
- package/dist/modals/export-image-modal.js +0 -188
- package/dist/modals/export-map-modal/components.js +0 -34
- package/dist/modals/export-map-modal/export-html-map.js +0 -128
- package/dist/modals/export-map-modal/export-json-map.js +0 -81
- package/dist/modals/export-map-modal/export-map-modal.js +0 -84
- package/dist/modals/export-video-modal.js +0 -413
- package/dist/modals/export-video-modal.spec.js +0 -686
- package/dist/modals/fog-height-animation.js +0 -97
- package/dist/modals/globe-export-video-container.js +0 -626
- package/dist/modals/globe-export-video-preview.js +0 -152
- package/dist/modals/hubble-utils.js +0 -422
- package/dist/modals/hubble-utils.spec.js +0 -397
- package/dist/modals/image-modal-container.js +0 -57
- package/dist/modals/load-data-modal.js +0 -97
- package/dist/modals/load-storage-map.js +0 -79
- package/dist/modals/load-storage-map.spec.js +0 -216
- package/dist/modals/loading-dialog.js +0 -37
- package/dist/modals/modal-dialog.js +0 -16
- package/dist/modals/modal-tabs.js +0 -74
- package/dist/modals/overwrite-map-modal.js +0 -83
- package/dist/modals/save-map-modal.js +0 -179
- package/dist/modals/save-map-modal.spec.js +0 -195
- package/dist/modals/share-map-modal.js +0 -168
- package/dist/modals/share-map-modal.spec.js +0 -173
- package/dist/modals/status-panel.js +0 -65
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- package/dist/modals/storage-map-viewer.js +0 -98
- package/dist/modals/swipe-composite-utils.js +0 -118
- package/dist/modals/swipe-export-settings.js +0 -372
- package/dist/modals/swipe-export-video-container.js +0 -653
- package/dist/modals/swipe-export-video-preview.js +0 -401
- package/dist/modals/tilesets-modals/common.js +0 -6
- package/dist/modals/tilesets-modals/load-data-footer.js +0 -55
- package/dist/modals/tilesets-modals/load-tileset.js +0 -168
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +0 -283
- package/dist/modals/tilesets-modals/tileset-icon.js +0 -39
- package/dist/modals/tilesets-modals/tileset-raster-form.js +0 -287
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +0 -388
- package/dist/modals/tilesets-modals/tileset-vector-form.js +0 -261
- package/dist/modals/tilesets-modals/tileset-wms-form.js +0 -206
- package/dist/notification-panel/notification-item.js +0 -119
- package/dist/notification-panel.js +0 -39
- package/dist/plot-container.js +0 -311
- package/dist/side-panel/add-by-dataset-button.js +0 -128
- package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
- package/dist/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/side-panel/common/dataset-info.js +0 -34
- package/dist/side-panel/common/dataset-tag.js +0 -62
- package/dist/side-panel/common/dataset-title.js +0 -143
- package/dist/side-panel/common/source-data-catalog.js +0 -49
- package/dist/side-panel/common/source-data-selector-content.js +0 -64
- package/dist/side-panel/common/source-data-selector.js +0 -41
- package/dist/side-panel/common/source-selector.js +0 -56
- package/dist/side-panel/common/types.js +0 -6
- package/dist/side-panel/custom-panel.js +0 -39
- package/dist/side-panel/filter-manager.js +0 -202
- package/dist/side-panel/filter-panel/add-filter-button.js +0 -27
- package/dist/side-panel/filter-panel/filter-panel-header.js +0 -67
- package/dist/side-panel/filter-panel/filter-panel.js +0 -92
- package/dist/side-panel/interaction-manager.js +0 -45
- package/dist/side-panel/interaction-panel/brush-config.js +0 -41
- package/dist/side-panel/interaction-panel/geocoder-config.js +0 -45
- package/dist/side-panel/interaction-panel/interaction-panel.js +0 -121
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -164
- package/dist/side-panel/interaction-panel/tooltip-config.js +0 -149
- package/dist/side-panel/layer-manager.js +0 -224
- package/dist/side-panel/layer-panel/add-layer-button.js +0 -27
- package/dist/side-panel/layer-panel/aggr-scale-selector.js +0 -37
- package/dist/side-panel/layer-panel/channel-by-value-selector.js +0 -71
- package/dist/side-panel/layer-panel/color-breaks-panel.js +0 -193
- package/dist/side-panel/layer-panel/color-palette-preset.js +0 -45
- package/dist/side-panel/layer-panel/color-palette.js +0 -74
- package/dist/side-panel/layer-panel/color-range-selector.js +0 -242
- package/dist/side-panel/layer-panel/color-scale-selector.js +0 -295
- package/dist/side-panel/layer-panel/color-selector.js +0 -186
- package/dist/side-panel/layer-panel/column-selector.js +0 -59
- package/dist/side-panel/layer-panel/custom-palette.js +0 -787
- package/dist/side-panel/layer-panel/custom-picker.js +0 -83
- package/dist/side-panel/layer-panel/dataset-layer-group.js +0 -68
- package/dist/side-panel/layer-panel/dataset-layer-section.js +0 -101
- package/dist/side-panel/layer-panel/dataset-section.js +0 -74
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +0 -91
- package/dist/side-panel/layer-panel/how-to-button.js +0 -27
- package/dist/side-panel/layer-panel/layer-color-selector.js +0 -105
- package/dist/side-panel/layer-panel/layer-column-config.js +0 -85
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +0 -192
- package/dist/side-panel/layer-panel/layer-config-group.js +0 -143
- package/dist/side-panel/layer-panel/layer-configurator.js +0 -1073
- package/dist/side-panel/layer-panel/layer-error-message.js +0 -29
- package/dist/side-panel/layer-panel/layer-group-header.js +0 -178
- package/dist/side-panel/layer-panel/layer-list.js +0 -330
- package/dist/side-panel/layer-panel/layer-panel-header.js +0 -311
- package/dist/side-panel/layer-panel/layer-panel.js +0 -171
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +0 -77
- package/dist/side-panel/layer-panel/layer-type-list-item.js +0 -71
- package/dist/side-panel/layer-panel/layer-type-selector.js +0 -57
- package/dist/side-panel/layer-panel/raster-tile-colormap-list-item.js +0 -60
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +0 -457
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +0 -122
- package/dist/side-panel/layer-panel/single-color-palette.js +0 -85
- package/dist/side-panel/layer-panel/text-label-panel.js +0 -173
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +0 -93
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +0 -60
- package/dist/side-panel/layer-panel/vis-config-slider.js +0 -167
- package/dist/side-panel/layer-panel/vis-config-switch.js +0 -55
- package/dist/side-panel/map-manager.js +0 -108
- package/dist/side-panel/map-style-panel/globe-config-panel.js +0 -269
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +0 -76
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +0 -94
- package/dist/side-panel/map-style-panel/map-layer-selector.js +0 -74
- package/dist/side-panel/map-style-panel/map-style-selector.js +0 -97
- package/dist/side-panel/panel-header-action.js +0 -73
- package/dist/side-panel/panel-header.js +0 -309
- package/dist/side-panel/panel-tab.js +0 -55
- package/dist/side-panel/panel-title.js +0 -40
- package/dist/side-panel/panel-toggle.js +0 -47
- package/dist/side-panel/panel-view-list-toggle.js +0 -97
- package/dist/side-panel/side-bar.js +0 -126
- package/dist/side-panel.js +0 -235
- package/dist/types.js +0 -6
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = ModalContainerFactory;
|
|
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
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
+
var _styledComponents = require("styled-components");
|
|
19
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
20
|
+
var _document = _interopRequireDefault(require("global/document"));
|
|
21
|
+
var _constants = require("@kepler.gl/constants");
|
|
22
|
+
var _reducers = require("@kepler.gl/reducers");
|
|
23
|
+
var _utils = require("@kepler.gl/utils");
|
|
24
|
+
var _modalDialog = _interopRequireDefault(require("./modals/modal-dialog"));
|
|
25
|
+
var _deleteDataModal = _interopRequireDefault(require("./modals/delete-data-modal"));
|
|
26
|
+
var _overwriteMapModal = _interopRequireDefault(require("./modals/overwrite-map-modal"));
|
|
27
|
+
var _dataTableModal = _interopRequireDefault(require("./modals/data-table-modal"));
|
|
28
|
+
var _loadDataModal = _interopRequireDefault(require("./modals/load-data-modal"));
|
|
29
|
+
var _exportImageModal = _interopRequireDefault(require("./modals/export-image-modal"));
|
|
30
|
+
var _exportDataModal = _interopRequireDefault(require("./modals/export-data-modal"));
|
|
31
|
+
var _exportMapModal = _interopRequireDefault(require("./modals/export-map-modal/export-map-modal"));
|
|
32
|
+
var _exportVideoModal = _interopRequireDefault(require("./modals/export-video-modal"));
|
|
33
|
+
var _addMapStyleModal = _interopRequireDefault(require("./modals/add-map-style-modal"));
|
|
34
|
+
var _saveMapModal = _interopRequireDefault(require("./modals/save-map-modal"));
|
|
35
|
+
var _shareMapModal = _interopRequireDefault(require("./modals/share-map-modal"));
|
|
36
|
+
var _styles = require("@kepler.gl/styles");
|
|
37
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9; // SPDX-License-Identifier: MIT
|
|
38
|
+
// Copyright contributors to the kepler.gl project
|
|
39
|
+
// modals
|
|
40
|
+
// Breakpoints
|
|
41
|
+
// Template
|
|
42
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
43
|
+
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; }
|
|
44
|
+
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; }
|
|
45
|
+
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)); }
|
|
46
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
47
|
+
var DataTableModalStyle = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n top: 70px;\n padding: 0;\n width: 90vw;\n max-width: 90vw;\n\n ", " ", ";\n"])), _styles.media.portable(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n "]))), _styles.media.palm(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n margin: 0 auto;\n "]))));
|
|
48
|
+
var smallModalCss = (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 40%;\n padding: 40px 40px 32px 40px;\n"])));
|
|
49
|
+
var LoadDataModalStyle = (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n top: 60px;\n"])));
|
|
50
|
+
var ExportVideoModalStyle = (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n max-width: 960px;\n"])));
|
|
51
|
+
var DefaultStyle = (0, _styledComponents.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n max-width: 960px;\n"])));
|
|
52
|
+
ModalContainerFactory.deps = [_deleteDataModal["default"], _overwriteMapModal["default"], _dataTableModal["default"], _loadDataModal["default"], _exportImageModal["default"], _exportDataModal["default"], _exportMapModal["default"], _exportVideoModal["default"], _addMapStyleModal["default"], _modalDialog["default"], _saveMapModal["default"], _shareMapModal["default"]];
|
|
53
|
+
function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableModal, LoadDataModal, ExportImageModal, ExportDataModal, ExportMapModal, ExportVideoModal, AddMapStyleModal, ModalDialog, SaveMapModal, ShareMapModal) {
|
|
54
|
+
/** @augments React.Component<ModalContainerProps> */
|
|
55
|
+
var ModalContainer = /*#__PURE__*/function (_Component) {
|
|
56
|
+
function ModalContainer() {
|
|
57
|
+
var _this;
|
|
58
|
+
(0, _classCallCheck2["default"])(this, ModalContainer);
|
|
59
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
60
|
+
args[_key] = arguments[_key];
|
|
61
|
+
}
|
|
62
|
+
_this = _callSuper(this, ModalContainer, [].concat(args));
|
|
63
|
+
// TODO - remove when prop types are fully exported
|
|
64
|
+
(0, _defineProperty2["default"])(_this, "componentDidMount", function () {
|
|
65
|
+
_document["default"].addEventListener('keyup', _this._onKeyUp);
|
|
66
|
+
});
|
|
67
|
+
(0, _defineProperty2["default"])(_this, "_onKeyUp", function (event) {
|
|
68
|
+
var keyCode = event.keyCode;
|
|
69
|
+
if (keyCode === _constants.KeyEvent.DOM_VK_ESCAPE) {
|
|
70
|
+
_this._closeModal();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
(0, _defineProperty2["default"])(_this, "_closeModal", function () {
|
|
74
|
+
_this.props.uiStateActions.toggleModal(null);
|
|
75
|
+
});
|
|
76
|
+
(0, _defineProperty2["default"])(_this, "_deleteDataset", function (key) {
|
|
77
|
+
_this.props.visStateActions.removeDataset(key);
|
|
78
|
+
_this._closeModal();
|
|
79
|
+
});
|
|
80
|
+
(0, _defineProperty2["default"])(_this, "_onAddCustomMapStyle", function () {
|
|
81
|
+
_this.props.mapStyleActions.addCustomMapStyle();
|
|
82
|
+
_this._closeModal();
|
|
83
|
+
});
|
|
84
|
+
(0, _defineProperty2["default"])(_this, "_onFileUpload", function (fileList) {
|
|
85
|
+
_this.props.visStateActions.loadFiles(fileList);
|
|
86
|
+
});
|
|
87
|
+
(0, _defineProperty2["default"])(_this, "_onTilesetAdded", function (tileset, processedMetadata) {
|
|
88
|
+
_this.props.visStateActions.updateVisData({
|
|
89
|
+
info: {
|
|
90
|
+
label: tileset.name,
|
|
91
|
+
type: tileset.type,
|
|
92
|
+
format: 'rows'
|
|
93
|
+
},
|
|
94
|
+
data: {
|
|
95
|
+
fields: (processedMetadata === null || processedMetadata === void 0 ? void 0 : processedMetadata.fields) || [],
|
|
96
|
+
rows: []
|
|
97
|
+
},
|
|
98
|
+
metadata: _objectSpread(_objectSpread({}, processedMetadata), tileset.metadata),
|
|
99
|
+
// Vector tile layer supports GPU filtering for numeric and boolean fields
|
|
100
|
+
supportedFilterTypes: [_constants.ALL_FIELD_TYPES.real, _constants.ALL_FIELD_TYPES.integer, _constants.ALL_FIELD_TYPES["boolean"]],
|
|
101
|
+
disableDataOperation: true
|
|
102
|
+
}, {
|
|
103
|
+
autoCreateLayers: true,
|
|
104
|
+
centerMap: true
|
|
105
|
+
});
|
|
106
|
+
_this._closeModal();
|
|
107
|
+
});
|
|
108
|
+
(0, _defineProperty2["default"])(_this, "_onExportImage", function () {
|
|
109
|
+
if (!_this.props.uiState.exportImage.processing) {
|
|
110
|
+
(0, _utils.exportImage)(_this.props.uiState.exportImage, "".concat(_this.props.appName, ".png"));
|
|
111
|
+
_this.props.uiStateActions.cleanupExportImage();
|
|
112
|
+
_this._closeModal();
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
(0, _defineProperty2["default"])(_this, "_onExportData", function () {
|
|
116
|
+
(0, _reducers.exportData)(_this.props, _this.props.uiState.exportData);
|
|
117
|
+
_this._closeModal();
|
|
118
|
+
});
|
|
119
|
+
(0, _defineProperty2["default"])(_this, "_onExportMap", function () {
|
|
120
|
+
var uiState = _this.props.uiState;
|
|
121
|
+
var format = uiState.exportMap.format;
|
|
122
|
+
(format === _constants.EXPORT_MAP_FORMATS.HTML ? _utils.exportHtml : _utils.exportJson)(_this.props, _this.props.uiState.exportMap[format] || {});
|
|
123
|
+
_this._closeModal();
|
|
124
|
+
});
|
|
125
|
+
(0, _defineProperty2["default"])(_this, "_exportFileToCloud", function (_ref) {
|
|
126
|
+
var provider = _ref.provider,
|
|
127
|
+
isPublic = _ref.isPublic,
|
|
128
|
+
overwrite = _ref.overwrite,
|
|
129
|
+
closeModal = _ref.closeModal;
|
|
130
|
+
var toSave = (0, _utils.exportMap)(_this.props);
|
|
131
|
+
_this.props.providerActions.exportFileToCloud({
|
|
132
|
+
mapData: toSave,
|
|
133
|
+
provider: provider,
|
|
134
|
+
options: {
|
|
135
|
+
isPublic: isPublic,
|
|
136
|
+
overwrite: overwrite,
|
|
137
|
+
mapIdToOverwrite: _this.props.providerState.savedMapId
|
|
138
|
+
},
|
|
139
|
+
closeModal: closeModal,
|
|
140
|
+
onSuccess: _this.props.onExportToCloudSuccess,
|
|
141
|
+
onError: _this.props.onExportToCloudError
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
(0, _defineProperty2["default"])(_this, "_onSaveMap", function (provider) {
|
|
145
|
+
var overwrite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
146
|
+
_this._exportFileToCloud({
|
|
147
|
+
provider: provider,
|
|
148
|
+
isPublic: false,
|
|
149
|
+
overwrite: overwrite,
|
|
150
|
+
closeModal: true
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
(0, _defineProperty2["default"])(_this, "_onOverwriteMap", function (provider) {
|
|
154
|
+
_this._onSaveMap(provider, true);
|
|
155
|
+
});
|
|
156
|
+
(0, _defineProperty2["default"])(_this, "_onShareMapUrl", function (provider) {
|
|
157
|
+
_this._exportFileToCloud({
|
|
158
|
+
provider: provider,
|
|
159
|
+
isPublic: true,
|
|
160
|
+
overwrite: false,
|
|
161
|
+
closeModal: false
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
(0, _defineProperty2["default"])(_this, "_onCloseSaveMap", function () {
|
|
165
|
+
_this.props.providerActions.resetProviderStatus();
|
|
166
|
+
_this._closeModal();
|
|
167
|
+
});
|
|
168
|
+
(0, _defineProperty2["default"])(_this, "_onLoadCloudMap", function (payload) {
|
|
169
|
+
_this.props.providerActions.loadCloudMap(_objectSpread(_objectSpread({}, payload), {}, {
|
|
170
|
+
onSuccess: _this.props.onLoadCloudMapSuccess,
|
|
171
|
+
onError: _this.props.onLoadCloudMapError
|
|
172
|
+
}));
|
|
173
|
+
});
|
|
174
|
+
return _this;
|
|
175
|
+
}
|
|
176
|
+
(0, _inherits2["default"])(ModalContainer, _Component);
|
|
177
|
+
return (0, _createClass2["default"])(ModalContainer, [{
|
|
178
|
+
key: "componentWillUnmount",
|
|
179
|
+
value: function componentWillUnmount() {
|
|
180
|
+
_document["default"].removeEventListener('keyup', this._onKeyUp);
|
|
181
|
+
}
|
|
182
|
+
}, {
|
|
183
|
+
key: "render",
|
|
184
|
+
value: /* eslint-disable complexity */
|
|
185
|
+
function render() {
|
|
186
|
+
var _this2 = this;
|
|
187
|
+
var _this$props = this.props,
|
|
188
|
+
containerW = _this$props.containerW,
|
|
189
|
+
containerH = _this$props.containerH,
|
|
190
|
+
mapStyle = _this$props.mapStyle,
|
|
191
|
+
mapState = _this$props.mapState,
|
|
192
|
+
uiState = _this$props.uiState,
|
|
193
|
+
visState = _this$props.visState,
|
|
194
|
+
rootNode = _this$props.rootNode,
|
|
195
|
+
visStateActions = _this$props.visStateActions,
|
|
196
|
+
uiStateActions = _this$props.uiStateActions,
|
|
197
|
+
providerState = _this$props.providerState;
|
|
198
|
+
var currentModal = uiState.currentModal,
|
|
199
|
+
datasetKeyToRemove = uiState.datasetKeyToRemove;
|
|
200
|
+
var datasets = visState.datasets,
|
|
201
|
+
layers = visState.layers,
|
|
202
|
+
editingDataset = visState.editingDataset;
|
|
203
|
+
var template = null;
|
|
204
|
+
var modalProps = {};
|
|
205
|
+
|
|
206
|
+
// TODO - currentModal is a string
|
|
207
|
+
// @ts-ignore
|
|
208
|
+
if (currentModal && currentModal.id && currentModal.template) {
|
|
209
|
+
// if currentMdoal template is already provided
|
|
210
|
+
// TODO: need to check whether template is valid
|
|
211
|
+
// @ts-ignore
|
|
212
|
+
template = /*#__PURE__*/_react["default"].createElement(currentModal.template, null);
|
|
213
|
+
// @ts-ignore
|
|
214
|
+
modalProps = currentModal.modalProps;
|
|
215
|
+
} else {
|
|
216
|
+
switch (currentModal) {
|
|
217
|
+
case _constants.DATA_TABLE_ID:
|
|
218
|
+
{
|
|
219
|
+
var width = containerW * 0.9;
|
|
220
|
+
template = /*#__PURE__*/_react["default"].createElement(DataTableModal, {
|
|
221
|
+
datasets: datasets,
|
|
222
|
+
dataId: editingDataset,
|
|
223
|
+
showDatasetTable: visStateActions.showDatasetTable,
|
|
224
|
+
sortTableColumn: visStateActions.sortTableColumn,
|
|
225
|
+
pinTableColumn: visStateActions.pinTableColumn,
|
|
226
|
+
copyTableColumn: visStateActions.copyTableColumn,
|
|
227
|
+
setColumnDisplayFormat: visStateActions.setColumnDisplayFormat,
|
|
228
|
+
loadColumnStats: visStateActions.loadColumnStats,
|
|
229
|
+
uiStateActions: uiStateActions,
|
|
230
|
+
uiState: uiState
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
// TODO: we need to make this width consistent with the css rule defined modal.js:32 max-width: 70vw
|
|
234
|
+
// @ts-ignore // TODO fix this after add types to Theme
|
|
235
|
+
modalProps.cssStyle = (0, _styledComponents.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n ", ";\n "])), DataTableModalStyle, _styles.media.palm(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", "px;\n "])), width));
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
case _constants.DELETE_DATA_ID:
|
|
239
|
+
{
|
|
240
|
+
// validate options
|
|
241
|
+
if (datasetKeyToRemove && datasets && datasets[datasetKeyToRemove]) {
|
|
242
|
+
template = /*#__PURE__*/_react["default"].createElement(DeleteDatasetModal, {
|
|
243
|
+
dataset: datasets[datasetKeyToRemove],
|
|
244
|
+
layers: layers
|
|
245
|
+
});
|
|
246
|
+
modalProps = {
|
|
247
|
+
title: 'modal.title.deleteDataset',
|
|
248
|
+
cssStyle: smallModalCss,
|
|
249
|
+
footer: true,
|
|
250
|
+
onConfirm: function onConfirm() {
|
|
251
|
+
return _this2._deleteDataset(datasetKeyToRemove);
|
|
252
|
+
},
|
|
253
|
+
onCancel: this._closeModal,
|
|
254
|
+
confirmButton: {
|
|
255
|
+
negative: true,
|
|
256
|
+
large: true,
|
|
257
|
+
children: 'modal.button.delete'
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
break; // in case we add a new case after this one
|
|
262
|
+
}
|
|
263
|
+
case _constants.ADD_DATA_ID:
|
|
264
|
+
template = /*#__PURE__*/_react["default"].createElement(LoadDataModal, (0, _extends2["default"])({}, providerState, {
|
|
265
|
+
onClose: this._closeModal,
|
|
266
|
+
onFileUpload: this._onFileUpload,
|
|
267
|
+
onTilesetAdded: this._onTilesetAdded,
|
|
268
|
+
onLoadCloudMap: this._onLoadCloudMap,
|
|
269
|
+
loadFiles: uiState.loadFiles,
|
|
270
|
+
fileLoading: visState.fileLoading,
|
|
271
|
+
fileLoadingProgress: visState.fileLoadingProgress,
|
|
272
|
+
fileFormatNames: (0, _reducers.getFileFormatNames)(this.props.visState),
|
|
273
|
+
fileExtensions: (0, _reducers.getFileExtensions)(this.props.visState)
|
|
274
|
+
}));
|
|
275
|
+
modalProps = {
|
|
276
|
+
title: 'modal.title.addDataToMap',
|
|
277
|
+
cssStyle: LoadDataModalStyle,
|
|
278
|
+
footer: false,
|
|
279
|
+
onConfirm: this._closeModal
|
|
280
|
+
};
|
|
281
|
+
break;
|
|
282
|
+
case _constants.EXPORT_IMAGE_ID:
|
|
283
|
+
template = /*#__PURE__*/_react["default"].createElement(ExportImageModal, {
|
|
284
|
+
exportImage: uiState.exportImage,
|
|
285
|
+
mapW: containerW,
|
|
286
|
+
mapH: containerH,
|
|
287
|
+
onUpdateImageSetting: uiStateActions.setExportImageSetting,
|
|
288
|
+
cleanupExportImage: uiStateActions.cleanupExportImage
|
|
289
|
+
});
|
|
290
|
+
modalProps = {
|
|
291
|
+
title: 'modal.title.exportImage',
|
|
292
|
+
cssStyle: '',
|
|
293
|
+
footer: true,
|
|
294
|
+
onCancel: this._closeModal,
|
|
295
|
+
onConfirm: this._onExportImage,
|
|
296
|
+
confirmButton: {
|
|
297
|
+
large: true,
|
|
298
|
+
disabled: uiState.exportImage.processing,
|
|
299
|
+
children: 'modal.button.download'
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
break;
|
|
303
|
+
case _constants.EXPORT_DATA_ID:
|
|
304
|
+
template = /*#__PURE__*/_react["default"].createElement(ExportDataModal, (0, _extends2["default"])({}, uiState.exportData, {
|
|
305
|
+
supportedDataTypes: _constants.EXPORT_DATA_TYPE_OPTIONS,
|
|
306
|
+
datasets: datasets,
|
|
307
|
+
applyCPUFilter: this.props.visStateActions.applyCPUFilter,
|
|
308
|
+
onChangeExportDataType: uiStateActions.setExportDataType,
|
|
309
|
+
onChangeExportSelectedDataset: uiStateActions.setExportSelectedDataset,
|
|
310
|
+
onChangeExportFiltered: uiStateActions.setExportFiltered
|
|
311
|
+
}));
|
|
312
|
+
modalProps = {
|
|
313
|
+
title: 'modal.title.exportData',
|
|
314
|
+
cssStyle: '',
|
|
315
|
+
footer: true,
|
|
316
|
+
onCancel: this._closeModal,
|
|
317
|
+
onConfirm: this._onExportData,
|
|
318
|
+
confirmButton: {
|
|
319
|
+
large: true,
|
|
320
|
+
children: 'modal.button.export'
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
break;
|
|
324
|
+
case _constants.EXPORT_MAP_ID:
|
|
325
|
+
{
|
|
326
|
+
var keplerGlConfig = visState.schema.getConfigToSave({
|
|
327
|
+
mapStyle: mapStyle,
|
|
328
|
+
visState: visState,
|
|
329
|
+
mapState: mapState,
|
|
330
|
+
uiState: uiState
|
|
331
|
+
});
|
|
332
|
+
template = /*#__PURE__*/_react["default"].createElement(ExportMapModal, {
|
|
333
|
+
config: keplerGlConfig,
|
|
334
|
+
options: uiState.exportMap,
|
|
335
|
+
onChangeExportMapFormat: uiStateActions.setExportMapFormat,
|
|
336
|
+
onEditUserMapboxAccessToken: uiStateActions.setUserMapboxAccessToken,
|
|
337
|
+
onChangeExportMapHTMLMode: uiStateActions.setExportHTMLMapMode
|
|
338
|
+
});
|
|
339
|
+
modalProps = {
|
|
340
|
+
title: 'modal.title.exportMap',
|
|
341
|
+
cssStyle: '',
|
|
342
|
+
footer: true,
|
|
343
|
+
onCancel: this._closeModal,
|
|
344
|
+
onConfirm: this._onExportMap,
|
|
345
|
+
confirmButton: {
|
|
346
|
+
large: true,
|
|
347
|
+
children: 'modal.button.export'
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
break;
|
|
351
|
+
}
|
|
352
|
+
case _constants.EXPORT_VIDEO_ID:
|
|
353
|
+
template = /*#__PURE__*/_react["default"].createElement(ExportVideoModal, {
|
|
354
|
+
mapboxApiAccessToken: this.props.mapboxApiAccessToken,
|
|
355
|
+
mapboxApiUrl: this.props.mapboxApiUrl,
|
|
356
|
+
mapState: mapState,
|
|
357
|
+
mapStyle: mapStyle,
|
|
358
|
+
visState: visState,
|
|
359
|
+
exportVideo: uiState.exportVideo,
|
|
360
|
+
containerW: containerW,
|
|
361
|
+
visStateActions: visStateActions,
|
|
362
|
+
uiStateActions: uiStateActions,
|
|
363
|
+
onClose: this._closeModal
|
|
364
|
+
});
|
|
365
|
+
modalProps = {
|
|
366
|
+
title: 'modal.title.exportVideo',
|
|
367
|
+
cssStyle: ExportVideoModalStyle,
|
|
368
|
+
footer: false,
|
|
369
|
+
onCancel: this._closeModal
|
|
370
|
+
};
|
|
371
|
+
break;
|
|
372
|
+
case _constants.ADD_MAP_STYLE_ID:
|
|
373
|
+
template = /*#__PURE__*/_react["default"].createElement(AddMapStyleModal, {
|
|
374
|
+
mapboxApiAccessToken: this.props.mapboxApiAccessToken,
|
|
375
|
+
mapboxApiUrl: this.props.mapboxApiUrl,
|
|
376
|
+
mapState: this.props.mapState,
|
|
377
|
+
inputStyle: mapStyle.inputStyle,
|
|
378
|
+
inputMapStyle: this.props.mapStyleActions.inputMapStyle,
|
|
379
|
+
loadCustomMapStyle: this.props.mapStyleActions.loadCustomMapStyle
|
|
380
|
+
});
|
|
381
|
+
modalProps = {
|
|
382
|
+
title: 'modal.title.addCustomMapboxStyle',
|
|
383
|
+
cssStyle: '',
|
|
384
|
+
footer: true,
|
|
385
|
+
onCancel: this._closeModal,
|
|
386
|
+
onConfirm: this._onAddCustomMapStyle,
|
|
387
|
+
confirmButton: {
|
|
388
|
+
large: true,
|
|
389
|
+
disabled: mapStyle.inputStyle.error || !mapStyle.inputStyle.url || !mapStyle.inputStyle.label,
|
|
390
|
+
children: 'modal.button.addStyle'
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
break;
|
|
394
|
+
case _constants.SAVE_MAP_ID:
|
|
395
|
+
template = /*#__PURE__*/_react["default"].createElement(SaveMapModal, (0, _extends2["default"])({}, providerState, {
|
|
396
|
+
exportImage: uiState.exportImage,
|
|
397
|
+
mapInfo: visState.mapInfo,
|
|
398
|
+
onSetMapInfo: visStateActions.setMapInfo,
|
|
399
|
+
cleanupExportImage: uiStateActions.cleanupExportImage,
|
|
400
|
+
onUpdateImageSetting: uiStateActions.setExportImageSetting,
|
|
401
|
+
onCancel: this._closeModal,
|
|
402
|
+
onConfirm: function onConfirm(provider) {
|
|
403
|
+
return _this2._onSaveMap(provider, false);
|
|
404
|
+
}
|
|
405
|
+
}));
|
|
406
|
+
modalProps = {
|
|
407
|
+
title: 'modal.title.saveMap',
|
|
408
|
+
cssStyle: '',
|
|
409
|
+
footer: false
|
|
410
|
+
};
|
|
411
|
+
break;
|
|
412
|
+
case _constants.OVERWRITE_MAP_ID:
|
|
413
|
+
template = /*#__PURE__*/_react["default"].createElement(OverWriteMapModal, (0, _extends2["default"])({}, providerState, {
|
|
414
|
+
title: (0, _get["default"])(visState, ['mapInfo', 'title']),
|
|
415
|
+
onUpdateImageSetting: uiStateActions.setExportImageSetting,
|
|
416
|
+
cleanupExportImage: uiStateActions.cleanupExportImage,
|
|
417
|
+
onConfirm: this._onOverwriteMap,
|
|
418
|
+
onCancel: this._closeModal
|
|
419
|
+
}));
|
|
420
|
+
modalProps = {
|
|
421
|
+
title: 'Overwrite Existing File?',
|
|
422
|
+
cssStyle: smallModalCss,
|
|
423
|
+
footer: false
|
|
424
|
+
};
|
|
425
|
+
break;
|
|
426
|
+
case _constants.SHARE_MAP_ID:
|
|
427
|
+
template = /*#__PURE__*/_react["default"].createElement(ShareMapModal, (0, _extends2["default"])({}, providerState, {
|
|
428
|
+
onExport: this._onShareMapUrl,
|
|
429
|
+
cleanupExportImage: uiStateActions.cleanupExportImage,
|
|
430
|
+
onUpdateImageSetting: uiStateActions.setExportImageSetting
|
|
431
|
+
}));
|
|
432
|
+
modalProps = {
|
|
433
|
+
title: 'modal.title.shareURL',
|
|
434
|
+
cssStyle: '',
|
|
435
|
+
onCancel: this._onCloseSaveMap
|
|
436
|
+
};
|
|
437
|
+
break;
|
|
438
|
+
default:
|
|
439
|
+
break;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
return rootNode ? /*#__PURE__*/_react["default"].createElement(ModalDialog, (0, _extends2["default"])({
|
|
443
|
+
parentSelector: function parentSelector() {
|
|
444
|
+
return rootNode;
|
|
445
|
+
},
|
|
446
|
+
isOpen: Boolean(currentModal),
|
|
447
|
+
onCancel: this._closeModal
|
|
448
|
+
}, modalProps, {
|
|
449
|
+
cssStyle: DefaultStyle.concat(modalProps.cssStyle)
|
|
450
|
+
}), template) : null;
|
|
451
|
+
}
|
|
452
|
+
/* eslint-enable complexity */
|
|
453
|
+
}]);
|
|
454
|
+
}(_react.Component);
|
|
455
|
+
return ModalContainer;
|
|
456
|
+
}
|
|
457
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9nZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2RvY3VtZW50IiwiX2NvbnN0YW50cyIsIl9yZWR1Y2VycyIsIl91dGlscyIsIl9tb2RhbERpYWxvZyIsIl9kZWxldGVEYXRhTW9kYWwiLCJfb3ZlcndyaXRlTWFwTW9kYWwiLCJfZGF0YVRhYmxlTW9kYWwiLCJfbG9hZERhdGFNb2RhbCIsIl9leHBvcnRJbWFnZU1vZGFsIiwiX2V4cG9ydERhdGFNb2RhbCIsIl9leHBvcnRNYXBNb2RhbCIsIl9leHBvcnRWaWRlb01vZGFsIiwiX2FkZE1hcFN0eWxlTW9kYWwiLCJfc2F2ZU1hcE1vZGFsIiwiX3NoYXJlTWFwTW9kYWwiLCJfc3R5bGVzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJEYXRhVGFibGVNb2RhbFN0eWxlIiwiY3NzIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJtZWRpYSIsInBvcnRhYmxlIiwicGFsbSIsInNtYWxsTW9kYWxDc3MiLCJMb2FkRGF0YU1vZGFsU3R5bGUiLCJFeHBvcnRWaWRlb01vZGFsU3R5bGUiLCJEZWZhdWx0U3R5bGUiLCJNb2RhbENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiRGVsZXRlRGF0YXNldE1vZGFsRmFjdG9yeSIsIk92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeSIsIkRhdGFUYWJsZU1vZGFsRmFjdG9yeSIsIkxvYWREYXRhTW9kYWxGYWN0b3J5IiwiRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnkiLCJFeHBvcnREYXRhTW9kYWxGYWN0b3J5IiwiRXhwb3J0TWFwTW9kYWxGYWN0b3J5IiwiRXhwb3J0VmlkZW9Nb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSIsIk1vZGFsRGlhbG9nRmFjdG9yeSIsIlNhdmVNYXBNb2RhbEZhY3RvcnkiLCJTaGFyZU1hcE1vZGFsRmFjdG9yeSIsIkRlbGV0ZURhdGFzZXRNb2RhbCIsIk92ZXJXcml0ZU1hcE1vZGFsIiwiRGF0YVRhYmxlTW9kYWwiLCJMb2FkRGF0YU1vZGFsIiwiRXhwb3J0SW1hZ2VNb2RhbCIsIkV4cG9ydERhdGFNb2RhbCIsIkV4cG9ydE1hcE1vZGFsIiwiRXhwb3J0VmlkZW9Nb2RhbCIsIkFkZE1hcFN0eWxlTW9kYWwiLCJNb2RhbERpYWxvZyIsIlNhdmVNYXBNb2RhbCIsIlNoYXJlTWFwTW9kYWwiLCJNb2RhbENvbnRhaW5lciIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsIl9vbktleVVwIiwiZXZlbnQiLCJrZXlDb2RlIiwiS2V5RXZlbnQiLCJET01fVktfRVNDQVBFIiwiX2Nsb3NlTW9kYWwiLCJwcm9wcyIsInVpU3RhdGVBY3Rpb25zIiwidG9nZ2xlTW9kYWwiLCJrZXkiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJyZW1vdmVEYXRhc2V0IiwibWFwU3R5bGVBY3Rpb25zIiwiYWRkQ3VzdG9tTWFwU3R5bGUiLCJmaWxlTGlzdCIsImxvYWRGaWxlcyIsInRpbGVzZXQiLCJwcm9jZXNzZWRNZXRhZGF0YSIsInVwZGF0ZVZpc0RhdGEiLCJpbmZvIiwibGFiZWwiLCJuYW1lIiwidHlwZSIsImZvcm1hdCIsImRhdGEiLCJmaWVsZHMiLCJyb3dzIiwibWV0YWRhdGEiLCJzdXBwb3J0ZWRGaWx0ZXJUeXBlcyIsIkFMTF9GSUVMRF9UWVBFUyIsInJlYWwiLCJpbnRlZ2VyIiwiZGlzYWJsZURhdGFPcGVyYXRpb24iLCJhdXRvQ3JlYXRlTGF5ZXJzIiwiY2VudGVyTWFwIiwidWlTdGF0ZSIsImV4cG9ydEltYWdlIiwicHJvY2Vzc2luZyIsImFwcE5hbWUiLCJjbGVhbnVwRXhwb3J0SW1hZ2UiLCJleHBvcnREYXRhIiwiZXhwb3J0TWFwIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsImV4cG9ydEh0bWwiLCJleHBvcnRKc29uIiwiX3JlZiIsInByb3ZpZGVyIiwiaXNQdWJsaWMiLCJvdmVyd3JpdGUiLCJjbG9zZU1vZGFsIiwidG9TYXZlIiwicHJvdmlkZXJBY3Rpb25zIiwiZXhwb3J0RmlsZVRvQ2xvdWQiLCJtYXBEYXRhIiwib3B0aW9ucyIsIm1hcElkVG9PdmVyd3JpdGUiLCJwcm92aWRlclN0YXRlIiwic2F2ZWRNYXBJZCIsIm9uU3VjY2VzcyIsIm9uRXhwb3J0VG9DbG91ZFN1Y2Nlc3MiLCJvbkVycm9yIiwib25FeHBvcnRUb0Nsb3VkRXJyb3IiLCJ1bmRlZmluZWQiLCJfZXhwb3J0RmlsZVRvQ2xvdWQiLCJfb25TYXZlTWFwIiwicmVzZXRQcm92aWRlclN0YXR1cyIsInBheWxvYWQiLCJsb2FkQ2xvdWRNYXAiLCJvbkxvYWRDbG91ZE1hcFN1Y2Nlc3MiLCJvbkxvYWRDbG91ZE1hcEVycm9yIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJ2YWx1ZSIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzIiwiY29udGFpbmVyVyIsImNvbnRhaW5lckgiLCJtYXBTdHlsZSIsIm1hcFN0YXRlIiwidmlzU3RhdGUiLCJyb290Tm9kZSIsImN1cnJlbnRNb2RhbCIsImRhdGFzZXRLZXlUb1JlbW92ZSIsImRhdGFzZXRzIiwibGF5ZXJzIiwiZWRpdGluZ0RhdGFzZXQiLCJ0ZW1wbGF0ZSIsIm1vZGFsUHJvcHMiLCJpZCIsImNyZWF0ZUVsZW1lbnQiLCJEQVRBX1RBQkxFX0lEIiwid2lkdGgiLCJkYXRhSWQiLCJzaG93RGF0YXNldFRhYmxlIiwic29ydFRhYmxlQ29sdW1uIiwicGluVGFibGVDb2x1bW4iLCJjb3B5VGFibGVDb2x1bW4iLCJzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0IiwibG9hZENvbHVtblN0YXRzIiwiY3NzU3R5bGUiLCJERUxFVEVfREFUQV9JRCIsImRhdGFzZXQiLCJ0aXRsZSIsImZvb3RlciIsIm9uQ29uZmlybSIsIl9kZWxldGVEYXRhc2V0Iiwib25DYW5jZWwiLCJjb25maXJtQnV0dG9uIiwibmVnYXRpdmUiLCJsYXJnZSIsImNoaWxkcmVuIiwiQUREX0RBVEFfSUQiLCJfZXh0ZW5kczIiLCJvbkNsb3NlIiwib25GaWxlVXBsb2FkIiwiX29uRmlsZVVwbG9hZCIsIm9uVGlsZXNldEFkZGVkIiwiX29uVGlsZXNldEFkZGVkIiwib25Mb2FkQ2xvdWRNYXAiLCJfb25Mb2FkQ2xvdWRNYXAiLCJmaWxlTG9hZGluZyIsImZpbGVMb2FkaW5nUHJvZ3Jlc3MiLCJmaWxlRm9ybWF0TmFtZXMiLCJnZXRGaWxlRm9ybWF0TmFtZXMiLCJmaWxlRXh0ZW5zaW9ucyIsImdldEZpbGVFeHRlbnNpb25zIiwiRVhQT1JUX0lNQUdFX0lEIiwibWFwVyIsIm1hcEgiLCJvblVwZGF0ZUltYWdlU2V0dGluZyIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsIl9vbkV4cG9ydEltYWdlIiwiZGlzYWJsZWQiLCJFWFBPUlRfREFUQV9JRCIsInN1cHBvcnRlZERhdGFUeXBlcyIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsImFwcGx5Q1BVRmlsdGVyIiwib25DaGFuZ2VFeHBvcnREYXRhVHlwZSIsInNldEV4cG9ydERhdGFUeXBlIiwib25DaGFuZ2VFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJzZXRFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJvbkNoYW5nZUV4cG9ydEZpbHRlcmVkIiwic2V0RXhwb3J0RmlsdGVyZWQiLCJfb25FeHBvcnREYXRhIiwiRVhQT1JUX01BUF9JRCIsImtlcGxlckdsQ29uZmlnIiwic2NoZW1hIiwiZ2V0Q29uZmlnVG9TYXZlIiwiY29uZmlnIiwib25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQiLCJzZXRFeHBvcnRNYXBGb3JtYXQiLCJvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW4iLCJzZXRVc2VyTWFwYm94QWNjZXNzVG9rZW4iLCJvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlIiwic2V0RXhwb3J0SFRNTE1hcE1vZGUiLCJfb25FeHBvcnRNYXAiLCJFWFBPUlRfVklERU9fSUQiLCJtYXBib3hBcGlBY2Nlc3NUb2tlbiIsIm1hcGJveEFwaVVybCIsImV4cG9ydFZpZGVvIiwiQUREX01BUF9TVFlMRV9JRCIsImlucHV0U3R5bGUiLCJpbnB1dE1hcFN0eWxlIiwibG9hZEN1c3RvbU1hcFN0eWxlIiwiX29uQWRkQ3VzdG9tTWFwU3R5bGUiLCJlcnJvciIsInVybCIsIlNBVkVfTUFQX0lEIiwibWFwSW5mbyIsIm9uU2V0TWFwSW5mbyIsInNldE1hcEluZm8iLCJPVkVSV1JJVEVfTUFQX0lEIiwiX29uT3ZlcndyaXRlTWFwIiwiU0hBUkVfTUFQX0lEIiwib25FeHBvcnQiLCJfb25TaGFyZU1hcFVybCIsIl9vbkNsb3NlU2F2ZU1hcCIsInBhcmVudFNlbGVjdG9yIiwiaXNPcGVuIiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGFsLWNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcbmltcG9ydCBkb2N1bWVudCBmcm9tICdnbG9iYWwvZG9jdW1lbnQnO1xuXG5pbXBvcnQge0FMTF9GSUVMRF9UWVBFU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgZXhwb3J0RGF0YSxcbiAgZ2V0RmlsZUZvcm1hdE5hbWVzLFxuICBnZXRGaWxlRXh0ZW5zaW9ucyxcbiAgTWFwU3R5bGUsXG4gIFByb3ZpZGVyU3RhdGVcbn0gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5pbXBvcnQge2V4cG9ydEh0bWwsIGV4cG9ydE1hcCwgZXhwb3J0SnNvbiwgZXhwb3J0SW1hZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5pbXBvcnQgTW9kYWxEaWFsb2dGYWN0b3J5IGZyb20gJy4vbW9kYWxzL21vZGFsLWRpYWxvZyc7XG5cbi8vIG1vZGFsc1xuaW1wb3J0IERlbGV0ZURhdGFzZXRNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZGVsZXRlLWRhdGEtbW9kYWwnO1xuaW1wb3J0IE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9vdmVyd3JpdGUtbWFwLW1vZGFsJztcbmltcG9ydCBEYXRhVGFibGVNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZGF0YS10YWJsZS1tb2RhbCc7XG5pbXBvcnQgTG9hZERhdGFNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvbG9hZC1kYXRhLW1vZGFsJztcbmltcG9ydCBFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9leHBvcnQtaW1hZ2UtbW9kYWwnO1xuaW1wb3J0IEV4cG9ydERhdGFNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZXhwb3J0LWRhdGEtbW9kYWwnO1xuaW1wb3J0IEV4cG9ydE1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9leHBvcnQtbWFwLW1vZGFsL2V4cG9ydC1tYXAtbW9kYWwnO1xuaW1wb3J0IEV4cG9ydFZpZGVvTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2V4cG9ydC12aWRlby1tb2RhbCc7XG5pbXBvcnQgQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvYWRkLW1hcC1zdHlsZS1tb2RhbCc7XG5pbXBvcnQgU2F2ZU1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9zYXZlLW1hcC1tb2RhbCc7XG5pbXBvcnQgU2hhcmVNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvc2hhcmUtbWFwLW1vZGFsJztcblxuLy8gQnJlYWtwb2ludHNcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuLy8gVGVtcGxhdGVcbmltcG9ydCB7XG4gIEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyxcbiAgRVhQT1JUX01BUF9GT1JNQVRTLFxuICBLZXlFdmVudCxcbiAgQUREX0RBVEFfSUQsXG4gIERBVEFfVEFCTEVfSUQsXG4gIERFTEVURV9EQVRBX0lELFxuICBFWFBPUlRfREFUQV9JRCxcbiAgRVhQT1JUX0lNQUdFX0lELFxuICBFWFBPUlRfTUFQX0lELFxuICBFWFBPUlRfVklERU9fSUQsXG4gIEFERF9NQVBfU1RZTEVfSUQsXG4gIFNBVkVfTUFQX0lELFxuICBTSEFSRV9NQVBfSUQsXG4gIE9WRVJXUklURV9NQVBfSURcbn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5pbXBvcnQge01hcFN0YXRlLCBVaVN0YXRlLCBPblN1Y2Nlc3NDYWxsQmFjaywgT25FcnJvckNhbGxCYWNrfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHtcbiAgVmlzU3RhdGVBY3Rpb25zLFxuICBVSVN0YXRlQWN0aW9ucyxcbiAgTWFwU3R5bGVBY3Rpb25zLFxuICBQcm92aWRlckFjdGlvbnNcbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7TW9kYWxEaWFsb2dQcm9wc30gZnJvbSAnLi9jb21tb24vbW9kYWwnO1xuaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuaW1wb3J0IHtWaXNTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC9zY2hlbWFzJztcblxuY29uc3QgRGF0YVRhYmxlTW9kYWxTdHlsZSA9IGNzc2BcbiAgdG9wOiA3MHB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTB2dztcbiAgbWF4LXdpZHRoOiA5MHZ3O1xuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgcGFkZGluZzogMDtcbiAgYH0gJHttZWRpYS5wYWxtYFxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIGB9O1xuYDtcbmNvbnN0IHNtYWxsTW9kYWxDc3MgPSBjc3NgXG4gIHdpZHRoOiA0MCU7XG4gIHBhZGRpbmc6IDQwcHggNDBweCAzMnB4IDQwcHg7XG5gO1xuXG5jb25zdCBMb2FkRGF0YU1vZGFsU3R5bGUgPSBjc3NgXG4gIHRvcDogNjBweDtcbmA7XG5cbmNvbnN0IEV4cG9ydFZpZGVvTW9kYWxTdHlsZSA9IGNzc2BcbiAgbWF4LXdpZHRoOiA5NjBweDtcbmA7XG5cbmNvbnN0IERlZmF1bHRTdHlsZSA9IGNzc2BcbiAgbWF4LXdpZHRoOiA5NjBweDtcbmA7XG5cbmV4cG9ydCB0eXBlIE1vZGFsQ29udGFpbmVyUHJvcHMgPSB7XG4gIGFwcE5hbWU6IHN0cmluZztcbiAgcm9vdE5vZGU6IFJlYWN0LlJlYWN0SW5zdGFuY2UgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBjb250YWluZXJXOiBudW1iZXI7XG4gIGNvbnRhaW5lckg6IG51bWJlcjtcbiAgbWFwYm94QXBpQWNjZXNzVG9rZW46IHN0cmluZztcbiAgbWFwYm94QXBpVXJsPzogc3RyaW5nO1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIG1hcFN0eWxlOiBNYXBTdHlsZTtcbiAgdWlTdGF0ZTogVWlTdGF0ZTtcbiAgdmlzU3RhdGU6IFZpc1N0YXRlO1xuICBwcm92aWRlclN0YXRlOiBQcm92aWRlclN0YXRlO1xuICB2aXNTdGF0ZUFjdGlvbnM6IHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnM7XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIG1hcFN0eWxlQWN0aW9uczogdHlwZW9mIE1hcFN0eWxlQWN0aW9ucztcbiAgcHJvdmlkZXJBY3Rpb25zOiB0eXBlb2YgUHJvdmlkZXJBY3Rpb25zO1xuICBvblNhdmVUb1N0b3JhZ2U/OiAoKSA9PiB2b2lkO1xuICBjbG91ZFByb3ZpZGVyczogUHJvdmlkZXJbXTtcbiAgb25Mb2FkQ2xvdWRNYXBTdWNjZXNzPzogT25TdWNjZXNzQ2FsbEJhY2s7XG4gIG9uTG9hZENsb3VkTWFwRXJyb3I/OiBPbkVycm9yQ2FsbEJhY2s7XG4gIG9uRXhwb3J0VG9DbG91ZFN1Y2Nlc3M/OiBPblN1Y2Nlc3NDYWxsQmFjaztcbiAgb25FeHBvcnRUb0Nsb3VkRXJyb3I/OiBPbkVycm9yQ2FsbEJhY2s7XG59O1xuXG5Nb2RhbENvbnRhaW5lckZhY3RvcnkuZGVwcyA9IFtcbiAgRGVsZXRlRGF0YXNldE1vZGFsRmFjdG9yeSxcbiAgT3ZlcldyaXRlTWFwTW9kYWxGYWN0b3J5LFxuICBEYXRhVGFibGVNb2RhbEZhY3RvcnksXG4gIExvYWREYXRhTW9kYWxGYWN0b3J5LFxuICBFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeSxcbiAgRXhwb3J0RGF0YU1vZGFsRmFjdG9yeSxcbiAgRXhwb3J0TWFwTW9kYWxGYWN0b3J5LFxuICBFeHBvcnRWaWRlb01vZGFsRmFjdG9yeSxcbiAgQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnksXG4gIE1vZGFsRGlhbG9nRmFjdG9yeSxcbiAgU2F2ZU1hcE1vZGFsRmFjdG9yeSxcbiAgU2hhcmVNYXBNb2RhbEZhY3Rvcnlcbl07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1vZGFsQ29udGFpbmVyRmFjdG9yeShcbiAgRGVsZXRlRGF0YXNldE1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5PixcbiAgT3ZlcldyaXRlTWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeT4sXG4gIERhdGFUYWJsZU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhVGFibGVNb2RhbEZhY3Rvcnk+LFxuICBMb2FkRGF0YU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBMb2FkRGF0YU1vZGFsRmFjdG9yeT4sXG4gIEV4cG9ydEltYWdlTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydEltYWdlTW9kYWxGYWN0b3J5PixcbiAgRXhwb3J0RGF0YU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBFeHBvcnREYXRhTW9kYWxGYWN0b3J5PixcbiAgRXhwb3J0TWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydE1hcE1vZGFsRmFjdG9yeT4sXG4gIEV4cG9ydFZpZGVvTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydFZpZGVvTW9kYWxGYWN0b3J5PixcbiAgQWRkTWFwU3R5bGVNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgQWRkTWFwU3R5bGVNb2RhbEZhY3Rvcnk+LFxuICBNb2RhbERpYWxvZzogUmV0dXJuVHlwZTx0eXBlb2YgTW9kYWxEaWFsb2dGYWN0b3J5PixcbiAgU2F2ZU1hcE1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBTYXZlTWFwTW9kYWxGYWN0b3J5PixcbiAgU2hhcmVNYXBNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgU2hhcmVNYXBNb2RhbEZhY3Rvcnk+XG4pOiBSZWFjdC5FbGVtZW50VHlwZTxNb2RhbENvbnRhaW5lclByb3BzPiB7XG4gIC8qKiBAYXVnbWVudHMgUmVhY3QuQ29tcG9uZW50PE1vZGFsQ29udGFpbmVyUHJvcHM+ICovXG4gIGNsYXNzIE1vZGFsQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50PE1vZGFsQ29udGFpbmVyUHJvcHM+IHtcbiAgICAvLyBUT0RPIC0gcmVtb3ZlIHdoZW4gcHJvcCB0eXBlcyBhcmUgZnVsbHkgZXhwb3J0ZWRcbiAgICBjb21wb25lbnREaWRNb3VudCA9ICgpID0+IHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5fb25LZXlVcCk7XG4gICAgfTtcbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5fb25LZXlVcCk7XG4gICAgfVxuXG4gICAgX29uS2V5VXAgPSBldmVudCA9PiB7XG4gICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICAgIGlmIChrZXlDb2RlID09PSBLZXlFdmVudC5ET01fVktfRVNDQVBFKSB7XG4gICAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX2Nsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLnRvZ2dsZU1vZGFsKG51bGwpO1xuICAgIH07XG5cbiAgICBfZGVsZXRlRGF0YXNldCA9IGtleSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5yZW1vdmVEYXRhc2V0KGtleSk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkFkZEN1c3RvbU1hcFN0eWxlID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMuYWRkQ3VzdG9tTWFwU3R5bGUoKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRmlsZVVwbG9hZCA9IGZpbGVMaXN0ID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLmxvYWRGaWxlcyhmaWxlTGlzdCk7XG4gICAgfTtcblxuICAgIF9vblRpbGVzZXRBZGRlZCA9IChcbiAgICAgIHRpbGVzZXQ6IHtuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZzsgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT59LFxuICAgICAgcHJvY2Vzc2VkTWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy51cGRhdGVWaXNEYXRhKFxuICAgICAgICB7XG4gICAgICAgICAgaW5mbzoge2xhYmVsOiB0aWxlc2V0Lm5hbWUsIHR5cGU6IHRpbGVzZXQudHlwZSwgZm9ybWF0OiAncm93cyd9LFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGZpZWxkczogcHJvY2Vzc2VkTWV0YWRhdGE/LmZpZWxkcyB8fCBbXSxcbiAgICAgICAgICAgIHJvd3M6IFtdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgLi4ucHJvY2Vzc2VkTWV0YWRhdGEsXG4gICAgICAgICAgICAuLi50aWxlc2V0Lm1ldGFkYXRhXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBWZWN0b3IgdGlsZSBsYXllciBzdXBwb3J0cyBHUFUgZmlsdGVyaW5nIGZvciBudW1lcmljIGFuZCBib29sZWFuIGZpZWxkc1xuICAgICAgICAgIHN1cHBvcnRlZEZpbHRlclR5cGVzOiBbXG4gICAgICAgICAgICBBTExfRklFTERfVFlQRVMucmVhbCxcbiAgICAgICAgICAgIEFMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyLFxuICAgICAgICAgICAgQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5cbiAgICAgICAgICBdLFxuICAgICAgICAgIGRpc2FibGVEYXRhT3BlcmF0aW9uOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRvQ3JlYXRlTGF5ZXJzOiB0cnVlLFxuICAgICAgICAgIGNlbnRlck1hcDogdHJ1ZVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfb25FeHBvcnRJbWFnZSA9ICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3NpbmcpIHtcbiAgICAgICAgZXhwb3J0SW1hZ2UodGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydEltYWdlLCBgJHt0aGlzLnByb3BzLmFwcE5hbWV9LnBuZ2ApO1xuICAgICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZSgpO1xuICAgICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydERhdGEgPSAoKSA9PiB7XG4gICAgICBleHBvcnREYXRhKHRoaXMucHJvcHMsIHRoaXMucHJvcHMudWlTdGF0ZS5leHBvcnREYXRhKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRXhwb3J0TWFwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3VpU3RhdGV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtmb3JtYXR9ID0gdWlTdGF0ZS5leHBvcnRNYXA7XG4gICAgICAoZm9ybWF0ID09PSBFWFBPUlRfTUFQX0ZPUk1BVFMuSFRNTCA/IGV4cG9ydEh0bWwgOiBleHBvcnRKc29uKShcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICAgdGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydE1hcFtmb3JtYXRdIHx8IHt9XG4gICAgICApO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfZXhwb3J0RmlsZVRvQ2xvdWQgPSAoe3Byb3ZpZGVyLCBpc1B1YmxpYywgb3ZlcndyaXRlLCBjbG9zZU1vZGFsfSkgPT4ge1xuICAgICAgY29uc3QgdG9TYXZlID0gZXhwb3J0TWFwKHRoaXMucHJvcHMpO1xuXG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIG1hcERhdGE6IHRvU2F2ZSxcbiAgICAgICAgcHJvdmlkZXIsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBpc1B1YmxpYyxcbiAgICAgICAgICBvdmVyd3JpdGUsXG4gICAgICAgICAgbWFwSWRUb092ZXJ3cml0ZTogdGhpcy5wcm9wcy5wcm92aWRlclN0YXRlLnNhdmVkTWFwSWRcbiAgICAgICAgfSxcbiAgICAgICAgY2xvc2VNb2RhbCxcbiAgICAgICAgb25TdWNjZXNzOiB0aGlzLnByb3BzLm9uRXhwb3J0VG9DbG91ZFN1Y2Nlc3MsXG4gICAgICAgIG9uRXJyb3I6IHRoaXMucHJvcHMub25FeHBvcnRUb0Nsb3VkRXJyb3JcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25TYXZlTWFwID0gKHByb3ZpZGVyLCBvdmVyd3JpdGUgPSBmYWxzZSkgPT4ge1xuICAgICAgdGhpcy5fZXhwb3J0RmlsZVRvQ2xvdWQoe1xuICAgICAgICBwcm92aWRlcixcbiAgICAgICAgaXNQdWJsaWM6IGZhbHNlLFxuICAgICAgICBvdmVyd3JpdGUsXG4gICAgICAgIGNsb3NlTW9kYWw6IHRydWVcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25PdmVyd3JpdGVNYXAgPSBwcm92aWRlciA9PiB7XG4gICAgICB0aGlzLl9vblNhdmVNYXAocHJvdmlkZXIsIHRydWUpO1xuICAgIH07XG5cbiAgICBfb25TaGFyZU1hcFVybCA9IHByb3ZpZGVyID0+IHtcbiAgICAgIHRoaXMuX2V4cG9ydEZpbGVUb0Nsb3VkKHtwcm92aWRlciwgaXNQdWJsaWM6IHRydWUsIG92ZXJ3cml0ZTogZmFsc2UsIGNsb3NlTW9kYWw6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIF9vbkNsb3NlU2F2ZU1hcCA9ICgpID0+IHtcbiAgICAgIHRoaXMucHJvcHMucHJvdmlkZXJBY3Rpb25zLnJlc2V0UHJvdmlkZXJTdGF0dXMoKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uTG9hZENsb3VkTWFwID0gcGF5bG9hZCA9PiB7XG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5sb2FkQ2xvdWRNYXAoe1xuICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICBvblN1Y2Nlc3M6IHRoaXMucHJvcHMub25Mb2FkQ2xvdWRNYXBTdWNjZXNzLFxuICAgICAgICBvbkVycm9yOiB0aGlzLnByb3BzLm9uTG9hZENsb3VkTWFwRXJyb3JcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBjb250YWluZXJXLFxuICAgICAgICBjb250YWluZXJILFxuICAgICAgICBtYXBTdHlsZSxcbiAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgIHVpU3RhdGUsXG4gICAgICAgIHZpc1N0YXRlLFxuICAgICAgICByb290Tm9kZSxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgcHJvdmlkZXJTdGF0ZVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCB7Y3VycmVudE1vZGFsLCBkYXRhc2V0S2V5VG9SZW1vdmV9ID0gdWlTdGF0ZTtcbiAgICAgIGNvbnN0IHtkYXRhc2V0cywgbGF5ZXJzLCBlZGl0aW5nRGF0YXNldH0gPSB2aXNTdGF0ZTtcblxuICAgICAgbGV0IHRlbXBsYXRlOiBKU1guRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgICAgbGV0IG1vZGFsUHJvcHM6IFBhcnRpYWw8TW9kYWxEaWFsb2dQcm9wcz4gPSB7fTtcblxuICAgICAgLy8gVE9ETyAtIGN1cnJlbnRNb2RhbCBpcyBhIHN0cmluZ1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKGN1cnJlbnRNb2RhbCAmJiBjdXJyZW50TW9kYWwuaWQgJiYgY3VycmVudE1vZGFsLnRlbXBsYXRlKSB7XG4gICAgICAgIC8vIGlmIGN1cnJlbnRNZG9hbCB0ZW1wbGF0ZSBpcyBhbHJlYWR5IHByb3ZpZGVkXG4gICAgICAgIC8vIFRPRE86IG5lZWQgdG8gY2hlY2sgd2hldGhlciB0ZW1wbGF0ZSBpcyB2YWxpZFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRlbXBsYXRlID0gPGN1cnJlbnRNb2RhbC50ZW1wbGF0ZSAvPjtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBtb2RhbFByb3BzID0gY3VycmVudE1vZGFsLm1vZGFsUHJvcHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGN1cnJlbnRNb2RhbCkge1xuICAgICAgICAgIGNhc2UgREFUQV9UQUJMRV9JRDoge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBjb250YWluZXJXICogMC45O1xuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxEYXRhVGFibGVNb2RhbFxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBkYXRhSWQ9e2VkaXRpbmdEYXRhc2V0fVxuICAgICAgICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Zpc1N0YXRlQWN0aW9ucy5zaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAgIHNvcnRUYWJsZUNvbHVtbj17dmlzU3RhdGVBY3Rpb25zLnNvcnRUYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBwaW5UYWJsZUNvbHVtbj17dmlzU3RhdGVBY3Rpb25zLnBpblRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAgIGNvcHlUYWJsZUNvbHVtbj17dmlzU3RhdGVBY3Rpb25zLmNvcHlUYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0PXt2aXNTdGF0ZUFjdGlvbnMuc2V0Q29sdW1uRGlzcGxheUZvcm1hdH1cbiAgICAgICAgICAgICAgICBsb2FkQ29sdW1uU3RhdHM9e3Zpc1N0YXRlQWN0aW9ucy5sb2FkQ29sdW1uU3RhdHN9XG4gICAgICAgICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIHVpU3RhdGU9e3VpU3RhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBUT0RPOiB3ZSBuZWVkIHRvIG1ha2UgdGhpcyB3aWR0aCBjb25zaXN0ZW50IHdpdGggdGhlIGNzcyBydWxlIGRlZmluZWQgbW9kYWwuanM6MzIgbWF4LXdpZHRoOiA3MHZ3XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIC8vIFRPRE8gZml4IHRoaXMgYWZ0ZXIgYWRkIHR5cGVzIHRvIFRoZW1lXG4gICAgICAgICAgICBtb2RhbFByb3BzLmNzc1N0eWxlID0gY3NzYFxuICAgICAgICAgICAgICAke0RhdGFUYWJsZU1vZGFsU3R5bGV9O1xuICAgICAgICAgICAgICAke21lZGlhLnBhbG1gXG4gICAgICAgICAgICAgICAgd2lkdGg6ICR7d2lkdGh9cHg7XG4gICAgICAgICAgICAgIGB9O1xuICAgICAgICAgICAgYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIERFTEVURV9EQVRBX0lEOiB7XG4gICAgICAgICAgICAvLyB2YWxpZGF0ZSBvcHRpb25zXG4gICAgICAgICAgICBpZiAoZGF0YXNldEtleVRvUmVtb3ZlICYmIGRhdGFzZXRzICYmIGRhdGFzZXRzW2RhdGFzZXRLZXlUb1JlbW92ZV0pIHtcbiAgICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgICAgPERlbGV0ZURhdGFzZXRNb2RhbCBkYXRhc2V0PXtkYXRhc2V0c1tkYXRhc2V0S2V5VG9SZW1vdmVdfSBsYXllcnM9e2xheWVyc30gLz5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmRlbGV0ZURhdGFzZXQnLFxuICAgICAgICAgICAgICAgIGNzc1N0eWxlOiBzbWFsbE1vZGFsQ3NzLFxuICAgICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvbkNvbmZpcm06ICgpID0+IHRoaXMuX2RlbGV0ZURhdGFzZXQoZGF0YXNldEtleVRvUmVtb3ZlKSxcbiAgICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgICBuZWdhdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZGVsZXRlJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrOyAvLyBpbiBjYXNlIHdlIGFkZCBhIG5ldyBjYXNlIGFmdGVyIHRoaXMgb25lXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgQUREX0RBVEFfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPExvYWREYXRhTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBvbkNsb3NlPXt0aGlzLl9jbG9zZU1vZGFsfVxuICAgICAgICAgICAgICAgIG9uRmlsZVVwbG9hZD17dGhpcy5fb25GaWxlVXBsb2FkfVxuICAgICAgICAgICAgICAgIG9uVGlsZXNldEFkZGVkPXt0aGlzLl9vblRpbGVzZXRBZGRlZH1cbiAgICAgICAgICAgICAgICBvbkxvYWRDbG91ZE1hcD17dGhpcy5fb25Mb2FkQ2xvdWRNYXB9XG4gICAgICAgICAgICAgICAgbG9hZEZpbGVzPXt1aVN0YXRlLmxvYWRGaWxlc31cbiAgICAgICAgICAgICAgICBmaWxlTG9hZGluZz17dmlzU3RhdGUuZmlsZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgZmlsZUxvYWRpbmdQcm9ncmVzcz17dmlzU3RhdGUuZmlsZUxvYWRpbmdQcm9ncmVzc31cbiAgICAgICAgICAgICAgICBmaWxlRm9ybWF0TmFtZXM9e2dldEZpbGVGb3JtYXROYW1lcyh0aGlzLnByb3BzLnZpc1N0YXRlKX1cbiAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9ucz17Z2V0RmlsZUV4dGVuc2lvbnModGhpcy5wcm9wcy52aXNTdGF0ZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5hZGREYXRhVG9NYXAnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogTG9hZERhdGFNb2RhbFN0eWxlLFxuICAgICAgICAgICAgICBmb290ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX2Nsb3NlTW9kYWxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIEVYUE9SVF9JTUFHRV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8RXhwb3J0SW1hZ2VNb2RhbFxuICAgICAgICAgICAgICAgIGV4cG9ydEltYWdlPXt1aVN0YXRlLmV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG1hcFc9e2NvbnRhaW5lcld9XG4gICAgICAgICAgICAgICAgbWFwSD17Y29udGFpbmVySH1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuZXhwb3J0SW1hZ2UnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25FeHBvcnRJbWFnZSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3NpbmcsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZG93bmxvYWQnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIEVYUE9SVF9EQVRBX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnREYXRhTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4udWlTdGF0ZS5leHBvcnREYXRhfVxuICAgICAgICAgICAgICAgIHN1cHBvcnRlZERhdGFUeXBlcz17RVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TfVxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBhcHBseUNQVUZpbHRlcj17dGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMuYXBwbHlDUFVGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnREYXRhVHlwZT17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0RGF0YVR5cGV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRTZWxlY3RlZERhdGFzZXQ9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydFNlbGVjdGVkRGF0YXNldH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydEZpbHRlcmVkPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRGaWx0ZXJlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmV4cG9ydERhdGEnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25FeHBvcnREYXRhLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZXhwb3J0J1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBFWFBPUlRfTUFQX0lEOiB7XG4gICAgICAgICAgICBjb25zdCBrZXBsZXJHbENvbmZpZyA9IHZpc1N0YXRlLnNjaGVtYS5nZXRDb25maWdUb1NhdmUoe1xuICAgICAgICAgICAgICBtYXBTdHlsZSxcbiAgICAgICAgICAgICAgdmlzU3RhdGUsXG4gICAgICAgICAgICAgIG1hcFN0YXRlLFxuICAgICAgICAgICAgICB1aVN0YXRlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8RXhwb3J0TWFwTW9kYWxcbiAgICAgICAgICAgICAgICBjb25maWc9e2tlcGxlckdsQ29uZmlnfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3VpU3RhdGUuZXhwb3J0TWFwfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0TWFwRm9ybWF0PXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRNYXBGb3JtYXR9XG4gICAgICAgICAgICAgICAgb25FZGl0VXNlck1hcGJveEFjY2Vzc1Rva2VuPXt1aVN0YXRlQWN0aW9ucy5zZXRVc2VyTWFwYm94QWNjZXNzVG9rZW59XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRNYXBIVE1MTW9kZT17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SFRNTE1hcE1vZGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5leHBvcnRNYXAnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25FeHBvcnRNYXAsXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5leHBvcnQnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBFWFBPUlRfVklERU9fSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEV4cG9ydFZpZGVvTW9kYWxcbiAgICAgICAgICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbj17dGhpcy5wcm9wcy5tYXBib3hBcGlBY2Nlc3NUb2tlbn1cbiAgICAgICAgICAgICAgICBtYXBib3hBcGlVcmw9e3RoaXMucHJvcHMubWFwYm94QXBpVXJsfVxuICAgICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgICBtYXBTdHlsZT17bWFwU3R5bGV9XG4gICAgICAgICAgICAgICAgdmlzU3RhdGU9e3Zpc1N0YXRlfVxuICAgICAgICAgICAgICAgIGV4cG9ydFZpZGVvPXt1aVN0YXRlLmV4cG9ydFZpZGVvfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclc9e2NvbnRhaW5lcld9XG4gICAgICAgICAgICAgICAgdmlzU3RhdGVBY3Rpb25zPXt2aXNTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuX2Nsb3NlTW9kYWx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5leHBvcnRWaWRlbycsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiBFeHBvcnRWaWRlb01vZGFsU3R5bGUsXG4gICAgICAgICAgICAgIGZvb3RlcjogZmFsc2UsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBBRERfTUFQX1NUWUxFX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxBZGRNYXBTdHlsZU1vZGFsXG4gICAgICAgICAgICAgICAgbWFwYm94QXBpQWNjZXNzVG9rZW49e3RoaXMucHJvcHMubWFwYm94QXBpQWNjZXNzVG9rZW59XG4gICAgICAgICAgICAgICAgbWFwYm94QXBpVXJsPXt0aGlzLnByb3BzLm1hcGJveEFwaVVybH1cbiAgICAgICAgICAgICAgICBtYXBTdGF0ZT17dGhpcy5wcm9wcy5tYXBTdGF0ZX1cbiAgICAgICAgICAgICAgICBpbnB1dFN0eWxlPXttYXBTdHlsZS5pbnB1dFN0eWxlfVxuICAgICAgICAgICAgICAgIGlucHV0TWFwU3R5bGU9e3RoaXMucHJvcHMubWFwU3R5bGVBY3Rpb25zLmlucHV0TWFwU3R5bGV9XG4gICAgICAgICAgICAgICAgbG9hZEN1c3RvbU1hcFN0eWxlPXt0aGlzLnByb3BzLm1hcFN0eWxlQWN0aW9ucy5sb2FkQ3VzdG9tTWFwU3R5bGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5hZGRDdXN0b21NYXBib3hTdHlsZScsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkFkZEN1c3RvbU1hcFN0eWxlLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6XG4gICAgICAgICAgICAgICAgICBtYXBTdHlsZS5pbnB1dFN0eWxlLmVycm9yIHx8XG4gICAgICAgICAgICAgICAgICAhbWFwU3R5bGUuaW5wdXRTdHlsZS51cmwgfHxcbiAgICAgICAgICAgICAgICAgICFtYXBTdHlsZS5pbnB1dFN0eWxlLmxhYmVsLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmFkZFN0eWxlJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTQVZFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8U2F2ZU1hcE1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgZXhwb3J0SW1hZ2U9e3VpU3RhdGUuZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgbWFwSW5mbz17dmlzU3RhdGUubWFwSW5mb31cbiAgICAgICAgICAgICAgICBvblNldE1hcEluZm89e3Zpc1N0YXRlQWN0aW9ucy5zZXRNYXBJbmZvfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgICAgb25DYW5jZWw9e3RoaXMuX2Nsb3NlTW9kYWx9XG4gICAgICAgICAgICAgICAgb25Db25maXJtPXtwcm92aWRlciA9PiB0aGlzLl9vblNhdmVNYXAocHJvdmlkZXIsIGZhbHNlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLnNhdmVNYXAnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE9WRVJXUklURV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPE92ZXJXcml0ZU1hcE1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2dldCh2aXNTdGF0ZSwgWydtYXBJbmZvJywgJ3RpdGxlJ10pfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgICAgY2xlYW51cEV4cG9ydEltYWdlPXt1aVN0YXRlQWN0aW9ucy5jbGVhbnVwRXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgb25Db25maXJtPXt0aGlzLl9vbk92ZXJ3cml0ZU1hcH1cbiAgICAgICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5fY2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ092ZXJ3cml0ZSBFeGlzdGluZyBGaWxlPycsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiBzbWFsbE1vZGFsQ3NzLFxuICAgICAgICAgICAgICBmb290ZXI6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTSEFSRV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPFNoYXJlTWFwTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBvbkV4cG9ydD17dGhpcy5fb25TaGFyZU1hcFVybH1cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuc2hhcmVVUkwnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9vbkNsb3NlU2F2ZU1hcFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcm9vdE5vZGUgPyAoXG4gICAgICAgIDxNb2RhbERpYWxvZ1xuICAgICAgICAgIHBhcmVudFNlbGVjdG9yPXsoKSA9PiByb290Tm9kZSBhcyBIVE1MRWxlbWVudH1cbiAgICAgICAgICBpc09wZW49e0Jvb2xlYW4oY3VycmVudE1vZGFsKX1cbiAgICAgICAgICBvbkNhbmNlbD17dGhpcy5fY2xvc2VNb2RhbH1cbiAgICAgICAgICB7Li4ubW9kYWxQcm9wc31cbiAgICAgICAgICBjc3NTdHlsZT17RGVmYXVsdFN0eWxlLmNvbmNhdChtb2RhbFByb3BzLmNzc1N0eWxlKX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0ZW1wbGF0ZX1cbiAgICAgICAgPC9Nb2RhbERpYWxvZz5cbiAgICAgICkgOiBudWxsO1xuICAgIH1cbiAgICAvKiBlc2xpbnQtZW5hYmxlIGNvbXBsZXhpdHkgKi9cbiAgfVxuXG4gIHJldHVybiBNb2RhbENvbnRhaW5lcjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxJQUFB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
|