@kepler.gl/reducers 3.3.0-alpha.15 → 3.3.0-alpha.17

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.
Files changed (47) hide show
  1. package/dist/cjs/column-edit-reconcile.js +100 -0
  2. package/dist/cjs/column-edit-updaters.spec.js +840 -0
  3. package/dist/cjs/combined-updaters.js +166 -8
  4. package/dist/cjs/composers.js +4 -5
  5. package/dist/cjs/dataset-ops-updaters.js +375 -0
  6. package/dist/cjs/dataset-ops-updaters.spec.js +382 -0
  7. package/dist/cjs/export-utils.js +118 -46
  8. package/dist/cjs/interaction-utils.js +166 -6
  9. package/dist/cjs/layer-utils.js +135 -9
  10. package/dist/cjs/ui-state-updaters.js +134 -51
  11. package/dist/cjs/ui-state.js +2 -2
  12. package/dist/cjs/vis-state-merger-text-label.spec.js +75 -0
  13. package/dist/cjs/vis-state-merger.js +99 -25
  14. package/dist/cjs/vis-state-selectors.js +5 -4
  15. package/dist/cjs/vis-state-updaters.js +1077 -256
  16. package/dist/cjs/vis-state.js +2 -2
  17. package/dist/column-edit-reconcile.d.ts +4 -0
  18. package/dist/column-edit-updaters.spec.d.ts +1 -0
  19. package/dist/combined-updaters.d.ts +21 -1
  20. package/dist/composers.d.ts +3 -0
  21. package/dist/dataset-ops-updaters.d.ts +21 -0
  22. package/dist/dataset-ops-updaters.spec.d.ts +1 -0
  23. package/dist/esm/column-edit-reconcile.js +95 -0
  24. package/dist/esm/column-edit-updaters.spec.js +839 -0
  25. package/dist/esm/combined-updaters.js +166 -8
  26. package/dist/esm/composers.js +3 -2
  27. package/dist/esm/dataset-ops-updaters.js +357 -0
  28. package/dist/esm/dataset-ops-updaters.spec.js +381 -0
  29. package/dist/esm/export-utils.js +117 -45
  30. package/dist/esm/interaction-utils.js +159 -3
  31. package/dist/esm/layer-utils.js +133 -9
  32. package/dist/esm/ui-state-updaters.js +133 -50
  33. package/dist/esm/ui-state.js +2 -2
  34. package/dist/esm/vis-state-merger-text-label.spec.js +74 -0
  35. package/dist/esm/vis-state-merger.js +99 -26
  36. package/dist/esm/vis-state-selectors.js +5 -4
  37. package/dist/esm/vis-state-updaters.js +1020 -263
  38. package/dist/esm/vis-state.js +2 -2
  39. package/dist/export-utils.d.ts +2 -2
  40. package/dist/interaction-utils.d.ts +25 -2
  41. package/dist/layer-utils.d.ts +17 -0
  42. package/dist/ui-state-updaters.d.ts +30 -0
  43. package/dist/vis-state-merger-text-label.spec.d.ts +1 -0
  44. package/dist/vis-state-merger.d.ts +10 -2
  45. package/dist/vis-state-updaters.d.ts +61 -15
  46. package/dist/vis-state.d.ts +20 -0
  47. package/package.json +17 -17
@@ -13,7 +13,7 @@ import * as visStateUpdaters from './vis-state-updaters';
13
13
  * Important: Do not rename `actionHandler` or the assignment pattern of property value.
14
14
  * It is used to generate documentation
15
15
  */
