geonetwork-ui 2.1.0 → 2.2.0-dev.0da04556
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +2 -1
- package/esm2022/libs/api/repository/src/index.mjs +2 -1
- package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +2 -2
- package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +2 -2
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -4
- package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
- package/esm2022/libs/feature/map/src/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +63 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +17 -3
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +76 -0
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -3
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +3 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +9 -6
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +2 -2
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +4 -1
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -6
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +15 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +19 -40
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +6 -3
- package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +45 -0
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -3
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +3 -3
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +5 -1
- package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
- package/esm2022/libs/util/i18n/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
- package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +8 -1
- package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/translations/de.json +102 -84
- package/esm2022/translations/en.json +40 -22
- package/esm2022/translations/es.json +18 -0
- package/esm2022/translations/fr.json +26 -8
- package/esm2022/translations/it.json +27 -6
- package/esm2022/translations/nl.json +18 -0
- package/esm2022/translations/pt.json +18 -0
- package/fesm2022/geonetwork-ui.mjs +801 -257
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/index.d.ts +1 -0
- package/libs/api/repository/src/index.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/map/src/index.d.ts +1 -0
- package/libs/feature/map/src/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +20 -0
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -2
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts +3 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +2 -4
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +18 -17
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/model.d.ts +2 -0
- package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +1 -0
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/theme.service.d.ts +1 -0
- package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/package.json +11 -6
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -0
- package/src/libs/api/repository/src/index.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
- package/src/libs/common/domain/src/lib/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -0
- package/src/libs/feature/auth/src/lib/feature-auth.module.ts +1 -1
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +1 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
- package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
- package/src/libs/feature/map/src/index.ts +1 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +55 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +63 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +9 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +83 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +9 -3
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +6 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +12 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -4
- package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -1
- package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +1 -1
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
- package/src/libs/ui/elements/src/index.ts +3 -0
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +29 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +16 -0
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +59 -32
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +5 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +7 -0
- package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +22 -42
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
- package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +47 -0
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
- package/src/libs/ui/search/src/lib/record-table/record-table.component.html +2 -2
- package/src/libs/util/app-config/src/lib/app-config.ts +4 -0
- package/src/libs/util/app-config/src/lib/model.ts +2 -0
- package/src/libs/util/i18n/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
- package/src/libs/util/shared/src/lib/services/theme.service.ts +9 -0
- package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/tailwind.base.css +31 -1
- package/translations/de.json +102 -84
- package/translations/en.json +40 -22
- package/translations/es.json +18 -0
- package/translations/fr.json +26 -8
- package/translations/it.json +27 -6
- package/translations/nl.json +18 -0
- package/translations/pt.json +18 -0
- package/translations/sk.json +18 -0
|
@@ -40,9 +40,15 @@ export const FORMATS = {
|
|
|
40
40
|
color: '#328556',
|
|
41
41
|
mimeTypes: ['x-gis/x-shapefile'],
|
|
42
42
|
},
|
|
43
|
+
gml: {
|
|
44
|
+
extensions: ['gml'],
|
|
45
|
+
priority: 5,
|
|
46
|
+
color: '#c92bce',
|
|
47
|
+
mimeTypes: ['application/gml+xml', 'text/xml; subtype=gml'],
|
|
48
|
+
},
|
|
43
49
|
kml: {
|
|
44
50
|
extensions: ['kml', 'kmz'],
|
|
45
|
-
priority:
|
|
51
|
+
priority: 6,
|
|
46
52
|
color: '#348009',
|
|
47
53
|
mimeTypes: [
|
|
48
54
|
'application/vnd.google-earth.kml+xml',
|
|
@@ -51,34 +57,40 @@ export const FORMATS = {
|
|
|
51
57
|
},
|
|
52
58
|
gpkg: {
|
|
53
59
|
extensions: ['gpkg', 'geopackage'],
|
|
54
|
-
priority:
|
|
60
|
+
priority: 7,
|
|
55
61
|
color: '#ea79ba',
|
|
56
62
|
mimeTypes: ['application/geopackage+sqlite3'],
|
|
57
63
|
},
|
|
58
64
|
zip: {
|
|
59
65
|
extensions: ['zip', 'tar.gz'],
|
|
60
|
-
priority:
|
|
66
|
+
priority: 8,
|
|
61
67
|
color: '#f2bb3a',
|
|
62
68
|
mimeTypes: ['application/zip', 'application/x-zip'],
|
|
63
69
|
},
|
|
64
70
|
pdf: {
|
|
65
71
|
extensions: ['pdf'],
|
|
66
|
-
priority:
|
|
72
|
+
priority: 9,
|
|
67
73
|
color: '#db544a',
|
|
68
74
|
mimeTypes: ['application/pdf'],
|
|
69
75
|
},
|
|
70
76
|
jpg: {
|
|
71
77
|
extensions: ['jpg', 'jpeg', 'jfif', 'pjpeg', 'pjp'],
|
|
72
|
-
priority:
|
|
78
|
+
priority: 9,
|
|
73
79
|
color: '#673ab7',
|
|
74
80
|
mimeTypes: ['image/jpg'],
|
|
75
81
|
},
|
|
76
82
|
svg: {
|
|
77
83
|
extensions: ['svg'],
|
|
78
|
-
priority:
|
|
84
|
+
priority: 10,
|
|
79
85
|
color: '#d98294',
|
|
80
86
|
mimeTypes: ['image/svg+xml'],
|
|
81
87
|
},
|
|
88
|
+
dxf: {
|
|
89
|
+
extensions: ['dxf'],
|
|
90
|
+
priority: 11,
|
|
91
|
+
color: '#de630b',
|
|
92
|
+
mimeTypes: ['application/x-dxf', 'image/x-dxf'],
|
|
93
|
+
},
|
|
82
94
|
};
|
|
83
95
|
export function getFormatPriority(linkFormat) {
|
|
84
96
|
for (const format in FORMATS) {
|
|
@@ -95,14 +107,18 @@ export function getFormatPriority(linkFormat) {
|
|
|
95
107
|
export function getLinkPriority(link) {
|
|
96
108
|
return getFormatPriority(getFileFormat(link));
|
|
97
109
|
}
|
|
98
|
-
export function
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
110
|
+
export function getFileFormatFromServiceOutput(serviceOutput) {
|
|
111
|
+
function formatMatcher(format) {
|
|
112
|
+
const output = serviceOutput.toLowerCase();
|
|
113
|
+
return (format.extensions.some((extension) => output.includes(extension)) ||
|
|
114
|
+
format.mimeTypes.some((mimeType) => output.includes(mimeType)));
|
|
115
|
+
}
|
|
116
|
+
for (const formatName in FORMATS) {
|
|
117
|
+
if (formatMatcher(FORMATS[formatName])) {
|
|
118
|
+
return formatName;
|
|
103
119
|
}
|
|
104
120
|
}
|
|
105
|
-
return
|
|
121
|
+
return null;
|
|
106
122
|
}
|
|
107
123
|
export function getFileFormat(link) {
|
|
108
124
|
if ('mimeType' in link) {
|
|
@@ -183,4 +199,4 @@ export function getLinkLabel(link) {
|
|
|
183
199
|
export function getMimeTypeForFormat(format) {
|
|
184
200
|
return format in FORMATS ? FORMATS[format.toLowerCase()].mimeTypes[0] : null;
|
|
185
201
|
}
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUdoRSxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsR0FBRyxFQUFFO1FBQ0gsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ25CLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0tBQzNDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsVUFBVSxFQUFFO1lBQ1YsT0FBTztZQUNQLEtBQUs7WUFDTCxNQUFNO1lBQ04sVUFBVTtZQUNWLCtCQUErQjtTQUNoQztRQUNELFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFO1lBQ1QsMEJBQTBCO1lBQzFCLG1FQUFtRTtTQUNwRTtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMEJBQTBCLENBQUM7S0FDaEU7SUFDRCxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDcEIsUUFBUSxFQUFFLENBQUM7UUFDWCxLQUFLLEVBQUUsU0FBUztRQUNoQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztLQUNoQztJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsa0JB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QUFLLFVBQVU7d0JBQ2IsTUFBTSxHQUFHLE1BQU0sQ0FBQTt3QkFDZixNQUFLO2lCQUNSO2FBQ0Y7WUFDRCxNQUFLO1FBQ1A7WUFDRSxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQy9CO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQzNDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBa0I7SUFDckQsT0FBTyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IERhdGFzZXREaXN0cmlidXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbm1hcmtlcignZG93bmxvYWRzLndmcy5mZWF0dXJldHlwZS5ub3QuZm91bmQnKVxuXG5leHBvcnQgY29uc3QgRk9STUFUUyA9IHtcbiAgY3N2OiB7XG4gICAgZXh0ZW5zaW9uczogWydjc3YnXSxcbiAgICBwcmlvcml0eTogMSxcbiAgICBjb2xvcjogJyM1NTlkN2YnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2NzdicsICdhcHBsaWNhdGlvbi9jc3YnXSxcbiAgfSxcbiAgZXhjZWw6IHtcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnZXhjZWwnLFxuICAgICAgJ3hscycsXG4gICAgICAneGxzeCcsXG4gICAgICAnbXMtZXhjZWwnLFxuICAgICAgJ29wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50JyxcbiAgICBdLFxuICAgIHByaW9yaXR5OiAyLFxuICAgIGNvbG9yOiAnIzBmNDM5NScsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgXSxcbiAgfSxcbiAgZ2VvanNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ2VvanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzFlNTE4MCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlbytqc29uJywgJ2FwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiddLFxuICB9LFxuICBqc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjMWU1MTgwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICB9LFxuICBzaHA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3NocCcsICdzaGFwZScsICd6aXBwZWQtc2hhcGVmaWxlJ10sXG4gICAgcHJpb3JpdHk6IDQsXG4gICAgY29sb3I6ICcjMzI4NTU2JyxcbiAgICBtaW1lVHlwZXM6IFsneC1naXMveC1zaGFwZWZpbGUnXSxcbiAgfSxcbiAga21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydrbWwnLCAna216J10sXG4gICAgcHJpb3JpdHk6IDUsXG4gICAgY29sb3I6ICcjMzQ4MDA5JyxcbiAgICBtaW1lVHlwZXM6IFtcbiAgICAgICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttbCt4bWwnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua216JyxcbiAgICBdLFxuICB9LFxuICBncGtnOiB7XG4gICAgZXh0ZW5zaW9uczogWydncGtnJywgJ2dlb3BhY2thZ2UnXSxcbiAgICBwcmlvcml0eTogNixcbiAgICBjb2xvcjogJyNlYTc5YmEnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nZW9wYWNrYWdlK3NxbGl0ZTMnXSxcbiAgfSxcbiAgemlwOiB7XG4gICAgZXh0ZW5zaW9uczogWyd6aXAnLCAndGFyLmd6J10sXG4gICAgcHJpb3JpdHk6IDcsXG4gICAgY29sb3I6ICcjZjJiYjNhJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vemlwJywgJ2FwcGxpY2F0aW9uL3gtemlwJ10sXG4gIH0sXG4gIHBkZjoge1xuICAgIGV4dGVuc2lvbnM6IFsncGRmJ10sXG4gICAgcHJpb3JpdHk6IDgsXG4gICAgY29sb3I6ICcjZGI1NDRhJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vcGRmJ10sXG4gIH0sXG4gIGpwZzoge1xuICAgIGV4dGVuc2lvbnM6IFsnanBnJywgJ2pwZWcnLCAnamZpZicsICdwanBlZycsICdwanAnXSxcbiAgICBwcmlvcml0eTogOCxcbiAgICBjb2xvcjogJyM2NzNhYjcnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9qcGcnXSxcbiAgfSxcbiAgc3ZnOiB7XG4gICAgZXh0ZW5zaW9uczogWydzdmcnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyNkOTgyOTQnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9zdmcreG1sJ10sXG4gIH0sXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEZpbGVGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRk9STUFUU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0UHJpb3JpdHkobGlua0Zvcm1hdDogRmlsZUZvcm1hdCk6IG51bWJlciB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGV4dCBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7ZXh0fWAsICdpJykudGVzdChsaW5rRm9ybWF0KSkge1xuICAgICAgICBpZiAoRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5ID09PSAwKSByZXR1cm4gMFxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRk9STUFUUykubGVuZ3RoIC0gRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rUHJpb3JpdHkobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IG51bWJlciB7XG4gIHJldHVybiBnZXRGb3JtYXRQcmlvcml0eShnZXRGaWxlRm9ybWF0KGxpbmspKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5zaW9uVG9Gb3JtYXQoZXh0ZW5zaW9uOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChhbGlhcyA9PT0gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0KGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pOiBGaWxlRm9ybWF0IHtcbiAgaWYgKCdtaW1lVHlwZScgaW4gbGluaykge1xuICAgIGNvbnN0IG1pbWVUeXBlRm9ybWF0ID0gbWltZVR5cGVUb0Zvcm1hdChsaW5rLm1pbWVUeXBlKVxuICAgIGlmIChtaW1lVHlwZUZvcm1hdCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1pbWVUeXBlRm9ybWF0XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAoY2hlY2tGaWxlRm9ybWF0KGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgICBpZiAoaXNGb3JtYXRJblF1ZXJ5UGFyYW0obGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybWF0SW5RdWVyeVBhcmFtKFxuICBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBhbGlhczogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBsaW5rLnVybC5zZWFyY2hQYXJhbXNcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnlQYXJhbXMuZW50cmllcygpKSB7XG4gICAgaWYgKGtleSA9PT0gJ2Zvcm1hdCcgfHwga2V5ID09PSAnZicpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gYWxpYXNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgbXQgb2YgRk9STUFUU1tmb3JtYXRdLm1pbWVUeXBlcykge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBtdCkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVGb3JtYXQoXG4gIGxpbms6IERhdGFzZXREaXN0cmlidXRpb24sXG4gIGZvcm1hdDogRmlsZUZvcm1hdFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKCduYW1lJyBpbiBsaW5rICYmIG5ldyBSZWdFeHAoYFsuL10ke2Zvcm1hdH1gLCAnaScpLnRlc3QobGluay5uYW1lKSkgfHxcbiAgICAoJ3VybCcgaW4gbGluayAmJlxuICAgICAgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLnVybC50b1N0cmluZygpKSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFkZ2VDb2xvcihsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2FsaWFzfWAsICdpJykudGVzdChsaW5rRm9ybWF0KSlcbiAgICAgICAgcmV0dXJuIEZPUk1BVFNbZm9ybWF0XS5jb2xvclxuICAgIH1cbiAgfVxuICByZXR1cm4gJ3ZhcigtLWNvbG9yLWdyYXktNzAwKScgLy8gRGVmYXVsdCBjb2xvciA/XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IHN0cmluZyB7XG4gIGxldCBmb3JtYXQgPSAnJ1xuICBzd2l0Y2ggKGxpbmsudHlwZSkge1xuICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAge1xuICAgICAgICBzd2l0Y2ggKGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sKSB7XG4gICAgICAgICAgY2FzZSAnd2ZzJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXRlMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV01TJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICd3bXRzJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVRTJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICdlc3JpUmVzdCc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnUkVTVCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuICBjb25zdCBsYWJlbCA9IGxpbmsuZGVzY3JpcHRpb24gfHwgbGluay5uYW1lXG4gIHJldHVybiBmb3JtYXQgPyBgJHtsYWJlbH0gKCR7Zm9ybWF0fSlgIDogbGFiZWxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbWVUeXBlRm9yRm9ybWF0KGZvcm1hdDogRmlsZUZvcm1hdCk6IHN0cmluZyB8IG51bGwge1xuICByZXR1cm4gZm9ybWF0IGluIEZPUk1BVFMgPyBGT1JNQVRTW2Zvcm1hdC50b0xvd2VyQ2FzZSgpXS5taW1lVHlwZXNbMF0gOiBudWxsXG59XG4iXX0=
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUdoRSxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsR0FBRyxFQUFFO1FBQ0gsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ25CLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0tBQzNDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsVUFBVSxFQUFFO1lBQ1YsT0FBTztZQUNQLEtBQUs7WUFDTCxNQUFNO1lBQ04sVUFBVTtZQUNWLCtCQUErQjtTQUNoQztRQUNELFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFO1lBQ1QsMEJBQTBCO1lBQzFCLG1FQUFtRTtTQUNwRTtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMEJBQTBCLENBQUM7S0FDaEU7SUFDRCxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDcEIsUUFBUSxFQUFFLENBQUM7UUFDWCxLQUFLLEVBQUUsU0FBUztRQUNoQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztLQUNoQztJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsa0JB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QUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IERhdGFzZXREaXN0cmlidXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbm1hcmtlcignZG93bmxvYWRzLndmcy5mZWF0dXJldHlwZS5ub3QuZm91bmQnKVxuXG5leHBvcnQgY29uc3QgRk9STUFUUyA9IHtcbiAgY3N2OiB7XG4gICAgZXh0ZW5zaW9uczogWydjc3YnXSxcbiAgICBwcmlvcml0eTogMSxcbiAgICBjb2xvcjogJyM1NTlkN2YnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2NzdicsICdhcHBsaWNhdGlvbi9jc3YnXSxcbiAgfSxcbiAgZXhjZWw6IHtcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnZXhjZWwnLFxuICAgICAgJ3hscycsXG4gICAgICAneGxzeCcsXG4gICAgICAnbXMtZXhjZWwnLFxuICAgICAgJ29wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50JyxcbiAgICBdLFxuICAgIHByaW9yaXR5OiAyLFxuICAgIGNvbG9yOiAnIzBmNDM5NScsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgXSxcbiAgfSxcbiAgZ2VvanNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ2VvanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzFlNTE4MCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlbytqc29uJywgJ2FwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiddLFxuICB9LFxuICBqc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjMWU1MTgwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICB9LFxuICBzaHA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3NocCcsICdzaGFwZScsICd6aXBwZWQtc2hhcGVmaWxlJ10sXG4gICAgcHJpb3JpdHk6IDQsXG4gICAgY29sb3I6ICcjMzI4NTU2JyxcbiAgICBtaW1lVHlwZXM6IFsneC1naXMveC1zaGFwZWZpbGUnXSxcbiAgfSxcbiAgZ21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydnbWwnXSxcbiAgICBwcmlvcml0eTogNSxcbiAgICBjb2xvcjogJyNjOTJiY2UnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nbWwreG1sJywgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbCddLFxuICB9LFxuICBrbWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ttbCcsICdrbXonXSxcbiAgICBwcmlvcml0eTogNixcbiAgICBjb2xvcjogJyMzNDgwMDknLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbXonLFxuICAgIF0sXG4gIH0sXG4gIGdwa2c6IHtcbiAgICBleHRlbnNpb25zOiBbJ2dwa2cnLCAnZ2VvcGFja2FnZSddLFxuICAgIHByaW9yaXR5OiA3LFxuICAgIGNvbG9yOiAnI2VhNzliYScsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlb3BhY2thZ2Urc3FsaXRlMyddLFxuICB9LFxuICB6aXA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3ppcCcsICd0YXIuZ3onXSxcbiAgICBwcmlvcml0eTogOCxcbiAgICBjb2xvcjogJyNmMmJiM2EnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi96aXAnLCAnYXBwbGljYXRpb24veC16aXAnXSxcbiAgfSxcbiAgcGRmOiB7XG4gICAgZXh0ZW5zaW9uczogWydwZGYnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyNkYjU0NGEnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgfSxcbiAganBnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqcGcnLCAnanBlZycsICdqZmlmJywgJ3BqcGVnJywgJ3BqcCddLFxuICAgIHByaW9yaXR5OiA5LFxuICAgIGNvbG9yOiAnIzY3M2FiNycsXG4gICAgbWltZVR5cGVzOiBbJ2ltYWdlL2pwZyddLFxuICB9LFxuICBzdmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ3N2ZyddLFxuICAgIHByaW9yaXR5OiAxMCxcbiAgICBjb2xvcjogJyNkOTgyOTQnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9zdmcreG1sJ10sXG4gIH0sXG4gIGR4Zjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZHhmJ10sXG4gICAgcHJpb3JpdHk6IDExLFxuICAgIGNvbG9yOiAnI2RlNjMwYicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3gtZHhmJywgJ2ltYWdlL3gtZHhmJ10sXG4gIH0sXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEZpbGVGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRk9STUFUU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0UHJpb3JpdHkobGlua0Zvcm1hdDogRmlsZUZvcm1hdCk6IG51bWJlciB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGV4dCBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7ZXh0fWAsICdpJykudGVzdChsaW5rRm9ybWF0KSkge1xuICAgICAgICBpZiAoRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5ID09PSAwKSByZXR1cm4gMFxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRk9STUFUUykubGVuZ3RoIC0gRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rUHJpb3JpdHkobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IG51bWJlciB7XG4gIHJldHVybiBnZXRGb3JtYXRQcmlvcml0eShnZXRGaWxlRm9ybWF0KGxpbmspKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZUZvcm1hdEZyb21TZXJ2aWNlT3V0cHV0KFxuICBzZXJ2aWNlT3V0cHV0OiBzdHJpbmdcbik6IEZpbGVGb3JtYXQgfCBudWxsIHtcbiAgZnVuY3Rpb24gZm9ybWF0TWF0Y2hlcihmb3JtYXQ6IHR5cGVvZiBGT1JNQVRTW0ZpbGVGb3JtYXRdKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gc2VydmljZU91dHB1dC50b0xvd2VyQ2FzZSgpXG4gICAgcmV0dXJuIChcbiAgICAgIGZvcm1hdC5leHRlbnNpb25zLnNvbWUoKGV4dGVuc2lvbjogc3RyaW5nKSA9PlxuICAgICAgICBvdXRwdXQuaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgICAgKSB8fFxuICAgICAgZm9ybWF0Lm1pbWVUeXBlcy5zb21lKChtaW1lVHlwZTogc3RyaW5nKSA9PiBvdXRwdXQuaW5jbHVkZXMobWltZVR5cGUpKVxuICAgIClcbiAgfVxuICBmb3IgKGNvbnN0IGZvcm1hdE5hbWUgaW4gRk9STUFUUykge1xuICAgIGlmIChmb3JtYXRNYXRjaGVyKEZPUk1BVFNbZm9ybWF0TmFtZV0pKSB7XG4gICAgICByZXR1cm4gZm9ybWF0TmFtZSBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0KGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pOiBGaWxlRm9ybWF0IHtcbiAgaWYgKCdtaW1lVHlwZScgaW4gbGluaykge1xuICAgIGNvbnN0IG1pbWVUeXBlRm9ybWF0ID0gbWltZVR5cGVUb0Zvcm1hdChsaW5rLm1pbWVUeXBlKVxuICAgIGlmIChtaW1lVHlwZUZvcm1hdCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1pbWVUeXBlRm9ybWF0XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAoY2hlY2tGaWxlRm9ybWF0KGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgICBpZiAoaXNGb3JtYXRJblF1ZXJ5UGFyYW0obGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybWF0SW5RdWVyeVBhcmFtKFxuICBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBhbGlhczogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBsaW5rLnVybC5zZWFyY2hQYXJhbXNcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnlQYXJhbXMuZW50cmllcygpKSB7XG4gICAgaWYgKGtleSA9PT0gJ2Zvcm1hdCcgfHwga2V5ID09PSAnZicpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gYWxpYXNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgbXQgb2YgRk9STUFUU1tmb3JtYXRdLm1pbWVUeXBlcykge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBtdCkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVGb3JtYXQoXG4gIGxpbms6IERhdGFzZXREaXN0cmlidXRpb24sXG4gIGZvcm1hdDogRmlsZUZvcm1hdFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKCduYW1lJyBpbiBsaW5rICYmIG5ldyBSZWdFeHAoYFsuL10ke2Zvcm1hdH1gLCAnaScpLnRlc3QobGluay5uYW1lKSkgfHxcbiAgICAoJ3VybCcgaW4gbGluayAmJlxuICAgICAgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLnVybC50b1N0cmluZygpKSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFkZ2VDb2xvcihsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2FsaWFzfWAsICdpJykudGVzdChsaW5rRm9ybWF0KSlcbiAgICAgICAgcmV0dXJuIEZPUk1BVFNbZm9ybWF0XS5jb2xvclxuICAgIH1cbiAgfVxuICByZXR1cm4gJ3ZhcigtLWNvbG9yLWdyYXktNzAwKScgLy8gRGVmYXVsdCBjb2xvciA/XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IHN0cmluZyB7XG4gIGxldCBmb3JtYXQgPSAnJ1xuICBzd2l0Y2ggKGxpbmsudHlwZSkge1xuICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAge1xuICAgICAgICBzd2l0Y2ggKGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sKSB7XG4gICAgICAgICAgY2FzZSAnd2ZzJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXRlMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV01TJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICd3bXRzJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVRTJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICdlc3JpUmVzdCc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnUkVTVCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuICBjb25zdCBsYWJlbCA9IGxpbmsuZGVzY3JpcHRpb24gfHwgbGluay5uYW1lXG4gIHJldHVybiBmb3JtYXQgPyBgJHtsYWJlbH0gKCR7Zm9ybWF0fSlgIDogbGFiZWxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbWVUeXBlRm9yRm9ybWF0KGZvcm1hdDogRmlsZUZvcm1hdCk6IHN0cmluZyB8IG51bGwge1xuICByZXR1cm4gZm9ybWF0IGluIEZPUk1BVFMgPyBGT1JNQVRTW2Zvcm1hdC50b0xvd2VyQ2FzZSgpXS5taW1lVHlwZXNbMF0gOiBudWxsXG59XG4iXX0=
|
|
@@ -74,6 +74,13 @@ export class ThemeService {
|
|
|
74
74
|
}
|
|
75
75
|
return chroma.hsl(hue % 360, saturation, lightness).css();
|
|
76
76
|
}
|
|
77
|
+
static setFavicon(faviconPath) {
|
|
78
|
+
const link = document.querySelector("link[rel*='icon']") ||
|
|
79
|
+
document.createElement('link');
|
|
80
|
+
link['rel'] = 'icon';
|
|
81
|
+
link['href'] = faviconPath;
|
|
82
|
+
document.getElementsByTagName('head')[0].appendChild(link);
|
|
83
|
+
}
|
|
77
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
85
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
|
79
86
|
}
|
|
@@ -83,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
83
90
|
providedIn: 'root',
|
|
84
91
|
}]
|
|
85
92
|
}] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBOztBQUs5QixNQUFNLE9BQU8sWUFBWTtJQUN2Qix1RkFBdUY7SUFDdkYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQzdCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUUvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxZQUFZLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsUUFBUSxJQUFJLE9BQU8sU0FBUyxZQUFZLE9BQU8scUJBQXFCLEtBQUs7aUJBQ3RFLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFBO1lBRVosUUFBUSxJQUFJLGFBQWEsU0FBUyxZQUFZLE9BQU8sNEJBQTRCLEtBQUs7aUJBQ25GLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFB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QixFQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLG1CQUFtQixFQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLGlCQUFpQixFQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RCxDQUFBO1FBQ0QsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO1FBRWpELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckUsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVsQyxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtTQUMzRTtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUN4QyxxQkFBcUIsRUFDckIsU0FBUyxDQUNWLENBQUE7U0FDRjtRQUVELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1lBQzlCLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFBO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFBO1lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQzNCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FDdkIsS0FBYSxFQUNiLFVBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQTtRQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzNCO1FBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQzNELENBQUM7OEdBdklVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgY2hyb21hIGZyb20gJ2Nocm9tYS1qcydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lU2VydmljZSB7XG4gIC8vIEZJWE1FOiB0aGlzIHNob3VsZG4ndCBiZSBuZWNlc3NhcnksIHRoZSBhcHAgY29uZmlnIHNob3VsZCBiZSByZWFkIGluc3RlYWQsIHRvIHJlbW92ZVxuICBzdGF0aWMgZ2V0Q29sb3IobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGAtLWNvbG9yLSR7bmFtZX1gKVxuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlQmdPcGFjaXR5Q2xhc3NlcyhcbiAgICBjb2xvck5hbWUsXG4gICAgY29sb3JWYWx1ZSxcbiAgICBvcGFjaXRpZXMgPSBbMCwgMTAsIDI1LCA1MCwgNzVdXG4gICkge1xuICAgIGNvbnN0IGNvbG9yID0gY2hyb21hKGNvbG9yVmFsdWUpXG4gICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKVxuICAgIHN0eWxlRWxlbWVudC5pbm5lckhUTUwgPSBvcGFjaXRpZXMucmVkdWNlKChjc3NSdWxlcywgb3BhY2l0eSkgPT4ge1xuICAgICAgY3NzUnVsZXMgKz0gYC5iZy0ke2NvbG9yTmFtZX0tb3BhY2l0eS0ke29wYWNpdHl9e2JhY2tncm91bmQtY29sb3I6JHtjb2xvclxuICAgICAgICAuYWxwaGEob3BhY2l0eSAvIDEwMClcbiAgICAgICAgLmNzcygpfTt9YFxuXG4gICAgICBjc3NSdWxlcyArPSBgLmhvdmVyLWJnLSR7Y29sb3JOYW1lfS1vcGFjaXR5LSR7b3BhY2l0eX06aG92ZXIge2JhY2tncm91bmQtY29sb3I6JHtjb2xvclxuICAgICAgICAuYWxwaGEob3BhY2l0eSAvIDEwMClcbiAgICAgICAgLmNzcygpfTt9YFxuICAgICAgcmV0dXJuIGNzc1J1bGVzXG4gICAgfSwgJycpXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpXG4gIH1cblxuICBzdGF0aWMgYXBwbHlDc3NWYXJpYWJsZXMoXG4gICAgcHJpbWFyeUNvbG9yOiBzdHJpbmcsXG4gICAgc2Vjb25kYXJ5Q29sb3I6IHN0cmluZyxcbiAgICBtYWluQ29sb3I6IHN0cmluZyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyxcbiAgICBtYWluRm9udD86IHN0cmluZyxcbiAgICB0aXRsZUZvbnQ/OiBzdHJpbmcsXG4gICAgZm9udHNTdHlsZXNoZWV0VXJsPzogc3RyaW5nXG4gICkge1xuICAgIGNvbnN0IGFwcGx5Q29sb3IgPSAobmFtZTogc3RyaW5nLCBjb2xvcikgPT4ge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLWNvbG9yLSR7bmFtZX1gLCBjb2xvci5jc3MoKSlcbiAgICB9XG5cbiAgICBjb25zdCBibGFjayA9IGNocm9tYSgnYmxhY2snKVxuICAgIGNvbnN0IHdoaXRlID0gY2hyb21hKCd3aGl0ZScpXG4gICAgYXBwbHlDb2xvcigncHJpbWFyeScsIGNocm9tYShwcmltYXJ5Q29sb3IpKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1saWdodGVyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LWxpZ2h0ZXN0JyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LXdoaXRlJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuODUpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1kYXJrZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC4zKVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktZGFya2VzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1ibGFjaycsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKCdzZWNvbmRhcnknLCBjaHJvbWEoc2Vjb25kYXJ5Q29sb3IpKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWxpZ2h0ZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWxpZ2h0ZXN0JyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIHdoaXRlXSkubW9kZSgnbGFiJykoMC42KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS13aGl0ZScsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuODUpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWRhcmtlcicsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktZGFya2VzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktYmxhY2snLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKCdtYWluJywgY2hyb21hKG1haW5Db2xvcikpXG4gICAgYXBwbHlDb2xvcignYmFja2dyb3VuZCcsIGNocm9tYShiYWNrZ3JvdW5kQ29sb3IpKVxuXG4gICAgY29uc3Qgc2NhbGUgPSBjaHJvbWEuc2NhbGUoW2JhY2tncm91bmRDb2xvciwgbWFpbkNvbG9yXSkubW9kZSgnbHJnYicpXG4gICAgYXBwbHlDb2xvcignZ3JheS01MCcsIHNjYWxlKDAuMDUpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktMTAwJywgc2NhbGUoMC4xKSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTIwMCcsIHNjYWxlKDAuMikpXG4gICAgYXBwbHlDb2xvcignZ3JheS0zMDAnLCBzY2FsZSgwLjMpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNDAwJywgc2NhbGUoMC40KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTUwMCcsIHNjYWxlKDAuNSkpXG4gICAgYXBwbHlDb2xvcignZ3JheS02MDAnLCBzY2FsZSgwLjYpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNzAwJywgc2NhbGUoMC43KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTgwMCcsIHNjYWxlKDAuOCkpXG4gICAgYXBwbHlDb2xvcignZ3JheS05MDAnLCBzY2FsZSgwLjkpKVxuXG4gICAgaWYgKG1haW5Gb250KSB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tZm9udC1mYW1pbHktbWFpbmAsIG1haW5Gb250KVxuICAgIH1cbiAgICBpZiAodGl0bGVGb250KSB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgIGAtLWZvbnQtZmFtaWx5LXRpdGxlYCxcbiAgICAgICAgdGl0bGVGb250XG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKGZvbnRzU3R5bGVzaGVldFVybCkge1xuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKVxuICAgICAgbGluay5ocmVmID0gZm9udHNTdHlsZXNoZWV0VXJsXG4gICAgICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0J1xuICAgICAgbGluay50eXBlID0gJ3RleHQvY3NzJ1xuICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQobGluaylcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2VuZXJhdGVMYWJlbENvbG9yKFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgc2F0dXJhdGlvbjogbnVtYmVyLFxuICAgIGxpZ2h0bmVzczogbnVtYmVyXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGh1ZSA9IDBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxhYmVsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBodWUgKz0gbGFiZWwuY2hhckNvZGVBdChpKVxuICAgIH1cbiAgICByZXR1cm4gY2hyb21hLmhzbChodWUgJSAzNjAsIHNhdHVyYXRpb24sIGxpZ2h0bmVzcykuY3NzKClcbiAgfVxufVxuIl19
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBOztBQUs5QixNQUFNLE9BQU8sWUFBWTtJQUN2Qix1RkFBdUY7SUFDdkYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQzdCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUUvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxZQUFZLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsUUFBUSxJQUFJLE9BQU8sU0FBUyxZQUFZLE9BQU8scUJBQXFCLEtBQUs7aUJBQ3RFLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFBO1lBRVosUUFBUSxJQUFJLGFBQWEsU0FBUyxZQUFZLE9BQU8sNEJBQTRCLEtBQUs7aUJBQ25GLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFB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QixFQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLG1CQUFtQixFQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLGlCQUFpQixFQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RCxDQUFBO1FBQ0QsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO1FBRWpELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckUsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVsQyxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtTQUMzRTtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUN4QyxxQkFBcUIsRUFDckIsU0FBUyxDQUNWLENBQUE7U0FDRjtRQUVELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1lBQzlCLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFBO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFBO1lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQzNCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FDdkIsS0FBYSxFQUNiLFVBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQTtRQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzNCO1FBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQzNELENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQW1CO1FBQ25DLE1BQU0sSUFBSSxHQUNSLFFBQVEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUM7WUFDM0MsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUE7UUFDMUIsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1RCxDQUFDOzhHQWhKVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IGNocm9tYSBmcm9tICdjaHJvbWEtanMnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2Uge1xuICAvLyBGSVhNRTogdGhpcyBzaG91bGRuJ3QgYmUgbmVjZXNzYXJ5LCB0aGUgYXBwIGNvbmZpZyBzaG91bGQgYmUgcmVhZCBpbnN0ZWFkLCB0byByZW1vdmVcbiAgc3RhdGljIGdldENvbG9yKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShgLS1jb2xvci0ke25hbWV9YClcbiAgfVxuXG4gIHN0YXRpYyBnZW5lcmF0ZUJnT3BhY2l0eUNsYXNzZXMoXG4gICAgY29sb3JOYW1lLFxuICAgIGNvbG9yVmFsdWUsXG4gICAgb3BhY2l0aWVzID0gWzAsIDEwLCAyNSwgNTAsIDc1XVxuICApIHtcbiAgICBjb25zdCBjb2xvciA9IGNocm9tYShjb2xvclZhbHVlKVxuICAgIGNvbnN0IHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJylcbiAgICBzdHlsZUVsZW1lbnQuaW5uZXJIVE1MID0gb3BhY2l0aWVzLnJlZHVjZSgoY3NzUnVsZXMsIG9wYWNpdHkpID0+IHtcbiAgICAgIGNzc1J1bGVzICs9IGAuYmctJHtjb2xvck5hbWV9LW9wYWNpdHktJHtvcGFjaXR5fXtiYWNrZ3JvdW5kLWNvbG9yOiR7Y29sb3JcbiAgICAgICAgLmFscGhhKG9wYWNpdHkgLyAxMDApXG4gICAgICAgIC5jc3MoKX07fWBcblxuICAgICAgY3NzUnVsZXMgKz0gYC5ob3Zlci1iZy0ke2NvbG9yTmFtZX0tb3BhY2l0eS0ke29wYWNpdHl9OmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiR7Y29sb3JcbiAgICAgICAgLmFscGhhKG9wYWNpdHkgLyAxMDApXG4gICAgICAgIC5jc3MoKX07fWBcbiAgICAgIHJldHVybiBjc3NSdWxlc1xuICAgIH0sICcnKVxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KVxuICB9XG5cbiAgc3RhdGljIGFwcGx5Q3NzVmFyaWFibGVzKFxuICAgIHByaW1hcnlDb2xvcjogc3RyaW5nLFxuICAgIHNlY29uZGFyeUNvbG9yOiBzdHJpbmcsXG4gICAgbWFpbkNvbG9yOiBzdHJpbmcsXG4gICAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcsXG4gICAgbWFpbkZvbnQ/OiBzdHJpbmcsXG4gICAgdGl0bGVGb250Pzogc3RyaW5nLFxuICAgIGZvbnRzU3R5bGVzaGVldFVybD86IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBhcHBseUNvbG9yID0gKG5hbWU6IHN0cmluZywgY29sb3IpID0+IHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS1jb2xvci0ke25hbWV9YCwgY29sb3IuY3NzKCkpXG4gICAgfVxuXG4gICAgY29uc3QgYmxhY2sgPSBjaHJvbWEoJ2JsYWNrJylcbiAgICBjb25zdCB3aGl0ZSA9IGNocm9tYSgnd2hpdGUnKVxuICAgIGFwcGx5Q29sb3IoJ3ByaW1hcnknLCBjaHJvbWEocHJpbWFyeUNvbG9yKSlcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktbGlnaHRlcicsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1saWdodGVzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS13aGl0ZScsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktZGFya2VyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LWRhcmtlc3QnLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC42KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktYmxhY2snLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC44NSlcbiAgICApXG4gICAgYXBwbHlDb2xvcignc2Vjb25kYXJ5JywgY2hyb21hKHNlY29uZGFyeUNvbG9yKSlcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1saWdodGVyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIHdoaXRlXSkubW9kZSgnbGFiJykoMC4zKVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1saWdodGVzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktd2hpdGUnLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1kYXJrZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWRhcmtlc3QnLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWJsYWNrJyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC44NSlcbiAgICApXG4gICAgYXBwbHlDb2xvcignbWFpbicsIGNocm9tYShtYWluQ29sb3IpKVxuICAgIGFwcGx5Q29sb3IoJ2JhY2tncm91bmQnLCBjaHJvbWEoYmFja2dyb3VuZENvbG9yKSlcblxuICAgIGNvbnN0IHNjYWxlID0gY2hyb21hLnNjYWxlKFtiYWNrZ3JvdW5kQ29sb3IsIG1haW5Db2xvcl0pLm1vZGUoJ2xyZ2InKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNTAnLCBzY2FsZSgwLjA1KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTEwMCcsIHNjYWxlKDAuMSkpXG4gICAgYXBwbHlDb2xvcignZ3JheS0yMDAnLCBzY2FsZSgwLjIpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktMzAwJywgc2NhbGUoMC4zKSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTQwMCcsIHNjYWxlKDAuNCkpXG4gICAgYXBwbHlDb2xvcignZ3JheS01MDAnLCBzY2FsZSgwLjUpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNjAwJywgc2NhbGUoMC42KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTcwMCcsIHNjYWxlKDAuNykpXG4gICAgYXBwbHlDb2xvcignZ3JheS04MDAnLCBzY2FsZSgwLjgpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktOTAwJywgc2NhbGUoMC45KSlcblxuICAgIGlmIChtYWluRm9udCkge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLWZvbnQtZmFtaWx5LW1haW5gLCBtYWluRm9udClcbiAgICB9XG4gICAgaWYgKHRpdGxlRm9udCkge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICBgLS1mb250LWZhbWlseS10aXRsZWAsXG4gICAgICAgIHRpdGxlRm9udFxuICAgICAgKVxuICAgIH1cblxuICAgIGlmIChmb250c1N0eWxlc2hlZXRVcmwpIHtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJylcbiAgICAgIGxpbmsuaHJlZiA9IGZvbnRzU3R5bGVzaGVldFVybFxuICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCdcbiAgICAgIGxpbmsudHlwZSA9ICd0ZXh0L2NzcydcbiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKGxpbmspXG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlTGFiZWxDb2xvcihcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIHNhdHVyYXRpb246IG51bWJlcixcbiAgICBsaWdodG5lc3M6IG51bWJlclxuICApOiBzdHJpbmcge1xuICAgIGxldCBodWUgPSAwXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsYWJlbC5sZW5ndGg7IGkrKykge1xuICAgICAgaHVlICs9IGxhYmVsLmNoYXJDb2RlQXQoaSlcbiAgICB9XG4gICAgcmV0dXJuIGNocm9tYS5oc2woaHVlICUgMzYwLCBzYXR1cmF0aW9uLCBsaWdodG5lc3MpLmNzcygpXG4gIH1cblxuICBzdGF0aWMgc2V0RmF2aWNvbihmYXZpY29uUGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbGluayA9XG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibGlua1tyZWwqPSdpY29uJ11cIikgfHxcbiAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKVxuICAgIGxpbmtbJ3JlbCddID0gJ2ljb24nXG4gICAgbGlua1snaHJlZiddID0gZmF2aWNvblBhdGhcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKGxpbmspXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function normalize(input) {
|
|
2
|
+
return input
|
|
3
|
+
.toLowerCase()
|
|
4
|
+
.normalize('NFD') // explode composite chars (e.g. é) into multiple chars
|
|
5
|
+
.replace(/[\u0300-\u036f]/g, '') // remove accents
|
|
6
|
+
.replace(/œ/g, 'oe') // remove accents
|
|
7
|
+
.replace(/[^a-z0-9\s]/g, ' '); // replace special characters with space
|
|
8
|
+
}
|
|
9
|
+
function asNormalizedParts(input) {
|
|
10
|
+
return normalize(input)
|
|
11
|
+
.split(/\s+/)
|
|
12
|
+
.map((part) => part.trim())
|
|
13
|
+
.filter((part) => part.length > 0);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* This creates a filter function based on a pattern (typically a user-input
|
|
17
|
+
* search text).
|
|
18
|
+
* @param pattern
|
|
19
|
+
*/
|
|
20
|
+
export function createFuzzyFilter(pattern) {
|
|
21
|
+
const patternParts = asNormalizedParts(pattern);
|
|
22
|
+
return (input) => {
|
|
23
|
+
const inputParts = asNormalizedParts(input);
|
|
24
|
+
return patternParts.every((patternPart) => inputParts.some((part) => part.includes(patternPart)));
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnV6enktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMvbGliL3V0aWxzL2Z1enp5LWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxTQUFTLFNBQVMsQ0FBQyxLQUFhO0lBQzlCLE9BQU8sS0FBSztTQUNULFdBQVcsRUFBRTtTQUNiLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyx1REFBdUQ7U0FDeEUsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtTQUNqRCxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLGlCQUFpQjtTQUNyQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFBLENBQUMsd0NBQXdDO0FBQzFFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQWE7SUFDdEMsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ3BCLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDWixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDdEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsT0FBZTtJQUMvQyxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQyxPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDeEMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUN0RCxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgRnV6enlGaWx0ZXIgPSAoaW5wdXQ6IHN0cmluZykgPT4gYm9vbGVhblxuXG5mdW5jdGlvbiBub3JtYWxpemUoaW5wdXQ6IHN0cmluZykge1xuICByZXR1cm4gaW5wdXRcbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5ub3JtYWxpemUoJ05GRCcpIC8vIGV4cGxvZGUgY29tcG9zaXRlIGNoYXJzIChlLmcuIMOpKSBpbnRvIG11bHRpcGxlIGNoYXJzXG4gICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyByZW1vdmUgYWNjZW50c1xuICAgIC5yZXBsYWNlKC/Fky9nLCAnb2UnKSAvLyByZW1vdmUgYWNjZW50c1xuICAgIC5yZXBsYWNlKC9bXmEtejAtOVxcc10vZywgJyAnKSAvLyByZXBsYWNlIHNwZWNpYWwgY2hhcmFjdGVycyB3aXRoIHNwYWNlXG59XG5cbmZ1bmN0aW9uIGFzTm9ybWFsaXplZFBhcnRzKGlucHV0OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBub3JtYWxpemUoaW5wdXQpXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAubWFwKChwYXJ0KSA9PiBwYXJ0LnRyaW0oKSlcbiAgICAuZmlsdGVyKChwYXJ0KSA9PiBwYXJ0Lmxlbmd0aCA+IDApXG59XG5cbi8qKlxuICogVGhpcyBjcmVhdGVzIGEgZmlsdGVyIGZ1bmN0aW9uIGJhc2VkIG9uIGEgcGF0dGVybiAodHlwaWNhbGx5IGEgdXNlci1pbnB1dFxuICogc2VhcmNoIHRleHQpLlxuICogQHBhcmFtIHBhdHRlcm5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1enp5RmlsdGVyKHBhdHRlcm46IHN0cmluZyk6IEZ1enp5RmlsdGVyIHtcbiAgY29uc3QgcGF0dGVyblBhcnRzID0gYXNOb3JtYWxpemVkUGFydHMocGF0dGVybilcbiAgcmV0dXJuIChpbnB1dDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgaW5wdXRQYXJ0cyA9IGFzTm9ybWFsaXplZFBhcnRzKGlucHV0KVxuICAgIHJldHVybiBwYXR0ZXJuUGFydHMuZXZlcnkoKHBhdHRlcm5QYXJ0KSA9PlxuICAgICAgaW5wdXRQYXJ0cy5zb21lKChwYXJ0KSA9PiBwYXJ0LmluY2x1ZGVzKHBhdHRlcm5QYXJ0KSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,4 +5,5 @@ export * from './geojson';
|
|
|
5
5
|
export * from './sort-by';
|
|
6
6
|
export * from './url';
|
|
7
7
|
export * from './event';
|
|
8
|
-
|
|
8
|
+
export * from './fuzzy-filter';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLE9BQU8sQ0FBQTtBQUNyQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLGdCQUFnQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXJzZSdcbmV4cG9ydCAqIGZyb20gJy4vc3RyaXAtaHRtbCdcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLXdoaXRlc3BhY2UnXG5leHBvcnQgKiBmcm9tICcuL2dlb2pzb24nXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtYnknXG5leHBvcnQgKiBmcm9tICcuL3VybCdcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQnXG5leHBvcnQgKiBmcm9tICcuL2Z1enp5LWZpbHRlcidcbiJdfQ==
|
|
@@ -16,20 +16,20 @@
|
|
|
16
16
|
"chart.type.line": "Liniendiagramm",
|
|
17
17
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
18
18
|
"chart.type.pie": "Kreisdiagramm",
|
|
19
|
-
"dashboard.labels.mySpace": "",
|
|
20
|
-
"dashboard.records.all": "",
|
|
21
|
-
"dashboard.records.myDraft": "",
|
|
22
|
-
"dashboard.records.myLibrary": "",
|
|
23
|
-
"dashboard.records.myOrg": "",
|
|
24
|
-
"dashboard.records.myRecords": "",
|
|
25
|
-
"dashboard.records.noRecord": "",
|
|
26
|
-
"dashboard.records.noUser": "",
|
|
27
|
-
"dashboard.records.publishedRecords": "",
|
|
28
|
-
"dashboard.records.search": "",
|
|
29
|
-
"dashboard.records.userDetail": "",
|
|
30
|
-
"dashboard.records.userEmail": "",
|
|
31
|
-
"dashboard.records.username": "",
|
|
32
|
-
"dashboard.records.users": "",
|
|
19
|
+
"dashboard.labels.mySpace": "Mein Bereich",
|
|
20
|
+
"dashboard.records.all": "Katalog",
|
|
21
|
+
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
22
|
+
"dashboard.records.myLibrary": "Meine Bibliothek",
|
|
23
|
+
"dashboard.records.myOrg": "Meine Organisation",
|
|
24
|
+
"dashboard.records.myRecords": "Meine Datensätze",
|
|
25
|
+
"dashboard.records.noRecord": "Kein Datensatz für diese Organisation",
|
|
26
|
+
"dashboard.records.noUser": "Keine Benutzer für diese Organisation",
|
|
27
|
+
"dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
|
|
28
|
+
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
29
|
+
"dashboard.records.userDetail": "Name",
|
|
30
|
+
"dashboard.records.userEmail": "E-Mail",
|
|
31
|
+
"dashboard.records.username": "Benutzername",
|
|
32
|
+
"dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
|
|
33
33
|
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
|
|
34
34
|
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
|
|
35
35
|
"datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
|
|
44
44
|
"datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
|
|
45
45
|
"datafeeder.form.dropdown": "Für welche Skala wurde er erstellt?",
|
|
46
|
-
"datafeeder.form.tags": "Wählen Sie einen oder mehrere
|
|
46
|
+
"datafeeder.form.tags": "Wählen Sie einen oder mehrere Tage aus, die zu Ihrem Datensatz passen",
|
|
47
47
|
"datafeeder.form.title": "Geben Sie Ihrem Datensatz den besten Titel",
|
|
48
48
|
"datafeeder.formsPage.title": "Erzählen Sie uns mehr über Ihren Datensatz",
|
|
49
49
|
"datafeeder.month.april": "April",
|
|
@@ -58,16 +58,16 @@
|
|
|
58
58
|
"datafeeder.month.november": "November",
|
|
59
59
|
"datafeeder.month.october": "Oktober",
|
|
60
60
|
"datafeeder.month.september": "September",
|
|
61
|
-
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist",
|
|
62
|
-
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz zum Veröffentlichen?",
|
|
61
|
+
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist.",
|
|
62
|
+
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz \n zum Veröffentlichen?",
|
|
63
63
|
"datafeeder.publish.subtitle": "Das Veröffentlichen kann einige Minuten dauern.",
|
|
64
|
-
"datafeeder.publish.title": "Vielen Dank! Ihr Datensatz wird veröffentlicht",
|
|
64
|
+
"datafeeder.publish.title": "Vielen Dank! \n Ihr Datensatz wird veröffentlicht",
|
|
65
65
|
"datafeeder.publish.upload": "Jetzt hochladen",
|
|
66
66
|
"datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
|
|
67
67
|
"datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
|
|
68
68
|
"datafeeder.publishSuccess.mapViewer": "Kartenviewer",
|
|
69
69
|
"datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
|
|
70
|
-
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! Ihr Datensatz wurde veröffentlicht",
|
|
70
|
+
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
|
|
71
71
|
"datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
|
|
72
72
|
"datafeeder.summarizePage.illustration": "Kein Fehler? Los geht's!",
|
|
73
73
|
"datafeeder.summarizePage.previous": "Zurück",
|
|
@@ -75,11 +75,11 @@
|
|
|
75
75
|
"datafeeder.summarizePage.title": "Sie sind fast fertig...",
|
|
76
76
|
"datafeeder.upload.acceptedFormats": "Akzeptierte Dateiformate:",
|
|
77
77
|
"datafeeder.upload.checkboxLabel": "Ich besitze die Rechte zur Veröffentlichung dieses Datensatzes",
|
|
78
|
-
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen
|
|
78
|
+
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geografischen Datensatz enthält",
|
|
79
79
|
"datafeeder.upload.error.subtitle.cantOpenFile": "Bitte überprüfen Sie, ob die Datei gültig ist",
|
|
80
80
|
"datafeeder.upload.error.subtitle.fileFormat": "Beachten Sie: Nur SHP-Dateien",
|
|
81
|
-
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie:
|
|
82
|
-
"datafeeder.upload.error.title.analysis": "Fehler
|
|
81
|
+
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximale Dateigröße {size} MB",
|
|
82
|
+
"datafeeder.upload.error.title.analysis": "Fehler während der Datensatzanalyse",
|
|
83
83
|
"datafeeder.upload.error.title.cantOpenFile": "Fehler beim Öffnen der Datei",
|
|
84
84
|
"datafeeder.upload.error.title.fileFormat": "Das ausgewählte Dateiformat wird nicht unterstützt",
|
|
85
85
|
"datafeeder.upload.error.title.fileHasntSelected": "Keine Datei ausgewählt",
|
|
@@ -87,19 +87,19 @@
|
|
|
87
87
|
"datafeeder.upload.error.title.noRightsToSendData": "Sie dürfen diesen Datensatz nicht veröffentlichen",
|
|
88
88
|
"datafeeder.upload.illustration.enrichment": "Anreicherung",
|
|
89
89
|
"datafeeder.upload.illustration.import": "Import",
|
|
90
|
-
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten war noch nie
|
|
90
|
+
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten \n war noch nie so einfach",
|
|
91
91
|
"datafeeder.upload.illustration.validation": "Validierung",
|
|
92
|
-
"datafeeder.upload.illustration.verification": "
|
|
92
|
+
"datafeeder.upload.illustration.verification": "Überprüfung",
|
|
93
93
|
"datafeeder.upload.inputLabel": "Importieren Sie Ihre Datei",
|
|
94
94
|
"datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
|
|
95
95
|
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
96
96
|
"datafeeder.upload.uploadButton": "Hochladen",
|
|
97
|
-
"datafeeder.validation.encoding": "
|
|
97
|
+
"datafeeder.validation.encoding": "Codierung",
|
|
98
98
|
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
99
99
|
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
100
100
|
"datafeeder.validation.projection": "Raumbezugssystem:",
|
|
101
|
-
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem",
|
|
102
|
-
"datafeeder.validation.sample.title": "Und eine
|
|
101
|
+
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem aus",
|
|
102
|
+
"datafeeder.validation.sample.title": "Und eine Beispielentität aus dem Datensatz",
|
|
103
103
|
"datafeeder.wizard.emptyRequiredValuesMessage": "Bitte füllen Sie die obligatorischen Felder aus",
|
|
104
104
|
"datafeeder.wizardSummarize.createdAt": "Erstellt am",
|
|
105
105
|
"datafeeder.wizardSummarize.scale": "Maßstab",
|
|
@@ -109,16 +109,20 @@
|
|
|
109
109
|
"datahub.header.news": "Startseite",
|
|
110
110
|
"datahub.header.organisations": "Organisationen",
|
|
111
111
|
"datahub.header.popularRecords": "Die beliebtesten",
|
|
112
|
-
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten
|
|
112
|
+
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
|
|
113
|
+
"datahub.news.contact.contactus": "Kontaktieren Sie uns",
|
|
114
|
+
"datahub.news.contact.html": "<p>Brauchen Sie Daten, die derzeit nicht auf der Plattform vorhanden sind?</p><p>Unsere Teams stehen Ihnen zur Verfügung.</p>",
|
|
115
|
+
"datahub.news.contact.title": "Ein spezielles Bedürfnis?",
|
|
113
116
|
"datahub.news.feed": "Nachrichtenfeed",
|
|
114
117
|
"datahub.news.figures": "Indikatoren",
|
|
115
|
-
"datahub.
|
|
118
|
+
"datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
|
|
119
|
+
"datahub.search.back": "Zurück",
|
|
116
120
|
"datahub.search.filter.all": "Alle",
|
|
117
|
-
"datahub.search.filter.generatedByWfs": "Generiert durch API",
|
|
121
|
+
"datahub.search.filter.generatedByWfs": "Generiert durch eine API",
|
|
118
122
|
"datahub.search.filter.others": "Andere",
|
|
119
123
|
"dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
|
|
120
124
|
"dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
|
|
121
|
-
"dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht
|
|
125
|
+
"dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
|
|
122
126
|
"dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
|
|
123
127
|
"dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
|
|
124
128
|
"domain.record.status.completed": "Abgeschlossen",
|
|
@@ -126,18 +130,18 @@
|
|
|
126
130
|
"domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
|
|
127
131
|
"domain.record.status.removed": "Entfernt",
|
|
128
132
|
"domain.record.status.under_development": "In Erstellung",
|
|
129
|
-
"domain.record.updateFrequency.asNeeded": "
|
|
130
|
-
"domain.record.updateFrequency.continual": "
|
|
133
|
+
"domain.record.updateFrequency.asNeeded": "Nach Bedarf",
|
|
134
|
+
"domain.record.updateFrequency.continual": "Fortlaufend",
|
|
131
135
|
"domain.record.updateFrequency.day": "{count, plural, =0{0} one{Ein} other{{count}}} mal am Tag",
|
|
132
|
-
"domain.record.updateFrequency.irregular": "
|
|
136
|
+
"domain.record.updateFrequency.irregular": "Unregelmäßig",
|
|
133
137
|
"domain.record.updateFrequency.month": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Monat",
|
|
134
138
|
"domain.record.updateFrequency.notPlanned": "Nicht geplant",
|
|
135
|
-
"domain.record.updateFrequency.periodic": "
|
|
139
|
+
"domain.record.updateFrequency.periodic": "Regelmäßig",
|
|
136
140
|
"domain.record.updateFrequency.unknown": "Unbekannt",
|
|
137
141
|
"domain.record.updateFrequency.week": "{count, plural, =0{0} one{Ein} other{{count}}} mal in der Woche",
|
|
138
142
|
"domain.record.updateFrequency.year": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Jahr",
|
|
139
143
|
"downloads.format.unknown": "unbekannt",
|
|
140
|
-
"downloads.wfs.featuretype.not.found": "
|
|
144
|
+
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
141
145
|
"dropFile": "Datei ablegen",
|
|
142
146
|
"externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
|
|
143
147
|
"facets.block.title.OrgForResource": "Organisation",
|
|
@@ -172,10 +176,18 @@
|
|
|
172
176
|
"map.add.layer.file": "Aus einer Datei",
|
|
173
177
|
"map.add.layer.wfs": "Aus WFS",
|
|
174
178
|
"map.add.layer.wms": "Aus WMS",
|
|
179
|
+
"map.addFromFile.placeholder": "Klicke hier oder ziehe eine Datei herein",
|
|
180
|
+
"map.geocoding.placeholder": "",
|
|
181
|
+
"map.help.addFromFile": "Klicke oder ziehe eine Datei herein um eine Karte hinzuzufügen (momentan wird nur das GeoJSON-Format unterstützt).",
|
|
182
|
+
"map.layer.add": "Hinzufügen",
|
|
183
|
+
"map.layers.available": "Verfügbare Layer",
|
|
175
184
|
"map.layers.list": "Ebenen",
|
|
176
185
|
"map.loading.data": "Kartendaten werden geladen...",
|
|
186
|
+
"map.loading.service": "Dienst wird geladen...",
|
|
177
187
|
"map.navigation.message": "Bitte verwenden Sie STRG + Maus (oder zwei Finger auf einem Mobilgerät), um die Karte zu navigieren",
|
|
178
188
|
"map.select.layer": "Datenquelle",
|
|
189
|
+
"map.wfs.urlInput.hint": "Geben Sie die WFS URL ein",
|
|
190
|
+
"map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
|
|
179
191
|
"multiselect.filter.placeholder": "Suche",
|
|
180
192
|
"nav.back": "Zurück",
|
|
181
193
|
"next": "weiter",
|
|
@@ -191,56 +203,61 @@
|
|
|
191
203
|
"pagination.pageOf": "von",
|
|
192
204
|
"previous": "zurück",
|
|
193
205
|
"record.action.download": "Herunterladen",
|
|
194
|
-
"record.action.view": "
|
|
206
|
+
"record.action.view": "Anzeigen",
|
|
195
207
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
196
208
|
"record.metadata.about": "Beschreibung",
|
|
197
209
|
"record.metadata.api": "API",
|
|
198
|
-
"record.metadata.api.form.closeButton": "",
|
|
199
|
-
"record.metadata.api.form.closeForm": "",
|
|
200
|
-
"record.metadata.api.form.create": "",
|
|
201
|
-
"record.metadata.api.form.customUrl": "",
|
|
202
|
-
"record.metadata.api.form.limit": "",
|
|
203
|
-
"record.metadata.api.form.limit.all": "",
|
|
204
|
-
"record.metadata.api.form.offset": "",
|
|
205
|
-
"record.metadata.api.form.openForm": "",
|
|
206
|
-
"record.metadata.api.form.reset": "",
|
|
207
|
-
"record.metadata.api.form.title": "",
|
|
208
|
-
"record.metadata.api.form.type": "",
|
|
209
|
-
"record.metadata.author": "",
|
|
210
|
+
"record.metadata.api.form.closeButton": "Schließen",
|
|
211
|
+
"record.metadata.api.form.closeForm": "Formular schließen",
|
|
212
|
+
"record.metadata.api.form.create": "Ihre Anfrage erstellen",
|
|
213
|
+
"record.metadata.api.form.customUrl": "Benutzerdefinierte URL",
|
|
214
|
+
"record.metadata.api.form.limit": "Anzahl der Datensätze",
|
|
215
|
+
"record.metadata.api.form.limit.all": "Alle",
|
|
216
|
+
"record.metadata.api.form.offset": "Anzahl des ersten Datensatzes",
|
|
217
|
+
"record.metadata.api.form.openForm": "Formular öffnen",
|
|
218
|
+
"record.metadata.api.form.reset": "Zurücksetzen",
|
|
219
|
+
"record.metadata.api.form.title": "Benutzerdefinierte URL generieren",
|
|
220
|
+
"record.metadata.api.form.type": "Ausgabeformat",
|
|
221
|
+
"record.metadata.author": "Autor",
|
|
210
222
|
"record.metadata.catalog": "Katalog",
|
|
211
223
|
"record.metadata.contact": "Kontakt",
|
|
212
224
|
"record.metadata.createdOn": "Erstellt am",
|
|
213
|
-
"record.metadata.details": "
|
|
225
|
+
"record.metadata.details": "Technische Informationen",
|
|
214
226
|
"record.metadata.download": "Downloads",
|
|
215
|
-
"record.metadata.formats": "",
|
|
227
|
+
"record.metadata.formats": "Formate",
|
|
216
228
|
"record.metadata.isOpenData": "Open Data",
|
|
217
229
|
"record.metadata.keywords": "Stichworte",
|
|
230
|
+
"record.metadata.lastUpdate": "Zuletzt aktualisiert am",
|
|
218
231
|
"record.metadata.links": "Links",
|
|
219
|
-
"record.metadata.noUsage": "Für diesen Datensatz sind keine
|
|
232
|
+
"record.metadata.noUsage": "Für diesen Datensatz sind keine Nutzungsbedingungen angegeben.",
|
|
220
233
|
"record.metadata.origin": "Über die Daten",
|
|
234
|
+
"record.metadata.owner": "",
|
|
221
235
|
"record.metadata.preview": "Vorschau",
|
|
222
236
|
"record.metadata.publications": "Veröffentlichungen",
|
|
223
|
-
"record.metadata.quality": "",
|
|
224
|
-
"record.metadata.quality.contact.failed": "",
|
|
225
|
-
"record.metadata.quality.contact.success": "",
|
|
226
|
-
"record.metadata.quality.description.failed": "",
|
|
227
|
-
"record.metadata.quality.description.success": "",
|
|
228
|
-
"record.metadata.quality.details": "",
|
|
229
|
-
"record.metadata.quality.keywords.failed": "",
|
|
230
|
-
"record.metadata.quality.keywords.success": "",
|
|
231
|
-
"record.metadata.quality.legalConstraints.failed": "",
|
|
232
|
-
"record.metadata.quality.legalConstraints.success": "",
|
|
233
|
-
"record.metadata.quality.organisation.failed": "",
|
|
234
|
-
"record.metadata.quality.organisation.success": "",
|
|
235
|
-
"record.metadata.quality.title.failed": "",
|
|
236
|
-
"record.metadata.quality.title.success": "",
|
|
237
|
-
"record.metadata.quality.topic.failed": "",
|
|
238
|
-
"record.metadata.quality.topic.success": "",
|
|
239
|
-
"record.metadata.quality.updateFrequency.failed": "",
|
|
240
|
-
"record.metadata.quality.updateFrequency.success": "",
|
|
237
|
+
"record.metadata.quality": "Metadatenqualität",
|
|
238
|
+
"record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
|
|
239
|
+
"record.metadata.quality.contact.success": "Kontakt angegeben",
|
|
240
|
+
"record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
|
|
241
|
+
"record.metadata.quality.description.success": "Beschreibung angegeben",
|
|
242
|
+
"record.metadata.quality.details": "Details",
|
|
243
|
+
"record.metadata.quality.keywords.failed": "Schlagwörter nicht angegeben",
|
|
244
|
+
"record.metadata.quality.keywords.success": "Schlagwörter angegeben",
|
|
245
|
+
"record.metadata.quality.legalConstraints.failed": "Rechtliche Beschränkungen nicht angegeben",
|
|
246
|
+
"record.metadata.quality.legalConstraints.success": "Rechtliche Beschränkungen angegeben",
|
|
247
|
+
"record.metadata.quality.organisation.failed": "Organisation nicht angegeben",
|
|
248
|
+
"record.metadata.quality.organisation.success": "Organisation angegeben",
|
|
249
|
+
"record.metadata.quality.title.failed": "Titel nicht angegeben",
|
|
250
|
+
"record.metadata.quality.title.success": "Titel angegeben",
|
|
251
|
+
"record.metadata.quality.topic.failed": "Thema nicht angegeben",
|
|
252
|
+
"record.metadata.quality.topic.success": "Thema angegeben",
|
|
253
|
+
"record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
|
|
254
|
+
"record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
|
|
241
255
|
"record.metadata.related": "Ähnliche Datensätze",
|
|
242
|
-
"record.metadata.sheet": "Weitere Informationen
|
|
256
|
+
"record.metadata.sheet": "Weitere Informationen verfügbar unter:",
|
|
257
|
+
"record.metadata.themes": "Kategorien",
|
|
243
258
|
"record.metadata.title": "Titel",
|
|
259
|
+
"record.metadata.type": "Geographischer Datensatz",
|
|
260
|
+
"record.metadata.uniqueId": "Eindeutige Kennung",
|
|
244
261
|
"record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
|
|
245
262
|
"record.metadata.updateStatus": "Aktualisierungsstatus der Daten",
|
|
246
263
|
"record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
|
|
@@ -252,23 +269,23 @@
|
|
|
252
269
|
"record.was.created.time": "erstellte diesen Datensatz {time}",
|
|
253
270
|
"records": "Datensätze",
|
|
254
271
|
"results.layout.selectOne": "Layout auswählen",
|
|
255
|
-
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{
|
|
256
|
-
"results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie
|
|
272
|
+
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
|
|
273
|
+
"results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie es mit anderen Worten</li><li>Beschränken Sie die Suchwörter</li></ul>",
|
|
257
274
|
"results.records.hits.found": "{hits, plural, =0{Keine Dokumente entsprechen der angegebenen Suche.} one{1 Datensatz gefunden.} other{{hits} Datensätze gefunden.}}",
|
|
258
|
-
"results.records.hits.selected": "",
|
|
275
|
+
"results.records.hits.selected": "{ amount } ausgewählt",
|
|
259
276
|
"results.showMore": "Mehr Ergebnisse anzeigen...",
|
|
260
|
-
"results.sortBy.dateStamp": "
|
|
277
|
+
"results.sortBy.dateStamp": "Neueste",
|
|
261
278
|
"results.sortBy.popularity": "Beliebtheit",
|
|
262
|
-
"results.sortBy.qualityScore": "",
|
|
279
|
+
"results.sortBy.qualityScore": "Qualitätsbewertung",
|
|
263
280
|
"results.sortBy.relevancy": "Relevanz",
|
|
264
281
|
"search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
|
|
265
282
|
"search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
|
|
266
|
-
"search.error.receivedError": "Ein Fehler
|
|
283
|
+
"search.error.receivedError": "Ein Fehler ist aufgetreten",
|
|
267
284
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
268
|
-
"search.field.any.placeholder": "Suche
|
|
285
|
+
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
269
286
|
"search.field.sortBy": "Sortieren nach:",
|
|
270
287
|
"search.filters.clear": "Zurücksetzen",
|
|
271
|
-
"search.filters.contact": "
|
|
288
|
+
"search.filters.contact": "Kontakte",
|
|
272
289
|
"search.filters.format": "Formate",
|
|
273
290
|
"search.filters.inspireKeyword": "INSPIRE-Schlüsselwort",
|
|
274
291
|
"search.filters.isSpatial": "Ist räumliche Daten",
|
|
@@ -286,13 +303,13 @@
|
|
|
286
303
|
"search.filters.license.unknown": "Unbekannt oder nicht vorhanden",
|
|
287
304
|
"search.filters.maximize": "Erweitern",
|
|
288
305
|
"search.filters.minimize": "Minimieren",
|
|
289
|
-
"search.filters.myRecords": "",
|
|
290
|
-
"search.filters.myRecordsHelp": "",
|
|
291
|
-
"search.filters.otherRecords": "",
|
|
306
|
+
"search.filters.myRecords": "Nur meine Datensätze anzeigen",
|
|
307
|
+
"search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Datensätze angezeigt; Datensätze, die von anderen erstellt wurden, werden nicht angezeigt.",
|
|
308
|
+
"search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
|
|
292
309
|
"search.filters.publicationYear": "Veröffentlichungsjahr",
|
|
293
310
|
"search.filters.publisher": "Organisationen",
|
|
294
|
-
"search.filters.representationType": "",
|
|
295
|
-
"search.filters.resourceType": "",
|
|
311
|
+
"search.filters.representationType": "Repräsentationstyp",
|
|
312
|
+
"search.filters.resourceType": "Ressourcentyp",
|
|
296
313
|
"search.filters.standard": "Standard",
|
|
297
314
|
"search.filters.title": "Ergebnisse filtern",
|
|
298
315
|
"search.filters.topic": "Thema",
|
|
@@ -304,6 +321,7 @@
|
|
|
304
321
|
"table.object.count": "Objekte in diesem Datensatz",
|
|
305
322
|
"table.select.data": "Datenquelle",
|
|
306
323
|
"tooltip.html.copy": "HTML kopieren",
|
|
324
|
+
"tooltip.id.copy": "",
|
|
307
325
|
"tooltip.url.copy": "URL kopieren",
|
|
308
326
|
"tooltip.url.open": "URL öffnen",
|
|
309
327
|
"ui.readLess": "Weniger lesen",
|