@igo2/geo 16.0.0-rc.1 → 16.0.0-rc.2
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/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +7 -7
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -7
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -3
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +6 -6
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +13 -13
- package/esm2022/lib/catalog/catalog.module.mjs +3 -3
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.service.mjs +7 -8
- package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
- package/esm2022/lib/datasource/datasource.module.mjs +1 -1
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +10 -10
- package/esm2022/lib/datasource/shared/datasource.service.mjs +9 -9
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +2 -2
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +2 -2
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +2 -2
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +2 -2
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -4
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +2 -2
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +4 -19
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +5 -5
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -7
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +2 -2
- package/esm2022/lib/datasource/utils/tilegrid.mjs +3 -3
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
- package/esm2022/lib/directions/directions.component.mjs +9 -9
- package/esm2022/lib/directions/directions.module.mjs +7 -7
- package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2022/lib/directions/shared/directions.service.mjs +10 -11
- package/esm2022/lib/directions/shared/directions.utils.mjs +7 -7
- package/esm2022/lib/directions/shared/store.mjs +1 -1
- package/esm2022/lib/download/download-button/download-button.component.mjs +2 -2
- package/esm2022/lib/download/download.module.mjs +2 -2
- package/esm2022/lib/download/shared/download.service.mjs +3 -3
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +8 -8
- package/esm2022/lib/draw/draw/draw.component.mjs +29 -29
- package/esm2022/lib/draw/draw/draw.module.mjs +15 -15
- package/esm2022/lib/draw/drawingTool.module.mjs +1 -1
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +1 -1
- package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2022/lib/draw/shared/draw.utils.mjs +6 -6
- package/esm2022/lib/environment/environment.interface.mjs +2 -0
- package/esm2022/lib/environment/index.mjs +2 -0
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +9 -9
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +3 -3
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +2 -2
- package/esm2022/lib/feature/feature.module.mjs +2 -2
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.utils.mjs +7 -7
- package/esm2022/lib/feature/shared/store.mjs +3 -3
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +4 -4
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +10 -22
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +5 -2
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -5
- package/esm2022/lib/feature/shared/strategies.utils.mjs +2 -2
- package/esm2022/lib/filter/filter.module.mjs +21 -21
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +7 -7
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +6 -6
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.mjs +5 -5
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +2 -2
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.service.mjs +2 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +15 -15
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +3 -3
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +3 -3
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
- package/esm2022/lib/geo.module.mjs +4 -4
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +1 -1
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +3 -3
- package/esm2022/lib/geometry/geometry.module.mjs +2 -2
- package/esm2022/lib/geometry/shared/controls/draw.mjs +6 -6
- package/esm2022/lib/geometry/shared/controls/modify.mjs +8 -8
- package/esm2022/lib/geometry/shared/controls/slice.mjs +2 -2
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +5 -5
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +37 -37
- package/esm2022/lib/import-export/import-export.module.mjs +3 -3
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +10 -21
- package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2022/lib/import-export/shared/export.service.mjs +4 -4
- package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
- package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
- package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
- package/esm2022/lib/import-export/shared/import.utils.mjs +5 -5
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +6 -6
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +2 -2
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +3 -3
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +4 -4
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +8 -8
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
- package/esm2022/lib/layer/layer.module.mjs +9 -9
- package/esm2022/lib/layer/shared/layer.service.mjs +16 -16
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +44 -33
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
- package/esm2022/lib/layer/utils/image-watcher.mjs +2 -2
- package/esm2022/lib/layer/utils/tile-watcher.mjs +2 -2
- package/esm2022/lib/layer/utils/vector-watcher.mjs +2 -2
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +2 -2
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +4 -4
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +7 -9
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
- package/esm2022/lib/map/home-extent-button/index.mjs +2 -1
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +2 -2
- package/esm2022/lib/map/map-center/map-center.component.mjs +1 -1
- package/esm2022/lib/map/map.module.mjs +14 -14
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +1 -1
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +2 -2
- package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +8 -8
- package/esm2022/lib/map/shared/controllers/view.mjs +3 -3
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +15 -15
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +4 -4
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
- package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
- package/esm2022/lib/map/shared/map.mjs +9 -6
- package/esm2022/lib/map/shared/map.utils.mjs +3 -3
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
- package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2022/lib/map/shared/projection.service.mjs +3 -3
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +2 -2
- package/esm2022/lib/map/utils/layer-watcher.mjs +2 -2
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +3 -3
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +1 -1
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +2 -2
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +3 -3
- package/esm2022/lib/measure/measurer/measurer.component.mjs +12 -12
- package/esm2022/lib/measure/measurer/measurer.module.mjs +6 -6
- package/esm2022/lib/measure/shared/measure.utils.mjs +7 -7
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
- package/esm2022/lib/metadata/metadata.module.mjs +4 -4
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +2 -2
- package/esm2022/lib/offline/shared/geo-network.service.mjs +1 -8
- package/esm2022/lib/overlay/overlay.module.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.directive.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.service.mjs +1 -1
- package/esm2022/lib/print/print/print.component.mjs +2 -2
- package/esm2022/lib/print/print-form/print-form.component.mjs +3 -3
- package/esm2022/lib/print/print.module.mjs +4 -4
- package/esm2022/lib/print/shared/print.interface.mjs +1 -1
- package/esm2022/lib/print/shared/print.service.mjs +9 -9
- package/esm2022/lib/query/query.module.mjs +3 -3
- package/esm2022/lib/query/shared/query-search-source.mjs +2 -2
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
- package/esm2022/lib/query/shared/query.directive.mjs +7 -7
- package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
- package/esm2022/lib/query/shared/query.service.mjs +10 -10
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +5 -5
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +2 -2
- package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +2 -2
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +14 -14
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -5
- package/esm2022/lib/search/search-results/search-results.component.mjs +7 -7
- package/esm2022/lib/search/search-results/search-results.module.mjs +11 -11
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +3 -3
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +2 -2
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +3 -3
- package/esm2022/lib/search/search.module.mjs +8 -8
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +14 -14
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +2 -2
- package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
- package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/search.service.mjs +3 -3
- package/esm2022/lib/search/shared/search.utils.mjs +1 -1
- package/esm2022/lib/search/shared/sources/cadastre.mjs +7 -7
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +2 -2
- package/esm2022/lib/search/shared/sources/coordinates.mjs +11 -11
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +3 -3
- package/esm2022/lib/search/shared/sources/icherche.mjs +6 -6
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +3 -3
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/ilayer.mjs +8 -8
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +2 -2
- package/esm2022/lib/search/shared/sources/nominatim.mjs +7 -7
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +2 -2
- package/esm2022/lib/search/shared/sources/source.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +2 -2
- package/esm2022/lib/search/shared/sources/workspace.mjs +6 -6
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +2 -2
- package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +2 -2
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +2 -2
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +2 -2
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
- package/esm2022/lib/style/style-list/style-list.module.mjs +2 -2
- package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
- package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +24 -33
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +17 -25
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +2 -2
- package/esm2022/lib/style/style-service/draw-style.service.mjs +2 -2
- package/esm2022/lib/style/style-service/style.service.mjs +3 -3
- package/esm2022/lib/style/style.module.mjs +4 -4
- package/esm2022/lib/toast/toast.component.mjs +2 -2
- package/esm2022/lib/toast/toast.module.mjs +3 -3
- package/esm2022/lib/utils/id-generator.mjs +2 -2
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +1 -1
- package/esm2022/lib/wkt/shared/wkt.service.mjs +16 -16
- package/esm2022/lib/wkt/wkt.module.mjs +1 -1
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +2 -2
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +10 -15
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +7 -7
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -6
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -6
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +2 -2
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -7
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +2 -2
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +5 -5
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +2 -2
- package/esm2022/lib/workspace/workspace.module.mjs +4 -4
- package/esm2022/public_api.mjs +2 -1
- package/fesm2022/igo2-geo.mjs +34181 -34233
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/geo-theme.scss +23 -21
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -3
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -3
- package/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -0
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
- package/lib/catalog/catalog.theming.scss +5 -0
- package/lib/catalog/shared/catalog.abstract.d.ts +2 -2
- package/lib/catalog/shared/catalog.enum.d.ts +4 -0
- package/lib/catalog/shared/catalog.interface.d.ts +10 -5
- package/lib/catalog/shared/catalog.service.d.ts +2 -2
- package/lib/datasource/shared/capabilities.service.d.ts +2 -2
- package/lib/datasource/shared/datasource.service.d.ts +6 -6
- package/lib/datasource/shared/datasources/any-datasource.d.ts +11 -11
- package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +10 -10
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -2
- package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -1
- package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -1
- package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +1 -1
- package/lib/datasource/shared/datasources/datasource.d.ts +4 -4
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +2 -2
- package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -1
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -2
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +1 -1
- package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +1 -1
- package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -1
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +3 -4
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
- package/lib/datasource/shared/datasources/wfs.service.d.ts +1 -1
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +5 -5
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +2 -2
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +4 -3
- package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
- package/lib/datasource/shared/options/options-api.service.d.ts +1 -1
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -2
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +3 -3
- package/lib/directions/directions-sources/directions-source.interface.d.ts +12 -8
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
- package/lib/directions/directions.component.d.ts +3 -3
- package/lib/directions/shared/directions.interface.d.ts +1 -1
- package/lib/directions/shared/directions.service.d.ts +5 -5
- package/lib/directions/shared/directions.utils.d.ts +3 -3
- package/lib/draw/draw/draw-popup.component.d.ts +3 -3
- package/lib/draw/draw/draw.component.d.ts +12 -12
- package/lib/draw/shared/draw-icon.service.d.ts +1 -1
- package/lib/draw/shared/draw.interface.d.ts +3 -3
- package/lib/draw/shared/draw.utils.d.ts +4 -4
- package/lib/environment/environment.interface.d.ts +48 -0
- package/lib/environment/index.d.ts +1 -0
- package/lib/feature/feature-details/feature-details.component.d.ts +6 -6
- package/lib/feature/feature-details/feature-details.directive.d.ts +2 -2
- package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
- package/lib/feature/shared/feature.interfaces.d.ts +5 -5
- package/lib/feature/shared/feature.utils.d.ts +4 -4
- package/lib/feature/shared/store.d.ts +1 -1
- package/lib/feature/shared/strategies/geo-properties.d.ts +2 -2
- package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
- package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
- package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
- package/lib/feature/shared/strategies/search.d.ts +1 -1
- package/lib/feature/shared/strategies/selection.d.ts +2 -2
- package/lib/feature/shared/strategies.utils.d.ts +1 -1
- package/lib/filter/filter.theming.scss +0 -3
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +5 -5
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +2 -2
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
- package/lib/filter/shared/ogc-filter.d.ts +5 -4
- package/lib/filter/shared/ogc-filter.interface.d.ts +3 -3
- package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
- package/lib/filter/shared/time-filter.interface.d.ts +1 -1
- package/lib/filter/shared/time-filter.service.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +13 -13
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +6 -6
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +2 -2
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +2 -2
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +4 -4
- package/lib/geometry/shared/controls/draw.d.ts +4 -4
- package/lib/geometry/shared/controls/modify.d.ts +4 -4
- package/lib/geometry/shared/controls/slice.d.ts +3 -3
- package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
- package/lib/geometry/shared/geometry.utils.d.ts +2 -2
- package/lib/import-export/export-button/export-button.component.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +14 -14
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +6 -6
- package/lib/import-export/shared/export.interface.d.ts +1 -1
- package/lib/import-export/shared/export.service.d.ts +2 -2
- package/lib/import-export/shared/import.interface.d.ts +1 -0
- package/lib/import-export/shared/import.utils.d.ts +3 -3
- package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
- package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -3
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +2 -2
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
- package/lib/layer/layer-list/layer-list.component.d.ts +5 -5
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
- package/lib/layer/layer.theming.scss +17 -24
- package/lib/layer/shared/layer.service.d.ts +5 -5
- package/lib/layer/shared/layers/any-layer.d.ts +1 -1
- package/lib/layer/shared/layers/any-layer.interface.d.ts +1 -1
- package/lib/layer/shared/layers/image-layer.d.ts +5 -5
- package/lib/layer/shared/layers/image-layer.interface.d.ts +3 -3
- package/lib/layer/shared/layers/layer.d.ts +6 -6
- package/lib/layer/shared/layers/layer.interface.d.ts +2 -2
- package/lib/layer/shared/layers/tile-layer.d.ts +6 -6
- package/lib/layer/shared/layers/tile-layer.interface.d.ts +8 -8
- package/lib/layer/shared/layers/vector-layer.d.ts +18 -11
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +13 -13
- package/lib/layer/shared/layers/vectortile-layer.d.ts +3 -3
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +4 -4
- package/lib/layer/utils/image-watcher.d.ts +1 -1
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.interface.d.ts +6 -0
- package/lib/map/home-extent-button/index.d.ts +1 -0
- package/lib/map/map-browser/map-browser.component.d.ts +1 -1
- package/lib/map/shared/controllers/controller.d.ts +1 -1
- package/lib/map/shared/controllers/geolocation.d.ts +5 -5
- package/lib/map/shared/controllers/geolocation.interface.d.ts +8 -0
- package/lib/map/shared/controllers/view.d.ts +2 -2
- package/lib/map/shared/hover-feature.directive.d.ts +8 -8
- package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
- package/lib/map/shared/map.abstract.d.ts +5 -5
- package/lib/map/shared/map.d.ts +14 -10
- package/lib/map/shared/mapOffline.directive.d.ts +2 -2
- package/lib/map/shared/projection.interfaces.d.ts +1 -3
- package/lib/map/utils/layer-watcher.d.ts +2 -2
- package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
- package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
- package/lib/measure/measurer/measurer.component.d.ts +5 -5
- package/lib/measure/shared/measure.utils.d.ts +5 -5
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +1 -1
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/shared/geo-network.service.d.ts +2 -1
- package/lib/overlay/shared/overlay.d.ts +1 -1
- package/lib/overlay/shared/overlay.directive.d.ts +2 -2
- package/lib/print/print/print.component.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +2 -2
- package/lib/print/shared/print.interface.d.ts +1 -1
- package/lib/print/shared/print.service.d.ts +2 -2
- package/lib/query/shared/query.directive.d.ts +4 -4
- package/lib/query/shared/query.interfaces.d.ts +3 -3
- package/lib/query/shared/query.service.d.ts +3 -3
- package/lib/search/search-bar/search-bar.component.d.ts +5 -5
- package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
- package/lib/search/search-results/save-feature-dialog.component.d.ts +3 -3
- package/lib/search/search-results/search-results-add-button.component.d.ts +7 -7
- package/lib/search/search-results/search-results-item.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +4 -4
- package/lib/search/search-selector/search-selector.component.d.ts +1 -1
- package/lib/search/search-settings/search-settings.component.d.ts +2 -2
- package/lib/search/shared/search-pointer-summary.directive.d.ts +5 -5
- package/lib/search/shared/search-source-service.providers.d.ts +1 -1
- package/lib/search/shared/search.interfaces.d.ts +1 -1
- package/lib/search/shared/search.service.d.ts +2 -2
- package/lib/search/shared/search.utils.d.ts +1 -1
- package/lib/search/shared/sources/cadastre.d.ts +1 -1
- package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
- package/lib/search/shared/sources/coordinates.d.ts +5 -5
- package/lib/search/shared/sources/coordinates.providers.d.ts +2 -2
- package/lib/search/shared/sources/icherche.d.ts +4 -4
- package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
- package/lib/search/shared/sources/ilayer.d.ts +2 -2
- package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
- package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
- package/lib/search/shared/sources/source.d.ts +2 -2
- package/lib/search/shared/sources/storedqueries.d.ts +4 -4
- package/lib/search/shared/sources/storedqueries.providers.d.ts +1 -1
- package/lib/search/shared/sources/workspace.d.ts +1 -1
- package/lib/style/shared/feature/feature-style.d.ts +2 -2
- package/lib/style/shared/overlay/overlay-style.utils.d.ts +1 -1
- package/lib/style/shared/vector/conversion.utils.d.ts +1 -1
- package/lib/style/shared/vector/vector-style.interface.d.ts +6 -1
- package/lib/style/style-list/style-list.provider.d.ts +1 -1
- package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +3 -3
- package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +3 -3
- package/lib/style/style-service/draw-style.service.d.ts +1 -1
- package/lib/style/style-service/style.service.d.ts +3 -3
- package/lib/utils/id-generator.d.ts +2 -2
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
- package/lib/workspace/shared/edition-workspace.d.ts +7 -9
- package/lib/workspace/shared/edition-workspace.service.d.ts +5 -5
- package/lib/workspace/shared/feature-workspace.service.d.ts +3 -3
- package/lib/workspace/shared/wfs-workspace.service.d.ts +3 -3
- package/lib/workspace/shared/wms-workspace.service.d.ts +4 -4
- package/lib/workspace/shared/workspace.utils.d.ts +4 -4
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +4 -4
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -3
- package/locale/en.geo.json +9 -3
- package/locale/fr.geo.json +9 -3
- package/package.json +4 -4
- package/public_api.d.ts +1 -0
- package/style/style.css +0 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +0 -15
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EMPTY, timer, BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { debounce, map } from 'rxjs/operators';
|
|
4
|
-
import { ConfigService } from '@igo2/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
|
|
5
2
|
import { EntityStoreFilterCustomFuncStrategy, EntityStoreWatcher, EntityStoreWithStrategy } from '@igo2/common';
|
|
3
|
+
import { ConfigService } from '@igo2/core';
|
|
4
|
+
import { BehaviorSubject, EMPTY, timer } from 'rxjs';
|
|
5
|
+
import { debounce, map } from 'rxjs/operators';
|
|
6
6
|
import { IgoMap } from '../../map/shared';
|
|
7
7
|
import { SearchService } from '../shared/search.service';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -438,11 +438,11 @@ export class SearchResultsComponent {
|
|
|
438
438
|
i0.ɵɵproperty("ngIf", ctx.tabsMode === false);
|
|
439
439
|
i0.ɵɵadvance(1);
|
|
440
440
|
i0.ɵɵproperty("ngIf", ctx.tabsMode);
|
|
441
|
-
} }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i4.CollapsibleComponent, i4.ListItemDirective, i4.ListComponent, i5.MatTab, i5.MatTabGroup, i6.SearchResultsItemComponent, i3.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%] .moreResults[_ngcontent-%COMP%]{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}[_nghost-%COMP%] igo-list[_ngcontent-%COMP%] mat-list{height:100%}[_nghost-%COMP%] igo-list[_ngcontent-%COMP%] mat-list .custom-tabs-view .mat-tab-header-pagination{min-width:20px}"], changeDetection: 0 });
|
|
441
|
+
} }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i4.CollapsibleComponent, i4.ListItemDirective, i4.ListComponent, i5.MatTab, i5.MatTabGroup, i6.SearchResultsItemComponent, i3.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%] .moreResults[_ngcontent-%COMP%]{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}[_nghost-%COMP%] igo-list[_ngcontent-%COMP%] mat-list{height:100%}[_nghost-%COMP%] igo-list[_ngcontent-%COMP%] mat-list .custom-tabs-view .mat-mdc-tab-header-pagination{min-width:20px}"], changeDetection: 0 });
|
|
442
442
|
}
|
|
443
443
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsComponent, [{
|
|
444
444
|
type: Component,
|
|
445
|
-
args: [{ selector: 'igo-search-results', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\" *ngIf=\"tabsMode === false\">\n <ng-template #groupTemplate ngFor let-group [ngForOf]=\"results$ | async\">\n <igo-collapsible\n [class]=\"group.source.getId()\"\n *ngIf=\"mode === searchResultMode.Grouped; else flatTemplate\"\n [title]=\"computeGroupTitle(group)\"\n [collapsed]=\"collapsed[group.source.title]\"\n (toggle)=\"collapsed[group.source.title] = $event\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n storeItemTemplate;\n context: { results: group.results }\n \"\n ></ng-container>\n </igo-collapsible>\n\n <ng-template #flatTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n storeItemTemplate;\n context: { results: group.results }\n \"\n ></ng-container>\n </ng-template>\n\n <ng-template #storeItemTemplate let-results=\"results\">\n <ng-template ngFor let-result [ngForOf]=\"results\">\n <igo-search-results-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [result]=\"result\"\n [showIcons]=\"showIcons\"\n [withZoomButton]=\"withZoomButton\"\n [focused]=\"store.state.get(result).focused\"\n [selected]=\"store.state.get(result).selected\"\n (focus)=\"resultFocus.emit(result)\"\n (unfocus)=\"resultUnfocus.emit(result)\"\n (select)=\"onResultSelect(result)\"\n (mouseenter)=\"resultFocus.emit(result)\"\n (mouseleave)=\"resultUnfocus.emit(result)\"\n >\n <ng-container\n igoSearchItemToolbar\n [ngTemplateOutlet]=\"templateSearchToolbar\"\n [ngTemplateOutletContext]=\"{ result: result }\"\n >\n </ng-container>\n </igo-search-results-item>\n </ng-template>\n <span\n class=\"moreResults mat-typography\"\n *ngIf=\"isMoreResults(group)\"\n (click)=\"displayMoreResults(group)\"\n >\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\n </span>\n </ng-template>\n </ng-template>\n</igo-list>\n\n<igo-list [navigation]=\"true\" *ngIf=\"tabsMode\">\n <ng-container\n *ngIf=\"\n mode === searchResultMode.Grouped;\n then tabsTemplate;\n else flatTemplate\n \"\n ></ng-container>\n\n <ng-template #tabsTemplate>\n <mat-tab-group class=\"custom-tabs-view\" dynamicHeight>\n <mat-tab\n *ngFor=\"let group of results$ | async\"\n [label]=\"computeGroupTitle(group)\"\n >\n <ng-container\n *ngTemplateOutlet=\"storeItemTemplate; context: { group: group }\"\n ></ng-container>\n </mat-tab>\n </mat-tab-group>\n </ng-template>\n\n <ng-template #flatTemplate>\n <ng-template ngFor let-group [ngForOf]=\"results$ | async\">\n <ng-container\n *ngTemplateOutlet=\"storeItemTemplate; context: { group: group }\"\n ></ng-container>\n </ng-template>\n </ng-template>\n\n <ng-template #storeItemTemplate let-group=\"group\">\n <ng-template ngFor let-result [ngForOf]=\"group.results\">\n <igo-search-results-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [result]=\"result\"\n [showIcons]=\"showIcons\"\n [withZoomButton]=\"withZoomButton\"\n [focused]=\"store.state.get(result).focused\"\n [selected]=\"store.state.get(result).selected\"\n (focus)=\"resultFocus.emit(result)\"\n (unfocus)=\"resultUnfocus.emit(result)\"\n (select)=\"onResultSelect(result)\"\n (mouseenter)=\"resultFocus.emit(result)\"\n (mouseleave)=\"resultUnfocus.emit(result)\"\n >\n <ng-container\n igoSearchItemToolbar\n [ngTemplateOutlet]=\"templateSearchToolbar\"\n [ngTemplateOutletContext]=\"{ result: result }\"\n >\n </ng-container>\n </igo-search-results-item>\n </ng-template>\n <span\n class=\"moreResults mat-typography\"\n *ngIf=\"isMoreResults(group)\"\n (click)=\"displayMoreResults(group)\"\n >\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\n </span>\n </ng-template>\n</igo-list>\n", styles: [":host .moreResults{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}:host igo-list ::ng-deep mat-list{height:100%}:host igo-list ::ng-deep mat-list .custom-tabs-view .mat-tab-header-pagination{min-width:20px}\n"] }]
|
|
445
|
+
args: [{ selector: 'igo-search-results', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\" *ngIf=\"tabsMode === false\">\n <ng-template #groupTemplate ngFor let-group [ngForOf]=\"results$ | async\">\n <igo-collapsible\n [class]=\"group.source.getId()\"\n *ngIf=\"mode === searchResultMode.Grouped; else flatTemplate\"\n [title]=\"computeGroupTitle(group)\"\n [collapsed]=\"collapsed[group.source.title]\"\n (toggle)=\"collapsed[group.source.title] = $event\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n storeItemTemplate;\n context: { results: group.results }\n \"\n ></ng-container>\n </igo-collapsible>\n\n <ng-template #flatTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n storeItemTemplate;\n context: { results: group.results }\n \"\n ></ng-container>\n </ng-template>\n\n <ng-template #storeItemTemplate let-results=\"results\">\n <ng-template ngFor let-result [ngForOf]=\"results\">\n <igo-search-results-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [result]=\"result\"\n [showIcons]=\"showIcons\"\n [withZoomButton]=\"withZoomButton\"\n [focused]=\"store.state.get(result).focused\"\n [selected]=\"store.state.get(result).selected\"\n (focus)=\"resultFocus.emit(result)\"\n (unfocus)=\"resultUnfocus.emit(result)\"\n (select)=\"onResultSelect(result)\"\n (mouseenter)=\"resultFocus.emit(result)\"\n (mouseleave)=\"resultUnfocus.emit(result)\"\n >\n <ng-container\n igoSearchItemToolbar\n [ngTemplateOutlet]=\"templateSearchToolbar\"\n [ngTemplateOutletContext]=\"{ result: result }\"\n >\n </ng-container>\n </igo-search-results-item>\n </ng-template>\n <span\n class=\"moreResults mat-typography\"\n *ngIf=\"isMoreResults(group)\"\n (click)=\"displayMoreResults(group)\"\n >\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\n </span>\n </ng-template>\n </ng-template>\n</igo-list>\n\n<igo-list [navigation]=\"true\" *ngIf=\"tabsMode\">\n <ng-container\n *ngIf=\"\n mode === searchResultMode.Grouped;\n then tabsTemplate;\n else flatTemplate\n \"\n ></ng-container>\n\n <ng-template #tabsTemplate>\n <mat-tab-group class=\"custom-tabs-view\" dynamicHeight>\n <mat-tab\n *ngFor=\"let group of results$ | async\"\n [label]=\"computeGroupTitle(group)\"\n >\n <ng-container\n *ngTemplateOutlet=\"storeItemTemplate; context: { group: group }\"\n ></ng-container>\n </mat-tab>\n </mat-tab-group>\n </ng-template>\n\n <ng-template #flatTemplate>\n <ng-template ngFor let-group [ngForOf]=\"results$ | async\">\n <ng-container\n *ngTemplateOutlet=\"storeItemTemplate; context: { group: group }\"\n ></ng-container>\n </ng-template>\n </ng-template>\n\n <ng-template #storeItemTemplate let-group=\"group\">\n <ng-template ngFor let-result [ngForOf]=\"group.results\">\n <igo-search-results-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [result]=\"result\"\n [showIcons]=\"showIcons\"\n [withZoomButton]=\"withZoomButton\"\n [focused]=\"store.state.get(result).focused\"\n [selected]=\"store.state.get(result).selected\"\n (focus)=\"resultFocus.emit(result)\"\n (unfocus)=\"resultUnfocus.emit(result)\"\n (select)=\"onResultSelect(result)\"\n (mouseenter)=\"resultFocus.emit(result)\"\n (mouseleave)=\"resultUnfocus.emit(result)\"\n >\n <ng-container\n igoSearchItemToolbar\n [ngTemplateOutlet]=\"templateSearchToolbar\"\n [ngTemplateOutletContext]=\"{ result: result }\"\n >\n </ng-container>\n </igo-search-results-item>\n </ng-template>\n <span\n class=\"moreResults mat-typography\"\n *ngIf=\"isMoreResults(group)\"\n (click)=\"displayMoreResults(group)\"\n >\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\n </span>\n </ng-template>\n</igo-list>\n", styles: [":host .moreResults{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}:host igo-list ::ng-deep mat-list{height:100%}:host igo-list ::ng-deep mat-list .custom-tabs-view .mat-mdc-tab-header-pagination{min-width:20px}\n"] }]
|
|
446
446
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SearchService }, { type: i2.ConfigService }]; }, { map: [{
|
|
447
447
|
type: Input
|
|
448
448
|
}], store: [{
|
|
@@ -477,4 +477,4 @@ export class SearchResultsComponent {
|
|
|
477
477
|
type: ContentChild,
|
|
478
478
|
args: ['igoSearchItemToolbar', /* TODO: add static flag */ {}]
|
|
479
479
|
}] }); })();
|
|
480
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBR2xCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBYyxLQUFLLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxtQ0FBbUMsRUFDbkMsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN4QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7OztJQ2xCbkQsd0JBS2dCOzs7OztJQVpsQiwwQ0FNQztJQURDLGtWQUFpRDtJQUVqRCxvSUFLZ0I7SUFDbEIsaUJBQWtCOzs7OztJQVpoQixzQ0FBOEI7SUFFOUIsMERBQWtDLHNEQUFBO0lBSy9CLGVBRVk7SUFGWixzQ0FFWSx5RUFBQTs7O0lBTWYsd0JBS2dCOzs7SUFMaEIsZ0lBS2dCOzs7O0lBSmIsc0NBRVkseUVBQUE7Ozs7O0lBT2IsbURBY0M7SUFMQyxvU0FBUyxlQUFBLG9DQUF3QixDQUFBLElBQUMsMlJBQ3ZCLGVBQUEsc0NBQTBCLENBQUEsSUFESCx5UkFFeEIsZUFBQSxrQ0FBc0IsQ0FBQSxJQUZFLGlTQUdwQixlQUFBLG9DQUF3QixDQUFBLElBSEosaVNBSXBCLGVBQUEsc0NBQTBCLENBQUEsSUFKTjtJQU1sQyw0QkFLZTtJQUNqQixpQkFBMEI7Ozs7SUFsQnhCLGlDQUFXLHNCQUFBLGdDQUFBLDBDQUFBLHdEQUFBLDBEQUFBO0lBY1QsZUFBMEM7SUFBMUMsZ0VBQTBDLG1FQUFBOzs7O0lBTWhELGdDQUlDO0lBREMsNFBBQVMsZUFBQSxvQ0FBeUIsQ0FBQSxJQUFDO0lBRW5DLHlCQUFHO0lBQUEsWUFBcUQ7O0lBQUEsaUJBQUksRUFBQTs7SUFBekQsZUFBcUQ7SUFBckQsK0VBQXFEOzs7SUE3QjFELCtIQXVCYztJQUNkLGdIQU1POzs7OztJQTlCdUIscUNBQW1CO0lBMEI5QyxlQUEwQjtJQUExQixxREFBMEI7OztJQW5EL0Isd0hBYWtCO0lBRWxCLGlKQU9jO0lBRWQsaUpBZ0NjOzs7O0lBdERYLHNFQUF5QyxpQkFBQTs7O0lBSmhELG1DQUF5RDtJQUN2RCxnSUEwRGM7O0lBQ2hCLGlCQUFXOzs7SUE1REQsaUNBQW1CO0lBQ2lCLGVBQTRCO0lBQTVCLCtEQUE0Qjs7O0lBOER4RSx3QkFNZ0I7OztJQVFWLHdCQUVnQjs7OztJQU5sQixtQ0FHQztJQUNDLDRIQUVnQjtJQUNsQixpQkFBVTs7Ozs7O0lBTFIsNERBQWtDO0lBRy9CLGVBQXFDO0lBQXJDLHVDQUFxQyxrRUFBQTs7O0lBTjVDLHlDQUFzRDtJQUNwRCx5R0FPVTs7SUFDWixpQkFBZ0I7OztJQVBNLGVBQW1CO0lBQW5CLGdFQUFtQjs7O0lBWXZDLHdCQUVnQjs7O0lBRmhCLGdJQUVnQjs7Ozs7SUFEYix1Q0FBcUMsa0VBQUE7OztJQUYxQyxnSEFJYzs7OztJQUplLGdFQUE0Qjs7OztJQVN2RCxtREFjQztJQUxDLHNSQUFTLGVBQUEsb0NBQXdCLENBQUEsSUFBQyw2UUFDdkIsZUFBQSxzQ0FBMEIsQ0FBQSxJQURILDJRQUV4QixlQUFBLGtDQUFzQixDQUFBLElBRkUsbVJBR3BCLGVBQUEsb0NBQXdCLENBQUEsSUFISixtUkFJcEIsZUFBQSxzQ0FBMEIsQ0FBQSxJQUpOO0lBTWxDLDRCQUtlO0lBQ2pCLGlCQUEwQjs7OztJQWxCeEIsaUNBQVcsc0JBQUEsZ0NBQUEsMENBQUEsd0RBQUEsMERBQUE7SUFjVCxlQUEwQztJQUExQyxnRUFBMEMsbUVBQUE7Ozs7SUFNaEQsZ0NBSUM7SUFEQywwT0FBUyxlQUFBLHFDQUF5QixDQUFBLElBQUM7SUFFbkMseUJBQUc7SUFBQSxZQUFxRDs7SUFBQSxpQkFBSSxFQUFBOztJQUF6RCxlQUFxRDtJQUFyRCwrRUFBcUQ7OztJQTdCMUQsaUhBdUJjO0lBQ2Qsa0dBTU87Ozs7SUE5QnVCLDJDQUF5QjtJQTBCcEQsZUFBMEI7SUFBMUIsdURBQTBCOzs7SUF6RGpDLG1DQUErQztJQUM3QyxxR0FNZ0I7SUFFaEIsb0lBV2M7SUFFZCxtSUFNYztJQUVkLG1JQWdDYztJQUNoQixpQkFBVzs7Ozs7SUEvREQsaUNBQW1CO0lBRXhCLGVBRVE7SUFGUixzRUFFUSxrQkFBQSxrQkFBQTs7QURuQ2IsTUFBTSxDQUFOLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUMxQix1Q0FBbUIsQ0FBQTtJQUNuQixpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBNkd2QjtJQUNBO0lBQ0E7SUE5R0YsZ0JBQWdCLEdBQVksSUFBSSxDQUFDO0lBRXpDOzs7T0FHRztJQUNJLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBRTNDOztPQUVHO0lBQ0ssT0FBTyxDQUFtQztJQUUxQyxnQkFBZ0IsQ0FBZTtJQUVoQyxZQUFZLEdBQTJCLEVBQUUsQ0FBQztJQUUxQyxTQUFTLEdBQTJCLEVBQUUsQ0FBQztJQUVyQyxHQUFHLENBQVM7SUFFckI7O09BRUc7SUFDTSxLQUFLLENBQXdDO0lBRXREOztPQUVHO0lBQ00sU0FBUyxDQUFVO0lBRTVCOztPQUVHO0lBQ00sSUFBSSxHQUFxQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFFM0Q7O09BRUc7SUFDTSxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRWhDOztPQUVHO0lBQ00sUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVuQzs7T0FFRztJQUNILElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ00sS0FBSyxDQUFTO0lBRVosZUFBZSxHQUFHLElBQUksZUFBZSxDQUFVLFNBQVMsQ0FBQyxDQUFDO0lBRTFELFlBQVksR0FBVyxHQUFHLENBQUM7SUFFcEM7O09BRUc7SUFDTyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFFekQ7O09BRUc7SUFDTyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFFM0Q7O09BRUc7SUFDTyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFFMUQ7O09BRUc7SUFDTyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBR3BDLENBQUM7SUFFTDs7T0FFRztJQUNPLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO0lBQ3BELGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO0lBRzlELHFCQUFxQixDQUFtQjtJQUV4QyxJQUFJLFFBQVE7UUFHVixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDTyxTQUFTLENBRWY7SUFFRixZQUNVLEtBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLGFBQTRCO1FBRjVCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFSjs7O09BR0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUNFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLGdDQUFnQyxDQUFDLEtBQUssS0FBSyxFQUN4RTtZQUNBLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLEtBR2pCO1FBQ0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDMUI7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLE1BQW9CO1FBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQ2xELE9BQU87YUFDUjtTQUNGO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssV0FBVztRQUdqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FDckMsUUFBUSxDQUFDLENBQUMsT0FBdUQsRUFBRSxFQUFFO1lBQ25FLE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLE9BQXVELEVBQUUsRUFBRTtZQUM5RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNwRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssV0FBVyxDQUFDLEVBQWdCLEVBQUUsRUFBZ0I7UUFDcEQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFlBQVksQ0FDbEIsT0FBdUI7UUFFdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWdDLENBQUM7UUFDeEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTtZQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzdCLElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEMsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFO2dCQUMvQixhQUFhLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQzthQUNwQztZQUNELGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFO1lBQzdELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUF3RDtRQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUMxQyxtQ0FBbUMsQ0FDcEMsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLENBQ0wsS0FBSyxDQUFDLE9BQU87Z0JBQ2IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FDL0QsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPLENBQ0wsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQztnQkFDeEQsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUMvQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBd0Q7UUFDekUsTUFBTSxPQUFPLEdBQXNCO1lBQ2pDLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUM5QixJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEQsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDO1FBQ1YsSUFDRSxJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQ25EO1lBQ0EsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxVQUFVLEdBQWUsRUFBRSxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUN6QixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMxQixRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQXVCLEVBQUUsRUFBRTtnQkFDckQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO29CQUNuQixVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztpQkFDekQ7Z0JBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU87SUFDVCxDQUFDO2dGQXhSVSxzQkFBc0I7NkRBQXRCLHNCQUFzQjs7Ozs7O1lDOUNuQyxpRkE0RFc7WUFFWCxpRkErRFc7O1lBN0hvQiw2Q0FBd0I7WUE4RHhCLGVBQWM7WUFBZCxtQ0FBYzs7O3VGRGhCaEMsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07NEhBc0J0QyxHQUFHO2tCQUFYLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFLRyxTQUFTO2tCQUFqQixLQUFLO1lBS0csSUFBSTtrQkFBWixLQUFLO1lBS0csY0FBYztrQkFBdEIsS0FBSztZQUtHLFFBQVE7a0JBQWhCLEtBQUs7WUFNRixJQUFJO2tCQURQLEtBQUs7WUFVRyxlQUFlO2tCQUF2QixLQUFLO1lBRUcsWUFBWTtrQkFBcEIsS0FBSztZQUtJLFdBQVc7a0JBQXBCLE1BQU07WUFLRyxhQUFhO2tCQUF0QixNQUFNO1lBS0csWUFBWTtrQkFBckIsTUFBTTtZQUtHLFdBQVc7a0JBQXBCLE1BQU07WUFRRyxnQkFBZ0I7a0JBQXpCLE1BQU07WUFDRyxnQkFBZ0I7a0JBQXpCLE1BQU07WUFHUCxxQkFBcUI7a0JBRHBCLFlBQVk7bUJBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDb250ZW50Q2hpbGQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIEVNUFRZLCB0aW1lciwgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7XG4gIEVudGl0eVN0YXRlLFxuICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSxcbiAgRW50aXR5U3RvcmVXYXRjaGVyLFxuICBFbnRpdHlTdG9yZVdpdGhTdHJhdGVneVxufSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkJztcblxuaW1wb3J0IHsgVGV4dFNlYXJjaE9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCwgUmVzZWFyY2ggfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlJztcblxuZXhwb3J0IGVudW0gU2VhcmNoUmVzdWx0TW9kZSB7XG4gIEdyb3VwZWQgPSAnZ3JvdXBlZCcsXG4gIEZsYXQgPSAnZmxhdCdcbn1cblxuLyoqXG4gKiBMaXN0IG9mIHNlYXJjaCByZXN1bHRzIHdpdGggZm9jdXMgYW5kIHNlbGVjdGlvbiBjYXBhYmlsaXRpZXMuXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBkdW1iIGFuZCBvbmx5IGVtaXRzIGV2ZW50cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1yZXN1bHRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzaG93UmVzdWx0c0NvdW50OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBTZWFyY2hSZXN1bHRNb2RlIGVudW1cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoUmVzdWx0TW9kZSA9IFNlYXJjaFJlc3VsdE1vZGU7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCByZXN1bHRzIHN0b3JlIHdhdGNoZXJcbiAgICovXG4gIHByaXZhdGUgd2F0Y2hlcjogRW50aXR5U3RvcmVXYXRjaGVyPFNlYXJjaFJlc3VsdD47XG5cbiAgcHJpdmF0ZSBzZXR0aW5nc0NoYW5nZSQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIHBhZ2VJdGVyYXRvcjogeyBzb3VyY2VJZDogc3RyaW5nIH1bXSA9IFtdO1xuXG4gIHB1YmxpYyBjb2xsYXBzZWQ6IHsgc291cmNlSWQ6IHN0cmluZyB9W10gPSBbXTtcblxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdHMgc3RvcmVcbiAgICovXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZVdpdGhTdHJhdGVneTxTZWFyY2hSZXN1bHQ+O1xuXG4gIC8qKlxuICAgKiB0byBzaG93IGhpZGUgcmVzdWx0cyBpY29uc1xuICAgKi9cbiAgQElucHV0KCkgc2hvd0ljb25zOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0cyBkaXNwbGF5IG1vZGVcbiAgICovXG4gIEBJbnB1dCgpIG1vZGU6IFNlYXJjaFJlc3VsdE1vZGUgPSBTZWFyY2hSZXN1bHRNb2RlLkdyb3VwZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlcmUgc2hvdWxkIGJlIGEgem9vbSBidXR0b25cbiAgICovXG4gIEBJbnB1dCgpIHdpdGhab29tQnV0dG9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRvIGNoZWNrIGlmIHRoZSB2aWV3IGZvciB0YWJzTW9kZSBmb3Igc2VhcmNoLXJlc3VsdC10b29sc1xuICAgKi9cbiAgQElucHV0KCkgdGFic01vZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2VhcmNoIHRlcm1cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCB0ZXJtKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3Rlcm07XG4gIH1cbiAgc2V0IHRlcm0odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3Rlcm0gPSB2YWx1ZTtcbiAgICB0aGlzLnBhZ2VJdGVyYXRvciA9IFtdO1xuICB9XG4gIHB1YmxpYyBfdGVybTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNldHRpbmdzQ2hhbmdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcblxuICBASW5wdXQoKSB0ZXJtU3BsaXR0ZXI6IHN0cmluZyA9ICd8JztcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzdWx0IGlzIGZvY3VzZWRcbiAgICovXG4gIEBPdXRwdXQoKSByZXN1bHRGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgdW5mb2N1c2VkXG4gICAqL1xuICBAT3V0cHV0KCkgcmVzdWx0VW5mb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgc2VsZWN0ZWRcbiAgICovXG4gIEBPdXRwdXQoKSByZXN1bHRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdD4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzZWFyY2ggaXMgY29tcGxldGVkIGFmdGVyIGRpc3BsYXlpbmcgbW9yZSByZXN1bHRzIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSBtb3JlUmVzdWx0cyA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIHJlc2VhcmNoOiBSZXNlYXJjaDtcbiAgICByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXTtcbiAgfT4oKTtcblxuICAvKipcbiAgICogRXZlbnRzIGVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyBmb2N1cyBvciB1bmZvY3VzIGJ5IG1vdXNlIGV2ZW50XG4gICAqL1xuICBAT3V0cHV0KCkgcmVzdWx0TW91c2VlbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xuICBAT3V0cHV0KCkgcmVzdWx0TW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2lnb1NlYXJjaEl0ZW1Ub29sYmFyJywgLyogVE9ETzogYWRkIHN0YXRpYyBmbGFnICovIHt9KVxuICB0ZW1wbGF0ZVNlYXJjaFRvb2xiYXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZ2V0IHJlc3VsdHMkKCk6IE9ic2VydmFibGU8XG4gICAgeyBzb3VyY2U6IFNlYXJjaFNvdXJjZTsgcmVzdWx0czogU2VhcmNoUmVzdWx0W10gfVtdXG4gID4ge1xuICAgIGlmICh0aGlzLl9yZXN1bHRzJCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9yZXN1bHRzJCA9IHRoaXMubGlmdFJlc3VsdHMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3Jlc3VsdHMkO1xuICB9XG4gIHByaXZhdGUgX3Jlc3VsdHMkOiBPYnNlcnZhYmxlPFxuICAgIHsgc291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdIH1bXVxuICA+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBCaW5kIHRoZSBzZWFyY2ggcmVzdWx0cyBzdG9yZSB0byB0aGUgd2F0Y2hlclxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBFbnRpdHlTdG9yZVdhdGNoZXIodGhpcy5zdG9yZSwgdGhpcy5jZFJlZik7XG5cbiAgICB0aGlzLnNldHRpbmdzQ2hhbmdlJCQgPSB0aGlzLnNldHRpbmdzQ2hhbmdlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5wYWdlSXRlcmF0b3IgPSBbXTtcbiAgICB9KTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ3NlYXJjaFNvdXJjZXMuc2hvd1Jlc3VsdHNDb3VudCcpID09PSBmYWxzZVxuICAgICkge1xuICAgICAgdGhpcy5zaG93UmVzdWx0c0NvdW50ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVuYmluZCB0aGUgc2VhcmNoIHJlc3VsdHMgc3RvcmUgZnJvbSB0aGUgd2F0Y2hlclxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XG4gICAgdGhpcy5zZXR0aW5nc0NoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZSBhIGdyb3VwIHRpdGxlXG4gICAqIEBwYXJhbSBncm91cCBTZWFyY2ggcmVzdWx0cyBncm91cFxuICAgKiBAcmV0dXJucyBHcm91cCB0aXRsZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbXB1dGVHcm91cFRpdGxlKGdyb3VwOiB7XG4gICAgc291cmNlOiBTZWFyY2hTb3VyY2U7XG4gICAgcmVzdWx0czogU2VhcmNoUmVzdWx0W107XG4gIH0pOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnRzID0gW2dyb3VwLnNvdXJjZS50aXRsZV07XG4gICAgY29uc3QgY291bnQgPSBncm91cC5yZXN1bHRzLmxlbmd0aDtcbiAgICBpZiAoY291bnQgPiAxICYmIHRoaXMuc2hvd1Jlc3VsdHNDb3VudCkge1xuICAgICAgcGFydHMucHVzaChgKCR7Y291bnR9KWApO1xuICAgIH1cbiAgICByZXR1cm4gcGFydHMuam9pbignICcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSByZXN1bHQgaXMgc2VsZWN0ZWQsIHVwZGF0ZSBpdCdzIHN0YXRlIGluIHRoZSBzdG9yZSBhbmQgZW1pdFxuICAgKiBhbiBldmVudC4gQSBzZWxlY3RlZCByZXN1bHQgaXMgYWxzbyBjb25zaWRlcmVkIGZvY3VzZWRcbiAgICogQHBhcmFtIHJlc3VsdCBTZWFyY2ggcmVzdWx0XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25SZXN1bHRTZWxlY3QocmVzdWx0OiBTZWFyY2hSZXN1bHQpIHtcbiAgICBpZiAodGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzdWx0KSkge1xuICAgICAgaWYgKHRoaXMuc3RvcmUuc3RhdGUuZ2V0KHJlc3VsdCkuc2VsZWN0ZWQgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShyZXN1bHQsIHsgZm9jdXNlZDogdHJ1ZSwgc2VsZWN0ZWQ6IHRydWUgfSwgdHJ1ZSk7XG4gICAgdGhpcy5yZXN1bHRTZWxlY3QuZW1pdChyZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBvYnNlcnZhYmxlIG9mIHRoZSBzZWFyY2ggcmVzdWx0cywgZ3JvdXBlZCBieSBzZWFyY2ggc291cmNlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgZ3JvdXBlZCBzZWFyY2ggcmVzdWx0c1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgbGlmdFJlc3VsdHMoKTogT2JzZXJ2YWJsZTxcbiAgICB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9W11cbiAgPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGVWaWV3LmFsbCQoKS5waXBlKFxuICAgICAgZGVib3VuY2UoKHJlc3VsdHM6IHsgZW50aXR5OiBTZWFyY2hSZXN1bHQ7IHN0YXRlOiBFbnRpdHlTdGF0ZSB9W10pID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHMubGVuZ3RoID09PSAwID8gRU1QVFkgOiB0aW1lcigyMDApO1xuICAgICAgfSksXG4gICAgICBtYXAoKHJlc3VsdHM6IHsgZW50aXR5OiBTZWFyY2hSZXN1bHQ7IHN0YXRlOiBFbnRpdHlTdGF0ZSB9W10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBSZXN1bHRzKFxuICAgICAgICAgIHJlc3VsdHMubWFwKChyKSA9PiByLmVudGl0eSkuc29ydCh0aGlzLnNvcnRCeU9yZGVyKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNvcnQgdGhlIHJlc3VsdHMgYnkgZGlzcGxheSBvcmRlci5cbiAgICogQHBhcmFtIHIxIEZpcnN0IHJlc3VsdFxuICAgKiBAcGFyYW0gcjIgU2Vjb25kIHJlc3VsdFxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0QnlPcmRlcihyMTogU2VhcmNoUmVzdWx0LCByMjogU2VhcmNoUmVzdWx0KSB7XG4gICAgcmV0dXJuIHIxLnNvdXJjZS5kaXNwbGF5T3JkZXIgLSByMi5zb3VyY2UuZGlzcGxheU9yZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwIHJlc3VsdHMgYnkgc2VhcmNoIHNvdXJjZVxuICAgKiBAcGFyYW0gcmVzdWx0cyBTZWFyY2ggcmVzdWx0cyBmcm9tIGFsbCBzb3VyY2VzXG4gICAqIEByZXR1cm5zIFNlYXJjaCByZXN1bHRzIGdyb3VwZWQgYnkgc291cmNlXG4gICAqL1xuICBwcml2YXRlIGdyb3VwUmVzdWx0cyhcbiAgICByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXVxuICApOiB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9W10ge1xuICAgIGNvbnN0IGdyb3VwZWQgPSBuZXcgTWFwPFNlYXJjaFNvdXJjZSwgU2VhcmNoUmVzdWx0W10+KCk7XG4gICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gcmVzdWx0LnNvdXJjZTtcbiAgICAgIGxldCBzb3VyY2VSZXN1bHRzID0gZ3JvdXBlZC5nZXQoc291cmNlKTtcbiAgICAgIGlmIChzb3VyY2VSZXN1bHRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc291cmNlUmVzdWx0cyA9IFtdO1xuICAgICAgICBncm91cGVkLnNldChzb3VyY2UsIHNvdXJjZVJlc3VsdHMpO1xuICAgICAgfVxuICAgICAgc291cmNlUmVzdWx0cy5wdXNoKHJlc3VsdCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShncm91cGVkLmtleXMoKSkubWFwKChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4ge1xuICAgICAgaWYgKHRoaXMucGFnZUl0ZXJhdG9yW3NvdXJjZS5nZXRJZCgpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucGFnZUl0ZXJhdG9yW3NvdXJjZS5nZXRJZCgpXSA9IDE7XG4gICAgICB9XG4gICAgICByZXR1cm4geyBzb3VyY2UsIHJlc3VsdHM6IGdyb3VwZWQuZ2V0KHNvdXJjZSkgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGlzTW9yZVJlc3VsdHMoZ3JvdXA6IHsgc291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdIH0pIHtcbiAgICBjb25zdCBzdGF0ZWd5ID0gdGhpcy5zdG9yZS5nZXRTdHJhdGVneU9mVHlwZShcbiAgICAgIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5XG4gICAgKTtcbiAgICBjb25zdCBhY3RpdmUgPSBzdGF0ZWd5Py5hY3RpdmUgfHwgZmFsc2U7XG4gICAgaWYgKCFhY3RpdmUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGdyb3VwLnJlc3VsdHMgJiZcbiAgICAgICAgZ3JvdXAucmVzdWx0c1tncm91cC5yZXN1bHRzLmxlbmd0aCAtIDFdLm1ldGEubmV4dFBhZ2UgPT09IHRydWVcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGdyb3VwLnJlc3VsdHM/Lmxlbmd0aCAlICtncm91cC5zb3VyY2UucGFyYW1zLmxpbWl0ID09PSAwICYmXG4gICAgICAgICtncm91cC5zb3VyY2UucGFyYW1zLnBhZ2UgPCAzMFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBkaXNwbGF5TW9yZVJlc3VsdHMoZ3JvdXA6IHsgc291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdIH0pIHtcbiAgICBjb25zdCBvcHRpb25zOiBUZXh0U2VhcmNoT3B0aW9ucyA9IHtcbiAgICAgIHNvdXJjZUlkOiBncm91cC5zb3VyY2UuZ2V0SWQoKSxcbiAgICAgIHBhZ2U6ICsrdGhpcy5wYWdlSXRlcmF0b3JbZ3JvdXAuc291cmNlLmdldElkKCldXG4gICAgfTtcblxuICAgIGxldCB0ZXJtcztcbiAgICBpZiAoXG4gICAgICB0aGlzLnRlcm1TcGxpdHRlciAmJlxuICAgICAgdGhpcy50ZXJtLm1hdGNoKG5ldyBSZWdFeHAodGhpcy50ZXJtU3BsaXR0ZXIsICdnJykpXG4gICAgKSB7XG4gICAgICB0ZXJtcyA9IHRoaXMudGVybS5zcGxpdCh0aGlzLnRlcm1TcGxpdHRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRlcm1zID0gW3RoaXMudGVybV07XG4gICAgfVxuXG4gICAgbGV0IHJlc2VhcmNoZXM6IFJlc2VhcmNoW10gPSBbXTtcbiAgICB0ZXJtcy5tYXAoKHRlcm06IHN0cmluZykgPT4ge1xuICAgICAgcmVzZWFyY2hlcyA9IHJlc2VhcmNoZXMuY29uY2F0KHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2godGVybSwgb3B0aW9ucykpO1xuICAgIH0pO1xuXG4gICAgcmVzZWFyY2hlcy5tYXAoKHJlc2VhcmNoKSA9PiB7XG4gICAgICByZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgocmVzdWx0czogU2VhcmNoUmVzdWx0W10pID0+IHtcbiAgICAgICAgY29uc3QgbmV3UmVzdWx0cyA9IGdyb3VwLnJlc3VsdHMuY29uY2F0KHJlc3VsdHMpO1xuICAgICAgICBpZiAoIXJlc3VsdHMubGVuZ3RoKSB7XG4gICAgICAgICAgbmV3UmVzdWx0c1tuZXdSZXN1bHRzLmxlbmd0aCAtIDFdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vcmVSZXN1bHRzLmVtaXQoeyByZXNlYXJjaCwgcmVzdWx0czogbmV3UmVzdWx0cyB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxufVxuIiwiPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cInRydWVcIiAqbmdJZj1cInRhYnNNb2RlID09PSBmYWxzZVwiPlxuICA8bmctdGVtcGxhdGUgI2dyb3VwVGVtcGxhdGUgbmdGb3IgbGV0LWdyb3VwIFtuZ0Zvck9mXT1cInJlc3VsdHMkIHwgYXN5bmNcIj5cbiAgICA8aWdvLWNvbGxhcHNpYmxlXG4gICAgICBbY2xhc3NdPVwiZ3JvdXAuc291cmNlLmdldElkKClcIlxuICAgICAgKm5nSWY9XCJtb2RlID09PSBzZWFyY2hSZXN1bHRNb2RlLkdyb3VwZWQ7IGVsc2UgZmxhdFRlbXBsYXRlXCJcbiAgICAgIFt0aXRsZV09XCJjb21wdXRlR3JvdXBUaXRsZShncm91cClcIlxuICAgICAgW2NvbGxhcHNlZF09XCJjb2xsYXBzZWRbZ3JvdXAuc291cmNlLnRpdGxlXVwiXG4gICAgICAodG9nZ2xlKT1cImNvbGxhcHNlZFtncm91cC5zb3VyY2UudGl0bGVdID0gJGV2ZW50XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgc3RvcmVJdGVtVGVtcGxhdGU7XG4gICAgICAgICAgY29udGV4dDogeyByZXN1bHRzOiBncm91cC5yZXN1bHRzIH1cbiAgICAgICAgXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L2lnby1jb2xsYXBzaWJsZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZmxhdFRlbXBsYXRlPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIHN0b3JlSXRlbVRlbXBsYXRlO1xuICAgICAgICAgIGNvbnRleHQ6IHsgcmVzdWx0czogZ3JvdXAucmVzdWx0cyB9XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjc3RvcmVJdGVtVGVtcGxhdGUgbGV0LXJlc3VsdHM9XCJyZXN1bHRzXCI+XG4gICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXJlc3VsdCBbbmdGb3JPZl09XCJyZXN1bHRzXCI+XG4gICAgICAgIDxpZ28tc2VhcmNoLXJlc3VsdHMtaXRlbVxuICAgICAgICAgIGlnb0xpc3RJdGVtXG4gICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgICAgICBbcmVzdWx0XT1cInJlc3VsdFwiXG4gICAgICAgICAgW3Nob3dJY29uc109XCJzaG93SWNvbnNcIlxuICAgICAgICAgIFt3aXRoWm9vbUJ1dHRvbl09XCJ3aXRoWm9vbUJ1dHRvblwiXG4gICAgICAgICAgW2ZvY3VzZWRdPVwic3RvcmUuc3RhdGUuZ2V0KHJlc3VsdCkuZm9jdXNlZFwiXG4gICAgICAgICAgW3NlbGVjdGVkXT1cInN0b3JlLnN0YXRlLmdldChyZXN1bHQpLnNlbGVjdGVkXCJcbiAgICAgICAgICAoZm9jdXMpPVwicmVzdWx0Rm9jdXMuZW1pdChyZXN1bHQpXCJcbiAgICAgICAgICAodW5mb2N1cyk9XCJyZXN1bHRVbmZvY3VzLmVtaXQocmVzdWx0KVwiXG4gICAgICAgICAgKHNlbGVjdCk9XCJvblJlc3VsdFNlbGVjdChyZXN1bHQpXCJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJyZXN1bHRGb2N1cy5lbWl0KHJlc3VsdClcIlxuICAgICAgICAgIChtb3VzZWxlYXZlKT1cInJlc3VsdFVuZm9jdXMuZW1pdChyZXN1bHQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIGlnb1NlYXJjaEl0ZW1Ub29sYmFyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVNlYXJjaFRvb2xiYXJcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcmVzdWx0OiByZXN1bHQgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2lnby1zZWFyY2gtcmVzdWx0cy1pdGVtPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibW9yZVJlc3VsdHMgbWF0LXR5cG9ncmFwaHlcIlxuICAgICAgICAqbmdJZj1cImlzTW9yZVJlc3VsdHMoZ3JvdXApXCJcbiAgICAgICAgKGNsaWNrKT1cImRpc3BsYXlNb3JlUmVzdWx0cyhncm91cClcIlxuICAgICAgPlxuICAgICAgICA8dT57eyAnaWdvLmdlby5zZWFyY2guZGlzcGxheU1vcmVSZXN1bHRzJyB8IHRyYW5zbGF0ZSB9fTwvdT5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9pZ28tbGlzdD5cblxuPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cInRydWVcIiAqbmdJZj1cInRhYnNNb2RlXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgbW9kZSA9PT0gc2VhcmNoUmVzdWx0TW9kZS5Hcm91cGVkO1xuICAgICAgdGhlbiB0YWJzVGVtcGxhdGU7XG4gICAgICBlbHNlIGZsYXRUZW1wbGF0ZVxuICAgIFwiXG4gID48L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI3RhYnNUZW1wbGF0ZT5cbiAgICA8bWF0LXRhYi1ncm91cCBjbGFzcz1cImN1c3RvbS10YWJzLXZpZXdcIiBkeW5hbWljSGVpZ2h0PlxuICAgICAgPG1hdC10YWJcbiAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIHJlc3VsdHMkIHwgYXN5bmNcIlxuICAgICAgICBbbGFiZWxdPVwiY29tcHV0ZUdyb3VwVGl0bGUoZ3JvdXApXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RvcmVJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgZ3JvdXA6IGdyb3VwIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC10YWI+XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZmxhdFRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtZ3JvdXAgW25nRm9yT2ZdPVwicmVzdWx0cyQgfCBhc3luY1wiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN0b3JlSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7IGdyb3VwOiBncm91cCB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjc3RvcmVJdGVtVGVtcGxhdGUgbGV0LWdyb3VwPVwiZ3JvdXBcIj5cbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXJlc3VsdCBbbmdGb3JPZl09XCJncm91cC5yZXN1bHRzXCI+XG4gICAgICA8aWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW1cbiAgICAgICAgaWdvTGlzdEl0ZW1cbiAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgIFtyZXN1bHRdPVwicmVzdWx0XCJcbiAgICAgICAgW3Nob3dJY29uc109XCJzaG93SWNvbnNcIlxuICAgICAgICBbd2l0aFpvb21CdXR0b25dPVwid2l0aFpvb21CdXR0b25cIlxuICAgICAgICBbZm9jdXNlZF09XCJzdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5mb2N1c2VkXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cInN0b3JlLnN0YXRlLmdldChyZXN1bHQpLnNlbGVjdGVkXCJcbiAgICAgICAgKGZvY3VzKT1cInJlc3VsdEZvY3VzLmVtaXQocmVzdWx0KVwiXG4gICAgICAgICh1bmZvY3VzKT1cInJlc3VsdFVuZm9jdXMuZW1pdChyZXN1bHQpXCJcbiAgICAgICAgKHNlbGVjdCk9XCJvblJlc3VsdFNlbGVjdChyZXN1bHQpXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwicmVzdWx0Rm9jdXMuZW1pdChyZXN1bHQpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwicmVzdWx0VW5mb2N1cy5lbWl0KHJlc3VsdClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgaWdvU2VhcmNoSXRlbVRvb2xiYXJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVNlYXJjaFRvb2xiYXJcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJlc3VsdDogcmVzdWx0IH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9pZ28tc2VhcmNoLXJlc3VsdHMtaXRlbT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cIm1vcmVSZXN1bHRzIG1hdC10eXBvZ3JhcGh5XCJcbiAgICAgICpuZ0lmPVwiaXNNb3JlUmVzdWx0cyhncm91cClcIlxuICAgICAgKGNsaWNrKT1cImRpc3BsYXlNb3JlUmVzdWx0cyhncm91cClcIlxuICAgID5cbiAgICAgIDx1Pnt7ICdpZ28uZ2VvLnNlYXJjaC5kaXNwbGF5TW9yZVJlc3VsdHMnIHwgdHJhbnNsYXRlIH19PC91PlxuICAgIDwvc3Bhbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvaWdvLWxpc3Q+XG4iXX0=
|
|
480
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFFTCxtQ0FBbUMsRUFDbkMsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN4QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUE0QixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7OztJQ2pCbkQsd0JBS2dCOzs7OztJQVpsQiwwQ0FNQztJQURDLGtWQUFpRDtJQUVqRCxvSUFLZ0I7SUFDbEIsaUJBQWtCOzs7OztJQVpoQixzQ0FBOEI7SUFFOUIsMERBQWtDLHNEQUFBO0lBSy9CLGVBRVk7SUFGWixzQ0FFWSx5RUFBQTs7O0lBTWYsd0JBS2dCOzs7SUFMaEIsZ0lBS2dCOzs7O0lBSmIsc0NBRVkseUVBQUE7Ozs7O0lB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WUFVRyxlQUFlO2tCQUF2QixLQUFLO1lBRUcsWUFBWTtrQkFBcEIsS0FBSztZQUtJLFdBQVc7a0JBQXBCLE1BQU07WUFLRyxhQUFhO2tCQUF0QixNQUFNO1lBS0csWUFBWTtrQkFBckIsTUFBTTtZQUtHLFdBQVc7a0JBQXBCLE1BQU07WUFRRyxnQkFBZ0I7a0JBQXpCLE1BQU07WUFDRyxnQkFBZ0I7a0JBQXpCLE1BQU07WUFHUCxxQkFBcUI7a0JBRHBCLFlBQVk7bUJBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBFbnRpdHlTdGF0ZSxcclxuICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSxcclxuICBFbnRpdHlTdG9yZVdhdGNoZXIsXHJcbiAgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3lcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIEVNUFRZLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkJztcclxuaW1wb3J0IHsgUmVzZWFyY2gsIFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xyXG5pbXBvcnQgeyBUZXh0U2VhcmNoT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZS5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBlbnVtIFNlYXJjaFJlc3VsdE1vZGUge1xyXG4gIEdyb3VwZWQgPSAnZ3JvdXBlZCcsXHJcbiAgRmxhdCA9ICdmbGF0J1xyXG59XHJcblxyXG4vKipcclxuICogTGlzdCBvZiBzZWFyY2ggcmVzdWx0cyB3aXRoIGZvY3VzIGFuZCBzZWxlY3Rpb24gY2FwYWJpbGl0aWVzLlxyXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBkdW1iIGFuZCBvbmx5IGVtaXRzIGV2ZW50cy5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1yZXN1bHRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzaG93UmVzdWx0c0NvdW50OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBTZWFyY2hSZXN1bHRNb2RlIGVudW1cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwdWJsaWMgc2VhcmNoUmVzdWx0TW9kZSA9IFNlYXJjaFJlc3VsdE1vZGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHRzIHN0b3JlIHdhdGNoZXJcclxuICAgKi9cclxuICBwcml2YXRlIHdhdGNoZXI6IEVudGl0eVN0b3JlV2F0Y2hlcjxTZWFyY2hSZXN1bHQ+O1xyXG5cclxuICBwcml2YXRlIHNldHRpbmdzQ2hhbmdlJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHVibGljIHBhZ2VJdGVyYXRvcjogeyBzb3VyY2VJZDogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgY29sbGFwc2VkOiB7IHNvdXJjZUlkOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0cyBzdG9yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZVdpdGhTdHJhdGVneTxTZWFyY2hSZXN1bHQ+O1xyXG5cclxuICAvKipcclxuICAgKiB0byBzaG93IGhpZGUgcmVzdWx0cyBpY29uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHJlc3VsdHMgZGlzcGxheSBtb2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbW9kZTogU2VhcmNoUmVzdWx0TW9kZSA9IFNlYXJjaFJlc3VsdE1vZGUuR3JvdXBlZDtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGVyZSBzaG91bGQgYmUgYSB6b29tIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdpdGhab29tQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIGNoZWNrIGlmIHRoZSB2aWV3IGZvciB0YWJzTW9kZSBmb3Igc2VhcmNoLXJlc3VsdC10b29sc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYnNNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCB0ZXJtXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBnZXQgdGVybSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rlcm07XHJcbiAgfVxyXG4gIHNldCB0ZXJtKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3Rlcm0gPSB2YWx1ZTtcclxuICAgIHRoaXMucGFnZUl0ZXJhdG9yID0gW107XHJcbiAgfVxyXG4gIHB1YmxpYyBfdGVybTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBzZXR0aW5nc0NoYW5nZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XHJcblxyXG4gIEBJbnB1dCgpIHRlcm1TcGxpdHRlcjogc3RyaW5nID0gJ3wnO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgZm9jdXNlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZXN1bHRGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgdW5mb2N1c2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdFVuZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzdWx0IGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWQgYWZ0ZXIgZGlzcGxheWluZyBtb3JlIHJlc3VsdHMgaXMgY2xpY2tlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtb3JlUmVzdWx0cyA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcmVzZWFyY2g6IFJlc2VhcmNoO1xyXG4gICAgcmVzdWx0czogU2VhcmNoUmVzdWx0W107XHJcbiAgfT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnRzIGVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyBmb2N1cyBvciB1bmZvY3VzIGJ5IG1vdXNlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdE1vdXNlZW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdD4oKTtcclxuICBAT3V0cHV0KCkgcmVzdWx0TW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xyXG5cclxuICBAQ29udGVudENoaWxkKCdpZ29TZWFyY2hJdGVtVG9vbGJhcicsIC8qIFRPRE86IGFkZCBzdGF0aWMgZmxhZyAqLyB7fSlcclxuICB0ZW1wbGF0ZVNlYXJjaFRvb2xiYXI6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGdldCByZXN1bHRzJCgpOiBPYnNlcnZhYmxlPFxyXG4gICAgeyBzb3VyY2U6IFNlYXJjaFNvdXJjZTsgcmVzdWx0czogU2VhcmNoUmVzdWx0W10gfVtdXHJcbiAgPiB7XHJcbiAgICBpZiAodGhpcy5fcmVzdWx0cyQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLl9yZXN1bHRzJCA9IHRoaXMubGlmdFJlc3VsdHMoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9yZXN1bHRzJDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcmVzdWx0cyQ6IE9ic2VydmFibGU8XHJcbiAgICB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9W11cclxuICA+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kIHRoZSBzZWFyY2ggcmVzdWx0cyBzdG9yZSB0byB0aGUgd2F0Y2hlclxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzQ2hhbmdlJCQgPSB0aGlzLnNldHRpbmdzQ2hhbmdlJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnBhZ2VJdGVyYXRvciA9IFtdO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdzZWFyY2hTb3VyY2VzLnNob3dSZXN1bHRzQ291bnQnKSA9PT0gZmFsc2VcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNob3dSZXN1bHRzQ291bnQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuYmluZCB0aGUgc2VhcmNoIHJlc3VsdHMgc3RvcmUgZnJvbSB0aGUgd2F0Y2hlclxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcclxuICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2UkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcHV0ZSBhIGdyb3VwIHRpdGxlXHJcbiAgICogQHBhcmFtIGdyb3VwIFNlYXJjaCByZXN1bHRzIGdyb3VwXHJcbiAgICogQHJldHVybnMgR3JvdXAgdGl0bGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBjb21wdXRlR3JvdXBUaXRsZShncm91cDoge1xyXG4gICAgc291cmNlOiBTZWFyY2hTb3VyY2U7XHJcbiAgICByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXTtcclxuICB9KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcnRzID0gW2dyb3VwLnNvdXJjZS50aXRsZV07XHJcbiAgICBjb25zdCBjb3VudCA9IGdyb3VwLnJlc3VsdHMubGVuZ3RoO1xyXG4gICAgaWYgKGNvdW50ID4gMSAmJiB0aGlzLnNob3dSZXN1bHRzQ291bnQpIHtcclxuICAgICAgcGFydHMucHVzaChgKCR7Y291bnR9KWApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhcnRzLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSByZXN1bHQgaXMgc2VsZWN0ZWQsIHVwZGF0ZSBpdCdzIHN0YXRlIGluIHRoZSBzdG9yZSBhbmQgZW1pdFxyXG4gICAqIGFuIGV2ZW50LiBBIHNlbGVjdGVkIHJlc3VsdCBpcyBhbHNvIGNvbnNpZGVyZWQgZm9jdXNlZFxyXG4gICAqIEBwYXJhbSByZXN1bHQgU2VhcmNoIHJlc3VsdFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uUmVzdWx0U2VsZWN0KHJlc3VsdDogU2VhcmNoUmVzdWx0KSB7XHJcbiAgICBpZiAodGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzdWx0KSkge1xyXG4gICAgICBpZiAodGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUocmVzdWx0LCB7IGZvY3VzZWQ6IHRydWUsIHNlbGVjdGVkOiB0cnVlIH0sIHRydWUpO1xyXG4gICAgdGhpcy5yZXN1bHRTZWxlY3QuZW1pdChyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIGFuIG9ic2VydmFibGUgb2YgdGhlIHNlYXJjaCByZXN1bHRzLCBncm91cGVkIGJ5IHNlYXJjaCBzb3VyY2VcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIGdyb3VwZWQgc2VhcmNoIHJlc3VsdHNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIGxpZnRSZXN1bHRzKCk6IE9ic2VydmFibGU8XHJcbiAgICB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9W11cclxuICA+IHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlVmlldy5hbGwkKCkucGlwZShcclxuICAgICAgZGVib3VuY2UoKHJlc3VsdHM6IHsgZW50aXR5OiBTZWFyY2hSZXN1bHQ7IHN0YXRlOiBFbnRpdHlTdGF0ZSB9W10pID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0cy5sZW5ndGggPT09IDAgPyBFTVBUWSA6IHRpbWVyKDIwMCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBtYXAoKHJlc3VsdHM6IHsgZW50aXR5OiBTZWFyY2hSZXN1bHQ7IHN0YXRlOiBFbnRpdHlTdGF0ZSB9W10pID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ncm91cFJlc3VsdHMoXHJcbiAgICAgICAgICByZXN1bHRzLm1hcCgocikgPT4gci5lbnRpdHkpLnNvcnQodGhpcy5zb3J0QnlPcmRlcilcclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgdGhlIHJlc3VsdHMgYnkgZGlzcGxheSBvcmRlci5cclxuICAgKiBAcGFyYW0gcjEgRmlyc3QgcmVzdWx0XHJcbiAgICogQHBhcmFtIHIyIFNlY29uZCByZXN1bHRcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnRCeU9yZGVyKHIxOiBTZWFyY2hSZXN1bHQsIHIyOiBTZWFyY2hSZXN1bHQpIHtcclxuICAgIHJldHVybiByMS5zb3VyY2UuZGlzcGxheU9yZGVyIC0gcjIuc291cmNlLmRpc3BsYXlPcmRlcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdyb3VwIHJlc3VsdHMgYnkgc2VhcmNoIHNvdXJjZVxyXG4gICAqIEBwYXJhbSByZXN1bHRzIFNlYXJjaCByZXN1bHRzIGZyb20gYWxsIHNvdXJjZXNcclxuICAgKiBAcmV0dXJucyBTZWFyY2ggcmVzdWx0cyBncm91cGVkIGJ5IHNvdXJjZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ3JvdXBSZXN1bHRzKFxyXG4gICAgcmVzdWx0czogU2VhcmNoUmVzdWx0W11cclxuICApOiB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9W10ge1xyXG4gICAgY29uc3QgZ3JvdXBlZCA9IG5ldyBNYXA8U2VhcmNoU291cmNlLCBTZWFyY2hSZXN1bHRbXT4oKTtcclxuICAgIHJlc3VsdHMuZm9yRWFjaCgocmVzdWx0OiBTZWFyY2hSZXN1bHQpID0+IHtcclxuICAgICAgY29uc3Qgc291cmNlID0gcmVzdWx0LnNvdXJjZTtcclxuICAgICAgbGV0IHNvdXJjZVJlc3VsdHMgPSBncm91cGVkLmdldChzb3VyY2UpO1xyXG4gICAgICBpZiAoc291cmNlUmVzdWx0cyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgc291cmNlUmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIGdyb3VwZWQuc2V0KHNvdXJjZSwgc291cmNlUmVzdWx0cyk7XHJcbiAgICAgIH1cclxuICAgICAgc291cmNlUmVzdWx0cy5wdXNoKHJlc3VsdCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbShncm91cGVkLmtleXMoKSkubWFwKChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5wYWdlSXRlcmF0b3Jbc291cmNlLmdldElkKCldID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLnBhZ2VJdGVyYXRvcltzb3VyY2UuZ2V0SWQoKV0gPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IHNvdXJjZSwgcmVzdWx0czogZ3JvdXBlZC5nZXQoc291cmNlKSB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpc01vcmVSZXN1bHRzKGdyb3VwOiB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9KSB7XHJcbiAgICBjb25zdCBzdGF0ZWd5ID0gdGhpcy5zdG9yZS5nZXRTdHJhdGVneU9mVHlwZShcclxuICAgICAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3lcclxuICAgICk7XHJcbiAgICBjb25zdCBhY3RpdmUgPSBzdGF0ZWd5Py5hY3RpdmUgfHwgZmFsc2U7XHJcbiAgICBpZiAoIWFjdGl2ZSkge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIGdyb3VwLnJlc3VsdHMgJiZcclxuICAgICAgICBncm91cC5yZXN1bHRzW2dyb3VwLnJlc3VsdHMubGVuZ3RoIC0gMV0ubWV0YS5uZXh0UGFnZSA9PT0gdHJ1ZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICBncm91cC5yZXN1bHRzPy5sZW5ndGggJSArZ3JvdXAuc291cmNlLnBhcmFtcy5saW1pdCA9PT0gMCAmJlxyXG4gICAgICAgICtncm91cC5zb3VyY2UucGFyYW1zLnBhZ2UgPCAzMFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcGxheU1vcmVSZXN1bHRzKGdyb3VwOiB7IHNvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9KSB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBUZXh0U2VhcmNoT3B0aW9ucyA9IHtcclxuICAgICAgc291cmNlSWQ6IGdyb3VwLnNvdXJjZS5nZXRJZCgpLFxyXG4gICAgICBwYWdlOiArK3RoaXMucGFnZUl0ZXJhdG9yW2dyb3VwLnNvdXJjZS5nZXRJZCgpXVxyXG4gICAgfTtcclxuXHJcbiAgICBsZXQgdGVybXM7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMudGVybVNwbGl0dGVyICYmXHJcbiAgICAgIHRoaXMudGVybS5tYXRjaChuZXcgUmVnRXhwKHRoaXMudGVybVNwbGl0dGVyLCAnZycpKVxyXG4gICAgKSB7XHJcbiAgICAgIHRlcm1zID0gdGhpcy50ZXJtLnNwbGl0KHRoaXMudGVybVNwbGl0dGVyKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRlcm1zID0gW3RoaXMudGVybV07XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHJlc2VhcmNoZXM6IFJlc2VhcmNoW10gPSBbXTtcclxuICAgIHRlcm1zLm1hcCgodGVybTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJlc2VhcmNoZXMgPSByZXNlYXJjaGVzLmNvbmNhdCh0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoKHRlcm0sIG9wdGlvbnMpKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJlc2VhcmNoZXMubWFwKChyZXNlYXJjaCkgPT4ge1xyXG4gICAgICByZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgocmVzdWx0czogU2VhcmNoUmVzdWx0W10pID0+IHtcclxuICAgICAgICBjb25zdCBuZXdSZXN1bHRzID0gZ3JvdXAucmVzdWx0cy5jb25jYXQocmVzdWx0cyk7XHJcbiAgICAgICAgaWYgKCFyZXN1bHRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgbmV3UmVzdWx0c1tuZXdSZXN1bHRzLmxlbmd0aCAtIDFdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3JlUmVzdWx0cy5lbWl0KHsgcmVzZWFyY2gsIHJlc3VsdHM6IG5ld1Jlc3VsdHMgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG59XHJcbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJ0cnVlXCIgKm5nSWY9XCJ0YWJzTW9kZSA9PT0gZmFsc2VcIj5cbiAgPG5nLXRlbXBsYXRlICNncm91cFRlbXBsYXRlIG5nRm9yIGxldC1ncm91cCBbbmdGb3JPZl09XCJyZXN1bHRzJCB8IGFzeW5jXCI+XG4gICAgPGlnby1jb2xsYXBzaWJsZVxuICAgICAgW2NsYXNzXT1cImdyb3VwLnNvdXJjZS5nZXRJZCgpXCJcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gc2VhcmNoUmVzdWx0TW9kZS5Hcm91cGVkOyBlbHNlIGZsYXRUZW1wbGF0ZVwiXG4gICAgICBbdGl0bGVdPVwiY29tcHV0ZUdyb3VwVGl0bGUoZ3JvdXApXCJcbiAgICAgIFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkW2dyb3VwLnNvdXJjZS50aXRsZV1cIlxuICAgICAgKHRvZ2dsZSk9XCJjb2xsYXBzZWRbZ3JvdXAuc291cmNlLnRpdGxlXSA9ICRldmVudFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIHN0b3JlSXRlbVRlbXBsYXRlO1xuICAgICAgICAgIGNvbnRleHQ6IHsgcmVzdWx0czogZ3JvdXAucmVzdWx0cyB9XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9pZ28tY29sbGFwc2libGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2ZsYXRUZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBzdG9yZUl0ZW1UZW1wbGF0ZTtcbiAgICAgICAgICBjb250ZXh0OiB7IHJlc3VsdHM6IGdyb3VwLnJlc3VsdHMgfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI3N0b3JlSXRlbVRlbXBsYXRlIGxldC1yZXN1bHRzPVwicmVzdWx0c1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1yZXN1bHQgW25nRm9yT2ZdPVwicmVzdWx0c1wiPlxuICAgICAgICA8aWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW1cbiAgICAgICAgICBpZ29MaXN0SXRlbVxuICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgICAgW3Jlc3VsdF09XCJyZXN1bHRcIlxuICAgICAgICAgIFtzaG93SWNvbnNdPVwic2hvd0ljb25zXCJcbiAgICAgICAgICBbd2l0aFpvb21CdXR0b25dPVwid2l0aFpvb21CdXR0b25cIlxuICAgICAgICAgIFtmb2N1c2VkXT1cInN0b3JlLnN0YXRlLmdldChyZXN1bHQpLmZvY3VzZWRcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJzdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZFwiXG4gICAgICAgICAgKGZvY3VzKT1cInJlc3VsdEZvY3VzLmVtaXQocmVzdWx0KVwiXG4gICAgICAgICAgKHVuZm9jdXMpPVwicmVzdWx0VW5mb2N1cy5lbWl0KHJlc3VsdClcIlxuICAgICAgICAgIChzZWxlY3QpPVwib25SZXN1bHRTZWxlY3QocmVzdWx0KVwiXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwicmVzdWx0Rm9jdXMuZW1pdChyZXN1bHQpXCJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyZXN1bHRVbmZvY3VzLmVtaXQocmVzdWx0KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBpZ29TZWFyY2hJdGVtVG9vbGJhclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVTZWFyY2hUb29sYmFyXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJlc3VsdDogcmVzdWx0IH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9pZ28tc2VhcmNoLXJlc3VsdHMtaXRlbT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIm1vcmVSZXN1bHRzIG1hdC10eXBvZ3JhcGh5XCJcbiAgICAgICAgKm5nSWY9XCJpc01vcmVSZXN1bHRzKGdyb3VwKVwiXG4gICAgICAgIChjbGljayk9XCJkaXNwbGF5TW9yZVJlc3VsdHMoZ3JvdXApXCJcbiAgICAgID5cbiAgICAgICAgPHU+e3sgJ2lnby5nZW8uc2VhcmNoLmRpc3BsYXlNb3JlUmVzdWx0cycgfCB0cmFuc2xhdGUgfX08L3U+XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvaWdvLWxpc3Q+XG5cbjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJ0cnVlXCIgKm5nSWY9XCJ0YWJzTW9kZVwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIG1vZGUgPT09IHNlYXJjaFJlc3VsdE1vZGUuR3JvdXBlZDtcbiAgICAgIHRoZW4gdGFic1RlbXBsYXRlO1xuICAgICAgZWxzZSBmbGF0VGVtcGxhdGVcbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICN0YWJzVGVtcGxhdGU+XG4gICAgPG1hdC10YWItZ3JvdXAgY2xhc3M9XCJjdXN0b20tdGFicy12aWV3XCIgZHluYW1pY0hlaWdodD5cbiAgICAgIDxtYXQtdGFiXG4gICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiByZXN1bHRzJCB8IGFzeW5jXCJcbiAgICAgICAgW2xhYmVsXT1cImNvbXB1dGVHcm91cFRpdGxlKGdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN0b3JlSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7IGdyb3VwOiBncm91cCB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtdGFiPlxuICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI2ZsYXRUZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWdyb3VwIFtuZ0Zvck9mXT1cInJlc3VsdHMkIHwgYXN5bmNcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdG9yZUl0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyBncm91cDogZ3JvdXAgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI3N0b3JlSXRlbVRlbXBsYXRlIGxldC1ncm91cD1cImdyb3VwXCI+XG4gICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1yZXN1bHQgW25nRm9yT2ZdPVwiZ3JvdXAucmVzdWx0c1wiPlxuICAgICAgPGlnby1zZWFyY2gtcmVzdWx0cy1pdGVtXG4gICAgICAgIGlnb0xpc3RJdGVtXG4gICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgW21hcF09XCJtYXBcIlxuICAgICAgICBbcmVzdWx0XT1cInJlc3VsdFwiXG4gICAgICAgIFtzaG93SWNvbnNdPVwic2hvd0ljb25zXCJcbiAgICAgICAgW3dpdGhab29tQnV0dG9uXT1cIndpdGhab29tQnV0dG9uXCJcbiAgICAgICAgW2ZvY3VzZWRdPVwic3RvcmUuc3RhdGUuZ2V0KHJlc3VsdCkuZm9jdXNlZFwiXG4gICAgICAgIFtzZWxlY3RlZF09XCJzdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZFwiXG4gICAgICAgIChmb2N1cyk9XCJyZXN1bHRGb2N1cy5lbWl0KHJlc3VsdClcIlxuICAgICAgICAodW5mb2N1cyk9XCJyZXN1bHRVbmZvY3VzLmVtaXQocmVzdWx0KVwiXG4gICAgICAgIChzZWxlY3QpPVwib25SZXN1bHRTZWxlY3QocmVzdWx0KVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cInJlc3VsdEZvY3VzLmVtaXQocmVzdWx0KVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cInJlc3VsdFVuZm9jdXMuZW1pdChyZXN1bHQpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIGlnb1NlYXJjaEl0ZW1Ub29sYmFyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVTZWFyY2hUb29sYmFyXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyByZXN1bHQ6IHJlc3VsdCB9XCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvaWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJtb3JlUmVzdWx0cyBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAqbmdJZj1cImlzTW9yZVJlc3VsdHMoZ3JvdXApXCJcbiAgICAgIChjbGljayk9XCJkaXNwbGF5TW9yZVJlc3VsdHMoZ3JvdXApXCJcbiAgICA+XG4gICAgICA8dT57eyAnaWdvLmdlby5zZWFyY2guZGlzcGxheU1vcmVSZXN1bHRzJyB8IHRyYW5zbGF0ZSB9fTwvdT5cbiAgICA8L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG48L2lnby1saXN0PlxuIl19
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
3
5
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
4
6
|
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatListModule } from '@angular/material/list';
|
|
7
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
8
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
9
7
|
import { MatDialogModule } from '@angular/material/dialog';
|
|
10
8
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
11
|
-
import {
|
|
9
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
12
10
|
import { MatInputModule } from '@angular/material/input';
|
|
11
|
+
import { MatListModule } from '@angular/material/list';
|
|
13
12
|
import { MatSelectModule } from '@angular/material/select';
|
|
14
|
-
import {
|
|
13
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
14
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
15
15
|
import { IgoCollapsibleModule, IgoListModule, IgoMatBadgeIconModule, IgoStopPropagationModule } from '@igo2/common';
|
|
16
16
|
import { IgoLanguageModule } from '@igo2/core';
|
|
17
17
|
import { IgoMetadataModule } from './../../metadata/metadata.module';
|
|
18
|
-
import { SearchResultsComponent } from './search-results.component';
|
|
19
|
-
import { SearchResultsItemComponent } from './search-results-item.component';
|
|
20
|
-
import { SearchResultAddButtonComponent } from './search-results-add-button.component';
|
|
21
18
|
import { SaveFeatureDialogComponent } from './save-feature-dialog.component';
|
|
19
|
+
import { SearchResultAddButtonComponent } from './search-results-add-button.component';
|
|
20
|
+
import { SearchResultsItemComponent } from './search-results-item.component';
|
|
21
|
+
import { SearchResultsComponent } from './search-results.component';
|
|
22
22
|
import * as i0 from "@angular/core";
|
|
23
23
|
/**
|
|
24
24
|
* @ignore
|
|
@@ -101,4 +101,4 @@ export class IgoSearchResultsModule {
|
|
|
101
101
|
MatTabsModule,
|
|
102
102
|
MatTooltipModule,
|
|
103
103
|
ReactiveFormsModule], exports: [SearchResultsComponent, SearchResultAddButtonComponent] }); })();
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDekIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVwRTs7R0FFRztBQStCSCxNQUFNLE9BQU8sc0JBQXNCO2dGQUF0QixzQkFBc0I7NERBQXRCLHNCQUFzQjtnRUE1Qi9CLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixxQkFBcUI7WUFDckIsY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLG1CQUFtQjs7dUZBVVYsc0JBQXNCO2NBOUJsQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLGFBQWE7b0JBQ2IscUJBQXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsY0FBYztvQkFDZCxhQUFhO29CQUNiLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsOEJBQThCLENBQUM7Z0JBQ2pFLFlBQVksRUFBRTtvQkFDWixzQkFBc0I7b0JBQ3RCLDBCQUEwQjtvQkFDMUIsOEJBQThCO29CQUM5QiwwQkFBMEI7aUJBQzNCO2FBQ0Y7O3dGQUNZLHNCQUFzQixtQkFOL0Isc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQiw4QkFBOEI7UUFDOUIsMEJBQTBCLGFBekIxQixZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixtQkFBbUIsYUFFWCxzQkFBc0IsRUFBRSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxyXG4gIElnb0xpc3RNb2R1bGUsXHJcbiAgSWdvTWF0QmFkZ2VJY29uTW9kdWxlLFxyXG4gIElnb1N0b3BQcm9wYWdhdGlvbk1vZHVsZVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29NZXRhZGF0YU1vZHVsZSB9IGZyb20gJy4vLi4vLi4vbWV0YWRhdGEvbWV0YWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgU2F2ZUZlYXR1cmVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NhdmUtZmVhdHVyZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0QWRkQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJZ29Db2xsYXBzaWJsZU1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvTGlzdE1vZHVsZSxcclxuICAgIElnb01hdEJhZGdlSWNvbk1vZHVsZSxcclxuICAgIElnb01ldGFkYXRhTW9kdWxlLFxyXG4gICAgSWdvU3RvcFByb3BhZ2F0aW9uTW9kdWxlLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gICAgTWF0QmFkZ2VNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0VGFic01vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbU2VhcmNoUmVzdWx0c0NvbXBvbmVudCwgU2VhcmNoUmVzdWx0QWRkQnV0dG9uQ29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlYXJjaFJlc3VsdHNDb21wb25lbnQsXHJcbiAgICBTZWFyY2hSZXN1bHRzSXRlbUNvbXBvbmVudCxcclxuICAgIFNlYXJjaFJlc3VsdEFkZEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFNhdmVGZWF0dXJlRGlhbG9nQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvU2VhcmNoUmVzdWx0c01vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
import { distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
-
import { SEARCH_TYPES } from '../shared/search.enums';
|
|
5
4
|
import { SearchSourceService } from '../shared/search-source.service';
|
|
5
|
+
import { SEARCH_TYPES } from '../shared/search.enums';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../shared/search-source.service";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
@@ -130,4 +130,4 @@ export class SearchSelectorComponent {
|
|
|
130
130
|
}], searchTypeChange: [{
|
|
131
131
|
type: Output
|
|
132
132
|
}] }); })();
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7SUNVaEQsMkNBR0M7SUFDQyxZQUNGOztJQUFBLGlCQUFtQjs7OztJQUhqQixxQ0FBb0I7SUFFcEIsZUFDRjtJQURFLCtGQUNGOztBRGJOOzs7Ozs7O0dBT0c7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBK0JkO0lBOUJYLFdBQVcsR0FBNEIsSUFBSSxlQUFlLENBQ2pFLFNBQVMsQ0FDVixDQUFDO0lBRUY7O09BRUc7SUFDSyxZQUFZLENBQWU7SUFFbkM7O09BRUc7SUFDTSxXQUFXLEdBQWEsWUFBWSxDQUFDO0lBRTlDOztPQUVHO0lBQ0gsSUFDSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNPLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFeEQsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFBRyxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXO2FBQ2pDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrQkFBa0IsQ0FBQyxVQUFrQjtRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxrQkFBa0IsQ0FBQyxVQUFrQjtRQUNuQyxPQUFPLGtCQUFrQixVQUFVLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYSxDQUFDLFVBQThCO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxlQUFlLENBQUMsVUFBa0I7UUFDeEMsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDbkQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztpRkE5RVUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUM5QnBDLDhCQUFpQyxnQkFBQTs7WUFVN0IsOEJBQXlDO1lBQzNDLGlCQUFTO1lBRVQsc0NBS0MseUJBQUE7WUFJRyxxSEFBVSxvQ0FBZ0MsSUFBQzs7WUFFM0Msa0dBS21CO1lBQ3JCLGlCQUFrQixFQUFBLEVBQUE7OztZQXZCbEIsZUFBd0Q7WUFBeEQsZ0ZBQXdELDBCQUFBO1lBY3RELGVBQTZCO1lBQTdCLDZEQUE2QjtZQUlKLGVBQWM7WUFBZCx5Q0FBYzs7O3VGREtoQyx1QkFBdUI7Y0FObkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTtzRUFldEMsV0FBVztrQkFBbkIsS0FBSztZQU1GLFVBQVU7a0JBRGIsS0FBSztZQVdJLGdCQUFnQjtrQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFNFQVJDSF9UWVBFUyB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guZW51bXMnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyBhIHVzZXIgdG8gc2VsZWN0IGEgc2VhcmNoIHR5cGUgeW8gZW5hYmxlLiBJbiBpdCdzXHJcbiAqIGN1cnJlbnQgdmVyc2lvbiwgb25seSBvbmUgc2VhcmNoIHR5cGUgY2FuIGJlIHNlbGVjdGVkIGF0IG9uY2UgKHJhZGlvKS4gSWZcclxuICogdGhpcyBjb21wb25lbnQgd2VyZSB0byBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgc2VhcmNoIHNvdXJjZSBlbmFibGVkIChjaGVja2JveCksXHJcbiAqIHRoZSBzZWFyY2hiYXIgY29tcG9uZW50IHdvdWxkIHJlcXVpcmUgYSBzbWFsbCBjaGFuZ2UgdG8gaXQnc1xyXG4gKiBwbGFjZWhvbGRlciBnZXR0ZXIuIFRoZSBzZWFyY2ggc291cmNlIHNlcnZpY2UgYWxyZWFkeSBzdXBwb3J0cyBoYXZpbmdcclxuICogbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtc2VsZWN0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBzZWFyY2hUeXBlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgdW5kZWZpbmVkXHJcbiAgKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWFyY2ggdHlwZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2VhcmNoVHlwZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3Qgb2YgYXZhaWxhYmxlIHNlYXJjaCB0eXBlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaFR5cGVzOiBzdHJpbmdbXSA9IFNFQVJDSF9UWVBFUztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHNlYXJjaCB0eXBlIGVuYWJsZWRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWFyY2hUeXBlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2V0U2VhcmNoVHlwZSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBzZWFyY2hUeXBlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hUeXBlJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZW5hYmxlZCBzZWFyY2ggdHlwZSBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNlYXJjaFR5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSQkID0gdGhpcy5zZWFyY2hUeXBlJFxyXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKChzZWFyY2hUeXBlOiBzdHJpbmcpID0+IHRoaXMub25TZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGUpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zZWFyY2hUeXBlJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVuYWJsZSB0aGUgc2VsZWN0ZWQgc2VhcmNoIHR5cGVcclxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBTZWFyY2ggdHlwZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uU2VhcmNoVHlwZUNoYW5nZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhIHNlYXJjaCB0eXBlJ3MgdGl0bGUuIFRoZSB0aXRsZVxyXG4gICAqIGZvciBhbGwgYXZhaWxhYmxlcyBzZWFyY2ggdHlwZXJzIG5lZWRzIHRvIGJlIGRlZmluZWQgaW4gdGhlIGxvY2FsZVxyXG4gICAqIGZpbGVzIG9yIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duLlxyXG4gICAqIEBwYXJhbSBzZWFyY2hUeXBlIFNlYXJjaCB0eXBlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0U2VhcmNoVHlwZVRpdGxlKHNlYXJjaFR5cGU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGBpZ28uZ2VvLnNlYXJjaC4ke3NlYXJjaFR5cGUudG9Mb3dlckNhc2UoKX0udGl0bGVgO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBhbiBldmVudCBhbmQgZW5hYmxlIHRoZSBzZWFyY2ggc291cmNlcyBvZiB0aGUgZ2l2ZW4gdHlwZS5cclxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBTZWFyY2ggdHlwZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSQubmV4dChzZWFyY2hUeXBlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHNlYXJjaFR5cGUgPT09IHVuZGVmaW5lZCB8fCBzZWFyY2hUeXBlID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZW5hYmxlU291cmNlc0J5VHlwZShzZWFyY2hUeXBlKTtcclxuICAgIHRoaXMuc2VhcmNoVHlwZUNoYW5nZS5lbWl0KHNlYXJjaFR5cGUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1zZWxlY3RvclwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNlbGVjdG9yLWJ1dHRvblwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5tZW51LnRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2VhcmNoU2VsZWN0b3JNZW51XCJcbiAgPlxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwibWVudS1kb3duXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1tZW51XG4gICAgI3NlYXJjaFNlbGVjdG9yTWVudT1cIm1hdE1lbnVcIlxuICAgIGNsYXNzPVwibm8tYm9yZGVyLXJhZGl1c1wiXG4gICAgeFBvc2l0aW9uPVwiYmVmb3JlXCJcbiAgICB5UG9zaXRpb249XCJhYm92ZVwiXG4gID5cbiAgICA8bWF0LXJhZGlvLWdyb3VwXG4gICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2VsZWN0b3ItcmFkaW8tZ3JvdXBcIlxuICAgICAgW3ZhbHVlXT1cInNlYXJjaFR5cGUkIHwgYXN5bmNcIlxuICAgICAgKGNoYW5nZSk9XCJvblNlYXJjaFR5cGVDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXG4gICAgPlxuICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IHNlYXJjaFR5cGUgb2Ygc2VhcmNoVHlwZXNcIlxuICAgICAgICBbdmFsdWVdPVwic2VhcmNoVHlwZVwiXG4gICAgICA+XG4gICAgICAgIHt7IGdldFNlYXJjaFR5cGVUaXRsZShzZWFyY2hUeXBlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICA8L21hdC1tZW51PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
3
|
import { MatButtonModule } from '@angular/material/button';
|
|
4
4
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
5
5
|
import { MatIconModule } from '@angular/material/icon';
|
|
@@ -53,4 +53,4 @@ export class IgoSearchSelectorModule {
|
|
|
53
53
|
MatTabsModule,
|
|
54
54
|
MatCheckboxModule,
|
|
55
55
|
IgoLanguageModule], exports: [SearchSelectorComponent] }); })();
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLHVCQUF1QjtpRkFBdkIsdUJBQXVCOzREQUF2Qix1QkFBdUI7Z0VBYmhDLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCOzt1RkFLUix1QkFBdUI7Y0FmbkMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFDYixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsY0FBYztvQkFDZCxhQUFhO29CQUNiLGlCQUFpQjtvQkFDakIsaUJBQWlCO2lCQUNsQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDbEMsWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDeEM7O3dGQUNZLHVCQUF1QixtQkFGbkIsdUJBQXVCLGFBWHBDLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsaUJBQWlCLGFBRVQsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1NlYXJjaFNlbGVjdG9yQ29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtTZWFyY2hTZWxlY3RvckNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SearchSourceService } from '../shared/search-source.service';
|
|
3
|
-
import { sourceCanReverseSearchAsSummary, sourceCanSearch, sourceCanReverseSearch } from '../shared/search.utils';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
4
2
|
import { MediaService, StorageService } from '@igo2/core';
|
|
3
|
+
import { SearchSourceService } from '../shared/search-source.service';
|
|
4
|
+
import { sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch } from '../shared/search.utils';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "../shared/search-source.service";
|
|
7
7
|
import * as i2 from "@igo2/core";
|
|
@@ -445,4 +445,4 @@ export class SearchSettingsComponent {
|
|
|
445
445
|
type: HostListener,
|
|
446
446
|
args: ['document:keydown', ['$event']]
|
|
447
447
|
}] }); })();
|
|
448
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsWUFBWSxFQUNaLEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU10RSxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGVBQWUsRUFDZixzQkFBc0IsRUFDdkIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ1h0RCwrQkFBa0UsaUJBQUE7SUFDdEMsMEtBQVMsZUFBQSxxQ0FBOEIsQ0FBQSxJQUFDO0lBQ2hFLFlBS0Y7OztJQUFBLGlCQUFTLEVBQUE7OztJQUxQLGVBS0Y7SUFMRSxvTUFLRjs7O0lBWUUsa0NBSUM7SUFDQyxZQUNGO0lBQUEsaUJBQVM7Ozs7SUFKUCx1Q0FBOEI7SUFHOUIsZUFDRjtJQURFLGdEQUNGOzs7SUFDQSxpQ0FBMkQ7SUFDekQsWUFDRjtJQUFBLGlCQUFTOzs7SUFEUCxlQUNGO0lBREUsZ0RBQ0Y7Ozs7SUFvQlEsNENBZUM7SUFUQyw0S0FBUyx3QkFBd0IsSUFBQyxvWUFFWCxlQUFBLHlGQU96QyxDQUFBLElBVG9EO0lBVWxDLFlBQ0Y7O0lBQUEsaUJBQW1COzs7O0lBZGpCLHdD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QUFVLHVDQUFtQyxJQUFDLHdHQU1yQyx3QkFBd0IsSUFOYTs7WUFTOUMsYUFDRjs7WUFBQSxpQkFBbUIsRUFBQTtZQUVyQiwrQkFBbUIsNEJBQUE7WUFHZix1SEFBVSxxQ0FBaUMsSUFBQyx3R0FRbkMsd0JBQXdCLElBUlc7OztZQVc1QyxhQUNGOztZQUFBLGlCQUFtQixFQUFBLEVBQUEsRUFBQSxFQUFBOzs7WUFsS3ZCLGVBQXdEO1lBQXhELGlGQUF3RCwwQkFBQTtZQU0zQixlQUFtQztZQUFuQyx3REFBbUM7WUFTL0IsZUFBcUI7WUFBckIsZ0RBQXFCO1lBMEcvQyxlQUFxRDtZQUFyRCw4RUFBcUQ7WUFpQnRELGVBRUM7WUFGRCxtR0FFQyw2Q0FBQTtZQUlELGVBQ0Y7WUFERSxxR0FDRjtZQVFFLGVBSUM7WUFKRCx5TkFJQyxpREFBQTtZQUlELGVBQ0Y7WUFERSxrR0FDRjs7O3VGRGpJSyx1QkFBdUI7Y0FObkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTs4SEFldEMscUJBQXFCO2tCQUE3QixLQUFLO1lBQ0csNEJBQTRCO2tCQUFwQyxLQUFLO1lBQ0csZ0NBQWdDO2tCQUF4QyxLQUFLO1lBS0ksa0JBQWtCO2tCQUEzQixNQUFNO1lBS0csb0JBQW9CO2tCQUE3QixNQUFNO1lBS0csMkJBQTJCO2tCQUFwQyxNQUFNO1lBS0csK0JBQStCO2tCQUF4QyxNQUFNO1lBR1AsbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRSYWRpb0NoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uSW5pdCxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7XG4gIFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICBTZXR0aW5nT3B0aW9uc1xufSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UuaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5LFxuICBzb3VyY2VDYW5TZWFyY2gsXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hcbn0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC51dGlscyc7XG5pbXBvcnQgeyBNZWRpYVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgYWxsb3dzIGEgdXNlciB0byBzZWxlY3QgYSBzZWFyY2ggdHlwZSB5byBlbmFibGUuIEluIGl0J3NcbiAqIGN1cnJlbnQgdmVyc2lvbiwgb25seSBvbmUgc2VhcmNoIHR5cGUgY2FuIGJlIHNlbGVjdGVkIGF0IG9uY2UgKHJhZGlvKS4gSWZcbiAqIHRoaXMgY29tcG9uZW50IHdlcmUgdG8gc3VwcG9ydCBtb3JlIHRoYW4gb25lIHNlYXJjaCBzb3VyY2UgZW5hYmxlZCAoY2hlY2tib3gpLFxuICogdGhlIHNlYXJjaGJhciBjb21wb25lbnQgd291bGQgcmVxdWlyZSBhIHNtYWxsIGNoYW5nZSB0byBpdCdzXG4gKiBwbGFjZWhvbGRlciBnZXR0ZXIuIFRoZSBzZWFyY2ggc291cmNlIHNlcnZpY2UgYWxyZWFkeSBzdXBwb3J0cyBoYXZpbmdcbiAqIG1vcmUgdGhhbiBvbmUgc2VhcmNoIHNvdXJjZSBlbmFibGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLXNldHRpbmdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBoYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2VhcmNoU291cmNlc0FsbEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgYnVmZmVyID0gW107XG4gIHB1YmxpYyBsYXN0S2V5VGltZSA9IERhdGUubm93KCk7XG5cbiAgcHVibGljIGRpc3BsYXlCbG9jayA9ICdibG9jayc7XG5cbiAgZ2V0IGlzVG91Y2hTY3JlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTZXJ2aWNlLmlzVG91Y2hTY3JlZW4oKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHBvaW50ZXJTdW1tYXJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZW5hYmxlZCBzZWFyY2ggc291cmNlIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hTb3VyY2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFNvdXJjZT4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb2ludGVyIHN1bW1hcnkgaXMgYWN0aXZhdGVkXG4gICAqL1xuICBAT3V0cHV0KCkgcG9pbnRlclN1bW1hcnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2hvdyBnZW9tZXRyeSBzdW1tYXJ5IGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29vcmRzIGZvcm1hdCBpcyBjaGFuZ2VkXG4gICAqL1xuICBAT3V0cHV0KCkgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdGMicpIHtcbiAgICAgIHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkID0gIXRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkO1xuICAgICAgdGhpcy5wb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlYXJjaFNvdXJjZVNlcnZpY2U6IFNlYXJjaFNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSA9XG4gICAgICB0aGlzLmhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHNlYXJjaCBzb3VyY2VzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0U2VhcmNoU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XG4gICAgY29uc3QgdGV4dFNlYXJjaFNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgIC5nZXRTb3VyY2VzKClcbiAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxuICAgICAgLmZpbHRlcigocykgPT4gcy5hdmFpbGFibGUgJiYgcy5nZXRJZCgpICE9PSAnbWFwJyAmJiBzLnNob3dJblNldHRpbmdzKTtcblxuICAgIGNvbnN0IHJldmVyc2VTZWFyY2hTb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICAgICAuZ2V0U291cmNlcygpXG4gICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2gpXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0ZXh0U2VhcmNoU291cmNlcy5jb25jYXQocmV2ZXJzZVNlYXJjaFNvdXJjZXMpO1xuICAgIHRoaXMuY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXMpO1xuICAgIHJldHVybiBzb3VyY2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgc2VhcmNoIHNvdXJjZXMgdXNhYmxlIGZvciBwb2ludGVyIHN1bW1hcnlcbiAgICogQGludGVybmFsXG4gICAqL1xuICBoYXNSZXZlcnNlU2VhcmNoU291cmNlc0ZvclBvaW50ZXJTdW1tYXJ5KCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxuICAgICAgICAuZ2V0RW5hYmxlZFNvdXJjZXMoKVxuICAgICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnkpLmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKGNoZWNrYm94IHN0eWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkQ2hlY2tib3goXG4gICAgZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLFxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcbiAgKSB7XG4gICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmluZyB0aGUgYWN0aW9uIHRvIGRvIGZvciBjaGVjay91bmNoZWNrIGNoZWNrYm94ZXMgKHNldHRpbmdzKVxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXG4gICAqIHJldHVybiBmYWxzZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSB1bmNoZWNrZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb21wdXRlU2V0dGluZ0NoZWNrQWxsQmVoYXZpb3Ioc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcbiAgICBpZiAoc2V0dGluZy5hbGxFbmFibGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChzZXR0aW5nLnZhbHVlcy5maW5kKChzZXR0aW5nVmFsdWUpID0+IHNldHRpbmdWYWx1ZS5lbmFibGVkKSkge1xuICAgICAgICBzZXR0aW5nLmFsbEVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9ICFzZXR0aW5nLmFsbEVuYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmluaW5nIHRoZSBhY3Rpb24gdG8gZG8gZm9yIGNoZWNrL3VuY2hlY2sgY2hlY2tib3hlcyAoc291cmNlcylcbiAgICogcmV0dXJuIHRydWUgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZFxuICAgKiByZXR1cm4gZmFsc2UgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgdW5jaGVja2VkXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdKSB7XG4gICAgY29uc3QgZW5hYmxlZFNvdXJjZXNDbnQgPSBzb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZCkubGVuZ3RoO1xuICAgIGNvbnN0IGRpc2FibGVkU291cmNlc0NudCA9IHNvdXJjZXMuZmlsdGVyKFxuICAgICAgKHNvdXJjZSkgPT4gIXNvdXJjZS5lbmFibGVkXG4gICAgKS5sZW5ndGg7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZCA9XG4gICAgICBlbmFibGVkU291cmNlc0NudCA+PSBkaXNhYmxlZFNvdXJjZXNDbnQgPyBmYWxzZSA6IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIGNoZWNrIGFsbCAvIHVuY2hlY2sgYWxsIHR5cGUgaXMgY2xpY2tlZCxcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjaGVja1VuY2hlY2tBbGwoZXZlbnQsIHNvdXJjZTogU2VhcmNoU291cmNlLCBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY29tcHV0ZVNldHRpbmdDaGVja0FsbEJlaGF2aW9yKHNldHRpbmcpO1xuICAgIHNldHRpbmcudmFsdWVzLmZvckVhY2goKHNldHRpbmdWYWx1ZSkgPT4ge1xuICAgICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBzZXR0aW5nLmFsbEVuYWJsZWQ7XG4gICAgfSk7XG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHRoZSBjaGVjayBhbGwgLyB1bmNoZWNrIGFsbCB0eXBlIGlzIGNsaWNrZWQsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY2hlY2tVbmNoZWNrQWxsU291cmNlcyhldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZ2V0U2VhcmNoU291cmNlcygpLm1hcCgoc291cmNlKSA9PiB7XG4gICAgICBzb3VyY2UuZW5hYmxlZCA9IHRoaXMuc2VhcmNoU291cmNlc0FsbEVuYWJsZWQ7XG4gICAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKHJhZGlvYnV0dG9uIHN0eWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkUmFkaW9CdXR0b24oXG4gICAgZXZlbnQ6IE1hdFJhZGlvQ2hhbmdlLFxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcbiAgKSB7XG4gICAgc2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoY29uZikgPT4ge1xuICAgICAgaWYgKGNvbmYudmFsdWUgIT09IHNldHRpbmdWYWx1ZS52YWx1ZSkge1xuICAgICAgICBjb25mLmVuYWJsZWQgPSAhZXZlbnQuc291cmNlLmNoZWNrZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25mLmVuYWJsZWQgPSBldmVudC5zb3VyY2UuY2hlY2tlZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzb3VyY2Uuc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nKTtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gIH1cblxuICBvbkNoZWNrU2VhcmNoU291cmNlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSwgc291cmNlOiBTZWFyY2hTb3VyY2UpIHtcbiAgICBzb3VyY2UuZW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgY29uc3Qgc3RvcmFnZSA9ICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChzb3VyY2UuZ2V0SWQoKSArICcub3B0aW9ucycpIHx8XG4gICAgICB7fSkgYXMgU2V0dGluZ09wdGlvbnM7XG4gICAgc3RvcmFnZS5lbmFibGVkID0gc291cmNlLmVuYWJsZWQ7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoc291cmNlLmdldElkKCkgKyAnLm9wdGlvbnMnLCBzdG9yYWdlKTtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gIH1cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcbiAgICByZXR1cm4gc2V0dGluZy52YWx1ZXMuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAhPT0gZmFsc2UpO1xuICB9XG5cbiAgZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZzogU2V0dGluZ09wdGlvbnMpIHtcbiAgICBpZiAoc2V0dGluZy5oYXNodGFncykge1xuICAgICAgcmV0dXJuIHNldHRpbmcuaGFzaHRhZ3MubWFwKChoKSA9PiAnIycgKyBoKS5qb2luKCcsICcpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBzdG9wUHJvcGFnYXRpb24oZXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGNoYW5nZVBvaW50ZXJSZXZlcnNlU2VhcmNoKGV2ZW50KSB7XG4gICAgdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMucG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCh0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCk7XG4gIH1cblxuICBjaGFuZ2VTZWFyY2hSZXN1bHRzR2VvbWV0cnkoZXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzLmVtaXQodGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKTtcbiAgfVxuXG4gIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQoZXZlbnQpIHtcbiAgICB0aGlzLnJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcbiAgICB0aGlzLnJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMuZW1pdChcbiAgICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5nc1wiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLWJ1dHRvblwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5tZW51LnRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2VhcmNoU2V0dGluZ3NNZW51XCJcbiAgPlxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2hldnJvbi1kb3duXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxtYXQtbWVudSAjc2VhcmNoU2V0dGluZ3NNZW51PVwibWF0TWVudVwiIGNsYXNzPVwibm8tYm9yZGVyLXJhZGl1c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGVja0FsbEJ1dHRvblwiICpuZ0lmPVwiZ2V0U2VhcmNoU291cmNlcygpLmxlbmd0aCA+IDRcIj5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNoZWNrVW5jaGVja0FsbFNvdXJjZXMoJGV2ZW50KVwiPlxuICAgICAgICB7e1xuICAgICAgICAgICFzZWFyY2hTb3VyY2VzQWxsRW5hYmxlZFxuICAgICAgICAgICAgPyAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMudW5zZWxlY3RBbGwnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBnZXRTZWFyY2hTb3VyY2VzKClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1zZWFyY2gtc291cmNlXCI+XG4gICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtY2hlY2tib3hcIlxuICAgICAgICAgIFtjaGVja2VkXT1cInNvdXJjZS5lbmFibGVkXCJcbiAgICAgICAgICBbdmFsdWVdPVwic291cmNlXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hlY2tTZWFyY2hTb3VyY2UoJGV2ZW50LCBzb3VyY2UpXCJcbiAgICAgICAgPlxuICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwic291cmNlLnNldHRpbmdzLmxlbmd0aCA+IDBcIlxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJfbWVudVwiXG4gICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICA+XG4gICAgICAgICAge3sgc291cmNlLnRpdGxlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJzb3VyY2Uuc2V0dGluZ3MubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAge3sgc291cmNlLnRpdGxlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zcGFuPlxuICAgICAgPG1hdC1tZW51ICNzdWJfbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2V0dGluZyBvZiBzb3VyY2Uuc2V0dGluZ3NcIj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInRlc3Rfc3ViX21lbnVcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLicgKyBzZXR0aW5nLnRpdGxlXG4gICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPG1hdC1tZW51XG4gICAgICAgICAgICAjdGVzdF9zdWJfbWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgW25nU3dpdGNoXT1cInNldHRpbmcudHlwZVwiXG4gICAgICAgICAgICB5UG9zaXRpb249XCJhYm92ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidyYWRpb2J1dHRvbidcIj5cbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1ncm91cFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1yYWRpby1ncm91cFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZXR0aW5nVmFsdWUgb2Ygc2V0dGluZy52YWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2V0dGluZ1ZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImdldEF2YWlsYWJsZUhhc2h0YWdzVmFsdWVzKHNldHRpbmdWYWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZFJhZGlvQnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAgICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzZXR0aW5nVmFsdWUudGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrQWxsQnV0dG9uXCIgKm5nSWY9XCJzZXR0aW5nLnZhbHVlcy5sZW5ndGggPiAzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGVja1VuY2hlY2tBbGwoJGV2ZW50LCBzb3VyY2UsIHNldHRpbmcpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLmFsbEVuYWJsZWQgfHwgc2V0dGluZy5hbGxFbmFibGVkID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICA/ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy51bnNlbGVjdEFsbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgICAgIDogKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLnNlbGVjdEFsbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nKVwiXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5QmxvY2tcIlxuICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdcIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZ1ZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIHNldHRpbmdzVmFsdWVDaGVja2VkQ2hlY2tib3goXG4gICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdWYWx1ZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IHNldHRpbmdWYWx1ZS50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LW1lbnU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgPHNwYW4gY2xhc3M9XCJwb2ludGVyLXN1bW1hcnktc2xpZGUtdG9nZ2xlLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLW9wdGlvblwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VQb2ludGVyUmV2ZXJzZVNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgICpuZ0lmPVwiaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2UgJiYgIWlzVG91Y2hTY3JlZW5cIlxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLnBvaW50ZXJTZWFyY2hTdW1tYXJ5LnRvb2x0aXAnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJwb2ludGVyU3VtbWFyeUVuYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ2lnby5nZW8uc2VhcmNoLnBvaW50ZXJTZWFyY2hTdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxuICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlU2VhcmNoUmVzdWx0c0dlb21ldHJ5KCRldmVudClcIlxuICAgICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAnaWdvLmdlby5zZWFyY2guc2VhcmNoUmVzdWx0c0dlb21ldHJ5LnRvb2x0aXAnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudGl0bGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLW9wdGlvblwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0KCRldmVudClcIlxuICAgICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxuICAgICAgICAgICAgICA/ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMYXRMb24nIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICA6ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMb25MYXQnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwicmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgPC9zcGFuPlxuICA8L21hdC1tZW51PlxuPC9kaXY+XG4iXX0=
|
|
448
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUMvQixlQUFlLEVBQ2hCLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNONUIsK0JBQWtFLGlCQUFBO0lBQ3RDLDBLQUFTLGVBQUEscUNBQThCLENBQUEsSUFBQztJQUNoRSxZQUtGOzs7SUFBQSxpQkFBUyxFQUFBOzs7SUFMUCxlQUtGO0lBTEUsb01BS0Y7OztJQVlFLGtDQUlDO0lBQ0MsWUFDRjtJQUFBLGlCQUFTOzs7O0lBSlAsdUNBQThCO0lBRzlCLGVBQ0Y7SUFERSxnREFDRjs7O0lBQ0EsaUNBQTJEO0lBQ3pELFlBQ0Y7SUFBQSxpQkFBUzs7O0lBRFAsZUFDRjtJQURFLGdEQUNGOzs7O0lBb0JRLDRDQWVDO0lBVEMsNEtBQVMsd0JBQXdCLElBQUMsb1lBRVgsZUFBQSx5RkFPekMsQ0FBQSxJQVRvRDtJQVVsQyxZQUNGOztJQUFBLGlCQUFtQjs7OztJQWRqQix3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SEFBVSx1Q0FBbUMsSUFBQyx3R0FNckMsd0JBQXdCLElBTmE7O1lBUzlDLGFBQ0Y7O1lBQUEsaUJBQW1CLEVBQUE7WUFFckIsK0JBQW1CLDRCQUFBO1lBR2YsdUhBQVUscUNBQWlDLElBQUMsd0dBUW5DLHdCQUF3QixJQVJXOzs7WUFXNUMsYUFDRjs7WUFBQSxpQkFBbUIsRUFBQSxFQUFBLEVBQUEsRUFBQTs7O1lBbEt2QixlQUF3RDtZQUF4RCxpRkFBd0QsMEJBQUE7WUFNM0IsZUFBbUM7WUFBbkMsd0RBQW1DO1lBUy9CLGVBQXFCO1lBQXJCLGdEQUFxQjtZQTBHL0MsZUFBcUQ7WUFBckQsOEVBQXFEO1lBaUJ0RCxlQUVDO1lBRkQsbUdBRUMsNkNBQUE7WUFJRCxlQUNGO1lBREUscUdBQ0Y7WUFRRSxlQUlDO1lBSkQseU5BSUMsaURBQUE7WUFJRCxlQUNGO1lBREUsa0dBQ0Y7Ozt1RkRqSUssdUJBQXVCO2NBTm5DLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEhBZXRDLHFCQUFxQjtrQkFBN0IsS0FBSztZQUNHLDRCQUE0QjtrQkFBcEMsS0FBSztZQUNHLGdDQUFnQztrQkFBeEMsS0FBSztZQUtJLGtCQUFrQjtrQkFBM0IsTUFBTTtZQUtHLG9CQUFvQjtrQkFBN0IsTUFBTTtZQUtHLDJCQUEyQjtrQkFBcEMsTUFBTTtZQUtHLCtCQUErQjtrQkFBeEMsTUFBTTtZQUdQLG1CQUFtQjtrQkFEbEIsWUFBWTttQkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0UmFkaW9DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcblxyXG5pbXBvcnQgeyBNZWRpYVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgc291cmNlQ2FuUmV2ZXJzZVNlYXJjaCxcclxuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5LFxyXG4gIHNvdXJjZUNhblNlYXJjaFxyXG59IGZyb20gJy4uL3NoYXJlZC9zZWFyY2gudXRpbHMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xyXG5pbXBvcnQge1xyXG4gIFNlYXJjaFNvdXJjZVNldHRpbmdzLFxyXG4gIFNldHRpbmdPcHRpb25zXHJcbn0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyBhIHVzZXIgdG8gc2VsZWN0IGEgc2VhcmNoIHR5cGUgeW8gZW5hYmxlLiBJbiBpdCdzXHJcbiAqIGN1cnJlbnQgdmVyc2lvbiwgb25seSBvbmUgc2VhcmNoIHR5cGUgY2FuIGJlIHNlbGVjdGVkIGF0IG9uY2UgKHJhZGlvKS4gSWZcclxuICogdGhpcyBjb21wb25lbnQgd2VyZSB0byBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgc2VhcmNoIHNvdXJjZSBlbmFibGVkIChjaGVja2JveCksXHJcbiAqIHRoZSBzZWFyY2hiYXIgY29tcG9uZW50IHdvdWxkIHJlcXVpcmUgYSBzbWFsbCBjaGFuZ2UgdG8gaXQnc1xyXG4gKiBwbGFjZWhvbGRlciBnZXR0ZXIuIFRoZSBzZWFyY2ggc291cmNlIHNlcnZpY2UgYWxyZWFkeSBzdXBwb3J0cyBoYXZpbmdcclxuICogbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtc2V0dGluZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlYXJjaFNvdXJjZXNBbGxFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBidWZmZXIgPSBbXTtcclxuICBwdWJsaWMgbGFzdEtleVRpbWUgPSBEYXRlLm5vdygpO1xyXG5cclxuICBwdWJsaWMgZGlzcGxheUJsb2NrID0gJ2Jsb2NrJztcclxuXHJcbiAgZ2V0IGlzVG91Y2hTY3JlZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tZWRpYVNlcnZpY2UuaXNUb3VjaFNjcmVlbigpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcG9pbnRlclN1bW1hcnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZW5hYmxlZCBzZWFyY2ggc291cmNlIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoU291cmNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hTb3VyY2U+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcG9pbnRlciBzdW1tYXJ5IGlzIGFjdGl2YXRlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwb2ludGVyU3VtbWFyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaG93IGdlb21ldHJ5IHN1bW1hcnkgaXMgY2hhbmdlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29vcmRzIGZvcm1hdCBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdGMicpIHtcclxuICAgICAgdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQgPSAhdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQ7XHJcbiAgICAgIHRoaXMucG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCh0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlID1cclxuICAgICAgdGhpcy5oYXNSZXZlcnNlU2VhcmNoU291cmNlc0ZvclBvaW50ZXJTdW1tYXJ5KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIHNlYXJjaCBzb3VyY2VzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0U2VhcmNoU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XHJcbiAgICBjb25zdCB0ZXh0U2VhcmNoU291cmNlcyA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAuZ2V0U291cmNlcygpXHJcbiAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxyXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xyXG5cclxuICAgIGNvbnN0IHJldmVyc2VTZWFyY2hTb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgICAgIC5nZXRTb3VyY2VzKClcclxuICAgICAgLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoKVxyXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xyXG4gICAgY29uc3Qgc291cmNlcyA9IHRleHRTZWFyY2hTb3VyY2VzLmNvbmNhdChyZXZlcnNlU2VhcmNoU291cmNlcyk7XHJcbiAgICB0aGlzLmNvbXB1dGVTb3VyY2VzQ2hlY2tBbGxCZWhhdmlvcihzb3VyY2VzKTtcclxuICAgIHJldHVybiBzb3VyY2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBzZWFyY2ggc291cmNlcyB1c2FibGUgZm9yIHBvaW50ZXIgc3VtbWFyeVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXHJcbiAgICAgICAgLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5KS5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJlZCB3aGVuIGEgc2V0dGluZyBpcyBjaGVja2VkIChjaGVja2JveCBzdHlsZSlcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZENoZWNrYm94KFxyXG4gICAgZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLFxyXG4gICAgc291cmNlOiBTZWFyY2hTb3VyY2UsXHJcbiAgICBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncyxcclxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcclxuICApIHtcclxuICAgIHNldHRpbmdWYWx1ZS5lbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5pbmcgdGhlIGFjdGlvbiB0byBkbyBmb3IgY2hlY2svdW5jaGVjayBjaGVja2JveGVzIChzZXR0aW5ncylcclxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXHJcbiAgICogcmV0dXJuIGZhbHNlIGlmIGFsbCBjaGVja2JveCBtdXN0IGJlIHVuY2hlY2tlZFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGNvbXB1dGVTZXR0aW5nQ2hlY2tBbGxCZWhhdmlvcihzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xyXG4gICAgaWYgKHNldHRpbmcuYWxsRW5hYmxlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmIChzZXR0aW5nLnZhbHVlcy5maW5kKChzZXR0aW5nVmFsdWUpID0+IHNldHRpbmdWYWx1ZS5lbmFibGVkKSkge1xyXG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9ICFzZXR0aW5nLmFsbEVuYWJsZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmluZyB0aGUgYWN0aW9uIHRvIGRvIGZvciBjaGVjay91bmNoZWNrIGNoZWNrYm94ZXMgKHNvdXJjZXMpXHJcbiAgICogcmV0dXJuIHRydWUgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZFxyXG4gICAqIHJldHVybiBmYWxzZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSB1bmNoZWNrZWRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBjb21wdXRlU291cmNlc0NoZWNrQWxsQmVoYXZpb3Ioc291cmNlczogU2VhcmNoU291cmNlW10pIHtcclxuICAgIGNvbnN0IGVuYWJsZWRTb3VyY2VzQ250ID0gc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLmVuYWJsZWQpLmxlbmd0aDtcclxuICAgIGNvbnN0IGRpc2FibGVkU291cmNlc0NudCA9IHNvdXJjZXMuZmlsdGVyKFxyXG4gICAgICAoc291cmNlKSA9PiAhc291cmNlLmVuYWJsZWRcclxuICAgICkubGVuZ3RoO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZCA9XHJcbiAgICAgIGVuYWJsZWRTb3VyY2VzQ250ID49IGRpc2FibGVkU291cmNlc0NudCA/IGZhbHNlIDogdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJlZCB3aGVuIHRoZSBjaGVjayBhbGwgLyB1bmNoZWNrIGFsbCB0eXBlIGlzIGNsaWNrZWQsXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgY2hlY2tVbmNoZWNrQWxsKGV2ZW50LCBzb3VyY2U6IFNlYXJjaFNvdXJjZSwgc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5jb21wdXRlU2V0dGluZ0NoZWNrQWxsQmVoYXZpb3Ioc2V0dGluZyk7XHJcbiAgICBzZXR0aW5nLnZhbHVlcy5mb3JFYWNoKChzZXR0aW5nVmFsdWUpID0+IHtcclxuICAgICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBzZXR0aW5nLmFsbEVuYWJsZWQ7XHJcbiAgICB9KTtcclxuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIGNoZWNrIGFsbCAvIHVuY2hlY2sgYWxsIHR5cGUgaXMgY2xpY2tlZCxcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBjaGVja1VuY2hlY2tBbGxTb3VyY2VzKGV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuZ2V0U2VhcmNoU291cmNlcygpLm1hcCgoc291cmNlKSA9PiB7XHJcbiAgICAgIHNvdXJjZS5lbmFibGVkID0gdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZDtcclxuICAgICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VyZWQgd2hlbiBhIHNldHRpbmcgaXMgY2hlY2tlZCAocmFkaW9idXR0b24gc3R5bGUpXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgc2V0dGluZ3NWYWx1ZUNoZWNrZWRSYWRpb0J1dHRvbihcclxuICAgIGV2ZW50OiBNYXRSYWRpb0NoYW5nZSxcclxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxyXG4gICAgc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MsXHJcbiAgICBzZXR0aW5nVmFsdWU6IFNldHRpbmdPcHRpb25zXHJcbiAgKSB7XHJcbiAgICBzZXR0aW5nLnZhbHVlcy5mb3JFYWNoKChjb25mKSA9PiB7XHJcbiAgICAgIGlmIChjb25mLnZhbHVlICE9PSBzZXR0aW5nVmFsdWUudmFsdWUpIHtcclxuICAgICAgICBjb25mLmVuYWJsZWQgPSAhZXZlbnQuc291cmNlLmNoZWNrZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uZi5lbmFibGVkID0gZXZlbnQuc291cmNlLmNoZWNrZWQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrU2VhcmNoU291cmNlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSwgc291cmNlOiBTZWFyY2hTb3VyY2UpIHtcclxuICAgIHNvdXJjZS5lbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIGNvbnN0IHN0b3JhZ2UgPSAodGhpcy5zdG9yYWdlU2VydmljZS5nZXQoc291cmNlLmdldElkKCkgKyAnLm9wdGlvbnMnKSB8fFxyXG4gICAgICB7fSkgYXMgU2V0dGluZ09wdGlvbnM7XHJcbiAgICBzdG9yYWdlLmVuYWJsZWQgPSBzb3VyY2UuZW5hYmxlZDtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KHNvdXJjZS5nZXRJZCgpICsgJy5vcHRpb25zJywgc3RvcmFnZSk7XHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XHJcbiAgfVxyXG5cclxuICBnZXRBdmFpbGFibGVWYWx1ZXMoc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcclxuICAgIHJldHVybiBzZXR0aW5nLnZhbHVlcy5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICE9PSBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nOiBTZXR0aW5nT3B0aW9ucykge1xyXG4gICAgaWYgKHNldHRpbmcuaGFzaHRhZ3MpIHtcclxuICAgICAgcmV0dXJuIHNldHRpbmcuaGFzaHRhZ3MubWFwKChoKSA9PiAnIycgKyBoKS5qb2luKCcsICcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBvaW50ZXJSZXZlcnNlU2VhcmNoKGV2ZW50KSB7XHJcbiAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5U3RhdHVzLmVtaXQodGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU2VhcmNoUmVzdWx0c0dlb21ldHJ5KGV2ZW50KSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xyXG4gICAgdGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMuZW1pdCh0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpO1xyXG4gIH1cclxuXHJcbiAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdChldmVudCkge1xyXG4gICAgdGhpcy5yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICB0aGlzLnJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMuZW1pdChcclxuICAgICAgdGhpcy5yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3NcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1idXR0b25cIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zZWFyY2gubWVudS50b29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNlYXJjaFNldHRpbmdzTWVudVwiXG4gID5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNoZXZyb24tZG93blwiPjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnUgI3NlYXJjaFNldHRpbmdzTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cIm5vLWJvcmRlci1yYWRpdXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tBbGxCdXR0b25cIiAqbmdJZj1cImdldFNlYXJjaFNvdXJjZXMoKS5sZW5ndGggPiA0XCI+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjaGVja1VuY2hlY2tBbGxTb3VyY2VzKCRldmVudClcIj5cbiAgICAgICAge3tcbiAgICAgICAgICAhc2VhcmNoU291cmNlc0FsbEVuYWJsZWRcbiAgICAgICAgICAgID8gKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnVuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgIDogKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpXG4gICAgICAgIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzb3VyY2Ugb2YgZ2V0U2VhcmNoU291cmNlcygpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3Mtc2VhcmNoLXNvdXJjZVwiPlxuICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLWNoZWNrYm94XCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJzb3VyY2UuZW5hYmxlZFwiXG4gICAgICAgICAgW3ZhbHVlXT1cInNvdXJjZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrU2VhcmNoU291cmNlKCRldmVudCwgc291cmNlKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cInNvdXJjZS5zZXR0aW5ncy5sZW5ndGggPiAwXCJcbiAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic3ViX21lbnVcIlxuICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgPlxuICAgICAgICAgIHt7IHNvdXJjZS50aXRsZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwic291cmNlLnNldHRpbmdzLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgIHt7IHNvdXJjZS50aXRsZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxtYXQtbWVudSAjc3ViX21lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNldHRpbmcgb2Ygc291cmNlLnNldHRpbmdzXCI+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJ0ZXN0X3N1Yl9tZW51XCI+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy4nICsgc2V0dGluZy50aXRsZVxuICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtbWVudVxuICAgICAgICAgICAgI3Rlc3Rfc3ViX21lbnU9XCJtYXRNZW51XCJcbiAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJzZXR0aW5nLnR5cGVcIlxuICAgICAgICAgICAgeVBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIncmFkaW9idXR0b24nXCI+XG4gICAgICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXBcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtcmFkaW8tZ3JvdXBcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZXR0aW5nXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIHNldHRpbmcudmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nVmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNldHRpbmdWYWx1ZS5lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3NWYWx1ZUNoZWNrZWRSYWRpb0J1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ1ZhbHVlXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgc2V0dGluZ1ZhbHVlLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja0FsbEJ1dHRvblwiICpuZ0lmPVwic2V0dGluZy52YWx1ZXMubGVuZ3RoID4gM1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hlY2tVbmNoZWNrQWxsKCRldmVudCwgc291cmNlLCBzZXR0aW5nKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZy5hbGxFbmFibGVkIHx8IHNldHRpbmcuYWxsRW5hYmxlZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgPyAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MudW5zZWxlY3RBbGwnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgICA6ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy5zZWxlY3RBbGwnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNldHRpbmdWYWx1ZSBvZiBnZXRBdmFpbGFibGVWYWx1ZXMoc2V0dGluZylcIlxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiZGlzcGxheUJsb2NrXCJcbiAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNldHRpbmdWYWx1ZS5lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZXR0aW5nXCJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImdldEF2YWlsYWJsZUhhc2h0YWdzVmFsdWVzKHNldHRpbmdWYWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZENoZWNrYm94KFxuICAgICAgICAgICAgICAgICAgICAgICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzZXR0aW5nVmFsdWUudGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1tZW51PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgIDxzcGFuIGNsYXNzPVwicG9pbnRlci1zdW1tYXJ5LXNsaWRlLXRvZ2dsZS1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxuICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlUG9pbnRlclJldmVyc2VTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgICAqbmdJZj1cImhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlICYmICFpc1RvdWNoU2NyZWVuXCJcbiAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5wb2ludGVyU2VhcmNoU3VtbWFyeS50b29sdGlwJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwicG9pbnRlclN1bW1hcnlFbmFibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnNlYXJjaC5wb2ludGVyU2VhcmNoU3VtbWFyeS50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZVNlYXJjaFJlc3VsdHNHZW9tZXRyeSgkZXZlbnQpXCJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFJlc3VsdHNHZW9tZXRyeS50b29sdGlwJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgW2NoZWNrZWRdPVwic2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnaWdvLmdlby5zZWFyY2guc2VhcmNoUmVzdWx0c0dlb21ldHJ5LnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxuICAgICAgICAgIChjaGFuZ2UpPVwicmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdCgkZXZlbnQpXCJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgICAgICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcbiAgICAgICAgICAgICAgPyAoJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50b29sdGlwTGF0TG9uJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgOiAoJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50b29sdGlwTG9uTGF0JyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICBcIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIFtjaGVja2VkXT1cInJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnNlYXJjaC5yZXZlcnNlQ29vcmRGb3JtYXQudGl0bGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvc3Bhbj5cbiAgPC9tYXQtbWVudT5cbjwvZGl2PlxuIl19
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
1
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
4
3
|
import { MatButtonModule } from '@angular/material/button';
|
|
5
4
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
6
5
|
import { MatDividerModule } from '@angular/material/divider';
|
|
@@ -10,6 +9,7 @@ import { MatRadioModule } from '@angular/material/radio';
|
|
|
10
9
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
11
10
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
12
11
|
import { IgoLanguageModule } from '@igo2/core';
|
|
12
|
+
import { SearchSettingsComponent } from './search-settings.component';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
/**
|
|
15
15
|
* @ignore
|
|
@@ -57,4 +57,4 @@ export class IgoSearchSettingsModule {
|
|
|
57
57
|
MatDividerModule,
|
|
58
58
|
MatSlideToggleModule,
|
|
59
59
|
IgoLanguageModule], exports: [SearchSettingsComponent] }); })();
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQWlCSCxNQUFNLE9BQU8sdUJBQXVCO2lGQUF2Qix1QkFBdUI7NERBQXZCLHVCQUF1QjtnRUFiaEMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGFBQWE7WUFDYixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsaUJBQWlCOzt1RkFJUix1QkFBdUI7Y0FoQm5DLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdkMsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDbkM7O3dGQUNZLHVCQUF1QixtQkFmbkIsdUJBQXVCLGFBRXBDLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLGlCQUFpQixhQUVULHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbU2VhcmNoU2V0dGluZ3NDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1NlYXJjaFNldHRpbmdzQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvU2VhcmNoU2V0dGluZ3NNb2R1bGUge31cclxuIl19
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
1
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
4
|
-
import { provideSearchSourceService } from './shared/search-source-service.providers';
|
|
5
|
-
import { provideDefaultIChercheSearchResultFormatter } from './shared/sources/icherche.providers';
|
|
6
|
-
import { provideDefaultCoordinatesSearchResultFormatter } from './shared/sources/coordinates.providers';
|
|
7
|
-
import { provideILayerSearchResultFormatter } from './shared/sources/ilayer.providers';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
8
3
|
import { IgoSearchBarModule } from './search-bar/search-bar.module';
|
|
9
|
-
import { IgoSearchSelectorModule } from './search-selector/search-selector.module';
|
|
10
4
|
import { IgoSearchResultsModule } from './search-results/search-results.module';
|
|
5
|
+
import { IgoSearchSelectorModule } from './search-selector/search-selector.module';
|
|
11
6
|
import { IgoSearchSettingsModule } from './search-settings/search-settings.module';
|
|
12
7
|
import { SearchPointerSummaryDirective } from './shared/search-pointer-summary.directive';
|
|
8
|
+
import { provideSearchSourceService } from './shared/search-source-service.providers';
|
|
9
|
+
import { SearchService } from './shared/search.service';
|
|
10
|
+
import { provideDefaultCoordinatesSearchResultFormatter } from './shared/sources/coordinates.providers';
|
|
11
|
+
import { provideDefaultIChercheSearchResultFormatter } from './shared/sources/icherche.providers';
|
|
12
|
+
import { provideILayerSearchResultFormatter } from './shared/sources/ilayer.providers';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class IgoSearchModule {
|
|
15
15
|
static forRoot() {
|
|
@@ -64,4 +64,4 @@ export class IgoSearchModule {
|
|
|
64
64
|
IgoSearchResultsModule,
|
|
65
65
|
IgoSearchSettingsModule,
|
|
66
66
|
SearchPointerSummaryDirective] }); })();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEcsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBbUJ2RixNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1QsYUFBYTtnQkFDYiwwQkFBMEIsRUFBRTtnQkFDNUIsMkNBQTJDLEVBQUU7Z0JBQzdDLDhDQUE4QyxFQUFFO2dCQUNoRCxrQ0FBa0MsRUFBRTthQUNyQztTQUNGLENBQUM7SUFDSixDQUFDO3lFQVpVLGVBQWU7NERBQWYsZUFBZTtnRUFmeEIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHVCQUF1QixFQUd2QixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0Qix1QkFBdUI7O3VGQUtkLGVBQWU7Y0FqQjNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixrQkFBa0I7b0JBQ2xCLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLDZCQUE2QjtpQkFDOUI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7YUFDOUM7O3dGQUNZLGVBQWUsbUJBRlgsNkJBQTZCLGFBYjFDLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0Qix1QkFBdUIsYUFHdkIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29TZWFyY2hCYXJNb2R1bGUgfSBmcm9tICcuL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBJZ29TZWFyY2hSZXN1bHRzTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBJZ29TZWFyY2hTZWxlY3Rvck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLXNlbGVjdG9yL3NlYXJjaC1zZWxlY3Rvci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZSB9IGZyb20gJy4vc2VhcmNoLXNldHRpbmdzL3NlYXJjaC1zZXR0aW5ncy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTZWFyY2hQb2ludGVyU3VtbWFyeURpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL3NlYXJjaC1wb2ludGVyLXN1bW1hcnkuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgcHJvdmlkZVNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9zZWFyY2gtc291cmNlLXNlcnZpY2UucHJvdmlkZXJzJztcclxuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4vc2hhcmVkL3NlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgcHJvdmlkZURlZmF1bHRDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlciB9IGZyb20gJy4vc2hhcmVkL3NvdXJjZXMvY29vcmRpbmF0ZXMucHJvdmlkZXJzJztcclxuaW1wb3J0IHsgcHJvdmlkZURlZmF1bHRJQ2hlcmNoZVNlYXJjaFJlc3VsdEZvcm1hdHRlciB9IGZyb20gJy4vc2hhcmVkL3NvdXJjZXMvaWNoZXJjaGUucHJvdmlkZXJzJztcclxuaW1wb3J0IHsgcHJvdmlkZUlMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlciB9IGZyb20gJy4vc2hhcmVkL3NvdXJjZXMvaWxheWVyLnByb3ZpZGVycyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIElnb1NlYXJjaEJhck1vZHVsZSxcclxuICAgIElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlLFxyXG4gICAgSWdvU2VhcmNoUmVzdWx0c01vZHVsZSxcclxuICAgIElnb1NlYXJjaFNldHRpbmdzTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJZ29TZWFyY2hCYXJNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZWxlY3Rvck1vZHVsZSxcclxuICAgIElnb1NlYXJjaFJlc3VsdHNNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZSxcclxuICAgIFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtTZWFyY2hQb2ludGVyU3VtbWFyeURpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29TZWFyY2hNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29TZWFyY2hNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdmlkZVNlYXJjaFNvdXJjZVNlcnZpY2UoKSxcclxuICAgICAgICBwcm92aWRlRGVmYXVsdElDaGVyY2hlU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKCksXHJcbiAgICAgICAgcHJvdmlkZURlZmF1bHRDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlcigpLFxyXG4gICAgICAgIHByb3ZpZGVJTGF5ZXJTZWFyY2hSZXN1bHRGb3JtYXR0ZXIoKVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|