16
- var actionHandler = (_actionHandler = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.ADD_FILTER, visStateUpdaters.addFilterUpdater), ActionTypes.CREATE_OR_UPDATE_FILTER, visStateUpdaters.createOrUpdateFilterUpdater), ActionTypes.ADD_LAYER, visStateUpdaters.addLayerUpdater), ActionTypes.APPLY_FILTER_CONFIG, visStateUpdaters.applyFilterConfigUpdater), ActionTypes.APPLY_LAYER_CONFIG, visStateUpdaters.applyLayerConfigUpdater), ActionTypes.DUPLICATE_LAYER, visStateUpdaters.duplicateLayerUpdater), ActionTypes.SET_FILTER_VIEW, visStateUpdaters.setFilterViewUpdater), ActionTypes.INTERACTION_CONFIG_CHANGE, visStateUpdaters.interactionConfigChangeUpdater), ActionTypes.LAYER_CLICK, visStateUpdaters.layerClickUpdater), ActionTypes.LAYER_CONFIG_CHANGE, visStateUpdaters.layerConfigChangeUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.LAYER_SET_IS_VALID, visStateUpdaters.layerSetIsValidUpdater), ActionTypes.LAYER_HOVER, visStateUpdaters.layerHoverUpdater), ActionTypes.LAYER_TYPE_CHANGE, visStateUpdaters.layerTypeChangeUpdater), ActionTypes.LAYER_VIS_CONFIG_CHANGE, visStateUpdaters.layerVisConfigChangeUpdater), ActionTypes.LAYER_TOGGLE_VISIBILITY, visStateUpdaters.layerToggleVisibilityUpdater), ActionTypes.LAYER_TEXT_LABEL_CHANGE, visStateUpdaters.layerTextLabelChangeUpdater), ActionTypes.LAYER_VISUAL_CHANNEL_CHANGE, visStateUpdaters.layerVisualChannelChangeUpdater), ActionTypes.LAYER_COLOR_UI_CHANGE, visStateUpdaters.layerColorUIChangeUpdater), ActionTypes.TOGGLE_LAYER_ANIMATION, visStateUpdaters.toggleLayerAnimationUpdater), ActionTypes.TOGGLE_LAYER_ANIMATION_CONTROL, visStateUpdaters.toggleLayerAnimationControlUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.LOAD_FILES, visStateUpdaters.loadFilesUpdater), ActionTypes.LOAD_FILES_ERR, visStateUpdaters.loadFilesErrUpdater), ActionTypes.LOAD_NEXT_FILE, visStateUpdaters.loadNextFileUpdater), ActionTypes.LOAD_FILE_STEP_SUCCESS, visStateUpdaters.loadFileStepSuccessUpdater), ActionTypes.MAP_CLICK, visStateUpdaters.mapClickUpdater), ActionTypes.MOUSE_MOVE, visStateUpdaters.mouseMoveUpdater), ActionTypes.RECEIVE_MAP_CONFIG, visStateUpdaters.receiveMapConfigUpdater), ActionTypes.REMOVE_DATASET, visStateUpdaters.removeDatasetUpdater), ActionTypes.REMOVE_FILTER, visStateUpdaters.removeFilterUpdater), ActionTypes.REMOVE_LAYER, visStateUpdaters.removeLayerUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.REORDER_LAYER, visStateUpdaters.reorderLayerUpdater), ActionTypes.ADD_LAYER_GROUP, visStateUpdaters.addLayerGroupUpdater), ActionTypes.REMOVE_LAYER_GROUP, visStateUpdaters.removeLayerGroupUpdater), ActionTypes.UPDATE_LAYER_GROUP, visStateUpdaters.updateLayerGroupUpdater), ActionTypes.ADD_LAYER_TO_LAYER_GROUP, visStateUpdaters.addLayerToLayerGroupUpdater), ActionTypes.REMOVE_LAYER_FROM_LAYER_GROUP, visStateUpdaters.removeLayerFromLayerGroupUpdater), ActionTypes.SWAP_LAYER_ORDER_ENTRIES, visStateUpdaters.swapLayerOrderEntriesUpdater), ActionTypes.RESET_MAP_CONFIG, visStateUpdaters.resetMapConfigUpdater), ActionTypes.SET_FILTER, visStateUpdaters.setFilterUpdater), ActionTypes.SET_FILTER_ANIMATION_TIME, visStateUpdaters.setFilterAnimationTimeUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SET_FILTER_ANIMATION_TIME_CONFIG, visStateUpdaters.setFilterAnimationTimeConfigUpdater), ActionTypes.SET_FILTER_ANIMATION_WINDOW, visStateUpdaters.setFilterAnimationWindowUpdater), ActionTypes.SET_FILTER_PLOT, visStateUpdaters.setFilterPlotUpdater), ActionTypes.SET_MAP_INFO, visStateUpdaters.setMapInfoUpdater), ActionTypes.SHOW_DATASET_TABLE, visStateUpdaters.showDatasetTableUpdater), ActionTypes.UPDATE_TABLE_COLOR, visStateUpdaters.updateTableColorUpdater), ActionTypes.REFRESH_DATASET, visStateUpdaters.refreshDatasetUpdater), ActionTypes.REFRESH_DATASET_SUCCESS, visStateUpdaters.refreshDatasetSuccessUpdater), ActionTypes.REFRESH_DATASET_ERROR, visStateUpdaters.refreshDatasetErrorUpdater), ActionTypes.REFRESH_DATASET_PROGRESS, visStateUpdaters.refreshDatasetProgressUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.ADD_TO_DATASET, visStateUpdaters.addToDatasetUpdater), ActionTypes.REMOVE_FROM_DATASET, visStateUpdaters.removeFromDatasetUpdater), ActionTypes.TOGGLE_FILTER_ANIMATION, visStateUpdaters.toggleFilterAnimationUpdater), ActionTypes.UPDATE_FILTER_ANIMATION_SPEED, visStateUpdaters.updateFilterAnimationSpeedUpdater), ActionTypes.SET_ANIMATION_CONFIG, visStateUpdaters.setAnimationConfigUpdater), ActionTypes.SET_LAYER_ANIMATION_TIME, visStateUpdaters.setLayerAnimationTimeUpdater), ActionTypes.UPDATE_LAYER_ANIMATION_SPEED, visStateUpdaters.updateLayerAnimationSpeedUpdater), ActionTypes.TOGGLE_LAYER_FOR_MAP, visStateUpdaters.toggleLayerForMapUpdater), ActionTypes.TOGGLE_SPLIT_MAP, visStateUpdaters.toggleSplitMapUpdater), ActionTypes.UPDATE_LAYER_BLENDING, visStateUpdaters.updateLayerBlendingUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.UPDATE_OVERLAY_BLENDING, visStateUpdaters.updateOverlayBlendingUpdater), ActionTypes.UPDATE_VIS_DATA, visStateUpdaters.updateVisDataUpdater), ActionTypes.RENAME_DATASET, visStateUpdaters.renameDatasetUpdater), ActionTypes.UPDATE_DATASET_PROPS, visStateUpdaters.updateDatasetPropsUpdater), ActionTypes.UPDATE_DATASET, visStateUpdaters.updateDatasetUpdater), ActionTypes.SET_FEATURES, visStateUpdaters.setFeaturesUpdater), ActionTypes.SET_EDITOR_FEATURE_PROPERTIES, visStateUpdaters.setEditorFeaturePropertiesUpdater), ActionTypes.DELETE_FEATURE, visStateUpdaters.deleteFeatureUpdater), ActionTypes.SET_POLYGON_FILTER_LAYER, visStateUpdaters.setPolygonFilterLayerUpdater), ActionTypes.SET_POLYGON_FILTER_ALL_LAYERS, visStateUpdaters.setPolygonFilterAllLayersUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SET_SELECTED_FEATURE, visStateUpdaters.setSelectedFeatureUpdater), ActionTypes.SET_EDITOR_MODE, visStateUpdaters.setEditorModeUpdater), ActionTypes.TOGGLE_EDITOR_VISIBILITY, visStateUpdaters.toggleEditorVisibilityUpdater), ActionTypes.CONVERT_EDITOR_FEATURES_TO_LAYER, visStateUpdaters.convertEditorFeaturesToLayerUpdater), ActionTypes.EXTRACT_DATA_FROM_FEATURE, visStateUpdaters.extractDataFromFeatureUpdater), ActionTypes.TOGGLE_FILTER_FEATURE, visStateUpdaters.toggleFilterFeatureUpdater), ActionTypes.APPLY_CPU_FILTER, visStateUpdaters.applyCPUFilterUpdater), ActionTypes.SORT_TABLE_COLUMN, visStateUpdaters.sortTableColumnUpdater), ActionTypes.PIN_TABLE_COLUMN, visStateUpdaters.pinTableColumnUpdater), ActionTypes.COPY_TABLE_COLUMN, visStateUpdaters.copyTableColumnUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SET_COLUMN_DISPLAY_FORMAT, visStateUpdaters.setColumnDisplayFormatUpdater), ActionTypes.LOAD_COLUMN_STATS, visStateUpdaters.loadColumnStatsUpdater), ActionTypes.LOAD_COLUMN_STATS_SUCCESS, visStateUpdaters.loadColumnStatsSuccessUpdater), ActionTypes.LOAD_COLUMN_STATS_ERROR, visStateUpdaters.loadColumnStatsErrorUpdater), ActionTypes.NEXT_FILE_BATCH, visStateUpdaters.nextFileBatchUpdater), ActionTypes.PROCESS_FILE_CONTENT, visStateUpdaters.processFileContentUpdater), ActionTypes.SET_LAYER_ANIMATION_TIME_CONFIG, visStateUpdaters.setLayerAnimationTimeConfigUpdater), ActionTypes.LAYER_FILTERED_ITEMS_CHANGE, visStateUpdaters.layerFilteredItemsChangeUpdater), ActionTypes.WMS_FEATURE_INFO, visStateUpdaters.wmsFeatureInfoUpdater), ActionTypes.SYNC_TIME_FILTER_WITH_LAYER_TIMELINE, visStateUpdaters.syncTimeFilterWithLayerTimelineUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SYNC_TIME_FILTER_TIMELINE_MODE, visStateUpdaters.setTimeFilterTimelineModeUpdater), ActionTypes.ADD_EFFECT, visStateUpdaters.addEffectUpdater), ActionTypes.REORDER_EFFECT, visStateUpdaters.reorderEffectUpdater), ActionTypes.REMOVE_EFFECT, visStateUpdaters.removeEffectUpdater), ActionTypes.UPDATE_EFFECT, visStateUpdaters.updateEffectUpdater), ActionTypes.ADD_CHART, visStateUpdaters.addChartUpdater), ActionTypes.UPDATE_CHART, visStateUpdaters.updateChartUpdater), ActionTypes.REMOVE_CHART, visStateUpdaters.removeChartUpdater), ActionTypes.ADD_ANNOTATION, visStateUpdaters.addAnnotationUpdater), ActionTypes.REMOVE_ANNOTATION, visStateUpdaters.removeAnnotationUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.UPDATE_ANNOTATION, visStateUpdaters.updateAnnotationUpdater), ActionTypes.DUPLICATE_ANNOTATION, visStateUpdaters.duplicateAnnotationUpdater), ActionTypes.SET_SELECTED_ANNOTATION, visStateUpdaters.setSelectedAnnotationUpdater), ActionTypes.CREATE_NEW_DATASET_SUCCESS, visStateUpdaters.createNewDatasetSuccessUpdater), ActionTypes.SET_LOADING_INDICATOR, visStateUpdaters.setLoadingIndicatorUpdater), ActionTypes.SET_LOADING_PROGRESS, visStateUpdaters.setLoadingProgressUpdater));
16
+ var actionHandler = (_actionHandler = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.ADD_FILTER, visStateUpdaters.addFilterUpdater), ActionTypes.CREATE_OR_UPDATE_FILTER, visStateUpdaters.createOrUpdateFilterUpdater), ActionTypes.ADD_LAYER, visStateUpdaters.addLayerUpdater), ActionTypes.APPLY_FILTER_CONFIG, visStateUpdaters.applyFilterConfigUpdater), ActionTypes.APPLY_LAYER_CONFIG, visStateUpdaters.applyLayerConfigUpdater), ActionTypes.DUPLICATE_LAYER, visStateUpdaters.duplicateLayerUpdater), ActionTypes.SET_FILTER_VIEW, visStateUpdaters.setFilterViewUpdater), ActionTypes.INTERACTION_CONFIG_CHANGE, visStateUpdaters.interactionConfigChangeUpdater), ActionTypes.LAYER_CLICK, visStateUpdaters.layerClickUpdater), ActionTypes.LAYER_CONFIG_CHANGE, visStateUpdaters.layerConfigChangeUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.LAYER_SET_IS_VALID, visStateUpdaters.layerSetIsValidUpdater), ActionTypes.LAYER_HOVER, visStateUpdaters.layerHoverUpdater), ActionTypes.LAYER_TYPE_CHANGE, visStateUpdaters.layerTypeChangeUpdater), ActionTypes.LAYER_VIS_CONFIG_CHANGE, visStateUpdaters.layerVisConfigChangeUpdater), ActionTypes.LAYER_TOGGLE_VISIBILITY, visStateUpdaters.layerToggleVisibilityUpdater), ActionTypes.LAYER_TEXT_LABEL_CHANGE, visStateUpdaters.layerTextLabelChangeUpdater), ActionTypes.LAYER_VISUAL_CHANNEL_CHANGE, visStateUpdaters.layerVisualChannelChangeUpdater), ActionTypes.LAYER_COLOR_UI_CHANGE, visStateUpdaters.layerColorUIChangeUpdater), ActionTypes.TOGGLE_LAYER_ANIMATION, visStateUpdaters.toggleLayerAnimationUpdater), ActionTypes.TOGGLE_LAYER_ANIMATION_CONTROL, visStateUpdaters.toggleLayerAnimationControlUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.LOAD_FILES, visStateUpdaters.loadFilesUpdater), ActionTypes.LOAD_FILES_ERR, visStateUpdaters.loadFilesErrUpdater), ActionTypes.CLEAR_STAGED_LOADED_FILES, visStateUpdaters.clearStagedLoadedFilesUpdater), ActionTypes.LOAD_NEXT_FILE, visStateUpdaters.loadNextFileUpdater), ActionTypes.EXPAND_ZIP_ARCHIVE_SUCCESS, visStateUpdaters.expandZipArchiveSuccessUpdater), ActionTypes.LOAD_FILE_STEP_SUCCESS, visStateUpdaters.loadFileStepSuccessUpdater), ActionTypes.MAP_CLICK, visStateUpdaters.mapClickUpdater), ActionTypes.MOUSE_MOVE, visStateUpdaters.mouseMoveUpdater), ActionTypes.RECEIVE_MAP_CONFIG, visStateUpdaters.receiveMapConfigUpdater), ActionTypes.REMOVE_DATASET, visStateUpdaters.removeDatasetUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.REMOVE_FILTER, visStateUpdaters.removeFilterUpdater), ActionTypes.REMOVE_LAYER, visStateUpdaters.removeLayerUpdater), ActionTypes.REORDER_LAYER, visStateUpdaters.reorderLayerUpdater), ActionTypes.ADD_LAYER_GROUP, visStateUpdaters.addLayerGroupUpdater), ActionTypes.REMOVE_LAYER_GROUP, visStateUpdaters.removeLayerGroupUpdater), ActionTypes.UPDATE_LAYER_GROUP, visStateUpdaters.updateLayerGroupUpdater), ActionTypes.ADD_LAYER_TO_LAYER_GROUP, visStateUpdaters.addLayerToLayerGroupUpdater), ActionTypes.REMOVE_LAYER_FROM_LAYER_GROUP, visStateUpdaters.removeLayerFromLayerGroupUpdater), ActionTypes.SWAP_LAYER_ORDER_ENTRIES, visStateUpdaters.swapLayerOrderEntriesUpdater), ActionTypes.RESET_MAP_CONFIG, visStateUpdaters.resetMapConfigUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SET_FILTER, visStateUpdaters.setFilterUpdater), ActionTypes.SET_FILTER_ANIMATION_TIME, visStateUpdaters.setFilterAnimationTimeUpdater), ActionTypes.SET_FILTER_ANIMATION_TIME_CONFIG, visStateUpdaters.setFilterAnimationTimeConfigUpdater), ActionTypes.SET_FILTER_ANIMATION_WINDOW, visStateUpdaters.setFilterAnimationWindowUpdater), ActionTypes.SET_FILTER_PLOT, visStateUpdaters.setFilterPlotUpdater), ActionTypes.SET_MAP_INFO, visStateUpdaters.setMapInfoUpdater), ActionTypes.SHOW_DATASET_TABLE, visStateUpdaters.showDatasetTableUpdater), ActionTypes.UPDATE_TABLE_COLOR, visStateUpdaters.updateTableColorUpdater), ActionTypes.REFRESH_DATASET, visStateUpdaters.refreshDatasetUpdater), ActionTypes.REFRESH_DATASET_SUCCESS, visStateUpdaters.refreshDatasetSuccessUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.REFRESH_DATASET_ERROR, visStateUpdaters.refreshDatasetErrorUpdater), ActionTypes.REFRESH_DATASET_PROGRESS, visStateUpdaters.refreshDatasetProgressUpdater), ActionTypes.ADD_TO_DATASET, visStateUpdaters.addToDatasetUpdater), ActionTypes.REMOVE_FROM_DATASET, visStateUpdaters.removeFromDatasetUpdater), ActionTypes.TOGGLE_FILTER_ANIMATION, visStateUpdaters.toggleFilterAnimationUpdater), ActionTypes.UPDATE_FILTER_ANIMATION_SPEED, visStateUpdaters.updateFilterAnimationSpeedUpdater), ActionTypes.SET_ANIMATION_CONFIG, visStateUpdaters.setAnimationConfigUpdater), ActionTypes.SET_LAYER_ANIMATION_TIME, visStateUpdaters.setLayerAnimationTimeUpdater), ActionTypes.UPDATE_LAYER_ANIMATION_SPEED, visStateUpdaters.updateLayerAnimationSpeedUpdater), ActionTypes.TOGGLE_LAYER_FOR_MAP, visStateUpdaters.toggleLayerForMapUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.TOGGLE_SPLIT_MAP, visStateUpdaters.toggleSplitMapUpdater), ActionTypes.UPDATE_LAYER_BLENDING, visStateUpdaters.updateLayerBlendingUpdater), ActionTypes.UPDATE_OVERLAY_BLENDING, visStateUpdaters.updateOverlayBlendingUpdater), ActionTypes.UPDATE_VIS_DATA, visStateUpdaters.updateVisDataUpdater), ActionTypes.RENAME_DATASET, visStateUpdaters.renameDatasetUpdater), ActionTypes.UPDATE_DATASET_PROPS, visStateUpdaters.updateDatasetPropsUpdater), ActionTypes.UPDATE_DATASET, visStateUpdaters.updateDatasetUpdater), ActionTypes.RENAME_TABLE_COLUMN, visStateUpdaters.renameTableColumnUpdater), ActionTypes.CHANGE_TABLE_COLUMN_TYPE, visStateUpdaters.changeTableColumnTypeUpdater), ActionTypes.DELETE_TABLE_COLUMN, visStateUpdaters.deleteTableColumnUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SET_FEATURES, visStateUpdaters.setFeaturesUpdater), ActionTypes.SET_EDITOR_FEATURE_PROPERTIES, visStateUpdaters.setEditorFeaturePropertiesUpdater), ActionTypes.DELETE_FEATURE, visStateUpdaters.deleteFeatureUpdater), ActionTypes.SET_POLYGON_FILTER_LAYER, visStateUpdaters.setPolygonFilterLayerUpdater), ActionTypes.SET_POLYGON_FILTER_ALL_LAYERS, visStateUpdaters.setPolygonFilterAllLayersUpdater), ActionTypes.SET_SELECTED_FEATURE, visStateUpdaters.setSelectedFeatureUpdater), ActionTypes.SET_EDITOR_MODE, visStateUpdaters.setEditorModeUpdater), ActionTypes.TOGGLE_EDITOR_VISIBILITY, visStateUpdaters.toggleEditorVisibilityUpdater), ActionTypes.CONVERT_EDITOR_FEATURES_TO_LAYER, visStateUpdaters.convertEditorFeaturesToLayerUpdater), ActionTypes.EXTRACT_DATA_FROM_FEATURE, visStateUpdaters.extractDataFromFeatureUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.TOGGLE_FILTER_FEATURE, visStateUpdaters.toggleFilterFeatureUpdater), ActionTypes.APPLY_CPU_FILTER, visStateUpdaters.applyCPUFilterUpdater), ActionTypes.SORT_TABLE_COLUMN, visStateUpdaters.sortTableColumnUpdater), ActionTypes.PIN_TABLE_COLUMN, visStateUpdaters.pinTableColumnUpdater), ActionTypes.TOGGLE_TABLE_COLUMN_HIDDEN, visStateUpdaters.toggleTableColumnHiddenUpdater), ActionTypes.SHOW_ALL_TABLE_COLUMNS, visStateUpdaters.showAllTableColumnsUpdater), ActionTypes.COPY_TABLE_COLUMN, visStateUpdaters.copyTableColumnUpdater), ActionTypes.SET_COLUMN_DISPLAY_FORMAT, visStateUpdaters.setColumnDisplayFormatUpdater), ActionTypes.LOAD_COLUMN_STATS, visStateUpdaters.loadColumnStatsUpdater), ActionTypes.LOAD_COLUMN_STATS_SUCCESS, visStateUpdaters.loadColumnStatsSuccessUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.LOAD_COLUMN_STATS_ERROR, visStateUpdaters.loadColumnStatsErrorUpdater), ActionTypes.NEXT_FILE_BATCH, visStateUpdaters.nextFileBatchUpdater), ActionTypes.PROCESS_FILE_CONTENT, visStateUpdaters.processFileContentUpdater), ActionTypes.SET_LAYER_ANIMATION_TIME_CONFIG, visStateUpdaters.setLayerAnimationTimeConfigUpdater), ActionTypes.LAYER_FILTERED_ITEMS_CHANGE, visStateUpdaters.layerFilteredItemsChangeUpdater), ActionTypes.WMS_FEATURE_INFO, visStateUpdaters.wmsFeatureInfoUpdater), ActionTypes.SYNC_TIME_FILTER_WITH_LAYER_TIMELINE, visStateUpdaters.syncTimeFilterWithLayerTimelineUpdater), ActionTypes.SYNC_TIME_FILTER_TIMELINE_MODE, visStateUpdaters.setTimeFilterTimelineModeUpdater), ActionTypes.ADD_EFFECT, visStateUpdaters.addEffectUpdater), ActionTypes.REORDER_EFFECT, visStateUpdaters.reorderEffectUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.REMOVE_EFFECT, visStateUpdaters.removeEffectUpdater), ActionTypes.UPDATE_EFFECT, visStateUpdaters.updateEffectUpdater), ActionTypes.ADD_CHART, visStateUpdaters.addChartUpdater), ActionTypes.UPDATE_CHART, visStateUpdaters.updateChartUpdater), ActionTypes.REMOVE_CHART, visStateUpdaters.removeChartUpdater), ActionTypes.ADD_ANNOTATION, visStateUpdaters.addAnnotationUpdater), ActionTypes.REMOVE_ANNOTATION, visStateUpdaters.removeAnnotationUpdater), ActionTypes.UPDATE_ANNOTATION, visStateUpdaters.updateAnnotationUpdater), ActionTypes.DUPLICATE_ANNOTATION, visStateUpdaters.duplicateAnnotationUpdater), ActionTypes.SET_SELECTED_ANNOTATION, visStateUpdaters.setSelectedAnnotationUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.CREATE_NEW_DATASET_SUCCESS, visStateUpdaters.createNewDatasetSuccessUpdater), ActionTypes.SET_LOADING_INDICATOR, visStateUpdaters.setLoadingIndicatorUpdater), ActionTypes.SET_LOADING_PROGRESS, visStateUpdaters.setLoadingProgressUpdater), ActionTypes.ADD_GROUP_BY, visStateUpdaters.addGroupByUpdater), ActionTypes.SET_GROUP_BY_CONFIG, visStateUpdaters.setGroupByConfigUpdater), ActionTypes.RUN_GROUP_BY, visStateUpdaters.runGroupByUpdater), ActionTypes.ADD_JOIN, visStateUpdaters.addJoinUpdater), ActionTypes.SET_JOIN_CONFIG, visStateUpdaters.setJoinConfigUpdater), ActionTypes.RUN_JOIN, visStateUpdaters.runJoinUpdater), ActionTypes.ADD_SPATIAL_JOIN, visStateUpdaters.addSpatialJoinUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SET_SPATIAL_JOIN_CONFIG, visStateUpdaters.setSpatialJoinConfigUpdater), ActionTypes.RUN_SPATIAL_JOIN, visStateUpdaters.runSpatialJoinUpdater), ActionTypes.ADD_SUITABILITY, visStateUpdaters.addSuitabilityUpdater), ActionTypes.SET_SUITABILITY_CONFIG, visStateUpdaters.setSuitabilityConfigUpdater), ActionTypes.RUN_SUITABILITY, visStateUpdaters.runSuitabilityUpdater), ActionTypes.REMOVE_DATASET_OP, visStateUpdaters.removeDatasetOpUpdater));
17
17
 
