@igo2/geo 1.15.4 → 16.0.0-rc.0
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/igo2-geo.mjs +5 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +320 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +319 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +278 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +78 -0
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +223 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +89 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +230 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +91 -0
- package/esm2022/lib/catalog/catalog.module.mjs +48 -0
- package/esm2022/lib/catalog/index.mjs +5 -0
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +32 -0
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +16 -0
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +2 -0
- package/esm2022/lib/catalog/shared/catalog.service.mjs +666 -0
- package/esm2022/lib/catalog/shared/catalogs.mjs +75 -0
- package/esm2022/lib/catalog/shared/index.mjs +5 -0
- package/esm2022/lib/datasource/datasource.module.mjs +22 -0
- package/esm2022/lib/datasource/index.mjs +3 -0
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +448 -0
- package/esm2022/lib/datasource/shared/datasource.service.mjs +259 -0
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +212 -0
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +109 -0
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +15 -0
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +3 -0
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +34 -0
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +43 -0
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +61 -0
- package/esm2022/lib/datasource/shared/datasources/index.mjs +36 -0
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +28 -0
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +12 -0
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +51 -0
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +15 -0
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +55 -0
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +79 -0
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +169 -0
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +218 -0
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +222 -0
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +16 -0
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +9 -0
- package/esm2022/lib/datasource/shared/index.mjs +5 -0
- package/esm2022/lib/datasource/shared/options/index.mjs +5 -0
- package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +15 -0
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +85 -0
- package/esm2022/lib/datasource/shared/options/options.service.mjs +3 -0
- package/esm2022/lib/datasource/utils/index.mjs +2 -0
- package/esm2022/lib/datasource/utils/tilegrid.mjs +20 -0
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +265 -0
- package/esm2022/lib/directions/directions-buttons/index.mjs +2 -0
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +294 -0
- package/esm2022/lib/directions/directions-inputs/index.mjs +2 -0
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +215 -0
- package/esm2022/lib/directions/directions-results/index.mjs +2 -0
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +2 -0
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +3 -0
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +16 -0
- package/esm2022/lib/directions/directions-sources/index.mjs +5 -0
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +128 -0
- package/esm2022/lib/directions/directions.component.mjs +349 -0
- package/esm2022/lib/directions/directions.module.mjs +102 -0
- package/esm2022/lib/directions/index.mjs +7 -0
- package/esm2022/lib/directions/shared/directions-source.service.mjs +18 -0
- package/esm2022/lib/directions/shared/directions.enum.mjs +28 -0
- package/esm2022/lib/directions/shared/directions.interface.mjs +2 -0
- package/esm2022/lib/directions/shared/directions.service.mjs +202 -0
- package/esm2022/lib/directions/shared/directions.utils.mjs +559 -0
- package/esm2022/lib/directions/shared/index.mjs +6 -0
- package/esm2022/lib/directions/shared/store.mjs +21 -0
- package/esm2022/lib/download/download-button/download-button.component.mjs +65 -0
- package/esm2022/lib/download/download-button/index.mjs +2 -0
- package/esm2022/lib/download/download.module.mjs +42 -0
- package/esm2022/lib/download/index.mjs +3 -0
- package/esm2022/lib/download/shared/download.interface.mjs +2 -0
- package/esm2022/lib/download/shared/download.service.mjs +67 -0
- package/esm2022/lib/download/shared/index.mjs +3 -0
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +57 -0
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +677 -0
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +48 -0
- package/esm2022/lib/draw/draw/draw.component.mjs +1369 -0
- package/esm2022/lib/draw/draw/draw.module.mjs +117 -0
- package/esm2022/lib/draw/drawingTool.module.mjs +18 -0
- package/esm2022/lib/draw/index.mjs +3 -0
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +30 -0
- package/esm2022/lib/draw/shared/draw.enum.mjs +21 -0
- package/esm2022/lib/draw/shared/draw.interface.mjs +2 -0
- package/esm2022/lib/draw/shared/draw.utils.mjs +125 -0
- package/esm2022/lib/draw/shared/index.mjs +5 -0
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +440 -0
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +57 -0
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +40 -0
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +120 -0
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +23 -0
- package/esm2022/lib/feature/feature.module.mjs +21 -0
- package/esm2022/lib/feature/index.mjs +4 -0
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +27 -0
- package/esm2022/lib/feature/shared/feature.enums.mjs +9 -0
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +2 -0
- package/esm2022/lib/feature/shared/feature.utils.mjs +333 -0
- package/esm2022/lib/feature/shared/index.mjs +8 -0
- package/esm2022/lib/feature/shared/store.mjs +143 -0
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +216 -0
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +115 -0
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +96 -0
- package/esm2022/lib/feature/shared/strategies/index.mjs +8 -0
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +104 -0
- package/esm2022/lib/feature/shared/strategies/loading.mjs +136 -0
- package/esm2022/lib/feature/shared/strategies/search.mjs +159 -0
- package/esm2022/lib/feature/shared/strategies/selection.mjs +384 -0
- package/esm2022/lib/feature/shared/strategies.utils.mjs +37 -0
- package/esm2022/lib/filter/filter.module.mjs +300 -0
- package/esm2022/lib/filter/index.mjs +16 -0
- package/esm2022/lib/filter/ogc-filter-button/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +153 -0
- package/esm2022/lib/filter/ogc-filter-form/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +663 -0
- package/esm2022/lib/filter/ogc-filter-selection/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1344 -0
- package/esm2022/lib/filter/ogc-filter-time/index.mjs +3 -0
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +226 -0
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +936 -0
- package/esm2022/lib/filter/ogc-filterable-form/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +63 -0
- package/esm2022/lib/filter/ogc-filterable-item/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +320 -0
- package/esm2022/lib/filter/ogc-filterable-list/index.mjs +3 -0
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +36 -0
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +47 -0
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +55 -0
- package/esm2022/lib/filter/shared/index.mjs +12 -0
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +73 -0
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +30 -0
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/ogc-filter.mjs +699 -0
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +48 -0
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +23 -0
- package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +280 -0
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +13 -0
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/time-filter.service.mjs +108 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1150 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +244 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +157 -0
- package/esm2022/lib/filter/time-filter-button/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +82 -0
- package/esm2022/lib/filter/time-filter-form/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +755 -0
- package/esm2022/lib/filter/time-filter-item/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +124 -0
- package/esm2022/lib/filter/time-filter-list/index.mjs +3 -0
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +36 -0
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +40 -0
- package/esm2022/lib/geo.module.mjs +106 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +563 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +218 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +56 -0
- package/esm2022/lib/geometry/geometry.module.mjs +20 -0
- package/esm2022/lib/geometry/index.mjs +4 -0
- package/esm2022/lib/geometry/shared/controls/draw.mjs +340 -0
- package/esm2022/lib/geometry/shared/controls/index.mjs +4 -0
- package/esm2022/lib/geometry/shared/controls/modify.mjs +541 -0
- package/esm2022/lib/geometry/shared/controls/slice.mjs +190 -0
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +26 -0
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +2 -0
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +122 -0
- package/esm2022/lib/geometry/shared/index.mjs +5 -0
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +66 -0
- package/esm2022/lib/import-export/export-button/index.mjs +2 -0
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +1350 -0
- package/esm2022/lib/import-export/import-export/index.mjs +2 -0
- package/esm2022/lib/import-export/import-export.module.mjs +98 -0
- package/esm2022/lib/import-export/index.mjs +4 -0
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +174 -0
- package/esm2022/lib/import-export/shared/export.errors.mjs +15 -0
- package/esm2022/lib/import-export/shared/export.interface.mjs +2 -0
- package/esm2022/lib/import-export/shared/export.service.mjs +205 -0
- package/esm2022/lib/import-export/shared/export.type.mjs +13 -0
- package/esm2022/lib/import-export/shared/export.utils.mjs +47 -0
- package/esm2022/lib/import-export/shared/import.errors.mjs +39 -0
- package/esm2022/lib/import-export/shared/import.interface.mjs +2 -0
- package/esm2022/lib/import-export/shared/import.service.mjs +221 -0
- package/esm2022/lib/import-export/shared/import.utils.mjs +203 -0
- package/esm2022/lib/import-export/shared/index.mjs +11 -0
- package/esm2022/lib/layer/index.mjs +10 -0
- package/esm2022/lib/layer/layer-item/index.mjs +2 -0
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +324 -0
- package/esm2022/lib/layer/layer-legend/index.mjs +2 -0
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +429 -0
- package/esm2022/lib/layer/layer-legend-item/index.mjs +2 -0
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +93 -0
- package/esm2022/lib/layer/layer-legend-list/index.mjs +3 -0
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +54 -0
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +201 -0
- package/esm2022/lib/layer/layer-list/index.mjs +4 -0
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +69 -0
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +1022 -0
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +19 -0
- package/esm2022/lib/layer/layer-list-tool/index.mjs +5 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +157 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +7 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +2 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +22 -0
- package/esm2022/lib/layer/layer.module.mjs +175 -0
- package/esm2022/lib/layer/shared/clusterParam.mjs +2 -0
- package/esm2022/lib/layer/shared/index.mjs +5 -0
- package/esm2022/lib/layer/shared/layer.enums.mjs +2 -0
- package/esm2022/lib/layer/shared/layer.service.mjs +268 -0
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +70 -0
- package/esm2022/lib/layer/shared/layers/index.mjs +13 -0
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +17 -0
- package/esm2022/lib/layer/shared/layers/layer.mjs +184 -0
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +50 -0
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +562 -0
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +107 -0
- package/esm2022/lib/layer/track-feature-button/index.mjs +2 -0
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +60 -0
- package/esm2022/lib/layer/utils/image-watcher.mjs +62 -0
- package/esm2022/lib/layer/utils/index.mjs +6 -0
- package/esm2022/lib/layer/utils/layer.utils.mjs +11 -0
- package/esm2022/lib/layer/utils/outputLegend.mjs +28 -0
- package/esm2022/lib/layer/utils/tile-watcher.mjs +52 -0
- package/esm2022/lib/layer/utils/vector-watcher.mjs +50 -0
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +16 -0
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +120 -0
- package/esm2022/lib/map/baselayers-switcher/index.mjs +3 -0
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +155 -0
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +87 -0
- package/esm2022/lib/map/geolocate-button/index.mjs +2 -0
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +80 -0
- package/esm2022/lib/map/home-extent-button/index.mjs +2 -0
- package/esm2022/lib/map/index.mjs +14 -0
- package/esm2022/lib/map/info-section/index.mjs +2 -0
- package/esm2022/lib/map/info-section/info-section.component.mjs +29 -0
- package/esm2022/lib/map/map-browser/index.mjs +2 -0
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +74 -0
- package/esm2022/lib/map/map-center/index.mjs +2 -0
- package/esm2022/lib/map/map-center/map-center.component.mjs +61 -0
- package/esm2022/lib/map/map.module.mjs +120 -0
- package/esm2022/lib/map/menu-button/index.mjs +2 -0
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +66 -0
- package/esm2022/lib/map/offline-button/index.mjs +2 -0
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +55 -0
- package/esm2022/lib/map/rotation-button/index.mjs +2 -0
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +73 -0
- package/esm2022/lib/map/shared/controllers/controller.mjs +44 -0
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +8 -0
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +431 -0
- package/esm2022/lib/map/shared/controllers/index.mjs +5 -0
- package/esm2022/lib/map/shared/controllers/view.mjs +360 -0
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +493 -0
- package/esm2022/lib/map/shared/index.mjs +15 -0
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +248 -0
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +121 -0
- package/esm2022/lib/map/shared/map.abstract.mjs +23 -0
- package/esm2022/lib/map/shared/map.enums.mjs +6 -0
- package/esm2022/lib/map/shared/map.interface.mjs +2 -0
- package/esm2022/lib/map/shared/map.mjs +434 -0
- package/esm2022/lib/map/shared/map.service.mjs +30 -0
- package/esm2022/lib/map/shared/map.utils.mjs +456 -0
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +107 -0
- package/esm2022/lib/map/shared/projection.interfaces.mjs +2 -0
- package/esm2022/lib/map/shared/projection.service.mjs +67 -0
- package/esm2022/lib/map/shared/projection.utils.mjs +64 -0
- package/esm2022/lib/map/swipe-control/index.mjs +2 -0
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +219 -0
- package/esm2022/lib/map/utils/layer-watcher.mjs +78 -0
- package/esm2022/lib/map/wake-lock-button/index.mjs +2 -0
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +106 -0
- package/esm2022/lib/map/zoom-button/index.mjs +2 -0
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +49 -0
- package/esm2022/lib/measure/index.mjs +4 -0
- package/esm2022/lib/measure/measure.module.mjs +18 -0
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +39 -0
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +184 -0
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +162 -0
- package/esm2022/lib/measure/measurer/measurer.component.mjs +1121 -0
- package/esm2022/lib/measure/measurer/measurer.module.mjs +95 -0
- package/esm2022/lib/measure/shared/index.mjs +4 -0
- package/esm2022/lib/measure/shared/measure.enum.mjs +37 -0
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +2 -0
- package/esm2022/lib/measure/shared/measure.utils.mjs +497 -0
- package/esm2022/lib/metadata/index.mjs +3 -0
- package/esm2022/lib/metadata/metadata-button/index.mjs +2 -0
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +140 -0
- package/esm2022/lib/metadata/metadata.module.mjs +47 -0
- package/esm2022/lib/metadata/shared/index.mjs +3 -0
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +2 -0
- package/esm2022/lib/metadata/shared/metadata.service.mjs +19 -0
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +128 -0
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +6 -0
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +2 -0
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +175 -0
- package/esm2022/lib/offline/geoDB/index.mjs +5 -0
- package/esm2022/lib/offline/index.mjs +4 -0
- package/esm2022/lib/offline/layerDB/index.mjs +3 -0
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +2 -0
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +84 -0
- package/esm2022/lib/offline/shared/geo-network.service.mjs +87 -0
- package/esm2022/lib/offline/shared/index.mjs +2 -0
- package/esm2022/lib/overlay/index.mjs +2 -0
- package/esm2022/lib/overlay/overlay.module.mjs +23 -0
- package/esm2022/lib/overlay/shared/index.mjs +6 -0
- package/esm2022/lib/overlay/shared/overlay.directive.mjs +38 -0
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +8 -0
- package/esm2022/lib/overlay/shared/overlay.mjs +138 -0
- package/esm2022/lib/overlay/shared/overlay.service.mjs +26 -0
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +17 -0
- package/esm2022/lib/print/index.mjs +4 -0
- package/esm2022/lib/print/print/print.component.mjs +122 -0
- package/esm2022/lib/print/print-form/index.mjs +2 -0
- package/esm2022/lib/print/print-form/print-form.component.mjs +580 -0
- package/esm2022/lib/print/print.module.mjs +65 -0
- package/esm2022/lib/print/shared/geopdf.mjs +68 -0
- package/esm2022/lib/print/shared/index.mjs +5 -0
- package/esm2022/lib/print/shared/print.interface.mjs +2 -0
- package/esm2022/lib/print/shared/print.service.mjs +1093 -0
- package/esm2022/lib/print/shared/print.type.mjs +30 -0
- package/esm2022/lib/query/index.mjs +2 -0
- package/esm2022/lib/query/query.module.mjs +29 -0
- package/esm2022/lib/query/shared/index.mjs +7 -0
- package/esm2022/lib/query/shared/query-search-source.mjs +35 -0
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +22 -0
- package/esm2022/lib/query/shared/query.directive.mjs +285 -0
- package/esm2022/lib/query/shared/query.enums.mjs +30 -0
- package/esm2022/lib/query/shared/query.interfaces.mjs +2 -0
- package/esm2022/lib/query/shared/query.service.mjs +753 -0
- package/esm2022/lib/query/shared/query.utils.mjs +41 -0
- package/esm2022/lib/search/index.mjs +12 -0
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +559 -0
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +73 -0
- package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +40 -0
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +132 -0
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +456 -0
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +166 -0
- package/esm2022/lib/search/search-results/search-results.component.mjs +480 -0
- package/esm2022/lib/search/search-results/search-results.module.mjs +104 -0
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +133 -0
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +56 -0
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +448 -0
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +60 -0
- package/esm2022/lib/search/search.module.mjs +67 -0
- package/esm2022/lib/search/shared/index.mjs +9 -0
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +337 -0
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +20 -0
- package/esm2022/lib/search/shared/search-source.service.mjs +56 -0
- package/esm2022/lib/search/shared/search.enums.mjs +4 -0
- package/esm2022/lib/search/shared/search.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/search.service.mjs +130 -0
- package/esm2022/lib/search/shared/search.utils.mjs +92 -0
- package/esm2022/lib/search/shared/sources/cadastre.mjs +139 -0
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +23 -0
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/coordinates.mjs +166 -0
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +40 -0
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/icherche.mjs +796 -0
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +66 -0
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/ilayer.mjs +335 -0
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +46 -0
- package/esm2022/lib/search/shared/sources/index.mjs +23 -0
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/nominatim.mjs +263 -0
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +23 -0
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/source.mjs +220 -0
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +455 -0
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +41 -0
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/workspace.mjs +191 -0
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +22 -0
- package/esm2022/lib/style/index.mjs +5 -0
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +359 -0
- package/esm2022/lib/style/shared/datasource/index.mjs +2 -0
- package/esm2022/lib/style/shared/feature/feature-style.mjs +161 -0
- package/esm2022/lib/style/shared/feature/index.mjs +2 -0
- package/esm2022/lib/style/shared/font.enum.mjs +17 -0
- package/esm2022/lib/style/shared/index.mjs +5 -0
- package/esm2022/lib/style/shared/overlay/index.mjs +3 -0
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +45 -0
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +78 -0
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +27 -0
- package/esm2022/lib/style/shared/vector/index.mjs +4 -0
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +2 -0
- package/esm2022/lib/style/style-list/index.mjs +5 -0
- package/esm2022/lib/style/style-list/style-list.interface.mjs +2 -0
- package/esm2022/lib/style/style-list/style-list.module.mjs +23 -0
- package/esm2022/lib/style/style-list/style-list.provider.mjs +21 -0
- package/esm2022/lib/style/style-list/style-list.service.mjs +52 -0
- package/esm2022/lib/style/style-modal/drawing/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +288 -0
- package/esm2022/lib/style/style-modal/index.mjs +5 -0
- package/esm2022/lib/style/style-modal/layer/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +182 -0
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +48 -0
- package/esm2022/lib/style/style-modal/shared/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
- package/esm2022/lib/style/style-service/draw-style.service.mjs +256 -0
- package/esm2022/lib/style/style-service/index.mjs +3 -0
- package/esm2022/lib/style/style-service/style.service.mjs +393 -0
- package/esm2022/lib/style/style.module.mjs +92 -0
- package/esm2022/lib/toast/index.mjs +2 -0
- package/esm2022/lib/toast/toast.component.mjs +119 -0
- package/esm2022/lib/toast/toast.module.mjs +45 -0
- package/esm2022/lib/utils/googleLinks.mjs +13 -0
- package/esm2022/lib/utils/id-generator.mjs +110 -0
- package/esm2022/lib/utils/index.mjs +5 -0
- package/esm2022/lib/utils/osmLinks.mjs +9 -0
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +3 -0
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +2 -0
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +64 -0
- package/esm2022/lib/wkt/index.mjs +2 -0
- package/esm2022/lib/wkt/shared/index.mjs +2 -0
- package/esm2022/lib/wkt/shared/wkt.service.mjs +236 -0
- package/esm2022/lib/wkt/wkt.module.mjs +22 -0
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +52 -0
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +36 -0
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +3 -0
- package/esm2022/lib/workspace/index.mjs +8 -0
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +304 -0
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +711 -0
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +41 -0
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +109 -0
- package/esm2022/lib/workspace/shared/index.mjs +8 -0
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +41 -0
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +102 -0
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +225 -0
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +185 -0
- package/esm2022/lib/workspace/widgets/index.mjs +4 -0
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +52 -0
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +25 -0
- package/esm2022/lib/workspace/widgets/widgets.mjs +15 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +167 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +22 -0
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +135 -0
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +22 -0
- package/esm2022/lib/workspace/workspace.module.mjs +58 -0
- package/esm2022/public_api.mjs +57 -0
- package/fesm2022/igo2-geo.mjs +48131 -0
- package/fesm2022/igo2-geo.mjs.map +1 -0
- package/geo-theme.scss +21 -0
- package/index.d.ts +5 -5
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +117 -117
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +77 -77
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +99 -99
- package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +64 -64
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
- package/lib/catalog/catalog.module.d.ts +14 -14
- package/lib/catalog/index.d.ts +4 -4
- package/lib/catalog/shared/catalog.abstract.d.ts +41 -50
- package/lib/catalog/shared/catalog.enum.d.ts +14 -14
- package/lib/catalog/shared/catalog.interface.d.ts +76 -76
- package/lib/catalog/shared/catalog.service.d.ts +36 -36
- package/lib/catalog/shared/catalogs.d.ts +35 -0
- package/lib/catalog/shared/index.d.ts +4 -4
- package/lib/datasource/datasource.module.d.ts +8 -8
- package/lib/datasource/index.d.ts +2 -2
- package/lib/datasource/shared/capabilities.service.d.ts +37 -37
- package/lib/datasource/shared/datasource.service.d.ts +37 -37
- package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
- package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
- package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
- package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
- package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
- package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +113 -113
- package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +23 -23
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
- package/lib/datasource/shared/datasources/index.d.ts +35 -35
- package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
- package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
- package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
- package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +45 -31
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +37 -32
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
- package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
- package/lib/datasource/shared/index.d.ts +4 -4
- package/lib/datasource/shared/options/index.d.ts +4 -4
- package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
- package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
- package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
- package/lib/datasource/shared/options/options.service.d.ts +6 -6
- package/lib/datasource/utils/index.d.ts +1 -1
- package/lib/datasource/utils/tilegrid.d.ts +2 -2
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +35 -30
- package/lib/directions/directions-buttons/index.d.ts +1 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
- package/lib/directions/directions-inputs/index.d.ts +1 -1
- package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
- package/lib/directions/directions-results/directions-results.theming.scss +10 -0
- package/lib/directions/directions-results/index.d.ts +1 -1
- package/lib/directions/directions-sources/directions-source.d.ts +7 -7
- package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
- package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
- package/lib/directions/directions-sources/index.d.ts +4 -4
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +24 -23
- package/lib/directions/directions.component.d.ts +56 -56
- package/lib/directions/directions.module.d.ts +26 -26
- package/lib/directions/directions.theming.scss +6 -0
- package/lib/directions/index.d.ts +6 -6
- package/lib/directions/shared/directions-source.service.d.ts +11 -11
- package/lib/directions/shared/directions.enum.d.ts +22 -22
- package/lib/directions/shared/directions.interface.d.ts +126 -126
- package/lib/directions/shared/directions.service.d.ts +28 -13
- package/lib/directions/shared/directions.utils.d.ts +42 -42
- package/lib/directions/shared/index.d.ts +5 -5
- package/lib/directions/shared/store.d.ts +18 -18
- package/lib/download/download-button/download-button.component.d.ts +18 -18
- package/lib/download/download-button/index.d.ts +1 -1
- package/lib/download/download.module.d.ts +14 -14
- package/lib/download/index.d.ts +2 -2
- package/lib/download/shared/download.interface.d.ts +10 -10
- package/lib/download/shared/download.service.d.ts +10 -10
- package/lib/download/shared/index.d.ts +2 -2
- package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
- package/lib/draw/draw/draw-popup.component.d.ts +63 -63
- package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
- package/lib/draw/draw/draw.component.d.ts +240 -240
- package/lib/draw/draw/draw.module.d.ts +33 -34
- package/lib/draw/draw.theming.scss +32 -0
- package/lib/draw/drawingTool.module.d.ts +7 -7
- package/lib/draw/index.d.ts +2 -2
- package/lib/draw/shared/draw-icon.service.d.ts +12 -12
- package/lib/draw/shared/draw.enum.d.ts +17 -17
- package/lib/draw/shared/draw.interface.d.ts +40 -40
- package/lib/draw/shared/draw.utils.d.ts +35 -35
- package/lib/draw/shared/index.d.ts +4 -4
- package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
- package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
- package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
- package/lib/feature/feature-details/feature-details.theming.scss +16 -0
- package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
- package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
- package/lib/feature/feature.module.d.ts +9 -9
- package/lib/feature/feature.theming.scss +4 -0
- package/lib/feature/index.d.ts +3 -3
- package/lib/feature/shared/feature-store.utils.d.ts +10 -0
- package/lib/feature/shared/feature.enums.d.ts +7 -7
- package/lib/feature/shared/feature.interfaces.d.ts +82 -79
- package/lib/feature/shared/feature.utils.d.ts +97 -106
- package/lib/feature/shared/index.d.ts +7 -6
- package/lib/feature/shared/store.d.ts +78 -78
- package/lib/feature/shared/strategies/geo-properties.d.ts +61 -0
- package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
- package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
- package/lib/feature/shared/strategies/index.d.ts +7 -6
- package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
- package/lib/feature/shared/strategies/loading.d.ts +75 -75
- package/lib/feature/shared/strategies/search.d.ts +55 -55
- package/lib/feature/shared/strategies/selection.d.ts +176 -176
- package/lib/feature/shared/strategies.utils.d.ts +17 -17
- package/lib/filter/filter.module.d.ts +53 -53
- package/lib/filter/filter.theming.scss +16 -0
- package/lib/filter/index.d.ts +15 -15
- package/lib/filter/ogc-filter-button/index.d.ts +1 -1
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
- package/lib/filter/ogc-filter-form/index.d.ts +1 -1
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
- package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -0
- package/lib/filter/ogc-filter-time/index.d.ts +2 -2
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +15 -0
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
- package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
- package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
- package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
- package/lib/filter/shared/index.d.ts +11 -11
- package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
- package/lib/filter/shared/ogc-filter.d.ts +29 -29
- package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
- package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
- package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
- package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
- package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
- package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
- package/lib/filter/shared/time-filter.enum.d.ts +10 -10
- package/lib/filter/shared/time-filter.interface.d.ts +15 -29
- package/lib/filter/shared/time-filter.service.d.ts +11 -11
- package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
- package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +57 -57
- package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
- package/lib/filter/time-filter-button/index.d.ts +1 -1
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
- package/lib/filter/time-filter-form/index.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
- package/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -0
- package/lib/filter/time-filter-item/index.d.ts +1 -1
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
- package/lib/filter/time-filter-list/index.d.ts +2 -2
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
- package/lib/geo.module.d.ts +29 -29
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +202 -202
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
- package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
- package/lib/geometry/geometry.module.d.ts +8 -8
- package/lib/geometry/index.d.ts +3 -3
- package/lib/geometry/shared/controls/draw.d.ts +150 -150
- package/lib/geometry/shared/controls/index.d.ts +3 -3
- package/lib/geometry/shared/controls/modify.d.ts +228 -228
- package/lib/geometry/shared/controls/slice.d.ts +99 -99
- package/lib/geometry/shared/geometry.errors.d.ts +11 -11
- package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
- package/lib/geometry/shared/geometry.utils.d.ts +45 -45
- package/lib/geometry/shared/index.d.ts +4 -4
- package/lib/import-export/export-button/export-button.component.d.ts +16 -16
- package/lib/import-export/export-button/index.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +109 -109
- package/lib/import-export/import-export/index.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +25 -25
- package/lib/import-export/index.d.ts +3 -3
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +39 -39
- package/lib/import-export/shared/export.errors.d.ts +8 -8
- package/lib/import-export/shared/export.interface.d.ts +11 -11
- package/lib/import-export/shared/export.service.d.ts +30 -30
- package/lib/import-export/shared/export.type.d.ts +16 -16
- package/lib/import-export/shared/export.utils.d.ts +19 -19
- package/lib/import-export/shared/import.errors.d.ts +20 -20
- package/lib/import-export/shared/import.interface.d.ts +10 -10
- package/lib/import-export/shared/import.service.d.ts +31 -31
- package/lib/import-export/shared/import.utils.d.ts +20 -20
- package/lib/import-export/shared/index.d.ts +10 -10
- package/lib/layer/index.d.ts +9 -9
- package/lib/layer/layer-item/index.d.ts +1 -1
- package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
- package/lib/layer/layer-legend/index.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
- package/lib/layer/layer-legend/layer-legend.theming.scss +10 -0
- package/lib/layer/layer-legend-item/index.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
- package/lib/layer/layer-legend-list/index.d.ts +2 -2
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
- package/lib/layer/layer-list/index.d.ts +3 -3
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
- package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
- package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
- package/lib/layer/layer-list-tool/index.d.ts +4 -4
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
- package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
- package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
- package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
- package/lib/layer/layer-list-tool/layer-list-tool.theming.scss +22 -0
- package/lib/layer/layer.module.d.ts +34 -35
- package/lib/layer/layer.theming.scss +24 -0
- package/lib/layer/shared/clusterParam.d.ts +13 -13
- package/lib/layer/shared/index.d.ts +4 -4
- package/lib/layer/shared/layer.enums.d.ts +1 -1
- package/lib/layer/shared/layer.service.d.ts +33 -33
- package/lib/layer/shared/layers/any-layer.d.ts +6 -6
- package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
- package/lib/layer/shared/layers/image-layer.d.ts +21 -21
- package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
- package/lib/layer/shared/layers/index.d.ts +12 -12
- package/lib/layer/shared/layers/layer.d.ts +66 -66
- package/lib/layer/shared/layers/layer.interface.d.ts +90 -109
- package/lib/layer/shared/layers/legend.interface.d.ts +22 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
- package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
- package/lib/layer/shared/layers/vector-layer.d.ts +94 -94
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +42 -42
- package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +16 -16
- package/lib/layer/track-feature-button/index.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
- package/lib/layer/utils/image-watcher.d.ts +16 -16
- package/lib/layer/utils/index.d.ts +5 -5
- package/lib/layer/utils/layer.utils.d.ts +2 -2
- package/lib/layer/utils/outputLegend.d.ts +7 -7
- package/lib/layer/utils/tile-watcher.d.ts +14 -14
- package/lib/layer/utils/vector-watcher.d.ts +13 -13
- package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +22 -21
- package/lib/map/baselayers-switcher/index.d.ts +2 -2
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -29
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
- package/lib/map/geolocate-button/index.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
- package/lib/map/home-extent-button/index.d.ts +1 -1
- package/lib/map/index.d.ts +13 -13
- package/lib/map/info-section/index.d.ts +1 -1
- package/lib/map/info-section/info-section.component.d.ts +7 -7
- package/lib/map/map-browser/index.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +25 -25
- package/lib/map/map-browser/map-browser.theming.scss +46 -0
- package/lib/map/map-center/index.d.ts +1 -1
- package/lib/map/map-center/map-center.component.d.ts +31 -31
- package/lib/map/map.module.d.ts +28 -28
- package/lib/map/map.theming.scss +9 -0
- package/lib/map/menu-button/index.d.ts +1 -1
- package/lib/map/menu-button/menu-button.component.d.ts +17 -17
- package/lib/map/menu-button/menu-button.theming.scss +24 -0
- package/lib/map/offline-button/index.d.ts +1 -1
- package/lib/map/offline-button/offline-button.component.d.ts +15 -15
- package/lib/map/rotation-button/index.d.ts +1 -1
- package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
- package/lib/map/shared/controllers/controller.d.ts +29 -29
- package/lib/map/shared/controllers/geolocation.d.ts +95 -127
- package/lib/map/shared/controllers/geolocation.interface.d.ts +30 -0
- package/lib/map/shared/controllers/index.d.ts +4 -3
- package/lib/map/shared/controllers/view.d.ts +200 -200
- package/lib/map/shared/hover-feature.directive.d.ts +124 -124
- package/lib/map/shared/index.d.ts +14 -13
- package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
- package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
- package/lib/map/shared/map.abstract.d.ts +59 -0
- package/lib/map/shared/map.d.ts +140 -135
- package/lib/map/shared/map.enums.d.ts +4 -4
- package/lib/map/shared/map.interface.d.ts +57 -57
- package/lib/map/shared/map.service.d.ts +19 -19
- package/lib/map/shared/map.utils.d.ts +90 -90
- package/lib/map/shared/mapOffline.directive.d.ts +18 -18
- package/lib/map/shared/projection.interfaces.d.ts +29 -29
- package/lib/map/shared/projection.service.d.ts +19 -19
- package/lib/map/shared/projection.utils.d.ts +19 -19
- package/lib/map/swipe-control/index.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
- package/lib/map/utils/layer-watcher.d.ts +20 -20
- package/lib/map/wake-lock-button/index.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +27 -27
- package/lib/map/zoom-button/index.d.ts +1 -1
- package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
- package/lib/map/zoom-button/zoom-button.theming.scss +32 -0
- package/lib/measure/index.d.ts +3 -3
- package/lib/measure/measure.module.d.ts +7 -7
- package/lib/measure/measure.theming.scss +5 -0
- package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
- package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
- package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
- package/lib/measure/measurer/measurer.component.d.ts +405 -405
- package/lib/measure/measurer/measurer.module.d.ts +26 -25
- package/lib/measure/measurer/measurer.theming.scss +26 -0
- package/lib/measure/shared/index.d.ts +3 -3
- package/lib/measure/shared/measure.enum.d.ts +33 -33
- package/lib/measure/shared/measure.interfaces.d.ts +21 -21
- package/lib/measure/shared/measure.utils.d.ts +180 -180
- package/lib/metadata/index.d.ts +2 -2
- package/lib/metadata/metadata-button/index.d.ts +1 -1
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
- package/lib/metadata/metadata.module.d.ts +15 -15
- package/lib/metadata/shared/index.d.ts +2 -2
- package/lib/metadata/shared/metadata.interface.d.ts +13 -13
- package/lib/metadata/shared/metadata.service.d.ts +8 -8
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
- package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
- package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
- package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
- package/lib/offline/geoDB/index.d.ts +4 -4
- package/lib/offline/index.d.ts +3 -3
- package/lib/offline/layerDB/index.d.ts +2 -2
- package/lib/offline/layerDB/layerDB.interface.d.ts +7 -7
- package/lib/offline/layerDB/layerDB.service.d.ts +36 -36
- package/lib/offline/shared/geo-network.service.d.ts +28 -28
- package/lib/offline/shared/index.d.ts +1 -1
- package/lib/overlay/index.d.ts +1 -1
- package/lib/overlay/overlay.module.d.ts +9 -9
- package/lib/overlay/shared/index.d.ts +5 -5
- package/lib/overlay/shared/overlay.d.ts +81 -81
- package/lib/overlay/shared/overlay.directive.d.ts +18 -18
- package/lib/overlay/shared/overlay.enum.d.ts +6 -6
- package/lib/overlay/shared/overlay.service.d.ts +14 -14
- package/lib/overlay/shared/overlay.utils.d.ts +6 -6
- package/lib/print/index.d.ts +3 -3
- package/lib/print/print/print.component.d.ts +35 -35
- package/lib/print/print-form/index.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +99 -99
- package/lib/print/print.module.d.ts +19 -19
- package/lib/print/shared/geopdf.d.ts +1 -1
- package/lib/print/shared/index.d.ts +4 -4
- package/lib/print/shared/print.interface.d.ts +22 -22
- package/lib/print/shared/print.service.d.ts +171 -174
- package/lib/print/shared/print.type.d.ts +45 -45
- package/lib/query/index.d.ts +1 -1
- package/lib/query/query.module.d.ts +11 -11
- package/lib/query/shared/index.d.ts +6 -6
- package/lib/query/shared/query-search-source.d.ts +17 -17
- package/lib/query/shared/query-search-source.providers.d.ts +17 -17
- package/lib/query/shared/query.directive.d.ts +105 -105
- package/lib/query/shared/query.enums.d.ts +26 -26
- package/lib/query/shared/query.interfaces.d.ts +35 -35
- package/lib/query/shared/query.service.d.ts +56 -56
- package/lib/query/shared/query.utils.d.ts +27 -27
- package/lib/search/index.d.ts +11 -11
- package/lib/search/search-bar/search-bar.component.d.ts +231 -230
- package/lib/search/search-bar/search-bar.module.d.ts +24 -23
- package/lib/search/search-bar/search-bar.theming.scss +36 -0
- package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
- package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -32
- package/lib/search/search-results/search-results-add-button.component.d.ts +84 -84
- package/lib/search/search-results/search-results-item.component.d.ts +52 -52
- package/lib/search/search-results/search-results.component.d.ts +165 -165
- package/lib/search/search-results/search-results.module.d.ts +29 -29
- package/lib/search/search-selector/search-selector.component.d.ts +58 -58
- package/lib/search/search-selector/search-selector.module.d.ts +19 -19
- package/lib/search/search-settings/search-settings.component.d.ts +102 -102
- package/lib/search/search-settings/search-settings.module.d.ts +20 -20
- package/lib/search/search.module.d.ts +14 -14
- package/lib/search/search.theming.scss +5 -0
- package/lib/search/shared/index.d.ts +8 -8
- package/lib/search/shared/search-pointer-summary.directive.d.ts +125 -124
- package/lib/search/shared/search-source-service.providers.d.ts +15 -15
- package/lib/search/shared/search-source.service.d.ts +39 -39
- package/lib/search/shared/search.enums.d.ts +1 -1
- package/lib/search/shared/search.interfaces.d.ts +54 -29
- package/lib/search/shared/search.service.d.ts +53 -53
- package/lib/search/shared/search.utils.d.ts +39 -39
- package/lib/search/shared/sources/cadastre.d.ts +34 -33
- package/lib/search/shared/sources/cadastre.providers.d.ts +18 -18
- package/lib/search/shared/sources/coordinates.d.ts +40 -40
- package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
- package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
- package/lib/search/shared/sources/icherche.d.ts +98 -96
- package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
- package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
- package/lib/search/shared/sources/ilayer.d.ts +56 -55
- package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
- package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
- package/lib/search/shared/sources/index.d.ts +22 -22
- package/lib/search/shared/sources/nominatim.d.ts +46 -45
- package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
- package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
- package/lib/search/shared/sources/source.d.ts +86 -114
- package/lib/search/shared/sources/source.interfaces.d.ts +54 -47
- package/lib/search/shared/sources/storedqueries.d.ts +75 -73
- package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
- package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
- package/lib/search/shared/sources/workspace.d.ts +33 -33
- package/lib/search/shared/sources/workspace.interfaces.d.ts +9 -9
- package/lib/search/shared/sources/workspace.providers.d.ts +17 -17
- package/lib/style/index.d.ts +4 -4
- package/lib/style/shared/datasource/esri-style-generator.d.ts +21 -21
- package/lib/style/shared/datasource/index.d.ts +1 -1
- package/lib/style/shared/feature/feature-style.d.ts +18 -18
- package/lib/style/shared/feature/index.d.ts +1 -1
- package/lib/style/shared/font.enum.d.ts +15 -15
- package/lib/style/shared/index.d.ts +4 -4
- package/lib/style/shared/overlay/index.d.ts +2 -2
- package/lib/style/shared/overlay/overlay-marker-style.utils.d.ts +11 -11
- package/lib/style/shared/overlay/overlay-style.utils.d.ts +19 -19
- package/lib/style/shared/vector/commonVectorStyle.d.ts +14 -14
- package/lib/style/shared/vector/conversion.utils.d.ts +22 -22
- package/lib/style/shared/vector/index.d.ts +3 -3
- package/lib/style/shared/vector/vector-style.interface.d.ts +69 -69
- package/lib/style/style-list/index.d.ts +4 -4
- package/lib/style/style-list/style-list.interface.d.ts +6 -6
- package/lib/style/style-list/style-list.module.d.ts +8 -8
- package/lib/style/style-list/style-list.provider.d.ts +15 -15
- package/lib/style/style-list/style-list.service.d.ts +18 -18
- package/lib/style/style-modal/drawing/index.d.ts +1 -1
- package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +33 -31
- package/lib/style/style-modal/index.d.ts +4 -4
- package/lib/style/style-modal/layer/index.d.ts +1 -1
- package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +32 -30
- package/lib/style/style-modal/layer-button/index.d.ts +1 -1
- package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +14 -14
- package/lib/style/style-modal/shared/index.d.ts +1 -1
- package/lib/style/style-modal/shared/style-modal.interface.d.ts +17 -17
- package/lib/style/style-service/draw-style.service.d.ts +35 -35
- package/lib/style/style-service/index.d.ts +2 -2
- package/lib/style/style-service/style.service.d.ts +57 -57
- package/lib/style/style.module.d.ts +23 -22
- package/lib/toast/index.d.ts +1 -1
- package/lib/toast/toast.component.d.ts +33 -33
- package/lib/toast/toast.module.d.ts +14 -14
- package/lib/utils/googleLinks.d.ts +5 -5
- package/lib/utils/id-generator.d.ts +54 -54
- package/lib/utils/index.d.ts +4 -3
- package/lib/utils/osmLinks.d.ts +4 -4
- package/lib/utils/propertyTypeDetector/index.d.ts +2 -0
- package/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.d.ts +5 -0
- package/lib/utils/propertyTypeDetector/propertyTypeDetector.service.d.ts +15 -0
- package/lib/wkt/index.d.ts +1 -1
- package/lib/wkt/shared/index.d.ts +1 -1
- package/lib/wkt/shared/wkt.service.d.ts +19 -19
- package/lib/wkt/wkt.module.d.ts +8 -8
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
- package/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -0
- package/lib/workspace/confirmation-popup/index.d.ts +2 -2
- package/lib/workspace/index.d.ts +7 -7
- package/lib/workspace/shared/edition-workspace.d.ts +84 -82
- package/lib/workspace/shared/edition-workspace.service.d.ts +50 -51
- package/lib/workspace/shared/feature-workspace.d.ts +18 -18
- package/lib/workspace/shared/feature-workspace.service.d.ts +22 -19
- package/lib/workspace/shared/index.d.ts +7 -7
- package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
- package/lib/workspace/shared/wfs-workspace.service.d.ts +22 -19
- package/lib/workspace/shared/wms-workspace.service.d.ts +24 -22
- package/lib/workspace/shared/workspace.utils.d.ts +23 -10
- package/lib/workspace/widgets/index.d.ts +3 -3
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
- package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
- package/lib/workspace/widgets/widgets.d.ts +9 -9
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
- package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
- package/lib/workspace/workspace.module.d.ts +14 -14
- package/lib/workspace/workspace.theming.scss +6 -0
- package/locale/en.geo.json +807 -0
- package/locale/fr.geo.json +808 -0
- package/package.json +38 -38
- package/public_api.d.ts +53 -53
- package/style/style.css +350 -0
- package/esm2020/igo2-geo.mjs +0 -5
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -303
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -306
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -250
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -80
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -209
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -79
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +0 -212
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +0 -95
- package/esm2020/lib/catalog/catalog.module.mjs +0 -53
- package/esm2020/lib/catalog/index.mjs +0 -5
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +0 -95
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +0 -16
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +0 -2
- package/esm2020/lib/catalog/shared/catalog.service.mjs +0 -604
- package/esm2020/lib/catalog/shared/index.mjs +0 -5
- package/esm2020/lib/datasource/datasource.module.mjs +0 -22
- package/esm2020/lib/datasource/index.mjs +0 -3
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +0 -431
- package/esm2020/lib/datasource/shared/datasource.service.mjs +0 -232
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -145
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +0 -109
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -15
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +0 -3
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +0 -29
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +0 -43
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -57
- package/esm2020/lib/datasource/shared/datasources/index.mjs +0 -36
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -28
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +0 -12
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -49
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -15
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -54
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -72
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +0 -152
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +0 -206
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -207
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -16
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -9
- package/esm2020/lib/datasource/shared/index.mjs +0 -5
- package/esm2020/lib/datasource/shared/options/index.mjs +0 -5
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +0 -2
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +0 -15
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +0 -81
- package/esm2020/lib/datasource/shared/options/options.service.mjs +0 -3
- package/esm2020/lib/datasource/utils/index.mjs +0 -2
- package/esm2020/lib/datasource/utils/tilegrid.mjs +0 -20
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -218
- package/esm2020/lib/directions/directions-buttons/index.mjs +0 -2
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -290
- package/esm2020/lib/directions/directions-inputs/index.mjs +0 -2
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +0 -196
- package/esm2020/lib/directions/directions-results/index.mjs +0 -2
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +0 -2
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +0 -3
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +0 -16
- package/esm2020/lib/directions/directions-sources/index.mjs +0 -5
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +0 -99
- package/esm2020/lib/directions/directions.component.mjs +0 -311
- package/esm2020/lib/directions/directions.module.mjs +0 -102
- package/esm2020/lib/directions/index.mjs +0 -7
- package/esm2020/lib/directions/shared/directions-source.service.mjs +0 -17
- package/esm2020/lib/directions/shared/directions.enum.mjs +0 -28
- package/esm2020/lib/directions/shared/directions.interface.mjs +0 -2
- package/esm2020/lib/directions/shared/directions.service.mjs +0 -29
- package/esm2020/lib/directions/shared/directions.utils.mjs +0 -509
- package/esm2020/lib/directions/shared/index.mjs +0 -6
- package/esm2020/lib/directions/shared/store.mjs +0 -24
- package/esm2020/lib/download/download-button/download-button.component.mjs +0 -61
- package/esm2020/lib/download/download-button/index.mjs +0 -2
- package/esm2020/lib/download/download.module.mjs +0 -42
- package/esm2020/lib/download/index.mjs +0 -3
- package/esm2020/lib/download/shared/download.interface.mjs +0 -2
- package/esm2020/lib/download/shared/download.service.mjs +0 -62
- package/esm2020/lib/download/shared/index.mjs +0 -3
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +0 -55
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +0 -591
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +0 -48
- package/esm2020/lib/draw/draw/draw.component.mjs +0 -1300
- package/esm2020/lib/draw/draw/draw.module.mjs +0 -113
- package/esm2020/lib/draw/drawingTool.module.mjs +0 -20
- package/esm2020/lib/draw/index.mjs +0 -3
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +0 -27
- package/esm2020/lib/draw/shared/draw.enum.mjs +0 -21
- package/esm2020/lib/draw/shared/draw.interface.mjs +0 -2
- package/esm2020/lib/draw/shared/draw.utils.mjs +0 -122
- package/esm2020/lib/draw/shared/index.mjs +0 -5
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +0 -404
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +0 -54
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +0 -48
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +0 -112
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +0 -34
- package/esm2020/lib/feature/feature.module.mjs +0 -28
- package/esm2020/lib/feature/index.mjs +0 -4
- package/esm2020/lib/feature/shared/feature.enums.mjs +0 -9
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +0 -2
- package/esm2020/lib/feature/shared/feature.utils.mjs +0 -349
- package/esm2020/lib/feature/shared/index.mjs +0 -7
- package/esm2020/lib/feature/shared/store.mjs +0 -133
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +0 -113
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +0 -94
- package/esm2020/lib/feature/shared/strategies/index.mjs +0 -7
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +0 -104
- package/esm2020/lib/feature/shared/strategies/loading.mjs +0 -133
- package/esm2020/lib/feature/shared/strategies/search.mjs +0 -150
- package/esm2020/lib/feature/shared/strategies/selection.mjs +0 -370
- package/esm2020/lib/feature/shared/strategies.utils.mjs +0 -37
- package/esm2020/lib/filter/filter.module.mjs +0 -289
- package/esm2020/lib/filter/index.mjs +0 -16
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -140
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -645
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -1302
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +0 -3
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -177
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -898
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -59
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +0 -2
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -307
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +0 -3
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -31
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -44
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +0 -55
- package/esm2020/lib/filter/shared/index.mjs +0 -12
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +0 -30
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +0 -2
- package/esm2020/lib/filter/shared/ogc-filter.mjs +0 -692
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +0 -46
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +0 -23
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +0 -2
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +0 -269
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +0 -13
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +0 -2
- package/esm2020/lib/filter/shared/time-filter.service.mjs +0 -107
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -1089
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -207
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -144
- package/esm2020/lib/filter/time-filter-button/index.mjs +0 -2
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -78
- package/esm2020/lib/filter/time-filter-form/index.mjs +0 -2
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -734
- package/esm2020/lib/filter/time-filter-item/index.mjs +0 -2
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -119
- package/esm2020/lib/filter/time-filter-list/index.mjs +0 -3
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -31
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -39
- package/esm2020/lib/geo.module.mjs +0 -106
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -522
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -189
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -64
- package/esm2020/lib/geometry/geometry.module.mjs +0 -27
- package/esm2020/lib/geometry/index.mjs +0 -4
- package/esm2020/lib/geometry/shared/controls/draw.mjs +0 -314
- package/esm2020/lib/geometry/shared/controls/index.mjs +0 -4
- package/esm2020/lib/geometry/shared/controls/modify.mjs +0 -521
- package/esm2020/lib/geometry/shared/controls/slice.mjs +0 -177
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +0 -26
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +0 -2
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +0 -122
- package/esm2020/lib/geometry/shared/index.mjs +0 -5
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +0 -64
- package/esm2020/lib/import-export/export-button/index.mjs +0 -2
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +0 -1228
- package/esm2020/lib/import-export/import-export/index.mjs +0 -2
- package/esm2020/lib/import-export/import-export.module.mjs +0 -92
- package/esm2020/lib/import-export/index.mjs +0 -4
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +0 -152
- package/esm2020/lib/import-export/shared/export.errors.mjs +0 -15
- package/esm2020/lib/import-export/shared/export.interface.mjs +0 -2
- package/esm2020/lib/import-export/shared/export.service.mjs +0 -195
- package/esm2020/lib/import-export/shared/export.type.mjs +0 -4
- package/esm2020/lib/import-export/shared/export.utils.mjs +0 -46
- package/esm2020/lib/import-export/shared/import.errors.mjs +0 -39
- package/esm2020/lib/import-export/shared/import.interface.mjs +0 -2
- package/esm2020/lib/import-export/shared/import.service.mjs +0 -215
- package/esm2020/lib/import-export/shared/import.utils.mjs +0 -202
- package/esm2020/lib/import-export/shared/index.mjs +0 -11
- package/esm2020/lib/layer/index.mjs +0 -10
- package/esm2020/lib/layer/layer-item/index.mjs +0 -2
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +0 -300
- package/esm2020/lib/layer/layer-legend/index.mjs +0 -2
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +0 -388
- package/esm2020/lib/layer/layer-legend-item/index.mjs +0 -2
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -84
- package/esm2020/lib/layer/layer-legend-list/index.mjs +0 -3
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -48
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -195
- package/esm2020/lib/layer/layer-list/index.mjs +0 -4
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -59
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +0 -1009
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +0 -19
- package/esm2020/lib/layer/layer-list-tool/index.mjs +0 -5
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -165
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -2
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -22
- package/esm2020/lib/layer/layer.module.mjs +0 -180
- package/esm2020/lib/layer/shared/clusterParam.mjs +0 -2
- package/esm2020/lib/layer/shared/index.mjs +0 -5
- package/esm2020/lib/layer/shared/layer.enums.mjs +0 -2
- package/esm2020/lib/layer/shared/layer.service.mjs +0 -237
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +0 -67
- package/esm2020/lib/layer/shared/layers/index.mjs +0 -13
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +0 -17
- package/esm2020/lib/layer/shared/layers/layer.mjs +0 -166
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +0 -47
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +0 -527
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +0 -104
- package/esm2020/lib/layer/track-feature-button/index.mjs +0 -2
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -59
- package/esm2020/lib/layer/utils/image-watcher.mjs +0 -59
- package/esm2020/lib/layer/utils/index.mjs +0 -6
- package/esm2020/lib/layer/utils/layer.utils.mjs +0 -10
- package/esm2020/lib/layer/utils/outputLegend.mjs +0 -28
- package/esm2020/lib/layer/utils/tile-watcher.mjs +0 -50
- package/esm2020/lib/layer/utils/vector-watcher.mjs +0 -48
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -97
- package/esm2020/lib/map/baselayers-switcher/index.mjs +0 -3
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -142
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +0 -79
- package/esm2020/lib/map/geolocate-button/index.mjs +0 -2
- package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +0 -63
- package/esm2020/lib/map/home-extent-button/index.mjs +0 -2
- package/esm2020/lib/map/index.mjs +0 -14
- package/esm2020/lib/map/info-section/index.mjs +0 -2
- package/esm2020/lib/map/info-section/info-section.component.mjs +0 -30
- package/esm2020/lib/map/map-browser/index.mjs +0 -2
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +0 -66
- package/esm2020/lib/map/map-center/index.mjs +0 -2
- package/esm2020/lib/map/map-center/map-center.component.mjs +0 -50
- package/esm2020/lib/map/map.module.mjs +0 -127
- package/esm2020/lib/map/menu-button/index.mjs +0 -2
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +0 -62
- package/esm2020/lib/map/offline-button/index.mjs +0 -2
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +0 -53
- package/esm2020/lib/map/rotation-button/index.mjs +0 -2
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +0 -70
- package/esm2020/lib/map/shared/controllers/controller.mjs +0 -42
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +0 -423
- package/esm2020/lib/map/shared/controllers/index.mjs +0 -4
- package/esm2020/lib/map/shared/controllers/view.mjs +0 -351
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +0 -454
- package/esm2020/lib/map/shared/index.mjs +0 -14
- package/esm2020/lib/map/shared/linkedLayers.utils.mjs +0 -240
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +0 -107
- package/esm2020/lib/map/shared/map.enums.mjs +0 -6
- package/esm2020/lib/map/shared/map.interface.mjs +0 -2
- package/esm2020/lib/map/shared/map.mjs +0 -409
- package/esm2020/lib/map/shared/map.service.mjs +0 -29
- package/esm2020/lib/map/shared/map.utils.mjs +0 -463
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +0 -98
- package/esm2020/lib/map/shared/projection.interfaces.mjs +0 -2
- package/esm2020/lib/map/shared/projection.service.mjs +0 -65
- package/esm2020/lib/map/shared/projection.utils.mjs +0 -64
- package/esm2020/lib/map/swipe-control/index.mjs +0 -2
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +0 -193
- package/esm2020/lib/map/utils/layer-watcher.mjs +0 -79
- package/esm2020/lib/map/wake-lock-button/index.mjs +0 -2
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
- package/esm2020/lib/map/zoom-button/index.mjs +0 -2
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +0 -40
- package/esm2020/lib/measure/index.mjs +0 -4
- package/esm2020/lib/measure/measure.module.mjs +0 -20
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +0 -37
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +0 -180
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +0 -140
- package/esm2020/lib/measure/measurer/measurer.component.mjs +0 -1042
- package/esm2020/lib/measure/measurer/measurer.module.mjs +0 -94
- package/esm2020/lib/measure/shared/index.mjs +0 -4
- package/esm2020/lib/measure/shared/measure.enum.mjs +0 -37
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +0 -2
- package/esm2020/lib/measure/shared/measure.utils.mjs +0 -489
- package/esm2020/lib/metadata/index.mjs +0 -3
- package/esm2020/lib/metadata/metadata-button/index.mjs +0 -2
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +0 -134
- package/esm2020/lib/metadata/metadata.module.mjs +0 -55
- package/esm2020/lib/metadata/shared/index.mjs +0 -3
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +0 -2
- package/esm2020/lib/metadata/shared/metadata.service.mjs +0 -19
- package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -105
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +0 -6
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +0 -2
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +0 -167
- package/esm2020/lib/offline/geoDB/index.mjs +0 -5
- package/esm2020/lib/offline/index.mjs +0 -4
- package/esm2020/lib/offline/layerDB/index.mjs +0 -3
- package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +0 -2
- package/esm2020/lib/offline/layerDB/layerDB.service.mjs +0 -76
- package/esm2020/lib/offline/shared/geo-network.service.mjs +0 -66
- package/esm2020/lib/offline/shared/index.mjs +0 -2
- package/esm2020/lib/overlay/index.mjs +0 -2
- package/esm2020/lib/overlay/overlay.module.mjs +0 -23
- package/esm2020/lib/overlay/shared/index.mjs +0 -6
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +0 -33
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +0 -8
- package/esm2020/lib/overlay/shared/overlay.mjs +0 -130
- package/esm2020/lib/overlay/shared/overlay.service.mjs +0 -27
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +0 -17
- package/esm2020/lib/print/index.mjs +0 -4
- package/esm2020/lib/print/print/print.component.mjs +0 -112
- package/esm2020/lib/print/print-form/index.mjs +0 -2
- package/esm2020/lib/print/print-form/print-form.component.mjs +0 -514
- package/esm2020/lib/print/print.module.mjs +0 -65
- package/esm2020/lib/print/shared/geopdf.mjs +0 -58
- package/esm2020/lib/print/shared/index.mjs +0 -5
- package/esm2020/lib/print/shared/print.interface.mjs +0 -2
- package/esm2020/lib/print/shared/print.service.mjs +0 -984
- package/esm2020/lib/print/shared/print.type.mjs +0 -30
- package/esm2020/lib/query/index.mjs +0 -2
- package/esm2020/lib/query/query.module.mjs +0 -29
- package/esm2020/lib/query/shared/index.mjs +0 -7
- package/esm2020/lib/query/shared/query-search-source.mjs +0 -35
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +0 -22
- package/esm2020/lib/query/shared/query.directive.mjs +0 -261
- package/esm2020/lib/query/shared/query.enums.mjs +0 -30
- package/esm2020/lib/query/shared/query.interfaces.mjs +0 -2
- package/esm2020/lib/query/shared/query.service.mjs +0 -731
- package/esm2020/lib/query/shared/query.utils.mjs +0 -37
- package/esm2020/lib/search/index.mjs +0 -12
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +0 -512
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +0 -75
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +0 -35
- package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +0 -118
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +0 -429
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +0 -147
- package/esm2020/lib/search/search-results/search-results.component.mjs +0 -454
- package/esm2020/lib/search/search-results/search-results.module.mjs +0 -108
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +0 -123
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +0 -56
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +0 -440
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +0 -60
- package/esm2020/lib/search/search.module.mjs +0 -67
- package/esm2020/lib/search/shared/index.mjs +0 -9
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +0 -295
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +0 -20
- package/esm2020/lib/search/shared/search-source.service.mjs +0 -55
- package/esm2020/lib/search/shared/search.enums.mjs +0 -4
- package/esm2020/lib/search/shared/search.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/search.service.mjs +0 -121
- package/esm2020/lib/search/shared/search.utils.mjs +0 -91
- package/esm2020/lib/search/shared/sources/cadastre.mjs +0 -126
- package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +0 -23
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/coordinates.mjs +0 -153
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +0 -40
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/icherche.mjs +0 -767
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +0 -66
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/ilayer.mjs +0 -320
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +0 -40
- package/esm2020/lib/search/shared/sources/index.mjs +0 -23
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/nominatim.mjs +0 -253
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +0 -23
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/source.mjs +0 -209
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +0 -425
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +0 -41
- package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
- package/esm2020/lib/search/shared/sources/workspace.mjs +0 -186
- package/esm2020/lib/search/shared/sources/workspace.providers.mjs +0 -26
- package/esm2020/lib/style/index.mjs +0 -5
- package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +0 -357
- package/esm2020/lib/style/shared/datasource/index.mjs +0 -2
- package/esm2020/lib/style/shared/feature/feature-style.mjs +0 -141
- package/esm2020/lib/style/shared/feature/index.mjs +0 -2
- package/esm2020/lib/style/shared/font.enum.mjs +0 -17
- package/esm2020/lib/style/shared/index.mjs +0 -5
- package/esm2020/lib/style/shared/overlay/index.mjs +0 -3
- package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -43
- package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
- package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +0 -75
- package/esm2020/lib/style/shared/vector/conversion.utils.mjs +0 -27
- package/esm2020/lib/style/shared/vector/index.mjs +0 -4
- package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +0 -2
- package/esm2020/lib/style/style-list/index.mjs +0 -5
- package/esm2020/lib/style/style-list/style-list.interface.mjs +0 -2
- package/esm2020/lib/style/style-list/style-list.module.mjs +0 -23
- package/esm2020/lib/style/style-list/style-list.provider.mjs +0 -21
- package/esm2020/lib/style/style-list/style-list.service.mjs +0 -51
- package/esm2020/lib/style/style-modal/drawing/index.mjs +0 -2
- package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -288
- package/esm2020/lib/style/style-modal/index.mjs +0 -5
- package/esm2020/lib/style/style-modal/layer/index.mjs +0 -2
- package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -187
- package/esm2020/lib/style/style-modal/layer-button/index.mjs +0 -2
- package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
- package/esm2020/lib/style/style-modal/shared/index.mjs +0 -2
- package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
- package/esm2020/lib/style/style-service/draw-style.service.mjs +0 -187
- package/esm2020/lib/style/style-service/index.mjs +0 -3
- package/esm2020/lib/style/style-service/style.service.mjs +0 -356
- package/esm2020/lib/style/style.module.mjs +0 -74
- package/esm2020/lib/toast/index.mjs +0 -2
- package/esm2020/lib/toast/toast.component.mjs +0 -113
- package/esm2020/lib/toast/toast.module.mjs +0 -45
- package/esm2020/lib/utils/googleLinks.mjs +0 -13
- package/esm2020/lib/utils/id-generator.mjs +0 -110
- package/esm2020/lib/utils/index.mjs +0 -4
- package/esm2020/lib/utils/osmLinks.mjs +0 -10
- package/esm2020/lib/wkt/index.mjs +0 -2
- package/esm2020/lib/wkt/shared/index.mjs +0 -2
- package/esm2020/lib/wkt/shared/wkt.service.mjs +0 -239
- package/esm2020/lib/wkt/wkt.module.mjs +0 -22
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -48
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -36
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +0 -3
- package/esm2020/lib/workspace/index.mjs +0 -8
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +0 -280
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +0 -642
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +0 -35
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +0 -157
- package/esm2020/lib/workspace/shared/index.mjs +0 -8
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +0 -35
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +0 -150
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +0 -260
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -24
- package/esm2020/lib/workspace/widgets/index.mjs +0 -4
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -47
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -36
- package/esm2020/lib/workspace/widgets/widgets.mjs +0 -15
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -133
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -28
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -113
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -28
- package/esm2020/lib/workspace/workspace.module.mjs +0 -62
- package/esm2020/public_api.mjs +0 -57
- package/fesm2015/igo2-geo.mjs +0 -46894
- package/fesm2015/igo2-geo.mjs.map +0 -1
- package/fesm2020/igo2-geo.mjs +0 -44993
- package/fesm2020/igo2-geo.mjs.map +0 -1
- package/ngcc.config.js +0 -3
- package/style/geo.theming.scss +0 -12
|
@@ -1,527 +0,0 @@
|
|
|
1
|
-
import olLayerVector from 'ol/layer/Vector';
|
|
2
|
-
import { unByKey } from 'ol/Observable';
|
|
3
|
-
import { easeOut } from 'ol/easing';
|
|
4
|
-
import { asArray as ColorAsArray } from 'ol/color';
|
|
5
|
-
import { getVectorContext } from 'ol/render';
|
|
6
|
-
import olProjection from 'ol/proj/Projection';
|
|
7
|
-
import * as olproj from 'ol/proj';
|
|
8
|
-
import * as olformat from 'ol/format';
|
|
9
|
-
import { FeatureDataSource } from '../../../datasource/shared/datasources/feature-datasource';
|
|
10
|
-
import { VectorWatcher } from '../../utils';
|
|
11
|
-
import { getResolutionFromScale } from '../../../map';
|
|
12
|
-
import { Layer } from './layer';
|
|
13
|
-
import { buildUrl, defaultMaxFeatures } from '../../../datasource/shared/datasources/wms-wfs.utils';
|
|
14
|
-
import { catchError, concatMap, debounceTime, delay, first } from 'rxjs/operators';
|
|
15
|
-
import { fromEvent, of, zip } from 'rxjs';
|
|
16
|
-
import { InsertSourceInsertDBEnum } from '../../../offline/geoDB/geoDB.enums';
|
|
17
|
-
import { olStyleToBasicIgoStyle } from '../../../style/shared/vector/conversion.utils';
|
|
18
|
-
import { ObjectUtils } from '@igo2/utils';
|
|
19
|
-
export class VectorLayer extends Layer {
|
|
20
|
-
constructor(options, messageService, authInterceptor, geoNetworkService, geoDBService, layerDBService) {
|
|
21
|
-
super(options, messageService, authInterceptor, geoDBService, layerDBService);
|
|
22
|
-
this.messageService = messageService;
|
|
23
|
-
this.authInterceptor = authInterceptor;
|
|
24
|
-
this.geoNetworkService = geoNetworkService;
|
|
25
|
-
this.geoDBService = geoDBService;
|
|
26
|
-
this.layerDBService = layerDBService;
|
|
27
|
-
this.watcher = new VectorWatcher(this);
|
|
28
|
-
this.status$ = this.watcher.status$;
|
|
29
|
-
}
|
|
30
|
-
get browsable() {
|
|
31
|
-
return this.options.browsable !== false;
|
|
32
|
-
}
|
|
33
|
-
get exportable() {
|
|
34
|
-
return this.options.exportable !== false;
|
|
35
|
-
}
|
|
36
|
-
createOlLayer() {
|
|
37
|
-
const initialOpacityValue = this.options.opacity || 1;
|
|
38
|
-
const initialVisibleValue = this.options.visible !== false;
|
|
39
|
-
const initialMinResValue = this.options.minResolution || getResolutionFromScale(Number(this.options.minScaleDenom));
|
|
40
|
-
const initialMaxResValue = this.options.maxResolution || getResolutionFromScale(Number(this.options.maxScaleDenom));
|
|
41
|
-
const so = this.options.sourceOptions;
|
|
42
|
-
if (this.dataSource instanceof FeatureDataSource) {
|
|
43
|
-
if (so?.preload?.bypassResolution || so?.preload?.bypassVisible) {
|
|
44
|
-
this.options.opacity = 0;
|
|
45
|
-
if (so.preload.bypassResolution && (this.options.minResolution || this.options.maxResolution)) {
|
|
46
|
-
this.options.minResolution = 0;
|
|
47
|
-
this.options.maxResolution = Infinity;
|
|
48
|
-
}
|
|
49
|
-
if (so.preload.bypassVisible && !initialVisibleValue) {
|
|
50
|
-
this.options.visible = true;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const olOptions = Object.assign({}, this.options, {
|
|
55
|
-
source: this.options.source.ol
|
|
56
|
-
});
|
|
57
|
-
if (this.options.animation) {
|
|
58
|
-
this.dataSource.ol.on('addfeature', function (e) {
|
|
59
|
-
this.flash(e.feature);
|
|
60
|
-
}.bind(this));
|
|
61
|
-
}
|
|
62
|
-
if (this.options.idbInfo?.storeToIdb && this.geoDBService) {
|
|
63
|
-
if (this.options.idbInfo.firstLoad) {
|
|
64
|
-
this.maintainFeaturesInIdb();
|
|
65
|
-
}
|
|
66
|
-
this.dataSource.ol.once('featuresloadend', () => {
|
|
67
|
-
this.dataSource.ol.on('addfeature', () => this.maintainFeaturesInIdb());
|
|
68
|
-
this.dataSource.ol.on('changefeature', () => this.maintainFeaturesInIdb());
|
|
69
|
-
this.dataSource.ol.on('clear', () => this.maintainFeaturesInIdb());
|
|
70
|
-
this.dataSource.ol.on('removefeature', () => this.maintainFeaturesInIdb());
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
if (this.dataSource instanceof FeatureDataSource &&
|
|
74
|
-
(so?.preload?.bypassResolution || so?.preload?.bypassVisible)) {
|
|
75
|
-
this.dataSource.ol.once('featuresloadend', () => {
|
|
76
|
-
if (initialOpacityValue) {
|
|
77
|
-
this.opacity = initialOpacityValue;
|
|
78
|
-
}
|
|
79
|
-
if (so.preload.bypassResolution) {
|
|
80
|
-
this.minResolution = initialMinResValue;
|
|
81
|
-
this.maxResolution = initialMaxResValue;
|
|
82
|
-
}
|
|
83
|
-
if (so.preload.bypassVisible) {
|
|
84
|
-
this.visible = initialVisibleValue;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
if (this.options.trackFeature) {
|
|
89
|
-
this.enableTrackFeature(this.options.trackFeature);
|
|
90
|
-
}
|
|
91
|
-
const vector = new olLayerVector(olOptions);
|
|
92
|
-
const vectorSource = vector.getSource();
|
|
93
|
-
const url = vectorSource.getUrl();
|
|
94
|
-
if (url) {
|
|
95
|
-
let loader;
|
|
96
|
-
const wfsOptions = olOptions.sourceOptions;
|
|
97
|
-
if (wfsOptions?.type === 'wfs' && (wfsOptions.params || wfsOptions.paramsWFS)) {
|
|
98
|
-
loader = (extent, resolution, proj, success, failure) => {
|
|
99
|
-
this.customWFSLoader(vectorSource, wfsOptions, this.authInterceptor, extent, resolution, proj, success, failure);
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
loader = (extent, resolution, proj, success, failure) => {
|
|
104
|
-
this.customLoader(vectorSource, url, this.authInterceptor, extent, resolution, proj, success, failure);
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
if (loader) {
|
|
108
|
-
vectorSource.setLoader(loader);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
else if (this.options.idbInfo?.storeToIdb && this.geoDBService) {
|
|
112
|
-
const idbLoader = (extent, resolution, proj, success, failure) => {
|
|
113
|
-
this.customIDBLoader(vectorSource, olOptions.id, extent, proj, success, failure);
|
|
114
|
-
};
|
|
115
|
-
if (idbLoader) {
|
|
116
|
-
vectorSource.setLoader(idbLoader);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
if (this.options.idbInfo?.storeToIdb && this.geoDBService) {
|
|
120
|
-
vector.once('sourceready', () => {
|
|
121
|
-
if (this.options.idbInfo.firstLoad) {
|
|
122
|
-
this.maintainOptionsInIdb();
|
|
123
|
-
}
|
|
124
|
-
fromEvent(vector, 'change').pipe(debounceTime(750)).subscribe(() => this.maintainOptionsInIdb());
|
|
125
|
-
vector.on('change:zIndex', () => this.maintainOptionsInIdb());
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
return vector;
|
|
129
|
-
}
|
|
130
|
-
removeLayerFromIDB() {
|
|
131
|
-
if (this.geoDBService && this.layerDBService) {
|
|
132
|
-
zip(this.geoDBService.deleteByKey(this.id), this.layerDBService.deleteByKey(this.id)).subscribe();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
maintainOptionsInIdb() {
|
|
136
|
-
this.options.igoStyle.igoStyleObject = olStyleToBasicIgoStyle(this.ol);
|
|
137
|
-
const layerData = ObjectUtils.removeUndefined({
|
|
138
|
-
layerId: this.id,
|
|
139
|
-
detailedContextUri: this.options.idbInfo.contextUri,
|
|
140
|
-
sourceOptions: {
|
|
141
|
-
id: this.id,
|
|
142
|
-
type: 'vector',
|
|
143
|
-
queryable: true
|
|
144
|
-
},
|
|
145
|
-
layerOptions: {
|
|
146
|
-
workspace: this.options.workspace,
|
|
147
|
-
zIndex: this.ol ? this.zIndex : 1000000,
|
|
148
|
-
id: this.id,
|
|
149
|
-
isIgoInternalLayer: this.isIgoInternalLayer,
|
|
150
|
-
title: this.title,
|
|
151
|
-
igoStyle: this.options.igoStyle,
|
|
152
|
-
idbInfo: Object.assign({}, this.options.idbInfo, { firstLoad: false })
|
|
153
|
-
},
|
|
154
|
-
insertEvent: `${this.title}-${this.id}-${new Date()}`
|
|
155
|
-
});
|
|
156
|
-
this.layerDBService.update(layerData);
|
|
157
|
-
}
|
|
158
|
-
maintainFeaturesInIdb() {
|
|
159
|
-
const dsFeatures = this.dataSource.ol.getFeatures();
|
|
160
|
-
const geojsonObject = JSON.parse(new olformat.GeoJSON().writeFeatures(dsFeatures, {
|
|
161
|
-
dataProjection: 'EPSG:4326',
|
|
162
|
-
featureProjection: this.dataSource.ol.getProjection() || 'EPSG:3857'
|
|
163
|
-
}));
|
|
164
|
-
this.geoDBService.update(this.id, this.id, geojsonObject, InsertSourceInsertDBEnum.User, `${this.title}-${this.id}-${new Date()}`);
|
|
165
|
-
}
|
|
166
|
-
flash(feature) {
|
|
167
|
-
const start = new Date().getTime();
|
|
168
|
-
const listenerKey = this.ol.on('postrender', animate.bind(this));
|
|
169
|
-
function animate(event) {
|
|
170
|
-
const vectorContext = getVectorContext(event);
|
|
171
|
-
const frameState = event.frameState;
|
|
172
|
-
const flashGeom = feature.getGeometry().clone();
|
|
173
|
-
const elapsed = frameState.time - start;
|
|
174
|
-
const elapsedRatio = elapsed / this.options.animation.duration;
|
|
175
|
-
const opacity = easeOut(1 - elapsedRatio);
|
|
176
|
-
const newColor = ColorAsArray(this.options.animation.color || 'red');
|
|
177
|
-
newColor[3] = opacity;
|
|
178
|
-
let style = this.ol
|
|
179
|
-
.getStyleFunction()
|
|
180
|
-
.call(this, feature)
|
|
181
|
-
.find((style2) => {
|
|
182
|
-
return style2.getImage();
|
|
183
|
-
});
|
|
184
|
-
if (!style) {
|
|
185
|
-
style = this.ol.getStyleFunction().call(this, feature)[0];
|
|
186
|
-
}
|
|
187
|
-
const styleClone = style.clone();
|
|
188
|
-
switch (feature.getGeometry().getType()) {
|
|
189
|
-
case 'Point':
|
|
190
|
-
if (styleClone.getImage() !== null &&
|
|
191
|
-
typeof styleClone.getImage().getRadius === 'function') {
|
|
192
|
-
const radius = easeOut(elapsedRatio) * (styleClone.getImage().getRadius() * 3);
|
|
193
|
-
styleClone.getImage().setRadius(radius);
|
|
194
|
-
styleClone.getImage().setOpacity(opacity);
|
|
195
|
-
}
|
|
196
|
-
break;
|
|
197
|
-
case 'LineString':
|
|
198
|
-
// TODO
|
|
199
|
-
if (styleClone.getImage()) {
|
|
200
|
-
styleClone.getImage().getStroke().setColor(newColor);
|
|
201
|
-
styleClone
|
|
202
|
-
.getImage()
|
|
203
|
-
.getStroke()
|
|
204
|
-
.setWidth(easeOut(elapsedRatio) *
|
|
205
|
-
(styleClone.getImage().getStroke().getWidth() * 3));
|
|
206
|
-
}
|
|
207
|
-
if (styleClone.getStroke()) {
|
|
208
|
-
styleClone.getStroke().setColor(newColor);
|
|
209
|
-
styleClone
|
|
210
|
-
.getStroke()
|
|
211
|
-
.setWidth(easeOut(elapsedRatio) * (styleClone.getStroke().getWidth() * 3));
|
|
212
|
-
}
|
|
213
|
-
break;
|
|
214
|
-
case 'Polygon':
|
|
215
|
-
// TODO
|
|
216
|
-
if (styleClone.getImage()) {
|
|
217
|
-
styleClone.getImage().getFill().setColor(newColor);
|
|
218
|
-
}
|
|
219
|
-
if (styleClone.getFill()) {
|
|
220
|
-
styleClone.getFill().setColor(newColor);
|
|
221
|
-
}
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
styleClone.setText('');
|
|
225
|
-
vectorContext.setStyle(styleClone);
|
|
226
|
-
vectorContext.drawGeometry(flashGeom);
|
|
227
|
-
if (elapsed > this.options.animation.duration) {
|
|
228
|
-
unByKey(listenerKey);
|
|
229
|
-
// remove last geometry
|
|
230
|
-
// there is a little flash before feature disappear, better solution ?
|
|
231
|
-
this.map.ol.render();
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
// tell OpenLayers to continue postcompose animation
|
|
235
|
-
this.map.ol.render();
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
setMap(map) {
|
|
239
|
-
if (map === undefined) {
|
|
240
|
-
this.watcher.unsubscribe();
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
this.watcher.subscribe(() => { });
|
|
244
|
-
}
|
|
245
|
-
super.setMap(map);
|
|
246
|
-
}
|
|
247
|
-
setExtent(extent) {
|
|
248
|
-
this.options.extent = extent;
|
|
249
|
-
}
|
|
250
|
-
onUnwatch() {
|
|
251
|
-
this.dataSource.onUnwatch();
|
|
252
|
-
this.stopAnimation();
|
|
253
|
-
}
|
|
254
|
-
stopAnimation() {
|
|
255
|
-
this.dataSource.ol.un('addfeature', function (e) {
|
|
256
|
-
if (this.visible) {
|
|
257
|
-
this.flash(e.feature);
|
|
258
|
-
}
|
|
259
|
-
}.bind(this));
|
|
260
|
-
}
|
|
261
|
-
enableTrackFeature(id) {
|
|
262
|
-
this.trackFeatureListenerId = this.dataSource.ol.on('addfeature', this.trackFeature.bind(this, id));
|
|
263
|
-
}
|
|
264
|
-
centerMapOnFeature(id) {
|
|
265
|
-
const feat = this.dataSource.ol.getFeatureById(id);
|
|
266
|
-
if (feat) {
|
|
267
|
-
this.map.ol.getView().setCenter(feat.getGeometry().getCoordinates());
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
trackFeature(id, feat) {
|
|
271
|
-
if (feat.feature.getId() === id && this.visible) {
|
|
272
|
-
this.centerMapOnFeature(id);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
disableTrackFeature(id) {
|
|
276
|
-
unByKey(this.trackFeatureListenerId);
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Custom loader for a WFS datasource
|
|
280
|
-
* @internal
|
|
281
|
-
* @param vectorSource the vector source to be created
|
|
282
|
-
* @param options olOptions from source
|
|
283
|
-
* @param interceptor the interceptor of the data
|
|
284
|
-
* @param extent the extent of the requested data
|
|
285
|
-
* @param resolution the current resolution
|
|
286
|
-
* @param proj the projection to retrieve the data
|
|
287
|
-
* @param success success callback
|
|
288
|
-
* @param failure failure callback
|
|
289
|
-
* @param randomParam random parameter to ensure cache is not causing problems in retrieving new data
|
|
290
|
-
*/
|
|
291
|
-
customWFSLoader(vectorSource, options, interceptor, extent, resolution, proj, success, failure, randomParam) {
|
|
292
|
-
{
|
|
293
|
-
const paramsWFS = options.paramsWFS;
|
|
294
|
-
const wfsProj = paramsWFS.srsName ? new olProjection({ code: paramsWFS.srsName }) : proj;
|
|
295
|
-
const currentExtent = olproj.transformExtent(extent, proj, wfsProj);
|
|
296
|
-
paramsWFS.srsName = paramsWFS.srsName || proj.getCode();
|
|
297
|
-
const url = buildUrl(options, currentExtent, wfsProj, options.ogcFilters, randomParam);
|
|
298
|
-
let startIndex = 0;
|
|
299
|
-
if (paramsWFS.version === '2.0.0' && paramsWFS.maxFeatures > defaultMaxFeatures) {
|
|
300
|
-
const nbOfFeature = 1000;
|
|
301
|
-
while (startIndex < paramsWFS.maxFeatures) {
|
|
302
|
-
let alteredUrl = url.replace('count=' + paramsWFS.maxFeatures, 'count=' + nbOfFeature);
|
|
303
|
-
alteredUrl = alteredUrl.replace('startIndex=0', '0');
|
|
304
|
-
alteredUrl += '&startIndex=' + startIndex;
|
|
305
|
-
alteredUrl.replace(/&&/g, '&');
|
|
306
|
-
this.getFeatures(vectorSource, interceptor, currentExtent, wfsProj, proj, alteredUrl, nbOfFeature, success, failure);
|
|
307
|
-
startIndex += nbOfFeature;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
else {
|
|
311
|
-
this.getFeatures(vectorSource, interceptor, currentExtent, wfsProj, proj, url, paramsWFS.maxFeatures, success, failure);
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Custom loader to get feature from a WFS datasource
|
|
317
|
-
* @internal
|
|
318
|
-
* @param vectorSource the vector source to be created
|
|
319
|
-
* @param interceptor the interceptor of the data
|
|
320
|
-
* @param extent the extent of the requested data
|
|
321
|
-
* @param dataProjection the projection of the retrieved data
|
|
322
|
-
* @param featureProjection the projection of the created features
|
|
323
|
-
* @param url the url string to retrieve the data
|
|
324
|
-
* @param threshold the threshold to manage "more features" (TODO)
|
|
325
|
-
* @param success success callback
|
|
326
|
-
* @param failure failure callback
|
|
327
|
-
*/
|
|
328
|
-
getFeatures(vectorSource, interceptor, extent, dataProjection, featureProjection, url, threshold, success, failure) {
|
|
329
|
-
const idAssociatedCall = this.dataSource.mostRecentIdCallOGCFilter;
|
|
330
|
-
const xhr = new XMLHttpRequest();
|
|
331
|
-
const alteredUrlWithKeyAuth = interceptor.alterUrlWithKeyAuth(url);
|
|
332
|
-
let modifiedUrl = url;
|
|
333
|
-
if (alteredUrlWithKeyAuth) {
|
|
334
|
-
modifiedUrl = alteredUrlWithKeyAuth;
|
|
335
|
-
}
|
|
336
|
-
xhr.open('GET', modifiedUrl);
|
|
337
|
-
if (interceptor) {
|
|
338
|
-
interceptor.interceptXhr(xhr, modifiedUrl);
|
|
339
|
-
}
|
|
340
|
-
const onError = () => {
|
|
341
|
-
vectorSource.removeLoadedExtent(extent);
|
|
342
|
-
failure();
|
|
343
|
-
};
|
|
344
|
-
xhr.onerror = onError;
|
|
345
|
-
xhr.onload = () => {
|
|
346
|
-
if (xhr.status === 200 && xhr.responseText.length > 0) {
|
|
347
|
-
const features = vectorSource
|
|
348
|
-
.getFormat()
|
|
349
|
-
.readFeatures(xhr.responseText, { dataProjection, featureProjection });
|
|
350
|
-
// TODO Manage "More feature"
|
|
351
|
-
/*if (features.length === 0 || features.length < threshold ) {
|
|
352
|
-
console.log('No more data to download at this resolution');
|
|
353
|
-
}*/
|
|
354
|
-
// Avoids retrieving an older call that took longer to be process
|
|
355
|
-
if (idAssociatedCall === this.dataSource.mostRecentIdCallOGCFilter) {
|
|
356
|
-
vectorSource.addFeatures(features);
|
|
357
|
-
success(features);
|
|
358
|
-
}
|
|
359
|
-
else {
|
|
360
|
-
success([]);
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
else {
|
|
364
|
-
onError();
|
|
365
|
-
}
|
|
366
|
-
};
|
|
367
|
-
xhr.send();
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Custom loader for vector layer.
|
|
371
|
-
* @internal
|
|
372
|
-
* @param vectorSource the vector source to be created
|
|
373
|
-
* @param url the url string or function to retrieve the data
|
|
374
|
-
* @param interceptor the interceptor of the data
|
|
375
|
-
* @param extent the extent of the requested data
|
|
376
|
-
* @param resolution the current resolution
|
|
377
|
-
* @param projection the projection to retrieve the data
|
|
378
|
-
*/
|
|
379
|
-
customLoader(vectorSource, url, interceptor, extent, resolution, projection, success, failure) {
|
|
380
|
-
const xhr = new XMLHttpRequest();
|
|
381
|
-
let modifiedUrl = url;
|
|
382
|
-
if (typeof url !== 'function') {
|
|
383
|
-
const alteredUrlWithKeyAuth = interceptor.alterUrlWithKeyAuth(url);
|
|
384
|
-
if (alteredUrlWithKeyAuth) {
|
|
385
|
-
modifiedUrl = alteredUrlWithKeyAuth;
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
else {
|
|
389
|
-
modifiedUrl = url(extent, resolution, projection);
|
|
390
|
-
}
|
|
391
|
-
if (this.geoNetworkService && typeof url !== 'function') {
|
|
392
|
-
const format = vectorSource.getFormat();
|
|
393
|
-
const type = format.getType();
|
|
394
|
-
let responseType = type;
|
|
395
|
-
const onError = () => {
|
|
396
|
-
vectorSource.removeLoadedExtent(extent);
|
|
397
|
-
failure();
|
|
398
|
-
};
|
|
399
|
-
const options = { responseType };
|
|
400
|
-
this.geoNetworkService.geoDBService.get(url).pipe(delay(750)).pipe(concatMap(r => r ? of(r) : this.geoNetworkService.get(modifiedUrl, options)
|
|
401
|
-
.pipe(first(), catchError((res) => {
|
|
402
|
-
onError();
|
|
403
|
-
throw res;
|
|
404
|
-
}))))
|
|
405
|
-
.subscribe((content) => {
|
|
406
|
-
if (content) {
|
|
407
|
-
const format = vectorSource.getFormat();
|
|
408
|
-
const type = format.getType();
|
|
409
|
-
let source;
|
|
410
|
-
if (type === 'json' || type === 'text') {
|
|
411
|
-
source = content;
|
|
412
|
-
}
|
|
413
|
-
else if (type === 'xml') {
|
|
414
|
-
source = content;
|
|
415
|
-
if (!source) {
|
|
416
|
-
source = new DOMParser().parseFromString(content, 'application/xml');
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
else if (type === 'arraybuffer') {
|
|
420
|
-
source = content;
|
|
421
|
-
}
|
|
422
|
-
if (source) {
|
|
423
|
-
const features = format.readFeatures(source, { extent, featureProjection: projection });
|
|
424
|
-
vectorSource.addFeatures(features, format.readProjection(source));
|
|
425
|
-
success(features);
|
|
426
|
-
}
|
|
427
|
-
else {
|
|
428
|
-
onError();
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
});
|
|
432
|
-
}
|
|
433
|
-
else {
|
|
434
|
-
xhr.open('GET', modifiedUrl);
|
|
435
|
-
const format = vectorSource.getFormat();
|
|
436
|
-
if (format.getType() === 'arraybuffer') {
|
|
437
|
-
xhr.responseType = 'arraybuffer';
|
|
438
|
-
}
|
|
439
|
-
if (interceptor) {
|
|
440
|
-
interceptor.interceptXhr(xhr, modifiedUrl);
|
|
441
|
-
}
|
|
442
|
-
const onError = () => {
|
|
443
|
-
vectorSource.removeLoadedExtent(extent);
|
|
444
|
-
failure();
|
|
445
|
-
};
|
|
446
|
-
xhr.onerror = onError;
|
|
447
|
-
xhr.onload = () => {
|
|
448
|
-
// status will be 0 for file:// urls
|
|
449
|
-
if (!xhr.status || (xhr.status >= 200 && xhr.status < 300)) {
|
|
450
|
-
const type = format.getType();
|
|
451
|
-
let source;
|
|
452
|
-
if (type === 'json' || type === 'text') {
|
|
453
|
-
source = xhr.responseText;
|
|
454
|
-
}
|
|
455
|
-
else if (type === 'xml') {
|
|
456
|
-
source = xhr.responseXML;
|
|
457
|
-
if (!source) {
|
|
458
|
-
source = new DOMParser().parseFromString(xhr.responseText, 'application/xml');
|
|
459
|
-
}
|
|
460
|
-
}
|
|
461
|
-
else if (type === 'arraybuffer') {
|
|
462
|
-
source = xhr.response;
|
|
463
|
-
}
|
|
464
|
-
if (source) {
|
|
465
|
-
const features = format.readFeatures(source, { extent, featureProjection: projection });
|
|
466
|
-
vectorSource.addFeatures(features, format.readProjection(source));
|
|
467
|
-
success(features);
|
|
468
|
-
}
|
|
469
|
-
else {
|
|
470
|
-
onError();
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
else {
|
|
474
|
-
onError();
|
|
475
|
-
}
|
|
476
|
-
};
|
|
477
|
-
xhr.send();
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
/**
|
|
481
|
-
* Custom loader for vector layer.
|
|
482
|
-
* @internal
|
|
483
|
-
* @param vectorSource the vector source to be created
|
|
484
|
-
* @param layerID the url string or function to retrieve the data
|
|
485
|
-
* @param interceptor the interceptor of the data
|
|
486
|
-
* @param extent the extent of the requested data
|
|
487
|
-
* @param resolution the current resolution
|
|
488
|
-
* @param projection the projection to retrieve the data
|
|
489
|
-
*/
|
|
490
|
-
customIDBLoader(vectorSource, layerID, extent, projection, success, failure) {
|
|
491
|
-
if (this.geoNetworkService) {
|
|
492
|
-
const onError = () => {
|
|
493
|
-
vectorSource.removeLoadedExtent(extent);
|
|
494
|
-
failure();
|
|
495
|
-
};
|
|
496
|
-
this.geoNetworkService.geoDBService.get(layerID)
|
|
497
|
-
.subscribe((content) => {
|
|
498
|
-
if (content) {
|
|
499
|
-
const format = vectorSource.getFormat();
|
|
500
|
-
const type = format.getType();
|
|
501
|
-
let source;
|
|
502
|
-
if (type === 'json' || type === 'text') {
|
|
503
|
-
source = content;
|
|
504
|
-
}
|
|
505
|
-
else if (type === 'xml') {
|
|
506
|
-
source = content;
|
|
507
|
-
if (!source) {
|
|
508
|
-
source = new DOMParser().parseFromString(content, 'application/xml');
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
else if (type === 'arraybuffer') {
|
|
512
|
-
source = content;
|
|
513
|
-
}
|
|
514
|
-
if (source) {
|
|
515
|
-
const features = format.readFeatures(source, { extent, featureProjection: projection });
|
|
516
|
-
vectorSource.addFeatures(features, format.readProjection(source));
|
|
517
|
-
success(features);
|
|
518
|
-
}
|
|
519
|
-
else {
|
|
520
|
-
onError();
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
});
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLWxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFHNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQU05RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBcUIsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUtoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFHcEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFvQnBDLFlBQ0UsT0FBMkIsRUFDcEIsY0FBK0IsRUFDL0IsZUFBaUMsRUFDaEMsaUJBQXFDLEVBQ3RDLFlBQTJCLEVBQzNCLGNBQStCO1FBRXRDLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFOdkUsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBQzNCLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUd0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQW5CRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQWVTLGFBQWE7UUFDckIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDdEQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUM7UUFDM0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3BILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNwSCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQXlDLENBQUM7UUFDbEUsSUFBSSxJQUFJLENBQUMsVUFBVSxZQUFZLGlCQUFpQixFQUFFO1lBQ2hELElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUM3RixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7b0JBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztpQkFDdkM7Z0JBQ0QsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLG1CQUFtQixFQUFFO29CQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7aUJBQzdCO2FBQ0Y7U0FDRjtRQUVELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEQsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQWdDO1NBQzdELENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNuQixZQUFZLEVBQ1osVUFBUyxDQUFDO2dCQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2IsQ0FBQztTQUNIO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN6RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQztnQkFDakMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7YUFDOUI7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztnQkFDM0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7WUFDN0UsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQ0UsSUFBSSxDQUFDLFVBQVUsWUFBWSxpQkFBaUI7WUFDNUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtnQkFDOUMsSUFBSSxtQkFBbUIsRUFBRTtvQkFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQztpQkFDcEM7Z0JBQ0QsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFO29CQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDO29CQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDO2lCQUN6QztnQkFDRCxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO29CQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLG1CQUFtQixDQUFDO2lCQUNwQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBZ0MsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEMsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLE1BQU0sQ0FBQztZQUNYLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxhQUFxQyxDQUFDO1lBQ25FLElBQUksVUFBVSxFQUFFLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDN0UsTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO29CQUN0RCxJQUFJLENBQUMsZUFBZSxDQUNsQixZQUFZLEVBQ1osVUFBVSxFQUNWLElBQUksQ0FBQyxlQUFlLEVBQ3BCLE1BQU0sRUFDTixVQUFVLEVBQ1YsSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLENBQ1IsQ0FBQztnQkFDSixDQUFDLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7b0JBQ3RELElBQUksQ0FBQyxZQUFZLENBQ2YsWUFBWSxFQUNaLEdBQUcsRUFDSCxJQUFJLENBQUMsZUFBZSxFQUNwQixNQUFNLEVBQ04sVUFBVSxFQUNWLElBQUksRUFDSixPQUFPLEVBQ1AsT0FBTyxDQUNSLENBQUM7Z0JBQ0osQ0FBQyxDQUFDO2FBQ0g7WUFDRCxJQUFJLE1BQU0sRUFBRTtnQkFDVixZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2hDO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2hFLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsZUFBZSxDQUNsQixZQUFZLEVBQ1osU0FBUyxDQUFDLEVBQUUsRUFDWixNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLENBQ1IsQ0FBQztZQUNKLENBQUMsQ0FBQztZQUNGLElBQUksU0FBUyxFQUFFO2dCQUNiLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbkM7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDekQsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQztvQkFDakMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7aUJBQzdCO2dCQUNELFNBQVMsQ0FBWSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQzVDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sU0FBUyxHQUFnQixXQUFXLENBQUMsZUFBZSxDQUFDO1lBQ3pELE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNoQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ25ELGFBQWEsRUFBRTtnQkFDYixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsU0FBUyxFQUFFLElBQUk7YUFDaEI7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztnQkFDakMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFDLE9BQU87Z0JBQ3RDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO2dCQUMzQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7Z0JBQy9CLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUN2RTtZQUNELFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFO1NBQ3RELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO1lBQ2hGLGNBQWMsRUFBRSxXQUFXO1lBQzNCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLFdBQVc7U0FDckUsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBRVMsS0FBSyxDQUFDLE9BQU87UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRWpFLFNBQVMsT0FBTyxDQUFDLEtBQUs7WUFDcEIsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUNwQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUMvRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO1lBQzFDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUM7WUFDckUsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztZQUN0QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRTtpQkFDaEIsZ0JBQWdCLEVBQUU7aUJBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2lCQUNuQixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZixPQUFPLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNEO1lBQ0QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWpDLFFBQVEsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN2QyxLQUFLLE9BQU87b0JBQ1YsSUFBRyxVQUFVLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSTt3QkFDL0IsT0FBTyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBQzt3QkFDdEQsTUFBTSxNQUFNLEdBQ1osT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO3dCQUNoRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUN4QyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUMzQztvQkFFRCxNQUFNO2dCQUNSLEtBQUssWUFBWTtvQkFDZixPQUFPO29CQUNQLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFO3dCQUN6QixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNyRCxVQUFVOzZCQUNQLFFBQVEsRUFBRTs2QkFDVixTQUFTLEVBQUU7NkJBQ1gsUUFBUSxDQUNQLE9BQU8sQ0FBQyxZQUFZLENBQUM7NEJBQ25CLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUNyRCxDQUFDO3FCQUNMO29CQUNELElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFO3dCQUMxQixVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUMxQyxVQUFVOzZCQUNQLFNBQVMsRUFBRTs2QkFDWCxRQUFRLENBQ1AsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUNoRSxDQUFDO3FCQUNMO29CQUNELE1BQU07Z0JBQ1IsS0FBSyxTQUFTO29CQUNaLE9BQU87b0JBQ1AsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUU7d0JBQ3pCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ3BEO29CQUNELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFO3dCQUN4QixVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUN6QztvQkFDRCxNQUFNO2FBQ1Q7WUFFRCxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLGFBQWEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV0QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzdDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDckIsdUJBQXVCO2dCQUN2QixzRUFBc0U7Z0JBQ3RFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNyQixPQUFPO2FBQ1I7WUFDRCxvREFBb0Q7WUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsR0FBdUI7UUFDbkMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWlCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDbkIsWUFBWSxFQUNaLFVBQVMsQ0FBQztZQUNSLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sa0JBQWtCLENBQUMsRUFBbUI7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDakQsWUFBWSxFQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FDakMsQ0FBQztJQUNKLENBQUM7SUFDTSxrQkFBa0IsQ0FBQyxFQUFtQjtRQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUUsSUFBSSxDQUFDLFdBQVcsRUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDL0U7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMvQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsRUFBb0I7UUFDN0MsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxlQUFlLENBQ3BCLFlBQVksRUFDWixPQUFPLEVBQ1AsV0FBVyxFQUNYLE1BQU0sRUFDTixVQUFVLEVBQ1YsSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLEVBQ1AsV0FBcUI7UUFFckI7WUFDRSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDekYsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLFNBQVMsQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEQsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUNsQixPQUFPLEVBQ1AsYUFBYSxFQUNiLE9BQU8sRUFDTixPQUEwQyxDQUFDLFVBQVUsRUFDdEQsV0FBVyxDQUFDLENBQUM7WUFDZixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxTQUFTLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSSxTQUFTLENBQUMsV0FBVyxHQUFHLGtCQUFrQixFQUFFO2dCQUMvRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLE9BQU8sVUFBVSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUU7b0JBQ3pDLElBQUksVUFBVSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDO29CQUN2RixVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3JELFVBQVUsSUFBSSxjQUFjLEdBQUcsVUFBVSxDQUFDO29CQUMxQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNySCxVQUFVLElBQUksV0FBVyxDQUFDO2lCQUMzQjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDekg7U0FDRjtJQUNILENBQUM7SUFHRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSyxXQUFXLENBQ2pCLFlBQXdDLEVBQ3hDLFdBQVcsRUFDWCxNQUFNLEVBQ04sY0FBYyxFQUNkLGlCQUFpQixFQUNqQixHQUFXLEVBQ1gsU0FBaUIsRUFDakIsT0FBTyxFQUFFLE9BQU87UUFFaEIsTUFBTSxnQkFBZ0IsR0FBSSxJQUFJLENBQUMsVUFBNEIsQ0FBQyx5QkFBeUIsQ0FBQztRQUN0RixNQUFNLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0scUJBQXFCLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLHFCQUFxQixFQUFFO1lBQ3pCLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztTQUNyQztRQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzdCLElBQUksV0FBVyxFQUFFO1lBQ2YsV0FBVyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDNUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDbkIsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDO1FBQ0YsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3JELE1BQU0sUUFBUSxHQUNaLFlBQVk7cUJBQ1QsU0FBUyxFQUFFO3FCQUNYLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLENBQTRCLENBQUM7Z0JBQ3RHLDZCQUE2QjtnQkFDN0I7O21CQUVHO2dCQUNILGlFQUFpRTtnQkFDakUsSUFBSSxnQkFBZ0IsS0FBTSxJQUFJLENBQUMsVUFBNEIsQ0FBQyx5QkFBeUIsRUFDckY7b0JBQ0ksWUFBWSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDbkMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNyQjtxQkFDSTtvQkFDRCxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ2Y7YUFDRjtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNLLFlBQVksQ0FDbEIsWUFBWSxFQUNaLEdBQUcsRUFDSCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFVBQVUsRUFDVixVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQU87UUFFUCxNQUFNLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLE9BQU8sR0FBRyxLQUFLLFVBQVUsRUFBRTtZQUM3QixNQUFNLHFCQUFxQixHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRSxJQUFJLHFCQUFxQixFQUFFO2dCQUN6QixXQUFXLEdBQUcscUJBQXFCLENBQUM7YUFDckM7U0FDRjthQUFNO1lBQ0wsV0FBVyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVSxFQUFFO1lBQ3ZELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFOUIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQztZQUVGLE1BQU0sT0FBTyxHQUFxQixFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQy9FLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7aUJBQ3pELElBQUksQ0FDSCxLQUFLLEVBQUUsRUFDUCxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDakIsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxHQUFHLENBQUM7WUFDWixDQUFDLENBQUMsQ0FDSCxDQUNKLENBQUM7aUJBQ0QsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksT0FBTyxFQUFFO29CQUNYLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM5QixJQUFJLE1BQU0sQ0FBQztvQkFDWCxJQUFJLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTt3QkFDdEMsTUFBTSxHQUFHLE9BQU8sQ0FBQztxQkFDbEI7eUJBQU0sSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO3dCQUN6QixNQUFNLEdBQUcsT0FBTyxDQUFDO3dCQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFOzRCQUNYLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FDdEMsT0FBTyxFQUNQLGlCQUFpQixDQUNsQixDQUFDO3lCQUNIO3FCQUNGO3lCQUFNLElBQUksSUFBSSxLQUFLLGFBQWEsRUFBRTt3QkFDakMsTUFBTSxHQUFHLE9BQU8sQ0FBQztxQkFDbEI7b0JBQ0QsSUFBSSxNQUFNLEVBQUU7d0JBQ1YsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQzt3QkFDeEYsWUFBWSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3dCQUNsRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ25CO3lCQUFNO3dCQUNMLE9BQU8sRUFBRSxDQUFDO3FCQUNYO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FFTjthQUFNO1lBQ1AsR0FBRyxDQUFDLElBQUksQ0FBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDOUIsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBRTtnQkFDdEMsR0FBRyxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7YUFDbEM7WUFDRCxJQUFJLFdBQVcsRUFBRTtnQkFDZixXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUM1QztZQUVELE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQztZQUNGLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3RCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNoQixvQ0FBb0M7Z0JBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRTtvQkFDMUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM5QixJQUFJLE1BQU0sQ0FBQztvQkFDWCxJQUFJLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTt3QkFDdEMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7cUJBQzNCO3lCQUFNLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTt3QkFDekIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7d0JBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUU7NEJBQ1gsTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUN0QyxHQUFHLENBQUMsWUFBWSxFQUNoQixpQkFBaUIsQ0FDbEIsQ0FBQzt5QkFDSDtxQkFDRjt5QkFBTSxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUU7d0JBQ2pDLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO3FCQUN2QjtvQkFDRCxJQUFJLE1BQU0sRUFBRTt3QkFDVixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO3dCQUN4RixZQUFZLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7d0JBQ2xFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDbkI7eUJBQU07d0JBQ0wsT0FBTyxFQUFFLENBQUM7cUJBQ1g7aUJBQ0Y7cUJBQU07b0JBQ0wsT0FBTyxFQUFFLENBQUM7aUJBQ1g7WUFDSCxDQUFDLENBQUM7WUFDRixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDWjtJQUNELENBQUM7SUFHRDs7Ozs7Ozs7O09BU0c7SUFDSyxlQUFlLENBQ3JCLFlBQVksRUFDWixPQUFPLEVBQ1AsTUFBTSxFQUNOLFVBQVUsRUFDVixPQUFPLEVBQ1AsT0FBTztRQUlQLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztpQkFDL0MsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksT0FBTyxFQUFFO29CQUNYLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM5QixJQUFJLE1BQU0sQ0FBQztvQkFDWCxJQUFJLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTt3QkFDdEMsTUFBTSxHQUFHLE9BQU8sQ0FBQztxQkFDbEI7eUJBQU0sSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO3dCQUN6QixNQUFNLEdBQUcsT0FBTyxDQUFDO3dCQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFOzRCQUNYLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FDdEMsT0FBTyxFQUNQLGlCQUFpQixDQUNsQixDQUFDO3lCQUNIO3FCQUNGO3lCQUFNLElBQUksSUFBSSxLQUFLLGFBQWEsRUFBRTt3QkFDakMsTUFBTSxHQUFHLE9BQU8sQ0FBQztxQkFDbEI7b0JBQ0QsSUFBSSxNQUFNLEVBQUU7d0JBQ1YsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQzt3QkFDeEYsWUFBWSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3dCQUNsRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ25CO3lCQUFNO3dCQUNMLE9BQU8sRUFBRSxDQUFDO3FCQUNYO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FFTjtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbExheWVyVmVjdG9yIGZyb20gJ29sL2xheWVyL1ZlY3Rvcic7XHJcbmltcG9ydCBvbFNvdXJjZVZlY3RvciBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0IHsgdW5CeUtleSB9IGZyb20gJ29sL09ic2VydmFibGUnO1xyXG5pbXBvcnQgeyBlYXNlT3V0IH0gZnJvbSAnb2wvZWFzaW5nJztcclxuaW1wb3J0IHsgYXNBcnJheSBhcyBDb2xvckFzQXJyYXkgfSBmcm9tICdvbC9jb2xvcic7XHJcbmltcG9ydCB7IGdldFZlY3RvckNvbnRleHQgfSBmcm9tICdvbC9yZW5kZXInO1xyXG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgb2xQcm9qZWN0aW9uIGZyb20gJ29sL3Byb2ovUHJvamVjdGlvbic7XHJcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0ICogYXMgb2xmb3JtYXQgZnJvbSAnb2wvZm9ybWF0JztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlJztcclxuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlJztcclxuaW1wb3J0IHsgQXJjR0lTUmVzdERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9hcmNnaXNyZXN0LWRhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBXZWJTb2NrZXREYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd2Vic29ja2V0LWRhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBDbHVzdGVyRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NsdXN0ZXItZGF0YXNvdXJjZSc7XHJcblxyXG5pbXBvcnQgeyBWZWN0b3JXYXRjaGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBJZ29NYXAsIE1hcEV4dGVudCwgZ2V0UmVzb2x1dGlvbkZyb21TY2FsZSB9IGZyb20gJy4uLy4uLy4uL21hcCc7XHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi9sYXllcic7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyT3B0aW9ucyB9IGZyb20gJy4vdmVjdG9yLWxheWVyLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEF1dGhJbnRlcmNlcHRvciB9IGZyb20gJ0BpZ28yL2F1dGgnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IGJ1aWxkVXJsLCBkZWZhdWx0TWF4RmVhdHVyZXMgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtd2ZzLnV0aWxzJztcclxuaW1wb3J0IHsgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEdlb05ldHdvcmtTZXJ2aWNlLCBTaW1wbGVHZXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vb2ZmbGluZS9zaGFyZWQvZ2VvLW5ldHdvcmsuc2VydmljZSc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGNvbmNhdE1hcCwgZGVib3VuY2VUaW1lLCBkZWxheSwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEdlb0RCU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL29mZmxpbmUvZ2VvREIvZ2VvREIuc2VydmljZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgb2YsIHppcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0gfSBmcm9tICcuLi8uLi8uLi9vZmZsaW5lL2dlb0RCL2dlb0RCLmVudW1zJztcclxuaW1wb3J0IHsgTGF5ZXJEQlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9vZmZsaW5lL2xheWVyREIvbGF5ZXJEQi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5ZXJEQkRhdGEgfSBmcm9tICcuLi8uLi8uLi9vZmZsaW5lJztcclxuaW1wb3J0IEJhc2VFdmVudCBmcm9tICdvbC9ldmVudHMvRXZlbnQnO1xyXG5pbXBvcnQgeyBvbFN0eWxlVG9CYXNpY0lnb1N0eWxlIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGUvc2hhcmVkL3ZlY3Rvci9jb252ZXJzaW9uLnV0aWxzJztcclxuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFZlY3RvckxheWVyIGV4dGVuZHMgTGF5ZXIge1xyXG4gIHB1YmxpYyBkYXRhU291cmNlOlxyXG4gICAgfCBGZWF0dXJlRGF0YVNvdXJjZVxyXG4gICAgfCBXRlNEYXRhU291cmNlXHJcbiAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlXHJcbiAgICB8IFdlYlNvY2tldERhdGFTb3VyY2VcclxuICAgIHwgQ2x1c3RlckRhdGFTb3VyY2U7XHJcbiAgcHVibGljIG9wdGlvbnM6IFZlY3RvckxheWVyT3B0aW9ucztcclxuICBwdWJsaWMgb2w6IG9sTGF5ZXJWZWN0b3I8b2xTb3VyY2VWZWN0b3I8T2xHZW9tZXRyeT4+O1xyXG4gIHByaXZhdGUgd2F0Y2hlcjogVmVjdG9yV2F0Y2hlcjtcclxuICBwcml2YXRlIHRyYWNrRmVhdHVyZUxpc3RlbmVySWQ7XHJcblxyXG4gIGdldCBicm93c2FibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmJyb3dzYWJsZSAhPT0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgZXhwb3J0YWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZXhwb3J0YWJsZSAhPT0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG9wdGlvbnM6IFZlY3RvckxheWVyT3B0aW9ucyxcclxuICAgIHB1YmxpYyBtZXNzYWdlU2VydmljZT86IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHVibGljIGF1dGhJbnRlcmNlcHRvcj86IEF1dGhJbnRlcmNlcHRvcixcclxuICAgIHByaXZhdGUgZ2VvTmV0d29ya1NlcnZpY2U/OiBHZW9OZXR3b3JrU2VydmljZSxcclxuICAgIHB1YmxpYyBnZW9EQlNlcnZpY2U/OiBHZW9EQlNlcnZpY2UsXHJcbiAgICBwdWJsaWMgbGF5ZXJEQlNlcnZpY2U/OiBMYXllckRCU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIob3B0aW9ucywgbWVzc2FnZVNlcnZpY2UsIGF1dGhJbnRlcmNlcHRvciwgZ2VvREJTZXJ2aWNlLCBsYXllckRCU2VydmljZSk7XHJcbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgVmVjdG9yV2F0Y2hlcih0aGlzKTtcclxuICAgIHRoaXMuc3RhdHVzJCA9IHRoaXMud2F0Y2hlci5zdGF0dXMkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZU9sTGF5ZXIoKTogb2xMYXllclZlY3RvcjxvbFNvdXJjZVZlY3RvcjxPbEdlb21ldHJ5Pj4ge1xyXG4gICAgY29uc3QgaW5pdGlhbE9wYWNpdHlWYWx1ZSA9IHRoaXMub3B0aW9ucy5vcGFjaXR5IHx8IDE7XHJcbiAgICBjb25zdCBpbml0aWFsVmlzaWJsZVZhbHVlID0gdGhpcy5vcHRpb25zLnZpc2libGUgIT09IGZhbHNlO1xyXG4gICAgY29uc3QgaW5pdGlhbE1pblJlc1ZhbHVlID0gdGhpcy5vcHRpb25zLm1pblJlc29sdXRpb24gfHwgZ2V0UmVzb2x1dGlvbkZyb21TY2FsZShOdW1iZXIodGhpcy5vcHRpb25zLm1pblNjYWxlRGVub20pKTtcclxuICAgIGNvbnN0IGluaXRpYWxNYXhSZXNWYWx1ZSA9IHRoaXMub3B0aW9ucy5tYXhSZXNvbHV0aW9uIHx8IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHRoaXMub3B0aW9ucy5tYXhTY2FsZURlbm9tKSk7XHJcbiAgICBjb25zdCBzbyA9IHRoaXMub3B0aW9ucy5zb3VyY2VPcHRpb25zIGFzIEZlYXR1cmVEYXRhU291cmNlT3B0aW9ucztcclxuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBGZWF0dXJlRGF0YVNvdXJjZSkge1xyXG4gICAgICBpZiAoc28/LnByZWxvYWQ/LmJ5cGFzc1Jlc29sdXRpb24gfHwgc28/LnByZWxvYWQ/LmJ5cGFzc1Zpc2libGUpIHtcclxuICAgICAgICB0aGlzLm9wdGlvbnMub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgaWYgKHNvLnByZWxvYWQuYnlwYXNzUmVzb2x1dGlvbiAmJiAodGhpcy5vcHRpb25zLm1pblJlc29sdXRpb24gfHwgdGhpcy5vcHRpb25zLm1heFJlc29sdXRpb24pKSB7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMubWluUmVzb2x1dGlvbiA9IDA7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMubWF4UmVzb2x1dGlvbiA9IEluZmluaXR5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc28ucHJlbG9hZC5ieXBhc3NWaXNpYmxlICYmICFpbml0aWFsVmlzaWJsZVZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2xPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zLCB7XHJcbiAgICAgIHNvdXJjZTogdGhpcy5vcHRpb25zLnNvdXJjZS5vbCBhcyBvbFNvdXJjZVZlY3RvcjxPbEdlb21ldHJ5PlxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbmltYXRpb24pIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLm9sLm9uKFxyXG4gICAgICAgICdhZGRmZWF0dXJlJyxcclxuICAgICAgICBmdW5jdGlvbihlKSB7XHJcbiAgICAgICAgICB0aGlzLmZsYXNoKGUuZmVhdHVyZSk7XHJcbiAgICAgICAgfS5iaW5kKHRoaXMpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmlkYkluZm8/LnN0b3JlVG9JZGIgJiYgdGhpcy5nZW9EQlNlcnZpY2UpIHtcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5pZGJJbmZvLmZpcnN0TG9hZCl7XHJcbiAgICAgICAgdGhpcy5tYWludGFpbkZlYXR1cmVzSW5JZGIoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uub2wub25jZSgnZmVhdHVyZXNsb2FkZW5kJywgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbC5vbignYWRkZmVhdHVyZScsICgpID0+IHRoaXMubWFpbnRhaW5GZWF0dXJlc0luSWRiKCkpO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbC5vbignY2hhbmdlZmVhdHVyZScsICgpID0+IHRoaXMubWFpbnRhaW5GZWF0dXJlc0luSWRiKCkpO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbC5vbignY2xlYXInLCAoKSA9PiB0aGlzLm1haW50YWluRmVhdHVyZXNJbklkYigpKTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2Uub2wub24oJ3JlbW92ZWZlYXR1cmUnLCAoKSA9PiB0aGlzLm1haW50YWluRmVhdHVyZXNJbklkYigpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBGZWF0dXJlRGF0YVNvdXJjZSAmJlxyXG4gICAgICAoc28/LnByZWxvYWQ/LmJ5cGFzc1Jlc29sdXRpb24gfHwgc28/LnByZWxvYWQ/LmJ5cGFzc1Zpc2libGUpKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbC5vbmNlKCdmZWF0dXJlc2xvYWRlbmQnLCAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGluaXRpYWxPcGFjaXR5VmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMub3BhY2l0eSA9IGluaXRpYWxPcGFjaXR5VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzby5wcmVsb2FkLmJ5cGFzc1Jlc29sdXRpb24pIHtcclxuICAgICAgICAgIHRoaXMubWluUmVzb2x1dGlvbiA9IGluaXRpYWxNaW5SZXNWYWx1ZTtcclxuICAgICAgICAgIHRoaXMubWF4UmVzb2x1dGlvbiA9IGluaXRpYWxNYXhSZXNWYWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNvLnByZWxvYWQuYnlwYXNzVmlzaWJsZSkge1xyXG4gICAgICAgICAgdGhpcy52aXNpYmxlID0gaW5pdGlhbFZpc2libGVWYWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhY2tGZWF0dXJlKSB7XHJcbiAgICAgIHRoaXMuZW5hYmxlVHJhY2tGZWF0dXJlKHRoaXMub3B0aW9ucy50cmFja0ZlYXR1cmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZlY3RvciA9IG5ldyBvbExheWVyVmVjdG9yKG9sT3B0aW9ucyk7XHJcbiAgICBjb25zdCB2ZWN0b3JTb3VyY2UgPSB2ZWN0b3IuZ2V0U291cmNlKCkgYXMgb2xTb3VyY2VWZWN0b3I8T2xHZW9tZXRyeT47XHJcbiAgICBjb25zdCB1cmwgPSB2ZWN0b3JTb3VyY2UuZ2V0VXJsKCk7XHJcbiAgICBpZiAodXJsKSB7XHJcbiAgICAgIGxldCBsb2FkZXI7XHJcbiAgICAgIGNvbnN0IHdmc09wdGlvbnMgPSBvbE9wdGlvbnMuc291cmNlT3B0aW9ucyBhcyBXRlNEYXRhU291cmNlT3B0aW9ucztcclxuICAgICAgaWYgKHdmc09wdGlvbnM/LnR5cGUgPT09ICd3ZnMnICYmICh3ZnNPcHRpb25zLnBhcmFtcyB8fCB3ZnNPcHRpb25zLnBhcmFtc1dGUykpIHtcclxuICAgICAgICBsb2FkZXIgPSAoZXh0ZW50LCByZXNvbHV0aW9uLCBwcm9qLCBzdWNjZXNzLCBmYWlsdXJlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1c3RvbVdGU0xvYWRlcihcclxuICAgICAgICAgICAgdmVjdG9yU291cmNlLFxyXG4gICAgICAgICAgICB3ZnNPcHRpb25zLFxyXG4gICAgICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcclxuICAgICAgICAgICAgZXh0ZW50LFxyXG4gICAgICAgICAgICByZXNvbHV0aW9uLFxyXG4gICAgICAgICAgICBwcm9qLFxyXG4gICAgICAgICAgICBzdWNjZXNzLFxyXG4gICAgICAgICAgICBmYWlsdXJlXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbG9hZGVyID0gKGV4dGVudCwgcmVzb2x1dGlvbiwgcHJvaiwgc3VjY2VzcywgZmFpbHVyZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21Mb2FkZXIoXHJcbiAgICAgICAgICAgIHZlY3RvclNvdXJjZSxcclxuICAgICAgICAgICAgdXJsLFxyXG4gICAgICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcclxuICAgICAgICAgICAgZXh0ZW50LFxyXG4gICAgICAgICAgICByZXNvbHV0aW9uLFxyXG4gICAgICAgICAgICBwcm9qLFxyXG4gICAgICAgICAgICBzdWNjZXNzLFxyXG4gICAgICAgICAgICBmYWlsdXJlXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGxvYWRlcikge1xyXG4gICAgICAgIHZlY3RvclNvdXJjZS5zZXRMb2FkZXIobG9hZGVyKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMuaWRiSW5mbz8uc3RvcmVUb0lkYiAmJiB0aGlzLmdlb0RCU2VydmljZSkge1xyXG4gICAgICBjb25zdCBpZGJMb2FkZXIgPSAoZXh0ZW50LCByZXNvbHV0aW9uLCBwcm9qLCBzdWNjZXNzLCBmYWlsdXJlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21JREJMb2FkZXIoXHJcbiAgICAgICAgICB2ZWN0b3JTb3VyY2UsXHJcbiAgICAgICAgICBvbE9wdGlvbnMuaWQsXHJcbiAgICAgICAgICBleHRlbnQsXHJcbiAgICAgICAgICBwcm9qLFxyXG4gICAgICAgICAgc3VjY2VzcyxcclxuICAgICAgICAgIGZhaWx1cmVcclxuICAgICAgICApO1xyXG4gICAgICB9O1xyXG4gICAgICBpZiAoaWRiTG9hZGVyKSB7XHJcbiAgICAgICAgdmVjdG9yU291cmNlLnNldExvYWRlcihpZGJMb2FkZXIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5pZGJJbmZvPy5zdG9yZVRvSWRiICYmIHRoaXMuZ2VvREJTZXJ2aWNlKSB7XHJcbiAgICAgIHZlY3Rvci5vbmNlKCdzb3VyY2VyZWFkeScsICgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLmlkYkluZm8uZmlyc3RMb2FkKXtcclxuICAgICAgICAgIHRoaXMubWFpbnRhaW5PcHRpb25zSW5JZGIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZnJvbUV2ZW50PEJhc2VFdmVudD4odmVjdG9yLCAnY2hhbmdlJykucGlwZShkZWJvdW5jZVRpbWUoNzUwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMubWFpbnRhaW5PcHRpb25zSW5JZGIoKSk7XHJcbiAgICAgICAgdmVjdG9yLm9uKCdjaGFuZ2U6ekluZGV4JywgKCkgPT4gdGhpcy5tYWludGFpbk9wdGlvbnNJbklkYigpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmVjdG9yO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTGF5ZXJGcm9tSURCKCkge1xyXG4gICAgaWYgKHRoaXMuZ2VvREJTZXJ2aWNlICYmIHRoaXMubGF5ZXJEQlNlcnZpY2UpIHtcclxuICAgICAgemlwKHRoaXMuZ2VvREJTZXJ2aWNlLmRlbGV0ZUJ5S2V5KHRoaXMuaWQpLFxyXG4gICAgICAgIHRoaXMubGF5ZXJEQlNlcnZpY2UuZGVsZXRlQnlLZXkodGhpcy5pZCkpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYWludGFpbk9wdGlvbnNJbklkYigpIHtcclxuICAgIHRoaXMub3B0aW9ucy5pZ29TdHlsZS5pZ29TdHlsZU9iamVjdCA9IG9sU3R5bGVUb0Jhc2ljSWdvU3R5bGUodGhpcy5vbCk7XHJcbiAgICBjb25zdCBsYXllckRhdGE6IExheWVyREJEYXRhID0gT2JqZWN0VXRpbHMucmVtb3ZlVW5kZWZpbmVkKHtcclxuICAgICAgbGF5ZXJJZDogdGhpcy5pZCxcclxuICAgICAgZGV0YWlsZWRDb250ZXh0VXJpOiB0aGlzLm9wdGlvbnMuaWRiSW5mby5jb250ZXh0VXJpLFxyXG4gICAgICBzb3VyY2VPcHRpb25zOiB7XHJcbiAgICAgICAgaWQ6IHRoaXMuaWQsXHJcbiAgICAgICAgdHlwZTogJ3ZlY3RvcicsXHJcbiAgICAgICAgcXVlcnlhYmxlOiB0cnVlXHJcbiAgICAgIH0sXHJcbiAgICAgIGxheWVyT3B0aW9uczoge1xyXG4gICAgICAgIHdvcmtzcGFjZTogdGhpcy5vcHRpb25zLndvcmtzcGFjZSxcclxuICAgICAgICB6SW5kZXg6IHRoaXMub2wgPyB0aGlzLnpJbmRleDogMTAwMDAwMCxcclxuICAgICAgICBpZDogdGhpcy5pZCxcclxuICAgICAgICBpc0lnb0ludGVybmFsTGF5ZXI6IHRoaXMuaXNJZ29JbnRlcm5hbExheWVyLFxyXG4gICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxyXG4gICAgICAgIGlnb1N0eWxlOiB0aGlzLm9wdGlvbnMuaWdvU3R5bGUsXHJcbiAgICAgICAgaWRiSW5mbzogT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zLmlkYkluZm8sIHsgZmlyc3RMb2FkOiBmYWxzZSB9KVxyXG4gICAgICB9LFxyXG4gICAgICBpbnNlcnRFdmVudDogYCR7dGhpcy50aXRsZX0tJHt0aGlzLmlkfS0ke25ldyBEYXRlKCl9YFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxheWVyREJTZXJ2aWNlLnVwZGF0ZShsYXllckRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYWludGFpbkZlYXR1cmVzSW5JZGIoKSB7XHJcbiAgICBjb25zdCBkc0ZlYXR1cmVzID0gdGhpcy5kYXRhU291cmNlLm9sLmdldEZlYXR1cmVzKCk7XHJcbiAgICBjb25zdCBnZW9qc29uT2JqZWN0ID0gSlNPTi5wYXJzZShuZXcgb2xmb3JtYXQuR2VvSlNPTigpLndyaXRlRmVhdHVyZXMoZHNGZWF0dXJlcywge1xyXG4gICAgICBkYXRhUHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLmRhdGFTb3VyY2Uub2wuZ2V0UHJvamVjdGlvbigpIHx8ICdFUFNHOjM4NTcnXHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmdlb0RCU2VydmljZS51cGRhdGUodGhpcy5pZCwgdGhpcy5pZCwgZ2VvanNvbk9iamVjdCwgSW5zZXJ0U291cmNlSW5zZXJ0REJFbnVtLlVzZXIsIGAke3RoaXMudGl0bGV9LSR7dGhpcy5pZH0tJHtuZXcgRGF0ZSgpfWApO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGZsYXNoKGZlYXR1cmUpIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICBjb25zdCBsaXN0ZW5lcktleSA9IHRoaXMub2wub24oJ3Bvc3RyZW5kZXInLCBhbmltYXRlLmJpbmQodGhpcykpO1xyXG5cclxuICAgIGZ1bmN0aW9uIGFuaW1hdGUoZXZlbnQpIHtcclxuICAgICAgY29uc3QgdmVjdG9yQ29udGV4dCA9IGdldFZlY3RvckNvbnRleHQoZXZlbnQpO1xyXG4gICAgICBjb25zdCBmcmFtZVN0YXRlID0gZXZlbnQuZnJhbWVTdGF0ZTtcclxuICAgICAgY29uc3QgZmxhc2hHZW9tID0gZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmNsb25lKCk7XHJcbiAgICAgIGNvbnN0IGVsYXBzZWQgPSBmcmFtZVN0YXRlLnRpbWUgLSBzdGFydDtcclxuICAgICAgY29uc3QgZWxhcHNlZFJhdGlvID0gZWxhcHNlZCAvIHRoaXMub3B0aW9ucy5hbmltYXRpb24uZHVyYXRpb247XHJcbiAgICAgIGNvbnN0IG9wYWNpdHkgPSBlYXNlT3V0KDEgLSBlbGFwc2VkUmF0aW8pO1xyXG4gICAgICBjb25zdCBuZXdDb2xvciA9IENvbG9yQXNBcnJheSh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNvbG9yIHx8ICdyZWQnKTtcclxuICAgICAgbmV3Q29sb3JbM10gPSBvcGFjaXR5O1xyXG4gICAgICBsZXQgc3R5bGUgPSB0aGlzLm9sXHJcbiAgICAgICAgLmdldFN0eWxlRnVuY3Rpb24oKVxyXG4gICAgICAgIC5jYWxsKHRoaXMsIGZlYXR1cmUpXHJcbiAgICAgICAgLmZpbmQoKHN0eWxlMikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHN0eWxlMi5nZXRJbWFnZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBpZiAoIXN0eWxlKSB7XHJcbiAgICAgICAgc3R5bGUgPSB0aGlzLm9sLmdldFN0eWxlRnVuY3Rpb24oKS5jYWxsKHRoaXMsIGZlYXR1cmUpWzBdO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHN0eWxlQ2xvbmUgPSBzdHlsZS5jbG9uZSgpO1xyXG5cclxuICAgICAgc3dpdGNoIChmZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0VHlwZSgpKSB7XHJcbiAgICAgICAgY2FzZSAnUG9pbnQnOlxyXG4gICAgICAgICAgaWYoc3R5bGVDbG9uZS5nZXRJbWFnZSgpICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBzdHlsZUNsb25lLmdldEltYWdlKCkuZ2V0UmFkaXVzID09PSAnZnVuY3Rpb24nKXtcclxuICAgICAgICAgICAgY29uc3QgcmFkaXVzID1cclxuICAgICAgICAgICAgZWFzZU91dChlbGFwc2VkUmF0aW8pICogKHN0eWxlQ2xvbmUuZ2V0SW1hZ2UoKS5nZXRSYWRpdXMoKSAqIDMpO1xyXG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldEltYWdlKCkuc2V0UmFkaXVzKHJhZGl1cyk7XHJcbiAgICAgICAgICAgIHN0eWxlQ2xvbmUuZ2V0SW1hZ2UoKS5zZXRPcGFjaXR5KG9wYWNpdHkpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0xpbmVTdHJpbmcnOlxyXG4gICAgICAgICAgLy8gVE9ET1xyXG4gICAgICAgICAgaWYgKHN0eWxlQ2xvbmUuZ2V0SW1hZ2UoKSkge1xyXG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldEltYWdlKCkuZ2V0U3Ryb2tlKCkuc2V0Q29sb3IobmV3Q29sb3IpO1xyXG4gICAgICAgICAgICBzdHlsZUNsb25lXHJcbiAgICAgICAgICAgICAgLmdldEltYWdlKClcclxuICAgICAgICAgICAgICAuZ2V0U3Ryb2tlKClcclxuICAgICAgICAgICAgICAuc2V0V2lkdGgoXHJcbiAgICAgICAgICAgICAgICBlYXNlT3V0KGVsYXBzZWRSYXRpbykgKlxyXG4gICAgICAgICAgICAgICAgICAoc3R5bGVDbG9uZS5nZXRJbWFnZSgpLmdldFN0cm9rZSgpLmdldFdpZHRoKCkgKiAzKVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoc3R5bGVDbG9uZS5nZXRTdHJva2UoKSkge1xyXG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldFN0cm9rZSgpLnNldENvbG9yKG5ld0NvbG9yKTtcclxuICAgICAgICAgICAgc3R5bGVDbG9uZVxyXG4gICAgICAgICAgICAgIC5nZXRTdHJva2UoKVxyXG4gICAgICAgICAgICAgIC5zZXRXaWR0aChcclxuICAgICAgICAgICAgICAgIGVhc2VPdXQoZWxhcHNlZFJhdGlvKSAqIChzdHlsZUNsb25lLmdldFN0cm9rZSgpLmdldFdpZHRoKCkgKiAzKVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdQb2x5Z29uJzpcclxuICAgICAgICAgIC8vIFRPRE9cclxuICAgICAgICAgIGlmIChzdHlsZUNsb25lLmdldEltYWdlKCkpIHtcclxuICAgICAgICAgICAgc3R5bGVDbG9uZS5nZXRJbWFnZSgpLmdldEZpbGwoKS5zZXRDb2xvcihuZXdDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoc3R5bGVDbG9uZS5nZXRGaWxsKCkpIHtcclxuICAgICAgICAgICAgc3R5bGVDbG9uZS5nZXRGaWxsKCkuc2V0Q29sb3IobmV3Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHN0eWxlQ2xvbmUuc2V0VGV4dCgnJyk7XHJcbiAgICAgIHZlY3RvckNvbnRleHQuc2V0U3R5bGUoc3R5bGVDbG9uZSk7XHJcbiAgICAgIHZlY3RvckNvbnRleHQuZHJhd0dlb21ldHJ5KGZsYXNoR2VvbSk7XHJcblxyXG4gICAgICBpZiAoZWxhcHNlZCA+IHRoaXMub3B0aW9ucy5hbmltYXRpb24uZHVyYXRpb24pIHtcclxuICAgICAgICB1bkJ5S2V5KGxpc3RlbmVyS2V5KTtcclxuICAgICAgICAvLyByZW1vdmUgbGFzdCBnZW9tZXRyeVxyXG4gICAgICAgIC8vIHRoZXJlIGlzIGEgbGl0dGxlIGZsYXNoIGJlZm9yZSBmZWF0dXJlIGRpc2FwcGVhciwgYmV0dGVyIHNvbHV0aW9uID9cclxuICAgICAgICB0aGlzLm1hcC5vbC5yZW5kZXIoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgLy8gdGVsbCBPcGVuTGF5ZXJzIHRvIGNvbnRpbnVlIHBvc3Rjb21wb3NlIGFuaW1hdGlvblxyXG4gICAgICB0aGlzLm1hcC5vbC5yZW5kZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRNYXAobWFwOiBJZ29NYXAgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmIChtYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLndhdGNoZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud2F0Y2hlci5zdWJzY3JpYmUoKCkgPT4ge30pO1xyXG4gICAgfVxyXG4gICAgc3VwZXIuc2V0TWFwKG1hcCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RXh0ZW50KGV4dGVudDogTWFwRXh0ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvbnMuZXh0ZW50ID0gZXh0ZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVW53YXRjaCgpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5vblVud2F0Y2goKTtcclxuICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0b3BBbmltYXRpb24oKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uub2wudW4oXHJcbiAgICAgICdhZGRmZWF0dXJlJyxcclxuICAgICAgZnVuY3Rpb24oZSkge1xyXG4gICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcclxuICAgICAgICAgIHRoaXMuZmxhc2goZS5mZWF0dXJlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0uYmluZCh0aGlzKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbmFibGVUcmFja0ZlYXR1cmUoaWQ6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgdGhpcy50cmFja0ZlYXR1cmVMaXN0ZW5lcklkID0gdGhpcy5kYXRhU291cmNlLm9sLm9uKFxyXG4gICAgICAnYWRkZmVhdHVyZScsXHJcbiAgICAgIHRoaXMudHJhY2tGZWF0dXJlLmJpbmQodGhpcywgaWQpXHJcbiAgICApO1xyXG4gIH1cclxuICBwdWJsaWMgY2VudGVyTWFwT25GZWF0dXJlKGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGZlYXQgPSB0aGlzLmRhdGFTb3VyY2Uub2wuZ2V0RmVhdHVyZUJ5SWQoaWQpO1xyXG4gICAgaWYgKGZlYXQpIHtcclxuICAgICAgdGhpcy5tYXAub2wuZ2V0VmlldygpLnNldENlbnRlcigoZmVhdC5nZXRHZW9tZXRyeSgpIGFzIGFueSkuZ2V0Q29vcmRpbmF0ZXMoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tGZWF0dXJlKGlkLCBmZWF0KSB7XHJcbiAgICBpZiAoZmVhdC5mZWF0dXJlLmdldElkKCkgPT09IGlkICYmIHRoaXMudmlzaWJsZSkge1xyXG4gICAgICB0aGlzLmNlbnRlck1hcE9uRmVhdHVyZShpZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzYWJsZVRyYWNrRmVhdHVyZShpZD86IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgdW5CeUtleSh0aGlzLnRyYWNrRmVhdHVyZUxpc3RlbmVySWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3VzdG9tIGxvYWRlciBmb3IgYSBXRlMgZGF0YXNvdXJjZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSB2ZWN0b3JTb3VyY2UgdGhlIHZlY3RvciBzb3VyY2UgdG8gYmUgY3JlYXRlZFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIG9sT3B0aW9ucyBmcm9tIHNvdXJjZVxyXG4gICAqIEBwYXJhbSBpbnRlcmNlcHRvciB0aGUgaW50ZXJjZXB0b3Igb2YgdGhlIGRhdGFcclxuICAgKiBAcGFyYW0gZXh0ZW50IHRoZSBleHRlbnQgb2YgdGhlIHJlcXVlc3RlZCBkYXRhXHJcbiAgICogQHBhcmFtIHJlc29sdXRpb24gdGhlIGN1cnJlbnQgcmVzb2x1dGlvblxyXG4gICAqIEBwYXJhbSBwcm9qIHRoZSBwcm9qZWN0aW9uIHRvIHJldHJpZXZlIHRoZSBkYXRhXHJcbiAgICogQHBhcmFtIHN1Y2Nlc3Mgc3VjY2VzcyBjYWxsYmFja1xyXG4gICAqIEBwYXJhbSBmYWlsdXJlIGZhaWx1cmUgY2FsbGJhY2tcclxuICAgKiBAcGFyYW0gcmFuZG9tUGFyYW0gcmFuZG9tIHBhcmFtZXRlciB0byBlbnN1cmUgY2FjaGUgaXMgbm90IGNhdXNpbmcgcHJvYmxlbXMgaW4gcmV0cmlldmluZyBuZXcgZGF0YVxyXG4gICAqL1xyXG4gIHB1YmxpYyBjdXN0b21XRlNMb2FkZXIoXHJcbiAgICB2ZWN0b3JTb3VyY2UsXHJcbiAgICBvcHRpb25zLFxyXG4gICAgaW50ZXJjZXB0b3IsXHJcbiAgICBleHRlbnQsXHJcbiAgICByZXNvbHV0aW9uLFxyXG4gICAgcHJvaixcclxuICAgIHN1Y2Nlc3MsXHJcbiAgICBmYWlsdXJlLFxyXG4gICAgcmFuZG9tUGFyYW0/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgICB7XHJcbiAgICAgIGNvbnN0IHBhcmFtc1dGUyA9IG9wdGlvbnMucGFyYW1zV0ZTO1xyXG4gICAgICBjb25zdCB3ZnNQcm9qID0gcGFyYW1zV0ZTLnNyc05hbWUgPyBuZXcgb2xQcm9qZWN0aW9uKHsgY29kZTogcGFyYW1zV0ZTLnNyc05hbWUgfSkgOiBwcm9qO1xyXG4gICAgICBjb25zdCBjdXJyZW50RXh0ZW50ID0gb2xwcm9qLnRyYW5zZm9ybUV4dGVudChleHRlbnQsIHByb2osIHdmc1Byb2opO1xyXG4gICAgICBwYXJhbXNXRlMuc3JzTmFtZSA9IHBhcmFtc1dGUy5zcnNOYW1lIHx8IHByb2ouZ2V0Q29kZSgpO1xyXG4gICAgICBjb25zdCB1cmwgPSBidWlsZFVybChcclxuICAgICAgICBvcHRpb25zLFxyXG4gICAgICAgIGN1cnJlbnRFeHRlbnQsXHJcbiAgICAgICAgd2ZzUHJvaixcclxuICAgICAgICAob3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnMsXHJcbiAgICAgICAgcmFuZG9tUGFyYW0pO1xyXG4gICAgICBsZXQgc3RhcnRJbmRleCA9IDA7XHJcbiAgICAgIGlmIChwYXJhbXNXRlMudmVyc2lvbiA9PT0gJzIuMC4wJyAmJiBwYXJhbXNXRlMubWF4RmVhdHVyZXMgPiBkZWZhdWx0TWF4RmVhdHVyZXMpIHtcclxuICAgICAgICBjb25zdCBuYk9mRmVhdHVyZSA9IDEwMDA7XHJcbiAgICAgICAgd2hpbGUgKHN0YXJ0SW5kZXggPCBwYXJhbXNXRlMubWF4RmVhdHVyZXMpIHtcclxuICAgICAgICAgIGxldCBhbHRlcmVkVXJsID0gdXJsLnJlcGxhY2UoJ2NvdW50PScgKyBwYXJhbXNXRlMubWF4RmVhdHVyZXMsICdjb3VudD0nICsgbmJPZkZlYXR1cmUpO1xyXG4gICAgICAgICAgYWx0ZXJlZFVybCA9IGFsdGVyZWRVcmwucmVwbGFjZSgnc3RhcnRJbmRleD0wJywgJzAnKTtcclxuICAgICAgICAgIGFsdGVyZWRVcmwgKz0gJyZzdGFydEluZGV4PScgKyBzdGFydEluZGV4O1xyXG4gICAgICAgICAgYWx0ZXJlZFVybC5yZXBsYWNlKC8mJi9nLCAnJicpO1xyXG4gICAgICAgICAgdGhpcy5nZXRGZWF0dXJlcyh2ZWN0b3JTb3VyY2UsIGludGVyY2VwdG9yLCBjdXJyZW50RXh0ZW50LCB3ZnNQcm9qLCBwcm9qLCBhbHRlcmVkVXJsLCBuYk9mRmVhdHVyZSwgc3VjY2VzcywgZmFpbHVyZSk7XHJcbiAgICAgICAgICBzdGFydEluZGV4ICs9IG5iT2ZGZWF0dXJlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmdldEZlYXR1cmVzKHZlY3RvclNvdXJjZSwgaW50ZXJjZXB0b3IsIGN1cnJlbnRFeHRlbnQsIHdmc1Byb2osIHByb2osIHVybCwgcGFyYW1zV0ZTLm1heEZlYXR1cmVzLCBzdWNjZXNzLCBmYWlsdXJlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEN1c3RvbSBsb2FkZXIgdG8gZ2V0IGZlYXR1cmUgZnJvbSBhIFdGUyBkYXRhc291cmNlXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIHZlY3RvclNvdXJjZSB0aGUgdmVjdG9yIHNvdXJjZSB0byBiZSBjcmVhdGVkXHJcbiAgICogQHBhcmFtIGludGVyY2VwdG9yIHRoZSBpbnRlcmNlcHRvciBvZiB0aGUgZGF0YVxyXG4gICAqIEBwYXJhbSBleHRlbnQgdGhlIGV4dGVudCBvZiB0aGUgcmVxdWVzdGVkIGRhdGFcclxuICAgKiBAcGFyYW0gZGF0YVByb2plY3Rpb24gdGhlIHByb2plY3Rpb24gb2YgdGhlIHJldHJpZXZlZCBkYXRhXHJcbiAgICogQHBhcmFtIGZlYXR1cmVQcm9qZWN0aW9uIHRoZSBwcm9qZWN0aW9uIG9mIHRoZSBjcmVhdGVkIGZlYXR1cmVzXHJcbiAgICogQHBhcmFtIHVybCB0aGUgdXJsIHN0cmluZyB0byByZXRyaWV2ZSB0aGUgZGF0YVxyXG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgdGhlIHRocmVzaG9sZCB0byBtYW5hZ2UgXCJtb3JlIGZlYXR1cmVzXCIgKFRPRE8pXHJcbiAgICogQHBhcmFtIHN1Y2Nlc3Mgc3VjY2VzcyBjYWxsYmFja1xyXG4gICAqIEBwYXJhbSBmYWlsdXJlIGZhaWx1cmUgY2FsbGJhY2tcclxuICAgKi9cclxuICBwcml2YXRlIGdldEZlYXR1cmVzKFxyXG4gICAgdmVjdG9yU291cmNlOiBvbFNvdXJjZVZlY3RvcjxPbEdlb21ldHJ5PixcclxuICAgIGludGVyY2VwdG9yLFxyXG4gICAgZXh0ZW50LFxyXG4gICAgZGF0YVByb2plY3Rpb24sXHJcbiAgICBmZWF0dXJlUHJvamVjdGlvbixcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgdGhyZXNob2xkOiBudW1iZXIsXHJcbiAgICBzdWNjZXNzLCBmYWlsdXJlKSB7XHJcblxyXG4gICAgY29uc3QgaWRBc3NvY2lhdGVkQ2FsbCA9ICh0aGlzLmRhdGFTb3VyY2UgYXMgV0ZTRGF0YVNvdXJjZSkubW9zdFJlY2VudElkQ2FsbE9HQ0ZpbHRlcjtcclxuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgY29uc3QgYWx0ZXJlZFVybFdpdGhLZXlBdXRoID0gaW50ZXJjZXB0b3IuYWx0ZXJVcmxXaXRoS2V5QXV0aCh1cmwpO1xyXG4gICAgbGV0IG1vZGlmaWVkVXJsID0gdXJsO1xyXG4gICAgaWYgKGFsdGVyZWRVcmxXaXRoS2V5QXV0aCkge1xyXG4gICAgICBtb2RpZmllZFVybCA9IGFsdGVyZWRVcmxXaXRoS2V5QXV0aDtcclxuICAgIH1cclxuICAgIHhoci5vcGVuKCdHRVQnLCBtb2RpZmllZFVybCk7XHJcbiAgICBpZiAoaW50ZXJjZXB0b3IpIHtcclxuICAgICAgaW50ZXJjZXB0b3IuaW50ZXJjZXB0WGhyKHhociwgbW9kaWZpZWRVcmwpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb25FcnJvciA9ICgpID0+IHtcclxuICAgICAgdmVjdG9yU291cmNlLnJlbW92ZUxvYWRlZEV4dGVudChleHRlbnQpO1xyXG4gICAgICBmYWlsdXJlKCk7XHJcbiAgICB9O1xyXG4gICAgeGhyLm9uZXJyb3IgPSBvbkVycm9yO1xyXG4gICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCAmJiB4aHIucmVzcG9uc2VUZXh0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zdCBmZWF0dXJlcyA9XHJcbiAgICAgICAgICB2ZWN0b3JTb3VyY2VcclxuICAgICAgICAgICAgLmdldEZvcm1hdCgpXHJcbiAgICAgICAgICAgIC5yZWFkRmVhdHVyZXMoeGhyLnJlc3BvbnNlVGV4dCwgeyBkYXRhUHJvamVjdGlvbiwgZmVhdHVyZVByb2plY3Rpb24gfSkgYXMgb2xGZWF0dXJlPE9sR2VvbWV0cnk+W107XHJcbiAgICAgICAgLy8gVE9ETyBNYW5hZ2UgXCJNb3JlIGZlYXR1cmVcIlxyXG4gICAgICAgIC8qaWYgKGZlYXR1cmVzLmxlbmd0aCA9PT0gMCB8fCBmZWF0dXJlcy5sZW5ndGggPCB0aHJlc2hvbGQgKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnTm8gbW9yZSBkYXRhIHRvIGRvd25sb2FkIGF0IHRoaXMgcmVzb2x1dGlvbicpO1xyXG4gICAgICAgIH0qL1xyXG4gICAgICAgIC8vIEF2b2lkcyByZXRyaWV2aW5nIGFuIG9sZGVyIGNhbGwgdGhhdCB0b29rIGxvbmdlciB0byBiZSBwcm9jZXNzXHJcbiAgICAgICAgaWYgKGlkQXNzb2NpYXRlZENhbGwgPT09ICh0aGlzLmRhdGFTb3VyY2UgYXMgV0ZTRGF0YVNvdXJjZSkubW9zdFJlY2VudElkQ2FsbE9HQ0ZpbHRlcilcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHZlY3RvclNvdXJjZS5hZGRGZWF0dXJlcyhmZWF0dXJlcyk7XHJcbiAgICAgICAgICAgIHN1Y2Nlc3MoZmVhdHVyZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgc3VjY2VzcyhbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG9uRXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHhoci5zZW5kKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDdXN0b20gbG9hZGVyIGZvciB2ZWN0b3IgbGF5ZXIuXHJcbiAgICogQGludGVybmFsXHJcbiAgICogQHBhcmFtIHZlY3RvclNvdXJjZSB0aGUgdmVjdG9yIHNvdXJjZSB0byBiZSBjcmVhdGVkXHJcbiAgICogQHBhcmFtIHVybCB0aGUgdXJsIHN0cmluZyBvciBmdW5jdGlvbiB0byByZXRyaWV2ZSB0aGUgZGF0YVxyXG4gICAqIEBwYXJhbSBpbnRlcmNlcHRvciB0aGUgaW50ZXJjZXB0b3Igb2YgdGhlIGRhdGFcclxuICAgKiBAcGFyYW0gZXh0ZW50IHRoZSBleHRlbnQgb2YgdGhlIHJlcXVlc3RlZCBkYXRhXHJcbiAgICogQHBhcmFtIHJlc29sdXRpb24gdGhlIGN1cnJlbnQgcmVzb2x1dGlvblxyXG4gICAqIEBwYXJhbSBwcm9qZWN0aW9uIHRoZSBwcm9qZWN0aW9uIHRvIHJldHJpZXZlIHRoZSBkYXRhXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjdXN0b21Mb2FkZXIoXHJcbiAgICB2ZWN0b3JTb3VyY2UsXHJcbiAgICB1cmwsXHJcbiAgICBpbnRlcmNlcHRvcixcclxuICAgIGV4dGVudCxcclxuICAgIHJlc29sdXRpb24sXHJcbiAgICBwcm9qZWN0aW9uLFxyXG4gICAgc3VjY2VzcyxcclxuICAgIGZhaWx1cmVcclxuICApIHtcclxuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgbGV0IG1vZGlmaWVkVXJsID0gdXJsO1xyXG4gICAgaWYgKHR5cGVvZiB1cmwgIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgYWx0ZXJlZFVybFdpdGhLZXlBdXRoID0gaW50ZXJjZXB0b3IuYWx0ZXJVcmxXaXRoS2V5QXV0aCh1cmwpO1xyXG4gICAgICBpZiAoYWx0ZXJlZFVybFdpdGhLZXlBdXRoKSB7XHJcbiAgICAgICAgbW9kaWZpZWRVcmwgPSBhbHRlcmVkVXJsV2l0aEtleUF1dGg7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1vZGlmaWVkVXJsID0gdXJsKGV4dGVudCwgcmVzb2x1dGlvbiwgcHJvamVjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UgJiYgdHlwZW9mIHVybCAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBjb25zdCBmb3JtYXQgPSB2ZWN0b3JTb3VyY2UuZ2V0Rm9ybWF0KCk7XHJcbiAgICAgIGNvbnN0IHR5cGUgPSBmb3JtYXQuZ2V0VHlwZSgpO1xyXG5cclxuICAgICAgbGV0IHJlc3BvbnNlVHlwZSA9IHR5cGU7XHJcbiAgICAgIGNvbnN0IG9uRXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgdmVjdG9yU291cmNlLnJlbW92ZUxvYWRlZEV4dGVudChleHRlbnQpO1xyXG4gICAgICAgIGZhaWx1cmUoKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFNpbXBsZUdldE9wdGlvbnMgPSB7IHJlc3BvbnNlVHlwZSB9O1xyXG4gICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLmdlb0RCU2VydmljZS5nZXQodXJsKS5waXBlKGRlbGF5KDc1MCkpLnBpcGUoY29uY2F0TWFwKHIgPT5cclxuICAgICAgICByID8gb2YocikgOiB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLmdldChtb2RpZmllZFVybCwgb3B0aW9ucylcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBmaXJzdCgpLFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICBvbkVycm9yKCk7XHJcbiAgICAgICAgICAgICAgdGhyb3cgcmVzO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKVxyXG4gICAgICApKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb250ZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoY29udGVudCkge1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtYXQgPSB2ZWN0b3JTb3VyY2UuZ2V0Rm9ybWF0KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBmb3JtYXQuZ2V0VHlwZSgpO1xyXG4gICAgICAgICAgICBsZXQgc291cmNlO1xyXG4gICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2pzb24nIHx8IHR5cGUgPT09ICd0ZXh0Jykge1xyXG4gICAgICAgICAgICAgIHNvdXJjZSA9IGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3htbCcpIHtcclxuICAgICAgICAgICAgICBzb3VyY2UgPSBjb250ZW50O1xyXG4gICAgICAgICAgICAgIGlmICghc291cmNlKSB7XHJcbiAgICAgICAgICAgICAgICBzb3VyY2UgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKFxyXG4gICAgICAgICAgICAgICAgICBjb250ZW50LFxyXG4gICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veG1sJ1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2FycmF5YnVmZmVyJykge1xyXG4gICAgICAgICAgICAgIHNvdXJjZSA9IGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHNvdXJjZSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzID0gZm9ybWF0LnJlYWRGZWF0dXJlcyhzb3VyY2UsIHsgZXh0ZW50LCBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbiB9KTtcclxuICAgICAgICAgICAgICB2ZWN0b3JTb3VyY2UuYWRkRmVhdHVyZXMoZmVhdHVyZXMsIGZvcm1hdC5yZWFkUHJvamVjdGlvbihzb3VyY2UpKTtcclxuICAgICAgICAgICAgICBzdWNjZXNzKGZlYXR1cmVzKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvbkVycm9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgeGhyLm9wZW4oICdHRVQnLCBtb2RpZmllZFVybCk7XHJcbiAgICBjb25zdCBmb3JtYXQgPSB2ZWN0b3JTb3VyY2UuZ2V0Rm9ybWF0KCk7XHJcbiAgICBpZiAoZm9ybWF0LmdldFR5cGUoKSA9PT0gJ2FycmF5YnVmZmVyJykge1xyXG4gICAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcclxuICAgIH1cclxuICAgIGlmIChpbnRlcmNlcHRvcikge1xyXG4gICAgICBpbnRlcmNlcHRvci5pbnRlcmNlcHRYaHIoeGhyLCBtb2RpZmllZFVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb25FcnJvciA9ICgpID0+IHtcclxuICAgICAgdmVjdG9yU291cmNlLnJlbW92ZUxvYWRlZEV4dGVudChleHRlbnQpO1xyXG4gICAgICBmYWlsdXJlKCk7XHJcbiAgICB9O1xyXG4gICAgeGhyLm9uZXJyb3IgPSBvbkVycm9yO1xyXG4gICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgLy8gc3RhdHVzIHdpbGwgYmUgMCBmb3IgZmlsZTovLyB1cmxzXHJcbiAgICAgIGlmICgheGhyLnN0YXR1cyB8fCAoeGhyLnN0YXR1cyA+PSAyMDAgJiYgeGhyLnN0YXR1cyA8IDMwMCkpIHtcclxuICAgICAgICBjb25zdCB0eXBlID0gZm9ybWF0LmdldFR5cGUoKTtcclxuICAgICAgICBsZXQgc291cmNlO1xyXG4gICAgICAgIGlmICh0eXBlID09PSAnanNvbicgfHwgdHlwZSA9PT0gJ3RleHQnKSB7XHJcbiAgICAgICAgICBzb3VyY2UgPSB4aHIucmVzcG9uc2VUZXh0O1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3htbCcpIHtcclxuICAgICAgICAgIHNvdXJjZSA9IHhoci5yZXNwb25zZVhNTDtcclxuICAgICAgICAgIGlmICghc291cmNlKSB7XHJcbiAgICAgICAgICAgIHNvdXJjZSA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoXHJcbiAgICAgICAgICAgICAgeGhyLnJlc3BvbnNlVGV4dCxcclxuICAgICAgICAgICAgICAnYXBwbGljYXRpb24veG1sJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2FycmF5YnVmZmVyJykge1xyXG4gICAgICAgICAgc291cmNlID0geGhyLnJlc3BvbnNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc291cmNlKSB7XHJcbiAgICAgICAgICBjb25zdCBmZWF0dXJlcyA9IGZvcm1hdC5yZWFkRmVhdHVyZXMoc291cmNlLCB7IGV4dGVudCwgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb24gfSk7XHJcbiAgICAgICAgICB2ZWN0b3JTb3VyY2UuYWRkRmVhdHVyZXMoZmVhdHVyZXMsIGZvcm1hdC5yZWFkUHJvamVjdGlvbihzb3VyY2UpKTtcclxuICAgICAgICAgIHN1Y2Nlc3MoZmVhdHVyZXMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvbkVycm9yKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG9uRXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHhoci5zZW5kKCk7XHJcbiAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEN1c3RvbSBsb2FkZXIgZm9yIHZlY3RvciBsYXllci5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gdmVjdG9yU291cmNlIHRoZSB2ZWN0b3Igc291cmNlIHRvIGJlIGNyZWF0ZWRcclxuICAgKiBAcGFyYW0gbGF5ZXJJRCB0aGUgdXJsIHN0cmluZyBvciBmdW5jdGlvbiB0byByZXRyaWV2ZSB0aGUgZGF0YVxyXG4gICAqIEBwYXJhbSBpbnRlcmNlcHRvciB0aGUgaW50ZXJjZXB0b3Igb2YgdGhlIGRhdGFcclxuICAgKiBAcGFyYW0gZXh0ZW50IHRoZSBleHRlbnQgb2YgdGhlIHJlcXVlc3RlZCBkYXRhXHJcbiAgICogQHBhcmFtIHJlc29sdXRpb24gdGhlIGN1cnJlbnQgcmVzb2x1dGlvblxyXG4gICAqIEBwYXJhbSBwcm9qZWN0aW9uIHRoZSBwcm9qZWN0aW9uIHRvIHJldHJpZXZlIHRoZSBkYXRhXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjdXN0b21JREJMb2FkZXIoXHJcbiAgICB2ZWN0b3JTb3VyY2UsXHJcbiAgICBsYXllcklELFxyXG4gICAgZXh0ZW50LFxyXG4gICAgcHJvamVjdGlvbixcclxuICAgIHN1Y2Nlc3MsXHJcbiAgICBmYWlsdXJlXHJcbiAgKSB7XHJcblxyXG5cclxuICAgIGlmICh0aGlzLmdlb05ldHdvcmtTZXJ2aWNlKSB7XHJcbiAgICAgIGNvbnN0IG9uRXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgdmVjdG9yU291cmNlLnJlbW92ZUxvYWRlZEV4dGVudChleHRlbnQpO1xyXG4gICAgICAgIGZhaWx1cmUoKTtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZS5nZW9EQlNlcnZpY2UuZ2V0KGxheWVySUQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnQpID0+IHtcclxuICAgICAgICAgIGlmIChjb250ZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdCA9IHZlY3RvclNvdXJjZS5nZXRGb3JtYXQoKTtcclxuICAgICAgICAgICAgY29uc3QgdHlwZSA9IGZvcm1hdC5nZXRUeXBlKCk7XHJcbiAgICAgICAgICAgIGxldCBzb3VyY2U7XHJcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnanNvbicgfHwgdHlwZSA9PT0gJ3RleHQnKSB7XHJcbiAgICAgICAgICAgICAgc291cmNlID0gY29udGVudDtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAneG1sJykge1xyXG4gICAgICAgICAgICAgIHNvdXJjZSA9IGNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgaWYgKCFzb3VyY2UpIHtcclxuICAgICAgICAgICAgICAgIHNvdXJjZSA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoXHJcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQsXHJcbiAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94bWwnXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnYXJyYXlidWZmZXInKSB7XHJcbiAgICAgICAgICAgICAgc291cmNlID0gY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoc291cmNlKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZmVhdHVyZXMgPSBmb3JtYXQucmVhZEZlYXR1cmVzKHNvdXJjZSwgeyBleHRlbnQsIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uIH0pO1xyXG4gICAgICAgICAgICAgIHZlY3RvclNvdXJjZS5hZGRGZWF0dXJlcyhmZWF0dXJlcywgZm9ybWF0LnJlYWRQcm9qZWN0aW9uKHNvdXJjZSkpO1xyXG4gICAgICAgICAgICAgIHN1Y2Nlc3MoZmVhdHVyZXMpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9uRXJyb3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9ydGlsZS1sYXllci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3RvcnRpbGUtbGF5ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTdHlsZSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XHJcbmltcG9ydCBvbExheWVyVmVjdG9yVGlsZSBmcm9tICdvbC9sYXllci9WZWN0b3JUaWxlJztcclxuXHJcbmltcG9ydCB7IExheWVyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcclxuXHJcbmltcG9ydCB7IE1WVERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9tdnQtZGF0YXNvdXJjZSc7XHJcblxyXG5pbXBvcnQgeyBNVlREYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL212dC1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29TdHlsZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9zdHlsZS9zaGFyZWQvdmVjdG9yL3ZlY3Rvci1zdHlsZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgUmVuZGVyRmVhdHVyZSBmcm9tICdvbC9yZW5kZXIvRmVhdHVyZSc7XHJcbmltcG9ydCBGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zIGV4dGVuZHMgTGF5ZXJPcHRpb25zIHtcclxuICBzdHlsZT86IG9sU3R5bGUgfCBvbFN0eWxlW10gfCAoKGFyZzA6IFJlbmRlckZlYXR1cmUgfCBGZWF0dXJlPGFueT4sIGFyZzE6IG51bWJlcikgPT4gdm9pZCB8IG9sU3R5bGUgfCBvbFN0eWxlW10pO1xyXG4gIHNvdXJjZT86XHJcbiAgICB8IE1WVERhdGFTb3VyY2U7XHJcbiAgc291cmNlT3B0aW9ucz86XHJcbiAgICB8IE1WVERhdGFTb3VyY2VPcHRpb25zO1xyXG4gIG9sPzogb2xMYXllclZlY3RvclRpbGU7XHJcbiAgZGVjbHV0dGVyPzogYm9vbGVhbjtcclxuICBpZ29TdHlsZT86IElnb1N0eWxlQmFzZTtcclxufVxyXG4iXX0=
|