geonetwork-ui 2.3.0-dev.f736344f → 2.3.0-dev.ff2a9db7
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/index.mjs +5 -5
- package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +15 -0
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +52 -0
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +8 -4
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/index.mjs +4 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/index.mjs +2 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +123 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +116 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +138 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/index.mjs +2 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +242 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +59 -63
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.mjs +18 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +48 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +18 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +64 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +76 -59
- package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +76 -14
- package/esm2022/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.mjs +1 -1
- package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +12 -1
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +4 -4
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +36 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +21 -7
- package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/record/user-feedbacks.model.mjs +2 -0
- package/esm2022/libs/common/domain/src/lib/model/user/index.mjs +2 -0
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +35 -7
- package/esm2022/libs/data-access/gn4/src/openapi/model/models.mjs +1 -2
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +36 -3
- package/esm2022/libs/feature/editor/src/index.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +6 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +11 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +28 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +64 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +11 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +15 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +45 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +50 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +11 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +11 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +104 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +126 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +2 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +10 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +29 -0
- package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +10 -10
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +23 -1
- package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +8 -8
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +6 -2
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +3 -3
- package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +125 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +7 -3
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +12 -7
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +73 -25
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +12 -49
- package/esm2022/libs/feature/notifications/src/index.mjs +4 -0
- package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +18 -0
- package/esm2022/libs/feature/notifications/src/lib/notification.model.mjs +2 -0
- package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +49 -0
- package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +29 -0
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +4 -4
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +9 -4
- package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +22 -4
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +37 -10
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +22 -7
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +52 -17
- package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +18 -3
- package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +2 -2
- package/esm2022/libs/feature/search/src/index.mjs +2 -1
- package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +1 -1
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +1 -1
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +3 -3
- package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +15 -15
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -2
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +5 -5
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +16 -3
- package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +45 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +34 -0
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +99 -36
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +4 -3
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +14 -10
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +59 -0
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +60 -0
- package/esm2022/libs/ui/inputs/src/index.mjs +16 -16
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -3
- package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +22 -0
- package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +7 -5
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +19 -8
- package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +59 -0
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +183 -0
- package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +29 -0
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +27 -4
- package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +21 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +21 -31
- package/esm2022/libs/ui/layout/src/index.mjs +7 -5
- package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +76 -0
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +42 -18
- package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +18 -0
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +3 -8
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -2
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +22 -1
- package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -0
- package/esm2022/libs/util/shared/src/lib/utils/image-resize.mjs +60 -0
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +8 -6
- package/esm2022/translations/de.json +43 -0
- package/esm2022/translations/en.json +43 -0
- package/esm2022/translations/es.json +43 -0
- package/esm2022/translations/fr.json +43 -0
- package/esm2022/translations/it.json +43 -0
- package/esm2022/translations/nl.json +43 -0
- package/esm2022/translations/pt.json +43 -0
- package/fesm2022/geonetwork-ui.mjs +5728 -3420
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.ts +1 -0
- package/libs/api/metadata-converter/src/index.d.ts +4 -4
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/{metadata-base.mapper.d.ts → base.converter.d.ts} +3 -3
- package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/find-converter.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.d.ts → gn4.converter.d.ts} +5 -5
- package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/index.d.ts +4 -0
- package/libs/api/metadata-converter/src/lib/gn4/index.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts +2 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts +9 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +20 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +21 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts +2 -0
- package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +11 -0
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +34 -6
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts +8 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +39 -3
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +14 -1
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -2
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +6 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -6
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
- package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -4
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts +15 -0
- package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/user/index.d.ts +2 -0
- package/libs/common/domain/src/lib/model/user/index.d.ts.map +1 -0
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +3 -0
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +9 -5
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/models.d.ts +0 -1
- package/libs/data-access/gn4/src/openapi/model/models.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +3 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -1
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +8 -5
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.d.ts.map +1 -0
- package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +39 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -0
- package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +8 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +16 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -0
- package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.d.ts +2 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -0
- package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +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 -0
- package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +21 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -0
- package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.component.d.ts +13 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/{record-form → components/record-form}/record-form.component.d.ts +3 -3
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/feature-editor.module.d.ts +1 -1
- package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/fields.model.d.ts +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +28 -0
- package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +2 -1
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +2 -0
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +11 -5
- package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +1 -1
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +2 -3
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/notifications/src/index.d.ts +4 -0
- package/libs/feature/notifications/src/index.d.ts.map +1 -0
- package/libs/feature/notifications/src/lib/feature-notifications.module.d.ts +7 -0
- package/libs/feature/notifications/src/lib/feature-notifications.module.d.ts.map +1 -0
- package/libs/feature/notifications/src/lib/notification.model.d.ts +7 -0
- package/libs/feature/notifications/src/lib/notification.model.d.ts.map +1 -0
- package/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.d.ts +12 -0
- package/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.d.ts.map +1 -0
- package/libs/feature/notifications/src/lib/notifications.service.d.ts +15 -0
- package/libs/feature/notifications/src/lib/notifications.service.d.ts.map +1 -0
- package/libs/feature/record/src/lib/feature-record.module.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/state/mdview.actions.d.ts +40 -6
- 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 +24 -4
- 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 +14 -4
- 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 +8 -5
- 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 +12 -9
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +1 -0
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts +3 -3
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +14 -14
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +3 -1
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +13 -0
- package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/notification/notification.component.d.ts +13 -0
- package/libs/ui/elements/src/lib/notification/notification.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +24 -4
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +29 -28
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +11 -0
- package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +21 -0
- package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/index.d.ts +15 -15
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts +9 -0
- package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts +2 -1
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/files-drop/files-drop.directive.d.ts +14 -0
- package/libs/ui/inputs/src/lib/files-drop/files-drop.directive.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +44 -0
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +12 -0
- package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +7 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +5 -1
- package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -42
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +6 -4
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +25 -0
- package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +13 -6
- package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +8 -0
- package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts +4 -5
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +18 -0
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -0
- package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/image-resize.d.ts +3 -0
- package/libs/util/shared/src/lib/utils/image-resize.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +7 -5
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/libs/api/metadata-converter/src/index.ts +4 -4
- package/src/libs/api/metadata-converter/src/lib/{metadata-base.mapper.ts → base.converter.ts} +2 -2
- package/src/libs/api/metadata-converter/src/lib/find-converter.ts +16 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +32 -5
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +11 -4
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +33 -7
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +580 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.ts → gn4.converter.ts} +2 -2
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +9 -3
- package/src/libs/api/metadata-converter/src/lib/gn4/index.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +176 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +329 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +513 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +327 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +122 -83
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.ts +20 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +175 -98
- package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +84 -16
- package/src/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/auth/gravatar.service.ts +12 -1
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +51 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +40 -7
- package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +9 -4
- package/src/libs/common/domain/src/lib/model/record/user-feedbacks.model.ts +15 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +3 -0
- package/src/libs/common/fixtures/src/index.ts +8 -6
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +8 -0
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +3 -3
- package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +83 -0
- package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +43 -12
- package/src/libs/data-access/gn4/src/openapi/model/models.ts +0 -1
- package/src/libs/data-access/gn4/src/spec.yaml +1 -1
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +52 -2
- package/src/libs/feature/editor/src/index.ts +1 -1
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +8 -1
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +8 -0
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +70 -0
- package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.ts +1 -0
- package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.ts +4 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +8 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +64 -0
- package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +15 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +20 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +44 -0
- package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.ts +4 -1
- package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.css +0 -0
- package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +14 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +143 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +97 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +142 -0
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.css +0 -0
- package/src/libs/feature/editor/src/lib/{record-form → components/record-form}/record-form.component.html +1 -0
- package/src/libs/feature/editor/src/lib/{record-form → components/record-form}/record-form.component.ts +4 -4
- package/src/libs/feature/editor/src/lib/feature-editor.module.ts +9 -9
- package/src/libs/feature/editor/src/lib/fields.config.ts +22 -0
- package/src/libs/feature/editor/src/lib/models/fields.model.ts +1 -1
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +27 -16
- package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +5 -1
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +1 -1
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.css +7 -0
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +50 -0
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +135 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +8 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +5 -0
- package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +11 -3
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +78 -32
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +17 -61
- package/src/libs/feature/notifications/src/index.ts +3 -0
- package/src/libs/feature/notifications/src/lib/feature-notifications.module.ts +10 -0
- package/src/libs/feature/notifications/src/lib/notification.model.ts +6 -0
- package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.css +0 -0
- package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.html +17 -0
- package/src/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.ts +44 -0
- package/src/libs/feature/notifications/src/lib/notifications.service.ts +27 -0
- package/src/libs/feature/record/src/lib/feature-record.module.ts +5 -2
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +7 -2
- package/src/libs/feature/record/src/lib/state/mdview.actions.ts +51 -6
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +82 -7
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +48 -8
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +81 -24
- package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +40 -10
- package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
- package/src/libs/feature/search/src/index.ts +1 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.html +3 -3
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -2
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +5 -5
- package/src/libs/ui/elements/src/index.ts +14 -14
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +2 -1
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +1 -1
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +38 -20
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +12 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +0 -5
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +0 -21
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -14
- package/src/libs/ui/elements/src/lib/notification/notification.component.css +0 -0
- package/src/libs/ui/elements/src/lib/notification/notification.component.html +52 -0
- package/src/libs/ui/elements/src/lib/notification/notification.component.ts +31 -0
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +27 -11
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +126 -30
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +5 -3
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -3
- package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +54 -0
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.css +0 -0
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +75 -0
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +62 -0
- package/src/libs/ui/inputs/src/index.ts +15 -15
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +1 -1
- package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -0
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +3 -0
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +11 -0
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +16 -0
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +8 -1
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -0
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +14 -0
- package/src/libs/ui/inputs/src/lib/files-drop/files-drop.directive.ts +45 -0
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +0 -0
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +146 -0
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +193 -0
- package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.css +6 -0
- package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +26 -0
- package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +32 -0
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +2 -1
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +29 -0
- package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +2 -1
- package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +17 -1
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +6 -22
- package/src/libs/ui/layout/src/index.ts +6 -4
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +23 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +20 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +84 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +8 -4
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -4
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +45 -15
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.css +0 -0
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +18 -0
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +16 -0
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -2
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +1 -1
- package/src/libs/util/shared/src/lib/links/link-utils.ts +21 -0
- package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +3 -0
- package/src/libs/util/shared/src/lib/utils/image-resize.ts +72 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +7 -5
- package/tailwind.base.css +36 -0
- package/translations/de.json +43 -0
- package/translations/en.json +43 -0
- package/translations/es.json +43 -0
- package/translations/fr.json +43 -0
- package/translations/it.json +43 -0
- package/translations/nl.json +43 -0
- package/translations/pt.json +43 -0
- package/translations/sk.json +43 -0
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +0 -52
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.mjs +0 -14
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.mjs +0 -48
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.mjs +0 -18
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.mjs +0 -64
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +0 -130
- package/esm2022/libs/api/metadata-converter/src/lib/metadata-base.mapper.mjs +0 -14
- package/esm2022/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.mjs +0 -13
- package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +0 -30
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-array/form-field-array.component.mjs +0 -11
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-file/form-field-file.component.mjs +0 -27
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-object/form-field-object.component.mjs +0 -11
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.mjs +0 -27
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-simple/form-field-simple.component.mjs +0 -49
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +0 -11
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +0 -11
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.component.mjs +0 -76
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.model.mjs +0 -2
- package/esm2022/libs/ui/inputs/src/lib/form-field/index.mjs +0 -10
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts +0 -4
- package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/metadata-base.mapper.d.ts.map +0 -1
- package/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.d.ts +0 -18
- package/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field-array/form-field-array.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field-file/form-field-file.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field-object/form-field-object.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.d.ts +0 -11
- package/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field-simple/form-field-simple.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/form-field/index.d.ts.map +0 -1
- package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +0 -196
- package/src/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.ts +0 -18
- package/src/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.html +0 -11
- package/src/libs/ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.ts +0 -15
- package/src/libs/ui/inputs/src/lib/form-field/form-field.component.html +0 -68
- package/src/libs/ui/inputs/src/lib/form-field/form-field.component.ts +0 -80
- /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/keyword.mapper.d.ts +0 -0
- /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.d.ts +0 -0
- /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.d.ts +0 -0
- /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.d.ts +0 -0
- /package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.model.d.ts +0 -0
- /package/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/index.d.ts +0 -0
- /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/keyword.mapper.ts +0 -0
- /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.ts +0 -0
- /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.ts +0 -0
- /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.ts +0 -0
- /package/src/libs/feature/editor/src/lib/{record-form/record-form.component.css → components/overview-upload/overview-upload.component.css} +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.css +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-array/form-field-array.component.html +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.css +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-file/form-field-file.component.html +0 -0
- /package/src/libs/{ui/inputs/src/lib/form-field/form-field-object/form-field-object.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css} +0 -0
- /package/src/libs/{ui/inputs/src/lib/form-field/form-field-rich/form-field-rich.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.css} +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-object/form-field-object.component.html +0 -0
- /package/src/libs/{ui/inputs/src/lib/form-field/form-field-simple/form-field-simple.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css} +0 -0
- /package/src/libs/{ui/inputs/src/lib/form-field/form-field-spatial-extent/form-field-spatial-extent.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.css} +0 -0
- /package/src/libs/{ui/inputs/src/lib/form-field/form-field-temporal-extent/form-field-temporal-extent.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.css} +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-simple/form-field-simple.component.html +0 -0
- /package/src/libs/{ui/inputs/src/lib/form-field/form-field.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.css} +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field-temporal-extent/form-field-temporal-extent.component.html +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/form-field.model.ts +0 -0
- /package/src/libs/{ui/inputs/src/lib → feature/editor/src/lib/components/record-form}/form-field/index.ts +0 -0
|
@@ -25,6 +25,8 @@ export function createDocument(rootEl) {
|
|
|
25
25
|
const namespace = extractNamespace(name);
|
|
26
26
|
if (namespace === 'xmlns' || namespace === null)
|
|
27
27
|
return;
|
|
28
|
+
if (rootEl.attributes[`xmlns:${namespace}`])
|
|
29
|
+
return;
|
|
28
30
|
if (!NAMESPACES[namespace]) {
|
|
29
31
|
throw new Error(`No known URI for namespace ${namespace}`);
|
|
30
32
|
}
|
|
@@ -44,10 +46,14 @@ export function createDocument(rootEl) {
|
|
|
44
46
|
/**
|
|
45
47
|
* Will do nothing if no namespace present
|
|
46
48
|
*/
|
|
47
|
-
function stripNamespace(name) {
|
|
49
|
+
export function stripNamespace(name) {
|
|
48
50
|
const colon = name.indexOf(':');
|
|
49
51
|
return colon > -1 ? name.substring(colon + 1) : name;
|
|
50
52
|
}
|
|
53
|
+
export function getNamespace(name) {
|
|
54
|
+
const colon = name.indexOf(':');
|
|
55
|
+
return colon > -1 ? name.substring(0, colon) : '';
|
|
56
|
+
}
|
|
51
57
|
function getElementName(element) {
|
|
52
58
|
return element.name || '';
|
|
53
59
|
}
|
|
@@ -199,6 +205,29 @@ const NAMESPACES = {
|
|
|
199
205
|
gsr: 'http://www.isotc211.org/2005/gsr',
|
|
200
206
|
gmi: 'http://www.isotc211.org/2005/gmi',
|
|
201
207
|
xlink: 'http://www.w3.org/1999/xlink',
|
|
208
|
+
mdb: 'http://standards.iso.org/iso/19115/-3/mdb/2.0',
|
|
209
|
+
mdq: 'http://standards.iso.org/iso/19157/-2/mdq/1.0',
|
|
210
|
+
msr: 'http://standards.iso.org/iso/19115/-3/msr/2.0',
|
|
211
|
+
mrs: 'http://standards.iso.org/iso/19115/-3/mrs/1.0',
|
|
212
|
+
mmi: 'http://standards.iso.org/iso/19115/-3/mmi/1.0',
|
|
213
|
+
mrl: 'http://standards.iso.org/iso/19115/-3/mrl/2.0',
|
|
214
|
+
mdt: 'http://standards.iso.org/iso/19115/-3/mdt/2.0',
|
|
215
|
+
mrd: 'http://standards.iso.org/iso/19115/-3/mrd/1.0',
|
|
216
|
+
mds: 'http://standards.iso.org/iso/19115/-3/mds/2.0',
|
|
217
|
+
mpc: 'http://standards.iso.org/iso/19115/-3/mpc/1.0',
|
|
218
|
+
mcc: 'http://standards.iso.org/iso/19115/-3/mcc/1.0',
|
|
219
|
+
mac: 'http://standards.iso.org/iso/19115/-3/mac/2.0',
|
|
220
|
+
mco: 'http://standards.iso.org/iso/19115/-3/mco/1.0',
|
|
221
|
+
mda: 'http://standards.iso.org/iso/19115/-3/mda/1.0',
|
|
222
|
+
mex: 'http://standards.iso.org/iso/19115/-3/mex/1.0',
|
|
223
|
+
gex: 'http://standards.iso.org/iso/19115/-3/gex/1.0',
|
|
224
|
+
gcx: 'http://standards.iso.org/iso/19115/-3/gcx/1.0',
|
|
225
|
+
mas: 'http://standards.iso.org/iso/19115/-3/mas/1.0',
|
|
226
|
+
mri: 'http://standards.iso.org/iso/19115/-3/mri/1.0',
|
|
227
|
+
cit: 'http://standards.iso.org/iso/19115/-3/cit/2.0',
|
|
228
|
+
cat: 'http://standards.iso.org/iso/19115/-3/cat/1.0',
|
|
229
|
+
lan: 'http://standards.iso.org/iso/19115/-3/lan/1.0',
|
|
230
|
+
mrc: 'http://standards.iso.org/iso/19115/-3/mrc/2.0',
|
|
202
231
|
};
|
|
203
232
|
/**
|
|
204
233
|
* @param name Full name with namespace, e.g.: gmd:MD_Metadata
|
|
@@ -212,25 +241,36 @@ export function addAttribute(name, value) {
|
|
|
212
241
|
return element;
|
|
213
242
|
};
|
|
214
243
|
}
|
|
244
|
+
function getTreeRoot(element) {
|
|
245
|
+
let root = element;
|
|
246
|
+
while (root.parent instanceof XmlElement) {
|
|
247
|
+
root = root.parent;
|
|
248
|
+
}
|
|
249
|
+
return root;
|
|
250
|
+
}
|
|
215
251
|
// stays on the parent element
|
|
216
252
|
// if the given elements are part of a subtree, will add the root of subtree
|
|
217
253
|
export function appendChildren(...childrenFns) {
|
|
218
254
|
return (element) => {
|
|
219
255
|
if (!element)
|
|
220
256
|
return null;
|
|
221
|
-
element.children.push(...childrenFns
|
|
222
|
-
.map((fn) => fn())
|
|
223
|
-
.map((el) => {
|
|
224
|
-
let root = el;
|
|
225
|
-
while (root.parent instanceof XmlElement) {
|
|
226
|
-
root = root.parent;
|
|
227
|
-
}
|
|
228
|
-
return root;
|
|
229
|
-
}));
|
|
257
|
+
element.children.push(...childrenFns.map((fn) => fn()).map(getTreeRoot));
|
|
230
258
|
element.children.forEach((el) => (el.parent = element));
|
|
231
259
|
return element;
|
|
232
260
|
};
|
|
233
261
|
}
|
|
262
|
+
// switch to the tip of the subtree
|
|
263
|
+
export function appendChildTree(childrenFn) {
|
|
264
|
+
return (element) => {
|
|
265
|
+
if (!element)
|
|
266
|
+
return null;
|
|
267
|
+
const treeTip = childrenFn();
|
|
268
|
+
const treeRoot = getTreeRoot(treeTip);
|
|
269
|
+
element.children.push(treeRoot);
|
|
270
|
+
treeRoot.parent = element;
|
|
271
|
+
return treeTip;
|
|
272
|
+
};
|
|
273
|
+
}
|
|
234
274
|
// switches to the child element
|
|
235
275
|
export function createChild(childName) {
|
|
236
276
|
return (element) => {
|
|
@@ -277,6 +317,7 @@ export function removeAllChildren() {
|
|
|
277
317
|
return element;
|
|
278
318
|
};
|
|
279
319
|
}
|
|
320
|
+
// stays on the same element
|
|
280
321
|
export function removeChildrenByName(name) {
|
|
281
322
|
return (element) => {
|
|
282
323
|
if (!element)
|
|
@@ -291,10 +332,31 @@ export function removeChildrenByName(name) {
|
|
|
291
332
|
}
|
|
292
333
|
export function removeChildren(childrenFn) {
|
|
293
334
|
return (element) => {
|
|
294
|
-
const
|
|
295
|
-
|
|
296
|
-
element.children = element.children.filter((child) => child instanceof XmlElement &&
|
|
335
|
+
const childrenToRemove = childrenFn(element);
|
|
336
|
+
childrenToRemove.forEach((child) => (child.parent = null));
|
|
337
|
+
element.children = element.children.filter((child) => child instanceof XmlElement && childrenToRemove.indexOf(child) === -1);
|
|
297
338
|
return element;
|
|
298
339
|
};
|
|
299
340
|
}
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYy9saWIveG1sLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBRVIsV0FBVyxFQUNYLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxLQUFLO0lBQ3RDLFlBQVksT0FBTztRQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDaEIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQWlCO0lBQzlDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQTtJQUNkLElBQUk7UUFDRixHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQzFCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUksYUFBYSxDQUFDLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQzVEO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFrQjtJQUMvQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFBO0lBRTNDLFNBQVMsd0JBQXdCLENBQUMsSUFBWTtRQUM1QyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFJLFNBQVMsS0FBSyxPQUFPLElBQUks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QTtRQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsRCxPQUFPLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN4QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLFVBQVUsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN6RSxDQUFBO1FBQ0QsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHBhcnNlWG1sLFxuICBYbWxDb21tZW50LFxuICBYbWxEb2N1bWVudCxcbiAgWG1sRWxlbWVudCxcbiAgWG1sVGV4dCxcbn0gZnJvbSAnQHJncm92ZS9wYXJzZS14bWwnXG5pbXBvcnQgeyBDaGFpbmFibGVGdW5jdGlvbiwgZmFsbGJhY2sgfSBmcm9tICcuL2Z1bmN0aW9uLXV0aWxzJ1xuZXhwb3J0IHsgWG1sRG9jdW1lbnQsIFhtbEVsZW1lbnQgfSBmcm9tICdAcmdyb3ZlL3BhcnNlLXhtbCdcblxuZXhwb3J0IGNsYXNzIFhtbFBhcnNlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihtZXNzYWdlKVxuICB9XG59XG5cbi8qKlxuICogUGFyc2VzIGEgWE1MIGRvY3VtZW50IGFzIHN0cmluZywgcmV0dXJuIGEgZG9jdW1lbnQgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVhtbFN0cmluZyh4bWxTdHJpbmc6IHN0cmluZyk6IFhtbERvY3VtZW50IHtcbiAgbGV0IGRvYyA9IG51bGxcbiAgdHJ5IHtcbiAgICBkb2MgPSBwYXJzZVhtbCh4bWxTdHJpbmcpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgWG1sUGFyc2VFcnJvcihlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBlKVxuICB9XG4gIHJldHVybiBkb2Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURvY3VtZW50KHJvb3RFbDogWG1sRWxlbWVudCk6IFhtbERvY3VtZW50IHtcbiAgcm9vdEVsLmF0dHJpYnV0ZXMgPSByb290RWwuYXR0cmlidXRlcyB8fCB7fVxuXG4gIGZ1bmN0aW9uIGNvbGxlY3ROYW1lc3BhY2VGcm9tTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBuYW1lc3BhY2UgPSBleHRyYWN0TmFtZXNwYWNlKG5hbWUpXG4gICAgaWYgKG5hbWVzcGFjZSA9PT0gJ3htbG5zJyB8fCBuYW1lc3BhY2UgPT09IG51bGwpIHJldHVyblxuICAgIGlmICghTkFNRVNQQUNFU1tuYW1lc3BhY2VdKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGtub3duIFVSSSBmb3IgbmFtZXNwYWNlICR7bmFtZXNwYWNlfWApXG4gICAgfVxuICAgIHJvb3RFbC5hdHRyaWJ1dGVzW2B4bWxuczoke25hbWVzcGFjZX1gXSA9IE5BTUVTUEFDRVNbbmFtZXNwYWNlXVxuICB9XG5cbiAgZnVuY3Rpb24gY29sbGVjdE5hbWVzcGFjZXMoZWw6IFhtbEVsZW1lbnQpIHtcbiAgICBjb2xsZWN0TmFtZXNwYWNlRnJvbU5hbWUoZWwubmFtZSlcbiAgICBmb3IgKGNvbnN0IGF0dHIgaW4gZWwuYXR0cmlidXRlcykge1xuICAgICAgY29sbGVjdE5hbWVzcGFjZUZyb21OYW1lKGF0dHIpXG4gICAgfVxuICAgIGNvbnN0IGNoaWxkcmVuID0gYWxsQ2hpbGRyZW5FbGVtZW50KGVsKVxuICAgIGNoaWxkcmVuLmZvckVhY2goY29sbGVjdE5hbWVzcGFjZXMpXG4gIH1cblxuICBjb2xsZWN0TmFtZXNwYWNlcyhyb290RWwpXG4gIHJldHVybiBuZXcgWG1sRG9jdW1lbnQoW3Jvb3RFbF0pXG59XG5cbi8qKlxuICogV2lsbCBkbyBub3RoaW5nIGlmIG5vIG5hbWVzcGFjZSBwcmVzZW50XG4gKi9cbmZ1bmN0aW9uIHN0cmlwTmFtZXNwYWNlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGNvbG9uID0gbmFtZS5pbmRleE9mKCc6JylcbiAgcmV0dXJuIGNvbG9uID4gLTEgPyBuYW1lLnN1YnN0cmluZyhjb2xvbiArIDEpIDogbmFtZVxufVxuXG5mdW5jdGlvbiBnZXRFbGVtZW50TmFtZShlbGVtZW50OiBYbWxFbGVtZW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIGVsZW1lbnQubmFtZSB8fCAnJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdEVsZW1lbnQoeG1sRG9jOiBYbWxEb2N1bWVudCk6IFhtbEVsZW1lbnQge1xuICByZXR1cm4geG1sRG9jLmNoaWxkcmVuLmZpbmQoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpIGFzIFhtbEVsZW1lbnRcbn1cblxuLyoqXG4gKiBXaWxsIHJldHVybiBhbGwgbWF0Y2hpbmcgZWxlbWVudHMgKG5hbWVzcGFjZSB3aWxsIGJlIGlnbm9yZWQpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ2hpbGRyZW5FbGVtZW50KFxuICBuYW1lOiBzdHJpbmcsXG4gIG5lc3RlZCA9IHRydWVcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIEFycmF5PFhtbEVsZW1lbnQ+PiB7XG4gIHJldHVybiAoZWwpID0+IHtcbiAgICBjb25zdCBzdHJpcHBlZE5hbWUgPSBzdHJpcE5hbWVzcGFjZShuYW1lKVxuICAgIGZ1bmN0aW9uIHJlZHVjZXIocHJldiwgY3Vycikge1xuICAgICAgaWYgKHN0cmlwTmFtZXNwYWNlKGdldEVsZW1lbnROYW1lKGN1cnIpKSA9PT0gc3RyaXBwZWROYW1lKSB7XG4gICAgICAgIHByZXYucHVzaChjdXJyKVxuICAgICAgfVxuXG4gICAgICBpZiAobmVzdGVkICYmIEFycmF5LmlzQXJyYXkoY3Vyci5jaGlsZHJlbikpIHtcbiAgICAgICAgcmV0dXJuIFsuLi5wcmV2LCAuLi5jdXJyLmNoaWxkcmVuLnJlZHVjZShyZWR1Y2VyLCBbXSldXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlbCAmJiBBcnJheS5pc0FycmF5KGVsLmNoaWxkcmVuKVxuICAgICAgPyBlbC5jaGlsZHJlbi5yZWR1Y2UocmVkdWNlciwgW10pXG4gICAgICA6IFtdXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRDaGlsZEVsZW1lbnQoXG4gIG5hbWU6IHN0cmluZyxcbiAgbmVzdGVkID0gdHJ1ZVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsKSA9PiBmaW5kQ2hpbGRyZW5FbGVtZW50KG5hbWUsIG5lc3RlZCkoZWwpWzBdIHx8IG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFsbENoaWxkcmVuRWxlbWVudChlbGVtZW50OiBYbWxFbGVtZW50KTogQXJyYXk8WG1sRWxlbWVudD4ge1xuICBpZiAoIWVsZW1lbnQgfHwgIUFycmF5LmlzQXJyYXkoZWxlbWVudC5jaGlsZHJlbikpIHJldHVybiBbXVxuICByZXR1cm4gW1xuICAgIC4uLmVsZW1lbnQuY2hpbGRyZW4uZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiBYbWxFbGVtZW50KSxcbiAgXSBhcyBBcnJheTxYbWxFbGVtZW50PlxufVxuXG4vKipcbiAqIFdpbGwgcmV0dXJuIGFsbCBtYXRjaGluZyBlbGVtZW50cyBuZXN0ZWQgYWNjb3JkaW5nIHRvIHRoZSBnaXZlblxuICogbmFtZXMgKHNpbWlsYXIgdG8gYSBwYXRoKSwgc3RhcnRpbmcgZm9ybSB0aGUgaW5wdXQgZWxlbWVudDtcbiAqIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgbm8gbWF0Y2hpbmcgZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE5lc3RlZEVsZW1lbnRzKFxuICAuLi5lbGVtZW50TmFtZXNcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIEFycmF5PFhtbEVsZW1lbnQ+PiB7XG4gIHJldHVybiAoZWwpID0+IHtcbiAgICBmdW5jdGlvbiBsb29rRm9yKGVsTmFtZUluZGV4OiBudW1iZXIpIHtcbiAgICAgIGNvbnN0IHN0cmlwcGVkTmFtZSA9IHN0cmlwTmFtZXNwYWNlKGVsZW1lbnROYW1lc1tlbE5hbWVJbmRleF0pXG4gICAgICByZXR1cm4gKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgaWYgKHN0cmlwTmFtZXNwYWNlKGdldEVsZW1lbnROYW1lKGN1cnIpKSAhPT0gc3RyaXBwZWROYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxOYW1lSW5kZXggPT09IGVsZW1lbnROYW1lcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgcmV0dXJuIFsuLi5wcmV2LCBjdXJyXVxuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnIuY2hpbGRyZW4pKSB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAuLi5jdXJyLmNoaWxkcmVuLnJlZHVjZShsb29rRm9yKGVsTmFtZUluZGV4ICsgMSksIFtdKSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZWwgJiYgQXJyYXkuaXNBcnJheShlbC5jaGlsZHJlbilcbiAgICAgID8gZWwuY2hpbGRyZW4ucmVkdWNlKGxvb2tGb3IoMCksIFtdKVxuICAgICAgOiBbXVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmVzdGVkRWxlbWVudChcbiAgLi4uZWxlbWVudE5hbWVzOiBzdHJpbmdbXVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsKSA9PiB7XG4gICAgY29uc3QgZm91bmQgPSBmaW5kTmVzdGVkRWxlbWVudHMoLi4uZWxlbWVudE5hbWVzKShlbClcbiAgICByZXR1cm4gZm91bmQubGVuZ3RoID8gZm91bmRbMF0gOiBudWxsXG4gIH1cbn1cblxuLy8gV2lsbCBsb29rIHRocm91Z2ggYWxsIHRoZSBwYXJlbnRzOyByZXR1cm5zIG51bGwgaWYgbm8gbWF0Y2hpbmcgcGFyZW50IGZvdW5kLlxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRQYXJlbnQoXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsKSA9PiB7XG4gICAgbGV0IHBhcmVudDogWG1sRWxlbWVudCB8IFhtbERvY3VtZW50ID0gZWwucGFyZW50IGFzIFhtbEVsZW1lbnRcbiAgICB3aGlsZSAocGFyZW50ICYmIHBhcmVudCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpIHtcbiAgICAgIGlmIChzdHJpcE5hbWVzcGFjZShnZXRFbGVtZW50TmFtZShwYXJlbnQpKSA9PT0gc3RyaXBOYW1lc3BhY2UocGFyZW50TmFtZSkpXG4gICAgICAgIHJldHVybiBwYXJlbnRcbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnRcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFRleHQoKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgc3RyaW5nPiB7XG4gIHJldHVybiAoZWwpID0+IHtcbiAgICBjb25zdCB0ZXh0Tm9kZSA9XG4gICAgICBlbCAmJiBBcnJheS5pc0FycmF5KGVsLmNoaWxkcmVuKVxuICAgICAgICA/IChlbC5jaGlsZHJlbi5maW5kKChub2RlKSA9PiBub2RlLnR5cGUgPT09ICd0ZXh0JykgYXMgWG1sVGV4dClcbiAgICAgICAgOiBudWxsXG4gICAgcmV0dXJuIHRleHROb2RlID8gdGV4dE5vZGUudGV4dCA6IG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZEF0dHJpYnV0ZShcbiAgYXR0ck5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgc3RyaW5nPiB7XG4gIHJldHVybiAoZWwpID0+IChlbCAmJiBlbC5hdHRyaWJ1dGVzW2F0dHJOYW1lXSkgfHwgbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24geG1sVG9TdHJpbmcoXG4gIGVsOiBYbWxFbGVtZW50IHwgWG1sVGV4dCB8IFhtbENvbW1lbnQgfCBYbWxEb2N1bWVudCxcbiAgaW5kZW50YXRpb25MZXZlbCA9IDBcbikge1xuICBpZiAoZWwgaW5zdGFuY2VvZiBYbWxEb2N1bWVudClcbiAgICByZXR1cm4gYDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PiR7eG1sVG9TdHJpbmcoXG4gICAgICBlbC5jaGlsZHJlblswXVxuICAgICl9YFxuICBpZiAoZWwgaW5zdGFuY2VvZiBYbWxUZXh0KSB7XG4gICAgY29uc3QgdGV4dCA9IGVsLnRleHRcbiAgICBjb25zdCBpc0VtcHR5ID0gIXRleHQgfHwgdGV4dC5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCAnJykgPT09ICcnXG4gICAgaWYgKGlzRW1wdHkpIHJldHVybiAnJ1xuICAgIHJldHVybiB0ZXh0XG4gICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxuICAgICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgICAgLnJlcGxhY2UoLz4vZywgJyZndDsnKVxuICB9XG4gIGlmICghKGVsIGluc3RhbmNlb2YgWG1sRWxlbWVudCkpIHJldHVybiBgPCEtLSB1bmtub3duIC0tPmBcblxuICBjb25zdCBwYWRkaW5nID0gJyAgICAnLnJlcGVhdChpbmRlbnRhdGlvbkxldmVsKVxuICBjb25zdCBjaGlsZHJlbiA9IEFycmF5LmlzQXJyYXkoZWwuY2hpbGRyZW4pXG4gICAgPyBlbC5jaGlsZHJlblxuICAgICAgICAubWFwKChlbCkgPT4geG1sVG9TdHJpbmcoZWwsIGluZGVudGF0aW9uTGV2ZWwgKyAxKSlcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsICE9PSAnJylcbiAgICAgICAgLm1hcCgoZWxTdHJpbmcsIGluZGV4LCBhcnJheSkgPT5cbiAgICAgICAgICBpbmRleCA8IGFycmF5Lmxlbmd0aCAtIDEgPyBlbFN0cmluZy5yZXBsYWNlKC9cXG5cXHMqJC9nLCAnJykgOiBlbFN0cmluZ1xuICAgICAgICApXG4gICAgICAgIC5qb2luKCcnKVxuICAgIDogJydcbiAgY29uc3QgYXR0cnMgPSBPYmplY3Qua2V5cyhlbC5hdHRyaWJ1dGVzKS5yZWR1Y2UoXG4gICAgKHByZXYsIGN1cnIpID0+IHByZXYgKyBgICR7Y3Vycn09XCIke2VsLmF0dHJpYnV0ZXNbY3Vycl19XCJgLFxuICAgICcnXG4gIClcbiAgY29uc3QgcGFyZW50UGFkZGluZyA9ICcgICAgJy5yZXBlYXQoTWF0aC5tYXgoMCwgaW5kZW50YXRpb25MZXZlbCAtIDEpKVxuICBpZiAoY2hpbGRyZW4gPT09ICcnKSB7XG4gICAgcmV0dXJuIGBcbiR7cGFkZGluZ308JHtlbC5uYW1lfSR7YXR0cnN9Lz5cbiR7cGFyZW50UGFkZGluZ31gXG4gIH1cbiAgcmV0dXJuIGBcbiR7cGFkZGluZ308JHtlbC5uYW1lfSR7YXR0cnN9PiR7Y2hpbGRyZW59PC8ke2VsLm5hbWV9PlxuJHtwYXJlbnRQYWRkaW5nfWBcbn1cblxuLyoqXG4gKiBAcGFyYW0gbmFtZVxuICogQHJldHVybnMgbmFtZXNwYWNlLCBudWxsIGlmIG5vbmUgZm91bmRcbiAqL1xuZnVuY3Rpb24gZXh0cmFjdE5hbWVzcGFjZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgY29sb24gPSBuYW1lLmluZGV4T2YoJzonKVxuICByZXR1cm4gY29sb24gPiAtMSA/IG5hbWUuc3Vic3RyaW5nKDAsIGNvbG9uKSA6IG51bGxcbn1cblxuY29uc3QgTkFNRVNQQUNFUyA9IHtcbiAgZ21kOiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9nbWQnLFxuICBnY286ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L2djbycsXG4gIGdmYzogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ2ZjJyxcbiAgZ21sOiAnaHR0cDovL3d3dy5vcGVuZ2lzLm5ldC9nbWwvMy4yJyxcbiAgeHNpOiAnaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UnLFxuICBzcnY6ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L3NydicsXG4gIGdteDogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ214JyxcbiAgZ3RzOiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9ndHMnLFxuICBnc3I6ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L2dzcicsXG4gIGdtaTogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ21pJyxcbiAgeGxpbms6ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyxcbn1cblxuLyoqXG4gKiBAcGFyYW0gbmFtZSBGdWxsIG5hbWUgd2l0aCBuYW1lc3BhY2UsIGUuZy46IGdtZDpNRF9NZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxlbWVudChcbiAgbmFtZTogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjx2b2lkLCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoKSA9PiBuZXcgWG1sRWxlbWVudChuYW1lLCB7fSwgW10pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRBdHRyaWJ1dGUoXG4gIG5hbWU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBlbGVtZW50LmF0dHJpYnV0ZXNbbmFtZV0gPSB2YWx1ZVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cblxuLy8gc3RheXMgb24gdGhlIHBhcmVudCBlbGVtZW50XG4vLyBpZiB0aGUgZ2l2ZW4gZWxlbWVudHMgYXJlIHBhcnQgb2YgYSBzdWJ0cmVlLCB3aWxsIGFkZCB0aGUgcm9vdCBvZiBzdWJ0cmVlXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ2hpbGRyZW4oXG4gIC4uLmNoaWxkcmVuRm5zOiBBcnJheTxDaGFpbmFibGVGdW5jdGlvbjx2b2lkLCBYbWxFbGVtZW50Pj5cbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbGVtZW50KSA9PiB7XG4gICAgaWYgKCFlbGVtZW50KSByZXR1cm4gbnVsbFxuICAgIGVsZW1lbnQuY2hpbGRyZW4ucHVzaChcbiAgICAgIC4uLmNoaWxkcmVuRm5zXG4gICAgICAgIC5tYXAoKGZuKSA9PiBmbigpKVxuICAgICAgICAubWFwKChlbCkgPT4ge1xuICAgICAgICAgIGxldCByb290ID0gZWxcbiAgICAgICAgICB3aGlsZSAocm9vdC5wYXJlbnQgaW5zdGFuY2VvZiBYbWxFbGVtZW50KSB7XG4gICAgICAgICAgICByb290ID0gcm9vdC5wYXJlbnRcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJvb3RcbiAgICAgICAgfSlcbiAgICApXG4gICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChlbCkgPT4gKGVsLnBhcmVudCA9IGVsZW1lbnQpKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cblxuLy8gc3dpdGNoZXMgdG8gdGhlIGNoaWxkIGVsZW1lbnRcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDaGlsZChcbiAgY2hpbGROYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbGVtZW50KSA9PiB7XG4gICAgaWYgKCFlbGVtZW50KSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IGNoaWxkID0gY3JlYXRlRWxlbWVudChjaGlsZE5hbWUpKClcbiAgICBlbGVtZW50LmNoaWxkcmVuLnB1c2goY2hpbGQpXG4gICAgY2hpbGQucGFyZW50ID0gZWxlbWVudFxuICAgIHJldHVybiBjaGlsZFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ2hpbGRPckNyZWF0ZShcbiAgbmFtZTogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiBmYWxsYmFjayhmaW5kQ2hpbGRFbGVtZW50KG5hbWUsIGZhbHNlKSwgY3JlYXRlQ2hpbGQobmFtZSkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmVzdGVkQ2hpbGRPckNyZWF0ZShcbiAgLi4uZWxlbWVudE5hbWVzOiBzdHJpbmdbXVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBsZXQgY3VycmVudCA9IGVsZW1lbnRcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgZWxlbWVudE5hbWVzKSB7XG4gICAgICBjdXJyZW50ID0gZmluZENoaWxkT3JDcmVhdGUobmFtZSkoY3VycmVudClcbiAgICB9XG4gICAgcmV0dXJuIGN1cnJlbnRcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0VGV4dENvbnRlbnQoXG4gIHRleHQ6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgY29uc3QgdGV4dEVsID0gZWxlbWVudC5jaGlsZHJlbi5maW5kKFxuICAgICAgKGVsKSA9PiBlbCBpbnN0YW5jZW9mIFhtbFRleHRcbiAgICApIGFzIFhtbFRleHRcbiAgICBpZiAoIXRleHRFbCkge1xuICAgICAgZWxlbWVudC5jaGlsZHJlbi5wdXNoKG5ldyBYbWxUZXh0KHRleHQpKVxuICAgIH0gZWxzZSB7XG4gICAgICB0ZXh0RWwudGV4dCA9IHRleHRcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQWxsQ2hpbGRyZW4oKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChlbCkgPT4gKGVsLnBhcmVudCA9IG51bGwpKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4gPSBbXVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNoaWxkcmVuQnlOYW1lKFxuICBuYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbGVtZW50KSA9PiB7XG4gICAgaWYgKCFlbGVtZW50KSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHN0cmlwcGVkTmFtZSA9IHN0cmlwTmFtZXNwYWNlKG5hbWUpXG4gICAgY29uc3QgcmVtb3ZlZCA9IGVsZW1lbnQuY2hpbGRyZW4uZmlsdGVyKFxuICAgICAgKGNoaWxkKSA9PlxuICAgICAgICBjaGlsZCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQgJiZcbiAgICAgICAgc3RyaXBOYW1lc3BhY2UoZ2V0RWxlbWVudE5hbWUoY2hpbGQpKSA9PT0gc3RyaXBwZWROYW1lXG4gICAgKVxuICAgIHJlbW92ZWQuZm9yRWFjaCgoZWwpID0+IChlbC5wYXJlbnQgPSBudWxsKSlcbiAgICBlbGVtZW50LmNoaWxkcmVuID0gZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoXG4gICAgICAoY2hpbGQpID0+IHJlbW92ZWQuaW5kZXhPZihjaGlsZCkgPT09IC0xXG4gICAgKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNoaWxkcmVuKFxuICBjaGlsZHJlbkZuOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBBcnJheTxYbWxFbGVtZW50Pj5cbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIChlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBjaGlsZHJlbkZuKGVsZW1lbnQpXG4gICAgY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IChjaGlsZC5wYXJlbnQgPSBudWxsKSlcbiAgICBlbGVtZW50LmNoaWxkcmVuID0gZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoXG4gICAgICAoY2hpbGQpID0+IGNoaWxkIGluc3RhbmNlb2YgWG1sRWxlbWVudCAmJiBjaGlsZHJlbi5pbmRleE9mKGNoaWxkKSA9PT0gLTFcbiAgICApXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuIl19
|
|
341
|
+
/**
|
|
342
|
+
* Renames elements in the XML tree according to the map
|
|
343
|
+
* Either specify a full element name like 'gmd:MD_Metadata' or simply a namespace like 'gmd'
|
|
344
|
+
* @param rootElement
|
|
345
|
+
* @param replaceMap
|
|
346
|
+
*/
|
|
347
|
+
export function renameElements(rootElement, replaceMap) {
|
|
348
|
+
function doReplace(element) {
|
|
349
|
+
if (element.name in replaceMap) {
|
|
350
|
+
element.name = replaceMap[element.name];
|
|
351
|
+
}
|
|
352
|
+
else if (element.name && getNamespace(element.name) in replaceMap) {
|
|
353
|
+
element.name = `${replaceMap[getNamespace(element.name)]}:${stripNamespace(element.name)}`;
|
|
354
|
+
}
|
|
355
|
+
if (element.children) {
|
|
356
|
+
element.children.forEach(doReplace);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
doReplace(rootElement);
|
|
360
|
+
return rootElement;
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYy9saWIveG1sLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBRVIsV0FBVyxFQUNYLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxLQUFLO0lBQ3RDLFlBQVksT0FBTztRQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDaEIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQWlCO0lBQzlDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQTtJQUNkLElBQUk7UUFDRixHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQzFCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUksYUFBYSxDQUFDLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQzVEO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFrQjtJQUMvQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFBO0lBRTNDLFNBQVMsd0JBQXdCLENBQUMsSUFBWTtRQUM1QyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFJLFNBQVMsS0FBSyxPQUFPLElBQUks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QUFJLENBQUMsQ0FDdkMsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUE7U0FDbkM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7U0FDcEM7SUFDSCxDQUFDO0lBQ0QsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3RCLE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBwYXJzZVhtbCxcbiAgWG1sQ29tbWVudCxcbiAgWG1sRG9jdW1lbnQsXG4gIFhtbEVsZW1lbnQsXG4gIFhtbFRleHQsXG59IGZyb20gJ0ByZ3JvdmUvcGFyc2UteG1sJ1xuaW1wb3J0IHsgQ2hhaW5hYmxlRnVuY3Rpb24sIGZhbGxiYWNrIH0gZnJvbSAnLi9mdW5jdGlvbi11dGlscydcbmV4cG9ydCB7IFhtbERvY3VtZW50LCBYbWxFbGVtZW50IH0gZnJvbSAnQHJncm92ZS9wYXJzZS14bWwnXG5cbmV4cG9ydCBjbGFzcyBYbWxQYXJzZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobWVzc2FnZSlcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlcyBhIFhNTCBkb2N1bWVudCBhcyBzdHJpbmcsIHJldHVybiBhIGRvY3VtZW50IG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VYbWxTdHJpbmcoeG1sU3RyaW5nOiBzdHJpbmcpOiBYbWxEb2N1bWVudCB7XG4gIGxldCBkb2MgPSBudWxsXG4gIHRyeSB7XG4gICAgZG9jID0gcGFyc2VYbWwoeG1sU3RyaW5nKVxuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IFhtbFBhcnNlRXJyb3IoZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogZSlcbiAgfVxuICByZXR1cm4gZG9jXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEb2N1bWVudChyb290RWw6IFhtbEVsZW1lbnQpOiBYbWxEb2N1bWVudCB7XG4gIHJvb3RFbC5hdHRyaWJ1dGVzID0gcm9vdEVsLmF0dHJpYnV0ZXMgfHwge31cblxuICBmdW5jdGlvbiBjb2xsZWN0TmFtZXNwYWNlRnJvbU5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmFtZXNwYWNlID0gZXh0cmFjdE5hbWVzcGFjZShuYW1lKVxuICAgIGlmIChuYW1lc3BhY2UgPT09ICd4bWxucycgfHwgbmFtZXNwYWNlID09PSBudWxsKSByZXR1cm5cbiAgICBpZiAocm9vdEVsLmF0dHJpYnV0ZXNbYHhtbG5zOiR7bmFtZXNwYWNlfWBdKSByZXR1cm5cbiAgICBpZiAoIU5BTUVTUEFDRVNbbmFtZXNwYWNlXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBrbm93biBVUkkgZm9yIG5hbWVzcGFjZSAke25hbWVzcGFjZX1gKVxuICAgIH1cbiAgICByb290RWwuYXR0cmlidXRlc1tgeG1sbnM6JHtuYW1lc3BhY2V9YF0gPSBOQU1FU1BBQ0VTW25hbWVzcGFjZV1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbGxlY3ROYW1lc3BhY2VzKGVsOiBYbWxFbGVtZW50KSB7XG4gICAgY29sbGVjdE5hbWVzcGFjZUZyb21OYW1lKGVsLm5hbWUpXG4gICAgZm9yIChjb25zdCBhdHRyIGluIGVsLmF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbGxlY3ROYW1lc3BhY2VGcm9tTmFtZShhdHRyKVxuICAgIH1cbiAgICBjb25zdCBjaGlsZHJlbiA9IGFsbENoaWxkcmVuRWxlbWVudChlbClcbiAgICBjaGlsZHJlbi5mb3JFYWNoKGNvbGxlY3ROYW1lc3BhY2VzKVxuICB9XG5cbiAgY29sbGVjdE5hbWVzcGFjZXMocm9vdEVsKVxuICByZXR1cm4gbmV3IFhtbERvY3VtZW50KFtyb290RWxdKVxufVxuXG4vKipcbiAqIFdpbGwgZG8gbm90aGluZyBpZiBubyBuYW1lc3BhY2UgcHJlc2VudFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaXBOYW1lc3BhY2UobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgY29sb24gPSBuYW1lLmluZGV4T2YoJzonKVxuICByZXR1cm4gY29sb24gPiAtMSA/IG5hbWUuc3Vic3RyaW5nKGNvbG9uICsgMSkgOiBuYW1lXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROYW1lc3BhY2UobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgY29sb24gPSBuYW1lLmluZGV4T2YoJzonKVxuICByZXR1cm4gY29sb24gPiAtMSA/IG5hbWUuc3Vic3RyaW5nKDAsIGNvbG9uKSA6ICcnXG59XG5cbmZ1bmN0aW9uIGdldEVsZW1lbnROYW1lKGVsZW1lbnQ6IFhtbEVsZW1lbnQpOiBzdHJpbmcge1xuICByZXR1cm4gZWxlbWVudC5uYW1lIHx8ICcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290RWxlbWVudCh4bWxEb2M6IFhtbERvY3VtZW50KTogWG1sRWxlbWVudCB7XG4gIHJldHVybiB4bWxEb2MuY2hpbGRyZW4uZmluZCgoZWwpID0+IGVsIGluc3RhbmNlb2YgWG1sRWxlbWVudCkgYXMgWG1sRWxlbWVudFxufVxuXG4vKipcbiAqIFdpbGwgcmV0dXJuIGFsbCBtYXRjaGluZyBlbGVtZW50cyAobmFtZXNwYWNlIHdpbGwgYmUgaWdub3JlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRDaGlsZHJlbkVsZW1lbnQoXG4gIG5hbWU6IHN0cmluZyxcbiAgbmVzdGVkID0gdHJ1ZVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgQXJyYXk8WG1sRWxlbWVudD4+IHtcbiAgcmV0dXJuIChlbCkgPT4ge1xuICAgIGNvbnN0IHN0cmlwcGVkTmFtZSA9IHN0cmlwTmFtZXNwYWNlKG5hbWUpXG4gICAgZnVuY3Rpb24gcmVkdWNlcihwcmV2LCBjdXJyKSB7XG4gICAgICBpZiAoc3RyaXBOYW1lc3BhY2UoZ2V0RWxlbWVudE5hbWUoY3VycikpID09PSBzdHJpcHBlZE5hbWUpIHtcbiAgICAgICAgcHJldi5wdXNoKGN1cnIpXG4gICAgICB9XG5cbiAgICAgIGlmIChuZXN0ZWQgJiYgQXJyYXkuaXNBcnJheShjdXJyLmNoaWxkcmVuKSkge1xuICAgICAgICByZXR1cm4gWy4uLnByZXYsIC4uLmN1cnIuY2hpbGRyZW4ucmVkdWNlKHJlZHVjZXIsIFtdKV1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBwcmV2XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVsICYmIEFycmF5LmlzQXJyYXkoZWwuY2hpbGRyZW4pXG4gICAgICA/IGVsLmNoaWxkcmVuLnJlZHVjZShyZWR1Y2VyLCBbXSlcbiAgICAgIDogW11cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZENoaWxkRWxlbWVudChcbiAgbmFtZTogc3RyaW5nLFxuICBuZXN0ZWQgPSB0cnVlXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWwpID0+IGZpbmRDaGlsZHJlbkVsZW1lbnQobmFtZSwgbmVzdGVkKShlbClbMF0gfHwgbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsQ2hpbGRyZW5FbGVtZW50KGVsZW1lbnQ6IFhtbEVsZW1lbnQpOiBBcnJheTxYbWxFbGVtZW50PiB7XG4gIGlmICghZWxlbWVudCB8fCAhQXJyYXkuaXNBcnJheShlbGVtZW50LmNoaWxkcmVuKSkgcmV0dXJuIFtdXG4gIHJldHVybiBbXG4gICAgLi4uZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpLFxuICBdIGFzIEFycmF5PFhtbEVsZW1lbnQ+XG59XG5cbi8qKlxuICogV2lsbCByZXR1cm4gYWxsIG1hdGNoaW5nIGVsZW1lbnRzIG5lc3RlZCBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuXG4gKiBuYW1lcyAoc2ltaWxhciB0byBhIHBhdGgpLCBzdGFydGluZyBmb3JtIHRoZSBpbnB1dCBlbGVtZW50O1xuICogcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiBubyBtYXRjaGluZyBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmVzdGVkRWxlbWVudHMoXG4gIC4uLmVsZW1lbnROYW1lczogc3RyaW5nW11cbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIEFycmF5PFhtbEVsZW1lbnQ+PiB7XG4gIHJldHVybiAoZWwpID0+IHtcbiAgICBmdW5jdGlvbiBsb29rRm9yKGVsTmFtZUluZGV4OiBudW1iZXIpIHtcbiAgICAgIGNvbnN0IHN0cmlwcGVkTmFtZSA9IHN0cmlwTmFtZXNwYWNlKGVsZW1lbnROYW1lc1tlbE5hbWVJbmRleF0pXG4gICAgICByZXR1cm4gKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgaWYgKHN0cmlwTmFtZXNwYWNlKGdldEVsZW1lbnROYW1lKGN1cnIpKSAhPT0gc3RyaXBwZWROYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxOYW1lSW5kZXggPT09IGVsZW1lbnROYW1lcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgcmV0dXJuIFsuLi5wcmV2LCBjdXJyXVxuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnIuY2hpbGRyZW4pKSB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAuLi5jdXJyLmNoaWxkcmVuLnJlZHVjZShsb29rRm9yKGVsTmFtZUluZGV4ICsgMSksIFtdKSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZWwgJiYgQXJyYXkuaXNBcnJheShlbC5jaGlsZHJlbilcbiAgICAgID8gZWwuY2hpbGRyZW4ucmVkdWNlKGxvb2tGb3IoMCksIFtdKVxuICAgICAgOiBbXVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmVzdGVkRWxlbWVudChcbiAgLi4uZWxlbWVudE5hbWVzOiBzdHJpbmdbXVxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsKSA9PiB7XG4gICAgY29uc3QgZm91bmQgPSBmaW5kTmVzdGVkRWxlbWVudHMoLi4uZWxlbWVudE5hbWVzKShlbClcbiAgICByZXR1cm4gZm91bmQubGVuZ3RoID8gZm91bmRbMF0gOiBudWxsXG4gIH1cbn1cblxuLy8gV2lsbCBsb29rIHRocm91Z2ggYWxsIHRoZSBwYXJlbnRzOyByZXR1cm5zIG51bGwgaWYgbm8gbWF0Y2hpbmcgcGFyZW50IGZvdW5kLlxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRQYXJlbnQoXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsKSA9PiB7XG4gICAgbGV0IHBhcmVudDogWG1sRWxlbWVudCB8IFhtbERvY3VtZW50ID0gZWwucGFyZW50IGFzIFhtbEVsZW1lbnRcbiAgICB3aGlsZSAocGFyZW50ICYmIHBhcmVudCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpIHtcbiAgICAgIGlmIChzdHJpcE5hbWVzcGFjZShnZXRFbGVtZW50TmFtZShwYXJlbnQpKSA9PT0gc3RyaXBOYW1lc3BhY2UocGFyZW50TmFtZSkpXG4gICAgICAgIHJldHVybiBwYXJlbnRcbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnRcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFRleHQoKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgc3RyaW5nPiB7XG4gIHJldHVybiAoZWwpID0+IHtcbiAgICBjb25zdCB0ZXh0Tm9kZSA9XG4gICAgICBlbCAmJiBBcnJheS5pc0FycmF5KGVsLmNoaWxkcmVuKVxuICAgICAgICA/IChlbC5jaGlsZHJlbi5maW5kKChub2RlKSA9PiBub2RlLnR5cGUgPT09ICd0ZXh0JykgYXMgWG1sVGV4dClcbiAgICAgICAgOiBudWxsXG4gICAgcmV0dXJuIHRleHROb2RlID8gdGV4dE5vZGUudGV4dCA6IG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZEF0dHJpYnV0ZShcbiAgYXR0ck5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgc3RyaW5nPiB7XG4gIHJldHVybiAoZWwpID0+IChlbCAmJiBlbC5hdHRyaWJ1dGVzW2F0dHJOYW1lXSkgfHwgbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24geG1sVG9TdHJpbmcoXG4gIGVsOiBYbWxFbGVtZW50IHwgWG1sVGV4dCB8IFhtbENvbW1lbnQgfCBYbWxEb2N1bWVudCxcbiAgaW5kZW50YXRpb25MZXZlbCA9IDBcbikge1xuICBpZiAoZWwgaW5zdGFuY2VvZiBYbWxEb2N1bWVudClcbiAgICByZXR1cm4gYDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PiR7eG1sVG9TdHJpbmcoXG4gICAgICBlbC5jaGlsZHJlblswXVxuICAgICl9YFxuICBpZiAoZWwgaW5zdGFuY2VvZiBYbWxUZXh0KSB7XG4gICAgY29uc3QgdGV4dCA9IGVsLnRleHRcbiAgICBjb25zdCBpc0VtcHR5ID0gIXRleHQgfHwgdGV4dC5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCAnJykgPT09ICcnXG4gICAgaWYgKGlzRW1wdHkpIHJldHVybiAnJ1xuICAgIHJldHVybiB0ZXh0XG4gICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxuICAgICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgICAgLnJlcGxhY2UoLz4vZywgJyZndDsnKVxuICB9XG4gIGlmICghKGVsIGluc3RhbmNlb2YgWG1sRWxlbWVudCkpIHJldHVybiBgPCEtLSB1bmtub3duIC0tPmBcblxuICBjb25zdCBwYWRkaW5nID0gJyAgICAnLnJlcGVhdChpbmRlbnRhdGlvbkxldmVsKVxuICBjb25zdCBjaGlsZHJlbiA9IEFycmF5LmlzQXJyYXkoZWwuY2hpbGRyZW4pXG4gICAgPyBlbC5jaGlsZHJlblxuICAgICAgICAubWFwKChlbCkgPT4geG1sVG9TdHJpbmcoZWwsIGluZGVudGF0aW9uTGV2ZWwgKyAxKSlcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsICE9PSAnJylcbiAgICAgICAgLm1hcCgoZWxTdHJpbmcsIGluZGV4LCBhcnJheSkgPT5cbiAgICAgICAgICBpbmRleCA8IGFycmF5Lmxlbmd0aCAtIDEgPyBlbFN0cmluZy5yZXBsYWNlKC9cXG5cXHMqJC9nLCAnJykgOiBlbFN0cmluZ1xuICAgICAgICApXG4gICAgICAgIC5qb2luKCcnKVxuICAgIDogJydcbiAgY29uc3QgYXR0cnMgPSBPYmplY3Qua2V5cyhlbC5hdHRyaWJ1dGVzKS5yZWR1Y2UoXG4gICAgKHByZXYsIGN1cnIpID0+IHByZXYgKyBgICR7Y3Vycn09XCIke2VsLmF0dHJpYnV0ZXNbY3Vycl19XCJgLFxuICAgICcnXG4gIClcbiAgY29uc3QgcGFyZW50UGFkZGluZyA9ICcgICAgJy5yZXBlYXQoTWF0aC5tYXgoMCwgaW5kZW50YXRpb25MZXZlbCAtIDEpKVxuICBpZiAoY2hpbGRyZW4gPT09ICcnKSB7XG4gICAgcmV0dXJuIGBcbiR7cGFkZGluZ308JHtlbC5uYW1lfSR7YXR0cnN9Lz5cbiR7cGFyZW50UGFkZGluZ31gXG4gIH1cbiAgcmV0dXJuIGBcbiR7cGFkZGluZ308JHtlbC5uYW1lfSR7YXR0cnN9PiR7Y2hpbGRyZW59PC8ke2VsLm5hbWV9PlxuJHtwYXJlbnRQYWRkaW5nfWBcbn1cblxuLyoqXG4gKiBAcGFyYW0gbmFtZVxuICogQHJldHVybnMgbmFtZXNwYWNlLCBudWxsIGlmIG5vbmUgZm91bmRcbiAqL1xuZnVuY3Rpb24gZXh0cmFjdE5hbWVzcGFjZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgY29sb24gPSBuYW1lLmluZGV4T2YoJzonKVxuICByZXR1cm4gY29sb24gPiAtMSA/IG5hbWUuc3Vic3RyaW5nKDAsIGNvbG9uKSA6IG51bGxcbn1cblxuY29uc3QgTkFNRVNQQUNFUyA9IHtcbiAgZ21kOiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9nbWQnLFxuICBnY286ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L2djbycsXG4gIGdmYzogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ2ZjJyxcbiAgZ21sOiAnaHR0cDovL3d3dy5vcGVuZ2lzLm5ldC9nbWwvMy4yJyxcbiAgeHNpOiAnaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UnLFxuICBzcnY6ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L3NydicsXG4gIGdteDogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ214JyxcbiAgZ3RzOiAnaHR0cDovL3d3dy5pc290YzIxMS5vcmcvMjAwNS9ndHMnLFxuICBnc3I6ICdodHRwOi8vd3d3Lmlzb3RjMjExLm9yZy8yMDA1L2dzcicsXG4gIGdtaTogJ2h0dHA6Ly93d3cuaXNvdGMyMTEub3JnLzIwMDUvZ21pJyxcbiAgeGxpbms6ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyxcbiAgbWRiOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZGIvMi4wJyxcbiAgbWRxOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTE1Ny8tMi9tZHEvMS4wJyxcbiAgbXNyOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tc3IvMi4wJyxcbiAgbXJzOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcnMvMS4wJyxcbiAgbW1pOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tbWkvMS4wJyxcbiAgbXJsOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcmwvMi4wJyxcbiAgbWR0OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZHQvMi4wJyxcbiAgbXJkOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcmQvMS4wJyxcbiAgbWRzOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZHMvMi4wJyxcbiAgbXBjOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcGMvMS4wJyxcbiAgbWNjOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tY2MvMS4wJyxcbiAgbWFjOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tYWMvMi4wJyxcbiAgbWNvOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tY28vMS4wJyxcbiAgbWRhOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZGEvMS4wJyxcbiAgbWV4OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tZXgvMS4wJyxcbiAgZ2V4OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9nZXgvMS4wJyxcbiAgZ2N4OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9nY3gvMS4wJyxcbiAgbWFzOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tYXMvMS4wJyxcbiAgbXJpOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcmkvMS4wJyxcbiAgY2l0OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9jaXQvMi4wJyxcbiAgY2F0OiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9jYXQvMS4wJyxcbiAgbGFuOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9sYW4vMS4wJyxcbiAgbXJjOiAnaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2lzby8xOTExNS8tMy9tcmMvMi4wJyxcbn1cblxuLyoqXG4gKiBAcGFyYW0gbmFtZSBGdWxsIG5hbWUgd2l0aCBuYW1lc3BhY2UsIGUuZy46IGdtZDpNRF9NZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxlbWVudChcbiAgbmFtZTogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjx2b2lkLCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoKSA9PiBuZXcgWG1sRWxlbWVudChuYW1lLCB7fSwgW10pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRBdHRyaWJ1dGUoXG4gIG5hbWU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBlbGVtZW50LmF0dHJpYnV0ZXNbbmFtZV0gPSB2YWx1ZVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFRyZWVSb290KGVsZW1lbnQ6IFhtbEVsZW1lbnQpOiBYbWxFbGVtZW50IHtcbiAgbGV0IHJvb3QgPSBlbGVtZW50XG4gIHdoaWxlIChyb290LnBhcmVudCBpbnN0YW5jZW9mIFhtbEVsZW1lbnQpIHtcbiAgICByb290ID0gcm9vdC5wYXJlbnRcbiAgfVxuICByZXR1cm4gcm9vdFxufVxuXG4vLyBzdGF5cyBvbiB0aGUgcGFyZW50IGVsZW1lbnRcbi8vIGlmIHRoZSBnaXZlbiBlbGVtZW50cyBhcmUgcGFydCBvZiBhIHN1YnRyZWUsIHdpbGwgYWRkIHRoZSByb290IG9mIHN1YnRyZWVcbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDaGlsZHJlbihcbiAgLi4uY2hpbGRyZW5GbnM6IEFycmF5PENoYWluYWJsZUZ1bmN0aW9uPHZvaWQsIFhtbEVsZW1lbnQ+PlxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgZWxlbWVudC5jaGlsZHJlbi5wdXNoKC4uLmNoaWxkcmVuRm5zLm1hcCgoZm4pID0+IGZuKCkpLm1hcChnZXRUcmVlUm9vdCkpXG4gICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChlbCkgPT4gKGVsLnBhcmVudCA9IGVsZW1lbnQpKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cbn1cblxuLy8gc3dpdGNoIHRvIHRoZSB0aXAgb2YgdGhlIHN1YnRyZWVcbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDaGlsZFRyZWUoXG4gIGNoaWxkcmVuRm46IENoYWluYWJsZUZ1bmN0aW9uPHZvaWQsIFhtbEVsZW1lbnQ+XG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuIG51bGxcbiAgICBjb25zdCB0cmVlVGlwID0gY2hpbGRyZW5GbigpXG4gICAgY29uc3QgdHJlZVJvb3QgPSBnZXRUcmVlUm9vdCh0cmVlVGlwKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4ucHVzaCh0cmVlUm9vdClcbiAgICB0cmVlUm9vdC5wYXJlbnQgPSBlbGVtZW50XG4gICAgcmV0dXJuIHRyZWVUaXBcbiAgfVxufVxuXG4vLyBzd2l0Y2hlcyB0byB0aGUgY2hpbGQgZWxlbWVudFxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKFxuICBjaGlsZE5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgY29uc3QgY2hpbGQgPSBjcmVhdGVFbGVtZW50KGNoaWxkTmFtZSkoKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4ucHVzaChjaGlsZClcbiAgICBjaGlsZC5wYXJlbnQgPSBlbGVtZW50XG4gICAgcmV0dXJuIGNoaWxkXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRDaGlsZE9yQ3JlYXRlKFxuICBuYW1lOiBzdHJpbmdcbik6IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIFhtbEVsZW1lbnQ+IHtcbiAgcmV0dXJuIGZhbGxiYWNrKGZpbmRDaGlsZEVsZW1lbnQobmFtZSwgZmFsc2UpLCBjcmVhdGVDaGlsZChuYW1lKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmROZXN0ZWRDaGlsZE9yQ3JlYXRlKFxuICAuLi5lbGVtZW50TmFtZXM6IHN0cmluZ1tdXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGxldCBjdXJyZW50ID0gZWxlbWVudFxuICAgIGZvciAoY29uc3QgbmFtZSBvZiBlbGVtZW50TmFtZXMpIHtcbiAgICAgIGN1cnJlbnQgPSBmaW5kQ2hpbGRPckNyZWF0ZShuYW1lKShjdXJyZW50KVxuICAgIH1cbiAgICByZXR1cm4gY3VycmVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRUZXh0Q29udGVudChcbiAgdGV4dDogc3RyaW5nXG4pOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuIG51bGxcbiAgICBjb25zdCB0ZXh0RWwgPSBlbGVtZW50LmNoaWxkcmVuLmZpbmQoXG4gICAgICAoZWwpID0+IGVsIGluc3RhbmNlb2YgWG1sVGV4dFxuICAgICkgYXMgWG1sVGV4dFxuICAgIGlmICghdGV4dEVsKSB7XG4gICAgICBlbGVtZW50LmNoaWxkcmVuLnB1c2gobmV3IFhtbFRleHQodGV4dCkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRleHRFbC50ZXh0ID0gdGV4dFxuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVBbGxDaGlsZHJlbigpOiBDaGFpbmFibGVGdW5jdGlvbjxYbWxFbGVtZW50LCBYbWxFbGVtZW50PiB7XG4gIHJldHVybiAoZWxlbWVudCkgPT4ge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuIG51bGxcbiAgICBlbGVtZW50LmNoaWxkcmVuLmZvckVhY2goKGVsKSA9PiAoZWwucGFyZW50ID0gbnVsbCkpXG4gICAgZWxlbWVudC5jaGlsZHJlbiA9IFtdXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuXG4vLyBzdGF5cyBvbiB0aGUgc2FtZSBlbGVtZW50XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2hpbGRyZW5CeU5hbWUoXG4gIG5hbWU6IHN0cmluZ1xuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBudWxsXG4gICAgY29uc3Qgc3RyaXBwZWROYW1lID0gc3RyaXBOYW1lc3BhY2UobmFtZSlcbiAgICBjb25zdCByZW1vdmVkID0gZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoXG4gICAgICAoY2hpbGQpID0+XG4gICAgICAgIGNoaWxkIGluc3RhbmNlb2YgWG1sRWxlbWVudCAmJlxuICAgICAgICBzdHJpcE5hbWVzcGFjZShnZXRFbGVtZW50TmFtZShjaGlsZCkpID09PSBzdHJpcHBlZE5hbWVcbiAgICApXG4gICAgcmVtb3ZlZC5mb3JFYWNoKChlbCkgPT4gKGVsLnBhcmVudCA9IG51bGwpKVxuICAgIGVsZW1lbnQuY2hpbGRyZW4gPSBlbGVtZW50LmNoaWxkcmVuLmZpbHRlcihcbiAgICAgIChjaGlsZCkgPT4gcmVtb3ZlZC5pbmRleE9mKGNoaWxkKSA9PT0gLTFcbiAgICApXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2hpbGRyZW4oXG4gIGNoaWxkcmVuRm46IENoYWluYWJsZUZ1bmN0aW9uPFhtbEVsZW1lbnQsIEFycmF5PFhtbEVsZW1lbnQ+PlxuKTogQ2hhaW5hYmxlRnVuY3Rpb248WG1sRWxlbWVudCwgWG1sRWxlbWVudD4ge1xuICByZXR1cm4gKGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBjaGlsZHJlblRvUmVtb3ZlID0gY2hpbGRyZW5GbihlbGVtZW50KVxuICAgIGNoaWxkcmVuVG9SZW1vdmUuZm9yRWFjaCgoY2hpbGQpID0+IChjaGlsZC5wYXJlbnQgPSBudWxsKSlcbiAgICBlbGVtZW50LmNoaWxkcmVuID0gZWxlbWVudC5jaGlsZHJlbi5maWx0ZXIoXG4gICAgICAoY2hpbGQpID0+XG4gICAgICAgIGNoaWxkIGluc3RhbmNlb2YgWG1sRWxlbWVudCAmJiBjaGlsZHJlblRvUmVtb3ZlLmluZGV4T2YoY2hpbGQpID09PSAtMVxuICAgIClcbiAgICByZXR1cm4gZWxlbWVudFxuICB9XG59XG5cbi8qKlxuICogUmVuYW1lcyBlbGVtZW50cyBpbiB0aGUgWE1MIHRyZWUgYWNjb3JkaW5nIHRvIHRoZSBtYXBcbiAqIEVpdGhlciBzcGVjaWZ5IGEgZnVsbCBlbGVtZW50IG5hbWUgbGlrZSAnZ21kOk1EX01ldGFkYXRhJyBvciBzaW1wbHkgYSBuYW1lc3BhY2UgbGlrZSAnZ21kJ1xuICogQHBhcmFtIHJvb3RFbGVtZW50XG4gKiBAcGFyYW0gcmVwbGFjZU1hcFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuYW1lRWxlbWVudHMoXG4gIHJvb3RFbGVtZW50OiBYbWxFbGVtZW50LFxuICByZXBsYWNlTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4pIHtcbiAgZnVuY3Rpb24gZG9SZXBsYWNlKGVsZW1lbnQ6IFhtbEVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudC5uYW1lIGluIHJlcGxhY2VNYXApIHtcbiAgICAgIGVsZW1lbnQubmFtZSA9IHJlcGxhY2VNYXBbZWxlbWVudC5uYW1lXVxuICAgIH0gZWxzZSBpZiAoZWxlbWVudC5uYW1lICYmIGdldE5hbWVzcGFjZShlbGVtZW50Lm5hbWUpIGluIHJlcGxhY2VNYXApIHtcbiAgICAgIGVsZW1lbnQubmFtZSA9IGAke1xuICAgICAgICByZXBsYWNlTWFwW2dldE5hbWVzcGFjZShlbGVtZW50Lm5hbWUpXVxuICAgICAgfToke3N0cmlwTmFtZXNwYWNlKGVsZW1lbnQubmFtZSl9YFxuICAgIH1cbiAgICBpZiAoZWxlbWVudC5jaGlsZHJlbikge1xuICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKGRvUmVwbGFjZSlcbiAgICB9XG4gIH1cbiAgZG9SZXBsYWNlKHJvb3RFbGVtZW50KVxuICByZXR1cm4gcm9vdEVsZW1lbnRcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class AvatarServiceInterface {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnNlcnZpY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9hdXRoL2F2YXRhci5zZXJ2aWNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLHNCQUFzQjtDQUkzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXZhdGFyU2VydmljZUludGVyZmFjZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRQbGFjZWhvbGRlcigpOiBPYnNlcnZhYmxlPHN0cmluZz5cbiAgcHVibGljIGFic3RyYWN0IGdldFByb2ZpbGVJY29uKC4uLmFyZ3MpOiBPYnNlcnZhYmxlPHN0cmluZz5cbiAgcHVibGljIGFic3RyYWN0IGdldFByb2ZpbGVJY29uVXJsKHVzZXJJZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { Gn4SettingsService } from '../settings/gn4-settings.service';
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
|
+
import { firstValueFrom } from 'rxjs';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../settings/gn4-settings.service";
|
|
6
7
|
export class GravatarService {
|
|
@@ -16,6 +17,16 @@ export class GravatarService {
|
|
|
16
17
|
getProfileIcon(hash) {
|
|
17
18
|
return this.identicon$.pipe(map((identicon) => identicon || this.GRAVATAR_IDENTICON), map((identicon) => `${this.GRAVATAR_URL}${hash}?d=${identicon}`));
|
|
18
19
|
}
|
|
20
|
+
async getProfileIconUrl(userId) {
|
|
21
|
+
let iconUrl = '';
|
|
22
|
+
try {
|
|
23
|
+
iconUrl = await firstValueFrom(this.getProfileIcon(userId));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return '';
|
|
27
|
+
}
|
|
28
|
+
return iconUrl;
|
|
29
|
+
}
|
|
19
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GravatarService, deps: [{ token: i1.Gn4SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
31
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: GravatarService, providedIn: 'root' }); }
|
|
21
32
|
}
|
|
@@ -25,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
25
36
|
providedIn: 'root',
|
|
26
37
|
}]
|
|
27
38
|
}], ctorParameters: function () { return [{ type: i1.Gn4SettingsService }]; } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhdmF0YXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjL2xpYi9nbjQvYXV0aC9ncmF2YXRhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDckUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUE7OztBQUtqRCxNQUFNLE9BQU8sZUFBZTtJQVExQixZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVBsRCxpQkFBWSxHQUFHLGtDQUFrQyxDQUFBO1FBQ2pELHVCQUFrQixHQUFHLElBQUksQ0FBQTtRQUVoQixlQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ25FLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDeEQsQ0FBQTtJQUU0RCxDQUFDO0lBRTlELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUN4RCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLE1BQU0sU0FBUyxFQUFFLENBQUMsQ0FDakUsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBYztRQUNwQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSTtZQUNGLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7U0FDNUQ7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFBO1NBQ1Y7UUFDRCxPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDOzhHQTdCVSxlQUFlO2tIQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQXZhdGFyU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4vYXZhdGFyLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgR240U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3MvZ240LXNldHRpbmdzLnNlcnZpY2UnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdyYXZhdGFyU2VydmljZSBpbXBsZW1lbnRzIEF2YXRhclNlcnZpY2VJbnRlcmZhY2Uge1xuICBwcml2YXRlIEdSQVZBVEFSX1VSTCA9ICdodHRwczovL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLydcbiAgcHJpdmF0ZSBHUkFWQVRBUl9JREVOVElDT04gPSAnbXAnXG5cbiAgcHJpdmF0ZSByZWFkb25seSBpZGVudGljb24kID0gdGhpcy5nbjRTZXR0aW5nc1NlcnZpY2UuaWRlbnRpY29uJC5waXBlKFxuICAgIG1hcCgoaWRlbnRpY29uKSA9PiBpZGVudGljb24/LnJlcGxhY2UoJ2dyYXZhdGFyOicsICcnKSlcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ240U2V0dGluZ3NTZXJ2aWNlOiBHbjRTZXR0aW5nc1NlcnZpY2UpIHt9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRQcm9maWxlSWNvbignJylcbiAgfVxuXG4gIGdldFByb2ZpbGVJY29uKGhhc2g6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpY29uJC5waXBlKFxuICAgICAgbWFwKChpZGVudGljb24pID0+IGlkZW50aWNvbiB8fCB0aGlzLkdSQVZBVEFSX0lERU5USUNPTiksXG4gICAgICBtYXAoKGlkZW50aWNvbikgPT4gYCR7dGhpcy5HUkFWQVRBUl9VUkx9JHtoYXNofT9kPSR7aWRlbnRpY29ufWApXG4gICAgKVxuICB9XG5cbiAgYXN5bmMgZ2V0UHJvZmlsZUljb25VcmwodXNlcklkOiBzdHJpbmcpIHtcbiAgICBsZXQgaWNvblVybCA9ICcnXG4gICAgdHJ5IHtcbiAgICAgIGljb25VcmwgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmdldFByb2ZpbGVJY29uKHVzZXJJZCkpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiAnJ1xuICAgIH1cbiAgICByZXR1cm4gaWNvblVybFxuICB9XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { SearchApiService } from '../../../../../../libs/data-access/gn4/src';
|
|
|
3
3
|
import { ElasticsearchService } from './elasticsearch';
|
|
4
4
|
import { of, switchMap } from 'rxjs';
|
|
5
5
|
import { map } from 'rxjs/operators';
|
|
6
|
-
import {
|
|
6
|
+
import { Gn4Converter, } from '../../../../../../libs/api/metadata-converter/src';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../../../../../../libs/data-access/gn4/src";
|
|
9
9
|
import * as i2 from "./elasticsearch";
|
|
@@ -60,10 +60,10 @@ export class Gn4Repository {
|
|
|
60
60
|
records,
|
|
61
61
|
}))));
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: Gn4Repository, deps: [{ token: i1.SearchApiService }, { token: i2.ElasticsearchService }, { token: i3.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: Gn4Repository, deps: [{ token: i1.SearchApiService }, { token: i2.ElasticsearchService }, { token: i3.Gn4Converter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
64
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: Gn4Repository }); }
|
|
65
65
|
}
|
|
66
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: Gn4Repository, decorators: [{
|
|
67
67
|
type: Injectable
|
|
68
|
-
}], ctorParameters: function () { return [{ type: i1.SearchApiService }, { type: i2.ElasticsearchService }, { type: i3.
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYy9saWIvZ240L2duNC1yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFXaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSxtREFBbUQsQ0FBQTs7Ozs7QUFJMUQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDVSxZQUE4QixFQUM5QixlQUFxQyxFQUNyQyxTQUE0QjtRQUY1QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQXNCO1FBQ3JDLGNBQVMsR0FBVCxTQUFTLENBQW1CO0lBQ25DLENBQUM7SUFFSixNQUFNLENBQUMsRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsSUFBSSxFQUNKLFNBQVMsRUFDVCxjQUFjLEdBQ0Q7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZO2FBQ3JCLE1BQU0sQ0FDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLElBQUksQ0FBQyxTQUFTLENBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FDdkMsRUFBRSxFQUNGLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLE1BQU0sRUFDTixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxjQUFjLENBQ2YsQ0FDRixDQUNG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LFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQ3ZDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNmLEdBQUcsSUFBSTtZQUNQLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FDakQsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUNiO1NBQ0YsQ0FBQyxFQUNGLEVBQUUsQ0FDSCxDQUNGLENBQ0YsQ0FBQTtJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZO2FBQ3JCLE1BQU0sQ0FDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNyRTthQUNBLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxPQUF5QixFQUFFLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDO1lBQ3JDLE9BQU87U0FDUixDQUFDLENBQUMsQ0FDSixDQUNGLENBQUE7SUFDTCxDQUFDOzhHQWhKVSxhQUFhO2tIQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFNlYXJjaEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMnXG5pbXBvcnQgeyBFbGFzdGljc2VhcmNoU2VydmljZSB9IGZyb20gJy4vZWxhc3RpY3NlYXJjaCdcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQge1xuICBTZWFyY2hQYXJhbXMsXG4gIFNlYXJjaFJlc3VsdHMsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3NlYXJjaC9zZWFyY2gubW9kZWwnXG5pbXBvcnQge1xuICBBZ2dyZWdhdGlvbnMsXG4gIEFnZ3JlZ2F0aW9uc1BhcmFtcyxcbiAgRmllbGRGaWx0ZXJzLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7XG4gIEduNE1ldGFkYXRhTWFwcGVyLFxuICBHbjRTZWFyY2hSZXN1bHRzLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEduNFJlcG9zaXRvcnkgaW1wbGVtZW50cyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZ240U2VhcmNoQXBpOiBTZWFyY2hBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ240U2VhcmNoSGVscGVyOiBFbGFzdGljc2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGduNE1hcHBlcjogR240TWV0YWRhdGFNYXBwZXJcbiAgKSB7fVxuXG4gIHNlYXJjaCh7XG4gICAgZmlsdGVycyxcbiAgICBmaWVsZHMsXG4gICAgb2Zmc2V0LFxuICAgIGxpbWl0LFxuICAgIHNvcnQsXG4gICAgZmlsdGVySWRzLFxuICAgIGZpbHRlckdlb21ldHJ5LFxuICB9OiBTZWFyY2hQYXJhbXMpOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdHM+IHtcbiAgICByZXR1cm4gdGhpcy5nbjRTZWFyY2hBcGlcbiAgICAgIC5zZWFyY2goXG4gICAgICAgICdidWNrZXQnLFxuICAgICAgICBudWxsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICB0aGlzLmduNFNlYXJjaEhlbHBlci5nZXRTZWFyY2hSZXF1ZXN0Qm9keShcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgbGltaXQsXG4gICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGZpbHRlcklkcyxcbiAgICAgICAgICAgIGZpbHRlckdlb21ldHJ5XG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChyZXN1bHRzOiBHbjRTZWFyY2hSZXN1bHRzKSA9PlxuICAgICAgICAgIHRoaXMuZ240TWFwcGVyLnJlYWRSZWNvcmRzKHJlc3VsdHMuaGl0cy5oaXRzKS50aGVuKChyZWNvcmRzKSA9PiAoe1xuICAgICAgICAgICAgY291bnQ6IHJlc3VsdHMuaGl0cy50b3RhbD8udmFsdWUgfHwgMCxcbiAgICAgICAgICAgIHJlY29yZHMsXG4gICAgICAgICAgfSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgfVxuXG4gIGdldE1hdGNoZXNDb3VudChmaWx0ZXJzOiBGaWVsZEZpbHRlcnMpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmduNFNlYXJjaEFwaVxuICAgICAgLnNlYXJjaChcbiAgICAgICAgJ3JlY29yZHMtY291bnQnLFxuICAgICAgICBudWxsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgLi4udGhpcy5nbjRTZWFyY2hIZWxwZXIuZ2V0U2VhcmNoUmVxdWVzdEJvZHkoXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgZmlsdGVyc1xuICAgICAgICAgICksXG4gICAgICAgICAgdHJhY2tfdG90YWxfaGl0czogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKG1hcCgocmVzdWx0czogR240U2VhcmNoUmVzdWx0cykgPT4gcmVzdWx0cy5oaXRzLnRvdGFsPy52YWx1ZSB8fCAwKSlcbiAgfVxuXG4gIGdldEJ5VW5pcXVlSWRlbnRpZmllcihcbiAgICB1bmlxdWVJZGVudGlmaWVyOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDYXRhbG9nUmVjb3JkIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmduNFNlYXJjaEFwaVxuICAgICAgLnNlYXJjaChcbiAgICAgICAgJ2J1Y2tldCcsXG4gICAgICAgIG51bGwsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHRoaXMuZ240U2VhcmNoSGVscGVyLmdldE1ldGFkYXRhQnlJZFBheWxvYWQodW5pcXVlSWRlbnRpZmllcilcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzdWx0czogR240U2VhcmNoUmVzdWx0cykgPT4gcmVzdWx0cy5oaXRzLmhpdHNbMF0pLFxuICAgICAgICBzd2l0Y2hNYXAoKHJlY29yZCkgPT5cbiAgICAgICAgICByZWNvcmQgPyB0aGlzLmduNE1hcHBlci5yZWFkUmVjb3JkKHJlY29yZCkgOiBvZihudWxsKVxuICAgICAgICApXG4gICAgICApXG4gIH1cblxuICBnZXRTaW1pbGFyUmVjb3JkcyhzaW1pbGFyVG86IENhdGFsb2dSZWNvcmQpOiBPYnNlcnZhYmxlPENhdGFsb2dSZWNvcmRbXT4ge1xuICAgIHJldHVybiB0aGlzLmduNFNlYXJjaEFwaVxuICAgICAgLnNlYXJjaChcbiAgICAgICAgJ2J1Y2tldCcsXG4gICAgICAgIG51bGwsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHRoaXMuZ240U2VhcmNoSGVscGVyLmdldFJlbGF0ZWRSZWNvcmRQYXlsb2FkKFxuICAgICAgICAgICAgc2ltaWxhclRvLnRpdGxlLFxuICAgICAgICAgICAgc2ltaWxhclRvLnVuaXF1ZUlkZW50aWZpZXIsXG4gICAgICAgICAgICAzXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChyZXN1bHRzOiBHbjRTZWFyY2hSZXN1bHRzKSA9PlxuICAgICAgICAgIHRoaXMuZ240TWFwcGVyLnJlYWRSZWNvcmRzKHJlc3VsdHMuaGl0cy5oaXRzKVxuICAgICAgICApXG4gICAgICApXG4gIH1cbiAgYWdncmVnYXRlKHBhcmFtczogQWdncmVnYXRpb25zUGFyYW1zKTogT2JzZXJ2YWJsZTxBZ2dyZWdhdGlvbnM+IHtcbiAgICAvLyBpZiBhZ2dyZWdhdGlvbnMgYXJlIGVtcHR5LCByZXR1cm4gYW4gZW1wdHkgb2JqZWN0IHJpZ2h0IGF3YXlcbiAgICBpZiAoT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGggPT09IDApIHJldHVybiBvZih7fSlcblxuICAgIGNvbnN0IGFnZ3JlZ2F0aW9ucyA9IHRoaXMuZ240U2VhcmNoSGVscGVyLmJ1aWxkQWdncmVnYXRpb25zUGF5bG9hZChwYXJhbXMpXG4gICAgcmV0dXJuIHRoaXMuZ240U2VhcmNoQXBpXG4gICAgICAuc2VhcmNoKFxuICAgICAgICAnYnVja2V0JyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5nbjRTZWFyY2hIZWxwZXIuZ2V0U2VhcmNoUmVxdWVzdEJvZHkoYWdncmVnYXRpb25zKSlcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBHbjRTZWFyY2hSZXN1bHRzKSA9PlxuICAgICAgICAgIE9iamVjdC5rZXlzKHJlc3BvbnNlLmFnZ3JlZ2F0aW9ucykucmVkdWNlKFxuICAgICAgICAgICAgKHByZXYsIGN1cnIpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIFtjdXJyXTogdGhpcy5nbjRTZWFyY2hIZWxwZXIucGFyc2VBZ2dyZWdhdGlvblJlc3VsdChcbiAgICAgICAgICAgICAgICByZXNwb25zZS5hZ2dyZWdhdGlvbnNbY3Vycl0sXG4gICAgICAgICAgICAgICAgcGFyYW1zW2N1cnJdXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9XG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gIH1cblxuICBmdXp6eVNlYXJjaChxdWVyeTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRzPiB7XG4gICAgcmV0dXJuIHRoaXMuZ240U2VhcmNoQXBpXG4gICAgICAuc2VhcmNoKFxuICAgICAgICAnYnVja2V0JyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5nbjRTZWFyY2hIZWxwZXIuYnVpbGRBdXRvY29tcGxldGVQYXlsb2FkKHF1ZXJ5KSlcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHJlc3VsdHM6IEduNFNlYXJjaFJlc3VsdHMpID0+XG4gICAgICAgICAgdGhpcy5nbjRNYXBwZXIucmVhZFJlY29yZHMocmVzdWx0cy5oaXRzLmhpdHMpLnRoZW4oKHJlY29yZHMpID0+ICh7XG4gICAgICAgICAgICBjb3VudDogcmVzdWx0cy5oaXRzLnRvdGFsPy52YWx1ZSB8fCAwLFxuICAgICAgICAgICAgcmVjb3JkcyxcbiAgICAgICAgICB9KSlcbiAgICAgICAgKVxuICAgICAgKVxuICB9XG59XG4iXX0=
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.SearchApiService }, { type: i2.ElasticsearchService }, { type: i3.Gn4Converter }]; } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYy9saWIvZ240L2duNC1yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFXaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFDTCxZQUFZLEdBRWIsTUFBTSxtREFBbUQsQ0FBQTs7Ozs7QUFJMUQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDVSxZQUE4QixFQUM5QixlQUFxQyxFQUNyQyxTQUF1QjtRQUZ2QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQXNCO1FBQ3JDLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDOUIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxFQUNMLE9BQU8sRUFDUCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxJQUFJLEVBQ0osU0FBUyxFQUNULGNBQWMsR0FDRDtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVk7YUFDckIsTUFBTSxDQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osSUFBSSxDQUFDLFNBQVMsQ0FDWixJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUN2QyxFQUFFLEVBQ0YsS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLEVBQ0osTUFBTSxFQUNOLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULGNBQWMsQ0FDZixDQUNGLENBQ0Y7YUFD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USxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FDdkMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2YsR0FBRyxJQUFJO1lBQ1AsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUNqRCxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLENBQ2I7U0FDRixDQUFDLEVBQ0YsRUFBRSxDQUNILENBQ0YsQ0FDRixDQUFBO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVk7YUFDckIsTUFBTSxDQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3JFO2FBQ0EsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRSxDQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUM7WUFDckMsT0FBTztTQUNSLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQTtJQUNMLENBQUM7OEdBaEpVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgU2VhcmNoQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7IEVsYXN0aWNzZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9lbGFzdGljc2VhcmNoJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcbmltcG9ydCB7XG4gIFNlYXJjaFBhcmFtcyxcbiAgU2VhcmNoUmVzdWx0cyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvc2VhcmNoL3NlYXJjaC5tb2RlbCdcbmltcG9ydCB7XG4gIEFnZ3JlZ2F0aW9ucyxcbiAgQWdncmVnYXRpb25zUGFyYW1zLFxuICBGaWVsZEZpbHRlcnMsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3NlYXJjaCdcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHtcbiAgR240Q29udmVydGVyLFxuICBHbjRTZWFyY2hSZXN1bHRzLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEduNFJlcG9zaXRvcnkgaW1wbGVtZW50cyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZ240U2VhcmNoQXBpOiBTZWFyY2hBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ240U2VhcmNoSGVscGVyOiBFbGFzdGljc2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGduNE1hcHBlcjogR240Q29udmVydGVyXG4gICkge31cblxuICBzZWFyY2goe1xuICAgIGZpbHRlcnMsXG4gICAgZmllbGRzLFxuICAgIG9mZnNldCxcbiAgICBsaW1pdCxcbiAgICBzb3J0LFxuICAgIGZpbHRlcklkcyxcbiAgICBmaWx0ZXJHZW9tZXRyeSxcbiAgfTogU2VhcmNoUGFyYW1zKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRzPiB7XG4gICAgcmV0dXJuIHRoaXMuZ240U2VhcmNoQXBpXG4gICAgICAuc2VhcmNoKFxuICAgICAgICAnYnVja2V0JyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgdGhpcy5nbjRTZWFyY2hIZWxwZXIuZ2V0U2VhcmNoUmVxdWVzdEJvZHkoXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgc29ydCxcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICBmaWx0ZXJJZHMsXG4gICAgICAgICAgICBmaWx0ZXJHZW9tZXRyeVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzdWx0czogR240U2VhcmNoUmVzdWx0cykgPT5cbiAgICAgICAgICB0aGlzLmduNE1hcHBlci5yZWFkUmVjb3JkcyhyZXN1bHRzLmhpdHMuaGl0cykudGhlbigocmVjb3JkcykgPT4gKHtcbiAgICAgICAgICAgIGNvdW50OiByZXN1bHRzLmhpdHMudG90YWw/LnZhbHVlIHx8IDAsXG4gICAgICAgICAgICByZWNvcmRzLFxuICAgICAgICAgIH0pKVxuICAgICAgICApXG4gICAgICApXG4gIH1cblxuICBnZXRNYXRjaGVzQ291bnQoZmlsdGVyczogRmllbGRGaWx0ZXJzKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5nbjRTZWFyY2hBcGlcbiAgICAgIC5zZWFyY2goXG4gICAgICAgICdyZWNvcmRzLWNvdW50JyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIC4uLnRoaXMuZ240U2VhcmNoSGVscGVyLmdldFNlYXJjaFJlcXVlc3RCb2R5KFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGZpbHRlcnNcbiAgICAgICAgICApLFxuICAgICAgICAgIHRyYWNrX3RvdGFsX2hpdHM6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShtYXAoKHJlc3VsdHM6IEduNFNlYXJjaFJlc3VsdHMpID0+IHJlc3VsdHMuaGl0cy50b3RhbD8udmFsdWUgfHwgMCkpXG4gIH1cblxuICBnZXRCeVVuaXF1ZUlkZW50aWZpZXIoXG4gICAgdW5pcXVlSWRlbnRpZmllcjogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8Q2F0YWxvZ1JlY29yZCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5nbjRTZWFyY2hBcGlcbiAgICAgIC5zZWFyY2goXG4gICAgICAgICdidWNrZXQnLFxuICAgICAgICBudWxsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICB0aGlzLmduNFNlYXJjaEhlbHBlci5nZXRNZXRhZGF0YUJ5SWRQYXlsb2FkKHVuaXF1ZUlkZW50aWZpZXIpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3VsdHM6IEduNFNlYXJjaFJlc3VsdHMpID0+IHJlc3VsdHMuaGl0cy5oaXRzWzBdKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZWNvcmQpID0+XG4gICAgICAgICAgcmVjb3JkID8gdGhpcy5nbjRNYXBwZXIucmVhZFJlY29yZChyZWNvcmQpIDogb2YobnVsbClcbiAgICAgICAgKVxuICAgICAgKVxuICB9XG5cbiAgZ2V0U2ltaWxhclJlY29yZHMoc2ltaWxhclRvOiBDYXRhbG9nUmVjb3JkKTogT2JzZXJ2YWJsZTxDYXRhbG9nUmVjb3JkW10+IHtcbiAgICByZXR1cm4gdGhpcy5nbjRTZWFyY2hBcGlcbiAgICAgIC5zZWFyY2goXG4gICAgICAgICdidWNrZXQnLFxuICAgICAgICBudWxsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICB0aGlzLmduNFNlYXJjaEhlbHBlci5nZXRSZWxhdGVkUmVjb3JkUGF5bG9hZChcbiAgICAgICAgICAgIHNpbWlsYXJUby50aXRsZSxcbiAgICAgICAgICAgIHNpbWlsYXJUby51bmlxdWVJZGVudGlmaWVyLFxuICAgICAgICAgICAgM1xuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzdWx0czogR240U2VhcmNoUmVzdWx0cykgPT5cbiAgICAgICAgICB0aGlzLmduNE1hcHBlci5yZWFkUmVjb3JkcyhyZXN1bHRzLmhpdHMuaGl0cylcbiAgICAgICAgKVxuICAgICAgKVxuICB9XG4gIGFnZ3JlZ2F0ZShwYXJhbXM6IEFnZ3JlZ2F0aW9uc1BhcmFtcyk6IE9ic2VydmFibGU8QWdncmVnYXRpb25zPiB7XG4gICAgLy8gaWYgYWdncmVnYXRpb25zIGFyZSBlbXB0eSwgcmV0dXJuIGFuIGVtcHR5IG9iamVjdCByaWdodCBhd2F5XG4gICAgaWYgKE9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoID09PSAwKSByZXR1cm4gb2Yoe30pXG5cbiAgICBjb25zdCBhZ2dyZWdhdGlvbnMgPSB0aGlzLmduNFNlYXJjaEhlbHBlci5idWlsZEFnZ3JlZ2F0aW9uc1BheWxvYWQocGFyYW1zKVxuICAgIHJldHVybiB0aGlzLmduNFNlYXJjaEFwaVxuICAgICAgLnNlYXJjaChcbiAgICAgICAgJ2J1Y2tldCcsXG4gICAgICAgIG51bGwsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuZ240U2VhcmNoSGVscGVyLmdldFNlYXJjaFJlcXVlc3RCb2R5KGFnZ3JlZ2F0aW9ucykpXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogR240U2VhcmNoUmVzdWx0cykgPT5cbiAgICAgICAgICBPYmplY3Qua2V5cyhyZXNwb25zZS5hZ2dyZWdhdGlvbnMpLnJlZHVjZShcbiAgICAgICAgICAgIChwcmV2LCBjdXJyKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICBbY3Vycl06IHRoaXMuZ240U2VhcmNoSGVscGVyLnBhcnNlQWdncmVnYXRpb25SZXN1bHQoXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuYWdncmVnYXRpb25zW2N1cnJdLFxuICAgICAgICAgICAgICAgIHBhcmFtc1tjdXJyXVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7fVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICB9XG5cbiAgZnV6enlTZWFyY2gocXVlcnk6IHN0cmluZyk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0cz4ge1xuICAgIHJldHVybiB0aGlzLmduNFNlYXJjaEFwaVxuICAgICAgLnNlYXJjaChcbiAgICAgICAgJ2J1Y2tldCcsXG4gICAgICAgIG51bGwsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuZ240U2VhcmNoSGVscGVyLmJ1aWxkQXV0b2NvbXBsZXRlUGF5bG9hZChxdWVyeSkpXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChyZXN1bHRzOiBHbjRTZWFyY2hSZXN1bHRzKSA9PlxuICAgICAgICAgIHRoaXMuZ240TWFwcGVyLnJlYWRSZWNvcmRzKHJlc3VsdHMuaGl0cy5oaXRzKS50aGVuKChyZWNvcmRzKSA9PiAoe1xuICAgICAgICAgICAgY291bnQ6IHJlc3VsdHMuaGl0cy50b3RhbD8udmFsdWUgfHwgMCxcbiAgICAgICAgICAgIHJlY29yZHMsXG4gICAgICAgICAgfSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AvatarServiceInterface } from '../auth
|
|
2
|
+
import { AvatarServiceInterface } from '../auth';
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
4
|
import { of } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../auth
|
|
6
|
+
import * as i1 from "../auth";
|
|
7
7
|
export class Gn4PlatformMapper {
|
|
8
8
|
constructor(avatarService) {
|
|
9
9
|
this.avatarService = avatarService;
|
|
@@ -40,10 +40,43 @@ export class Gn4PlatformMapper {
|
|
|
40
40
|
};
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
+
userFeedbacksFromApi(userFeedback) {
|
|
44
|
+
return {
|
|
45
|
+
uuid: userFeedback.uuid,
|
|
46
|
+
metadataUUID: userFeedback.metadataUUID,
|
|
47
|
+
comment: userFeedback.comment,
|
|
48
|
+
authorUserId: userFeedback.authorUserId.toString(),
|
|
49
|
+
authorName: userFeedback.authorName,
|
|
50
|
+
authorEmail: userFeedback.authorEmail,
|
|
51
|
+
published: userFeedback.published,
|
|
52
|
+
parentUuid: userFeedback.parentUuid ?? undefined,
|
|
53
|
+
date: new Date(userFeedback.date),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
userFeedbacksToApi(userFeedback) {
|
|
57
|
+
return {
|
|
58
|
+
uuid: userFeedback.uuid,
|
|
59
|
+
metadataUUID: userFeedback.metadataUUID,
|
|
60
|
+
comment: userFeedback.comment,
|
|
61
|
+
authorUserId: Number.parseInt(userFeedback.authorUserId),
|
|
62
|
+
authorName: userFeedback.authorName,
|
|
63
|
+
authorEmail: userFeedback.authorEmail,
|
|
64
|
+
published: userFeedback.published,
|
|
65
|
+
parentUuid: userFeedback.parentUuid,
|
|
66
|
+
date: userFeedback.date.getTime().toString(),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
async createUserFeedbackViewModel(baseUserFeedback) {
|
|
70
|
+
const userAvatarUrl = await this.avatarService.getProfileIconUrl(baseUserFeedback.authorUserId?.toString());
|
|
71
|
+
return {
|
|
72
|
+
...baseUserFeedback,
|
|
73
|
+
avatarUrl: userAvatarUrl,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
43
76
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: Gn4PlatformMapper, deps: [{ token: i1.AvatarServiceInterface }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
77
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: Gn4PlatformMapper }); }
|
|
45
78
|
}
|
|
46
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: Gn4PlatformMapper, decorators: [{
|
|
47
80
|
type: Injectable
|
|
48
81
|
}], ctorParameters: function () { return [{ type: i1.AvatarServiceInterface }]; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjL2xpYi9nbjQvcGxhdGZvcm0vZ240LXBsYXRmb3JtLm1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7O0FBUXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsYUFBcUM7UUFBckMsa0JBQWEsR0FBYixhQUFhLENBQXdCO0lBQUcsQ0FBQztJQUU3RCxhQUFhLENBQUMsT0FBMkI7UUFDdkMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixNQUFNLEVBQ0osSUFBSSxFQUNKLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsR0FBRyxJQUFJLEVBQ1IsR0FBRyxPQUFPLENBQUE7UUFFWCxPQUFPLElBQUksQ0FBQyxhQUFhO2FBQ3RCLGNBQWMsQ0FBQyxJQUFJLENBQUM7YUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBZ0IsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDekIsTUFBTSxFQUNKLE9BQU8sRUFDUCxjQUFjLEVBQ2Qs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LGlCQUFpQjtrSEFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTWVSZXNwb25zZUFwaU1vZGVsLFxuICBVc2VyQXBpTW9kZWwsXG4gIFVzZXJGZWVkYmFja0RUT0FwaU1vZGVsLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMnXG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC91c2VyL3VzZXIubW9kZWwnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9hdXRoJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBUaGVzYXVydXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3RoZXNhdXJ1cy90aGVzYXVydXMubW9kZWwnXG5pbXBvcnQge1xuICBVc2VyRmVlZGJhY2ssXG4gIFVzZXJGZWVkYmFja1ZpZXdNb2RlbCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR240UGxhdGZvcm1NYXBwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF2YXRhclNlcnZpY2U6IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UpIHt9XG5cbiAgdXNlckZyb21NZUFwaShhcGlVc2VyOiBNZVJlc3BvbnNlQXBpTW9kZWwpOiBPYnNlcnZhYmxlPFVzZXJNb2RlbCB8IG51bGw+IHtcbiAgICBpZiAoIWFwaVVzZXIpIHJldHVybiBvZihudWxsKVxuICAgIGNvbnN0IHtcbiAgICAgIGhhc2gsXG4gICAgICBncm91cHNXaXRoUmVnaXN0ZXJlZFVzZXIsXG4gICAgICBncm91cHNXaXRoRWRpdG9yLFxuICAgICAgZ3JvdXBzV2l0aFJldmlld2VyLFxuICAgICAgZ3JvdXBzV2l0aFVzZXJBZG1pbixcbiAgICAgIGFkbWluLFxuICAgICAgLi4udXNlclxuICAgIH0gPSBhcGlVc2VyXG5cbiAgICByZXR1cm4gdGhpcy5hdmF0YXJTZXJ2aWNlXG4gICAgICAuZ2V0UHJvZmlsZUljb24oaGFzaClcbiAgICAgIC5waXBlKG1hcCgocHJvZmlsZUljb24pID0+ICh7IC4uLnVzZXIsIHByb2ZpbGVJY29uIH0gYXMgVXNlck1vZGVsKSkpXG4gIH1cblxuICB1c2VyRnJvbUFwaShhcGlVc2VyOiBVc2VyQXBpTW9kZWwpOiBVc2VyTW9kZWwge1xuICAgIGlmICghYXBpVXNlcikgcmV0dXJuIG51bGxcbiAgICBjb25zdCB7XG4gICAgICBlbmFibGVkLFxuICAgICAgZW1haWxBZGRyZXNzZXMsXG4gICAgICBvcmdhbmlzYXRpb24sXG4gICAgICBraW5kLFxuICAgICAgbGFzdExvZ2luRGF0ZSxcbiAgICAgIGFjY291bnROb25FeHBpcmVkLFxuICAgICAgYWNjb3VudE5vbkxvY2tlZCxcbiAgICAgIGlkLFxuICAgICAgY3JlZGVudGlhbHNOb25FeHBpcmVkLFxuICAgICAgLi4udXNlclxuICAgIH0gPSBhcGlVc2VyXG4gICAgcmV0dXJuIHsgLi4uYXBpVXNlciwgaWQ6IGlkLnRvU3RyaW5nKCkgfSBhcyBVc2VyTW9kZWxcbiAgfVxuXG4gIHRoZXNhdXJ1c0Zyb21BcGkodGhlc2F1cnVzOiBhbnlbXSwgbGFuZzM/OiBzdHJpbmcpOiBUaGVzYXVydXNNb2RlbCB7XG4gICAgcmV0dXJuIHRoZXNhdXJ1cy5tYXAoKGtleXdvcmQpID0+IHtcbiAgICAgIGxldCBrZXkgPSBrZXl3b3JkLnVyaVxuICAgICAgLy8gc29tZXRpbmVzIEdOIGNhbiBwcmVmaXggYW4gVVJJIHdpdGggYW4gXCJhbGwgdGhlc2F1cnVzXCIgVVJJOyBvbmx5IGtlZXAgdGhlIGxhc3Qgb25lXG4gICAgICBpZiAoa2V5LmluZGV4T2YoJ0BAQCcpID4gLTEpIHtcbiAgICAgICAga2V5ID0ga2V5LnNwbGl0KCdAQEAnKVsxXVxuICAgICAgfVxuICAgICAgY29uc3QgbGFiZWwgPVxuICAgICAgICBsYW5nMyAmJiBsYW5nMyBpbiBrZXl3b3JkLnZhbHVlcyA/IGtleXdvcmQudmFsdWVzW2xhbmczXSA6IGtleXdvcmQudmFsdWVcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID1cbiAgICAgICAgbGFuZzMgJiYgbGFuZzMgaW4ga2V5d29yZC5kZWZpbml0aW9uc1xuICAgICAgICAgID8ga2V5d29yZC5kZWZpbml0aW9uc1tsYW5nM11cbiAgICAgICAgICA6IGtleXdvcmQuZGVmaW5pdGlvblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5LFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHVzZXJGZWVkYmFja3NGcm9tQXBpKHVzZXJGZWVkYmFjazogYW55KTogVXNlckZlZWRiYWNrIHtcbiAgICByZXR1cm4ge1xuICAgICAgdXVpZDogdXNlckZlZWRiYWNrLnV1aWQsXG4gICAgICBtZXRhZGF0YVVVSUQ6IHVzZXJGZWVkYmFjay5tZXRhZGF0YVVVSUQsXG4gICAgICBjb21tZW50OiB1c2VyRmVlZGJhY2suY29tbWVudCxcbiAgICAgIGF1dGhvclVzZXJJZDogdXNlckZlZWRiYWNrLmF1dGhvclVzZXJJZC50b1N0cmluZygpLFxuICAgICAgYXV0aG9yTmFtZTogdXNlckZlZWRiYWNrLmF1dGhvck5hbWUsXG4gICAgICBhdXRob3JFbWFpbDogdXNlckZlZWRiYWNrLmF1dGhvckVtYWlsLFxuICAgICAgcHVibGlzaGVkOiB1c2VyRmVlZGJhY2sucHVibGlzaGVkLFxuICAgICAgcGFyZW50VXVpZDogdXNlckZlZWRiYWNrLnBhcmVudFV1aWQgPz8gdW5kZWZpbmVkLFxuICAgICAgZGF0ZTogbmV3IERhdGUodXNlckZlZWRiYWNrLmRhdGUpLFxuICAgIH1cbiAgfVxuXG4gIHVzZXJGZWVkYmFja3NUb0FwaShcbiAgICB1c2VyRmVlZGJhY2s6IFVzZXJGZWVkYmFja1xuICApOiBQYXJ0aWFsPFVzZXJGZWVkYmFja0RUT0FwaU1vZGVsPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHV1aWQ6IHVzZXJGZWVkYmFjay51dWlkLFxuICAgICAgbWV0YWRhdGFVVUlEOiB1c2VyRmVlZGJhY2subWV0YWRhdGFVVUlELFxuICAgICAgY29tbWVudDogdXNlckZlZWRiYWNrLmNvbW1lbnQsXG4gICAgICBhdXRob3JVc2VySWQ6IE51bWJlci5wYXJzZUludCh1c2VyRmVlZGJhY2suYXV0aG9yVXNlcklkKSxcbiAgICAgIGF1dGhvck5hbWU6IHVzZXJGZWVkYmFjay5hdXRob3JOYW1lLFxuICAgICAgYXV0aG9yRW1haWw6IHVzZXJGZWVkYmFjay5hdXRob3JFbWFpbCxcbiAgICAgIHB1Ymxpc2hlZDogdXNlckZlZWRiYWNrLnB1Ymxpc2hlZCxcbiAgICAgIHBhcmVudFV1aWQ6IHVzZXJGZWVkYmFjay5wYXJlbnRVdWlkLFxuICAgICAgZGF0ZTogdXNlckZlZWRiYWNrLmRhdGUuZ2V0VGltZSgpLnRvU3RyaW5nKCksXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlVXNlckZlZWRiYWNrVmlld01vZGVsKFxuICAgIGJhc2VVc2VyRmVlZGJhY2s6IFVzZXJGZWVkYmFja1xuICApOiBQcm9taXNlPFVzZXJGZWVkYmFja1ZpZXdNb2RlbD4ge1xuICAgIGNvbnN0IHVzZXJBdmF0YXJVcmwgPSBhd2FpdCB0aGlzLmF2YXRhclNlcnZpY2UuZ2V0UHJvZmlsZUljb25VcmwoXG4gICAgICBiYXNlVXNlckZlZWRiYWNrLmF1dGhvclVzZXJJZD8udG9TdHJpbmcoKVxuICAgIClcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5iYXNlVXNlckZlZWRiYWNrLFxuICAgICAgYXZhdGFyVXJsOiB1c2VyQXZhdGFyVXJsLFxuICAgIH1cbiAgfVxufVxuIl19
|