18
18
  // construct vis-state reducer
19
19
  export var visStateReducerFactory = function visStateReducerFactory() {
@@ -26,4 +26,4 @@ export var visStateReducerFactory = function visStateReducerFactory() {
26
26
  );
27
27
  };
28
28
  export default visStateReducerFactory();
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb25UeXBlcyIsImhhbmRsZUFjdGlvbnMiLCJ2aXNTdGF0ZVVwZGF0ZXJzIiwiYWN0aW9uSGFuZGxlciIsIl9hY3Rpb25IYW5kbGVyIiwiX2RlZmluZVByb3BlcnR5IiwiQUREX0ZJTFRFUiIsImFkZEZpbHRlclVwZGF0ZXIiLCJDUkVBVEVfT1JfVVBEQVRFX0ZJTFRFUiIsImNyZWF0ZU9yVXBkYXRlRmlsdGVyVXBkYXRlciIsIkFERF9MQVlFUiIsImFkZExheWVyVXBkYXRlciIsIkFQUExZX0ZJTFRFUl9DT05GSUciLCJhcHBseUZpbHRlckNvbmZpZ1VwZGF0ZXIiLCJBUFBMWV9MQVlFUl9DT05GSUciLCJhcHBseUxheWVyQ29uZmlnVXBkYXRlciIsIkRVUExJQ0FURV9MQVlFUiIsImR1cGxpY2F0ZUxheWVyVXBkYXRlciIsIlNFVF9GSUxURVJfVklFVyIsInNldEZpbHRlclZpZXdVcGRhdGVyIiwiSU5URVJBQ1RJT05fQ09ORklHX0NIQU5HRSIsImludGVyYWN0aW9uQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0NMSUNLIiwibGF5ZXJDbGlja1VwZGF0ZXIiLCJMQVlFUl9DT05GSUdfQ0hBTkdFIiwibGF5ZXJDb25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfU0VUX0lTX1ZBTElEIiwibGF5ZXJTZXRJc1ZhbGlkVXBkYXRlciIsIkxBWUVSX0hPVkVSIiwibGF5ZXJIb3ZlclVwZGF0ZXIiLCJMQVlFUl9UWVBFX0NIQU5HRSIsImxheWVyVHlwZUNoYW5nZVVwZGF0ZXIiLCJMQVlFUl9WSVNfQ09ORklHX0NIQU5HRSIsImxheWVyVmlzQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1RPR0dMRV9WSVNJQklMSVRZIiwibGF5ZXJUb2dnbGVWaXNpYmlsaXR5VXBkYXRlciIsIkxBWUVSX1RFWFRfTEFCRUxfQ0hBTkdFIiwibGF5ZXJUZXh0TGFiZWxDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfVklTVUFMX0NIQU5ORUxfQ0hBTkdFIiwibGF5ZXJWaXN1YWxDaGFubmVsQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0NPTE9SX1VJX0NIQU5HRSIsImxheWVyQ29sb3JVSUNoYW5nZVVwZGF0ZXIiLCJUT0dHTEVfTEFZRVJfQU5JTUFUSU9OIiwidG9nZ2xlTGF5ZXJBbmltYXRpb25VcGRhdGVyIiwiVE9HR0xFX0xBWUVSX0FOSU1BVElPTl9DT05UUk9MIiwidG9nZ2xlTGF5ZXJBbmltYXRpb25Db250cm9sVXBkYXRlciIsIkxPQURfRklMRVMiLCJsb2FkRmlsZXNVcGRhdGVyIiwiTE9BRF9GSUxFU19FUlIiLCJsb2FkRmlsZXNFcnJVcGRhdGVyIiwiTE9BRF9ORVhUX0ZJTEUiLCJsb2FkTmV4dEZpbGVVcGRhdGVyIiwiTE9BRF9GSUxFX1NURVBfU1VDQ0VTUyIsImxvYWRGaWxlU3RlcFN1Y2Nlc3NVcGRhdGVyIiwiTUFQX0NMSUNLIiwibWFwQ2xpY2tVcGRhdGVyIiwiTU9VU0VfTU9WRSIsIm1vdXNlTW92ZVVwZGF0ZXIiLCJSRUNFSVZFX01BUF9DT05GSUciLCJyZWNlaXZlTWFwQ29uZmlnVXBkYXRlciIsIlJFTU9WRV9EQVRBU0VUIiwicmVtb3ZlRGF0YXNldFVwZGF0ZXIiLCJSRU1PVkVfRklMVEVSIiwicmVtb3ZlRmlsdGVyVXBkYXRlciIsIlJFTU9WRV9MQVlFUiIsInJlbW92ZUxheWVyVXBkYXRlciIsIlJFT1JERVJfTEFZRVIiLCJyZW9yZGVyTGF5ZXJVcGRhdGVyIiwiQUREX0xBWUVSX0dST1VQIiwiYWRkTGF5ZXJHcm91cFVwZGF0ZXIiLCJSRU1PVkVfTEFZRVJfR1JPVVAiLCJyZW1vdmVMYXllckdyb3VwVXBkYXRlciIsIlVQREFURV9MQVlFUl9HUk9VUCIsInVwZGF0ZUxheWVyR3JvdXBVcGRhdGVyIiwiQUREX0xBWUVSX1RPX0xBWUVSX0dST1VQIiwiYWRkTGF5ZXJUb0xheWVyR3JvdXBVcGRhdGVyIiwiUkVNT1ZFX0xBWUVSX0ZST01fTEFZRVJfR1JPVVAiLCJyZW1vdmVMYXllckZyb21MYXllckdyb3VwVXBkYXRlciIsIlNXQVBfTEFZRVJfT1JERVJfRU5UUklFUyIsInN3YXBMYXllck9yZGVyRW50cmllc1VwZGF0ZXIiLCJSRVNFVF9NQVBfQ09ORklHIiwicmVzZXRNYXBDb25maWdVcGRhdGVyIiwiU0VUX0ZJTFRFUiIsInNldEZpbHRlclVwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9USU1FIiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZVVwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJRyIsInNldEZpbHRlckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyIiwiU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XIiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93VXBkYXRlciIsIlNFVF9GSUxURVJfUExPVCIsInNldEZpbHRlclBsb3RVcGRhdGVyIiwiU0VUX01BUF9JTkZPIiwic2V0TWFwSW5mb1VwZGF0ZXIiLCJTSE9XX0RBVEFTRVRfVEFCTEUiLCJzaG93RGF0YXNldFRhYmxlVXBkYXRlciIsIlVQREFURV9UQUJMRV9DT0xPUiIsInVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyIiwiUkVGUkVTSF9EQVRBU0VUIiwicmVmcmVzaERhdGFzZXRVcGRhdGVyIiwiUkVGUkVTSF9EQVRBU0VUX1NVQ0NFU1MiLCJyZWZyZXNoRGF0YXNldFN1Y2Nlc3NVcGRhdGVyIiwiUkVGUkVTSF9EQVRBU0VUX0VSUk9SIiwicmVmcmVzaERhdGFzZXRFcnJvclVwZGF0ZXIiLCJSRUZSRVNIX0RBVEFTRVRfUFJPR1JFU1MiLCJyZWZyZXNoRGF0YXNldFByb2dyZXNzVXBkYXRlciIsIkFERF9UT19EQVRBU0VUIiwiYWRkVG9EYXRhc2V0VXBkYXRlciIsIlJFTU9WRV9GUk9NX0RBVEFTRVQiLCJyZW1vdmVGcm9tRGF0YXNldFVwZGF0ZXIiLCJUT0dHTEVfRklMVEVSX0FOSU1BVElPTiIsInRvZ2dsZUZpbHRlckFuaW1hdGlvblVwZGF0ZXIiLCJVUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkVXBkYXRlciIsIlNFVF9BTklNQVRJT05fQ09ORklHIiwic2V0QW5pbWF0aW9uQ29uZmlnVXBkYXRlciIsIlNFVF9MQVlFUl9BTklNQVRJT05fVElNRSIsInNldExheWVyQW5pbWF0aW9uVGltZVVwZGF0ZXIiLCJVUERBVEVfTEFZRVJfQU5JTUFUSU9OX1NQRUVEIiwidXBkYXRlTGF5ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIiLCJUT0dHTEVfTEFZRVJfRk9SX01BUCIsInRvZ2dsZUxheWVyRm9yTWFwVXBkYXRlciIsIlRPR0dMRV9TUExJVF9NQVAiLCJ0b2dnbGVTcGxpdE1hcFVwZGF0ZXIiLCJVUERBVEVfTEFZRVJfQkxFTkRJTkciLCJ1cGRhdGVMYXllckJsZW5kaW5nVXBkYXRlciIsIlVQREFURV9PVkVSTEFZX0JMRU5ESU5HIiwidXBkYXRlT3ZlcmxheUJsZW5kaW5nVXBkYXRlciIsIlVQREFURV9WSVNfREFUQSIsInVwZGF0ZVZpc0RhdGFVcGRhdGVyIiwiUkVOQU1FX0RBVEFTRVQiLCJyZW5hbWVEYXRhc2V0VXBkYXRlciIsIlVQREFURV9EQVRBU0VUX1BST1BTIiwidXBkYXRlRGF0YXNldFByb3BzVXBkYXRlciIsIlVQREFURV9EQVRBU0VUIiwidXBkYXRlRGF0YXNldFVwZGF0ZXIiLCJTRVRfRkVBVFVSRVMiLCJzZXRGZWF0dXJlc1VwZGF0ZXIiLCJTRVRfRURJVE9SX0ZFQVRVUkVfUFJPUEVSVElFUyIsInNldEVkaXRvckZlYXR1cmVQcm9wZXJ0aWVzVXBkYXRlciIsIkRFTEVURV9GRUFUVVJFIiwiZGVsZXRlRmVhdHVyZVVwZGF0ZXIiLCJTRVRfUE9MWUdPTl9GSUxURVJfTEFZRVIiLCJzZXRQb2x5Z29uRmlsdGVyTGF5ZXJVcGRhdGVyIiwiU0VUX1BPTFlHT05fRklMVEVSX0FMTF9MQVlFUlMiLCJzZXRQb2x5Z29uRmlsdGVyQWxsTGF5ZXJzVXBkYXRlciIsIlNFVF9TRUxFQ1RFRF9GRUFUVVJFIiwic2V0U2VsZWN0ZWRGZWF0dXJlVXBkYXRlciIsIlNFVF9FRElUT1JfTU9ERSIsInNldEVkaXRvck1vZGVVcGRhdGVyIiwiVE9HR0xFX0VESVRPUl9WSVNJQklMSVRZIiwidG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIiLCJDT05WRVJUX0VESVRPUl9GRUFUVVJFU19UT19MQVlFUiIsImNvbnZlcnRFZGl0b3JGZWF0dXJlc1RvTGF5ZXJVcGRhdGVyIiwiRVhUUkFDVF9EQVRBX0ZST01fRkVBVFVSRSIsImV4dHJhY3REYXRhRnJvbUZlYXR1cmVVcGRhdGVyIiwiVE9HR0xFX0ZJTFRFUl9GRUFUVVJFIiwidG9nZ2xlRmlsdGVyRmVhdHVyZVVwZGF0ZXIiLCJBUFBMWV9DUFVfRklMVEVSIiwiYXBwbHlDUFVGaWx0ZXJVcGRhdGVyIiwiU09SVF9UQUJMRV9DT0xVTU4iLCJzb3J0VGFibGVDb2x1bW5VcGRhdGVyIiwiUElOX1RBQkxFX0NPTFVNTiIsInBpblRhYmxlQ29sdW1uVXBkYXRlciIsIkNPUFlfVEFCTEVfQ09MVU1OIiwiY29weVRhYmxlQ29sdW1uVXBkYXRlciIsIlNFVF9DT0xVTU5fRElTUExBWV9GT1JNQVQiLCJzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0VXBkYXRlciIsIkxPQURfQ09MVU1OX1NUQVRTIiwibG9hZENvbHVtblN0YXRzVXBkYXRlciIsIkxPQURfQ09MVU1OX1NUQVRTX1NVQ0NFU1MiLCJsb2FkQ29sdW1uU3RhdHNTdWNjZXNzVXBkYXRlciIsIkxPQURfQ09MVU1OX1NUQVRTX0VSUk9SIiwibG9hZENvbHVtblN0YXRzRXJyb3JVcGRhdGVyIiwiTkVYVF9GSUxFX0JBVENIIiwibmV4dEZpbGVCYXRjaFVwZGF0ZXIiLCJQUk9DRVNTX0ZJTEVfQ09OVEVOVCIsInByb2Nlc3NGaWxlQ29udGVudFVwZGF0ZXIiLCJTRVRfTEFZRVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHIiwic2V0TGF5ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlciIsIkxBWUVSX0ZJTFRFUkVEX0lURU1TX0NIQU5HRSIsImxheWVyRmlsdGVyZWRJdGVtc0NoYW5nZVVwZGF0ZXIiLCJXTVNfRkVBVFVSRV9JTkZPIiwid21zRmVhdHVyZUluZm9VcGRhdGVyIiwiU1lOQ19USU1FX0ZJTFRFUl9XSVRIX0xBWUVSX1RJTUVMSU5FIiwic3luY1RpbWVGaWx0ZXJXaXRoTGF5ZXJUaW1lbGluZVVwZGF0ZXIiLCJTWU5DX1RJTUVfRklMVEVSX1RJTUVMSU5FX01PREUiLCJzZXRUaW1lRmlsdGVyVGltZWxpbmVNb2RlVXBkYXRlciIsIkFERF9FRkZFQ1QiLCJhZGRFZmZlY3RVcGRhdGVyIiwiUkVPUkRFUl9FRkZFQ1QiLCJyZW9yZGVyRWZmZWN0VXBkYXRlciIsIlJFTU9WRV9FRkZFQ1QiLCJyZW1vdmVFZmZlY3RVcGRhdGVyIiwiVVBEQVRFX0VGRkVDVCIsInVwZGF0ZUVmZmVjdFVwZGF0ZXIiLCJBRERfQ0hBUlQiLCJhZGRDaGFydFVwZGF0ZXIiLCJVUERBVEVfQ0hBUlQiLCJ1cGRhdGVDaGFydFVwZGF0ZXIiLCJSRU1PVkVfQ0hBUlQiLCJyZW1vdmVDaGFydFVwZGF0ZXIiLCJBRERfQU5OT1RBVElPTiIsImFkZEFubm90YXRpb25VcGRhdGVyIiwiUkVNT1ZFX0FOTk9UQVRJT04iLCJyZW1vdmVBbm5vdGF0aW9uVXBkYXRlciIsIlVQREFURV9BTk5PVEFUSU9OIiwidXBkYXRlQW5ub3RhdGlvblVwZGF0ZXIiLCJEVVBMSUNBVEVfQU5OT1RBVElPTiIsImR1cGxpY2F0ZUFubm90YXRpb25VcGRhdGVyIiwiU0VUX1NFTEVDVEVEX0FOTk9UQVRJT04iLCJzZXRTZWxlY3RlZEFubm90YXRpb25VcGRhdGVyIiwiQ1JFQVRFX05FV19EQVRBU0VUX1NVQ0NFU1MiLCJjcmVhdGVOZXdEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIiLCJTRVRfTE9BRElOR19JTkRJQ0FUT1IiLCJzZXRMb2FkaW5nSW5kaWNhdG9yVXBkYXRlciIsIlNFVF9MT0FESU5HX1BST0dSRVNTIiwic2V0TG9hZGluZ1Byb2dyZXNzVXBkYXRlciIsInZpc1N0YXRlUmVkdWNlckZhY3RvcnkiLCJpbml0aWFsU3RhdGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJfb2JqZWN0U3ByZWFkIiwiSU5JVElBTF9WSVNfU1RBVEUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdmlzLXN0YXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7QWN0aW9uVHlwZXN9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge2hhbmRsZUFjdGlvbnN9IGZyb20gJ3JlZHV4LWFjdGlvbnMnO1xuaW1wb3J0ICogYXMgdmlzU3RhdGVVcGRhdGVycyBmcm9tICcuL3Zpcy1zdGF0ZS11cGRhdGVycyc7XG5cbi8qKlxuICogSW1wb3J0YW50OiBEbyBub3QgcmVuYW1lIGBhY3Rpb25IYW5kbGVyYCBvciB0aGUgYXNzaWdubWVudCBwYXR0ZXJuIG9mIHByb3BlcnR5IHZhbHVlLlxuICogSXQgaXMgdXNlZCB0byBnZW5lcmF0ZSBkb2N1bWVudGF0aW9uXG4gKi9cbmNvbnN0IGFjdGlvbkhhbmRsZXIgPSB7XG4gIFtBY3Rpb25UeXBlcy5BRERfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5hZGRGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5DUkVBVEVfT1JfVVBEQVRFX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuY3JlYXRlT3JVcGRhdGVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BRERfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZExheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQVBQTFlfRklMVEVSX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlGaWx0ZXJDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BUFBMWV9MQVlFUl9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLmFwcGx5TGF5ZXJDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5EVVBMSUNBVEVfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmR1cGxpY2F0ZUxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl9WSUVXXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJWaWV3VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuSU5URVJBQ1RJT05fQ09ORklHX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMuaW50ZXJhY3Rpb25Db25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9DTElDS106IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDbGlja1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NPTkZJR19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyQ29uZmlnQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfU0VUX0lTX1ZBTElEXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclNldElzVmFsaWRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9IT1ZFUl06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJIb3ZlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1RZUEVfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclR5cGVDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9WSVNfQ09ORklHX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJWaXNDb25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9UT0dHTEVfVklTSUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJUb2dnbGVWaXNpYmlsaXR5VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVEVYVF9MQUJFTF9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVGV4dExhYmVsQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVklTVUFMX0NIQU5ORUxfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclZpc3VhbENoYW5uZWxDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9DT0xPUl9VSV9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyQ29sb3JVSUNoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9MQVlFUl9BTklNQVRJT05dOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyQW5pbWF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0FOSU1BVElPTl9DT05UUk9MXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVMYXllckFuaW1hdGlvbkNvbnRyb2xVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0ZJTEVTXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkRmlsZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0ZJTEVTX0VSUl06IHZpc1N0YXRlVXBkYXRlcnMubG9hZEZpbGVzRXJyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9ORVhUX0ZJTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWROZXh0RmlsZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRV9TVEVQX1NVQ0NFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRGaWxlU3RlcFN1Y2Nlc3NVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5NQVBfQ0xJQ0tdOiB2aXNTdGF0ZVVwZGF0ZXJzLm1hcENsaWNrVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTU9VU0VfTU9WRV06IHZpc1N0YXRlVXBkYXRlcnMubW91c2VNb3ZlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVDRUlWRV9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZWNlaXZlTWFwQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVPUkRFUl9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMucmVvcmRlckxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5hZGRMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0xBWUVSX1RPX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5hZGRMYXllclRvTGF5ZXJHcm91cFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9MQVlFUl9GUk9NX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVMYXllckZyb21MYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU1dBUF9MQVlFUl9PUkRFUl9FTlRSSUVTXTogdmlzU3RhdGVVcGRhdGVycy5zd2FwTGF5ZXJPcmRlckVudHJpZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRVNFVF9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZXNldE1hcENvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJR106XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25XaW5kb3dVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1BMT1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclBsb3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTUFQX0lORk9dOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldE1hcEluZm9VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TSE9XX0RBVEFTRVRfVEFCTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNob3dEYXRhc2V0VGFibGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfVEFCTEVfQ09MT1JdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRUZSRVNIX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlZnJlc2hEYXRhc2V0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVGUkVTSF9EQVRBU0VUX1NVQ0NFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlZnJlc2hEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFRlJFU0hfREFUQVNFVF9FUlJPUl06IHZpc1N0YXRlVXBkYXRlcnMucmVmcmVzaERhdGFzZXRFcnJvclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFRlJFU0hfREFUQVNFVF9QUk9HUkVTU106IHZpc1N0YXRlVXBkYXRlcnMucmVmcmVzaERhdGFzZXRQcm9ncmVzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9UT19EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5hZGRUb0RhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfRlJPTV9EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVGcm9tRGF0YXNldFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9GSUxURVJfQU5JTUFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVGaWx0ZXJBbmltYXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRF06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfQU5JTUFUSU9OX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuc2V0QW5pbWF0aW9uQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FXTogdmlzU3RhdGVVcGRhdGVycy5zZXRMYXllckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfTEFZRVJfQU5JTUFUSU9OX1NQRUVEXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckFuaW1hdGlvblNwZWVkVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0ZPUl9NQVBdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyRm9yTWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX1NQTElUX01BUF06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlU3BsaXRNYXBVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfTEFZRVJfQkxFTkRJTkddOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUxheWVyQmxlbmRpbmdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfT1ZFUkxBWV9CTEVORElOR106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlT3ZlcmxheUJsZW5kaW5nVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX1ZJU19EQVRBXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVWaXNEYXRhVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVOQU1FX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbmFtZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfREFUQVNFVF9QUk9QU106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRGF0YXNldFByb3BzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRkVBVFVSRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZlYXR1cmVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0VESVRPUl9GRUFUVVJFX1BST1BFUlRJRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEVkaXRvckZlYXR1cmVQcm9wZXJ0aWVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuREVMRVRFX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLmRlbGV0ZUZlYXR1cmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfUE9MWUdPTl9GSUxURVJfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFBvbHlnb25GaWx0ZXJMYXllclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9QT0xZR09OX0ZJTFRFUl9BTExfTEFZRVJTXTogdmlzU3RhdGVVcGRhdGVycy5zZXRQb2x5Z29uRmlsdGVyQWxsTGF5ZXJzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFNlbGVjdGVkRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9FRElUT1JfTU9ERV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RWRpdG9yTW9kZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9FRElUT1JfVklTSUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNPTlZFUlRfRURJVE9SX0ZFQVRVUkVTX1RPX0xBWUVSXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLmNvbnZlcnRFZGl0b3JGZWF0dXJlc1RvTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5FWFRSQUNUX0RBVEFfRlJPTV9GRUFUVVJFXTogdmlzU3RhdGVVcGRhdGVycy5leHRyYWN0RGF0YUZyb21GZWF0dXJlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0ZJTFRFUl9GRUFUVVJFXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVGaWx0ZXJGZWF0dXJlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQVBQTFlfQ1BVX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlDUFVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TT1JUX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMuc29ydFRhYmxlQ29sdW1uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUElOX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMucGluVGFibGVDb2x1bW5VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5DT1BZX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMuY29weVRhYmxlQ29sdW1uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0NPTFVNTl9ESVNQTEFZX0ZPUk1BVF06IHZpc1N0YXRlVXBkYXRlcnMuc2V0Q29sdW1uRGlzcGxheUZvcm1hdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfQ09MVU1OX1NUQVRTXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkQ29sdW1uU3RhdHNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0NPTFVNTl9TVEFUU19TVUNDRVNTXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkQ29sdW1uU3RhdHNTdWNjZXNzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9DT0xVTU5fU1RBVFNfRVJST1JdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRDb2x1bW5TdGF0c0Vycm9yVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTkVYVF9GSUxFX0JBVENIXTogdmlzU3RhdGVVcGRhdGVycy5uZXh0RmlsZUJhdGNoVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUFJPQ0VTU19GSUxFX0NPTlRFTlRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnByb2Nlc3NGaWxlQ29udGVudFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9MQVlFUl9BTklNQVRJT05fVElNRV9DT05GSUddOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMuc2V0TGF5ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfRklMVEVSRURfSVRFTVNfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckZpbHRlcmVkSXRlbXNDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5XTVNfRkVBVFVSRV9JTkZPXTogdmlzU3RhdGVVcGRhdGVycy53bXNGZWF0dXJlSW5mb1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNZTkNfVElNRV9GSUxURVJfV0lUSF9MQVlFUl9USU1FTElORV06XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU1lOQ19USU1FX0ZJTFRFUl9USU1FTElORV9NT0RFXTogdmlzU3RhdGVVcGRhdGVycy5zZXRUaW1lRmlsdGVyVGltZWxpbmVNb2RlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0VGRkVDVF06IHZpc1N0YXRlVXBkYXRlcnMuYWRkRWZmZWN0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVPUkRFUl9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlb3JkZXJFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfRUZGRUNUXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfRUZGRUNUXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BRERfQ0hBUlRdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZENoYXJ0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0NIQVJUXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVDaGFydFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9DSEFSVF06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlQ2hhcnRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BRERfQU5OT1RBVElPTl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkQW5ub3RhdGlvblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9BTk5PVEFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVBbm5vdGF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0FOTk9UQVRJT05dOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUFubm90YXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5EVVBMSUNBVEVfQU5OT1RBVElPTl06IHZpc1N0YXRlVXBkYXRlcnMuZHVwbGljYXRlQW5ub3RhdGlvblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9TRUxFQ1RFRF9BTk5PVEFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy5zZXRTZWxlY3RlZEFubm90YXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5DUkVBVEVfTkVXX0RBVEFTRVRfU1VDQ0VTU106IHZpc1N0YXRlVXBkYXRlcnMuY3JlYXRlTmV3RGF0YXNldFN1Y2Nlc3NVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTE9BRElOR19JTkRJQ0FUT1JdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldExvYWRpbmdJbmRpY2F0b3JVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTE9BRElOR19QUk9HUkVTU106IHZpc1N0YXRlVXBkYXRlcnMuc2V0TG9hZGluZ1Byb2dyZXNzVXBkYXRlclxufTtcblxuLy8gY29uc3RydWN0IHZpcy1zdGF0ZSByZWR1Y2VyXG5leHBvcnQgY29uc3QgdmlzU3RhdGVSZWR1Y2VyRmFjdG9yeSA9IChpbml0aWFsU3RhdGUgPSB7fSkgPT5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICBoYW5kbGVBY3Rpb25zKGFjdGlvbkhhbmRsZXIsIHtcbiAgICAuLi52aXNTdGF0ZVVwZGF0ZXJzLklOSVRJQUxfVklTX1NUQVRFLFxuICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICBpbml0aWFsU3RhdGVcbiAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZpc1N0YXRlUmVkdWNlckZhY3RvcnkoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7O0FBRUEsU0FBUUEsV0FBVyxRQUFPLG9CQUFvQjtBQUM5QyxTQUFRQyxhQUFhLFFBQU8sZUFBZTtBQUMzQyxPQUFPLEtBQUtDLGdCQUFnQixNQUFNLHNCQUFzQjs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxhQUFhLElBQUFDLGNBQUEsT0FBQUMsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVB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
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb25UeXBlcyIsImhhbmRsZUFjdGlvbnMiLCJ2aXNTdGF0ZVVwZGF0ZXJzIiwiYWN0aW9uSGFuZGxlciIsIl9hY3Rpb25IYW5kbGVyIiwiX2RlZmluZVByb3BlcnR5IiwiQUREX0ZJTFRFUiIsImFkZEZpbHRlclVwZGF0ZXIiLCJDUkVBVEVfT1JfVVBEQVRFX0ZJTFRFUiIsImNyZWF0ZU9yVXBkYXRlRmlsdGVyVXBkYXRlciIsIkFERF9MQVlFUiIsImFkZExheWVyVXBkYXRlciIsIkFQUExZX0ZJTFRFUl9DT05GSUciLCJhcHBseUZpbHRlckNvbmZpZ1VwZGF0ZXIiLCJBUFBMWV9MQVlFUl9DT05GSUciLCJhcHBseUxheWVyQ29uZmlnVXBkYXRlciIsIkRVUExJQ0FURV9MQVlFUiIsImR1cGxpY2F0ZUxheWVyVXBkYXRlciIsIlNFVF9GSUxURVJfVklFVyIsInNldEZpbHRlclZpZXdVcGRhdGVyIiwiSU5URVJBQ1RJT05fQ09ORklHX0NIQU5HRSIsImludGVyYWN0aW9uQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0NMSUNLIiwibGF5ZXJDbGlja1VwZGF0ZXIiLCJMQVlFUl9DT05GSUdfQ0hBTkdFIiwibGF5ZXJDb25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfU0VUX0lTX1ZBTElEIiwibGF5ZXJTZXRJc1ZhbGlkVXBkYXRlciIsIkxBWUVSX0hPVkVSIiwibGF5ZXJIb3ZlclVwZGF0ZXIiLCJMQVlFUl9UWVBFX0NIQU5HRSIsImxheWVyVHlwZUNoYW5nZVVwZGF0ZXIiLCJMQVlFUl9WSVNfQ09ORklHX0NIQU5HRSIsImxheWVyVmlzQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1RPR0dMRV9WSVNJQklMSVRZIiwibGF5ZXJUb2dnbGVWaXNpYmlsaXR5VXBkYXRlciIsIkxBWUVSX1RFWFRfTEFCRUxfQ0hBTkdFIiwibGF5ZXJUZXh0TGFiZWxDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfVklTVUFMX0NIQU5ORUxfQ0hBTkdFIiwibGF5ZXJWaXN1YWxDaGFubmVsQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0NPTE9SX1VJX0NIQU5HRSIsImxheWVyQ29sb3JVSUNoYW5nZVVwZGF0ZXIiLCJUT0dHTEVfTEFZRVJfQU5JTUFUSU9OIiwidG9nZ2xlTGF5ZXJBbmltYXRpb25VcGRhdGVyIiwiVE9HR0xFX0xBWUVSX0FOSU1BVElPTl9DT05UUk9MIiwidG9nZ2xlTGF5ZXJBbmltYXRpb25Db250cm9sVXBkYXRlciIsIkxPQURfRklMRVMiLCJsb2FkRmlsZXNVcGRhdGVyIiwiTE9BRF9GSUxFU19FUlIiLCJsb2FkRmlsZXNFcnJVcGRhdGVyIiwiQ0xFQVJfU1RBR0VEX0xPQURFRF9GSUxFUyIsImNsZWFyU3RhZ2VkTG9hZGVkRmlsZXNVcGRhdGVyIiwiTE9BRF9ORVhUX0ZJTEUiLCJsb2FkTmV4dEZpbGVVcGRhdGVyIiwiRVhQQU5EX1pJUF9BUkNISVZFX1NVQ0NFU1MiLCJleHBhbmRaaXBBcmNoaXZlU3VjY2Vzc1VwZGF0ZXIiLCJMT0FEX0ZJTEVfU1RFUF9TVUNDRVNTIiwibG9hZEZpbGVTdGVwU3VjY2Vzc1VwZGF0ZXIiLCJNQVBfQ0xJQ0siLCJtYXBDbGlja1VwZGF0ZXIiLCJNT1VTRV9NT1ZFIiwibW91c2VNb3ZlVXBkYXRlciIsIlJFQ0VJVkVfTUFQX0NPTkZJRyIsInJlY2VpdmVNYXBDb25maWdVcGRhdGVyIiwiUkVNT1ZFX0RBVEFTRVQiLCJyZW1vdmVEYXRhc2V0VXBkYXRlciIsIlJFTU9WRV9GSUxURVIiLCJyZW1vdmVGaWx0ZXJVcGRhdGVyIiwiUkVNT1ZFX0xBWUVSIiwicmVtb3ZlTGF5ZXJVcGRhdGVyIiwiUkVPUkRFUl9MQVlFUiIsInJlb3JkZXJMYXllclVwZGF0ZXIiLCJBRERfTEFZRVJfR1JPVVAiLCJhZGRMYXllckdyb3VwVXBkYXRlciIsIlJFTU9WRV9MQVlFUl9HUk9VUCIsInJlbW92ZUxheWVyR3JvdXBVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0dST1VQIiwidXBkYXRlTGF5ZXJHcm91cFVwZGF0ZXIiLCJBRERfTEFZRVJfVE9fTEFZRVJfR1JPVVAiLCJhZGRMYXllclRvTGF5ZXJHcm91cFVwZGF0ZXIiLCJSRU1PVkVfTEFZRVJfRlJPTV9MQVlFUl9HUk9VUCIsInJlbW92ZUxheWVyRnJvbUxheWVyR3JvdXBVcGRhdGVyIiwiU1dBUF9MQVlFUl9PUkRFUl9FTlRSSUVTIiwic3dhcExheWVyT3JkZXJFbnRyaWVzVXBkYXRlciIsIlJFU0VUX01BUF9DT05GSUciLCJyZXNldE1hcENvbmZpZ1VwZGF0ZXIiLCJTRVRfRklMVEVSIiwic2V0RmlsdGVyVXBkYXRlciIsIlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUUiLCJzZXRGaWx0ZXJBbmltYXRpb25UaW1lVXBkYXRlciIsIlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHIiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZUNvbmZpZ1VwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9XSU5ET1ciLCJzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3dVcGRhdGVyIiwiU0VUX0ZJTFRFUl9QTE9UIiwic2V0RmlsdGVyUGxvdFVwZGF0ZXIiLCJTRVRfTUFQX0lORk8iLCJzZXRNYXBJbmZvVXBkYXRlciIsIlNIT1dfREFUQVNFVF9UQUJMRSIsInNob3dEYXRhc2V0VGFibGVVcGRhdGVyIiwiVVBEQVRFX1RBQkxFX0NPTE9SIiwidXBkYXRlVGFibGVDb2xvclVwZGF0ZXIiLCJSRUZSRVNIX0RBVEFTRVQiLCJyZWZyZXNoRGF0YXNldFVwZGF0ZXIiLCJSRUZSRVNIX0RBVEFTRVRfU1VDQ0VTUyIsInJlZnJlc2hEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIiLCJSRUZSRVNIX0RBVEFTRVRfRVJST1IiLCJyZWZyZXNoRGF0YXNldEVycm9yVXBkYXRlciIsIlJFRlJFU0hfREFUQVNFVF9QUk9HUkVTUyIsInJlZnJlc2hEYXRhc2V0UHJvZ3Jlc3NVcGRhdGVyIiwiQUREX1RPX0RBVEFTRVQiLCJhZGRUb0RhdGFzZXRVcGRhdGVyIiwiUkVNT1ZFX0ZST01fREFUQVNFVCIsInJlbW92ZUZyb21EYXRhc2V0VXBkYXRlciIsIlRPR0dMRV9GSUxURVJfQU5JTUFUSU9OIiwidG9nZ2xlRmlsdGVyQW5pbWF0aW9uVXBkYXRlciIsIlVQREFURV9GSUxURVJfQU5JTUFUSU9OX1NQRUVEIiwidXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyIiwiU0VUX0FOSU1BVElPTl9DT05GSUciLCJzZXRBbmltYXRpb25Db25maWdVcGRhdGVyIiwiU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FIiwic2V0TGF5ZXJBbmltYXRpb25UaW1lVXBkYXRlciIsIlVQREFURV9MQVlFUl9BTklNQVRJT05fU1BFRUQiLCJ1cGRhdGVMYXllckFuaW1hdGlvblNwZWVkVXBkYXRlciIsIlRPR0dMRV9MQVlFUl9GT1JfTUFQIiwidG9nZ2xlTGF5ZXJGb3JNYXBVcGRhdGVyIiwiVE9HR0xFX1NQTElUX01BUCIsInRvZ2dsZVNwbGl0TWFwVXBkYXRlciIsIlVQREFURV9MQVlFUl9CTEVORElORyIsInVwZGF0ZUxheWVyQmxlbmRpbmdVcGRhdGVyIiwiVVBEQVRFX09WRVJMQVlfQkxFTkRJTkciLCJ1cGRhdGVPdmVybGF5QmxlbmRpbmdVcGRhdGVyIiwiVVBEQVRFX1ZJU19EQVRBIiwidXBkYXRlVmlzRGF0YVVwZGF0ZXIiLCJSRU5BTUVfREFUQVNFVCIsInJlbmFtZURhdGFzZXRVcGRhdGVyIiwiVVBEQVRFX0RBVEFTRVRfUFJPUFMiLCJ1cGRhdGVEYXRhc2V0UHJvcHNVcGRhdGVyIiwiVVBEQVRFX0RBVEFTRVQiLCJ1cGRhdGVEYXRhc2V0VXBkYXRlciIsIlJFTkFNRV9UQUJMRV9DT0xVTU4iLCJyZW5hbWVUYWJsZUNvbHVtblVwZGF0ZXIiLCJDSEFOR0VfVEFCTEVfQ09MVU1OX1RZUEUiLCJjaGFuZ2VUYWJsZUNvbHVtblR5cGVVcGRhdGVyIiwiREVMRVRFX1RBQkxFX0NPTFVNTiIsImRlbGV0ZVRhYmxlQ29sdW1uVXBkYXRlciIsIlNFVF9GRUFUVVJFUyIsInNldEZlYXR1cmVzVXBkYXRlciIsIlNFVF9FRElUT1JfRkVBVFVSRV9QUk9QRVJUSUVTIiwic2V0RWRpdG9yRmVhdHVyZVByb3BlcnRpZXNVcGRhdGVyIiwiREVMRVRFX0ZFQVRVUkUiLCJkZWxldGVGZWF0dXJlVXBkYXRlciIsIlNFVF9QT0xZR09OX0ZJTFRFUl9MQVlFUiIsInNldFBvbHlnb25GaWx0ZXJMYXllclVwZGF0ZXIiLCJTRVRfUE9MWUdPTl9GSUxURVJfQUxMX0xBWUVSUyIsInNldFBvbHlnb25GaWx0ZXJBbGxMYXllcnNVcGRhdGVyIiwiU0VUX1NFTEVDVEVEX0ZFQVRVUkUiLCJzZXRTZWxlY3RlZEZlYXR1cmVVcGRhdGVyIiwiU0VUX0VESVRPUl9NT0RFIiwic2V0RWRpdG9yTW9kZVVwZGF0ZXIiLCJUT0dHTEVfRURJVE9SX1ZJU0lCSUxJVFkiLCJ0b2dnbGVFZGl0b3JWaXNpYmlsaXR5VXBkYXRlciIsIkNPTlZFUlRfRURJVE9SX0ZFQVRVUkVTX1RPX0xBWUVSIiwiY29udmVydEVkaXRvckZlYXR1cmVzVG9MYXllclVwZGF0ZXIiLCJFWFRSQUNUX0RBVEFfRlJPTV9GRUFUVVJFIiwiZXh0cmFjdERhdGFGcm9tRmVhdHVyZVVwZGF0ZXIiLCJUT0dHTEVfRklMVEVSX0ZFQVRVUkUiLCJ0b2dnbGVGaWx0ZXJGZWF0dXJlVXBkYXRlciIsIkFQUExZX0NQVV9GSUxURVIiLCJhcHBseUNQVUZpbHRlclVwZGF0ZXIiLCJTT1JUX1RBQkxFX0NPTFVNTiIsInNvcnRUYWJsZUNvbHVtblVwZGF0ZXIiLCJQSU5fVEFCTEVfQ09MVU1OIiwicGluVGFibGVDb2x1bW5VcGRhdGVyIiwiVE9HR0xFX1RBQkxFX0NPTFVNTl9ISURERU4iLCJ0b2dnbGVUYWJsZUNvbHVtbkhpZGRlblVwZGF0ZXIiLCJTSE9XX0FMTF9UQUJMRV9DT0xVTU5TIiwic2hvd0FsbFRhYmxlQ29sdW1uc1VwZGF0ZXIiLCJDT1BZX1RBQkxFX0NPTFVNTiIsImNvcHlUYWJsZUNvbHVtblVwZGF0ZXIiLCJTRVRfQ09MVU1OX0RJU1BMQVlfRk9STUFUIiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdFVwZGF0ZXIiLCJMT0FEX0NPTFVNTl9TVEFUUyIsImxvYWRDb2x1bW5TdGF0c1VwZGF0ZXIiLCJMT0FEX0NPTFVNTl9TVEFUU19TVUNDRVNTIiwibG9hZENvbHVtblN0YXRzU3VjY2Vzc1VwZGF0ZXIiLCJMT0FEX0NPTFVNTl9TVEFUU19FUlJPUiIsImxvYWRDb2x1bW5TdGF0c0Vycm9yVXBkYXRlciIsIk5FWFRfRklMRV9CQVRDSCIsIm5leHRGaWxlQmF0Y2hVcGRhdGVyIiwiUFJPQ0VTU19GSUxFX0NPTlRFTlQiLCJwcm9jZXNzRmlsZUNvbnRlbnRVcGRhdGVyIiwiU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FX0NPTkZJRyIsInNldExheWVyQW5pbWF0aW9uVGltZUNvbmZpZ1VwZGF0ZXIiLCJMQVlFUl9GSUxURVJFRF9JVEVNU19DSEFOR0UiLCJsYXllckZpbHRlcmVkSXRlbXNDaGFuZ2VVcGRhdGVyIiwiV01TX0ZFQVRVUkVfSU5GTyIsIndtc0ZlYXR1cmVJbmZvVXBkYXRlciIsIlNZTkNfVElNRV9GSUxURVJfV0lUSF9MQVlFUl9USU1FTElORSIsInN5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmVVcGRhdGVyIiwiU1lOQ19USU1FX0ZJTFRFUl9USU1FTElORV9NT0RFIiwic2V0VGltZUZpbHRlclRpbWVsaW5lTW9kZVVwZGF0ZXIiLCJBRERfRUZGRUNUIiwiYWRkRWZmZWN0VXBkYXRlciIsIlJFT1JERVJfRUZGRUNUIiwicmVvcmRlckVmZmVjdFVwZGF0ZXIiLCJSRU1PVkVfRUZGRUNUIiwicmVtb3ZlRWZmZWN0VXBkYXRlciIsIlVQREFURV9FRkZFQ1QiLCJ1cGRhdGVFZmZlY3RVcGRhdGVyIiwiQUREX0NIQVJUIiwiYWRkQ2hhcnRVcGRhdGVyIiwiVVBEQVRFX0NIQVJUIiwidXBkYXRlQ2hhcnRVcGRhdGVyIiwiUkVNT1ZFX0NIQVJUIiwicmVtb3ZlQ2hhcnRVcGRhdGVyIiwiQUREX0FOTk9UQVRJT04iLCJhZGRBbm5vdGF0aW9uVXBkYXRlciIsIlJFTU9WRV9BTk5PVEFUSU9OIiwicmVtb3ZlQW5ub3RhdGlvblVwZGF0ZXIiLCJVUERBVEVfQU5OT1RBVElPTiIsInVwZGF0ZUFubm90YXRpb25VcGRhdGVyIiwiRFVQTElDQVRFX0FOTk9UQVRJT04iLCJkdXBsaWNhdGVBbm5vdGF0aW9uVXBkYXRlciIsIlNFVF9TRUxFQ1RFRF9BTk5PVEFUSU9OIiwic2V0U2VsZWN0ZWRBbm5vdGF0aW9uVXBkYXRlciIsIkNSRUFURV9ORVdfREFUQVNFVF9TVUNDRVNTIiwiY3JlYXRlTmV3RGF0YXNldFN1Y2Nlc3NVcGRhdGVyIiwiU0VUX0xPQURJTkdfSU5ESUNBVE9SIiwic2V0TG9hZGluZ0luZGljYXRvclVwZGF0ZXIiLCJTRVRfTE9BRElOR19QUk9HUkVTUyIsInNldExvYWRpbmdQcm9ncmVzc1VwZGF0ZXIiLCJBRERfR1JPVVBfQlkiLCJhZGRHcm91cEJ5VXBkYXRlciIsIlNFVF9HUk9VUF9CWV9DT05GSUciLCJzZXRHcm91cEJ5Q29uZmlnVXBkYXRlciIsIlJVTl9HUk9VUF9CWSIsInJ1bkdyb3VwQnlVcGRhdGVyIiwiQUREX0pPSU4iLCJhZGRKb2luVXBkYXRlciIsIlNFVF9KT0lOX0NPTkZJRyIsInNldEpvaW5Db25maWdVcGRhdGVyIiwiUlVOX0pPSU4iLCJydW5Kb2luVXBkYXRlciIsIkFERF9TUEFUSUFMX0pPSU4iLCJhZGRTcGF0aWFsSm9pblVwZGF0ZXIiLCJTRVRfU1BBVElBTF9KT0lOX0NPTkZJRyIsInNldFNwYXRpYWxKb2luQ29uZmlnVXBkYXRlciIsIlJVTl9TUEFUSUFMX0pPSU4iLCJydW5TcGF0aWFsSm9pblVwZGF0ZXIiLCJBRERfU1VJVEFCSUxJVFkiLCJhZGRTdWl0YWJpbGl0eVVwZGF0ZXIiLCJTRVRfU1VJVEFCSUxJVFlfQ09ORklHIiwic2V0U3VpdGFiaWxpdHlDb25maWdVcGRhdGVyIiwiUlVOX1NVSVRBQklMSVRZIiwicnVuU3VpdGFiaWxpdHlVcGRhdGVyIiwiUkVNT1ZFX0RBVEFTRVRfT1AiLCJyZW1vdmVEYXRhc2V0T3BVcGRhdGVyIiwidmlzU3RhdGVSZWR1Y2VyRmFjdG9yeSIsImluaXRpYWxTdGF0ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9vYmplY3RTcHJlYWQiLCJJTklUSUFMX1ZJU19TVEFURSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aXMtc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtBY3Rpb25UeXBlc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7aGFuZGxlQWN0aW9uc30gZnJvbSAncmVkdXgtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyB2aXNTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vdmlzLXN0YXRlLXVwZGF0ZXJzJztcblxuLyoqXG4gKiBJbXBvcnRhbnQ6IERvIG5vdCByZW5hbWUgYGFjdGlvbkhhbmRsZXJgIG9yIHRoZSBhc3NpZ25tZW50IHBhdHRlcm4gb2YgcHJvcGVydHkgdmFsdWUuXG4gKiBJdCBpcyB1c2VkIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRpb25cbiAqL1xuY29uc3QgYWN0aW9uSGFuZGxlciA9IHtcbiAgW0FjdGlvblR5cGVzLkFERF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNSRUFURV9PUl9VUERBVEVfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5jcmVhdGVPclVwZGF0ZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BUFBMWV9GSUxURVJfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5hcHBseUZpbHRlckNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFQUExZX0xBWUVSX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlMYXllckNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkRVUExJQ0FURV9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuZHVwbGljYXRlTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1ZJRVddOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclZpZXdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5JTlRFUkFDVElPTl9DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5pbnRlcmFjdGlvbkNvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NMSUNLXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckNsaWNrVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfQ09ORklHX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDb25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9TRVRfSVNfVkFMSURdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyU2V0SXNWYWxpZFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0hPVkVSXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckhvdmVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVFlQRV9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVHlwZUNoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1ZJU19DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclZpc0NvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1RPR0dMRV9WSVNJQklMSVRZXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclRvZ2dsZVZpc2liaWxpdHlVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9URVhUX0xBQkVMX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJUZXh0TGFiZWxDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9WSVNVQUxfQ0hBTk5FTF9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVmlzdWFsQ2hhbm5lbENoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NPTE9SX1VJX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDb2xvclVJQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0FOSU1BVElPTl06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlTGF5ZXJBbmltYXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfTEFZRVJfQU5JTUFUSU9OX0NPTlRST0xdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyQW5pbWF0aW9uQ29udHJvbFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRGaWxlc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRVNfRVJSXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkRmlsZXNFcnJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5DTEVBUl9TVEFHRURfTE9BREVEX0ZJTEVTXTogdmlzU3RhdGVVcGRhdGVycy5jbGVhclN0YWdlZExvYWRlZEZpbGVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9ORVhUX0ZJTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWROZXh0RmlsZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkVYUEFORF9aSVBfQVJDSElWRV9TVUNDRVNTXTogdmlzU3RhdGVVcGRhdGVycy5leHBhbmRaaXBBcmNoaXZlU3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRV9TVEVQX1NVQ0NFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRGaWxlU3RlcFN1Y2Nlc3NVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5NQVBfQ0xJQ0tdOiB2aXNTdGF0ZVVwZGF0ZXJzLm1hcENsaWNrVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTU9VU0VfTU9WRV06IHZpc1N0YXRlVXBkYXRlcnMubW91c2VNb3ZlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVDRUlWRV9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZWNlaXZlTWFwQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVPUkRFUl9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMucmVvcmRlckxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5hZGRMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0xBWUVSX1RPX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5hZGRMYXllclRvTGF5ZXJHcm91cFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9MQVlFUl9GUk9NX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVMYXllckZyb21MYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU1dBUF9MQVlFUl9PUkRFUl9FTlRSSUVTXTogdmlzU3RhdGVVcGRhdGVycy5zd2FwTGF5ZXJPcmRlckVudHJpZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRVNFVF9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZXNldE1hcENvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJR106XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25XaW5kb3dVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1BMT1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclBsb3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTUFQX0lORk9dOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldE1hcEluZm9VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TSE9XX0RBVEFTRVRfVEFCTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNob3dEYXRhc2V0VGFibGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfVEFCTEVfQ09MT1JdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRUZSRVNIX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlZnJlc2hEYXRhc2V0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVGUkVTSF9EQVRBU0VUX1NVQ0NFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlZnJlc2hEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFRlJFU0hfREFUQVNFVF9FUlJPUl06IHZpc1N0YXRlVXBkYXRlcnMucmVmcmVzaERhdGFzZXRFcnJvclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFRlJFU0hfREFUQVNFVF9QUk9HUkVTU106IHZpc1N0YXRlVXBkYXRlcnMucmVmcmVzaERhdGFzZXRQcm9ncmVzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9UT19EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5hZGRUb0RhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfRlJPTV9EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVGcm9tRGF0YXNldFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9GSUxURVJfQU5JTUFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVGaWx0ZXJBbmltYXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRF06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfQU5JTUFUSU9OX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuc2V0QW5pbWF0aW9uQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FXTogdmlzU3RhdGVVcGRhdGVycy5zZXRMYXllckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfTEFZRVJfQU5JTUFUSU9OX1NQRUVEXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckFuaW1hdGlvblNwZWVkVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0ZPUl9NQVBdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyRm9yTWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX1NQTElUX01BUF06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlU3BsaXRNYXBVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfTEFZRVJfQkxFTkRJTkddOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUxheWVyQmxlbmRpbmdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfT1ZFUkxBWV9CTEVORElOR106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlT3ZlcmxheUJsZW5kaW5nVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX1ZJU19EQVRBXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVWaXNEYXRhVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVOQU1FX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbmFtZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfREFUQVNFVF9QUk9QU106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRGF0YXNldFByb3BzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU5BTUVfVEFCTEVfQ09MVU1OXTogdmlzU3RhdGVVcGRhdGVycy5yZW5hbWVUYWJsZUNvbHVtblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNIQU5HRV9UQUJMRV9DT0xVTU5fVFlQRV06IHZpc1N0YXRlVXBkYXRlcnMuY2hhbmdlVGFibGVDb2x1bW5UeXBlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuREVMRVRFX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMuZGVsZXRlVGFibGVDb2x1bW5VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRkVBVFVSRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZlYXR1cmVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0VESVRPUl9GRUFUVVJFX1BST1BFUlRJRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEVkaXRvckZlYXR1cmVQcm9wZXJ0aWVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuREVMRVRFX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLmRlbGV0ZUZlYXR1cmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfUE9MWUdPTl9GSUxURVJfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFBvbHlnb25GaWx0ZXJMYXllclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9QT0xZR09OX0ZJTFRFUl9BTExfTEFZRVJTXTogdmlzU3RhdGVVcGRhdGVycy5zZXRQb2x5Z29uRmlsdGVyQWxsTGF5ZXJzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFNlbGVjdGVkRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9FRElUT1JfTU9ERV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RWRpdG9yTW9kZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9FRElUT1JfVklTSUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNPTlZFUlRfRURJVE9SX0ZFQVRVUkVTX1RPX0xBWUVSXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLmNvbnZlcnRFZGl0b3JGZWF0dXJlc1RvTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5FWFRSQUNUX0RBVEFfRlJPTV9GRUFUVVJFXTogdmlzU3RhdGVVcGRhdGVycy5leHRyYWN0RGF0YUZyb21GZWF0dXJlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0ZJTFRFUl9GRUFUVVJFXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVGaWx0ZXJGZWF0dXJlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQVBQTFlfQ1BVX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlDUFVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TT1JUX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMuc29ydFRhYmxlQ29sdW1uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUElOX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMucGluVGFibGVDb2x1bW5VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfVEFCTEVfQ09MVU1OX0hJRERFTl06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlVGFibGVDb2x1bW5IaWRkZW5VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TSE9XX0FMTF9UQUJMRV9DT0xVTU5TXTogdmlzU3RhdGVVcGRhdGVycy5zaG93QWxsVGFibGVDb2x1bW5zVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQ09QWV9UQUJMRV9DT0xVTU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLmNvcHlUYWJsZUNvbHVtblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9DT0xVTU5fRElTUExBWV9GT1JNQVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldENvbHVtbkRpc3BsYXlGb3JtYXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0NPTFVNTl9TVEFUU106IHZpc1N0YXRlVXBkYXRlcnMubG9hZENvbHVtblN0YXRzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9DT0xVTU5fU1RBVFNfU1VDQ0VTU106IHZpc1N0YXRlVXBkYXRlcnMubG9hZENvbHVtblN0YXRzU3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfQ09MVU1OX1NUQVRTX0VSUk9SXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkQ29sdW1uU3RhdHNFcnJvclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLk5FWFRfRklMRV9CQVRDSF06IHZpc1N0YXRlVXBkYXRlcnMubmV4dEZpbGVCYXRjaFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlBST0NFU1NfRklMRV9DT05URU5UXTogdmlzU3RhdGVVcGRhdGVycy5wcm9jZXNzRmlsZUNvbnRlbnRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTEFZRVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLnNldExheWVyQW5pbWF0aW9uVGltZUNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0ZJTFRFUkVEX0lURU1TX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJGaWx0ZXJlZEl0ZW1zQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuV01TX0ZFQVRVUkVfSU5GT106IHZpc1N0YXRlVXBkYXRlcnMud21zRmVhdHVyZUluZm9VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TWU5DX1RJTUVfRklMVEVSX1dJVEhfTEFZRVJfVElNRUxJTkVdOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMuc3luY1RpbWVGaWx0ZXJXaXRoTGF5ZXJUaW1lbGluZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNZTkNfVElNRV9GSUxURVJfVElNRUxJTkVfTU9ERV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0VGltZUZpbHRlclRpbWVsaW5lTW9kZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZEVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFT1JERVJfRUZGRUNUXTogdmlzU3RhdGVVcGRhdGVycy5yZW9yZGVyRWZmZWN0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0VGRkVDVF06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlRWZmZWN0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0VGRkVDVF06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRWZmZWN0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0NIQVJUXTogdmlzU3RhdGVVcGRhdGVycy5hZGRDaGFydFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9DSEFSVF06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlQ2hhcnRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfQ0hBUlRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUNoYXJ0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0FOTk9UQVRJT05dOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZEFubm90YXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfQU5OT1RBVElPTl06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlQW5ub3RhdGlvblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9BTk5PVEFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVBbm5vdGF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuRFVQTElDQVRFX0FOTk9UQVRJT05dOiB2aXNTdGF0ZVVwZGF0ZXJzLmR1cGxpY2F0ZUFubm90YXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfQU5OT1RBVElPTl06IHZpc1N0YXRlVXBkYXRlcnMuc2V0U2VsZWN0ZWRBbm5vdGF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQ1JFQVRFX05FV19EQVRBU0VUX1NVQ0NFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLmNyZWF0ZU5ld0RhdGFzZXRTdWNjZXNzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xPQURJTkdfSU5ESUNBVE9SXTogdmlzU3RhdGVVcGRhdGVycy5zZXRMb2FkaW5nSW5kaWNhdG9yVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xPQURJTkdfUFJPR1JFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldExvYWRpbmdQcm9ncmVzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9HUk9VUF9CWV06IHZpc1N0YXRlVXBkYXRlcnMuYWRkR3JvdXBCeVVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5TRVRfR1JPVVBfQllfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5zZXRHcm91cEJ5Q29uZmlnVXBkYXRlcixcbiAgW0FjdGlvblR5cGVzLlJVTl9HUk9VUF9CWV06IHZpc1N0YXRlVXBkYXRlcnMucnVuR3JvdXBCeVVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5BRERfSk9JTl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkSm9pblVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5TRVRfSk9JTl9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEpvaW5Db25maWdVcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuUlVOX0pPSU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLnJ1bkpvaW5VcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuQUREX1NQQVRJQUxfSk9JTl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkU3BhdGlhbEpvaW5VcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuU0VUX1NQQVRJQUxfSk9JTl9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFNwYXRpYWxKb2luQ29uZmlnVXBkYXRlcixcbiAgW0FjdGlvblR5cGVzLlJVTl9TUEFUSUFMX0pPSU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLnJ1blNwYXRpYWxKb2luVXBkYXRlcixcbiAgW0FjdGlvblR5cGVzLkFERF9TVUlUQUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMuYWRkU3VpdGFiaWxpdHlVcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuU0VUX1NVSVRBQklMSVRZX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuc2V0U3VpdGFiaWxpdHlDb25maWdVcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuUlVOX1NVSVRBQklMSVRZXTogdmlzU3RhdGVVcGRhdGVycy5ydW5TdWl0YWJpbGl0eVVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfREFUQVNFVF9PUF06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlRGF0YXNldE9wVXBkYXRlclxufTtcblxuLy8gY29uc3RydWN0IHZpcy1zdGF0ZSByZWR1Y2VyXG5leHBvcnQgY29uc3QgdmlzU3RhdGVSZWR1Y2VyRmFjdG9yeSA9IChpbml0aWFsU3RhdGUgPSB7fSkgPT5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICBoYW5kbGVBY3Rpb25zKGFjdGlvbkhhbmRsZXIsIHtcbiAgICAuLi52aXNTdGF0ZVVwZGF0ZXJzLklOSVRJQUxfVklTX1NUQVRFLFxuICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICBpbml0aWFsU3RhdGVcbiAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZpc1N0YXRlUmVkdWNlckZhY3RvcnkoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7O0FBRUEsU0FBUUEsV0FBVyxRQUFPLG9CQUFvQjtBQUM5QyxTQUFRQyxhQUFhLFFBQU8sZUFBZTtBQUMzQyxPQUFPLEtBQUtDLGdCQUFnQixNQUFNLHNCQUFzQjs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxhQUFhLElBQUFDLGNBQUEsT0FBQUMsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBRCxjQUFBLEVBQ2hCSixXQUFXLENBQUNNLFVBQVUsRUFBR0osZ0JBQWdCLENBQUNLLGdCQUFnQixHQUUxRFAsV0FBVyxDQUFDUSx1QkFBdUIsRUFBR04sZ0JBQWdCLENBQUNPLDJCQUEyQixHQUVsRlQsV0FBVyxDQUFDVSxTQUFTLEVBQUdSLGdCQUFnQixDQUFDUyxlQUFlLEdB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
@@ -7,14 +7,14 @@ interface StateType {
7
7
  };
