geonetwork-ui 2.2.0-dev.f866474c → 2.3.0-dev.28c8df17
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/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +28 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +96 -59
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +8 -4
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +25 -17
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +55 -23
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +52 -32
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -2
- package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +10 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -5
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +33 -8
- package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
- package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -4
- package/esm2022/libs/feature/editor/src/index.mjs +6 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +8 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +26 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +30 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +2 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +42 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +13 -0
- package/esm2022/libs/feature/editor/src/lib/expressions.mjs +13 -0
- package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +16 -4
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +34 -0
- package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +2 -0
- package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +17 -11
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +22 -44
- package/esm2022/libs/feature/map/src/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
- package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +23 -3
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
- package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +5 -3
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +11 -1
- package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -13
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
- package/esm2022/libs/feature/router/src/lib/default/index.mjs +2 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +1 -1
- package/esm2022/libs/feature/search/src/index.mjs +4 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
- package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
- package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +4 -1
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
- package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +5 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +47 -16
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +8 -4
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +16 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +9 -9
- package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.component.mjs +4 -2
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.model.mjs +1 -1
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +12 -7
- package/esm2022/libs/ui/layout/src/index.mjs +3 -1
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
- package/esm2022/libs/ui/search/src/index.mjs +1 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
- package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +3 -3
- package/esm2022/libs/util/i18n/src/index.mjs +1 -2
- package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +18 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +32 -0
- package/esm2022/translations/de.json +131 -109
- package/esm2022/translations/en.json +63 -41
- package/esm2022/translations/es.json +41 -19
- package/esm2022/translations/fr.json +57 -35
- package/esm2022/translations/it.json +58 -36
- package/esm2022/translations/nl.json +42 -20
- package/esm2022/translations/pt.json +41 -19
- package/fesm2022/geonetwork-ui.mjs +1933 -1071
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +4 -5
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +7 -6
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +4 -3
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
- package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +31 -17
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
- package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
- package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
- package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
- package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +5 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +23 -0
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +15 -0
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +19 -0
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts +2 -0
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +18 -0
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +15 -0
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/expressions.d.ts +4 -0
- package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/feature-editor.module.d.ts +3 -1
- package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +3 -0
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/models/fields.model.d.ts +15 -0
- package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts +10 -5
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +3 -13
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/map/src/index.d.ts +1 -0
- package/libs/feature/map/src/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +15 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +2 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
- package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/index.d.ts +1 -0
- package/libs/feature/router/src/lib/default/index.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +3 -0
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +5 -4
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
- package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
- package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts +3 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +16 -5
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +1 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +40 -39
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +2 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
- package/libs/ui/search/src/index.d.ts +0 -1
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +0 -1
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.constants.d.ts +17 -0
- package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +5 -0
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -0
- package/package.json +4 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +63 -8
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +57 -9
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +229 -24
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +32 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +140 -74
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +7 -3
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -5
- package/src/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.ts +16 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +30 -21
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +120 -63
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +177 -97
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -1
- package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
- package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
- package/src/libs/common/domain/src/lib/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +37 -21
- package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
- package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
- package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
- package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.ts +1 -1
- package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +52 -10
- package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
- package/src/libs/feature/editor/src/index.ts +5 -0
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +24 -0
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +49 -0
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +30 -0
- package/src/libs/feature/editor/src/lib/+state/editor.models.ts +1 -0
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +68 -0
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +39 -0
- package/src/libs/feature/editor/src/lib/expressions.ts +16 -0
- package/src/libs/feature/editor/src/lib/feature-editor.module.ts +11 -0
- package/src/libs/feature/editor/src/lib/fields.config.ts +35 -0
- package/src/libs/feature/editor/src/lib/models/fields.model.ts +29 -0
- package/src/libs/feature/editor/src/lib/record-form/record-form.component.html +9 -7
- package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +13 -6
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +34 -73
- package/src/libs/feature/map/src/index.ts +1 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
- package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +12 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
- package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +6 -2
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +16 -0
- package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +12 -12
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
- package/src/libs/feature/router/src/lib/default/index.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +1 -1
- package/src/libs/feature/search/src/index.ts +3 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +13 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -1
- package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
- package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
- package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
- package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
- package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
- package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
- package/src/libs/ui/elements/src/index.ts +3 -0
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +17 -0
- package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.html +5 -1
- package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.ts +1 -0
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +3 -3
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +212 -68
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +51 -10
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.html +2 -2
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +7 -0
- package/src/libs/ui/inputs/src/index.ts +1 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.css +0 -5
- package/src/libs/ui/inputs/src/lib/button/button.component.html +0 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +7 -6
- package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +2 -2
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +3 -1
- package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
- package/src/libs/ui/inputs/src/lib/form-field/form-field.component.ts +3 -1
- package/src/libs/ui/inputs/src/lib/form-field/form-field.model.ts +0 -1
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +5 -2
- package/src/libs/ui/layout/src/index.ts +2 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
- package/src/libs/ui/search/src/index.ts +0 -1
- package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
- package/src/libs/ui/widgets/src/lib/badge/badge.component.html +3 -1
- package/src/libs/util/i18n/src/index.ts +0 -1
- package/src/libs/util/i18n/src/lib/i18n.constants.ts +18 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +32 -0
- package/tailwind.base.css +44 -15
- package/translations/de.json +131 -109
- package/translations/en.json +63 -41
- package/translations/es.json +41 -19
- package/translations/fr.json +57 -35
- package/translations/it.json +58 -36
- package/translations/nl.json +42 -20
- package/translations/pt.json +41 -19
- package/translations/sk.json +119 -97
- package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
- package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
- package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
- package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
- package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
- package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
- package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
- package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
- package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
- package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
- package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
- package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
- package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
- package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
- package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
- package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
- package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
- package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
- package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
- /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
- /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Injectable, Inject, InjectionToken } from '@angular/core';
|
|
2
|
+
import { queryGeoadmin, queryGeonames, queryDataGouvFr, } from '@geospatial-sdk/geocoding';
|
|
3
|
+
import { from, throwError } from 'rxjs';
|
|
4
|
+
import { catchError } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export const GEOCODING_PROVIDER = new InjectionToken('geocoding-provider');
|
|
7
|
+
export class GeocodingService {
|
|
8
|
+
constructor(provider) {
|
|
9
|
+
this.provider = provider;
|
|
10
|
+
}
|
|
11
|
+
query(text) {
|
|
12
|
+
let queryObservable;
|
|
13
|
+
switch (this.provider[0]) {
|
|
14
|
+
case 'geoadmin':
|
|
15
|
+
queryObservable = from(queryGeoadmin(text, this.provider[1]));
|
|
16
|
+
break;
|
|
17
|
+
case 'geonames':
|
|
18
|
+
queryObservable = from(queryGeonames(text, this.provider[1]));
|
|
19
|
+
break;
|
|
20
|
+
case 'data-gouv-fr':
|
|
21
|
+
queryObservable = from(queryDataGouvFr(text, this.provider[1]));
|
|
22
|
+
break;
|
|
23
|
+
default:
|
|
24
|
+
return throwError(() => new Error(`Unsupported geocoding provider: ${this.provider[0]}`));
|
|
25
|
+
}
|
|
26
|
+
return queryObservable.pipe(catchError((error) => throwError(error)));
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GeocodingService, deps: [{ token: GEOCODING_PROVIDER }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GeocodingService, providedIn: 'root' }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GeocodingService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{
|
|
34
|
+
providedIn: 'root',
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
37
|
+
type: Inject,
|
|
38
|
+
args: [GEOCODING_PROVIDER]
|
|
39
|
+
}] }]; } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvY29kaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvZ2VvY29kaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xFLE9BQU8sRUFDTCxhQUFhLEVBR2IsYUFBYSxFQUdiLGVBQWUsR0FDaEIsTUFBTSwyQkFBMkIsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7O0FBVTNDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNsRCxvQkFBb0IsQ0FDckIsQ0FBQTtBQUtELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDc0MsUUFBMkI7UUFBM0IsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7SUFDOUQsQ0FBQztJQUVKLEtBQUssQ0FBQyxJQUFZO1FBQ2hCLElBQUksZUFBOEMsQ0FBQTtRQUNsRCxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEIsS0FBSyxVQUFVO2dCQUNiLGVBQWUsR0FBRyxJQUFJLENBQ3BCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQW9CLENBQUMsQ0FDekQsQ0FBQTtnQkFDRCxNQUFLO1lBQ1AsS0FBSyxVQUFVO2dCQUNiLGVBQWUsR0FBRyxJQUFJLENBQ3BCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQW9CLENBQUMsQ0FDekQsQ0FBQTtnQkFDRCxNQUFLO1lBQ1AsS0FBSyxjQUFjO2dCQUNqQixlQUFlLEdBQUcsSUFBSSxDQUNwQixlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFzQixDQUFDLENBQzdELENBQUE7Z0JBQ0QsTUFBSztZQUNQO2dCQUNFLE9BQU8sVUFBVSxDQUNmLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLG1DQUFtQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDdkUsQ0FBQTtTQUNKO1FBQ0QsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2RSxDQUFDOzhHQTdCVSxnQkFBZ0Isa0JBRWpCLGtCQUFrQjtrSEFGakIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIHF1ZXJ5R2VvYWRtaW4sXG4gIEdlb2FkbWluT3B0aW9ucyxcbiAgR2VvY29kaW5nUmVzdWx0LFxuICBxdWVyeUdlb25hbWVzLFxuICBHZW9uYW1lc09wdGlvbnMsXG4gIERhdGFHb3V2RnJPcHRpb25zLFxuICBxdWVyeURhdGFHb3V2RnIsXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9nZW9jb2RpbmcnXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxudHlwZSBHZW9hZG1pbkdlb2NvZGluZ1Byb3ZpZGVyID0gWydnZW9hZG1pbicsIEdlb2FkbWluT3B0aW9uc11cbnR5cGUgR2VvbmFtZXNHZW9jb2RpbmdQcm92aWRlciA9IFsnZ2VvbmFtZXMnLCBHZW9uYW1lc09wdGlvbnNdXG50eXBlIERhdGFHb3V2RnJHZW9jb2RpbmdQcm92aWRlciA9IFsnZGF0YS1nb3V2LWZyJywgRGF0YUdvdXZGck9wdGlvbnNdXG5leHBvcnQgdHlwZSBHZW9jb2RpbmdQcm92aWRlciA9XG4gIHwgR2VvYWRtaW5HZW9jb2RpbmdQcm92aWRlclxuICB8IEdlb25hbWVzR2VvY29kaW5nUHJvdmlkZXJcbiAgfCBEYXRhR291dkZyR2VvY29kaW5nUHJvdmlkZXJcblxuZXhwb3J0IGNvbnN0IEdFT0NPRElOR19QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxHZW9jb2RpbmdQcm92aWRlcj4oXG4gICdnZW9jb2RpbmctcHJvdmlkZXInXG4pXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9jb2RpbmdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChHRU9DT0RJTkdfUFJPVklERVIpIHByaXZhdGUgcHJvdmlkZXI6IEdlb2NvZGluZ1Byb3ZpZGVyXG4gICkge31cblxuICBxdWVyeSh0ZXh0OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEdlb2NvZGluZ1Jlc3VsdFtdPiB7XG4gICAgbGV0IHF1ZXJ5T2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxHZW9jb2RpbmdSZXN1bHRbXT5cbiAgICBzd2l0Y2ggKHRoaXMucHJvdmlkZXJbMF0pIHtcbiAgICAgIGNhc2UgJ2dlb2FkbWluJzpcbiAgICAgICAgcXVlcnlPYnNlcnZhYmxlID0gZnJvbShcbiAgICAgICAgICBxdWVyeUdlb2FkbWluKHRleHQsIHRoaXMucHJvdmlkZXJbMV0gYXMgR2VvYWRtaW5PcHRpb25zKVxuICAgICAgICApXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdnZW9uYW1lcyc6XG4gICAgICAgIHF1ZXJ5T2JzZXJ2YWJsZSA9IGZyb20oXG4gICAgICAgICAgcXVlcnlHZW9uYW1lcyh0ZXh0LCB0aGlzLnByb3ZpZGVyWzFdIGFzIEdlb25hbWVzT3B0aW9ucylcbiAgICAgICAgKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZGF0YS1nb3V2LWZyJzpcbiAgICAgICAgcXVlcnlPYnNlcnZhYmxlID0gZnJvbShcbiAgICAgICAgICBxdWVyeURhdGFHb3V2RnIodGV4dCwgdGhpcy5wcm92aWRlclsxXSBhcyBEYXRhR291dkZyT3B0aW9ucylcbiAgICAgICAgKVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgKCkgPT4gbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBnZW9jb2RpbmcgcHJvdmlkZXI6ICR7dGhpcy5wcm92aWRlclswXX1gKVxuICAgICAgICApXG4gICAgfVxuICAgIHJldHVybiBxdWVyeU9ic2VydmFibGUucGlwZShjYXRjaEVycm9yKChlcnJvcikgPT4gdGhyb3dFcnJvcihlcnJvcikpKVxuICB9XG59XG4iXX0=
|
|
@@ -9,6 +9,8 @@ import * as i5 from "@angular/material/tabs";
|
|
|
9
9
|
import * as i6 from "@ngx-translate/core";
|
|
10
10
|
import * as i7 from "../add-layer-from-catalog/add-layer-from-catalog.component";
|
|
11
11
|
import * as i8 from "../add-layer-from-wms/add-layer-from-wms.component";
|
|
12
|
+
import * as i9 from "../add-layer-from-file/add-layer-from-file.component";
|
|
13
|
+
import * as i10 from "../add-layer-from-wfs/add-layer-from-wfs.component";
|
|
12
14
|
export class LayersPanelComponent {
|
|
13
15
|
constructor(mapFacade) {
|
|
14
16
|
this.mapFacade = mapFacade;
|
|
@@ -18,10 +20,10 @@ export class LayersPanelComponent {
|
|
|
18
20
|
this.mapFacade.removeLayer(index);
|
|
19
21
|
}
|
|
20
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LayersPanelComponent, deps: [{ token: i1.MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i5.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i7.AddLayerFromCatalogComponent, selector: "gn-ui-add-layer-from-catalog" }, { kind: "component", type: i8.AddLayerFromWmsComponent, selector: "gn-ui-add-layer-from-wms" }, { kind: "component", type: i9.AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file" }, { kind: "component", type: i10.AddLayerFromWfsComponent, selector: "gn-ui-add-layer-from-wfs" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
24
|
}
|
|
23
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LayersPanelComponent, decorators: [{
|
|
24
26
|
type: Component,
|
|
25
|
-
args: [{ selector: 'gn-ui-layers-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3
|
|
27
|
+
args: [{ selector: 'gn-ui-layers-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n" }]
|
|
26
28
|
}], ctorParameters: function () { return [{ type: i1.MapFacade }]; } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJzLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9sYXllcnMtcGFuZWwvbGF5ZXJzLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9sYXllcnMtcGFuZWwvbGF5ZXJzLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7Ozs7Ozs7Ozs7QUFRaEQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFvQixTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRHhDLFlBQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQTtJQUNXLENBQUM7SUFFNUMsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbkMsQ0FBQzs4R0FOVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiwwRENUakMsMC9EQXVEQTs7MkZEOUNhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL21hcC5mYWNhZGUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWxheWVycy1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXllcnMtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXllcnMtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExheWVyc1BhbmVsQ29tcG9uZW50IHtcbiAgbGF5ZXJzJCA9IHRoaXMubWFwRmFjYWRlLmxheWVycyRcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXBGYWNhZGU6IE1hcEZhY2FkZSkge31cblxuICBkZWxldGVMYXllcihpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tYXBGYWNhZGUucmVtb3ZlTGF5ZXIoaW5kZXgpXG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJiZy13aGl0ZSByb3VuZGVkIHNoYWRvdyBzaGFkb3ctbGcgcmVsYXRpdmUgaC1mdWxsIHctWzQwMHB4XSBvdmVyZmxvdy1oaWRkZW5cIlxuPlxuICA8ZGl2IGNsYXNzPVwicC0zIGJvcmRlci1iIGJvcmRlci1ncmF5LTMwMCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbXItMlwiPmxheWVyczwvbWF0LWljb24+XG4gICAgPHNwYW4gdHJhbnNsYXRlPm1hcC5sYXllcnMubGlzdDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB4LTQgZGl2aWRlLXkgZGl2aWRlLXktZ3JheS01MFwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBsYXllciBvZiBsYXllcnMkIHwgYXN5bmM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBweS0zXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIC1tbC0yIG1yLTIgc2hyaW5rLTBcIlxuICAgICAgICA+Y2hldnJvbl9yaWdodDwvbWF0LWljb25cbiAgICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibXItMiBncm93XCI+e3sgbGF5ZXIudGl0bGUgfX08L3NwYW4+XG4gICAgICA8YVxuICAgICAgICBocmVmXG4gICAgICAgIGNsYXNzPVwidW5kZXJsaW5lIHRleHQtc20gdGV4dC1yZWQtNzAwIGhvdmVyOnRleHQtcmVkLTkwMFwiXG4gICAgICAgIChjbGljayk9XCJkZWxldGVMYXllcihpbmRleClcIlxuICAgICAgPlxuICAgICAgICBkZWxldGVcbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxnbi11aS1leHBhbmRhYmxlLXBhbmVsLWJ1dHRvbiBbdGl0bGVUZW1wbGF0ZV09XCJhZGRMYXllclRpdGxlXCI+XG4gICAgPG1hdC10YWItZ3JvdXAgYW5pbWF0aW9uRHVyYXRpb249XCIyMDBtc1wiIGNsYXNzPVwiaC1mdWxsXCI+XG4gICAgICA8bWF0LXRhYiBbbGFiZWxdPVwiJ21hcC5hZGQubGF5ZXIuY2F0YWxvZycgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgIDxnbi11aS1hZGQtbGF5ZXItZnJvbS1jYXRhbG9nPjwvZ24tdWktYWRkLWxheWVyLWZyb20tY2F0YWxvZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC10YWI+XG4gICAgICA8bWF0LXRhYiBbbGFiZWxdPVwiJ21hcC5hZGQubGF5ZXIud21zJyB8IHRyYW5zbGF0ZVwiIGJvZHlDbGFzcz1cImgtZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC0zXCI+XG4gICAgICAgICAgPGduLXVpLWFkZC1sYXllci1mcm9tLXdtcz48L2duLXVpLWFkZC1sYXllci1mcm9tLXdtcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC10YWI+XG4gICAgICA8bWF0LXRhYiBbbGFiZWxdPVwiJ21hcC5hZGQubGF5ZXIud2ZzJyB8IHRyYW5zbGF0ZVwiIGJvZHlDbGFzcz1cImgtZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC0zXCI+XG4gICAgICAgICAgPGduLXVpLWFkZC1sYXllci1mcm9tLXdmcz48L2duLXVpLWFkZC1sYXllci1mcm9tLXdmcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC10YWI+XG4gICAgICA8bWF0LXRhYiBbbGFiZWxdPVwiJ21hcC5hZGQubGF5ZXIuZmlsZScgfCB0cmFuc2xhdGVcIiBib2R5Q2xhc3M9XCJoLWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgIDxnbi11aS1hZGQtbGF5ZXItZnJvbS1maWxlPjwvZ24tdWktYWRkLWxheWVyLWZyb20tZmlsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC10YWI+XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuICA8L2duLXVpLWV4cGFuZGFibGUtcGFuZWwtYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYWRkTGF5ZXJUaXRsZT5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtci00XCI+YWRkX2NpcmNsZTwvbWF0LWljb24+XG4gIDxzcGFuIHRyYW5zbGF0ZT5tYXAuYWRkLmxheWVyPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -28,6 +28,7 @@ export const DEFAULT_VIEW = {
|
|
|
28
28
|
center: [0, 15],
|
|
29
29
|
zoom: 2,
|
|
30
30
|
};
|
|
31
|
+
export const WFS_MAX_FEATURES = 10000;
|
|
31
32
|
export class MapContextService {
|
|
32
33
|
constructor(mapUtils, styleService) {
|
|
33
34
|
this.mapUtils = mapUtils;
|
|
@@ -37,6 +38,9 @@ export class MapContextService {
|
|
|
37
38
|
if (mapConfig) {
|
|
38
39
|
mapContext = this.mergeMapConfigWithContext(mapContext, mapConfig);
|
|
39
40
|
}
|
|
41
|
+
else {
|
|
42
|
+
mapContext.layers = this.addDefaultBaselayerContext(mapContext.layers);
|
|
43
|
+
}
|
|
40
44
|
if (!mapContext.view?.extent &&
|
|
41
45
|
(!mapContext.view?.center || !mapContext.view?.zoom)) {
|
|
42
46
|
mapContext.view = this.getFallbackView(mapConfig);
|
|
@@ -86,6 +90,7 @@ export class MapContextService {
|
|
|
86
90
|
urlObj.searchParams.set('typename', layerModel.name);
|
|
87
91
|
urlObj.searchParams.set('srsname', 'EPSG:3857');
|
|
88
92
|
urlObj.searchParams.set('bbox', `${extent.join(',')},EPSG:3857`);
|
|
93
|
+
urlObj.searchParams.set('maxFeatures', WFS_MAX_FEATURES.toString());
|
|
89
94
|
return urlObj.toString();
|
|
90
95
|
},
|
|
91
96
|
strategy: bboxStrategy,
|
|
@@ -146,6 +151,11 @@ export class MapContextService {
|
|
|
146
151
|
}
|
|
147
152
|
return view;
|
|
148
153
|
}
|
|
154
|
+
addDefaultBaselayerContext(layers) {
|
|
155
|
+
return layers.includes(DEFAULT_BASELAYER_CONTEXT)
|
|
156
|
+
? layers
|
|
157
|
+
: [DEFAULT_BASELAYER_CONTEXT, ...layers];
|
|
158
|
+
}
|
|
149
159
|
mergeMapConfigWithContext(mapContext, mapConfig) {
|
|
150
160
|
return {
|
|
151
161
|
...mapContext,
|
|
@@ -208,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
208
218
|
providedIn: 'root',
|
|
209
219
|
}]
|
|
210
220
|
}], ctorParameters: function () { return [{ type: i1.MapUtilsService }, { type: i2.MapStyleService }]; } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9tYXAtY29udGV4dC9tYXAtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzVELE9BQU8sRUFFTCx1QkFBdUIsR0FJeEIsTUFBTSxxQkFBcUIsQ0FBQTtBQUU1QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUE7QUFFMUIsT0FBTyxXQUFXLE1BQU0saUJBQWlCLENBQUE7QUFDekMsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFDdkMsT0FBTyxTQUFTLE1BQU0sZUFBZSxDQUFBO0FBQ3JDLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FBQTtBQUMvQixPQUFPLFlBQVksTUFBTSxrQkFBa0IsQ0FBQTtBQUMzQyxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLElBQUksSUFBSSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUd6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOzs7O0FBSTNFLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE0QjtJQUNoRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsR0FBRztJQUNqQyxJQUFJLEVBQUU7UUFDSixxRUFBcUU7UUFDckUscUVBQXFFO1FBQ3JFLHFFQUFxRTtLQUN0RTtDQUNGLENBQUE7QUFFRCxNQUFN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SUFDbEIsQ0FBQztJQUVELHlCQUF5QixDQUFDLE1BQW1CO1FBQzNDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNuQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTztvQkFDTCxJQUFJLEVBQUUsS0FBSztvQkFDWCxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7b0JBQ2YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2lCQUNsQixDQUFBO1lBQ0gsS0FBSyxLQUFLO2dCQUNSLE9BQU87b0JBQ0wsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO29CQUNmLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtpQkFDbEIsQ0FBQTtZQUNILEtBQUssS0FBSztnQkFDUixPQUFPO29CQUNMLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDakIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO29CQUNmLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtpQkFDbEIsQ0FBQTtZQUNILEtBQUssU0FBUztnQkFDWixPQUFPO29CQUNMLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDakIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUMvRCxDQUFBO1NBQ0o7SUFDSCxDQUFDOzhHQTNMVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi9zdHlsZS9tYXAtc3R5bGUuc2VydmljZSdcbmltcG9ydCB7XG4gIE1hcENvbnRleHRMYXllck1vZGVsLFxuICBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bSxcbiAgTWFwQ29udGV4dExheWVyWHl6TW9kZWwsXG4gIE1hcENvbnRleHRNb2RlbCxcbiAgTWFwQ29udGV4dFZpZXdNb2RlbCxcbn0gZnJvbSAnLi9tYXAtY29udGV4dC5tb2RlbCdcbmltcG9ydCBNYXAgZnJvbSAnb2wvTWFwJ1xuaW1wb3J0IFZpZXcgZnJvbSAnb2wvVmlldydcbmltcG9ydCBMYXllciBmcm9tICdvbC9sYXllci9CYXNlJ1xuaW1wb3J0IFZlY3RvckxheWVyIGZyb20gJ29sL2xheWVyL1ZlY3RvcidcbmltcG9ydCBUaWxlV01TIGZyb20gJ29sL3NvdXJjZS9UaWxlV01TJ1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJ1xuaW1wb3J0IFhZWiBmcm9tICdvbC9zb3VyY2UvWFlaJ1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJ1xuaW1wb3J0IEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nXG5pbXBvcnQgeyBNYXBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi91dGlscy9tYXAtdXRpbHMuc2VydmljZSdcbmltcG9ydCB7IGJib3ggYXMgYmJveFN0cmF0ZWd5IH0gZnJvbSAnb2wvbG9hZGluZ3N0cmF0ZWd5J1xuaW1wb3J0IHsgTGF5ZXJDb25maWcsIE1hcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYydcbmltcG9ydCB7IEZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IGZyb21Mb25MYXQgfSBmcm9tICdvbC9wcm9qJ1xuaW1wb3J0IFdNVFMgZnJvbSAnb2wvc291cmNlL1dNVFMnXG5pbXBvcnQgeyByZW1vdmVTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSdcbmltcG9ydCBGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBU0VMQVlFUl9DT05URVhUOiBNYXBDb250ZXh0TGF5ZXJYeXpNb2RlbCA9IHtcbiAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uWFlaLFxuICB1cmxzOiBbXG4gICAgYGh0dHBzOi8vYS5iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vcmFzdGVydGlsZXMvdm95YWdlci97en0ve3h9L3t5fS5wbmdgLFxuICAgIGBodHRwczovL2IuYmFzZW1hcHMuY2FydG9jZG4uY29tL3Jhc3RlcnRpbGVzL3ZveWFnZXIve3p9L3t4fS97eX0ucG5nYCxcbiAgICBgaHR0cHM6Ly9jLmJhc2VtYXBzLmNhcnRvY2RuLmNvbS9yYXN0ZXJ0aWxlcy92b3lhZ2VyL3t6fS97eH0ve3l9LnBuZ2AsXG4gIF0sXG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1ZJRVc6IE1hcENvbnRleHRWaWV3TW9kZWwgPSB7XG4gIGNlbnRlcjogWzAsIDE1XSxcbiAgem9vbTogMixcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1hcENvbnRleHRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXBVdGlsczogTWFwVXRpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBNYXBTdHlsZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHJlc2V0TWFwRnJvbUNvbnRleHQoXG4gICAgbWFwOiBNYXAsXG4gICAgbWFwQ29udGV4dDogTWFwQ29udGV4dE1vZGVsLFxuICAgIG1hcENvbmZpZz86IE1hcENvbmZpZ1xuICApOiBNYXAge1xuICAgIGlmIChtYXBDb25maWcpIHtcbiAgICAgIG1hcENvbnRleHQgPSB0aGlzLm1lcmdlTWFwQ29uZmlnV2l0aENvbnRleHQobWFwQ29udGV4dCwgbWFwQ29uZmlnKVxuICAgIH1cbiAgICBpZiAoXG4gICAgICAhbWFwQ29udGV4dC52aWV3Py5leHRlbnQgJiZcbiAgICAgICghbWFwQ29udGV4dC52aWV3Py5jZW50ZXIgfHwgIW1hcENvbnRleHQudmlldz8uem9vbSlcbiAgICApIHtcbiAgICAgIG1hcENvbnRleHQudmlldyA9IHRoaXMuZ2V0RmFsbGJhY2tWaWV3KG1hcENvbmZpZylcbiAgICB9XG4gICAgbWFwLnNldFZpZXcodGhpcy5jcmVhdGVWaWV3KG1hcENvbnRleHQudmlldywgbWFwKSlcbiAgICBtYXAuZ2V0TGF5ZXJzKCkuY2xlYXIoKVxuICAgIG1hcENvbnRleHQubGF5ZXJzLmZvckVhY2goKGxheWVyKSA9PiBtYXAuYWRkTGF5ZXIodGhpcy5jcmVhdGVMYXllcihsYXllcikpKVxuICAgIHJldHVybiBtYXBcbiAgfVxuXG4gIGNyZWF0ZUxheWVyKGxheWVyTW9kZWw6IE1hcENvbnRleHRMYXllck1vZGVsKTogTGF5ZXIge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gbGF5ZXJNb2RlbFxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5zdHlsZVNlcnZpY2Uuc3R5bGVzLmRlZmF1bHRcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgTWFwQ29udGV4dExheWVyVHlwZUVudW0uWFlaOlxuICAgICAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7XG4gICAgICAgICAgc291cmNlOiBuZXcgWFlaKHtcbiAgICAgICAgICAgIHVybDogJ3VybCcgaW4gbGF5ZXJNb2RlbCA/IGxheWVyTW9kZWwudXJsIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdXJsczogJ3VybHMnIGluIGxheWVyTW9kZWwgPyBsYXllck1vZGVsLnVybHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pXG4gICAgICBjYXNlIE1hcENvbnRleHRMYXllclR5cGVFbnVtLldNUzpcbiAgICAgICAgcmV0dXJuIG5ldyBUaWxlTGF5ZXIoe1xuICAgICAgICAgIHNvdXJjZTogbmV3IFRpbGVXTVMoe1xuICAgICAgICAgICAgdXJsOiByZW1vdmVTZWFyY2hQYXJhbXMobGF5ZXJNb2RlbC51cmwsIFsncmVxdWVzdCcsICdzZXJ2aWNlJ10pLFxuICAgICAgICAgICAgcGFyYW1zOiB7IExBWUVSUzogbGF5ZXJNb2RlbC5uYW1lIH0sXG4gICAgICAgICAgICBndXR0ZXI6IDIwLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KVxuICAgICAgY2FzZSBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5XTVRTOlxuICAgICAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7XG4gICAgICAgICAgc291cmNlOiBuZXcgV01UUyhsYXllck1vZGVsLm9wdGlvbnMpLFxuICAgICAgICB9KVxuICAgICAgY2FzZSBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5XRlM6XG4gICAgICAgIHJldHVybiBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgICAgIHNvdXJjZTogbmV3IFZlY3RvclNvdXJjZSh7XG4gICAgICAgICAgICBmb3JtYXQ6IG5ldyBHZW9KU09OKCksXG4gICAgICAgICAgICB1cmw6IGZ1bmN0aW9uIChleHRlbnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdXJsT2JqID0gbmV3IFVSTChcbiAgICAgICAgICAgICAgICByZW1vdmVTZWFyY2hQYXJhbXMobGF5ZXJNb2RlbC51cmwsIFtcbiAgICAgICAgICAgICAgICAgICdzZXJ2aWNlJyxcbiAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyxcbiAgICAgICAgICAgICAgICAgICdyZXF1ZXN0JyxcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIHVybE9iai5zZWFyY2hQYXJhbXMuc2V0KCdzZXJ2aWNlJywgJ1dGUycpXG4gICAgICAgICAgICAgIHVybE9iai5zZWFyY2hQYXJhbXMuc2V0KCd2ZXJzaW9uJywgJzEuMS4wJylcbiAgICAgICAgICAgICAgdXJsT2JqLnNlYXJjaFBhcmFtcy5zZXQoJ3JlcXVlc3QnLCAnR2V0RmVhdHVyZScpXG4gICAgICAgICAgICAgIHVybE9iai5zZWFyY2hQYXJhbXMuc2V0KCdvdXRwdXRGb3JtYXQnLCAnYXBwbGljYXRpb24vanNvbicpXG4gICAgICAgICAgICAgIHVybE9iai5zZWFyY2hQYXJhbXMuc2V0KCd0eXBlbmFtZScsIGxheWVyTW9kZWwubmFtZSlcbiAgICAgICAgICAgICAgdXJsT2JqLnNlYXJjaFBhcmFtcy5zZXQoJ3Nyc25hbWUnLCAnRVBTRzozODU3JylcbiAgICAgICAgICAgICAgdXJsT2JqLnNlYXJjaFBhcmFtcy5zZXQoJ2Jib3gnLCBgJHtleHRlbnQuam9pbignLCcpfSxFUFNHOjM4NTdgKVxuICAgICAgICAgICAgICByZXR1cm4gdXJsT2JqLnRvU3RyaW5nKClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdHJhdGVneTogYmJveFN0cmF0ZWd5LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0eWxlLFxuICAgICAgICB9KVxuICAgICAgY2FzZSBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5HRU9KU09OOiB7XG4gICAgICAgIGlmICgndXJsJyBpbiBsYXllck1vZGVsKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBWZWN0b3JMYXllcih7XG4gICAgICAgICAgICBzb3VyY2U6IG5ldyBWZWN0b3JTb3VyY2Uoe1xuICAgICAgICAgICAgICBmb3JtYXQ6IG5ldyBHZW9KU09OKCksXG4gICAgICAgICAgICAgIHVybDogbGF5ZXJNb2RlbC51cmwsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGdlb2pzb24gPSBsYXllck1vZGVsLmRhdGFcbiAgICAgICAgICBpZiAodHlwZW9mIGdlb2pzb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBnZW9qc29uID0gSlNPTi5wYXJzZShnZW9qc29uKVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0EgbGF5ZXIgY291bGQgbm90IGJlIGNyZWF0ZWQnLCBsYXllck1vZGVsLCBlKVxuICAgICAgICAgICAgICBnZW9qc29uID0geyB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLCBmZWF0dXJlczogW10gfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBmZWF0dXJlcyA9IHRoaXMubWFwVXRpbHMucmVhZEZlYXR1cmVDb2xsZWN0aW9uKFxuICAgICAgICAgICAgZ2VvanNvbiBhcyBGZWF0dXJlQ29sbGVjdGlvblxuICAgICAgICAgICkgYXMgRmVhdHVyZTxHZW9tZXRyeT5bXVxuICAgICAgICAgIHJldHVybiBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgICAgICAgc291cmNlOiBuZXcgVmVjdG9yU291cmNlKHtcbiAgICAgICAgICAgICAgZmVhdHVyZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIGxheWVyIHR5cGU6ICR7bGF5ZXJNb2RlbC50eXBlfWApXG4gICAgfVxuICB9XG5cbiAgY3JlYXRlVmlldyh2aWV3TW9kZWw6IE1hcENvbnRleHRWaWV3TW9kZWwsIG1hcD86IE1hcCk6IFZpZXcge1xuICAgIGNvbnN0IHsgY2VudGVyOiBjZW50ZXJJblZpZXdQcm9qLCB6b29tLCBtYXhab29tLCBtYXhFeHRlbnQgfSA9IHZpZXdNb2RlbFxuICAgIGNvbnN0IGNlbnRlciA9IGNlbnRlckluVmlld1Byb2pcbiAgICAgID8gZnJvbUxvbkxhdChjZW50ZXJJblZpZXdQcm9qLCAnRVBTRzozODU3JylcbiAgICAgIDogWzAsIDBdXG4gICAgY29uc3QgdmlldyA9IG5ldyBWaWV3KHtcbiAgICAgIGNlbnRlcixcbiAgICAgIHpvb20sXG4gICAgICBtYXhab29tLFxuICAgICAgZXh0ZW50OiBtYXhFeHRlbnQsXG4gICAgICBtdWx0aVdvcmxkOiBmYWxzZSxcbiAgICAgIGNvbnN0cmFpblJlc29sdXRpb246IHRydWUsXG4gICAgfSlcbiAgICBpZiAodmlld01vZGVsLmV4dGVudCAmJiBtYXApIHtcbiAgICAgIHZpZXcuZml0KHZpZXdNb2RlbC5leHRlbnQsIHtcbiAgICAgICAgc2l6ZTogbWFwLmdldFNpemUoKSxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB2aWV3XG4gIH1cblxuICBtZXJnZU1hcENvbmZpZ1dpdGhDb250ZXh0KFxuICAgIG1hcENvbnRleHQ6IE1hcENvbnRleHRNb2RlbCxcbiAgICBtYXBDb25maWc6IE1hcENvbmZpZ1xuICApOiBNYXBDb250ZXh0TW9kZWwge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5tYXBDb250ZXh0LFxuICAgICAgdmlldzoge1xuICAgICAgICAuLi5tYXBDb250ZXh0LnZpZXcsXG4gICAgICAgIC4uLihtYXBDb25maWcuTUFYX1pPT00gJiYge1xuICAgICAgICAgIG1heFpvb206IG1hcENvbmZpZy5NQVhfWk9PTSxcbiAgICAgICAgfSksXG4gICAgICAgIC4uLihtYXBDb25maWcuTUFYX0VYVEVOVCAmJiB7XG4gICAgICAgICAgbWF4RXh0ZW50OiBtYXBDb25maWcuTUFYX0VYVEVOVCxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgbGF5ZXJzOiBbXG4gICAgICAgIC4uLihtYXBDb25maWcuRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVBcbiAgICAgICAgICA/IFtdXG4gICAgICAgICAgOiBbREVGQVVMVF9CQVNFTEFZRVJfQ09OVEVYVF0pLFxuICAgICAgICAuLi5tYXBDb25maWcuTUFQX0xBWUVSUy5tYXAodGhpcy5nZXRDb250ZXh0TGF5ZXJGcm9tQ29uZmlnKSxcbiAgICAgICAgLi4ubWFwQ29udGV4dC5sYXllcnMsXG4gICAgICBdLFxuICAgIH1cbiAgfVxuXG4gIGdldEZhbGxiYWNrVmlldyhtYXBDb25maWc6IE1hcENvbmZpZyk6IE1hcENvbnRleHRWaWV3TW9kZWwge1xuICAgIHJldHVybiBtYXBDb25maWc/Lk1BWF9FWFRFTlRcbiAgICAgID8geyBleHRlbnQ6IG1hcENvbmZpZy5NQVhfRVhURU5UIH1cbiAgICAgIDogREVGQVVMVF9WSUVXXG4gIH1cblxuICBnZXRDb250ZXh0TGF5ZXJGcm9tQ29uZmlnKGNvbmZpZzogTGF5ZXJDb25maWcpOiBNYXBDb250ZXh0TGF5ZXJNb2RlbCB7XG4gICAgc3dpdGNoIChjb25maWcuVFlQRSkge1xuICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAnd21zJyxcbiAgICAgICAgICB1cmw6IGNvbmZpZy5VUkwsXG4gICAgICAgICAgbmFtZTogY29uZmlnLk5BTUUsXG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ3dmcyc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogJ3dmcycsXG4gICAgICAgICAgdXJsOiBjb25maWcuVVJMLFxuICAgICAgICAgIG5hbWU6IGNvbmZpZy5OQU1FLFxuICAgICAgICB9XG4gICAgICBjYXNlICd4eXonOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR5cGU6IGNvbmZpZy5UWVBFLFxuICAgICAgICAgIHVybDogY29uZmlnLlVSTCxcbiAgICAgICAgICBuYW1lOiBjb25maWcuTkFNRSxcbiAgICAgICAgfVxuICAgICAgY2FzZSAnZ2VvanNvbic6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogY29uZmlnLlRZUEUsXG4gICAgICAgICAgLi4uKGNvbmZpZy5EQVRBID8geyBkYXRhOiBjb25maWcuREFUQSB9IDogeyB1cmw6IGNvbmZpZy5VUkwgfSksXG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9tYXAtY29udGV4dC9tYXAtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzVELE9BQU8sRUFFTCx1QkFBdUIsR0FJeEIsTUFBTSxxQkFBcUIsQ0FBQTtBQUU1QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUE7QUFFMUIsT0FBTyxXQUFXLE1BQU0saUJBQWlCLENBQUE7QUFDekMsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFDdkMsT0FBTyxTQUFTLE1BQU0sZUFBZSxDQUFBO0FBQ3JDLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FBQTtBQUMvQixPQUFPLFlBQVksTUFBTSxrQkFBa0IsQ0FBQTtBQUMzQyxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDNUQsT0FBTyxFQUFFLElBQUksSUFBSSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUd6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOzs7O0FBSTNFLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE0QjtJQUNoRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsR0FBRztJQUNqQyxJQUFJLEVBQUU7UUFDSixxRUFBcUU7UUFDckUscUVBQXFFO1FBQ3JFLHFFQUFxRTtLQUN0RTtDQUNGLENBQUE7QUFFRCxNQUFN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LEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUMvRCxDQUFBO1NBQ0o7SUFDSCxDQUFDOzhHQXpNVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi9zdHlsZS9tYXAtc3R5bGUuc2VydmljZSdcbmltcG9ydCB7XG4gIE1hcENvbnRleHRMYXllck1vZGVsLFxuICBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bSxcbiAgTWFwQ29udGV4dExheWVyWHl6TW9kZWwsXG4gIE1hcENvbnRleHRNb2RlbCxcbiAgTWFwQ29udGV4dFZpZXdNb2RlbCxcbn0gZnJvbSAnLi9tYXAtY29udGV4dC5tb2RlbCdcbmltcG9ydCBNYXAgZnJvbSAnb2wvTWFwJ1xuaW1wb3J0IFZpZXcgZnJvbSAnb2wvVmlldydcbmltcG9ydCBMYXllciBmcm9tICdvbC9sYXllci9CYXNlJ1xuaW1wb3J0IFZlY3RvckxheWVyIGZyb20gJ29sL2xheWVyL1ZlY3RvcidcbmltcG9ydCBUaWxlV01TIGZyb20gJ29sL3NvdXJjZS9UaWxlV01TJ1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJ1xuaW1wb3J0IFhZWiBmcm9tICdvbC9zb3VyY2UvWFlaJ1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJ1xuaW1wb3J0IEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nXG5pbXBvcnQgeyBNYXBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi91dGlscy9tYXAtdXRpbHMuc2VydmljZSdcbmltcG9ydCB7IGJib3ggYXMgYmJveFN0cmF0ZWd5IH0gZnJvbSAnb2wvbG9hZGluZ3N0cmF0ZWd5J1xuaW1wb3J0IHsgTGF5ZXJDb25maWcsIE1hcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYydcbmltcG9ydCB7IEZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IGZyb21Mb25MYXQgfSBmcm9tICdvbC9wcm9qJ1xuaW1wb3J0IFdNVFMgZnJvbSAnb2wvc291cmNlL1dNVFMnXG5pbXBvcnQgeyByZW1vdmVTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSdcbmltcG9ydCBGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBU0VMQVlFUl9DT05URVhUOiBNYXBDb250ZXh0TGF5ZXJYeXpNb2RlbCA9IHtcbiAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uWFlaLFxuICB1cmxzOiBbXG4gICAgYGh0dHBzOi8vYS5iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vcmFzdGVydGlsZXMvdm95YWdlci97en0ve3h9L3t5fS5wbmdgLFxuICAgIGBodHRwczovL2IuYmFzZW1hcHMuY2FydG9jZG4uY29tL3Jhc3RlcnRpbGVzL3ZveWFnZXIve3p9L3t4fS97eX0ucG5nYCxcbiAgICBgaHR0cHM6Ly9jLmJhc2VtYXBzLmNhcnRvY2RuLmNvbS9yYXN0ZXJ0aWxlcy92b3lhZ2VyL3t6fS97eH0ve3l9LnBuZ2AsXG4gIF0sXG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1ZJRVc6IE1hcENvbnRleHRWaWV3TW9kZWwgPSB7XG4gIGNlbnRlcjogWzAsIDE1XSxcbiAgem9vbTogMixcbn1cblxuZXhwb3J0IGNvbnN0IFdGU19NQVhfRkVBVFVSRVMgPSAxMDAwMFxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQ29udGV4dFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hcFV0aWxzOiBNYXBVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IE1hcFN0eWxlU2VydmljZVxuICApIHt9XG5cbiAgcmVzZXRNYXBGcm9tQ29udGV4dChcbiAgICBtYXA6IE1hcCxcbiAgICBtYXBDb250ZXh0OiBNYXBDb250ZXh0TW9kZWwsXG4gICAgbWFwQ29uZmlnPzogTWFwQ29uZmlnXG4gICk6IE1hcCB7XG4gICAgaWYgKG1hcENvbmZpZykge1xuICAgICAgbWFwQ29udGV4dCA9IHRoaXMubWVyZ2VNYXBDb25maWdXaXRoQ29udGV4dChtYXBDb250ZXh0LCBtYXBDb25maWcpXG4gICAgfSBlbHNlIHtcbiAgICAgIG1hcENvbnRleHQubGF5ZXJzID0gdGhpcy5hZGREZWZhdWx0QmFzZWxheWVyQ29udGV4dChtYXBDb250ZXh0LmxheWVycylcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIW1hcENvbnRleHQudmlldz8uZXh0ZW50ICYmXG4gICAgICAoIW1hcENvbnRleHQudmlldz8uY2VudGVyIHx8ICFtYXBDb250ZXh0LnZpZXc/Lnpvb20pXG4gICAgKSB7XG4gICAgICBtYXBDb250ZXh0LnZpZXcgPSB0aGlzLmdldEZhbGxiYWNrVmlldyhtYXBDb25maWcpXG4gICAgfVxuICAgIG1hcC5zZXRWaWV3KHRoaXMuY3JlYXRlVmlldyhtYXBDb250ZXh0LnZpZXcsIG1hcCkpXG4gICAgbWFwLmdldExheWVycygpLmNsZWFyKClcbiAgICBtYXBDb250ZXh0LmxheWVycy5mb3JFYWNoKChsYXllcikgPT4gbWFwLmFkZExheWVyKHRoaXMuY3JlYXRlTGF5ZXIobGF5ZXIpKSlcbiAgICByZXR1cm4gbWFwXG4gIH1cblxuICBjcmVhdGVMYXllcihsYXllck1vZGVsOiBNYXBDb250ZXh0TGF5ZXJNb2RlbCk6IExheWVyIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IGxheWVyTW9kZWxcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuc3R5bGVTZXJ2aWNlLnN0eWxlcy5kZWZhdWx0XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIE1hcENvbnRleHRMYXllclR5cGVFbnVtLlhZWjpcbiAgICAgICAgcmV0dXJuIG5ldyBUaWxlTGF5ZXIoe1xuICAgICAgICAgIHNvdXJjZTogbmV3IFhZWih7XG4gICAgICAgICAgICB1cmw6ICd1cmwnIGluIGxheWVyTW9kZWwgPyBsYXllck1vZGVsLnVybCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHVybHM6ICd1cmxzJyBpbiBsYXllck1vZGVsID8gbGF5ZXJNb2RlbC51cmxzIDogdW5kZWZpbmVkLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KVxuICAgICAgY2FzZSBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5XTVM6XG4gICAgICAgIHJldHVybiBuZXcgVGlsZUxheWVyKHtcbiAgICAgICAgICBzb3VyY2U6IG5ldyBUaWxlV01TKHtcbiAgICAgICAgICAgIHVybDogcmVtb3ZlU2VhcmNoUGFyYW1zKGxheWVyTW9kZWwudXJsLCBbJ3JlcXVlc3QnLCAnc2VydmljZSddKSxcbiAgICAgICAgICAgIHBhcmFtczogeyBMQVlFUlM6IGxheWVyTW9kZWwubmFtZSB9LFxuICAgICAgICAgICAgZ3V0dGVyOiAyMCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSlcbiAgICAgIGNhc2UgTWFwQ29udGV4dExheWVyVHlwZUVudW0uV01UUzpcbiAgICAgICAgcmV0dXJuIG5ldyBUaWxlTGF5ZXIoe1xuICAgICAgICAgIHNvdXJjZTogbmV3IFdNVFMobGF5ZXJNb2RlbC5vcHRpb25zKSxcbiAgICAgICAgfSlcbiAgICAgIGNhc2UgTWFwQ29udGV4dExheWVyVHlwZUVudW0uV0ZTOlxuICAgICAgICByZXR1cm4gbmV3IFZlY3RvckxheWVyKHtcbiAgICAgICAgICBzb3VyY2U6IG5ldyBWZWN0b3JTb3VyY2Uoe1xuICAgICAgICAgICAgZm9ybWF0OiBuZXcgR2VvSlNPTigpLFxuICAgICAgICAgICAgdXJsOiBmdW5jdGlvbiAoZXh0ZW50KSB7XG4gICAgICAgICAgICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwoXG4gICAgICAgICAgICAgICAgcmVtb3ZlU2VhcmNoUGFyYW1zKGxheWVyTW9kZWwudXJsLCBbXG4gICAgICAgICAgICAgICAgICAnc2VydmljZScsXG4gICAgICAgICAgICAgICAgICAndmVyc2lvbicsXG4gICAgICAgICAgICAgICAgICAncmVxdWVzdCcsXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB1cmxPYmouc2VhcmNoUGFyYW1zLnNldCgnc2VydmljZScsICdXRlMnKVxuICAgICAgICAgICAgICB1cmxPYmouc2VhcmNoUGFyYW1zLnNldCgndmVyc2lvbicsICcxLjEuMCcpXG4gICAgICAgICAgICAgIHVybE9iai5zZWFyY2hQYXJhbXMuc2V0KCdyZXF1ZXN0JywgJ0dldEZlYXR1cmUnKVxuICAgICAgICAgICAgICB1cmxPYmouc2VhcmNoUGFyYW1zLnNldCgnb3V0cHV0Rm9ybWF0JywgJ2FwcGxpY2F0aW9uL2pzb24nKVxuICAgICAgICAgICAgICB1cmxPYmouc2VhcmNoUGFyYW1zLnNldCgndHlwZW5hbWUnLCBsYXllck1vZGVsLm5hbWUpXG4gICAgICAgICAgICAgIHVybE9iai5zZWFyY2hQYXJhbXMuc2V0KCdzcnNuYW1lJywgJ0VQU0c6Mzg1NycpXG4gICAgICAgICAgICAgIHVybE9iai5zZWFyY2hQYXJhbXMuc2V0KCdiYm94JywgYCR7ZXh0ZW50LmpvaW4oJywnKX0sRVBTRzozODU3YClcbiAgICAgICAgICAgICAgdXJsT2JqLnNlYXJjaFBhcmFtcy5zZXQoXG4gICAgICAgICAgICAgICAgJ21heEZlYXR1cmVzJyxcbiAgICAgICAgICAgICAgICBXRlNfTUFYX0ZFQVRVUkVTLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICByZXR1cm4gdXJsT2JqLnRvU3RyaW5nKClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdHJhdGVneTogYmJveFN0cmF0ZWd5LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0eWxlLFxuICAgICAgICB9KVxuICAgICAgY2FzZSBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5HRU9KU09OOiB7XG4gICAgICAgIGlmICgndXJsJyBpbiBsYXllck1vZGVsKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBWZWN0b3JMYXllcih7XG4gICAgICAgICAgICBzb3VyY2U6IG5ldyBWZWN0b3JTb3VyY2Uoe1xuICAgICAgICAgICAgICBmb3JtYXQ6IG5ldyBHZW9KU09OKCksXG4gICAgICAgICAgICAgIHVybDogbGF5ZXJNb2RlbC51cmwsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGdlb2pzb24gPSBsYXllck1vZGVsLmRhdGFcbiAgICAgICAgICBpZiAodHlwZW9mIGdlb2pzb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBnZW9qc29uID0gSlNPTi5wYXJzZShnZW9qc29uKVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0EgbGF5ZXIgY291bGQgbm90IGJlIGNyZWF0ZWQnLCBsYXllck1vZGVsLCBlKVxuICAgICAgICAgICAgICBnZW9qc29uID0geyB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLCBmZWF0dXJlczogW10gfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBmZWF0dXJlcyA9IHRoaXMubWFwVXRpbHMucmVhZEZlYXR1cmVDb2xsZWN0aW9uKFxuICAgICAgICAgICAgZ2VvanNvbiBhcyBGZWF0dXJlQ29sbGVjdGlvblxuICAgICAgICAgICkgYXMgRmVhdHVyZTxHZW9tZXRyeT5bXVxuICAgICAgICAgIHJldHVybiBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgICAgICAgc291cmNlOiBuZXcgVmVjdG9yU291cmNlKHtcbiAgICAgICAgICAgICAgZmVhdHVyZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIGxheWVyIHR5cGU6ICR7bGF5ZXJNb2RlbC50eXBlfWApXG4gICAgfVxuICB9XG5cbiAgY3JlYXRlVmlldyh2aWV3TW9kZWw6IE1hcENvbnRleHRWaWV3TW9kZWwsIG1hcD86IE1hcCk6IFZpZXcge1xuICAgIGNvbnN0IHsgY2VudGVyOiBjZW50ZXJJblZpZXdQcm9qLCB6b29tLCBtYXhab29tLCBtYXhFeHRlbnQgfSA9IHZpZXdNb2RlbFxuICAgIGNvbnN0IGNlbnRlciA9IGNlbnRlckluVmlld1Byb2pcbiAgICAgID8gZnJvbUxvbkxhdChjZW50ZXJJblZpZXdQcm9qLCAnRVBTRzozODU3JylcbiAgICAgIDogWzAsIDBdXG4gICAgY29uc3QgdmlldyA9IG5ldyBWaWV3KHtcbiAgICAgIGNlbnRlcixcbiAgICAgIHpvb20sXG4gICAgICBtYXhab29tLFxuICAgICAgZXh0ZW50OiBtYXhFeHRlbnQsXG4gICAgICBtdWx0aVdvcmxkOiBmYWxzZSxcbiAgICAgIGNvbnN0cmFpblJlc29sdXRpb246IHRydWUsXG4gICAgfSlcbiAgICBpZiAodmlld01vZGVsLmV4dGVudCAmJiBtYXApIHtcbiAgICAgIHZpZXcuZml0KHZpZXdNb2RlbC5leHRlbnQsIHtcbiAgICAgICAgc2l6ZTogbWFwLmdldFNpemUoKSxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB2aWV3XG4gIH1cblxuICBhZGREZWZhdWx0QmFzZWxheWVyQ29udGV4dChcbiAgICBsYXllcnM6IE1hcENvbnRleHRMYXllck1vZGVsW11cbiAgKTogTWFwQ29udGV4dExheWVyTW9kZWxbXSB7XG4gICAgcmV0dXJuIGxheWVycy5pbmNsdWRlcyhERUZBVUxUX0JBU0VMQVlFUl9DT05URVhUKVxuICAgICAgPyBsYXllcnNcbiAgICAgIDogW0RFRkFVTFRfQkFTRUxBWUVSX0NPTlRFWFQsIC4uLmxheWVyc11cbiAgfVxuXG4gIG1lcmdlTWFwQ29uZmlnV2l0aENvbnRleHQoXG4gICAgbWFwQ29udGV4dDogTWFwQ29udGV4dE1vZGVsLFxuICAgIG1hcENvbmZpZzogTWFwQ29uZmlnXG4gICk6IE1hcENvbnRleHRNb2RlbCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm1hcENvbnRleHQsXG4gICAgICB2aWV3OiB7XG4gICAgICAgIC4uLm1hcENvbnRleHQudmlldyxcbiAgICAgICAgLi4uKG1hcENvbmZpZy5NQVhfWk9PTSAmJiB7XG4gICAgICAgICAgbWF4Wm9vbTogbWFwQ29uZmlnLk1BWF9aT09NLFxuICAgICAgICB9KSxcbiAgICAgICAgLi4uKG1hcENvbmZpZy5NQVhfRVhURU5UICYmIHtcbiAgICAgICAgICBtYXhFeHRlbnQ6IG1hcENvbmZpZy5NQVhfRVhURU5ULFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICBsYXllcnM6IFtcbiAgICAgICAgLi4uKG1hcENvbmZpZy5ET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUFxuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IFtERUZBVUxUX0JBU0VMQVlFUl9DT05URVhUXSksXG4gICAgICAgIC4uLm1hcENvbmZpZy5NQVBfTEFZRVJTLm1hcCh0aGlzLmdldENvbnRleHRMYXllckZyb21Db25maWcpLFxuICAgICAgICAuLi5tYXBDb250ZXh0LmxheWVycyxcbiAgICAgIF0sXG4gICAgfVxuICB9XG5cbiAgZ2V0RmFsbGJhY2tWaWV3KG1hcENvbmZpZzogTWFwQ29uZmlnKTogTWFwQ29udGV4dFZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIG1hcENvbmZpZz8uTUFYX0VYVEVOVFxuICAgICAgPyB7IGV4dGVudDogbWFwQ29uZmlnLk1BWF9FWFRFTlQgfVxuICAgICAgOiBERUZBVUxUX1ZJRVdcbiAgfVxuXG4gIGdldENvbnRleHRMYXllckZyb21Db25maWcoY29uZmlnOiBMYXllckNvbmZpZyk6IE1hcENvbnRleHRMYXllck1vZGVsIHtcbiAgICBzd2l0Y2ggKGNvbmZpZy5UWVBFKSB7XG4gICAgICBjYXNlICd3bXMnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR5cGU6ICd3bXMnLFxuICAgICAgICAgIHVybDogY29uZmlnLlVSTCxcbiAgICAgICAgICBuYW1lOiBjb25maWcuTkFNRSxcbiAgICAgICAgfVxuICAgICAgY2FzZSAnd2ZzJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAnd2ZzJyxcbiAgICAgICAgICB1cmw6IGNvbmZpZy5VUkwsXG4gICAgICAgICAgbmFtZTogY29uZmlnLk5BTUUsXG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ3h5eic6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogY29uZmlnLlRZUEUsXG4gICAgICAgICAgdXJsOiBjb25maWcuVVJMLFxuICAgICAgICAgIG5hbWU6IGNvbmZpZy5OQU1FLFxuICAgICAgICB9XG4gICAgICBjYXNlICdnZW9qc29uJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiBjb25maWcuVFlQRSxcbiAgICAgICAgICAuLi4oY29uZmlnLkRBVEEgPyB7IGRhdGE6IGNvbmZpZy5EQVRBIH0gOiB7IHVybDogY29uZmlnLlVSTCB9KSxcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
export * from './map-utils.service';
|
|
2
|
-
|
|
3
|
-
export * from './projections';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsZUFBZSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXAtdXRpbHMuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXV0aWxzLXdtcy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0aW9ucydcbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwLXV0aWxzLnNlcnZpY2UnXG4iXX0=
|
|
@@ -3,41 +3,44 @@ import { Injectable } from '@angular/core';
|
|
|
3
3
|
import { extend, isEmpty } from 'ol/extent';
|
|
4
4
|
import GeoJSON from 'ol/format/GeoJSON';
|
|
5
5
|
import Map from 'ol/Map';
|
|
6
|
-
import {
|
|
6
|
+
import { transformExtent } from 'ol/proj';
|
|
7
7
|
import ImageWMS from 'ol/source/ImageWMS';
|
|
8
8
|
import TileWMS from 'ol/source/TileWMS';
|
|
9
9
|
import VectorSource from 'ol/source/Vector';
|
|
10
10
|
import { optionsFromCapabilities } from 'ol/source/WMTS';
|
|
11
|
-
import { DragPan, MouseWheelZoom
|
|
11
|
+
import { defaults, DragPan, MouseWheelZoom } from 'ol/interaction';
|
|
12
12
|
import { mouseOnly, noModifierKeys, platformModifierKeyOnly, primaryAction, } from 'ol/events/condition';
|
|
13
13
|
import WMTSCapabilities from 'ol/format/WMTSCapabilities';
|
|
14
|
-
import { from
|
|
14
|
+
import { from } from 'rxjs';
|
|
15
15
|
import { map } from 'rxjs/operators';
|
|
16
16
|
import { MapContextLayerTypeEnum, } from '../map-context/map-context.model';
|
|
17
|
-
import {
|
|
17
|
+
import { ProxyService } from '../../../../../../libs/util/shared/src';
|
|
18
|
+
import { WmsEndpoint } from '@camptocamp/ogc-client';
|
|
19
|
+
import { LONLAT_CRS_CODES } from '../constant/projections';
|
|
20
|
+
import { fromEPSGCode, register } from 'ol/proj/proj4';
|
|
21
|
+
import proj4 from 'proj4/dist/proj4';
|
|
18
22
|
import * as i0 from "@angular/core";
|
|
19
23
|
import * as i1 from "@angular/common/http";
|
|
20
|
-
import * as i2 from "
|
|
24
|
+
import * as i2 from "../../../../../../libs/util/shared/src";
|
|
21
25
|
const FEATURE_PROJECTION = 'EPSG:3857';
|
|
22
26
|
const DATA_PROJECTION = 'EPSG:4326';
|
|
27
|
+
const GEOJSON = new GeoJSON();
|
|
23
28
|
export class MapUtilsService {
|
|
24
|
-
constructor(http,
|
|
29
|
+
constructor(http, proxy) {
|
|
25
30
|
this.http = http;
|
|
26
|
-
this.
|
|
31
|
+
this.proxy = proxy;
|
|
27
32
|
this.readFeatureCollection = (featureCollection, featureProjection = FEATURE_PROJECTION, dataProjection = DATA_PROJECTION) => {
|
|
28
|
-
|
|
33
|
+
return GEOJSON.readFeatures(featureCollection, {
|
|
29
34
|
featureProjection,
|
|
30
35
|
dataProjection,
|
|
31
36
|
});
|
|
32
|
-
return olFeatures;
|
|
33
37
|
};
|
|
34
38
|
}
|
|
35
39
|
createEmptyMap() {
|
|
36
|
-
|
|
40
|
+
return new Map({
|
|
37
41
|
controls: [],
|
|
38
42
|
pixelRatio: 1,
|
|
39
43
|
});
|
|
40
|
-
return map;
|
|
41
44
|
}
|
|
42
45
|
isWMSLayer(layer) {
|
|
43
46
|
return (layer.getSource() instanceof TileWMS ||
|
|
@@ -52,8 +55,7 @@ export class MapUtilsService {
|
|
|
52
55
|
...source.getParams(),
|
|
53
56
|
INFO_FORMAT: 'application/json',
|
|
54
57
|
};
|
|
55
|
-
|
|
56
|
-
return url;
|
|
58
|
+
return source.getFeatureInfoUrl(coordinate, resolution, projection, params);
|
|
57
59
|
}
|
|
58
60
|
getVectorFeaturesFromClick(olMap, event) {
|
|
59
61
|
const features = [];
|
|
@@ -81,38 +83,56 @@ export class MapUtilsService {
|
|
|
81
83
|
/**
|
|
82
84
|
* Will emit `null` if no extent could be computed
|
|
83
85
|
*/
|
|
84
|
-
getLayerExtent(layer) {
|
|
85
|
-
let
|
|
86
|
+
async getLayerExtent(layer) {
|
|
87
|
+
let latLonExtent;
|
|
86
88
|
if (layer &&
|
|
87
89
|
layer.type === 'geojson' &&
|
|
88
90
|
'data' in layer &&
|
|
89
91
|
typeof layer.data === 'object' &&
|
|
90
92
|
layer.data.features[0] &&
|
|
91
93
|
layer.data.features[0].geometry) {
|
|
92
|
-
|
|
93
|
-
.readFeatures(
|
|
94
|
+
latLonExtent = new GeoJSON()
|
|
95
|
+
.readFeatures(layer.data)
|
|
94
96
|
.map((feature) => feature.getGeometry())
|
|
95
97
|
.filter((geom) => !!geom)
|
|
96
|
-
.reduce((prev, curr) => prev ? extend(prev, curr.getExtent()) : curr.getExtent(), null)
|
|
98
|
+
.reduce((prev, curr) => prev ? extend(prev, curr.getExtent()) : curr.getExtent(), null);
|
|
97
99
|
}
|
|
98
100
|
else if (layer && layer.type === 'wms') {
|
|
99
|
-
|
|
101
|
+
latLonExtent = await this.getWmsLayerExtent(layer);
|
|
100
102
|
}
|
|
101
103
|
else if (layer && layer.type === 'wmts') {
|
|
102
104
|
if (layer.extent) {
|
|
103
|
-
|
|
105
|
+
latLonExtent = layer.extent;
|
|
104
106
|
}
|
|
105
107
|
else {
|
|
106
|
-
return
|
|
108
|
+
return layer.options.tileGrid.getExtent();
|
|
107
109
|
}
|
|
108
110
|
}
|
|
109
111
|
else {
|
|
110
|
-
return
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
if (!latLonExtent || isEmpty(latLonExtent)) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
return transformExtent(latLonExtent, 'EPSG:4326', 'EPSG:3857');
|
|
118
|
+
}
|
|
119
|
+
async getWmsLayerExtent(layer) {
|
|
120
|
+
const endpoint = await new WmsEndpoint(this.proxy.getProxiedUrl(layer.url)).isReady();
|
|
121
|
+
const { boundingBoxes } = endpoint.getLayerByName(layer.name);
|
|
122
|
+
if (!Object.keys(boundingBoxes).length) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const lonLatCRS = Object.keys(boundingBoxes)?.find((crs) => LONLAT_CRS_CODES.includes(crs));
|
|
126
|
+
if (lonLatCRS) {
|
|
127
|
+
return boundingBoxes[lonLatCRS].map(parseFloat);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const availableEPSGCode = Object.keys(boundingBoxes)[0];
|
|
131
|
+
register(proj4);
|
|
132
|
+
const proj = await fromEPSGCode(availableEPSGCode);
|
|
133
|
+
const bboxWithFiniteNumbers = boundingBoxes[availableEPSGCode].map(parseFloat);
|
|
134
|
+
return transformExtent(bboxWithFiniteNumbers, proj, 'EPSG:4326');
|
|
111
135
|
}
|
|
112
|
-
return geographicExtent.pipe(map((extent) => [
|
|
113
|
-
...fromLonLat([extent[0], extent[1]], 'EPSG:3857'),
|
|
114
|
-
...fromLonLat([extent[2], extent[3]], 'EPSG:3857'),
|
|
115
|
-
]), map((extent) => (isEmpty(extent) ? null : extent)));
|
|
116
136
|
}
|
|
117
137
|
getWmtsLayerFromCapabilities(link) {
|
|
118
138
|
const getCapabilitiesUrl = new URL(link.url, window.location.toString());
|
|
@@ -168,7 +188,18 @@ ${e.stack || e.message || e}`);
|
|
|
168
188
|
])
|
|
169
189
|
.getArray());
|
|
170
190
|
}
|
|
171
|
-
|
|
191
|
+
getRecordExtent(record) {
|
|
192
|
+
if (!('spatialExtents' in record)) {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
// transform an array of geojson geometries into a bbox
|
|
196
|
+
const totalExtent = record.spatialExtents.reduce((prev, curr) => {
|
|
197
|
+
const geom = GEOJSON.readGeometry(curr.geometry);
|
|
198
|
+
return extend(prev, geom.getExtent());
|
|
199
|
+
}, [Infinity, Infinity, -Infinity, -Infinity]);
|
|
200
|
+
return transformExtent(totalExtent, 'EPSG:4326', 'EPSG:3857');
|
|
201
|
+
}
|
|
202
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MapUtilsService, deps: [{ token: i1.HttpClient }, { token: i2.ProxyService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
172
203
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MapUtilsService, providedIn: 'root' }); }
|
|
173
204
|
}
|
|
174
205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MapUtilsService, decorators: [{
|
|
@@ -176,7 +207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
176
207
|
args: [{
|
|
177
208
|
providedIn: 'root',
|
|
178
209
|
}]
|
|
179
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.
|
|
210
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ProxyService }]; } });
|
|
180
211
|
export function dragPanCondition(event) {
|
|
181
212
|
const dragPanCondition = this.getPointerCount() === 2 || mouseOnly(event);
|
|
182
213
|
if (!dragPanCondition) {
|
|
@@ -191,4 +222,4 @@ export function mouseWheelZoomCondition(event) {
|
|
|
191
222
|
}
|
|
192
223
|
return platformModifierKeyOnly(event);
|
|
193
224
|
}
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvbWFwLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLE1BQU0sRUFBVSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkQsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFHdkMsT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFBO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFcEMsT0FBTyxRQUFRLE1BQU0sb0JBQW9CLENBQUE7QUFDekMsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFDdkMsT0FBTyxZQUFZLE1BQU0sa0JBQWtCLENBQUE7QUFDM0MsT0FBTyxFQUFXLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFlLE1BQU0sZ0JBQWdCLENBQUE7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGFBQWEsR0FDZCxNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sZ0JBQWdCLE1BQU0sNEJBQTRCLENBQUE7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFFTCx1QkFBdUIsR0FFeEIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFB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U0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtRQUNyQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0tBQ3hDO0lBQ0QsNERBQTREO0lBQzVELE9BQU8sZ0JBQWdCLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUMxRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUVyQyxLQUErQjtJQUUvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7UUFDN0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQUN4QztJQUNELE9BQU8sdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQgeyBleHRlbmQsIEV4dGVudCwgaXNFbXB0eSB9IGZyb20gJ29sL2V4dGVudCdcbmltcG9ydCBPbEZlYXR1cmUsIHsgRmVhdHVyZUxpa2UgfSBmcm9tICdvbC9GZWF0dXJlJ1xuaW1wb3J0IEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nXG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nXG5pbXBvcnQgTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvTGF5ZXInXG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCdcbmltcG9ydCB7IGZyb21Mb25MYXQgfSBmcm9tICdvbC9wcm9qJ1xuaW1wb3J0IFNvdXJjZSBmcm9tICdvbC9zb3VyY2UvU291cmNlJ1xuaW1wb3J0IEltYWdlV01TIGZyb20gJ29sL3NvdXJjZS9JbWFnZVdNUydcbmltcG9ydCBUaWxlV01TIGZyb20gJ29sL3NvdXJjZS9UaWxlV01TJ1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJ1xuaW1wb3J0IHsgT3B0aW9ucywgb3B0aW9uc0Zyb21DYXBhYmlsaXRpZXMgfSBmcm9tICdvbC9zb3VyY2UvV01UUydcbmltcG9ydCB7IERyYWdQYW4sIE1vdXNlV2hlZWxab29tLCBkZWZhdWx0cywgSW50ZXJhY3Rpb24gfSBmcm9tICdvbC9pbnRlcmFjdGlvbidcbmltcG9ydCB7XG4gIG1vdXNlT25seSxcbiAgbm9Nb2RpZmllcktleXMsXG4gIHBsYXRmb3JtTW9kaWZpZXJLZXlPbmx5LFxuICBwcmltYXJ5QWN0aW9uLFxufSBmcm9tICdvbC9ldmVudHMvY29uZGl0aW9uJ1xuaW1wb3J0IFdNVFNDYXBhYmlsaXRpZXMgZnJvbSAnb2wvZm9ybWF0L1dNVFNDYXBhYmlsaXRpZXMnXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7XG4gIE1hcENvbnRleHRMYXllck1vZGVsLFxuICBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bSxcbiAgTWFwQ29udGV4dExheWVyV210c01vZGVsLFxufSBmcm9tICcuLi9tYXAtY29udGV4dC9tYXAtY29udGV4dC5tb2RlbCdcbmltcG9ydCB7IE1hcFV0aWxzV01TU2VydmljZSB9IGZyb20gJy4vbWFwLXV0aWxzLXdtcy5zZXJ2aWNlJ1xuaW1wb3J0IENvbGxlY3Rpb24gZnJvbSAnb2wvQ29sbGVjdGlvbidcbmltcG9ydCBNYXBCcm93c2VyRXZlbnQgZnJvbSAnb2wvTWFwQnJvd3NlckV2ZW50J1xuaW1wb3J0IHsgRGF0YXNldERpc3RyaWJ1dGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuY29uc3QgRkVBVFVSRV9QUk9KRUNUSU9OID0gJ0VQU0c6Mzg1NydcbmNvbnN0IERBVEFfUFJPSkVDVElPTiA9ICdFUFNHOjQzMjYnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBVdGlsc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgd21zVXRpbHM6IE1hcFV0aWxzV01TU2VydmljZSkge31cblxuICBjcmVhdGVFbXB0eU1hcCgpOiBNYXAge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoe1xuICAgICAgY29udHJvbHM6IFtdLFxuICAgICAgcGl4ZWxSYXRpbzogMSxcbiAgICB9KVxuICAgIHJldHVybiBtYXBcbiAgfVxuXG4gIHJlYWRGZWF0dXJlQ29sbGVjdGlvbiA9IChcbiAgICBmZWF0dXJlQ29sbGVjdGlvbjogRmVhdHVyZUNvbGxlY3Rpb24sXG4gICAgZmVhdHVyZVByb2plY3Rpb24gPSBGRUFUVVJFX1BST0pFQ1RJT04sXG4gICAgZGF0YVByb2plY3Rpb24gPSBEQVRBX1BST0pFQ1RJT05cbiAgKTogRmVhdHVyZUxpa2VbXSA9PiB7XG4gICAgY29uc3Qgb2xGZWF0dXJlcyA9IG5ldyBHZW9KU09OKCkucmVhZEZlYXR1cmVzKGZlYXR1cmVDb2xsZWN0aW9uLCB7XG4gICAgICBmZWF0dXJlUHJvamVjdGlvbixcbiAgICAgIGRhdGFQcm9qZWN0aW9uLFxuICAgIH0pXG4gICAgcmV0dXJuIG9sRmVhdHVyZXNcbiAgfVxuXG4gIGlzV01TTGF5ZXIobGF5ZXI6IExheWVyPFNvdXJjZT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbGF5ZXIuZ2V0U291cmNlKCkgaW5zdGFuY2VvZiBUaWxlV01TIHx8XG4gICAgICBsYXllci5nZXRTb3VyY2UoKSBpbnN0YW5jZW9mIEltYWdlV01TXG4gICAgKVxuICB9XG5cbiAgZ2V0R0ZJVXJsKGxheWVyLCBtYXAsIGNvb3JkaW5hdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZpZXcgPSBtYXAuZ2V0VmlldygpXG4gICAgY29uc3QgcHJvamVjdGlvbiA9IHZpZXcuZ2V0UHJvamVjdGlvbigpXG4gICAgY29uc3QgcmVzb2x1dGlvbiA9IHZpZXcuZ2V0UmVzb2x1dGlvbigpXG4gICAgY29uc3Qgc291cmNlID0gbGF5ZXIuZ2V0U291cmNlKClcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAuLi5zb3VyY2UuZ2V0UGFyYW1zKCksXG4gICAgICBJTkZPX0ZPUk1BVDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICBjb25zdCB1cmwgPSBzb3VyY2UuZ2V0RmVhdHVyZUluZm9VcmwoXG4gICAgICBjb29yZGluYXRlLFxuICAgICAgcmVzb2x1dGlvbixcbiAgICAgIHByb2plY3Rpb24sXG4gICAgICBwYXJhbXNcbiAgICApXG4gICAgcmV0dXJuIHVybFxuICB9XG5cbiAgZ2V0VmVjdG9yRmVhdHVyZXNGcm9tQ2xpY2sob2xNYXAsIGV2ZW50KTogT2xGZWF0dXJlPEdlb21ldHJ5PltdIHtcbiAgICBjb25zdCBmZWF0dXJlcyA9IFtdXG4gICAgY29uc3QgaGl0ID0gb2xNYXAuZm9yRWFjaEZlYXR1cmVBdFBpeGVsKFxuICAgICAgZXZlbnQucGl4ZWwsXG4gICAgICAoZmVhdHVyZTogT2xGZWF0dXJlPEdlb21ldHJ5PikgPT4ge1xuICAgICAgICByZXR1cm4gZmVhdHVyZVxuICAgICAgfSxcbiAgICAgIHsgbGF5ZXJGaWx0ZXI6IChsYXllcikgPT4gbGF5ZXIuZ2V0U291cmNlKCkgaW5zdGFuY2VvZiBWZWN0b3JTb3VyY2UgfVxuICAgIClcbiAgICBpZiAoaGl0KSB7XG4gICAgICBmZWF0dXJlcy5wdXNoKGhpdClcbiAgICB9XG4gICAgcmV0dXJuIGZlYXR1cmVzXG4gIH1cblxuICBnZXRHRklGZWF0dXJlc09ic2VydmFibGVzRnJvbUNsaWNrKFxuICAgIG9sTWFwLFxuICAgIGV2ZW50XG4gICk6IE9ic2VydmFibGU8T2xGZWF0dXJlPEdlb21ldHJ5PltdPltdIHtcbiAgICBjb25zdCB3bXNMYXllcnMgPSBvbE1hcC5nZXRMYXllcnMoKS5nZXRBcnJheSgpLmZpbHRlcih0aGlzLmlzV01TTGF5ZXIpXG5cbiAgICBpZiAod21zTGF5ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSB9ID0gZXZlbnRcbiAgICAgIGNvbnN0IGdmaVVybHMgPSB3bXNMYXllcnMucmVkdWNlKFxuICAgICAgICAodXJscywgbGF5ZXIpID0+IFsuLi51cmxzLCB0aGlzLmdldEdGSVVybChsYXllciwgb2xNYXAsIGNvb3JkaW5hdGUpXSxcblxuICAgICAgICBbXVxuICAgICAgKVxuICAgICAgcmV0dXJuIGdmaVVybHMubWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cFxuICAgICAgICAgIC5nZXQ8RmVhdHVyZUNvbGxlY3Rpb24+KHVybClcbiAgICAgICAgICAucGlwZShtYXAoKGNvbGxlY3Rpb24pID0+IHRoaXMucmVhZEZlYXR1cmVDb2xsZWN0aW9uKGNvbGxlY3Rpb24pKSlcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdpbGwgZW1pdCBgbnVsbGAgaWYgbm8gZXh0ZW50IGNvdWxkIGJlIGNvbXB1dGVkXG4gICAqL1xuICBnZXRMYXllckV4dGVudChsYXllcjogTWFwQ29udGV4dExheWVyTW9kZWwpOiBPYnNlcnZhYmxlPEV4dGVudCB8IG51bGw+IHtcbiAgICBsZXQgZ2VvZ3JhcGhpY0V4dGVudDogT2JzZXJ2YWJsZTxFeHRlbnQ+XG4gICAgaWYgKFxuICAgICAgbGF5ZXIgJiZcbiAgICAgIGxheWVyLnR5cGUgPT09ICdnZW9qc29uJyAmJlxuICAgICAgJ2RhdGEnIGluIGxheWVyICYmXG4gICAgICB0eXBlb2YgbGF5ZXIuZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIGxheWVyLmRhdGEuZmVhdHVyZXNbMF0gJiZcbiAgICAgIGxheWVyLmRhdGEuZmVhdHVyZXNbMF0uZ2VvbWV0cnlcbiAgICApIHtcbiAgICAgIGdlb2dyYXBoaWNFeHRlbnQgPSBvZihsYXllci5kYXRhKS5waXBlKFxuICAgICAgICBtYXAoKGxheWVyRGF0YSkgPT5cbiAgICAgICAgICBuZXcgR2VvSlNPTigpXG4gICAgICAgICAgICAucmVhZEZlYXR1cmVzKGxheWVyRGF0YSlcbiAgICAgICAgICAgIC5tYXAoKGZlYXR1cmUpID0+IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGdlb20pID0+ICEhZ2VvbSlcbiAgICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAgIChwcmV2LCBjdXJyKSA9PlxuICAgICAgICAgICAgICAgIHByZXYgPyBleHRlbmQocHJldiwgY3Vyci5nZXRFeHRlbnQoKSkgOiBjdXJyLmdldEV4dGVudCgpLFxuICAgICAgICAgICAgICBudWxsIGFzIEV4dGVudFxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgfSBlbHNlIGlmIChsYXllciAmJiBsYXllci50eXBlID09PSAnd21zJykge1xuICAgICAgZ2VvZ3JhcGhpY0V4dGVudCA9IHRoaXMud21zVXRpbHMuZ2V0TGF5ZXJMb25MYXRCQm94KGxheWVyKVxuICAgIH0gZWxzZSBpZiAobGF5ZXIgJiYgbGF5ZXIudHlwZSA9PT0gJ3dtdHMnKSB7XG4gICAgICBpZiAobGF5ZXIuZXh0ZW50KSB7XG4gICAgICAgIGdlb2dyYXBoaWNFeHRlbnQgPSBvZihsYXllci5leHRlbnQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YobGF5ZXIub3B0aW9ucy50aWxlR3JpZC5nZXRFeHRlbnQoKSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKG51bGwpXG4gICAgfVxuICAgIHJldHVybiBnZW9ncmFwaGljRXh0ZW50LnBpcGUoXG4gICAgICBtYXAoKGV4dGVudCkgPT4gW1xuICAgICAgICAuLi5mcm9tTG9uTGF0KFtleHRlbnRbMF0sIGV4dGVudFsxXV0sICdFUFNHOjM4NTcnKSxcbiAgICAgICAgLi4uZnJvbUxvbkxhdChbZXh0ZW50WzJdLCBleHRlbnRbM11dLCAnRVBTRzozODU3JyksXG4gICAgICBdKSxcbiAgICAgIG1hcCgoZXh0ZW50KSA9PiAoaXNFbXB0eShleHRlbnQpID8gbnVsbCA6IGV4dGVudCkpXG4gICAgKVxuICB9XG5cbiAgZ2V0V210c0xheWVyRnJvbUNhcGFiaWxpdGllcyhcbiAgICBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uXG4gICk6IE9ic2VydmFibGU8TWFwQ29udGV4dExheWVyV210c01vZGVsPiB7XG4gICAgY29uc3QgZ2V0Q2FwYWJpbGl0aWVzVXJsID0gbmV3IFVSTChsaW5rLnVybCwgd2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkpXG4gICAgZ2V0Q2FwYWJpbGl0aWVzVXJsLnNlYXJjaFBhcmFtcy5zZXQoJ1NFUlZJQ0UnLCAnV01UUycpXG4gICAgZ2V0Q2FwYWJpbGl0aWVzVXJsLnNlYXJjaFBhcmFtcy5zZXQoJ1JFUVVFU1QnLCAnR2V0Q2FwYWJpbGl0aWVzJylcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIGZldGNoKGdldENhcGFiaWxpdGllc1VybC50b1N0cmluZygpKVxuICAgICAgICAudGhlbihhc3luYyBmdW5jdGlvbiAocmVzcG9uc2UpIHtcbiAgICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdNVFMgR2V0Q2FwYWJpbGl0aWVzIEhUVFAgcmVxdWVzdCBmYWlsZWQgd2l0aCBjb2RlICR7XG4gICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1c1xuICAgICAgICAgICAgfSBhbmQgYm9keTpcbiR7YXdhaXQgcmVzcG9uc2UudGV4dCgpfWApXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KClcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHRleHQpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFdNVFNDYXBhYmlsaXRpZXMoKS5yZWFkKHRleHQpXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gb3B0aW9uc0Zyb21DYXBhYmlsaXRpZXMocmVzdWx0LCB7XG4gICAgICAgICAgICAgIGxheWVyOiBsaW5rLm5hbWUsXG4gICAgICAgICAgICAgIG1hdHJpeFNldDogJ0VQU0c6Mzg1NycsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXAgPSByZXN1bHQ/LkNvbnRlbnRzPy5MYXllci5maW5kKFxuICAgICAgICAgICAgICAobGF5ZXIpID0+IGxheWVyLklkZW50aWZpZXIgPT09IGxpbmsubmFtZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgICAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uV01UUyBhcyAnd210cycsXG4gICAgICAgICAgICAgIC4uLihsYXllckNhcD8uV0dTODRCb3VuZGluZ0JveFxuICAgICAgICAgICAgICAgID8geyBleHRlbnQ6IGxheWVyQ2FwLldHUzg0Qm91bmRpbmdCb3ggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBXTVRTIEdldENhcGFiaWxpdGllcyBwYXJzaW5nIGZhaWxlZDpcbiR7ZS5zdGFjayB8fCBlLm1lc3NhZ2UgfHwgZX1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcmlvcml0aXplUGFnZVNjcm9sbChpbnRlcmFjdGlvbnM6IENvbGxlY3Rpb248SW50ZXJhY3Rpb24+KSB7XG4gICAgaW50ZXJhY3Rpb25zLmNsZWFyKClcbiAgICBpbnRlcmFjdGlvbnMuZXh0ZW5kKFxuICAgICAgZGVmYXVsdHMoe1xuICAgICAgICAvLyByZW1vdmUgcm90YXRlIGludGVyYWN0aW9uc1xuICAgICAgICBhbHRTaGlmdERyYWdSb3RhdGU6IGZhbHNlLFxuICAgICAgICBwaW5jaFJvdGF0ZTogZmFsc2UsXG4gICAgICAgIC8vIHJlcGxhY2UgZHJhZyBhbmQgem9vbSBpbnRlcmFjdGlvbnNcbiAgICAgICAgZHJhZ1BhbjogZmFsc2UsXG4gICAgICAgIG1vdXNlV2hlZWxab29tOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgICAgIC5leHRlbmQoW1xuICAgICAgICAgIG5ldyBEcmFnUGFuKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogZHJhZ1BhbkNvbmRpdGlvbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBuZXcgTW91c2VXaGVlbFpvb20oe1xuICAgICAgICAgICAgY29uZGl0aW9uOiBtb3VzZVdoZWVsWm9vbUNvbmRpdGlvbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSlcbiAgICAgICAgLmdldEFycmF5KClcbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRyYWdQYW5Db25kaXRpb24oXG4gIHRoaXM6IERyYWdQYW4sXG4gIGV2ZW50OiBNYXBCcm93c2VyRXZlbnQ8UG9pbnRlckV2ZW50PlxuKSB7XG4gIGNvbnN0IGRyYWdQYW5Db25kaXRpb24gPSB0aGlzLmdldFBvaW50ZXJDb3VudCgpID09PSAyIHx8IG1vdXNlT25seShldmVudClcbiAgaWYgKCFkcmFnUGFuQ29uZGl0aW9uKSB7XG4gICAgdGhpcy5nZXRNYXAoKS5kaXNwYXRjaEV2ZW50KCdtYXBtdXRlZCcpXG4gIH1cbiAgLy8gY29tYmluZSB0aGUgY29uZGl0aW9uIHdpdGggdGhlIGRlZmF1bHQgRHJhZ1BhbiBjb25kaXRpb25zXG4gIHJldHVybiBkcmFnUGFuQ29uZGl0aW9uICYmIG5vTW9kaWZpZXJLZXlzKGV2ZW50KSAmJiBwcmltYXJ5QWN0aW9uKGV2ZW50KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW91c2VXaGVlbFpvb21Db25kaXRpb24oXG4gIHRoaXM6IE1vdXNlV2hlZWxab29tLFxuICBldmVudDogTWFwQnJvd3NlckV2ZW50PFVJRXZlbnQ+XG4pIHtcbiAgaWYgKCFwbGF0Zm9ybU1vZGlmaWVyS2V5T25seShldmVudCkgJiYgZXZlbnQudHlwZSA9PT0gJ3doZWVsJykge1xuICAgIHRoaXMuZ2V0TWFwKCkuZGlzcGF0Y2hFdmVudCgnbWFwbXV0ZWQnKVxuICB9XG4gIHJldHVybiBwbGF0Zm9ybU1vZGlmaWVyS2V5T25seShldmVudClcbn1cbiJdfQ==
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvbWFwLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLE1BQU0sRUFBVSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkQsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFHdkMsT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFBO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFekMsT0FBTyxRQUFRLE1BQU0sb0JBQW9CLENBQUE7QUFDekMsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFDdkMsT0FBTyxZQUFZLE1BQU0sa0JBQWtCLENBQUE7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGFBQWEsR0FDZCxNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sZ0JBQWdCLE1BQU0sNEJBQTRCLENBQUE7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUVMLHVCQUF1QixHQUd4QixNQUFNLGtDQUFrQyxDQUFBO0FBT3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FB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QUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQWdPRCxNQUFNLFVBQVUsZ0JBQWdCLENBRTlCLEtBQW9DO0lBRXBDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUE7S0FDeEM7SUFDRCw0REFBNEQ7SUFDNUQsT0FBTyxnQkFBZ0IsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQzFFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBRXJDLEtBQStCO0lBRS9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtRQUM3RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0tBQ3hDO0lBQ0QsT0FBTyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IGV4dGVuZCwgRXh0ZW50LCBpc0VtcHR5IH0gZnJvbSAnb2wvZXh0ZW50J1xuaW1wb3J0IEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSdcbmltcG9ydCBHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJ1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJ1xuaW1wb3J0IExheWVyIGZyb20gJ29sL2xheWVyL0xheWVyJ1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnXG5pbXBvcnQgeyB0cmFuc2Zvcm1FeHRlbnQgfSBmcm9tICdvbC9wcm9qJ1xuaW1wb3J0IFNvdXJjZSBmcm9tICdvbC9zb3VyY2UvU291cmNlJ1xuaW1wb3J0IEltYWdlV01TIGZyb20gJ29sL3NvdXJjZS9JbWFnZVdNUydcbmltcG9ydCBUaWxlV01TIGZyb20gJ29sL3NvdXJjZS9UaWxlV01TJ1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJ1xuaW1wb3J0IHsgb3B0aW9uc0Zyb21DYXBhYmlsaXRpZXMgfSBmcm9tICdvbC9zb3VyY2UvV01UUydcbmltcG9ydCB7IGRlZmF1bHRzLCBEcmFnUGFuLCBJbnRlcmFjdGlvbiwgTW91c2VXaGVlbFpvb20gfSBmcm9tICdvbC9pbnRlcmFjdGlvbidcbmltcG9ydCB7XG4gIG1vdXNlT25seSxcbiAgbm9Nb2RpZmllcktleXMsXG4gIHBsYXRmb3JtTW9kaWZpZXJLZXlPbmx5LFxuICBwcmltYXJ5QWN0aW9uLFxufSBmcm9tICdvbC9ldmVudHMvY29uZGl0aW9uJ1xuaW1wb3J0IFdNVFNDYXBhYmlsaXRpZXMgZnJvbSAnb2wvZm9ybWF0L1dNVFNDYXBhYmlsaXRpZXMnXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHtcbiAgTWFwQ29udGV4dExheWVyTW9kZWwsXG4gIE1hcENvbnRleHRMYXllclR5cGVFbnVtLFxuICBNYXBDb250ZXh0TGF5ZXJXbXNNb2RlbCxcbiAgTWFwQ29udGV4dExheWVyV210c01vZGVsLFxufSBmcm9tICcuLi9tYXAtY29udGV4dC9tYXAtY29udGV4dC5tb2RlbCdcbmltcG9ydCBDb2xsZWN0aW9uIGZyb20gJ29sL0NvbGxlY3Rpb24nXG5pbXBvcnQgTWFwQnJvd3NlckV2ZW50IGZyb20gJ29sL01hcEJyb3dzZXJFdmVudCdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIERhdGFzZXREaXN0cmlidXRpb24sXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IFByb3h5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgV21zRW5kcG9pbnQgfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgTE9OTEFUX0NSU19DT0RFUyB9IGZyb20gJy4uL2NvbnN0YW50L3Byb2plY3Rpb25zJ1xuaW1wb3J0IHsgZnJvbUVQU0dDb2RlLCByZWdpc3RlciB9IGZyb20gJ29sL3Byb2ovcHJvajQnXG5pbXBvcnQgcHJvajQgZnJvbSAncHJvajQvZGlzdC9wcm9qNCdcblxuY29uc3QgRkVBVFVSRV9QUk9KRUNUSU9OID0gJ0VQU0c6Mzg1NydcbmNvbnN0IERBVEFfUFJPSkVDVElPTiA9ICdFUFNHOjQzMjYnXG5cbmNvbnN0IEdFT0pTT04gPSBuZXcgR2VvSlNPTigpXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBVdGlsc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcHJveHk6IFByb3h5U2VydmljZSkge31cblxuICBjcmVhdGVFbXB0eU1hcCgpOiBNYXAge1xuICAgIHJldHVybiBuZXcgTWFwKHtcbiAgICAgIGNvbnRyb2xzOiBbXSxcbiAgICAgIHBpeGVsUmF0aW86IDEsXG4gICAgfSlcbiAgfVxuXG4gIHJlYWRGZWF0dXJlQ29sbGVjdGlvbiA9IChcbiAgICBmZWF0dXJlQ29sbGVjdGlvbjogRmVhdHVyZUNvbGxlY3Rpb24sXG4gICAgZmVhdHVyZVByb2plY3Rpb24gPSBGRUFUVVJFX1BST0pFQ1RJT04sXG4gICAgZGF0YVByb2plY3Rpb24gPSBEQVRBX1BST0pFQ1RJT05cbiAgKTogRmVhdHVyZTxHZW9tZXRyeT5bXSA9PiB7XG4gICAgcmV0dXJuIEdFT0pTT04ucmVhZEZlYXR1cmVzKGZlYXR1cmVDb2xsZWN0aW9uLCB7XG4gICAgICBmZWF0dXJlUHJvamVjdGlvbixcbiAgICAgIGRhdGFQcm9qZWN0aW9uLFxuICAgIH0pIGFzIEZlYXR1cmU8R2VvbWV0cnk+W11cbiAgfVxuXG4gIGlzV01TTGF5ZXIobGF5ZXI6IExheWVyPFNvdXJjZT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbGF5ZXIuZ2V0U291cmNlKCkgaW5zdGFuY2VvZiBUaWxlV01TIHx8XG4gICAgICBsYXllci5nZXRTb3VyY2UoKSBpbnN0YW5jZW9mIEltYWdlV01TXG4gICAgKVxuICB9XG5cbiAgZ2V0R0ZJVXJsKGxheWVyLCBtYXAsIGNvb3JkaW5hdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZpZXcgPSBtYXAuZ2V0VmlldygpXG4gICAgY29uc3QgcHJvamVjdGlvbiA9IHZpZXcuZ2V0UHJvamVjdGlvbigpXG4gICAgY29uc3QgcmVzb2x1dGlvbiA9IHZpZXcuZ2V0UmVzb2x1dGlvbigpXG4gICAgY29uc3Qgc291cmNlID0gbGF5ZXIuZ2V0U291cmNlKClcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAuLi5zb3VyY2UuZ2V0UGFyYW1zKCksXG4gICAgICBJTkZPX0ZPUk1BVDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH1cbiAgICByZXR1cm4gc291cmNlLmdldEZlYXR1cmVJbmZvVXJsKGNvb3JkaW5hdGUsIHJlc29sdXRpb24sIHByb2plY3Rpb24sIHBhcmFtcylcbiAgfVxuXG4gIGdldFZlY3RvckZlYXR1cmVzRnJvbUNsaWNrKG9sTWFwLCBldmVudCk6IEZlYXR1cmU8R2VvbWV0cnk+W10ge1xuICAgIGNvbnN0IGZlYXR1cmVzID0gW11cbiAgICBjb25zdCBoaXQgPSBvbE1hcC5mb3JFYWNoRmVhdHVyZUF0UGl4ZWwoXG4gICAgICBldmVudC5waXhlbCxcbiAgICAgIChmZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PikgPT4ge1xuICAgICAgICByZXR1cm4gZmVhdHVyZVxuICAgICAgfSxcbiAgICAgIHsgbGF5ZXJGaWx0ZXI6IChsYXllcikgPT4gbGF5ZXIuZ2V0U291cmNlKCkgaW5zdGFuY2VvZiBWZWN0b3JTb3VyY2UgfVxuICAgIClcbiAgICBpZiAoaGl0KSB7XG4gICAgICBmZWF0dXJlcy5wdXNoKGhpdClcbiAgICB9XG4gICAgcmV0dXJuIGZlYXR1cmVzXG4gIH1cblxuICBnZXRHRklGZWF0dXJlc09ic2VydmFibGVzRnJvbUNsaWNrKFxuICAgIG9sTWFwOiBNYXAsXG4gICAgZXZlbnQ6IE1hcEJyb3dzZXJFdmVudDxQb2ludGVyRXZlbnQ+XG4gICk6IE9ic2VydmFibGU8RmVhdHVyZTxHZW9tZXRyeT5bXT5bXSB7XG4gICAgY29uc3Qgd21zTGF5ZXJzID0gb2xNYXAuZ2V0TGF5ZXJzKCkuZ2V0QXJyYXkoKS5maWx0ZXIodGhpcy5pc1dNU0xheWVyKVxuXG4gICAgaWYgKHdtc0xheWVycy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB7IGNvb3JkaW5hdGUgfSA9IGV2ZW50XG4gICAgICBjb25zdCBnZmlVcmxzID0gd21zTGF5ZXJzLnJlZHVjZShcbiAgICAgICAgKHVybHMsIGxheWVyKSA9PiBbLi4udXJscywgdGhpcy5nZXRHRklVcmwobGF5ZXIsIG9sTWFwLCBjb29yZGluYXRlKV0sXG5cbiAgICAgICAgW11cbiAgICAgIClcbiAgICAgIHJldHVybiBnZmlVcmxzLm1hcCgodXJsKSA9PlxuICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAuZ2V0PEZlYXR1cmVDb2xsZWN0aW9uPih1cmwpXG4gICAgICAgICAgLnBpcGUobWFwKChjb2xsZWN0aW9uKSA9PiB0aGlzLnJlYWRGZWF0dXJlQ29sbGVjdGlvbihjb2xsZWN0aW9uKSkpXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaWxsIGVtaXQgYG51bGxgIGlmIG5vIGV4dGVudCBjb3VsZCBiZSBjb21wdXRlZFxuICAgKi9cbiAgYXN5bmMgZ2V0TGF5ZXJFeHRlbnQobGF5ZXI6IE1hcENvbnRleHRMYXllck1vZGVsKTogUHJvbWlzZTxFeHRlbnQgfCBudWxsPiB7XG4gICAgbGV0IGxhdExvbkV4dGVudDogRXh0ZW50XG4gICAgaWYgKFxuICAgICAgbGF5ZXIgJiZcbiAgICAgIGxheWVyLnR5cGUgPT09ICdnZW9qc29uJyAmJlxuICAgICAgJ2RhdGEnIGluIGxheWVyICYmXG4gICAgICB0eXBlb2YgbGF5ZXIuZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIGxheWVyLmRhdGEuZmVhdHVyZXNbMF0gJiZcbiAgICAgIGxheWVyLmRhdGEuZmVhdHVyZXNbMF0uZ2VvbWV0cnlcbiAgICApIHtcbiAgICAgIGxhdExvbkV4dGVudCA9IG5ldyBHZW9KU09OKClcbiAgICAgICAgLnJlYWRGZWF0dXJlcyhsYXllci5kYXRhKVxuICAgICAgICAubWFwKChmZWF0dXJlKSA9PiBmZWF0dXJlLmdldEdlb21ldHJ5KCkpXG4gICAgICAgIC5maWx0ZXIoKGdlb20pID0+ICEhZ2VvbSlcbiAgICAgICAgLnJlZHVjZShcbiAgICAgICAgICAocHJldiwgY3VycikgPT5cbiAgICAgICAgICAgIHByZXYgPyBleHRlbmQocHJldiwgY3Vyci5nZXRFeHRlbnQoKSkgOiBjdXJyLmdldEV4dGVudCgpLFxuICAgICAgICAgIG51bGwgYXMgRXh0ZW50XG4gICAgICAgIClcbiAgICB9IGVsc2UgaWYgKGxheWVyICYmIGxheWVyLnR5cGUgPT09ICd3bXMnKSB7XG4gICAgICBsYXRMb25FeHRlbnQgPSBhd2FpdCB0aGlzLmdldFdtc0xheWVyRXh0ZW50KGxheWVyKVxuICAgIH0gZWxzZSBpZiAobGF5ZXIgJiYgbGF5ZXIudHlwZSA9PT0gJ3dtdHMnKSB7XG4gICAgICBpZiAobGF5ZXIuZXh0ZW50KSB7XG4gICAgICAgIGxhdExvbkV4dGVudCA9IGxheWVyLmV4dGVudFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGxheWVyLm9wdGlvbnMudGlsZUdyaWQuZ2V0RXh0ZW50KClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgaWYgKCFsYXRMb25FeHRlbnQgfHwgaXNFbXB0eShsYXRMb25FeHRlbnQpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICByZXR1cm4gdHJhbnNmb3JtRXh0ZW50KGxhdExvbkV4dGVudCwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKVxuICB9XG5cbiAgYXN5bmMgZ2V0V21zTGF5ZXJFeHRlbnQoXG4gICAgbGF5ZXI6IE1hcENvbnRleHRMYXllcldtc01vZGVsXG4gICk6IFByb21pc2U8RXh0ZW50IHwgbnVsbD4ge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gYXdhaXQgbmV3IFdtc0VuZHBvaW50KFxuICAgICAgdGhpcy5wcm94eS5nZXRQcm94aWVkVXJsKGxheWVyLnVybClcbiAgICApLmlzUmVhZHkoKVxuICAgIGNvbnN0IHsgYm91bmRpbmdCb3hlcyB9ID0gZW5kcG9pbnQuZ2V0TGF5ZXJCeU5hbWUobGF5ZXIubmFtZSlcbiAgICBpZiAoIU9iamVjdC5rZXlzKGJvdW5kaW5nQm94ZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgbG9uTGF0Q1JTID0gT2JqZWN0LmtleXMoYm91bmRpbmdCb3hlcyk/LmZpbmQoKGNycykgPT5cbiAgICAgIExPTkxBVF9DUlNfQ09ERVMuaW5jbHVkZXMoY3JzKVxuICAgIClcbiAgICBpZiAobG9uTGF0Q1JTKSB7XG4gICAgICByZXR1cm4gYm91bmRpbmdCb3hlc1tsb25MYXRDUlNdLm1hcChwYXJzZUZsb2F0KVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhdmFpbGFibGVFUFNHQ29kZSA9IE9iamVjdC5rZXlzKGJvdW5kaW5nQm94ZXMpWzBdXG4gICAgICByZWdpc3Rlcihwcm9qNClcbiAgICAgIGNvbnN0IHByb2ogPSBhd2FpdCBmcm9tRVBTR0NvZGUoYXZhaWxhYmxlRVBTR0NvZGUpXG4gICAgICBjb25zdCBiYm94V2l0aEZpbml0ZU51bWJlcnMgPVxuICAgICAgICBib3VuZGluZ0JveGVzW2F2YWlsYWJsZUVQU0dDb2RlXS5tYXAocGFyc2VGbG9hdClcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1FeHRlbnQoYmJveFdpdGhGaW5pdGVOdW1iZXJzLCBwcm9qLCAnRVBTRzo0MzI2JylcbiAgICB9XG4gIH1cblxuICBnZXRXbXRzTGF5ZXJGcm9tQ2FwYWJpbGl0aWVzKFxuICAgIGxpbms6IERhdGFzZXREaXN0cmlidXRpb25cbiAgKTogT2JzZXJ2YWJsZTxNYXBDb250ZXh0TGF5ZXJXbXRzTW9kZWw+IHtcbiAgICBjb25zdCBnZXRDYXBhYmlsaXRpZXNVcmwgPSBuZXcgVVJMKGxpbmsudXJsLCB3aW5kb3cubG9jYXRpb24udG9TdHJpbmcoKSlcbiAgICBnZXRDYXBhYmlsaXRpZXNVcmwuc2VhcmNoUGFyYW1zLnNldCgnU0VSVklDRScsICdXTVRTJylcbiAgICBnZXRDYXBhYmlsaXRpZXNVcmwuc2VhcmNoUGFyYW1zLnNldCgnUkVRVUVTVCcsICdHZXRDYXBhYmlsaXRpZXMnKVxuICAgIHJldHVybiBmcm9tKFxuICAgICAgZmV0Y2goZ2V0Q2FwYWJpbGl0aWVzVXJsLnRvU3RyaW5nKCkpXG4gICAgICAgIC50aGVuKGFzeW5jIGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgV01UUyBHZXRDYXBhYmlsaXRpZXMgSFRUUCByZXF1ZXN0IGZhaWxlZCB3aXRoIGNvZGUgJHtcbiAgICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzXG4gICAgICAgICAgICB9IGFuZCBib2R5OlxuJHthd2FpdCByZXNwb25zZS50ZXh0KCl9YClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKVxuICAgICAgICB9KVxuICAgICAgICAudGhlbihmdW5jdGlvbiAodGV4dCkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgV01UU0NhcGFiaWxpdGllcygpLnJlYWQodGV4dClcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBvcHRpb25zRnJvbUNhcGFiaWxpdGllcyhyZXN1bHQsIHtcbiAgICAgICAgICAgICAgbGF5ZXI6IGxpbmsubmFtZSxcbiAgICAgICAgICAgICAgbWF0cml4U2V0OiAnRVBTRzozODU3JyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBjb25zdCBsYXllckNhcCA9IHJlc3VsdD8uQ29udGVudHM/LkxheWVyLmZpbmQoXG4gICAgICAgICAgICAgIChsYXllcikgPT4gbGF5ZXIuSWRlbnRpZmllciA9PT0gbGluay5uYW1lXG4gICAgICAgICAgICApXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgICB0eXBlOiBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bS5XTVRTIGFzICd3bXRzJyxcbiAgICAgICAgICAgICAgLi4uKGxheWVyQ2FwPy5XR1M4NEJvdW5kaW5nQm94XG4gICAgICAgICAgICAgICAgPyB7IGV4dGVudDogbGF5ZXJDYXAuV0dTODRCb3VuZGluZ0JveCB9XG4gICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdNVFMgR2V0Q2FwYWJpbGl0aWVzIHBhcnNpbmcgZmFpbGVkOlxuJHtlLnN0YWNrIHx8IGUubWVzc2FnZSB8fCBlfWApXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaW9yaXRpemVQYWdlU2Nyb2xsKGludGVyYWN0aW9uczogQ29sbGVjdGlvbjxJbnRlcmFjdGlvbj4pIHtcbiAgICBpbnRlcmFjdGlvbnMuY2xlYXIoKVxuICAgIGludGVyYWN0aW9ucy5leHRlbmQoXG4gICAgICBkZWZhdWx0cyh7XG4gICAgICAgIC8vIHJlbW92ZSByb3RhdGUgaW50ZXJhY3Rpb25zXG4gICAgICAgIGFsdFNoaWZ0RHJhZ1JvdGF0ZTogZmFsc2UsXG4gICAgICAgIHBpbmNoUm90YXRlOiBmYWxzZSxcbiAgICAgICAgLy8gcmVwbGFjZSBkcmFnIGFuZCB6b29tIGludGVyYWN0aW9uc1xuICAgICAgICBkcmFnUGFuOiBmYWxzZSxcbiAgICAgICAgbW91c2VXaGVlbFpvb206IGZhbHNlLFxuICAgICAgfSlcbiAgICAgICAgLmV4dGVuZChbXG4gICAgICAgICAgbmV3IERyYWdQYW4oe1xuICAgICAgICAgICAgY29uZGl0aW9uOiBkcmFnUGFuQ29uZGl0aW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBNb3VzZVdoZWVsWm9vbSh7XG4gICAgICAgICAgICBjb25kaXRpb246IG1vdXNlV2hlZWxab29tQ29uZGl0aW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdKVxuICAgICAgICAuZ2V0QXJyYXkoKVxuICAgIClcbiAgfVxuXG4gIGdldFJlY29yZEV4dGVudChyZWNvcmQ6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD4pOiBFeHRlbnQge1xuICAgIGlmICghKCdzcGF0aWFsRXh0ZW50cycgaW4gcmVjb3JkKSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgLy8gdHJhbnNmb3JtIGFuIGFycmF5IG9mIGdlb2pzb24gZ2VvbWV0cmllcyBpbnRvIGEgYmJveFxuICAgIGNvbnN0IHRvdGFsRXh0ZW50ID0gcmVjb3JkLnNwYXRpYWxFeHRlbnRzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgIGNvbnN0IGdlb20gPSBHRU9KU09OLnJlYWRHZW9tZXRyeShjdXJyLmdlb21ldHJ5KVxuICAgICAgICByZXR1cm4gZXh0ZW5kKHByZXYsIGdlb20uZ2V0RXh0ZW50KCkpXG4gICAgICB9LFxuICAgICAgW0luZmluaXR5LCBJbmZpbml0eSwgLUluZmluaXR5LCAtSW5maW5pdHldXG4gICAgKVxuICAgIHJldHVybiB0cmFuc2Zvcm1FeHRlbnQodG90YWxFeHRlbnQsICdFUFNHOjQzMjYnLCAnRVBTRzozODU3JylcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJhZ1BhbkNvbmRpdGlvbihcbiAgdGhpczogRHJhZ1BhbixcbiAgZXZlbnQ6IE1hcEJyb3dzZXJFdmVudDxQb2ludGVyRXZlbnQ+XG4pIHtcbiAgY29uc3QgZHJhZ1BhbkNvbmRpdGlvbiA9IHRoaXMuZ2V0UG9pbnRlckNvdW50KCkgPT09IDIgfHwgbW91c2VPbmx5KGV2ZW50KVxuICBpZiAoIWRyYWdQYW5Db25kaXRpb24pIHtcbiAgICB0aGlzLmdldE1hcCgpLmRpc3BhdGNoRXZlbnQoJ21hcG11dGVkJylcbiAgfVxuICAvLyBjb21iaW5lIHRoZSBjb25kaXRpb24gd2l0aCB0aGUgZGVmYXVsdCBEcmFnUGFuIGNvbmRpdGlvbnNcbiAgcmV0dXJuIGRyYWdQYW5Db25kaXRpb24gJiYgbm9Nb2RpZmllcktleXMoZXZlbnQpICYmIHByaW1hcnlBY3Rpb24oZXZlbnQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3VzZVdoZWVsWm9vbUNvbmRpdGlvbihcbiAgdGhpczogTW91c2VXaGVlbFpvb20sXG4gIGV2ZW50OiBNYXBCcm93c2VyRXZlbnQ8VUlFdmVudD5cbikge1xuICBpZiAoIXBsYXRmb3JtTW9kaWZpZXJLZXlPbmx5KGV2ZW50KSAmJiBldmVudC50eXBlID09PSAnd2hlZWwnKSB7XG4gICAgdGhpcy5nZXRNYXAoKS5kaXNwYXRjaEV2ZW50KCdtYXBtdXRlZCcpXG4gIH1cbiAgcmV0dXJuIHBsYXRmb3JtTW9kaWZpZXJLZXlPbmx5KGV2ZW50KVxufVxuIl19
|
package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs
CHANGED
|
@@ -23,18 +23,18 @@ export class DataViewPermalinkComponent {
|
|
|
23
23
|
if (config) {
|
|
24
24
|
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
25
25
|
const url = new URL(`${this.wcEmbedderBaseUrl}`, window.location.origin);
|
|
26
|
-
url.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
url.searchParams.set('v', `${this.version}`);
|
|
27
|
+
url.searchParams.append('e', `gn-dataset-view-chart`);
|
|
28
|
+
url.searchParams.append('a', `api-url=${this.config.basePath}`);
|
|
29
|
+
url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
|
|
30
|
+
url.searchParams.append('a', `primary-color=#0f4395`);
|
|
31
|
+
url.searchParams.append('a', `secondary-color=#8bc832`);
|
|
32
|
+
url.searchParams.append('a', `main-color=#555`);
|
|
33
|
+
url.searchParams.append('a', `background-color=#fdfbff`);
|
|
34
|
+
url.searchParams.append('a', `aggregation=${aggregation}`);
|
|
35
|
+
url.searchParams.append('a', `x-property=${xProperty}`);
|
|
36
|
+
url.searchParams.append('a', `y-property=${yProperty}`);
|
|
37
|
+
url.searchParams.append('a', `chart-type=${chartType}`);
|
|
38
38
|
return url.toString();
|
|
39
39
|
}
|
|
40
40
|
return '';
|
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
58
58
|
type: Inject,
|
|
59
59
|
args: [GN_UI_VERSION]
|
|
60
60
|
}] }, { type: i1.MdViewFacade }]; } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LXBlcm1hbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvZGF0YS12aWV3LXBlcm1hbGluay9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXctcGVybWFsaW5rL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7Ozs7O0FBRXRELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUMxRCx5QkFBeUIsQ0FDMUIsQ0FBQTtBQVFELE1BQU0sT0FBTywwQkFBMEI7SUEyQnJDLFlBQ2lDLE1BQXFCLEVBRzFDLGlCQUF5QixFQUNKLE9BQWUsRUFDdEMsTUFBb0I7UUFMRyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBRzFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUNKLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDdEMsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQWhDOUIsa0JBQWEsR0FBRyxhQUFhLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztTQUN0QixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQTtnQkFDL0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUN4RSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtnQkFDNUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLENBQUE7Z0JBQ3JELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtnQkFDL0QsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLGNBQWMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtnQkFDdkUsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLENBQUE7Z0JBQ3JELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxDQUFBO2dCQUN2RCxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtnQkFDL0MsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDLENBQUE7Z0JBQ3hELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxlQUFlLFdBQVcsRUFBRSxDQUFDLENBQUE7Z0JBQzFELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxjQUFjLFNBQVMsRUFBRSxDQUFDLENBQUE7Z0JBQ3ZELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxjQUFjLFNBQVMsRUFBRSxDQUFDLENBQUE7Z0JBQ3ZELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxjQUFjLFNBQVMsRUFBRSxDQUFDLENBQUE7Z0JBQ3ZELE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFBO2FBQ3RCO1lBQ0QsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBU0UsQ0FBQzs4R0FsQ08sMEJBQTBCLGtCQTRCM0IsYUFBYSxhQUViLDBCQUEwQiw2QkFFMUIsYUFBYTtrR0FoQ1osMEJBQTBCLGlFQ3RCdkMsOEtBS0E7OzJGRGlCYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE4QjVDLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCOzswQkFFakMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9nbjQvc3JjJ1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE1kVmlld0ZhY2FkZSB9IGZyb20gJy4uL3N0YXRlJ1xuaW1wb3J0IHsgR05fVUlfVkVSU0lPTiB9IGZyb20gJy4uL2duLXVpLXZlcnNpb24udG9rZW4nXG5cbmV4cG9ydCBjb25zdCBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAnd2ViQ29tcG9uZW50RW1iZWRkZXJVcmwnXG4pXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRhdGEtdmlldy1wZXJtYWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS12aWV3LXBlcm1hbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdQZXJtYWxpbmtDb21wb25lbnQge1xuICBwZXJtYWxpbmtVcmwkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5mYWNhZGUuY2hhcnRDb25maWckLFxuICAgIHRoaXMuZmFjYWRlLm1ldGFkYXRhJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtjb25maWcsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICBjb25zdCB7IGFnZ3JlZ2F0aW9uLCB4UHJvcGVydHksIHlQcm9wZXJ0eSwgY2hhcnRUeXBlIH0gPSBjb25maWdcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChgJHt0aGlzLndjRW1iZWRkZXJCYXNlVXJsfWAsIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCd2JywgYCR7dGhpcy52ZXJzaW9ufWApXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdlJywgYGduLWRhdGFzZXQtdmlldy1jaGFydGApXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYGFwaS11cmw9JHt0aGlzLmNvbmZpZy5iYXNlUGF0aH1gKVxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBkYXRhc2V0LWlkPSR7bWV0YWRhdGEudW5pcXVlSWRlbnRpZmllcn1gKVxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBwcmltYXJ5LWNvbG9yPSMwZjQzOTVgKVxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBzZWNvbmRhcnktY29sb3I9IzhiYzgzMmApXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYG1haW4tY29sb3I9IzU1NWApXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYGJhY2tncm91bmQtY29sb3I9I2ZkZmJmZmApXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYGFnZ3JlZ2F0aW9uPSR7YWdncmVnYXRpb259YClcbiAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgeC1wcm9wZXJ0eT0ke3hQcm9wZXJ0eX1gKVxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGB5LXByb3BlcnR5PSR7eVByb3BlcnR5fWApXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYGNoYXJ0LXR5cGU9JHtjaGFydFR5cGV9YClcbiAgICAgICAgcmV0dXJuIHVybC50b1N0cmluZygpXG4gICAgICB9XG4gICAgICByZXR1cm4gJydcbiAgICB9KVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDb25maWd1cmF0aW9uKSBwcml2YXRlIGNvbmZpZzogQ29uZmlndXJhdGlvbixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkwpXG4gICAgcHJvdGVjdGVkIHdjRW1iZWRkZXJCYXNlVXJsOiBzdHJpbmcsXG4gICAgQEluamVjdChHTl9VSV9WRVJTSU9OKSBwcml2YXRlIHZlcnNpb246IHN0cmluZyxcbiAgICBwcml2YXRlIGZhY2FkZTogTWRWaWV3RmFjYWRlXG4gICkge31cbn1cbiIsIjxnbi11aS1jb3B5LXRleHQtYnV0dG9uXG4gICpuZ0lmPVwid2NFbWJlZGRlckJhc2VVcmxcIlxuICBbdGV4dF09XCJwZXJtYWxpbmtVcmwkIHwgYXN5bmNcIlxuICBbdG9vbHRpcFRleHRdPVwiJ3Rvb2x0aXAudXJsLmNvcHknIHwgdHJhbnNsYXRlXCJcbj48L2duLXVpLWNvcHktdGV4dC1idXR0b24+XG4iXX0=
|