@igo2/geo 16.3.0 → 17.0.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +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 +49 -20
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +22 -10
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +32 -16
- 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 +16 -9
- 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 +11 -13
- 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.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.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.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.providers.mjs +2 -2
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
- package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
- package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +28 -13
- package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +44 -19
- package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +36 -16
- package/esm2022/lib/directions/directions-results/index.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +2 -2
- package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +7 -7
- package/esm2022/lib/directions/directions.component.mjs +20 -12
- 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 +13 -9
- 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 +7 -7
- 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 +41 -18
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +19 -9
- package/esm2022/lib/draw/draw/draw.component.mjs +54 -24
- 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 +7 -7
- 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 +28 -13
- 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 +54 -23
- 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 +9 -7
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +66 -28
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +34 -17
- 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 +56 -22
- 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 +13 -10
- package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
- package/esm2022/lib/import-export/shared/export.service.mjs +7 -7
- package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
- package/esm2022/lib/import-export/shared/import.service.mjs +7 -7
- package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
- package/esm2022/lib/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 +35 -16
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +43 -17
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +13 -11
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +10 -9
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +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 +8 -8
- 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.interface.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 +27 -14
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +24 -13
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +15 -11
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +1 -1
- package/esm2022/lib/map/home-extent-button/index.mjs +1 -1
- package/esm2022/lib/map/index.mjs +32 -1
- package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +8 -8
- package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
- package/esm2022/lib/map/map.module.mjs +36 -66
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +23 -13
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
- package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/index.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +10 -9
- 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 +10 -9
- package/esm2022/lib/map/shared/map.interface.mjs +1 -1
- package/esm2022/lib/map/shared/map.mjs +1 -1
- package/esm2022/lib/map/shared/map.service.mjs +5 -5
- package/esm2022/lib/map/shared/map.utils.mjs +1 -1
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +11 -8
- package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2022/lib/map/shared/projection.service.mjs +7 -7
- package/esm2022/lib/map/shared/projection.utils.mjs +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 +23 -13
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
- package/esm2022/lib/measure/index.mjs +2 -3
- package/esm2022/lib/measure/measure.module.mjs +8 -5
- package/esm2022/lib/measure/measurer/index.mjs +6 -0
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
- package/esm2022/lib/measure/measurer/measurer.component.mjs +40 -20
- package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
- package/esm2022/lib/measure/shared/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 +7 -7
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +8 -10
- 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 +7 -7
- 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 +36 -16
- 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 +18 -12
- 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-search-source.providers.mjs +2 -2
- 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 +8 -10
- package/esm2022/lib/search/index.mjs +14 -5
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +38 -18
- 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 +44 -19
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +30 -16
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +22 -12
- package/esm2022/lib/search/search-results/search-results.component.mjs +26 -14
- package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +40 -15
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
- package/esm2022/lib/search/search.module.mjs +10 -13
- package/esm2022/lib/search/shared/index.mjs +1 -1
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +10 -9
- package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
- package/esm2022/lib/search/shared/search.service.mjs +7 -7
- package/esm2022/lib/search/shared/search.utils.mjs +1 -1
- package/esm2022/lib/search/shared/sources/cadastre.mjs +12 -9
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +4 -2
- package/esm2022/lib/search/shared/sources/coordinates.mjs +15 -13
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +4 -2
- package/esm2022/lib/search/shared/sources/icherche.mjs +20 -18
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +4 -2
- package/esm2022/lib/search/shared/sources/ilayer.mjs +14 -12
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +4 -2
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/nominatim.mjs +8 -8
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +3 -2
- package/esm2022/lib/search/shared/sources/source.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +15 -13
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +4 -2
- package/esm2022/lib/search/shared/sources/workspace.mjs +11 -10
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +4 -2
- 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 +7 -7
- 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 +11 -10
- 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 +15 -11
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +12 -10
- 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 +12 -10
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +10 -8
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
- 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 +34474 -34608
- 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 +3 -2
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +3 -2
- 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/catalog/shared/catalog.service.d.ts +3 -1
- package/lib/datasource/shared/datasource.service.d.ts +4 -5
- package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +4 -2
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +2 -2
- package/lib/directions/directions-results/directions-results.component.d.ts +2 -2
- package/lib/directions/directions-sources/directions-source.provider.d.ts +1 -1
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
- package/lib/directions/directions.component.d.ts +2 -2
- package/lib/directions/directions.module.d.ts +9 -20
- package/lib/directions/shared/directions.service.d.ts +3 -1
- package/lib/directions/shared/directions.utils.d.ts +1 -1
- package/lib/download/download-button/download-button.component.d.ts +1 -1
- package/lib/download/download.module.d.ts +4 -6
- package/lib/download/shared/download.service.d.ts +1 -1
- package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
- package/lib/draw/draw/draw-popup.component.d.ts +5 -5
- package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +2 -2
- package/lib/draw/draw/draw.module.d.ts +2 -25
- package/lib/draw/drawingTool.module.d.ts +3 -0
- package/lib/draw/shared/draw-icon.service.d.ts +1 -1
- package/lib/feature/feature-details/feature-details.component.d.ts +7 -4
- 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 +4 -4
- 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/shared/spatial-filter.service.d.ts +2 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +6 -5
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +2 -2
- 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 +5 -2
- 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 +3 -2
- package/lib/import-export/shared/export.service.d.ts +1 -1
- package/lib/import-export/shared/export.utils.d.ts +1 -1
- package/lib/import-export/shared/import.service.d.ts +1 -1
- package/lib/import-export/shared/import.utils.d.ts +1 -1
- package/lib/layer/index.d.ts +8 -0
- package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
- package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -2
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
- package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
- package/lib/layer/layer.module.d.ts +4 -18
- package/lib/layer/shared/layer.service.d.ts +1 -1
- package/lib/layer/shared/layers/image-layer.d.ts +1 -1
- package/lib/layer/shared/layers/layer.d.ts +1 -1
- package/lib/layer/shared/layers/layer.interface.d.ts +1 -1
- package/lib/layer/shared/layers/tile-layer.d.ts +1 -1
- package/lib/layer/shared/layers/vector-layer.d.ts +1 -1
- package/lib/layer/shared/layers/vectortile-layer.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
- package/lib/layer/utils/image-watcher.d.ts +1 -1
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +2 -2
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +2 -2
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +2 -2
- package/lib/map/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 +2 -2
- 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 +2 -2
- package/lib/map/offline-button/offline-button.component.d.ts +2 -2
- package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
- package/lib/map/shared/controllers/geolocation.d.ts +2 -1
- package/lib/map/shared/hover-feature.directive.d.ts +2 -2
- package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
- package/lib/map/shared/map.d.ts +2 -1
- package/lib/map/shared/mapOffline.directive.d.ts +3 -2
- package/lib/map/shared/projection.service.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +2 -2
- package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
- package/lib/measure/index.d.ts +1 -2
- package/lib/measure/measure.module.d.ts +3 -0
- package/lib/measure/measurer/index.d.ts +5 -0
- package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
- package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
- package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
- package/lib/measure/measurer/measurer.component.d.ts +4 -4
- package/lib/measure/measurer/measurer.module.d.ts +3 -18
- package/lib/measure/shared/measure.utils.d.ts +1 -1
- package/lib/metadata/index.d.ts +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/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
- package/lib/offline/geoDB/geoDB.service.d.ts +2 -3
- package/lib/offline/shared/geo-network.service.d.ts +1 -1
- package/lib/overlay/overlay.module.d.ts +4 -1
- package/lib/overlay/shared/overlay.directive.d.ts +1 -1
- package/lib/print/print/print.component.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +2 -2
- package/lib/print/print.module.d.ts +4 -12
- package/lib/print/shared/print.service.d.ts +4 -1
- package/lib/query/query.module.d.ts +4 -4
- package/lib/query/shared/query-search-source.providers.d.ts +1 -1
- package/lib/query/shared/query.directive.d.ts +1 -1
- package/lib/query/shared/query.service.d.ts +2 -3
- package/lib/search/index.d.ts +6 -4
- package/lib/search/search-bar/search-bar.component.d.ts +2 -2
- 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 +2 -2
- package/lib/search/search-results/search-results-add-button.component.d.ts +2 -2
- package/lib/search/search-results/search-results-item.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +2 -2
- package/lib/search/search-results/search-results.module.d.ts +3 -21
- package/lib/search/search-selector/search-selector.component.d.ts +1 -1
- package/lib/search/search-selector/search-selector.module.d.ts +2 -11
- package/lib/search/search-settings/search-settings.component.d.ts +3 -2
- package/lib/search/search-settings/search-settings.module.d.ts +2 -12
- package/lib/search/search.module.d.ts +6 -7
- package/lib/search/shared/search-pointer-summary.directive.d.ts +2 -2
- package/lib/search/shared/search.service.d.ts +1 -1
- package/lib/search/shared/sources/cadastre.d.ts +2 -1
- package/lib/search/shared/sources/cadastre.providers.d.ts +4 -2
- package/lib/search/shared/sources/coordinates.d.ts +2 -1
- package/lib/search/shared/sources/coordinates.providers.d.ts +4 -2
- package/lib/search/shared/sources/icherche.d.ts +2 -1
- package/lib/search/shared/sources/icherche.providers.d.ts +5 -3
- package/lib/search/shared/sources/ilayer.d.ts +2 -1
- package/lib/search/shared/sources/ilayer.providers.d.ts +4 -2
- package/lib/search/shared/sources/nominatim.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.providers.d.ts +3 -2
- package/lib/search/shared/sources/source.d.ts +1 -1
- package/lib/search/shared/sources/storedqueries.d.ts +2 -1
- package/lib/search/shared/sources/storedqueries.providers.d.ts +5 -3
- package/lib/search/shared/sources/workspace.d.ts +2 -1
- package/lib/search/shared/sources/workspace.providers.d.ts +4 -2
- 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/utils/propertyTypeDetector/propertyTypeDetector.service.d.ts +1 -1
- package/lib/wkt/wkt.module.d.ts +3 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +2 -2
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
- package/lib/workspace/shared/edition-workspace.d.ts +1 -1
- package/lib/workspace/shared/edition-workspace.service.d.ts +3 -1
- package/lib/workspace/shared/feature-workspace.service.d.ts +2 -1
- package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -1
- package/lib/workspace/shared/wms-workspace.service.d.ts +2 -1
- package/lib/workspace/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,6 +1,8 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
2
|
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import { ActivityService
|
|
3
|
+
import { ActivityService } from '@igo2/core/activity';
|
|
4
|
+
import { ConfigService } from '@igo2/core/config';
|
|
5
|
+
import { LanguageService } from '@igo2/core/language';
|
|
4
6
|
import { SubjectStatus } from '@igo2/utils';
|
|
5
7
|
import html2canvas from 'html2canvas';
|
|
6
8
|
import jsPDF from 'jspdf';
|
|
@@ -13,8 +15,10 @@ import { DirectionsSourceService } from './directions-source.service';
|
|
|
13
15
|
import { formatDistance, formatDuration, formatInstruction } from './directions.utils';
|
|
14
16
|
import * as i0 from "@angular/core";
|
|
15
17
|
import * as i1 from "./directions-source.service";
|
|
16
|
-
import * as i2 from "@igo2/core";
|
|
17
|
-
import * as i3 from "
|
|
18
|
+
import * as i2 from "@igo2/core/config";
|
|
19
|
+
import * as i3 from "@igo2/core/language";
|
|
20
|
+
import * as i4 from "../../print/shared/print.service";
|
|
21
|
+
import * as i5 from "@igo2/core/activity";
|
|
18
22
|
export class DirectionsService {
|
|
19
23
|
directionsSourceService;
|
|
20
24
|
configService;
|
|
@@ -187,16 +191,16 @@ export class DirectionsService {
|
|
|
187
191
|
doc.text('Page ' + doc.getCurrentPageInfo().pageNumber + ' / ' + pageCount, width - 20, pageHeight - 10);
|
|
188
192
|
}
|
|
189
193
|
}
|
|
190
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
191
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsService, deps: [{ token: i1.DirectionsSourceService }, { token: i2.ConfigService }, { token: i3.LanguageService }, { token: i4.PrintService }, { token: DOCUMENT }, { token: i5.ActivityService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
195
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsService, providedIn: 'root' });
|
|
192
196
|
}
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsService, decorators: [{
|
|
194
198
|
type: Injectable,
|
|
195
199
|
args: [{
|
|
196
200
|
providedIn: 'root'
|
|
197
201
|
}]
|
|
198
|
-
}], ctorParameters:
|
|
202
|
+
}], ctorParameters: () => [{ type: i1.DirectionsSourceService }, { type: i2.ConfigService }, { type: i3.LanguageService }, { type: i4.PrintService }, { type: Document, decorators: [{
|
|
199
203
|
type: Inject,
|
|
200
204
|
args: [DOCUMENT]
|
|
201
|
-
}] }, { type:
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8saUJBQWlCLENBQUM7QUFFekIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixFQUNsQixNQUFNLG9CQUFvQixDQUFDOzs7OztBQUs1QixNQUFNLE9BQU8saUJBQWlCO0lBRWxCO0lBQ0E7SUFDQTtJQUNBO0lBQ2tCO0lBQ2xCO0lBTlYsWUFDVSx1QkFBZ0QsRUFDaEQsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsWUFBMEIsRUFDUixRQUFrQixFQUNwQyxlQUFnQztRQUxoQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hE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RUFBRSxDQUFDLFVBQVUsR0FBRyxLQUFLLEdBQUcsU0FBUyxFQUNqRSxLQUFLLEdBQUcsRUFBRSxFQUNWLFVBQVUsR0FBRyxFQUFFLENBQ2hCLENBQUM7U0FDSDtJQUNILENBQUM7d0dBN05VLGlCQUFpQixpSkFNbEIsUUFBUTs0R0FOUCxpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFjdGl2aXR5U2VydmljZSwgQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3RTdGF0dXMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgaHRtbDJjYW52YXMgZnJvbSAnaHRtbDJjYW52YXMnO1xyXG5pbXBvcnQganNQREYgZnJvbSAnanNwZGYnO1xyXG5pbXBvcnQgJ2pzcGRmLWF1dG90YWJsZSc7XHJcbmltcG9ydCB7IFVzZXJPcHRpb25zIH0gZnJvbSAnanNwZGYtYXV0b3RhYmxlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50L3NoYXJlZC9wcmludC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJpbnRMZWdlbmRQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3ByaW50L3NoYXJlZC9wcmludC50eXBlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZSB9IGZyb20gJy4uL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiwgRGlyZWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9kaXJlY3Rpb25zLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBmb3JtYXREaXN0YW5jZSxcclxuICBmb3JtYXREdXJhdGlvbixcclxuICBmb3JtYXRJbnN0cnVjdGlvblxyXG59IGZyb20gJy4vZGlyZWN0aW9ucy51dGlscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaXJlY3Rpb25zU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlOiBEaXJlY3Rpb25zU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICBwcml2YXRlIGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICByb3V0ZShcclxuICAgIGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdW10sXHJcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyA9IHt9XHJcbiAgKTogT2JzZXJ2YWJsZTxEaXJlY3Rpb25bXT5bXSB7XHJcbiAgICBpZiAoY29vcmRpbmF0ZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlLnNvdXJjZXNcclxuICAgICAgLmZpbHRlcigoc291cmNlOiBEaXJlY3Rpb25zU291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZClcclxuICAgICAgLm1hcCgoc291cmNlOiBEaXJlY3Rpb25zU291cmNlKSA9PlxyXG4gICAgICAgIHRoaXMucm91dGVTb3VyY2Uoc291cmNlLCBjb29yZGluYXRlcywgZGlyZWN0aW9uc09wdGlvbnMpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICByb3V0ZVNvdXJjZShcclxuICAgIHNvdXJjZTogRGlyZWN0aW9uc1NvdXJjZSxcclxuICAgIGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdW10sXHJcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyA9IHt9XHJcbiAgKTogT2JzZXJ2YWJsZTxEaXJlY3Rpb25bXT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHNvdXJjZS5yb3V0ZShjb29yZGluYXRlcywgZGlyZWN0aW9uc09wdGlvbnMpO1xyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZERpcmVjdGlvbihcclxuICAgIG1hcDogSWdvTWFwLFxyXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25cclxuICApOiBPYnNlcnZhYmxlPFN1YmplY3RTdGF0dXM+IHtcclxuICAgIGNvbnN0IGFjdGl2aXR5SWQgPSB0aGlzLmFjdGl2aXR5U2VydmljZS5yZWdpc3RlcigpO1xyXG4gICAgY29uc3Qgc3RhdHVzJCA9IG5ldyBTdWJqZWN0PFN1YmplY3RTdGF0dXM+KCk7XHJcblxyXG4gICAgY29uc3QgZG9jOiBqc1BERiA9IG5ldyBqc1BERih7XHJcbiAgICAgIG9yaWVudGF0aW9uOiAncCcsXHJcbiAgICAgIGZvcm1hdDogJ0xldHRlcicsXHJcbiAgICAgIHVuaXQ6ICdtbScgLy8gZGVmYXVsdFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBkaW1lbnNpb25zID0gW1xyXG4gICAgICBkb2MuaW50ZXJuYWwucGFnZVNpemUud2lkdGgsXHJcbiAgICAgIGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5oZWlnaHRcclxuICAgIF07XHJcbiAgICBjb25zdCBtYXJnaW5zID0gWzEwLCAxMCwgMTAsIDEwXTtcclxuICAgIGNvbnN0IHdpZHRoID0gZGltZW5zaW9uc1swXTtcclxuICAgIGNvbnN0IGhlaWdodCA9IGRpbWVuc2lvbnNbMV0gLSBtYXJnaW5zWzBdIC0gbWFyZ2luc1syXTtcclxuICAgIGNvbnN0IHNpemU6IFtudW1iZXIsIG51bWJlcl0gPSBbd2lkdGgsIGhlaWdodF07XHJcblxyXG4gICAgY29uc3QgdGl0bGUgPSBgJHtkaXJlY3Rpb24udGl0bGV9ICgke2Zvcm1hdERpc3RhbmNlKFxyXG4gICAgICBkaXJlY3Rpb24uZGlzdGFuY2VcclxuICAgICl9LCAke2Zvcm1hdER1cmF0aW9uKGRpcmVjdGlvbi5kdXJhdGlvbil9KWA7XHJcbiAgICBjb25zdCB0aXRsZVBvc2l0aW9uID0gMjU7XHJcblxyXG4gICAgZG9jLnRleHQodGl0bGUsIGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS53aWR0aCAvIDIsIHRpdGxlUG9zaXRpb24sIHtcclxuICAgICAgYWxpZ246ICdjZW50ZXInXHJcbiAgICB9KTtcclxuXHJcbiAgICBtYXJnaW5zWzBdICs9IDIwO1xyXG4gICAgY29uc3QgcmVzb2x1dGlvbiA9IDk2OyAvLyBEZWZhdWx0IGlzIDk2XHJcbiAgICB0aGlzLnByaW50U2VydmljZVxyXG4gICAgICAuYWRkTWFwKGRvYywgbWFwLCByZXNvbHV0aW9uLCBzaXplLCBtYXJnaW5zLCBQcmludExlZ2VuZFBvc2l0aW9uLm5vbmUpXHJcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKHN0YXR1czogU3ViamVjdFN0YXR1cykgPT4ge1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09IFN1YmplY3RTdGF0dXMuRG9uZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5hZGRJbnN0cnVjdGlvbnMoZG9jLCBkaXJlY3Rpb24sIHRpdGxlKTtcclxuICAgICAgICAgIHRoaXMuc2V0UGFnZUhlYWRlckZvb3Rlcihkb2MpO1xyXG4gICAgICAgICAgYXdhaXQgZG9jLnNhdmUoYCR7dGl0bGV9LnBkZmAsIHsgcmV0dXJuUHJvbWlzZTogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLnVucmVnaXN0ZXIoYWN0aXZpdHlJZCk7XHJcbiAgICAgICAgc3RhdHVzJC5uZXh0KHN0YXR1cyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBzdGF0dXMkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZXRIVE1MVGFibGVDb250ZW50KFxyXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25cclxuICApOiBQcm9taXNlPEhUTUxUYWJsZUVsZW1lbnQ+IHtcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmRpcmVjdGlvbnNJbnN0cnVjdGlvbihkaXJlY3Rpb24pO1xyXG4gICAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0YWJsZScpO1xyXG4gICAgY29uc3QgdGJsQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rib2R5Jyk7XHJcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGRhdGFbaW5kZXhdO1xyXG4gICAgICB2YXIgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTtcclxuICAgICAgdmFyIGNlbGxJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XHJcbiAgICAgIHZhciBjZWxsVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XHJcbiAgICAgIC8vIGljb25cclxuICAgICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJykgYXMgSFRNTEltYWdlRWxlbWVudDtcclxuICAgICAgaW1nLnNyYyA9IGVsZW1lbnQuaWNvbjtcclxuICAgICAgLy8gaW5zdHJ1Y3Rpb24gdGV4dFxyXG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBzcGFuLmlubmVySFRNTCA9IGVsZW1lbnQuaW5zdHJ1Y3Rpb247XHJcbiAgICAgIGNlbGxJbWFnZS5hcHBlbmRDaGlsZChpbWcpO1xyXG4gICAgICBjZWxsVGV4dC5hcHBlbmRDaGlsZChzcGFuKTtcclxuICAgICAgaWYgKGVsZW1lbnQuZGlzdGFuY2UpIHtcclxuICAgICAgICBjb25zdCBzcGFuRGlzdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgc3BhbkRpc3RhbmNlLnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnbWlkZGxlJztcclxuICAgICAgICBzcGFuRGlzdGFuY2UuaW5uZXJIVE1MID1cclxuICAgICAgICAgICcmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsnICsgZWxlbWVudC5kaXN0YW5jZTtcclxuICAgICAgICBjZWxsVGV4dC5hcHBlbmRDaGlsZChzcGFuRGlzdGFuY2UpO1xyXG4gICAgICB9XHJcbiAgICAgIHJvdy5hcHBlbmQoY2VsbEltYWdlKTtcclxuICAgICAgcm93LmFwcGVuZChjZWxsVGV4dCk7XHJcbiAgICAgIHRibEJvZHkuYXBwZW5kQ2hpbGQocm93KTtcclxuICAgIH1cclxuICAgIHRhYmxlLmFwcGVuZENoaWxkKHRibEJvZHkpO1xyXG4gICAgcmV0dXJuIHRhYmxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBkaXJlY3Rpb25zSW5zdHJ1Y3Rpb24oXHJcbiAgICBkaXJlY3Rpb246IERpcmVjdGlvblxyXG4gICk6IFByb21pc2U8QXJyYXk8eyBpbnN0cnVjdGlvbjogc3RyaW5nOyBpY29uOiBzdHJpbmc7IGRpc3RhbmNlOiBzdHJpbmcgfT4+IHtcclxuICAgIGNvbnN0IG1hdExpc3RJdGVtcyA9IHRoaXMuZG9jdW1lbnRcclxuICAgICAgLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZ28tZGlyZWN0aW9ucy1yZXN1bHRzJylbMF1cclxuICAgICAgLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtbGlzdCcpWzBdO1xyXG4gICAgY29uc3QgbWF0TGlzdEl0ZW0gPSBtYXRMaXN0SXRlbXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1saXN0LWl0ZW0nKTtcclxuICAgIC8vIGNvbnZlcnQgaWNvbiBsaXN0IHRvIGJhc2U2NFxyXG4gICAgbGV0IGljb25zQXJyYXk6IEFycmF5PHsgbmFtZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfT4gPSBbXTtcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXRMaXN0SXRlbS5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IG1hdExpc3RJdGVtW2luZGV4XTtcclxuICAgICAgY29uc3QgaWNvbiA9IGVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1pY29uJylbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGNvbnN0IGljb25OYW1lID0gaWNvbi5nZXRBdHRyaWJ1dGUoJ2RhdGEtbWF0LWljb24tbmFtZScpIGFzIHN0cmluZztcclxuICAgICAgY29uc3QgZm91bmQgPSBpY29uc0FycmF5LnNvbWUoKGVsKSA9PiBlbC5uYW1lID09PSBpY29uTmFtZSk7XHJcbiAgICAgIGlmICghZm91bmQpIHtcclxuICAgICAgICBjb25zdCBpY29uQ2FudmFzID0gYXdhaXQgaHRtbDJjYW52YXMoaWNvbiwgeyBzY2FsZTogMyB9KTtcclxuICAgICAgICBpY29uc0FycmF5LnB1c2goeyBuYW1lOiBpY29uTmFtZSwgaWNvbjogaWNvbkNhbnZhcy50b0RhdGFVUkwoKSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxldCBmb3JtYXR0ZWREaXJlY3Rpb246IEFycmF5PHtcclxuICAgICAgaW5zdHJ1Y3Rpb246IHN0cmluZztcclxuICAgICAgaWNvbjogc3RyaW5nO1xyXG4gICAgICBkaXN0YW5jZTogc3RyaW5nO1xyXG4gICAgfT4gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlyZWN0aW9uLnN0ZXBzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHN0ZXAgPSBkaXJlY3Rpb24uc3RlcHNbaV07XHJcbiAgICAgIGNvbnN0IGluc3RydWN0aW9uID0gZm9ybWF0SW5zdHJ1Y3Rpb24oXHJcbiAgICAgICAgc3RlcC5tYW5ldXZlci50eXBlLFxyXG4gICAgICAgIHN0ZXAubWFuZXV2ZXIubW9kaWZpZXIsXHJcbiAgICAgICAgc3RlcC5uYW1lLFxyXG4gICAgICAgIHN0ZXAubWFuZXV2ZXIuYmVhcmluZ19hZnRlcixcclxuICAgICAgICBpLFxyXG4gICAgICAgIChzdGVwLm1hbmV1dmVyIGFzIGFueSkuZXhpdCxcclxuICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZSxcclxuICAgICAgICBpID09PSBkaXJlY3Rpb24uc3RlcHMubGVuZ3RoIC0gMVxyXG4gICAgICApO1xyXG5cclxuICAgICAgY29uc3QgZGlzdGFuY2UgPSBmb3JtYXREaXN0YW5jZShzdGVwLmRpc3RhbmNlKTtcclxuICAgICAgZm9ybWF0dGVkRGlyZWN0aW9uLnB1c2goe1xyXG4gICAgICAgIGluc3RydWN0aW9uOiBpICsgMSArICcuICcgKyBpbnN0cnVjdGlvbi5pbnN0cnVjdGlvbixcclxuICAgICAgICBpY29uOiBpY29uc0FycmF5LmZpbmQoKGljb24pID0+IGljb24ubmFtZSA9PT0gaW5zdHJ1Y3Rpb24uaW1hZ2UpLmljb24sXHJcbiAgICAgICAgZGlzdGFuY2U6IGRpc3RhbmNlID8gJygnICsgZGlzdGFuY2UgKyAnKScgOiB1bmRlZmluZWRcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkRGlyZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBhZGRJbnN0cnVjdGlvbnMoXHJcbiAgICBkb2M6IGpzUERGLFxyXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb24sXHJcbiAgICB0aXRsZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBkb2MuYWRkUGFnZSgpO1xyXG4gICAgY29uc3QgdGl0bGVQb3NpdGlvbiA9IDI1O1xyXG4gICAgZG9jLnRleHQodGl0bGUsIGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS53aWR0aCAvIDIsIHRpdGxlUG9zaXRpb24sIHtcclxuICAgICAgYWxpZ246ICdjZW50ZXInXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IEhUTUx0YWJsZSA9IGF3YWl0IHRoaXMuc2V0SFRNTFRhYmxlQ29udGVudChkaXJlY3Rpb24pO1xyXG4gICAgY29uc3QgdGFibGVQb3MgPSB0aXRsZVBvc2l0aW9uICsgNTtcclxuICAgIChkb2MgYXMgYW55KS5hdXRvVGFibGUoe1xyXG4gICAgICBodG1sOiBIVE1MdGFibGUsXHJcbiAgICAgIHN0YXJ0WTogdGFibGVQb3MsXHJcbiAgICAgIG1hcmdpbjogeyB0b3A6IDIwLCBib3R0b206IDIwIH0sXHJcbiAgICAgIGNvbHVtblN0eWxlczoge1xyXG4gICAgICAgIDA6IHsgY2VsbFdpZHRoOiAxMCB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHRoZW1lOiAncGxhaW4nLFxyXG4gICAgICBzdHlsZXM6IHtcclxuICAgICAgICBmb250U2l6ZTogMTJcclxuICAgICAgfSxcclxuICAgICAgZGlkRHJhd0NlbGw6IGZ1bmN0aW9uIChkYXRhKSB7XHJcbiAgICAgICAgaWYgKGRhdGEuY29sdW1uLmluZGV4ID09PSAwICYmIGRhdGEuY2VsbC5zZWN0aW9uID09PSAnYm9keScpIHtcclxuICAgICAgICAgIGRhdGEucm93LmhlaWdodCA9IDEwO1xyXG4gICAgICAgICAgY29uc3QgdGQgPSBkYXRhLmNlbGwucmF3IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgY29uc3QgaW1nID0gdGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpWzBdO1xyXG4gICAgICAgICAgZG9jLmFkZEltYWdlKGltZy5zcmMsIGRhdGEuY2VsbC54LCBkYXRhLmNlbGwueSwgOCwgOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IHNhdGlzZmllcyBVc2VyT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBhZ2VIZWFkZXJGb290ZXIoZG9jOiBqc1BERikge1xyXG4gICAgY29uc3QgcGFnZUNvdW50ID0gZG9jLmdldE51bWJlck9mUGFnZXMoKTtcclxuICAgIGNvbnN0IGRhdGUgPSBtb21lbnQoRGF0ZS5ub3coKSkuZm9ybWF0KCdERC9NTS9ZWVlZIGhoOm1tJykudG9TdHJpbmcoKTtcclxuXHJcbiAgICBjb25zdCBsb2dvQ29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnZGlyZWN0aW9uc1NvdXJjZXMubG9nbycpO1xyXG4gICAgY29uc3QgbG9nbyA9IGxvZ29Db25maWcgPyBsb2dvQ29uZmlnIDogJ2Fzc2V0cy9sb2dvLnBuZyc7XHJcblxyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHBhZ2VDb3VudDsgaW5kZXgrKykge1xyXG4gICAgICBkb2Muc2V0UGFnZShpbmRleCk7XHJcbiAgICAgIGRvYy5zZXRGb250U2l6ZSg4KTtcclxuICAgICAgY29uc3QgcGFnZVNpemUgPSBkb2MuaW50ZXJuYWwucGFnZVNpemU7XHJcbiAgICAgIGNvbnN0IHBhZ2VIZWlnaHQgPSBwYWdlU2l6ZS5oZWlnaHRcclxuICAgICAgICA/IHBhZ2VTaXplLmhlaWdodFxyXG4gICAgICAgIDogcGFnZVNpemUuZ2V0SGVpZ2h0KCk7XHJcbiAgICAgIGNvbnN0IHdpZHRoID0gcGFnZVNpemUud2lkdGggPyBwYWdlU2l6ZS53aWR0aCA6IHBhZ2VTaXplLmdldFdpZHRoKCk7XHJcbiAgICAgIGRvYy50ZXh0KGRhdGUsIDEwLCAxMCwgeyBiYXNlbGluZTogJ3RvcCcgfSk7XHJcbiAgICAgIGRvYy5hZGRJbWFnZShsb2dvLCAnUE5HJywgd2lkdGggLSAyMCwgNSwgMTAsIDEwKTtcclxuICAgICAgZG9jLnRleHQoZGF0ZSwgMTAsIHBhZ2VIZWlnaHQgLSAxMCk7XHJcbiAgICAgIGRvYy50ZXh0KFxyXG4gICAgICAgICdQYWdlICcgKyBkb2MuZ2V0Q3VycmVudFBhZ2VJbmZvKCkucGFnZU51bWJlciArICcgLyAnICsgcGFnZUNvdW50LFxyXG4gICAgICAgIHdpZHRoIC0gMjAsXHJcbiAgICAgICAgcGFnZUhlaWdodCAtIDEwXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
205
|
+
}] }, { type: i5.ActivityService }] });
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2xCLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFLNUIsTUFBTSxPQUFPLGlCQUFpQjtJQUVsQjtJQUNBO0lBQ0E7SUFDQTtJQUNrQjtJQUNsQjtJQU5WLFlBQ1UsdUJBQWdELEVBQ2hELGFBQTRCLEVBQzVCLGVBQWdDLEVB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LEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDcEMsR0FBRyxDQUFDLElBQUksQ0FDTixPQUFPLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUMsVUFBVSxHQUFHLEtBQUssR0FBRyxTQUFTLEVBQ2pFLEtBQUssR0FBRyxFQUFFLEVBQ1YsVUFBVSxHQUFHLEVBQUUsQ0FDaEIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO3VHQTdOVSxpQkFBaUIsaUpBTWxCLFFBQVE7MkdBTlAsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2FjdGl2aXR5JztcclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XHJcbmltcG9ydCB7IFN1YmplY3RTdGF0dXMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgaHRtbDJjYW52YXMgZnJvbSAnaHRtbDJjYW52YXMnO1xyXG5pbXBvcnQganNQREYgZnJvbSAnanNwZGYnO1xyXG5pbXBvcnQgJ2pzcGRmLWF1dG90YWJsZSc7XHJcbmltcG9ydCB7IFVzZXJPcHRpb25zIH0gZnJvbSAnanNwZGYtYXV0b3RhYmxlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50L3NoYXJlZC9wcmludC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJpbnRMZWdlbmRQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3ByaW50L3NoYXJlZC9wcmludC50eXBlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZSB9IGZyb20gJy4uL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiwgRGlyZWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9kaXJlY3Rpb25zLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBmb3JtYXREaXN0YW5jZSxcclxuICBmb3JtYXREdXJhdGlvbixcclxuICBmb3JtYXRJbnN0cnVjdGlvblxyXG59IGZyb20gJy4vZGlyZWN0aW9ucy51dGlscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaXJlY3Rpb25zU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlOiBEaXJlY3Rpb25zU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICBwcml2YXRlIGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICByb3V0ZShcclxuICAgIGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdW10sXHJcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyA9IHt9XHJcbiAgKTogT2JzZXJ2YWJsZTxEaXJlY3Rpb25bXT5bXSB7XHJcbiAgICBpZiAoY29vcmRpbmF0ZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlLnNvdXJjZXNcclxuICAgICAgLmZpbHRlcigoc291cmNlOiBEaXJlY3Rpb25zU291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZClcclxuICAgICAgLm1hcCgoc291cmNlOiBEaXJlY3Rpb25zU291cmNlKSA9PlxyXG4gICAgICAgIHRoaXMucm91dGVTb3VyY2Uoc291cmNlLCBjb29yZGluYXRlcywgZGlyZWN0aW9uc09wdGlvbnMpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICByb3V0ZVNvdXJjZShcclxuICAgIHNvdXJjZTogRGlyZWN0aW9uc1NvdXJjZSxcclxuICAgIGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdW10sXHJcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyA9IHt9XHJcbiAgKTogT2JzZXJ2YWJsZTxEaXJlY3Rpb25bXT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHNvdXJjZS5yb3V0ZShjb29yZGluYXRlcywgZGlyZWN0aW9uc09wdGlvbnMpO1xyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZERpcmVjdGlvbihcclxuICAgIG1hcDogSWdvTWFwLFxyXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25cclxuICApOiBPYnNlcnZhYmxlPFN1YmplY3RTdGF0dXM+IHtcclxuICAgIGNvbnN0IGFjdGl2aXR5SWQgPSB0aGlzLmFjdGl2aXR5U2VydmljZS5yZWdpc3RlcigpO1xyXG4gICAgY29uc3Qgc3RhdHVzJCA9IG5ldyBTdWJqZWN0PFN1YmplY3RTdGF0dXM+KCk7XHJcblxyXG4gICAgY29uc3QgZG9jOiBqc1BERiA9IG5ldyBqc1BERih7XHJcbiAgICAgIG9yaWVudGF0aW9uOiAncCcsXHJcbiAgICAgIGZvcm1hdDogJ0xldHRlcicsXHJcbiAgICAgIHVuaXQ6ICdtbScgLy8gZGVmYXVsdFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBkaW1lbnNpb25zID0gW1xyXG4gICAgICBkb2MuaW50ZXJuYWwucGFnZVNpemUud2lkdGgsXHJcbiAgICAgIGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5oZWlnaHRcclxuICAgIF07XHJcbiAgICBjb25zdCBtYXJnaW5zID0gWzEwLCAxMCwgMTAsIDEwXTtcclxuICAgIGNvbnN0IHdpZHRoID0gZGltZW5zaW9uc1swXTtcclxuICAgIGNvbnN0IGhlaWdodCA9IGRpbWVuc2lvbnNbMV0gLSBtYXJnaW5zWzBdIC0gbWFyZ2luc1syXTtcclxuICAgIGNvbnN0IHNpemU6IFtudW1iZXIsIG51bWJlcl0gPSBbd2lkdGgsIGhlaWdodF07XHJcblxyXG4gICAgY29uc3QgdGl0bGUgPSBgJHtkaXJlY3Rpb24udGl0bGV9ICgke2Zvcm1hdERpc3RhbmNlKFxyXG4gICAgICBkaXJlY3Rpb24uZGlzdGFuY2VcclxuICAgICl9LCAke2Zvcm1hdER1cmF0aW9uKGRpcmVjdGlvbi5kdXJhdGlvbil9KWA7XHJcbiAgICBjb25zdCB0aXRsZVBvc2l0aW9uID0gMjU7XHJcblxyXG4gICAgZG9jLnRleHQodGl0bGUsIGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS53aWR0aCAvIDIsIHRpdGxlUG9zaXRpb24sIHtcclxuICAgICAgYWxpZ246ICdjZW50ZXInXHJcbiAgICB9KTtcclxuXHJcbiAgICBtYXJnaW5zWzBdICs9IDIwO1xyXG4gICAgY29uc3QgcmVzb2x1dGlvbiA9IDk2OyAvLyBEZWZhdWx0IGlzIDk2XHJcbiAgICB0aGlzLnByaW50U2VydmljZVxyXG4gICAgICAuYWRkTWFwKGRvYywgbWFwLCByZXNvbHV0aW9uLCBzaXplLCBtYXJnaW5zLCBQcmludExlZ2VuZFBvc2l0aW9uLm5vbmUpXHJcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKHN0YXR1czogU3ViamVjdFN0YXR1cykgPT4ge1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09IFN1YmplY3RTdGF0dXMuRG9uZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5hZGRJbnN0cnVjdGlvbnMoZG9jLCBkaXJlY3Rpb24sIHRpdGxlKTtcclxuICAgICAgICAgIHRoaXMuc2V0UGFnZUhlYWRlckZvb3Rlcihkb2MpO1xyXG4gICAgICAgICAgYXdhaXQgZG9jLnNhdmUoYCR7dGl0bGV9LnBkZmAsIHsgcmV0dXJuUHJvbWlzZTogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLnVucmVnaXN0ZXIoYWN0aXZpdHlJZCk7XHJcbiAgICAgICAgc3RhdHVzJC5uZXh0KHN0YXR1cyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBzdGF0dXMkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZXRIVE1MVGFibGVDb250ZW50KFxyXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25cclxuICApOiBQcm9taXNlPEhUTUxUYWJsZUVsZW1lbnQ+IHtcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmRpcmVjdGlvbnNJbnN0cnVjdGlvbihkaXJlY3Rpb24pO1xyXG4gICAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0YWJsZScpO1xyXG4gICAgY29uc3QgdGJsQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rib2R5Jyk7XHJcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGRhdGFbaW5kZXhdO1xyXG4gICAgICB2YXIgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTtcclxuICAgICAgdmFyIGNlbGxJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XHJcbiAgICAgIHZhciBjZWxsVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XHJcbiAgICAgIC8vIGljb25cclxuICAgICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJykgYXMgSFRNTEltYWdlRWxlbWVudDtcclxuICAgICAgaW1nLnNyYyA9IGVsZW1lbnQuaWNvbjtcclxuICAgICAgLy8gaW5zdHJ1Y3Rpb24gdGV4dFxyXG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBzcGFuLmlubmVySFRNTCA9IGVsZW1lbnQuaW5zdHJ1Y3Rpb247XHJcbiAgICAgIGNlbGxJbWFnZS5hcHBlbmRDaGlsZChpbWcpO1xyXG4gICAgICBjZWxsVGV4dC5hcHBlbmRDaGlsZChzcGFuKTtcclxuICAgICAgaWYgKGVsZW1lbnQuZGlzdGFuY2UpIHtcclxuICAgICAgICBjb25zdCBzcGFuRGlzdGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgc3BhbkRpc3RhbmNlLnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnbWlkZGxlJztcclxuICAgICAgICBzcGFuRGlzdGFuY2UuaW5uZXJIVE1MID1cclxuICAgICAgICAgICcmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsnICsgZWxlbWVudC5kaXN0YW5jZTtcclxuICAgICAgICBjZWxsVGV4dC5hcHBlbmRDaGlsZChzcGFuRGlzdGFuY2UpO1xyXG4gICAgICB9XHJcbiAgICAgIHJvdy5hcHBlbmQoY2VsbEltYWdlKTtcclxuICAgICAgcm93LmFwcGVuZChjZWxsVGV4dCk7XHJcbiAgICAgIHRibEJvZHkuYXBwZW5kQ2hpbGQocm93KTtcclxuICAgIH1cclxuICAgIHRhYmxlLmFwcGVuZENoaWxkKHRibEJvZHkpO1xyXG4gICAgcmV0dXJuIHRhYmxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBkaXJlY3Rpb25zSW5zdHJ1Y3Rpb24oXHJcbiAgICBkaXJlY3Rpb246IERpcmVjdGlvblxyXG4gICk6IFByb21pc2U8QXJyYXk8eyBpbnN0cnVjdGlvbjogc3RyaW5nOyBpY29uOiBzdHJpbmc7IGRpc3RhbmNlOiBzdHJpbmcgfT4+IHtcclxuICAgIGNvbnN0IG1hdExpc3RJdGVtcyA9IHRoaXMuZG9jdW1lbnRcclxuICAgICAgLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZ28tZGlyZWN0aW9ucy1yZXN1bHRzJylbMF1cclxuICAgICAgLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtbGlzdCcpWzBdO1xyXG4gICAgY29uc3QgbWF0TGlzdEl0ZW0gPSBtYXRMaXN0SXRlbXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1saXN0LWl0ZW0nKTtcclxuICAgIC8vIGNvbnZlcnQgaWNvbiBsaXN0IHRvIGJhc2U2NFxyXG4gICAgbGV0IGljb25zQXJyYXk6IEFycmF5PHsgbmFtZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfT4gPSBbXTtcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXRMaXN0SXRlbS5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IG1hdExpc3RJdGVtW2luZGV4XTtcclxuICAgICAgY29uc3QgaWNvbiA9IGVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1pY29uJylbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGNvbnN0IGljb25OYW1lID0gaWNvbi5nZXRBdHRyaWJ1dGUoJ2RhdGEtbWF0LWljb24tbmFtZScpIGFzIHN0cmluZztcclxuICAgICAgY29uc3QgZm91bmQgPSBpY29uc0FycmF5LnNvbWUoKGVsKSA9PiBlbC5uYW1lID09PSBpY29uTmFtZSk7XHJcbiAgICAgIGlmICghZm91bmQpIHtcclxuICAgICAgICBjb25zdCBpY29uQ2FudmFzID0gYXdhaXQgaHRtbDJjYW52YXMoaWNvbiwgeyBzY2FsZTogMyB9KTtcclxuICAgICAgICBpY29uc0FycmF5LnB1c2goeyBuYW1lOiBpY29uTmFtZSwgaWNvbjogaWNvbkNhbnZhcy50b0RhdGFVUkwoKSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxldCBmb3JtYXR0ZWREaXJlY3Rpb246IEFycmF5PHtcclxuICAgICAgaW5zdHJ1Y3Rpb246IHN0cmluZztcclxuICAgICAgaWNvbjogc3RyaW5nO1xyXG4gICAgICBkaXN0YW5jZTogc3RyaW5nO1xyXG4gICAgfT4gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlyZWN0aW9uLnN0ZXBzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHN0ZXAgPSBkaXJlY3Rpb24uc3RlcHNbaV07XHJcbiAgICAgIGNvbnN0IGluc3RydWN0aW9uID0gZm9ybWF0SW5zdHJ1Y3Rpb24oXHJcbiAgICAgICAgc3RlcC5tYW5ldXZlci50eXBlLFxyXG4gICAgICAgIHN0ZXAubWFuZXV2ZXIubW9kaWZpZXIsXHJcbiAgICAgICAgc3RlcC5uYW1lLFxyXG4gICAgICAgIHN0ZXAubWFuZXV2ZXIuYmVhcmluZ19hZnRlcixcclxuICAgICAgICBpLFxyXG4gICAgICAgIChzdGVwLm1hbmV1dmVyIGFzIGFueSkuZXhpdCxcclxuICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZSxcclxuICAgICAgICBpID09PSBkaXJlY3Rpb24uc3RlcHMubGVuZ3RoIC0gMVxyXG4gICAgICApO1xyXG5cclxuICAgICAgY29uc3QgZGlzdGFuY2UgPSBmb3JtYXREaXN0YW5jZShzdGVwLmRpc3RhbmNlKTtcclxuICAgICAgZm9ybWF0dGVkRGlyZWN0aW9uLnB1c2goe1xyXG4gICAgICAgIGluc3RydWN0aW9uOiBpICsgMSArICcuICcgKyBpbnN0cnVjdGlvbi5pbnN0cnVjdGlvbixcclxuICAgICAgICBpY29uOiBpY29uc0FycmF5LmZpbmQoKGljb24pID0+IGljb24ubmFtZSA9PT0gaW5zdHJ1Y3Rpb24uaW1hZ2UpLmljb24sXHJcbiAgICAgICAgZGlzdGFuY2U6IGRpc3RhbmNlID8gJygnICsgZGlzdGFuY2UgKyAnKScgOiB1bmRlZmluZWRcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkRGlyZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBhZGRJbnN0cnVjdGlvbnMoXHJcbiAgICBkb2M6IGpzUERGLFxyXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb24sXHJcbiAgICB0aXRsZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBkb2MuYWRkUGFnZSgpO1xyXG4gICAgY29uc3QgdGl0bGVQb3NpdGlvbiA9IDI1O1xyXG4gICAgZG9jLnRleHQodGl0bGUsIGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS53aWR0aCAvIDIsIHRpdGxlUG9zaXRpb24sIHtcclxuICAgICAgYWxpZ246ICdjZW50ZXInXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IEhUTUx0YWJsZSA9IGF3YWl0IHRoaXMuc2V0SFRNTFRhYmxlQ29udGVudChkaXJlY3Rpb24pO1xyXG4gICAgY29uc3QgdGFibGVQb3MgPSB0aXRsZVBvc2l0aW9uICsgNTtcclxuICAgIChkb2MgYXMgYW55KS5hdXRvVGFibGUoe1xyXG4gICAgICBodG1sOiBIVE1MdGFibGUsXHJcbiAgICAgIHN0YXJ0WTogdGFibGVQb3MsXHJcbiAgICAgIG1hcmdpbjogeyB0b3A6IDIwLCBib3R0b206IDIwIH0sXHJcbiAgICAgIGNvbHVtblN0eWxlczoge1xyXG4gICAgICAgIDA6IHsgY2VsbFdpZHRoOiAxMCB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHRoZW1lOiAncGxhaW4nLFxyXG4gICAgICBzdHlsZXM6IHtcclxuICAgICAgICBmb250U2l6ZTogMTJcclxuICAgICAgfSxcclxuICAgICAgZGlkRHJhd0NlbGw6IGZ1bmN0aW9uIChkYXRhKSB7XHJcbiAgICAgICAgaWYgKGRhdGEuY29sdW1uLmluZGV4ID09PSAwICYmIGRhdGEuY2VsbC5zZWN0aW9uID09PSAnYm9keScpIHtcclxuICAgICAgICAgIGRhdGEucm93LmhlaWdodCA9IDEwO1xyXG4gICAgICAgICAgY29uc3QgdGQgPSBkYXRhLmNlbGwucmF3IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgY29uc3QgaW1nID0gdGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpWzBdO1xyXG4gICAgICAgICAgZG9jLmFkZEltYWdlKGltZy5zcmMsIGRhdGEuY2VsbC54LCBkYXRhLmNlbGwueSwgOCwgOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IHNhdGlzZmllcyBVc2VyT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBhZ2VIZWFkZXJGb290ZXIoZG9jOiBqc1BERikge1xyXG4gICAgY29uc3QgcGFnZUNvdW50ID0gZG9jLmdldE51bWJlck9mUGFnZXMoKTtcclxuICAgIGNvbnN0IGRhdGUgPSBtb21lbnQoRGF0ZS5ub3coKSkuZm9ybWF0KCdERC9NTS9ZWVlZIGhoOm1tJykudG9TdHJpbmcoKTtcclxuXHJcbiAgICBjb25zdCBsb2dvQ29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnZGlyZWN0aW9uc1NvdXJjZXMubG9nbycpO1xyXG4gICAgY29uc3QgbG9nbyA9IGxvZ29Db25maWcgPyBsb2dvQ29uZmlnIDogJ2Fzc2V0cy9sb2dvLnBuZyc7XHJcblxyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHBhZ2VDb3VudDsgaW5kZXgrKykge1xyXG4gICAgICBkb2Muc2V0UGFnZShpbmRleCk7XHJcbiAgICAgIGRvYy5zZXRGb250U2l6ZSg4KTtcclxuICAgICAgY29uc3QgcGFnZVNpemUgPSBkb2MuaW50ZXJuYWwucGFnZVNpemU7XHJcbiAgICAgIGNvbnN0IHBhZ2VIZWlnaHQgPSBwYWdlU2l6ZS5oZWlnaHRcclxuICAgICAgICA/IHBhZ2VTaXplLmhlaWdodFxyXG4gICAgICAgIDogcGFnZVNpemUuZ2V0SGVpZ2h0KCk7XHJcbiAgICAgIGNvbnN0IHdpZHRoID0gcGFnZVNpemUud2lkdGggPyBwYWdlU2l6ZS53aWR0aCA6IHBhZ2VTaXplLmdldFdpZHRoKCk7XHJcbiAgICAgIGRvYy50ZXh0KGRhdGUsIDEwLCAxMCwgeyBiYXNlbGluZTogJ3RvcCcgfSk7XHJcbiAgICAgIGRvYy5hZGRJbWFnZShsb2dvLCAnUE5HJywgd2lkdGggLSAyMCwgNSwgMTAsIDEwKTtcclxuICAgICAgZG9jLnRleHQoZGF0ZSwgMTAsIHBhZ2VIZWlnaHQgLSAxMCk7XHJcbiAgICAgIGRvYy50ZXh0KFxyXG4gICAgICAgICdQYWdlICcgKyBkb2MuZ2V0Q3VycmVudFBhZ2VJbmZvKCkucGFnZU51bWJlciArICcgLyAnICsgcGFnZUNvdW50LFxyXG4gICAgICAgIHdpZHRoIC0gMjAsXHJcbiAgICAgICAgcGFnZUhlaWdodCAtIDEwXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -556,4 +556,4 @@ export function translateBearing(bearing, languageService) {
|
|
|
556
556
|
return;
|
|
557
557
|
}
|
|
558
558
|
}
|
|
559
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsYUFBYSxFQUNkLE1BQU0sbUJBQW1CLENBQUM7QUFjM0I7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFVBQXNCLEVBQ3RCLFlBQTRCLEtBQUssRUFDakMsS0FBSyxHQUFHLFVBQVU7SUFFbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIs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QTJCLENBQUMsQ0FBQztLQUN2RDtTQUFNLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUN4QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztLQUN0RDtTQUFNLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUN4QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUN2RDtTQUFNO1FBQ0wsT0FBTztLQUNSO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBOdW1iZXJVdGlscywgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCBPbEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5pbXBvcnQgKiBhcyBvbEdlb20gZnJvbSAnb2wvZ2VvbSc7XHJcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcbmltcG9ydCAqIGFzIG9sUHJvaiBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IHRyeUJpbmRTdG9yZUxheWVyIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS1zdG9yZS51dGlscyc7XHJcbmltcG9ydCB7IEZFQVRVUkUsIEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgdHJ5QWRkTG9hZGluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvc3RyYXRlZ2llcy51dGlscyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMvbG9hZGluZyc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xyXG5pbXBvcnQgeyBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUgfSBmcm9tICcuLi8uLi9zdHlsZS9zaGFyZWQvb3ZlcmxheS9vdmVybGF5LW1hcmtlci1zdHlsZS51dGlscyc7XHJcbmltcG9ydCB7XHJcbiAgRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUsXHJcbiAgRGlyZWN0aW9uVHlwZVxyXG59IGZyb20gJy4vZGlyZWN0aW9ucy5lbnVtJztcclxuaW1wb3J0IHtcclxuICBEaXJlY3Rpb24sXHJcbiAgRmVhdHVyZVdpdGhEaXJlY3Rpb24sXHJcbiAgRmVhdHVyZVdpdGhTdG9wLFxyXG4gIFN0b3BcclxufSBmcm9tICcuL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtcclxuICBSb3V0ZXNGZWF0dXJlU3RvcmUsXHJcbiAgU3RlcEZlYXR1cmVTdG9yZSxcclxuICBTdG9wc0ZlYXR1cmVTdG9yZSxcclxuICBTdG9wc1N0b3JlXHJcbn0gZnJvbSAnLi9zdG9yZSc7XHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gdGhhdCB1cGRhdCB0aGUgc29ydCBvZiB0aGUgbGlzdCBiYXNlIG9uIHRoZSBwcm92aWRlZCBmaWVsZC5cclxuICogQHBhcmFtIHNvdXJjZSBzdG9wIHN0b3JlXHJcbiAqIEBwYXJhbSBkaXJlY3Rpb24gYXNjIC8gZGVzYyBzb3J0IG9yZGVyXHJcbiAqIEBwYXJhbSBmaWVsZCB0aGUgZmllbGQgdG8gdXNlIHRvIHNvcnQgdGhlIHZpZXdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTdG9yZVNvcnRpbmcoXHJcbiAgc3RvcHNTdG9yZTogU3RvcHNTdG9yZSxcclxuICBkaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYycsXHJcbiAgZmllbGQgPSAncG9zaXRpb24nXHJcbikge1xyXG4gIHN0b3BzU3RvcmUudmlldy5zb3J0KHtcclxuICAgIGRpcmVjdGlvbixcclxuICAgIHZhbHVlQWNjZXNzb3I6IChlbnRpdHk6IFN0b3ApID0+IGVudGl0eVtmaWVsZF1cclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uKFxyXG4gIGluZGV4OiBudW1iZXIsXHJcbiAgdG90YWxMZW5ndGhcclxuKTogRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUge1xyXG4gIGxldCByZWxhdGl2ZVBvc2l0aW9uID0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuSW50ZXJtZWRpYXRlO1xyXG4gIGlmIChpbmRleCA9PT0gMCkge1xyXG4gICAgcmVsYXRpdmVQb3NpdGlvbiA9IERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlLlN0YXJ0O1xyXG4gIH0gZWxzZSBpZiAoaW5kZXggPT09IHRvdGFsTGVuZ3RoIC0gMSkge1xyXG4gICAgcmVsYXRpdmVQb3NpdGlvbiA9IERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlLkVuZDtcclxuICB9XHJcbiAgcmV0dXJuIHJlbGF0aXZlUG9zaXRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlU3RvcHNQb3NpdGlvbihzdG9wc1N0b3JlOiBTdG9wc1N0b3JlKSB7XHJcbiAgY29uc3Qgc3RvcHNUb0NvbXB1dGVQb3NpdGlvbiA9IFsuLi5zdG9wc1N0b3JlLmFsbCgpXTtcclxuICBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb24gLSBiLnBvc2l0aW9uKTtcclxuICBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLm1hcCgoc3RvcCwgaSkgPT4ge1xyXG4gICAgc3RvcC5wb3NpdGlvbiA9IGk7XHJcbiAgICBzdG9wLnJlbGF0aXZlUG9zaXRpb24gPSBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbihcclxuICAgICAgc3RvcC5wb3NpdGlvbixcclxuICAgICAgc3RvcHNUb0NvbXB1dGVQb3NpdGlvbi5sZW5ndGhcclxuICAgICk7XHJcbiAgfSk7XHJcbiAgaWYgKHN0b3BzVG9Db21wdXRlUG9zaXRpb24pIHtcclxuICAgIHN0b3BzU3RvcmUudXBkYXRlTWFueShzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGFkZCBhIHN0b3AgdG8gdGhlIHN0b3Agc3RvcmUuIFN0b3AgYXJlIGFsd2F5cyBhZGRlZCBiZWZvcmUgdGhlIGxhc3Qgc3RvcC5cclxuICogQHBhcmFtIHN0b3BzU3RvcmUgc3RvcCBzdG9yZSBhcyBhbiBFbnRpdHlTdG9yZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZFN0b3BUb1N0b3JlKHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUpOiBTdG9wIHtcclxuICBjb25zdCBpZCA9IHV1aWQoKTtcclxuICBjb25zdCBzdG9wcyA9IHN0b3BzU3RvcmUuYWxsKCk7XHJcbiAgbGV0IHBvc2l0aW9uczogbnVtYmVyW107XHJcbiAgaWYgKHN0b3BzU3RvcmUuY291bnQgPT09IDApIHtcclxuICAgIHBvc2l0aW9ucyA9IFswXTtcclxuICB9IGVsc2Uge1xyXG4gICAgcG9zaXRpb25zID0gc3RvcHMubWFwKChzdG9wKSA9PiBzdG9wLnBvc2l0aW9uKTtcclxuICB9XHJcbiAgY29uc3QgbWF4UG9zaXRpb246IG51bWJlciA9IE1hdGgubWF4KC4uLnBvc2l0aW9ucyk7XHJcbiAgY29uc3QgaW5zZXJ0UG9zaXRpb246IG51bWJlciA9IG1heFBvc2l0aW9uO1xyXG4gIGNvbnN0IGxhc3RQb3NpdGlvbjogbnVtYmVyID0gbWF4UG9zaXRpb24gKyAxO1xyXG5cclxuICBjb25zdCBzdG9wVG9VcGRhdGUgPSBzdG9wc1N0b3JlXHJcbiAgICAuYWxsKClcclxuICAgIC5maW5kKChzdG9wKSA9PiBzdG9wLnBvc2l0aW9uID09PSBtYXhQb3NpdGlvbik7XHJcbiAgaWYgKHN0b3BUb1VwZGF0ZSkge1xyXG4gICAgc3RvcFRvVXBkYXRlLnBvc2l0aW9uID0gbGFzdFBvc2l0aW9uO1xyXG4gICAgc3RvcFRvVXBkYXRlLnJlbGF0aXZlUG9zaXRpb24gPSBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbihcclxuICAgICAgbGFzdFBvc2l0aW9uLFxyXG4gICAgICBzdG9wc1N0b3JlLmNvdW50ICsgMVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHN0b3BzU3RvcmUuaW5zZXJ0KHtcclxuICAgIGlkLFxyXG4gICAgcG9zaXRpb246IGluc2VydFBvc2l0aW9uLFxyXG4gICAgcmVsYXRpdmVQb3NpdGlvbjogY29tcHV0ZVJlbGF0aXZlUG9zaXRpb24oXHJcbiAgICAgIGluc2VydFBvc2l0aW9uLFxyXG4gICAgICBzdG9wc1N0b3JlLmNvdW50ICsgMVxyXG4gICAgKVxyXG4gIH0pO1xyXG5cclxuICB1cGRhdGVTdG9yZVNvcnRpbmcoc3RvcHNTdG9yZSk7XHJcbiAgcmV0dXJuIHN0b3BzU3RvcmUuZ2V0KGlkKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN0b3BGcm9tU3RvcmUoc3RvcHNTdG9yZTogU3RvcHNTdG9yZSwgc3RvcDogU3RvcCkge1xyXG4gIHN0b3BzU3RvcmUuZGVsZXRlKHN0b3ApO1xyXG4gIGNvbXB1dGVTdG9wc1Bvc2l0aW9uKHN0b3BzU3RvcmUpO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGEgc3R5bGUgZm9yIHRoZSBkaXJlY3Rpb25zIHN0b3BzIGFuZCByb3V0ZXNcclxuICogQHBhcmFtIGZlYXR1cmUgT2xGZWF0dXJlXHJcbiAqIEByZXR1cm5zIE9MIHN0eWxlIGZ1bmN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aW9uc1N0eWxlKFxyXG4gIGZlYXR1cmU6IG9sRmVhdHVyZTxPbEdlb21ldHJ5PixcclxuICByZXNvbHV0aW9uOiBudW1iZXJcclxuKTogb2xTdHlsZS5TdHlsZSB8IG9sU3R5bGUuU3R5bGVbXSB7XHJcbiAgY29uc3QgdmVydGV4U3R5bGUgPSBbXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIGdlb21ldHJ5OiBmZWF0dXJlLmdldEdlb21ldHJ5KCksXHJcbiAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgIHJhZGl1czogNyxcclxuICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7IGNvbG9yOiAnI0ZGMDAwMCcsIHdpZHRoOiAzIH0pXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIF07XHJcblxyXG4gIGNvbnN0IHN0b3BTdHlsZSA9IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSh7XHJcbiAgICB0ZXh0OiBmZWF0dXJlLmdldCgnc3RvcFRleHQnKSxcclxuICAgIG9wYWNpdHk6IGZlYXR1cmUuZ2V0KCdzdG9wT3BhY2l0eScpLFxyXG4gICAgbWFya2VyQ29sb3I6IGZlYXR1cmUuZ2V0KCdzdG9wQ29sb3InKSxcclxuICAgIG1hcmtlck91dGxpbmVDb2xvcjogWzI1NSwgMjU1LCAyNTVdXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHJvdXRlU3R5bGUgPSBbXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICBjb2xvcjogYHJnYmEoMTA2LCAxMjEsIDEzMCwgJHtmZWF0dXJlLmdldCgnYWN0aXZlJykgPyAwLjc1IDogMH0pYCxcclxuICAgICAgICB3aWR0aDogMTBcclxuICAgICAgfSlcclxuICAgIH0pLFxyXG4gICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgY29sb3I6IGByZ2JhKDc5LCAxNjksIDIyMSwgJHtmZWF0dXJlLmdldCgnYWN0aXZlJykgPyAwLjc1IDogMH0pYCxcclxuICAgICAgICB3aWR0aDogNlxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICBdO1xyXG5cclxuICBpZiAoZmVhdHVyZS5nZXQoJ3R5cGUnKSA9PT0gRGlyZWN0aW9uVHlwZS5TdG9wKSB7XHJcbiAgICByZXR1cm4gc3RvcFN0eWxlO1xyXG4gIH1cclxuICBpZiAoZmVhdHVyZS5nZXQoJ3R5cGUnKSA9PT0gJ3ZlcnRleCcpIHtcclxuICAgIHJldHVybiB2ZXJ0ZXhTdHlsZTtcclxuICB9XHJcbiAgaWYgKGZlYXR1cmUuZ2V0KCd0eXBlJykgPT09IERpcmVjdGlvblR5cGUuUm91dGUpIHtcclxuICAgIHJldHVybiByb3V0ZVN0eWxlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRTdG9wc0ZlYXR1cmVTdG9yZShcclxuICBzdG9wc0ZlYXR1cmVTdG9yZTogU3RvcHNGZWF0dXJlU3RvcmUsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSh7XHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCBzdG9wc0xheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIGlkOiAnaWdvLWRpcmVjdGlvbi1zdG9wcy1sYXllcicsXHJcbiAgICB0aXRsZTogbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5zdG9wTGF5ZXInXHJcbiAgICApLFxyXG4gICAgekluZGV4OiA5MTEsXHJcbiAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpLFxyXG4gICAgc2hvd0luTGF5ZXJMaXN0OiB0cnVlLFxyXG4gICAgd29ya3NwYWNlOiB7XHJcbiAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICB9LFxyXG4gICAgbGlua2VkTGF5ZXJzOiB7XHJcbiAgICAgIGxpbmtJZDogJ2lnby1kaXJlY3Rpb24tc3RvcHMtbGF5ZXInLFxyXG4gICAgICBsaW5rczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcclxuICAgICAgICAgIGxpbmtlZElkczogWydpZ28tZGlyZWN0aW9uLXJvdXRlLWxheWVyJ10sXHJcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgIGV4cG9ydGFibGU6IHRydWUsXHJcbiAgICBicm93c2FibGU6IGZhbHNlLFxyXG4gICAgc3R5bGU6IGRpcmVjdGlvbnNTdHlsZVxyXG4gIH0pO1xyXG4gIHRyeUJpbmRTdG9yZUxheWVyKHN0b3BzRmVhdHVyZVN0b3JlLCBzdG9wc0xheWVyKTtcclxuICBzdG9wc0ZlYXR1cmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3koc3RvcHNGZWF0dXJlU3RvcmUsIGxvYWRpbmdTdHJhdGVneSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0Um91dGVzRmVhdHVyZVN0b3JlKFxyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZTogUm91dGVzRmVhdHVyZVN0b3JlLFxyXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXHJcbikge1xyXG4gIGNvbnN0IGxvYWRpbmdTdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3koe1xyXG4gICAgbW90aW9uOiBGZWF0dXJlTW90aW9uLk5vbmVcclxuICB9KTtcclxuXHJcbiAgY29uc3Qgcm91dGVMYXllciA9IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICBpc0lnb0ludGVybmFsTGF5ZXI6IHRydWUsXHJcbiAgICBpZDogJ2lnby1kaXJlY3Rpb24tcm91dGUtbGF5ZXInLFxyXG4gICAgdGl0bGU6IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0ucm91dGVMYXllcidcclxuICAgICksXHJcbiAgICB6SW5kZXg6IDkxMCxcclxuICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXHJcbiAgICBzaG93SW5MYXllckxpc3Q6IHRydWUsXHJcbiAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgZW5hYmxlZDogZmFsc2VcclxuICAgIH0sXHJcbiAgICBsaW5rZWRMYXllcnM6IHtcclxuICAgICAgbGlua0lkOiAnaWdvLWRpcmVjdGlvbi1yb3V0ZS1sYXllcidcclxuICAgIH0sXHJcbiAgICBleHBvcnRhYmxlOiB0cnVlLFxyXG4gICAgYnJvd3NhYmxlOiBmYWxzZSxcclxuICAgIHN0eWxlOiBkaXJlY3Rpb25zU3R5bGVcclxuICB9KTtcclxuICB0cnlCaW5kU3RvcmVMYXllcihyb3V0ZXNGZWF0dXJlU3RvcmUsIHJvdXRlTGF5ZXIpO1xyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3kocm91dGVzRmVhdHVyZVN0b3JlLCBsb2FkaW5nU3RyYXRlZ3kpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdFN0ZXBGZWF0dXJlU3RvcmUoc3RlcEZlYXR1cmVTdG9yZTogU3RlcEZlYXR1cmVTdG9yZSkge1xyXG4gIGNvbnN0IGxvYWRpbmdTdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3koe1xyXG4gICAgbW90aW9uOiBGZWF0dXJlTW90aW9uLk5vbmVcclxuICB9KTtcclxuXHJcbiAgY29uc3Qgc3RlcExheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIGlkOiAnaWdvLWRpcmVjdGlvbi1zdGVwLWxheWVyJyxcclxuICAgIHRpdGxlOiAnJyxcclxuICAgIHpJbmRleDogOTEwLFxyXG4gICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKSxcclxuICAgIHNob3dJbkxheWVyTGlzdDogZmFsc2UsXHJcbiAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgZW5hYmxlZDogZmFsc2VcclxuICAgIH0sXHJcbiAgICBsaW5rZWRMYXllcnM6IHtcclxuICAgICAgbGlua0lkOiAnaWdvLWRpcmVjdGlvbi1yb3V0ZS1sYXllcidcclxuICAgIH0sXHJcbiAgICBleHBvcnRhYmxlOiBmYWxzZSxcclxuICAgIGJyb3dzYWJsZTogZmFsc2UsXHJcbiAgICBzdHlsZTogZGlyZWN0aW9uc1N0eWxlXHJcbiAgfSk7XHJcbiAgdHJ5QmluZFN0b3JlTGF5ZXIoc3RlcEZlYXR1cmVTdG9yZSwgc3RlcExheWVyKTtcclxuICBzdGVwRmVhdHVyZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneShzdGVwRmVhdHVyZVN0b3JlLCBsb2FkaW5nU3RyYXRlZ3kpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRkU3RvcFRvU3RvcHNGZWF0dXJlU3RvcmUoXHJcbiAgc3RvcDogU3RvcCxcclxuICBzdG9wc1N0b3JlOiBTdG9wc1N0b3JlLFxyXG4gIHN0b3BzRmVhdHVyZVN0b3JlOiBTdG9wc0ZlYXR1cmVTdG9yZSxcclxuICBwcm9qZWN0aW9uOiBzdHJpbmcsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgbGV0IHN0b3BDb2xvcjtcclxuICBsZXQgc3RvcFRleHQ7XHJcblxyXG4gIHN3aXRjaCAoc3RvcC5yZWxhdGl2ZVBvc2l0aW9uKSB7XHJcbiAgICBjYXNlIERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlLlN0YXJ0OlxyXG4gICAgICBzdG9wQ29sb3IgPSAnIzAwODAwMCc7XHJcbiAgICAgIHN0b3BUZXh0ID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLnN0YXJ0J1xyXG4gICAgICApO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuRW5kOlxyXG4gICAgICBzdG9wQ29sb3IgPSAnI2Y2NDEzOSc7XHJcbiAgICAgIHN0b3BUZXh0ID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmVuZCdcclxuICAgICAgKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICBzdG9wQ29sb3IgPSAnI2ZmZDcwMCc7XHJcbiAgICAgIHN0b3BUZXh0ID1cclxuICAgICAgICBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5pbnRlcm1lZGlhdGUnXHJcbiAgICAgICAgKSArXHJcbiAgICAgICAgJyAjJyArXHJcbiAgICAgICAgc3RvcC5wb3NpdGlvbjtcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG5cclxuICBjb25zdCBnZW9tZXRyeSA9IG5ldyBvbEdlb20uUG9pbnQoXHJcbiAgICBvbFByb2oudHJhbnNmb3JtKFxyXG4gICAgICBzdG9wLmNvb3JkaW5hdGVzLFxyXG4gICAgICBwcm9qZWN0aW9uLFxyXG4gICAgICBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvblxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGNvbnN0IGdlb2pzb25HZW9tID0gbmV3IE9sR2VvSlNPTigpLndyaXRlR2VvbWV0cnlPYmplY3QoZ2VvbWV0cnksIHtcclxuICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIGRhdGFQcm9qZWN0aW9uOiBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvblxyXG4gIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgY29uc3QgcHJldmlvdXNTdG9wID0gc3RvcHNGZWF0dXJlU3RvcmUuZ2V0KHN0b3AuaWQpO1xyXG4gIGNvbnN0IHByZXZpb3VzU3RvcFJldmlzaW9uID0gcHJldmlvdXNTdG9wID8gcHJldmlvdXNTdG9wLm1ldGEucmV2aXNpb24gOiAwO1xyXG5cclxuICBjb25zdCBzdG9wRmVhdHVyZVN0b3JlOiBGZWF0dXJlV2l0aFN0b3AgPSB7XHJcbiAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgZ2VvbWV0cnk6IGdlb2pzb25HZW9tLFxyXG4gICAgcHJvamVjdGlvbjogc3RvcHNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb24sXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgIGlkOiBzdG9wLmlkLFxyXG4gICAgICB0eXBlOiBEaXJlY3Rpb25UeXBlLlN0b3AsXHJcbiAgICAgIHN0b3BUZXh0LFxyXG4gICAgICBzdG9wQ29sb3IsXHJcbiAgICAgIHN0b3BPcGFjaXR5OiAxLFxyXG4gICAgICBzdG9wXHJcbiAgICB9LFxyXG4gICAgbWV0YToge1xyXG4gICAgICBpZDogc3RvcC5pZCxcclxuICAgICAgcmV2aXNpb246IHByZXZpb3VzU3RvcFJldmlzaW9uICsgMVxyXG4gICAgfSxcclxuICAgIG9sOiBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSlcclxuICB9O1xyXG4gIHN0b3BzRmVhdHVyZVN0b3JlLnVwZGF0ZShzdG9wRmVhdHVyZVN0b3JlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZERpcmVjdGlvblRvUm91dGVzRmVhdHVyZVN0b3JlKFxyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZTogUm91dGVzRmVhdHVyZVN0b3JlLFxyXG4gIGRpcmVjdGlvbjogRGlyZWN0aW9uLFxyXG4gIHByb2plY3Rpb246IHN0cmluZyxcclxuICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZSxcclxuICBtb3ZlVG9FeHRlbnQgPSBmYWxzZVxyXG4pIHtcclxuICBjb25zdCBnZW9tID0gZGlyZWN0aW9uLmdlb21ldHJ5LmNvb3JkaW5hdGVzO1xyXG4gIGNvbnN0IGdlb21ldHJ5NDMyNiA9IG5ldyBvbEdlb20uTGluZVN0cmluZyhnZW9tKTtcclxuICBjb25zdCBnZW9tZXRyeSA9IGdlb21ldHJ5NDMyNi50cmFuc2Zvcm0oXHJcbiAgICBwcm9qZWN0aW9uLFxyXG4gICAgcm91dGVzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgZ2VvanNvbkdlb20gPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tZXRyeSwge1xyXG4gICAgZmVhdHVyZVByb2plY3Rpb246IHJvdXRlc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIGRhdGFQcm9qZWN0aW9uOiByb3V0ZXNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb25cclxuICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XHJcblxyXG4gIGNvbnN0IHByZXZpb3VzUm91dGUgPSByb3V0ZXNGZWF0dXJlU3RvcmUuZ2V0KGRpcmVjdGlvbi5pZCk7XHJcbiAgY29uc3QgcHJldmlvdXNSb3V0ZVJldmlzaW9uID0gcHJldmlvdXNSb3V0ZSA/IHByZXZpb3VzUm91dGUubWV0YS5yZXZpc2lvbiA6IDA7XHJcblxyXG4gIGNvbnN0IHJvdXRlRmVhdHVyZVN0b3JlOiBGZWF0dXJlV2l0aERpcmVjdGlvbiA9IHtcclxuICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICBnZW9tZXRyeTogZ2VvanNvbkdlb20sXHJcbiAgICBwcm9qZWN0aW9uOiByb3V0ZXNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb24sXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgIGlkOiBkaXJlY3Rpb24uaWQsXHJcbiAgICAgIHR5cGU6IERpcmVjdGlvblR5cGUuUm91dGUsXHJcbiAgICAgIGFjdGl2ZSxcclxuICAgICAgZGlyZWN0aW9uXHJcbiAgICB9LFxyXG4gICAgbWV0YToge1xyXG4gICAgICBpZDogZGlyZWN0aW9uLmlkLFxyXG4gICAgICByZXZpc2lvbjogcHJldmlvdXNSb3V0ZVJldmlzaW9uICsgMVxyXG4gICAgfSxcclxuICAgIG9sOiBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSlcclxuICB9O1xyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZS51cGRhdGUocm91dGVGZWF0dXJlU3RvcmUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2U6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgaWYgKGRpc3RhbmNlID09PSAwKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGlmIChkaXN0YW5jZSA+PSAxMDAwMDApIHtcclxuICAgIHJldHVybiBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoTWF0aC5yb3VuZChkaXN0YW5jZSkgLyAxMDAwLCAxKSArICcga20nO1xyXG4gIH1cclxuICBpZiAoZGlzdGFuY2UgPj0gMTAwMDApIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIE51bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChNYXRoLnJvdW5kKGRpc3RhbmNlKSAvIDEwMCAvIDEwLCAxKSArICcga20nXHJcbiAgICApO1xyXG4gIH1cclxuICBpZiAoZGlzdGFuY2UgPj0gMTAwMCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgTnVtYmVyVXRpbHMucm91bmRUb05EZWNpbWFsKE1hdGgucm91bmQoZGlzdGFuY2UpIC8gMTAwIC8gMTAsIDEpICsgJyBrbSdcclxuICAgICk7XHJcbiAgfVxyXG4gIHJldHVybiBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoZGlzdGFuY2UsIDApICsgJyBtJztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gIGlmIChkdXJhdGlvbiA+PSAzNjAwKSB7XHJcbiAgICBjb25zdCBob3VyID0gTWF0aC5mbG9vcihkdXJhdGlvbiAvIDM2MDApO1xyXG4gICAgY29uc3QgbWludXRlID0gTWF0aC5yb3VuZCgoZHVyYXRpb24gLyAzNjAwIC0gaG91cikgKiA2MCk7XHJcbiAgICBpZiAobWludXRlID09PSA2MCkge1xyXG4gICAgICByZXR1cm4gaG91ciArIDEgKyAnIGgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhvdXIgKyAnIGggJyArIG1pbnV0ZSArICcgbWluJztcclxuICB9XHJcblxyXG4gIGlmIChkdXJhdGlvbiA+PSA2MCkge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoZHVyYXRpb24gLyA2MCkgKyAnIG1pbic7XHJcbiAgfVxyXG4gIHJldHVybiBkdXJhdGlvbiArICcgcyc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRJbnN0cnVjdGlvbihcclxuICB0eXBlLFxyXG4gIG1vZGlmaWVyLFxyXG4gIHJvdXRlLFxyXG4gIGRpcmVjdGlvbixcclxuICBzdGVwUG9zaXRpb24sXHJcbiAgZXhpdCxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICBsYXN0U3RlcCA9IGZhbHNlXHJcbikge1xyXG4gIGNvbnN0IHRyYW5zbGF0ZSA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XHJcbiAgbGV0IGRpcmVjdGl2ZTtcclxuICBsZXQgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgbGV0IGNzc0NsYXNzID0gJ3JvdGF0ZS0yNzAnO1xyXG4gIGNvbnN0IHRyYW5zbGF0ZWREaXJlY3Rpb24gPSB0cmFuc2xhdGVCZWFyaW5nKGRpcmVjdGlvbiwgbGFuZ3VhZ2VTZXJ2aWNlKTtcclxuICBjb25zdCB0cmFuc2xhdGVkTW9kaWZpZXIgPSB0cmFuc2xhdGVNb2RpZmllcihtb2RpZmllciwgbGFuZ3VhZ2VTZXJ2aWNlKTtcclxuICBjb25zdCBwcmVmaXggPVxyXG4gICAgbW9kaWZpZXIgPT09ICdzdHJhaWdodCdcclxuICAgICAgPyAnJ1xyXG4gICAgICA6IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubW9kaWZpZXIucHJlZml4Jyk7XHJcblxyXG4gIGxldCBhZ2dyZWdhdGVkRGlyZWN0aW9uID0gcHJlZml4ICsgdHJhbnNsYXRlZE1vZGlmaWVyO1xyXG5cclxuICBpZiAobW9kaWZpZXI/LnNlYXJjaCgnc2xpZ2h0JykgPj0gMCkge1xyXG4gICAgYWdncmVnYXRlZERpcmVjdGlvbiA9IHRyYW5zbGF0ZWRNb2RpZmllcjtcclxuICB9XHJcblxyXG4gIGlmIChtb2RpZmllciA9PT0gJ3V0dXJuJykge1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtOTAnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzaGFycCByaWdodCcpIHtcclxuICAgIGltYWdlID0gJ3N1YmRpcmVjdG9yeS1hcnJvdy1yaWdodCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdyaWdodCcpIHtcclxuICAgIGltYWdlID0gJ3N1YmRpcmVjdG9yeS1hcnJvdy1yaWdodCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzbGlnaHQgcmlnaHQnKSB7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS0yOTAnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzdHJhaWdodCcpIHtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzbGlnaHQgbGVmdCcpIHtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI1MCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ2xlZnQnKSB7XHJcbiAgICBpbWFnZSA9ICdzdWJkaXJlY3RvcnktYXJyb3ctbGVmdCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzaGFycCBsZWZ0Jykge1xyXG4gICAgaW1hZ2UgPSAnc3ViZGlyZWN0b3J5LWFycm93LWxlZnQnO1xyXG4gICAgY3NzQ2xhc3MgPSAnaWNvbi1mbGlwcGVkJztcclxuICB9XHJcblxyXG4gIGlmICh0eXBlID09PSAndHVybicpIHtcclxuICAgIGlmIChtb2RpZmllciA9PT0gJ3N0cmFpZ2h0Jykge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnR1cm4uc3RyYWlnaHQnLCB7XHJcbiAgICAgICAgcm91dGVcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAndXR1cm4nKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudHVybi51dHVybicsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnR1cm4uZWxzZScsIHtcclxuICAgICAgICByb3V0ZSxcclxuICAgICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uLFxyXG4gICAgICAgIHRyYW5zbGF0ZWRNb2RpZmllclxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICduZXcgbmFtZScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubmV3IG5hbWUnLCB7XHJcbiAgICAgIHJvdXRlLFxyXG4gICAgICB0cmFuc2xhdGVkRGlyZWN0aW9uXHJcbiAgICB9KTtcclxuICAgIGltYWdlID0gJ2NvbXBhc3MnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkZXBhcnQnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmRlcGFydCcsIHtcclxuICAgICAgcm91dGUsXHJcbiAgICAgIHRyYW5zbGF0ZWREaXJlY3Rpb25cclxuICAgIH0pO1xyXG4gICAgaW1hZ2UgPSAnY29tcGFzcyc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Fycml2ZScpIHtcclxuICAgIGlmIChsYXN0U3RlcCkge1xyXG4gICAgICBjb25zdCBjb21hID0gIXRyYW5zbGF0ZWRNb2RpZmllciA/ICcnIDogJywgJztcclxuICAgICAgYWdncmVnYXRlZERpcmVjdGlvbiA9ICF0cmFuc2xhdGVkTW9kaWZpZXIgPyAnJyA6IGFnZ3JlZ2F0ZWREaXJlY3Rpb247XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuYXJyaXZlLmxhc3RTdGVwJywge1xyXG4gICAgICAgIGNvbWEsXHJcbiAgICAgICAgYWdncmVnYXRlZERpcmVjdGlvblxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuYXJyaXZlLmludGVybWVkaWF0ZScsIHtcclxuICAgICAgICByb3V0ZVxyXG4gICAgICB9KTtcclxuICAgICAgaW1hZ2UgPSAnbWFwLW1hcmtlcic7XHJcbiAgICAgIGNzc0NsYXNzID0gJyc7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnbWVyZ2UnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm1lcmdlJywgeyByb3V0ZSB9KTtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI3MCc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnb24gcmFtcCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMub24gcmFtcCcsIHtcclxuICAgICAgYWdncmVnYXRlZERpcmVjdGlvblxyXG4gICAgfSk7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnb2ZmIHJhbXAnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm9mZiByYW1wJywge1xyXG4gICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uXHJcbiAgICB9KTtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmb3JrJykge1xyXG4gICAgaWYgKG1vZGlmaWVyLnNlYXJjaCgnbGVmdCcpID49IDApIHtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5mb3JrLmxlZnQnLCB7IHJvdXRlIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtb2RpZmllci5zZWFyY2goJ3JpZ2h0JykgPj0gMCkge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmZvcmsucmlnaHQnLCB7IHJvdXRlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5mb3JrLmVsc2UnLCB7IHJvdXRlIH0pO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2VuZCBvZiByb2FkJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5lbmQgb2Ygcm9hZCcsIHtcclxuICAgICAgdHJhbnNsYXRlZE1vZGlmaWVyLFxyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAndXNlIGxhbmUnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnVzZSBsYW5lJyk7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnY29udGludWUnICYmIG1vZGlmaWVyICE9PSAndXR1cm4nKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmNvbnRpbnVlLm5vdFV0dXJuJywge1xyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS0yNzAnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JvdW5kYWJvdXQnKSB7XHJcbiAgICBjb25zdCBjbnRTdWZmaXggPVxyXG4gICAgICBleGl0ID09PSAxXHJcbiAgICAgICAgPyB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmNudFN1ZmZpeC5maXJzdCcpXHJcbiAgICAgICAgOiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmNudFN1ZmZpeC5zZWNvbmRBbmRNb3JlJyk7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJvdW5kYWJvdXQnLCB7XHJcbiAgICAgIGV4aXQsXHJcbiAgICAgIGNudFN1ZmZpeCxcclxuICAgICAgcm91dGVcclxuICAgIH0pO1xyXG4gICAgaW1hZ2UgPSAnY2hhcnQtZG9udXQnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdyb3RhcnknKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJvdGFyeScpO1xyXG4gICAgaW1hZ2UgPSAnY2hhcnQtZG9udXQnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdyb3VuZGFib3V0IHR1cm4nKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJvdW5kYWJvdXQgdHVybicpO1xyXG4gICAgaW1hZ2UgPSAnY2hhcnQtZG9udXQnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdleGl0IHJvdW5kYWJvdXQnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmV4aXQgcm91bmRhYm91dCcsIHtcclxuICAgICAgcm91dGVcclxuICAgIH0pO1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtMjcwJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdub3RpZmljYXRpb24nKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm5vdGlmaWNhdGlvbicpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICd1dHVybicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudXR1cm5UZXh0Jywge1xyXG4gICAgICB0cmFuc2xhdGVkRGlyZWN0aW9uLFxyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudW5rbm93bicpO1xyXG4gIH1cclxuXHJcbiAgaW1hZ2UgPSBsYXN0U3RlcCA/ICdmbGFnLXZhcmlhbnQnIDogaW1hZ2U7XHJcbiAgY3NzQ2xhc3MgPSBsYXN0U3RlcCA/ICcnIDogY3NzQ2xhc3M7XHJcbiAgaW1hZ2UgPSBzdGVwUG9zaXRpb24gPT09IDAgPyAnY29tcGFzcycgOiBpbWFnZTtcclxuICBjc3NDbGFzcyA9IHN0ZXBQb3NpdGlvbiA9PT0gMCA/ICcnIDogY3NzQ2xhc3M7XHJcblxyXG4gIHJldHVybiB7IGluc3RydWN0aW9uOiBkaXJlY3RpdmUsIGltYWdlLCBjc3NDbGFzcyB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlTW9kaWZpZXIobW9kaWZpZXIsIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBpZiAobW9kaWZpZXIgPT09ICd1dHVybicpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnV0dXJuJyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NoYXJwIHJpZ2h0Jykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuc2hhcnAgcmlnaHQnKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAncmlnaHQnKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5yaWdodCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzbGlnaHQgcmlnaHQnKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zbGlnaHQgcmlnaHQnKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnc2hhcnAgbGVmdCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zaGFycCBsZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ2xlZnQnKSB7XHJcbiAgICByZXR1cm4gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubGVmdCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzbGlnaHQgbGVmdCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zbGlnaHQgbGVmdCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzdHJhaWdodCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zdHJhaWdodCcpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gbW9kaWZpZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlQmVhcmluZyhcclxuICBiZWFyaW5nOiBudW1iZXIsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBpZiAoYmVhcmluZyA+PSAzMzcgfHwgYmVhcmluZyA8IDIzKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMubicpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDY3KSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMubmUnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAxMTMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5lJyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgMTU3KSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMuc2UnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAyMDMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5zJyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgMjQ3KSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMuc3cnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAyOTMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy53Jyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgMzM3KSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMubncnKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
559
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsYUFBYSxFQUNkLE1BQU0sbUJBQW1CLENBQUM7QUFjM0I7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFVBQXNCLEVBQ3RCLFlBQTRCLEtBQUssRUFDakMsS0FBSyxHQUFHLFVBQVU7SUFFbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIs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T0FBTztJQUNULENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XHJcbmltcG9ydCB7IE51bWJlclV0aWxzLCB1dWlkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IE9sR2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XHJcbmltcG9ydCAqIGFzIG9sR2VvbSBmcm9tICdvbC9nZW9tJztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0ICogYXMgb2xQcm9qIGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgKiBhcyBvbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlJztcclxuaW1wb3J0IHsgdHJ5QmluZFN0b3JlTGF5ZXIgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLXN0b3JlLnV0aWxzJztcclxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyB0cnlBZGRMb2FkaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzLnV0aWxzJztcclxuaW1wb3J0IHsgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvc3RyYXRlZ2llcy9sb2FkaW5nJztcclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XHJcbmltcG9ydCB7IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSB9IGZyb20gJy4uLy4uL3N0eWxlL3NoYXJlZC9vdmVybGF5L292ZXJsYXktbWFya2VyLXN0eWxlLnV0aWxzJztcclxuaW1wb3J0IHtcclxuICBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSxcclxuICBEaXJlY3Rpb25UeXBlXHJcbn0gZnJvbSAnLi9kaXJlY3Rpb25zLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIERpcmVjdGlvbixcclxuICBGZWF0dXJlV2l0aERpcmVjdGlvbixcclxuICBGZWF0dXJlV2l0aFN0b3AsXHJcbiAgU3RvcFxyXG59IGZyb20gJy4vZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1xyXG4gIFJvdXRlc0ZlYXR1cmVTdG9yZSxcclxuICBTdGVwRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzU3RvcmVcclxufSBmcm9tICcuL3N0b3JlJztcclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IHVwZGF0IHRoZSBzb3J0IG9mIHRoZSBsaXN0IGJhc2Ugb24gdGhlIHByb3ZpZGVkIGZpZWxkLlxyXG4gKiBAcGFyYW0gc291cmNlIHN0b3Agc3RvcmVcclxuICogQHBhcmFtIGRpcmVjdGlvbiBhc2MgLyBkZXNjIHNvcnQgb3JkZXJcclxuICogQHBhcmFtIGZpZWxkIHRoZSBmaWVsZCB0byB1c2UgdG8gc29ydCB0aGUgdmlld1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVN0b3JlU29ydGluZyhcclxuICBzdG9wc1N0b3JlOiBTdG9wc1N0b3JlLFxyXG4gIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJyxcclxuICBmaWVsZCA9ICdwb3NpdGlvbidcclxuKSB7XHJcbiAgc3RvcHNTdG9yZS52aWV3LnNvcnQoe1xyXG4gICAgZGlyZWN0aW9uLFxyXG4gICAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogU3RvcCkgPT4gZW50aXR5W2ZpZWxkXVxyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZVJlbGF0aXZlUG9zaXRpb24oXHJcbiAgaW5kZXg6IG51bWJlcixcclxuICB0b3RhbExlbmd0aFxyXG4pOiBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSB7XHJcbiAgbGV0IHJlbGF0aXZlUG9zaXRpb24gPSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZS5JbnRlcm1lZGlhdGU7XHJcbiAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICByZWxhdGl2ZVBvc2l0aW9uID0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuU3RhcnQ7XHJcbiAgfSBlbHNlIGlmIChpbmRleCA9PT0gdG90YWxMZW5ndGggLSAxKSB7XHJcbiAgICByZWxhdGl2ZVBvc2l0aW9uID0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuRW5kO1xyXG4gIH1cclxuICByZXR1cm4gcmVsYXRpdmVQb3NpdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVTdG9wc1Bvc2l0aW9uKHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUpIHtcclxuICBjb25zdCBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uID0gWy4uLnN0b3BzU3RvcmUuYWxsKCldO1xyXG4gIHN0b3BzVG9Db21wdXRlUG9zaXRpb24uc29ydCgoYSwgYikgPT4gYS5wb3NpdGlvbiAtIGIucG9zaXRpb24pO1xyXG4gIHN0b3BzVG9Db21wdXRlUG9zaXRpb24ubWFwKChzdG9wLCBpKSA9PiB7XHJcbiAgICBzdG9wLnBvc2l0aW9uID0gaTtcclxuICAgIHN0b3AucmVsYXRpdmVQb3NpdGlvbiA9IGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uKFxyXG4gICAgICBzdG9wLnBvc2l0aW9uLFxyXG4gICAgICBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLmxlbmd0aFxyXG4gICAgKTtcclxuICB9KTtcclxuICBpZiAoc3RvcHNUb0NvbXB1dGVQb3NpdGlvbikge1xyXG4gICAgc3RvcHNTdG9yZS51cGRhdGVNYW55KHN0b3BzVG9Db21wdXRlUG9zaXRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgYWRkIGEgc3RvcCB0byB0aGUgc3RvcCBzdG9yZS4gU3RvcCBhcmUgYWx3YXlzIGFkZGVkIGJlZm9yZSB0aGUgbGFzdCBzdG9wLlxyXG4gKiBAcGFyYW0gc3RvcHNTdG9yZSBzdG9wIHN0b3JlIGFzIGFuIEVudGl0eVN0b3JlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYWRkU3RvcFRvU3RvcmUoc3RvcHNTdG9yZTogU3RvcHNTdG9yZSk6IFN0b3Age1xyXG4gIGNvbnN0IGlkID0gdXVpZCgpO1xyXG4gIGNvbnN0IHN0b3BzID0gc3RvcHNTdG9yZS5hbGwoKTtcclxuICBsZXQgcG9zaXRpb25zOiBudW1iZXJbXTtcclxuICBpZiAoc3RvcHNTdG9yZS5jb3VudCA9PT0gMCkge1xyXG4gICAgcG9zaXRpb25zID0gWzBdO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBwb3NpdGlvbnMgPSBzdG9wcy5tYXAoKHN0b3ApID0+IHN0b3AucG9zaXRpb24pO1xyXG4gIH1cclxuICBjb25zdCBtYXhQb3NpdGlvbjogbnVtYmVyID0gTWF0aC5tYXgoLi4ucG9zaXRpb25zKTtcclxuICBjb25zdCBpbnNlcnRQb3NpdGlvbjogbnVtYmVyID0gbWF4UG9zaXRpb247XHJcbiAgY29uc3QgbGFzdFBvc2l0aW9uOiBudW1iZXIgPSBtYXhQb3NpdGlvbiArIDE7XHJcblxyXG4gIGNvbnN0IHN0b3BUb1VwZGF0ZSA9IHN0b3BzU3RvcmVcclxuICAgIC5hbGwoKVxyXG4gICAgLmZpbmQoKHN0b3ApID0+IHN0b3AucG9zaXRpb24gPT09IG1heFBvc2l0aW9uKTtcclxuICBpZiAoc3RvcFRvVXBkYXRlKSB7XHJcbiAgICBzdG9wVG9VcGRhdGUucG9zaXRpb24gPSBsYXN0UG9zaXRpb247XHJcbiAgICBzdG9wVG9VcGRhdGUucmVsYXRpdmVQb3NpdGlvbiA9IGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uKFxyXG4gICAgICBsYXN0UG9zaXRpb24sXHJcbiAgICAgIHN0b3BzU3RvcmUuY291bnQgKyAxXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc3RvcHNTdG9yZS5pbnNlcnQoe1xyXG4gICAgaWQsXHJcbiAgICBwb3NpdGlvbjogaW5zZXJ0UG9zaXRpb24sXHJcbiAgICByZWxhdGl2ZVBvc2l0aW9uOiBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbihcclxuICAgICAgaW5zZXJ0UG9zaXRpb24sXHJcbiAgICAgIHN0b3BzU3RvcmUuY291bnQgKyAxXHJcbiAgICApXHJcbiAgfSk7XHJcblxyXG4gIHVwZGF0ZVN0b3JlU29ydGluZyhzdG9wc1N0b3JlKTtcclxuICByZXR1cm4gc3RvcHNTdG9yZS5nZXQoaWQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlU3RvcEZyb21TdG9yZShzdG9wc1N0b3JlOiBTdG9wc1N0b3JlLCBzdG9wOiBTdG9wKSB7XHJcbiAgc3RvcHNTdG9yZS5kZWxldGUoc3RvcCk7XHJcbiAgY29tcHV0ZVN0b3BzUG9zaXRpb24oc3RvcHNTdG9yZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYSBzdHlsZSBmb3IgdGhlIGRpcmVjdGlvbnMgc3RvcHMgYW5kIHJvdXRlc1xyXG4gKiBAcGFyYW0gZmVhdHVyZSBPbEZlYXR1cmVcclxuICogQHJldHVybnMgT0wgc3R5bGUgZnVuY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkaXJlY3Rpb25zU3R5bGUoXHJcbiAgZmVhdHVyZTogb2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxyXG4gIHJlc29sdXRpb246IG51bWJlclxyXG4pOiBvbFN0eWxlLlN0eWxlIHwgb2xTdHlsZS5TdHlsZVtdIHtcclxuICBjb25zdCB2ZXJ0ZXhTdHlsZSA9IFtcclxuICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgZ2VvbWV0cnk6IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSxcclxuICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XHJcbiAgICAgICAgcmFkaXVzOiA3LFxyXG4gICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHsgY29sb3I6ICcjRkYwMDAwJywgd2lkdGg6IDMgfSlcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgXTtcclxuXHJcbiAgY29uc3Qgc3RvcFN0eWxlID0gY3JlYXRlT3ZlcmxheU1hcmtlclN0eWxlKHtcclxuICAgIHRleHQ6IGZlYXR1cmUuZ2V0KCdzdG9wVGV4dCcpLFxyXG4gICAgb3BhY2l0eTogZmVhdHVyZS5nZXQoJ3N0b3BPcGFjaXR5JyksXHJcbiAgICBtYXJrZXJDb2xvcjogZmVhdHVyZS5nZXQoJ3N0b3BDb2xvcicpLFxyXG4gICAgbWFya2VyT3V0bGluZUNvbG9yOiBbMjU1LCAyNTUsIDI1NV1cclxuICB9KTtcclxuXHJcbiAgY29uc3Qgcm91dGVTdHlsZSA9IFtcclxuICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgIGNvbG9yOiBgcmdiYSgxMDYsIDEyMSwgMTMwLCAke2ZlYXR1cmUuZ2V0KCdhY3RpdmUnKSA/IDAuNzUgOiAwfSlgLFxyXG4gICAgICAgIHdpZHRoOiAxMFxyXG4gICAgICB9KVxyXG4gICAgfSksXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICBjb2xvcjogYHJnYmEoNzksIDE2OSwgMjIxLCAke2ZlYXR1cmUuZ2V0KCdhY3RpdmUnKSA/IDAuNzUgOiAwfSlgLFxyXG4gICAgICAgIHdpZHRoOiA2XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIF07XHJcblxyXG4gIGlmIChmZWF0dXJlLmdldCgndHlwZScpID09PSBEaXJlY3Rpb25UeXBlLlN0b3ApIHtcclxuICAgIHJldHVybiBzdG9wU3R5bGU7XHJcbiAgfVxyXG4gIGlmIChmZWF0dXJlLmdldCgndHlwZScpID09PSAndmVydGV4Jykge1xyXG4gICAgcmV0dXJuIHZlcnRleFN0eWxlO1xyXG4gIH1cclxuICBpZiAoZmVhdHVyZS5nZXQoJ3R5cGUnKSA9PT0gRGlyZWN0aW9uVHlwZS5Sb3V0ZSkge1xyXG4gICAgcmV0dXJuIHJvdXRlU3R5bGU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdFN0b3BzRmVhdHVyZVN0b3JlKFxyXG4gIHN0b3BzRmVhdHVyZVN0b3JlOiBTdG9wc0ZlYXR1cmVTdG9yZSxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4pIHtcclxuICBjb25zdCBsb2FkaW5nU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5KHtcclxuICAgIG1vdGlvbjogRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHN0b3BzTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xyXG4gICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgaWQ6ICdpZ28tZGlyZWN0aW9uLXN0b3BzLWxheWVyJyxcclxuICAgIHRpdGxlOiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLnN0b3BMYXllcidcclxuICAgICksXHJcbiAgICB6SW5kZXg6IDkxMSxcclxuICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXHJcbiAgICBzaG93SW5MYXllckxpc3Q6IHRydWUsXHJcbiAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgZW5hYmxlZDogZmFsc2VcclxuICAgIH0sXHJcbiAgICBsaW5rZWRMYXllcnM6IHtcclxuICAgICAgbGlua0lkOiAnaWdvLWRpcmVjdGlvbi1zdG9wcy1sYXllcicsXHJcbiAgICAgIGxpbmtzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgc3luY2VkRGVsZXRlOiB0cnVlLFxyXG4gICAgICAgICAgbGlua2VkSWRzOiBbJ2lnby1kaXJlY3Rpb24tcm91dGUtbGF5ZXInXSxcclxuICAgICAgICAgIHByb3BlcnRpZXM6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgZXhwb3J0YWJsZTogdHJ1ZSxcclxuICAgIGJyb3dzYWJsZTogZmFsc2UsXHJcbiAgICBzdHlsZTogZGlyZWN0aW9uc1N0eWxlXHJcbiAgfSk7XHJcbiAgdHJ5QmluZFN0b3JlTGF5ZXIoc3RvcHNGZWF0dXJlU3RvcmUsIHN0b3BzTGF5ZXIpO1xyXG4gIHN0b3BzRmVhdHVyZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneShzdG9wc0ZlYXR1cmVTdG9yZSwgbG9hZGluZ1N0cmF0ZWd5KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRSb3V0ZXNGZWF0dXJlU3RvcmUoXHJcbiAgcm91dGVzRmVhdHVyZVN0b3JlOiBSb3V0ZXNGZWF0dXJlU3RvcmUsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSh7XHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCByb3V0ZUxheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIGlkOiAnaWdvLWRpcmVjdGlvbi1yb3V0ZS1sYXllcicsXHJcbiAgICB0aXRsZTogbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5yb3V0ZUxheWVyJ1xyXG4gICAgKSxcclxuICAgIHpJbmRleDogOTEwLFxyXG4gICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKSxcclxuICAgIHNob3dJbkxheWVyTGlzdDogdHJ1ZSxcclxuICAgIHdvcmtzcGFjZToge1xyXG4gICAgICBlbmFibGVkOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIGxpbmtlZExheWVyczoge1xyXG4gICAgICBsaW5rSWQ6ICdpZ28tZGlyZWN0aW9uLXJvdXRlLWxheWVyJ1xyXG4gICAgfSxcclxuICAgIGV4cG9ydGFibGU6IHRydWUsXHJcbiAgICBicm93c2FibGU6IGZhbHNlLFxyXG4gICAgc3R5bGU6IGRpcmVjdGlvbnNTdHlsZVxyXG4gIH0pO1xyXG4gIHRyeUJpbmRTdG9yZUxheWVyKHJvdXRlc0ZlYXR1cmVTdG9yZSwgcm91dGVMYXllcik7XHJcbiAgcm91dGVzRmVhdHVyZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneShyb3V0ZXNGZWF0dXJlU3RvcmUsIGxvYWRpbmdTdHJhdGVneSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0U3RlcEZlYXR1cmVTdG9yZShzdGVwRmVhdHVyZVN0b3JlOiBTdGVwRmVhdHVyZVN0b3JlKSB7XHJcbiAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSh7XHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCBzdGVwTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xyXG4gICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgaWQ6ICdpZ28tZGlyZWN0aW9uLXN0ZXAtbGF5ZXInLFxyXG4gICAgdGl0bGU6ICcnLFxyXG4gICAgekluZGV4OiA5MTAsXHJcbiAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpLFxyXG4gICAgc2hvd0luTGF5ZXJMaXN0OiBmYWxzZSxcclxuICAgIHdvcmtzcGFjZToge1xyXG4gICAgICBlbmFibGVkOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIGxpbmtlZExheWVyczoge1xyXG4gICAgICBsaW5rSWQ6ICdpZ28tZGlyZWN0aW9uLXJvdXRlLWxheWVyJ1xyXG4gICAgfSxcclxuICAgIGV4cG9ydGFibGU6IGZhbHNlLFxyXG4gICAgYnJvd3NhYmxlOiBmYWxzZSxcclxuICAgIHN0eWxlOiBkaXJlY3Rpb25zU3R5bGVcclxuICB9KTtcclxuICB0cnlCaW5kU3RvcmVMYXllcihzdGVwRmVhdHVyZVN0b3JlLCBzdGVwTGF5ZXIpO1xyXG4gIHN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIudmlzaWJsZSA9IHRydWU7XHJcbiAgdHJ5QWRkTG9hZGluZ1N0cmF0ZWd5KHN0ZXBGZWF0dXJlU3RvcmUsIGxvYWRpbmdTdHJhdGVneSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGRTdG9wVG9TdG9wc0ZlYXR1cmVTdG9yZShcclxuICBzdG9wOiBTdG9wLFxyXG4gIHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUsXHJcbiAgc3RvcHNGZWF0dXJlU3RvcmU6IFN0b3BzRmVhdHVyZVN0b3JlLFxyXG4gIHByb2plY3Rpb246IHN0cmluZyxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4pIHtcclxuICBsZXQgc3RvcENvbG9yO1xyXG4gIGxldCBzdG9wVGV4dDtcclxuXHJcbiAgc3dpdGNoIChzdG9wLnJlbGF0aXZlUG9zaXRpb24pIHtcclxuICAgIGNhc2UgRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuU3RhcnQ6XHJcbiAgICAgIHN0b3BDb2xvciA9ICcjMDA4MDAwJztcclxuICAgICAgc3RvcFRleHQgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uc3RhcnQnXHJcbiAgICAgICk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZS5FbmQ6XHJcbiAgICAgIHN0b3BDb2xvciA9ICcjZjY0MTM5JztcclxuICAgICAgc3RvcFRleHQgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uZW5kJ1xyXG4gICAgICApO1xyXG4gICAgICBicmVhaztcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHN0b3BDb2xvciA9ICcjZmZkNzAwJztcclxuICAgICAgc3RvcFRleHQgPVxyXG4gICAgICAgIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmludGVybWVkaWF0ZSdcclxuICAgICAgICApICtcclxuICAgICAgICAnICMnICtcclxuICAgICAgICBzdG9wLnBvc2l0aW9uO1xyXG4gICAgICBicmVhaztcclxuICB9XHJcblxyXG4gIGNvbnN0IGdlb21ldHJ5ID0gbmV3IG9sR2VvbS5Qb2ludChcclxuICAgIG9sUHJvai50cmFuc2Zvcm0oXHJcbiAgICAgIHN0b3AuY29vcmRpbmF0ZXMsXHJcbiAgICAgIHByb2plY3Rpb24sXHJcbiAgICAgIHN0b3BzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgZ2VvanNvbkdlb20gPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tZXRyeSwge1xyXG4gICAgZmVhdHVyZVByb2plY3Rpb246IHN0b3BzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uLFxyXG4gICAgZGF0YVByb2plY3Rpb246IHN0b3BzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uXHJcbiAgfSkgYXMgRmVhdHVyZUdlb21ldHJ5O1xyXG5cclxuICBjb25zdCBwcmV2aW91c1N0b3AgPSBzdG9wc0ZlYXR1cmVTdG9yZS5nZXQoc3RvcC5pZCk7XHJcbiAgY29uc3QgcHJldmlvdXNTdG9wUmV2aXNpb24gPSBwcmV2aW91c1N0b3AgPyBwcmV2aW91c1N0b3AubWV0YS5yZXZpc2lvbiA6IDA7XHJcblxyXG4gIGNvbnN0IHN0b3BGZWF0dXJlU3RvcmU6IEZlYXR1cmVXaXRoU3RvcCA9IHtcclxuICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICBnZW9tZXRyeTogZ2VvanNvbkdlb20sXHJcbiAgICBwcm9qZWN0aW9uOiBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgaWQ6IHN0b3AuaWQsXHJcbiAgICAgIHR5cGU6IERpcmVjdGlvblR5cGUuU3RvcCxcclxuICAgICAgc3RvcFRleHQsXHJcbiAgICAgIHN0b3BDb2xvcixcclxuICAgICAgc3RvcE9wYWNpdHk6IDEsXHJcbiAgICAgIHN0b3BcclxuICAgIH0sXHJcbiAgICBtZXRhOiB7XHJcbiAgICAgIGlkOiBzdG9wLmlkLFxyXG4gICAgICByZXZpc2lvbjogcHJldmlvdXNTdG9wUmV2aXNpb24gKyAxXHJcbiAgICB9LFxyXG4gICAgb2w6IG5ldyBvbEZlYXR1cmUoeyBnZW9tZXRyeSB9KVxyXG4gIH07XHJcbiAgc3RvcHNGZWF0dXJlU3RvcmUudXBkYXRlKHN0b3BGZWF0dXJlU3RvcmUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRkRGlyZWN0aW9uVG9Sb3V0ZXNGZWF0dXJlU3RvcmUoXHJcbiAgcm91dGVzRmVhdHVyZVN0b3JlOiBSb3V0ZXNGZWF0dXJlU3RvcmUsXHJcbiAgZGlyZWN0aW9uOiBEaXJlY3Rpb24sXHJcbiAgcHJvamVjdGlvbjogc3RyaW5nLFxyXG4gIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlLFxyXG4gIG1vdmVUb0V4dGVudCA9IGZhbHNlXHJcbikge1xyXG4gIGNvbnN0IGdlb20gPSBkaXJlY3Rpb24uZ2VvbWV0cnkuY29vcmRpbmF0ZXM7XHJcbiAgY29uc3QgZ2VvbWV0cnk0MzI2ID0gbmV3IG9sR2VvbS5MaW5lU3RyaW5nKGdlb20pO1xyXG4gIGNvbnN0IGdlb21ldHJ5ID0gZ2VvbWV0cnk0MzI2LnRyYW5zZm9ybShcclxuICAgIHByb2plY3Rpb24sXHJcbiAgICByb3V0ZXNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb25cclxuICApO1xyXG5cclxuICBjb25zdCBnZW9qc29uR2VvbSA9IG5ldyBPbEdlb0pTT04oKS53cml0ZUdlb21ldHJ5T2JqZWN0KGdlb21ldHJ5LCB7XHJcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcm91dGVzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uLFxyXG4gICAgZGF0YVByb2plY3Rpb246IHJvdXRlc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvblxyXG4gIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgY29uc3QgcHJldmlvdXNSb3V0ZSA9IHJvdXRlc0ZlYXR1cmVTdG9yZS5nZXQoZGlyZWN0aW9uLmlkKTtcclxuICBjb25zdCBwcmV2aW91c1JvdXRlUmV2aXNpb24gPSBwcmV2aW91c1JvdXRlID8gcHJldmlvdXNSb3V0ZS5tZXRhLnJldmlzaW9uIDogMDtcclxuXHJcbiAgY29uc3Qgcm91dGVGZWF0dXJlU3RvcmU6IEZlYXR1cmVXaXRoRGlyZWN0aW9uID0ge1xyXG4gICAgdHlwZTogRkVBVFVSRSxcclxuICAgIGdlb21ldHJ5OiBnZW9qc29uR2VvbSxcclxuICAgIHByb2plY3Rpb246IHJvdXRlc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgaWQ6IGRpcmVjdGlvbi5pZCxcclxuICAgICAgdHlwZTogRGlyZWN0aW9uVHlwZS5Sb3V0ZSxcclxuICAgICAgYWN0aXZlLFxyXG4gICAgICBkaXJlY3Rpb25cclxuICAgIH0sXHJcbiAgICBtZXRhOiB7XHJcbiAgICAgIGlkOiBkaXJlY3Rpb24uaWQsXHJcbiAgICAgIHJldmlzaW9uOiBwcmV2aW91c1JvdXRlUmV2aXNpb24gKyAxXHJcbiAgICB9LFxyXG4gICAgb2w6IG5ldyBvbEZlYXR1cmUoeyBnZW9tZXRyeSB9KVxyXG4gIH07XHJcbiAgcm91dGVzRmVhdHVyZVN0b3JlLnVwZGF0ZShyb3V0ZUZlYXR1cmVTdG9yZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREaXN0YW5jZShkaXN0YW5jZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICBpZiAoZGlzdGFuY2UgPT09IDApIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgaWYgKGRpc3RhbmNlID49IDEwMDAwMCkge1xyXG4gICAgcmV0dXJuIE51bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChNYXRoLnJvdW5kKGRpc3RhbmNlKSAvIDEwMDAsIDEpICsgJyBrbSc7XHJcbiAgfVxyXG4gIGlmIChkaXN0YW5jZSA+PSAxMDAwMCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgTnVtYmVyVXRpbHMucm91bmRUb05EZWNpbWFsKE1hdGgucm91bmQoZGlzdGFuY2UpIC8gMTAwIC8gMTAsIDEpICsgJyBrbSdcclxuICAgICk7XHJcbiAgfVxyXG4gIGlmIChkaXN0YW5jZSA+PSAxMDAwKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoTWF0aC5yb3VuZChkaXN0YW5jZSkgLyAxMDAgLyAxMCwgMSkgKyAnIGttJ1xyXG4gICAgKTtcclxuICB9XHJcbiAgcmV0dXJuIE51bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChkaXN0YW5jZSwgMCkgKyAnIG0nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RHVyYXRpb24oZHVyYXRpb246IG51bWJlcik6IHN0cmluZyB7XHJcbiAgaWYgKGR1cmF0aW9uID49IDM2MDApIHtcclxuICAgIGNvbnN0IGhvdXIgPSBNYXRoLmZsb29yKGR1cmF0aW9uIC8gMzYwMCk7XHJcbiAgICBjb25zdCBtaW51dGUgPSBNYXRoLnJvdW5kKChkdXJhdGlvbiAvIDM2MDAgLSBob3VyKSAqIDYwKTtcclxuICAgIGlmIChtaW51dGUgPT09IDYwKSB7XHJcbiAgICAgIHJldHVybiBob3VyICsgMSArICcgaCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaG91ciArICcgaCAnICsgbWludXRlICsgJyBtaW4nO1xyXG4gIH1cclxuXHJcbiAgaWYgKGR1cmF0aW9uID49IDYwKSB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZChkdXJhdGlvbiAvIDYwKSArICcgbWluJztcclxuICB9XHJcbiAgcmV0dXJuIGR1cmF0aW9uICsgJyBzJztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEluc3RydWN0aW9uKFxyXG4gIHR5cGUsXHJcbiAgbW9kaWZpZXIsXHJcbiAgcm91dGUsXHJcbiAgZGlyZWN0aW9uLFxyXG4gIHN0ZXBQb3NpdGlvbixcclxuICBleGl0LFxyXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gIGxhc3RTdGVwID0gZmFsc2VcclxuKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBsZXQgZGlyZWN0aXZlO1xyXG4gIGxldCBpbWFnZSA9ICdmb3J3YXJkJztcclxuICBsZXQgY3NzQ2xhc3MgPSAncm90YXRlLTI3MCc7XHJcbiAgY29uc3QgdHJhbnNsYXRlZERpcmVjdGlvbiA9IHRyYW5zbGF0ZUJlYXJpbmcoZGlyZWN0aW9uLCBsYW5ndWFnZVNlcnZpY2UpO1xyXG4gIGNvbnN0IHRyYW5zbGF0ZWRNb2RpZmllciA9IHRyYW5zbGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBsYW5ndWFnZVNlcnZpY2UpO1xyXG4gIGNvbnN0IHByZWZpeCA9XHJcbiAgICBtb2RpZmllciA9PT0gJ3N0cmFpZ2h0J1xyXG4gICAgICA/ICcnXHJcbiAgICAgIDogdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5tb2RpZmllci5wcmVmaXgnKTtcclxuXHJcbiAgbGV0IGFnZ3JlZ2F0ZWREaXJlY3Rpb24gPSBwcmVmaXggKyB0cmFuc2xhdGVkTW9kaWZpZXI7XHJcblxyXG4gIGlmIChtb2RpZmllcj8uc2VhcmNoKCdzbGlnaHQnKSA+PSAwKSB7XHJcbiAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uID0gdHJhbnNsYXRlZE1vZGlmaWVyO1xyXG4gIH1cclxuXHJcbiAgaWYgKG1vZGlmaWVyID09PSAndXR1cm4nKSB7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS05MCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NoYXJwIHJpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnc3ViZGlyZWN0b3J5LWFycm93LXJpZ2h0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnc3ViZGlyZWN0b3J5LWFycm93LXJpZ2h0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCByaWdodCcpIHtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI5MCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3N0cmFpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCBsZWZ0Jykge1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtMjUwJztcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnbGVmdCcpIHtcclxuICAgIGltYWdlID0gJ3N1YmRpcmVjdG9yeS1hcnJvdy1sZWZ0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NoYXJwIGxlZnQnKSB7XHJcbiAgICBpbWFnZSA9ICdzdWJkaXJlY3RvcnktYXJyb3ctbGVmdCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH1cclxuXHJcbiAgaWYgKHR5cGUgPT09ICd0dXJuJykge1xyXG4gICAgaWYgKG1vZGlmaWVyID09PSAnc3RyYWlnaHQnKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudHVybi5zdHJhaWdodCcsIHtcclxuICAgICAgICByb3V0ZVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICd1dHVybicpIHtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy50dXJuLnV0dXJuJywgeyByb3V0ZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudHVybi5lbHNlJywge1xyXG4gICAgICAgIHJvdXRlLFxyXG4gICAgICAgIGFnZ3JlZ2F0ZWREaXJlY3Rpb24sXHJcbiAgICAgICAgdHJhbnNsYXRlZE1vZGlmaWVyXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ25ldyBuYW1lJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5uZXcgbmFtZScsIHtcclxuICAgICAgcm91dGUsXHJcbiAgICAgIHRyYW5zbGF0ZWREaXJlY3Rpb25cclxuICAgIH0pO1xyXG4gICAgaW1hZ2UgPSAnY29tcGFzcyc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RlcGFydCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZGVwYXJ0Jywge1xyXG4gICAgICByb3V0ZSxcclxuICAgICAgdHJhbnNsYXRlZERpcmVjdGlvblxyXG4gICAgfSk7XHJcbiAgICBpbWFnZSA9ICdjb21wYXNzJztcclxuICAgIGNzc0NsYXNzID0gJyc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnYXJyaXZlJykge1xyXG4gICAgaWYgKGxhc3RTdGVwKSB7XHJcbiAgICAgIGNvbnN0IGNvbWEgPSAhdHJhbnNsYXRlZE1vZGlmaWVyID8gJycgOiAnLCAnO1xyXG4gICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uID0gIXRyYW5zbGF0ZWRNb2RpZmllciA/ICcnIDogYWdncmVnYXRlZERpcmVjdGlvbjtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5hcnJpdmUubGFzdFN0ZXAnLCB7XHJcbiAgICAgICAgY29tYSxcclxuICAgICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5hcnJpdmUuaW50ZXJtZWRpYXRlJywge1xyXG4gICAgICAgIHJvdXRlXHJcbiAgICAgIH0pO1xyXG4gICAgICBpbWFnZSA9ICdtYXAtbWFya2VyJztcclxuICAgICAgY3NzQ2xhc3MgPSAnJztcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtZXJnZScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubWVyZ2UnLCB7IHJvdXRlIH0pO1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtMjcwJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvbiByYW1wJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5vbiByYW1wJywge1xyXG4gICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uXHJcbiAgICB9KTtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvZmYgcmFtcCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMub2ZmIHJhbXAnLCB7XHJcbiAgICAgIGFnZ3JlZ2F0ZWREaXJlY3Rpb25cclxuICAgIH0pO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2ZvcmsnKSB7XHJcbiAgICBpZiAobW9kaWZpZXIuc2VhcmNoKCdsZWZ0JykgPj0gMCkge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmZvcmsubGVmdCcsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1vZGlmaWVyLnNlYXJjaCgncmlnaHQnKSA+PSAwKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZm9yay5yaWdodCcsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmZvcmsuZWxzZScsIHsgcm91dGUgfSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kIG9mIHJvYWQnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmVuZCBvZiByb2FkJywge1xyXG4gICAgICB0cmFuc2xhdGVkTW9kaWZpZXIsXHJcbiAgICAgIHJvdXRlXHJcbiAgICB9KTtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICd1c2UgbGFuZScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudXNlIGxhbmUnKTtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdjb250aW51ZScgJiYgbW9kaWZpZXIgIT09ICd1dHVybicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuY29udGludWUubm90VXR1cm4nLCB7XHJcbiAgICAgIHJvdXRlXHJcbiAgICB9KTtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI3MCc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAncm91bmRhYm91dCcpIHtcclxuICAgIGNvbnN0IGNudFN1ZmZpeCA9XHJcbiAgICAgIGV4aXQgPT09IDFcclxuICAgICAgICA/IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuY250U3VmZml4LmZpcnN0JylcclxuICAgICAgICA6IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuY250U3VmZml4LnNlY29uZEFuZE1vcmUnKTtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMucm91bmRhYm91dCcsIHtcclxuICAgICAgZXhpdCxcclxuICAgICAgY250U3VmZml4LFxyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgICBpbWFnZSA9ICdjaGFydC1kb251dCc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JvdGFyeScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMucm90YXJ5Jyk7XHJcbiAgICBpbWFnZSA9ICdjaGFydC1kb251dCc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JvdW5kYWJvdXQgdHVybicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMucm91bmRhYm91dCB0dXJuJyk7XHJcbiAgICBpbWFnZSA9ICdjaGFydC1kb251dCc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2V4aXQgcm91bmRhYm91dCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZXhpdCByb3VuZGFib3V0Jywge1xyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS0yNzAnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ25vdGlmaWNhdGlvbicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubm90aWZpY2F0aW9uJyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3V0dXJuJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy51dHVyblRleHQnLCB7XHJcbiAgICAgIHRyYW5zbGF0ZWREaXJlY3Rpb24sXHJcbiAgICAgIHJvdXRlXHJcbiAgICB9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy51bmtub3duJyk7XHJcbiAgfVxyXG5cclxuICBpbWFnZSA9IGxhc3RTdGVwID8gJ2ZsYWctdmFyaWFudCcgOiBpbWFnZTtcclxuICBjc3NDbGFzcyA9IGxhc3RTdGVwID8gJycgOiBjc3NDbGFzcztcclxuICBpbWFnZSA9IHN0ZXBQb3NpdGlvbiA9PT0gMCA/ICdjb21wYXNzJyA6IGltYWdlO1xyXG4gIGNzc0NsYXNzID0gc3RlcFBvc2l0aW9uID09PSAwID8gJycgOiBjc3NDbGFzcztcclxuXHJcbiAgcmV0dXJuIHsgaW5zdHJ1Y3Rpb246IGRpcmVjdGl2ZSwgaW1hZ2UsIGNzc0NsYXNzIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGVNb2RpZmllcihtb2RpZmllciwgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHtcclxuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gIGlmIChtb2RpZmllciA9PT0gJ3V0dXJuJykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudXR1cm4nKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnc2hhcnAgcmlnaHQnKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zaGFycCByaWdodCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdyaWdodCcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJpZ2h0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCByaWdodCcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNsaWdodCByaWdodCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzaGFycCBsZWZ0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNoYXJwIGxlZnQnKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnbGVmdCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5sZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCBsZWZ0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNsaWdodCBsZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3N0cmFpZ2h0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnN0cmFpZ2h0Jyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBtb2RpZmllcjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGVCZWFyaW5nKFxyXG4gIGJlYXJpbmc6IG51bWJlcixcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4pIHtcclxuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gIGlmIChiZWFyaW5nID49IDMzNyB8fCBiZWFyaW5nIDwgMjMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5uJyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgNjcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5uZScpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDExMykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLmUnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAxNTcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5zZScpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDIwMykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLnMnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAyNDcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5zdycpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDI5Mykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLncnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAzMzcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5udycpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -3,4 +3,4 @@ export * from './directions.enum';
|
|
|
3
3
|
export * from './directions.interface';
|
|
4
4
|
export * from './directions.utils';
|
|
5
5
|
export * from './store';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcclxuIl19
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
import { NgIf } from '@angular/common';
|
|
1
2
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
2
7
|
import { Layer } from '../../layer/shared/layers/layer';
|
|
3
8
|
import { DownloadService } from '../shared/download.service';
|
|
4
9
|
import * as i0 from "@angular/core";
|
|
5
10
|
import * as i1 from "../shared/download.service";
|
|
6
|
-
import * as i2 from "@angular/
|
|
7
|
-
import * as i3 from "@angular/material/
|
|
8
|
-
import * as i4 from "@angular/material/
|
|
9
|
-
import * as i5 from "@
|
|
10
|
-
import * as i6 from "@ngx-translate/core";
|
|
11
|
+
import * as i2 from "@angular/material/button";
|
|
12
|
+
import * as i3 from "@angular/material/tooltip";
|
|
13
|
+
import * as i4 from "@angular/material/icon";
|
|
14
|
+
import * as i5 from "@ngx-translate/core";
|
|
11
15
|
export class DownloadButtonComponent {
|
|
12
16
|
downloadService;
|
|
13
17
|
get layer() {
|
|
@@ -36,15 +40,21 @@ export class DownloadButtonComponent {
|
|
|
36
40
|
}
|
|
37
41
|
return this.layer.dataSource.options;
|
|
38
42
|
}
|
|
39
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DownloadButtonComponent, deps: [{ token: i1.DownloadService }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: DownloadButtonComponent, isStandalone: true, selector: "igo-download-button", inputs: { layer: "layer", color: "color" }, ngImport: i0, template: "<button\r\n *ngIf=\"\r\n options &&\r\n options.download &&\r\n (options.download['dynamicUrl'] || options.download['url'])\r\n \"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.download.action' | translate\"\r\n [color]=\"color\"\r\n (click)=\"openDownload(layer)\"\r\n>\r\n <mat-icon svgIcon=\"download\"></mat-icon>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41
45
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DownloadButtonComponent, decorators: [{
|
|
43
47
|
type: Component,
|
|
44
|
-
args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
45
|
-
|
|
48
|
+
args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
49
|
+
NgIf,
|
|
50
|
+
MatButtonModule,
|
|
51
|
+
MatTooltipModule,
|
|
52
|
+
MatIconModule,
|
|
53
|
+
TranslateModule
|
|
54
|
+
], template: "<button\r\n *ngIf=\"\r\n options &&\r\n options.download &&\r\n (options.download['dynamicUrl'] || options.download['url'])\r\n \"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.download.action' | translate\"\r\n [color]=\"color\"\r\n (click)=\"openDownload(layer)\"\r\n>\r\n <mat-icon svgIcon=\"download\"></mat-icon>\r\n</button>\r\n" }]
|
|
55
|
+
}], ctorParameters: () => [{ type: i1.DownloadService }], propDecorators: { layer: [{
|
|
46
56
|
type: Input
|
|
47
57
|
}], color: [{
|
|
48
58
|
type: Input
|
|
49
59
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQtYnV0dG9uL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQWdCN0QsTUFBTSxPQUFPLHVCQUF1QjtJQW1CZDtJQWxCcEIsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLENBQVE7SUFFdEIsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBRTNCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNULENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO3VHQTlCVSx1QkFBdUI7MkZBQXZCLHVCQUF1QiwySEMxQnBDLG1hQWVBLDBERElJLElBQUksNEZBQ0osZUFBZSwySUFDZixnQkFBZ0IsNFRBQ2hCLGFBQWEsbUxBQ2IsZUFBZTs7MkZBR04sdUJBQXVCO2tCQWRuQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCO29GQUlHLEtBQUs7c0JBRFIsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XHJcbmltcG9ydCB7IERvd25sb2FkRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvZG93bmxvYWQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRG93bmxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Rvd25sb2FkLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZG93bmxvYWQtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERvd25sb2FkQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBsYXllcigpOiBMYXllciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBsYXllcih2YWx1ZTogTGF5ZXIpIHtcclxuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xheWVyOiBMYXllcjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29sb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XHJcbiAgfVxyXG4gIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xvciA9ICdwcmltYXJ5JztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb3dubG9hZFNlcnZpY2U6IERvd25sb2FkU2VydmljZSkge31cclxuXHJcbiAgb3BlbkRvd25sb2FkKGxheWVyOiBMYXllcikge1xyXG4gICAgdGhpcy5kb3dubG9hZFNlcnZpY2Uub3BlbihsYXllcik7XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpOiBEb3dubG9hZERhdGFTb3VyY2VPcHRpb25zIHtcclxuICAgIGlmICghdGhpcy5sYXllcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnM7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICAqbmdJZj1cIlxyXG4gICAgb3B0aW9ucyAmJlxyXG4gICAgb3B0aW9ucy5kb3dubG9hZCAmJlxyXG4gICAgKG9wdGlvbnMuZG93bmxvYWRbJ2R5bmFtaWNVcmwnXSB8fCBvcHRpb25zLmRvd25sb2FkWyd1cmwnXSlcclxuICBcIlxyXG4gIG1hdC1pY29uLWJ1dHRvblxyXG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZG93bmxvYWQuYWN0aW9uJyB8IHRyYW5zbGF0ZVwiXHJcbiAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAoY2xpY2spPVwib3BlbkRvd25sb2FkKGxheWVyKVwiXHJcbj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cImRvd25sb2FkXCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './download-button.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9kb3dubG9hZC1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -1,41 +1,24 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
-
import { IgoLanguageModule } from '@igo2/core';
|
|
7
2
|
import { DownloadButtonComponent } from './download-button/download-button.component';
|
|
8
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated import the DownloadButtonComponent directly
|
|
6
|
+
*/
|
|
9
7
|
export class IgoDownloadModule {
|
|
10
8
|
static forRoot() {
|
|
11
9
|
return {
|
|
12
10
|
ngModule: IgoDownloadModule
|
|
13
11
|
};
|
|
14
12
|
}
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
17
|
-
|
|
18
|
-
MatButtonModule,
|
|
19
|
-
MatTooltipModule,
|
|
20
|
-
IgoLanguageModule], exports: [DownloadButtonComponent] });
|
|
21
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoDownloadModule, imports: [CommonModule,
|
|
22
|
-
MatIconModule,
|
|
23
|
-
MatButtonModule,
|
|
24
|
-
MatTooltipModule,
|
|
25
|
-
IgoLanguageModule] });
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoDownloadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoDownloadModule, imports: [DownloadButtonComponent], exports: [DownloadButtonComponent] });
|
|
15
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoDownloadModule, imports: [DownloadButtonComponent] });
|
|
26
16
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoDownloadModule, decorators: [{
|
|
28
18
|
type: NgModule,
|
|
29
19
|
args: [{
|
|
30
|
-
imports: [
|
|
31
|
-
|
|
32
|
-
MatIconModule,
|
|
33
|
-
MatButtonModule,
|
|
34
|
-
MatTooltipModule,
|
|
35
|
-
IgoLanguageModule
|
|
36
|
-
],
|
|
37
|
-
exports: [DownloadButtonComponent],
|
|
38
|
-
declarations: [DownloadButtonComponent]
|
|
20
|
+
imports: [DownloadButtonComponent],
|
|
21
|
+
exports: [DownloadButtonComponent]
|
|
39
22
|
}]
|
|
40
23
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQUV0Rjs7R0FFRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUFDO0lBQ0osQ0FBQzt1R0FMVSxpQkFBaUI7d0dBQWpCLGlCQUFpQixZQUhsQix1QkFBdUIsYUFDdkIsdUJBQXVCO3dHQUV0QixpQkFBaUIsWUFIbEIsdUJBQXVCOzsyRkFHdEIsaUJBQWlCO2tCQUo3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRG93bmxvYWRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIERvd25sb2FkQnV0dG9uQ29tcG9uZW50IGRpcmVjdGx5XHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtEb3dubG9hZEJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0Rvd25sb2FkQnV0dG9uQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvRG93bmxvYWRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvRG93bmxvYWRNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29Eb3dubG9hZE1vZHVsZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './shared';
|
|
2
2
|
export * from './download-button';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Rvd25sb2FkLWJ1dHRvbic7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvc2hhcmVkL2Rvd25sb2FkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0Rm9ybWF0IH0gZnJvbSAnLi4vLi4vaW1wb3J0LWV4cG9ydC9zaGFyZWQvZXhwb3J0LnR5cGUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZE9wdGlvbnMge1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGR5bmFtaWNVcmw/OiBzdHJpbmc7XHJcbiAgZXh0ZXJuPzogYm9vbGVhbjtcclxuICBhbGxvd2VkRm9ybWF0cz86IEV4cG9ydEZvcm1hdFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRGF0YVNvdXJjZU9wdGlvbnMge1xyXG4gIGRvd25sb2FkPzogRG93bmxvYWRPcHRpb25zO1xyXG59XHJcbiJdfQ==
|