8
8
  appName?: string;
9
9
  }
10
- export declare function exportData(state: StateType, options: any): void;
10
+ export declare function exportData(state: StateType, options: any): Promise<void>;
11
11
  /**
12
12
  * On export data to csv
13
13
  * @param dataContainer
14
14
  * @param fields `dataset.fields`
15
15
  * @returns csv string
16
16
  */
17
- export declare function formatCsv(data: DataContainerInterface, fields: Field[]): string;
17
+ export declare function formatCsv(data: DataContainerInterface, fields: Field[], hiddenColumns?: string[]): string;
18
18
  declare const exporters: {
19
19
  exportData: typeof exportData;
20
20
  };
@@ -1,4 +1,4 @@
1
- import { Field, TooltipField, CompareType } from '@kepler.gl/types';
1
+ import { Field, InteractionConfig, TooltipField, CompareType, ZoomOpacityController, ZoomOpacityStops } from '@kepler.gl/types';
2
2
  /**
3
3
  * Minus sign used in tooltip formatting.
4
4
  * \u2212 or \u002D is the minus sign that d3-format uses for decimal number formatting
@@ -22,8 +22,31 @@ export declare function getTooltipDisplayDeltaValue({ field, value, primaryValue
22
22
  primaryValue: any;
23
23
  compareType?: CompareType;
24
24
  }): string | null;
25
- export declare function getTooltipDisplayValue({ item, field, value }: {
25
+ export declare function getTooltipDisplayValue({ item, field, value, timezone }: {
26
26
  item: TooltipField | undefined;
27
27
  field: Field;
28
28
  value: any;
29
+ timezone?: string | null;
29
30
  }): string;
31
+ export declare const ZOOM_OPACITY_RANGE: [number, number];
32
+ /** Reserved fade-on-zoom target id for one map annotation. */
33
+ export declare function getZoomOpacityAnnotationTargetId(annotationId: string): string;
34
+ export declare const DEFAULT_ZOOM_OPACITY_STOPS: ZoomOpacityStops;
35
+ /**
36
+ * 0–1 multiplier for a layer's opacity at `zoom`.
37
+ * 0 at and outside the envelope, rising from appear to full, holding through fade, then falling to gone.
38
+ * Equal neighbors are a step. Unordered stops leave opacity unchanged.
39
+ */
40
+ export declare function zoomOpacityFactor(zoom: number, stops: ZoomOpacityStops): number;
41
+ /** Envelope multiplier for one layer. 1 when fade-on-zoom is off or the layer is not assigned. */
42
+ export declare function getLayerZoomOpacityFactor(layerId: string, zoom: number | undefined, interactionConfig?: InteractionConfig | null): number;
43
+ /** Write one stop and push its neighbors so appear <= full <= fade <= gone. */
44
+ export declare function setZoomOpacityStop(stops: ZoomOpacityStops, key: keyof ZoomOpacityStops, value: number): ZoomOpacityStops;
45
+ /** Concatenate controllers and keep the first assignment of each layer id. */
46
+ export declare function combineZoomOpacityControllers(configs: Array<{
47
+ controllers?: ZoomOpacityController[];
48
+ } | null | undefined>): ZoomOpacityController[];
49
+ /** Drop a deleted layer from fade-on-zoom controllers. Returns the same config when nothing changes. */
50
+ export declare function removeLayerFromZoomOpacity<T extends {
51
+ zoomOpacity?: InteractionConfig['zoomOpacity'];
52
+ }>(interactionConfig: T, layerId: string): T;
@@ -25,6 +25,7 @@ export type LayerHoverProp = {
25
25
  primaryData?: DataRow | AggregationLayerHoverData | any[] | null;
26
26
  compareType?: CompareType;
27
27
  currentTime?: VisState['animationConfig']['currentTime'];
28
+ timezone?: string | null;
28
29
  };
