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