@igo2/geo 17.0.1-next.2 → 18.0.0-next.10
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 +4 -4
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -9
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +16 -13
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +5 -5
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +5 -5
- package/esm2022/lib/catalog/catalog.module.mjs +5 -5
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.service.mjs +4 -4
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +4 -4
- package/esm2022/lib/datasource/shared/datasource.service.mjs +4 -4
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +9 -1
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -1
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.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 +73 -2
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +4 -4
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +8 -1
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -5
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +4 -4
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -4
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +4 -4
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
- package/esm2022/lib/directions/directions.component.mjs +10 -4
- package/esm2022/lib/directions/directions.module.mjs +5 -5
- package/esm2022/lib/directions/shared/directions.service.mjs +4 -4
- package/esm2022/lib/download/download-button/download-button.component.mjs +10 -22
- package/esm2022/lib/download/download.module.mjs +5 -5
- package/esm2022/lib/download/shared/download.service.mjs +4 -4
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +4 -4
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +4 -4
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +4 -4
- package/esm2022/lib/draw/draw/draw.component.mjs +8 -15
- package/esm2022/lib/draw/draw/draw.module.mjs +5 -5
- package/esm2022/lib/draw/drawingTool.module.mjs +5 -5
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +4 -4
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +5 -5
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +4 -4
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +5 -5
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +4 -4
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +5 -5
- package/esm2022/lib/feature/feature.module.mjs +5 -5
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +7 -6
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2022/lib/feature/shared/store.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +3 -3
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +7 -4
- package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -4
- package/esm2022/lib/filter/filter.module.mjs +5 -5
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +6 -6
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +4 -4
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +5 -5
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -6
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +4 -4
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +11 -4
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +4 -4
- package/esm2022/lib/filter/shared/ogc-filter.mjs +7 -2
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +4 -4
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +4 -4
- package/esm2022/lib/filter/shared/time-filter.service.mjs +4 -4
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +4 -4
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +5 -11
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +5 -11
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +5 -5
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +15 -12
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +5 -5
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +7 -5
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +7 -18
- package/esm2022/lib/geo.module.mjs +5 -5
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +4 -4
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +4 -4
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +5 -5
- package/esm2022/lib/geometry/geometry.module.mjs +5 -5
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +7 -20
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +215 -323
- package/esm2022/lib/import-export/import-export.module.mjs +5 -5
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +4 -4
- package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2022/lib/import-export/shared/export.service.mjs +257 -91
- package/esm2022/lib/import-export/shared/export.type.mjs +9 -9
- package/esm2022/lib/import-export/shared/export.utils.mjs +5 -1
- package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
- package/esm2022/lib/import-export/shared/import.utils.mjs +3 -3
- package/esm2022/lib/layer/index.mjs +10 -5
- package/esm2022/lib/layer/layer-group/index.mjs +2 -0
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +62 -129
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +7 -10
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +4 -4
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -9
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +16 -23
- package/esm2022/lib/layer/layer-list/index.mjs +1 -3
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +177 -776
- package/esm2022/lib/layer/layer-list-tool/index.mjs +1 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +52 -85
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +57 -17
- package/esm2022/lib/layer/layer-search/index.mjs +2 -0
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
- package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +25 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
- package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
- package/esm2022/lib/layer/layer.module.mjs +54 -36
- package/esm2022/lib/layer/shared/index.mjs +2 -1
- package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
- package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
- package/esm2022/lib/layer/shared/layer.service.mjs +73 -27
- 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 +8 -3
- package/esm2022/lib/layer/shared/layers/index.mjs +6 -1
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -11
- package/esm2022/lib/layer/shared/layers/layer.mjs +114 -118
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +8 -3
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +22 -19
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +8 -3
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +4 -4
- package/esm2022/lib/layer/utils/layer.utils.mjs +47 -1
- package/esm2022/lib/layer/utils/outputLegend.mjs +5 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +6 -6
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +11 -9
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +4 -4
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +4 -4
- package/esm2022/lib/map/info-section/info-section.component.mjs +4 -4
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +4 -4
- package/esm2022/lib/map/map-center/map-center.component.mjs +4 -4
- package/esm2022/lib/map/map.module.mjs +5 -5
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +4 -4
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +4 -4
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +4 -4
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +5 -13
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +113 -123
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
- package/esm2022/lib/map/shared/map.abstract.mjs +4 -3
- package/esm2022/lib/map/shared/map.mjs +7 -243
- package/esm2022/lib/map/shared/map.service.mjs +4 -4
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +12 -8
- package/esm2022/lib/map/shared/projection.service.mjs +4 -4
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +4 -4
- package/esm2022/lib/map/utils/index.mjs +2 -0
- package/esm2022/lib/map/utils/layer-watcher.mjs +45 -13
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +4 -5
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +4 -4
- package/esm2022/lib/measure/measure.module.mjs +5 -5
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +4 -4
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +4 -4
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
- package/esm2022/lib/measure/measurer/measurer.component.mjs +10 -28
- package/esm2022/lib/measure/measurer/measurer.module.mjs +5 -5
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +11 -23
- package/esm2022/lib/metadata/metadata.module.mjs +5 -5
- package/esm2022/lib/metadata/shared/metadata.service.mjs +4 -4
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -8
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +21 -22
- package/esm2022/lib/offline/index.mjs +3 -1
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +16 -17
- package/esm2022/lib/offline/offline.interface.mjs +2 -0
- package/esm2022/lib/offline/offline.provider.mjs +51 -0
- package/esm2022/lib/offline/shared/geo-network.service.mjs +15 -16
- package/esm2022/lib/overlay/shared/overlay.mjs +3 -2
- package/esm2022/lib/print/print/print.component.mjs +4 -4
- package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
- package/esm2022/lib/print/print.module.mjs +5 -5
- package/esm2022/lib/print/shared/print.service.mjs +6 -6
- package/esm2022/lib/query/query.module.mjs +5 -5
- package/esm2022/lib/query/shared/query-search-source.mjs +4 -4
- package/esm2022/lib/query/shared/query.directive.mjs +12 -8
- package/esm2022/lib/query/shared/query.service.mjs +10 -10
- package/esm2022/lib/query/shared/query.utils.mjs +5 -1
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +4 -4
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +5 -5
- 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 +18 -12
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +4 -4
- package/esm2022/lib/search/search-results/search-results.component.mjs +4 -4
- package/esm2022/lib/search/search-results/search-results.module.mjs +5 -5
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +4 -4
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +5 -5
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +5 -5
- package/esm2022/lib/search/search.module.mjs +5 -5
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +5 -14
- package/esm2022/lib/search/shared/search.service.mjs +4 -4
- package/esm2022/lib/search/shared/sources/cadastre.mjs +4 -4
- package/esm2022/lib/search/shared/sources/coordinates.mjs +7 -7
- package/esm2022/lib/search/shared/sources/icherche.mjs +10 -10
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/ilayer.mjs +7 -7
- package/esm2022/lib/search/shared/sources/nominatim.mjs +4 -4
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/workspace.mjs +4 -4
- package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
- package/esm2022/lib/style/style-list/style-list.service.mjs +4 -4
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +4 -4
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +4 -4
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +4 -4
- package/esm2022/lib/style/style-service/draw-style.service.mjs +4 -4
- package/esm2022/lib/style/style-service/style.service.mjs +4 -4
- package/esm2022/lib/style/style.module.mjs +5 -5
- package/esm2022/lib/toast/toast.component.mjs +4 -4
- package/esm2022/lib/toast/toast.module.mjs +5 -5
- package/esm2022/lib/utils/id-generator.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +4 -4
- package/esm2022/lib/wkt/shared/wkt.service.mjs +4 -4
- package/esm2022/lib/wkt/wkt.module.mjs +5 -5
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +4 -4
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +5 -5
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +6 -4
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +22 -20
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +4 -4
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +20 -5
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +25 -7
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +6 -3
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +5 -5
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +5 -5
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +9 -5
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +5 -5
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +5 -5
- package/esm2022/lib/workspace/workspace.module.mjs +5 -5
- package/fesm2022/igo2-geo.mjs +19275 -18300
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/shared/catalog.enum.d.ts +1 -3
- package/lib/datasource/shared/capabilities.service.d.ts +7 -2
- package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +1 -0
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +0 -1
- package/lib/datasource/shared/datasources/datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -2
- package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +0 -3
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/mvt-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +16 -0
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +3 -4
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +0 -2
- package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +0 -2
- package/lib/download/download-button/download-button.component.d.ts +4 -8
- package/lib/download/shared/download.service.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +2 -2
- package/lib/environment/environment.interface.d.ts +2 -0
- package/lib/feature/shared/feature-store.utils.d.ts +2 -2
- package/lib/feature/shared/feature.interfaces.d.ts +1 -1
- package/lib/feature/shared/store.d.ts +2 -2
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
- 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 +5 -5
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
- package/lib/import-export/export-button/export-button.component.d.ts +3 -7
- package/lib/import-export/import-export/import-export.component.d.ts +23 -16
- package/lib/import-export/shared/export.interface.d.ts +10 -3
- package/lib/import-export/shared/export.service.d.ts +28 -15
- package/lib/import-export/shared/export.type.d.ts +8 -16
- package/lib/import-export/shared/export.utils.d.ts +2 -0
- package/lib/layer/index.d.ts +9 -4
- package/lib/layer/layer-group/index.d.ts +1 -0
- package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
- package/lib/layer/layer-item/layer-item.component.d.ts +19 -38
- package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
- package/lib/layer/layer-list/index.d.ts +0 -2
- package/lib/layer/layer-list/layer-list.component.d.ts +51 -123
- package/lib/layer/layer-list-tool/index.d.ts +0 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
- package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
- package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
- package/lib/layer/layer-search/index.d.ts +1 -0
- package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
- package/lib/layer/layer-unavailable/index.d.ts +2 -0
- package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
- package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
- package/lib/layer/layer-viewer/index.d.ts +2 -0
- package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
- package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
- package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
- package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
- package/lib/layer/layer-visibility-button/index.d.ts +1 -0
- package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
- package/lib/layer/layer.module.d.ts +18 -6
- package/lib/layer/shared/index.d.ts +1 -0
- package/lib/layer/shared/layer-controller.d.ts +81 -0
- package/lib/layer/shared/layer-selection.d.ts +14 -0
- package/lib/layer/shared/layer.service.d.ts +17 -8
- package/lib/layer/shared/layers/any-layer.d.ts +3 -6
- package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
- package/lib/layer/shared/layers/image-layer.d.ts +5 -2
- package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
- package/lib/layer/shared/layers/index.d.ts +5 -0
- package/lib/layer/shared/layers/layer-base.d.ts +75 -0
- package/lib/layer/shared/layers/layer-group.d.ts +32 -0
- package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
- package/lib/layer/shared/layers/layer.d.ts +28 -49
- package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
- package/lib/layer/shared/layers/linked/index.d.ts +3 -0
- package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
- package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
- package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
- package/lib/layer/shared/layers/vector-layer.d.ts +8 -7
- package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
- package/lib/layer/utils/layer.utils.d.ts +12 -2
- package/lib/layer/utils/outputLegend.d.ts +2 -2
- package/lib/map/shared/hover-feature.directive.d.ts +0 -1
- package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
- package/lib/map/shared/map.abstract.d.ts +12 -29
- package/lib/map/shared/map.d.ts +10 -85
- package/lib/map/shared/map.service.d.ts +1 -1
- package/lib/map/utils/index.d.ts +1 -0
- package/lib/map/utils/layer-watcher.d.ts +18 -8
- package/lib/measure/measurer/measurer.component.d.ts +0 -8
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/index.d.ts +2 -0
- package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
- package/lib/offline/offline.interface.d.ts +3 -0
- package/lib/offline/offline.provider.d.ts +3 -0
- package/lib/offline/shared/geo-network.service.d.ts +3 -3
- package/lib/overlay/shared/overlay.d.ts +2 -1
- package/lib/query/shared/query.service.d.ts +1 -1
- package/lib/query/shared/query.utils.d.ts +2 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
- package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
- package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
- package/lib/search/shared/sources/icherche.providers.d.ts +1 -1
- 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.providers.d.ts +1 -1
- package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
- package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
- package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
- package/lib/utils/id-generator.d.ts +5 -5
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/locale/en.geo.json +27 -3
- package/locale/fr.geo.json +26 -3
- package/package.json +6 -7
- package/src/_index.scss +2 -1
- package/src/geo-theme.scss +1 -1
- package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
- package/src/lib/layer/layer-item/layer-item.theme.scss +12 -9
- package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
- package/src/lib/layer/layer-list/layer-list.theme.scss +50 -0
- package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
- package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
- package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
- package/src/lib/layer/layer.theming.scss +14 -3
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
- package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
- package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
- package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
|
@@ -11,8 +11,8 @@ import { CollapseDirective } from '@igo2/common/collapsible';
|
|
|
11
11
|
import { IgoLanguageModule } from '@igo2/core/language';
|
|
12
12
|
import { BehaviorSubject } from 'rxjs';
|
|
13
13
|
import { OgcFilterOperator } from '../../filter/shared/ogc-filter.enum';
|
|
14
|
+
import { Layer } from '../../layer';
|
|
14
15
|
import { LayerLegendComponent } from '../../layer/layer-legend/layer-legend.component';
|
|
15
|
-
import { Layer } from '../../layer/shared/layers/layer';
|
|
16
16
|
import { MapBase } from '../../map';
|
|
17
17
|
import { OgcFilterableFormComponent } from '../ogc-filterable-form/ogc-filterable-form.component';
|
|
18
18
|
import { OgcFilterWriter } from '../shared/ogc-filter';
|
|
@@ -212,10 +212,10 @@ export class OgcFilterableItemComponent {
|
|
|
212
212
|
toggleFiltersCollapsed() {
|
|
213
213
|
this.filtersCollapsed = !this.filtersCollapsed;
|
|
214
214
|
}
|
|
215
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
216
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
215
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OgcFilterableItemComponent, deps: [{ token: i1.OGCFilterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
216
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OgcFilterableItemComponent, isStandalone: true, selector: "igo-ogc-filterable-item", inputs: { layer: "layer", map: "map", header: "header" }, providers: [OGCFilterService], ngImport: i0, template: "<div [ngClass]=\"{ 'separate-item': header === true }\">\n <mat-list-item>\n <mat-icon\n *ngIf=\"header\"\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"ogcFilters\"\n [collapsed]=\"filtersCollapsed\"\n (click)=\"toggleFiltersCollapsed()\"\n >expand_less\n </mat-icon>\n <span\n *ngIf=\"header\"\n matListItemTitle\n [ngStyle]=\"{ cursor: filtersCollapsed ? 'default' : 'pointer' }\"\n [matTooltip]=\"layer.title\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer.title }}\n </span>\n <div matListItemMeta>\n <button\n *ngIf=\"isAdvancedOgcFilters() && filtersAreEditable\"\n [disabled]=\"addFilterDisabled()\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.addFilter' | translate\"\n [color]=\"color\"\n (click)=\"addFilterToSequence()\"\n >\n <mat-icon>add</mat-icon>\n </button>\n <button\n *ngIf=\"header\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n layer.visible\n ? ('igo.geo.layer.hideLayer' | translate)\n : ('igo.geo.layer.showLayer' | translate)\n \"\n (click)=\"layer.visible = !layer.visible\"\n >\n <mat-icon\n [ngClass]=\"{ disabled: (inResolutionRange$ | async) === false }\"\n >{{ layer.visible ? 'visibility' : 'visibility_off' }}\n </mat-icon>\n </button>\n </div>\n </mat-list-item>\n\n <div #ogcFilters>\n <div *ngIf=\"header\" #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend *ngIf=\"showLegend$ | async\" [layer]=\"layer\">\n </igo-layer-legend>\n </div>\n <igo-ogc-filterable-form\n [datasource]=\"datasource\"\n [map]=\"map\"\n [refreshFilters]=\"refreshFunc\"\n >\n </igo-ogc-filterable-form>\n\n <section\n *ngIf=\"hasSelector && filtersAreEditable\"\n class=\"mat-typography advancedOgcFilters\"\n >\n <mat-divider></mat-divider>\n <mat-checkbox\n (change)=\"changeOgcFilterType($event)\"\n [(ngModel)]=\"datasource.options.ogcFilters.advancedOgcFilters\"\n >\n {{ 'igo.geo.filter.advancedOgcFilters' | translate }}\n </mat-checkbox>\n </section>\n </div>\n</div>\n", styles: [":host{overflow:hidden}:host .advancedOgcFilters{text-align:center;width:100%;display:inline-block}:host .mat-mdc-list-item{height:auto}:host .igo-layer-legend-container{padding-left:1.125em;width:calc(100% - 18px)}:host mat-icon.disabled{color:#00000061}:host .separate-item{border-bottom:4px solid darkgrey}:host ::ng-deep .mdc-list-item__start,:host ::ng-deep .mdc-list-item__end,:host ::ng-deep .mdc-list-item__content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "component", type: OgcFilterableFormComponent, selector: "igo-ogc-filterable-form", inputs: ["datasource", "map", "refreshFilters"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
217
217
|
}
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OgcFilterableItemComponent, decorators: [{
|
|
219
219
|
type: Component,
|
|
220
220
|
args: [{ selector: 'igo-ogc-filterable-item', standalone: true, imports: [
|
|
221
221
|
NgClass,
|
|
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
241
241
|
}], header: [{
|
|
242
242
|
type: Input
|
|
243
243
|
}] } });
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlcmFibGUtaXRlbS9vZ2MtZmlsdGVyYWJsZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyYWJsZS1pdGVtL29nYy1maWx0ZXJhYmxlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJckQsT0FBTyxFQUFFLGlCQUFpQixFQUFF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cG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiwgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IENvbGxhcHNlRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uL2NvbGxhcHNpYmxlJztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFdGU0RhdGFTb3VyY2VPcHRpb25zUGFyYW1zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd2ZzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJPcGVyYXRvciB9IGZyb20gJy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5lbnVtJztcbmltcG9ydCB7IExheWVyTGVnZW5kQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGF5ZXIvbGF5ZXItbGVnZW5kL2xheWVyLWxlZ2VuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcbmltcG9ydCB7IE1hcEJhc2UgfSBmcm9tICcuLi8uLi9tYXAnO1xuaW1wb3J0IHsgT2djRmlsdGVyYWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9vZ2MtZmlsdGVyYWJsZS1mb3JtL29nYy1maWx0ZXJhYmxlLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE9nY0ZpbHRlcldyaXRlciB9IGZyb20gJy4uL3NoYXJlZC9vZ2MtZmlsdGVyJztcbmltcG9ydCB7XG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlLFxuICBPZ2NGaWx0ZXJzT3B0aW9ucyxcbiAgT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9uc1xufSBmcm9tICcuLi9zaGFyZWQvb2djLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT0dDRmlsdGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9vZ2MtZmlsdGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tb2djLWZpbHRlcmFibGUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vZ2MtZmlsdGVyYWJsZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE5nSWYsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBDb2xsYXBzZURpcmVjdGl2ZSxcbiAgICBOZ1N0eWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIExheWVyTGVnZW5kQ29tcG9uZW50LFxuICAgIE9nY0ZpbHRlcmFibGVGb3JtQ29tcG9uZW50LFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW09HQ0ZpbHRlclNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIE9nY0ZpbHRlcmFibGVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgY29sb3IgPSAncHJpbWFyeSc7XG4gIHByaXZhdGUgbGFzdFJ1bk9nY0ZpbHRlcjtcbiAgcHJpdmF0ZSBkZWZhdWx0TG9naWNhbFBhcmVudCA9IE9nY0ZpbHRlck9wZXJhdG9yLkFuZDtcbiAgcHVibGljIGhhc0FjdGl2ZVNwYXRpYWxGaWx0ZXIgPSBmYWxzZTtcbiAgcHVibGljIGZpbHRlcnNBcmVFZGl0YWJsZSA9IHRydWU7XG4gIHB1YmxpYyBmaWx0ZXJzQ29sbGFwc2VkID0gdHJ1ZTtcbiAgcHVibGljIGhhc1NlbGVjdG9yID0gZmFsc2U7XG4gIHNob3dMZWdlbmQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGluUmVzb2x1dGlvblJhbmdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgb2djRmlsdGVyV3JpdGVyO1xuXG4gIEBJbnB1dCgpIGxheWVyOiBMYXllcjtcblxuICBASW5wdXQoKSBtYXA6IE1hcEJhc2U7XG5cbiAgQElucHV0KCkgaGVhZGVyID0gdHJ1ZTtcblxuICBnZXQgcmVmcmVzaEZ1bmMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaEZpbHRlcnMuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGdldCBkYXRhc291cmNlKCk6IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5sYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvZ2NGaWx0ZXJTZXJ2aWNlOiBPR0NGaWx0ZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5vZ2NGaWx0ZXJXcml0ZXIgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5sYXllci52aXNpYmxlKSB7XG4gICAgICB0aGlzLmZpbHRlcnNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBvZ2NGaWx0ZXJzID0gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycztcbiAgICBpZiAoXG4gICAgICAob2djRmlsdGVycy5wdXNoQnV0dG9ucyAmJiBvZ2NGaWx0ZXJzLnB1c2hCdXR0b25zLmJ1bmRsZXMubGVuZ3RoID4gMCkgfHxcbiAgICAgIChvZ2NGaWx0ZXJzLmNoZWNrYm94ZXMgJiYgb2djRmlsdGVycy5jaGVja2JveGVzLmJ1bmRsZXMubGVuZ3RoID4gMCkgfHxcbiAgICAgIChvZ2NGaWx0ZXJzLnJhZGlvQnV0dG9ucyAmJiBvZ2NGaWx0ZXJzLnJhZGlvQnV0dG9ucy5idW5kbGVzLmxlbmd0aCA+IDApIHx8XG4gICAgICAob2djRmlsdGVycy5zZWxlY3QgJiYgb2djRmlsdGVycy5zZWxlY3QuYnVuZGxlcy5sZW5ndGggPiAwKSB8fFxuICAgICAgKG9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlICYmIG9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLmJ1bmRsZXMubGVuZ3RoID4gMClcbiAgICApIHtcbiAgICAgIGlmIChvZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmhhc1NlbGVjdG9yID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgIHRoaXMub2djRmlsdGVyU2VydmljZS5zZXRPZ2NXTVNGaWx0ZXJzT3B0aW9ucyh0aGlzLmRhdGFzb3VyY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3dmcyc6XG4gICAgICAgIHRoaXMub2djRmlsdGVyU2VydmljZS5zZXRPZ2NXRlNGaWx0ZXJzT3B0aW9ucyh0aGlzLmRhdGFzb3VyY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChvZ2NGaWx0ZXJzKSB7XG4gICAgICBpZiAob2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzKSB7XG4gICAgICAgIHRoaXMubGFzdFJ1bk9nY0ZpbHRlciA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkob2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzKVxuICAgICAgICApO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgb2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzLmZpbHRlcigoZikgPT4gZi53a3RfZ2VvbWV0cnkpLmxlbmd0aCA+PVxuICAgICAgICAgIDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5oYXNBY3RpdmVTcGF0aWFsRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmZpbHRlcnNBcmVFZGl0YWJsZSA9IG9nY0ZpbHRlcnMuZWRpdGFibGVcbiAgICAgICAgPyBvZ2NGaWx0ZXJzLmVkaXRhYmxlXG4gICAgICAgIDogZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb2x1dGlvbiQgPSB0aGlzLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJDtcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHJlc29sdXRpb24kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmluUmVzb2x1dGlvblJhbmdlJC5uZXh0KHRoaXMubGF5ZXIuaXNJblJlc29sdXRpb25zUmFuZ2UpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHV0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGFkZEZpbHRlclRvU2VxdWVuY2UoKSB7XG4gICAgdGhpcy5maWx0ZXJzQ29sbGFwc2VkID0gZmFsc2U7XG4gICAgY29uc3QgaW50ZXJmYWNlT2djRmlsdGVyczogT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9uc1tdID1cbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycztcbiAgICBjb25zdCBhcnIgPSBpbnRlcmZhY2VPZ2NGaWx0ZXJzIHx8IFtdO1xuICAgIGNvbnN0IGxhc3RMZXZlbCA9IGFyci5sZW5ndGggPT09IDAgPyAwIDogYXJyW2Fyci5sZW5ndGggLSAxXS5sZXZlbDtcbiAgICBsZXQgZmlyc3RGaWVsZE5hbWUgPSAnJztcbiAgICBjb25zdCBpbmNsdWRlZEZpZWxkcyA9IHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcy5maWx0ZXIoXG4gICAgICAoZikgPT4gIWYuZXhjbHVkZUZyb21PZ2NGaWx0ZXJzXG4gICAgKTtcbiAgICBpZiAoaW5jbHVkZWRGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgICAgZmlyc3RGaWVsZE5hbWUgPVxuICAgICAgICBpbmNsdWRlZEZpZWxkc1swXS5uYW1lID09PSB1bmRlZmluZWQgPyAnJyA6IGluY2x1ZGVkRmllbGRzWzBdLm5hbWU7XG4gICAgfVxuICAgIGxldCBmaWVsZE5hbWVHZW9tZXRyeTtcbiAgICBjb25zdCBkYXRhc291cmNlT3B0aW9ucyA9IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLm9wdGlvbnMgYXMgV0ZTRGF0YVNvdXJjZU9wdGlvbnNQYXJhbXM7XG4gICAgaWYgKGRhdGFzb3VyY2VPcHRpb25zLmZpZWxkTmFtZUdlb21ldHJ5KSB7XG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeSA9IGRhdGFzb3VyY2VPcHRpb25zLmZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAodGhpcy5kYXRhc291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXNXRlMgJiZcbiAgICAgICh0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtc1dGUy5maWVsZE5hbWVHZW9tZXRyeVxuICAgICkge1xuICAgICAgZmllbGROYW1lR2VvbWV0cnkgPSAodGhpcy5kYXRhc291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXNXRlNcbiAgICAgICAgLmZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIH1cbiAgICBjb25zdCBhbGxvd2VkT3BlcmF0b3JzID0gdGhpcy5vZ2NGaWx0ZXJXcml0ZXIuY29tcHV0ZUFsbG93ZWRPcGVyYXRvcnMoXG4gICAgICB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMsXG4gICAgICBmaXJzdEZpZWxkTmFtZSxcbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuYWxsb3dlZE9wZXJhdG9yc1R5cGVcbiAgICApO1xuICAgIGNvbnN0IGZpcnN0T3BlcmF0b3JOYW1lID0gT2JqZWN0LmtleXMoYWxsb3dlZE9wZXJhdG9ycylbMF07XG5cbiAgICBhcnIucHVzaChcbiAgICAgIHRoaXMub2djRmlsdGVyV3JpdGVyLmFkZEludGVyZmFjZUZpbHRlcihcbiAgICAgICAge1xuICAgICAgICAgIHByb3BlcnR5TmFtZTogZmlyc3RGaWVsZE5hbWUsXG4gICAgICAgICAgb3BlcmF0b3I6IGZpcnN0T3BlcmF0b3JOYW1lLFxuICAgICAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgICBpZ29TcGF0aWFsU2VsZWN0b3I6ICdmaXhlZEV4dGVudCcsXG4gICAgICAgICAgc3JzTmFtZTogdGhpcy5tYXAucHJvamVjdGlvblxuICAgICAgICB9IGFzIE9nY0ludGVyZmFjZUZpbHRlck9wdGlvbnMsXG4gICAgICAgIGZpZWxkTmFtZUdlb21ldHJ5LFxuICAgICAgICBsYXN0TGV2ZWwsXG4gICAgICAgIHRoaXMuZGVmYXVsdExvZ2ljYWxQYXJlbnRcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycyA9IGFycjtcbiAgfVxuXG4gIHJlZnJlc2hGaWx0ZXJzKGZvcmNlPzogYm9vbGVhbikge1xuICAgIGlmIChmb3JjZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5sYXN0UnVuT2djRmlsdGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucyA9IHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnM7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IG9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVyc1xuICAgICAgPyBvZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLmFjdGl2ZSA9PT0gdHJ1ZSlcbiAgICAgIDogW107XG4gICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBvZ2NGaWx0ZXJzLmZpbHRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICBvZ2NGaWx0ZXJzLmZpbHRlcmVkID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChhY3RpdmVGaWx0ZXJzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGFjdGl2ZUZpbHRlcnNbMF0ucGFyZW50TG9naWNhbCA9IGFjdGl2ZUZpbHRlcnNbMV0ucGFyZW50TG9naWNhbDtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgYWN0aXZlRmlsdGVycy5maWx0ZXIoXG4gICAgICAgIChhZikgPT4gWydDb250YWlucycsICdJbnRlcnNlY3RzJywgJ1dpdGhpbiddLmluZGV4T2YoYWYub3BlcmF0b3IpICE9PSAtMVxuICAgICAgKS5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZlU3BhdGlhbEZpbHRlciA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhc0FjdGl2ZVNwYXRpYWxGaWx0ZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICEoSlNPTi5zdHJpbmdpZnkodGhpcy5sYXN0UnVuT2djRmlsdGVyKSA9PT0gSlNPTi5zdHJpbmdpZnkoYWN0aXZlRmlsdGVycykpXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMudHlwZSA9PT0gJ3dmcycpIHtcbiAgICAgICAgY29uc3Qgb2djRGF0YVNvdXJjZTogYW55ID0gdGhpcy5sYXllci5kYXRhU291cmNlO1xuICAgICAgICBjb25zdCBvZ2NMYXllcjogT2djRmlsdGVyc09wdGlvbnMgPSBvZ2NEYXRhU291cmNlLm9wdGlvbnMub2djRmlsdGVycztcbiAgICAgICAgb2djTGF5ZXIuZmlsdGVycyA9XG4gICAgICAgICAgdGhpcy5vZ2NGaWx0ZXJXcml0ZXIucmVidWlsdElnb09nY0ZpbHRlck9iamVjdEZyb21TZXF1ZW5jZShcbiAgICAgICAgICAgIGFjdGl2ZUZpbHRlcnNcbiAgICAgICAgICApO1xuICAgICAgICB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub2wucmVmcmVzaCgpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMudHlwZSA9PT0gJ3dtcycgJiZcbiAgICAgICAgb2djRmlsdGVycy5lbmFibGVkXG4gICAgICApIHtcbiAgICAgICAgbGV0IHJlYnVpbGRGaWx0ZXIgPSAnJztcbiAgICAgICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoID49IDEpIHtcbiAgICAgICAgICBjb25zdCBvZ2NEYXRhU291cmNlOiBhbnkgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2U7XG4gICAgICAgICAgY29uc3Qgb2djTGF5ZXI6IE9nY0ZpbHRlcnNPcHRpb25zID0gb2djRGF0YVNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnM7XG4gICAgICAgICAgb2djTGF5ZXIuZmlsdGVycyA9XG4gICAgICAgICAgICB0aGlzLm9nY0ZpbHRlcldyaXRlci5yZWJ1aWx0SWdvT2djRmlsdGVyT2JqZWN0RnJvbVNlcXVlbmNlKFxuICAgICAgICAgICAgICBhY3RpdmVGaWx0ZXJzXG4gICAgICAgICAgICApO1xuICAgICAgICAgIHJlYnVpbGRGaWx0ZXIgPSB0aGlzLm9nY0ZpbHRlcldyaXRlci5idWlsZEZpbHRlcihcbiAgICAgICAgICAgIG9nY0xheWVyLmZpbHRlcnMsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAodGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5maWVsZE5hbWVHZW9tZXRyeSxcbiAgICAgICAgICAgIG9nY0RhdGFTb3VyY2Uub3B0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJTZXJ2aWNlLmZpbHRlckJ5T2djKFxuICAgICAgICAgIHRoaXMuZGF0YXNvdXJjZSBhcyBXTVNEYXRhU291cmNlLFxuICAgICAgICAgIHJlYnVpbGRGaWx0ZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5maWx0ZXJlZCA9XG4gICAgICAgICAgYWN0aXZlRmlsdGVycy5sZW5ndGggPT09IDAgPyBmYWxzZSA6IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGFzdFJ1bk9nY0ZpbHRlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYWN0aXZlRmlsdGVycykpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpZGVudGljYWwgZmlsdGVyLiBOb3RoaW5nIHRyaWdnZXJlZFxuICAgIH1cbiAgICAodGhpcy5sYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlKS5zZXRPZ2NGaWx0ZXJzKFxuICAgICAgb2djRmlsdGVycyxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldFZpc2libGUoKSB7XG4gICAgdGhpcy5sYXllci52aXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FkdmFuY2VkT2djRmlsdGVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgYWRkRmlsdGVyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMgfHxcbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcy5sZW5ndGggPT09IDBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VPZ2NGaWx0ZXJzQWR2YW5jZWRPZ2NGaWx0ZXJzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSB2YWx1ZTtcbiAgfVxuXG4gIGNoYW5nZU9nY0ZpbHRlclR5cGUoaXNBZHZhbmNlZE9nY0ZpbHRlcnMpIHtcbiAgICB0aGlzLmNoYW5nZU9nY0ZpbHRlcnNBZHZhbmNlZE9nY0ZpbHRlcnMoaXNBZHZhbmNlZE9nY0ZpbHRlcnMuY2hlY2tlZCk7XG4gICAgaWYgKGlzQWR2YW5jZWRPZ2NGaWx0ZXJzLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMucmVmcmVzaEZpbHRlcnModHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVMZWdlbmQoY29sbGFwc2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5sYXllci5sZWdlbmRDb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgdGhpcy5zaG93TGVnZW5kJC5uZXh0KCFjb2xsYXBzZWQpO1xuICB9XG5cbiAgdG9nZ2xlTGVnZW5kT25DbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy50b2dnbGVMZWdlbmQodGhpcy5zaG93TGVnZW5kJC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRmlsdGVyc0NvbGxhcHNlZCgpIHtcbiAgICB0aGlzLmZpbHRlcnNDb2xsYXBzZWQgPSAhdGhpcy5maWx0ZXJzQ29sbGFwc2VkO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ3NlcGFyYXRlLWl0ZW0nOiBoZWFkZXIgPT09IHRydWUgfVwiPlxuICA8bWF0LWxpc3QtaXRlbT5cbiAgICA8bWF0LWljb25cbiAgICAgICpuZ0lmPVwiaGVhZGVyXCJcbiAgICAgIGNsYXNzPVwiaWdvLWNoZXZyb25cIlxuICAgICAgbWF0TGlzdEl0ZW1JY29uXG4gICAgICBpZ29Db2xsYXBzZVxuICAgICAgW3RhcmdldF09XCJvZ2NGaWx0ZXJzXCJcbiAgICAgIFtjb2xsYXBzZWRdPVwiZmlsdGVyc0NvbGxhcHNlZFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRmlsdGVyc0NvbGxhcHNlZCgpXCJcbiAgICAgID5leHBhbmRfbGVzc1xuICAgIDwvbWF0LWljb24+XG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwiaGVhZGVyXCJcbiAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgIFtuZ1N0eWxlXT1cInsgY3Vyc29yOiBmaWx0ZXJzQ29sbGFwc2VkID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInIH1cIlxuICAgICAgW21hdFRvb2x0aXBdPVwibGF5ZXIudGl0bGVcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlTGVnZW5kT25DbGljaygpXCJcbiAgICA+XG4gICAgICB7eyBsYXllci50aXRsZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IG1hdExpc3RJdGVtTWV0YT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpc0FkdmFuY2VkT2djRmlsdGVycygpICYmIGZpbHRlcnNBcmVFZGl0YWJsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhZGRGaWx0ZXJEaXNhYmxlZCgpXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5maWx0ZXIuYWRkRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIChjbGljayk9XCJhZGRGaWx0ZXJUb1NlcXVlbmNlKClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImhlYWRlclwiXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICBbY29sb3JdPVwibGF5ZXIudmlzaWJsZSA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXG4gICAgICAgIGNvbGxhcHNpYmxlQnV0dG9uXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgICAgICBsYXllci52aXNpYmxlXG4gICAgICAgICAgICA/ICgnaWdvLmdlby5sYXllci5oaWRlTGF5ZXInIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ2lnby5nZW8ubGF5ZXIuc2hvd0xheWVyJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgXCJcbiAgICAgICAgKGNsaWNrKT1cImxheWVyLnZpc2libGUgPSAhbGF5ZXIudmlzaWJsZVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IChpblJlc29sdXRpb25SYW5nZSQgfCBhc3luYykgPT09IGZhbHNlIH1cIlxuICAgICAgICAgID57eyBsYXllci52aXNpYmxlID8gJ3Zpc2liaWxpdHknIDogJ3Zpc2liaWxpdHlfb2ZmJyB9fVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbWF0LWxpc3QtaXRlbT5cblxuICA8ZGl2ICNvZ2NGaWx0ZXJzPlxuICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJcIiAjbGVnZW5kIGNsYXNzPVwiaWdvLWxheWVyLWxlZ2VuZC1jb250YWluZXJcIj5cbiAgICAgIDxpZ28tbGF5ZXItbGVnZW5kICpuZ0lmPVwic2hvd0xlZ2VuZCQgfCBhc3luY1wiIFtsYXllcl09XCJsYXllclwiPlxuICAgICAgPC9pZ28tbGF5ZXItbGVnZW5kPlxuICAgIDwvZGl2PlxuICAgIDxpZ28tb2djLWZpbHRlcmFibGUtZm9ybVxuICAgICAgW2RhdGFzb3VyY2VdPVwiZGF0YXNvdXJjZVwiXG4gICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICBbcmVmcmVzaEZpbHRlcnNdPVwicmVmcmVzaEZ1bmNcIlxuICAgID5cbiAgICA8L2lnby1vZ2MtZmlsdGVyYWJsZS1mb3JtPlxuXG4gICAgPHNlY3Rpb25cbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0b3IgJiYgZmlsdGVyc0FyZUVkaXRhYmxlXCJcbiAgICAgIGNsYXNzPVwibWF0LXR5cG9ncmFwaHkgYWR2YW5jZWRPZ2NGaWx0ZXJzXCJcbiAgICA+XG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VPZ2NGaWx0ZXJUeXBlKCRldmVudClcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVyc1wiXG4gICAgICA+XG4gICAgICAgIHt7ICdpZ28uZ2VvLmZpbHRlci5hZHZhbmNlZE9nY0ZpbHRlcnMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1jaGVja2JveD5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlcmFibGUtaXRlbS9vZ2MtZmlsdGVyYWJsZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyYWJsZS1pdGVtL29nYy1maWx0ZXJhYmxlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJckQsT0FBTyxFQUFFLGlCQUFpQixFQUFF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cnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWYsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBDb2xsYXBzZURpcmVjdGl2ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9jb2xsYXBzaWJsZSc7XG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9uc1BhcmFtcyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgT2djRmlsdGVyT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuZW51bSc7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyJztcbmltcG9ydCB7IExheWVyTGVnZW5kQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGF5ZXIvbGF5ZXItbGVnZW5kL2xheWVyLWxlZ2VuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwQmFzZSB9IGZyb20gJy4uLy4uL21hcCc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJhYmxlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL29nYy1maWx0ZXJhYmxlLWZvcm0vb2djLWZpbHRlcmFibGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2djRmlsdGVyV3JpdGVyIH0gZnJvbSAnLi4vc2hhcmVkL29nYy1maWx0ZXInO1xuaW1wb3J0IHtcbiAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UsXG4gIE9nY0ZpbHRlcnNPcHRpb25zLFxuICBPZ2NJbnRlcmZhY2VGaWx0ZXJPcHRpb25zXG59IGZyb20gJy4uL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPR0NGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL29nYy1maWx0ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1vZ2MtZmlsdGVyYWJsZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29nYy1maWx0ZXJhYmxlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZ2MtZmlsdGVyYWJsZS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTmdJZixcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIENvbGxhcHNlRGlyZWN0aXZlLFxuICAgIE5nU3R5bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTGF5ZXJMZWdlbmRDb21wb25lbnQsXG4gICAgT2djRmlsdGVyYWJsZUZvcm1Db21wb25lbnQsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbT0dDRmlsdGVyU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgT2djRmlsdGVyYWJsZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBjb2xvciA9ICdwcmltYXJ5JztcbiAgcHJpdmF0ZSBsYXN0UnVuT2djRmlsdGVyO1xuICBwcml2YXRlIGRlZmF1bHRMb2dpY2FsUGFyZW50ID0gT2djRmlsdGVyT3BlcmF0b3IuQW5kO1xuICBwdWJsaWMgaGFzQWN0aXZlU3BhdGlhbEZpbHRlciA9IGZhbHNlO1xuICBwdWJsaWMgZmlsdGVyc0FyZUVkaXRhYmxlID0gdHJ1ZTtcbiAgcHVibGljIGZpbHRlcnNDb2xsYXBzZWQgPSB0cnVlO1xuICBwdWJsaWMgaGFzU2VsZWN0b3IgPSBmYWxzZTtcbiAgc2hvd0xlZ2VuZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaW5SZXNvbHV0aW9uUmFuZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBvZ2NGaWx0ZXJXcml0ZXI7XG5cbiAgQElucHV0KCkgbGF5ZXI6IExheWVyO1xuXG4gIEBJbnB1dCgpIG1hcDogTWFwQmFzZTtcblxuICBASW5wdXQoKSBoZWFkZXIgPSB0cnVlO1xuXG4gIGdldCByZWZyZXNoRnVuYygpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZyZXNoRmlsdGVycy5iaW5kKHRoaXMpO1xuICB9XG5cbiAgZ2V0IGRhdGFzb3VyY2UoKTogT2djRmlsdGVyYWJsZURhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLmxheWVyLmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2U7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9nY0ZpbHRlclNlcnZpY2U6IE9HQ0ZpbHRlclNlcnZpY2UpIHtcbiAgICB0aGlzLm9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmxheWVyLnZpc2libGUpIHtcbiAgICAgIHRoaXMuZmlsdGVyc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IG9nY0ZpbHRlcnMgPSB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzO1xuICAgIGlmIChcbiAgICAgIChvZ2NGaWx0ZXJzLnB1c2hCdXR0b25zICYmIG9nY0ZpbHRlcnMucHVzaEJ1dHRvbnMuYnVuZGxlcy5sZW5ndGggPiAwKSB8fFxuICAgICAgKG9nY0ZpbHRlcnMuY2hlY2tib3hlcyAmJiBvZ2NGaWx0ZXJzLmNoZWNrYm94ZXMuYnVuZGxlcy5sZW5ndGggPiAwKSB8fFxuICAgICAgKG9nY0ZpbHRlcnMucmFkaW9CdXR0b25zICYmIG9nY0ZpbHRlcnMucmFkaW9CdXR0b25zLmJ1bmRsZXMubGVuZ3RoID4gMCkgfHxcbiAgICAgIChvZ2NGaWx0ZXJzLnNlbGVjdCAmJiBvZ2NGaWx0ZXJzLnNlbGVjdC5idW5kbGVzLmxlbmd0aCA+IDApIHx8XG4gICAgICAob2djRmlsdGVycy5hdXRvY29tcGxldGUgJiYgb2djRmlsdGVycy5hdXRvY29tcGxldGUuYnVuZGxlcy5sZW5ndGggPiAwKVxuICAgICkge1xuICAgICAgaWYgKG9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgb2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaGFzU2VsZWN0b3IgPSB0cnVlO1xuICAgIH1cblxuICAgIHN3aXRjaCAodGhpcy5kYXRhc291cmNlLm9wdGlvbnMudHlwZSkge1xuICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJTZXJ2aWNlLnNldE9nY1dNU0ZpbHRlcnNPcHRpb25zKHRoaXMuZGF0YXNvdXJjZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnd2ZzJzpcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJTZXJ2aWNlLnNldE9nY1dGU0ZpbHRlcnNPcHRpb25zKHRoaXMuZGF0YXNvdXJjZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKG9nY0ZpbHRlcnMpIHtcbiAgICAgIGlmIChvZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMpIHtcbiAgICAgICAgdGhpcy5sYXN0UnVuT2djRmlsdGVyID0gSlNPTi5wYXJzZShcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShvZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMpXG4gICAgICAgICk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBvZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLndrdF9nZW9tZXRyeSkubGVuZ3RoID49XG4gICAgICAgICAgMVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmhhc0FjdGl2ZVNwYXRpYWxGaWx0ZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZmlsdGVyc0FyZUVkaXRhYmxlID0gb2djRmlsdGVycy5lZGl0YWJsZVxuICAgICAgICA/IG9nY0ZpbHRlcnMuZWRpdGFibGVcbiAgICAgICAgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvbHV0aW9uJCA9IHRoaXMubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kO1xuICAgIHRoaXMucmVzb2x1dGlvbiQkID0gcmVzb2x1dGlvbiQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaW5SZXNvbHV0aW9uUmFuZ2UkLm5leHQodGhpcy5sYXllci5pc0luUmVzb2x1dGlvbnNSYW5nZSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgYWRkRmlsdGVyVG9TZXF1ZW5jZSgpIHtcbiAgICB0aGlzLmZpbHRlcnNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBjb25zdCBpbnRlcmZhY2VPZ2NGaWx0ZXJzOiBPZ2NJbnRlcmZhY2VGaWx0ZXJPcHRpb25zW10gPVxuICAgICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzO1xuICAgIGNvbnN0IGFyciA9IGludGVyZmFjZU9nY0ZpbHRlcnMgfHwgW107XG4gICAgY29uc3QgbGFzdExldmVsID0gYXJyLmxlbmd0aCA9PT0gMCA/IDAgOiBhcnJbYXJyLmxlbmd0aCAtIDFdLmxldmVsO1xuICAgIGxldCBmaXJzdEZpZWxkTmFtZSA9ICcnO1xuICAgIGNvbnN0IGluY2x1ZGVkRmllbGRzID0gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzLmZpbHRlcihcbiAgICAgIChmKSA9PiAhZi5leGNsdWRlRnJvbU9nY0ZpbHRlcnNcbiAgICApO1xuICAgIGlmIChpbmNsdWRlZEZpZWxkcy5sZW5ndGggPiAwKSB7XG4gICAgICBmaXJzdEZpZWxkTmFtZSA9XG4gICAgICAgIGluY2x1ZGVkRmllbGRzWzBdLm5hbWUgPT09IHVuZGVmaW5lZCA/ICcnIDogaW5jbHVkZWRGaWVsZHNbMF0ubmFtZTtcbiAgICB9XG4gICAgbGV0IGZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIGNvbnN0IGRhdGFzb3VyY2VPcHRpb25zID0gdGhpcy5kYXRhc291cmNlXG4gICAgICAub3B0aW9ucyBhcyBXRlNEYXRhU291cmNlT3B0aW9uc1BhcmFtcztcbiAgICBpZiAoZGF0YXNvdXJjZU9wdGlvbnMuZmllbGROYW1lR2VvbWV0cnkpIHtcbiAgICAgIGZpZWxkTmFtZUdlb21ldHJ5ID0gZGF0YXNvdXJjZU9wdGlvbnMuZmllbGROYW1lR2VvbWV0cnk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICh0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtc1dGUyAmJlxuICAgICAgKHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zIGFzIGFueSkucGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5XG4gICAgKSB7XG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeSA9ICh0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtc1dGU1xuICAgICAgICAuZmllbGROYW1lR2VvbWV0cnk7XG4gICAgfVxuICAgIGNvbnN0IGFsbG93ZWRPcGVyYXRvcnMgPSB0aGlzLm9nY0ZpbHRlcldyaXRlci5jb21wdXRlQWxsb3dlZE9wZXJhdG9ycyhcbiAgICAgIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcyxcbiAgICAgIGZpcnN0RmllbGROYW1lLFxuICAgICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hbGxvd2VkT3BlcmF0b3JzVHlwZVxuICAgICk7XG4gICAgY29uc3QgZmlyc3RPcGVyYXRvck5hbWUgPSBPYmplY3Qua2V5cyhhbGxvd2VkT3BlcmF0b3JzKVswXTtcblxuICAgIGFyci5wdXNoKFxuICAgICAgdGhpcy5vZ2NGaWx0ZXJXcml0ZXIuYWRkSW50ZXJmYWNlRmlsdGVyKFxuICAgICAgICB7XG4gICAgICAgICAgcHJvcGVydHlOYW1lOiBmaXJzdEZpZWxkTmFtZSxcbiAgICAgICAgICBvcGVyYXRvcjogZmlyc3RPcGVyYXRvck5hbWUsXG4gICAgICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgICAgIGlnb1NwYXRpYWxTZWxlY3RvcjogJ2ZpeGVkRXh0ZW50JyxcbiAgICAgICAgICBzcnNOYW1lOiB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgICAgIH0gYXMgT2djSW50ZXJmYWNlRmlsdGVyT3B0aW9ucyxcbiAgICAgICAgZmllbGROYW1lR2VvbWV0cnksXG4gICAgICAgIGxhc3RMZXZlbCxcbiAgICAgICAgdGhpcy5kZWZhdWx0TG9naWNhbFBhcmVudFxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzID0gYXJyO1xuICB9XG5cbiAgcmVmcmVzaEZpbHRlcnMoZm9yY2U/OiBib29sZWFuKSB7XG4gICAgaWYgKGZvcmNlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmxhc3RSdW5PZ2NGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IG9nY0ZpbHRlcnM6IE9nY0ZpbHRlcnNPcHRpb25zID0gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycztcbiAgICBjb25zdCBhY3RpdmVGaWx0ZXJzID0gb2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzXG4gICAgICA/IG9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycy5maWx0ZXIoKGYpID0+IGYuYWN0aXZlID09PSB0cnVlKVxuICAgICAgOiBbXTtcbiAgICBpZiAoYWN0aXZlRmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIG9nY0ZpbHRlcnMuZmlsdGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIG9nY0ZpbHRlcnMuZmlsdGVyZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGFjdGl2ZUZpbHRlcnMubGVuZ3RoID4gMSkge1xuICAgICAgYWN0aXZlRmlsdGVyc1swXS5wYXJlbnRMb2dpY2FsID0gYWN0aXZlRmlsdGVyc1sxXS5wYXJlbnRMb2dpY2FsO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBhY3RpdmVGaWx0ZXJzLmZpbHRlcihcbiAgICAgICAgKGFmKSA9PiBbJ0NvbnRhaW5zJywgJ0ludGVyc2VjdHMnLCAnV2l0aGluJ10uaW5kZXhPZihhZi5vcGVyYXRvcikgIT09IC0xXG4gICAgICApLmxlbmd0aCA9PT0gMFxuICAgICkge1xuICAgICAgdGhpcy5oYXNBY3RpdmVTcGF0aWFsRmlsdGVyID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZlU3BhdGlhbEZpbHRlciA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIShKU09OLnN0cmluZ2lmeSh0aGlzLmxhc3RSdW5PZ2NGaWx0ZXIpID09PSBKU09OLnN0cmluZ2lmeShhY3RpdmVGaWx0ZXJzKSlcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLmxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy50eXBlID09PSAnd2ZzJykge1xuICAgICAgICBjb25zdCBvZ2NEYXRhU291cmNlOiBhbnkgPSB0aGlzLmxheWVyLmRhdGFTb3VyY2U7XG4gICAgICAgIGNvbnN0IG9nY0xheWVyOiBPZ2NGaWx0ZXJzT3B0aW9ucyA9IG9nY0RhdGFTb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzO1xuICAgICAgICBvZ2NMYXllci5maWx0ZXJzID1cbiAgICAgICAgICB0aGlzLm9nY0ZpbHRlcldyaXRlci5yZWJ1aWx0SWdvT2djRmlsdGVyT2JqZWN0RnJvbVNlcXVlbmNlKFxuICAgICAgICAgICAgYWN0aXZlRmlsdGVyc1xuICAgICAgICAgICk7XG4gICAgICAgIHRoaXMubGF5ZXIuZGF0YVNvdXJjZS5vbC5yZWZyZXNoKCk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0aGlzLmxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy50eXBlID09PSAnd21zJyAmJlxuICAgICAgICBvZ2NGaWx0ZXJzLmVuYWJsZWRcbiAgICAgICkge1xuICAgICAgICBsZXQgcmVidWlsZEZpbHRlciA9ICcnO1xuICAgICAgICBpZiAoYWN0aXZlRmlsdGVycy5sZW5ndGggPj0gMSkge1xuICAgICAgICAgIGNvbnN0IG9nY0RhdGFTb3VyY2U6IGFueSA9IHRoaXMubGF5ZXIuZGF0YVNvdXJjZTtcbiAgICAgICAgICBjb25zdCBvZ2NMYXllcjogT2djRmlsdGVyc09wdGlvbnMgPSBvZ2NEYXRhU291cmNlLm9wdGlvbnMub2djRmlsdGVycztcbiAgICAgICAgICBvZ2NMYXllci5maWx0ZXJzID1cbiAgICAgICAgICAgIHRoaXMub2djRmlsdGVyV3JpdGVyLnJlYnVpbHRJZ29PZ2NGaWx0ZXJPYmplY3RGcm9tU2VxdWVuY2UoXG4gICAgICAgICAgICAgIGFjdGl2ZUZpbHRlcnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgcmVidWlsZEZpbHRlciA9IHRoaXMub2djRmlsdGVyV3JpdGVyLmJ1aWxkRmlsdGVyKFxuICAgICAgICAgICAgb2djTGF5ZXIuZmlsdGVycyxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICh0aGlzLmxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLmZpZWxkTmFtZUdlb21ldHJ5LFxuICAgICAgICAgICAgb2djRGF0YVNvdXJjZS5vcHRpb25zXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9nY0ZpbHRlclNlcnZpY2UuZmlsdGVyQnlPZ2MoXG4gICAgICAgICAgdGhpcy5kYXRhc291cmNlIGFzIFdNU0RhdGFTb3VyY2UsXG4gICAgICAgICAgcmVidWlsZEZpbHRlclxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmZpbHRlcmVkID1cbiAgICAgICAgICBhY3RpdmVGaWx0ZXJzLmxlbmd0aCA9PT0gMCA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sYXN0UnVuT2djRmlsdGVyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhY3RpdmVGaWx0ZXJzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGlkZW50aWNhbCBmaWx0ZXIuIE5vdGhpbmcgdHJpZ2dlcmVkXG4gICAgfVxuICAgICh0aGlzLmxheWVyLmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UpLnNldE9nY0ZpbHRlcnMoXG4gICAgICBvZ2NGaWx0ZXJzLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0VmlzaWJsZSgpIHtcbiAgICB0aGlzLmxheWVyLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzQWR2YW5jZWRPZ2NGaWx0ZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVycztcbiAgfVxuXG4gIHB1YmxpYyBhZGRGaWx0ZXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcyB8fFxuICAgICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzLmxlbmd0aCA9PT0gMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZU9nY0ZpbHRlcnNBZHZhbmNlZE9nY0ZpbHRlcnModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVycyA9IHZhbHVlO1xuICB9XG5cbiAgY2hhbmdlT2djRmlsdGVyVHlwZShpc0FkdmFuY2VkT2djRmlsdGVycykge1xuICAgIHRoaXMuY2hhbmdlT2djRmlsdGVyc0FkdmFuY2VkT2djRmlsdGVycyhpc0FkdmFuY2VkT2djRmlsdGVycy5jaGVja2VkKTtcbiAgICBpZiAoaXNBZHZhbmNlZE9nY0ZpbHRlcnMuY2hlY2tlZCkge1xuICAgICAgdGhpcy5yZWZyZXNoRmlsdGVycyh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZUxlZ2VuZChjb2xsYXBzZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxheWVyLmxlZ2VuZENvbGxhcHNlZCA9IGNvbGxhcHNlZDtcbiAgICB0aGlzLnNob3dMZWdlbmQkLm5leHQoIWNvbGxhcHNlZCk7XG4gIH1cblxuICB0b2dnbGVMZWdlbmRPbkNsaWNrKCkge1xuICAgIGlmICghdGhpcy5maWx0ZXJzQ29sbGFwc2VkKSB7XG4gICAgICB0aGlzLnRvZ2dsZUxlZ2VuZCh0aGlzLnNob3dMZWdlbmQkLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVGaWx0ZXJzQ29sbGFwc2VkKCkge1xuICAgIHRoaXMuZmlsdGVyc0NvbGxhcHNlZCA9ICF0aGlzLmZpbHRlcnNDb2xsYXBzZWQ7XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwieyAnc2VwYXJhdGUtaXRlbSc6IGhlYWRlciA9PT0gdHJ1ZSB9XCI+XG4gIDxtYXQtbGlzdC1pdGVtPlxuICAgIDxtYXQtaWNvblxuICAgICAgKm5nSWY9XCJoZWFkZXJcIlxuICAgICAgY2xhc3M9XCJpZ28tY2hldnJvblwiXG4gICAgICBtYXRMaXN0SXRlbUljb25cbiAgICAgIGlnb0NvbGxhcHNlXG4gICAgICBbdGFyZ2V0XT1cIm9nY0ZpbHRlcnNcIlxuICAgICAgW2NvbGxhcHNlZF09XCJmaWx0ZXJzQ29sbGFwc2VkXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVGaWx0ZXJzQ29sbGFwc2VkKClcIlxuICAgICAgPmV4cGFuZF9sZXNzXG4gICAgPC9tYXQtaWNvbj5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJoZWFkZXJcIlxuICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgICAgW25nU3R5bGVdPVwieyBjdXJzb3I6IGZpbHRlcnNDb2xsYXBzZWQgPyAnZGVmYXVsdCcgOiAncG9pbnRlcicgfVwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJsYXllci50aXRsZVwiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVMZWdlbmRPbkNsaWNrKClcIlxuICAgID5cbiAgICAgIHt7IGxheWVyLnRpdGxlIH19XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgbWF0TGlzdEl0ZW1NZXRhPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImlzQWR2YW5jZWRPZ2NGaWx0ZXJzKCkgJiYgZmlsdGVyc0FyZUVkaXRhYmxlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImFkZEZpbHRlckRpc2FibGVkKClcIlxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmZpbHRlci5hZGRGaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgKGNsaWNrKT1cImFkZEZpbHRlclRvU2VxdWVuY2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiaGVhZGVyXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIFtjb2xvcl09XCJsYXllci52aXNpYmxlID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbiAgICAgICAgY29sbGFwc2libGVCdXR0b25cbiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgICAgIGxheWVyLnZpc2libGVcbiAgICAgICAgICAgID8gKCdpZ28uZ2VvLmxheWVyLmhpZGVMYXllcicgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICA6ICgnaWdvLmdlby5sYXllci5zaG93TGF5ZXInIHwgdHJhbnNsYXRlKVxuICAgICAgICBcIlxuICAgICAgICAoY2xpY2spPVwibGF5ZXIudmlzaWJsZSA9ICFsYXllci52aXNpYmxlXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogKGluUmVzb2x1dGlvblJhbmdlJCB8IGFzeW5jKSA9PT0gZmFsc2UgfVwiXG4gICAgICAgICAgPnt7IGxheWVyLnZpc2libGUgPyAndmlzaWJpbGl0eScgOiAndmlzaWJpbGl0eV9vZmYnIH19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtbGlzdC1pdGVtPlxuXG4gIDxkaXYgI29nY0ZpbHRlcnM+XG4gICAgPGRpdiAqbmdJZj1cImhlYWRlclwiICNsZWdlbmQgY2xhc3M9XCJpZ28tbGF5ZXItbGVnZW5kLWNvbnRhaW5lclwiPlxuICAgICAgPGlnby1sYXllci1sZWdlbmQgKm5nSWY9XCJzaG93TGVnZW5kJCB8IGFzeW5jXCIgW2xheWVyXT1cImxheWVyXCI+XG4gICAgICA8L2lnby1sYXllci1sZWdlbmQ+XG4gICAgPC9kaXY+XG4gICAgPGlnby1vZ2MtZmlsdGVyYWJsZS1mb3JtXG4gICAgICBbZGF0YXNvdXJjZV09XCJkYXRhc291cmNlXCJcbiAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgIFtyZWZyZXNoRmlsdGVyc109XCJyZWZyZXNoRnVuY1wiXG4gICAgPlxuICAgIDwvaWdvLW9nYy1maWx0ZXJhYmxlLWZvcm0+XG5cbiAgICA8c2VjdGlvblxuICAgICAgKm5nSWY9XCJoYXNTZWxlY3RvciAmJiBmaWx0ZXJzQXJlRWRpdGFibGVcIlxuICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeSBhZHZhbmNlZE9nY0ZpbHRlcnNcIlxuICAgID5cbiAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAoY2hhbmdlKT1cImNoYW5nZU9nY0ZpbHRlclR5cGUoJGV2ZW50KVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2lnby5nZW8uZmlsdGVyLmFkdmFuY2VkT2djRmlsdGVycycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvc2VjdGlvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -15,17 +15,19 @@ export class OgcFilterableListBindingDirective {
|
|
|
15
15
|
ngOnInit() {
|
|
16
16
|
// Override input layers
|
|
17
17
|
this.component.layers = [];
|
|
18
|
-
this.layers$$ = this.mapService
|
|
19
|
-
|
|
18
|
+
this.layers$$ = this.mapService
|
|
19
|
+
.getMap()
|
|
20
|
+
.layerController.layersFlattened$.subscribe((layers) => {
|
|
21
|
+
this.component.layers = layers;
|
|
20
22
|
});
|
|
21
23
|
}
|
|
22
24
|
ngOnDestroy() {
|
|
23
25
|
this.layers$$.unsubscribe();
|
|
24
26
|
}
|
|
25
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
26
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OgcFilterableListBindingDirective, deps: [{ token: i1.OgcFilterableListComponent, self: true }, { token: i2.MapService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: OgcFilterableListBindingDirective, isStandalone: true, selector: "[igoOgcFilterableListBinding]", ngImport: i0 });
|
|
27
29
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OgcFilterableListBindingDirective, decorators: [{
|
|
29
31
|
type: Directive,
|
|
30
32
|
args: [{
|
|
31
33
|
selector: '[igoOgcFilterableListBinding]',
|
|
@@ -34,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
34
36
|
}], ctorParameters: () => [{ type: i1.OgcFilterableListComponent, decorators: [{
|
|
35
37
|
type: Self
|
|
36
38
|
}] }, { type: i2.MapService }] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlcmFibGUtbGlzdC1iaW5kaW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyYWJsZS1saXN0L29nYy1maWx0ZXJhYmxlLWxpc3QtYmluZGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSW5FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQU03RSxNQUFNLE9BQU8saUNBQWlDO0lBTWxDO0lBTEYsU0FBUyxDQUE2QjtJQUN0QyxRQUFRLENBQWU7SUFFL0IsWUFDVSxTQUFxQyxFQUNyQyxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTlCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVO2FBQzVCLE1BQU0sRUFBRTthQUNSLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt3R0F4QlUsaUNBQWlDOzRGQUFqQyxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBSjdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFNSSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWFwU2VydmljZSB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2djRmlsdGVyYWJsZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL29nYy1maWx0ZXJhYmxlLWxpc3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb09nY0ZpbHRlcmFibGVMaXN0QmluZGluZ10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE9nY0ZpbHRlcmFibGVMaXN0QmluZGluZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjb21wb25lbnQ6IE9nY0ZpbHRlcmFibGVMaXN0Q29tcG9uZW50O1xuICBwcml2YXRlIGxheWVycyQkOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBjb21wb25lbnQ6IE9nY0ZpbHRlcmFibGVMaXN0Q29tcG9uZW50LFxuICAgIHByaXZhdGUgbWFwU2VydmljZTogTWFwU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIE92ZXJyaWRlIGlucHV0IGxheWVyc1xuICAgIHRoaXMuY29tcG9uZW50LmxheWVycyA9IFtdO1xuXG4gICAgdGhpcy5sYXllcnMkJCA9IHRoaXMubWFwU2VydmljZVxuICAgICAgLmdldE1hcCgpXG4gICAgICAubGF5ZXJDb250cm9sbGVyLmxheWVyc0ZsYXR0ZW5lZCQuc3Vic2NyaWJlKChsYXllcnMpID0+IHtcbiAgICAgICAgdGhpcy5jb21wb25lbnQubGF5ZXJzID0gbGF5ZXJzO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,10 +10,10 @@ import * as i1 from "@ngx-translate/core";
|
|
|
10
10
|
export class OgcFilterableListComponent {
|
|
11
11
|
layers;
|
|
12
12
|
map;
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OgcFilterableListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OgcFilterableListComponent, isStandalone: true, selector: "igo-ogc-filterable-list", inputs: { layers: "layers", map: "map" }, ngImport: i0, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <div\n id=\"no-layer-message\"\n *ngIf=\"(layers | filterableDataSource: 'ogc').length === 0\"\n >\n {{ 'igo.geo.filter.noFilterableLayer' | translate }}\n </div>\n <ng-template ngFor let-layer [ngForOf]=\"layers | filterableDataSource: 'ogc'\">\n <igo-ogc-filterable-item\n igoListItem\n [header]=\"true\"\n [layer]=\"layer\"\n [map]=\"layer.map\"\n ></igo-ogc-filterable-item>\n </ng-template>\n</igo-list>\n", styles: ["#no-layer-message{padding:7%;text-align:center;font-size:medium;font-weight:700}\n"], dependencies: [{ kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: OgcFilterableItemComponent, selector: "igo-ogc-filterable-item", inputs: ["layer", "map", "header"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: FilterableDataSourcePipe, name: "filterableDataSource" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OgcFilterableListComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{ selector: 'igo-ogc-filterable-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
19
19
|
ListComponent,
|
|
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
29
29
|
}], map: [{
|
|
30
30
|
type: Input
|
|
31
31
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlcmFibGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlcmFibGUtbGlzdC9vZ2MtZmlsdGVyYWJsZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyYWJsZS1saXN0L29nYy1maWx0ZXJhYmxlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFrQmhGLE1BQU0sT0FBTywwQkFBMEI7SUFDNUIsTUFBTSxDQUFhO0lBRW5CLEdBQUcsQ0FBVTt3R0FIWCwwQkFBMEI7NEZBQTFCLDBCQUEwQiw2SEMzQnZDLDhmQWdCQSw0SURFSSxhQUFhLDBGQUNiLElBQUksNkZBQ0osS0FBSyxtSEFDTCwwQkFBMEIsd0dBQzFCLGlCQUFpQiw0UkFDakIsaUJBQWlCLHVGQUNqQix3QkFBd0I7OzRGQUdmLDBCQUEwQjtrQkFoQnRDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLElBQUk7d0JBQ0osS0FBSzt3QkFDTCwwQkFBMEI7d0JBQzFCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix3QkFBd0I7cUJBQ3pCOzhCQUdRLE1BQU07c0JBQWQsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50LCBMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9saXN0JztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7IEFueUxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXInO1xuaW1wb3J0IHsgTWFwQmFzZSB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwLmFic3RyYWN0JztcbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vb2djLWZpbHRlcmFibGUtaXRlbS9vZ2MtZmlsdGVyYWJsZS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJhYmxlRGF0YVNvdXJjZVBpcGUgfSBmcm9tICcuLi9zaGFyZWQvZmlsdGVyYWJsZS1kYXRhc291cmNlLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tb2djLWZpbHRlcmFibGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vZ2MtZmlsdGVyYWJsZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2djLWZpbHRlcmFibGUtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIExpc3RDb21wb25lbnQsXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBPZ2NGaWx0ZXJhYmxlSXRlbUNvbXBvbmVudCxcbiAgICBMaXN0SXRlbURpcmVjdGl2ZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBGaWx0ZXJhYmxlRGF0YVNvdXJjZVBpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBPZ2NGaWx0ZXJhYmxlTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxheWVyczogQW55TGF5ZXJbXTtcblxuICBASW5wdXQoKSBtYXA6IE1hcEJhc2U7XG59XG4iLCI8aWdvLWxpc3QgW25hdmlnYXRpb25dPVwiZmFsc2VcIiBbc2VsZWN0aW9uXT1cImZhbHNlXCI+XG4gIDxkaXZcbiAgICBpZD1cIm5vLWxheWVyLW1lc3NhZ2VcIlxuICAgICpuZ0lmPVwiKGxheWVycyB8IGZpbHRlcmFibGVEYXRhU291cmNlOiAnb2djJykubGVuZ3RoID09PSAwXCJcbiAgPlxuICAgIHt7ICdpZ28uZ2VvLmZpbHRlci5ub0ZpbHRlcmFibGVMYXllcicgfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtbGF5ZXIgW25nRm9yT2ZdPVwibGF5ZXJzIHwgZmlsdGVyYWJsZURhdGFTb3VyY2U6ICdvZ2MnXCI+XG4gICAgPGlnby1vZ2MtZmlsdGVyYWJsZS1pdGVtXG4gICAgICBpZ29MaXN0SXRlbVxuICAgICAgW2hlYWRlcl09XCJ0cnVlXCJcbiAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICBbbWFwXT1cImxheWVyLm1hcFwiXG4gICAgPjwvaWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW0+XG4gIDwvbmctdGVtcGxhdGU+XG48L2lnby1saXN0PlxuIl19
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { Pipe } from '@angular/core';
|
|
2
|
+
import { isLayerGroup } from '../../layer';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class FilterableDataSourcePipe {
|
|
4
5
|
transform(value, arg) {
|
|
5
6
|
let layers;
|
|
6
7
|
if (arg === 'time') {
|
|
7
8
|
layers = value.filter((layer) => {
|
|
9
|
+
if (isLayerGroup(layer)) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
8
12
|
const datasource = layer.dataSource;
|
|
9
13
|
return (this.isTimeFilterable(datasource) &&
|
|
10
14
|
datasource.options.timeFilter !== undefined &&
|
|
@@ -13,6 +17,9 @@ export class FilterableDataSourcePipe {
|
|
|
13
17
|
}
|
|
14
18
|
if (arg === 'ogc') {
|
|
15
19
|
layers = value.filter((layer) => {
|
|
20
|
+
if (isLayerGroup(layer)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
16
23
|
const datasource = layer.dataSource;
|
|
17
24
|
return this.isOgcFilterable(datasource);
|
|
18
25
|
});
|
|
@@ -43,14 +50,14 @@ export class FilterableDataSourcePipe {
|
|
|
43
50
|
}
|
|
44
51
|
return isOgcFilterable;
|
|
45
52
|
}
|
|
46
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
47
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterableDataSourcePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
54
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterableDataSourcePipe, isStandalone: true, name: "filterableDataSource" });
|
|
48
55
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterableDataSourcePipe, decorators: [{
|
|
50
57
|
type: Pipe,
|
|
51
58
|
args: [{
|
|
52
59
|
name: 'filterableDataSource',
|
|
53
60
|
standalone: true
|
|
54
61
|
}]
|
|
55
62
|
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyYWJsZS1kYXRhc291cmNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc2hhcmVkL2ZpbHRlcmFibGUtZGF0YXNvdXJjZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBbUIsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU81RCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFNBQVMsQ0FBQyxLQUFpQixFQUFFLEdBQVc7UUFDdEMsSUFBSSxNQUFlLENBQUM7UUFDcEIsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDbkIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBc0MsQ0FBQztnQkFDaEUsT0FBTyxDQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7b0JBQ2pDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVM7b0JBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQ2xELENBQUM7WUFDSixDQUFDLENBQVksQ0FBQztRQUNoQixDQUFDO1FBQ0QsSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBcUMsQ0FBQztnQkFDL0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBWSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsVUFBb0M7UUFDM0QsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN0QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO0lBQzNDLENBQUM7SUFFTyxlQUFlLENBQUMsVUFBbUM7UUFDekQsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQ0UsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQzdCLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU87WUFDckMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUN0QyxDQUFDO1lBQ0QsZUFBZSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFDRSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDN0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTztZQUNyQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVc7Z0JBQ3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVU7Z0JBQ3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVk7Z0JBQzFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU07Z0JBQ3BDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUM3QyxDQUFDO1lBQ0QsZUFBZSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzt3R0F4RFUsd0JBQXdCO3NHQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSnBDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHNCQUFzQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBBbnlMYXllciwgTGF5ZXIsIGlzTGF5ZXJHcm91cCB9IGZyb20gJy4uLy4uL2xheWVyJztcbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlIH0gZnJvbSAnLi9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZpbHRlcmFibGVEYXRhU291cmNlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJhYmxlRGF0YVNvdXJjZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBBbnlMYXllcltdLCBhcmc6IHN0cmluZyk6IExheWVyW10ge1xuICAgIGxldCBsYXllcnM6IExheWVyW107XG4gICAgaWYgKGFyZyA9PT0gJ3RpbWUnKSB7XG4gICAgICBsYXllcnMgPSB2YWx1ZS5maWx0ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgIGlmIChpc0xheWVyR3JvdXAobGF5ZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGFzb3VyY2UgPSBsYXllci5kYXRhU291cmNlIGFzIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLmlzVGltZUZpbHRlcmFibGUoZGF0YXNvdXJjZSkgJiZcbiAgICAgICAgICBkYXRhc291cmNlLm9wdGlvbnMudGltZUZpbHRlciAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgT2JqZWN0LmtleXMoZGF0YXNvdXJjZS5vcHRpb25zLnRpbWVGaWx0ZXIpLmxlbmd0aFxuICAgICAgICApO1xuICAgICAgfSkgYXMgTGF5ZXJbXTtcbiAgICB9XG4gICAgaWYgKGFyZyA9PT0gJ29nYycpIHtcbiAgICAgIGxheWVycyA9IHZhbHVlLmZpbHRlcigobGF5ZXIpID0+IHtcbiAgICAgICAgaWYgKGlzTGF5ZXJHcm91cChsYXllcikpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IGxheWVyLmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2U7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2djRmlsdGVyYWJsZShkYXRhc291cmNlKTtcbiAgICAgIH0pIGFzIExheWVyW107XG4gICAgfVxuICAgIHJldHVybiBsYXllcnM7XG4gIH1cblxuICBwcml2YXRlIGlzVGltZUZpbHRlcmFibGUoZGF0YVNvdXJjZTogVGltZUZpbHRlcmFibGVEYXRhU291cmNlKSB7XG4gICAgaWYgKGRhdGFTb3VyY2Uub3B0aW9ucy50eXBlICE9PSAnd21zJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YVNvdXJjZS5vcHRpb25zLnRpbWVGaWx0ZXJhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09nY0ZpbHRlcmFibGUoZGF0YVNvdXJjZTogT2djRmlsdGVyYWJsZURhdGFTb3VyY2UpOiBib29sZWFuIHtcbiAgICBsZXQgaXNPZ2NGaWx0ZXJhYmxlID0gZmFsc2U7XG4gICAgaWYgKFxuICAgICAgZGF0YVNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMgJiZcbiAgICAgIGRhdGFTb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmVuYWJsZWQgJiZcbiAgICAgIGRhdGFTb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmVkaXRhYmxlXG4gICAgKSB7XG4gICAgICBpc09nY0ZpbHRlcmFibGUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBkYXRhU291cmNlLm9wdGlvbnMub2djRmlsdGVycyAmJlxuICAgICAgZGF0YVNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuZW5hYmxlZCAmJlxuICAgICAgKGRhdGFTb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLnB1c2hCdXR0b25zIHx8XG4gICAgICAgIGRhdGFTb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmNoZWNrYm94ZXMgfHxcbiAgICAgICAgZGF0YVNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMucmFkaW9CdXR0b25zIHx8XG4gICAgICAgIGRhdGFTb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLnNlbGVjdCB8fFxuICAgICAgICBkYXRhU291cmNlLm9wdGlvbnMub2djRmlsdGVycy5hdXRvY29tcGxldGUpXG4gICAgKSB7XG4gICAgICBpc09nY0ZpbHRlcmFibGUgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gaXNPZ2NGaWx0ZXJhYmxlO1xuICB9XG59XG4iXX0=
|
|
@@ -63,10 +63,10 @@ export class OGCFilterTimeService {
|
|
|
63
63
|
subtractStep(value, stepMillisecond) {
|
|
64
64
|
return moment(value).subtract(stepMillisecond, 'milliseconds').toDate();
|
|
65
65
|
}
|
|
66
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
67
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
66
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OGCFilterTimeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
67
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OGCFilterTimeService });
|
|
68
68
|
}
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OGCFilterTimeService, decorators: [{
|
|
70
70
|
type: Injectable
|
|
71
71
|
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci10aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXItdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBRXhDLElBQUksQ0FBQyxVQUFtQyxFQUFFLGFBQWE7UUFDckQsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDaEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUM3QixDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQW1DLEVBQUUsYUFBYTtRQUNoRSxNQUFNLElBQUksR0FBRyxNQUFNO2FBQ2hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQzthQUM5QyxjQUFjLEVBQUUsQ0FBQztRQUNwQixPQUFPLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFZO1FBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxDQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBWTtRQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FDTCxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUNwQixLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNuQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQztZQUNsQixLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNuQixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUN0QixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVk7UUFDN0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQ0wsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBWTtRQUM3QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBVTtRQUNyQixJQUFJLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBSyxFQUFFLGVBQWU7UUFDbkMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQUssRUFBRSxlQUFlO1FBQ3hDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUUsQ0FBQzt3R0E5RVUsb0JBQW9COzRHQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGRlZmF1bHQgYXMgbW9tZW50IH0gZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9HQ0ZpbHRlclRpbWVTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgZGVmYXVsdFN0ZXBNaWxsaXNlY29uZCA9IDYwMDAwO1xuXG4gIHN0ZXAoZGF0YXNvdXJjZTogT2djRmlsdGVyYWJsZURhdGFTb3VyY2UsIGN1cnJlbnRGaWx0ZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRhc291cmNlLm9wdGlvbnMuc3RlcERhdGVcbiAgICAgID8gZGF0YXNvdXJjZS5vcHRpb25zLnN0ZXBEYXRlXG4gICAgICA6IGN1cnJlbnRGaWx0ZXIuc3RlcDtcbiAgfVxuXG4gIHN0ZXBNaWxsaXNlY29uZChkYXRhU291cmNlOiBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSwgY3VycmVudEZpbHRlcik6IG51bWJlciB7XG4gICAgY29uc3Qgc3RlcCA9IG1vbWVudFxuICAgICAgLmR1cmF0aW9uKHRoaXMuc3RlcChkYXRhU291cmNlLCBjdXJyZW50RmlsdGVyKSlcbiAgICAgIC5hc01pbGxpc2Vjb25kcygpO1xuICAgIHJldHVybiBzdGVwID09PSAwID8gdGhpcy5kZWZhdWx0U3RlcE1pbGxpc2Vjb25kIDogc3RlcDtcbiAgfVxuXG4gIHN0ZXBJc1llYXJEdXJhdGlvbihzdGVwOiBzdHJpbmcpIHtcbiAgICBjb25zdCB5ZWFyID0gbW9tZW50LmR1cmF0aW9uKHN0ZXApO1xuICAgIHJldHVybiAoXG4gICAgICB5ZWFyLnllYXJzKCkgIT09IDAgJiZcbiAgICAgIHllYXIubW9udGhzKCkgPT09IDAgJiZcbiAgICAgIHllYXIud2Vla3MoKSA9PT0gMCAmJlxuICAgICAgeWVhci5kYXlzKCkgPT09IDAgJiZcbiAgICAgIHllYXIuaG91cnMoKSA9PT0gMCAmJlxuICAgICAgeWVhci5taW51dGVzKCkgPT09IDBcbiAgICApO1xuICB9XG5cbiAgc3RlcElzTW9udGhEdXJhdGlvbihzdGVwOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtb250aCA9IG1vbWVudC5kdXJhdGlvbihzdGVwKTtcbiAgICByZXR1cm4gKFxuICAgICAgbW9udGgubW9udGhzKCkgIT09IDAgJiZcbiAgICAgIG1vbnRoLndlZWtzKCkgPT09IDAgJiZcbiAgICAgIG1vbnRoLmRheXMoKSA9PT0gMCAmJlxuICAgICAgbW9udGguaG91cnMoKSA9PT0gMCAmJlxuICAgICAgbW9udGgubWludXRlcygpID09PSAwXG4gICAgKTtcbiAgfVxuXG4gIHN0ZXBJc1dlZWtEdXJhdGlvbihzdGVwOiBzdHJpbmcpIHtcbiAgICBjb25zdCB3ZWVrID0gbW9tZW50LmR1cmF0aW9uKHN0ZXApO1xuICAgIHJldHVybiAoXG4gICAgICB3ZWVrLndlZWtzKCkgIT09IDAgJiZcbiAgICAgIHdlZWsuZGF5cygpID09PSA3ICYmXG4gICAgICB3ZWVrLmhvdXJzKCkgPT09IDAgJiZcbiAgICAgIHdlZWsubWludXRlcygpID09PSAwXG4gICAgKTtcbiAgfVxuXG4gIHN0ZXBJc0RheUR1cmF0aW9uKHN0ZXA6IHN0cmluZykge1xuICAgIGNvbnN0IGRheSA9IG1vbWVudC5kdXJhdGlvbihzdGVwKTtcbiAgICByZXR1cm4gZGF5LmRheXMoKSAhPT0gMCAmJiBkYXkuaG91cnMoKSA9PT0gMCAmJiBkYXkubWludXRlcygpID09PSAwO1xuICB9XG5cbiAgc3RlcElzSG91ckR1cmF0aW9uKHN0ZXA6IHN0cmluZykge1xuICAgIGNvbnN0IGhvdXIgPSBtb21lbnQuZHVyYXRpb24oc3RlcCk7XG4gICAgcmV0dXJuIGhvdXIuaG91cnMoKSAhPT0gMCAmJiBob3VyLm1pbnV0ZXMoKSA9PT0gMDtcbiAgfVxuXG4gIHN0ZXBJc01pbnV0ZUR1cmF0aW9uKHN0ZXA6IHN0cmluZykge1xuICAgIGNvbnN0IG1pbnV0ZSA9IG1vbWVudC5kdXJhdGlvbihzdGVwKTtcbiAgICByZXR1cm4gbWludXRlLm1pbnV0ZXMoKSAhPT0gMDtcbiAgfVxuXG4gIGRhdGVUb051bWJlcihkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICBsZXQgbmV3RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIG5ld0RhdGUgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0RhdGUuZ2V0VGltZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZFN0ZXAodmFsdWUsIHN0ZXBNaWxsaXNlY29uZCkge1xuICAgIHJldHVybiBtb21lbnQodmFsdWUpLmFkZChzdGVwTWlsbGlzZWNvbmQsICdtaWxsaXNlY29uZHMnKS50b0RhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJ0cmFjdFN0ZXAodmFsdWUsIHN0ZXBNaWxsaXNlY29uZCkge1xuICAgIHJldHVybiBtb21lbnQodmFsdWUpLnN1YnRyYWN0KHN0ZXBNaWxsaXNlY29uZCwgJ21pbGxpc2Vjb25kcycpLnRvRGF0ZSgpO1xuICB9XG59XG4iXX0=
|