29
30
  /**
30
31
  * Find default layers from fields
@@ -104,6 +105,22 @@ export declare function getNewLayerGroup(props?: Partial<LayerOrderGroup>): Laye
104
105
  export declare function addLayerOrGroupToLayerOrder(layerOrder: LayerOrder, element: LayerOrderEntry, atIndex?: number): LayerOrder;
105
106
  export declare function removeElementFromLayerOrder(layerOrder: LayerOrder, element: LayerOrderEntry): LayerOrder;
106
107
  export declare function getLayerGroupFromLayerOrder(layerOrder: LayerOrder, layerGroupId: string): LayerOrderGroup | undefined;
108
+ /**
109
+ * Groups that contain `entryId`, nearest parent first.
110
+ * `entryId` may be a layer id or a nested group id.
111
+ */
112
+ export declare function getAncestorLayerGroups(layerOrder: LayerOrder, entryId: string): LayerOrderGroup[];
113
+ /**
114
+ * Whether a layer should be drawn in the map legend.
115
+ * A layer stays on the map when this is false. Missing flags count as included.
116
+ * An ancestor group with `isIncludedInLegend: false` hides the layer as well.
117
+ */
118
+ export declare function isLayerShownInLegend(layer: {
119
+ id: string;
120
+ config: {
121
+ isIncludedInLegend?: boolean;
122
+ };
123
+ }, layerOrder?: LayerOrder): boolean;
107
124
  /**
108
125
  * Find the parent group that contains a given layer ID.
109
126
  * Returns undefined if the layer is at the root level.
@@ -14,6 +14,7 @@ export declare const DEFAULT_MODAL = "addData";
14
14
  * @property mapLocale Default: `{show: true, active: false}`
15
15
  * @property mapTheme Default: `{show: true, active: false}`
16
16
  * @property viewportJson Default: `{show: true, active: false}`
17
+ * @property mapInfo Default: `{show: true, active: true}`. `show` hides the on-map name and description.
17
18
  * @public
18
19
  */
