@igo2/geo 16.3.0 → 17.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/assets/icons/cross_black_18px.svg +88 -88
- package/assets/icons/place_blue_36px.svg +55 -55
- package/assets/icons/place_green_36px.svg +55 -55
- package/assets/icons/place_red_36px.svg +55 -55
- package/assets/icons/place_yellow_36px.svg +55 -55
- package/assets/images/north-direction.png +0 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +32 -14
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +38 -19
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +19 -11
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +8 -62
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +49 -20
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +23 -11
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +48 -16
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +12 -71
- package/esm2022/lib/catalog/catalog-library/index.mjs +4 -0
- package/esm2022/lib/catalog/catalog.module.mjs +18 -39
- package/esm2022/lib/catalog/index.mjs +2 -1
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2022/lib/catalog/shared/catalog.service.mjs +16 -9
- package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
- package/esm2022/lib/datasource/shared/capabilities.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +5 -5
- package/esm2022/lib/datasource/shared/datasource.service.mjs +11 -13
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/index.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -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.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
- 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/index.mjs +1 -1
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
- package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
- package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +28 -13
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +44 -19
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +36 -16
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -2
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +9 -2
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +72 -41
- package/esm2022/lib/directions/directions.component.mjs +83 -21
- package/esm2022/lib/directions/directions.module.mjs +14 -73
- package/esm2022/lib/directions/directions.provider.mjs +16 -0
- package/esm2022/lib/directions/index.mjs +2 -1
- package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2022/lib/directions/shared/directions.service.mjs +37 -27
- package/esm2022/lib/directions/shared/directions.utils.mjs +22 -22
- package/esm2022/lib/directions/shared/store.mjs +2 -2
- package/esm2022/lib/download/download-button/download-button.component.mjs +21 -11
- package/esm2022/lib/download/download.module.mjs +10 -27
- package/esm2022/lib/download/shared/download.service.mjs +7 -7
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +21 -10
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +41 -18
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +22 -9
- package/esm2022/lib/draw/draw/draw.component.mjs +55 -25
- package/esm2022/lib/draw/draw/draw.module.mjs +7 -104
- package/esm2022/lib/draw/drawingTool.module.mjs +8 -7
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +7 -7
- package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
- package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/environment/index.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +29 -13
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +8 -7
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +14 -27
- package/esm2022/lib/feature/feature-details/index.mjs +4 -0
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +9 -9
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +8 -11
- package/esm2022/lib/feature/feature.module.mjs +18 -12
- package/esm2022/lib/feature/index.mjs +3 -2
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.utils.mjs +2 -2
- package/esm2022/lib/feature/shared/index.mjs +1 -1
- package/esm2022/lib/feature/shared/store.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/loading.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies/search.mjs +5 -5
- package/esm2022/lib/feature/shared/strategies/selection.mjs +2 -2
- package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
- package/esm2022/lib/filter/filter.module.mjs +47 -177
- package/esm2022/lib/filter/index.mjs +2 -1
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +29 -15
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +46 -20
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +56 -25
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +17 -14
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +59 -34
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +18 -12
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +42 -18
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -7
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +21 -12
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +6 -5
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +5 -5
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.mjs +46 -3
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +5 -5
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +9 -7
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +66 -28
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +35 -18
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +35 -16
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +28 -14
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +51 -24
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +31 -13
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +8 -7
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +16 -10
- package/esm2022/lib/geo.module.mjs +5 -43
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +34 -17
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +12 -43
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +4 -0
- package/esm2022/lib/geometry/geometry.module.mjs +9 -10
- package/esm2022/lib/geometry/index.mjs +2 -3
- package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
- package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
- package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +20 -10
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +58 -22
- package/esm2022/lib/import-export/import-export.module.mjs +15 -81
- package/esm2022/lib/import-export/index.mjs +2 -1
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +19 -66
- package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2022/lib/import-export/shared/export.service.mjs +14 -8
- package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
- package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
- package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
- package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
- package/esm2022/lib/import-export/shared/import.service.mjs +7 -7
- package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
- package/esm2022/lib/layer/index.mjs +2 -1
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +35 -16
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +45 -17
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +13 -11
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +10 -9
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +49 -18
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +33 -14
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +5 -5
- package/esm2022/lib/layer/layer.module.mjs +27 -93
- package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2022/lib/layer/shared/layer.service.mjs +13 -13
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +21 -11
- package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
- package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
- package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
- package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
- package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +27 -14
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +28 -17
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +15 -11
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +1 -1
- package/esm2022/lib/map/home-extent-button/index.mjs +1 -1
- package/esm2022/lib/map/index.mjs +1 -1
- package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +8 -8
- package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
- package/esm2022/lib/map/map.module.mjs +51 -81
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +23 -13
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
- package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/index.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +11 -10
- package/esm2022/lib/map/shared/index.mjs +1 -1
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +3 -3
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +10 -9
- package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
- package/esm2022/lib/map/shared/map.interface.mjs +1 -1
- package/esm2022/lib/map/shared/map.mjs +1 -1
- package/esm2022/lib/map/shared/map.service.mjs +5 -5
- package/esm2022/lib/map/shared/map.utils.mjs +1 -1
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +11 -8
- package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2022/lib/map/shared/projection.service.mjs +7 -7
- package/esm2022/lib/map/shared/projection.utils.mjs +60 -1
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +6 -6
- package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +26 -16
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
- package/esm2022/lib/measure/index.mjs +2 -3
- package/esm2022/lib/measure/measure.module.mjs +8 -5
- package/esm2022/lib/measure/measurer/index.mjs +6 -0
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
- package/esm2022/lib/measure/measurer/measurer.component.mjs +40 -20
- package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
- package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
- package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
- package/esm2022/lib/metadata/index.mjs +2 -1
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +35 -18
- package/esm2022/lib/metadata/metadata.module.mjs +14 -31
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +1 -1
- package/esm2022/lib/metadata/shared/metadata.service.mjs +5 -5
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +7 -7
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +8 -10
- package/esm2022/lib/offline/layerDB/index.mjs +1 -1
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +5 -5
- package/esm2022/lib/offline/shared/geo-network.service.mjs +7 -7
- package/esm2022/lib/overlay/overlay.module.mjs +10 -8
- package/esm2022/lib/overlay/shared/overlay.directive.mjs +8 -7
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.service.mjs +5 -5
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
- package/esm2022/lib/print/print/print.component.mjs +8 -8
- package/esm2022/lib/print/print-form/print-form.component.mjs +49 -17
- package/esm2022/lib/print/print.module.mjs +10 -54
- package/esm2022/lib/print/shared/geopdf.mjs +1 -1
- package/esm2022/lib/print/shared/print.interface.mjs +1 -1
- package/esm2022/lib/print/shared/print.service.mjs +180 -127
- package/esm2022/lib/print/shared/print.type.mjs +1 -1
- package/esm2022/lib/query/query.module.mjs +7 -8
- package/esm2022/lib/query/shared/index.mjs +2 -1
- package/esm2022/lib/query/shared/query-search-source.mjs +6 -6
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +2 -2
- package/esm2022/lib/query/shared/query.directive.mjs +8 -7
- package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
- package/esm2022/lib/query/shared/query.service.mjs +8 -10
- package/esm2022/lib/query/shared/query.utils.mjs +1 -1
- package/esm2022/lib/search/index.mjs +3 -5
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +42 -19
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +8 -61
- package/esm2022/lib/search/search-results/index.mjs +5 -0
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +44 -19
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +34 -18
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +23 -12
- package/esm2022/lib/search/search-results/search-results.component.mjs +28 -14
- package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
- package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +40 -15
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
- package/esm2022/lib/search/search.module.mjs +24 -13
- package/esm2022/lib/search/shared/index.mjs +2 -1
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +11 -10
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +1 -1
- package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
- package/esm2022/lib/search/shared/search.enums.mjs +1 -1
- package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/search.provider.mjs +20 -0
- package/esm2022/lib/search/shared/search.service.mjs +32 -13
- package/esm2022/lib/search/shared/search.utils.mjs +2 -2
- package/esm2022/lib/search/shared/sources/cadastre.mjs +13 -10
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +11 -2
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/coordinates.mjs +16 -14
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +14 -2
- package/esm2022/lib/search/shared/sources/icherche-icons.mjs +32 -0
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/icherche.mjs +28 -21
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +23 -2
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/ilayer.mjs +14 -12
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +14 -2
- package/esm2022/lib/search/shared/sources/index.mjs +1 -1
- package/esm2022/lib/search/shared/sources/nominatim.mjs +10 -10
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +10 -2
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -2
- package/esm2022/lib/search/shared/sources/source.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +17 -15
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +17 -2
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/workspace.mjs +12 -11
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +11 -2
- package/esm2022/lib/style/index.mjs +1 -1
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
- package/esm2022/lib/style/shared/feature/feature-style.mjs +3 -2
- package/esm2022/lib/style/shared/font.enum.mjs +1 -1
- package/esm2022/lib/style/shared/index.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
- package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
- package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
- package/esm2022/lib/style/style-list/style-list.service.mjs +5 -5
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +40 -17
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +28 -14
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +13 -9
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
- package/esm2022/lib/style/style-service/draw-style.service.mjs +5 -5
- package/esm2022/lib/style/style-service/style.service.mjs +4 -4
- package/esm2022/lib/style/style.module.mjs +12 -57
- package/esm2022/lib/toast/toast.component.mjs +21 -11
- package/esm2022/lib/toast/toast.module.mjs +10 -30
- package/esm2022/lib/utils/googleLinks.mjs +1 -1
- package/esm2022/lib/utils/id-generator.mjs +1 -1
- package/esm2022/lib/utils/osmLinks.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +7 -7
- package/esm2022/lib/wkt/shared/wkt.service.mjs +19 -19
- package/esm2022/lib/wkt/wkt.module.mjs +8 -5
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +11 -10
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +8 -24
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +2 -2
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +19 -14
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +2 -2
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +14 -11
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +2 -2
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +14 -11
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +12 -9
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +4 -4
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +7 -7
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +8 -13
- package/esm2022/lib/workspace/widgets/widgets.mjs +2 -2
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +9 -8
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +8 -10
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +8 -10
- package/esm2022/lib/workspace/workspace.module.mjs +11 -36
- package/esm2022/public_api.mjs +11 -12
- package/fesm2022/igo2-geo.mjs +23027 -22793
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -3
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +2 -2
- package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +2 -14
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -3
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +6 -3
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +6 -18
- package/lib/catalog/catalog-library/index.d.ts +3 -0
- package/lib/catalog/catalog.module.d.ts +9 -9
- package/lib/catalog/index.d.ts +1 -0
- package/lib/catalog/shared/catalog.interface.d.ts +1 -1
- package/lib/catalog/shared/catalog.service.d.ts +3 -1
- package/lib/datasource/shared/datasource.service.d.ts +4 -5
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -3
- package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +2 -3
- package/lib/datasource/shared/datasources/datasource.d.ts +1 -2
- package/lib/datasource/shared/datasources/feature-datasource.d.ts +2 -3
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -3
- package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -2
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +2 -3
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +1 -2
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +1 -2
- package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +4 -2
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +2 -2
- package/lib/directions/directions-results/directions-results.component.d.ts +2 -2
- package/lib/directions/directions-sources/directions-source.d.ts +7 -3
- package/lib/directions/directions-sources/directions-source.interface.d.ts +19 -6
- package/lib/directions/directions-sources/directions-source.provider.d.ts +3 -1
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +20 -11
- package/lib/directions/directions.component.d.ts +16 -4
- package/lib/directions/directions.module.d.ts +4 -16
- package/lib/directions/directions.provider.d.ts +3 -0
- package/lib/directions/index.d.ts +1 -0
- package/lib/directions/shared/directions.interface.d.ts +2 -9
- package/lib/directions/shared/directions.service.d.ts +7 -3
- package/lib/directions/shared/directions.utils.d.ts +2 -2
- package/lib/directions/shared/store.d.ts +1 -1
- package/lib/download/download-button/download-button.component.d.ts +1 -1
- package/lib/download/download.module.d.ts +4 -6
- package/lib/download/shared/download.service.d.ts +1 -1
- package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
- package/lib/draw/draw/draw-popup.component.d.ts +5 -5
- package/lib/draw/draw/draw-shorcuts.component.d.ts +3 -1
- package/lib/draw/draw/draw.component.d.ts +3 -3
- package/lib/draw/draw/draw.module.d.ts +2 -25
- package/lib/draw/drawingTool.module.d.ts +3 -0
- package/lib/draw/shared/draw-icon.service.d.ts +1 -1
- package/lib/environment/environment.interface.d.ts +2 -1
- package/lib/feature/feature-details/feature-details.component.d.ts +8 -5
- package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
- package/lib/feature/feature-details/feature-details.module.d.ts +5 -6
- package/lib/feature/feature-details/index.d.ts +3 -0
- package/lib/feature/feature-form/feature-form.component.d.ts +2 -3
- package/lib/feature/feature-form/feature-form.module.d.ts +2 -4
- package/lib/feature/feature.module.d.ts +9 -4
- package/lib/feature/index.d.ts +2 -1
- package/lib/feature/shared/feature.interfaces.d.ts +1 -1
- package/lib/feature/shared/feature.utils.d.ts +1 -1
- package/lib/feature/shared/store.d.ts +1 -1
- package/lib/feature/shared/strategies/geo-properties.d.ts +1 -1
- package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
- package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
- package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
- package/lib/feature/shared/strategies/loading.d.ts +1 -1
- package/lib/feature/shared/strategies/search.d.ts +1 -1
- package/lib/feature/shared/strategies/selection.d.ts +1 -1
- package/lib/filter/filter.module.d.ts +23 -28
- package/lib/filter/index.d.ts +1 -0
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +3 -3
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +5 -5
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +5 -5
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +3 -3
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +3 -3
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +3 -3
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
- package/lib/filter/shared/ogc-filter.d.ts +7 -0
- package/lib/filter/shared/ogc-filter.interface.d.ts +2 -3
- package/lib/filter/shared/spatial-filter.service.d.ts +2 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +7 -6
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -3
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +2 -2
- 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 +3 -3
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
- package/lib/geo.module.d.ts +14 -24
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +2 -3
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +5 -10
- package/lib/geometry/geometry-form-field/index.d.ts +3 -0
- package/lib/geometry/geometry.module.d.ts +5 -3
- package/lib/geometry/index.d.ts +1 -2
- package/lib/geometry/shared/controls/draw.d.ts +4 -4
- package/lib/geometry/shared/controls/slice.d.ts +4 -4
- package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
- package/lib/import-export/export-button/export-button.component.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +7 -4
- package/lib/import-export/import-export.module.d.ts +8 -15
- package/lib/import-export/index.d.ts +1 -0
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +5 -5
- package/lib/import-export/shared/export.service.d.ts +1 -1
- package/lib/import-export/shared/export.utils.d.ts +2 -2
- package/lib/import-export/shared/import.service.d.ts +1 -1
- package/lib/import-export/shared/import.utils.d.ts +2 -2
- package/lib/layer/index.d.ts +1 -0
- package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
- package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -2
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
- package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
- package/lib/layer/layer.module.d.ts +14 -18
- package/lib/layer/shared/layer.service.d.ts +1 -1
- package/lib/layer/shared/layers/image-layer.d.ts +1 -1
- package/lib/layer/shared/layers/layer.d.ts +1 -1
- package/lib/layer/shared/layers/layer.interface.d.ts +1 -1
- package/lib/layer/shared/layers/tile-layer.d.ts +1 -1
- package/lib/layer/shared/layers/vector-layer.d.ts +4 -5
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -2
- package/lib/layer/shared/layers/vectortile-layer.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
- package/lib/layer/utils/image-watcher.d.ts +1 -1
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +2 -2
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +2 -2
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +2 -2
- package/lib/map/info-section/info-section.component.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +2 -2
- package/lib/map/map-center/map-center.component.d.ts +1 -1
- package/lib/map/map.module.d.ts +35 -21
- package/lib/map/menu-button/menu-button.component.d.ts +2 -2
- package/lib/map/offline-button/offline-button.component.d.ts +2 -2
- package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
- package/lib/map/shared/controllers/geolocation.d.ts +2 -1
- package/lib/map/shared/hover-feature.directive.d.ts +2 -2
- package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
- package/lib/map/shared/map.d.ts +2 -1
- package/lib/map/shared/mapOffline.directive.d.ts +3 -2
- package/lib/map/shared/projection.service.d.ts +1 -1
- package/lib/map/shared/projection.utils.d.ts +11 -0
- package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +2 -2
- package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
- package/lib/measure/index.d.ts +1 -2
- package/lib/measure/measure.module.d.ts +3 -0
- package/lib/measure/measurer/index.d.ts +5 -0
- package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
- package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
- package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
- package/lib/measure/measurer/measurer.component.d.ts +4 -4
- package/lib/measure/measurer/measurer.module.d.ts +3 -18
- package/lib/measure/shared/measure.utils.d.ts +1 -1
- package/lib/metadata/index.d.ts +1 -0
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
- package/lib/metadata/metadata.module.d.ts +6 -7
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
- package/lib/offline/geoDB/geoDB.service.d.ts +2 -3
- package/lib/offline/shared/geo-network.service.d.ts +1 -1
- package/lib/overlay/overlay.module.d.ts +4 -1
- package/lib/overlay/shared/overlay.directive.d.ts +1 -1
- package/lib/print/print/print.component.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +5 -2
- package/lib/print/print.module.d.ts +4 -12
- package/lib/print/shared/print.interface.d.ts +1 -0
- package/lib/print/shared/print.service.d.ts +31 -18
- package/lib/query/query.module.d.ts +4 -4
- package/lib/query/shared/index.d.ts +1 -0
- package/lib/query/shared/query-search-source.providers.d.ts +1 -1
- package/lib/query/shared/query.directive.d.ts +1 -1
- package/lib/query/shared/query.interfaces.d.ts +1 -2
- package/lib/query/shared/query.service.d.ts +2 -3
- package/lib/search/index.d.ts +2 -4
- package/lib/search/search-bar/search-bar.component.d.ts +4 -3
- package/lib/search/search-bar/search-bar.module.d.ts +2 -16
- package/lib/search/search-results/index.d.ts +4 -0
- package/lib/search/search-results/save-feature-dialog.component.d.ts +2 -2
- package/lib/search/search-results/search-results-add-button.component.d.ts +4 -4
- package/lib/search/search-results/search-results-item.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +3 -3
- package/lib/search/search-results/search-results.directive.d.ts +3 -0
- package/lib/search/search-results/search-results.module.d.ts +3 -21
- package/lib/search/search-selector/search-selector.component.d.ts +1 -1
- package/lib/search/search-selector/search-selector.module.d.ts +2 -11
- package/lib/search/search-settings/search-settings.component.d.ts +3 -2
- package/lib/search/search-settings/search-settings.module.d.ts +2 -12
- package/lib/search/search.module.d.ts +14 -7
- package/lib/search/shared/index.d.ts +1 -0
- package/lib/search/shared/search-pointer-summary.directive.d.ts +2 -2
- package/lib/search/shared/search-source.service.d.ts +1 -1
- package/lib/search/shared/search.interfaces.d.ts +12 -10
- package/lib/search/shared/search.provider.d.ts +8 -0
- package/lib/search/shared/search.service.d.ts +8 -3
- package/lib/search/shared/sources/cadastre.d.ts +2 -1
- package/lib/search/shared/sources/cadastre.providers.d.ts +6 -2
- package/lib/search/shared/sources/coordinates.d.ts +2 -1
- package/lib/search/shared/sources/coordinates.providers.d.ts +6 -2
- package/lib/search/shared/sources/icherche-icons.d.ts +7 -0
- package/lib/search/shared/sources/icherche.d.ts +2 -1
- package/lib/search/shared/sources/icherche.providers.d.ts +10 -14
- package/lib/search/shared/sources/ilayer.d.ts +2 -1
- package/lib/search/shared/sources/ilayer.providers.d.ts +6 -2
- package/lib/search/shared/sources/nominatim.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.providers.d.ts +5 -2
- package/lib/search/shared/sources/source.d.ts +2 -2
- package/lib/search/shared/sources/source.interfaces.d.ts +16 -0
- package/lib/search/shared/sources/storedqueries.d.ts +2 -1
- package/lib/search/shared/sources/storedqueries.providers.d.ts +8 -3
- package/lib/search/shared/sources/workspace.d.ts +2 -1
- package/lib/search/shared/sources/workspace.providers.d.ts +6 -2
- package/lib/style/shared/vector/conversion.utils.d.ts +2 -3
- package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +1 -1
- package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +1 -1
- package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +1 -1
- package/lib/style/style.module.d.ts +5 -16
- package/lib/toast/toast.component.d.ts +2 -2
- package/lib/toast/toast.module.d.ts +4 -6
- package/lib/utils/propertyTypeDetector/propertyTypeDetector.service.d.ts +1 -1
- package/lib/wkt/shared/wkt.service.d.ts +1 -1
- package/lib/wkt/wkt.module.d.ts +3 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +2 -2
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
- package/lib/workspace/shared/edition-workspace.d.ts +2 -2
- package/lib/workspace/shared/edition-workspace.service.d.ts +5 -2
- package/lib/workspace/shared/feature-workspace.d.ts +1 -1
- package/lib/workspace/shared/feature-workspace.service.d.ts +2 -1
- package/lib/workspace/shared/wfs-workspace.d.ts +1 -1
- package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -1
- package/lib/workspace/shared/wms-workspace.service.d.ts +2 -1
- package/lib/workspace/shared/workspace.utils.d.ts +2 -1
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +3 -2
- package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +2 -6
- package/lib/workspace/widgets/widgets.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +2 -2
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +2 -3
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +2 -2
- package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +2 -3
- package/lib/workspace/workspace.module.d.ts +5 -9
- package/locale/en.geo.json +824 -818
- package/locale/fr.geo.json +825 -819
- package/package.json +14 -12
- package/public_api.d.ts +10 -11
- package/src/_index.scss +2 -2
- package/src/geo-theme.scss +23 -23
- package/src/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -22
- package/src/lib/catalog/catalog.theming.scss +5 -5
- package/src/lib/directions/directions-results/directions-results.theming.scss +10 -10
- package/src/lib/directions/directions.theming.scss +6 -6
- package/src/lib/draw/draw.theming.scss +32 -32
- package/src/lib/feature/feature-details/feature-details.theming.scss +16 -16
- package/src/lib/feature/feature.theming.scss +4 -4
- package/src/lib/filter/filter.theming.scss +13 -13
- package/src/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
- package/src/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
- package/src/lib/layer/layer-item/layer-item.theme.scss +33 -33
- package/src/lib/layer/layer-legend/layer-legend.theming.scss +10 -10
- package/src/lib/layer/layer-list-tool/layer-list-tool.theming.scss +34 -34
- package/src/lib/layer/layer.theming.scss +10 -10
- package/src/lib/map/map-browser/map-browser.theming.scss +46 -46
- package/src/lib/map/map.theming.scss +9 -9
- package/src/lib/map/menu-button/menu-button.theming.scss +20 -20
- package/src/lib/map/zoom-button/zoom-button.theming.scss +32 -32
- package/src/lib/measure/measure.theming.scss +5 -5
- package/src/lib/measure/measurer/measurer.theming.scss +26 -26
- package/src/lib/search/search-bar/search-bar.theming.scss +33 -33
- package/src/lib/search/search-results/search-results-item.theme.scss +20 -20
- package/src/lib/search/search.theming.scss +7 -7
- package/src/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
- package/src/lib/workspace/workspace.theming.scss +6 -6
- package/src/style/style.scss +1 -1
- package/style/style.css +2 -1
- package/esm2022/lib/datasource/datasource.module.mjs +0 -22
- package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +0 -40
- package/lib/datasource/datasource.module.d.ts +0 -8
- package/lib/search/search-bar/search-url-param.directive.d.ts +0 -13
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatSlider, MatSliderModule } from '@angular/material/slider';
|
|
3
6
|
import { default as moment } from 'moment';
|
|
4
7
|
import { OGCFilterTimeService } from '../shared/ogc-filter-time.service';
|
|
5
8
|
import * as i0 from "@angular/core";
|
|
6
9
|
import * as i1 from "../shared/ogc-filter-time.service";
|
|
7
|
-
import * as i2 from "@angular/
|
|
8
|
-
import * as i3 from "@angular/
|
|
10
|
+
import * as i2 from "@angular/material/slider";
|
|
11
|
+
import * as i3 from "@angular/forms";
|
|
9
12
|
import * as i4 from "@angular/material/button";
|
|
10
|
-
import * as i5 from "@angular/material/
|
|
13
|
+
import * as i5 from "@angular/material/icon";
|
|
11
14
|
export class OgcFilterTimeSliderComponent {
|
|
12
15
|
ogcFilterTimeService;
|
|
13
16
|
currentFilter;
|
|
@@ -21,7 +24,7 @@ export class OgcFilterTimeSliderComponent {
|
|
|
21
24
|
calculatedStep = 0;
|
|
22
25
|
_defaultDisplayFormat = 'DD/MM/YYYY HH:mm A';
|
|
23
26
|
_defaultSliderInterval = 2000;
|
|
24
|
-
playIcon = '
|
|
27
|
+
playIcon = 'play_circle';
|
|
25
28
|
resetIcon = 'replay';
|
|
26
29
|
get sliderInterval() {
|
|
27
30
|
return this.currentFilter.sliderInterval === undefined
|
|
@@ -79,7 +82,7 @@ export class OgcFilterTimeSliderComponent {
|
|
|
79
82
|
this.stopFilter();
|
|
80
83
|
}
|
|
81
84
|
else {
|
|
82
|
-
this.playIcon = '
|
|
85
|
+
this.playIcon = 'pause_circle';
|
|
83
86
|
this.interval = setInterval((that) => {
|
|
84
87
|
if (this.slider.step < this.calculatedStep) {
|
|
85
88
|
const _increment = '_increment';
|
|
@@ -98,14 +101,14 @@ export class OgcFilterTimeSliderComponent {
|
|
|
98
101
|
clearInterval(this.interval);
|
|
99
102
|
}
|
|
100
103
|
this.interval = undefined;
|
|
101
|
-
this.playIcon = '
|
|
104
|
+
this.playIcon = 'play_circle';
|
|
102
105
|
}
|
|
103
106
|
resetFilter(event) {
|
|
104
107
|
if (this.interval) {
|
|
105
108
|
clearInterval(this.interval);
|
|
106
109
|
}
|
|
107
110
|
this.interval = undefined;
|
|
108
|
-
this.playIcon = '
|
|
111
|
+
this.playIcon = 'play_circle';
|
|
109
112
|
this.slider.step = 1;
|
|
110
113
|
const _increment = '_increment';
|
|
111
114
|
const _emitInputEvent = '_emitInputEvent';
|
|
@@ -176,13 +179,13 @@ export class OgcFilterTimeSliderComponent {
|
|
|
176
179
|
this.calculatedStep = i;
|
|
177
180
|
}
|
|
178
181
|
}
|
|
179
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
180
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
182
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: OgcFilterTimeSliderComponent, deps: [{ token: i1.OGCFilterTimeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
183
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: OgcFilterTimeSliderComponent, isStandalone: true, selector: "igo-ogc-filter-time-slider", inputs: { currentFilter: "currentFilter", begin: "begin", max: "max", datasource: "datasource" }, outputs: { changeProperty: "changeProperty" }, providers: [OGCFilterTimeService], viewQueries: [{ propertyName: "slider", first: true, predicate: MatSlider, descendants: true }], ngImport: i0, template: "<div class=\"slider-container\">\n <mat-slider\n id=\"time-slider\"\n [step]=\"1\"\n [min]=\"1\"\n [max]=\"calculatedStep\"\n [(ngModel)]=\"sliderValue\"\n [displayWith]=\"sliderDisplayWith\"\n thumbLabel\n #ngSlider\n ><input\n matSliderThumb\n (input)=\"\n handleSliderInput({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter($event)\">\n <mat-icon>{{ playIcon }}</mat-icon>\n </button>\n <button mat-icon-button color=\"primary\" (click)=\"resetFilter($event)\">\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n</div>\n", styles: [":host ::ng-deep input{text-align:center!important;margin:auto 5px!important}:host .datetime-container{text-align:center}:host .slider-container{text-align:center}:host .datetime-input{display:inline-block;margin:5px 25px}:host .date-input{width:120px;margin-right:25px}:host .time-input{display:inherit;margin-right:25px}:host .hour-input,:host .minute-input{width:40px}:host .minute-input{margin-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i2.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i2.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
181
184
|
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: OgcFilterTimeSliderComponent, decorators: [{
|
|
183
186
|
type: Component,
|
|
184
|
-
args: [{ selector: 'igo-ogc-filter-time-slider', template: "<div class=\"slider-container\">\
|
|
185
|
-
}], ctorParameters:
|
|
187
|
+
args: [{ selector: 'igo-ogc-filter-time-slider', standalone: true, imports: [MatSliderModule, FormsModule, MatButtonModule, MatIconModule], providers: [OGCFilterTimeService], template: "<div class=\"slider-container\">\n <mat-slider\n id=\"time-slider\"\n [step]=\"1\"\n [min]=\"1\"\n [max]=\"calculatedStep\"\n [(ngModel)]=\"sliderValue\"\n [displayWith]=\"sliderDisplayWith\"\n thumbLabel\n #ngSlider\n ><input\n matSliderThumb\n (input)=\"\n handleSliderInput({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter($event)\">\n <mat-icon>{{ playIcon }}</mat-icon>\n </button>\n <button mat-icon-button color=\"primary\" (click)=\"resetFilter($event)\">\n <mat-icon>{{ resetIcon }}</mat-icon>\n </button>\n</div>\n", styles: [":host ::ng-deep input{text-align:center!important;margin:auto 5px!important}:host .datetime-container{text-align:center}:host .slider-container{text-align:center}:host .datetime-input{display:inline-block;margin:5px 25px}:host .date-input{width:120px;margin-right:25px}:host .time-input{display:inherit;margin-right:25px}:host .hour-input,:host .minute-input{width:40px}:host .minute-input{margin-left:10px}\n"] }]
|
|
188
|
+
}], ctorParameters: () => [{ type: i1.OGCFilterTimeService }], propDecorators: { currentFilter: [{
|
|
186
189
|
type: Input
|
|
187
190
|
}], begin: [{
|
|
188
191
|
type: Input
|
|
@@ -196,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
196
199
|
type: ViewChild,
|
|
197
200
|
args: [MatSlider]
|
|
198
201
|
}] } });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci10aW1lLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlci10aW1lL29nYy1maWx0ZXItdGltZS1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmlsdGVyL29nYy1maWx0ZXItdGltZS9vZ2MtZmlsdGVyLXRpbWUtc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQU96RSxNQUFNLE9BQU8sNEJBQTRCO0lBbURwQjtJQWxEVixhQUFhLENBQU07SUFDbkIsS0FBSyxDQUFNO0lBQ1gsR0FBRyxDQUFNO0lBQ1QsVUFBVSxDQUFNO0lBQ2YsY0FBYyxHQUluQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ1AsTUFBTSxDQUFZO0lBRXhDLFFBQVEsQ0FBQztJQUNULFdBQVcsR0FBVyxDQUFDLENBQUM7SUFDeEIsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUNsQixxQkFBcUIsR0FBVyxvQkFBb0IsQ0FBQztJQUNyRCxzQkFBc0IsR0FBVyxJQUFJLENBQUM7SUFDeEMsUUFBUSxHQUFHLGFBQWEsQ0FBQztJQUN6QixTQUFTLEdBQUcsUUFBUSxDQUFDO0lBRTVCLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENB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QUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7b0JBQ3ZCLEtBQUssRUFBRSxJQUFJLElBQUksQ0FDYixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUMvQixPQUFPLENBQUMsV0FBVyxFQUFFLEVBQ3JCLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQ0YsQ0FBQyxXQUFXLEVBQUU7b0JBQ2YsR0FBRyxFQUFFLENBQUM7b0JBQ04sYUFBYSxFQUFFLElBQUk7aUJBQ3BCLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLEtBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNULElBQUksQ0FBQyxjQUFjO1lBQ2pCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ3BELENBQUMsQ0FBQyxFQUNGLENBQUMsRUFBRSxFQUNIO1lBQ0EsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO3dHQXhPVSw0QkFBNEI7NEZBQTVCLDRCQUE0QiwyUEFVNUIsU0FBUyxnREM3QnRCLG8yQkE2QkE7OzRGRFZhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSw0QkFBNEI7MkdBSzdCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBS2UsTUFBTTtzQkFBM0IsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcblxyXG5pbXBvcnQgeyBkZWZhdWx0IGFzIG1vbWVudCB9IGZyb20gJ21vbWVudCc7XHJcblxyXG5pbXBvcnQgeyBPR0NGaWx0ZXJUaW1lU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9vZ2MtZmlsdGVyLXRpbWUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1vZ2MtZmlsdGVyLXRpbWUtc2xpZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2djLWZpbHRlci10aW1lLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb2djLWZpbHRlci10aW1lLXNsaWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPZ2NGaWx0ZXJUaW1lU2xpZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjdXJyZW50RmlsdGVyOiBhbnk7XHJcbiAgQElucHV0KCkgYmVnaW46IGFueTtcclxuICBASW5wdXQoKSBtYXg6IGFueTtcclxuICBASW5wdXQoKSBkYXRhc291cmNlOiBhbnk7XHJcbiAgQE91dHB1dCgpIGNoYW5nZVByb3BlcnR5OiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIHBvczogbnVtYmVyO1xyXG4gICAgcmVmcmVzaEZpbHRlcjogYm9vbGVhbjtcclxuICB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoTWF0U2xpZGVyKSBzbGlkZXI6IE1hdFNsaWRlcjtcclxuXHJcbiAgaW50ZXJ2YWw7XHJcbiAgc2xpZGVyVmFsdWU6IG51bWJlciA9IDE7XHJcbiAgY2FsY3VsYXRlZFN0ZXA6IG51bWJlciA9IDA7XHJcbiAgcmVhZG9ubHkgX2RlZmF1bHREaXNwbGF5Rm9ybWF0OiBzdHJpbmcgPSAnREQvTU0vWVlZWSBISDptbSBBJztcclxuICByZWFkb25seSBfZGVmYXVsdFNsaWRlckludGVydmFsOiBudW1iZXIgPSAyMDAwO1xyXG4gIHB1YmxpYyBwbGF5SWNvbiA9ICdwbGF5LWNpcmNsZSc7XHJcbiAgcHVibGljIHJlc2V0SWNvbiA9ICdyZXBsYXknO1xyXG5cclxuICBnZXQgc2xpZGVySW50ZXJ2YWwoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWx0ZXIuc2xpZGVySW50ZXJ2YWwgPT09IHVuZGVmaW5lZFxyXG4gICAgICA/IHRoaXMuX2RlZmF1bHRTbGlkZXJJbnRlcnZhbFxyXG4gICAgICA6IHRoaXMuY3VycmVudEZpbHRlci5zbGlkZXJJbnRlcnZhbDtcclxuICB9XHJcblxyXG4gIGdldCBkaXNwbGF5Rm9ybWF0KCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50RmlsdGVyLnNsaWRlck9wdGlvbnM/LmRpc3BsYXlGb3JtYXQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEZpbHRlci5zbGlkZXJPcHRpb25zLmRpc3BsYXlGb3JtYXQ7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXJyZW50RmlsdGVyLmRpc3BsYXlGb3JtYXQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEZpbHRlci5kaXNwbGF5Rm9ybWF0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2RlZmF1bHREaXNwbGF5Rm9ybWF0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGJlZ2luTWlsbGlzZWNvbmQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLmRhdGVUb051bWJlcih0aGlzLmJlZ2luKTtcclxuICB9XHJcblxyXG4gIGdldCBtYXhNaWxsaXNlY29uZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2UuZGF0ZVRvTnVtYmVyKHRoaXMubWF4KTtcclxuICB9XHJcblxyXG4gIGdldCBzdGVwTWlsbGlzZWNvbmQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXBNaWxsaXNlY29uZChcclxuICAgICAgdGhpcy5kYXRhc291cmNlLFxyXG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb2djRmlsdGVyVGltZVNlcnZpY2U6IE9HQ0ZpbHRlclRpbWVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNsaWRlckRpc3BsYXlXaXRoID0gdGhpcy5zbGlkZXJEaXNwbGF5V2l0aC5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNhbGN1bGF0ZVN0ZXAoKTtcclxuICAgIHRoaXMuaGFuZGxlU2xpZGVySW5wdXQoeyB2YWx1ZTogMSB9KTtcclxuICB9XHJcblxyXG4gIHNsaWRlckRpc3BsYXlXaXRoKHZhbHVlKSB7XHJcbiAgICBsZXQgZGF0ZVRtcCA9IG5ldyBEYXRlKFxyXG4gICAgICB0aGlzLmJlZ2luTWlsbGlzZWNvbmQgKyAodmFsdWUgLSAxKSAqIHRoaXMuc3RlcE1pbGxpc2Vjb25kXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwSXNZZWFyRHVyYXRpb24oXHJcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwKHRoaXMuZGF0YXNvdXJjZSwgdGhpcy5jdXJyZW50RmlsdGVyKVxyXG4gICAgICApXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgdG9BZGQgPSBtb21lbnRcclxuICAgICAgICAuZHVyYXRpb24oXHJcbiAgICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXAodGhpcy5kYXRhc291cmNlLCB0aGlzLmN1cnJlbnRGaWx0ZXIpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC55ZWFycygpO1xyXG4gICAgICBkYXRlVG1wID0gbW9tZW50KHRoaXMuYmVnaW5NaWxsaXNlY29uZClcclxuICAgICAgICAuYWRkKCh2YWx1ZSAtIDEpICogdG9BZGQsICd5ZWFyJylcclxuICAgICAgICAudG9EYXRlKCk7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXBJc01vbnRoRHVyYXRpb24oXHJcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwKHRoaXMuZGF0YXNvdXJjZSwgdGhpcy5jdXJyZW50RmlsdGVyKVxyXG4gICAgICApXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgdG9BZGQgPSBtb21lbnRcclxuICAgICAgICAuZHVyYXRpb24oXHJcbiAgICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXAodGhpcy5kYXRhc291cmNlLCB0aGlzLmN1cnJlbnRGaWx0ZXIpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5tb250aHMoKTtcclxuICAgICAgZGF0ZVRtcCA9IG1vbWVudCh0aGlzLmJlZ2luTWlsbGlzZWNvbmQpXHJcbiAgICAgICAgLmFkZCgodmFsdWUgLSAxKSAqIHRvQWRkLCAnbW9udGgnKVxyXG4gICAgICAgIC50b0RhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbW9tZW50KGRhdGVUbXApLmZvcm1hdCh0aGlzLmRpc3BsYXlGb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgcGxheUZpbHRlcihldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5pbnRlcnZhbCkge1xyXG4gICAgICB0aGlzLnN0b3BGaWx0ZXIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGxheUljb24gPSAncGF1c2UtY2lyY2xlJztcclxuICAgICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKFxyXG4gICAgICAgICh0aGF0KSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zbGlkZXIuc3RlcCA8IHRoaXMuY2FsY3VsYXRlZFN0ZXApIHtcclxuICAgICAgICAgICAgY29uc3QgX2luY3JlbWVudCA9ICdfaW5jcmVtZW50JztcclxuICAgICAgICAgICAgY29uc3QgX2VtaXRJbnB1dEV2ZW50ID0gJ19lbWl0SW5wdXRFdmVudCc7XHJcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyW19pbmNyZW1lbnRdKDEpO1xyXG4gICAgICAgICAgICB0aGlzLnNsaWRlcltfZW1pdElucHV0RXZlbnRdKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3BGaWx0ZXIoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHRoaXMuc2xpZGVySW50ZXJ2YWwsXHJcbiAgICAgICAgdGhpc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RvcEZpbHRlcigpIHtcclxuICAgIGlmICh0aGlzLmludGVydmFsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmludGVydmFsID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5wbGF5SWNvbiA9ICdwbGF5LWNpcmNsZSc7XHJcbiAgfVxyXG5cclxuICByZXNldEZpbHRlcihldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5pbnRlcnZhbCkge1xyXG4gICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnRlcnZhbCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMucGxheUljb24gPSAncGxheS1jaXJjbGUnO1xyXG4gICAgdGhpcy5zbGlkZXIuc3RlcCA9IDE7XHJcbiAgICBjb25zdCBfaW5jcmVtZW50ID0gJ19pbmNyZW1lbnQnO1xyXG4gICAgY29uc3QgX2VtaXRJbnB1dEV2ZW50ID0gJ19lbWl0SW5wdXRFdmVudCc7XHJcbiAgICB0aGlzLnNsaWRlcltfZW1pdElucHV0RXZlbnRdKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTbGlkZXJJbnB1dChtYXRTbGlkZXJDaGFuZ2UpIHtcclxuICAgIGlmIChtYXRTbGlkZXJDaGFuZ2UpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcElzWWVhckR1cmF0aW9uKFxyXG4gICAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwKHRoaXMuZGF0YXNvdXJjZSwgdGhpcy5jdXJyZW50RmlsdGVyKVxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgdG9BZGQgPSBtb21lbnRcclxuICAgICAgICAgIC5kdXJhdGlvbihcclxuICAgICAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwKHRoaXMuZGF0YXNvdXJjZSwgdGhpcy5jdXJyZW50RmlsdGVyKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnllYXJzKCk7XHJcbiAgICAgICAgY29uc3QgZGF0ZUJlZ2luVG1wID0gbW9tZW50KHRoaXMuYmVnaW5NaWxsaXNlY29uZClcclxuICAgICAgICAgIC5hZGQoKG1hdFNsaWRlckNoYW5nZS52YWx1ZSAtIDEpICogdG9BZGQsICd5ZWFyJylcclxuICAgICAgICAgIC50b0RhdGUoKTtcclxuICAgICAgICBjb25zdCBkYXRlRW5kVG1wID0gbW9tZW50KGRhdGVCZWdpblRtcCkuYWRkKHRvQWRkLCAneWVhcicpLnRvRGF0ZSgpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlUHJvcGVydHkubmV4dCh7XHJcbiAgICAgICAgICB2YWx1ZTogbW9tZW50KGRhdGVCZWdpblRtcCkudG9EYXRlKCkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgIHBvczogMSxcclxuICAgICAgICAgIHJlZnJlc2hGaWx0ZXI6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eS5uZXh0KHtcclxuICAgICAgICAgIHZhbHVlOiBtb21lbnQoZGF0ZUVuZFRtcCkudG9EYXRlKCkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgIHBvczogMixcclxuICAgICAgICAgIHJlZnJlc2hGaWx0ZXI6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXBJc01vbnRoRHVyYXRpb24oXHJcbiAgICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXAodGhpcy5kYXRhc291cmNlLCB0aGlzLmN1cnJlbnRGaWx0ZXIpXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCB0b0FkZCA9IG1vbWVudFxyXG4gICAgICAgICAgLmR1cmF0aW9uKFxyXG4gICAgICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXAodGhpcy5kYXRhc291cmNlLCB0aGlzLmN1cnJlbnRGaWx0ZXIpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAubW9udGhzKCk7XHJcbiAgICAgICAgY29uc3QgZGF0ZUJlZ2luVG1wID0gbW9tZW50KHRoaXMuYmVnaW5NaWxsaXNlY29uZClcclxuICAgICAgICAgIC5hZGQoKG1hdFNsaWRlckNoYW5nZS52YWx1ZSAtIDEpICogdG9BZGQsICdtb250aCcpXHJcbiAgICAgICAgICAudG9EYXRlKCk7XHJcbiAgICAgICAgY29uc3QgZGF0ZUVuZFRtcCA9IG1vbWVudChkYXRlQmVnaW5UbXApLmFkZCh0b0FkZCwgJ21vbnRoJykudG9EYXRlKCk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eS5uZXh0KHtcclxuICAgICAgICAgIHZhbHVlOiBtb21lbnQoZGF0ZUJlZ2luVG1wKS5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpLnRvSVNPU3RyaW5nKCksXHJcbiAgICAgICAgICBwb3M6IDEsXHJcbiAgICAgICAgICByZWZyZXNoRmlsdGVyOiBmYWxzZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlUHJvcGVydHkubmV4dCh7XHJcbiAgICAgICAgICB2YWx1ZTogbW9tZW50KGRhdGVFbmRUbXApLnRvRGF0ZSgpLnRvSVNPU3RyaW5nKCksXHJcbiAgICAgICAgICBwb3M6IDIsXHJcbiAgICAgICAgICByZWZyZXNoRmlsdGVyOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwSXNEYXlEdXJhdGlvbihcclxuICAgICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcCh0aGlzLmRhdGFzb3VyY2UsIHRoaXMuY3VycmVudEZpbHRlcilcclxuICAgICAgICApIHx8XHJcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwSXNIb3VyRHVyYXRpb24oXHJcbiAgICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXAodGhpcy5kYXRhc291cmNlLCB0aGlzLmN1cnJlbnRGaWx0ZXIpXHJcbiAgICAgICAgKSB8fFxyXG4gICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcElzTWludXRlRHVyYXRpb24oXHJcbiAgICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXAodGhpcy5kYXRhc291cmNlLCB0aGlzLmN1cnJlbnRGaWx0ZXIpXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCBkYXRlVG1wID0gbmV3IERhdGUoXHJcbiAgICAgICAgICB0aGlzLmJlZ2luTWlsbGlzZWNvbmQgK1xyXG4gICAgICAgICAgICB0aGlzLnN0ZXBNaWxsaXNlY29uZCAqIChtYXRTbGlkZXJDaGFuZ2UudmFsdWUgLSAxKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eS5uZXh0KHtcclxuICAgICAgICAgIHZhbHVlOiBkYXRlVG1wLnRvSVNPU3RyaW5nKCksXHJcbiAgICAgICAgICBwb3M6IDEsXHJcbiAgICAgICAgICByZWZyZXNoRmlsdGVyOiBmYWxzZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlUHJvcGVydHkubmV4dCh7XHJcbiAgICAgICAgICB2YWx1ZTogbmV3IERhdGUoXHJcbiAgICAgICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2UuYWRkU3RlcChcclxuICAgICAgICAgICAgICBkYXRlVG1wLnRvSVNPU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgdGhpcy5zdGVwTWlsbGlzZWNvbmRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgcG9zOiAyLFxyXG4gICAgICAgICAgcmVmcmVzaEZpbHRlcjogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVTdGVwKCkge1xyXG4gICAgZm9yIChcclxuICAgICAgbGV0IGkgPSAxO1xyXG4gICAgICB0aGlzLm1heE1pbGxpc2Vjb25kIC1cclxuICAgICAgICAodGhpcy5iZWdpbk1pbGxpc2Vjb25kICsgaSAqIHRoaXMuc3RlcE1pbGxpc2Vjb25kKSA+PVxyXG4gICAgICAtMTtcclxuICAgICAgaSsrXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jYWxjdWxhdGVkU3RlcCA9IGk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbGlkZXItY29udGFpbmVyXCI+XHJcbiAgPG1hdC1zbGlkZXJcclxuICAgIGlkPVwidGltZS1zbGlkZXJcIlxyXG4gICAgW3N0ZXBdPVwiMVwiXHJcbiAgICBbbWluXT1cIjFcIlxyXG4gICAgW21heF09XCJjYWxjdWxhdGVkU3RlcFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInNsaWRlclZhbHVlXCJcclxuICAgIFtkaXNwbGF5V2l0aF09XCJzbGlkZXJEaXNwbGF5V2l0aFwiXHJcbiAgICB0aHVtYkxhYmVsXHJcbiAgICAjbmdTbGlkZXJcclxuICAgID48aW5wdXRcclxuICAgICAgbWF0U2xpZGVyVGh1bWJcclxuICAgICAgKGlucHV0KT1cIlxyXG4gICAgICAgIGhhbmRsZVNsaWRlcklucHV0KHtcclxuICAgICAgICAgIHNvdXJjZTogbmdTbGlkZXJUaHVtYixcclxuICAgICAgICAgIHBhcmVudDogbmdTbGlkZXIsXHJcbiAgICAgICAgICB2YWx1ZTogbmdTbGlkZXJUaHVtYi52YWx1ZVxyXG4gICAgICAgIH0pXHJcbiAgICAgIFwiXHJcbiAgICAgICNuZ1NsaWRlclRodW1iPVwibWF0U2xpZGVyVGh1bWJcIlxyXG4gICAgLz5cclxuICA8L21hdC1zbGlkZXI+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInBsYXlGaWx0ZXIoJGV2ZW50KVwiPlxyXG4gICAgPG1hdC1pY29uIFtzdmdJY29uXT1cInBsYXlJY29uXCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXIoJGV2ZW50KVwiPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJ7eyByZXNldEljb24gfX1cIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci10aW1lLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9maWx0ZXIvb2djLWZpbHRlci10aW1lL29nYy1maWx0ZXItdGltZS1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmlsdGVyL29nYy1maWx0ZXItdGltZS9vZ2MtZmlsdGVyLXRpbWUtc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7QUFVekUsTUFBTSxPQUFPLDRCQUE0QjtJQW1EcEI7SUFsRFYsYUFBYSxDQUFNO0lBQ25CLEtBQUssQ0FBTTtJQUNYLEdBQUcsQ0FBTTtJQUNULFVBQVUsQ0FBTTtJQUNmLGNBQWMsR0FJbkIsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNQLE1BQU0sQ0FBWTtJQUV4QyxRQUFRLENBQUM7SUFDVCxXQUFXLEdBQVcsQ0FBQyxDQUFDO0lBQ3hCLGNBQWMsR0FBVyxDQUFDLENBQUM7SUFDbEIscUJBQXFCLEdB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RzFCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxhQUM1RCxDQUFDLG9CQUFvQixDQUFDO3lGQUd4QixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUtlLE1BQU07c0JBQTNCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNsaWRlciwgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcblxuaW1wb3J0IHsgZGVmYXVsdCBhcyBtb21lbnQgfSBmcm9tICdtb21lbnQnO1xuXG5pbXBvcnQgeyBPR0NGaWx0ZXJUaW1lU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9vZ2MtZmlsdGVyLXRpbWUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1vZ2MtZmlsdGVyLXRpbWUtc2xpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29nYy1maWx0ZXItdGltZS1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZ2MtZmlsdGVyLXRpbWUtc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRTbGlkZXJNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtPR0NGaWx0ZXJUaW1lU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgT2djRmlsdGVyVGltZVNsaWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGN1cnJlbnRGaWx0ZXI6IGFueTtcbiAgQElucHV0KCkgYmVnaW46IGFueTtcbiAgQElucHV0KCkgbWF4OiBhbnk7XG4gIEBJbnB1dCgpIGRhdGFzb3VyY2U6IGFueTtcbiAgQE91dHB1dCgpIGNoYW5nZVByb3BlcnR5OiBFdmVudEVtaXR0ZXI8e1xuICAgIHZhbHVlOiBhbnk7XG4gICAgcG9zOiBudW1iZXI7XG4gICAgcmVmcmVzaEZpbHRlcjogYm9vbGVhbjtcbiAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQFZpZXdDaGlsZChNYXRTbGlkZXIpIHNsaWRlcjogTWF0U2xpZGVyO1xuXG4gIGludGVydmFsO1xuICBzbGlkZXJWYWx1ZTogbnVtYmVyID0gMTtcbiAgY2FsY3VsYXRlZFN0ZXA6IG51bWJlciA9IDA7XG4gIHJlYWRvbmx5IF9kZWZhdWx0RGlzcGxheUZvcm1hdDogc3RyaW5nID0gJ0REL01NL1lZWVkgSEg6bW0gQSc7XG4gIHJlYWRvbmx5IF9kZWZhdWx0U2xpZGVySW50ZXJ2YWw6IG51bWJlciA9IDIwMDA7XG4gIHB1YmxpYyBwbGF5SWNvbiA9ICdwbGF5X2NpcmNsZSc7XG4gIHB1YmxpYyByZXNldEljb24gPSAncmVwbGF5JztcblxuICBnZXQgc2xpZGVySW50ZXJ2YWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsdGVyLnNsaWRlckludGVydmFsID09PSB1bmRlZmluZWRcbiAgICAgID8gdGhpcy5fZGVmYXVsdFNsaWRlckludGVydmFsXG4gICAgICA6IHRoaXMuY3VycmVudEZpbHRlci5zbGlkZXJJbnRlcnZhbDtcbiAgfVxuXG4gIGdldCBkaXNwbGF5Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY3VycmVudEZpbHRlci5zbGlkZXJPcHRpb25zPy5kaXNwbGF5Rm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsdGVyLnNsaWRlck9wdGlvbnMuZGlzcGxheUZvcm1hdDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VycmVudEZpbHRlci5kaXNwbGF5Rm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsdGVyLmRpc3BsYXlGb3JtYXQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0RGlzcGxheUZvcm1hdDtcbiAgfVxuXG4gIGdldCBiZWdpbk1pbGxpc2Vjb25kKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2UuZGF0ZVRvTnVtYmVyKHRoaXMuYmVnaW4pO1xuICB9XG5cbiAgZ2V0IG1heE1pbGxpc2Vjb25kKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2UuZGF0ZVRvTnVtYmVyKHRoaXMubWF4KTtcbiAgfVxuXG4gIGdldCBzdGVwTWlsbGlzZWNvbmQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwTWlsbGlzZWNvbmQoXG4gICAgICB0aGlzLmRhdGFzb3VyY2UsXG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXJcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIG9nY0ZpbHRlclRpbWVTZXJ2aWNlOiBPR0NGaWx0ZXJUaW1lU2VydmljZSkge1xuICAgIHRoaXMuc2xpZGVyRGlzcGxheVdpdGggPSB0aGlzLnNsaWRlckRpc3BsYXlXaXRoLmJpbmQodGhpcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhbGN1bGF0ZVN0ZXAoKTtcbiAgICB0aGlzLmhhbmRsZVNsaWRlcklucHV0KHsgdmFsdWU6IDEgfSk7XG4gIH1cblxuICBzbGlkZXJEaXNwbGF5V2l0aCh2YWx1ZSkge1xuICAgIGxldCBkYXRlVG1wID0gbmV3IERhdGUoXG4gICAgICB0aGlzLmJlZ2luTWlsbGlzZWNvbmQgKyAodmFsdWUgLSAxKSAqIHRoaXMuc3RlcE1pbGxpc2Vjb25kXG4gICAgKTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcElzWWVhckR1cmF0aW9uKFxuICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXAodGhpcy5kYXRhc291cmNlLCB0aGlzLmN1cnJlbnRGaWx0ZXIpXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zdCB0b0FkZCA9IG1vbWVudFxuICAgICAgICAuZHVyYXRpb24oXG4gICAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwKHRoaXMuZGF0YXNvdXJjZSwgdGhpcy5jdXJyZW50RmlsdGVyKVxuICAgICAgICApXG4gICAgICAgIC55ZWFycygpO1xuICAgICAgZGF0ZVRtcCA9IG1vbWVudCh0aGlzLmJlZ2luTWlsbGlzZWNvbmQpXG4gICAgICAgIC5hZGQoKHZhbHVlIC0gMSkgKiB0b0FkZCwgJ3llYXInKVxuICAgICAgICAudG9EYXRlKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcElzTW9udGhEdXJhdGlvbihcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwKHRoaXMuZGF0YXNvdXJjZSwgdGhpcy5jdXJyZW50RmlsdGVyKVxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc3QgdG9BZGQgPSBtb21lbnRcbiAgICAgICAgLmR1cmF0aW9uKFxuICAgICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcCh0aGlzLmRhdGFzb3VyY2UsIHRoaXMuY3VycmVudEZpbHRlcilcbiAgICAgICAgKVxuICAgICAgICAubW9udGhzKCk7XG4gICAgICBkYXRlVG1wID0gbW9tZW50KHRoaXMuYmVnaW5NaWxsaXNlY29uZClcbiAgICAgICAgLmFkZCgodmFsdWUgLSAxKSAqIHRvQWRkLCAnbW9udGgnKVxuICAgICAgICAudG9EYXRlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vbWVudChkYXRlVG1wKS5mb3JtYXQodGhpcy5kaXNwbGF5Rm9ybWF0KTtcbiAgfVxuXG4gIHBsYXlGaWx0ZXIoZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLmludGVydmFsKSB7XG4gICAgICB0aGlzLnN0b3BGaWx0ZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wbGF5SWNvbiA9ICdwYXVzZV9jaXJjbGUnO1xuICAgICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKFxuICAgICAgICAodGhhdCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnNsaWRlci5zdGVwIDwgdGhpcy5jYWxjdWxhdGVkU3RlcCkge1xuICAgICAgICAgICAgY29uc3QgX2luY3JlbWVudCA9ICdfaW5jcmVtZW50JztcbiAgICAgICAgICAgIGNvbnN0IF9lbWl0SW5wdXRFdmVudCA9ICdfZW1pdElucHV0RXZlbnQnO1xuICAgICAgICAgICAgdGhpcy5zbGlkZXJbX2luY3JlbWVudF0oMSk7XG4gICAgICAgICAgICB0aGlzLnNsaWRlcltfZW1pdElucHV0RXZlbnRdKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcEZpbHRlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGhpcy5zbGlkZXJJbnRlcnZhbCxcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzdG9wRmlsdGVyKCkge1xuICAgIGlmICh0aGlzLmludGVydmFsKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuICAgIH1cbiAgICB0aGlzLmludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucGxheUljb24gPSAncGxheV9jaXJjbGUnO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXIoZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLmludGVydmFsKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuICAgIH1cbiAgICB0aGlzLmludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucGxheUljb24gPSAncGxheV9jaXJjbGUnO1xuICAgIHRoaXMuc2xpZGVyLnN0ZXAgPSAxO1xuICAgIGNvbnN0IF9pbmNyZW1lbnQgPSAnX2luY3JlbWVudCc7XG4gICAgY29uc3QgX2VtaXRJbnB1dEV2ZW50ID0gJ19lbWl0SW5wdXRFdmVudCc7XG4gICAgdGhpcy5zbGlkZXJbX2VtaXRJbnB1dEV2ZW50XSgpO1xuICB9XG5cbiAgaGFuZGxlU2xpZGVySW5wdXQobWF0U2xpZGVyQ2hhbmdlKSB7XG4gICAgaWYgKG1hdFNsaWRlckNoYW5nZSkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXBJc1llYXJEdXJhdGlvbihcbiAgICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXAodGhpcy5kYXRhc291cmNlLCB0aGlzLmN1cnJlbnRGaWx0ZXIpXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICBjb25zdCB0b0FkZCA9IG1vbWVudFxuICAgICAgICAgIC5kdXJhdGlvbihcbiAgICAgICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcCh0aGlzLmRhdGFzb3VyY2UsIHRoaXMuY3VycmVudEZpbHRlcilcbiAgICAgICAgICApXG4gICAgICAgICAgLnllYXJzKCk7XG4gICAgICAgIGNvbnN0IGRhdGVCZWdpblRtcCA9IG1vbWVudCh0aGlzLmJlZ2luTWlsbGlzZWNvbmQpXG4gICAgICAgICAgLmFkZCgobWF0U2xpZGVyQ2hhbmdlLnZhbHVlIC0gMSkgKiB0b0FkZCwgJ3llYXInKVxuICAgICAgICAgIC50b0RhdGUoKTtcbiAgICAgICAgY29uc3QgZGF0ZUVuZFRtcCA9IG1vbWVudChkYXRlQmVnaW5UbXApLmFkZCh0b0FkZCwgJ3llYXInKS50b0RhdGUoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eS5uZXh0KHtcbiAgICAgICAgICB2YWx1ZTogbW9tZW50KGRhdGVCZWdpblRtcCkudG9EYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBwb3M6IDEsXG4gICAgICAgICAgcmVmcmVzaEZpbHRlcjogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2hhbmdlUHJvcGVydHkubmV4dCh7XG4gICAgICAgICAgdmFsdWU6IG1vbWVudChkYXRlRW5kVG1wKS50b0RhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHBvczogMixcbiAgICAgICAgICByZWZyZXNoRmlsdGVyOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwSXNNb250aER1cmF0aW9uKFxuICAgICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcCh0aGlzLmRhdGFzb3VyY2UsIHRoaXMuY3VycmVudEZpbHRlcilcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHRvQWRkID0gbW9tZW50XG4gICAgICAgICAgLmR1cmF0aW9uKFxuICAgICAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwKHRoaXMuZGF0YXNvdXJjZSwgdGhpcy5jdXJyZW50RmlsdGVyKVxuICAgICAgICAgIClcbiAgICAgICAgICAubW9udGhzKCk7XG4gICAgICAgIGNvbnN0IGRhdGVCZWdpblRtcCA9IG1vbWVudCh0aGlzLmJlZ2luTWlsbGlzZWNvbmQpXG4gICAgICAgICAgLmFkZCgobWF0U2xpZGVyQ2hhbmdlLnZhbHVlIC0gMSkgKiB0b0FkZCwgJ21vbnRoJylcbiAgICAgICAgICAudG9EYXRlKCk7XG4gICAgICAgIGNvbnN0IGRhdGVFbmRUbXAgPSBtb21lbnQoZGF0ZUJlZ2luVG1wKS5hZGQodG9BZGQsICdtb250aCcpLnRvRGF0ZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZVByb3BlcnR5Lm5leHQoe1xuICAgICAgICAgIHZhbHVlOiBtb21lbnQoZGF0ZUJlZ2luVG1wKS5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgcG9zOiAxLFxuICAgICAgICAgIHJlZnJlc2hGaWx0ZXI6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5nZVByb3BlcnR5Lm5leHQoe1xuICAgICAgICAgIHZhbHVlOiBtb21lbnQoZGF0ZUVuZFRtcCkudG9EYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBwb3M6IDIsXG4gICAgICAgICAgcmVmcmVzaEZpbHRlcjogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcElzRGF5RHVyYXRpb24oXG4gICAgICAgICAgdGhpcy5vZ2NGaWx0ZXJUaW1lU2VydmljZS5zdGVwKHRoaXMuZGF0YXNvdXJjZSwgdGhpcy5jdXJyZW50RmlsdGVyKVxuICAgICAgICApIHx8XG4gICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcElzSG91ckR1cmF0aW9uKFxuICAgICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcCh0aGlzLmRhdGFzb3VyY2UsIHRoaXMuY3VycmVudEZpbHRlcilcbiAgICAgICAgKSB8fFxuICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLnN0ZXBJc01pbnV0ZUR1cmF0aW9uKFxuICAgICAgICAgIHRoaXMub2djRmlsdGVyVGltZVNlcnZpY2Uuc3RlcCh0aGlzLmRhdGFzb3VyY2UsIHRoaXMuY3VycmVudEZpbHRlcilcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGRhdGVUbXAgPSBuZXcgRGF0ZShcbiAgICAgICAgICB0aGlzLmJlZ2luTWlsbGlzZWNvbmQgK1xuICAgICAgICAgICAgdGhpcy5zdGVwTWlsbGlzZWNvbmQgKiAobWF0U2xpZGVyQ2hhbmdlLnZhbHVlIC0gMSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eS5uZXh0KHtcbiAgICAgICAgICB2YWx1ZTogZGF0ZVRtcC50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHBvczogMSxcbiAgICAgICAgICByZWZyZXNoRmlsdGVyOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eS5uZXh0KHtcbiAgICAgICAgICB2YWx1ZTogbmV3IERhdGUoXG4gICAgICAgICAgICB0aGlzLm9nY0ZpbHRlclRpbWVTZXJ2aWNlLmFkZFN0ZXAoXG4gICAgICAgICAgICAgIGRhdGVUbXAudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgICAgdGhpcy5zdGVwTWlsbGlzZWNvbmRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgcG9zOiAyLFxuICAgICAgICAgIHJlZnJlc2hGaWx0ZXI6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2FsY3VsYXRlU3RlcCgpIHtcbiAgICBmb3IgKFxuICAgICAgbGV0IGkgPSAxO1xuICAgICAgdGhpcy5tYXhNaWxsaXNlY29uZCAtXG4gICAgICAgICh0aGlzLmJlZ2luTWlsbGlzZWNvbmQgKyBpICogdGhpcy5zdGVwTWlsbGlzZWNvbmQpID49XG4gICAgICAtMTtcbiAgICAgIGkrK1xuICAgICkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVkU3RlcCA9IGk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2xpZGVyLWNvbnRhaW5lclwiPlxuICA8bWF0LXNsaWRlclxuICAgIGlkPVwidGltZS1zbGlkZXJcIlxuICAgIFtzdGVwXT1cIjFcIlxuICAgIFttaW5dPVwiMVwiXG4gICAgW21heF09XCJjYWxjdWxhdGVkU3RlcFwiXG4gICAgWyhuZ01vZGVsKV09XCJzbGlkZXJWYWx1ZVwiXG4gICAgW2Rpc3BsYXlXaXRoXT1cInNsaWRlckRpc3BsYXlXaXRoXCJcbiAgICB0aHVtYkxhYmVsXG4gICAgI25nU2xpZGVyXG4gICAgPjxpbnB1dFxuICAgICAgbWF0U2xpZGVyVGh1bWJcbiAgICAgIChpbnB1dCk9XCJcbiAgICAgICAgaGFuZGxlU2xpZGVySW5wdXQoe1xuICAgICAgICAgIHNvdXJjZTogbmdTbGlkZXJUaHVtYixcbiAgICAgICAgICBwYXJlbnQ6IG5nU2xpZGVyLFxuICAgICAgICAgIHZhbHVlOiBuZ1NsaWRlclRodW1iLnZhbHVlXG4gICAgICAgIH0pXG4gICAgICBcIlxuICAgICAgI25nU2xpZGVyVGh1bWI9XCJtYXRTbGlkZXJUaHVtYlwiXG4gICAgLz5cbiAgPC9tYXQtc2xpZGVyPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwicGxheUZpbHRlcigkZXZlbnQpXCI+XG4gICAgPG1hdC1pY29uPnt7IHBsYXlJY29uIH19PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJyZXNldEZpbHRlcigkZXZlbnQpXCI+XG4gICAgPG1hdC1pY29uPnt7IHJlc2V0SWNvbiB9fTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|