geonetwork-ui 2.1.0 → 2.2.0-dev.0eef2738
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/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/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 +11 -2
- 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 +3 -1
- 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 +13 -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/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/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/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/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 +101 -84
- package/esm2022/translations/en.json +39 -22
- package/esm2022/translations/es.json +17 -0
- package/esm2022/translations/fr.json +25 -8
- package/esm2022/translations/it.json +26 -6
- package/esm2022/translations/nl.json +17 -0
- package/esm2022/translations/pt.json +17 -0
- package/fesm2022/geonetwork-ui.mjs +634 -233
- 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/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/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 +15 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- 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 +2 -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/form-field/form-field.component.d.ts +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/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 +8 -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/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/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 +6 -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 +2 -0
- 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 +6 -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/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/layout/src/lib/carousel/carousel.component.css +1 -1
- 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/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 +101 -84
- package/translations/en.json +39 -22
- package/translations/es.json +17 -0
- package/translations/fr.json +25 -8
- package/translations/it.json +26 -6
- package/translations/nl.json +17 -0
- package/translations/pt.json +17 -0
- package/translations/sk.json +17 -0
package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs
CHANGED
|
@@ -27,7 +27,7 @@ export class RecordPreviewFeedComponent extends RecordPreviewComponent {
|
|
|
27
27
|
return this.timeFormat.format(this.record.recordCreated, Date.now());
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, decorators: [{
|
|
33
33
|
type: Component,
|
package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import * as i2 from "@ngx-translate/core";
|
|
|
6
6
|
import * as i3 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
|
|
7
7
|
export class RecordPreviewListComponent extends RecordPreviewComponent {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">, </span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">, </span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
@@ -11,7 +11,7 @@ export class RecordPreviewRowComponent extends RecordPreviewComponent {
|
|
|
11
11
|
this.elementRef = elementRef;
|
|
12
12
|
}
|
|
13
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, decorators: [{
|
|
17
17
|
type: Component,
|
package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
|
|
5
5
|
export class RecordPreviewTitleComponent extends RecordPreviewComponent {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
@@ -67,6 +67,7 @@ export function loadAppConfig() {
|
|
|
67
67
|
'login_url',
|
|
68
68
|
'web_component_embedder_url',
|
|
69
69
|
'languages',
|
|
70
|
+
'contact_email',
|
|
70
71
|
], warnings, errors);
|
|
71
72
|
if (parsedGlobalSection?.metadata_language) {
|
|
72
73
|
parsedGlobalSection = checkMetadataLanguage(parsedGlobalSection, warnings);
|
|
@@ -84,6 +85,7 @@ export function loadAppConfig() {
|
|
|
84
85
|
LOGIN_URL: parsedGlobalSection.login_url,
|
|
85
86
|
WEB_COMPONENT_EMBEDDER_URL: parsedGlobalSection.web_component_embedder_url,
|
|
86
87
|
LANGUAGES: parsedGlobalSection.languages,
|
|
88
|
+
CONTACT_EMAIL: parsedGlobalSection.contact_email,
|
|
87
89
|
};
|
|
88
90
|
const parsedLayersSections = parseMultiConfigSection(parsed, 'map_layer', ['type'], ['name', 'url', 'data'], warnings, errors);
|
|
89
91
|
const parsedMapSection = parseConfigSection(parsed, 'map', [], [
|
|
@@ -117,6 +119,7 @@ export function loadAppConfig() {
|
|
|
117
119
|
'fonts_stylesheet_url',
|
|
118
120
|
'thumbnail_placeholder',
|
|
119
121
|
'header_background',
|
|
122
|
+
'favicon',
|
|
120
123
|
], warnings, errors);
|
|
121
124
|
themeConfig =
|
|
122
125
|
parsedThemeSection === null
|
|
@@ -132,6 +135,7 @@ export function loadAppConfig() {
|
|
|
132
135
|
TITLE_FONT: parsedThemeSection.title_font,
|
|
133
136
|
MAIN_FONT: parsedThemeSection.main_font,
|
|
134
137
|
FONTS_STYLESHEET_URL: parsedThemeSection.fonts_stylesheet_url,
|
|
138
|
+
FAVICON: parsedThemeSection.favicon,
|
|
135
139
|
};
|
|
136
140
|
const parsedSearchSection = parseConfigSection(parsed, 'search', [], [
|
|
137
141
|
'filter_geometry_data',
|
|
@@ -195,4 +199,4 @@ export const TRANSLATE_WITH_OVERRIDES_CONFIG = {
|
|
|
195
199
|
deps: [HttpClient],
|
|
196
200
|
},
|
|
197
201
|
};
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFD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QU8sZUFBZSxDQUFBO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTTtJQUNwQixZQUFZLEdBQUcsSUFBSSxDQUFBO0lBQ25CLFdBQVcsR0FBRyxJQUFJLENBQUE7SUFDbEIsa0JBQWtCLEdBQUcsSUFBSSxDQUFBO0FBQzNCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUM3QyxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsU0FBUyxpQkFBaUIsQ0FBQyxJQUFnQjtZQUNyRCxPQUFPLElBQUksZ0NBQWdDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUE7UUFDckUsQ0FBQztRQUNELGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUNuQjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUT01MIGZyb20gJ0BsdGQvai10b21sJ1xuaW1wb3J0IHtcbiAgY2hlY2tNZXRhZGF0YUxhbmd1YWdlLFxuICBwYXJzZUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlTXVsdGlDb25maWdTZWN0aW9uLFxuICBwYXJzZVRyYW5zbGF0aW9uc0NvbmZpZ1NlY3Rpb24sXG59IGZyb20gJy4vcGFyc2UtdXRpbHMnXG5pbXBvcnQge1xuICBDdXN0b21UcmFuc2xhdGlvbnMsXG4gIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyxcbiAgR2xvYmFsQ29uZmlnLFxuICBMYXllckNvbmZpZyxcbiAgTWFwQ29uZmlnLFxuICBNZXRhZGF0YVF1YWxpdHlDb25maWcsXG4gIFNlYXJjaENvbmZpZyxcbiAgVGhlbWVDb25maWcsXG59IGZyb20gJy4vbW9kZWwnXG5pbXBvcnQgeyBUcmFuc2xhdGVDb21waWxlciwgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlciB9IGZyb20gJ25neC10cmFuc2xhdGUtbWVzc2FnZWZvcm1hdC1jb21waWxlcidcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IERFRkFVTFRfTEFORyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9pMThuL3NyYydcbmltcG9ydCB7IEZpbGVXaXRoT3ZlcnJpZGVzVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnLi9pMThuL2ZpbGUtd2l0aC1vdmVycmlkZXMudHJhbnNsYXRlLmxvYWRlcidcblxuY29uc3QgTUlTU0lOR19DT05GSUdfRVJST1IgPSBgQXBwbGljYXRpb24gY29uZmlndXJhdGlvbiB3YXMgbm90IGluaXRpYWxpemVkIGNvcnJlY3RseS5cblRoaXMgZXJyb3IgbWlnaHQgc2hvdyB1cCBpbiBjYXNlIG9mIGFuIGludmFsaWQvbWFsZm9ybWVkIGNvbmZpZ3VyYXRpb24gZmlsZS5cblxuTm90ZTogbWFrZSBzdXJlIHRoYXQgeW91IGhhdmUgY2FsbGVkIFxcYGxvYWRBcHBDb25maWdcXGAgZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2FwcC1jb25maWcvc3JjJyBiZWZvcmUgc3RhcnRpbmcgdGhlIEFuZ3VsYXIgYXBwbGljYXRpb24uYFxuXG5sZXQgZ2xvYmFsQ29uZmlnOiBHbG9iYWxDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxDb25maWcoKTogR2xvYmFsQ29uZmlnIHtcbiAgaWYgKGdsb2JhbENvbmZpZyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gZ2xvYmFsQ29uZmlnXG59XG5cbmxldCB0aGVtZUNvbmZpZzogVGhlbWVDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaGVtZUNvbmZpZygpOiBUaGVtZUNvbmZpZyB7XG4gIGlmICh0aGVtZUNvbmZpZyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gdGhlbWVDb25maWdcbn1cblxubGV0IG1hcENvbmZpZzogTWFwQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uYWxNYXBDb25maWcoKTogTWFwQ29uZmlnIHwgbnVsbCB7XG4gIHJldHVybiBtYXBDb25maWdcbn1cblxubGV0IHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uYWxTZWFyY2hDb25maWcoKTogU2VhcmNoQ29uZmlnIHwgbnVsbCB7XG4gIHJldHVybiBzZWFyY2hDb25maWdcbn1cblxubGV0IG1ldGFkYXRhUXVhbGl0eUNvbmZpZzogTWV0YWRhdGFRdWFsaXR5Q29uZmlnID0gbnVsbFxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ldGFkYXRhUXVhbGl0eUNvbmZpZygpOiBNZXRhZGF0YVF1YWxpdHlDb25maWcge1xuICByZXR1cm4gKFxuICAgIG1ldGFkYXRhUXVhbGl0eUNvbmZpZyB8fFxuICAgICh7XG4gICAgICBFTkFCTEVEOiBmYWxzZSxcbiAgICB9IGFzIE1ldGFkYXRhUXVhbGl0eUNvbmZpZylcbiAgKVxufVxuXG5sZXQgY3VzdG9tVHJhbnNsYXRpb25zOiBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXN0b21UcmFuc2xhdGlvbnMobGFuZ0NvZGU6IHN0cmluZyk6IEN1c3RvbVRyYW5zbGF0aW9ucyB7XG4gIGlmIChjdXN0b21UcmFuc2xhdGlvbnMgPT09IG51bGwpIHRocm93IG5ldyBFcnJvcihNSVNTSU5HX0NPTkZJR19FUlJPUilcbiAgcmV0dXJuIGxhbmdDb2RlIGluIGN1c3RvbVRyYW5zbGF0aW9ucyA/IGN1c3RvbVRyYW5zbGF0aW9uc1tsYW5nQ29kZV0gOiB7fVxufVxuXG5sZXQgYXBwQ29uZmlnTG9hZGVkID0gZmFsc2VcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBcHBDb25maWcoKSB7XG4gIHJldHVybiBmZXRjaCgnYXNzZXRzL2NvbmZpZ3VyYXRpb24vZGVmYXVsdC50b21sJylcbiAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgaWYgKCFyZXNwLm9rKSB0aHJvdyBuZXcgRXJyb3IoJ0NvbmZpZ3VyYXRpb24gZmlsZSBjb3VsZCBub3QgYmUgbG9hZGVkJylcbiAgICAgIHJldHVybiByZXNwLnRleHQoKVxuICAgIH0pXG4gICAgLnRoZW4oKGNvbmYpID0+IHtcbiAgICAgIGxldCBwYXJzZWRcbiAgICAgIHRyeSB7XG4gICAgICAgIHBhcnNlZCA9IFRPTUwucGFyc2UoY29uZiwgeyBqb2luZXI6ICdcXG4nLCBiaWdpbnQ6IGZhbHNlIH0pIGFzIGFueVxuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hlbiBwYXJzaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGU6ICR7ZS5tZXNzYWdlfWBcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgY29uc3QgZXJyb3JzID0gW11cbiAgICAgIGNvbnN0IHdhcm5pbmdzID0gW11cblxuICAgICAgbGV0IHBhcnNlZEdsb2JhbFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ2dsb2JhbCcsXG4gICAgICAgIFsnZ2VvbmV0d29yazRfYXBpX3VybCddLFxuICAgICAgICBbXG4gICAgICAgICAgJ2RhdGFodWJfdXJsJyxcbiAgICAgICAgICAncHJveHlfcGF0aCcsXG4gICAgICAgICAgJ21ldGFkYXRhX2xhbmd1YWdlJyxcbiAgICAgICAgICAnbG9naW5fdXJsJyxcbiAgICAgICAgICAnd2ViX2NvbXBvbmVudF9lbWJlZGRlcl91cmwnLFxuICAgICAgICAgICdsYW5ndWFnZXMnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgIH0gYXMgR2xvYmFsQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRMYXllcnNTZWN0aW9ucyA9IHBhcnNlTXVsdGlDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdtYXBfbGF5ZXInLFxuICAgICAgICBbJ3R5cGUnXSxcbiAgICAgICAgWyduYW1lJywgJ3VybCcsICdkYXRhJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIGNvbnN0IHBhcnNlZE1hcFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ21heF96b29tJyxcbiAgICAgICAgICAnbWF4X2V4dGVudCcsXG4gICAgICAgICAgJ2Jhc2VsYXllcicsXG4gICAgICAgICAgJ2RvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwJyxcbiAgICAgICAgICAnZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZScsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWInLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBtYXBDb25maWcgPVxuICAgICAgICBwYXJzZWRNYXBTZWN0aW9uID09PSBudWxsIHx8IHBhcnNlZExheWVyc1NlY3Rpb25zID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBNQVhfWk9PTTogcGFyc2VkTWFwU2VjdGlvbi5tYXhfem9vbSxcbiAgICAgICAgICAgICAgTUFYX0VYVEVOVDogcGFyc2VkTWFwU2VjdGlvbi5tYXhfZXh0ZW50LFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfVVJMX1RFTVBMQVRFOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZSxcbiAgICAgICAgICAgICAgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQjpcbiAgICAgICAgICAgICAgICBwYXJzZWRNYXBTZWN0aW9uLmV4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWIsXG4gICAgICAgICAgICAgIERPX05PVF9VU0VfREVGQVVMVF9CQVNFTUFQOlxuICAgICAgICAgICAgICAgICEhcGFyc2VkTWFwU2VjdGlvbi5kb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCxcbiAgICAgICAgICAgICAgTUFQX0xBWUVSUzogcGFyc2VkTGF5ZXJzU2VjdGlvbnMubWFwKFxuICAgICAgICAgICAgICAgIChtYXBfbGF5ZXIpID0+XG4gICAgICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgICAgICBUWVBFOiBtYXBfbGF5ZXIudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgVVJMOiBtYXBfbGF5ZXIudXJsLFxuICAgICAgICAgICAgICAgICAgICBOQU1FOiBtYXBfbGF5ZXIubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgREFUQTogbWFwX2xheWVyLmRhdGEsXG4gICAgICAgICAgICAgICAgICB9IGFzIExheWVyQ29uZmlnKVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSBhcyBNYXBDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFRoZW1lU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAndGhlbWUnLFxuICAgICAgICBbJ3ByaW1hcnlfY29sb3InLCAnc2Vjb25kYXJ5X2NvbG9yJywgJ21haW5fY29sb3InLCAnYmFja2dyb3VuZF9jb2xvciddLFxuICAgICAgICBbXG4gICAgICAgICAgJ2hlYWRlcl9mb3JlZ3JvdW5kX2NvbG9yJyxcbiAgICAgICAgICAnbWFpbl9mb250JyxcbiAgICAgICAgICAndGl0bGVfZm9udCcsXG4gICAgICAgICAgJ2ZvbnRzX3N0eWxlc2hlZXRfdXJsJyxcbiAgICAgICAgICAndGh1bWJuYWlsX3BsYWNlaG9sZGVyJyxcbiAgICAgICAgICAnaGVhZGVyX2JhY2tncm91bmQnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICB0aGVtZUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgUFJJTUFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnByaW1hcnlfY29sb3IsXG4gICAgICAgICAgICAgIFNFQ09OREFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnNlY29uZGFyeV9jb2xvcixcbiAgICAgICAgICAgICAgTUFJTl9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fY29sb3IsXG4gICAgICAgICAgICAgIEJBQ0tHUk9VTkRfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5iYWNrZ3JvdW5kX2NvbG9yLFxuICAgICAgICAgICAgICBIRUFERVJfRk9SRUdST1VORF9DT0xPUjpcbiAgICAgICAgICAgICAgICBwYXJzZWRUaGVtZVNlY3Rpb24uaGVhZGVyX2ZvcmVncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogcGFyc2VkVGhlbWVTZWN0aW9uLnRodW1ibmFpbF9wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgSEVBREVSX0JBQ0tHUk9VTkQ6IHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgVElUTEVfRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLnRpdGxlX2ZvbnQsXG4gICAgICAgICAgICAgIE1BSU5fRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fZm9udCxcbiAgICAgICAgICAgICAgRk9OVFNfU1RZTEVTSEVFVF9VUkw6IHBhcnNlZFRoZW1lU2VjdGlvbi5mb250c19zdHlsZXNoZWV0X3VybCxcbiAgICAgICAgICAgIH0gYXMgVGhlbWVDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV9kYXRhJyxcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X3VybCcsXG4gICAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICAgICdhZHZhbmNlZF9maWx0ZXJzJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkU2VhcmNoUGFyYW1zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICBbJ25hbWUnXSxcbiAgICAgICAgWydzb3J0JywgJ2ZpbHRlcnMnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgc2VhcmNoQ29uZmlnID1cbiAgICAgICAgcGFyc2VkU2VhcmNoU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRklMVEVSX0dFT01FVFJZX0RBVEE6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X2RhdGEsXG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9VUkw6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X3VybCxcbiAgICAgICAgICAgICAgU0VBUkNIX1BSRVNFVDogcGFyc2VkU2VhcmNoUGFyYW1zLm1hcCgocGFyYW0pID0+ICh7XG4gICAgICAgICAgICAgICAgc29ydDogcGFyYW0uc29ydCxcbiAgICAgICAgICAgICAgICBuYW1lOiBwYXJhbS5uYW1lLFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IHBhcmFtLmZpbHRlcnMsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgQURWQU5DRURfRklMVEVSUzogcGFyc2VkU2VhcmNoU2VjdGlvbi5hZHZhbmNlZF9maWx0ZXJzLFxuICAgICAgICAgICAgfSBhcyBTZWFyY2hDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21ldGFkYXRhLXF1YWxpdHknLFxuICAgICAgICBbXSxcbiAgICAgICAgWydlbmFibGVkJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIG1ldGFkYXRhUXVhbGl0eUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEVOQUJMRUQ6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uZW5hYmxlZCxcbiAgICAgICAgICAgICAgU09SVEFCTEU6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uc29ydGFibGUsXG4gICAgICAgICAgICB9IGFzIE1ldGFkYXRhUXVhbGl0eUNvbmZpZylcblxuICAgICAgY3VzdG9tVHJhbnNsYXRpb25zID0gcGFyc2VUcmFuc2xhdGlvbnNDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICd0cmFuc2xhdGlvbnMnXG4gICAgICApIGFzIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlc1xuXG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE9uZSBvciBtb3JlIG1hbmRhdG9yeSBzZXR0aW5ncyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBmaWxlLlxuJHtlcnJvcnMuam9pbignXFxuJyl9YClcbiAgICAgIH0gZWxzZSBpZiAod2FybmluZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgT25lIG9yIG1vcmUgdW5leHBlY3RlZCBzZXR0aW5ncyB3ZXJlIGVuY291bnRlcmVkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke3dhcm5pbmdzLmpvaW4oJ1xcbicpfWApXG4gICAgICB9XG5cbiAgICAgIGFwcENvbmZpZ0xvYWRlZCA9IHRydWVcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb25maWdMb2FkZWQoKSB7XG4gIHJldHVybiBhcHBDb25maWdMb2FkZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9yZXNldCgpIHtcbiAgZ2xvYmFsQ29uZmlnID0gbnVsbFxuICB0aGVtZUNvbmZpZyA9IG51bGxcbiAgY3VzdG9tVHJhbnNsYXRpb25zID0gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRFX1dJVEhfT1ZFUlJJREVTX0NPTkZJRyA9IHtcbiAgY29tcGlsZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVDb21waWxlcixcbiAgICB1c2VDbGFzczogVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyLFxuICB9LFxuICBsb2FkZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgdXNlRmFjdG9yeTogZnVuY3Rpb24gSHR0cExvYWRlckZhY3RvcnkoaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgcmV0dXJuIG5ldyBGaWxlV2l0aE92ZXJyaWRlc1RyYW5zbGF0ZUxvYWRlcihodHRwLCAnLi9hc3NldHMvaTE4bi8nKVxuICAgIH0sXG4gICAgZGVmYXVsdExhbmd1YWdlOiBERUZBVUxUX0xBTkcsXG4gICAgZGVwczogW0h0dHBDbGllbnRdLFxuICB9LFxufVxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFD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QUNqQjtRQUVELGVBQWUsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNO0lBQ3BCLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDbkIsV0FBVyxHQUFHLElBQUksQ0FBQTtJQUNsQixrQkFBa0IsR0FBRyxJQUFJLENBQUE7QUFDM0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHO0lBQzdDLFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSxTQUFTLGlCQUFpQixDQUFDLElBQWdCO1lBQ3JELE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBQ0QsZUFBZSxFQUFFLFlBQVk7UUFDN0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0tBQ25CO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRPTUwgZnJvbSAnQGx0ZC9qLXRvbWwnXG5pbXBvcnQge1xuICBjaGVja01ldGFkYXRhTGFuZ3VhZ2UsXG4gIHBhcnNlQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbixcbn0gZnJvbSAnLi9wYXJzZS11dGlscydcbmltcG9ydCB7XG4gIEN1c3RvbVRyYW5zbGF0aW9ucyxcbiAgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzLFxuICBHbG9iYWxDb25maWcsXG4gIExheWVyQ29uZmlnLFxuICBNYXBDb25maWcsXG4gIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyxcbiAgU2VhcmNoQ29uZmlnLFxuICBUaGVtZUNvbmZpZyxcbn0gZnJvbSAnLi9tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyLCBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWNvbXBpbGVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2kxOG4vZmlsZS13aXRoLW92ZXJyaWRlcy50cmFuc2xhdGUubG9hZGVyJ1xuXG5jb25zdCBNSVNTSU5HX0NPTkZJR19FUlJPUiA9IGBBcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIHdhcyBub3QgaW5pdGlhbGl6ZWQgY29ycmVjdGx5LlxuVGhpcyBlcnJvciBtaWdodCBzaG93IHVwIGluIGNhc2Ugb2YgYW4gaW52YWxpZC9tYWxmb3JtZWQgY29uZmlndXJhdGlvbiBmaWxlLlxuXG5Ob3RlOiBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBjYWxsZWQgXFxgbG9hZEFwcENvbmZpZ1xcYCBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMnIGJlZm9yZSBzdGFydGluZyB0aGUgQW5ndWxhciBhcHBsaWNhdGlvbi5gXG5cbmxldCBnbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbENvbmZpZygpOiBHbG9iYWxDb25maWcge1xuICBpZiAoZ2xvYmFsQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBnbG9iYWxDb25maWdcbn1cblxubGV0IHRoZW1lQ29uZmlnOiBUaGVtZUNvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRoZW1lQ29uZmlnKCk6IFRoZW1lQ29uZmlnIHtcbiAgaWYgKHRoZW1lQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiB0aGVtZUNvbmZpZ1xufVxuXG5sZXQgbWFwQ29uZmlnOiBNYXBDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbE1hcENvbmZpZygpOiBNYXBDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIG1hcENvbmZpZ1xufVxuXG5sZXQgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbFNlYXJjaENvbmZpZygpOiBTZWFyY2hDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIHNlYXJjaENvbmZpZ1xufVxuXG5sZXQgbWV0YWRhdGFRdWFsaXR5Q29uZmlnOiBNZXRhZGF0YVF1YWxpdHlDb25maWcgPSBudWxsXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFRdWFsaXR5Q29uZmlnKCk6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIHJldHVybiAoXG4gICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnIHx8XG4gICAgKHtcbiAgICAgIEVOQUJMRUQ6IGZhbHNlLFxuICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuICApXG59XG5cbmxldCBjdXN0b21UcmFuc2xhdGlvbnM6IEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1c3RvbVRyYW5zbGF0aW9ucyhsYW5nQ29kZTogc3RyaW5nKTogQ3VzdG9tVHJhbnNsYXRpb25zIHtcbiAgaWYgKGN1c3RvbVRyYW5zbGF0aW9ucyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gbGFuZ0NvZGUgaW4gY3VzdG9tVHJhbnNsYXRpb25zID8gY3VzdG9tVHJhbnNsYXRpb25zW2xhbmdDb2RlXSA6IHt9XG59XG5cbmxldCBhcHBDb25maWdMb2FkZWQgPSBmYWxzZVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFwcENvbmZpZygpIHtcbiAgcmV0dXJuIGZldGNoKCdhc3NldHMvY29uZmlndXJhdGlvbi9kZWZhdWx0LnRvbWwnKVxuICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICBpZiAoIXJlc3Aub2spIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBmaWxlIGNvdWxkIG5vdCBiZSBsb2FkZWQnKVxuICAgICAgcmV0dXJuIHJlc3AudGV4dCgpXG4gICAgfSlcbiAgICAudGhlbigoY29uZikgPT4ge1xuICAgICAgbGV0IHBhcnNlZFxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gVE9NTC5wYXJzZShjb25mLCB7IGpvaW5lcjogJ1xcbicsIGJpZ2ludDogZmFsc2UgfSkgYXMgYW55XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHBhcnNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZTogJHtlLm1lc3NhZ2V9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBlcnJvcnMgPSBbXVxuICAgICAgY29uc3Qgd2FybmluZ3MgPSBbXVxuXG4gICAgICBsZXQgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnZ2xvYmFsJyxcbiAgICAgICAgWydnZW9uZXR3b3JrNF9hcGlfdXJsJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZGF0YWh1Yl91cmwnLFxuICAgICAgICAgICdwcm94eV9wYXRoJyxcbiAgICAgICAgICAnbWV0YWRhdGFfbGFuZ3VhZ2UnLFxuICAgICAgICAgICdsb2dpbl91cmwnLFxuICAgICAgICAgICd3ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCcsXG4gICAgICAgICAgJ2xhbmd1YWdlcycsXG4gICAgICAgICAgJ2NvbnRhY3RfZW1haWwnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgQ09OVEFDVF9FTUFJTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5jb250YWN0X2VtYWlsLFxuICAgICAgICAgICAgfSBhcyBHbG9iYWxDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZExheWVyc1NlY3Rpb25zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcF9sYXllcicsXG4gICAgICAgIFsndHlwZSddLFxuICAgICAgICBbJ25hbWUnLCAndXJsJywgJ2RhdGEnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkTWFwU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnbWF4X3pvb20nLFxuICAgICAgICAgICdtYXhfZXh0ZW50JyxcbiAgICAgICAgICAnYmFzZWxheWVyJyxcbiAgICAgICAgICAnZG9fbm90X3VzZV9kZWZhdWx0X2Jhc2VtYXAnLFxuICAgICAgICAgICdleHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlJyxcbiAgICAgICAgICAnZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYicsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIG1hcENvbmZpZyA9XG4gICAgICAgIHBhcnNlZE1hcFNlY3Rpb24gPT09IG51bGwgfHwgcGFyc2VkTGF5ZXJzU2VjdGlvbnMgPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIE1BWF9aT09NOiBwYXJzZWRNYXBTZWN0aW9uLm1heF96b29tLFxuICAgICAgICAgICAgICBNQVhfRVhURU5UOiBwYXJzZWRNYXBTZWN0aW9uLm1heF9leHRlbnQsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlLFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfT1BFTl9ORVdfVEFCOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYixcbiAgICAgICAgICAgICAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6XG4gICAgICAgICAgICAgICAgISFwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwLFxuICAgICAgICAgICAgICBNQVBfTEFZRVJTOiBwYXJzZWRMYXllcnNTZWN0aW9ucy5tYXAoXG4gICAgICAgICAgICAgICAgKG1hcF9sYXllcikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFRZUEU6IG1hcF9sYXllci50eXBlLFxuICAgICAgICAgICAgICAgICAgICBVUkw6IG1hcF9sYXllci51cmwsXG4gICAgICAgICAgICAgICAgICAgIE5BTUU6IG1hcF9sYXllci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBEQVRBOiBtYXBfbGF5ZXIuZGF0YSxcbiAgICAgICAgICAgICAgICAgIH0gYXMgTGF5ZXJDb25maWcpXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9IGFzIE1hcENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkVGhlbWVTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICd0aGVtZScsXG4gICAgICAgIFsncHJpbWFyeV9jb2xvcicsICdzZWNvbmRhcnlfY29sb3InLCAnbWFpbl9jb2xvcicsICdiYWNrZ3JvdW5kX2NvbG9yJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnaGVhZGVyX2ZvcmVncm91bmRfY29sb3InLFxuICAgICAgICAgICdtYWluX2ZvbnQnLFxuICAgICAgICAgICd0aXRsZV9mb250JyxcbiAgICAgICAgICAnZm9udHNfc3R5bGVzaGVldF91cmwnLFxuICAgICAgICAgICd0aHVtYm5haWxfcGxhY2Vob2xkZXInLFxuICAgICAgICAgICdoZWFkZXJfYmFja2dyb3VuZCcsXG4gICAgICAgICAgJ2Zhdmljb24nLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICB0aGVtZUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgUFJJTUFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnByaW1hcnlfY29sb3IsXG4gICAgICAgICAgICAgIFNFQ09OREFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnNlY29uZGFyeV9jb2xvcixcbiAgICAgICAgICAgICAgTUFJTl9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fY29sb3IsXG4gICAgICAgICAgICAgIEJBQ0tHUk9VTkRfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5iYWNrZ3JvdW5kX2NvbG9yLFxuICAgICAgICAgICAgICBIRUFERVJfRk9SRUdST1VORF9DT0xPUjpcbiAgICAgICAgICAgICAgICBwYXJzZWRUaGVtZVNlY3Rpb24uaGVhZGVyX2ZvcmVncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogcGFyc2VkVGhlbWVTZWN0aW9uLnRodW1ibmFpbF9wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgSEVBREVSX0JBQ0tHUk9VTkQ6IHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgVElUTEVfRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLnRpdGxlX2ZvbnQsXG4gICAgICAgICAgICAgIE1BSU5fRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fZm9udCxcbiAgICAgICAgICAgICAgRk9OVFNfU1RZTEVTSEVFVF9VUkw6IHBhcnNlZFRoZW1lU2VjdGlvbi5mb250c19zdHlsZXNoZWV0X3VybCxcbiAgICAgICAgICAgICAgRkFWSUNPTjogcGFyc2VkVGhlbWVTZWN0aW9uLmZhdmljb24sXG4gICAgICAgICAgICB9IGFzIFRoZW1lQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRTZWFyY2hTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdzZWFyY2gnLFxuICAgICAgICBbXSxcbiAgICAgICAgW1xuICAgICAgICAgICdmaWx0ZXJfZ2VvbWV0cnlfZGF0YScsXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV91cmwnLFxuICAgICAgICAgICdzZWFyY2hfcHJlc2V0JyxcbiAgICAgICAgICAnYWR2YW5jZWRfZmlsdGVycycsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFBhcmFtcyA9IHBhcnNlTXVsdGlDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdzZWFyY2hfcHJlc2V0JyxcbiAgICAgICAgWyduYW1lJ10sXG4gICAgICAgIFsnc29ydCcsICdmaWx0ZXJzJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIHNlYXJjaENvbmZpZyA9XG4gICAgICAgIHBhcnNlZFNlYXJjaFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9EQVRBOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmZpbHRlcl9nZW9tZXRyeV9kYXRhLFxuICAgICAgICAgICAgICBGSUxURVJfR0VPTUVUUllfVVJMOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmZpbHRlcl9nZW9tZXRyeV91cmwsXG4gICAgICAgICAgICAgIFNFQVJDSF9QUkVTRVQ6IHBhcnNlZFNlYXJjaFBhcmFtcy5tYXAoKHBhcmFtKSA9PiAoe1xuICAgICAgICAgICAgICAgIHNvcnQ6IHBhcmFtLnNvcnQsXG4gICAgICAgICAgICAgICAgbmFtZTogcGFyYW0ubmFtZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBwYXJhbS5maWx0ZXJzLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIEFEVkFOQ0VEX0ZJTFRFUlM6IHBhcnNlZFNlYXJjaFNlY3Rpb24uYWR2YW5jZWRfZmlsdGVycyxcbiAgICAgICAgICAgIH0gYXMgU2VhcmNoQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdtZXRhZGF0YS1xdWFsaXR5JyxcbiAgICAgICAgW10sXG4gICAgICAgIFsnZW5hYmxlZCddLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBtZXRhZGF0YVF1YWxpdHlDb25maWcgPVxuICAgICAgICBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBFTkFCTEVEOiBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uLmVuYWJsZWQsXG4gICAgICAgICAgICAgIFNPUlRBQkxFOiBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uLnNvcnRhYmxlLFxuICAgICAgICAgICAgfSBhcyBNZXRhZGF0YVF1YWxpdHlDb25maWcpXG5cbiAgICAgIGN1c3RvbVRyYW5zbGF0aW9ucyA9IHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAndHJhbnNsYXRpb25zJ1xuICAgICAgKSBhcyBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXNcblxuICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBPbmUgb3IgbW9yZSBtYW5kYXRvcnkgc2V0dGluZ3Mgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiR7ZXJyb3JzLmpvaW4oJ1xcbicpfWApXG4gICAgICB9IGVsc2UgaWYgKHdhcm5pbmdzLmxlbmd0aCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYE9uZSBvciBtb3JlIHVuZXhwZWN0ZWQgc2V0dGluZ3Mgd2VyZSBlbmNvdW50ZXJlZCBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlLlxuJHt3YXJuaW5ncy5qb2luKCdcXG4nKX1gKVxuICAgICAgfVxuXG4gICAgICBhcHBDb25maWdMb2FkZWQgPSB0cnVlXG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uZmlnTG9hZGVkKCkge1xuICByZXR1cm4gYXBwQ29uZmlnTG9hZGVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfcmVzZXQoKSB7XG4gIGdsb2JhbENvbmZpZyA9IG51bGxcbiAgdGhlbWVDb25maWcgPSBudWxsXG4gIGN1c3RvbVRyYW5zbGF0aW9ucyA9IG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9XSVRIX09WRVJSSURFU19DT05GSUcgPSB7XG4gIGNvbXBpbGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlQ29tcGlsZXIsXG4gICAgdXNlQ2xhc3M6IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlcixcbiAgfSxcbiAgbG9hZGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgIHVzZUZhY3Rvcnk6IGZ1bmN0aW9uIEh0dHBMb2FkZXJGYWN0b3J5KGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICAgIHJldHVybiBuZXcgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIoaHR0cCwgJy4vYXNzZXRzL2kxOG4vJylcbiAgICB9LFxuICAgIGRlZmF1bHRMYW5ndWFnZTogREVGQVVMVF9MQU5HLFxuICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgfSxcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgR040X0FQSV9VUkw6IHN0cmluZ1xuICBEQVRBSFVCX1VSTD86IHN0cmluZ1xuICBQUk9YWV9QQVRIPzogc3RyaW5nXG4gIE1FVEFEQVRBX0xBTkdVQUdFPzogc3RyaW5nXG4gIExPR0lOX1VSTD86IHN0cmluZ1xuICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTD86IHN0cmluZ1xuICBMQU5HVUFHRVM/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgR040X0FQSV9VUkw6IHN0cmluZ1xuICBEQVRBSFVCX1VSTD86IHN0cmluZ1xuICBQUk9YWV9QQVRIPzogc3RyaW5nXG4gIE1FVEFEQVRBX0xBTkdVQUdFPzogc3RyaW5nXG4gIExPR0lOX1VSTD86IHN0cmluZ1xuICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTD86IHN0cmluZ1xuICBMQU5HVUFHRVM/OiBzdHJpbmdbXVxuICBDT05UQUNUX0VNQUlMPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJDb25maWcge1xuICBUWVBFOiAneHl6JyB8ICd3bXMnIHwgJ3dmcycgfCAnZ2VvanNvbidcbiAgVVJMPzogc3RyaW5nXG4gIE5BTUU/OiBzdHJpbmdcbiAgREFUQT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcENvbmZpZyB7XG4gIE1BWF9aT09NPzogbnVtYmVyXG4gIE1BWF9FWFRFTlQ/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSAvLyBFeHByZXNzZWQgYXMgW21pbngsIG1pbnksIG1heHgsIG1heHldXG4gIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU/OiBzdHJpbmdcbiAgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQj86IGJvb2xlYW5cbiAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6IGJvb2xlYW5cbiAgTUFQX0xBWUVSUzogTGF5ZXJDb25maWdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lQ29uZmlnIHtcbiAgUFJJTUFSWV9DT0xPUjogc3RyaW5nXG4gIFNFQ09OREFSWV9DT0xPUjogc3RyaW5nXG4gIE1BSU5fQ09MT1I6IHN0cmluZ1xuICBCQUNLR1JPVU5EX0NPTE9SOiBzdHJpbmdcbiAgSEVBREVSX0ZPUkVHUk9VTkRfQ09MT1I6IHN0cmluZ1xuICBIRUFERVJfQkFDS0dST1VORDogc3RyaW5nXG4gIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogc3RyaW5nXG4gIE1BSU5fRk9OVD86IHN0cmluZ1xuICBUSVRMRV9GT05UPzogc3RyaW5nXG4gIEZPTlRTX1NUWUxFU0hFRVRfVVJMPzogc3RyaW5nXG4gIEZBVklDT04/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQcmVzZXQge1xuICBzb3J0OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdIHwgc3RyaW5nPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbmZpZyB7XG4gIEZJTFRFUl9HRU9NRVRSWV9VUkw/OiBzdHJpbmdcbiAgRklMVEVSX0dFT01FVFJZX0RBVEE/OiBzdHJpbmdcbiAgU0VBUkNIX1BSRVNFVD86IFNlYXJjaFByZXNldFtdXG4gIEFEVkFOQ0VEX0ZJTFRFUlM/OiBbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIEVOQUJMRUQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgQ3VzdG9tVHJhbnNsYXRpb25zID0geyBbdHJhbnNsYXRpb25LZXk6IHN0cmluZ106IHN0cmluZyB9XG5leHBvcnQgdHlwZSBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMgPSB7XG4gIFtsYW5nOiBzdHJpbmddOiBDdXN0b21UcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBGSUxURVJfR0VPTUVUUlk/OiBHZW9tZXRyeVxufVxuIl19
|
|
@@ -5,4 +5,5 @@ export * from './lib/lang.service';
|
|
|
5
5
|
export * from './lib/file.translate.loader';
|
|
6
6
|
export * from './lib/testing/test.translate.module';
|
|
7
7
|
export * from './lib/embedded.translate.loader';
|
|
8
|
-
|
|
8
|
+
export * from './lib/translate.loader.utils';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLDhCQUE4QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC1pMThuLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4uY29uc3RhbnRzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi5pbnRlcmNlcHRvcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhbmcuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUudHJhbnNsYXRlLmxvYWRlcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rlc3RpbmcvdGVzdC50cmFuc2xhdGUubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1iZWRkZWQudHJhbnNsYXRlLmxvYWRlcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0ZS5sb2FkZXIudXRpbHMnXG4iXX0=
|
|
@@ -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==
|