19
20
  export declare const DEFAULT_MAP_CONTROLS: MapControls;
@@ -25,6 +26,7 @@ export declare const DEFAULT_MAP_CONTROLS: MapControls;
25
26
  * @property resolution Default: `'ONE_X'`,
26
27
  * @property legend Default: `false`,
27
28
  * @property charts Default: `false`,
29
+ * @property transparentBackground Default: `false`,
28
30
  * @property mapH Default: 0,
29
31
  * @property mapW Default: 0,
30
32
  * @property imageSize Default: {zoomOffset: 0, scale: 1, imageW: 0, imageH: 0},
@@ -74,6 +76,7 @@ export declare const DEFAULT_EXPORT_JSON: ExportJson;
74
76
  * @property JSON - Default: 'DEFAULT_EXPORT_JSON',
75
77
  * @property format - Default: 'HTML',
76
78
  * @property fileName Default: `''`,
79
+ * @property includeLayerApiKeys Default: `false`,
77
80
  * @public
78
81
  */
79
82
  export declare const DEFAULT_EXPORT_MAP: ExportMap;
@@ -97,6 +100,7 @@ export declare const DEFAULT_EXPORT_VIDEO: ExportVideo;
97
100
  * @property activeSidePanel Default: `'layer'`
98
101
  * @property currentModal Default: `'addData'`
