geonetwork-ui 2.6.0-dev.9df114cd4 → 2.6.0-dev.a0bd52a21
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +42 -6
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +8 -4
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +5 -2
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -5
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -12
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +79 -16
- package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +7 -1
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +45 -9
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +32 -2
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +25 -6
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +273 -0
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/index.mjs +2 -4
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
- package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +33 -7
- package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +14 -5
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -15
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
- package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
- package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
- package/esm2022/libs/feature/search/src/index.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/constants.mjs +4 -2
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -3
- package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
- package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +30 -10
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
- package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
- package/esm2022/libs/ui/elements/src/index.mjs +5 -1
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
- package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +55 -0
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +42 -83
- package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +59 -0
- package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +68 -0
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -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 +8 -5
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +37 -12
- package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +5 -1
- package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +72 -0
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +17 -7
- package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +169 -0
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +26 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +3 -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 +2 -2
- 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/inline-filter/inline-filter.component.mjs +42 -0
- package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
- package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
- package/esm2022/libs/ui/layout/src/index.mjs +3 -1
- package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/cell-popin/cell-popin.component.mjs +110 -0
- package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +25 -3
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
- package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +73 -0
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
- package/esm2022/libs/ui/map/src/index.mjs +2 -1
- package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
- package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
- package/esm2022/libs/ui/search/src/index.mjs +3 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
- package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
- package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
- package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +21 -12
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +39 -17
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +19 -5
- package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
- package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
- package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +42 -1
- package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +24 -2
- package/esm2022/libs/util/shared/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +16 -6
- package/esm2022/translations/de.json +75 -8
- package/esm2022/translations/en.json +77 -10
- package/esm2022/translations/es.json +74 -7
- package/esm2022/translations/fr.json +76 -9
- package/esm2022/translations/it.json +81 -14
- package/esm2022/translations/nl.json +74 -7
- package/esm2022/translations/pt.json +74 -7
- package/fesm2022/geonetwork-ui.mjs +3585 -1487
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +1 -0
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
- package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -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/types/metadata.model.d.ts +0 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
- 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.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +13 -2
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +23 -17
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +6 -0
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +5 -2
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +52 -0
- package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/record/src/index.d.ts +1 -3
- package/libs/feature/record/src/index.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -21
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
- package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +1 -1
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
- 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 +4 -2
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -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 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
- package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
- 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 +2 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +4 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
- package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +6 -13
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +14 -0
- package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +13 -0
- package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
- 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 +3 -0
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +27 -0
- package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +8 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +31 -0
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +5 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +2 -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/inline-filter/inline-filter.component.d.ts +14 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
- 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/block-list/block-list.component.d.ts +9 -2
- package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts +28 -0
- package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
- package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +5 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +22 -0
- package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
- package/libs/ui/map/src/index.d.ts +1 -0
- package/libs/ui/map/src/index.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
- package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
- package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
- package/libs/ui/search/src/index.d.ts +2 -0
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
- package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +10 -4
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +22 -19
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.constants.d.ts +1 -0
- package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/language-codes.d.ts +23 -1
- package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
- package/libs/util/shared/src/index.d.ts +1 -0
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
- package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +14 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/libs/api/metadata-converter/src/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
- package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +3 -3
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +64 -6
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -3
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +5 -1
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +10 -6
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +7 -4
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +2 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +3 -11
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +118 -16
- package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +11 -0
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +24 -11
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +6 -0
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +36 -26
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +16 -2
- package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +64 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +54 -10
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +37 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +27 -1
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +120 -0
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +325 -0
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
- package/src/libs/feature/record/src/index.ts +1 -3
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +16 -10
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +25 -16
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +35 -4
- package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
- package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +27 -3
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +21 -17
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
- package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
- package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
- package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
- package/src/libs/feature/search/src/index.ts +1 -1
- package/src/libs/feature/search/src/lib/constants.ts +3 -1
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -2
- package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
- package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +26 -5
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +13 -3
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
- package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
- package/src/libs/ui/elements/src/index.ts +4 -0
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +68 -141
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +38 -97
- package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +69 -0
- package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +61 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +11 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +70 -0
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
- package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +2 -3
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +48 -9
- package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +107 -0
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +83 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +8 -29
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +14 -1
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +110 -0
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +191 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +11 -1
- package/src/libs/ui/inputs/src/index.ts +2 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +3 -4
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
- package/src/libs/ui/layout/src/index.ts +2 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
- package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.html +40 -0
- package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.ts +141 -0
- package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
- package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +4 -7
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +20 -0
- package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
- package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +27 -0
- package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +91 -0
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +2 -6
- package/src/libs/ui/map/src/index.ts +1 -0
- package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
- package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
- package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +8 -8
- package/src/libs/ui/search/src/index.ts +2 -0
- package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
- package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
- package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
- package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
- package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
- package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
- package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +15 -11
- package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +31 -24
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +33 -14
- package/src/libs/ui/search/src/lib/ui-search.module.ts +8 -0
- package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -1
- package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
- package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
- package/src/libs/util/i18n/src/lib/i18n.constants.ts +42 -0
- package/src/libs/util/i18n/src/lib/language-codes.ts +23 -1
- package/src/libs/util/shared/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +15 -3
- package/src/libs/util/shared/src/lib/links/link-utils.ts +33 -12
- package/tailwind.base.config.js +3 -0
- package/tailwind.base.css +5 -17
- package/translations/de.json +75 -8
- package/translations/en.json +77 -10
- package/translations/es.json +74 -7
- package/translations/fr.json +76 -9
- package/translations/it.json +81 -14
- package/translations/nl.json +74 -7
- package/translations/pt.json +74 -7
- package/translations/sk.json +74 -7
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
- package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
- package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
- package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
- package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
- package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
- package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
- package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
- package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
- package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
- /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-map-container/form-field-map-container.component.css → multilingual-panel/multilingual-panel.component.css} +0 -0
|
@@ -66,6 +66,7 @@ export function loadAppConfig() {
|
|
|
66
66
|
'metadata_language',
|
|
67
67
|
'login_url',
|
|
68
68
|
'logout_url',
|
|
69
|
+
'settings_url',
|
|
69
70
|
'web_component_embedder_url',
|
|
70
71
|
'languages',
|
|
71
72
|
'contact_email',
|
|
@@ -208,4 +209,4 @@ export const TRANSLATE_WITH_OVERRIDES_CONFIG = {
|
|
|
208
209
|
deps: [HttpClient],
|
|
209
210
|
},
|
|
210
211
|
};
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFD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bmltcG9ydCB7XG4gIGNoZWNrTWV0YWRhdGFMYW5ndWFnZSxcbiAgcGFyc2VDb25maWdTZWN0aW9uLFxuICBwYXJzZU11bHRpQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VUcmFuc2xhdGlvbnNDb25maWdTZWN0aW9uLFxufSBmcm9tICcuL3BhcnNlLXV0aWxzJ1xuaW1wb3J0IHtcbiAgQ3VzdG9tVHJhbnNsYXRpb25zLFxuICBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMsXG4gIEdsb2JhbENvbmZpZyxcbiAgTGF5ZXJDb25maWcsXG4gIE1hcENvbmZpZyxcbiAgTWV0YWRhdGFRdWFsaXR5Q29uZmlnLFxuICBTZWFyY2hDb25maWcsXG4gIFRoZW1lQ29uZmlnLFxufSBmcm9tICcuL21vZGVsJ1xuaW1wb3J0IHsgVHJhbnNsYXRlQ29tcGlsZXIsIFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNZXNzYWdlRm9ybWF0Q29tcGlsZXIgfSBmcm9tICduZ3gtdHJhbnNsYXRlLW1lc3NhZ2Vmb3JtYXQtY29tcGlsZXInXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBERUZBVUxUX0xBTkcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBGaWxlV2l0aE92ZXJyaWRlc1RyYW5zbGF0ZUxvYWRlciB9IGZyb20gJy4vaTE4bi9maWxlLXdpdGgtb3ZlcnJpZGVzLnRyYW5zbGF0ZS5sb2FkZXInXG5cbmNvbnN0IE1JU1NJTkdfQ09ORklHX0VSUk9SID0gYEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gd2FzIG5vdCBpbml0aWFsaXplZCBjb3JyZWN0bHkuXG5UaGlzIGVycm9yIG1pZ2h0IHNob3cgdXAgaW4gY2FzZSBvZiBhbiBpbnZhbGlkL21hbGZvcm1lZCBjb25maWd1cmF0aW9uIGZpbGUuXG5cbk5vdGU6IG1ha2Ugc3VyZSB0aGF0IHlvdSBoYXZlIGNhbGxlZCBcXGBsb2FkQXBwQ29uZmlnXFxgIGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYycgYmVmb3JlIHN0YXJ0aW5nIHRoZSBBbmd1bGFyIGFwcGxpY2F0aW9uLmBcblxubGV0IGdsb2JhbENvbmZpZzogR2xvYmFsQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2xvYmFsQ29uZmlnKCk6IEdsb2JhbENvbmZpZyB7XG4gIGlmIChnbG9iYWxDb25maWcgPT09IG51bGwpIHRocm93IG5ldyBFcnJvcihNSVNTSU5HX0NPTkZJR19FUlJPUilcbiAgcmV0dXJuIGdsb2JhbENvbmZpZ1xufVxuXG5sZXQgdGhlbWVDb25maWc6IFRoZW1lQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGhlbWVDb25maWcoKTogVGhlbWVDb25maWcge1xuICBpZiAodGhlbWVDb25maWcgPT09IG51bGwpIHRocm93IG5ldyBFcnJvcihNSVNTSU5HX0NPTkZJR19FUlJPUilcbiAgcmV0dXJuIHRoZW1lQ29uZmlnXG59XG5cbmxldCBtYXBDb25maWc6IE1hcENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbmFsTWFwQ29uZmlnKCk6IE1hcENvbmZpZyB8IG51bGwge1xuICByZXR1cm4gbWFwQ29uZmlnXG59XG5cbmxldCBzZWFyY2hDb25maWc6IFNlYXJjaENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbmFsU2VhcmNoQ29uZmlnKCk6IFNlYXJjaENvbmZpZyB8IG51bGwge1xuICByZXR1cm4gc2VhcmNoQ29uZmlnXG59XG5cbmxldCBtZXRhZGF0YVF1YWxpdHlDb25maWc6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyA9IG51bGxcbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXRhZGF0YVF1YWxpdHlDb25maWcoKTogTWV0YWRhdGFRdWFsaXR5Q29uZmlnIHtcbiAgcmV0dXJuIChcbiAgICBtZXRhZGF0YVF1YWxpdHlDb25maWcgfHxcbiAgICAoe1xuICAgICAgRU5BQkxFRDogZmFsc2UsXG4gICAgfSBhcyBNZXRhZGF0YVF1YWxpdHlDb25maWcpXG4gIClcbn1cblxubGV0IGN1c3RvbVRyYW5zbGF0aW9uczogQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3VzdG9tVHJhbnNsYXRpb25zKGxhbmdDb2RlOiBzdHJpbmcpOiBDdXN0b21UcmFuc2xhdGlvbnMge1xuICBpZiAoY3VzdG9tVHJhbnNsYXRpb25zID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBsYW5nQ29kZSBpbiBjdXN0b21UcmFuc2xhdGlvbnMgPyBjdXN0b21UcmFuc2xhdGlvbnNbbGFuZ0NvZGVdIDoge31cbn1cblxubGV0IGFwcENvbmZpZ0xvYWRlZCA9IGZhbHNlXG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQXBwQ29uZmlnKCkge1xuICByZXR1cm4gZmV0Y2goJ2Fzc2V0cy9jb25maWd1cmF0aW9uL2RlZmF1bHQudG9tbCcpXG4gICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgIGlmICghcmVzcC5vaykgdGhyb3cgbmV3IEVycm9yKCdDb25maWd1cmF0aW9uIGZpbGUgY291bGQgbm90IGJlIGxvYWRlZCcpXG4gICAgICByZXR1cm4gcmVzcC50ZXh0KClcbiAgICB9KVxuICAgIC50aGVuKChjb25mKSA9PiB7XG4gICAgICBsZXQgcGFyc2VkXG4gICAgICB0cnkge1xuICAgICAgICBwYXJzZWQgPSBUT01MLnBhcnNlKGNvbmYsIHsgam9pbmVyOiAnXFxuJywgYmlnaW50OiBmYWxzZSB9KSBhcyBhbnlcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoZW4gcGFyc2luZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlOiAke2UubWVzc2FnZX1gXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVycm9ycyA9IFtdXG4gICAgICBjb25zdCB3YXJuaW5ncyA9IFtdXG5cbiAgICAgIGxldCBwYXJzZWRHbG9iYWxTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdnbG9iYWwnLFxuICAgICAgICBbJ2dlb25ldHdvcms0X2FwaV91cmwnXSxcbiAgICAgICAgW1xuICAgICAgICAgICdkYXRhaHViX3VybCcsXG4gICAgICAgICAgJ3Byb3h5X3BhdGgnLFxuICAgICAgICAgICdtZXRhZGF0YV9sYW5ndWFnZScsXG4gICAgICAgICAgJ2xvZ2luX3VybCcsXG4gICAgICAgICAgJ2xvZ291dF91cmwnLFxuICAgICAgICAgICd3ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCcsXG4gICAgICAgICAgJ2xhbmd1YWdlcycsXG4gICAgICAgICAgJ2NvbnRhY3RfZW1haWwnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgTE9HT1VUX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5sb2dvdXRfdXJsLFxuICAgICAgICAgICAgICBTRVRUSU5HU19VUkw6IHBhcnNlZEdsb2JhbFNlY3Rpb24uc2V0dGluZ3NfdXJsLFxuICAgICAgICAgICAgICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTDpcbiAgICAgICAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLndlYl9jb21wb25lbnRfZW1iZWRkZXJfdXJsLFxuICAgICAgICAgICAgICBMQU5HVUFHRVM6IHBhcnNlZEdsb2JhbFNlY3Rpb24ubGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICBDT05UQUNUX0VNQUlMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmNvbnRhY3RfZW1haWwsXG4gICAgICAgICAgICB9IGFzIEdsb2JhbENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkTGF5ZXJzU2VjdGlvbnMgPSBwYXJzZU11bHRpQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwX2xheWVyJyxcbiAgICAgICAgWyd0eXBlJ10sXG4gICAgICAgIFsnbmFtZScsICd1cmwnLCAnZGF0YScsICdzdHlsZVVybCcsICdhY2Nlc3NUb2tlbiddLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBjb25zdCBwYXJzZWRNYXBTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdtYXAnLFxuICAgICAgICBbXSxcbiAgICAgICAgW1xuICAgICAgICAgICdtYXhfem9vbScsXG4gICAgICAgICAgJ2RvX25vdF90aWxlX3dtcycsXG4gICAgICAgICAgJ21heF9leHRlbnQnLFxuICAgICAgICAgICdtYXhfZmVhdHVyZV9jb3VudCcsXG4gICAgICAgICAgJ2Jhc2VsYXllcicsXG4gICAgICAgICAgJ2RvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwJyxcbiAgICAgICAgICAnZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZScsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWInLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBtYXBDb25maWcgPVxuICAgICAgICBwYXJzZWRNYXBTZWN0aW9uID09PSBudWxsIHx8IHBhcnNlZExheWVyc1NlY3Rpb25zID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBNQVhfWk9PTTogcGFyc2VkTWFwU2VjdGlvbi5tYXhfem9vbSxcbiAgICAgICAgICAgICAgRE9fTk9UX1RJTEVfV01TOiBwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF90aWxlX3dtcyxcbiAgICAgICAgICAgICAgTUFYX0VYVEVOVDogcGFyc2VkTWFwU2VjdGlvbi5tYXhfZXh0ZW50LFxuICAgICAgICAgICAgICBNQVhfRkVBVFVSRV9DT1VOVDogcGFyc2VkTWFwU2VjdGlvbi5tYXhfZmVhdHVyZV9jb3VudCxcbiAgICAgICAgICAgICAgRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURTpcbiAgICAgICAgICAgICAgICBwYXJzZWRNYXBTZWN0aW9uLmV4dGVybmFsX3ZpZXdlcl91cmxfdGVtcGxhdGUsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUI6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfb3Blbl9uZXdfdGFiLFxuICAgICAgICAgICAgICBET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUDpcbiAgICAgICAgICAgICAgICAhIXBhcnNlZE1hcFNlY3Rpb24uZG9fbm90X3VzZV9kZWZhdWx0X2Jhc2VtYXAsXG4gICAgICAgICAgICAgIE1BUF9MQVlFUlM6IHBhcnNlZExheWVyc1NlY3Rpb25zLm1hcChcbiAgICAgICAgICAgICAgICAobWFwX2xheWVyKSA9PlxuICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgVFlQRTogbWFwX2xheWVyLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIFVSTDogbWFwX2xheWVyLnVybCxcbiAgICAgICAgICAgICAgICAgICAgTkFNRTogbWFwX2xheWVyLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIERBVEE6IG1hcF9sYXllci5kYXRhLFxuICAgICAgICAgICAgICAgICAgICBTVFlMRV9VUkw6IG1hcF9sYXllci5zdHlsZVVybCxcbiAgICAgICAgICAgICAgICAgICAgQUNDRVNTX1RPS0VOOiBtYXBfbGF5ZXIuYWNjZXNzVG9rZW4sXG4gICAgICAgICAgICAgICAgICB9KSBhcyBMYXllckNvbmZpZ1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSBhcyBNYXBDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFRoZW1lU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAndGhlbWUnLFxuICAgICAgICBbJ3ByaW1hcnlfY29sb3InLCAnc2Vjb25kYXJ5X2NvbG9yJywgJ21haW5fY29sb3InLCAnYmFja2dyb3VuZF9jb2xvciddLFxuICAgICAgICBbXG4gICAgICAgICAgJ2hlYWRlcl9mb3JlZ3JvdW5kX2NvbG9yJyxcbiAgICAgICAgICAnbWFpbl9mb250JyxcbiAgICAgICAgICAndGl0bGVfZm9udCcsXG4gICAgICAgICAgJ2ZvbnRzX3N0eWxlc2hlZXRfdXJsJyxcbiAgICAgICAgICAndGh1bWJuYWlsX3BsYWNlaG9sZGVyJyxcbiAgICAgICAgICAnaGVhZGVyX2JhY2tncm91bmQnLFxuICAgICAgICAgICdmYXZpY29uJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgdGhlbWVDb25maWcgPVxuICAgICAgICBwYXJzZWRUaGVtZVNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIFBSSU1BUllfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5wcmltYXJ5X2NvbG9yLFxuICAgICAgICAgICAgICBTRUNPTkRBUllfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5zZWNvbmRhcnlfY29sb3IsXG4gICAgICAgICAgICAgIE1BSU5fQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5tYWluX2NvbG9yLFxuICAgICAgICAgICAgICBCQUNLR1JPVU5EX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24uYmFja2dyb3VuZF9jb2xvcixcbiAgICAgICAgICAgICAgSEVBREVSX0ZPUkVHUk9VTkRfQ09MT1I6XG4gICAgICAgICAgICAgICAgcGFyc2VkVGhlbWVTZWN0aW9uLmhlYWRlcl9mb3JlZ3JvdW5kX2NvbG9yLFxuICAgICAgICAgICAgICBUSFVNQk5BSUxfUExBQ0VIT0xERVI6IHBhcnNlZFRoZW1lU2VjdGlvbi50aHVtYm5haWxfcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgIEhFQURFUl9CQUNLR1JPVU5EOiBwYXJzZWRUaGVtZVNlY3Rpb24uaGVhZGVyX2JhY2tncm91bmQsXG4gICAgICAgICAgICAgIFRJVExFX0ZPTlQ6IHBhcnNlZFRoZW1lU2VjdGlvbi50aXRsZV9mb250LFxuICAgICAgICAgICAgICBNQUlOX0ZPTlQ6IHBhcnNlZFRoZW1lU2VjdGlvbi5tYWluX2ZvbnQsXG4gICAgICAgICAgICAgIEZPTlRTX1NUWUxFU0hFRVRfVVJMOiBwYXJzZWRUaGVtZVNlY3Rpb24uZm9udHNfc3R5bGVzaGVldF91cmwsXG4gICAgICAgICAgICAgIEZBVklDT046IHBhcnNlZFRoZW1lU2VjdGlvbi5mYXZpY29uLFxuICAgICAgICAgICAgfSBhcyBUaGVtZUNvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkU2VhcmNoU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnc2VhcmNoJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X2RhdGEnLFxuICAgICAgICAgICdmaWx0ZXJfZ2VvbWV0cnlfdXJsJyxcbiAgICAgICAgICAnc2VhcmNoX3ByZXNldCcsXG4gICAgICAgICAgJ2FkdmFuY2VkX2ZpbHRlcnMnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBjb25zdCBwYXJzZWRTZWFyY2hQYXJhbXMgPSBwYXJzZU11bHRpQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnc2VhcmNoX3ByZXNldCcsXG4gICAgICAgIFsnbmFtZSddLFxuICAgICAgICBbJ3NvcnQnLCAnZmlsdGVycyddLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBzZWFyY2hDb25maWcgPVxuICAgICAgICBwYXJzZWRTZWFyY2hTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBGSUxURVJfR0VPTUVUUllfREFUQTogcGFyc2VkU2VhcmNoU2VjdGlvbi5maWx0ZXJfZ2VvbWV0cnlfZGF0YSxcbiAgICAgICAgICAgICAgRklMVEVSX0dFT01FVFJZX1VSTDogcGFyc2VkU2VhcmNoU2VjdGlvbi5maWx0ZXJfZ2VvbWV0cnlfdXJsLFxuICAgICAgICAgICAgICBTRUFSQ0hfUFJFU0VUOiBwYXJzZWRTZWFyY2hQYXJhbXMubWFwKChwYXJhbSkgPT4gKHtcbiAgICAgICAgICAgICAgICBzb3J0OiBwYXJhbS5zb3J0LFxuICAgICAgICAgICAgICAgIG5hbWU6IHBhcmFtLm5hbWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogcGFyYW0uZmlsdGVycyxcbiAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICBBRFZBTkNFRF9GSUxURVJTOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmFkdmFuY2VkX2ZpbHRlcnMsXG4gICAgICAgICAgICB9IGFzIFNlYXJjaENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWV0YWRhdGEtcXVhbGl0eScsXG4gICAgICAgIFtdLFxuICAgICAgICBbJ2VuYWJsZWQnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnID1cbiAgICAgICAgcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRU5BQkxFRDogcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbi5lbmFibGVkLFxuICAgICAgICAgICAgICBTT1JUQUJMRTogcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbi5zb3J0YWJsZSxcbiAgICAgICAgICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuXG4gICAgICBjdXN0b21UcmFuc2xhdGlvbnMgPSBwYXJzZVRyYW5zbGF0aW9uc0NvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3RyYW5zbGF0aW9ucydcbiAgICAgICkgYXMgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzXG5cbiAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgT25lIG9yIG1vcmUgbWFuZGF0b3J5IHNldHRpbmdzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke2Vycm9ycy5qb2luKCdcXG4nKX1gKVxuICAgICAgfSBlbHNlIGlmICh3YXJuaW5ncy5sZW5ndGgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBPbmUgb3IgbW9yZSB1bmV4cGVjdGVkIHNldHRpbmdzIHdlcmUgZW5jb3VudGVyZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiR7d2FybmluZ3Muam9pbignXFxuJyl9YClcbiAgICAgIH1cblxuICAgICAgYXBwQ29uZmlnTG9hZGVkID0gdHJ1ZVxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbmZpZ0xvYWRlZCgpIHtcbiAgcmV0dXJuIGFwcENvbmZpZ0xvYWRlZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gX3Jlc2V0KCkge1xuICBnbG9iYWxDb25maWcgPSBudWxsXG4gIHRoZW1lQ29uZmlnID0gbnVsbFxuICBjdXN0b21UcmFuc2xhdGlvbnMgPSBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfV0lUSF9PVkVSUklERVNfQ09ORklHID0ge1xuICBjb21waWxlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUNvbXBpbGVyLFxuICAgIHVzZUNsYXNzOiBUcmFuc2xhdGVNZXNzYWdlRm9ybWF0Q29tcGlsZXIsXG4gIH0sXG4gIGxvYWRlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICB1c2VGYWN0b3J5OiBmdW5jdGlvbiBIdHRwTG9hZGVyRmFjdG9yeShodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgICByZXR1cm4gbmV3IEZpbGVXaXRoT3ZlcnJpZGVzVHJhbnNsYXRlTG9hZGVyKGh0dHAsICcuL2Fzc2V0cy9pMThuLycpXG4gICAgfSxcbiAgICBkZWZhdWx0TGFuZ3VhZ2U6IERFRkFVTFRfTEFORyxcbiAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gIH0sXG59XG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFD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ZC9qLXRvbWwnXG5pbXBvcnQge1xuICBjaGVja01ldGFkYXRhTGFuZ3VhZ2UsXG4gIHBhcnNlQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbixcbn0gZnJvbSAnLi9wYXJzZS11dGlscydcbmltcG9ydCB7XG4gIEN1c3RvbVRyYW5zbGF0aW9ucyxcbiAgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzLFxuICBHbG9iYWxDb25maWcsXG4gIExheWVyQ29uZmlnLFxuICBNYXBDb25maWcsXG4gIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyxcbiAgU2VhcmNoQ29uZmlnLFxuICBUaGVtZUNvbmZpZyxcbn0gZnJvbSAnLi9tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyLCBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWNvbXBpbGVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2kxOG4vZmlsZS13aXRoLW92ZXJyaWRlcy50cmFuc2xhdGUubG9hZGVyJ1xuXG5jb25zdCBNSVNTSU5HX0NPTkZJR19FUlJPUiA9IGBBcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIHdhcyBub3QgaW5pdGlhbGl6ZWQgY29ycmVjdGx5LlxuVGhpcyBlcnJvciBtaWdodCBzaG93IHVwIGluIGNhc2Ugb2YgYW4gaW52YWxpZC9tYWxmb3JtZWQgY29uZmlndXJhdGlvbiBmaWxlLlxuXG5Ob3RlOiBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBjYWxsZWQgXFxgbG9hZEFwcENvbmZpZ1xcYCBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMnIGJlZm9yZSBzdGFydGluZyB0aGUgQW5ndWxhciBhcHBsaWNhdGlvbi5gXG5cbmxldCBnbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbENvbmZpZygpOiBHbG9iYWxDb25maWcge1xuICBpZiAoZ2xvYmFsQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBnbG9iYWxDb25maWdcbn1cblxubGV0IHRoZW1lQ29uZmlnOiBUaGVtZUNvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRoZW1lQ29uZmlnKCk6IFRoZW1lQ29uZmlnIHtcbiAgaWYgKHRoZW1lQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiB0aGVtZUNvbmZpZ1xufVxuXG5sZXQgbWFwQ29uZmlnOiBNYXBDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbE1hcENvbmZpZygpOiBNYXBDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIG1hcENvbmZpZ1xufVxuXG5sZXQgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbFNlYXJjaENvbmZpZygpOiBTZWFyY2hDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIHNlYXJjaENvbmZpZ1xufVxuXG5sZXQgbWV0YWRhdGFRdWFsaXR5Q29uZmlnOiBNZXRhZGF0YVF1YWxpdHlDb25maWcgPSBudWxsXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFRdWFsaXR5Q29uZmlnKCk6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIHJldHVybiAoXG4gICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnIHx8XG4gICAgKHtcbiAgICAgIEVOQUJMRUQ6IGZhbHNlLFxuICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuICApXG59XG5cbmxldCBjdXN0b21UcmFuc2xhdGlvbnM6IEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1c3RvbVRyYW5zbGF0aW9ucyhsYW5nQ29kZTogc3RyaW5nKTogQ3VzdG9tVHJhbnNsYXRpb25zIHtcbiAgaWYgKGN1c3RvbVRyYW5zbGF0aW9ucyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gbGFuZ0NvZGUgaW4gY3VzdG9tVHJhbnNsYXRpb25zID8gY3VzdG9tVHJhbnNsYXRpb25zW2xhbmdDb2RlXSA6IHt9XG59XG5cbmxldCBhcHBDb25maWdMb2FkZWQgPSBmYWxzZVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFwcENvbmZpZygpIHtcbiAgcmV0dXJuIGZldGNoKCdhc3NldHMvY29uZmlndXJhdGlvbi9kZWZhdWx0LnRvbWwnKVxuICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICBpZiAoIXJlc3Aub2spIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBmaWxlIGNvdWxkIG5vdCBiZSBsb2FkZWQnKVxuICAgICAgcmV0dXJuIHJlc3AudGV4dCgpXG4gICAgfSlcbiAgICAudGhlbigoY29uZikgPT4ge1xuICAgICAgbGV0IHBhcnNlZFxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gVE9NTC5wYXJzZShjb25mLCB7IGpvaW5lcjogJ1xcbicsIGJpZ2ludDogZmFsc2UgfSkgYXMgYW55XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHBhcnNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZTogJHtlLm1lc3NhZ2V9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBlcnJvcnMgPSBbXVxuICAgICAgY29uc3Qgd2FybmluZ3MgPSBbXVxuXG4gICAgICBsZXQgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnZ2xvYmFsJyxcbiAgICAgICAgWydnZW9uZXR3b3JrNF9hcGlfdXJsJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZGF0YWh1Yl91cmwnLFxuICAgICAgICAgICdwcm94eV9wYXRoJyxcbiAgICAgICAgICAnbWV0YWRhdGFfbGFuZ3VhZ2UnLFxuICAgICAgICAgICdsb2dpbl91cmwnLFxuICAgICAgICAgICdsb2dvdXRfdXJsJyxcbiAgICAgICAgICAnc2V0dGluZ3NfdXJsJyxcbiAgICAgICAgICAnd2ViX2NvbXBvbmVudF9lbWJlZGRlcl91cmwnLFxuICAgICAgICAgICdsYW5ndWFnZXMnLFxuICAgICAgICAgICdjb250YWN0X2VtYWlsJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgaWYgKHBhcnNlZEdsb2JhbFNlY3Rpb24/Lm1ldGFkYXRhX2xhbmd1YWdlKSB7XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPSBjaGVja01ldGFkYXRhTGFuZ3VhZ2UoXG4gICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbixcbiAgICAgICAgICB3YXJuaW5nc1xuICAgICAgICApXG4gICAgICB9XG4gICAgICBnbG9iYWxDb25maWcgPVxuICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBHTjRfQVBJX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5nZW9uZXR3b3JrNF9hcGlfdXJsLFxuICAgICAgICAgICAgICBEQVRBSFVCX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5kYXRhaHViX3VybCxcbiAgICAgICAgICAgICAgUFJPWFlfUEFUSDogcGFyc2VkR2xvYmFsU2VjdGlvbi5wcm94eV9wYXRoLFxuICAgICAgICAgICAgICBNRVRBREFUQV9MQU5HVUFHRTogcGFyc2VkR2xvYmFsU2VjdGlvbi5tZXRhZGF0YV9sYW5ndWFnZVxuICAgICAgICAgICAgICAgID8gKFxuICAgICAgICAgICAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlIGFzIHN0cmluZ1xuICAgICAgICAgICAgICAgICAgKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIExPR0lOX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5sb2dpbl91cmwsXG4gICAgICAgICAgICAgIExPR09VVF9VUkw6IHBhcnNlZEdsb2JhbFNlY3Rpb24ubG9nb3V0X3VybCxcbiAgICAgICAgICAgICAgU0VUVElOR1NfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnNldHRpbmdzX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgQ09OVEFDVF9FTUFJTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5jb250YWN0X2VtYWlsLFxuICAgICAgICAgICAgfSBhcyBHbG9iYWxDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZExheWVyc1NlY3Rpb25zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcF9sYXllcicsXG4gICAgICAgIFsndHlwZSddLFxuICAgICAgICBbJ25hbWUnLCAndXJsJywgJ2RhdGEnLCAnc3R5bGVVcmwnLCAnYWNjZXNzVG9rZW4nXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkTWFwU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnbWF4X3pvb20nLFxuICAgICAgICAgICdkb19ub3RfdGlsZV93bXMnLFxuICAgICAgICAgICdtYXhfZXh0ZW50JyxcbiAgICAgICAgICAnbWF4X2ZlYXR1cmVfY291bnQnLFxuICAgICAgICAgICdiYXNlbGF5ZXInLFxuICAgICAgICAgICdkb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCcsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl91cmxfdGVtcGxhdGUnLFxuICAgICAgICAgICdleHRlcm5hbF92aWV3ZXJfb3Blbl9uZXdfdGFiJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgbWFwQ29uZmlnID1cbiAgICAgICAgcGFyc2VkTWFwU2VjdGlvbiA9PT0gbnVsbCB8fCBwYXJzZWRMYXllcnNTZWN0aW9ucyA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgTUFYX1pPT006IHBhcnNlZE1hcFNlY3Rpb24ubWF4X3pvb20sXG4gICAgICAgICAgICAgIERPX05PVF9USUxFX1dNUzogcGFyc2VkTWFwU2VjdGlvbi5kb19ub3RfdGlsZV93bXMsXG4gICAgICAgICAgICAgIE1BWF9FWFRFTlQ6IHBhcnNlZE1hcFNlY3Rpb24ubWF4X2V4dGVudCxcbiAgICAgICAgICAgICAgTUFYX0ZFQVRVUkVfQ09VTlQ6IHBhcnNlZE1hcFNlY3Rpb24ubWF4X2ZlYXR1cmVfY291bnQsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlLFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfT1BFTl9ORVdfVEFCOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYixcbiAgICAgICAgICAgICAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6XG4gICAgICAgICAgICAgICAgISFwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwLFxuICAgICAgICAgICAgICBNQVBfTEFZRVJTOiBwYXJzZWRMYXllcnNTZWN0aW9ucy5tYXAoXG4gICAgICAgICAgICAgICAgKG1hcF9sYXllcikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFRZUEU6IG1hcF9sYXllci50eXBlLFxuICAgICAgICAgICAgICAgICAgICBVUkw6IG1hcF9sYXllci51cmwsXG4gICAgICAgICAgICAgICAgICAgIE5BTUU6IG1hcF9sYXllci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBEQVRBOiBtYXBfbGF5ZXIuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgU1RZTEVfVVJMOiBtYXBfbGF5ZXIuc3R5bGVVcmwsXG4gICAgICAgICAgICAgICAgICAgIEFDQ0VTU19UT0tFTjogbWFwX2xheWVyLmFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgICAgICAgfSkgYXMgTGF5ZXJDb25maWdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0gYXMgTWFwQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRUaGVtZVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3RoZW1lJyxcbiAgICAgICAgWydwcmltYXJ5X2NvbG9yJywgJ3NlY29uZGFyeV9jb2xvcicsICdtYWluX2NvbG9yJywgJ2JhY2tncm91bmRfY29sb3InXSxcbiAgICAgICAgW1xuICAgICAgICAgICdoZWFkZXJfZm9yZWdyb3VuZF9jb2xvcicsXG4gICAgICAgICAgJ21haW5fZm9udCcsXG4gICAgICAgICAgJ3RpdGxlX2ZvbnQnLFxuICAgICAgICAgICdmb250c19zdHlsZXNoZWV0X3VybCcsXG4gICAgICAgICAgJ3RodW1ibmFpbF9wbGFjZWhvbGRlcicsXG4gICAgICAgICAgJ2hlYWRlcl9iYWNrZ3JvdW5kJyxcbiAgICAgICAgICAnZmF2aWNvbicsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIHRoZW1lQ29uZmlnID1cbiAgICAgICAgcGFyc2VkVGhlbWVTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBQUklNQVJZX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24ucHJpbWFyeV9jb2xvcixcbiAgICAgICAgICAgICAgU0VDT05EQVJZX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24uc2Vjb25kYXJ5X2NvbG9yLFxuICAgICAgICAgICAgICBNQUlOX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24ubWFpbl9jb2xvcixcbiAgICAgICAgICAgICAgQkFDS0dST1VORF9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLmJhY2tncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIEhFQURFUl9GT1JFR1JPVU5EX0NPTE9SOlxuICAgICAgICAgICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfZm9yZWdyb3VuZF9jb2xvcixcbiAgICAgICAgICAgICAgVEhVTUJOQUlMX1BMQUNFSE9MREVSOiBwYXJzZWRUaGVtZVNlY3Rpb24udGh1bWJuYWlsX3BsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICBIRUFERVJfQkFDS0dST1VORDogcGFyc2VkVGhlbWVTZWN0aW9uLmhlYWRlcl9iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICBUSVRMRV9GT05UOiBwYXJzZWRUaGVtZVNlY3Rpb24udGl0bGVfZm9udCxcbiAgICAgICAgICAgICAgTUFJTl9GT05UOiBwYXJzZWRUaGVtZVNlY3Rpb24ubWFpbl9mb250LFxuICAgICAgICAgICAgICBGT05UU19TVFlMRVNIRUVUX1VSTDogcGFyc2VkVGhlbWVTZWN0aW9uLmZvbnRzX3N0eWxlc2hlZXRfdXJsLFxuICAgICAgICAgICAgICBGQVZJQ09OOiBwYXJzZWRUaGVtZVNlY3Rpb24uZmF2aWNvbixcbiAgICAgICAgICAgIH0gYXMgVGhlbWVDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV9kYXRhJyxcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X3VybCcsXG4gICAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICAgICdhZHZhbmNlZF9maWx0ZXJzJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkU2VhcmNoUGFyYW1zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICBbJ25hbWUnXSxcbiAgICAgICAgWydzb3J0JywgJ2ZpbHRlcnMnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgc2VhcmNoQ29uZmlnID1cbiAgICAgICAgcGFyc2VkU2VhcmNoU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRklMVEVSX0dFT01FVFJZX0RBVEE6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X2RhdGEsXG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9VUkw6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X3VybCxcbiAgICAgICAgICAgICAgU0VBUkNIX1BSRVNFVDogcGFyc2VkU2VhcmNoUGFyYW1zLm1hcCgocGFyYW0pID0+ICh7XG4gICAgICAgICAgICAgICAgc29ydDogcGFyYW0uc29ydCxcbiAgICAgICAgICAgICAgICBuYW1lOiBwYXJhbS5uYW1lLFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IHBhcmFtLmZpbHRlcnMsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgQURWQU5DRURfRklMVEVSUzogcGFyc2VkU2VhcmNoU2VjdGlvbi5hZHZhbmNlZF9maWx0ZXJzLFxuICAgICAgICAgICAgfSBhcyBTZWFyY2hDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21ldGFkYXRhLXF1YWxpdHknLFxuICAgICAgICBbXSxcbiAgICAgICAgWydlbmFibGVkJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIG1ldGFkYXRhUXVhbGl0eUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEVOQUJMRUQ6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uZW5hYmxlZCxcbiAgICAgICAgICAgICAgU09SVEFCTEU6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uc29ydGFibGUsXG4gICAgICAgICAgICB9IGFzIE1ldGFkYXRhUXVhbGl0eUNvbmZpZylcblxuICAgICAgY3VzdG9tVHJhbnNsYXRpb25zID0gcGFyc2VUcmFuc2xhdGlvbnNDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICd0cmFuc2xhdGlvbnMnXG4gICAgICApIGFzIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlc1xuXG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE9uZSBvciBtb3JlIG1hbmRhdG9yeSBzZXR0aW5ncyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBmaWxlLlxuJHtlcnJvcnMuam9pbignXFxuJyl9YClcbiAgICAgIH0gZWxzZSBpZiAod2FybmluZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgT25lIG9yIG1vcmUgdW5leHBlY3RlZCBzZXR0aW5ncyB3ZXJlIGVuY291bnRlcmVkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke3dhcm5pbmdzLmpvaW4oJ1xcbicpfWApXG4gICAgICB9XG5cbiAgICAgIGFwcENvbmZpZ0xvYWRlZCA9IHRydWVcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb25maWdMb2FkZWQoKSB7XG4gIHJldHVybiBhcHBDb25maWdMb2FkZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9yZXNldCgpIHtcbiAgZ2xvYmFsQ29uZmlnID0gbnVsbFxuICB0aGVtZUNvbmZpZyA9IG51bGxcbiAgY3VzdG9tVHJhbnNsYXRpb25zID0gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRFX1dJVEhfT1ZFUlJJREVTX0NPTkZJRyA9IHtcbiAgY29tcGlsZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVDb21waWxlcixcbiAgICB1c2VDbGFzczogVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyLFxuICB9LFxuICBsb2FkZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgdXNlRmFjdG9yeTogZnVuY3Rpb24gSHR0cExvYWRlckZhY3RvcnkoaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgcmV0dXJuIG5ldyBGaWxlV2l0aE92ZXJyaWRlc1RyYW5zbGF0ZUxvYWRlcihodHRwLCAnLi9hc3NldHMvaTE4bi8nKVxuICAgIH0sXG4gICAgZGVmYXVsdExhbmd1YWdlOiBERUZBVUxUX0xBTkcsXG4gICAgZGVwczogW0h0dHBDbGllbnRdLFxuICB9LFxufVxuIl19
|
|
@@ -5,6 +5,7 @@ proxy_path = "/proxy/?url="
|
|
|
5
5
|
metadata_language = "fre"
|
|
6
6
|
login_url = "/cas/login?service="
|
|
7
7
|
logout_url = "/geonetwork/signout"
|
|
8
|
+
settings_url = "/geonetwork/settings"
|
|
8
9
|
web_component_embedder_url = "/datahub/wc-embedder.html"
|
|
9
10
|
|
|
10
11
|
[map]
|
|
@@ -159,4 +160,4 @@ main_font = 'sans-serif'
|
|
|
159
160
|
title_font = 'serif'
|
|
160
161
|
another_color = 'red'
|
|
161
162
|
`;
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsRUFBRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErRHZDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0FBRXpFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsRUFBRSxDQUFDOzs7Ozs7Ozs7O0NBVTVDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELFFBQVEsRUFBRSxFQUFFO0lBQ1osVUFBVSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUM7SUFDM0UsMEJBQTBCLEVBQUUsS0FBSztJQUNqQyxlQUFlLEVBQUUsS0FBSztJQUN0Qiw0QkFBNEIsRUFDMUIsZ0xBQWdMO0lBQ2xMLDRCQUE0QixFQUFFLElBQUk7SUFDbEMsVUFBVSxFQUFFO1FBQ1Y7WUFDRSxJQUFJLEVBQUUsS0FBSztZQUNYLEdBQUcsRUFBRSw2QkFBNkI7U0FDbkM7UUFDRDtZQUNFLElBQUksRUFBRSxLQUFLO1lBQ1gsR0FBRyxFQUFFLHlCQUF5QjtZQUM5QixJQUFJLEVBQUUsZ0JBQWdCO1NBQ3ZCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsS0FBSztZQUNYLEdBQUcsRUFBRSx5QkFBeUI7WUFDOUIsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QjtLQUNGO0NBQ0YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxFQUFFLENBQUM7Ozs7Q0FJM0MsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsRUFBRSxDQUFDOzs7Ozs7Q0FNbEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsRUFBRSxDQUFDOzs7Ozs7Ozs7Ozs7O0NBYW5ELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtQ2xELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXBDb25maWcgfSBmcm9tICcuL21vZGVsJ1xuXG5leHBvcnQgY29uc3Qgb2tBcHBDb25maWdGaXh0dXJlID0gKCkgPT4gYFxuW2dsb2JhbF1cbmdlb25ldHdvcms0X2FwaV91cmwgPSBcIi9nZW9uZXR3b3JrL3Nydi9hcGlcIlxucHJveHlfcGF0aCA9IFwiL3Byb3h5Lz91cmw9XCJcbm1ldGFkYXRhX2xhbmd1YWdlID0gXCJmcmVcIlxubG9naW5fdXJsID0gXCIvY2FzL2xvZ2luP3NlcnZpY2U9XCJcbmxvZ291dF91cmwgPSBcIi9nZW9uZXR3b3JrL3NpZ25vdXRcIlxuc2V0dGluZ3NfdXJsID0gXCIvZ2VvbmV0d29yay9zZXR0aW5nc1wiXG53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCA9IFwiL2RhdGFodWIvd2MtZW1iZWRkZXIuaHRtbFwiXG5cblttYXBdXG5tYXhfem9vbSA9IDEwXG5tYXhfZXh0ZW50ID0gWy00MTgyNjMuNDE4Nzc2LCA1MjUxNTI5LjU5MTMwNSwgOTYxMjcyLjA2NzcxNCwgNjcwNjg5MC42MDk4NTVdXG5kb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCA9IGZhbHNlXG5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlID0gJ2h0dHBzOi8vZXhhbXBsZS5jb20vbXl2aWV3ZXI/J1xuZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYiA9IHRydWVcbltbbWFwX2xheWVyXV1cbnR5cGUgPSBcIndtc1wiXG51cmwgPSBcImh0dHBzOi8vd3d3LmdlbzJmcmFuY2UuZnIvZ2Vvc2VydmVyL2NyX2hkZi9vd3NcIlxubmFtZSA9IFwibWFzcXVlX2hkZl9pZ25fY2FydG9fbGF0aW4xXCJcbltbbWFwX2xheWVyXV1cbnR5cGUgPSBcIndmc1wiXG51cmwgPSBcImh0dHBzOi8vd3d3LmdlbzJmcmFuY2UuZnIvZ2Vvc2VydmVyL2NyX2hkZi9vd3NcIlxubmFtZSA9IFwibWFzcXVlX2hkZl9pZ25fY2FydG9fbGF0aW4xXCJcblxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxubWFpbl9jb2xvciA9IFwiIzIxMjAyOVwiICMgQWxsLXB1cnBvc2UgdGV4dCBjb2xvclxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG50aHVtYm5haWxfcGxhY2Vob2xkZXIgPSAnYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmcnXG5oZWFkZXJfYmFja2dyb3VuZCA9ICd0ZWFsJ1xuaGVhZGVyX2ZvcmVncm91bmRfY29sb3IgPSBcIiM4NzJlMmVcIlxubWFpbl9mb250ID0gJ3NhbnMtc2VyaWYnXG50aXRsZV9mb250ID0gJ3NlcmlmJ1xuZm9udHNfc3R5bGVzaGVldF91cmwgPSBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zXCJcblxuW3NlYXJjaF1cbmZpbHRlcl9nZW9tZXRyeV91cmwgPSAnaHR0cHM6Ly9teS5kb21haW4ub3JnL2dlb20uanNvbidcbmFkdmFuY2VkX2ZpbHRlcnMgPSBbJ3B1YmxpY2F0aW9uWWVhcicsICdkb2N1bWVudFN0YW5kYXJkJywgJ2luc3BpcmVLZXl3b3JkJywgJ3RvcGljJywgJ2xpY2Vuc2UnXVxuXG5bW3NlYXJjaF9wcmVzZXRdXVxuc29ydCA9IFwiLWNyZWF0ZURhdGVcIlxubmFtZSA9ICdmaWx0ZXJCeU9yZ3MnXG5maWx0ZXJzLnEgPSAnQ2FydG8nXG5maWx0ZXJzLm9yZ2FuaXNhdGlvbiA9IFsnT3JnMScsICdPcmcyJ11cbmZpbHRlcnMuZm9ybWF0ID0gWydFU1JJIFNoYXBlZmlsZSddXG5maWx0ZXJzLnRvcGljID0gWydib3VuZGFyaWVzJ11cbmZpbHRlcnMucHVibGljYXRpb25ZZWFyID0gWycyMDIzJywgJzIwMjInXVxuZmlsdGVycy5zcGF0aWFsID0gWyd5ZXMnXVxuXG5bdHJhbnNsYXRpb25zLmVuXVxuXCJteS5maXJzdC5rZXlcIiA9ICdGaXJzdCBsYWJlbC4nXG5cIm15LnNlY29uZC5rZXlcIiA9IFwiXCJcIlxuU2Vjb25kIGxhYmVsLFxub24gdHdvIGxpbmVzLlwiXCJcIlxuXG5bdHJhbnNsYXRpb25zLmRlXVxubXkuZmlyc3Qua2V5ID0gJ0Vyc3RlIEV0aWtldHQuJ1xuXG5bdHJhbnNsYXRpb25zLmZyXVxubXkuc2FtcGxlLnRleHQgPSBcIlVuIGJvbiBleGVtcGxlIGRlIHRleHRlLlwiXG5cIm15LnF1b3RlZC50ZXh0XCIgPSAnZHUgdGV4dGUgZW50cmUgZ3VpbGxlbWVudHMuJ1xuYFxuXG5leHBvcnQgY29uc3QgYXBwQ29uZmlnV2l0aFRyYW5zbGF0aW9uRml4dHVyZSA9ICgpID0+IG9rQXBwQ29uZmlnRml4dHVyZSgpXG5cbmV4cG9ydCBjb25zdCBtaW5pbWFsQXBwQ29uZmlnRml4dHVyZSA9ICgpID0+IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5cblt0aGVtZV1cbnByaW1hcnlfY29sb3IgPSBcIiMwOTM1NjRcIlxuc2Vjb25kYXJ5X2NvbG9yID0gXCIjYzJlOWRjXCJcbm1haW5fY29sb3IgPSBcIiMyMTIwMjlcIiAjIEFsbC1wdXJwb3NlIHRleHQgY29sb3JcbmJhY2tncm91bmRfY29sb3IgPSBcIiNmZGZiZmZcIlxuYFxuXG5leHBvcnQgY29uc3QgbWFwQ29uZmlnRml4dHVyZSA9ICgpOiBNYXBDb25maWcgPT4gKHtcbiAgTUFYX1pPT006IDEwLFxuICBNQVhfRVhURU5UOiBbLTQxODI2My40MTg3NzYsIDUyNTE1MjkuNTkxMzA1LCA5NjEyNzIuMDY3NzE0LCA2NzA2ODkwLjYwOTg1NV0sXG4gIERPX05PVF9VU0VfREVGQVVMVF9CQVNFTUFQOiBmYWxzZSxcbiAgRE9fTk9UX1RJTEVfV01TOiBmYWxzZSxcbiAgRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURTpcbiAgICAnaHR0cHM6Ly9leGFtcGxlLmNvbS9teXZpZXdlci8jLz9hY3Rpb25zPVt7XCJ0eXBlXCI6XCJDQVRBTE9HOkFERF9MQVlFUlNfRlJPTV9DQVRBTE9HU1wiLFwibGF5ZXJzXCI6W1wiJHtsYXllcl9uYW1lfVwiXSxcInNvdXJjZXNcIjpbe1widXJsXCI6XCIke3NlcnZpY2VfdXJsfVwiLFwidHlwZVwiOlwiJHtzZXJ2aWNlX3R5cGV9XCJ9XX1dJyxcbiAgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQjogdHJ1ZSxcbiAgTUFQX0xBWUVSUzogW1xuICAgIHtcbiAgICAgIFRZUEU6ICd4eXonLFxuICAgICAgVVJMOiAnaHR0cHM6Ly9zb21lLWJhc2VtYXAtc2VydmVyJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIFRZUEU6ICd3bXMnLFxuICAgICAgVVJMOiAnaHR0cHM6Ly9zb21lLXdtcy1zZXJ2ZXInLFxuICAgICAgTkFNRTogJ3NvbWVfbGF5ZXJuYW1lJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIFRZUEU6ICd3ZnMnLFxuICAgICAgVVJMOiAnaHR0cHM6Ly9zb21lLXdmcy1zZXJ2ZXInLFxuICAgICAgTkFNRTogJ3NvbWVfbGF5ZXJuYW1lJyxcbiAgICB9LFxuICBdLFxufSlcblxuZXhwb3J0IGNvbnN0IG1hbGZvcm1lZENvbmZpZ0ZpeHR1cmUgPSAoKSA9PiBgXG57XG4gIFwiSSB0aG91Z2h0XCI6IFwid2Ugd2VyZSBzdGlsbCBkb2luZyBqc29uXCJcbn1cbmBcblxuZXhwb3J0IGNvbnN0IG1pc3NpbmdNYW5kYXRvcnlDb25maWdGaXh0dXJlID0gKCkgPT4gYFxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG5tYWluX2ZvbnQgPSAnc2Fucy1zZXJpZidcbmBcblxuZXhwb3J0IGNvbnN0IHdyb25nTGFuZ3VhZ2VDb2RlQ29uZmlnRml4dHVyZSA9ICgpID0+IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5tZXRhZGF0YV9sYW5ndWFnZSA9IFwiZnJhXCJcblxuW21hcF1cblxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxubWFpbl9jb2xvciA9IFwiIzIxMjAyOVwiICMgQWxsLXB1cnBvc2UgdGV4dCBjb2xvclxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG5gXG5cbmV4cG9ydCBjb25zdCB1bnJlY29nbml6ZWRLZXlzQ29uZmlnRml4dHVyZSA9ICgpID0+IGBcbltnbG9iYWxdXG5nZW9uZXR3b3JrNF9hcGlfdXJsID0gXCIvZ2VvbmV0d29yay9zcnYvYXBpXCJcbnByb3h5X3BhdGggPSBcIi9wcm94eS8/dXJsPVwiXG5tZXRhZGF0YV9sYW5ndWFnZSA9IFwiZnJlXCJcbmFub3RoZXJfcGF0aCA9ICcvd2hhdGV2ZXInXG5cblttYXBdXG5tYXhfem9vbSA9IDEwXG5tYXhfZXh0ZW50ID0gWy00MTgyNjMuNDE4Nzc2LCA1MjUxNTI5LjU5MTMwNSwgOTYxMjcyLjA2NzcxNCwgNjcwNjg5MC42MDk4NTVdXG5kb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCA9IGZhbHNlXG5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlID0gJ2h0dHBzOi8vZXhhbXBsZS5jb20vbXl2aWV3ZXI/J1xuZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYiA9IHRydWVcbmFub3RoZXJfem9vbSA9IDE1XG5bW21hcF9sYXllcl1dXG50eXBlID0gXCJ3bXNcIlxudXJsID0gXCJodHRwczovL3d3dy5nZW8yZnJhbmNlLmZyL2dlb3NlcnZlci9jcl9oZGYvb3dzXCJcbm5hbWUgPSBcIm1hc3F1ZV9oZGZfaWduX2NhcnRvX2xhdGluMVwiXG5bW21hcF9sYXllcl1dXG50eXBlID0gXCJ3ZnNcIlxudXJsID0gXCJodHRwczovL3d3dy5nZW8yZnJhbmNlLmZyL2dlb3NlcnZlci9jcl9oZGYvb3dzXCJcbm5hbWUgPSBcIm1hc3F1ZV9oZGZfaWduX2NhcnRvX2xhdGluMVwiXG5hbm90aGVyX2xheWVyID0gXCJ3cm9uZyBsYXllciBkZWZpbml0aW9uXCJcblxuW3RoZW1lXVxucHJpbWFyeV9jb2xvciA9IFwiIzA5MzU2NFwiXG5zZWNvbmRhcnlfY29sb3IgPSBcIiNjMmU5ZGNcIlxubWFpbl9jb2xvciA9IFwiIzIxMjAyOVwiICMgQWxsLXB1cnBvc2UgdGV4dCBjb2xvclxuYmFja2dyb3VuZF9jb2xvciA9IFwiI2ZkZmJmZlwiXG50aHVtYm5haWxfcGxhY2Vob2xkZXIgPSAnYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmcnXG5oZWFkZXJfYmFja2dyb3VuZCA9ICd0ZWFsJ1xuaGVhZGVyX2ZvcmVncm91bmRfY29sb3IgPSBcIiM4NzJlMmVcIlxubWFpbl9mb250ID0gJ3NhbnMtc2VyaWYnXG50aXRsZV9mb250ID0gJ3NlcmlmJ1xuYW5vdGhlcl9jb2xvciA9ICdyZWQnXG5gXG4iXX0=
|
|
@@ -18,9 +18,50 @@ marker('language.pt');
|
|
|
18
18
|
marker('language.ru');
|
|
19
19
|
marker('language.zh');
|
|
20
20
|
marker('language.sk');
|
|
21
|
+
marker('language.rm');
|
|
22
|
+
marker('language.ar');
|
|
23
|
+
marker('language.da');
|
|
24
|
+
marker('language.no');
|
|
25
|
+
marker('language.pl');
|
|
26
|
+
marker('language.sv');
|
|
27
|
+
marker('language.tr');
|
|
28
|
+
marker('language.hy');
|
|
29
|
+
marker('language.az');
|
|
30
|
+
marker('language.ka');
|
|
31
|
+
marker('language.uk');
|
|
32
|
+
marker('language.cy');
|
|
21
33
|
export const DEFAULT_LANG = 'en';
|
|
22
34
|
// Caution: changing this can break language selection from third parties!
|
|
23
35
|
export const LANGUAGE_STORAGE_KEY = 'geonetwork-ui-language';
|
|
36
|
+
export const SUPPORTED_LANGUAGES = [
|
|
37
|
+
'en',
|
|
38
|
+
'nl',
|
|
39
|
+
'fr',
|
|
40
|
+
'de',
|
|
41
|
+
'ko',
|
|
42
|
+
'es',
|
|
43
|
+
'cs',
|
|
44
|
+
'ca',
|
|
45
|
+
'fi',
|
|
46
|
+
'is',
|
|
47
|
+
'it',
|
|
48
|
+
'pt',
|
|
49
|
+
'ru',
|
|
50
|
+
'zh',
|
|
51
|
+
'sk',
|
|
52
|
+
'rm',
|
|
53
|
+
'ar',
|
|
54
|
+
'da',
|
|
55
|
+
'no',
|
|
56
|
+
'pl',
|
|
57
|
+
'sv',
|
|
58
|
+
'tr',
|
|
59
|
+
'hy',
|
|
60
|
+
'az',
|
|
61
|
+
'ka',
|
|
62
|
+
'uk',
|
|
63
|
+
'cy',
|
|
64
|
+
];
|
|
24
65
|
export function HttpLoaderFactory(http) {
|
|
25
66
|
return new FileTranslateLoader(http, './assets/i18n/');
|
|
26
67
|
}
|
|
@@ -41,4 +82,4 @@ export const TRANSLATE_DEFAULT_CONFIG = {
|
|
|
41
82
|
deps: [HttpClient],
|
|
42
83
|
},
|
|
43
84
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvbGliL2kxOG4uY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDeEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBRWhFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUE7QUFFaEMsMEVBQTBFO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHdCQUF3QixDQUFBO0FBRTVELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtDQUNMLENBQUE7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBZ0I7SUFDaEQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hELENBQUM7QUFDRCxvREFBb0Q7QUFDcEQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN4QyxDQUFDO0FBQ0QsTUFBTSxlQUFlLEdBQUc7SUFDdEIsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLEVBQUUsOEJBQThCO0NBQ3pDLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxRQUFRLEVBQUUsZUFBZTtJQUN6QixNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsaUJBQWlCO1FBQzdCLGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUNuQjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBUcmFuc2xhdGVDb21waWxlciwgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlciB9IGZyb20gJ25neC10cmFuc2xhdGUtbWVzc2FnZWZvcm1hdC1jb21waWxlcidcbmltcG9ydCB7IEZpbGVUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2ZpbGUudHJhbnNsYXRlLmxvYWRlcidcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcblxubWFya2VyKCdsYW5ndWFnZS5lbicpXG5tYXJrZXIoJ2xhbmd1YWdlLm5sJylcbm1hcmtlcignbGFuZ3VhZ2UuZnInKVxubWFya2VyKCdsYW5ndWFnZS5kZScpXG5tYXJrZXIoJ2xhbmd1YWdlLmtvJylcbm1hcmtlcignbGFuZ3VhZ2UuZXMnKVxubWFya2VyKCdsYW5ndWFnZS5jcycpXG5tYXJrZXIoJ2xhbmd1YWdlLmNhJylcbm1hcmtlcignbGFuZ3VhZ2UuZmknKVxubWFya2VyKCdsYW5ndWFnZS5pcycpXG5tYXJrZXIoJ2xhbmd1YWdlLml0Jylcbm1hcmtlcignbGFuZ3VhZ2UucHQnKVxubWFya2VyKCdsYW5ndWFnZS5ydScpXG5tYXJrZXIoJ2xhbmd1YWdlLnpoJylcbm1hcmtlcignbGFuZ3VhZ2Uuc2snKVxubWFya2VyKCdsYW5ndWFnZS5ybScpXG5tYXJrZXIoJ2xhbmd1YWdlLmFyJylcbm1hcmtlcignbGFuZ3VhZ2UuZGEnKVxubWFya2VyKCdsYW5ndWFnZS5ubycpXG5tYXJrZXIoJ2xhbmd1YWdlLnBsJylcbm1hcmtlcignbGFuZ3VhZ2Uuc3YnKVxubWFya2VyKCdsYW5ndWFnZS50cicpXG5tYXJrZXIoJ2xhbmd1YWdlLmh5Jylcbm1hcmtlcignbGFuZ3VhZ2UuYXonKVxubWFya2VyKCdsYW5ndWFnZS5rYScpXG5tYXJrZXIoJ2xhbmd1YWdlLnVrJylcbm1hcmtlcignbGFuZ3VhZ2UuY3knKVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQU5HID0gJ2VuJ1xuXG4vLyBDYXV0aW9uOiBjaGFuZ2luZyB0aGlzIGNhbiBicmVhayBsYW5ndWFnZSBzZWxlY3Rpb24gZnJvbSB0aGlyZCBwYXJ0aWVzIVxuZXhwb3J0IGNvbnN0IExBTkdVQUdFX1NUT1JBR0VfS0VZID0gJ2dlb25ldHdvcmstdWktbGFuZ3VhZ2UnXG5cbmV4cG9ydCBjb25zdCBTVVBQT1JURURfTEFOR1VBR0VTID0gW1xuICAnZW4nLFxuICAnbmwnLFxuICAnZnInLFxuICAnZGUnLFxuICAna28nLFxuICAnZXMnLFxuICAnY3MnLFxuICAnY2EnLFxuICAnZmknLFxuICAnaXMnLFxuICAnaXQnLFxuICAncHQnLFxuICAncnUnLFxuICAnemgnLFxuICAnc2snLFxuICAncm0nLFxuICAnYXInLFxuICAnZGEnLFxuICAnbm8nLFxuICAncGwnLFxuICAnc3YnLFxuICAndHInLFxuICAnaHknLFxuICAnYXonLFxuICAna2EnLFxuICAndWsnLFxuICAnY3knLFxuXVxuXG5leHBvcnQgZnVuY3Rpb24gSHR0cExvYWRlckZhY3RvcnkoaHR0cDogSHR0cENsaWVudCkge1xuICByZXR1cm4gbmV3IEZpbGVUcmFuc2xhdGVMb2FkZXIoaHR0cCwgJy4vYXNzZXRzL2kxOG4vJylcbn1cbi8vRGVwcmVjYXRlZCwgYnV0IGN1cnJlbnRseSBzdGlsbCB1c2VkIGluIGRhdGFmZWVkZXJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMYW5nRnJvbUJyb3dzZXIoKSB7XG4gIHJldHVybiBuYXZpZ2F0b3IubGFuZ3VhZ2Uuc3Vic3RyKDAsIDIpXG59XG5jb25zdCBDT01QSUxFUl9DT05GSUcgPSB7XG4gIHByb3ZpZGU6IFRyYW5zbGF0ZUNvbXBpbGVyLFxuICB1c2VDbGFzczogVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyLFxufVxuZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9ERUZBVUxUX0NPTkZJRyA9IHtcbiAgY29tcGlsZXI6IENPTVBJTEVSX0NPTkZJRyxcbiAgbG9hZGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgIHVzZUZhY3Rvcnk6IEh0dHBMb2FkZXJGYWN0b3J5LFxuICAgIGRlZmF1bHRMYW5ndWFnZTogREVGQVVMVF9MQU5HLFxuICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgfSxcbn1cbiJdfQ==
|
|
@@ -15,6 +15,17 @@ export const LANG_3_TO_2_MAPPER = {
|
|
|
15
15
|
chi: 'zh',
|
|
16
16
|
slo: 'sk',
|
|
17
17
|
roh: 'rm',
|
|
18
|
+
ara: 'ar',
|
|
19
|
+
dan: 'da',
|
|
20
|
+
nor: 'no',
|
|
21
|
+
pol: 'pl',
|
|
22
|
+
swe: 'sv',
|
|
23
|
+
tur: 'tr',
|
|
24
|
+
arm: 'hy',
|
|
25
|
+
aze: 'az',
|
|
26
|
+
geo: 'ka',
|
|
27
|
+
ukr: 'uk',
|
|
28
|
+
wel: 'cy',
|
|
18
29
|
};
|
|
19
30
|
export const LANGUAGE_NAMES = {
|
|
20
31
|
en: 'English',
|
|
@@ -32,9 +43,20 @@ export const LANGUAGE_NAMES = {
|
|
|
32
43
|
ru: 'Русский',
|
|
33
44
|
zh: '中文',
|
|
34
45
|
sk: 'Slovenčina',
|
|
35
|
-
|
|
46
|
+
rm: 'Rumantsch',
|
|
47
|
+
ar: 'العربية',
|
|
48
|
+
da: 'Dansk',
|
|
49
|
+
no: 'Norsk',
|
|
50
|
+
pl: 'Polski',
|
|
51
|
+
sv: 'Swedish',
|
|
52
|
+
tr: 'Türkçe',
|
|
53
|
+
hy: 'հայերեն',
|
|
54
|
+
az: 'Azərbaycan dili',
|
|
55
|
+
ka: 'ქართული',
|
|
56
|
+
uk: 'українська',
|
|
57
|
+
wel: 'Cymraeg',
|
|
36
58
|
};
|
|
37
59
|
export const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce((mapperObject, langEntry) => {
|
|
38
60
|
return { ...mapperObject, [langEntry[1]]: langEntry[0] };
|
|
39
61
|
}, {});
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvbGliL2xhbmd1YWdlLWNvZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtDQUNWLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsWUFBWTtJQUNoQixFQUFFLEVBQUUsVUFBVTtJQUNkLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLEtBQUs7SUFDVCxFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLFFBQVE7SUFDWixFQUFFLEVBQUUsT0FBTztJQUNYLEVBQUUsRUFBRSxVQUFVO0lBQ2QsRUFBRSxFQUFFLFVBQVU7SUFDZCxFQUFFLEVBQUUsV0FBVztJQUNmLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLElBQUk7SUFDUixFQUFFLEVBQUUsWUFBWTtJQUNoQixFQUFFLEVBQUUsV0FBVztJQUNmLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLE9BQU87SUFDWCxFQUFFLEVBQUUsT0FBTztJQUNYLEVBQUUsRUFBRSxRQUFRO0lBQ1osRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsUUFBUTtJQUNaLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLGlCQUFpQjtJQUNyQixFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxZQUFZO0lBQ2hCLEdBQUcsRUFBRSxTQUFTO0NBQ2YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQ3pFLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxFQUFFO0lBQzFCLE9BQU8sRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0FBQzFELENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBMQU5HXzNfVE9fMl9NQVBQRVIgPSB7XG4gIGVuZzogJ2VuJyxcbiAgZHV0OiAnbmwnLFxuICBmcmU6ICdmcicsXG4gIGdlcjogJ2RlJyxcbiAga29yOiAna28nLFxuICBzcGE6ICdlcycsXG4gIGN6ZTogJ2NzJyxcbiAgY2F0OiAnY2EnLFxuICBmaW46ICdmaScsXG4gIGljZTogJ2lzJyxcbiAgaXRhOiAnaXQnLFxuICBwb3I6ICdwdCcsXG4gIHJ1czogJ3J1JyxcbiAgY2hpOiAnemgnLFxuICBzbG86ICdzaycsXG4gIHJvaDogJ3JtJyxcbiAgYXJhOiAnYXInLFxuICBkYW46ICdkYScsXG4gIG5vcjogJ25vJyxcbiAgcG9sOiAncGwnLFxuICBzd2U6ICdzdicsXG4gIHR1cjogJ3RyJyxcbiAgYXJtOiAnaHknLFxuICBhemU6ICdheicsXG4gIGdlbzogJ2thJyxcbiAgdWtyOiAndWsnLFxuICB3ZWw6ICdjeScsXG59XG5cbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9OQU1FUyA9IHtcbiAgZW46ICdFbmdsaXNoJyxcbiAgbmw6ICdOZWRlcmxhbmRzJyxcbiAgZnI6ICdGcmFuw6dhaXMnLFxuICBkZTogJ0RldXRzY2gnLFxuICBrbzogJ+2VnOq1reyWtCcsXG4gIGVzOiAnRXNwYcOxb2wnLFxuICBjczogJ8SMZcWhdGluYScsXG4gIGNhOiAnQ2F0YWzDoCcsXG4gIGZpOiAnU3VvbWknLFxuICBpczogJ8ONc2xlbnNrYScsXG4gIGl0OiAnSXRhbGlhbm8nLFxuICBwdDogJ1BvcnR1Z3XDqnMnLFxuICBydTogJ9Cg0YPRgdGB0LrQuNC5JyxcbiAgemg6ICfkuK3mlocnLFxuICBzazogJ1Nsb3ZlbsSNaW5hJyxcbiAgcm06ICdSdW1hbnRzY2gnLFxuICBhcjogJ9in2YTYudix2KjZitipJyxcbiAgZGE6ICdEYW5zaycsXG4gIG5vOiAnTm9yc2snLFxuICBwbDogJ1BvbHNraScsXG4gIHN2OiAnU3dlZGlzaCcsXG4gIHRyOiAnVMO8cmvDp2UnLFxuICBoeTogJ9Ww1aHVtdWl1oDVpdW2JyxcbiAgYXo6ICdBesmZcmJheWNhbiBkaWxpJyxcbiAga2E6ICfhg6Xhg5Dhg6Dhg5fhg6Phg5rhg5gnLFxuICB1azogJ9GD0LrRgNCw0ZfQvdGB0YzQutCwJyxcbiAgd2VsOiAnQ3ltcmFlZycsXG59XG5cbmV4cG9ydCBjb25zdCBMQU5HXzJfVE9fM19NQVBQRVIgPSBPYmplY3QuZW50cmllcyhMQU5HXzNfVE9fMl9NQVBQRVIpLnJlZHVjZShcbiAgKG1hcHBlck9iamVjdCwgbGFuZ0VudHJ5KSA9PiB7XG4gICAgcmV0dXJuIHsgLi4ubWFwcGVyT2JqZWN0LCBbbGFuZ0VudHJ5WzFdXTogbGFuZ0VudHJ5WzBdIH1cbiAgfSxcbiAge31cbilcbiJdfQ==
|
|
@@ -3,4 +3,5 @@ export * from './lib/services';
|
|
|
3
3
|
export * from './lib/utils';
|
|
4
4
|
export * from './lib/links';
|
|
5
5
|
export * from './lib/image-fallback.directive';
|
|
6
|
-
|
|
6
|
+
export * from './lib/gn-ui-version';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLHFCQUFxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC1zaGFyZWQubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpbmtzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2UtZmFsbGJhY2suZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ24tdWktdmVyc2lvbidcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import packageJson from '../../../../../package.json';
|
|
2
|
+
export const GEONETWORK_UI_VERSION = packageJson.version;
|
|
3
|
+
export const GEONETWORK_UI_TAG_NAME = GEONETWORK_UI_VERSION.split('-')[1] === 'dev'
|
|
4
|
+
? 'main'
|
|
5
|
+
: `v${packageJson.version}`;
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ24tdWktdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9nbi11aS12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLDZCQUE2QixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUE7QUFFeEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQ2pDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLO0lBQzNDLENBQUMsQ0FBQyxNQUFNO0lBQ1IsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhY2thZ2VKc29uIGZyb20gJy4uLy4uLy4uLy4uLy4uL3BhY2thZ2UuanNvbidcblxuZXhwb3J0IGNvbnN0IEdFT05FVFdPUktfVUlfVkVSU0lPTiA9IHBhY2thZ2VKc29uLnZlcnNpb25cblxuZXhwb3J0IGNvbnN0IEdFT05FVFdPUktfVUlfVEFHX05BTUUgPVxuICBHRU9ORVRXT1JLX1VJX1ZFUlNJT04uc3BsaXQoJy0nKVsxXSA9PT0gJ2RldidcbiAgICA/ICdtYWluJ1xuICAgIDogYHYke3BhY2thZ2VKc29uLnZlcnNpb259YFxuIl19
|
|
@@ -14,6 +14,7 @@ export var LinkUsage;
|
|
|
14
14
|
export class LinkClassifierService {
|
|
15
15
|
getUsagesForLink(link) {
|
|
16
16
|
switch (link.type) {
|
|
17
|
+
case 'endpoint':
|
|
17
18
|
case 'service': {
|
|
18
19
|
switch (link.accessServiceProtocol) {
|
|
19
20
|
case 'esriRest':
|
|
@@ -21,7 +22,10 @@ export class LinkClassifierService {
|
|
|
21
22
|
return [LinkUsage.API, LinkUsage.DOWNLOAD, LinkUsage.GEODATA];
|
|
22
23
|
case 'wms':
|
|
23
24
|
case 'wmts':
|
|
25
|
+
case 'tms':
|
|
24
26
|
return [LinkUsage.API, LinkUsage.MAP_API];
|
|
27
|
+
case 'maplibre-style':
|
|
28
|
+
return [LinkUsage.GEODATA];
|
|
25
29
|
case 'ogcFeatures':
|
|
26
30
|
return [LinkUsage.API, LinkUsage.DOWNLOAD, LinkUsage.GEODATA];
|
|
27
31
|
case 'GPFDL':
|
|
@@ -61,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
61
65
|
providedIn: 'root',
|
|
62
66
|
}]
|
|
63
67
|
}] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jbGFzc2lmaWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvbGlua3MvbGluay1jbGFzc2lmaWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUsxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBOztBQUU1QyxNQUFNLENBQU4sSUFBWSxTQVFYO0FBUkQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCwrQkFBa0IsQ0FBQTtJQUNsQixrQ0FBcUIsQ0FBQTtJQUNyQiwwQkFBYSxDQUFBO0lBQ2IsZ0NBQW1CLENBQUE7SUFDbkIseUNBQTRCLENBQUE7SUFDNUIsZ0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVJXLFNBQVMsS0FBVCxTQUFTLFFBUXBCO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxnQkFBZ0IsQ0FDZCxJQUFtRDtRQUVuRCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLFVBQVUsQ0FBQztZQUNoQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsUUFBUSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztvQkFDbkMsS0FBSyxVQUFVLENBQUM7b0JBQ2hCLEtBQUssS0FBSzt3QkFDUixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDL0QsS0FBSyxLQUFLLENBQUM7b0JBQ1gsS0FBSyxNQUFNLENBQUM7b0JBQ1osS0FBSyxLQUFLO3dCQUNSLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDM0MsS0FBSyxnQkFBZ0I7d0JBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQzVCLEtBQUssYUFBYTt3QkFDaEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQy9ELEtBQUssT0FBTzt3QkFDVixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUN4Qjt3QkFDRSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQztZQUNELEtBQUssTUFBTTtnQkFDVCxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzVCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDaEIsUUFBUSxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDNUIsS0FBSyxNQUFNLENBQUM7b0JBQ1osS0FBSyxLQUFLLENBQUM7b0JBQ1gsS0FBSyxPQUFPO3dCQUNWLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtvQkFDN0MsS0FBSyxTQUFTO3dCQUNaLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDaEQ7d0JBQ0UsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDOzRCQUN4QyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7d0JBQ2hELENBQUM7d0JBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDL0IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FDTixJQUFtRCxFQUNuRCxLQUFnQjtRQUVoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQzsrR0FsRFUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgRGF0YXNldE9ubGluZVJlc291cmNlLFxuICBTZXJ2aWNlT25saW5lUmVzb3VyY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IGdldEZpbGVGb3JtYXQgfSBmcm9tICcuL2xpbmstdXRpbHMnXG5cbmV4cG9ydCBlbnVtIExpbmtVc2FnZSB7XG4gIEFQSSA9ICdhcGknLFxuICBNQVBfQVBJID0gJ21hcGFwaScsXG4gIERPV05MT0FEID0gJ2Rvd25sb2FkJyxcbiAgREFUQSA9ICdkYXRhJyxcbiAgR0VPREFUQSA9ICdnZW9kYXRhJyxcbiAgTEFORElOR19QQUdFID0gJ2xhbmRpbmdwYWdlJyxcbiAgVU5LTk9XTiA9ICd1bmtub3duJyxcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDbGFzc2lmaWVyU2VydmljZSB7XG4gIGdldFVzYWdlc0ZvckxpbmsoXG4gICAgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG4gICk6IExpbmtVc2FnZVtdIHtcbiAgICBzd2l0Y2ggKGxpbmsudHlwZSkge1xuICAgICAgY2FzZSAnZW5kcG9pbnQnOlxuICAgICAgY2FzZSAnc2VydmljZSc6IHtcbiAgICAgICAgc3dpdGNoIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkge1xuICAgICAgICAgIGNhc2UgJ2VzcmlSZXN0JzpcbiAgICAgICAgICBjYXNlICd3ZnMnOlxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuQVBJLCBMaW5rVXNhZ2UuRE9XTkxPQUQsIExpbmtVc2FnZS5HRU9EQVRBXVxuICAgICAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgICAgY2FzZSAnd210cyc6XG4gICAgICAgICAgY2FzZSAndG1zJzpcbiAgICAgICAgICAgIHJldHVybiBbTGlua1VzYWdlLkFQSSwgTGlua1VzYWdlLk1BUF9BUEldXG4gICAgICAgICAgY2FzZSAnbWFwbGlicmUtc3R5bGUnOlxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuR0VPREFUQV1cbiAgICAgICAgICBjYXNlICdvZ2NGZWF0dXJlcyc6XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5BUEksIExpbmtVc2FnZS5ET1dOTE9BRCwgTGlua1VzYWdlLkdFT0RBVEFdXG4gICAgICAgICAgY2FzZSAnR1BGREwnOlxuICAgICAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuQVBJXVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5VTktOT1dOXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgcmV0dXJuIFtMaW5rVXNhZ2UuVU5LTk9XTl1cbiAgICAgIGNhc2UgJ2Rvd25sb2FkJzoge1xuICAgICAgICBzd2l0Y2ggKGdldEZpbGVGb3JtYXQobGluaykpIHtcbiAgICAgICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgICBjYXNlICdjc3YnOlxuICAgICAgICAgIGNhc2UgJ2V4Y2VsJzpcbiAgICAgICAgICAgIHJldHVybiBbTGlua1VzYWdlLkRPV05MT0FELCBMaW5rVXNhZ2UuREFUQV1cbiAgICAgICAgICBjYXNlICdnZW9qc29uJzpcbiAgICAgICAgICAgIHJldHVybiBbTGlua1VzYWdlLkRPV05MT0FELCBMaW5rVXNhZ2UuR0VPREFUQV1cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgaWYgKGxpbmsudXJsLnRvU3RyaW5nKCkubWF0Y2goL1xcL3dmcy9pKSkge1xuICAgICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5ET1dOTE9BRCwgTGlua1VzYWdlLkdFT0RBVEFdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gW0xpbmtVc2FnZS5ET1dOTE9BRF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhc1VzYWdlKFxuICAgIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZSxcbiAgICB1c2FnZTogTGlua1VzYWdlXG4gICkge1xuICAgIHJldHVybiB0aGlzLmdldFVzYWdlc0ZvckxpbmsobGluaykuaW5kZXhPZih1c2FnZSkgPiAtMVxuICB9XG59XG4iXX0=
|
|
@@ -208,6 +208,9 @@ export function getLinkLabel(link) {
|
|
|
208
208
|
case 'wmts':
|
|
209
209
|
format = 'WMTS';
|
|
210
210
|
break;
|
|
211
|
+
case 'tms':
|
|
212
|
+
format = 'TMS';
|
|
213
|
+
break;
|
|
211
214
|
case 'esriRest':
|
|
212
215
|
format = 'REST';
|
|
213
216
|
break;
|
|
@@ -217,7 +220,7 @@ export function getLinkLabel(link) {
|
|
|
217
220
|
default:
|
|
218
221
|
format = getFileFormat(link);
|
|
219
222
|
}
|
|
220
|
-
const label = link.description || link.name;
|
|
223
|
+
const label = link.description || ('name' in link ? link.name : '');
|
|
221
224
|
return format ? `${label} (${format})` : label;
|
|
222
225
|
}
|
|
223
226
|
export async function getLayers(url, serviceProtocol) {
|
|
@@ -228,14 +231,21 @@ export async function getLayers(url, serviceProtocol) {
|
|
|
228
231
|
}
|
|
229
232
|
case 'wfs': {
|
|
230
233
|
const endpointWfs = await new WfsEndpoint(url).isReady();
|
|
231
|
-
|
|
234
|
+
const featureTypes = await endpointWfs.getFeatureTypes();
|
|
235
|
+
const layers = await Promise.all(featureTypes.map(async (collection) => {
|
|
236
|
+
return await endpointWfs.getFeatureTypeFull(collection.name);
|
|
237
|
+
}));
|
|
238
|
+
return layers;
|
|
232
239
|
}
|
|
233
240
|
case 'wms': {
|
|
234
241
|
const endpointWms = await new WmsEndpoint(url).isReady();
|
|
235
|
-
|
|
242
|
+
const layers = (await endpointWms
|
|
236
243
|
.getLayers()
|
|
237
244
|
.flatMap(wmsLayerFlatten)
|
|
238
|
-
.filter((l) => l.name)
|
|
245
|
+
.filter((l) => l.name)).map((collection) => {
|
|
246
|
+
return endpointWms.getLayerByName(collection.name);
|
|
247
|
+
});
|
|
248
|
+
return layers;
|
|
239
249
|
}
|
|
240
250
|
case 'wmts': {
|
|
241
251
|
const endpointWmts = await new WmtsEndpoint(url).isReady();
|
|
@@ -245,7 +255,7 @@ export async function getLayers(url, serviceProtocol) {
|
|
|
245
255
|
return undefined;
|
|
246
256
|
}
|
|
247
257
|
}
|
|
248
|
-
function wmsLayerFlatten(layerFull) {
|
|
258
|
+
export function wmsLayerFlatten(layerFull) {
|
|
249
259
|
const layer = {
|
|
250
260
|
title: layerFull.title,
|
|
251
261
|
name: layerFull.name,
|
|
@@ -258,4 +268,4 @@ function wmsLayerFlatten(layerFull) {
|
|
|
258
268
|
export function getMimeTypeForFormat(format) {
|
|
259
269
|
return format in FORMATS ? FORMATS[format.toLowerCase()].mimeTypes[0] : null;
|
|
260
270
|
}
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUtoRSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sd0JBQXdCLENBQUE7QUFFL0IsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztLQUMzQztJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRTtZQUNWLE9BQU87WUFDUCxLQUFLO1lBQ0wsTUFBTTtZQUNOLFVBQVU7WUFDViwrQkFBK0I7U0FDaEM7UUFDRCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRTtZQUNULDBCQUEwQjtZQUMxQixtRUFBbUU7U0FDcEU7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUN2QixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDO0tBQ2hFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3BCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsa0JB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LFVBQVUsb0JBQW9CLENBQUMsTUFBa0I7SUFDckQsT0FBTyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7XG4gIERhdGFzZXRPbmxpbmVSZXNvdXJjZSxcbiAgU2VydmljZVByb3RvY29sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBPZ2NBcGlFbmRwb2ludCxcbiAgV2ZzRW5kcG9pbnQsXG4gIFdtc0VuZHBvaW50LFxuICBXbXRzRW5kcG9pbnQsXG59IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5cbm1hcmtlcignZG93bmxvYWRzLndmcy5mZWF0dXJldHlwZS5ub3QuZm91bmQnKVxuXG5leHBvcnQgY29uc3QgRk9STUFUUyA9IHtcbiAgY3N2OiB7XG4gICAgZXh0ZW5zaW9uczogWydjc3YnXSxcbiAgICBwcmlvcml0eTogMSxcbiAgICBjb2xvcjogJyNGNkE5MjQnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2NzdicsICdhcHBsaWNhdGlvbi9jc3YnXSxcbiAgfSxcbiAgZXhjZWw6IHtcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnZXhjZWwnLFxuICAgICAgJ3hscycsXG4gICAgICAneGxzeCcsXG4gICAgICAnbXMtZXhjZWwnLFxuICAgICAgJ29wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50JyxcbiAgICBdLFxuICAgIHByaW9yaXR5OiAyLFxuICAgIGNvbG9yOiAnI0ZGREUxMCcsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgXSxcbiAgfSxcbiAgZ2VvanNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ2VvanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzI5M0M2RicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlbytqc29uJywgJ2FwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiddLFxuICB9LFxuICBqc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjODREMEYwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICB9LFxuICBzaHA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3NocCcsICdzaGFwZScsICd6aXBwZWQtc2hhcGVmaWxlJ10sXG4gICAgcHJpb3JpdHk6IDQsXG4gICAgY29sb3I6ICcjMDA5MDM2JyxcbiAgICBtaW1lVHlwZXM6IFsneC1naXMveC1zaGFwZWZpbGUnXSxcbiAgfSxcbiAgZ21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydnbWwnXSxcbiAgICBwcmlvcml0eTogNSxcbiAgICBjb2xvcjogJyNFNzUxMTMnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nbWwreG1sJywgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbCddLFxuICB9LFxuICBrbWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ttbCcsICdrbXonXSxcbiAgICBwcmlvcml0eTogNixcbiAgICBjb2xvcjogJyNGNEI1RDAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbXonLFxuICAgIF0sXG4gIH0sXG4gIGdwa2c6IHtcbiAgICBleHRlbnNpb25zOiBbJ2dwa2cnLCAnZ2VvcGFja2FnZSddLFxuICAgIHByaW9yaXR5OiA3LFxuICAgIGNvbG9yOiAnIzdENUQ5RicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlb3BhY2thZ2Urc3FsaXRlMyddLFxuICB9LFxuICB6aXA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3ppcCcsICd0YXIuZ3onXSxcbiAgICBwcmlvcml0eTogOCxcbiAgICBjb2xvcjogJyNCMENCNTInLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi96aXAnLCAnYXBwbGljYXRpb24veC16aXAnXSxcbiAgfSxcbiAgcGRmOiB7XG4gICAgZXh0ZW5zaW9uczogWydwZGYnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyM0OTU3OUUnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgfSxcbiAganBnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqcGcnLCAnanBlZycsICdqZmlmJywgJ3BqcGVnJywgJ3BqcCddLFxuICAgIHByaW9yaXR5OiA5LFxuICAgIGNvbG9yOiAnI0M0QTk4RicsXG4gICAgbWltZVR5cGVzOiBbJ2ltYWdlL2pwZyddLFxuICB9LFxuICBzdmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ3N2ZyddLFxuICAgIHByaW9yaXR5OiAxMCxcbiAgICBjb2xvcjogJyNFQjZEODInLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9zdmcreG1sJ10sXG4gIH0sXG4gIGR4Zjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZHhmJ10sXG4gICAgcHJpb3JpdHk6IDExLFxuICAgIGNvbG9yOiAnI0RDQ0QwMCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3gtZHhmJywgJ2ltYWdlL3gtZHhmJ10sXG4gIH0sXG4gIGh0bWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2h0bWwnLCAnaHRtJ10sXG4gICAgcHJpb3JpdHk6IDEyLFxuICAgIGNvbG9yOiAnI0MwQzlCNicsXG4gICAgbWltZVR5cGVzOiBbJ3RleHQvaHRtbCddLFxuICB9LFxuICBmZ2I6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ZnYicsICdmbGF0Z2VvYnVmJ10sXG4gICAgcHJpb3JpdHk6IDEzLFxuICAgIGNvbG9yOiAnI0E4MTExQycsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2ZsYXRnZW9idWYnXSxcbiAgfSxcbiAganNvbmZnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uZmcnLCAnanNvbmZnYyddLFxuICAgIHByaW9yaXR5OiAxNCxcbiAgICBjb2xvcjogJyMwMDlFRTAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vZ2MuZmcranNvbicsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9nYy5mZytqc29uO2NvbXBhdGliaWxpdHk9Z2VvanNvbicsXG4gICAgXSxcbiAgfSxcbn0gYXMgY29uc3RcblxuZXhwb3J0IHR5cGUgRmlsZUZvcm1hdCA9IGtleW9mIHR5cGVvZiBGT1JNQVRTXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXRQcmlvcml0eShsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogbnVtYmVyIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgZXh0IG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAobmV3IFJlZ0V4cChgJHtleHR9YCwgJ2knKS50ZXN0KGxpbmtGb3JtYXQpKSB7XG4gICAgICAgIGlmIChGT1JNQVRTW2Zvcm1hdF0ucHJpb3JpdHkgPT09IDApIHJldHVybiAwXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhGT1JNQVRTKS5sZW5ndGggLSBGT1JNQVRTW2Zvcm1hdF0ucHJpb3JpdHlcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbmtQcmlvcml0eShsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBudW1iZXIge1xuICByZXR1cm4gZ2V0Rm9ybWF0UHJpb3JpdHkoZ2V0RmlsZUZvcm1hdChsaW5rKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dChcbiAgc2VydmljZU91dHB1dDogc3RyaW5nXG4pOiBGaWxlRm9ybWF0IHwgbnVsbCB7XG4gIGZ1bmN0aW9uIGZvcm1hdE1hdGNoZXIoZm9ybWF0OiAodHlwZW9mIEZPUk1BVFMpW0ZpbGVGb3JtYXRdKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gc2VydmljZU91dHB1dC50b0xvd2VyQ2FzZSgpXG4gICAgcmV0dXJuIChcbiAgICAgIGZvcm1hdC5leHRlbnNpb25zLnNvbWUoKGV4dGVuc2lvbjogc3RyaW5nKSA9PlxuICAgICAgICBvdXRwdXQuaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgICAgKSB8fFxuICAgICAgZm9ybWF0Lm1pbWVUeXBlcy5zb21lKChtaW1lVHlwZTogc3RyaW5nKSA9PiBvdXRwdXQuaW5jbHVkZXMobWltZVR5cGUpKVxuICAgIClcbiAgfVxuICBmb3IgKGNvbnN0IGZvcm1hdE5hbWUgaW4gRk9STUFUUykge1xuICAgIGlmIChmb3JtYXRNYXRjaGVyKEZPUk1BVFNbZm9ybWF0TmFtZV0pKSB7XG4gICAgICByZXR1cm4gZm9ybWF0TmFtZSBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0KGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSk6IEZpbGVGb3JtYXQge1xuICBpZiAoJ21pbWVUeXBlJyBpbiBsaW5rKSB7XG4gICAgY29uc3QgbWltZVR5cGVGb3JtYXQgPSBtaW1lVHlwZVRvRm9ybWF0KGxpbmsubWltZVR5cGUpXG4gICAgaWYgKG1pbWVUeXBlRm9ybWF0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbWltZVR5cGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChjaGVja0ZpbGVGb3JtYXQobGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICAgIGlmIChpc0Zvcm1hdEluUXVlcnlQYXJhbShsaW5rLCBhbGlhcykpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtYXRJblF1ZXJ5UGFyYW0oXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSxcbiAgYWxpYXM6IHN0cmluZ1xuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbGluay51cmwuc2VhcmNoUGFyYW1zXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHF1ZXJ5UGFyYW1zLmVudHJpZXMoKSkge1xuICAgIGlmIChrZXkgPT09ICdmb3JtYXQnIHx8IGtleSA9PT0gJ2YnKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IGFsaWFzXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWltZVR5cGVUb0Zvcm1hdChtaW1lVHlwZTogc3RyaW5nKTogRmlsZUZvcm1hdCB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IG10IG9mIEZPUk1BVFNbZm9ybWF0XS5taW1lVHlwZXMpIHtcbiAgICAgIGlmIChtaW1lVHlwZSA9PT0gbXQpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tGaWxlRm9ybWF0KFxuICBsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UsXG4gIGZvcm1hdDogRmlsZUZvcm1hdFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKCduYW1lJyBpbiBsaW5rICYmXG4gICAgICBuZXcgUmVnRXhwKGBbLi9dJHtmb3JtYXR9YCwgJ2knKS50ZXN0KGxpbmsubmFtZS50b0xvd2VyQ2FzZSgpKSkgfHxcbiAgICAoJ3VybCcgaW4gbGluayAmJlxuICAgICAgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLnVybC50b1N0cmluZygpKSkgfHxcbiAgICAoJ25hbWUnIGluIGxpbmsgJiYgbGluay5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZm9ybWF0KSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFkZ2VDb2xvcihsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2FsaWFzfWAsICdpJykudGVzdChsaW5rRm9ybWF0KSlcbiAgICAgICAgcmV0dXJuIEZPUk1BVFNbZm9ybWF0XS5jb2xvclxuICAgIH1cbiAgfVxuICByZXR1cm4gJ3ZhcigtLWNvbG9yLWdyYXktNzAwKScgLy8gRGVmYXVsdCBjb2xvciA/XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKTogc3RyaW5nIHtcbiAgbGV0IGZvcm1hdCA9ICcnXG4gIHN3aXRjaCAobGluay50eXBlKSB7XG4gICAgY2FzZSAnc2VydmljZSc6XG4gICAgICB7XG4gICAgICAgIHN3aXRjaCAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICAgICAgICBjYXNlICd3ZnMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dGUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dNVFMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ2VzcmlSZXN0JzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdSRVNUJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICBkZWZhdWx0OlxuICAgICAgZm9ybWF0ID0gZ2V0RmlsZUZvcm1hdChsaW5rKVxuICB9XG4gIGNvbnN0IGxhYmVsID0gbGluay5kZXNjcmlwdGlvbiB8fCBsaW5rLm5hbWVcbiAgcmV0dXJuIGZvcm1hdCA/IGAke2xhYmVsfSAoJHtmb3JtYXR9KWAgOiBsYWJlbFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TGF5ZXJzKHVybDogc3RyaW5nLCBzZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbCkge1xuICBzd2l0Y2ggKHNlcnZpY2VQcm90b2NvbCkge1xuICAgIGNhc2UgJ29nY0ZlYXR1cmVzJzoge1xuICAgICAgY29uc3QgbGF5ZXJzID0gYXdhaXQgbmV3IE9nY0FwaUVuZHBvaW50KHVybCkuYWxsQ29sbGVjdGlvbnNcbiAgICAgIHJldHVybiBsYXllcnNcbiAgICB9XG4gICAgY2FzZSAnd2ZzJzoge1xuICAgICAgY29uc3QgZW5kcG9pbnRXZnMgPSBhd2FpdCBuZXcgV2ZzRW5kcG9pbnQodXJsKS5pc1JlYWR5KClcbiAgICAgIHJldHVybiBlbmRwb2ludFdmcy5nZXRGZWF0dXJlVHlwZXMoKVxuICAgIH1cbiAgICBjYXNlICd3bXMnOiB7XG4gICAgICBjb25zdCBlbmRwb2ludFdtcyA9IGF3YWl0IG5ldyBXbXNFbmRwb2ludCh1cmwpLmlzUmVhZHkoKVxuICAgICAgcmV0dXJuIGVuZHBvaW50V21zXG4gICAgICAgIC5nZXRMYXllcnMoKVxuICAgICAgICAuZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXG4gICAgICAgIC5maWx0ZXIoKGwpID0+IGwubmFtZSlcbiAgICB9XG4gICAgY2FzZSAnd210cyc6IHtcbiAgICAgIGNvbnN0IGVuZHBvaW50V210cyA9IGF3YWl0IG5ldyBXbXRzRW5kcG9pbnQodXJsKS5pc1JlYWR5KClcbiAgICAgIHJldHVybiBlbmRwb2ludFdtdHMuZ2V0TGF5ZXJzKClcbiAgICB9XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5mdW5jdGlvbiB3bXNMYXllckZsYXR0ZW4obGF5ZXJGdWxsKSB7XG4gIGNvbnN0IGxheWVyID0ge1xuICAgIHRpdGxlOiBsYXllckZ1bGwudGl0bGUsXG4gICAgbmFtZTogbGF5ZXJGdWxsLm5hbWUsXG4gICAgYWJzdHJhY3Q6IGxheWVyRnVsbC5hYnN0cmFjdCxcbiAgfVxuXG4gIHJldHVybiAnY2hpbGRyZW4nIGluIGxheWVyRnVsbCAmJiBBcnJheS5pc0FycmF5KGxheWVyRnVsbC5jaGlsZHJlbilcbiAgICA/IFtsYXllciwgLi4ubGF5ZXJGdWxsLmNoaWxkcmVuLmZsYXRNYXAod21zTGF5ZXJGbGF0dGVuKV1cbiAgICA6IFtsYXllcl1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbWVUeXBlRm9yRm9ybWF0KGZvcm1hdDogRmlsZUZvcm1hdCk6IHN0cmluZyB8IG51bGwge1xuICByZXR1cm4gZm9ybWF0IGluIEZPUk1BVFMgPyBGT1JNQVRTW2Zvcm1hdC50b0xvd2VyQ2FzZSgpXS5taW1lVHlwZXNbMF0gOiBudWxsXG59XG4iXX0=
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQU1oRSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sd0JBQXdCLENBQUE7QUFFL0IsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztLQUMzQztJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRTtZQUNWLE9BQU87WUFDUCxLQUFLO1lBQ0wsTUFBTTtZQUNOLFVBQVU7WUFDViwrQkFBK0I7U0FDaEM7UUFDRCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRTtZQUNULDBCQUEwQjtZQUMxQixtRUFBbUU7U0FDcEU7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUN2QixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDO0tBQ2hFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3BCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsa0JB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WSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQzFELE9BQU8sWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ2pDLENBQUM7UUFDRDtZQUNFLE9BQU8sU0FBUyxDQUFBO0lBQ3BCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFTO0lBQ3ZDLE1BQU0sS0FBSyxHQUFHO1FBQ1osS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQ3RCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVE7S0FDN0IsQ0FBQTtJQUVELE9BQU8sVUFBVSxJQUFJLFNBQVMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQWtCO0lBQ3JELE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBEYXRhc2V0T25saW5lUmVzb3VyY2UsXG4gIFNlcnZpY2VPbmxpbmVSZXNvdXJjZSxcbiAgU2VydmljZVByb3RvY29sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBPZ2NBcGlFbmRwb2ludCxcbiAgV2ZzRW5kcG9pbnQsXG4gIFdtc0VuZHBvaW50LFxuICBXbXRzRW5kcG9pbnQsXG59IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5cbm1hcmtlcignZG93bmxvYWRzLndmcy5mZWF0dXJldHlwZS5ub3QuZm91bmQnKVxuXG5leHBvcnQgY29uc3QgRk9STUFUUyA9IHtcbiAgY3N2OiB7XG4gICAgZXh0ZW5zaW9uczogWydjc3YnXSxcbiAgICBwcmlvcml0eTogMSxcbiAgICBjb2xvcjogJyNGNkE5MjQnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2NzdicsICdhcHBsaWNhdGlvbi9jc3YnXSxcbiAgfSxcbiAgZXhjZWw6IHtcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnZXhjZWwnLFxuICAgICAgJ3hscycsXG4gICAgICAneGxzeCcsXG4gICAgICAnbXMtZXhjZWwnLFxuICAgICAgJ29wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50JyxcbiAgICBdLFxuICAgIHByaW9yaXR5OiAyLFxuICAgIGNvbG9yOiAnI0ZGREUxMCcsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgXSxcbiAgfSxcbiAgZ2VvanNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ2VvanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzI5M0M2RicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlbytqc29uJywgJ2FwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiddLFxuICB9LFxuICBqc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjODREMEYwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICB9LFxuICBzaHA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3NocCcsICdzaGFwZScsICd6aXBwZWQtc2hhcGVmaWxlJ10sXG4gICAgcHJpb3JpdHk6IDQsXG4gICAgY29sb3I6ICcjMDA5MDM2JyxcbiAgICBtaW1lVHlwZXM6IFsneC1naXMveC1zaGFwZWZpbGUnXSxcbiAgfSxcbiAgZ21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydnbWwnXSxcbiAgICBwcmlvcml0eTogNSxcbiAgICBjb2xvcjogJyNFNzUxMTMnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nbWwreG1sJywgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbCddLFxuICB9LFxuICBrbWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ttbCcsICdrbXonXSxcbiAgICBwcmlvcml0eTogNixcbiAgICBjb2xvcjogJyNGNEI1RDAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbXonLFxuICAgIF0sXG4gIH0sXG4gIGdwa2c6IHtcbiAgICBleHRlbnNpb25zOiBbJ2dwa2cnLCAnZ2VvcGFja2FnZSddLFxuICAgIHByaW9yaXR5OiA3LFxuICAgIGNvbG9yOiAnIzdENUQ5RicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlb3BhY2thZ2Urc3FsaXRlMyddLFxuICB9LFxuICB6aXA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3ppcCcsICd0YXIuZ3onXSxcbiAgICBwcmlvcml0eTogOCxcbiAgICBjb2xvcjogJyNCMENCNTInLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi96aXAnLCAnYXBwbGljYXRpb24veC16aXAnXSxcbiAgfSxcbiAgcGRmOiB7XG4gICAgZXh0ZW5zaW9uczogWydwZGYnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyM0OTU3OUUnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgfSxcbiAganBnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqcGcnLCAnanBlZycsICdqZmlmJywgJ3BqcGVnJywgJ3BqcCddLFxuICAgIHByaW9yaXR5OiA5LFxuICAgIGNvbG9yOiAnI0M0QTk4RicsXG4gICAgbWltZVR5cGVzOiBbJ2ltYWdlL2pwZyddLFxuICB9LFxuICBzdmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ3N2ZyddLFxuICAgIHByaW9yaXR5OiAxMCxcbiAgICBjb2xvcjogJyNFQjZEODInLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9zdmcreG1sJ10sXG4gIH0sXG4gIGR4Zjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZHhmJ10sXG4gICAgcHJpb3JpdHk6IDExLFxuICAgIGNvbG9yOiAnI0RDQ0QwMCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3gtZHhmJywgJ2ltYWdlL3gtZHhmJ10sXG4gIH0sXG4gIGh0bWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2h0bWwnLCAnaHRtJ10sXG4gICAgcHJpb3JpdHk6IDEyLFxuICAgIGNvbG9yOiAnI0MwQzlCNicsXG4gICAgbWltZVR5cGVzOiBbJ3RleHQvaHRtbCddLFxuICB9LFxuICBmZ2I6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ZnYicsICdmbGF0Z2VvYnVmJ10sXG4gICAgcHJpb3JpdHk6IDEzLFxuICAgIGNvbG9yOiAnI0E4MTExQycsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2ZsYXRnZW9idWYnXSxcbiAgfSxcbiAganNvbmZnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uZmcnLCAnanNvbmZnYyddLFxuICAgIHByaW9yaXR5OiAxNCxcbiAgICBjb2xvcjogJyMwMDlFRTAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vZ2MuZmcranNvbicsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9nYy5mZytqc29uO2NvbXBhdGliaWxpdHk9Z2VvanNvbicsXG4gICAgXSxcbiAgfSxcbn0gYXMgY29uc3RcblxuZXhwb3J0IHR5cGUgRmlsZUZvcm1hdCA9IGtleW9mIHR5cGVvZiBGT1JNQVRTXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXRQcmlvcml0eShsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogbnVtYmVyIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgZXh0IG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAobmV3IFJlZ0V4cChgJHtleHR9YCwgJ2knKS50ZXN0KGxpbmtGb3JtYXQpKSB7XG4gICAgICAgIGlmIChGT1JNQVRTW2Zvcm1hdF0ucHJpb3JpdHkgPT09IDApIHJldHVybiAwXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhGT1JNQVRTKS5sZW5ndGggLSBGT1JNQVRTW2Zvcm1hdF0ucHJpb3JpdHlcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbmtQcmlvcml0eShcbiAgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG4pOiBudW1iZXIge1xuICByZXR1cm4gZ2V0Rm9ybWF0UHJpb3JpdHkoZ2V0RmlsZUZvcm1hdChsaW5rKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dChcbiAgc2VydmljZU91dHB1dDogc3RyaW5nXG4pOiBGaWxlRm9ybWF0IHwgbnVsbCB7XG4gIGZ1bmN0aW9uIGZvcm1hdE1hdGNoZXIoZm9ybWF0OiAodHlwZW9mIEZPUk1BVFMpW0ZpbGVGb3JtYXRdKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gc2VydmljZU91dHB1dC50b0xvd2VyQ2FzZSgpXG4gICAgcmV0dXJuIChcbiAgICAgIGZvcm1hdC5leHRlbnNpb25zLnNvbWUoKGV4dGVuc2lvbjogc3RyaW5nKSA9PlxuICAgICAgICBvdXRwdXQuaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgICAgKSB8fFxuICAgICAgZm9ybWF0Lm1pbWVUeXBlcy5zb21lKChtaW1lVHlwZTogc3RyaW5nKSA9PiBvdXRwdXQuaW5jbHVkZXMobWltZVR5cGUpKVxuICAgIClcbiAgfVxuICBmb3IgKGNvbnN0IGZvcm1hdE5hbWUgaW4gRk9STUFUUykge1xuICAgIGlmIChmb3JtYXRNYXRjaGVyKEZPUk1BVFNbZm9ybWF0TmFtZV0pKSB7XG4gICAgICByZXR1cm4gZm9ybWF0TmFtZSBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0KFxuICBsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UgfCBTZXJ2aWNlT25saW5lUmVzb3VyY2Vcbik6IEZpbGVGb3JtYXQge1xuICBpZiAoJ21pbWVUeXBlJyBpbiBsaW5rKSB7XG4gICAgY29uc3QgbWltZVR5cGVGb3JtYXQgPSBtaW1lVHlwZVRvRm9ybWF0KGxpbmsubWltZVR5cGUpXG4gICAgaWYgKG1pbWVUeXBlRm9ybWF0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbWltZVR5cGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChjaGVja0ZpbGVGb3JtYXQobGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICAgIGlmIChpc0Zvcm1hdEluUXVlcnlQYXJhbShsaW5rLCBhbGlhcykpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtYXRJblF1ZXJ5UGFyYW0oXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZSxcbiAgYWxpYXM6IHN0cmluZ1xuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbGluay51cmwuc2VhcmNoUGFyYW1zXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHF1ZXJ5UGFyYW1zLmVudHJpZXMoKSkge1xuICAgIGlmIChrZXkgPT09ICdmb3JtYXQnIHx8IGtleSA9PT0gJ2YnKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IGFsaWFzXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWltZVR5cGVUb0Zvcm1hdChtaW1lVHlwZTogc3RyaW5nKTogRmlsZUZvcm1hdCB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IG10IG9mIEZPUk1BVFNbZm9ybWF0XS5taW1lVHlwZXMpIHtcbiAgICAgIGlmIChtaW1lVHlwZSA9PT0gbXQpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tGaWxlRm9ybWF0KFxuICBsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UgfCBTZXJ2aWNlT25saW5lUmVzb3VyY2UsXG4gIGZvcm1hdDogRmlsZUZvcm1hdFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKCduYW1lJyBpbiBsaW5rICYmXG4gICAgICBuZXcgUmVnRXhwKGBbLi9dJHtmb3JtYXR9YCwgJ2knKS50ZXN0KGxpbmsubmFtZS50b0xvd2VyQ2FzZSgpKSkgfHxcbiAgICAoJ3VybCcgaW4gbGluayAmJlxuICAgICAgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLnVybC50b1N0cmluZygpKSkgfHxcbiAgICAoJ25hbWUnIGluIGxpbmsgJiYgbGluay5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZm9ybWF0KSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFkZ2VDb2xvcihsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2FsaWFzfWAsICdpJykudGVzdChsaW5rRm9ybWF0KSlcbiAgICAgICAgcmV0dXJuIEZPUk1BVFNbZm9ybWF0XS5jb2xvclxuICAgIH1cbiAgfVxuICByZXR1cm4gJ3ZhcigtLWNvbG9yLWdyYXktNzAwKScgLy8gRGVmYXVsdCBjb2xvciA/XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZVxuKTogc3RyaW5nIHtcbiAgbGV0IGZvcm1hdCA9ICcnXG4gIHN3aXRjaCAobGluay50eXBlKSB7XG4gICAgY2FzZSAnc2VydmljZSc6XG4gICAgICB7XG4gICAgICAgIHN3aXRjaCAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICAgICAgICBjYXNlICd3ZnMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dGUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dNVFMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3Rtcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnVE1TJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICdlc3JpUmVzdCc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnUkVTVCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuICBjb25zdCBsYWJlbCA9IGxpbmsuZGVzY3JpcHRpb24gfHwgKCduYW1lJyBpbiBsaW5rID8gbGluay5uYW1lIDogJycpXG4gIHJldHVybiBmb3JtYXQgPyBgJHtsYWJlbH0gKCR7Zm9ybWF0fSlgIDogbGFiZWxcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExheWVycyh1cmw6IHN0cmluZywgc2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgc3dpdGNoIChzZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICBjYXNlICdvZ2NGZWF0dXJlcyc6IHtcbiAgICAgIGNvbnN0IGxheWVycyA9IGF3YWl0IG5ldyBPZ2NBcGlFbmRwb2ludCh1cmwpLmFsbENvbGxlY3Rpb25zXG4gICAgICByZXR1cm4gbGF5ZXJzXG4gICAgfVxuICAgIGNhc2UgJ3dmcyc6IHtcbiAgICAgIGNvbnN0IGVuZHBvaW50V2ZzID0gYXdhaXQgbmV3IFdmc0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICBjb25zdCBmZWF0dXJlVHlwZXMgPSBhd2FpdCBlbmRwb2ludFdmcy5nZXRGZWF0dXJlVHlwZXMoKVxuICAgICAgY29uc3QgbGF5ZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGZlYXR1cmVUeXBlcy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZW5kcG9pbnRXZnMuZ2V0RmVhdHVyZVR5cGVGdWxsKGNvbGxlY3Rpb24ubmFtZSlcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIHJldHVybiBsYXllcnNcbiAgICB9XG4gICAgY2FzZSAnd21zJzoge1xuICAgICAgY29uc3QgZW5kcG9pbnRXbXMgPSBhd2FpdCBuZXcgV21zRW5kcG9pbnQodXJsKS5pc1JlYWR5KClcbiAgICAgIGNvbnN0IGxheWVycyA9IChcbiAgICAgICAgYXdhaXQgZW5kcG9pbnRXbXNcbiAgICAgICAgICAuZ2V0TGF5ZXJzKClcbiAgICAgICAgICAuZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXG4gICAgICAgICAgLmZpbHRlcigobCkgPT4gbC5uYW1lKVxuICAgICAgKS5tYXAoKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIGVuZHBvaW50V21zLmdldExheWVyQnlOYW1lKGNvbGxlY3Rpb24ubmFtZSlcbiAgICAgIH0pXG4gICAgICByZXR1cm4gbGF5ZXJzXG4gICAgfVxuICAgIGNhc2UgJ3dtdHMnOiB7XG4gICAgICBjb25zdCBlbmRwb2ludFdtdHMgPSBhd2FpdCBuZXcgV210c0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICByZXR1cm4gZW5kcG9pbnRXbXRzLmdldExheWVycygpXG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdtc0xheWVyRmxhdHRlbihsYXllckZ1bGwpIHtcbiAgY29uc3QgbGF5ZXIgPSB7XG4gICAgdGl0bGU6IGxheWVyRnVsbC50aXRsZSxcbiAgICBuYW1lOiBsYXllckZ1bGwubmFtZSxcbiAgICBhYnN0cmFjdDogbGF5ZXJGdWxsLmFic3RyYWN0LFxuICB9XG5cbiAgcmV0dXJuICdjaGlsZHJlbicgaW4gbGF5ZXJGdWxsICYmIEFycmF5LmlzQXJyYXkobGF5ZXJGdWxsLmNoaWxkcmVuKVxuICAgID8gW2xheWVyLCAuLi5sYXllckZ1bGwuY2hpbGRyZW4uZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXVxuICAgIDogW2xheWVyXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWltZVR5cGVGb3JGb3JtYXQoZm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBmb3JtYXQgaW4gRk9STUFUUyA/IEZPUk1BVFNbZm9ybWF0LnRvTG93ZXJDYXNlKCldLm1pbWVUeXBlc1swXSA6IG51bGxcbn1cbiJdfQ==
|