@carto/kepler.gl 0.0.85 → 0.0.86-alpha.deck9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/action-wrapper.js +36 -41
- package/dist/actions/actions.js +15 -21
- package/dist/actions/identity-actions.js +14 -20
- package/dist/actions/index.js +16 -16
- package/dist/actions/map-state-actions.js +12 -18
- package/dist/actions/map-style-actions.js +30 -46
- package/dist/actions/provider-actions.js +49 -73
- package/dist/actions/ui-state-actions.js +73 -113
- package/dist/actions/vis-state-actions.js +152 -148
- package/dist/cloud-providers/index.js +6 -7
- package/dist/cloud-providers/provider.js +189 -279
- package/dist/components/bottom-widget.js +105 -117
- package/dist/components/common/action-panel.js +122 -74
- package/dist/components/common/animation-control/animation-control.js +69 -54
- package/dist/components/common/animation-control/animation-controller.js +134 -160
- package/dist/components/common/animation-control/animation-speed-slider.js +47 -54
- package/dist/components/common/animation-control/floating-time-display.js +120 -100
- package/dist/components/common/animation-control/playback-controls.js +147 -144
- package/dist/components/common/animation-control/speed-control.js +31 -23
- package/dist/components/common/checkbox.js +56 -70
- package/dist/components/common/color-legend.js +83 -110
- package/dist/components/common/data-table/button.js +31 -23
- package/dist/components/common/data-table/canvas.js +11 -5
- package/dist/components/common/data-table/cell-size.js +51 -61
- package/dist/components/common/data-table/grid.js +40 -59
- package/dist/components/common/data-table/index.js +464 -348
- package/dist/components/common/data-table/option-dropdown.js +50 -33
- package/dist/components/common/dataset-label.js +17 -13
- package/dist/components/common/error-boundary.js +27 -45
- package/dist/components/common/field-selector.js +99 -139
- package/dist/components/common/field-token.js +24 -9
- package/dist/components/common/file-uploader/file-drop.js +96 -115
- package/dist/components/common/file-uploader/file-upload-progress.js +68 -45
- package/dist/components/common/file-uploader/file-upload.js +215 -187
- package/dist/components/common/file-uploader/upload-button.js +35 -22
- package/dist/components/common/histogram-plot.js +47 -58
- package/dist/components/common/icons/add.js +14 -27
- package/dist/components/common/icons/anchor_window.js +16 -18
- package/dist/components/common/icons/arrow-down-alt.js +14 -27
- package/dist/components/common/icons/arrow-down-solid.js +14 -27
- package/dist/components/common/icons/arrow-down.js +14 -27
- package/dist/components/common/icons/arrow-left.js +17 -30
- package/dist/components/common/icons/arrow-right.js +14 -27
- package/dist/components/common/icons/arrow-up-alt.js +15 -28
- package/dist/components/common/icons/arrow-up-solid.js +14 -27
- package/dist/components/common/icons/arrow-up.js +14 -27
- package/dist/components/common/icons/base.js +39 -57
- package/dist/components/common/icons/bug.js +16 -29
- package/dist/components/common/icons/cancel.js +14 -27
- package/dist/components/common/icons/checkmark.js +18 -31
- package/dist/components/common/icons/chevron-right.js +20 -33
- package/dist/components/common/icons/clipboard.js +15 -28
- package/dist/components/common/icons/clock.js +16 -29
- package/dist/components/common/icons/close.js +19 -32
- package/dist/components/common/icons/code-alt.js +16 -29
- package/dist/components/common/icons/copy.js +18 -31
- package/dist/components/common/icons/crosshairs.js +16 -29
- package/dist/components/common/icons/cube-3d.js +18 -31
- package/dist/components/common/icons/cursor-click.js +18 -31
- package/dist/components/common/icons/data-table.js +15 -28
- package/dist/components/common/icons/db.js +15 -28
- package/dist/components/common/icons/delete.js +16 -29
- package/dist/components/common/icons/docs.js +30 -43
- package/dist/components/common/icons/drag-n-drop.js +16 -29
- package/dist/components/common/icons/draw-polygon.js +33 -46
- package/dist/components/common/icons/email.js +18 -31
- package/dist/components/common/icons/expand.js +16 -29
- package/dist/components/common/icons/eye-seen.js +16 -29
- package/dist/components/common/icons/eye-unseen.js +16 -29
- package/dist/components/common/icons/file-type.js +35 -19
- package/dist/components/common/icons/file.js +14 -27
- package/dist/components/common/icons/files.js +14 -26
- package/dist/components/common/icons/filter-funnel.js +14 -27
- package/dist/components/common/icons/free-window.js +16 -18
- package/dist/components/common/icons/gear.js +16 -29
- package/dist/components/common/icons/hash.js +14 -27
- package/dist/components/common/icons/histogram.js +15 -27
- package/dist/components/common/icons/index.js +156 -156
- package/dist/components/common/icons/info.js +25 -38
- package/dist/components/common/icons/layers.js +14 -27
- package/dist/components/common/icons/left-arrow.js +16 -29
- package/dist/components/common/icons/legend.js +14 -27
- package/dist/components/common/icons/line-chart.js +14 -27
- package/dist/components/common/icons/login.js +17 -30
- package/dist/components/common/icons/logout.js +16 -29
- package/dist/components/common/icons/map-icon.js +18 -32
- package/dist/components/common/icons/map.js +18 -32
- package/dist/components/common/icons/messages.js +14 -27
- package/dist/components/common/icons/minus.js +14 -27
- package/dist/components/common/icons/order-by-dataset.js +15 -17
- package/dist/components/common/icons/order-by-list.js +7 -9
- package/dist/components/common/icons/pause.js +14 -27
- package/dist/components/common/icons/picture.js +14 -26
- package/dist/components/common/icons/pin.js +17 -30
- package/dist/components/common/icons/play.js +14 -27
- package/dist/components/common/icons/polygon.js +35 -48
- package/dist/components/common/icons/rectangle.js +36 -49
- package/dist/components/common/icons/reduce.js +17 -30
- package/dist/components/common/icons/reset.js +14 -27
- package/dist/components/common/icons/rocket.js +14 -27
- package/dist/components/common/icons/save.js +16 -29
- package/dist/components/common/icons/save2.js +20 -33
- package/dist/components/common/icons/search.js +16 -29
- package/dist/components/common/icons/settings.js +16 -29
- package/dist/components/common/icons/share.js +14 -27
- package/dist/components/common/icons/split.js +42 -55
- package/dist/components/common/icons/square-select.js +16 -29
- package/dist/components/common/icons/swap-horizontal.js +18 -31
- package/dist/components/common/icons/table.js +14 -27
- package/dist/components/common/icons/trash.js +16 -29
- package/dist/components/common/icons/upload.js +14 -27
- package/dist/components/common/icons/vert-dots.js +52 -65
- package/dist/components/common/icons/vert-three-dots.js +27 -40
- package/dist/components/common/icons/warning.js +26 -39
- package/dist/components/common/image-preview.js +71 -33
- package/dist/components/common/info-helper.js +36 -29
- package/dist/components/common/item-selector/accessor.js +7 -13
- package/dist/components/common/item-selector/chickleted-input.js +72 -56
- package/dist/components/common/item-selector/dropdown-list.js +182 -214
- package/dist/components/common/item-selector/item-selector-submenu.js +34 -55
- package/dist/components/common/item-selector/item-selector.js +183 -194
- package/dist/components/common/item-selector/typeahead.js +236 -248
- package/dist/components/common/line-chart.js +80 -58
- package/dist/components/common/loading-spinner.js +46 -31
- package/dist/components/common/logo.js +61 -48
- package/dist/components/common/map-layer-selector.js +31 -25
- package/dist/components/common/modal.js +167 -106
- package/dist/components/common/portaled.js +169 -189
- package/dist/components/common/progress-bar.js +27 -24
- package/dist/components/common/range-brush.js +176 -215
- package/dist/components/common/range-plot.js +52 -63
- package/dist/components/common/range-slider.js +206 -231
- package/dist/components/common/slider/mouse-event.js +59 -66
- package/dist/components/common/slider/slider-bar-handle.js +51 -61
- package/dist/components/common/slider/slider-handle.js +127 -102
- package/dist/components/common/slider/slider.js +143 -162
- package/dist/components/common/styled-components.js +518 -256
- package/dist/components/common/switch.js +11 -11
- package/dist/components/common/time-range-slider-time-title.js +49 -32
- package/dist/components/common/time-range-slider.js +56 -45
- package/dist/components/common/time-slider-marker.js +71 -52
- package/dist/components/common/tippy-tooltip.js +89 -59
- package/dist/components/common/toolbar-item.js +53 -45
- package/dist/components/common/toolbar.js +24 -18
- package/dist/components/common/vertical-toolbar.js +13 -6
- package/dist/components/container.js +87 -119
- package/dist/components/context.js +6 -8
- package/dist/components/editor/constants.js +4 -4
- package/dist/components/editor/editor.js +122 -157
- package/dist/components/editor/feature-action-panel.js +52 -59
- package/dist/components/editor/feature-styles.js +46 -29
- package/dist/components/editor/handle-style.js +38 -29
- package/dist/components/filters/components.js +8 -4
- package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +33 -43
- package/dist/components/filters/filter-panels/multi-select-filter-panel.js +20 -21
- package/dist/components/filters/filter-panels/new-filter-panel.js +24 -31
- package/dist/components/filters/filter-panels/polygon-filter-panel.js +26 -31
- package/dist/components/filters/filter-panels/range-filter-panel.js +20 -21
- package/dist/components/filters/filter-panels/single-select-filter-panel.js +20 -21
- package/dist/components/filters/filter-panels/time-range-filter-panel.js +28 -31
- package/dist/components/filters/index.js +10 -10
- package/dist/components/filters/multi-select-filter.js +11 -9
- package/dist/components/filters/polygon-filter.js +26 -41
- package/dist/components/filters/range-filter.js +9 -7
- package/dist/components/filters/single-select-filter.js +11 -13
- package/dist/components/filters/time-range-filter.js +16 -14
- package/dist/components/filters/time-widget.js +125 -84
- package/dist/components/geocoder/geocoder.js +158 -177
- package/dist/components/geocoder-panel.js +66 -87
- package/dist/components/index.js +328 -329
- package/dist/components/injector.js +44 -63
- package/dist/components/kepler-gl.js +325 -361
- package/dist/components/map/coordinate-info.js +18 -16
- package/dist/components/map/layer-hover-info.js +108 -86
- package/dist/components/map/layer-selector-panel.js +50 -48
- package/dist/components/map/locale-panel.js +38 -44
- package/dist/components/map/map-control-panel.js +70 -47
- package/dist/components/map/map-control-toolbar.js +9 -6
- package/dist/components/map/map-control-tooltip.js +10 -8
- package/dist/components/map/map-control.js +35 -27
- package/dist/components/map/map-draw-panel.js +38 -48
- package/dist/components/map/map-legend-panel.js +47 -50
- package/dist/components/map/map-legend.js +133 -116
- package/dist/components/map/map-popover.js +155 -100
- package/dist/components/map/split-map-button.js +30 -34
- package/dist/components/map/toggle-3d-button.js +25 -27
- package/dist/components/map-container.js +313 -359
- package/dist/components/maps-layout.js +16 -26
- package/dist/components/modal-container.js +359 -355
- package/dist/components/modals/add-map-style-modal.js +233 -194
- package/dist/components/modals/cloud-tile.js +96 -67
- package/dist/components/modals/data-table-modal.js +155 -152
- package/dist/components/modals/delete-data-modal.js +20 -20
- package/dist/components/modals/error-display.js +9 -7
- package/dist/components/modals/export-data-modal.js +118 -140
- package/dist/components/modals/export-image-modal.js +82 -69
- package/dist/components/modals/export-map-modal/components.js +20 -18
- package/dist/components/modals/export-map-modal/export-html-map.js +82 -74
- package/dist/components/modals/export-map-modal/export-json-map.js +65 -45
- package/dist/components/modals/export-map-modal/export-map-modal.js +42 -47
- package/dist/components/modals/image-modal-container.js +20 -21
- package/dist/components/modals/load-data-modal.js +28 -30
- package/dist/components/modals/load-storage-map.js +277 -178
- package/dist/components/modals/loading-dialog.js +41 -19
- package/dist/components/modals/modal-dialog.js +4 -6
- package/dist/components/modals/modal-tabs.js +83 -48
- package/dist/components/modals/overwrite-map-modal.js +41 -30
- package/dist/components/modals/provider-modal-container.js +23 -42
- package/dist/components/modals/save-map-modal.js +107 -83
- package/dist/components/modals/share-map-modal.js +101 -95
- package/dist/components/modals/status-panel.js +63 -43
- package/dist/components/modals/storage-map-viewer.js +133 -70
- package/dist/components/notification-panel/notification-item.js +94 -97
- package/dist/components/notification-panel.js +35 -43
- package/dist/components/performance.js +49 -53
- package/dist/components/plot-container.js +151 -169
- package/dist/components/side-panel/cloud-storage-dropdown.js +13 -15
- package/dist/components/side-panel/common/dataset-info.js +16 -12
- package/dist/components/side-panel/common/dataset-tag.js +48 -27
- package/dist/components/side-panel/common/dataset-title.js +119 -116
- package/dist/components/side-panel/common/source-data-catalog.js +31 -32
- package/dist/components/side-panel/common/source-data-selector.js +52 -77
- package/dist/components/side-panel/custom-panel.js +6 -8
- package/dist/components/side-panel/filter-manager.js +48 -62
- package/dist/components/side-panel/filter-panel/filter-panel-header.js +35 -25
- package/dist/components/side-panel/filter-panel/filter-panel.js +46 -64
- package/dist/components/side-panel/interaction-manager.js +20 -18
- package/dist/components/side-panel/interaction-panel/brush-config.js +17 -17
- package/dist/components/side-panel/interaction-panel/interaction-panel.js +76 -95
- package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +118 -143
- package/dist/components/side-panel/interaction-panel/tooltip-config.js +95 -76
- package/dist/components/side-panel/layer-manager.js +105 -115
- package/dist/components/side-panel/layer-panel/add-layer-button.js +92 -54
- package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +5 -5
- package/dist/components/side-panel/layer-panel/color-palette.js +50 -37
- package/dist/components/side-panel/layer-panel/color-range-selector.js +196 -207
- package/dist/components/side-panel/layer-panel/color-selector.js +104 -110
- package/dist/components/side-panel/layer-panel/column-selector.js +34 -22
- package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +4 -4
- package/dist/components/side-panel/layer-panel/custom-palette.js +248 -205
- package/dist/components/side-panel/layer-panel/custom-picker.js +51 -69
- package/dist/components/side-panel/layer-panel/dataset-layer-group.js +37 -42
- package/dist/components/side-panel/layer-panel/dataset-layer-section.js +31 -27
- package/dist/components/side-panel/layer-panel/dataset-section.js +45 -35
- package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +14 -13
- package/dist/components/side-panel/layer-panel/hex-column-config.js +32 -55
- package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +5 -5
- package/dist/components/side-panel/layer-panel/layer-column-config.js +42 -46
- package/dist/components/side-panel/layer-panel/layer-config-group.js +178 -144
- package/dist/components/side-panel/layer-panel/layer-configurator.js +826 -830
- package/dist/components/side-panel/layer-panel/layer-list.js +101 -94
- package/dist/components/side-panel/layer-panel/layer-panel-header.js +124 -82
- package/dist/components/side-panel/layer-panel/layer-panel.js +111 -105
- package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +67 -58
- package/dist/components/side-panel/layer-panel/layer-type-list-item.js +47 -32
- package/dist/components/side-panel/layer-panel/layer-type-selector.js +30 -41
- package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +42 -43
- package/dist/components/side-panel/layer-panel/panel-view-list-toggle.js +55 -57
- package/dist/components/side-panel/layer-panel/single-color-palette.js +48 -33
- package/dist/components/side-panel/layer-panel/text-label-panel.js +81 -116
- package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +88 -102
- package/dist/components/side-panel/layer-panel/vis-config-slider.js +99 -85
- package/dist/components/side-panel/layer-panel/vis-config-switch.js +38 -29
- package/dist/components/side-panel/map-manager.js +70 -89
- package/dist/components/side-panel/map-style-panel/map-layer-selector.js +72 -60
- package/dist/components/side-panel/map-style-panel/map-style-selector.js +64 -42
- package/dist/components/side-panel/panel-dropdown.js +21 -37
- package/dist/components/side-panel/panel-header-action.js +60 -65
- package/dist/components/side-panel/panel-header.js +165 -184
- package/dist/components/side-panel/panel-tab.js +35 -29
- package/dist/components/side-panel/panel-title.js +15 -18
- package/dist/components/side-panel/panel-toggle.js +30 -31
- package/dist/components/side-panel/side-bar.js +100 -91
- package/dist/components/side-panel.js +108 -123
- package/dist/connect/keplergl-connect.js +17 -26
- package/dist/connect/with-local-selector.js +31 -63
- package/dist/constants/action-types.js +113 -115
- package/dist/constants/color-palette.js +14 -16
- package/dist/constants/color-ranges.js +23 -28
- package/dist/constants/custom-color-ranges.js +12 -12
- package/dist/constants/default-settings.js +323 -254
- package/dist/constants/index.js +63 -63
- package/dist/constants/keyevent.js +4 -4
- package/dist/constants/tooltip.js +5 -5
- package/dist/constants/user-feedbacks.js +9 -5
- package/dist/constants/user-guides.js +10 -10
- package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +37 -63
- package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +52 -56
- package/dist/deckgl-layers/cluster-layer/cluster-layer.js +165 -168
- package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +24 -43
- package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.d.ts +2 -2
- package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +27 -40
- package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +27 -40
- package/dist/deckgl-layers/layer-utils/cluster-utils.js +60 -68
- package/dist/deckgl-layers/layer-utils/cpu-aggregator.d.ts +4 -4
- package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +281 -282
- package/dist/deckgl-layers/layer-utils/shader-utils.js +2 -2
- package/dist/deckgl-layers/line-layer/line-layer.js +62 -70
- package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +37 -51
- package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +65 -85
- package/dist/index.js +15 -16
- package/dist/layers/aggregation-layer.js +299 -331
- package/dist/layers/arc-layer/arc-layer-icon.js +27 -41
- package/dist/layers/arc-layer/arc-layer.js +174 -201
- package/dist/layers/base-layer.d.ts +1 -1
- package/dist/layers/base-layer.js +1371 -1544
- package/dist/layers/cluster-layer/cluster-layer-icon.js +30 -44
- package/dist/layers/cluster-layer/cluster-layer.js +89 -103
- package/dist/layers/default-layer-icon.js +39 -53
- package/dist/layers/geojson-layer/geojson-layer-icon.js +42 -55
- package/dist/layers/geojson-layer/geojson-layer.js +292 -353
- package/dist/layers/geojson-layer/geojson-utils.js +31 -36
- package/dist/layers/grid-layer/grid-layer-icon.js +87 -100
- package/dist/layers/grid-layer/grid-layer.js +51 -61
- package/dist/layers/grid-layer/grid-utils.js +13 -9
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +21 -35
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +225 -260
- package/dist/layers/h3-hexagon-layer/h3-utils.js +16 -16
- package/dist/layers/heatmap-layer/heatmap-layer-icon.js +39 -52
- package/dist/layers/heatmap-layer/heatmap-layer.js +140 -171
- package/dist/layers/hexagon-layer/hexagon-layer-icon.js +51 -64
- package/dist/layers/hexagon-layer/hexagon-layer.js +49 -63
- package/dist/layers/hexagon-layer/hexagon-utils.js +15 -14
- package/dist/layers/icon-layer/icon-info-modal.js +82 -75
- package/dist/layers/icon-layer/icon-layer-icon.js +24 -37
- package/dist/layers/icon-layer/icon-layer.js +274 -303
- package/dist/layers/index.js +43 -29
- package/dist/layers/layer-factory.js +25 -41
- package/dist/layers/layer-text-label.js +21 -23
- package/dist/layers/layer-update.js +16 -18
- package/dist/layers/line-layer/line-layer-icon.js +30 -43
- package/dist/layers/line-layer/line-layer.js +123 -142
- package/dist/layers/mapbox-utils.js +61 -62
- package/dist/layers/mapboxgl-layer.js +124 -169
- package/dist/layers/point-layer/point-layer-icon.js +45 -59
- package/dist/layers/point-layer/point-layer.d.ts +2 -2
- package/dist/layers/point-layer/point-layer.js +355 -386
- package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +208 -238
- package/dist/layers/s2-geometry-layer/s2-layer-icon.js +21 -35
- package/dist/layers/s2-geometry-layer/s2-utils.js +9 -8
- package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +24 -25
- package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +102 -115
- package/dist/layers/scenegraph-layer/scenegraph-layer.js +148 -172
- package/dist/layers/trip-layer/trip-info-modal.js +50 -30
- package/dist/layers/trip-layer/trip-layer-icon.js +40 -53
- package/dist/layers/trip-layer/trip-layer.js +239 -307
- package/dist/layers/trip-layer/trip-utils.js +34 -50
- package/dist/layers/types.js +2 -2
- package/dist/localization/formatted-message.js +8 -10
- package/dist/localization/index.js +7 -7
- package/dist/localization/locales.js +6 -9
- package/dist/localization/messages.js +13 -10
- package/dist/localization/translations/ca.js +11 -13
- package/dist/localization/translations/cn.js +11 -13
- package/dist/localization/translations/en.js +11 -13
- package/dist/localization/translations/es.js +11 -13
- package/dist/localization/translations/fi.js +11 -13
- package/dist/localization/translations/ja.js +11 -13
- package/dist/localization/translations/pt.js +11 -13
- package/dist/localization/translations/ru.js +11 -13
- package/dist/middleware/index.js +3 -5
- package/dist/processors/data-processor.js +164 -201
- package/dist/processors/file-handler.js +111 -233
- package/dist/processors/index.js +4 -4
- package/dist/reducers/combined-updaters.js +41 -41
- package/dist/reducers/composer-helpers.js +20 -45
- package/dist/reducers/composers.js +9 -8
- package/dist/reducers/core.js +31 -35
- package/dist/reducers/index.js +21 -22
- package/dist/reducers/map-state-updaters.js +65 -47
- package/dist/reducers/map-state.js +23 -15
- package/dist/reducers/map-style-updaters.js +233 -159
- package/dist/reducers/map-style.js +30 -16
- package/dist/reducers/provider-state-updaters.js +217 -229
- package/dist/reducers/provider-state.js +29 -17
- package/dist/reducers/root.js +86 -58
- package/dist/reducers/ui-state-updaters.js +337 -218
- package/dist/reducers/ui-state.js +45 -16
- package/dist/reducers/vis-state-merger.js +205 -209
- package/dist/reducers/vis-state-selectors.js +5 -19
- package/dist/reducers/vis-state-updaters.js +1003 -876
- package/dist/reducers/vis-state.js +75 -16
- package/dist/schemas/dataset-schema.js +84 -108
- package/dist/schemas/index.js +28 -29
- package/dist/schemas/map-state-schema.js +21 -18
- package/dist/schemas/map-style-schema.js +47 -55
- package/dist/schemas/schema-manager.js +147 -161
- package/dist/schemas/schema-utils.js +8 -9
- package/dist/schemas/schema.js +72 -87
- package/dist/schemas/versions.js +3 -3
- package/dist/schemas/vis-state-schema.js +441 -583
- package/dist/styles/base.js +1217 -1021
- package/dist/styles/index.js +3 -3
- package/dist/styles/media-breakpoints.js +23 -18
- package/dist/tasks/tasks.js +36 -39
- package/dist/templates/export-map-html.js +233 -4
- package/dist/utils/aggregate-utils.js +13 -16
- package/dist/utils/color-utils.js +29 -37
- package/dist/utils/custom-scales.js +3 -3
- package/dist/utils/data-scale-utils.js +6 -13
- package/dist/utils/data-utils.js +60 -83
- package/dist/utils/dataset-utils.js +48 -77
- package/dist/utils/dom-to-image.js +108 -163
- package/dist/utils/dom-utils.js +88 -105
- package/dist/utils/export-utils.js +116 -103
- package/dist/utils/filter-utils.js +379 -374
- package/dist/utils/gl-utils.js +16 -15
- package/dist/utils/gpu-filter-utils.js +54 -73
- package/dist/utils/index.js +47 -48
- package/dist/utils/interaction-utils.js +53 -46
- package/dist/utils/layer-utils.js +89 -78
- package/dist/utils/locale-utils.js +24 -16
- package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +67 -76
- package/dist/utils/map-style-utils/mapbox-utils.js +4 -3
- package/dist/utils/mapbox-utils.js +3 -4
- package/dist/utils/notifications-utils.js +33 -38
- package/dist/utils/observe-dimensions.js +42 -54
- package/dist/utils/projection-utils.js +14 -11
- package/dist/utils/split-map-utils.js +30 -33
- package/dist/utils/table-utils/data-container-utils.js +15 -14
- package/dist/utils/table-utils/data-row.js +58 -65
- package/dist/utils/table-utils/index.js +2 -2
- package/dist/utils/table-utils/indexed-data-container.js +105 -173
- package/dist/utils/table-utils/kepler-table.js +362 -386
- package/dist/utils/table-utils/row-data-container.js +99 -164
- package/dist/utils/utils.js +29 -30
- package/package.json +21 -21
- package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.ts +2 -2
- package/src/deckgl-layers/layer-utils/cpu-aggregator.ts +21 -11
- package/src/layers/base-layer.ts +17 -10
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.FieldListItemFactoryFactory = FieldListItemFactoryFactory;
|
|
9
|
-
exports
|
|
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"));
|
|
8
|
+
exports.default = void 0;
|
|
15
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
19
12
|
var _reselect = require("reselect");
|
|
@@ -23,7 +16,9 @@ var _utils = require("../../utils/utils");
|
|
|
23
16
|
var _dataUtils = require("../../utils/data-utils");
|
|
24
17
|
var _fieldToken = _interopRequireDefault(require("../common/field-token"));
|
|
25
18
|
var _defaultSettings = require("../../constants/default-settings");
|
|
26
|
-
var
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
27
22
|
//
|
|
28
23
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
29
24
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -42,43 +37,44 @@ var _templateObject, _templateObject2; // Copyright (c) 2022 Uber Technologies,
|
|
|
42
37
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
43
38
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
44
39
|
// THE SOFTWARE.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
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; }
|
|
48
|
-
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; }
|
|
49
|
-
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)); }
|
|
50
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
51
|
-
var defaultDisplayOption = function defaultDisplayOption(d) {
|
|
40
|
+
|
|
41
|
+
const defaultDisplayOption = d => {
|
|
52
42
|
var _FIELD_AGGREGATORS$fi;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return a.id === aggregator;
|
|
57
|
-
})) === null || _FIELD_AGGREGATORS$fi === void 0 ? void 0 : _FIELD_AGGREGATORS$fi.displayName;
|
|
43
|
+
const optionName = d.displayName || d.name;
|
|
44
|
+
const aggregator = d.aggregator;
|
|
45
|
+
const aggegatorDisplay = (_FIELD_AGGREGATORS$fi = _defaultSettings.FIELD_AGGREGATORS.find(a => a.id === aggregator)) === null || _FIELD_AGGREGATORS$fi === void 0 ? void 0 : _FIELD_AGGREGATORS$fi.displayName;
|
|
58
46
|
if (aggegatorDisplay) {
|
|
59
|
-
return
|
|
47
|
+
return `${aggegatorDisplay}(${optionName})`;
|
|
60
48
|
}
|
|
61
49
|
return optionName;
|
|
62
50
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
51
|
+
const defaultValueOption = d => d.name;
|
|
52
|
+
const StyledToken = _styledComponents.default.div`
|
|
53
|
+
display: inline-block;
|
|
54
|
+
margin: 0 0 0 auto;
|
|
55
|
+
`;
|
|
56
|
+
const StyledFieldListItem = _styledComponents.default.div`
|
|
57
|
+
display: flex;
|
|
58
|
+
flex: 1 1 auto;
|
|
59
|
+
margin-right: 10px;
|
|
60
|
+
line-height: 0;
|
|
61
|
+
align-items: center;
|
|
62
|
+
`;
|
|
63
|
+
FieldListItemFactoryFactory.deps = [_fieldToken.default];
|
|
69
64
|
// custom list Item
|
|
70
65
|
function FieldListItemFactoryFactory(FieldToken) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
displayOption =
|
|
77
|
-
|
|
66
|
+
const FieldListItemFactory = function () {
|
|
67
|
+
let showToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
68
|
+
const FieldListItem = _ref => {
|
|
69
|
+
let {
|
|
70
|
+
value,
|
|
71
|
+
displayOption = defaultDisplayOption
|
|
72
|
+
} = _ref;
|
|
73
|
+
return /*#__PURE__*/_react.default.createElement(StyledFieldListItem, {
|
|
78
74
|
className: "field-selector_list-item"
|
|
79
|
-
}, /*#__PURE__*/_react
|
|
75
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
80
76
|
className: _dropdownList.classList.listItemAnchor
|
|
81
|
-
}, displayOption(value)), showToken && value.type ? /*#__PURE__*/_react
|
|
77
|
+
}, displayOption(value)), showToken && value.type ? /*#__PURE__*/_react.default.createElement(StyledToken, null, /*#__PURE__*/_react.default.createElement(FieldToken, {
|
|
82
78
|
type: value.type
|
|
83
79
|
})) : null);
|
|
84
80
|
};
|
|
@@ -86,118 +82,82 @@ function FieldListItemFactoryFactory(FieldToken) {
|
|
|
86
82
|
};
|
|
87
83
|
return FieldListItemFactory;
|
|
88
84
|
}
|
|
89
|
-
|
|
90
|
-
return /*#__PURE__*/_react["default"].createElement("div", null, "Suggested Field");
|
|
91
|
-
};
|
|
85
|
+
const SuggestedFieldHeader = () => /*#__PURE__*/_react.default.createElement("div", null, "Suggested Field");
|
|
92
86
|
function FieldSelectorFactory(FieldListItemFactory) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
(0,
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
(0, _defineProperty2
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return props.aggregator;
|
|
116
|
-
});
|
|
117
|
-
(0, _defineProperty2["default"])(_this, "filterFieldTypesSelector", function (props) {
|
|
118
|
-
return props.filterFieldTypes;
|
|
119
|
-
});
|
|
120
|
-
(0, _defineProperty2["default"])(_this, "showTokenSelector", function (props) {
|
|
121
|
-
return props.showToken;
|
|
122
|
-
});
|
|
123
|
-
(0, _defineProperty2["default"])(_this, "withAggregatorSelector", function (props) {
|
|
124
|
-
return props.withAggregator;
|
|
125
|
-
});
|
|
126
|
-
(0, _defineProperty2["default"])(_this, "selectedItemsSelector", (0, _reselect.createSelector)(_this.fieldsSelector, _this.valueSelector, _this.aggregatorSelector, function (fields, value, aggregator) {
|
|
127
|
-
return (0, _utils.toArray)(value).map(function (d) {
|
|
128
|
-
var field = fields.find(function (f) {
|
|
129
|
-
return (0, _dataUtils.notNullorUndefined)(d) && d.name ? d.name === defaultValueOption(f) : d === defaultValueOption(f);
|
|
130
|
-
});
|
|
131
|
-
if (field && aggregator) {
|
|
132
|
-
return _objectSpread(_objectSpread({}, field), {}, {
|
|
133
|
-
aggregator: aggregator
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
return field;
|
|
137
|
-
}).filter(function (d) {
|
|
138
|
-
return d;
|
|
139
|
-
});
|
|
140
|
-
}));
|
|
141
|
-
(0, _defineProperty2["default"])(_this, "fieldOptionsSelector", (0, _reselect.createSelector)(_this.filteredFieldsSelector, _this.valueSelector, _this.filterFieldTypesSelector, _this.aggregatorSelector, _this.withAggregatorSelector, function (fields, value, filterFieldTypes, aggregator, withAggregator) {
|
|
142
|
-
var fieldsWithAggregators = fields.map(function (field) {
|
|
87
|
+
class FieldSelector extends _react.Component {
|
|
88
|
+
constructor() {
|
|
89
|
+
super(...arguments);
|
|
90
|
+
(0, _defineProperty2.default)(this, "fieldsSelector", props => props.fields);
|
|
91
|
+
(0, _defineProperty2.default)(this, "filteredFieldsSelector", props => props.withAggregator ? props.fields : props.fields.filter(field => !(0, _utils.toArray)(props.value).find(d => d.name ? d.name === field.name : d === field.name)));
|
|
92
|
+
(0, _defineProperty2.default)(this, "valueSelector", props => props.value);
|
|
93
|
+
(0, _defineProperty2.default)(this, "aggregatorSelector", props => props.aggregator);
|
|
94
|
+
(0, _defineProperty2.default)(this, "filterFieldTypesSelector", props => props.filterFieldTypes);
|
|
95
|
+
(0, _defineProperty2.default)(this, "showTokenSelector", props => props.showToken);
|
|
96
|
+
(0, _defineProperty2.default)(this, "withAggregatorSelector", props => props.withAggregator);
|
|
97
|
+
(0, _defineProperty2.default)(this, "selectedItemsSelector", (0, _reselect.createSelector)(this.fieldsSelector, this.valueSelector, this.aggregatorSelector, (fields, value, aggregator) => (0, _utils.toArray)(value).map(d => {
|
|
98
|
+
const field = fields.find(f => (0, _dataUtils.notNullorUndefined)(d) && d.name ? d.name === defaultValueOption(f) : d === defaultValueOption(f));
|
|
99
|
+
if (field && aggregator) {
|
|
100
|
+
return {
|
|
101
|
+
...field,
|
|
102
|
+
aggregator
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return field;
|
|
106
|
+
}).filter(d => d)));
|
|
107
|
+
(0, _defineProperty2.default)(this, "fieldOptionsSelector", (0, _reselect.createSelector)(this.filteredFieldsSelector, this.valueSelector, this.filterFieldTypesSelector, this.aggregatorSelector, this.withAggregatorSelector, (fields, value, filterFieldTypes, aggregator, withAggregator) => {
|
|
108
|
+
const fieldsWithAggregators = fields.map(field => {
|
|
143
109
|
var _FIELD_TYPES_AGGREGAT;
|
|
144
|
-
return
|
|
145
|
-
|
|
146
|
-
|
|
110
|
+
return {
|
|
111
|
+
...field,
|
|
112
|
+
...(withAggregator && {
|
|
113
|
+
aggregators: (_FIELD_TYPES_AGGREGAT = _defaultSettings.FIELD_TYPES_AGGREGATORS[field.type]) === null || _FIELD_TYPES_AGGREGAT === void 0 ? void 0 : _FIELD_TYPES_AGGREGAT.filter(agg => {
|
|
114
|
+
return field.id === value ? agg !== aggregator : true;
|
|
115
|
+
})
|
|
147
116
|
})
|
|
148
|
-
}
|
|
117
|
+
};
|
|
149
118
|
});
|
|
150
119
|
if (!filterFieldTypes) {
|
|
151
120
|
return fieldsWithAggregators;
|
|
152
121
|
}
|
|
153
|
-
|
|
154
|
-
return fieldsWithAggregators.filter(
|
|
155
|
-
return filters.includes(f.type);
|
|
156
|
-
});
|
|
122
|
+
const filters = Array.isArray(filterFieldTypes) ? filterFieldTypes : [filterFieldTypes];
|
|
123
|
+
return fieldsWithAggregators.filter(f => filters.includes(f.type));
|
|
157
124
|
}));
|
|
158
|
-
(0, _defineProperty2
|
|
159
|
-
return _this;
|
|
125
|
+
(0, _defineProperty2.default)(this, "fieldListItemSelector", (0, _reselect.createSelector)(this.showTokenSelector, FieldListItemFactory));
|
|
160
126
|
}
|
|
161
|
-
(
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
onFocus: this.props.onFocus
|
|
192
|
-
}));
|
|
193
|
-
}
|
|
194
|
-
}]);
|
|
195
|
-
}(_react.Component);
|
|
196
|
-
(0, _defineProperty2["default"])(FieldSelector, "defaultProps", {
|
|
127
|
+
render() {
|
|
128
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
129
|
+
className: "field-selector"
|
|
130
|
+
}, /*#__PURE__*/_react.default.createElement(_itemSelector.default, {
|
|
131
|
+
getOptionValue: d => d,
|
|
132
|
+
closeOnSelect: this.props.closeOnSelect,
|
|
133
|
+
displayOption: defaultDisplayOption,
|
|
134
|
+
filterOption: "displayName",
|
|
135
|
+
fixedOptions: this.props.suggested,
|
|
136
|
+
inputTheme: this.props.inputTheme,
|
|
137
|
+
size: this.props.size,
|
|
138
|
+
isError: this.props.error,
|
|
139
|
+
isLoading: this.props.isLoading,
|
|
140
|
+
selectedItems: this.selectedItemsSelector(this.props),
|
|
141
|
+
erasable: this.props.erasable,
|
|
142
|
+
options: this.fieldOptionsSelector(this.props),
|
|
143
|
+
multiSelect: this.props.multiSelect,
|
|
144
|
+
placeholder: this.props.placeholder,
|
|
145
|
+
placement: this.props.placement,
|
|
146
|
+
onChange: this.props.onSelect,
|
|
147
|
+
DropDownLineItemRenderComponent: this.fieldListItemSelector(this.props),
|
|
148
|
+
DropdownHeaderComponent: this.props.suggested ? SuggestedFieldHeader : null,
|
|
149
|
+
CustomChickletComponent: this.props.CustomChickletComponent,
|
|
150
|
+
withSubOptions: this.props.withAggregator,
|
|
151
|
+
onBlur: this.props.onBlur,
|
|
152
|
+
onFocus: this.props.onFocus
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
(0, _defineProperty2.default)(FieldSelector, "defaultProps", {
|
|
197
157
|
erasable: true,
|
|
198
158
|
error: false,
|
|
199
159
|
fields: [],
|
|
200
|
-
onSelect:
|
|
160
|
+
onSelect: () => {},
|
|
201
161
|
placement: 'bottom',
|
|
202
162
|
value: null,
|
|
203
163
|
aggregator: null,
|
|
@@ -210,5 +170,5 @@ function FieldSelectorFactory(FieldListItemFactory) {
|
|
|
210
170
|
return FieldSelector;
|
|
211
171
|
}
|
|
212
172
|
FieldSelectorFactory.deps = [FieldListItemFactoryFactory];
|
|
213
|
-
var _default = exports
|
|
214
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVzZWxlY3QiLCJfaXRlbVNlbGVjdG9yIiwiX2Ryb3Bkb3duTGlzdCIsIl91dGlscyIsIl9kYXRhVXRpbHMiLCJfZmllbGRUb2tlbiIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJkZWZhdWx0RGlzcGxheU9wdGlvbiIsImQiLCJfRklFTERfQUdHUkVHQVRPUlMkZmkiLCJvcHRpb25OYW1lIiwiZGlzcGxheU5hbWUiLCJuYW1lIiwiYWdncmVnYXRvciIsImFnZ2VnYXRvckRpc3BsYXkiLCJGSUVMRF9BR0dSRUdBVE9SUyIsImZpbmQiLCJpZCIsImNvbmNhdCIsImRlZmF1bHRWYWx1ZU9wdGlvbiIsIlN0eWxlZFRva2VuIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJTdHlsZWRGaWVsZExpc3RJdGVtIiwiRmllbGRMaXN0SXRlbUZhY3RvcnlGYWN0b3J5IiwiZGVwcyIsIkZpZWxkVG9rZW5GYWN0b3J5IiwiRmllbGRUb2tlbiIsIkZpZWxkTGlzdEl0ZW1GYWN0b3J5Iiwic2hvd1Rva2VuIiwidW5kZWZpbmVkIiwiRmllbGRMaXN0SXRlbSIsIl9yZWYiLCJ2YWx1ZSIsIl9yZWYkZGlzcGxheU9wdGlvbiIsImRpc3BsYXlPcHRpb24iLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiY2xhc3NMaXN0IiwibGlzdEl0ZW1BbmNob3IiLCJ0eXBlIiwiU3VnZ2VzdGVkRmllbGRIZWFkZXIiLCJGaWVsZFNlbGVjdG9yRmFjdG9yeSIsIkZpZWxkU2VsZWN0b3IiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJwcm9wcyIsImZpZWxkcyIsIndpdGhBZ2dyZWdhdG9yIiwiZmllbGQiLCJ0b0FycmF5IiwiZmlsdGVyRmllbGRUeXBlcyIsImNyZWF0ZVNlbGVjdG9yIiwiZmllbGRzU2VsZWN0b3IiLCJ2YWx1ZVNlbGVjdG9yIiwiYWdncmVnYXRvclNlbGVjdG9yIiwibWFwIiwiZiIsIm5vdE51bGxvclVuZGVmaW5lZCIsImZpbHRlcmVkRmllbGRzU2VsZWN0b3IiLCJmaWx0ZXJGaWVsZFR5cGVzU2VsZWN0b3IiLCJ3aXRoQWdncmVnYXRvclNlbGVjdG9yIiwiZmllbGRzV2l0aEFnZ3JlZ2F0b3JzIiwiX0ZJRUxEX1RZUEVTX0FHR1JFR0FUIiwiYWdncmVnYXRvcnMiLCJGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyIsImFnZyIsImZpbHRlcnMiLCJpc0FycmF5IiwiaW5jbHVkZXMiLCJzaG93VG9rZW5TZWxlY3RvciIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwicmVuZGVyIiwiZ2V0T3B0aW9uVmFsdWUiLCJjbG9zZU9uU2VsZWN0IiwiZmlsdGVyT3B0aW9uIiwiZml4ZWRPcHRpb25zIiwic3VnZ2VzdGVkIiwiaW5wdXRUaGVtZSIsInNpemUiLCJpc0Vycm9yIiwiZXJyb3IiLCJpc0xvYWRpbmciLCJzZWxlY3RlZEl0ZW1zIiwic2VsZWN0ZWRJdGVtc1NlbGVjdG9yIiwiZXJhc2FibGUiLCJvcHRpb25zIiwiZmllbGRPcHRpb25zU2VsZWN0b3IiLCJtdWx0aVNlbGVjdCIsInBsYWNlaG9sZGVyIiwicGxhY2VtZW50Iiwib25DaGFuZ2UiLCJvblNlbGVjdCIsIkRyb3BEb3duTGluZUl0ZW1SZW5kZXJDb21wb25lbnQiLCJmaWVsZExpc3RJdGVtU2VsZWN0b3IiLCJEcm9wZG93bkhlYWRlckNvbXBvbmVudCIsIkN1c3RvbUNoaWNrbGV0Q29tcG9uZW50Iiwid2l0aFN1Yk9wdGlvbnMiLCJvbkJsdXIiLCJvbkZvY3VzIiwiQ29tcG9uZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29tbW9uL2ZpZWxkLXNlbGVjdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIENvbXBvbmVudFR5cGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuXG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJy4vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7Y2xhc3NMaXN0fSBmcm9tICcuL2l0ZW0tc2VsZWN0b3IvZHJvcGRvd24tbGlzdCc7XG5pbXBvcnQge3RvQXJyYXl9IGZyb20gJ3V0aWxzL3V0aWxzJztcbmltcG9ydCB7bm90TnVsbG9yVW5kZWZpbmVkfSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcbmltcG9ydCBGaWVsZFRva2VuRmFjdG9yeSBmcm9tICcuLi9jb21tb24vZmllbGQtdG9rZW4nO1xuaW1wb3J0IHtGaWVsZH0gZnJvbSAndXRpbHMvdGFibGUtdXRpbHMva2VwbGVyLXRhYmxlJztcbmltcG9ydCB7RklFTERfVFlQRVNfQUdHUkVHQVRPUlMsIEZJRUxEX0FHR1JFR0FUT1JTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmNvbnN0IGRlZmF1bHREaXNwbGF5T3B0aW9uID0gZCA9PiB7XG4gIGNvbnN0IG9wdGlvbk5hbWUgPSBkLmRpc3BsYXlOYW1lIHx8IGQubmFtZTtcbiAgY29uc3QgYWdncmVnYXRvciA9IGQuYWdncmVnYXRvcjtcbiAgY29uc3QgYWdnZWdhdG9yRGlzcGxheSA9IEZJRUxEX0FHR1JFR0FUT1JTLmZpbmQoYSA9PiBhLmlkID09PSBhZ2dyZWdhdG9yKT8uZGlzcGxheU5hbWU7XG4gIGlmIChhZ2dlZ2F0b3JEaXNwbGF5KSB7XG4gICAgcmV0dXJuIGAke2FnZ2VnYXRvckRpc3BsYXl9KCR7b3B0aW9uTmFtZX0pYDtcbiAgfVxuICByZXR1cm4gb3B0aW9uTmFtZTtcbn07XG5jb25zdCBkZWZhdWx0VmFsdWVPcHRpb24gPSBkID0+IGQubmFtZTtcblxuY29uc3QgU3R5bGVkVG9rZW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcbmA7XG5jb25zdCBTdHlsZWRGaWVsZExpc3RJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5GaWVsZExpc3RJdGVtRmFjdG9yeUZhY3RvcnkuZGVwcyA9IFtGaWVsZFRva2VuRmFjdG9yeV07XG4vLyBjdXN0b20gbGlzdCBJdGVtXG5leHBvcnQgZnVuY3Rpb24gRmllbGRMaXN0SXRlbUZhY3RvcnlGYWN0b3J5KEZpZWxkVG9rZW4pIHtcbiAgY29uc3QgRmllbGRMaXN0SXRlbUZhY3RvcnkgPSAoc2hvd1Rva2VuID0gdHJ1ZSkgPT4ge1xuICAgIGNvbnN0IEZpZWxkTGlzdEl0ZW0gPSAoe3ZhbHVlLCBkaXNwbGF5T3B0aW9uID0gZGVmYXVsdERpc3BsYXlPcHRpb259KSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkRmllbGRMaXN0SXRlbSBjbGFzc05hbWU9XCJmaWVsZC1zZWxlY3Rvcl9saXN0LWl0ZW1cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzTGlzdC5saXN0SXRlbUFuY2hvcn0+e2Rpc3BsYXlPcHRpb24odmFsdWUpfTwvc3Bhbj5cbiAgICAgICAgICB7c2hvd1Rva2VuICYmIHZhbHVlLnR5cGUgPyAoXG4gICAgICAgICAgICA8U3R5bGVkVG9rZW4+XG4gICAgICAgICAgICAgIDxGaWVsZFRva2VuIHR5cGU9e3ZhbHVlLnR5cGV9IC8+XG4gICAgICAgICAgICA8L1N0eWxlZFRva2VuPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0eWxlZEZpZWxkTGlzdEl0ZW0+XG4gICAgICApO1xuICAgIH07XG4gICAgcmV0dXJuIEZpZWxkTGlzdEl0ZW07XG4gIH07XG4gIHJldHVybiBGaWVsZExpc3RJdGVtRmFjdG9yeTtcbn1cblxuY29uc3QgU3VnZ2VzdGVkRmllbGRIZWFkZXIgPSAoKSA9PiA8ZGl2PlN1Z2dlc3RlZCBGaWVsZDwvZGl2PjtcblxudHlwZSBGaWVsZFR5cGUgPVxuICB8IHN0cmluZ1xuICB8IHN0cmluZ1tdXG4gIHwge1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgZm9ybWF0OiBzdHJpbmcgfCBudWxsO1xuICAgIH1bXVxuICB8IHtcbiAgICAgIGZvcm1hdD86IHN0cmluZztcbiAgICAgIGlkPzogc3RyaW5nO1xuICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgIGZpZWxkSWR4PzogbnVtYmVyO1xuICAgICAgdHlwZT86IG51bWJlcjtcbiAgICB9XG4gIHwgRmllbGQ7XG5cbmludGVyZmFjZSBGaWVsZFNlbGVjdG9yRmFjdG9yeVByb3BzIHtcbiAgZmllbGRzPzogRmllbGRUeXBlW107XG4gIG9uU2VsZWN0OiAoXG4gICAgaXRlbXM6XG4gICAgICB8IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG9iamVjdD5cbiAgICAgIHwgc3RyaW5nXG4gICAgICB8IG51bWJlclxuICAgICAgfCBib29sZWFuXG4gICAgICB8IG9iamVjdFxuICAgICAgfCBudWxsXG4gICkgPT4gdm9pZDtcbiAgcGxhY2VtZW50Pzogc3RyaW5nO1xuICB2YWx1ZT86IEZpZWxkVHlwZSB8IG51bGw7XG4gIGZpbHRlckZpZWxkVHlwZXM/OiBGaWVsZFR5cGUgfCBGaWVsZFR5cGVbXTtcbiAgaW5wdXRUaGVtZT86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGVyYXNhYmxlPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBib29sZWFuO1xuICBtdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIGNsb3NlT25TZWxlY3Q/OiBib29sZWFuO1xuICBzaG93VG9rZW4/OiBib29sZWFuO1xuICBzdWdnZXN0ZWQ/OiBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+IHwgbnVsbDtcbiAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ/OiBDb21wb25lbnRUeXBlO1xuICBzaXplPzogc3RyaW5nO1xuICBpc0xvYWRpbmc/OiBib29sZWFuO1xuICBhZ2dyZWdhdG9yPzogYW55LFxuICB3aXRoQWdncmVnYXRvcj86IGFueVxuICBvbkJsdXI/OiBhbnksXG4gIG9uRm9jdXM/OiBhbnksXG59XG5cbmZ1bmN0aW9uIEZpZWxkU2VsZWN0b3JGYWN0b3J5KFxuICBGaWVsZExpc3RJdGVtRmFjdG9yeTogUmV0dXJuVHlwZTx0eXBlb2YgRmllbGRMaXN0SXRlbUZhY3RvcnlGYWN0b3J5PlxuKTogQ29tcG9uZW50VHlwZTxGaWVsZFNlbGVjdG9yRmFjdG9yeVByb3BzPiB7XG4gIGNsYXNzIEZpZWxkU2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnQ8RmllbGRTZWxlY3RvckZhY3RvcnlQcm9wcz4ge1xuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBlcmFzYWJsZTogdHJ1ZSxcbiAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgIGZpZWxkczogW10sXG4gICAgICBvblNlbGVjdDogKCkgPT4ge30sXG4gICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgdmFsdWU6IG51bGwsXG4gICAgICBhZ2dyZWdhdG9yOiBudWxsLFxuICAgICAgd2l0aEFnZ3JlZ2F0b3I6IGZhbHNlLFxuICAgICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgICAgY2xvc2VPblNlbGVjdDogdHJ1ZSxcbiAgICAgIHNob3dUb2tlbjogdHJ1ZSxcbiAgICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXIuc2VsZWN0RmllbGQnXG4gICAgfTtcblxuICAgIGZpZWxkc1NlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZmllbGRzO1xuICAgIGZpbHRlcmVkRmllbGRzU2VsZWN0b3IgPSBwcm9wcyA9PlxuICAgICAgcHJvcHMud2l0aEFnZ3JlZ2F0b3JcbiAgICAgICAgPyBwcm9wcy5maWVsZHNcbiAgICAgICAgOiBwcm9wcy5maWVsZHMuZmlsdGVyKFxuICAgICAgICAgICAgZmllbGQgPT5cbiAgICAgICAgICAgICAgIXRvQXJyYXkocHJvcHMudmFsdWUpLmZpbmQoZCA9PiAoZC5uYW1lID8gZC5uYW1lID09PSBmaWVsZC5uYW1lIDogZCA9PT0gZmllbGQubmFtZSkpXG4gICAgICAgICAgKTtcbiAgICB2YWx1ZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMudmFsdWU7XG4gICAgYWdncmVnYXRvclNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuYWdncmVnYXRvcjtcbiAgICBmaWx0ZXJGaWVsZFR5cGVzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5maWx0ZXJGaWVsZFR5cGVzO1xuICAgIHNob3dUb2tlblNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuc2hvd1Rva2VuO1xuICAgIHdpdGhBZ2dyZWdhdG9yU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy53aXRoQWdncmVnYXRvcjtcblxuICAgIHNlbGVjdGVkSXRlbXNTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgdGhpcy5maWVsZHNTZWxlY3RvcixcbiAgICAgIHRoaXMudmFsdWVTZWxlY3RvcixcbiAgICAgIHRoaXMuYWdncmVnYXRvclNlbGVjdG9yLFxuICAgICAgKGZpZWxkcywgdmFsdWUsIGFnZ3JlZ2F0b3IpID0+XG4gICAgICAgIHRvQXJyYXkodmFsdWUpXG4gICAgICAgICAgLm1hcChkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoZiA9PlxuICAgICAgICAgICAgICBub3ROdWxsb3JVbmRlZmluZWQoZCkgJiYgZC5uYW1lXG4gICAgICAgICAgICAgICAgPyBkLm5hbWUgPT09IGRlZmF1bHRWYWx1ZU9wdGlvbihmKVxuICAgICAgICAgICAgICAgIDogZCA9PT0gZGVmYXVsdFZhbHVlT3B0aW9uKGYpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoZmllbGQgJiYgYWdncmVnYXRvcikge1xuICAgICAgICAgICAgICByZXR1cm4gey4uLmZpZWxkLCBhZ2dyZWdhdG9yfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaWVsZDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoZCA9PiBkKVxuICAgICk7XG5cbiAgICBmaWVsZE9wdGlvbnNTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgdGhpcy5maWx0ZXJlZEZpZWxkc1NlbGVjdG9yLFxuICAgICAgdGhpcy52YWx1ZVNlbGVjdG9yLFxuICAgICAgdGhpcy5maWx0ZXJGaWVsZFR5cGVzU2VsZWN0b3IsXG4gICAgICB0aGlzLmFnZ3JlZ2F0b3JTZWxlY3RvcixcbiAgICAgIHRoaXMud2l0aEFnZ3JlZ2F0b3JTZWxlY3RvcixcbiAgICAgIChmaWVsZHMsIHZhbHVlLCBmaWx0ZXJGaWVsZFR5cGVzLCBhZ2dyZWdhdG9yLCB3aXRoQWdncmVnYXRvcikgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZHNXaXRoQWdncmVnYXRvcnMgPSBmaWVsZHMubWFwKGZpZWxkID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICAuLi4od2l0aEFnZ3JlZ2F0b3IgJiYge1xuICAgICAgICAgICAgICBhZ2dyZWdhdG9yczogRklFTERfVFlQRVNfQUdHUkVHQVRPUlNbZmllbGQudHlwZV0/LmZpbHRlcihhZ2cgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWVsZC5pZCA9PT0gdmFsdWUgPyBhZ2cgIT09IGFnZ3JlZ2F0b3IgOiB0cnVlO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFmaWx0ZXJGaWVsZFR5cGVzKSB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkc1dpdGhBZ2dyZWdhdG9ycztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWx0ZXJzID0gQXJyYXkuaXNBcnJheShmaWx0ZXJGaWVsZFR5cGVzKSA/IGZpbHRlckZpZWxkVHlwZXMgOiBbZmlsdGVyRmllbGRUeXBlc107XG4gICAgICAgIHJldHVybiBmaWVsZHNXaXRoQWdncmVnYXRvcnMuZmlsdGVyKGYgPT4gZmlsdGVycy5pbmNsdWRlcyhmLnR5cGUpKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZmllbGRMaXN0SXRlbVNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IodGhpcy5zaG93VG9rZW5TZWxlY3RvciwgRmllbGRMaXN0SXRlbUZhY3RvcnkpO1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZC1zZWxlY3RvclwiPlxuICAgICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICAgIGdldE9wdGlvblZhbHVlPXtkID0+IGR9XG4gICAgICAgICAgICBjbG9zZU9uU2VsZWN0PXt0aGlzLnByb3BzLmNsb3NlT25TZWxlY3R9XG4gICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkZWZhdWx0RGlzcGxheU9wdGlvbn1cbiAgICAgICAgICAgIGZpbHRlck9wdGlvbj1cImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgIGZpeGVkT3B0aW9ucz17dGhpcy5wcm9wcy5zdWdnZXN0ZWR9XG4gICAgICAgICAgICBpbnB1dFRoZW1lPXt0aGlzLnByb3BzLmlucHV0VGhlbWV9XG4gICAgICAgICAgICBzaXplPXt0aGlzLnByb3BzLnNpemV9XG4gICAgICAgICAgICBpc0Vycm9yPXt0aGlzLnByb3BzLmVycm9yfVxuICAgICAgICAgICAgaXNMb2FkaW5nPXt0aGlzLnByb3BzLmlzTG9hZGluZ31cbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3RoaXMuc2VsZWN0ZWRJdGVtc1NlbGVjdG9yKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgZXJhc2FibGU9e3RoaXMucHJvcHMuZXJhc2FibGV9XG4gICAgICAgICAgICBvcHRpb25zPXt0aGlzLmZpZWxkT3B0aW9uc1NlbGVjdG9yKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgbXVsdGlTZWxlY3Q9e3RoaXMucHJvcHMubXVsdGlTZWxlY3R9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17dGhpcy5wcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHBsYWNlbWVudD17dGhpcy5wcm9wcy5wbGFjZW1lbnR9XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5wcm9wcy5vblNlbGVjdH1cbiAgICAgICAgICAgIERyb3BEb3duTGluZUl0ZW1SZW5kZXJDb21wb25lbnQ9e3RoaXMuZmllbGRMaXN0SXRlbVNlbGVjdG9yKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgRHJvcGRvd25IZWFkZXJDb21wb25lbnQ9e3RoaXMucHJvcHMuc3VnZ2VzdGVkID8gU3VnZ2VzdGVkRmllbGRIZWFkZXIgOiBudWxsfVxuICAgICAgICAgICAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ9e3RoaXMucHJvcHMuQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnR9XG4gICAgICAgICAgICB3aXRoU3ViT3B0aW9ucz17dGhpcy5wcm9wcy53aXRoQWdncmVnYXRvcn1cbiAgICAgICAgICAgIG9uQmx1cj17dGhpcy5wcm9wcy5vbkJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXt0aGlzLnByb3BzLm9uRm9jdXN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gRmllbGRTZWxlY3Rvcjtcbn1cblxuRmllbGRTZWxlY3RvckZhY3RvcnkuZGVwcyA9IFtGaWVsZExpc3RJdGVtRmFjdG9yeUZhY3RvcnldO1xuZXhwb3J0IGRlZmF1bHQgRmllbGRTZWxlY3RvckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEs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
|
|
173
|
+
var _default = exports.default = FieldSelectorFactory;
|
|
174
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVzZWxlY3QiLCJfaXRlbVNlbGVjdG9yIiwiX2Ryb3Bkb3duTGlzdCIsIl91dGlscyIsIl9kYXRhVXRpbHMiLCJfZmllbGRUb2tlbiIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJkZWZhdWx0RGlzcGxheU9wdGlvbiIsImQiLCJfRklFTERfQUdHUkVHQVRPUlMkZmkiLCJvcHRpb25OYW1lIiwiZGlzcGxheU5hbWUiLCJuYW1lIiwiYWdncmVnYXRvciIsImFnZ2VnYXRvckRpc3BsYXkiLCJGSUVMRF9BR0dSRUdBVE9SUyIsImZpbmQiLCJpZCIsImRlZmF1bHRWYWx1ZU9wdGlvbiIsIlN0eWxlZFRva2VuIiwic3R5bGVkIiwiZGl2IiwiU3R5bGVkRmllbGRMaXN0SXRlbSIsIkZpZWxkTGlzdEl0ZW1GYWN0b3J5RmFjdG9yeSIsImRlcHMiLCJGaWVsZFRva2VuRmFjdG9yeSIsIkZpZWxkVG9rZW4iLCJGaWVsZExpc3RJdGVtRmFjdG9yeSIsInNob3dUb2tlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkZpZWxkTGlzdEl0ZW0iLCJfcmVmIiwidmFsdWUiLCJkaXNwbGF5T3B0aW9uIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImNsYXNzTGlzdCIsImxpc3RJdGVtQW5jaG9yIiwidHlwZSIsIlN1Z2dlc3RlZEZpZWxkSGVhZGVyIiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJGaWVsZFNlbGVjdG9yIiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJfZGVmaW5lUHJvcGVydHkyIiwicHJvcHMiLCJmaWVsZHMiLCJ3aXRoQWdncmVnYXRvciIsImZpbHRlciIsImZpZWxkIiwidG9BcnJheSIsImZpbHRlckZpZWxkVHlwZXMiLCJjcmVhdGVTZWxlY3RvciIsImZpZWxkc1NlbGVjdG9yIiwidmFsdWVTZWxlY3RvciIsImFnZ3JlZ2F0b3JTZWxlY3RvciIsIm1hcCIsImYiLCJub3ROdWxsb3JVbmRlZmluZWQiLCJmaWx0ZXJlZEZpZWxkc1NlbGVjdG9yIiwiZmlsdGVyRmllbGRUeXBlc1NlbGVjdG9yIiwid2l0aEFnZ3JlZ2F0b3JTZWxlY3RvciIsImZpZWxkc1dpdGhBZ2dyZWdhdG9ycyIsIl9GSUVMRF9UWVBFU19BR0dSRUdBVCIsImFnZ3JlZ2F0b3JzIiwiRklFTERfVFlQRVNfQUdHUkVHQVRPUlMiLCJhZ2ciLCJmaWx0ZXJzIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5jbHVkZXMiLCJzaG93VG9rZW5TZWxlY3RvciIsInJlbmRlciIsImdldE9wdGlvblZhbHVlIiwiY2xvc2VPblNlbGVjdCIsImZpbHRlck9wdGlvbiIsImZpeGVkT3B0aW9ucyIsInN1Z2dlc3RlZCIsImlucHV0VGhlbWUiLCJzaXplIiwiaXNFcnJvciIsImVycm9yIiwiaXNMb2FkaW5nIiwic2VsZWN0ZWRJdGVtcyIsInNlbGVjdGVkSXRlbXNTZWxlY3RvciIsImVyYXNhYmxlIiwib3B0aW9ucyIsImZpZWxkT3B0aW9uc1NlbGVjdG9yIiwibXVsdGlTZWxlY3QiLCJwbGFjZWhvbGRlciIsInBsYWNlbWVudCIsIm9uQ2hhbmdlIiwib25TZWxlY3QiLCJEcm9wRG93bkxpbmVJdGVtUmVuZGVyQ29tcG9uZW50IiwiZmllbGRMaXN0SXRlbVNlbGVjdG9yIiwiRHJvcGRvd25IZWFkZXJDb21wb25lbnQiLCJDdXN0b21DaGlja2xldENvbXBvbmVudCIsIndpdGhTdWJPcHRpb25zIiwib25CbHVyIiwib25Gb2N1cyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9maWVsZC1zZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBDb21wb25lbnRUeXBlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ3Jlc2VsZWN0JztcblxuaW1wb3J0IEl0ZW1TZWxlY3RvciBmcm9tICcuL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge2NsYXNzTGlzdH0gZnJvbSAnLi9pdGVtLXNlbGVjdG9yL2Ryb3Bkb3duLWxpc3QnO1xuaW1wb3J0IHt0b0FycmF5fSBmcm9tICd1dGlscy91dGlscyc7XG5pbXBvcnQge25vdE51bGxvclVuZGVmaW5lZH0gZnJvbSAndXRpbHMvZGF0YS11dGlscyc7XG5pbXBvcnQgRmllbGRUb2tlbkZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2ZpZWxkLXRva2VuJztcbmltcG9ydCB7RmllbGR9IGZyb20gJ3V0aWxzL3RhYmxlLXV0aWxzL2tlcGxlci10YWJsZSc7XG5pbXBvcnQge0ZJRUxEX1RZUEVTX0FHR1JFR0FUT1JTLCBGSUVMRF9BR0dSRUdBVE9SU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5jb25zdCBkZWZhdWx0RGlzcGxheU9wdGlvbiA9IGQgPT4ge1xuICBjb25zdCBvcHRpb25OYW1lID0gZC5kaXNwbGF5TmFtZSB8fCBkLm5hbWU7XG4gIGNvbnN0IGFnZ3JlZ2F0b3IgPSBkLmFnZ3JlZ2F0b3I7XG4gIGNvbnN0IGFnZ2VnYXRvckRpc3BsYXkgPSBGSUVMRF9BR0dSRUdBVE9SUy5maW5kKGEgPT4gYS5pZCA9PT0gYWdncmVnYXRvcik/LmRpc3BsYXlOYW1lO1xuICBpZiAoYWdnZWdhdG9yRGlzcGxheSkge1xuICAgIHJldHVybiBgJHthZ2dlZ2F0b3JEaXNwbGF5fSgke29wdGlvbk5hbWV9KWA7XG4gIH1cbiAgcmV0dXJuIG9wdGlvbk5hbWU7XG59O1xuY29uc3QgZGVmYXVsdFZhbHVlT3B0aW9uID0gZCA9PiBkLm5hbWU7XG5cbmNvbnN0IFN0eWxlZFRva2VuID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCAwIGF1dG87XG5gO1xuY29uc3QgU3R5bGVkRmllbGRMaXN0SXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuRmllbGRMaXN0SXRlbUZhY3RvcnlGYWN0b3J5LmRlcHMgPSBbRmllbGRUb2tlbkZhY3RvcnldO1xuLy8gY3VzdG9tIGxpc3QgSXRlbVxuZXhwb3J0IGZ1bmN0aW9uIEZpZWxkTGlzdEl0ZW1GYWN0b3J5RmFjdG9yeShGaWVsZFRva2VuKSB7XG4gIGNvbnN0IEZpZWxkTGlzdEl0ZW1GYWN0b3J5ID0gKHNob3dUb2tlbiA9IHRydWUpID0+IHtcbiAgICBjb25zdCBGaWVsZExpc3RJdGVtID0gKHt2YWx1ZSwgZGlzcGxheU9wdGlvbiA9IGRlZmF1bHREaXNwbGF5T3B0aW9ufSkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZEZpZWxkTGlzdEl0ZW0gY2xhc3NOYW1lPVwiZmllbGQtc2VsZWN0b3JfbGlzdC1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc0xpc3QubGlzdEl0ZW1BbmNob3J9PntkaXNwbGF5T3B0aW9uKHZhbHVlKX08L3NwYW4+XG4gICAgICAgICAge3Nob3dUb2tlbiAmJiB2YWx1ZS50eXBlID8gKFxuICAgICAgICAgICAgPFN0eWxlZFRva2VuPlxuICAgICAgICAgICAgICA8RmllbGRUb2tlbiB0eXBlPXt2YWx1ZS50eXBlfSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRUb2tlbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRGaWVsZExpc3RJdGVtPlxuICAgICAgKTtcbiAgICB9O1xuICAgIHJldHVybiBGaWVsZExpc3RJdGVtO1xuICB9O1xuICByZXR1cm4gRmllbGRMaXN0SXRlbUZhY3Rvcnk7XG59XG5cbmNvbnN0IFN1Z2dlc3RlZEZpZWxkSGVhZGVyID0gKCkgPT4gPGRpdj5TdWdnZXN0ZWQgRmllbGQ8L2Rpdj47XG5cbnR5cGUgRmllbGRUeXBlID1cbiAgfCBzdHJpbmdcbiAgfCBzdHJpbmdbXVxuICB8IHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIGZvcm1hdDogc3RyaW5nIHwgbnVsbDtcbiAgICB9W11cbiAgfCB7XG4gICAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgICBpZD86IHN0cmluZztcbiAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICBmaWVsZElkeD86IG51bWJlcjtcbiAgICAgIHR5cGU/OiBudW1iZXI7XG4gICAgfVxuICB8IEZpZWxkO1xuXG5pbnRlcmZhY2UgRmllbGRTZWxlY3RvckZhY3RvcnlQcm9wcyB7XG4gIGZpZWxkcz86IEZpZWxkVHlwZVtdO1xuICBvblNlbGVjdDogKFxuICAgIGl0ZW1zOlxuICAgICAgfCBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+XG4gICAgICB8IHN0cmluZ1xuICAgICAgfCBudW1iZXJcbiAgICAgIHwgYm9vbGVhblxuICAgICAgfCBvYmplY3RcbiAgICAgIHwgbnVsbFxuICApID0+IHZvaWQ7XG4gIHBsYWNlbWVudD86IHN0cmluZztcbiAgdmFsdWU/OiBGaWVsZFR5cGUgfCBudWxsO1xuICBmaWx0ZXJGaWVsZFR5cGVzPzogRmllbGRUeXBlIHwgRmllbGRUeXBlW107XG4gIGlucHV0VGhlbWU/OiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBlcmFzYWJsZT86IGJvb2xlYW47XG4gIGVycm9yPzogYm9vbGVhbjtcbiAgbXVsdGlTZWxlY3Q/OiBib29sZWFuO1xuICBjbG9zZU9uU2VsZWN0PzogYm9vbGVhbjtcbiAgc2hvd1Rva2VuPzogYm9vbGVhbjtcbiAgc3VnZ2VzdGVkPzogUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0PiB8IG51bGw7XG4gIEN1c3RvbUNoaWNrbGV0Q29tcG9uZW50PzogQ29tcG9uZW50VHlwZTtcbiAgc2l6ZT86IHN0cmluZztcbiAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgYWdncmVnYXRvcj86IGFueSxcbiAgd2l0aEFnZ3JlZ2F0b3I/OiBhbnlcbiAgb25CbHVyPzogYW55LFxuICBvbkZvY3VzPzogYW55LFxufVxuXG5mdW5jdGlvbiBGaWVsZFNlbGVjdG9yRmFjdG9yeShcbiAgRmllbGRMaXN0SXRlbUZhY3Rvcnk6IFJldHVyblR5cGU8dHlwZW9mIEZpZWxkTGlzdEl0ZW1GYWN0b3J5RmFjdG9yeT5cbik6IENvbXBvbmVudFR5cGU8RmllbGRTZWxlY3RvckZhY3RvcnlQcm9wcz4ge1xuICBjbGFzcyBGaWVsZFNlbGVjdG9yIGV4dGVuZHMgQ29tcG9uZW50PEZpZWxkU2VsZWN0b3JGYWN0b3J5UHJvcHM+IHtcbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgZXJhc2FibGU6IHRydWUsXG4gICAgICBlcnJvcjogZmFsc2UsXG4gICAgICBmaWVsZHM6IFtdLFxuICAgICAgb25TZWxlY3Q6ICgpID0+IHt9LFxuICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgYWdncmVnYXRvcjogbnVsbCxcbiAgICAgIHdpdGhBZ2dyZWdhdG9yOiBmYWxzZSxcbiAgICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcbiAgICAgIGNsb3NlT25TZWxlY3Q6IHRydWUsXG4gICAgICBzaG93VG9rZW46IHRydWUsXG4gICAgICBwbGFjZWhvbGRlcjogJ3BsYWNlaG9sZGVyLnNlbGVjdEZpZWxkJ1xuICAgIH07XG5cbiAgICBmaWVsZHNTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmZpZWxkcztcbiAgICBmaWx0ZXJlZEZpZWxkc1NlbGVjdG9yID0gcHJvcHMgPT5cbiAgICAgIHByb3BzLndpdGhBZ2dyZWdhdG9yXG4gICAgICAgID8gcHJvcHMuZmllbGRzXG4gICAgICAgIDogcHJvcHMuZmllbGRzLmZpbHRlcihcbiAgICAgICAgICAgIGZpZWxkID0+XG4gICAgICAgICAgICAgICF0b0FycmF5KHByb3BzLnZhbHVlKS5maW5kKGQgPT4gKGQubmFtZSA/IGQubmFtZSA9PT0gZmllbGQubmFtZSA6IGQgPT09IGZpZWxkLm5hbWUpKVxuICAgICAgICAgICk7XG4gICAgdmFsdWVTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLnZhbHVlO1xuICAgIGFnZ3JlZ2F0b3JTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmFnZ3JlZ2F0b3I7XG4gICAgZmlsdGVyRmllbGRUeXBlc1NlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZmlsdGVyRmllbGRUeXBlcztcbiAgICBzaG93VG9rZW5TZWxlY3RvciA9IHByb3BzID0+IHByb3BzLnNob3dUb2tlbjtcbiAgICB3aXRoQWdncmVnYXRvclNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMud2l0aEFnZ3JlZ2F0b3I7XG5cbiAgICBzZWxlY3RlZEl0ZW1zU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMuZmllbGRzU2VsZWN0b3IsXG4gICAgICB0aGlzLnZhbHVlU2VsZWN0b3IsXG4gICAgICB0aGlzLmFnZ3JlZ2F0b3JTZWxlY3RvcixcbiAgICAgIChmaWVsZHMsIHZhbHVlLCBhZ2dyZWdhdG9yKSA9PlxuICAgICAgICB0b0FycmF5KHZhbHVlKVxuICAgICAgICAgIC5tYXAoZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKGYgPT5cbiAgICAgICAgICAgICAgbm90TnVsbG9yVW5kZWZpbmVkKGQpICYmIGQubmFtZVxuICAgICAgICAgICAgICAgID8gZC5uYW1lID09PSBkZWZhdWx0VmFsdWVPcHRpb24oZilcbiAgICAgICAgICAgICAgICA6IGQgPT09IGRlZmF1bHRWYWx1ZU9wdGlvbihmKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGZpZWxkICYmIGFnZ3JlZ2F0b3IpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsuLi5maWVsZCwgYWdncmVnYXRvcn07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKGQgPT4gZClcbiAgICApO1xuXG4gICAgZmllbGRPcHRpb25zU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMuZmlsdGVyZWRGaWVsZHNTZWxlY3RvcixcbiAgICAgIHRoaXMudmFsdWVTZWxlY3RvcixcbiAgICAgIHRoaXMuZmlsdGVyRmllbGRUeXBlc1NlbGVjdG9yLFxuICAgICAgdGhpcy5hZ2dyZWdhdG9yU2VsZWN0b3IsXG4gICAgICB0aGlzLndpdGhBZ2dyZWdhdG9yU2VsZWN0b3IsXG4gICAgICAoZmllbGRzLCB2YWx1ZSwgZmlsdGVyRmllbGRUeXBlcywgYWdncmVnYXRvciwgd2l0aEFnZ3JlZ2F0b3IpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRzV2l0aEFnZ3JlZ2F0b3JzID0gZmllbGRzLm1hcChmaWVsZCA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgLi4uKHdpdGhBZ2dyZWdhdG9yICYmIHtcbiAgICAgICAgICAgICAgYWdncmVnYXRvcnM6IEZJRUxEX1RZUEVTX0FHR1JFR0FUT1JTW2ZpZWxkLnR5cGVdPy5maWx0ZXIoYWdnID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmllbGQuaWQgPT09IHZhbHVlID8gYWdnICE9PSBhZ2dyZWdhdG9yIDogdHJ1ZTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghZmlsdGVyRmllbGRUeXBlcykge1xuICAgICAgICAgIHJldHVybiBmaWVsZHNXaXRoQWdncmVnYXRvcnM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsdGVycyA9IEFycmF5LmlzQXJyYXkoZmlsdGVyRmllbGRUeXBlcykgPyBmaWx0ZXJGaWVsZFR5cGVzIDogW2ZpbHRlckZpZWxkVHlwZXNdO1xuICAgICAgICByZXR1cm4gZmllbGRzV2l0aEFnZ3JlZ2F0b3JzLmZpbHRlcihmID0+IGZpbHRlcnMuaW5jbHVkZXMoZi50eXBlKSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIGZpZWxkTGlzdEl0ZW1TZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuc2hvd1Rva2VuU2VsZWN0b3IsIEZpZWxkTGlzdEl0ZW1GYWN0b3J5KTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQtc2VsZWN0b3JcIj5cbiAgICAgICAgICA8SXRlbVNlbGVjdG9yXG4gICAgICAgICAgICBnZXRPcHRpb25WYWx1ZT17ZCA9PiBkfVxuICAgICAgICAgICAgY2xvc2VPblNlbGVjdD17dGhpcy5wcm9wcy5jbG9zZU9uU2VsZWN0fVxuICAgICAgICAgICAgZGlzcGxheU9wdGlvbj17ZGVmYXVsdERpc3BsYXlPcHRpb259XG4gICAgICAgICAgICBmaWx0ZXJPcHRpb249XCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICBmaXhlZE9wdGlvbnM9e3RoaXMucHJvcHMuc3VnZ2VzdGVkfVxuICAgICAgICAgICAgaW5wdXRUaGVtZT17dGhpcy5wcm9wcy5pbnB1dFRoZW1lfVxuICAgICAgICAgICAgc2l6ZT17dGhpcy5wcm9wcy5zaXplfVxuICAgICAgICAgICAgaXNFcnJvcj17dGhpcy5wcm9wcy5lcnJvcn1cbiAgICAgICAgICAgIGlzTG9hZGluZz17dGhpcy5wcm9wcy5pc0xvYWRpbmd9XG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt0aGlzLnNlbGVjdGVkSXRlbXNTZWxlY3Rvcih0aGlzLnByb3BzKX1cbiAgICAgICAgICAgIGVyYXNhYmxlPXt0aGlzLnByb3BzLmVyYXNhYmxlfVxuICAgICAgICAgICAgb3B0aW9ucz17dGhpcy5maWVsZE9wdGlvbnNTZWxlY3Rvcih0aGlzLnByb3BzKX1cbiAgICAgICAgICAgIG11bHRpU2VsZWN0PXt0aGlzLnByb3BzLm11bHRpU2VsZWN0fVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3RoaXMucHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9e3RoaXMucHJvcHMucGxhY2VtZW50fVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMucHJvcHMub25TZWxlY3R9XG4gICAgICAgICAgICBEcm9wRG93bkxpbmVJdGVtUmVuZGVyQ29tcG9uZW50PXt0aGlzLmZpZWxkTGlzdEl0ZW1TZWxlY3Rvcih0aGlzLnByb3BzKX1cbiAgICAgICAgICAgIERyb3Bkb3duSGVhZGVyQ29tcG9uZW50PXt0aGlzLnByb3BzLnN1Z2dlc3RlZCA/IFN1Z2dlc3RlZEZpZWxkSGVhZGVyIDogbnVsbH1cbiAgICAgICAgICAgIEN1c3RvbUNoaWNrbGV0Q29tcG9uZW50PXt0aGlzLnByb3BzLkN1c3RvbUNoaWNrbGV0Q29tcG9uZW50fVxuICAgICAgICAgICAgd2l0aFN1Yk9wdGlvbnM9e3RoaXMucHJvcHMud2l0aEFnZ3JlZ2F0b3J9XG4gICAgICAgICAgICBvbkJsdXI9e3RoaXMucHJvcHMub25CbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17dGhpcy5wcm9wcy5vbkZvY3VzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIEZpZWxkU2VsZWN0b3I7XG59XG5cbkZpZWxkU2VsZWN0b3JGYWN0b3J5LmRlcHMgPSBbRmllbGRMaXN0SXRlbUZhY3RvcnlGYWN0b3J5XTtcbmV4cG9ydCBkZWZhdWx0IEZpZWxkU2VsZWN0b3JGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLGFBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFTLGdCQUFBLEdBQUFULE9BQUE7QUFBc0YsU0FBQVUseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVosd0JBQUFZLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEs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
|
|
@@ -4,12 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
8
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
7
|
+
exports.default = void 0;
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
10
|
var _defaultSettings = require("../../constants/default-settings");
|
|
12
|
-
|
|
11
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
13
12
|
//
|
|
14
13
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
15
14
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -28,11 +27,27 @@ var _templateObject; // Copyright (c) 2022 Uber Technologies, Inc.
|
|
|
28
27
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
29
28
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
30
29
|
// THE SOFTWARE.
|
|
30
|
+
|
|
31
31
|
function FieldTokenFactory(fieldTypeDisplay, fieldColors) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const FieldTag = _styledComponents.default.div`
|
|
33
|
+
background-color: #f8f9f9;
|
|
34
|
+
color: #888b8c;
|
|
35
|
+
border-radius: 2px;
|
|
36
|
+
border: 1px solid #cbcdcf;
|
|
37
|
+
font-family: 'Overpass Mono', monospace;
|
|
38
|
+
font-weight: 600;
|
|
39
|
+
font-size: 12px;
|
|
40
|
+
height: 15px;
|
|
41
|
+
line-height: 15px;
|
|
42
|
+
padding: 0 4px;
|
|
43
|
+
width: auto;
|
|
44
|
+
text-transform: none;
|
|
45
|
+
`;
|
|
46
|
+
const FieldToken = _ref => {
|
|
47
|
+
let {
|
|
48
|
+
type
|
|
49
|
+
} = _ref;
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement(FieldTag, null, fieldTypeDisplay[type].label);
|
|
36
51
|
};
|
|
37
52
|
return FieldToken;
|
|
38
53
|
}
|
|
@@ -43,5 +58,5 @@ function getFieldColors() {
|
|
|
43
58
|
return _defaultSettings.FIELD_COLORS;
|
|
44
59
|
}
|
|
45
60
|
FieldTokenFactory.deps = [getFieldTypes, getFieldColors];
|
|
46
|
-
var _default = exports
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
61
|
+
var _default = exports.default = FieldTokenFactory;
|
|
62
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2RlZmF1bHRTZXR0aW5ncyIsIkZpZWxkVG9rZW5GYWN0b3J5IiwiZmllbGRUeXBlRGlzcGxheSIsImZpZWxkQ29sb3JzIiwiRmllbGRUYWciLCJzdHlsZWQiLCJkaXYiLCJGaWVsZFRva2VuIiwiX3JlZiIsInR5cGUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImxhYmVsIiwiZ2V0RmllbGRUeXBlcyIsIkZJTEVEX1RZUEVfRElTUExBWSIsImdldEZpZWxkQ29sb3JzIiwiRklFTERfQ09MT1JTIiwiZGVwcyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9maWVsZC10b2tlbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGSUxFRF9UWVBFX0RJU1BMQVksIEZJRUxEX0NPTE9SU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5mdW5jdGlvbiBGaWVsZFRva2VuRmFjdG9yeShcbiAgZmllbGRUeXBlRGlzcGxheTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0RmllbGRUeXBlcz4sXG4gIGZpZWxkQ29sb3JzPzogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0RmllbGRDb2xvcnM+XG4pIHtcbiAgY29uc3QgRmllbGRUYWcgPSBzdHlsZWQuZGl2YFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5Zjk7XG4gICAgY29sb3I6ICM4ODhiOGM7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmNkY2Y7XG4gICAgZm9udC1mYW1pbHk6ICdPdmVycGFzcyBNb25vJywgbW9ub3NwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICBwYWRkaW5nOiAwIDRweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYDtcblxuICBjb25zdCBGaWVsZFRva2VuID0gKHt0eXBlfSkgPT4gKFxuICAgIDxGaWVsZFRhZz5cbiAgICAgIHtmaWVsZFR5cGVEaXNwbGF5W3R5cGVdLmxhYmVsfVxuICAgIDwvRmllbGRUYWc+XG4gICk7XG4gIHJldHVybiBGaWVsZFRva2VuO1xufVxuXG5mdW5jdGlvbiBnZXRGaWVsZFR5cGVzKCkge1xuICByZXR1cm4gRklMRURfVFlQRV9ESVNQTEFZO1xufVxuXG5mdW5jdGlvbiBnZXRGaWVsZENvbG9ycygpIHtcbiAgcmV0dXJuIEZJRUxEX0NPTE9SUztcbn1cbkZpZWxkVG9rZW5GYWN0b3J5LmRlcHMgPSBbZ2V0RmllbGRUeXBlcywgZ2V0RmllbGRDb2xvcnNdO1xuZXhwb3J0IGRlZmF1bHQgRmllbGRUb2tlbkZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUF0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUEsU0FBU0csaUJBQWlCQSxDQUN4QkMsZ0JBQWtELEVBQ2xEQyxXQUErQyxFQUMvQztFQUNBLE1BQU1DLFFBQVEsR0FBR0MseUJBQU0sQ0FBQ0MsR0FBRztBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0VBRUQsTUFBTUMsVUFBVSxHQUFHQyxJQUFBO0lBQUEsSUFBQztNQUFDQztJQUFJLENBQUMsR0FBQUQsSUFBQTtJQUFBLG9CQUN4QlosTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1AsUUFBUSxRQUNORixnQkFBZ0IsQ0FBQ08sSUFBSSxDQUFDLENBQUNHLEtBQ2hCLENBQUM7RUFBQSxDQUNaO0VBQ0QsT0FBT0wsVUFBVTtBQUNuQjtBQUVBLFNBQVNNLGFBQWFBLENBQUEsRUFBRztFQUN2QixPQUFPQyxtQ0FBa0I7QUFDM0I7QUFFQSxTQUFTQyxjQUFjQSxDQUFBLEVBQUc7RUFDeEIsT0FBT0MsNkJBQVk7QUFDckI7QUFDQWYsaUJBQWlCLENBQUNnQixJQUFJLEdBQUcsQ0FBQ0osYUFBYSxFQUFFRSxjQUFjLENBQUM7QUFBQyxJQUFBRyxRQUFBLEdBQUFDLE9BQUEsQ0FBQVQsT0FBQSxHQUMxQ1QsaUJBQWlCIiwiaWdub3JlTGlzdCI6W119
|