99
102
  * @property datasetKeyToRemove Default: `null`
103
+ * @property datasetToReplaceId Default: `null`
100
104
  * @property visibleDropdown Default: `null`
101
105
  * @property exportImage Default: [`DEFAULT_EXPORT_IMAGE`](#default_export_image)
102
106
  * @property exportData Default: [`DEFAULT_EXPORT_DATA`](#default_export_data)
@@ -203,6 +207,16 @@ export declare const setMapControlSettingsUpdater: (state: UiState, { payload: {
203
207
  * @public
204
208
  */
205
209
  export declare const openDeleteModalUpdater: (state: UiState, { payload: datasetKeyToRemove }: UIStateActions.OpenDeleteModalUpdaterAction) => UiState;
210
+ /**
211
+ * Open the add-data modal so the next confirmed upload replaces one dataset.
212
+ * @memberof uiStateUpdaters
213
+ * @param state `uiState`
214
+ * @param action
215
+ * @param action.payload dataset id
216
+ * @returns nextState
217
+ * @public
218
+ */
219
+ export declare const openReplaceDatasetModalUpdater: (state: UiState, { payload: datasetToReplaceId }: UIStateActions.OpenReplaceDatasetModalUpdaterAction) => UiState;
206
220
  /**
207
221
  * Set `exportImage` options such as `legend` and `charts` to `true` or `false`
208
222
  * @memberof uiStateUpdaters
@@ -326,6 +340,22 @@ export declare const setExportMapFileNameUpdater: (state: UiState, { payload: fi
326
340
  * @return nextState
327
341
  */
328
342
  export declare const setExportMapHTMLModeUpdater: (state: UiState, { payload: mode }: UIStateActions.SetExportHTMLMapModeUpdaterAction) => UiState;
343
+ /**
344
+ * Set application branding overrides for exported maps.
345
+ * @param state - `uiState`
346
+ * @param action
347
+ * @param action.payload application name and/or website overrides
348
+ * @return nextState
349
+ */
350
+ export declare const setExportMapBrandingUpdater: (state: UiState, { payload }: UIStateActions.SetExportMapBrandingUpdaterAction) => UiState;
351
+ /**
352
+ * Whether to keep layer access tokens in exported HTML and JSON maps.
353
+ * @param state - `uiState`
354
+ * @param action
355
+ * @param action.payload - include layer API keys
356
+ * @return nextState
357
+ */
358
+ export declare const setExportIncludeLayerApiKeysUpdater: (state: UiState, { payload: includeLayerApiKeys }: UIStateActions.SetExportIncludeLayerApiKeysUpdaterAction) => UiState;
329
359
  /**
330
360
  * Adds a new notification.
331
361
  * Updates a notification in case of matching ids.
@@ -0,0 +1 @@
1
+ export {};
@@ -135,9 +135,16 @@ export declare function validateColumn(column: LayerColumn & {
135
135
  * @param {Object} options
136
136
  * @return {Object} - validated textlabel
137
137
  */
138
- export declare function validateSavedTextLabel(fields: any, [layerTextLabel]: [any], savedTextLabel: any, options?: {
138
+ export declare function validateSavedTextLabel(fields: any, layerTextLabels: any[], savedTextLabel: any, options?: {
139
139
  throwOnError?: boolean;
140
- }): {}[];
140
+ layerType?: string | null;
141
+ }): any[];
142
+ /**
143
+ * Maps saved before count labels omit `textLabel`. Those cluster, hexbin, and
144
+ * grid layers stay unlabeled. New layers still get the point-count default
145
+ * from `getDefaultLayerConfig`.
146
+ */
147
+ export declare function fallbackTextLabelForLoadedLayer(layerType: string | null | undefined, newLayerTextLabel: any[]): any[];
141
148
  /**
142
149
  * Validate saved visual channels config with new data,
143
150
  * refer to vis-state-schema.js VisualChannelSchemaV1
@@ -148,6 +155,7 @@ export declare function validateSavedVisualChannels(fields: KeplerTable['fields'
148
155
  type ValidateLayerOption = {
149
156
  allowEmptyColumn?: boolean;
150
157
  throwOnError?: boolean;
158
+ keepUnlabeledAggregationTextLabel?: boolean;
151
159
  };
152
160
  export declare function validateLayersByDatasets(datasets: Datasets, layerClasses: VisState['layerClasses'], layers?: NonNullable<ParsedConfig['visState']>['layers'], options?: ValidateLayerOption): {
153
161
  validated: Layer[];
@@ -5,6 +5,7 @@ import KeplerGLSchema, { Merger, PostMergerPayload, VisState } from '@kepler.gl/
5
5
  import { Filter, InteractionConfig, AnimationConfig, FilterAnimationConfig, Editor, Annotation, ChartConfig } from '@kepler.gl/types';
6
6
  import { Loader } from '@loaders.gl/loader-utils';
7
7
  import { Datasets } from '@kepler.gl/table';
8
+ import { addGroupByUpdater, addJoinUpdater, addSpatialJoinUpdater, addSuitabilityUpdater, removeDatasetOpUpdater, setGroupByConfigUpdater, setJoinConfigUpdater, setSpatialJoinConfigUpdater, setSuitabilityConfigUpdater } from './dataset-ops-updaters';
8
9
  import { PayloadAction } from '@reduxjs/toolkit';
9
10
  export declare const defaultInteractionConfig: InteractionConfig;
10
11
  export declare const DEFAULT_ANIMATION_CONFIG: AnimationConfig;
@@ -205,6 +206,9 @@ export declare const setFilterViewUpdater: (state: VisState, action: VisStateAct
205
206
  filterToBeMerged: any[];
206
207
  datasets: Datasets;
207
208
  editingDataset: string | undefined;
209
+ groupBys: import("@kepler.gl/table").GroupByOp[];
210
+ joins: import("@kepler.gl/table").JoinOp[];
211
+ suitabilities: import("@kepler.gl/table").SuitabilityOp[];
208
212
  interactionConfig: InteractionConfig;
209
213
  interactionToBeMerged: any;
210
214
  layerBlending: string;
@@ -220,8 +224,10 @@ export declare const setFilterViewUpdater: (state: VisState, action: VisStateAct
220
224
  splitMapsToBeMerged: import("@kepler.gl/types").SplitMap[];
221
225
  fileLoading: import("@kepler.gl/types").FileLoading | false;
222
226
  fileLoadingProgress: import("@kepler.gl/types").FileLoadingProgress;
227
+ stagedToAdd: any[] | null;
223
228
  loadingIndicatorValue: number;
224
229
  loadingProgress: Record<string, number>;
230
+ loadingProcessing?: Record<string, boolean>;
225
231
  loaders: Loader[];
226
232
  loadOptions: object;
227
233
  initialState?: Partial<VisState>;
@@ -548,6 +554,21 @@ export declare function updateDatasetPropsUpdater(state: VisState, action: VisSt
548
554
  * @public
549
555
  */
550
556
  export declare function updateDatasetUpdater(state: VisState, action: VisStateActions.UpdateDatasetUpdaterAction): VisState;
557
+ /**
558
+ * Rename a column's stored identity (`field.name`) and every layer, filter,
559
+ * tooltip, and chart reference that used the old name.
560
+ */
561
+ export declare function renameTableColumnUpdater(state: VisState, action: VisStateActions.RenameTableColumnUpdaterAction): VisState;
562
+ /**
563
+ * Convert a complete column before committing its new type. A failed value
564
+ * leaves the table and every reference unchanged.
565
+ */
566
+ export declare function changeTableColumnTypeUpdater(state: VisState, action: VisStateActions.ChangeTableColumnTypeUpdaterAction): VisState;
567
+ /**
568
+ * Drop a column and the layers, filters, and other references that required it.
569
+ * The last remaining column is kept.
570
+ */
571
+ export declare function deleteTableColumnUpdater(state: VisState, action: VisStateActions.DeleteTableColumnUpdaterAction): VisState;
551
572
  /**
552
573
  * When a user clicks on the specific map closing icon
553
574
  * the application will close the selected map
@@ -558,11 +579,6 @@ export declare function updateDatasetUpdater(state: VisState, action: VisStateAc
558
579
  * @returns {Object} nextState
559
580
  */
560
581
  export declare function closeSpecificMapAtIndex<S extends VisState>(state: S, action: MapStateActions.ToggleSplitMapUpdaterAction): S;
561
- /**
562
- * Trigger file loading dispatch `addDataToMap` if succeed, or `loadFilesErr` if failed
563
- * @memberof visStateUpdaters
564
- * @public
565
- */
566
582
  export declare const loadFilesUpdater: (state: VisState, action: VisStateActions.LoadFilesUpdaterAction) => VisState;
567
583
  /**
568
584
  * Sucessfully loaded one file, move on to the next one
@@ -575,8 +591,15 @@ export declare function loadFileStepSuccessUpdater(state: VisState, action: VisS
575
591
  * @memberof visStateUpdaters
576
592
  * @public
577
593
  */
578
- export declare function loadNextFileUpdater(state: VisState): VisState;
579
- export declare function makeLoadFileTask(file: any, fileCache: any, loaders?: Loader[], loadOptions?: {}, companionFiles?: File[]): TaskDescriptor;
594
+ export declare function loadNextFileUpdater(state: VisState, action?: {
595
+ loadId?: number;
596
+ }): VisState;
597
+ /**
598
+ * Apply an unpacked zip. One shapefile keeps the archive name. Any other
599
+ * mix is queued as one dataset per supported member.
600
+ */
601
+ export declare function expandZipArchiveSuccessUpdater(state: VisState, action: VisStateActions.ExpandZipArchiveSuccessAction): VisState;
602
+ export declare function makeLoadFileTask(file: any, fileCache: any, loaders?: Loader[], loadOptions?: {}, companionFiles?: File[], addDataOptions?: VisStateActions.LoadFilesOptions, fileName?: string): TaskDescriptor;
580
603
  /**
581
604
  *
582
605
  * @memberof visStateUpdaters
@@ -593,13 +616,19 @@ export declare function parseProgress(prevProgress: {} | undefined, progress: an
593
616
  * @memberof visStateUpdaters
594
617
  * @public
595
618
  */
596
- export declare const nextFileBatchUpdater: (state: VisState, { payload: { gen, fileName, progress, accumulated, onFinish } }: VisStateActions.NextFileBatchUpdaterAction) => VisState;
619
+ export declare const nextFileBatchUpdater: (state: VisState, { payload: { gen, fileName, progress, accumulated, onFinish, options } }: VisStateActions.NextFileBatchUpdaterAction) => VisState;
597
620
  /**
598
621
  * Trigger loading file error
599
622
  * @memberof visStateUpdaters
600
623
  * @public
601
624
  */
602
- export declare const loadFilesErrUpdater: (state: VisState, { error, fileName }: VisStateActions.LoadFilesErrUpdaterAction) => VisState;
625
+ /**
626
+ * Drop files waiting on the Add Data button and abort an in-progress modal load.
627
+ * @memberof visStateUpdaters
628
+ * @public
629
+ */
630
+ export declare const clearStagedLoadedFilesUpdater: (state: VisState) => VisState;
631
+ export declare const loadFilesErrUpdater: (state: VisState, { error, fileName, loadId: errorLoadId }: VisStateActions.LoadFilesErrUpdaterAction) => VisState;
603
632
  /**
604
633
  * When select dataset for export, apply cpu filter to selected dataset
605
634
  * @memberof visStateUpdaters
@@ -688,6 +717,16 @@ export declare function sortTableColumnUpdater(state: VisState, { dataId, column
688
717
  * @public
689
718
  */
690
719
  export declare function pinTableColumnUpdater(state: VisState, { dataId, column }: VisStateActions.PinTableColumnUpdaterAction): VisState;
720
+ /**
721
+ * @memberof visStateUpdaters
722
+ * @public
723
+ */
724
+ export declare function toggleTableColumnHiddenUpdater(state: VisState, { dataId, column }: VisStateActions.ToggleTableColumnHiddenUpdaterAction): VisState;
725
+ /**
726
+ * @memberof visStateUpdaters
727
+ * @public
728
+ */
729
+ export declare function showAllTableColumnsUpdater(state: VisState, { dataId }: VisStateActions.ShowAllTableColumnsUpdaterAction): VisState;
691
730
  /**
692
731
  * Copy column content as strings
693
732
  * @memberof visStateUpdaters
@@ -711,13 +750,13 @@ export declare function loadColumnStatsUpdater(state: VisState, { dataId, fieldN
711
750
  * @memberof visStateUpdaters
712
751
  * @public
713
752
  */
714
- export declare function loadColumnStatsSuccessUpdater(state: VisState, { result, filterProps, dataId, fieldName }: VisStateActions.LoadColumnStatsSuccessUpdaterAction): VisState;
753
+ export declare function loadColumnStatsSuccessUpdater(state: VisState, { result, filterProps, dataId, fieldName, fieldType }: VisStateActions.LoadColumnStatsSuccessUpdaterAction): VisState;
715
754
  /**
716
755
  * Clear loading flag when column statistics fail.
717
756
  * @memberof visStateUpdaters
718
757
  * @public
719
758
  */
720
- export declare function loadColumnStatsErrorUpdater(state: VisState, { error, dataId, fieldName }: VisStateActions.LoadColumnStatsErrorUpdaterAction): VisState;
759
+ export declare function loadColumnStatsErrorUpdater(state: VisState, { error, dataId, fieldName, fieldType }: VisStateActions.LoadColumnStatsErrorUpdaterAction): VisState;
721
760
  /**
722
761
  * Update editor
723
762
  */
@@ -728,7 +767,8 @@ export declare function toggleEditorVisibilityUpdater(state: VisState, action: V
728
767
  export declare function convertEditorFeaturesToLayerUpdater(state: VisState, _action: VisStateActions.ConvertEditorFeaturesToLayerUpdaterAction): VisState;
729
768
  /**
730
769
  * Copy in-memory rows (or loaded vector-tile features) inside the selected
731
- * Draw on Map polygon into a new dataset.
770
+ * Draw on Map polygon into a new dataset. Raster tiles download a PNG clip and a
771
+ * GeoJSON sidecar (bbox rectangle + stats) instead of creating a dataset.
732
772
  */
733
773
  export declare function extractDataFromFeatureUpdater(state: VisState, { layerId }: VisStateActions.ExtractDataFromFeatureUpdaterAction): VisState;
734
774
  export declare function setFilterAnimationTimeConfigUpdater(state: VisState, { idx, config }: VisStateActions.SetFilterAnimationTimeConfigAction): VisState;
@@ -763,8 +803,10 @@ export declare const setLoadingIndicatorUpdater: (state: VisState, { payload: {
763
803
  * @memberof visStateUpdaters
764
804
  * @public
765
805
  */
766
- export declare function setLoadingProgressUpdater(state: VisState, { id, percent }: VisStateActions.SetLoadingProgressUpdaterAction): VisState;
767
- export declare function prepareStateForDatasetReplace<T extends VisState>(state: T, dataId: string, dataIdToUse: string): T;
806
+ export declare function setLoadingProgressUpdater(state: VisState, { id, percent, phase }: VisStateActions.SetLoadingProgressUpdaterAction): VisState;
807
+ export declare function prepareStateForDatasetReplace<T extends VisState>(state: T, dataId: string, dataIdToUse: string, options?: {
808
+ deleteOriginalDataset?: boolean;
809
+ }): T;
768
810
  /**
769
811
  * The order to preserve for the items that will be merged back.
770
812
  *
@@ -783,4 +825,8 @@ export declare function replaceDatasetDepsInState<T extends VisState>(state: T,
783
825
  dataId: string;
784
826
  dataIdToUse: string;
785
827
  }): T;
786
- export {};
828
+ export declare function runGroupByUpdater(state: VisState, action: VisStateActions.RunGroupByUpdaterAction): VisState;
829
+ export declare function runJoinUpdater(state: VisState, action: VisStateActions.RunJoinUpdaterAction): VisState;
830
+ export declare function runSpatialJoinUpdater(state: VisState, action: VisStateActions.RunSpatialJoinUpdaterAction): VisState;
831
+ export declare function runSuitabilityUpdater(state: VisState, action: VisStateActions.RunSuitabilityUpdaterAction): VisState;
832
+ export { addGroupByUpdater, addJoinUpdater, addSpatialJoinUpdater, addSuitabilityUpdater, removeDatasetOpUpdater, setGroupByConfigUpdater, setJoinConfigUpdater, setSpatialJoinConfigUpdater, setSuitabilityConfigUpdater };