@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,20 @@
|
|
|
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
|
-
exports.preventCloseSelector = exports
|
|
8
|
+
exports.preventCloseSelector = exports["default"] = exports.StyledDropdownSelect = exports.ItemSelectorListen = void 0;
|
|
8
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
9
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
19
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
20
|
var _uniqBy = _interopRequireDefault(require("lodash/uniqBy"));
|
|
@@ -21,9 +29,7 @@ var _dropdownList = _interopRequireWildcard(require("./dropdown-list"));
|
|
|
21
29
|
var _utils = require("../../../utils/utils");
|
|
22
30
|
var _reactIntl = require("react-intl");
|
|
23
31
|
var _localization = require("../../../localization");
|
|
24
|
-
|
|
25
|
-
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; }
|
|
26
|
-
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
32
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4; // Copyright (c) 2022 Uber Technologies, Inc.
|
|
27
33
|
//
|
|
28
34
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
29
35
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -42,230 +48,235 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
42
48
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
43
49
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
44
50
|
// THE SOFTWARE.
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
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); }
|
|
52
|
+
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; }
|
|
53
|
+
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)); }
|
|
54
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
55
|
+
var StyledDropdownSelect = exports.StyledDropdownSelect = _styledComponents["default"].div.attrs({
|
|
47
56
|
className: 'item-selector__dropdown'
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
.
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
:hover {
|
|
77
|
-
color: ${props => props.theme.textColor};
|
|
78
|
-
}
|
|
79
|
-
`;
|
|
80
|
-
const DropdownWrapper = _styledComponents.default.div`
|
|
81
|
-
border: 0;
|
|
82
|
-
width: 100%;
|
|
83
|
-
left: 0;
|
|
84
|
-
z-index: ${props => props.theme.dropdownWrapperZ};
|
|
85
|
-
position: absolute;
|
|
86
|
-
bottom: ${props => props.placement === 'top' ? props.theme.inputBoxHeight : 'auto'};
|
|
87
|
-
margin-top: ${props => props.placement === 'bottom' ? `${props.theme.dropdownWapperMargin}px` : 'auto'};
|
|
88
|
-
margin-bottom: ${props => props.placement === 'top' ? `${props.theme.dropdownWapperMargin}px` : 'auto'};
|
|
89
|
-
`;
|
|
57
|
+
})(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n\n height: ", ";\n\n .list__item__anchor {\n ", ";\n }\n"])), function (props) {
|
|
58
|
+
return props.inputTheme === 'secondary' ? props.theme.secondaryInput : props.inputTheme === 'light' ? props.theme.inputLT : props.theme.input;
|
|
59
|
+
}, function (props) {
|
|
60
|
+
return props.size === 'small' ? props.theme.inputBoxHeightSmall : props.theme.inputBoxHeight;
|
|
61
|
+
}, function (props) {
|
|
62
|
+
return props.theme.dropdownListAnchor;
|
|
63
|
+
});
|
|
64
|
+
var DropdownSelectValue = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n .list__item {\n ", ";\n }\n\n .list__item__anchor {\n ", ";\n }\n"])), function (props) {
|
|
65
|
+
return props.hasPlaceholder && props.inputTheme === 'light' ? props.theme.selectColorPlaceHolderLT : props.hasPlaceholder ? props.theme.selectColorPlaceHolder : props.inputTheme === 'light' ? props.theme.selectColorLT : props.theme.selectColor;
|
|
66
|
+
}, function (props) {
|
|
67
|
+
return props.inputTheme === 'light' ? props.theme.dropdownListItemLT : props.theme.dropdownListItem;
|
|
68
|
+
}, function (props) {
|
|
69
|
+
return props.inputTheme === 'light' ? props.theme.dropdownListAnchorLT : props.theme.dropdownListAnchor;
|
|
70
|
+
});
|
|
71
|
+
var DropdownSelectActionRight = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 6px;\n display: flex;\n color: ", ";\n\n :hover {\n color: ", ";\n }\n"])), function (props) {
|
|
72
|
+
return props.theme.subtextColor;
|
|
73
|
+
}, function (props) {
|
|
74
|
+
return props.theme.textColor;
|
|
75
|
+
});
|
|
76
|
+
var DropdownWrapper = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n border: 0;\n width: 100%;\n left: 0;\n z-index: ", ";\n position: absolute;\n bottom: ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n"])), function (props) {
|
|
77
|
+
return props.theme.dropdownWrapperZ;
|
|
78
|
+
}, function (props) {
|
|
79
|
+
return props.placement === 'top' ? props.theme.inputBoxHeight : 'auto';
|
|
80
|
+
}, function (props) {
|
|
81
|
+
return props.placement === 'bottom' ? "".concat(props.theme.dropdownWapperMargin, "px") : 'auto';
|
|
82
|
+
}, function (props) {
|
|
83
|
+
return props.placement === 'top' ? "".concat(props.theme.dropdownWapperMargin, "px") : 'auto';
|
|
84
|
+
});
|
|
90
85
|
|
|
91
86
|
// The item-selector component dismount all its children if you click outside of the component because of listensToClickOutside function.
|
|
92
87
|
// If you want to prevent this behaviour when you click on a child add this class to it.
|
|
93
88
|
// It is useful for example, when you add the child component on the top of tree with a Portal as dropdown-list does with item-selector-submenu
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
(0,
|
|
89
|
+
var preventCloseSelector = exports.preventCloseSelector = 'prevent__close__selector';
|
|
90
|
+
var ItemSelector = /*#__PURE__*/function (_Component) {
|
|
91
|
+
function ItemSelector() {
|
|
92
|
+
var _this;
|
|
93
|
+
(0, _classCallCheck2["default"])(this, ItemSelector);
|
|
94
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
95
|
+
args[_key] = arguments[_key];
|
|
96
|
+
}
|
|
97
|
+
_this = _callSuper(this, ItemSelector, [].concat(args));
|
|
98
|
+
(0, _defineProperty2["default"])(_this, "state", {
|
|
99
99
|
showTypeahead: false
|
|
100
100
|
});
|
|
101
|
-
(0, _defineProperty2
|
|
101
|
+
(0, _defineProperty2["default"])(_this, "handleClickOutside", function (e) {
|
|
102
102
|
var _e$target, _e$target$classList;
|
|
103
103
|
if (e !== null && e !== void 0 && (_e$target = e.target) !== null && _e$target !== void 0 && (_e$target$classList = _e$target.classList) !== null && _e$target$classList !== void 0 && _e$target$classList.contains(preventCloseSelector)) {
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
|
-
|
|
106
|
+
_this._hideTypeahead();
|
|
107
107
|
});
|
|
108
|
-
(0, _defineProperty2
|
|
108
|
+
(0, _defineProperty2["default"])(_this, "_onBlur", function () {
|
|
109
109
|
// note: chickleted input is not a real form element so we call onBlur()
|
|
110
110
|
// when we feel the events are appropriate
|
|
111
|
-
if (
|
|
112
|
-
|
|
111
|
+
if (_this.props.onBlur) {
|
|
112
|
+
_this.props.onBlur();
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
-
(0, _defineProperty2
|
|
115
|
+
(0, _defineProperty2["default"])(_this, "_removeItem", function (item, e) {
|
|
116
116
|
// only used when multiSelect = true
|
|
117
117
|
e.preventDefault();
|
|
118
118
|
e.stopPropagation();
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
var multiSelectedItems = (0, _utils.toArray)(_this.props.selectedItems);
|
|
120
|
+
var index = multiSelectedItems.findIndex(function (t) {
|
|
121
|
+
return t === item;
|
|
122
|
+
});
|
|
121
123
|
if (index < 0) {
|
|
122
124
|
return;
|
|
123
125
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (
|
|
127
|
-
|
|
126
|
+
var items = [].concat((0, _toConsumableArray2["default"])(multiSelectedItems.slice(0, index)), (0, _toConsumableArray2["default"])(multiSelectedItems.slice(index + 1, multiSelectedItems.length)));
|
|
127
|
+
_this.props.onChange(items);
|
|
128
|
+
if (_this.props.closeOnSelect) {
|
|
129
|
+
_this.setState({
|
|
128
130
|
showTypeahead: false
|
|
129
131
|
});
|
|
130
|
-
|
|
132
|
+
_this._onBlur();
|
|
131
133
|
}
|
|
132
134
|
});
|
|
133
|
-
(0, _defineProperty2
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
(0, _defineProperty2["default"])(_this, "_selectItem", function (item) {
|
|
136
|
+
var getValue = _accessor["default"].generateOptionToStringFor(_this.props.getOptionValue || _this.props.displayOption);
|
|
137
|
+
var previousSelected = (0, _utils.toArray)(_this.props.selectedItems);
|
|
138
|
+
if (_this.props.multiSelect) {
|
|
139
|
+
var items = (0, _uniqBy["default"])(previousSelected.concat((0, _utils.toArray)(item)), getValue);
|
|
140
|
+
_this.props.onChange(items);
|
|
139
141
|
} else {
|
|
140
|
-
|
|
142
|
+
_this.props.onChange(getValue(item));
|
|
141
143
|
}
|
|
142
|
-
if (
|
|
143
|
-
|
|
144
|
+
if (_this.props.closeOnSelect) {
|
|
145
|
+
_this.setState({
|
|
144
146
|
showTypeahead: false
|
|
145
147
|
});
|
|
146
|
-
|
|
148
|
+
_this._onBlur();
|
|
147
149
|
}
|
|
148
150
|
});
|
|
149
|
-
(0, _defineProperty2
|
|
151
|
+
(0, _defineProperty2["default"])(_this, "_onErase", function (e) {
|
|
150
152
|
e.stopPropagation();
|
|
151
|
-
|
|
153
|
+
_this.props.onChange(null);
|
|
152
154
|
});
|
|
153
|
-
(0, _defineProperty2
|
|
155
|
+
(0, _defineProperty2["default"])(_this, "_showTypeahead", function (e) {
|
|
154
156
|
e.stopPropagation();
|
|
155
|
-
if (!
|
|
156
|
-
if (!
|
|
157
|
-
|
|
157
|
+
if (!_this.props.disabled && !_this.props.isLoading) {
|
|
158
|
+
if (!_this.state.showTypeahead && _this.props.onFocus) {
|
|
159
|
+
_this.props.onFocus();
|
|
158
160
|
}
|
|
159
|
-
|
|
161
|
+
_this.setState({
|
|
160
162
|
showTypeahead: true
|
|
161
163
|
});
|
|
162
164
|
}
|
|
163
165
|
});
|
|
166
|
+
return _this;
|
|
164
167
|
}
|
|
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
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
168
|
+
(0, _inherits2["default"])(ItemSelector, _Component);
|
|
169
|
+
return (0, _createClass2["default"])(ItemSelector, [{
|
|
170
|
+
key: "_hideTypeahead",
|
|
171
|
+
value: function _hideTypeahead() {
|
|
172
|
+
this.setState({
|
|
173
|
+
showTypeahead: false
|
|
174
|
+
});
|
|
175
|
+
this._onBlur();
|
|
176
|
+
}
|
|
177
|
+
}, {
|
|
178
|
+
key: "_renderDropdown",
|
|
179
|
+
value: function _renderDropdown(intl) {
|
|
180
|
+
var _this$props$placement = this.props.placement,
|
|
181
|
+
placement = _this$props$placement === void 0 ? 'bottom' : _this$props$placement;
|
|
182
|
+
return /*#__PURE__*/_react["default"].createElement(DropdownWrapper, {
|
|
183
|
+
placement: placement
|
|
184
|
+
}, /*#__PURE__*/_react["default"].createElement(_typeahead["default"], {
|
|
185
|
+
customClasses: {
|
|
186
|
+
results: 'list-selector',
|
|
187
|
+
input: 'typeahead__input',
|
|
188
|
+
listItem: 'list__item',
|
|
189
|
+
listAnchor: 'list__item__anchor'
|
|
190
|
+
},
|
|
191
|
+
options: this.props.options,
|
|
192
|
+
filterOption: this.props.filterOption,
|
|
193
|
+
fixedOptions: this.props.fixedOptions,
|
|
194
|
+
placeholder: this.props.typeaheadPlaceholder || intl ? intl.formatMessage({
|
|
195
|
+
id: 'placeholder.search'
|
|
196
|
+
}) : 'Search',
|
|
197
|
+
onOptionSelected: this._selectItem,
|
|
198
|
+
customListComponent: this.props.DropDownRenderComponent,
|
|
199
|
+
customListHeaderComponent: this.props.DropdownHeaderComponent,
|
|
200
|
+
customListItemComponent: this.props.DropDownLineItemRenderComponent,
|
|
201
|
+
displayOption: _accessor["default"].generateOptionToStringFor(this.props.displayOption),
|
|
202
|
+
searchable: this.props.searchable,
|
|
203
|
+
showOptionsWhenEmpty: true,
|
|
204
|
+
selectedItems: (0, _utils.toArray)(this.props.selectedItems),
|
|
205
|
+
light: this.props.inputTheme === 'light',
|
|
206
|
+
withSubOptions: this.props.withSubOptions
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
}, {
|
|
210
|
+
key: "render",
|
|
211
|
+
value: function render() {
|
|
212
|
+
var selected = (0, _utils.toArray)(this.props.selectedItems);
|
|
213
|
+
var hasValue = selected.length;
|
|
214
|
+
var displayOption = _accessor["default"].generateOptionToStringFor(this.props.displayOption);
|
|
215
|
+
var _this$props = this.props,
|
|
216
|
+
_this$props$inputThem = _this$props.inputTheme,
|
|
217
|
+
inputTheme = _this$props$inputThem === void 0 ? 'primary' : _this$props$inputThem,
|
|
218
|
+
_this$props$DropDownL = _this$props.DropDownLineItemRenderComponent,
|
|
219
|
+
DropDownLineItemRenderComponent = _this$props$DropDownL === void 0 ? _dropdownList.ListItem : _this$props$DropDownL;
|
|
220
|
+
var dropdownSelectProps = {
|
|
221
|
+
className: (0, _classnames["default"])({
|
|
222
|
+
active: this.state.showTypeahead
|
|
223
|
+
}),
|
|
224
|
+
displayOption: displayOption,
|
|
225
|
+
disabled: this.props.disabled,
|
|
226
|
+
onClick: this._showTypeahead,
|
|
227
|
+
error: this.props.isError,
|
|
228
|
+
inputTheme: inputTheme,
|
|
229
|
+
size: this.props.size
|
|
230
|
+
};
|
|
231
|
+
var intl = this.props.intl;
|
|
232
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
233
|
+
className: "item-selector"
|
|
234
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
235
|
+
style: {
|
|
236
|
+
position: 'relative'
|
|
237
|
+
}
|
|
238
|
+
}, this.props.multiSelect ? /*#__PURE__*/_react["default"].createElement(_chickletedInput["default"], (0, _extends2["default"])({}, dropdownSelectProps, {
|
|
239
|
+
selectedItems: (0, _utils.toArray)(this.props.selectedItems),
|
|
240
|
+
placeholder: this.props.placeholder,
|
|
241
|
+
removeItem: this._removeItem,
|
|
242
|
+
CustomChickletComponent: this.props.CustomChickletComponent,
|
|
243
|
+
inputTheme: inputTheme
|
|
244
|
+
})) :
|
|
245
|
+
/*#__PURE__*/
|
|
246
|
+
// @ts-expect-error
|
|
247
|
+
_react["default"].createElement(StyledDropdownSelect, dropdownSelectProps, /*#__PURE__*/_react["default"].createElement(DropdownSelectValue, {
|
|
248
|
+
hasPlaceholder: !hasValue,
|
|
249
|
+
inputTheme: inputTheme,
|
|
250
|
+
className: "item-selector__dropdown__value"
|
|
251
|
+
}, hasValue ? /*#__PURE__*/_react["default"].createElement(DropDownLineItemRenderComponent, {
|
|
252
|
+
displayOption: displayOption,
|
|
253
|
+
value: selected[0],
|
|
254
|
+
light: inputTheme === 'light'
|
|
255
|
+
}) : /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
256
|
+
id: this.props.placeholder || 'placeholder.selectValue'
|
|
257
|
+
})), this.props.erasable && hasValue ? /*#__PURE__*/_react["default"].createElement(DropdownSelectActionRight, null, this.props.isLoading ? /*#__PURE__*/_react["default"].createElement(_loadingSpinner["default"], {
|
|
258
|
+
size: 18,
|
|
259
|
+
strokeWidth: 2,
|
|
260
|
+
gap: 0
|
|
261
|
+
}) : /*#__PURE__*/_react["default"].createElement(_icons.Delete, {
|
|
262
|
+
height: "12px",
|
|
263
|
+
onClick: this._onErase
|
|
264
|
+
})) : this.props.showArrow ? /*#__PURE__*/_react["default"].createElement(DropdownSelectActionRight, null, /*#__PURE__*/_react["default"].createElement(_icons.ArrowDown, {
|
|
265
|
+
height: "14px",
|
|
266
|
+
onClick: this._showTypeahead
|
|
267
|
+
})) : null), this.state.showTypeahead && this._renderDropdown(intl)));
|
|
268
|
+
}
|
|
269
|
+
}]);
|
|
270
|
+
}(_react.Component);
|
|
271
|
+
(0, _defineProperty2["default"])(ItemSelector, "defaultProps", {
|
|
261
272
|
multiSelect: true,
|
|
262
273
|
placeholder: 'placeholder.enterValue',
|
|
263
274
|
closeOnSelect: true,
|
|
264
275
|
searchable: true,
|
|
265
|
-
DropDownRenderComponent: _dropdownList
|
|
276
|
+
DropDownRenderComponent: _dropdownList["default"],
|
|
266
277
|
DropDownLineItemRenderComponent: _dropdownList.ListItem,
|
|
267
278
|
withSubOptions: false
|
|
268
279
|
});
|
|
269
|
-
|
|
270
|
-
var _default = exports
|
|
271
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdW5pcUJ5IiwiX3JlYWN0T25jbGlja291dHNpZGUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9hY2Nlc3NvciIsIl9jaGlja2xldGVkSW5wdXQiLCJfdHlwZWFoZWFkIiwiX2ljb25zIiwiX2xvYWRpbmdTcGlubmVyIiwiX2Ryb3Bkb3duTGlzdCIsIl91dGlscyIsIl9yZWFjdEludGwiLCJfbG9jYWxpemF0aW9uIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiU3R5bGVkRHJvcGRvd25TZWxlY3QiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJwcm9wcyIsImlucHV0VGhlbWUiLCJ0aGVtZSIsInNlY29uZGFyeUlucHV0IiwiaW5wdXRMVCIsImlucHV0Iiwic2l6ZSIsImlucHV0Qm94SGVpZ2h0U21hbGwiLCJpbnB1dEJveEhlaWdodCIsImRyb3Bkb3duTGlzdEFuY2hvciIsIkRyb3Bkb3duU2VsZWN0VmFsdWUiLCJzcGFuIiwiaGFzUGxhY2Vob2xkZXIiLCJzZWxlY3RDb2xvclBsYWNlSG9sZGVyTFQiLCJzZWxlY3RDb2xvclBsYWNlSG9sZGVyIiwic2VsZWN0Q29sb3JMVCIsInNlbGVjdENvbG9yIiwiZHJvcGRvd25MaXN0SXRlbUxUIiwiZHJvcGRvd25MaXN0SXRlbSIsImRyb3Bkb3duTGlzdEFuY2hvckxUIiwiRHJvcGRvd25TZWxlY3RBY3Rpb25SaWdodCIsInN1YnRleHRDb2xvciIsInRleHRDb2xvciIsIkRyb3Bkb3duV3JhcHBlciIsImRyb3Bkb3duV3JhcHBlcloiLCJwbGFjZW1lbnQiLCJkcm9wZG93bldhcHBlck1hcmdpbiIsInByZXZlbnRDbG9zZVNlbGVjdG9yIiwiSXRlbVNlbGVjdG9yIiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJhcmd1bWVudHMiLCJfZGVmaW5lUHJvcGVydHkyIiwic2hvd1R5cGVhaGVhZCIsIl9lJHRhcmdldCIsIl9lJHRhcmdldCRjbGFzc0xpc3QiLCJ0YXJnZXQiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsIl9oaWRlVHlwZWFoZWFkIiwib25CbHVyIiwiaXRlbSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwibXVsdGlTZWxlY3RlZEl0ZW1zIiwidG9BcnJheSIsInNlbGVjdGVkSXRlbXMiLCJpbmRleCIsImZpbmRJbmRleCIsIml0ZW1zIiwic2xpY2UiLCJsZW5ndGgiLCJvbkNoYW5nZSIsImNsb3NlT25TZWxlY3QiLCJzZXRTdGF0ZSIsIl9vbkJsdXIiLCJnZXRWYWx1ZSIsIkFjY2Vzc29yIiwiZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0ZvciIsImdldE9wdGlvblZhbHVlIiwiZGlzcGxheU9wdGlvbiIsInByZXZpb3VzU2VsZWN0ZWQiLCJtdWx0aVNlbGVjdCIsInVuaXFCeSIsImNvbmNhdCIsImRpc2FibGVkIiwiaXNMb2FkaW5nIiwic3RhdGUiLCJvbkZvY3VzIiwiX3JlbmRlckRyb3Bkb3duIiwiaW50bCIsImNyZWF0ZUVsZW1lbnQiLCJjdXN0b21DbGFzc2VzIiwicmVzdWx0cyIsImxpc3RJdGVtIiwibGlzdEFuY2hvciIsIm9wdGlvbnMiLCJmaWx0ZXJPcHRpb24iLCJmaXhlZE9wdGlvbnMiLCJwbGFjZWhvbGRlciIsInR5cGVhaGVhZFBsYWNlaG9sZGVyIiwiZm9ybWF0TWVzc2FnZSIsImlkIiwib25PcHRpb25TZWxlY3RlZCIsIl9zZWxlY3RJdGVtIiwiY3VzdG9tTGlzdENvbXBvbmVudCIsIkRyb3BEb3duUmVuZGVyQ29tcG9uZW50IiwiY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudCIsIkRyb3Bkb3duSGVhZGVyQ29tcG9uZW50IiwiY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQiLCJEcm9wRG93bkxpbmVJdGVtUmVuZGVyQ29tcG9uZW50Iiwic2VhcmNoYWJsZSIsInNob3dPcHRpb25zV2hlbkVtcHR5IiwibGlnaHQiLCJ3aXRoU3ViT3B0aW9ucyIsInJlbmRlciIsInNlbGVjdGVkIiwiaGFzVmFsdWUiLCJMaXN0SXRlbSIsImRyb3Bkb3duU2VsZWN0UHJvcHMiLCJjbGFzc25hbWVzIiwiYWN0aXZlIiwib25DbGljayIsIl9zaG93VHlwZWFoZWFkIiwiZXJyb3IiLCJpc0Vycm9yIiwic3R5bGUiLCJwb3NpdGlvbiIsIl9leHRlbmRzMiIsInJlbW92ZUl0ZW0iLCJfcmVtb3ZlSXRlbSIsIkN1c3RvbUNoaWNrbGV0Q29tcG9uZW50IiwidmFsdWUiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiZXJhc2FibGUiLCJzdHJva2VXaWR0aCIsImdhcCIsIkRlbGV0ZSIsImhlaWdodCIsIl9vbkVyYXNlIiwic2hvd0Fycm93IiwiQXJyb3dEb3duIiwiRHJvcGRvd25MaXN0IiwiSXRlbVNlbGVjdG9yTGlzdGVuIiwibGlzdGVuc1RvQ2xpY2tPdXRzaWRlIiwiX2RlZmF1bHQiLCJpbmplY3RJbnRsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBDb21wb25lbnRUeXBlLCBNb3VzZUV2ZW50SGFuZGxlcn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuaW1wb3J0IGxpc3RlbnNUb0NsaWNrT3V0c2lkZSBmcm9tICdyZWFjdC1vbmNsaWNrb3V0c2lkZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IEFjY2Vzc29yIGZyb20gJy4vYWNjZXNzb3InO1xuaW1wb3J0IENoaWNrbGV0ZWRJbnB1dCBmcm9tICcuL2NoaWNrbGV0ZWQtaW5wdXQnO1xuaW1wb3J0IFR5cGVhaGVhZCBmcm9tICcuL3R5cGVhaGVhZCc7XG5pbXBvcnQge0RlbGV0ZSwgQXJyb3dEb3dufSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgTG9hZGluZ1NwaW5uZXIgZnJvbSAnY29tcG9uZW50cy9jb21tb24vbG9hZGluZy1zcGlubmVyJztcbmltcG9ydCBEcm9wZG93bkxpc3QsIHtMaXN0SXRlbX0gZnJvbSAnLi9kcm9wZG93bi1saXN0JztcblxuaW1wb3J0IHt0b0FycmF5fSBmcm9tICd1dGlscy91dGlscyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5cbmludGVyZmFjZSBTdHlsZWREcm9wZG93blNlbGVjdCB7XG4gIGlucHV0VGhlbWU/OiBzdHJpbmc7XG4gIHNpemU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREcm9wZG93blNlbGVjdCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdpdGVtLXNlbGVjdG9yX19kcm9wZG93bidcbn0pPFN0eWxlZERyb3Bkb3duU2VsZWN0PmBcbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmlucHV0VGhlbWUgPT09ICdzZWNvbmRhcnknXG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0XG4gICAgICA6IHByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCdcbiAgICAgID8gcHJvcHMudGhlbWUuaW5wdXRMVFxuICAgICAgOiBwcm9wcy50aGVtZS5pbnB1dH07XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2l6ZSA9PT0gJ3NtYWxsJyA/IHByb3BzLnRoZW1lLmlucHV0Qm94SGVpZ2h0U21hbGwgOiBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodH07XG5cbiAgLmxpc3RfX2l0ZW1fX2FuY2hvciB7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RBbmNob3J9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgRHJvcGRvd25TZWxlY3RWYWx1ZVByb3BzIHtcbiAgaGFzUGxhY2Vob2xkZXI/OiBib29sZWFuO1xuICBpbnB1dFRoZW1lPzogc3RyaW5nO1xufVxuXG5jb25zdCBEcm9wZG93blNlbGVjdFZhbHVlID0gc3R5bGVkLnNwYW48RHJvcGRvd25TZWxlY3RWYWx1ZVByb3BzPmBcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5oYXNQbGFjZWhvbGRlciAmJiBwcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnXG4gICAgICA/IHByb3BzLnRoZW1lLnNlbGVjdENvbG9yUGxhY2VIb2xkZXJMVFxuICAgICAgOiBwcm9wcy5oYXNQbGFjZWhvbGRlclxuICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3RDb2xvclBsYWNlSG9sZGVyXG4gICAgICA6IHByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCdcbiAgICAgID8gcHJvcHMudGhlbWUuc2VsZWN0Q29sb3JMVFxuICAgICAgOiBwcm9wcy50aGVtZS5zZWxlY3RDb2xvcn07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC5saXN0X19pdGVtIHtcbiAgICAke3Byb3BzID0+XG4gICAgICBwcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnID8gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SXRlbUxUIDogcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SXRlbX07XG4gIH1cblxuICAubGlzdF9faXRlbV9fYW5jaG9yIHtcbiAgICAke3Byb3BzID0+XG4gICAgICBwcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnXG4gICAgICAgID8gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QW5jaG9yTFRcbiAgICAgICAgOiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RBbmNob3J9O1xuICB9XG5gO1xuXG5jb25zdCBEcm9wZG93blNlbGVjdEFjdGlvblJpZ2h0ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG5cbiAgOmhvdmVyIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgRHJvcGRvd25XcmFwcGVyUHJvcHMge1xuICBwbGFjZW1lbnQ/OiBzdHJpbmc7XG59XG5cbmNvbnN0IERyb3Bkb3duV3JhcHBlciA9IHN0eWxlZC5kaXY8RHJvcGRvd25XcmFwcGVyUHJvcHM+YFxuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV3JhcHBlclp9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMucGxhY2VtZW50ID09PSAndG9wJyA/IHByb3BzLnRoZW1lLmlucHV0Qm94SGVpZ2h0IDogJ2F1dG8nKX07XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5wbGFjZW1lbnQgPT09ICdib3R0b20nID8gYCR7cHJvcHMudGhlbWUuZHJvcGRvd25XYXBwZXJNYXJnaW59cHhgIDogJ2F1dG8nfTtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PlxuICAgIHByb3BzLnBsYWNlbWVudCA9PT0gJ3RvcCcgPyBgJHtwcm9wcy50aGVtZS5kcm9wZG93bldhcHBlck1hcmdpbn1weGAgOiAnYXV0byd9O1xuYDtcblxuLy8gVGhlIGl0ZW0tc2VsZWN0b3IgY29tcG9uZW50IGRpc21vdW50IGFsbCBpdHMgY2hpbGRyZW4gaWYgeW91IGNsaWNrIG91dHNpZGUgb2YgdGhlIGNvbXBvbmVudCBiZWNhdXNlIG9mIGxpc3RlbnNUb0NsaWNrT3V0c2lkZSBmdW5jdGlvbi5cbi8vIElmIHlvdSB3YW50IHRvIHByZXZlbnQgdGhpcyBiZWhhdmlvdXIgd2hlbiB5b3UgY2xpY2sgb24gYSBjaGlsZCBhZGQgdGhpcyBjbGFzcyB0byBpdC5cbi8vIEl0IGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSwgd2hlbiB5b3UgYWRkIHRoZSBjaGlsZCBjb21wb25lbnQgb24gdGhlIHRvcCBvZiB0cmVlIHdpdGggYSBQb3J0YWwgYXMgZHJvcGRvd24tbGlzdCBkb2VzIHdpdGggaXRlbS1zZWxlY3Rvci1zdWJtZW51XG5leHBvcnQgY29uc3QgcHJldmVudENsb3NlU2VsZWN0b3IgPSAncHJldmVudF9fY2xvc2VfX3NlbGVjdG9yJztcblxudHlwZSBJdGVtU2VsZWN0b3JQcm9wcyA9IHtcbiAgc2VsZWN0ZWRJdGVtcz86XG4gICAgfCBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+XG4gICAgfCBzdHJpbmdcbiAgICB8IG51bWJlclxuICAgIHwgYm9vbGVhblxuICAgIHwgb2JqZWN0XG4gICAgfCBudWxsO1xuICBvcHRpb25zOiBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+O1xuICBvbkNoYW5nZTogKFxuICAgIGl0ZW1zOlxuICAgICAgfCBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+XG4gICAgICB8IHN0cmluZ1xuICAgICAgfCBudW1iZXJcbiAgICAgIHwgYm9vbGVhblxuICAgICAgfCBvYmplY3RcbiAgICAgIHwgbnVsbFxuICApID0+IHZvaWQ7XG4gIGZpeGVkT3B0aW9ucz86IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG9iamVjdD4gfCBudWxsO1xuICBlcmFzYWJsZT86IGJvb2xlYW47XG4gIHNob3dBcnJvdz86IGJvb2xlYW47XG4gIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICBkaXNwbGF5T3B0aW9uPzogc3RyaW5nIHwgKChvcHQ6IGFueSkgPT4gYW55KTtcbiAgZ2V0T3B0aW9uVmFsdWU/OiBzdHJpbmcgfCAoKG9wdDogYW55KSA9PiBhbnkpO1xuICBmaWx0ZXJPcHRpb24/OiBzdHJpbmcgfCAoKG9wdDogYW55KSA9PiBhbnkpO1xuICBwbGFjZW1lbnQ/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNFcnJvcj86IGJvb2xlYW47XG4gIGlzTG9hZGluZz86IGJvb2xlYW47XG4gIG11bHRpU2VsZWN0PzogYm9vbGVhbjtcbiAgaW5wdXRUaGVtZT86IHN0cmluZztcbiAgc2l6ZT86IHN0cmluZztcbiAgb25CbHVyPzogKCkgPT4gdm9pZDtcbiAgb25Gb2N1cz86ICgpID0+IHZvaWQ7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBjbG9zZU9uU2VsZWN0PzogYm9vbGVhbjtcbiAgdHlwZWFoZWFkUGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIERyb3Bkb3duSGVhZGVyQ29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxhbnk+IHwgbnVsbDtcbiAgRHJvcERvd25SZW5kZXJDb21wb25lbnQ/OiBDb21wb25lbnRUeXBlPGFueT47XG4gIERyb3BEb3duTGluZUl0ZW1SZW5kZXJDb21wb25lbnQ/OiBDb21wb25lbnRUeXBlPGFueT47XG4gIEN1c3RvbUNoaWNrbGV0Q29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxhbnk+O1xuICBpbnRsOiBJbnRsU2hhcGU7XG4gIHdpdGhTdWJPcHRpb25zPzogYm9vbGVhbjtcbn07XG5cbmNsYXNzIEl0ZW1TZWxlY3RvciBleHRlbmRzIENvbXBvbmVudDxJdGVtU2VsZWN0b3JQcm9wcz4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXIuZW50ZXJWYWx1ZScsXG4gICAgY2xvc2VPblNlbGVjdDogdHJ1ZSxcbiAgICBzZWFyY2hhYmxlOiB0cnVlLFxuICAgIERyb3BEb3duUmVuZGVyQ29tcG9uZW50OiBEcm9wZG93bkxpc3QsXG4gICAgRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudDogTGlzdEl0ZW0sXG4gICAgd2l0aFN1Yk9wdGlvbnM6IGZhbHNlXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgc2hvd1R5cGVhaGVhZDogZmFsc2VcbiAgfTtcblxuICBoYW5kbGVDbGlja091dHNpZGUgPSBlID0+IHtcbiAgICBpZiAoZT8udGFyZ2V0Py5jbGFzc0xpc3Q/LmNvbnRhaW5zKHByZXZlbnRDbG9zZVNlbGVjdG9yKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9oaWRlVHlwZWFoZWFkKCk7XG4gIH07XG5cbiAgX2hpZGVUeXBlYWhlYWQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7c2hvd1R5cGVhaGVhZDogZmFsc2V9KTtcbiAgICB0aGlzLl9vbkJsdXIoKTtcbiAgfVxuXG4gIF9vbkJsdXIgPSAoKSA9PiB7XG4gICAgLy8gbm90ZTogY2hpY2tsZXRlZCBpbnB1dCBpcyBub3QgYSByZWFsIGZvcm0gZWxlbWVudCBzbyB3ZSBjYWxsIG9uQmx1cigpXG4gICAgLy8gd2hlbiB3ZSBmZWVsIHRoZSBldmVudHMgYXJlIGFwcHJvcHJpYXRlXG4gICAgaWYgKHRoaXMucHJvcHMub25CbHVyKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQmx1cigpO1xuICAgIH1cbiAgfTtcblxuICBfcmVtb3ZlSXRlbSA9IChpdGVtLCBlKSA9PiB7XG4gICAgLy8gb25seSB1c2VkIHdoZW4gbXVsdGlTZWxlY3QgPSB0cnVlXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgbXVsdGlTZWxlY3RlZEl0ZW1zID0gdG9BcnJheSh0aGlzLnByb3BzLnNlbGVjdGVkSXRlbXMpO1xuICAgIGNvbnN0IGluZGV4ID0gbXVsdGlTZWxlY3RlZEl0ZW1zLmZpbmRJbmRleCh0ID0+IHQgPT09IGl0ZW0pO1xuXG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgLi4ubXVsdGlTZWxlY3RlZEl0ZW1zLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgIC4uLm11bHRpU2VsZWN0ZWRJdGVtcy5zbGljZShpbmRleCArIDEsIG11bHRpU2VsZWN0ZWRJdGVtcy5sZW5ndGgpXG4gICAgXTtcblxuICAgIHRoaXMucHJvcHMub25DaGFuZ2UoaXRlbXMpO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd1R5cGVhaGVhZDogZmFsc2V9KTtcbiAgICAgIHRoaXMuX29uQmx1cigpO1xuICAgIH1cbiAgfTtcblxuICBfc2VsZWN0SXRlbSA9IGl0ZW0gPT4ge1xuICAgIGNvbnN0IGdldFZhbHVlID0gQWNjZXNzb3IuZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0ZvcihcbiAgICAgIHRoaXMucHJvcHMuZ2V0T3B0aW9uVmFsdWUgfHwgdGhpcy5wcm9wcy5kaXNwbGF5T3B0aW9uXG4gICAgKTtcblxuICAgIGNvbnN0IHByZXZpb3VzU2VsZWN0ZWQgPSB0b0FycmF5KHRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtcyk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5tdWx0aVNlbGVjdCkge1xuICAgICAgY29uc3QgaXRlbXMgPSB1bmlxQnkocHJldmlvdXNTZWxlY3RlZC5jb25jYXQodG9BcnJheShpdGVtKSksIGdldFZhbHVlKTtcbiAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UoaXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKGdldFZhbHVlKGl0ZW0pKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtzaG93VHlwZWFoZWFkOiBmYWxzZX0pO1xuICAgICAgdGhpcy5fb25CbHVyKCk7XG4gICAgfVxuICB9O1xuXG4gIF9vbkVyYXNlOiBNb3VzZUV2ZW50SGFuZGxlciA9IGUgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShudWxsKTtcbiAgfTtcblxuICBfc2hvd1R5cGVhaGVhZDogTW91c2VFdmVudEhhbmRsZXIgPSBlID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICghdGhpcy5wcm9wcy5kaXNhYmxlZCAmJiAhdGhpcy5wcm9wcy5pc0xvYWRpbmcpIHtcbiAgICAgIGlmICghdGhpcy5zdGF0ZS5zaG93VHlwZWFoZWFkICYmIHRoaXMucHJvcHMub25Gb2N1cykge1xuICAgICAgICB0aGlzLnByb3BzLm9uRm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBzaG93VHlwZWFoZWFkOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgX3JlbmRlckRyb3Bkb3duKGludGw6IEludGxTaGFwZSkge1xuICAgIGNvbnN0IHtwbGFjZW1lbnQgPSAnYm90dG9tJ30gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8RHJvcGRvd25XcmFwcGVyIHBsYWNlbWVudD17cGxhY2VtZW50fT5cbiAgICAgICAgPFR5cGVhaGVhZFxuICAgICAgICAgIGN1c3RvbUNsYXNzZXM9e3tcbiAgICAgICAgICAgIHJlc3VsdHM6ICdsaXN0LXNlbGVjdG9yJyxcbiAgICAgICAgICAgIGlucHV0OiAndHlwZWFoZWFkX19pbnB1dCcsXG4gICAgICAgICAgICBsaXN0SXRlbTogJ2xpc3RfX2l0ZW0nLFxuICAgICAgICAgICAgbGlzdEFuY2hvcjogJ2xpc3RfX2l0ZW1fX2FuY2hvcidcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9wdGlvbnM9e3RoaXMucHJvcHMub3B0aW9uc31cbiAgICAgICAgICBmaWx0ZXJPcHRpb249e3RoaXMucHJvcHMuZmlsdGVyT3B0aW9ufVxuICAgICAgICAgIGZpeGVkT3B0aW9ucz17dGhpcy5wcm9wcy5maXhlZE9wdGlvbnN9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgdGhpcy5wcm9wcy50eXBlYWhlYWRQbGFjZWhvbGRlciB8fCBpbnRsXG4gICAgICAgICAgICAgID8gaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ3BsYWNlaG9sZGVyLnNlYXJjaCd9KVxuICAgICAgICAgICAgICA6ICdTZWFyY2gnXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9e3RoaXMuX3NlbGVjdEl0ZW19XG4gICAgICAgICAgY3VzdG9tTGlzdENvbXBvbmVudD17dGhpcy5wcm9wcy5Ecm9wRG93blJlbmRlckNvbXBvbmVudH1cbiAgICAgICAgICBjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50PXt0aGlzLnByb3BzLkRyb3Bkb3duSGVhZGVyQ29tcG9uZW50fVxuICAgICAgICAgIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50PXt0aGlzLnByb3BzLkRyb3BEb3duTGluZUl0ZW1SZW5kZXJDb21wb25lbnR9XG4gICAgICAgICAgZGlzcGxheU9wdGlvbj17QWNjZXNzb3IuZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0Zvcih0aGlzLnByb3BzLmRpc3BsYXlPcHRpb24pfVxuICAgICAgICAgIHNlYXJjaGFibGU9e3RoaXMucHJvcHMuc2VhcmNoYWJsZX1cbiAgICAgICAgICBzaG93T3B0aW9uc1doZW5FbXB0eVxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3RvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKX1cbiAgICAgICAgICBsaWdodD17dGhpcy5wcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnfVxuICAgICAgICAgIHdpdGhTdWJPcHRpb25zPXt0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zfVxuICAgICAgICAvPlxuICAgICAgPC9Ecm9wZG93bldyYXBwZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICBjb25zdCBoYXNWYWx1ZSA9IHNlbGVjdGVkLmxlbmd0aDtcbiAgICBjb25zdCBkaXNwbGF5T3B0aW9uID0gQWNjZXNzb3IuZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0Zvcih0aGlzLnByb3BzLmRpc3BsYXlPcHRpb24pO1xuICAgIGNvbnN0IHtpbnB1dFRoZW1lID0gJ3ByaW1hcnknLCBEcm9wRG93bkxpbmVJdGVtUmVuZGVyQ29tcG9uZW50ID0gTGlzdEl0ZW19ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGRyb3Bkb3duU2VsZWN0UHJvcHMgPSB7XG4gICAgICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoe1xuICAgICAgICBhY3RpdmU6IHRoaXMuc3RhdGUuc2hvd1R5cGVhaGVhZFxuICAgICAgfSksXG4gICAgICBkaXNwbGF5T3B0aW9uLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMucHJvcHMuZGlzYWJsZWQsXG4gICAgICBvbkNsaWNrOiB0aGlzLl9zaG93VHlwZWFoZWFkLFxuICAgICAgZXJyb3I6IHRoaXMucHJvcHMuaXNFcnJvcixcbiAgICAgIGlucHV0VGhlbWU6IGlucHV0VGhlbWUsXG4gICAgICBzaXplOiB0aGlzLnByb3BzLnNpemVcbiAgICB9O1xuICAgIGNvbnN0IGludGwgPSB0aGlzLnByb3BzLmludGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJpdGVtLXNlbGVjdG9yXCI+XG4gICAgICAgIDxkaXYgc3R5bGU9e3twb3NpdGlvbjogJ3JlbGF0aXZlJ319PlxuICAgICAgICAgIHsvKiB0aGlzIHBhcnQgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBsYWJlbCAqL31cbiAgICAgICAgICB7dGhpcy5wcm9wcy5tdWx0aVNlbGVjdCA/IChcbiAgICAgICAgICAgIDxDaGlja2xldGVkSW5wdXRcbiAgICAgICAgICAgICAgey4uLmRyb3Bkb3duU2VsZWN0UHJvcHN9XG4gICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3RvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3RoaXMucHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgIHJlbW92ZUl0ZW09e3RoaXMuX3JlbW92ZUl0ZW19XG4gICAgICAgICAgICAgIEN1c3RvbUNoaWNrbGV0Q29tcG9uZW50PXt0aGlzLnByb3BzLkN1c3RvbUNoaWNrbGV0Q29tcG9uZW50fVxuICAgICAgICAgICAgICBpbnB1dFRoZW1lPXtpbnB1dFRoZW1lfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgPFN0eWxlZERyb3Bkb3duU2VsZWN0IHsuLi5kcm9wZG93blNlbGVjdFByb3BzfT5cbiAgICAgICAgICAgICAgPERyb3Bkb3duU2VsZWN0VmFsdWVcbiAgICAgICAgICAgICAgICBoYXNQbGFjZWhvbGRlcj17IWhhc1ZhbHVlfVxuICAgICAgICAgICAgICAgIGlucHV0VGhlbWU9e2lucHV0VGhlbWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd25fX3ZhbHVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtoYXNWYWx1ZSA/IChcbiAgICAgICAgICAgICAgICAgIDxEcm9wRG93bkxpbmVJdGVtUmVuZGVyQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlPcHRpb249e2Rpc3BsYXlPcHRpb259XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZFswXX1cbiAgICAgICAgICAgICAgICAgICAgbGlnaHQ9e2lucHV0VGhlbWUgPT09ICdsaWdodCd9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17dGhpcy5wcm9wcy5wbGFjZWhvbGRlciB8fCAncGxhY2Vob2xkZXIuc2VsZWN0VmFsdWUnfSAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvRHJvcGRvd25TZWxlY3RWYWx1ZT5cbiAgICAgICAgICAgICAge3RoaXMucHJvcHMuZXJhc2FibGUgJiYgaGFzVmFsdWUgPyAoXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQ+XG4gICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5pc0xvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nU3Bpbm5lciBzaXplPXsxOH0gc3Ryb2tlV2lkdGg9ezJ9IGdhcD17MH0gLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxEZWxldGUgaGVpZ2h0PVwiMTJweFwiIG9uQ2xpY2s9e3RoaXMuX29uRXJhc2V9IC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvRHJvcGRvd25TZWxlY3RBY3Rpb25SaWdodD5cbiAgICAgICAgICAgICAgKSA6IHRoaXMucHJvcHMuc2hvd0Fycm93ID8gKFxuICAgICAgICAgICAgICAgIDxEcm9wZG93blNlbGVjdEFjdGlvblJpZ2h0PlxuICAgICAgICAgICAgICAgICAgPEFycm93RG93biBoZWlnaHQ9XCIxNHB4XCIgb25DbGljaz17dGhpcy5fc2hvd1R5cGVhaGVhZH0gLz5cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdHlsZWREcm9wZG93blNlbGVjdD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHsvKiB0aGlzIHBhcnQgaXMgdXNlZCB0byBidWlsdCB0aGUgbGlzdCAqL31cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5zaG93VHlwZWFoZWFkICYmIHRoaXMuX3JlbmRlckRyb3Bkb3duKGludGwpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW1TZWxlY3Rvckxpc3RlbiA9IGxpc3RlbnNUb0NsaWNrT3V0c2lkZShJdGVtU2VsZWN0b3IpO1xuZXhwb3J0IGRlZmF1bHQgaW5qZWN0SW50bChsaXN0ZW5zVG9DbGlja091dHNpZGUoSXRlbVNlbGVjdG9yKSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxvQkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssaUJBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFNLFNBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLGdCQUFBLEdBQUFMLHNCQUFBLENBQUFG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
|
|
280
|
+
var ItemSelectorListen = exports.ItemSelectorListen = (0, _reactOnclickoutside["default"])(ItemSelector);
|
|
281
|
+
var _default = exports["default"] = (0, _reactIntl.injectIntl)((0, _reactOnclickoutside["default"])(ItemSelector));
|
|
282
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdW5pcUJ5IiwiX3JlYWN0T25jbGlja291dHNpZGUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9hY2Nlc3NvciIsIl9jaGlja2xldGVkSW5wdXQiLCJfdHlwZWFoZWFkIiwiX2ljb25zIiwiX2xvYWRpbmdTcGlubmVyIiwiX2Ryb3Bkb3duTGlzdCIsIl91dGlscyIsIl9yZWFjdEludGwiLCJfbG9jYWxpemF0aW9uIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX2NhbGxTdXBlciIsIm8iLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJTdHlsZWREcm9wZG93blNlbGVjdCIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJpbnB1dFRoZW1lIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dCIsImlucHV0TFQiLCJpbnB1dCIsInNpemUiLCJpbnB1dEJveEhlaWdodFNtYWxsIiwiaW5wdXRCb3hIZWlnaHQiLCJkcm9wZG93bkxpc3RBbmNob3IiLCJEcm9wZG93blNlbGVjdFZhbHVlIiwic3BhbiIsImhhc1BsYWNlaG9sZGVyIiwic2VsZWN0Q29sb3JQbGFjZUhvbGRlckxUIiwic2VsZWN0Q29sb3JQbGFjZUhvbGRlciIsInNlbGVjdENvbG9yTFQiLCJzZWxlY3RDb2xvciIsImRyb3Bkb3duTGlzdEl0ZW1MVCIsImRyb3Bkb3duTGlzdEl0ZW0iLCJkcm9wZG93bkxpc3RBbmNob3JMVCIsIkRyb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQiLCJzdWJ0ZXh0Q29sb3IiLCJ0ZXh0Q29sb3IiLCJEcm9wZG93bldyYXBwZXIiLCJkcm9wZG93bldyYXBwZXJaIiwicGxhY2VtZW50IiwiY29uY2F0IiwiZHJvcGRvd25XYXBwZXJNYXJnaW4iLCJwcmV2ZW50Q2xvc2VTZWxlY3RvciIsIkl0ZW1TZWxlY3RvciIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJzaG93VHlwZWFoZWFkIiwiX2UkdGFyZ2V0IiwiX2UkdGFyZ2V0JGNsYXNzTGlzdCIsInRhcmdldCIsImNsYXNzTGlzdCIsImNvbnRhaW5zIiwiX2hpZGVUeXBlYWhlYWQiLCJvbkJsdXIiLCJpdGVtIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJtdWx0aVNlbGVjdGVkSXRlbXMiLCJ0b0FycmF5Iiwic2VsZWN0ZWRJdGVtcyIsImluZGV4IiwiZmluZEluZGV4IiwiaXRlbXMiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwic2xpY2UiLCJvbkNoYW5nZSIsImNsb3NlT25TZWxlY3QiLCJzZXRTdGF0ZSIsIl9vbkJsdXIiLCJnZXRWYWx1ZSIsIkFjY2Vzc29yIiwiZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0ZvciIsImdldE9wdGlvblZhbHVlIiwiZGlzcGxheU9wdGlvbiIsInByZXZpb3VzU2VsZWN0ZWQiLCJtdWx0aVNlbGVjdCIsInVuaXFCeSIsImRpc2FibGVkIiwiaXNMb2FkaW5nIiwic3RhdGUiLCJvbkZvY3VzIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsIl9yZW5kZXJEcm9wZG93biIsImludGwiLCJfdGhpcyRwcm9wcyRwbGFjZW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3VzdG9tQ2xhc3NlcyIsInJlc3VsdHMiLCJsaXN0SXRlbSIsImxpc3RBbmNob3IiLCJvcHRpb25zIiwiZmlsdGVyT3B0aW9uIiwiZml4ZWRPcHRpb25zIiwicGxhY2Vob2xkZXIiLCJ0eXBlYWhlYWRQbGFjZWhvbGRlciIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsIm9uT3B0aW9uU2VsZWN0ZWQiLCJfc2VsZWN0SXRlbSIsImN1c3RvbUxpc3RDb21wb25lbnQiLCJEcm9wRG93blJlbmRlckNvbXBvbmVudCIsImN1c3RvbUxpc3RIZWFkZXJDb21wb25lbnQiLCJEcm9wZG93bkhlYWRlckNvbXBvbmVudCIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IiwiRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudCIsInNlYXJjaGFibGUiLCJzaG93T3B0aW9uc1doZW5FbXB0eSIsImxpZ2h0Iiwid2l0aFN1Yk9wdGlvbnMiLCJyZW5kZXIiLCJzZWxlY3RlZCIsImhhc1ZhbHVlIiwiX3RoaXMkcHJvcHMiLCJfdGhpcyRwcm9wcyRpbnB1dFRoZW0iLCJfdGhpcyRwcm9wcyREcm9wRG93bkwiLCJMaXN0SXRlbSIsImRyb3Bkb3duU2VsZWN0UHJvcHMiLCJjbGFzc25hbWVzIiwiYWN0aXZlIiwib25DbGljayIsIl9zaG93VHlwZWFoZWFkIiwiZXJyb3IiLCJpc0Vycm9yIiwic3R5bGUiLCJwb3NpdGlvbiIsIl9leHRlbmRzMiIsInJlbW92ZUl0ZW0iLCJfcmVtb3ZlSXRlbSIsIkN1c3RvbUNoaWNrbGV0Q29tcG9uZW50IiwiRm9ybWF0dGVkTWVzc2FnZSIsImVyYXNhYmxlIiwic3Ryb2tlV2lkdGgiLCJnYXAiLCJEZWxldGUiLCJoZWlnaHQiLCJfb25FcmFzZSIsInNob3dBcnJvdyIsIkFycm93RG93biIsIkNvbXBvbmVudCIsIkRyb3Bkb3duTGlzdCIsIkl0ZW1TZWxlY3Rvckxpc3RlbiIsImxpc3RlbnNUb0NsaWNrT3V0c2lkZSIsIl9kZWZhdWx0IiwiaW5qZWN0SW50bCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgQ29tcG9uZW50VHlwZSwgTW91c2VFdmVudEhhbmRsZXJ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVuaXFCeSBmcm9tICdsb2Rhc2gvdW5pcUJ5JztcbmltcG9ydCBsaXN0ZW5zVG9DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBBY2Nlc3NvciBmcm9tICcuL2FjY2Vzc29yJztcbmltcG9ydCBDaGlja2xldGVkSW5wdXQgZnJvbSAnLi9jaGlja2xldGVkLWlucHV0JztcbmltcG9ydCBUeXBlYWhlYWQgZnJvbSAnLi90eXBlYWhlYWQnO1xuaW1wb3J0IHtEZWxldGUsIEFycm93RG93bn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IExvYWRpbmdTcGlubmVyIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgRHJvcGRvd25MaXN0LCB7TGlzdEl0ZW19IGZyb20gJy4vZHJvcGRvd24tbGlzdCc7XG5cbmltcG9ydCB7dG9BcnJheX0gZnJvbSAndXRpbHMvdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuXG5pbnRlcmZhY2UgU3R5bGVkRHJvcGRvd25TZWxlY3Qge1xuICBpbnB1dFRoZW1lPzogc3RyaW5nO1xuICBzaXplPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkRHJvcGRvd25TZWxlY3QgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd24nXG59KTxTdHlsZWREcm9wZG93blNlbGVjdD5gXG4gICR7cHJvcHMgPT5cbiAgICBwcm9wcy5pbnB1dFRoZW1lID09PSAnc2Vjb25kYXJ5J1xuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dFxuICAgICAgOiBwcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnXG4gICAgICA/IHByb3BzLnRoZW1lLmlucHV0TFRcbiAgICAgIDogcHJvcHMudGhlbWUuaW5wdXR9O1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PlxuICAgIHByb3BzLnNpemUgPT09ICdzbWFsbCcgPyBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodFNtYWxsIDogcHJvcHMudGhlbWUuaW5wdXRCb3hIZWlnaHR9O1xuXG4gIC5saXN0X19pdGVtX19hbmNob3Ige1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QW5jaG9yfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIERyb3Bkb3duU2VsZWN0VmFsdWVQcm9wcyB7XG4gIGhhc1BsYWNlaG9sZGVyPzogYm9vbGVhbjtcbiAgaW5wdXRUaGVtZT86IHN0cmluZztcbn1cblxuY29uc3QgRHJvcGRvd25TZWxlY3RWYWx1ZSA9IHN0eWxlZC5zcGFuPERyb3Bkb3duU2VsZWN0VmFsdWVQcm9wcz5gXG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuaGFzUGxhY2Vob2xkZXIgJiYgcHJvcHMuaW5wdXRUaGVtZSA9PT0gJ2xpZ2h0J1xuICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3RDb2xvclBsYWNlSG9sZGVyTFRcbiAgICAgIDogcHJvcHMuaGFzUGxhY2Vob2xkZXJcbiAgICAgID8gcHJvcHMudGhlbWUuc2VsZWN0Q29sb3JQbGFjZUhvbGRlclxuICAgICAgOiBwcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnXG4gICAgICA/IHByb3BzLnRoZW1lLnNlbGVjdENvbG9yTFRcbiAgICAgIDogcHJvcHMudGhlbWUuc2VsZWN0Q29sb3J9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAubGlzdF9faXRlbSB7XG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuaW5wdXRUaGVtZSA9PT0gJ2xpZ2h0JyA/IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEl0ZW1MVCA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEl0ZW19O1xuICB9XG5cbiAgLmxpc3RfX2l0ZW1fX2FuY2hvciB7XG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuaW5wdXRUaGVtZSA9PT0gJ2xpZ2h0J1xuICAgICAgICA/IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEFuY2hvckxUXG4gICAgICAgIDogcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QW5jaG9yfTtcbiAgfVxuYDtcblxuY29uc3QgRHJvcGRvd25TZWxlY3RBY3Rpb25SaWdodCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuXG4gIDpob3ZlciB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIERyb3Bkb3duV3JhcHBlclByb3BzIHtcbiAgcGxhY2VtZW50Pzogc3RyaW5nO1xufVxuXG5jb25zdCBEcm9wZG93bldyYXBwZXIgPSBzdHlsZWQuZGl2PERyb3Bkb3duV3JhcHBlclByb3BzPmBcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldyYXBwZXJafTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLnBsYWNlbWVudCA9PT0gJ3RvcCcgPyBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodCA6ICdhdXRvJyl9O1xuICBtYXJnaW4tdG9wOiAke3Byb3BzID0+XG4gICAgcHJvcHMucGxhY2VtZW50ID09PSAnYm90dG9tJyA/IGAke3Byb3BzLnRoZW1lLmRyb3Bkb3duV2FwcGVyTWFyZ2lufXB4YCA6ICdhdXRvJ307XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5wbGFjZW1lbnQgPT09ICd0b3AnID8gYCR7cHJvcHMudGhlbWUuZHJvcGRvd25XYXBwZXJNYXJnaW59cHhgIDogJ2F1dG8nfTtcbmA7XG5cbi8vIFRoZSBpdGVtLXNlbGVjdG9yIGNvbXBvbmVudCBkaXNtb3VudCBhbGwgaXRzIGNoaWxkcmVuIGlmIHlvdSBjbGljayBvdXRzaWRlIG9mIHRoZSBjb21wb25lbnQgYmVjYXVzZSBvZiBsaXN0ZW5zVG9DbGlja091dHNpZGUgZnVuY3Rpb24uXG4vLyBJZiB5b3Ugd2FudCB0byBwcmV2ZW50IHRoaXMgYmVoYXZpb3VyIHdoZW4geW91IGNsaWNrIG9uIGEgY2hpbGQgYWRkIHRoaXMgY2xhc3MgdG8gaXQuXG4vLyBJdCBpcyB1c2VmdWwgZm9yIGV4YW1wbGUsIHdoZW4geW91IGFkZCB0aGUgY2hpbGQgY29tcG9uZW50IG9uIHRoZSB0b3Agb2YgdHJlZSB3aXRoIGEgUG9ydGFsIGFzIGRyb3Bkb3duLWxpc3QgZG9lcyB3aXRoIGl0ZW0tc2VsZWN0b3Itc3VibWVudVxuZXhwb3J0IGNvbnN0IHByZXZlbnRDbG9zZVNlbGVjdG9yID0gJ3ByZXZlbnRfX2Nsb3NlX19zZWxlY3Rvcic7XG5cbnR5cGUgSXRlbVNlbGVjdG9yUHJvcHMgPSB7XG4gIHNlbGVjdGVkSXRlbXM/OlxuICAgIHwgUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0PlxuICAgIHwgc3RyaW5nXG4gICAgfCBudW1iZXJcbiAgICB8IGJvb2xlYW5cbiAgICB8IG9iamVjdFxuICAgIHwgbnVsbDtcbiAgb3B0aW9uczogUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0PjtcbiAgb25DaGFuZ2U6IChcbiAgICBpdGVtczpcbiAgICAgIHwgUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0PlxuICAgICAgfCBzdHJpbmdcbiAgICAgIHwgbnVtYmVyXG4gICAgICB8IGJvb2xlYW5cbiAgICAgIHwgb2JqZWN0XG4gICAgICB8IG51bGxcbiAgKSA9PiB2b2lkO1xuICBmaXhlZE9wdGlvbnM/OiBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+IHwgbnVsbDtcbiAgZXJhc2FibGU/OiBib29sZWFuO1xuICBzaG93QXJyb3c/OiBib29sZWFuO1xuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcbiAgZGlzcGxheU9wdGlvbj86IHN0cmluZyB8ICgob3B0OiBhbnkpID0+IGFueSk7XG4gIGdldE9wdGlvblZhbHVlPzogc3RyaW5nIHwgKChvcHQ6IGFueSkgPT4gYW55KTtcbiAgZmlsdGVyT3B0aW9uPzogc3RyaW5nIHwgKChvcHQ6IGFueSkgPT4gYW55KTtcbiAgcGxhY2VtZW50Pzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzRXJyb3I/OiBib29sZWFuO1xuICBpc0xvYWRpbmc/OiBib29sZWFuO1xuICBtdWx0aVNlbGVjdD86IGJvb2xlYW47XG4gIGlucHV0VGhlbWU/OiBzdHJpbmc7XG4gIHNpemU/OiBzdHJpbmc7XG4gIG9uQmx1cj86ICgpID0+IHZvaWQ7XG4gIG9uRm9jdXM/OiAoKSA9PiB2b2lkO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgY2xvc2VPblNlbGVjdD86IGJvb2xlYW47XG4gIHR5cGVhaGVhZFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBEcm9wZG93bkhlYWRlckNvbXBvbmVudD86IENvbXBvbmVudFR5cGU8YW55PiB8IG51bGw7XG4gIERyb3BEb3duUmVuZGVyQ29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxhbnk+O1xuICBEcm9wRG93bkxpbmVJdGVtUmVuZGVyQ29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxhbnk+O1xuICBDdXN0b21DaGlja2xldENvbXBvbmVudD86IENvbXBvbmVudFR5cGU8YW55PjtcbiAgaW50bDogSW50bFNoYXBlO1xuICB3aXRoU3ViT3B0aW9ucz86IGJvb2xlYW47XG59O1xuXG5jbGFzcyBJdGVtU2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnQ8SXRlbVNlbGVjdG9yUHJvcHM+IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcbiAgICBwbGFjZWhvbGRlcjogJ3BsYWNlaG9sZGVyLmVudGVyVmFsdWUnLFxuICAgIGNsb3NlT25TZWxlY3Q6IHRydWUsXG4gICAgc2VhcmNoYWJsZTogdHJ1ZSxcbiAgICBEcm9wRG93blJlbmRlckNvbXBvbmVudDogRHJvcGRvd25MaXN0LFxuICAgIERyb3BEb3duTGluZUl0ZW1SZW5kZXJDb21wb25lbnQ6IExpc3RJdGVtLFxuICAgIHdpdGhTdWJPcHRpb25zOiBmYWxzZVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIHNob3dUeXBlYWhlYWQ6IGZhbHNlXG4gIH07XG5cbiAgaGFuZGxlQ2xpY2tPdXRzaWRlID0gZSA9PiB7XG4gICAgaWYgKGU/LnRhcmdldD8uY2xhc3NMaXN0Py5jb250YWlucyhwcmV2ZW50Q2xvc2VTZWxlY3RvcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faGlkZVR5cGVhaGVhZCgpO1xuICB9O1xuXG4gIF9oaWRlVHlwZWFoZWFkKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dUeXBlYWhlYWQ6IGZhbHNlfSk7XG4gICAgdGhpcy5fb25CbHVyKCk7XG4gIH1cblxuICBfb25CbHVyID0gKCkgPT4ge1xuICAgIC8vIG5vdGU6IGNoaWNrbGV0ZWQgaW5wdXQgaXMgbm90IGEgcmVhbCBmb3JtIGVsZW1lbnQgc28gd2UgY2FsbCBvbkJsdXIoKVxuICAgIC8vIHdoZW4gd2UgZmVlbCB0aGUgZXZlbnRzIGFyZSBhcHByb3ByaWF0ZVxuICAgIGlmICh0aGlzLnByb3BzLm9uQmx1cikge1xuICAgICAgdGhpcy5wcm9wcy5vbkJsdXIoKTtcbiAgICB9XG4gIH07XG5cbiAgX3JlbW92ZUl0ZW0gPSAoaXRlbSwgZSkgPT4ge1xuICAgIC8vIG9ubHkgdXNlZCB3aGVuIG11bHRpU2VsZWN0ID0gdHJ1ZVxuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IG11bHRpU2VsZWN0ZWRJdGVtcyA9IHRvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICBjb25zdCBpbmRleCA9IG11bHRpU2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgodCA9PiB0ID09PSBpdGVtKTtcblxuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgIC4uLm11bHRpU2VsZWN0ZWRJdGVtcy5zbGljZSgwLCBpbmRleCksXG4gICAgICAuLi5tdWx0aVNlbGVjdGVkSXRlbXMuc2xpY2UoaW5kZXggKyAxLCBtdWx0aVNlbGVjdGVkSXRlbXMubGVuZ3RoKVxuICAgIF07XG5cbiAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKGl0ZW1zKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dUeXBlYWhlYWQ6IGZhbHNlfSk7XG4gICAgICB0aGlzLl9vbkJsdXIoKTtcbiAgICB9XG4gIH07XG5cbiAgX3NlbGVjdEl0ZW0gPSBpdGVtID0+IHtcbiAgICBjb25zdCBnZXRWYWx1ZSA9IEFjY2Vzc29yLmdlbmVyYXRlT3B0aW9uVG9TdHJpbmdGb3IoXG4gICAgICB0aGlzLnByb3BzLmdldE9wdGlvblZhbHVlIHx8IHRoaXMucHJvcHMuZGlzcGxheU9wdGlvblxuICAgICk7XG5cbiAgICBjb25zdCBwcmV2aW91c1NlbGVjdGVkID0gdG9BcnJheSh0aGlzLnByb3BzLnNlbGVjdGVkSXRlbXMpO1xuXG4gICAgaWYgKHRoaXMucHJvcHMubXVsdGlTZWxlY3QpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gdW5pcUJ5KHByZXZpb3VzU2VsZWN0ZWQuY29uY2F0KHRvQXJyYXkoaXRlbSkpLCBnZXRWYWx1ZSk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKGl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZShnZXRWYWx1ZShpdGVtKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd1R5cGVhaGVhZDogZmFsc2V9KTtcbiAgICAgIHRoaXMuX29uQmx1cigpO1xuICAgIH1cbiAgfTtcblxuICBfb25FcmFzZTogTW91c2VFdmVudEhhbmRsZXIgPSBlID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgX3Nob3dUeXBlYWhlYWQ6IE1vdXNlRXZlbnRIYW5kbGVyID0gZSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIXRoaXMucHJvcHMuZGlzYWJsZWQgJiYgIXRoaXMucHJvcHMuaXNMb2FkaW5nKSB7XG4gICAgICBpZiAoIXRoaXMuc3RhdGUuc2hvd1R5cGVhaGVhZCAmJiB0aGlzLnByb3BzLm9uRm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZvY3VzKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgc2hvd1R5cGVhaGVhZDogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIF9yZW5kZXJEcm9wZG93bihpbnRsOiBJbnRsU2hhcGUpIHtcbiAgICBjb25zdCB7cGxhY2VtZW50ID0gJ2JvdHRvbSd9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPERyb3Bkb3duV3JhcHBlciBwbGFjZW1lbnQ9e3BsYWNlbWVudH0+XG4gICAgICAgIDxUeXBlYWhlYWRcbiAgICAgICAgICBjdXN0b21DbGFzc2VzPXt7XG4gICAgICAgICAgICByZXN1bHRzOiAnbGlzdC1zZWxlY3RvcicsXG4gICAgICAgICAgICBpbnB1dDogJ3R5cGVhaGVhZF9faW5wdXQnLFxuICAgICAgICAgICAgbGlzdEl0ZW06ICdsaXN0X19pdGVtJyxcbiAgICAgICAgICAgIGxpc3RBbmNob3I6ICdsaXN0X19pdGVtX19hbmNob3InXG4gICAgICAgICAgfX1cbiAgICAgICAgICBvcHRpb25zPXt0aGlzLnByb3BzLm9wdGlvbnN9XG4gICAgICAgICAgZmlsdGVyT3B0aW9uPXt0aGlzLnByb3BzLmZpbHRlck9wdGlvbn1cbiAgICAgICAgICBmaXhlZE9wdGlvbnM9e3RoaXMucHJvcHMuZml4ZWRPcHRpb25zfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICAgIHRoaXMucHJvcHMudHlwZWFoZWFkUGxhY2Vob2xkZXIgfHwgaW50bFxuICAgICAgICAgICAgICA/IGludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdwbGFjZWhvbGRlci5zZWFyY2gnfSlcbiAgICAgICAgICAgICAgOiAnU2VhcmNoJ1xuICAgICAgICAgIH1cbiAgICAgICAgICBvbk9wdGlvblNlbGVjdGVkPXt0aGlzLl9zZWxlY3RJdGVtfVxuICAgICAgICAgIGN1c3RvbUxpc3RDb21wb25lbnQ9e3RoaXMucHJvcHMuRHJvcERvd25SZW5kZXJDb21wb25lbnR9XG4gICAgICAgICAgY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudD17dGhpcy5wcm9wcy5Ecm9wZG93bkhlYWRlckNvbXBvbmVudH1cbiAgICAgICAgICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudD17dGhpcy5wcm9wcy5Ecm9wRG93bkxpbmVJdGVtUmVuZGVyQ29tcG9uZW50fVxuICAgICAgICAgIGRpc3BsYXlPcHRpb249e0FjY2Vzc29yLmdlbmVyYXRlT3B0aW9uVG9TdHJpbmdGb3IodGhpcy5wcm9wcy5kaXNwbGF5T3B0aW9uKX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXt0aGlzLnByb3BzLnNlYXJjaGFibGV9XG4gICAgICAgICAgc2hvd09wdGlvbnNXaGVuRW1wdHlcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt0b0FycmF5KHRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtcyl9XG4gICAgICAgICAgbGlnaHQ9e3RoaXMucHJvcHMuaW5wdXRUaGVtZSA9PT0gJ2xpZ2h0J31cbiAgICAgICAgICB3aXRoU3ViT3B0aW9ucz17dGhpcy5wcm9wcy53aXRoU3ViT3B0aW9uc31cbiAgICAgICAgLz5cbiAgICAgIDwvRHJvcGRvd25XcmFwcGVyPlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0b0FycmF5KHRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgY29uc3QgaGFzVmFsdWUgPSBzZWxlY3RlZC5sZW5ndGg7XG4gICAgY29uc3QgZGlzcGxheU9wdGlvbiA9IEFjY2Vzc29yLmdlbmVyYXRlT3B0aW9uVG9TdHJpbmdGb3IodGhpcy5wcm9wcy5kaXNwbGF5T3B0aW9uKTtcbiAgICBjb25zdCB7aW5wdXRUaGVtZSA9ICdwcmltYXJ5JywgRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudCA9IExpc3RJdGVtfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBkcm9wZG93blNlbGVjdFByb3BzID0ge1xuICAgICAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKHtcbiAgICAgICAgYWN0aXZlOiB0aGlzLnN0YXRlLnNob3dUeXBlYWhlYWRcbiAgICAgIH0pLFxuICAgICAgZGlzcGxheU9wdGlvbixcbiAgICAgIGRpc2FibGVkOiB0aGlzLnByb3BzLmRpc2FibGVkLFxuICAgICAgb25DbGljazogdGhpcy5fc2hvd1R5cGVhaGVhZCxcbiAgICAgIGVycm9yOiB0aGlzLnByb3BzLmlzRXJyb3IsXG4gICAgICBpbnB1dFRoZW1lOiBpbnB1dFRoZW1lLFxuICAgICAgc2l6ZTogdGhpcy5wcm9wcy5zaXplXG4gICAgfTtcbiAgICBjb25zdCBpbnRsID0gdGhpcy5wcm9wcy5pbnRsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaXRlbS1zZWxlY3RvclwiPlxuICAgICAgICA8ZGl2IHN0eWxlPXt7cG9zaXRpb246ICdyZWxhdGl2ZSd9fT5cbiAgICAgICAgICB7LyogdGhpcyBwYXJ0IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgbGFiZWwgKi99XG4gICAgICAgICAge3RoaXMucHJvcHMubXVsdGlTZWxlY3QgPyAoXG4gICAgICAgICAgICA8Q2hpY2tsZXRlZElucHV0XG4gICAgICAgICAgICAgIHsuLi5kcm9wZG93blNlbGVjdFByb3BzfVxuICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt0b0FycmF5KHRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtcyl9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICByZW1vdmVJdGVtPXt0aGlzLl9yZW1vdmVJdGVtfVxuICAgICAgICAgICAgICBDdXN0b21DaGlja2xldENvbXBvbmVudD17dGhpcy5wcm9wcy5DdXN0b21DaGlja2xldENvbXBvbmVudH1cbiAgICAgICAgICAgICAgaW5wdXRUaGVtZT17aW5wdXRUaGVtZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgIDxTdHlsZWREcm9wZG93blNlbGVjdCB7Li4uZHJvcGRvd25TZWxlY3RQcm9wc30+XG4gICAgICAgICAgICAgIDxEcm9wZG93blNlbGVjdFZhbHVlXG4gICAgICAgICAgICAgICAgaGFzUGxhY2Vob2xkZXI9eyFoYXNWYWx1ZX1cbiAgICAgICAgICAgICAgICBpbnB1dFRoZW1lPXtpbnB1dFRoZW1lfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIml0ZW0tc2VsZWN0b3JfX2Ryb3Bkb3duX192YWx1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aGFzVmFsdWUgPyAoXG4gICAgICAgICAgICAgICAgICA8RHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5T3B0aW9ufVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWRbMF19XG4gICAgICAgICAgICAgICAgICAgIGxpZ2h0PXtpbnB1dFRoZW1lID09PSAnbGlnaHQnfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e3RoaXMucHJvcHMucGxhY2Vob2xkZXIgfHwgJ3BsYWNlaG9sZGVyLnNlbGVjdFZhbHVlJ30gLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duU2VsZWN0VmFsdWU+XG4gICAgICAgICAgICAgIHt0aGlzLnByb3BzLmVyYXNhYmxlICYmIGhhc1ZhbHVlID8gKFxuICAgICAgICAgICAgICAgIDxEcm9wZG93blNlbGVjdEFjdGlvblJpZ2h0PlxuICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuaXNMb2FkaW5nID8gKFxuICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ1NwaW5uZXIgc2l6ZT17MTh9IHN0cm9rZVdpZHRoPXsyfSBnYXA9ezB9IC8+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICA8RGVsZXRlIGhlaWdodD1cIjEycHhcIiBvbkNsaWNrPXt0aGlzLl9vbkVyYXNlfSAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQ+XG4gICAgICAgICAgICAgICkgOiB0aGlzLnByb3BzLnNob3dBcnJvdyA/IChcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25TZWxlY3RBY3Rpb25SaWdodD5cbiAgICAgICAgICAgICAgICAgIDxBcnJvd0Rvd24gaGVpZ2h0PVwiMTRweFwiIG9uQ2xpY2s9e3RoaXMuX3Nob3dUeXBlYWhlYWR9IC8+XG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93blNlbGVjdEFjdGlvblJpZ2h0PlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkRHJvcGRvd25TZWxlY3Q+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7LyogdGhpcyBwYXJ0IGlzIHVzZWQgdG8gYnVpbHQgdGhlIGxpc3QgKi99XG4gICAgICAgICAge3RoaXMuc3RhdGUuc2hvd1R5cGVhaGVhZCAmJiB0aGlzLl9yZW5kZXJEcm9wZG93bihpbnRsKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBJdGVtU2VsZWN0b3JMaXN0ZW4gPSBsaXN0ZW5zVG9DbGlja091dHNpZGUoSXRlbVNlbGVjdG9yKTtcbmV4cG9ydCBkZWZhdWx0IGluamVjdEludGwobGlzdGVuc1RvQ2xpY2tPdXRzaWRlKEl0ZW1TZWxlY3RvcikpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxvQkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssaUJBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFNLFNBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLGdCQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxVQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVyxhQUFBLEdBQUFaLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBWSxNQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxVQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxhQUFBLEdBQUFkLE9BQUE7QUFBOEMsSUFBQWUsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQW5DOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMs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
|