@igo2/geo 16.3.0 → 17.0.0-next.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/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +30 -14
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +35 -17
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +18 -11
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +8 -62
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +46 -19
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +22 -10
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +28 -14
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +8 -71
- package/esm2022/lib/catalog/catalog-library/index.mjs +9 -0
- package/esm2022/lib/catalog/catalog.module.mjs +9 -37
- package/esm2022/lib/catalog/index.mjs +7 -1
- package/esm2022/lib/catalog/shared/catalog.service.mjs +9 -6
- package/esm2022/lib/catalog/shared/index.mjs +1 -1
- package/esm2022/lib/datasource/index.mjs +1 -1
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +5 -5
- package/esm2022/lib/datasource/shared/datasource.service.mjs +8 -12
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/index.mjs +1 -1
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
- package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
- package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +23 -12
- package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +42 -17
- package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +34 -14
- package/esm2022/lib/directions/directions-results/index.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +5 -5
- package/esm2022/lib/directions/directions.component.mjs +18 -10
- package/esm2022/lib/directions/directions.module.mjs +17 -70
- package/esm2022/lib/directions/index.mjs +1 -1
- package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
- package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
- package/esm2022/lib/directions/shared/directions.service.mjs +6 -6
- package/esm2022/lib/directions/shared/directions.utils.mjs +1 -1
- package/esm2022/lib/directions/shared/index.mjs +1 -1
- package/esm2022/lib/download/download-button/download-button.component.mjs +21 -11
- package/esm2022/lib/download/download-button/index.mjs +1 -1
- package/esm2022/lib/download/download.module.mjs +10 -27
- package/esm2022/lib/download/index.mjs +1 -1
- package/esm2022/lib/download/shared/download.interface.mjs +1 -1
- package/esm2022/lib/download/shared/download.service.mjs +5 -5
- package/esm2022/lib/download/shared/index.mjs +1 -1
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +21 -10
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +39 -16
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +19 -9
- package/esm2022/lib/draw/draw/draw.component.mjs +52 -22
- package/esm2022/lib/draw/draw/draw.module.mjs +7 -104
- package/esm2022/lib/draw/drawingTool.module.mjs +8 -7
- package/esm2022/lib/draw/index.mjs +1 -1
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +5 -5
- package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
- package/esm2022/lib/draw/shared/index.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +23 -11
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +8 -7
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +8 -27
- package/esm2022/lib/feature/feature-details/index.mjs +9 -0
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +8 -8
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +8 -11
- package/esm2022/lib/feature/feature.module.mjs +9 -10
- package/esm2022/lib/feature/index.mjs +8 -2
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
- package/esm2022/lib/feature/shared/store.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/search.mjs +4 -4
- package/esm2022/lib/feature/shared/strategies/selection.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
- package/esm2022/lib/filter/filter.module.mjs +47 -177
- package/esm2022/lib/filter/index.mjs +36 -1
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +29 -15
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +46 -20
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +52 -21
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +13 -10
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +45 -18
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +18 -12
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +42 -18
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -7
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +21 -12
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +6 -5
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +5 -5
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +5 -5
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +5 -5
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +63 -27
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +32 -15
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +34 -15
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +28 -14
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +47 -20
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +31 -13
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +8 -7
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +16 -10
- package/esm2022/lib/geo.module.mjs +5 -43
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +33 -16
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +8 -43
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +9 -0
- package/esm2022/lib/geometry/geometry.module.mjs +9 -10
- package/esm2022/lib/geometry/index.mjs +2 -3
- package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
- package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
- package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
- package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
- package/esm2022/lib/geometry/shared/index.mjs +1 -1
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +20 -10
- package/esm2022/lib/import-export/export-button/index.mjs +1 -1
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +45 -17
- package/esm2022/lib/import-export/import-export/index.mjs +1 -1
- package/esm2022/lib/import-export/import-export.module.mjs +10 -81
- package/esm2022/lib/import-export/index.mjs +9 -1
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +7 -6
- package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
- package/esm2022/lib/import-export/shared/export.service.mjs +5 -5
- package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
- package/esm2022/lib/import-export/shared/import.service.mjs +5 -5
- package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
- package/esm2022/lib/import-export/shared/index.mjs +1 -1
- package/esm2022/lib/layer/index.mjs +19 -1
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +33 -14
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +41 -17
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +11 -9
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +8 -7
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +48 -18
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +33 -14
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +5 -5
- package/esm2022/lib/layer/layer.module.mjs +16 -93
- package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2022/lib/layer/shared/layer.service.mjs +6 -6
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +21 -11
- package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
- package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
- package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
- package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
- package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +25 -12
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +22 -11
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +13 -9
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +1 -1
- package/esm2022/lib/map/home-extent-button/index.mjs +1 -1
- package/esm2022/lib/map/index.mjs +32 -1
- package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +6 -6
- package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
- package/esm2022/lib/map/map.module.mjs +36 -66
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +21 -11
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
- package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/index.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +8 -7
- package/esm2022/lib/map/shared/index.mjs +1 -1
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +8 -7
- package/esm2022/lib/map/shared/map.interface.mjs +1 -1
- package/esm2022/lib/map/shared/map.mjs +1 -1
- package/esm2022/lib/map/shared/map.service.mjs +5 -5
- package/esm2022/lib/map/shared/map.utils.mjs +1 -1
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +7 -6
- package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2022/lib/map/shared/projection.service.mjs +5 -5
- package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +6 -6
- package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +21 -11
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
- package/esm2022/lib/measure/index.mjs +2 -3
- package/esm2022/lib/measure/measure.module.mjs +8 -5
- package/esm2022/lib/measure/measurer/index.mjs +6 -0
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
- package/esm2022/lib/measure/measurer/measurer.component.mjs +35 -17
- package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
- package/esm2022/lib/measure/shared/index.mjs +1 -1
- package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
- package/esm2022/lib/metadata/index.mjs +6 -1
- package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +35 -18
- package/esm2022/lib/metadata/metadata.module.mjs +10 -31
- package/esm2022/lib/metadata/shared/index.mjs +1 -1
- package/esm2022/lib/metadata/shared/metadata.service.mjs +5 -5
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +5 -5
- package/esm2022/lib/offline/geoDB/index.mjs +1 -1
- package/esm2022/lib/offline/index.mjs +1 -1
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +5 -5
- package/esm2022/lib/offline/shared/geo-network.service.mjs +5 -5
- package/esm2022/lib/offline/shared/index.mjs +1 -1
- package/esm2022/lib/overlay/index.mjs +1 -1
- package/esm2022/lib/overlay/overlay.module.mjs +10 -8
- package/esm2022/lib/overlay/shared/index.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.directive.mjs +8 -7
- package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.service.mjs +5 -5
- package/esm2022/lib/print/index.mjs +1 -1
- package/esm2022/lib/print/print/print.component.mjs +7 -7
- package/esm2022/lib/print/print-form/index.mjs +1 -1
- package/esm2022/lib/print/print-form/print-form.component.mjs +34 -14
- package/esm2022/lib/print/print.module.mjs +10 -54
- package/esm2022/lib/print/shared/index.mjs +1 -1
- package/esm2022/lib/print/shared/print.service.mjs +10 -10
- package/esm2022/lib/query/index.mjs +1 -1
- package/esm2022/lib/query/query.module.mjs +7 -8
- package/esm2022/lib/query/shared/index.mjs +1 -1
- package/esm2022/lib/query/shared/query-search-source.mjs +6 -6
- package/esm2022/lib/query/shared/query.directive.mjs +8 -7
- package/esm2022/lib/query/shared/query.enums.mjs +1 -1
- package/esm2022/lib/query/shared/query.service.mjs +7 -9
- package/esm2022/lib/search/index.mjs +14 -5
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +36 -16
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +8 -61
- package/esm2022/lib/search/search-results/index.mjs +10 -0
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +42 -17
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +28 -14
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +22 -12
- package/esm2022/lib/search/search-results/search-results.component.mjs +24 -12
- package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +37 -14
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
- package/esm2022/lib/search/search.module.mjs +10 -13
- package/esm2022/lib/search/shared/index.mjs +1 -1
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +8 -7
- package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
- package/esm2022/lib/search/shared/search.service.mjs +5 -5
- package/esm2022/lib/search/shared/search.utils.mjs +1 -1
- package/esm2022/lib/search/shared/sources/cadastre.mjs +8 -7
- package/esm2022/lib/search/shared/sources/coordinates.mjs +10 -10
- package/esm2022/lib/search/shared/sources/icherche.mjs +16 -16
- package/esm2022/lib/search/shared/sources/ilayer.mjs +10 -10
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/nominatim.mjs +6 -6
- package/esm2022/lib/search/shared/sources/source.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +11 -11
- package/esm2022/lib/search/shared/sources/workspace.mjs +7 -8
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
- package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
- package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
- package/esm2022/lib/style/shared/feature/index.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
- package/esm2022/lib/style/shared/vector/index.mjs +1 -1
- package/esm2022/lib/style/style-list/index.mjs +1 -1
- package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
- package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
- package/esm2022/lib/style/style-list/style-list.service.mjs +5 -5
- package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +40 -17
- package/esm2022/lib/style/style-modal/index.mjs +1 -1
- package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +28 -14
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +13 -9
- package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
- package/esm2022/lib/style/style-service/draw-style.service.mjs +5 -5
- package/esm2022/lib/style/style-service/index.mjs +1 -1
- package/esm2022/lib/style/style-service/style.service.mjs +4 -4
- package/esm2022/lib/style/style.module.mjs +12 -57
- package/esm2022/lib/toast/index.mjs +1 -1
- package/esm2022/lib/toast/toast.component.mjs +19 -11
- package/esm2022/lib/toast/toast.module.mjs +10 -30
- package/esm2022/lib/utils/id-generator.mjs +1 -1
- package/esm2022/lib/utils/index.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +5 -5
- package/esm2022/lib/wkt/index.mjs +1 -1
- package/esm2022/lib/wkt/shared/index.mjs +1 -1
- package/esm2022/lib/wkt/shared/wkt.service.mjs +5 -5
- package/esm2022/lib/wkt/wkt.module.mjs +8 -5
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +9 -8
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +8 -24
- package/esm2022/lib/workspace/index.mjs +1 -1
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/index.mjs +1 -1
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
- package/esm2022/lib/workspace/widgets/index.mjs +1 -1
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +7 -7
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +8 -13
- package/esm2022/lib/workspace/widgets/widgets.mjs +1 -1
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -6
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +8 -10
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +8 -10
- package/esm2022/lib/workspace/workspace.module.mjs +10 -35
- package/esm2022/public_api.mjs +11 -12
- package/fesm2022/igo2-geo.mjs +34458 -34603
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +2 -14
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -18
- package/lib/catalog/catalog-library/index.d.ts +5 -0
- package/lib/catalog/catalog.module.d.ts +6 -9
- package/lib/catalog/index.d.ts +2 -0
- package/lib/datasource/shared/datasource.service.d.ts +2 -4
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
- package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
- package/lib/directions/directions.component.d.ts +1 -1
- package/lib/directions/directions.module.d.ts +9 -20
- package/lib/download/download-button/download-button.component.d.ts +1 -1
- package/lib/download/download.module.d.ts +4 -6
- package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
- package/lib/draw/draw/draw-popup.component.d.ts +4 -4
- package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +1 -1
- package/lib/draw/draw/draw.module.d.ts +2 -25
- package/lib/draw/drawingTool.module.d.ts +3 -0
- package/lib/feature/feature-details/feature-details.component.d.ts +4 -2
- package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
- package/lib/feature/feature-details/feature-details.module.d.ts +2 -6
- package/lib/feature/feature-details/index.d.ts +5 -0
- package/lib/feature/feature-form/feature-form.component.d.ts +2 -2
- package/lib/feature/feature-form/feature-form.module.d.ts +2 -4
- package/lib/feature/feature.module.d.ts +6 -4
- package/lib/feature/index.d.ts +3 -1
- package/lib/filter/filter.module.d.ts +4 -28
- package/lib/filter/index.d.ts +16 -0
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +3 -3
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +3 -3
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +2 -2
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +3 -3
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +3 -3
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +3 -3
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +4 -4
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +3 -3
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
- package/lib/geo.module.d.ts +14 -24
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +2 -10
- package/lib/geometry/geometry-form-field/index.d.ts +5 -0
- package/lib/geometry/geometry.module.d.ts +5 -3
- package/lib/geometry/index.d.ts +1 -2
- package/lib/import-export/export-button/export-button.component.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +4 -15
- package/lib/import-export/index.d.ts +4 -0
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
- package/lib/layer/index.d.ts +8 -0
- package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
- package/lib/layer/layer.module.d.ts +4 -18
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
- package/lib/map/index.d.ts +14 -0
- package/lib/map/info-section/info-section.component.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +1 -1
- package/lib/map/map-center/map-center.component.d.ts +1 -1
- package/lib/map/map.module.d.ts +4 -7
- package/lib/map/menu-button/menu-button.component.d.ts +1 -1
- package/lib/map/offline-button/offline-button.component.d.ts +2 -2
- package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
- package/lib/map/shared/hover-feature.directive.d.ts +1 -1
- package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
- package/lib/map/shared/mapOffline.directive.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
- package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
- package/lib/measure/index.d.ts +1 -2
- package/lib/measure/measure.module.d.ts +3 -0
- package/lib/measure/measurer/index.d.ts +5 -0
- package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
- package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
- package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
- package/lib/measure/measurer/measurer.component.d.ts +2 -3
- package/lib/measure/measurer/measurer.module.d.ts +3 -18
- package/lib/metadata/index.d.ts +2 -0
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
- package/lib/metadata/metadata.module.d.ts +4 -7
- package/lib/overlay/overlay.module.d.ts +4 -1
- package/lib/overlay/shared/overlay.directive.d.ts +1 -1
- package/lib/print/print/print.component.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +1 -1
- package/lib/print/print.module.d.ts +4 -12
- package/lib/query/query.module.d.ts +4 -4
- package/lib/query/shared/query.directive.d.ts +1 -1
- package/lib/query/shared/query.service.d.ts +2 -3
- package/lib/search/index.d.ts +6 -4
- package/lib/search/search-bar/search-bar.component.d.ts +1 -1
- package/lib/search/search-bar/search-bar.module.d.ts +2 -16
- package/lib/search/search-results/index.d.ts +6 -0
- package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/search-results/search-results-item.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +1 -1
- package/lib/search/search-results/search-results.module.d.ts +3 -21
- package/lib/search/search-selector/search-selector.component.d.ts +1 -1
- package/lib/search/search-selector/search-selector.module.d.ts +2 -11
- package/lib/search/search-settings/search-settings.component.d.ts +1 -1
- package/lib/search/search-settings/search-settings.module.d.ts +2 -12
- package/lib/search/search.module.d.ts +6 -7
- package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
- package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
- package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
- package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
- package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
- package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
- package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
- package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +1 -1
- package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +1 -1
- package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +1 -1
- package/lib/style/style.module.d.ts +5 -16
- package/lib/toast/toast.component.d.ts +1 -1
- package/lib/toast/toast.module.d.ts +4 -6
- package/lib/wkt/wkt.module.d.ts +3 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +2 -6
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +2 -3
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
- package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +2 -3
- package/lib/workspace/workspace.module.d.ts +5 -9
- package/locale/en.geo.json +3 -3
- package/locale/fr.geo.json +3 -3
- package/package.json +14 -12
- package/public_api.d.ts +10 -11
- package/src/geo-theme.scss +23 -23
- package/src/lib/filter/filter.theming.scss +13 -13
- package/src/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
- package/src/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
- package/src/lib/layer/layer-item/layer-item.theme.scss +33 -33
- package/src/lib/layer/layer-legend/layer-legend.theming.scss +10 -10
- package/src/lib/layer/layer-list-tool/layer-list-tool.theming.scss +34 -34
- package/src/lib/layer/layer.theming.scss +10 -10
- package/src/lib/map/map-browser/map-browser.theming.scss +46 -46
- package/src/lib/map/map.theming.scss +9 -9
- package/src/lib/map/menu-button/menu-button.theming.scss +20 -20
- package/src/lib/map/zoom-button/zoom-button.theming.scss +32 -32
- package/src/style/style.scss +1 -1
- package/esm2022/lib/datasource/datasource.module.mjs +0 -22
- package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +0 -40
- package/lib/datasource/datasource.module.d.ts +0 -8
- package/lib/search/search-bar/search-url-param.directive.d.ts +0 -13
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './import-export.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW1wb3J0LWV4cG9ydC5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -1,97 +1,26 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
6
|
-
import { MatOptionModule } from '@angular/material/core';
|
|
7
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
8
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
-
import { MatInputModule } from '@angular/material/input';
|
|
10
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
11
|
-
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
12
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
13
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
14
|
-
import { IgoCustomHtmlModule, IgoDrapDropModule, IgoKeyValueModule, IgoSpinnerModule } from '@igo2/common';
|
|
15
|
-
import { IgoLanguageModule } from '@igo2/core';
|
|
16
2
|
import { ExportButtonComponent } from './export-button/export-button.component';
|
|
17
3
|
import { ImportExportComponent } from './import-export/import-export.component';
|
|
18
4
|
import { DropGeoFileDirective } from './shared/drop-geo-file.directive';
|
|
19
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated import the components directly or IMPORT_EXPORT_DIRECTIVES for the set
|
|
8
|
+
*/
|
|
20
9
|
export class IgoImportExportModule {
|
|
21
10
|
static forRoot() {
|
|
22
11
|
return {
|
|
23
12
|
ngModule: IgoImportExportModule
|
|
24
13
|
};
|
|
25
14
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
28
|
-
|
|
29
|
-
ExportButtonComponent], imports: [MatIconModule,
|
|
30
|
-
MatTooltipModule,
|
|
31
|
-
FormsModule,
|
|
32
|
-
ReactiveFormsModule,
|
|
33
|
-
CommonModule,
|
|
34
|
-
MatButtonModule,
|
|
35
|
-
MatButtonToggleModule,
|
|
36
|
-
MatTabsModule,
|
|
37
|
-
MatSelectModule,
|
|
38
|
-
MatOptionModule,
|
|
39
|
-
MatFormFieldModule,
|
|
40
|
-
MatInputModule,
|
|
41
|
-
MatSlideToggleModule,
|
|
42
|
-
IgoLanguageModule,
|
|
43
|
-
IgoSpinnerModule,
|
|
44
|
-
IgoKeyValueModule,
|
|
45
|
-
IgoDrapDropModule,
|
|
46
|
-
IgoCustomHtmlModule], exports: [ImportExportComponent, DropGeoFileDirective, ExportButtonComponent] });
|
|
47
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoImportExportModule, imports: [MatIconModule,
|
|
48
|
-
MatTooltipModule,
|
|
49
|
-
FormsModule,
|
|
50
|
-
ReactiveFormsModule,
|
|
51
|
-
CommonModule,
|
|
52
|
-
MatButtonModule,
|
|
53
|
-
MatButtonToggleModule,
|
|
54
|
-
MatTabsModule,
|
|
55
|
-
MatSelectModule,
|
|
56
|
-
MatOptionModule,
|
|
57
|
-
MatFormFieldModule,
|
|
58
|
-
MatInputModule,
|
|
59
|
-
MatSlideToggleModule,
|
|
60
|
-
IgoLanguageModule,
|
|
61
|
-
IgoSpinnerModule,
|
|
62
|
-
IgoKeyValueModule,
|
|
63
|
-
IgoDrapDropModule,
|
|
64
|
-
IgoCustomHtmlModule] });
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoImportExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: IgoImportExportModule, imports: [ImportExportComponent, DropGeoFileDirective, ExportButtonComponent], exports: [ImportExportComponent, DropGeoFileDirective, ExportButtonComponent] });
|
|
17
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoImportExportModule, imports: [ImportExportComponent, ExportButtonComponent] });
|
|
65
18
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoImportExportModule, decorators: [{
|
|
67
20
|
type: NgModule,
|
|
68
21
|
args: [{
|
|
69
|
-
imports: [
|
|
70
|
-
|
|
71
|
-
MatTooltipModule,
|
|
72
|
-
FormsModule,
|
|
73
|
-
ReactiveFormsModule,
|
|
74
|
-
CommonModule,
|
|
75
|
-
MatButtonModule,
|
|
76
|
-
MatButtonToggleModule,
|
|
77
|
-
MatTabsModule,
|
|
78
|
-
MatSelectModule,
|
|
79
|
-
MatOptionModule,
|
|
80
|
-
MatFormFieldModule,
|
|
81
|
-
MatInputModule,
|
|
82
|
-
MatSlideToggleModule,
|
|
83
|
-
IgoLanguageModule,
|
|
84
|
-
IgoSpinnerModule,
|
|
85
|
-
IgoKeyValueModule,
|
|
86
|
-
IgoDrapDropModule,
|
|
87
|
-
IgoCustomHtmlModule
|
|
88
|
-
],
|
|
89
|
-
exports: [ImportExportComponent, DropGeoFileDirective, ExportButtonComponent],
|
|
90
|
-
declarations: [
|
|
91
|
-
ImportExportComponent,
|
|
92
|
-
DropGeoFileDirective,
|
|
93
|
-
ExportButtonComponent
|
|
94
|
-
]
|
|
22
|
+
imports: [ImportExportComponent, DropGeoFileDirective, ExportButtonComponent],
|
|
23
|
+
exports: [ImportExportComponent, DropGeoFileDirective, ExportButtonComponent]
|
|
95
24
|
}]
|
|
96
25
|
}] });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWV4cG9ydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUV4RTs7R0FFRztBQUtILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLHFCQUFxQjtTQUNoQyxDQUFDO0lBQ0osQ0FBQzt1R0FMVSxxQkFBcUI7d0dBQXJCLHFCQUFxQixZQUh0QixxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsYUFDbEUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCO3dHQUVqRSxxQkFBcUIsWUFIdEIscUJBQXFCLEVBQXdCLHFCQUFxQjs7MkZBR2pFLHFCQUFxQjtrQkFKakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQztvQkFDN0UsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLENBQUM7aUJBQzlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEV4cG9ydEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZXhwb3J0LWJ1dHRvbi9leHBvcnQtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltcG9ydEV4cG9ydENvbXBvbmVudCB9IGZyb20gJy4vaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyb3BHZW9GaWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvZHJvcC1nZW8tZmlsZS5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgY29tcG9uZW50cyBkaXJlY3RseSBvciBJTVBPUlRfRVhQT1JUX0RJUkVDVElWRVMgZm9yIHRoZSBzZXRcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0ltcG9ydEV4cG9ydENvbXBvbmVudCwgRHJvcEdlb0ZpbGVEaXJlY3RpdmUsIEV4cG9ydEJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0ltcG9ydEV4cG9ydENvbXBvbmVudCwgRHJvcEdlb0ZpbGVEaXJlY3RpdmUsIEV4cG9ydEJ1dHRvbkNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0ltcG9ydEV4cG9ydE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29JbXBvcnRFeHBvcnRNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29JbXBvcnRFeHBvcnRNb2R1bGVcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
import { ExportButtonComponent } from './export-button';
|
|
2
|
+
import { ImportExportComponent } from './import-export';
|
|
3
|
+
import { DropGeoFileDirective } from './shared';
|
|
1
4
|
export * from './shared';
|
|
2
5
|
export * from './import-export';
|
|
3
6
|
export * from './export-button';
|
|
4
|
-
|
|
7
|
+
export const IMPORT_EXPORT_DIRECTIVES = [
|
|
8
|
+
ImportExportComponent,
|
|
9
|
+
DropGeoFileDirective,
|
|
10
|
+
ExportButtonComponent
|
|
11
|
+
];
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoRCxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixxQkFBcUI7Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9leHBvcnQtYnV0dG9uJztcclxuaW1wb3J0IHsgSW1wb3J0RXhwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9pbXBvcnQtZXhwb3J0JztcclxuaW1wb3J0IHsgRHJvcEdlb0ZpbGVEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW1wb3J0LWV4cG9ydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXhwb3J0LWJ1dHRvbic7XHJcblxyXG5leHBvcnQgY29uc3QgSU1QT1JUX0VYUE9SVF9ESVJFQ1RJVkVTID0gW1xyXG4gIEltcG9ydEV4cG9ydENvbXBvbmVudCxcclxuICBEcm9wR2VvRmlsZURpcmVjdGl2ZSxcclxuICBFeHBvcnRCdXR0b25Db21wb25lbnRcclxuXSBhcyBjb25zdDtcclxuIl19
|
|
@@ -138,15 +138,16 @@ export class DropGeoFileDirective extends DragAndDropDirective {
|
|
|
138
138
|
onFileImportError(file, error) {
|
|
139
139
|
handleFileImportError(file, error, this.messageService, this.config.getConfig('importExport.clientSideFileSizeMaxMb'));
|
|
140
140
|
}
|
|
141
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
142
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DropGeoFileDirective, deps: [{ token: i1.MapBrowserComponent }, { token: i2.ImportService }, { token: i3.StyleListService }, { token: i4.StyleService }, { token: i5.ConfigService }, { token: i5.MessageService }, { token: i6.LayerService }, { token: i7.ConfirmDialogService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
142
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: DropGeoFileDirective, isStandalone: true, selector: "[igoDropGeoFile]", inputs: { contextUri: "contextUri" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
143
143
|
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DropGeoFileDirective, decorators: [{
|
|
145
145
|
type: Directive,
|
|
146
146
|
args: [{
|
|
147
|
-
selector: '[igoDropGeoFile]'
|
|
147
|
+
selector: '[igoDropGeoFile]',
|
|
148
|
+
standalone: true
|
|
148
149
|
}]
|
|
149
|
-
}], ctorParameters:
|
|
150
|
+
}], ctorParameters: () => [{ type: i1.MapBrowserComponent }, { type: i2.ImportService }, { type: i3.StyleListService }, { type: i4.StyleService }, { type: i5.ConfigService }, { type: i5.MessageService }, { type: i6.LayerService }, { type: i7.ConfirmDialogService }], propDecorators: { contextUri: [{
|
|
150
151
|
type: Input
|
|
151
152
|
}], onDragOver: [{
|
|
152
153
|
type: HostListener,
|
|
@@ -158,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
158
159
|
type: HostListener,
|
|
159
160
|
args: ['drop', ['$event']]
|
|
160
161
|
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1nZW8tZmlsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9kcm9wLWdlby1maWxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3hCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7QUFLakQsTUFBTSxPQUFPLG9CQUNYLFNBQVEsb0JBQW9CO0lBZ0JsQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBcEJBLFlBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN4RCxZQUFZLEdBQXlCLElBQUksWUFBWSxFQUFF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VUFBVSxFQUNmLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxZQUFZLEVBQ2pCLG9CQUFvQixDQUNyQixDQUFDO1NBQ0g7YUFBTTtZQUNMLHVCQUF1QixDQUNyQixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsWUFBWSxFQUNqQixvQkFBb0IsRUFDcEIsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBVSxFQUFFLEtBQVk7UUFDaEQscUJBQXFCLENBQ25CLElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsc0NBQXNDLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7d0dBaktVLG9CQUFvQjs0RkFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCO3VUQWVVLFVBQVU7c0JBQWxCLEtBQUs7Z0JBMEJDLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU03QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNOUIsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ1NlcnZpY2UsIERyYWdBbmREcm9wRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgZmlyc3QsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hcEJyb3dzZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tYXAvbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBTdHlsZUxpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc3R5bGUtbGlzdC9zdHlsZS1saXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdHlsZS9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIGhhbmRsZUZpbGVJbXBvcnRFcnJvcixcclxuICBoYW5kbGVGaWxlSW1wb3J0U3VjY2Vzc1xyXG59IGZyb20gJy4uL3NoYXJlZC9pbXBvcnQudXRpbHMnO1xyXG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vaW1wb3J0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEltcG9ydFNlcnZpY2UgfSBmcm9tICcuL2ltcG9ydC5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2lnb0Ryb3BHZW9GaWxlXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3BHZW9GaWxlRGlyZWN0aXZlXHJcbiAgZXh0ZW5kcyBEcmFnQW5kRHJvcERpcmVjdGl2ZVxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gIHByb3RlY3RlZCBmaWxlc0Ryb3BwZWQ6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHByb3RlY3RlZCBmaWxlc0ludmFsaWQ6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHByaXZhdGUgZXBzZ0NvZGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuICBwcml2YXRlIGVwc2dDb2RlJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBmaWxlc0Ryb3BwZWQkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgY29udGV4dFVyaTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29tcG9uZW50OiBNYXBCcm93c2VyQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBpbXBvcnRTZXJ2aWNlOiBJbXBvcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdHlsZUxpc3RTZXJ2aWNlOiBTdHlsZUxpc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtRGlhbG9nU2VydmljZTogQ29uZmlybURpYWxvZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZmlsZXNEcm9wcGVkJCQgPSB0aGlzLmZpbGVzRHJvcHBlZC5zdWJzY3JpYmUoKGZpbGVzOiBGaWxlW10pID0+IHtcclxuICAgICAgdGhpcy5vbkZpbGVzRHJvcHBlZChmaWxlcyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5maWxlc0Ryb3BwZWQkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbkRyYWdPdmVyKGV2dCkge1xyXG4gICAgc3VwZXIub25EcmFnT3ZlcihldnQpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25EcmFnTGVhdmUoZXZ0KSB7XHJcbiAgICBzdXBlci5vbkRyYWdMZWF2ZShldnQpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uRHJvcChldnQpIHtcclxuICAgIHN1cGVyLm9uRHJvcChldnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZpbGVzRHJvcHBlZChmaWxlczogRmlsZVtdKSB7XHJcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcclxuICAgICAgdGhpcy5kZXRlY3RFUFNHKGZpbGUpO1xyXG4gICAgICB0aGlzLmVwc2dDb2RlJCQucHVzaChcclxuICAgICAgICB0aGlzLmVwc2dDb2RlJFxyXG4gICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgIHNraXBXaGlsZSgoY29kZSkgPT4gIWNvZGUpLFxyXG4gICAgICAgICAgICBmaXJzdCgpLFxyXG4gICAgICAgICAgICBjb25jYXRNYXAoKGVwc2dDb2RlKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZXBzZyA9IGVwc2dDb2RlID09PSAnZXBzZ05vdERlZmluZWQnID8gdW5kZWZpbmVkIDogZXBzZ0NvZGU7XHJcbiAgICAgICAgICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmltcG9ydFNlcnZpY2UuaW1wb3J0KGZpbGUsIGVwc2cpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKGZlYXR1cmVzOiBGZWF0dXJlW10pID0+IHRoaXMub25GaWxlSW1wb3J0U3VjY2VzcyhmaWxlLCBmZWF0dXJlcyksXHJcbiAgICAgICAgICAgIChlcnJvcjogRXJyb3IpID0+IHRoaXMub25GaWxlSW1wb3J0RXJyb3IoZmlsZSwgZXJyb3IpXHJcbiAgICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRldGVjdEVQU0coZmlsZTogRmlsZSwgbmJMaW5lczogbnVtYmVyID0gNTAwKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFmaWxlLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnLmdlb2pzb24nKSAmJlxyXG4gICAgICAhZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy5nbWwnKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQoJ2Vwc2dOb3REZWZpbmVkJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICByZWFkZXIub25sb2FkID0gKGUpID0+IHtcclxuICAgICAgaWYgKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuZ2VvanNvbicpKSB7XHJcbiAgICAgICAgY29uc3QgZ2VvanNvbiA9IEpTT04ucGFyc2UocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xyXG4gICAgICAgIGlmIChnZW9qc29uLmNycz8ucHJvcGVydGllcz8ubmFtZSkge1xyXG4gICAgICAgICAgY29uc3QgZXBzZyA9IGdlb2pzb24uY3JzLnByb3BlcnRpZXMubmFtZS5tYXRjaCgvRVBTRzp7MSwyfVxcZHswLDZ9L2dtKTtcclxuICAgICAgICAgIGlmIChlcHNnICE9PSBudWxsICYmIGVwc2cubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQoZXBzZ1swXS5yZXBsYWNlKC86Oi9nLCAnOicpKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dCgnZXBzZ05vdERlZmluZWQnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KCdlcHNnTm90RGVmaW5lZCcpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChmaWxlLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnLmdtbCcpKSB7XHJcbiAgICAgICAgY29uc3QgdGV4dCA9IHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nO1xyXG4gICAgICAgIGNvbnN0IGxpbmVzID0gKHRleHQgYXMgc3RyaW5nKS5zcGxpdCgnXFxuJyk7XHJcbiAgICAgICAgZm9yIChsZXQgbGluZSA9IDA7IGxpbmUgPD0gbmJMaW5lczsgbGluZSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBlcHNnID0gbGluZXNbbGluZV0ubWF0Y2goL0VQU0c6XFxkezAsNn0vZ20pO1xyXG4gICAgICAgICAgaWYgKGVwc2cgIT09IG51bGwgJiYgZXBzZy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dChlcHNnWzBdKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dCgnZXBzZ05vdERlZmluZWQnKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlLCAnVVRGLTgnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25GaWxlSW1wb3J0U3VjY2VzcyhmaWxlOiBGaWxlLCBmZWF0dXJlczogRmVhdHVyZVtdKSB7XHJcbiAgICBjb25zdCBpbXBvcnRFeHBvcnRPcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKFxyXG4gICAgICAnaW1wb3J0RXhwb3J0J1xyXG4gICAgKSBhcyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucztcclxuICAgIGNvbnN0IGNvbmZpcm1EaWFsb2dTZXJ2aWNlID0gaW1wb3J0RXhwb3J0T3B0aW9ucz8uYWxsb3dUb1N0b3JlTGF5ZXJcclxuICAgICAgPyB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlXHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgaWYgKCFpbXBvcnRFeHBvcnRPcHRpb25zPy5pbXBvcnRXaXRoU3R5bGUpIHtcclxuICAgICAgaGFuZGxlRmlsZUltcG9ydFN1Y2Nlc3MoXHJcbiAgICAgICAgZmlsZSxcclxuICAgICAgICBmZWF0dXJlcyxcclxuICAgICAgICB0aGlzLm1hcCxcclxuICAgICAgICB0aGlzLmNvbnRleHRVcmksXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgICB0aGlzLmxheWVyU2VydmljZSxcclxuICAgICAgICBjb25maXJtRGlhbG9nU2VydmljZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaGFuZGxlRmlsZUltcG9ydFN1Y2Nlc3MoXHJcbiAgICAgICAgZmlsZSxcclxuICAgICAgICBmZWF0dXJlcyxcclxuICAgICAgICB0aGlzLm1hcCxcclxuICAgICAgICB0aGlzLmNvbnRleHRVcmksXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgICB0aGlzLmxheWVyU2VydmljZSxcclxuICAgICAgICBjb25maXJtRGlhbG9nU2VydmljZSxcclxuICAgICAgICB0aGlzLnN0eWxlTGlzdFNlcnZpY2UsXHJcbiAgICAgICAgdGhpcy5zdHlsZVNlcnZpY2VcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25GaWxlSW1wb3J0RXJyb3IoZmlsZTogRmlsZSwgZXJyb3I6IEVycm9yKSB7XHJcbiAgICBoYW5kbGVGaWxlSW1wb3J0RXJyb3IoXHJcbiAgICAgIGZpbGUsXHJcbiAgICAgIGVycm9yLFxyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2ltcG9ydEV4cG9ydC5jbGllbnRTaWRlRmlsZVNpemVNYXhNYicpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1nZW8tZmlsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9kcm9wLWdlby1maWxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3hCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7QUFNakQsTUFBTSxPQUFPLG9CQUNYLFNBQVEsb0JBQW9CO0lBZ0JsQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBcEJBLFlBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN4RCxZQUFZLEdBQXlCLElBQUksWUFBWSxFQUFF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XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ1NlcnZpY2UsIERyYWdBbmREcm9wRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgZmlyc3QsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hcEJyb3dzZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tYXAvbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBTdHlsZUxpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc3R5bGUtbGlzdC9zdHlsZS1saXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdHlsZS9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIGhhbmRsZUZpbGVJbXBvcnRFcnJvcixcclxuICBoYW5kbGVGaWxlSW1wb3J0U3VjY2Vzc1xyXG59IGZyb20gJy4uL3NoYXJlZC9pbXBvcnQudXRpbHMnO1xyXG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vaW1wb3J0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEltcG9ydFNlcnZpY2UgfSBmcm9tICcuL2ltcG9ydC5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2lnb0Ryb3BHZW9GaWxlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcEdlb0ZpbGVEaXJlY3RpdmVcclxuICBleHRlbmRzIERyYWdBbmREcm9wRGlyZWN0aXZlXHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgcHJvdGVjdGVkIGZpbGVzRHJvcHBlZDogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHJvdGVjdGVkIGZpbGVzSW52YWxpZDogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHJpdmF0ZSBlcHNnQ29kZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG4gIHByaXZhdGUgZXBzZ0NvZGUkJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIGZpbGVzRHJvcHBlZCQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5tYXA7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBjb250ZXh0VXJpOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnQ6IE1hcEJyb3dzZXJDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIGltcG9ydFNlcnZpY2U6IEltcG9ydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0eWxlTGlzdFNlcnZpY2U6IFN0eWxlTGlzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1EaWFsb2dTZXJ2aWNlOiBDb25maXJtRGlhbG9nU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5maWxlc0Ryb3BwZWQkJCA9IHRoaXMuZmlsZXNEcm9wcGVkLnN1YnNjcmliZSgoZmlsZXM6IEZpbGVbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9uRmlsZXNEcm9wcGVkKGZpbGVzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmZpbGVzRHJvcHBlZCQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZ0KSB7XHJcbiAgICBzdXBlci5vbkRyYWdPdmVyKGV2dCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbkRyYWdMZWF2ZShldnQpIHtcclxuICAgIHN1cGVyLm9uRHJhZ0xlYXZlKGV2dCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25Ecm9wKGV2dCkge1xyXG4gICAgc3VwZXIub25Ecm9wKGV2dCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRmlsZXNEcm9wcGVkKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgICB0aGlzLmRldGVjdEVQU0coZmlsZSk7XHJcbiAgICAgIHRoaXMuZXBzZ0NvZGUkJC5wdXNoKFxyXG4gICAgICAgIHRoaXMuZXBzZ0NvZGUkXHJcbiAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgc2tpcFdoaWxlKChjb2RlKSA9PiAhY29kZSksXHJcbiAgICAgICAgICAgIGZpcnN0KCksXHJcbiAgICAgICAgICAgIGNvbmNhdE1hcCgoZXBzZ0NvZGUpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBlcHNnID0gZXBzZ0NvZGUgPT09ICdlcHNnTm90RGVmaW5lZCcgPyB1bmRlZmluZWQgOiBlcHNnQ29kZTtcclxuICAgICAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW1wb3J0U2VydmljZS5pbXBvcnQoZmlsZSwgZXBzZyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAoZmVhdHVyZXM6IEZlYXR1cmVbXSkgPT4gdGhpcy5vbkZpbGVJbXBvcnRTdWNjZXNzKGZpbGUsIGZlYXR1cmVzKSxcclxuICAgICAgICAgICAgKGVycm9yOiBFcnJvcikgPT4gdGhpcy5vbkZpbGVJbXBvcnRFcnJvcihmaWxlLCBlcnJvcilcclxuICAgICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGV0ZWN0RVBTRyhmaWxlOiBGaWxlLCBuYkxpbmVzOiBudW1iZXIgPSA1MDApIHtcclxuICAgIGlmIChcclxuICAgICAgIWZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuZ2VvanNvbicpICYmXHJcbiAgICAgICFmaWxlLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnLmdtbCcpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dCgnZXBzZ05vdERlZmluZWQnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICBpZiAoZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy5nZW9qc29uJykpIHtcclxuICAgICAgICBjb25zdCBnZW9qc29uID0gSlNPTi5wYXJzZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XHJcbiAgICAgICAgaWYgKGdlb2pzb24uY3JzPy5wcm9wZXJ0aWVzPy5uYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBlcHNnID0gZ2VvanNvbi5jcnMucHJvcGVydGllcy5uYW1lLm1hdGNoKC9FUFNHOnsxLDJ9XFxkezAsNn0vZ20pO1xyXG4gICAgICAgICAgaWYgKGVwc2cgIT09IG51bGwgJiYgZXBzZy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dChlcHNnWzBdLnJlcGxhY2UoLzo6L2csICc6JykpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KCdlcHNnTm90RGVmaW5lZCcpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQoJ2Vwc2dOb3REZWZpbmVkJyk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuZ21sJykpIHtcclxuICAgICAgICBjb25zdCB0ZXh0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XHJcbiAgICAgICAgY29uc3QgbGluZXMgPSAodGV4dCBhcyBzdHJpbmcpLnNwbGl0KCdcXG4nKTtcclxuICAgICAgICBmb3IgKGxldCBsaW5lID0gMDsgbGluZSA8PSBuYkxpbmVzOyBsaW5lKyspIHtcclxuICAgICAgICAgIGNvbnN0IGVwc2cgPSBsaW5lc1tsaW5lXS5tYXRjaCgvRVBTRzpcXGR7MCw2fS9nbSk7XHJcbiAgICAgICAgICBpZiAoZXBzZyAhPT0gbnVsbCAmJiBlcHNnLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KGVwc2dbMF0pO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KCdlcHNnTm90RGVmaW5lZCcpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUsICdVVEYtOCcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZpbGVJbXBvcnRTdWNjZXNzKGZpbGU6IEZpbGUsIGZlYXR1cmVzOiBGZWF0dXJlW10pIHtcclxuICAgIGNvbnN0IGltcG9ydEV4cG9ydE9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoXHJcbiAgICAgICdpbXBvcnRFeHBvcnQnXHJcbiAgICApIGFzIEltcG9ydEV4cG9ydFNlcnZpY2VPcHRpb25zO1xyXG4gICAgY29uc3QgY29uZmlybURpYWxvZ1NlcnZpY2UgPSBpbXBvcnRFeHBvcnRPcHRpb25zPy5hbGxvd1RvU3RvcmVMYXllclxyXG4gICAgICA/IHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2VcclxuICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAoIWltcG9ydEV4cG9ydE9wdGlvbnM/LmltcG9ydFdpdGhTdHlsZSkge1xyXG4gICAgICBoYW5kbGVGaWxlSW1wb3J0U3VjY2VzcyhcclxuICAgICAgICBmaWxlLFxyXG4gICAgICAgIGZlYXR1cmVzLFxyXG4gICAgICAgIHRoaXMubWFwLFxyXG4gICAgICAgIHRoaXMuY29udGV4dFVyaSxcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlLFxyXG4gICAgICAgIGNvbmZpcm1EaWFsb2dTZXJ2aWNlXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBoYW5kbGVGaWxlSW1wb3J0U3VjY2VzcyhcclxuICAgICAgICBmaWxlLFxyXG4gICAgICAgIGZlYXR1cmVzLFxyXG4gICAgICAgIHRoaXMubWFwLFxyXG4gICAgICAgIHRoaXMuY29udGV4dFVyaSxcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlLFxyXG4gICAgICAgIGNvbmZpcm1EaWFsb2dTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMuc3R5bGVMaXN0U2VydmljZSxcclxuICAgICAgICB0aGlzLnN0eWxlU2VydmljZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZpbGVJbXBvcnRFcnJvcihmaWxlOiBGaWxlLCBlcnJvcjogRXJyb3IpIHtcclxuICAgIGhhbmRsZUZpbGVJbXBvcnRFcnJvcihcclxuICAgICAgZmlsZSxcclxuICAgICAgZXJyb3IsXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgIHRoaXMuY29uZmlnLmdldENvbmZpZygnaW1wb3J0RXhwb3J0LmNsaWVudFNpZGVGaWxlU2l6ZU1heE1iJylcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -12,4 +12,4 @@ export class ExportNothingToExportError extends ExportError {
|
|
|
12
12
|
Object.setPrototypeOf(this, ExportNothingToExportError.prototype);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmVycm9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2V4cG9ydC5lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0NBQUc7QUFFekMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFDckQ7UUFDRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFdBQVc7SUFDekQ7UUFDRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXhwb3J0RXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxyXG5cclxuZXhwb3J0IGNsYXNzIEV4cG9ydEludmFsaWRGaWxlRXJyb3IgZXh0ZW5kcyBFeHBvcnRFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignSW52YWxpZCBmaWxlJyk7XHJcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgRXhwb3J0SW52YWxpZEZpbGVFcnJvci5wcm90b3R5cGUpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEV4cG9ydE5vdGhpbmdUb0V4cG9ydEVycm9yIGV4dGVuZHMgRXhwb3J0RXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ05vdGhpbmcgdG8gZXhwb3J0Jyk7XHJcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IucHJvdG90eXBlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -193,13 +193,13 @@ export class ExportService {
|
|
|
193
193
|
}
|
|
194
194
|
return false;
|
|
195
195
|
}
|
|
196
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
197
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ExportService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
197
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ExportService, providedIn: 'root' });
|
|
198
198
|
}
|
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ExportService, decorators: [{
|
|
200
200
|
type: Injectable,
|
|
201
201
|
args: [{
|
|
202
202
|
providedIn: 'root'
|
|
203
203
|
}]
|
|
204
|
-
}], ctorParameters:
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9leHBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFHdEMsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzNCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUs3RCxNQUFNLE9BQU8sYUFBYTtJQWVKO0lBZHBCLE1BQU0sQ0FBQyxXQUFXLEdBQUc7UUFDbkIsR0FBRyxFQUFFLEtBQUs7UUFDVixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixRQUFRLEVBQUUsVUFBVTtRQUNwQixZQUFZLEVBQUUsY0FBYztLQUM3QixDQUFDO0lBRUYsTUFBTSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFdkMsT0FBTyxDQUFTO0lBQ2hCLGtCQUFrQixHQUFZLElBQUksQ0FBQztJQUUzQyxZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZD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QUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgZG93bmxvYWRDb250ZW50IH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0ICogYXMgb2xmb3JtYXQgZnJvbSAnb2wvZm9ybWF0JztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGVuY29kZSB9IGZyb20gJ3dpbmRvd3MtMTI1Mic7XHJcblxyXG5pbXBvcnQge1xyXG4gIEV4cG9ydEludmFsaWRGaWxlRXJyb3IsXHJcbiAgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3JcclxufSBmcm9tICcuL2V4cG9ydC5lcnJvcnMnO1xyXG5pbXBvcnQgeyBFbmNvZGluZ0Zvcm1hdCwgRXhwb3J0Rm9ybWF0IH0gZnJvbSAnLi9leHBvcnQudHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRTZXJ2aWNlIHtcclxuICBzdGF0aWMgb2dyZUZvcm1hdHMgPSB7XHJcbiAgICBHTUw6ICdnbWwnLFxyXG4gICAgR1BYOiAnZ3B4JyxcclxuICAgIEtNTDogJ2ttbCcsXHJcbiAgICBTaGFwZWZpbGU6ICdFU1JJIFNoYXBlZmlsZScsXHJcbiAgICBDU1Zjb21tYTogJ0NTVmNvbW1hJyxcclxuICAgIENTVnNlbWljb2xvbjogJ0NTVnNlbWljb2xvbidcclxuICB9O1xyXG5cclxuICBzdGF0aWMgbm9PZ3JlRmFsbGJhY2tzID0gWydHTUwnLCAnR1BYJywgJ0tNTCddO1xyXG5cclxuICBwcml2YXRlIG9ncmVVcmw6IHN0cmluZztcclxuICBwcml2YXRlIGFnZ3JlZ2F0ZUluQ29tbWVudDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLm9ncmVVcmwgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2ltcG9ydEV4cG9ydC51cmwnKTtcclxuICAgIGNvbnN0IGdweEFnZ3JlZ2F0ZUluQ29tbWVudCA9IHRoaXMuY29uZmlnLmdldENvbmZpZyhcclxuICAgICAgJ2ltcG9ydEV4cG9ydC5ncHhBZ2dyZWdhdGVJbkNvbW1lbnQnXHJcbiAgICApO1xyXG4gICAgaWYgKGdweEFnZ3JlZ2F0ZUluQ29tbWVudCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuYWdncmVnYXRlSW5Db21tZW50ID0gZ3B4QWdncmVnYXRlSW5Db21tZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0KFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBmb3JtYXQ6IEV4cG9ydEZvcm1hdCxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBlbmNvZGluZzogRW5jb2RpbmdGb3JtYXQsXHJcbiAgICBwcm9qZWN0aW9uSW4gPSAnRVBTRzo0MzI2JyxcclxuICAgIHByb2plY3Rpb25PdXQgPSAnRVBTRzo0MzI2J1xyXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgY29uc3QgZXhwb3J0T2xGZWF0dXJlcyA9IHRoaXMuZ2VuZXJhdGVGZWF0dXJlKFxyXG4gICAgICBvbEZlYXR1cmVzLFxyXG4gICAgICBmb3JtYXQsXHJcbiAgICAgICdfZmVhdHVyZVN0b3JlJ1xyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5leHBvcnRBc3luYyhcclxuICAgICAgZXhwb3J0T2xGZWF0dXJlcyxcclxuICAgICAgZm9ybWF0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgZW5jb2RpbmcsXHJcbiAgICAgIHByb2plY3Rpb25JbixcclxuICAgICAgcHJvamVjdGlvbk91dFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZUZlYXR1cmUoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIGZvcm1hdDogRXhwb3J0Rm9ybWF0LFxyXG4gICAgZXhjbHVkZVByZWZpeDogc3RyaW5nID0gJ18nXHJcbiAgKTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10ge1xyXG4gICAgaWYgKGZvcm1hdCA9PT0gRXhwb3J0Rm9ybWF0LkdQWCAmJiB0aGlzLmFnZ3JlZ2F0ZUluQ29tbWVudCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZUFnZ3JlZ2F0ZWRGZWF0dXJlKG9sRmVhdHVyZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvbEZlYXR1cmVzLm1hcCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcclxuICAgICAgY29uc3Qga2V5cyA9IG9sRmVhdHVyZVxyXG4gICAgICAgIC5nZXRLZXlzKClcclxuICAgICAgICAuZmlsdGVyKChrZXk6IHN0cmluZykgPT4gIWtleS5zdGFydHNXaXRoKGV4Y2x1ZGVQcmVmaXgpKTtcclxuICAgICAgY29uc3QgcHJvcGVydGllcyA9IGtleXMucmVkdWNlKFxyXG4gICAgICAgIChhY2M6IG9iamVjdCwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGFjY1trZXldID0gb2xGZWF0dXJlLmdldChrZXkpO1xyXG4gICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgZ2VvbWV0cnk6IG9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpIH1cclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIG5ldyBPbEZlYXR1cmUocHJvcGVydGllcyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2VuZXJhdGVBZ2dyZWdhdGVkRmVhdHVyZShcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdXHJcbiAgKTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10ge1xyXG4gICAgcmV0dXJuIG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICBjb25zdCBrZXlzID0gb2xGZWF0dXJlXHJcbiAgICAgICAgLmdldEtleXMoKVxyXG4gICAgICAgIC5maWx0ZXIoKGtleTogc3RyaW5nKSA9PiAha2V5LnN0YXJ0c1dpdGgoJ18nKSk7XHJcbiAgICAgIGxldCBjb21tZW50OiBzdHJpbmcgPSAnJztcclxuICAgICAgY29uc3QgcHJvcGVydGllcyA9IGtleXMucmVkdWNlKFxyXG4gICAgICAgIChhY2M6IG9iamVjdCwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGlmIChrZXkgJiYga2V5ICE9PSAnZ2VvbWV0cnknKSB7XHJcbiAgICAgICAgICAgIGtleSA9PT0gJ2lkJyAmJiBvbEZlYXR1cmUuZ2V0KCdkcmF3JylcclxuICAgICAgICAgICAgICA/IChjb21tZW50ICs9IGtleSArICc6JyArIG9sRmVhdHVyZS5nZXQoJ2RyYXcnKSArICcgICBcXHJcXG4nKVxyXG4gICAgICAgICAgICAgIDogKGNvbW1lbnQgKz0ga2V5ICsgJzonICsgb2xGZWF0dXJlLmdldChrZXkpICsgJyAgIFxcclxcbicpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYWNjW2tleV0gPSBvbEZlYXR1cmUuZ2V0KGtleSk7XHJcbiAgICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZ2VvbWV0cnk6IG9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBuZXdGZWF0dXJlID0gbmV3IE9sRmVhdHVyZShwcm9wZXJ0aWVzKTtcclxuICAgICAgbmV3RmVhdHVyZS5zZXQoJ25hbWUnLCBvbEZlYXR1cmUuZ2V0SWQoKSk7XHJcbiAgICAgIG5ld0ZlYXR1cmUuc2V0KCdjbXQnLCBjb21tZW50KTtcclxuXHJcbiAgICAgIHJldHVybiBuZXdGZWF0dXJlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4cG9ydEFzeW5jKFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBmb3JtYXQ6IEV4cG9ydEZvcm1hdCxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBlbmNvZGluZzogRW5jb2RpbmdGb3JtYXQsXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgY29uc3QgZG9FeHBvcnQgPSAob2JzZXJ2ZXI6IE9ic2VydmVyPHZvaWQ+KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vdGhpbmdUb0V4cG9ydCA9IHRoaXMubm90aGluZ1RvRXhwb3J0KG9sRmVhdHVyZXMsIGZvcm1hdCk7XHJcbiAgICAgIGlmIChub3RoaW5nVG9FeHBvcnQpIHtcclxuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IoKSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBvZ3JlRm9ybWF0cyA9IE9iamVjdC5rZXlzKEV4cG9ydFNlcnZpY2Uub2dyZUZvcm1hdHMpO1xyXG4gICAgICBpZiAob2dyZUZvcm1hdHMuaW5kZXhPZihmb3JtYXQpID49IDApIHtcclxuICAgICAgICBpZiAoIXRoaXMub2dyZVVybCkge1xyXG4gICAgICAgICAgaWYgKEV4cG9ydFNlcnZpY2Uubm9PZ3JlRmFsbGJhY2tzLmluZGV4T2YoZm9ybWF0KSA+PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0VG9GaWxlKFxyXG4gICAgICAgICAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIsXHJcbiAgICAgICAgICAgICAgZm9ybWF0LFxyXG4gICAgICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgICAgIHByb2plY3Rpb25JbixcclxuICAgICAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgRXhwb3J0SW52YWxpZEZpbGVFcnJvcigpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5leHBvcnRXaXRoT2dyZShcclxuICAgICAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgICAgICBvYnNlcnZlcixcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgZW5jb2RpbmcsXHJcbiAgICAgICAgICBwcm9qZWN0aW9uSW4sXHJcbiAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmV4cG9ydFRvRmlsZShcclxuICAgICAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgICAgICBvYnNlcnZlcixcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgcHJvamVjdGlvbkluLFxyXG4gICAgICAgICAgcHJvamVjdGlvbk91dFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGRvRXhwb3J0KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBleHBvcnRUb0ZpbGUoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIG9ic2VydmVyOiBPYnNlcnZlcjx2b2lkPixcclxuICAgIGZvcm1hdDogRXhwb3J0Rm9ybWF0LFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCBvbEZvcm1hdCA9IG5ldyBvbGZvcm1hdFtmb3JtYXRdKCk7XHJcbiAgICBjb25zdCBmZWF0dXJlc1RleHQgPSBvbEZvcm1hdC53cml0ZUZlYXR1cmVzKG9sRmVhdHVyZXMsIHtcclxuICAgICAgZGF0YVByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uSW4sXHJcbiAgICAgIGZlYXR1cmVUeXBlOiAnZmVhdHVyZScsXHJcbiAgICAgIGZlYXR1cmVOUzogJ2h0dHA6Ly9leGFtcGxlLmNvbS9mZWF0dXJlJ1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgZmlsZU5hbWUgPSBgJHt0aXRsZX0uJHtmb3JtYXQudG9Mb3dlckNhc2UoKX1gO1xyXG5cclxuICAgIGRvd25sb2FkQ29udGVudChmZWF0dXJlc1RleHQsICdhdHRhY2htZW50L3BsYWluO2NoYXJzZXQ9dXRmLTgnLCBmaWxlTmFtZSk7XHJcbiAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHBvcnRXaXRoT2dyZShcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPHZvaWQ+LFxyXG4gICAgZm9ybWF0OiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgZW5jb2RpbmdUeXBlOiBFbmNvZGluZ0Zvcm1hdCxcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBsZXQgZmVhdHVyZXNUZXh0OiBzdHJpbmcgPSBuZXcgb2xmb3JtYXQuR2VvSlNPTigpLndyaXRlRmVhdHVyZXMoXHJcbiAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgIHtcclxuICAgICAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcclxuICAgICAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbkluXHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5vZ3JlVXJsfS9jb252ZXJ0SnNvbmA7XHJcbiAgICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpO1xyXG4gICAgZm9ybS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTtcclxuICAgIGZvcm0uc2V0QXR0cmlidXRlKCdtZXRob2QnLCAncG9zdCcpO1xyXG4gICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsICdfYmxhbmsnKTtcclxuICAgIGZvcm0uc2V0QXR0cmlidXRlKCdhY3Rpb24nLCB1cmwpO1xyXG5cclxuICAgIGlmIChlbmNvZGluZ1R5cGUgPT09IEVuY29kaW5nRm9ybWF0LlVURjgpIHtcclxuICAgICAgZm9ybS5hY2NlcHRDaGFyc2V0ID0gJ1VURi04JztcclxuICAgICAgZm9ybS5lbmN0eXBlID0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtODsnO1xyXG4gICAgfSBlbHNlIGlmIChlbmNvZGluZ1R5cGUgPT09IEVuY29kaW5nRm9ybWF0LkxBVElOMSkge1xyXG4gICAgICBjb25zdCBlbmN0eXBlID0gJ0lTTy04ODU5LTEnO1xyXG4gICAgICBjb25zdCBmZWF0dXJlc0pzb24gPSBKU09OLnBhcnNlKGZlYXR1cmVzVGV4dCk7XHJcbiAgICAgIGZlYXR1cmVzSnNvbi5mZWF0dXJlcy5tYXAoKGYpID0+IHtcclxuICAgICAgICBjb25zdCBlbmNvZGVkUHJvcGVydGllcyA9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoXHJcbiAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgZW5jb2RlKEpTT04uc3RyaW5naWZ5KGYucHJvcGVydGllcyksIHsgbW9kZTogJ3JlcGxhY2VtZW50JyB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgZi5wcm9wZXJ0aWVzID0gSlNPTi5wYXJzZShlbmNvZGVkUHJvcGVydGllcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBmZWF0dXJlc1RleHQgPSBKU09OLnN0cmluZ2lmeShmZWF0dXJlc0pzb24pO1xyXG4gICAgICBjb25zdCBlbmNvZGluZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGVuY29kaW5nLnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcclxuICAgICAgZW5jb2Rpbmcuc2V0QXR0cmlidXRlKCduYW1lJywgJ2VuY29kaW5nJyk7XHJcbiAgICAgIGVuY29kaW5nLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBlbmN0eXBlKTtcclxuICAgICAgZm9ybS5hcHBlbmRDaGlsZChlbmNvZGluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZvcm1hdCA9PT0gJ0NTVnNlbWljb2xvbicpIHtcclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIG9wdGlvbnMuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xyXG4gICAgICBvcHRpb25zLnNldEF0dHJpYnV0ZSgnbmFtZScsICdsY28nKTtcclxuICAgICAgb3B0aW9ucy5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ1NFUEFSQVRPUj1TRU1JQ09MT04nKTtcclxuICAgICAgZm9ybS5hcHBlbmRDaGlsZChvcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBnZW9qc29uRmllbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgZ2VvanNvbkZpZWxkLnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcclxuICAgIGdlb2pzb25GaWVsZC5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAnanNvbicpO1xyXG4gICAgZ2VvanNvbkZpZWxkLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBmZWF0dXJlc1RleHQpO1xyXG4gICAgZm9ybS5hcHBlbmRDaGlsZChnZW9qc29uRmllbGQpO1xyXG5cclxuICAgIGNvbnN0IG91dHB1dE5hbWVGaWVsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBsZXQgb3V0cHV0TmFtZSA9XHJcbiAgICAgIGZvcm1hdCA9PT0gJ1NoYXBlZmlsZSdcclxuICAgICAgICA/IGAke3RpdGxlfS56aXBgXHJcbiAgICAgICAgOiBgJHt0aXRsZX0uJHtmb3JtYXQudG9Mb3dlckNhc2UoKX1gO1xyXG4gICAgaWYgKGZvcm1hdCA9PT0gJ0NTVmNvbW1hJyB8fCBmb3JtYXQgPT09ICdDU1ZzZW1pY29sb24nKSB7XHJcbiAgICAgIG91dHB1dE5hbWUgPSBgJHt0aXRsZX0uY3N2YDtcclxuICAgIH1cclxuICAgIG91dHB1dE5hbWUgPSBvdXRwdXROYW1lLnJlcGxhY2UoJyAnLCAnXycpO1xyXG4gICAgb3V0cHV0TmFtZSA9IG91dHB1dE5hbWVcclxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxyXG4gICAgICAucmVwbGFjZSgv4oCZL2csIFwiJ1wiKTtcclxuICAgIG91dHB1dE5hbWVGaWVsZC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XHJcbiAgICBvdXRwdXROYW1lRmllbGQuc2V0QXR0cmlidXRlKCduYW1lJywgJ291dHB1dE5hbWUnKTtcclxuICAgIG91dHB1dE5hbWVGaWVsZC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgb3V0cHV0TmFtZSk7XHJcbiAgICBmb3JtLmFwcGVuZENoaWxkKG91dHB1dE5hbWVGaWVsZCk7XHJcblxyXG4gICAgbGV0IG9ncmVGb3JtYXQgPSBFeHBvcnRTZXJ2aWNlLm9ncmVGb3JtYXRzW2Zvcm1hdF07XHJcbiAgICBpZiAoZm9ybWF0ID09PSAnQ1NWY29tbWEnIHx8IGZvcm1hdCA9PT0gJ0NTVnNlbWljb2xvbicpIHtcclxuICAgICAgb2dyZUZvcm1hdCA9ICdDU1YnO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb3V0cHV0Rm9ybWF0RmllbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgb3V0cHV0Rm9ybWF0RmllbGQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xyXG4gICAgb3V0cHV0Rm9ybWF0RmllbGQuc2V0QXR0cmlidXRlKCduYW1lJywgJ2Zvcm1hdCcpO1xyXG4gICAgb3V0cHV0Rm9ybWF0RmllbGQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIG9ncmVGb3JtYXQpO1xyXG4gICAgZm9ybS5hcHBlbmRDaGlsZChvdXRwdXRGb3JtYXRGaWVsZCk7XHJcblxyXG4gICAgZm9ybS5zdWJtaXQoKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZm9ybSk7XHJcblxyXG4gICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbm90aGluZ1RvRXhwb3J0KFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBmb3JtYXQ6IHN0cmluZ1xyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKG9sRmVhdHVyZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKGZvcm1hdCA9PT0gJ0dQWCcpIHtcclxuICAgICAgY29uc3QgcG9pbnRPckxpbmUgPSBvbEZlYXR1cmVzLmZpbmQoKG9sRmVhdHVyZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICBbJ1BvaW50JywgJ0xpbmVTdHJpbmcnLCAnTXVsdGlMaW5lU3RyaW5nJ10uaW5kZXhPZihcclxuICAgICAgICAgICAgb2xGZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0VHlwZSgpXHJcbiAgICAgICAgICApID49IDBcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHBvaW50T3JMaW5lID09PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
204
|
+
}], ctorParameters: () => [{ type: i1.ConfigService }] });
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9leHBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFHdEMsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzNCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUs3RCxNQUFNLE9BQU8sYUFBYTtJQWVKO0lBZHBCLE1BQU0sQ0FBQyxXQUFXLEdBQUc7UUFDbkIsR0FBRyxFQUFFLEtBQUs7UUFDVixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixRQUFRLEVBQUUsVUFBVTtRQUNwQixZQUFZLEVBQUUsY0FBYztLQUM3QixDQUFDO0lBRUYsTUFBTSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFdkMsT0FBTyxDQUFTO0lBQ2hCLGtCQUFrQixHQUFZLElBQUksQ0FBQztJQUUzQyxZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZD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QUM7WUFDSCxPQUFPLFdBQVcsS0FBSyxTQUFTLENBQUM7UUFDbkMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt1R0FyU1UsYUFBYTsyR0FBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IGRvd25sb2FkQ29udGVudCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCAqIGFzIG9sZm9ybWF0IGZyb20gJ29sL2Zvcm1hdCc7XHJcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBlbmNvZGUgfSBmcm9tICd3aW5kb3dzLTEyNTInO1xyXG5cclxuaW1wb3J0IHtcclxuICBFeHBvcnRJbnZhbGlkRmlsZUVycm9yLFxyXG4gIEV4cG9ydE5vdGhpbmdUb0V4cG9ydEVycm9yXHJcbn0gZnJvbSAnLi9leHBvcnQuZXJyb3JzJztcclxuaW1wb3J0IHsgRW5jb2RpbmdGb3JtYXQsIEV4cG9ydEZvcm1hdCB9IGZyb20gJy4vZXhwb3J0LnR5cGUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhwb3J0U2VydmljZSB7XHJcbiAgc3RhdGljIG9ncmVGb3JtYXRzID0ge1xyXG4gICAgR01MOiAnZ21sJyxcclxuICAgIEdQWDogJ2dweCcsXHJcbiAgICBLTUw6ICdrbWwnLFxyXG4gICAgU2hhcGVmaWxlOiAnRVNSSSBTaGFwZWZpbGUnLFxyXG4gICAgQ1NWY29tbWE6ICdDU1Zjb21tYScsXHJcbiAgICBDU1ZzZW1pY29sb246ICdDU1ZzZW1pY29sb24nXHJcbiAgfTtcclxuXHJcbiAgc3RhdGljIG5vT2dyZUZhbGxiYWNrcyA9IFsnR01MJywgJ0dQWCcsICdLTUwnXTtcclxuXHJcbiAgcHJpdmF0ZSBvZ3JlVXJsOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBhZ2dyZWdhdGVJbkNvbW1lbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSkge1xyXG4gICAgdGhpcy5vZ3JlVXJsID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdpbXBvcnRFeHBvcnQudXJsJyk7XHJcbiAgICBjb25zdCBncHhBZ2dyZWdhdGVJbkNvbW1lbnQgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoXHJcbiAgICAgICdpbXBvcnRFeHBvcnQuZ3B4QWdncmVnYXRlSW5Db21tZW50J1xyXG4gICAgKTtcclxuICAgIGlmIChncHhBZ2dyZWdhdGVJbkNvbW1lbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmFnZ3JlZ2F0ZUluQ29tbWVudCA9IGdweEFnZ3JlZ2F0ZUluQ29tbWVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cG9ydChcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gICAgZm9ybWF0OiBFeHBvcnRGb3JtYXQsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgZW5jb2Rpbmc6IEVuY29kaW5nRm9ybWF0LFxyXG4gICAgcHJvamVjdGlvbkluID0gJ0VQU0c6NDMyNicsXHJcbiAgICBwcm9qZWN0aW9uT3V0ID0gJ0VQU0c6NDMyNidcclxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGV4cG9ydE9sRmVhdHVyZXMgPSB0aGlzLmdlbmVyYXRlRmVhdHVyZShcclxuICAgICAgb2xGZWF0dXJlcyxcclxuICAgICAgZm9ybWF0LFxyXG4gICAgICAnX2ZlYXR1cmVTdG9yZSdcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZXhwb3J0QXN5bmMoXHJcbiAgICAgIGV4cG9ydE9sRmVhdHVyZXMsXHJcbiAgICAgIGZvcm1hdCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIGVuY29kaW5nLFxyXG4gICAgICBwcm9qZWN0aW9uSW4sXHJcbiAgICAgIHByb2plY3Rpb25PdXRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2VuZXJhdGVGZWF0dXJlKFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBmb3JtYXQ6IEV4cG9ydEZvcm1hdCxcclxuICAgIGV4Y2x1ZGVQcmVmaXg6IHN0cmluZyA9ICdfJ1xyXG4gICk6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdIHtcclxuICAgIGlmIChmb3JtYXQgPT09IEV4cG9ydEZvcm1hdC5HUFggJiYgdGhpcy5hZ2dyZWdhdGVJbkNvbW1lbnQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVBZ2dyZWdhdGVkRmVhdHVyZShvbEZlYXR1cmVzKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2xGZWF0dXJlcy5tYXAoKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICAgIGNvbnN0IGtleXMgPSBvbEZlYXR1cmVcclxuICAgICAgICAuZ2V0S2V5cygpXHJcbiAgICAgICAgLmZpbHRlcigoa2V5OiBzdHJpbmcpID0+ICFrZXkuc3RhcnRzV2l0aChleGNsdWRlUHJlZml4KSk7XHJcbiAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBrZXlzLnJlZHVjZShcclxuICAgICAgICAoYWNjOiBvYmplY3QsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBhY2Nba2V5XSA9IG9sRmVhdHVyZS5nZXQoa2V5KTtcclxuICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IGdlb21ldHJ5OiBvbEZlYXR1cmUuZ2V0R2VvbWV0cnkoKSB9XHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiBuZXcgT2xGZWF0dXJlKHByb3BlcnRpZXMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlQWdncmVnYXRlZEZlYXR1cmUoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXVxyXG4gICk6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdIHtcclxuICAgIHJldHVybiBvbEZlYXR1cmVzLm1hcCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcclxuICAgICAgY29uc3Qga2V5cyA9IG9sRmVhdHVyZVxyXG4gICAgICAgIC5nZXRLZXlzKClcclxuICAgICAgICAuZmlsdGVyKChrZXk6IHN0cmluZykgPT4gIWtleS5zdGFydHNXaXRoKCdfJykpO1xyXG4gICAgICBsZXQgY29tbWVudDogc3RyaW5nID0gJyc7XHJcbiAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBrZXlzLnJlZHVjZShcclxuICAgICAgICAoYWNjOiBvYmplY3QsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBpZiAoa2V5ICYmIGtleSAhPT0gJ2dlb21ldHJ5Jykge1xyXG4gICAgICAgICAgICBrZXkgPT09ICdpZCcgJiYgb2xGZWF0dXJlLmdldCgnZHJhdycpXHJcbiAgICAgICAgICAgICAgPyAoY29tbWVudCArPSBrZXkgKyAnOicgKyBvbEZlYXR1cmUuZ2V0KCdkcmF3JykgKyAnICAgXFxyXFxuJylcclxuICAgICAgICAgICAgICA6IChjb21tZW50ICs9IGtleSArICc6JyArIG9sRmVhdHVyZS5nZXQoa2V5KSArICcgICBcXHJcXG4nKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGFjY1trZXldID0gb2xGZWF0dXJlLmdldChrZXkpO1xyXG4gICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGdlb21ldHJ5OiBvbEZlYXR1cmUuZ2V0R2VvbWV0cnkoKVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgY29uc3QgbmV3RmVhdHVyZSA9IG5ldyBPbEZlYXR1cmUocHJvcGVydGllcyk7XHJcbiAgICAgIG5ld0ZlYXR1cmUuc2V0KCduYW1lJywgb2xGZWF0dXJlLmdldElkKCkpO1xyXG4gICAgICBuZXdGZWF0dXJlLnNldCgnY210JywgY29tbWVudCk7XHJcblxyXG4gICAgICByZXR1cm4gbmV3RmVhdHVyZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHBvcnRBc3luYyhcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gICAgZm9ybWF0OiBFeHBvcnRGb3JtYXQsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgZW5jb2Rpbmc6IEVuY29kaW5nRm9ybWF0LFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGRvRXhwb3J0ID0gKG9ic2VydmVyOiBPYnNlcnZlcjx2b2lkPikgPT4ge1xyXG4gICAgICBjb25zdCBub3RoaW5nVG9FeHBvcnQgPSB0aGlzLm5vdGhpbmdUb0V4cG9ydChvbEZlYXR1cmVzLCBmb3JtYXQpO1xyXG4gICAgICBpZiAobm90aGluZ1RvRXhwb3J0KSB7XHJcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEV4cG9ydE5vdGhpbmdUb0V4cG9ydEVycm9yKCkpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgb2dyZUZvcm1hdHMgPSBPYmplY3Qua2V5cyhFeHBvcnRTZXJ2aWNlLm9ncmVGb3JtYXRzKTtcclxuICAgICAgaWYgKG9ncmVGb3JtYXRzLmluZGV4T2YoZm9ybWF0KSA+PSAwKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm9ncmVVcmwpIHtcclxuICAgICAgICAgIGlmIChFeHBvcnRTZXJ2aWNlLm5vT2dyZUZhbGxiYWNrcy5pbmRleE9mKGZvcm1hdCkgPj0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmV4cG9ydFRvRmlsZShcclxuICAgICAgICAgICAgICBvbEZlYXR1cmVzLFxyXG4gICAgICAgICAgICAgIG9ic2VydmVyLFxyXG4gICAgICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgICAgICB0aXRsZSxcclxuICAgICAgICAgICAgICBwcm9qZWN0aW9uSW4sXHJcbiAgICAgICAgICAgICAgcHJvamVjdGlvbk91dFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEV4cG9ydEludmFsaWRGaWxlRXJyb3IoKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZXhwb3J0V2l0aE9ncmUoXHJcbiAgICAgICAgICBvbEZlYXR1cmVzLFxyXG4gICAgICAgICAgb2JzZXJ2ZXIsXHJcbiAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICB0aXRsZSxcclxuICAgICAgICAgIGVuY29kaW5nLFxyXG4gICAgICAgICAgcHJvamVjdGlvbkluLFxyXG4gICAgICAgICAgcHJvamVjdGlvbk91dFxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5leHBvcnRUb0ZpbGUoXHJcbiAgICAgICAgICBvbEZlYXR1cmVzLFxyXG4gICAgICAgICAgb2JzZXJ2ZXIsXHJcbiAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICB0aXRsZSxcclxuICAgICAgICAgIHByb2plY3Rpb25JbixcclxuICAgICAgICAgIHByb2plY3Rpb25PdXRcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShkb0V4cG9ydCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZXhwb3J0VG9GaWxlKFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBvYnNlcnZlcjogT2JzZXJ2ZXI8dm9pZD4sXHJcbiAgICBmb3JtYXQ6IEV4cG9ydEZvcm1hdCxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3Qgb2xGb3JtYXQgPSBuZXcgb2xmb3JtYXRbZm9ybWF0XSgpO1xyXG4gICAgY29uc3QgZmVhdHVyZXNUZXh0ID0gb2xGb3JtYXQud3JpdGVGZWF0dXJlcyhvbEZlYXR1cmVzLCB7XHJcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0LFxyXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbkluLFxyXG4gICAgICBmZWF0dXJlVHlwZTogJ2ZlYXR1cmUnLFxyXG4gICAgICBmZWF0dXJlTlM6ICdodHRwOi8vZXhhbXBsZS5jb20vZmVhdHVyZSdcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7dGl0bGV9LiR7Zm9ybWF0LnRvTG93ZXJDYXNlKCl9YDtcclxuXHJcbiAgICBkb3dubG9hZENvbnRlbnQoZmVhdHVyZXNUZXh0LCAnYXR0YWNobWVudC9wbGFpbjtjaGFyc2V0PXV0Zi04JywgZmlsZU5hbWUpO1xyXG4gICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhwb3J0V2l0aE9ncmUoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIG9ic2VydmVyOiBPYnNlcnZlcjx2b2lkPixcclxuICAgIGZvcm1hdDogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIGVuY29kaW5nVHlwZTogRW5jb2RpbmdGb3JtYXQsXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgbGV0IGZlYXR1cmVzVGV4dDogc3RyaW5nID0gbmV3IG9sZm9ybWF0Lkdlb0pTT04oKS53cml0ZUZlYXR1cmVzKFxyXG4gICAgICBvbEZlYXR1cmVzLFxyXG4gICAgICB7XHJcbiAgICAgICAgZGF0YVByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICAgICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb25JblxyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMub2dyZVVybH0vY29udmVydEpzb25gO1xyXG4gICAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTtcclxuICAgIGZvcm0uc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7XHJcbiAgICBmb3JtLnNldEF0dHJpYnV0ZSgnbWV0aG9kJywgJ3Bvc3QnKTtcclxuICAgIGZvcm0uc2V0QXR0cmlidXRlKCd0YXJnZXQnLCAnX2JsYW5rJyk7XHJcbiAgICBmb3JtLnNldEF0dHJpYnV0ZSgnYWN0aW9uJywgdXJsKTtcclxuXHJcbiAgICBpZiAoZW5jb2RpbmdUeXBlID09PSBFbmNvZGluZ0Zvcm1hdC5VVEY4KSB7XHJcbiAgICAgIGZvcm0uYWNjZXB0Q2hhcnNldCA9ICdVVEYtOCc7XHJcbiAgICAgIGZvcm0uZW5jdHlwZSA9ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTg7JztcclxuICAgIH0gZWxzZSBpZiAoZW5jb2RpbmdUeXBlID09PSBFbmNvZGluZ0Zvcm1hdC5MQVRJTjEpIHtcclxuICAgICAgY29uc3QgZW5jdHlwZSA9ICdJU08tODg1OS0xJztcclxuICAgICAgY29uc3QgZmVhdHVyZXNKc29uID0gSlNPTi5wYXJzZShmZWF0dXJlc1RleHQpO1xyXG4gICAgICBmZWF0dXJlc0pzb24uZmVhdHVyZXMubWFwKChmKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZW5jb2RlZFByb3BlcnRpZXMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFxyXG4gICAgICAgICAgbnVsbCxcclxuICAgICAgICAgIGVuY29kZShKU09OLnN0cmluZ2lmeShmLnByb3BlcnRpZXMpLCB7IG1vZGU6ICdyZXBsYWNlbWVudCcgfSlcclxuICAgICAgICApO1xyXG4gICAgICAgIGYucHJvcGVydGllcyA9IEpTT04ucGFyc2UoZW5jb2RlZFByb3BlcnRpZXMpO1xyXG4gICAgICB9KTtcclxuICAgICAgZmVhdHVyZXNUZXh0ID0gSlNPTi5zdHJpbmdpZnkoZmVhdHVyZXNKc29uKTtcclxuICAgICAgY29uc3QgZW5jb2RpbmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgICBlbmNvZGluZy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XHJcbiAgICAgIGVuY29kaW5nLnNldEF0dHJpYnV0ZSgnbmFtZScsICdlbmNvZGluZycpO1xyXG4gICAgICBlbmNvZGluZy5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgZW5jdHlwZSk7XHJcbiAgICAgIGZvcm0uYXBwZW5kQ2hpbGQoZW5jb2RpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmb3JtYXQgPT09ICdDU1ZzZW1pY29sb24nKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgICBvcHRpb25zLnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcclxuICAgICAgb3B0aW9ucy5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAnbGNvJyk7XHJcbiAgICAgIG9wdGlvbnMuc2V0QXR0cmlidXRlKCd2YWx1ZScsICdTRVBBUkFUT1I9U0VNSUNPTE9OJyk7XHJcbiAgICAgIGZvcm0uYXBwZW5kQ2hpbGQob3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZ2VvanNvbkZpZWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGdlb2pzb25GaWVsZC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XHJcbiAgICBnZW9qc29uRmllbGQuc2V0QXR0cmlidXRlKCduYW1lJywgJ2pzb24nKTtcclxuICAgIGdlb2pzb25GaWVsZC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgZmVhdHVyZXNUZXh0KTtcclxuICAgIGZvcm0uYXBwZW5kQ2hpbGQoZ2VvanNvbkZpZWxkKTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXROYW1lRmllbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgbGV0IG91dHB1dE5hbWUgPVxyXG4gICAgICBmb3JtYXQgPT09ICdTaGFwZWZpbGUnXHJcbiAgICAgICAgPyBgJHt0aXRsZX0uemlwYFxyXG4gICAgICAgIDogYCR7dGl0bGV9LiR7Zm9ybWF0LnRvTG93ZXJDYXNlKCl9YDtcclxuICAgIGlmIChmb3JtYXQgPT09ICdDU1Zjb21tYScgfHwgZm9ybWF0ID09PSAnQ1NWc2VtaWNvbG9uJykge1xyXG4gICAgICBvdXRwdXROYW1lID0gYCR7dGl0bGV9LmNzdmA7XHJcbiAgICB9XHJcbiAgICBvdXRwdXROYW1lID0gb3V0cHV0TmFtZS5yZXBsYWNlKCcgJywgJ18nKTtcclxuICAgIG91dHB1dE5hbWUgPSBvdXRwdXROYW1lXHJcbiAgICAgIC5ub3JtYWxpemUoJ05GRCcpXHJcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJylcclxuICAgICAgLnJlcGxhY2UoL+KAmS9nLCBcIidcIik7XHJcbiAgICBvdXRwdXROYW1lRmllbGQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xyXG4gICAgb3V0cHV0TmFtZUZpZWxkLnNldEF0dHJpYnV0ZSgnbmFtZScsICdvdXRwdXROYW1lJyk7XHJcbiAgICBvdXRwdXROYW1lRmllbGQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIG91dHB1dE5hbWUpO1xyXG4gICAgZm9ybS5hcHBlbmRDaGlsZChvdXRwdXROYW1lRmllbGQpO1xyXG5cclxuICAgIGxldCBvZ3JlRm9ybWF0ID0gRXhwb3J0U2VydmljZS5vZ3JlRm9ybWF0c1tmb3JtYXRdO1xyXG4gICAgaWYgKGZvcm1hdCA9PT0gJ0NTVmNvbW1hJyB8fCBmb3JtYXQgPT09ICdDU1ZzZW1pY29sb24nKSB7XHJcbiAgICAgIG9ncmVGb3JtYXQgPSAnQ1NWJztcclxuICAgIH1cclxuICAgIGNvbnN0IG91dHB1dEZvcm1hdEZpZWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIG91dHB1dEZvcm1hdEZpZWxkLnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcclxuICAgIG91dHB1dEZvcm1hdEZpZWxkLnNldEF0dHJpYnV0ZSgnbmFtZScsICdmb3JtYXQnKTtcclxuICAgIG91dHB1dEZvcm1hdEZpZWxkLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBvZ3JlRm9ybWF0KTtcclxuICAgIGZvcm0uYXBwZW5kQ2hpbGQob3V0cHV0Rm9ybWF0RmllbGQpO1xyXG5cclxuICAgIGZvcm0uc3VibWl0KCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZvcm0pO1xyXG5cclxuICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5vdGhpbmdUb0V4cG9ydChcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gICAgZm9ybWF0OiBzdHJpbmdcclxuICApOiBib29sZWFuIHtcclxuICAgIGlmIChvbEZlYXR1cmVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChmb3JtYXQgPT09ICdHUFgnKSB7XHJcbiAgICAgIGNvbnN0IHBvaW50T3JMaW5lID0gb2xGZWF0dXJlcy5maW5kKChvbEZlYXR1cmUpID0+IHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgWydQb2ludCcsICdMaW5lU3RyaW5nJywgJ011bHRpTGluZVN0cmluZyddLmluZGV4T2YoXHJcbiAgICAgICAgICAgIG9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKVxyXG4gICAgICAgICAgKSA+PSAwXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBwb2ludE9yTGluZSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -44,4 +44,4 @@ export function entitiesToRowData(entities, columns) {
|
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvaW1wb3J0LWV4cG9ydC9zaGFyZWQvZXhwb3J0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2xCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0QsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxLQUFZLEVBQ1osY0FBOEI7SUFFOUIsSUFBSSxLQUFLLFlBQVksMEJBQTBCLEVBQUUsQ0FBQztRQUNoRCwwQkFBMEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzQyxPQUFPO0lBQ1QsQ0FBQztJQUNELGNBQWMsQ0FBQyxLQUFLLENBQ2xCLDRCQUE0QixFQUM1Qiw2QkFBNkIsQ0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsY0FBOEI7SUFDcEUsY0FBYyxDQUFDLE9BQU8sQ0FDcEIsNkJBQTZCLEVBQzdCLDhCQUE4QixDQUMvQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxjQUE4QjtJQUN2RSxjQUFjLENBQUMsS0FBSyxDQUNsQiw2QkFBNkIsRUFDN0IsOEJBQThCLENBQy9CLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN6QixJQUFhLEVBQ2IsUUFBZ0IsRUFDaEIsWUFBb0IsR0FBRztJQUV2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBWSxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzdFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsZUFBZSxDQUFDLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLFFBQWtCLEVBQ2xCLE9BQTRCO0lBRTVCLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3JDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtZQUMvQyxJQUFJLGFBQWEsQ0FBQztZQUNsQixJQUNFLE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUztnQkFDN0IsTUFBTSxDQUFDLFFBQVEsS0FBSyx5QkFBeUIsQ0FBQyxPQUFPLEVBQ3JELENBQUM7Z0JBQ0QsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDdkMsQ0FBQztZQUNELGFBQWEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7WUFDbEUsT0FBTyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRW50aXR5VGFibGVDb2x1bW4sXHJcbiAgRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlcixcclxuICBnZXRFbnRpdHlQcm9wZXJ0eVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IGRvd25sb2FkQ29udGVudCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IEV4cG9ydE5vdGhpbmdUb0V4cG9ydEVycm9yIH0gZnJvbSAnLi9leHBvcnQuZXJyb3JzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVGaWxlRXhwb3J0RXJyb3IoXHJcbiAgZXJyb3I6IEVycm9yLFxyXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4pIHtcclxuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvcikge1xyXG4gICAgaGFuZGxlTm90aGluZ1RvRXhwb3J0RXJyb3IobWVzc2FnZVNlcnZpY2UpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBtZXNzYWdlU2VydmljZS5lcnJvcihcclxuICAgICdpZ28uZ2VvLmV4cG9ydC5mYWlsZWQudGV4dCcsXHJcbiAgICAnaWdvLmdlby5leHBvcnQuZmFpbGVkLnRpdGxlJ1xyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVGaWxlRXhwb3J0U3VjY2VzcyhtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHtcclxuICBtZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgJ2lnby5nZW8uZXhwb3J0LnN1Y2Nlc3MudGV4dCcsXHJcbiAgICAnaWdvLmdlby5leHBvcnQuc3VjY2Vzcy50aXRsZSdcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlTm90aGluZ1RvRXhwb3J0RXJyb3IobWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7XHJcbiAgbWVzc2FnZVNlcnZpY2UuZXJyb3IoXHJcbiAgICAnaWdvLmdlby5leHBvcnQubm90aGluZy50ZXh0JyxcclxuICAgICdpZ28uZ2VvLmV4cG9ydC5ub3RoaW5nLnRpdGxlJ1xyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFeHBvcnQgYXJyYXkgdG8gQ1NWXHJcbiAqXHJcbiAqIEBwYXJhbSByb3dzIEFycmF5IG9mIGFycmF5cyB0byBleHBvcnQgYXMgQ1NWXHJcbiAqIEBwYXJhbSBzZXBhcmF0b3IgQ2VsbCBzZXBhcmF0b3JcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRUb0NTVihcclxuICByb3dzOiBhbnlbXVtdLFxyXG4gIGZpbGVOYW1lOiBzdHJpbmcsXHJcbiAgc2VwYXJhdG9yOiBzdHJpbmcgPSAnOydcclxuKSB7XHJcbiAgY29uc3QgbGluZXMgPSByb3dzLm1hcCgocm93OiBhbnlbXVtdLCBpbmRleDogbnVtYmVyKSA9PiByb3cuam9pbihzZXBhcmF0b3IpKTtcclxuICBjb25zdCBjc3ZDb250ZW50ID0gbGluZXMuam9pbignXFxuJyk7XHJcbiAgZG93bmxvYWRDb250ZW50KGNzdkNvbnRlbnQsICd0ZXh0L2NzdjtjaGFyc2V0PXV0Zi04JywgZmlsZU5hbWUpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGFuIGFycmF5IG9mIHZhbHVlcyBmcm9tIGFuIGFycmF5IG9mIGVudGl0aWVzLlxyXG4gKlxyXG4gKiBAcGFyYW0gZW50aXRpZXMgQXJyYXkgb2YgZW50aXRpZXNcclxuICogQHBhcmFtIHNjb2x1bW5zIENvbHVtbnMgZGVmaW5pdGlvbiBvZiB0aGUgb3V0cHV0IGRhdGFcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBlbnRpdGllc1RvUm93RGF0YShcclxuICBlbnRpdGllczogb2JqZWN0W10sXHJcbiAgY29sdW1uczogRW50aXR5VGFibGVDb2x1bW5bXVxyXG4pIHtcclxuICByZXR1cm4gZW50aXRpZXMubWFwKChlbnRpdHk6IG9iamVjdCkgPT4ge1xyXG4gICAgcmV0dXJuIGNvbHVtbnMubWFwKChjb2x1bW46IEVudGl0eVRhYmxlQ29sdW1uKSA9PiB7XHJcbiAgICAgIGxldCB2YWx1ZUFjY2Vzc29yO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgY29sdW1uLnJlbmRlcmVyID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgICBjb2x1bW4ucmVuZGVyZXIgPT09IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIuRGVmYXVsdFxyXG4gICAgICApIHtcclxuICAgICAgICB2YWx1ZUFjY2Vzc29yID0gY29sdW1uLnZhbHVlQWNjZXNzb3I7XHJcbiAgICAgIH1cclxuICAgICAgdmFsdWVBY2Nlc3NvciA9IHZhbHVlQWNjZXNzb3IgPyB2YWx1ZUFjY2Vzc29yIDogZ2V0RW50aXR5UHJvcGVydHk7XHJcbiAgICAgIHJldHVybiB2YWx1ZUFjY2Vzc29yKGVudGl0eSwgY29sdW1uLm5hbWUpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcbn1cclxuIl19
|
|
@@ -209,13 +209,13 @@ export class ImportService {
|
|
|
209
209
|
});
|
|
210
210
|
return features;
|
|
211
211
|
}
|
|
212
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
213
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
212
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ImportService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
213
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ImportService, providedIn: 'root' });
|
|
214
214
|
}
|
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ImportService, decorators: [{
|
|
216
216
|
type: Injectable,
|
|
217
217
|
args: [{
|
|
218
218
|
providedIn: 'root'
|
|
219
219
|
}]
|
|
220
|
-
}], ctorParameters:
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9pbXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR25DLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBR3RDLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGVBQWUsRUFDZix5QkFBeUIsRUFDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUs3RSxNQUFNLE9BQU8sYUFBYTtJQTRCZDtJQUNBO0lBNUJWLE1BQU0sQ0FBQywwQkFBMEIsR0FBRztRQUNsQyxPQUFPLEVBQUUsU0FBUztRQUNsQixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7UUFDVixTQUFTLEVBQUUsS0FBSztLQUNqQixDQUFDO0lBRUYsTUFBTSxDQUFDLGdCQUFnQixHQUFHO1FBQ3hCLHFCQUFxQjtRQUNyQixzQ0FBc0M7UUFDdEMscUJBQXFCO1FBQ3JCLGtCQUFrQjtLQUNuQixDQUFDO0lBRUYsTUFBTSxDQUFDLG1CQUFtQixHQUFHO1FBQzNCLGlCQUFpQjtRQUNqQiw4QkFBOEI7UUFDOUIsbUJBQW1CO0tBQ3BCLENBQUM7SUFFRixNQUFNLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRW5FLE9BQU8sQ0FBUztJQUNoQixxQkFBcUIsQ0FBUztJQUV0QyxZQUNVLElBQWdCLEVBQ2hCLE1BQXFCO1FBRHJCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUU3QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDeEMsY0FBYyxDQUNlLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDO1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLHVCQUF1QixDQUFDO1FBQzlELElBQUksQ0FBQyxxQkFBcUI7WUFDeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUN4QixhQUFhLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLE9BQU87aUJBQ25ELEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUNqRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksYUFBYSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDdkQsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM5QztTQUNGO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FDSixJQUFVLEVBQ1YsWUFBWSxHQUFHLFdBQVcsRUFDMUIsYUFBYSxHQUFHLFdBQVc7UUFFM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVPLGVBQWUsQ0FDckIsSUFBVTtRQU9WLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBQzFELElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNyQyxZQUFZLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1NBQ2xEO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLEdBQUcsYUFBYSxDQUFDLGdCQUFnQjtZQUNqQyxHQUFHLFlBQVk7U0FDaEIsQ0FBQztRQUVGLElBQ0UsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDdEMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFDeEM7WUFDQSxPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFNLElBQ0wsUUFBUSxLQUFLLGtCQUFrQjtZQUMvQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ3pEO1lBQ0EsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUNoQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxXQUFXLENBQ2pCLElBQVUsRUFDVixZQUFvQixFQUNwQixhQUFxQjtRQUVyQixNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQTZCLEVBQUUsRUFBRTtZQUNqRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO2dCQUMzQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksZUFBZSxFQUFFLENBQUMsQ0FBQztnQkFDdEMsT0FBTzthQUNSO1lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7Z0JBQzFCLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLENBQUM7Z0JBQzdDLE9BQU87YUFDUjtZQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztRQUVGLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLFVBQVUsQ0FDaEIsSUFBVSxFQUNWLFFBQTZCLEVBQzdCLFlBQW9CLEVBQ3BCLGFBQXFCO1FBRXJCLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzdCLElBQUk7Z0JBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUN6QyxJQUFJLEVBQ0osS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQ25CLFlBQVksRUFDWixhQUFhLENBQ2QsQ0FBQztnQkFDRixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FBQzthQUNqRDtZQUVELFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUM7UUFFRixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdkIsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUM7UUFFRixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sa0JBQWtCLENBQ3hCLElBQVUsRUFDVixRQUE2QixFQUM3QixZQUFvQixFQUNwQixhQUFxQjtRQUVyQixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLFVBQVUsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUNyRSxDQUFDLFFBQStDLEVBQUUsRUFBRTtZQUNsRCxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQ3JCLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELE9BQU87YUFDUjtZQUVELE1BQU0sTUFBTSxHQUFJLFFBQWdCLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUM5QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUkseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO2FBQ2pEO2lCQUFNO2dCQUNMLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FDNUMsSUFBSSxFQUNKLFFBQVEsRUFDUixhQUFhLENBQ2QsQ0FBQztnQkFDRixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN4QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDLEVBQ0QsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNiLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUMxQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDckMsSUFBSSxNQUFNLEtBQUssc0JBQXNCLEVBQUU7Z0JBQ3JDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLENBQUM7YUFDOUM7aUJBQU0sSUFDTCxNQUFNO2dCQUNOLE1BQU0sQ0FBQyxTQUFTLENBQUMsMkNBQTJDLENBQUMsRUFDN0Q7Z0JBQ0EsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLGNBQWMsRUFBRSxDQUFDLENBQUM7YUFDdEM7aUJBQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDL0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLHFCQUFxQixFQUFFLENBQUMsQ0FBQzthQUM3QztpQkFBTTtnQkFDTCxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUkseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO2FBQ2pEO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8scUJBQXFCLENBQzNCLElBQVUsRUFDVixJQUFZLEVBQ1osWUFBb0IsRUFDcEIsYUFBcUI7UUFFckIsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUUzQixNQUFNLE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV2QyxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksUUFBUSxLQUFLLHNDQUFzQyxFQUFFO1lBQ3ZELE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUM3QjthQUFNLElBQUksUUFBUSxLQUFLLHFCQUFxQixFQUFFO1lBQzdDLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUM3QjthQUFNLElBQUksUUFBUSxLQUFLLHFCQUFxQixFQUFFO1lBQzdDLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUM3QjthQUFNO1lBQ0wsUUFBUSxTQUFTLEVBQUU7Z0JBQ2pCLEtBQUssS0FBSztvQkFDUixNQUFNLEdBQUcsSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQzVCLE1BQU07Z0JBQ1IsS0FBSyxLQUFLO29CQUNSLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDNUIsTUFBTTtnQkFDUixLQUFLLEtBQUs7b0JBQ1IsTUFBTSxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUM1QixNQUFNO2dCQUNSO29CQUNFLE1BQU0sR0FBRyxPQUFPLENBQUM7b0JBQ2pCLE1BQU07YUFDVDtTQUNGO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDM0MsY0FBYyxFQUFFLFlBQVk7WUFDNUIsaUJBQWlCLEVBQUUsYUFBYTtTQUNqQyxDQUFDLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBZ0MsRUFBRSxFQUFFO1lBQ25FLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzFELFVBQVUsRUFBRSxhQUFhO2dCQUN6QixJQUFJLEVBQUU7b0JBQ0osRUFBRSxFQUFFLElBQUksRUFBRTtvQkFDVixLQUFLLEVBQUUseUJBQXlCLENBQUMsSUFBSSxDQUFDO2lCQUN2QzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLHdCQUF3QixDQUM5QixJQUFVLEVBQ1YsSUFBWSxFQUNaLGFBQXFCO1FBRXJCLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQWdDLEVBQUUsRUFBRTtZQUNuRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMzRCxVQUFVLEVBQUUsYUFBYTtnQkFDekIsSUFBSSxFQUFFO29CQUNKLEVBQUUsRUFBRSxJQUFJLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLHlCQUF5QixDQUFDLElBQUksQ0FBQztpQkFDdkM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sUUFBcUIsQ0FBQztJQUMvQixDQUFDO3dHQTdRVSxhQUFhOzRHQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgKiBhcyBvbGZvcm1hdCBmcm9tICdvbC9mb3JtYXQnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gIEltcG9ydEludmFsaWRGaWxlRXJyb3IsXHJcbiAgSW1wb3J0T2dyZVNlcnZlckVycm9yLFxyXG4gIEltcG9ydFNSU0Vycm9yLFxyXG4gIEltcG9ydFNpemVFcnJvcixcclxuICBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yXHJcbn0gZnJvbSAnLi9pbXBvcnQuZXJyb3JzJztcclxuaW1wb3J0IHsgSW1wb3J0RXhwb3J0U2VydmljZU9wdGlvbnMgfSBmcm9tICcuL2ltcG9ydC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlLCBnZXRGaWxlRXh0ZW5zaW9uIH0gZnJvbSAnLi9pbXBvcnQudXRpbHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1wb3J0U2VydmljZSB7XHJcbiAgc3RhdGljIGZvcm1hdEV4dGVuc2lvbkFzc29jaWF0aW9uID0ge1xyXG4gICAgR2VvSlNPTjogJ2dlb2pzb24nLFxyXG4gICAgR01MOiAnZ21sJyxcclxuICAgIEdQWDogJ2dweCcsXHJcbiAgICBLTUw6ICdrbWwnLFxyXG4gICAgU2hhcGVmaWxlOiAnemlwJ1xyXG4gIH07XHJcblxyXG4gIHN0YXRpYyBhbGxvd2VkTWltZVR5cGVzID0gW1xyXG4gICAgJ2FwcGxpY2F0aW9uL2dtbCt4bWwnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsXHJcbiAgICAnYXBwbGljYXRpb24vZ3B4K3htbCcsXHJcbiAgICAnYXBwbGljYXRpb24vanNvbidcclxuICBdO1xyXG5cclxuICBzdGF0aWMgYWxsb3dlZFppcE1pbWVUeXBlcyA9IFtcclxuICAgICdhcHBsaWNhdGlvbi96aXAnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL3gtemlwLWNvbXByZXNzZWQnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL3gtemlwJ1xyXG4gIF07XHJcblxyXG4gIHN0YXRpYyBhbGxvd2VkRXh0ZW5zaW9ucyA9IFsnZ2VvanNvbicsICdrbWwnLCAnZ3B4JywgJ2pzb24nLCAnZ21sJywgJ3ppcCddO1xyXG5cclxuICBwcml2YXRlIG9ncmVVcmw6IHN0cmluZztcclxuICBwcml2YXRlIGNsaWVudFNpZGVGaWxlU2l6ZU1heDogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBjb25zdCBpbXBvcnRDb25maWcgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoXHJcbiAgICAgICdpbXBvcnRFeHBvcnQnXHJcbiAgICApIGFzIEltcG9ydEV4cG9ydFNlcnZpY2VPcHRpb25zO1xyXG4gICAgdGhpcy5vZ3JlVXJsID0gaW1wb3J0Q29uZmlnLnVybDtcclxuICAgIGNvbnN0IGNvbmZpZ0ZpbGVTaXplTWIgPSBpbXBvcnRDb25maWcuY2xpZW50U2lkZUZpbGVTaXplTWF4TWI7XHJcbiAgICB0aGlzLmNsaWVudFNpZGVGaWxlU2l6ZU1heCA9XHJcbiAgICAgIChjb25maWdGaWxlU2l6ZU1iID8gY29uZmlnRmlsZVNpemVNYiA6IDMwKSAqIE1hdGgucG93KDEwMjQsIDIpO1xyXG4gICAgaWYgKGltcG9ydENvbmZpZy5mb3JtYXRzKSB7XHJcbiAgICAgIEltcG9ydFNlcnZpY2UuYWxsb3dlZEV4dGVuc2lvbnMgPSBpbXBvcnRDb25maWcuZm9ybWF0c1xyXG4gICAgICAgIC5tYXAoKGZvcm1hdCkgPT4gSW1wb3J0U2VydmljZS5mb3JtYXRFeHRlbnNpb25Bc3NvY2lhdGlvbltmb3JtYXRdKVxyXG4gICAgICAgIC5maWx0ZXIoKGUpID0+IGUpO1xyXG4gICAgICBpZiAoSW1wb3J0U2VydmljZS5hbGxvd2VkRXh0ZW5zaW9ucy5pbmNsdWRlcygnZ2VvanNvbicpKSB7XHJcbiAgICAgICAgSW1wb3J0U2VydmljZS5hbGxvd2VkRXh0ZW5zaW9ucy5wdXNoKCdqc29uJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltcG9ydChcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBwcm9qZWN0aW9uSW4gPSAnRVBTRzo0MzI2JyxcclxuICAgIHByb2plY3Rpb25PdXQgPSAnRVBTRzo0MzI2J1xyXG4gICk6IE9ic2VydmFibGU8RmVhdHVyZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbXBvcnRBc3luYyhmaWxlLCBwcm9qZWN0aW9uSW4sIHByb2plY3Rpb25PdXQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWxlSW1wb3J0ZXIoXHJcbiAgICBmaWxlOiBGaWxlXHJcbiAgKTogKFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIG9ic2VydmVyOiBPYnNlcnZlcjxGZWF0dXJlW10+LFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApID0+IHZvaWQge1xyXG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZ2V0RmlsZUV4dGVuc2lvbihmaWxlKTtcclxuICAgIGNvbnN0IGFsbG93ZWRFeHRlbnNpb25zID0gSW1wb3J0U2VydmljZS5hbGxvd2VkRXh0ZW5zaW9ucztcclxuICAgIGxldCB6aXBNaW1lVHlwZXMgPSBbXTtcclxuICAgIGlmIChhbGxvd2VkRXh0ZW5zaW9ucy5pbmNsdWRlcygnemlwJykpIHtcclxuICAgICAgemlwTWltZVR5cGVzID0gSW1wb3J0U2VydmljZS5hbGxvd2VkWmlwTWltZVR5cGVzO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbWltZVR5cGUgPSBmaWxlLnR5cGU7XHJcbiAgICBjb25zdCBhbGxvd2VkTWltZVR5cGVzID0gW1xyXG4gICAgICAuLi5JbXBvcnRTZXJ2aWNlLmFsbG93ZWRNaW1lVHlwZXMsXHJcbiAgICAgIC4uLnppcE1pbWVUeXBlc1xyXG4gICAgXTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIGFsbG93ZWRNaW1lVHlwZXMuaW5kZXhPZihtaW1lVHlwZSkgPCAwICYmXHJcbiAgICAgIGFsbG93ZWRFeHRlbnNpb25zLmluZGV4T2YoZXh0ZW5zaW9uKSA8IDBcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgbWltZVR5cGUgPT09ICdhcHBsaWNhdGlvbi9qc29uJyB8fFxyXG4gICAgICBbJ2pzb24nLCAnZ2VvanNvbicsICdrbWwnLCAnZ3B4J10uaW5kZXhPZihleHRlbnNpb24pID49IDBcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbXBvcnRGaWxlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9ncmVVcmwgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbXBvcnRGaWxlV2l0aE9ncmU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW1wb3J0QXN5bmMoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPEZlYXR1cmVbXT4ge1xyXG4gICAgY29uc3QgZG9JbXBvcnQgPSAob2JzZXJ2ZXI6IE9ic2VydmVyPEZlYXR1cmVbXT4pID0+IHtcclxuICAgICAgaWYgKGZpbGUuc2l6ZSA+PSB0aGlzLmNsaWVudFNpZGVGaWxlU2l6ZU1heCkge1xyXG4gICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRTaXplRXJyb3IoKSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGltcG9ydGVyID0gdGhpcy5nZXRGaWxlSW1wb3J0ZXIoZmlsZSk7XHJcbiAgICAgIGlmIChpbXBvcnRlciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydEludmFsaWRGaWxlRXJyb3IoKSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbXBvcnRlci5jYWxsKHRoaXMsIGZpbGUsIG9ic2VydmVyLCBwcm9qZWN0aW9uSW4sIHByb2plY3Rpb25PdXQpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZG9JbXBvcnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbXBvcnRGaWxlKFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIG9ic2VydmVyOiBPYnNlcnZlcjxGZWF0dXJlW10+LFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApIHtcclxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblxyXG4gICAgcmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgZmVhdHVyZXMgPSB0aGlzLnBhcnNlRmVhdHVyZXNGcm9tRmlsZShcclxuICAgICAgICAgIGZpbGUsXHJcbiAgICAgICAgICBldmVudC50YXJnZXQucmVzdWx0LFxyXG4gICAgICAgICAgcHJvamVjdGlvbkluLFxyXG4gICAgICAgICAgcHJvamVjdGlvbk91dFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChmZWF0dXJlcyk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvcigpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgIH07XHJcblxyXG4gICAgcmVhZGVyLm9uZXJyb3IgPSAoZXZ0KSA9PiB7XHJcbiAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlLCAnVVRGLTgnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW1wb3J0RmlsZVdpdGhPZ3JlKFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIG9ic2VydmVyOiBPYnNlcnZlcjxGZWF0dXJlW10+LFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApIHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMub2dyZVVybH0vY29udmVydGA7XHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCd1cGxvYWQnLCBmaWxlKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnc291cmNlU3JzJywgcHJvamVjdGlvbkluKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgndGFyZ2V0U3JzJywgcHJvamVjdGlvbk91dCk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2Zvcm1hdE91dHB1dCcsICdHRU9KU09OJyk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3NraXBGYWlsdXJlcycsICcnKTtcclxuXHJcbiAgICB0aGlzLmh0dHAucG9zdCh1cmwsIGZvcm1EYXRhLCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpIH0pLnN1YnNjcmliZShcclxuICAgICAgKHJlc3BvbnNlOiB7IGVycm9ycz86IHN0cmluZ1tdIH0gfCBvYmplY3QgfCBudWxsKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlID09PSBudWxsKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvcigpKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGVycm9ycyA9IChyZXNwb25zZSBhcyBhbnkpLmVycm9ycyB8fCBbXTtcclxuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBmZWF0dXJlcyA9IHRoaXMucGFyc2VGZWF0dXJlc0Zyb21HZW9KU09OKFxyXG4gICAgICAgICAgICBmaWxlLFxyXG4gICAgICAgICAgICByZXNwb25zZSxcclxuICAgICAgICAgICAgcHJvamVjdGlvbk91dFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIG9ic2VydmVyLm5leHQoZmVhdHVyZXMpO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgZXJyb3IuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcclxuICAgICAgICBjb25zdCBlcnJNc2cgPSBlcnJvci5lcnJvci5tc2cgfHwgJyc7XHJcbiAgICAgICAgaWYgKGVyck1zZyA9PT0gJ05vIHZhbGlkIGZpbGVzIGZvdW5kJykge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydEludmFsaWRGaWxlRXJyb3IoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICAgIGVyck1zZyAmJlxyXG4gICAgICAgICAgZXJyTXNnLnN0YXJ0V2l0aCgnRVJST1IgMTogRmFpbGVkIHRvIHByb2Nlc3MgU1JTIGRlZmluaXRpb24nKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFNSU0Vycm9yKCkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID09PSA1MDApIHtcclxuICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRPZ3JlU2VydmVyRXJyb3IoKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VGZWF0dXJlc0Zyb21GaWxlKFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIGRhdGE6IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKTogRmVhdHVyZVtdIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGdldEZpbGVFeHRlbnNpb24oZmlsZSk7XHJcbiAgICBjb25zdCBtaW1lVHlwZSA9IGZpbGUudHlwZTtcclxuXHJcbiAgICBjb25zdCBHZW9KU09OID0gbmV3IG9sZm9ybWF0Lkdlb0pTT04oKTtcclxuXHJcbiAgICBsZXQgZm9ybWF0O1xyXG4gICAgaWYgKG1pbWVUeXBlID09PSAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbWwreG1sJykge1xyXG4gICAgICBmb3JtYXQgPSBuZXcgb2xmb3JtYXQuS01MKCk7XHJcbiAgICB9IGVsc2UgaWYgKG1pbWVUeXBlID09PSAnYXBwbGljYXRpb24vZ21sK3htbCcpIHtcclxuICAgICAgZm9ybWF0ID0gbmV3IG9sZm9ybWF0LkdNTCgpO1xyXG4gICAgfSBlbHNlIGlmIChtaW1lVHlwZSA9PT0gJ2FwcGxpY2F0aW9uL2dweCt4bWwnKSB7XHJcbiAgICAgIGZvcm1hdCA9IG5ldyBvbGZvcm1hdC5HUFgoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN3aXRjaCAoZXh0ZW5zaW9uKSB7XHJcbiAgICAgICAgY2FzZSAna21sJzpcclxuICAgICAgICAgIGZvcm1hdCA9IG5ldyBvbGZvcm1hdC5LTUwoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2dweCc6XHJcbiAgICAgICAgICBmb3JtYXQgPSBuZXcgb2xmb3JtYXQuR1BYKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdnbWwnOlxyXG4gICAgICAgICAgZm9ybWF0ID0gbmV3IG9sZm9ybWF0LkdNTCgpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGZvcm1hdCA9IEdlb0pTT047XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9sRmVhdHVyZXMgPSBmb3JtYXQucmVhZEZlYXR1cmVzKGRhdGEsIHtcclxuICAgICAgZGF0YVByb2plY3Rpb246IHByb2plY3Rpb25JbixcclxuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb25PdXRcclxuICAgIH0pO1xyXG4gICAgY29uc3QgZmVhdHVyZXMgPSBvbEZlYXR1cmVzLm1hcCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oR2VvSlNPTi53cml0ZUZlYXR1cmVPYmplY3Qob2xGZWF0dXJlKSwge1xyXG4gICAgICAgIHByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICAgICAgbWV0YToge1xyXG4gICAgICAgICAgaWQ6IHV1aWQoKSxcclxuICAgICAgICAgIHRpdGxlOiBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlKGZpbGUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmZWF0dXJlcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VGZWF0dXJlc0Zyb21HZW9KU09OKFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIGRhdGE6IG9iamVjdCxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICk6IEZlYXR1cmVbXSB7XHJcbiAgICBjb25zdCBvbEZvcm1hdCA9IG5ldyBvbGZvcm1hdC5HZW9KU09OKCk7XHJcbiAgICBjb25zdCBvbEZlYXR1cmVzID0gb2xGb3JtYXQucmVhZEZlYXR1cmVzKGRhdGEpO1xyXG4gICAgY29uc3QgZmVhdHVyZXMgPSBvbEZlYXR1cmVzLm1hcCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ob2xGb3JtYXQud3JpdGVGZWF0dXJlT2JqZWN0KG9sRmVhdHVyZSksIHtcclxuICAgICAgICBwcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0LFxyXG4gICAgICAgIG1ldGE6IHtcclxuICAgICAgICAgIGlkOiB1dWlkKCksXHJcbiAgICAgICAgICB0aXRsZTogY29tcHV0ZUxheWVyVGl0bGVGcm9tRmlsZShmaWxlKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZmVhdHVyZXMgYXMgRmVhdHVyZVtdO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
220
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9pbXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR25DLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBR3RDLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGVBQWUsRUFDZix5QkFBeUIsRUFDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUs3RSxNQUFNLE9BQU8sYUFBYTtJQTRCZDtJQUNBO0lBNUJWLE1BQU0sQ0FBQywwQkFBMEIsR0FBRztRQUNsQyxPQUFPLEVBQUUsU0FBUztRQUNsQixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7UUFDVixTQUFTLEVBQUUsS0FBSztLQUNqQixDQUFDO0lBRUYsTUFBTSxDQUFDLGdCQUFnQixHQUFHO1FBQ3hCLHFCQUFxQjtRQUNyQixzQ0FBc0M7UUFDdEMscUJBQXFCO1FBQ3JCLGtCQUFrQjtLQUNuQixDQUFDO0lBRUYsTUFBTSxDQUFDLG1CQUFtQixHQUFHO1FBQzNCLGlCQUFpQjtRQUNqQiw4QkFBOEI7UUFDOUIsbUJB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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0ICogYXMgb2xmb3JtYXQgZnJvbSAnb2wvZm9ybWF0JztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtcclxuICBJbXBvcnRJbnZhbGlkRmlsZUVycm9yLFxyXG4gIEltcG9ydE9ncmVTZXJ2ZXJFcnJvcixcclxuICBJbXBvcnRTUlNFcnJvcixcclxuICBJbXBvcnRTaXplRXJyb3IsXHJcbiAgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvclxyXG59IGZyb20gJy4vaW1wb3J0LmVycm9ycyc7XHJcbmltcG9ydCB7IEltcG9ydEV4cG9ydFNlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9pbXBvcnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgY29tcHV0ZUxheWVyVGl0bGVGcm9tRmlsZSwgZ2V0RmlsZUV4dGVuc2lvbiB9IGZyb20gJy4vaW1wb3J0LnV0aWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEltcG9ydFNlcnZpY2Uge1xyXG4gIHN0YXRpYyBmb3JtYXRFeHRlbnNpb25Bc3NvY2lhdGlvbiA9IHtcclxuICAgIEdlb0pTT046ICdnZW9qc29uJyxcclxuICAgIEdNTDogJ2dtbCcsXHJcbiAgICBHUFg6ICdncHgnLFxyXG4gICAgS01MOiAna21sJyxcclxuICAgIFNoYXBlZmlsZTogJ3ppcCdcclxuICB9O1xyXG5cclxuICBzdGF0aWMgYWxsb3dlZE1pbWVUeXBlcyA9IFtcclxuICAgICdhcHBsaWNhdGlvbi9nbWwreG1sJyxcclxuICAgICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttbCt4bWwnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL2dweCt4bWwnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL2pzb24nXHJcbiAgXTtcclxuXHJcbiAgc3RhdGljIGFsbG93ZWRaaXBNaW1lVHlwZXMgPSBbXHJcbiAgICAnYXBwbGljYXRpb24vemlwJyxcclxuICAgICdhcHBsaWNhdGlvbi94LXppcC1jb21wcmVzc2VkJyxcclxuICAgICdhcHBsaWNhdGlvbi94LXppcCdcclxuICBdO1xyXG5cclxuICBzdGF0aWMgYWxsb3dlZEV4dGVuc2lvbnMgPSBbJ2dlb2pzb24nLCAna21sJywgJ2dweCcsICdqc29uJywgJ2dtbCcsICd6aXAnXTtcclxuXHJcbiAgcHJpdmF0ZSBvZ3JlVXJsOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBjbGllbnRTaWRlRmlsZVNpemVNYXg6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgY29uc3QgaW1wb3J0Q29uZmlnID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKFxyXG4gICAgICAnaW1wb3J0RXhwb3J0J1xyXG4gICAgKSBhcyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucztcclxuICAgIHRoaXMub2dyZVVybCA9IGltcG9ydENvbmZpZy51cmw7XHJcbiAgICBjb25zdCBjb25maWdGaWxlU2l6ZU1iID0gaW1wb3J0Q29uZmlnLmNsaWVudFNpZGVGaWxlU2l6ZU1heE1iO1xyXG4gICAgdGhpcy5jbGllbnRTaWRlRmlsZVNpemVNYXggPVxyXG4gICAgICAoY29uZmlnRmlsZVNpemVNYiA/IGNvbmZpZ0ZpbGVTaXplTWIgOiAzMCkgKiBNYXRoLnBvdygxMDI0LCAyKTtcclxuICAgIGlmIChpbXBvcnRDb25maWcuZm9ybWF0cykge1xyXG4gICAgICBJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zID0gaW1wb3J0Q29uZmlnLmZvcm1hdHNcclxuICAgICAgICAubWFwKChmb3JtYXQpID0+IEltcG9ydFNlcnZpY2UuZm9ybWF0RXh0ZW5zaW9uQXNzb2NpYXRpb25bZm9ybWF0XSlcclxuICAgICAgICAuZmlsdGVyKChlKSA9PiBlKTtcclxuICAgICAgaWYgKEltcG9ydFNlcnZpY2UuYWxsb3dlZEV4dGVuc2lvbnMuaW5jbHVkZXMoJ2dlb2pzb24nKSkge1xyXG4gICAgICAgIEltcG9ydFNlcnZpY2UuYWxsb3dlZEV4dGVuc2lvbnMucHVzaCgnanNvbicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbXBvcnQoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgcHJvamVjdGlvbkluID0gJ0VQU0c6NDMyNicsXHJcbiAgICBwcm9qZWN0aW9uT3V0ID0gJ0VQU0c6NDMyNidcclxuICApOiBPYnNlcnZhYmxlPEZlYXR1cmVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW1wb3J0QXN5bmMoZmlsZSwgcHJvamVjdGlvbkluLCBwcm9qZWN0aW9uT3V0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RmlsZUltcG9ydGVyKFxyXG4gICAgZmlsZTogRmlsZVxyXG4gICk6IChcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBvYnNlcnZlcjogT2JzZXJ2ZXI8RmVhdHVyZVtdPixcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKSA9PiB2b2lkIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGdldEZpbGVFeHRlbnNpb24oZmlsZSk7XHJcbiAgICBjb25zdCBhbGxvd2VkRXh0ZW5zaW9ucyA9IEltcG9ydFNlcnZpY2UuYWxsb3dlZEV4dGVuc2lvbnM7XHJcbiAgICBsZXQgemlwTWltZVR5cGVzID0gW107XHJcbiAgICBpZiAoYWxsb3dlZEV4dGVuc2lvbnMuaW5jbHVkZXMoJ3ppcCcpKSB7XHJcbiAgICAgIHppcE1pbWVUeXBlcyA9IEltcG9ydFNlcnZpY2UuYWxsb3dlZFppcE1pbWVUeXBlcztcclxuICAgIH1cclxuICAgIGNvbnN0IG1pbWVUeXBlID0gZmlsZS50eXBlO1xyXG4gICAgY29uc3QgYWxsb3dlZE1pbWVUeXBlcyA9IFtcclxuICAgICAgLi4uSW1wb3J0U2VydmljZS5hbGxvd2VkTWltZVR5cGVzLFxyXG4gICAgICAuLi56aXBNaW1lVHlwZXNcclxuICAgIF07XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBhbGxvd2VkTWltZVR5cGVzLmluZGV4T2YobWltZVR5cGUpIDwgMCAmJlxyXG4gICAgICBhbGxvd2VkRXh0ZW5zaW9ucy5pbmRleE9mKGV4dGVuc2lvbikgPCAwXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIG1pbWVUeXBlID09PSAnYXBwbGljYXRpb24vanNvbicgfHxcclxuICAgICAgWydqc29uJywgJ2dlb2pzb24nLCAna21sJywgJ2dweCddLmluZGV4T2YoZXh0ZW5zaW9uKSA+PSAwXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1wb3J0RmlsZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vZ3JlVXJsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1wb3J0RmlsZVdpdGhPZ3JlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGltcG9ydEFzeW5jKFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxGZWF0dXJlW10+IHtcclxuICAgIGNvbnN0IGRvSW1wb3J0ID0gKG9ic2VydmVyOiBPYnNlcnZlcjxGZWF0dXJlW10+KSA9PiB7XHJcbiAgICAgIGlmIChmaWxlLnNpemUgPj0gdGhpcy5jbGllbnRTaWRlRmlsZVNpemVNYXgpIHtcclxuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0U2l6ZUVycm9yKCkpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBpbXBvcnRlciA9IHRoaXMuZ2V0RmlsZUltcG9ydGVyKGZpbGUpO1xyXG4gICAgICBpZiAoaW1wb3J0ZXIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRJbnZhbGlkRmlsZUVycm9yKCkpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW1wb3J0ZXIuY2FsbCh0aGlzLCBmaWxlLCBvYnNlcnZlciwgcHJvamVjdGlvbkluLCBwcm9qZWN0aW9uT3V0KTtcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGRvSW1wb3J0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW1wb3J0RmlsZShcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBvYnNlcnZlcjogT2JzZXJ2ZXI8RmVhdHVyZVtdPixcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cclxuICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGZlYXR1cmVzID0gdGhpcy5wYXJzZUZlYXR1cmVzRnJvbUZpbGUoXHJcbiAgICAgICAgICBmaWxlLFxyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdCxcclxuICAgICAgICAgIHByb2plY3Rpb25JbixcclxuICAgICAgICAgIHByb2plY3Rpb25PdXRcclxuICAgICAgICApO1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoZmVhdHVyZXMpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJlYWRlci5vbmVycm9yID0gKGV2dCkgPT4ge1xyXG4gICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvcigpKTtcclxuICAgIH07XHJcblxyXG4gICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSwgJ1VURi04Jyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGltcG9ydEZpbGVXaXRoT2dyZShcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBvYnNlcnZlcjogT2JzZXJ2ZXI8RmVhdHVyZVtdPixcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm9ncmVVcmx9L2NvbnZlcnRgO1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgndXBsb2FkJywgZmlsZSk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3NvdXJjZVNycycsIHByb2plY3Rpb25Jbik7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3RhcmdldFNycycsIHByb2plY3Rpb25PdXQpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdmb3JtYXRPdXRwdXQnLCAnR0VPSlNPTicpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdza2lwRmFpbHVyZXMnLCAnJyk7XHJcblxyXG4gICAgdGhpcy5odHRwLnBvc3QodXJsLCBmb3JtRGF0YSwgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKSB9KS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXNwb25zZTogeyBlcnJvcnM/OiBzdHJpbmdbXSB9IHwgb2JqZWN0IHwgbnVsbCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNwb25zZSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBlcnJvcnMgPSAocmVzcG9uc2UgYXMgYW55KS5lcnJvcnMgfHwgW107XHJcbiAgICAgICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvcigpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgZmVhdHVyZXMgPSB0aGlzLnBhcnNlRmVhdHVyZXNGcm9tR2VvSlNPTihcclxuICAgICAgICAgICAgZmlsZSxcclxuICAgICAgICAgICAgcmVzcG9uc2UsXHJcbiAgICAgICAgICAgIHByb2plY3Rpb25PdXRcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KGZlYXR1cmVzKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIGVycm9yLmVycm9yLmNhdWdodCA9IHRydWU7XHJcbiAgICAgICAgY29uc3QgZXJyTXNnID0gZXJyb3IuZXJyb3IubXNnIHx8ICcnO1xyXG4gICAgICAgIGlmIChlcnJNc2cgPT09ICdObyB2YWxpZCBmaWxlcyBmb3VuZCcpIHtcclxuICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRJbnZhbGlkRmlsZUVycm9yKCkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgICBlcnJNc2cgJiZcclxuICAgICAgICAgIGVyck1zZy5zdGFydFdpdGgoJ0VSUk9SIDE6IEZhaWxlZCB0byBwcm9jZXNzIFNSUyBkZWZpbml0aW9uJylcclxuICAgICAgICApIHtcclxuICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRTUlNFcnJvcigpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVycm9yLnN0YXR1cyA9PT0gNTAwKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0T2dyZVNlcnZlckVycm9yKCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvcigpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlRmVhdHVyZXNGcm9tRmlsZShcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBkYXRhOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICk6IEZlYXR1cmVbXSB7XHJcbiAgICBjb25zdCBleHRlbnNpb24gPSBnZXRGaWxlRXh0ZW5zaW9uKGZpbGUpO1xyXG4gICAgY29uc3QgbWltZVR5cGUgPSBmaWxlLnR5cGU7XHJcblxyXG4gICAgY29uc3QgR2VvSlNPTiA9IG5ldyBvbGZvcm1hdC5HZW9KU09OKCk7XHJcblxyXG4gICAgbGV0IGZvcm1hdDtcclxuICAgIGlmIChtaW1lVHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcpIHtcclxuICAgICAgZm9ybWF0ID0gbmV3IG9sZm9ybWF0LktNTCgpO1xyXG4gICAgfSBlbHNlIGlmIChtaW1lVHlwZSA9PT0gJ2FwcGxpY2F0aW9uL2dtbCt4bWwnKSB7XHJcbiAgICAgIGZvcm1hdCA9IG5ldyBvbGZvcm1hdC5HTUwoKTtcclxuICAgIH0gZWxzZSBpZiAobWltZVR5cGUgPT09ICdhcHBsaWNhdGlvbi9ncHgreG1sJykge1xyXG4gICAgICBmb3JtYXQgPSBuZXcgb2xmb3JtYXQuR1BYKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKGV4dGVuc2lvbikge1xyXG4gICAgICAgIGNhc2UgJ2ttbCc6XHJcbiAgICAgICAgICBmb3JtYXQgPSBuZXcgb2xmb3JtYXQuS01MKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdncHgnOlxyXG4gICAgICAgICAgZm9ybWF0ID0gbmV3IG9sZm9ybWF0LkdQWCgpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZ21sJzpcclxuICAgICAgICAgIGZvcm1hdCA9IG5ldyBvbGZvcm1hdC5HTUwoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBmb3JtYXQgPSBHZW9KU09OO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvbEZlYXR1cmVzID0gZm9ybWF0LnJlYWRGZWF0dXJlcyhkYXRhLCB7XHJcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiBwcm9qZWN0aW9uSW4sXHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZlYXR1cmVzID0gb2xGZWF0dXJlcy5tYXAoKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKEdlb0pTT04ud3JpdGVGZWF0dXJlT2JqZWN0KG9sRmVhdHVyZSksIHtcclxuICAgICAgICBwcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0LFxyXG4gICAgICAgIG1ldGE6IHtcclxuICAgICAgICAgIGlkOiB1dWlkKCksXHJcbiAgICAgICAgICB0aXRsZTogY29tcHV0ZUxheWVyVGl0bGVGcm9tRmlsZShmaWxlKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZmVhdHVyZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlRmVhdHVyZXNGcm9tR2VvSlNPTihcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBkYXRhOiBvYmplY3QsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApOiBGZWF0dXJlW10ge1xyXG4gICAgY29uc3Qgb2xGb3JtYXQgPSBuZXcgb2xmb3JtYXQuR2VvSlNPTigpO1xyXG4gICAgY29uc3Qgb2xGZWF0dXJlcyA9IG9sRm9ybWF0LnJlYWRGZWF0dXJlcyhkYXRhKTtcclxuICAgIGNvbnN0IGZlYXR1cmVzID0gb2xGZWF0dXJlcy5tYXAoKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKG9sRm9ybWF0LndyaXRlRmVhdHVyZU9iamVjdChvbEZlYXR1cmUpLCB7XHJcbiAgICAgICAgcHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcclxuICAgICAgICBtZXRhOiB7XHJcbiAgICAgICAgICBpZDogdXVpZCgpLFxyXG4gICAgICAgICAgdGl0bGU6IGNvbXB1dGVMYXllclRpdGxlRnJvbUZpbGUoZmlsZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZlYXR1cmVzIGFzIEZlYXR1cmVbXTtcclxuICB9XHJcbn1cclxuIl19
|