@sumaris-net/ngx-components 18.6.11 → 18.7.0
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/doc/changelog.md +3 -0
- package/esm2022/public_api.mjs +1 -2
- package/esm2022/src/app/admin/services/validator/person.validator.mjs +1 -1
- package/esm2022/src/app/core/account/account.page.mjs +18 -20
- package/esm2022/src/app/core/form/properties/properties.table.mjs +28 -32
- package/esm2022/src/app/core/form/properties/properties.utils.mjs +14 -1
- package/esm2022/src/app/core/home/home.mjs +1 -3
- package/esm2022/src/app/core/services/account.service.mjs +22 -7
- package/esm2022/src/app/core/services/local-settings.service.mjs +9 -2
- package/esm2022/src/app/core/services/model/account.model.mjs +32 -13
- package/esm2022/src/app/core/services/model/entity.model.mjs +1 -1
- package/esm2022/src/app/core/services/platform.service.mjs +4 -3
- package/esm2022/src/app/core/services/validator/base.validator.class.mjs +3 -3
- package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +1 -1
- package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +1 -1
- package/esm2022/src/app/shared/markdown/markdown.component.mjs +81 -55
- package/esm2022/src/app/shared/markdown/markdown.modal.mjs +10 -17
- package/esm2022/src/app/shared/markdown/markdown.service.mjs +3 -4
- package/esm2022/src/app/shared/markdown/markdown.utils.mjs +1 -8
- package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +7 -16
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +1 -1
- package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +1 -1
- package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +3 -3
- package/esm2022/src/app/social/user-event/user-event.model.mjs +1 -1
- package/fesm2022/sumaris-net.ngx-components.mjs +214 -408
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +0 -1
- package/src/app/admin/services/validator/person.validator.d.ts +1 -1
- package/src/app/core/account/account.page.d.ts +2 -0
- package/src/app/core/form/properties/properties.table.d.ts +4 -10
- package/src/app/core/form/properties/properties.utils.d.ts +4 -0
- package/src/app/core/services/account.service.d.ts +2 -0
- package/src/app/core/services/local-settings.service.d.ts +1 -0
- package/src/app/core/services/model/account.model.d.ts +17 -2
- package/src/app/core/services/model/entity.model.d.ts +2 -2
- package/src/app/core/services/validator/base.validator.class.d.ts +5 -5
- package/src/app/core/table/entities-async-table-datasource.class.d.ts +2 -2
- package/src/app/core/table/entities-table-datasource.class.d.ts +2 -2
- package/src/app/shared/inputs.d.ts +1 -1
- package/src/app/shared/markdown/markdown.component.d.ts +7 -12
- package/src/app/shared/markdown/markdown.modal.d.ts +2 -9
- package/src/app/shared/markdown/markdown.utils.d.ts +0 -1
- package/src/app/shared/markdown/testing/markdown.test.d.ts +1 -4
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +3 -1
- package/src/app/shared/named-filter/named-filter.model.d.ts +2 -2
- package/src/app/social/user-event/user-event.model.d.ts +2 -2
- package/src/assets/i18n/en-US.json +2 -3
- package/src/assets/i18n/en.json +1 -2
- package/src/assets/i18n/fr.json +1 -2
- package/src/assets/manifest.json +1 -1
- package/esm2022/src/app/shared/print/print.service.mjs +0 -254
- package/src/app/shared/print/print.service.d.ts +0 -60
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@ionic/angular";
|
|
4
4
|
import * as i2 from "../../core/services/platform.service";
|
|
@@ -15,13 +15,12 @@ export class AppMarkdownModal {
|
|
|
15
15
|
translate;
|
|
16
16
|
network;
|
|
17
17
|
cd;
|
|
18
|
+
debug;
|
|
18
19
|
title;
|
|
19
20
|
showError = true;
|
|
20
21
|
canPrint = false;
|
|
21
22
|
data;
|
|
22
23
|
src;
|
|
23
|
-
enableNavigationHistory = true;
|
|
24
|
-
debug;
|
|
25
24
|
content;
|
|
26
25
|
static async show(modalCtrl, options) {
|
|
27
26
|
const modal = await modalCtrl.create({
|
|
@@ -69,31 +68,25 @@ export class AppMarkdownModal {
|
|
|
69
68
|
this.content?.resetError();
|
|
70
69
|
}
|
|
71
70
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppMarkdownModal, deps: [{ token: i0.Injector }, { token: i1.ModalController }, { token: i2.PlatformService }, { token: i3.LocalSettingsService }, { token: i4.TranslateService }, { token: i5.NetworkService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppMarkdownModal, selector: "app-markdown-modal", inputs: {
|
|
71
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppMarkdownModal, selector: "app-markdown-modal", inputs: { debug: "debug", title: "title", showError: "showError", canPrint: "canPrint", data: "data", src: "src" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "@if (title || canPrint) {\n <app-modal-toolbar color=\"light\" [title]=\"title | translate\" (cancel)=\"close($event)\">\n @if (content.canGoBack) {\n <ion-button slot=\"start\" class=\"back-button\" (click)=\"goBack($event, content)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n }\n @if (canPrint) {\n <ion-button slot=\"end\" class=\"back-button\" (click)=\"content.print($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"print\"></ion-icon>\n </ion-button>\n }\n </app-modal-toolbar>\n}\n\n<ion-content class=\"ion-padding\">\n <app-markdown-content\n #content\n [src]=\"src\"\n [data]=\"data\"\n [showError]=\"showError\"\n [debug]=\"debug\"\n [updateRouteLocation]=\"false\"\n ></app-markdown-content>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\">\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i6.ModalToolbarComponent, selector: "app-modal-toolbar", inputs: ["modalName", "title", "color", "showSpinner", "canValidate", "validateIcon"], outputs: ["cancel", "validate"] }, { kind: "component", type: i7.AppMarkdownContent, selector: "app-markdown-content", inputs: ["data", "src", "anchor", "debug", "showError", "animated", "enableNavigationHistory", "updateRouteLocation"], outputs: ["markdownUrlChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
72
|
}
|
|
74
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppMarkdownModal, decorators: [{
|
|
75
74
|
type: Component,
|
|
76
|
-
args: [{ selector: 'app-markdown-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-modal-toolbar color=\"light\" [title]=\"title | translate\">\n
|
|
77
|
-
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.ModalController }, { type: i2.PlatformService }, { type: i3.LocalSettingsService }, { type: i4.TranslateService }, { type: i5.NetworkService }, { type: i0.ChangeDetectorRef }], propDecorators: {
|
|
75
|
+
args: [{ selector: 'app-markdown-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (title || canPrint) {\n <app-modal-toolbar color=\"light\" [title]=\"title | translate\" (cancel)=\"close($event)\">\n @if (content.canGoBack) {\n <ion-button slot=\"start\" class=\"back-button\" (click)=\"goBack($event, content)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n }\n @if (canPrint) {\n <ion-button slot=\"end\" class=\"back-button\" (click)=\"content.print($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"print\"></ion-icon>\n </ion-button>\n }\n </app-modal-toolbar>\n}\n\n<ion-content class=\"ion-padding\">\n <app-markdown-content\n #content\n [src]=\"src\"\n [data]=\"data\"\n [showError]=\"showError\"\n [debug]=\"debug\"\n [updateRouteLocation]=\"false\"\n ></app-markdown-content>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\">\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n" }]
|
|
76
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.ModalController }, { type: i2.PlatformService }, { type: i3.LocalSettingsService }, { type: i4.TranslateService }, { type: i5.NetworkService }, { type: i0.ChangeDetectorRef }], propDecorators: { debug: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], title: [{
|
|
78
79
|
type: Input
|
|
79
80
|
}], showError: [{
|
|
80
|
-
type: Input
|
|
81
|
-
args: [{ transform: booleanAttribute }]
|
|
81
|
+
type: Input
|
|
82
82
|
}], canPrint: [{
|
|
83
|
-
type: Input
|
|
84
|
-
args: [{ transform: booleanAttribute }]
|
|
83
|
+
type: Input
|
|
85
84
|
}], data: [{
|
|
86
85
|
type: Input
|
|
87
86
|
}], src: [{
|
|
88
87
|
type: Input
|
|
89
|
-
}], enableNavigationHistory: [{
|
|
90
|
-
type: Input,
|
|
91
|
-
args: [{ transform: booleanAttribute }]
|
|
92
|
-
}], debug: [{
|
|
93
|
-
type: Input,
|
|
94
|
-
args: [{ transform: booleanAttribute }]
|
|
95
88
|
}], content: [{
|
|
96
89
|
type: ViewChild,
|
|
97
90
|
args: ['content']
|
|
98
91
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24ubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXJrZG93bi9tYXJrZG93bi5tb2RhbC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL21hcmtkb3duLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQVksS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBc0JsSCxNQUFNLE9BQU8sZ0JBQWdCO0lBd0JmO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBN0JILEtBQUssQ0FBVTtJQUNmLEtBQUssQ0FBUztJQUNkLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixJQUFJLENBQVM7SUFDYixHQUFHLENBQVM7SUFFQyxPQUFPLENBQXFCO0lBRWxELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQTBCLEVBQUUsT0FBZ0M7UUFDNUUsTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ25DLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsY0FBYyxFQUFFLE9BQU87WUFDdkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksYUFBYTtTQUM3QyxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV0QixPQUFPLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFDWSxRQUFrQixFQUNsQixRQUF5QixFQUN6QixRQUF5QixFQUN6QixRQUE4QixFQUM5QixTQUEyQixFQUMzQixPQUF1QixFQUN2QixFQUFxQjtRQU5yQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBRS9CLHFCQUFxQjtRQUNyQix1Q0FBdUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFTO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBWSxFQUFFLE9BQTJCO1FBQzlDLElBQUksT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVTLGFBQWE7UUFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRVMsUUFBUSxDQUFDLEdBQW1CO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUyxVQUFVO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQzt3R0EvRFUsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isa1JDdEI3QixzdENBb0NBOzs0RkRkYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUViLHVCQUF1QixDQUFDLE1BQU07d1FBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9sb2NhbC1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwTWFya2Rvd25Db250ZW50IH0gZnJvbSAnLi9tYXJrZG93bi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcE1hcmtkb3duTW9kYWxPcHRpb25zIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGRhdGE/OiBzdHJpbmc7XG4gIHNyYz86IHN0cmluZztcbiAgc2hvd0Vycm9yPzogYm9vbGVhbjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNhblByaW50PzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1hcmtkb3duLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLm1vZGFsLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTWFya2Rvd25Nb2RhbCBpbXBsZW1lbnRzIEFwcE1hcmtkb3duTW9kYWxPcHRpb25zIHtcbiAgQElucHV0KCkgZGVidWc6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dFcnJvciA9IHRydWU7XG4gIEBJbnB1dCgpIGNhblByaW50ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcbiAgQElucHV0KCkgc3JjOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudCcpIGNvbnRlbnQ6IEFwcE1hcmtkb3duQ29udGVudDtcblxuICBzdGF0aWMgYXN5bmMgc2hvdyhtb2RhbEN0cmw6IE1vZGFsQ29udHJvbGxlciwgb3B0aW9uczogQXBwTWFya2Rvd25Nb2RhbE9wdGlvbnMpIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IG1vZGFsQ3RybC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBBcHBNYXJrZG93bk1vZGFsLFxuICAgICAgY29tcG9uZW50UHJvcHM6IG9wdGlvbnMsXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxuICAgICAgY3NzQ2xhc3M6IG9wdGlvbnM/LmNzc0NsYXNzIHx8ICdtb2RhbC1sYXJnZScsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG5cbiAgICByZXR1cm4gbW9kYWwub25XaWxsRGlzbWlzcygpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgdmlld0N0cmw6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc2V0dGluZ3M6IExvY2FsU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG5ldHdvcms6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgLy8gVE9ETzogZm9yIERFViBvbmx5XG4gICAgLy90aGlzLmRlYnVnID0gIWVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gIH1cblxuICBjbG9zZShfPzogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3Q3RybC5kaXNtaXNzKCk7XG4gIH1cblxuICBnb0JhY2soZXZlbnQ6IEV2ZW50LCBjb250ZW50OiBBcHBNYXJrZG93bkNvbnRlbnQpIHtcbiAgICBpZiAoY29udGVudD8uY2FuR29CYWNrKSB7XG4gICAgICBjb250ZW50LmdvQmFjayhldmVudCk7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzTG9hZGVkKCkge1xuICAgIHRoaXMuY29udGVudD8ubWFya0FzTG9hZGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzTG9hZGluZygpIHtcbiAgICB0aGlzLmNvbnRlbnQ/Lm1hcmtBc0xvYWRpbmcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRFcnJvcihlcnI6IHN0cmluZyB8IEVycm9yKSB7XG4gICAgdGhpcy5jb250ZW50Py5zZXRFcnJvcihlcnIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0RXJyb3IoKSB7XG4gICAgdGhpcy5jb250ZW50Py5yZXNldEVycm9yKCk7XG4gIH1cbn1cbiIsIkBpZiAodGl0bGUgfHwgY2FuUHJpbnQpIHtcbiAgPGFwcC1tb2RhbC10b29sYmFyIGNvbG9yPVwibGlnaHRcIiBbdGl0bGVdPVwidGl0bGUgfCB0cmFuc2xhdGVcIiAoY2FuY2VsKT1cImNsb3NlKCRldmVudClcIj5cbiAgICBAaWYgKGNvbnRlbnQuY2FuR29CYWNrKSB7XG4gICAgICA8aW9uLWJ1dHRvbiBzbG90PVwic3RhcnRcIiBjbGFzcz1cImJhY2stYnV0dG9uXCIgKGNsaWNrKT1cImdvQmFjaygkZXZlbnQsIGNvbnRlbnQpXCIgcm91dGVyRGlyZWN0aW9uPVwiYmFja1wiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJhcnJvdy1iYWNrXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICB9XG4gICAgQGlmIChjYW5QcmludCkge1xuICAgICAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIGNsYXNzPVwiYmFjay1idXR0b25cIiAoY2xpY2spPVwiY29udGVudC5wcmludCgkZXZlbnQpXCIgcm91dGVyRGlyZWN0aW9uPVwiYmFja1wiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJwcmludFwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgfVxuICA8L2FwcC1tb2RhbC10b29sYmFyPlxufVxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICA8YXBwLW1hcmtkb3duLWNvbnRlbnRcbiAgICAjY29udGVudFxuICAgIFtzcmNdPVwic3JjXCJcbiAgICBbZGF0YV09XCJkYXRhXCJcbiAgICBbc2hvd0Vycm9yXT1cInNob3dFcnJvclwiXG4gICAgW2RlYnVnXT1cImRlYnVnXCJcbiAgICBbdXBkYXRlUm91dGVMb2NhdGlvbl09XCJmYWxzZVwiXG4gID48L2FwcC1tYXJrZG93bi1jb250ZW50PlxuPC9pb24tY29udGVudD5cblxuPGlvbi1mb290ZXIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgPGlvbi1jb2w+PC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+e3sgJ0NPTU1PTi5CVE5fQ0xPU0UnIHwgdHJhbnNsYXRlIH19PC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
|
|
@@ -112,11 +112,10 @@ export class MarkdownService {
|
|
|
112
112
|
}
|
|
113
113
|
async click(event, containerElement) {
|
|
114
114
|
console.debug('[markdown-service] Processing click event...', event);
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
const element = event.target;
|
|
116
|
+
if (!(element instanceof HTMLAnchorElement)) {
|
|
117
117
|
return;
|
|
118
118
|
}
|
|
119
|
-
const element = event.target;
|
|
120
119
|
let href = element.getAttribute('href');
|
|
121
120
|
const fragment = UrlUtils.getFragment(href);
|
|
122
121
|
// Fragment
|
|
@@ -200,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
200
199
|
type: Injectable,
|
|
201
200
|
args: [{ providedIn: 'root' }]
|
|
202
201
|
}], ctorParameters: () => [] });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUd2RSxNQUFNLE9BQU8sZUFBZTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sQ0FBUztJQUVQLGdCQUFnQixHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFDakQs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WUFDdkQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRVMsT0FBTyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsR0FBVztRQUN4RCxpQ0FBaUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsS0FBSyxLQUFLLElBQUksaUJBQWlCLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDckYsTUFBTSxJQUFJLEdBQUcsVUFBVSxNQUFNLG1CQUFtQixTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSwrQkFBK0IsTUFBTSxRQUFRLENBQUM7WUFDM0gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO3dHQTNOVSxlQUFlOzRHQUFmLGVBQWUsY0FERixNQUFNOzs0RkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IExvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWFya2VkUmVuZGVyZXIgfSBmcm9tICduZ3gtbWFya2Rvd24nO1xuaW1wb3J0IHsgVXJsVXRpbHMgfSBmcm9tICcuLi9maWxlL3VybC51dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzTm90TmlsT3JCbGFuayB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBNYXJrZG93blV0aWxzIH0gZnJvbSAnLi9tYXJrZG93bi51dGlscyc7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3BsYXRmb3JtLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duU2VydmljZSB7XG4gIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtU2VydmljZSk7XG4gIHByaXZhdGUgbG9jYXRpb25TdHJhdGVneSA9IGluamVjdChMb2NhdGlvblN0cmF0ZWd5KTtcbiAgcHJpdmF0ZSBuYXZDb250cm9sbGVyID0gaW5qZWN0KE5hdkNvbnRyb2xsZXIpO1xuXG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRSZW5kZXJlciA9IG5ldyBNYXJrZWRSZW5kZXJlcigpO1xuICBwcml2YXRlIF9tYXJrZWRSZW5kZXJlcjogTWFya2VkUmVuZGVyZXI7XG5cbiAgZ2V0IHJlbmRlcmVyKCk6IE1hcmtlZFJlbmRlcmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWFya2VkUmVuZGVyZXI7XG4gIH1cblxuICBzZXQgcmVuZGVyZXIodmFsdWU6IE1hcmtlZFJlbmRlcmVyKSB7XG4gICAgdGhpcy5zZXRSZW5kZXJlcih2YWx1ZSk7XG4gIH1cblxuICBvbkNsaWNrTWFya2Rvd25VcmwgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zZXRSZW5kZXJlcihuZXcgTWFya2VkUmVuZGVyZXIoKSk7XG4gIH1cblxuICBzZXRCYXNlVXJsKGJhc2VVcmw6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBCYXNlIFVSTDogJyArIGJhc2VVcmwpO1xuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gIH1cblxuICByZXNldEJhc2VVcmwoKSB7XG4gICAgdGhpcy5zZXRCYXNlVXJsKG51bGwpO1xuICB9XG5cbiAgZ2V0VXJsVHJlZSh1cmw6IHN0cmluZyk6IFVybFRyZWUge1xuICAgIHVybCA9IFVybFV0aWxzLm5vcm1hbGl6ZVVybCh1cmwpO1xuICAgIGNvbnN0IHVybFBhdGggPSBVcmxVdGlscy5zdHJpcEZyYWdtZW50QW5kUXVlcnkodXJsKSB8fCBVcmxVdGlscy5zdHJpcEZyYWdtZW50QW5kUXVlcnkodGhpcy5yb3V0ZXIudXJsKTtcbiAgICBjb25zdCBwYXJzZWRVcmwgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh1cmwpO1xuICAgIGNvbnN0IGZyYWdtZW50ID0gcGFyc2VkVXJsLmZyYWdtZW50O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gcGFyc2VkVXJsLnF1ZXJ5UGFyYW1zO1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFt1cmxQYXRoXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudCwgcXVlcnlQYXJhbXMgfSk7XG4gIH1cblxuICBuYXZpZ2F0ZSh1cmw6IHN0cmluZywgcmVwbGFjZVVybCA9IGZhbHNlKSB7XG4gICAgY29uc3QgdXJsVHJlZSA9IHRoaXMuZ2V0VXJsVHJlZSh1cmwpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlZCA9IGZhbHNlO1xuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZUZvcndhcmQodXJsVHJlZSwgeyByZXBsYWNlVXJsIH0pO1xuICB9XG5cbiAgbGlzdGVuQ2xpY2tFdmVudHMobmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBTdGFydCBsaXN0ZW5pbmcgY2xpY2sgZXZlbnRzLi4uJyk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIGNvbnN0IGxpc3RlbmVyID0gKGV2ZW50OiBFdmVudCkgPT4gdGhpcy5jbGljayhldmVudCwgbmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3QgbGlua3MgPSBuYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2EnKTtcbiAgICBsaW5rcy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICAvLyBERUJVR1xuICAgICAgLy9jb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gQWRkaW5nIGNsaWNrIGxpc3RlbmVyIHRvJywgbGluayk7XG4gICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpO1xuICAgICAgc3Vic2NyaXB0aW9uLmFkZCgoKSA9PiBsaW5rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpKTtcbiAgICB9KTtcblxuICAgIC8vIERFQlVHXG4gICAgc3Vic2NyaXB0aW9uLmFkZCgoKSA9PiBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gU3RvcCBsaXN0ZW5pbmcgY2xpY2sgZXZlbnRzJykpO1xuXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSByZWxhdGl2ZSBVUkwgdG8gaXRzIGFic29sdXRlIHJlcHJlc2VudGF0aW9uIGFjY29yZGluZyB0byBjdXJyZW50IHJvdXRlciBzdGF0ZS5cbiAgICogQHBhcmFtIHVybCBSZWxhdGl2ZSBVUkwgcGF0aC5cbiAgICogQHJldHVybiBBYnNvbHV0ZSBVUkwgYmFzZWQgb24gdGhlIGN1cnJlbnQgcm91dGUuXG4gICAqL1xuICBub3JtYWxpemVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChVcmxVdGlscy5pc0V4dGVybmFsVXJsKHVybCkpIHtcbiAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VVcmwgJiYgVXJsVXRpbHMuaXNSZWxhdGl2ZVVybCh1cmwpKSB7XG4gICAgICByZXR1cm4gTWFya2Rvd25VdGlscy5yZXNvbHZlUmVsYXRpdmVVcmwodGhpcy5iYXNlVXJsLCB1cmwpO1xuICAgIH1cblxuICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLmdldFVybFRyZWUodXJsKTtcbiAgICBjb25zdCBzZXJpYWxpemVkVXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpO1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uU3RyYXRlZ3kucHJlcGFyZUV4dGVybmFsVXJsKHNlcmlhbGl6ZWRVcmwpO1xuICB9XG5cbiAgc2Nyb2xsVG9BbmNob3IoY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQsIGFuY2hvcklkOiBzdHJpbmcpIHtcbiAgICBpZiAoIWNvbnRhaW5lckVsZW1lbnQgfHwgIWFuY2hvcklkKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJNaXNzaW5nICdjb250YWluZXJFbGVtZW50JyBvciAnZnJhZ21lbnQnIGFyZ3VtZW50LlwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tYW5jaG9yXSBTY3JvbGxpbmcgdG8gYW5jaG9yICMnICsgYW5jaG9ySWQpO1xuXG4gICAgLy8gRmluZCB0aGUgdGFyZ2V0IGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGZyYWdtZW50IElEXG4gICAgbGV0IHRhcmdldEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke2FuY2hvcklkfWApO1xuXG4gICAgLy8gSWYgbm90IGZvdW5kLCByZXRyeSBmaXggYSBmaXhlZCBhbmNob3IgaWQuIFRoaXMgY2FuIG9jY3VyIHdoZW4gVG9DIGhhcyBiZWVuIGdlbmVyYXRlZCBmb3IgdGhlIG1hdmVuLW1hcmtkb3duLXBsdWdpblxuICAgIGlmICghdGFyZ2V0RWxlbWVudCkge1xuICAgICAgdGFyZ2V0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQucXVlcnlTZWxlY3RvcihgIyR7TWFya2Rvd25VdGlscy5maXhBbmNob3IoYW5jaG9ySWQpfWApO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAvLyBTY3JvbGwgc21vb3RobHkgdG8gdGhlIHRhcmdldCBlbGVtZW50XG4gICAgICB0YXJnZXRFbGVtZW50LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLCAvLyBTbW9vdGggc2Nyb2xsaW5nIGJlaGF2aW9yXG4gICAgICAgIGJsb2NrOiAnc3RhcnQnLCAvLyBBbGlnbiB0aGUgdGFyZ2V0IGVsZW1lbnQgdG8gdGhlIHRvcCBvZiB0aGUgY29udGFpbmVyXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKGBObyBlbGVtZW50IGZvdW5kIHdpdGggdGhlIElEIFwiJHthbmNob3JJZH1cIiBpbnNpZGUgdGhlIGNvbnRhaW5lci5gKTtcbiAgICB9XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgZnVuY3Rpb24gLS0gKi9cblxuICBwcm90ZWN0ZWQgc2V0UmVuZGVyZXIocmVuZGVyZXI6IE1hcmtlZFJlbmRlcmVyKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW21hcmtkb3duLXNlcnZpY2VdIFNldCByZW5kZXJlcicsIHJlbmRlcmVyKTtcbiAgICByZW5kZXJlci5saW5rID0gKGhyZWYsIHRpdGxlLCB0ZXh0KSA9PiB0aGlzLmxpbmsoaHJlZiwgdGl0bGUsIHRleHQpO1xuICAgIHJlbmRlcmVyLmltYWdlID0gKGhyZWYsIHRpdGxlLCB0ZXh0KSA9PiB0aGlzLmltYWdlKGhyZWYsIHRpdGxlLCB0ZXh0KTtcbiAgICByZW5kZXJlci5oZWFkaW5nID0gKHRleHQsIGxldmVsLCByYXcpID0+IHRoaXMuaGVhZGluZyh0ZXh0LCBsZXZlbCwgcmF3KTtcbiAgICB0aGlzLl9tYXJrZWRSZW5kZXJlciA9IHJlbmRlcmVyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNsaWNrKGV2ZW50OiBFdmVudCwgY29udGFpbmVyRWxlbWVudDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gUHJvY2Vzc2luZyBjbGljayBldmVudC4uLicsIGV2ZW50KTtcblxuICAgIGlmICghKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSAmJiAhKGV2ZW50LnRhcmdldD8uWyd0YWdOYW1lJ10gPT09ICdBJykpIHtcbiAgICAgIGNvbnNvbGUud2FybignW21hcmtkb3duLXNlcnZpY2VdIEludmFsaWQgY2xpY2sgZXZlbnQgdGFyZ2V0LiBTaG91bGQgYW4gYW5jaG9yIDxhPicsIGV2ZW50LnRhcmdldCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MQW5jaG9yRWxlbWVudDtcblxuICAgIGxldCBocmVmID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICBjb25zdCBmcmFnbWVudCA9IFVybFV0aWxzLmdldEZyYWdtZW50KGhyZWYpO1xuXG4gICAgLy8gRnJhZ21lbnRcbiAgICBpZiAoaHJlZj8uc3RhcnRzV2l0aCgnIycpICYmIGlzTm90TmlsT3JCbGFuayhmcmFnbWVudCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNjcm9sbFRvQW5jaG9yKGNvbnRhaW5lckVsZW1lbnQsIGZyYWdtZW50KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdXRlckxpbmsgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgncm91dGVyTGluaycpO1xuICAgIGlmIChyb3V0ZXJMaW5rKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZUZvcndhcmQocm91dGVyTGluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzb2x2ZSByZWxhdGl2ZSBVUkwsIGlmIGJhc2VVcmwgaGFzIGJlZW4gc2V0XG4gICAgaWYgKHRoaXMuYmFzZVVybCAmJiBVcmxVdGlscy5pc1JlbGF0aXZlVXJsKGhyZWYpKSB7XG4gICAgICBpZiAoTWFya2Rvd25VdGlscy5pc01hcmtkb3duRmlsZShocmVmKSAmJiB0aGlzLm9uQ2xpY2tNYXJrZG93blVybC5vYnNlcnZlZCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm9uQ2xpY2tNYXJrZG93blVybC5uZXh0KGhyZWYpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzb2x2ZSBVUkwsIHRoZW4gb3BlbiB1c2luZyB0aGUgcGxhdGZvcm1cbiAgICAgIGhyZWYgPSBNYXJrZG93blV0aWxzLnJlc29sdmVSZWxhdGl2ZVVybCh0aGlzLmJhc2VVcmwsIGhyZWYpO1xuICAgIH1cblxuICAgIC8vIFJlc29sdmUgaW50ZXJuYWwgVVJMIGFzIGFuIGFwcCByb3V0ZVxuICAgIGlmIChVcmxVdGlscy5pc0ludGVybmFsVXJsKGhyZWYpKSB7XG4gICAgICBjb25zdCByb3V0ZVBhdGggPSB0aGlzLm5vcm1hbGl6ZVVybChocmVmLnN0YXJ0c1dpdGgoJy8nKSA/IGhyZWYgOiBgLyR7aHJlZn1gKTtcbiAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLmdldFVybFRyZWUocm91dGVQYXRoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZWQgPSBmYWxzZTtcbiAgICAgIC8vIE9wZW5pbmcgcm91dGVcbiAgICAgIHJldHVybiB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVGb3J3YXJkKHVybFRyZWUpO1xuICAgIH1cblxuICAgIC8vIEV4dGVybmFsIFVSTDogb3BlbiB1c2luZyB0aGUgcGxhdGZvcm1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGF3YWl0IHRoaXMucGxhdGZvcm0ub3BlbihocmVmKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsaW5rKGhyZWY6IHN0cmluZyB8IG51bGwsIHRpdGxlOiBzdHJpbmcgfCBudWxsLCB0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChVcmxVdGlscy5pc0ludGVybmFsVXJsKGhyZWYpICYmICFocmVmLnN0YXJ0c1dpdGgoJyMnKSAmJiAhdGhpcy5iYXNlVXJsKSB7XG4gICAgICBjb25zdCBleHRlcm5hbFVybCA9IHRoaXMubm9ybWFsaXplVXJsKGhyZWYpO1xuICAgICAgcmV0dXJuIGA8YSBocmVmPVwiJHtleHRlcm5hbFVybH1cIiByb3V0ZXJMaW5rPVwiJHtocmVmfVwiIHRpdGxlPVwiJHt0aXRsZSB8fCAnJ31cIj4ke3RleHR9PC9hPmA7XG4gICAgfVxuICAgIHJldHVybiBgPGEgaHJlZj1cIiR7aHJlZiB8fCAnJ31cIiB0aXRsZT1cIiR7dGl0bGUgfHwgJyd9XCI+JHt0ZXh0fTwvYT5gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGltYWdlKGhyZWY6IHN0cmluZywgdGl0bGU6IHN0cmluZyB8IG51bGwsIHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHVybCA9IGhyZWY7XG4gICAgbGV0IGZhbGxiYWNrVXJsOiBzdHJpbmc7XG4gICAgaWYgKFVybFV0aWxzLmlzUmVsYXRpdmVVcmwoaHJlZikgJiYgdGhpcy5iYXNlVXJsKSB7XG4gICAgICAvLyBSZXNvbHZlIHJlbGF0aXZlIHBhdGhcbiAgICAgIHVybCA9IE1hcmtkb3duVXRpbHMucmVzb2x2ZVJlbGF0aXZlVXJsKHRoaXMuYmFzZVVybCwgaHJlZik7XG5cbiAgICAgIC8vIENvbXB1dGUgYSBmYWxsYmFjayBVUkxcbiAgICAgIGZhbGxiYWNrVXJsID0gTWFya2Rvd25VdGlscy5yZXNvbHZlUmVsYXRpdmVVcmwodGhpcy5iYXNlVXJsLCBocmVmLCB7IGFic29sdXRlQnlEZWZhdWx0OiB0cnVlIH0pO1xuICAgICAgZmFsbGJhY2tVcmwgPSBmYWxsYmFja1VybCA9PT0gdXJsID8gbnVsbCA6IGZhbGxiYWNrVXJsO1xuXG4gICAgICAvLyBERUJVR1xuICAgICAgY29uc29sZS5kZWJ1ZyhgW21hcmtkb3duLXNlcnZpY2VdIFJlcGxhY2luZyBpbWFnZTogJHtocmVmfSAtPiAke3VybH1gKTtcblxuICAgICAgaWYgKGZhbGxiYWNrVXJsKSB7XG4gICAgICAgIGNvbnN0IGZhbGxiYWNrSHRtbCA9IGA8aW1nIHNyYz1cIiR7ZmFsbGJhY2tVcmx9XCIgdGl0bGU9XCIke3RpdGxlIHx8ICcnfVwiIGFsdD1cIiR7dGV4dH1cIiBvbmVycm9yPVwidGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJztcIiAvPmA7XG4gICAgICAgIHJldHVybiBgPGltZyBzcmM9XCIke3VybH1cIiB0aXRsZT1cIiR7dGl0bGUgfHwgJyd9XCIgYWx0PVwiJHt0ZXh0fVwiIG9uZXJyb3I9XCJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnO1wiIC8+YCArIGZhbGxiYWNrSHRtbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0UmVuZGVyZXIuaW1hZ2UodXJsLCB0aXRsZSwgdGV4dCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0UmVuZGVyZXIuaW1hZ2UodXJsLCB0aXRsZSwgdGV4dCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGVhZGluZyh0ZXh0OiBzdHJpbmcsIGxldmVsOiBudW1iZXIsIHJhdzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBJZiBOT1QgdGhlIGgxIChkb2N1bWVudCB0aXRsZSlcbiAgICBjb25zdCBhbmNob3IgPSBNYXJrZG93blV0aWxzLnRleHRUb0FuY2hvcih0ZXh0KTtcbiAgICBpZiAoaXNOb3ROaWxPckJsYW5rKGFuY2hvcikpIHtcbiAgICAgIGNvbnN0IHBhZ2VCcmVhayA9IGxldmVsIDwgMjtcbiAgICAgIGNvbnNvbGUuZGVidWcoYFttYXJrZG93bi1zZXJ2aWNlXSBIZWFkaW5nICR7bGV2ZWx9ICcke3RleHR9JyB3aXRoIGFuY2hvciAke2FuY2hvcn1gKTtcbiAgICAgIGNvbnN0IGxpbmsgPSBgPGEgaWQ9XCIke2FuY2hvcn1cIiBjbGFzcz1cImFuY2hvciAke3BhZ2VCcmVhayA/ICdwYWdlLWJyZWFrJyA6ICcnfVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGhyZWY9XCIjJHthbmNob3J9XCI+PC9hPmA7XG4gICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFJlbmRlcmVyLmhlYWRpbmcobGluayArIHRleHQsIGxldmVsLCByYXcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFJlbmRlcmVyLmhlYWRpbmcodGV4dCwgbGV2ZWwsIHJhdyk7XG4gIH1cbn1cbiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUd2RSxNQUFNLE9BQU8sZUFBZTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sQ0FBUztJQUVQLGdCQUFnQixHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFDakQs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RUFBRSxHQUFXO1FBQ3hELGlDQUFpQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixLQUFLLEtBQUssSUFBSSxpQkFBaUIsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNyRixNQUFNLElBQUksR0FBRyxVQUFVLE1BQU0sbUJBQW1CLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLCtCQUErQixNQUFNLFFBQVEsQ0FBQztZQUMzSCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7d0dBek5VLGVBQWU7NEdBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgTG9jYXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXJrZWRSZW5kZXJlciB9IGZyb20gJ25neC1tYXJrZG93bic7XG5pbXBvcnQgeyBVcmxVdGlscyB9IGZyb20gJy4uL2ZpbGUvdXJsLnV0aWxzJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNOb3ROaWxPckJsYW5rIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7IE1hcmtkb3duVXRpbHMgfSBmcm9tICcuL21hcmtkb3duLnV0aWxzJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvcGxhdGZvcm0uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm1TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBsb2NhdGlvblN0cmF0ZWd5ID0gaW5qZWN0KExvY2F0aW9uU3RyYXRlZ3kpO1xuICBwcml2YXRlIG5hdkNvbnRyb2xsZXIgPSBpbmplY3QoTmF2Q29udHJvbGxlcik7XG5cbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFJlbmRlcmVyID0gbmV3IE1hcmtlZFJlbmRlcmVyKCk7XG4gIHByaXZhdGUgX21hcmtlZFJlbmRlcmVyOiBNYXJrZWRSZW5kZXJlcjtcblxuICBnZXQgcmVuZGVyZXIoKTogTWFya2VkUmVuZGVyZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXJrZWRSZW5kZXJlcjtcbiAgfVxuXG4gIHNldCByZW5kZXJlcih2YWx1ZTogTWFya2VkUmVuZGVyZXIpIHtcbiAgICB0aGlzLnNldFJlbmRlcmVyKHZhbHVlKTtcbiAgfVxuXG4gIG9uQ2xpY2tNYXJrZG93blVybCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNldFJlbmRlcmVyKG5ldyBNYXJrZWRSZW5kZXJlcigpKTtcbiAgfVxuXG4gIHNldEJhc2VVcmwoYmFzZVVybDogc3RyaW5nKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW21hcmtkb3duLXNlcnZpY2VdIEJhc2UgVVJMOiAnICsgYmFzZVVybCk7XG4gICAgdGhpcy5iYXNlVXJsID0gYmFzZVVybDtcbiAgfVxuXG4gIHJlc2V0QmFzZVVybCgpIHtcbiAgICB0aGlzLnNldEJhc2VVcmwobnVsbCk7XG4gIH1cblxuICBnZXRVcmxUcmVlKHVybDogc3RyaW5nKTogVXJsVHJlZSB7XG4gICAgdXJsID0gVXJsVXRpbHMubm9ybWFsaXplVXJsKHVybCk7XG4gICAgY29uc3QgdXJsUGF0aCA9IFVybFV0aWxzLnN0cmlwRnJhZ21lbnRBbmRRdWVyeSh1cmwpIHx8IFVybFV0aWxzLnN0cmlwRnJhZ21lbnRBbmRRdWVyeSh0aGlzLnJvdXRlci51cmwpO1xuICAgIGNvbnN0IHBhcnNlZFVybCA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHVybCk7XG4gICAgY29uc3QgZnJhZ21lbnQgPSBwYXJzZWRVcmwuZnJhZ21lbnQ7XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSBwYXJzZWRVcmwucXVlcnlQYXJhbXM7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW3VybFBhdGhdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUsIGZyYWdtZW50LCBxdWVyeVBhcmFtcyB9KTtcbiAgfVxuXG4gIG5hdmlnYXRlKHVybDogc3RyaW5nLCByZXBsYWNlVXJsID0gZmFsc2UpIHtcbiAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5nZXRVcmxUcmVlKHVybCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVkID0gZmFsc2U7XG4gICAgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlRm9yd2FyZCh1cmxUcmVlLCB7IHJlcGxhY2VVcmwgfSk7XG4gIH1cblxuICBsaXN0ZW5DbGlja0V2ZW50cyhuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgY29uc29sZS5kZWJ1ZygnW21hcmtkb3duLXNlcnZpY2VdIFN0YXJ0IGxpc3RlbmluZyBjbGljayBldmVudHMuLi4nKTtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgY29uc3QgbGlzdGVuZXIgPSAoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsaWNrKGV2ZW50LCBuYXRpdmVFbGVtZW50KTtcbiAgICBjb25zdCBsaW5rcyA9IG5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYScpO1xuICAgIGxpbmtzLmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgIC8vIERFQlVHXG4gICAgICAvL2NvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBBZGRpbmcgY2xpY2sgbGlzdGVuZXIgdG8nLCBsaW5rKTtcbiAgICAgIGxpbmsuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gICAgICBzdWJzY3JpcHRpb24uYWRkKCgpID0+IGxpbmsucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcikpO1xuICAgIH0pO1xuXG4gICAgLy8gREVCVUdcbiAgICBzdWJzY3JpcHRpb24uYWRkKCgpID0+IGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBTdG9wIGxpc3RlbmluZyBjbGljayBldmVudHMnKSk7XG5cbiAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBhIHJlbGF0aXZlIFVSTCB0byBpdHMgYWJzb2x1dGUgcmVwcmVzZW50YXRpb24gYWNjb3JkaW5nIHRvIGN1cnJlbnQgcm91dGVyIHN0YXRlLlxuICAgKiBAcGFyYW0gdXJsIFJlbGF0aXZlIFVSTCBwYXRoLlxuICAgKiBAcmV0dXJuIEFic29sdXRlIFVSTCBiYXNlZCBvbiB0aGUgY3VycmVudCByb3V0ZS5cbiAgICovXG4gIG5vcm1hbGl6ZVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKFVybFV0aWxzLmlzRXh0ZXJuYWxVcmwodXJsKSkge1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmFzZVVybCAmJiBVcmxVdGlscy5pc1JlbGF0aXZlVXJsKHVybCkpIHtcbiAgICAgIHJldHVybiBNYXJrZG93blV0aWxzLnJlc29sdmVSZWxhdGl2ZVVybCh0aGlzLmJhc2VVcmwsIHVybCk7XG4gICAgfVxuXG4gICAgY29uc3QgdXJsVHJlZSA9IHRoaXMuZ2V0VXJsVHJlZSh1cmwpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRVcmwgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSk7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TdHJhdGVneS5wcmVwYXJlRXh0ZXJuYWxVcmwoc2VyaWFsaXplZFVybCk7XG4gIH1cblxuICBzY3JvbGxUb0FuY2hvcihjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCwgYW5jaG9ySWQ6IHN0cmluZykge1xuICAgIGlmICghY29udGFpbmVyRWxlbWVudCB8fCAhYW5jaG9ySWQpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIk1pc3NpbmcgJ2NvbnRhaW5lckVsZW1lbnQnIG9yICdmcmFnbWVudCcgYXJndW1lbnQuXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1hbmNob3JdIFNjcm9sbGluZyB0byBhbmNob3IgIycgKyBhbmNob3JJZCk7XG5cbiAgICAvLyBGaW5kIHRoZSB0YXJnZXQgZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgZnJhZ21lbnQgSURcbiAgICBsZXQgdGFyZ2V0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQucXVlcnlTZWxlY3RvcihgIyR7YW5jaG9ySWR9YCk7XG5cbiAgICAvLyBJZiBub3QgZm91bmQsIHJldHJ5IGZpeCBhIGZpeGVkIGFuY2hvciBpZC4gVGhpcyBjYW4gb2NjdXIgd2hlbiBUb0MgaGFzIGJlZW4gZ2VuZXJhdGVkIGZvciB0aGUgbWF2ZW4tbWFya2Rvd24tcGx1Z2luXG4gICAgaWYgKCF0YXJnZXRFbGVtZW50KSB7XG4gICAgICB0YXJnZXRFbGVtZW50ID0gY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yKGAjJHtNYXJrZG93blV0aWxzLmZpeEFuY2hvcihhbmNob3JJZCl9YCk7XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgIC8vIFNjcm9sbCBzbW9vdGhseSB0byB0aGUgdGFyZ2V0IGVsZW1lbnRcbiAgICAgIHRhcmdldEVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsIC8vIFNtb290aCBzY3JvbGxpbmcgYmVoYXZpb3JcbiAgICAgICAgYmxvY2s6ICdzdGFydCcsIC8vIEFsaWduIHRoZSB0YXJnZXQgZWxlbWVudCB0byB0aGUgdG9wIG9mIHRoZSBjb250YWluZXJcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oYE5vIGVsZW1lbnQgZm91bmQgd2l0aCB0aGUgSUQgXCIke2FuY2hvcklkfVwiIGluc2lkZSB0aGUgY29udGFpbmVyLmApO1xuICAgIH1cbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBmdW5jdGlvbiAtLSAqL1xuXG4gIHByb3RlY3RlZCBzZXRSZW5kZXJlcihyZW5kZXJlcjogTWFya2VkUmVuZGVyZXIpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd24tc2VydmljZV0gU2V0IHJlbmRlcmVyJywgcmVuZGVyZXIpO1xuICAgIHJlbmRlcmVyLmxpbmsgPSAoaHJlZiwgdGl0bGUsIHRleHQpID0+IHRoaXMubGluayhocmVmLCB0aXRsZSwgdGV4dCk7XG4gICAgcmVuZGVyZXIuaW1hZ2UgPSAoaHJlZiwgdGl0bGUsIHRleHQpID0+IHRoaXMuaW1hZ2UoaHJlZiwgdGl0bGUsIHRleHQpO1xuICAgIHJlbmRlcmVyLmhlYWRpbmcgPSAodGV4dCwgbGV2ZWwsIHJhdykgPT4gdGhpcy5oZWFkaW5nKHRleHQsIGxldmVsLCByYXcpO1xuICAgIHRoaXMuX21hcmtlZFJlbmRlcmVyID0gcmVuZGVyZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2xpY2soZXZlbnQ6IEV2ZW50LCBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnNvbGUuZGVidWcoJ1ttYXJrZG93bi1zZXJ2aWNlXSBQcm9jZXNzaW5nIGNsaWNrIGV2ZW50Li4uJywgZXZlbnQpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldDtcbiAgICBpZiAoIShlbGVtZW50IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGhyZWYgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICAgIGNvbnN0IGZyYWdtZW50ID0gVXJsVXRpbHMuZ2V0RnJhZ21lbnQoaHJlZik7XG5cbiAgICAvLyBGcmFnbWVudFxuICAgIGlmIChocmVmPy5zdGFydHNXaXRoKCcjJykgJiYgaXNOb3ROaWxPckJsYW5rKGZyYWdtZW50KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2Nyb2xsVG9BbmNob3IoY29udGFpbmVyRWxlbWVudCwgZnJhZ21lbnQpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgcm91dGVyTGluayA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyb3V0ZXJMaW5rJyk7XG4gICAgaWYgKHJvdXRlckxpbmspIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm4gdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlRm9yd2FyZChyb3V0ZXJMaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNvbHZlIHJlbGF0aXZlIFVSTCwgaWYgYmFzZVVybCBoYXMgYmVlbiBzZXRcbiAgICBpZiAodGhpcy5iYXNlVXJsICYmIFVybFV0aWxzLmlzUmVsYXRpdmVVcmwoaHJlZikpIHtcbiAgICAgIGlmIChNYXJrZG93blV0aWxzLmlzTWFya2Rvd25GaWxlKGhyZWYpICYmIHRoaXMub25DbGlja01hcmtkb3duVXJsLm9ic2VydmVkKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMub25DbGlja01hcmtkb3duVXJsLm5leHQoaHJlZik7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNvbHZlIFVSTCwgdGhlbiBvcGVuIHVzaW5nIHRoZSBwbGF0Zm9ybVxuICAgICAgaHJlZiA9IE1hcmtkb3duVXRpbHMucmVzb2x2ZVJlbGF0aXZlVXJsKHRoaXMuYmFzZVVybCwgaHJlZik7XG4gICAgfVxuXG4gICAgLy8gUmVzb2x2ZSBpbnRlcm5hbCBVUkwgYXMgYW4gYXBwIHJvdXRlXG4gICAgaWYgKFVybFV0aWxzLmlzSW50ZXJuYWxVcmwoaHJlZikpIHtcbiAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IHRoaXMubm9ybWFsaXplVXJsKGhyZWYuc3RhcnRzV2l0aCgnLycpID8gaHJlZiA6IGAvJHtocmVmfWApO1xuICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMuZ2V0VXJsVHJlZShyb3V0ZVBhdGgpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlZCA9IGZhbHNlO1xuICAgICAgLy8gT3BlbmluZyByb3V0ZVxuICAgICAgcmV0dXJuIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZUZvcndhcmQodXJsVHJlZSk7XG4gICAgfVxuXG4gICAgLy8gRXh0ZXJuYWwgVVJMOiBvcGVuIHVzaW5nIHRoZSBwbGF0Zm9ybVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgYXdhaXQgdGhpcy5wbGF0Zm9ybS5vcGVuKGhyZWYpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxpbmsoaHJlZjogc3RyaW5nIHwgbnVsbCwgdGl0bGU6IHN0cmluZyB8IG51bGwsIHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKFVybFV0aWxzLmlzSW50ZXJuYWxVcmwoaHJlZikgJiYgIWhyZWYuc3RhcnRzV2l0aCgnIycpICYmICF0aGlzLmJhc2VVcmwpIHtcbiAgICAgIGNvbnN0IGV4dGVybmFsVXJsID0gdGhpcy5ub3JtYWxpemVVcmwoaHJlZik7XG4gICAgICByZXR1cm4gYDxhIGhyZWY9XCIke2V4dGVybmFsVXJsfVwiIHJvdXRlckxpbms9XCIke2hyZWZ9XCIgdGl0bGU9XCIke3RpdGxlIHx8ICcnfVwiPiR7dGV4dH08L2E+YDtcbiAgICB9XG4gICAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmIHx8ICcnfVwiIHRpdGxlPVwiJHt0aXRsZSB8fCAnJ31cIj4ke3RleHR9PC9hPmA7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW1hZ2UoaHJlZjogc3RyaW5nLCB0aXRsZTogc3RyaW5nIHwgbnVsbCwgdGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gaHJlZjtcbiAgICBsZXQgZmFsbGJhY2tVcmw6IHN0cmluZztcbiAgICBpZiAoVXJsVXRpbHMuaXNSZWxhdGl2ZVVybChocmVmKSAmJiB0aGlzLmJhc2VVcmwpIHtcbiAgICAgIC8vIFJlc29sdmUgcmVsYXRpdmUgcGF0aFxuICAgICAgdXJsID0gTWFya2Rvd25VdGlscy5yZXNvbHZlUmVsYXRpdmVVcmwodGhpcy5iYXNlVXJsLCBocmVmKTtcblxuICAgICAgLy8gQ29tcHV0ZSBhIGZhbGxiYWNrIFVSTFxuICAgICAgZmFsbGJhY2tVcmwgPSBNYXJrZG93blV0aWxzLnJlc29sdmVSZWxhdGl2ZVVybCh0aGlzLmJhc2VVcmwsIGhyZWYsIHsgYWJzb2x1dGVCeURlZmF1bHQ6IHRydWUgfSk7XG4gICAgICBmYWxsYmFja1VybCA9IGZhbGxiYWNrVXJsID09PSB1cmwgPyBudWxsIDogZmFsbGJhY2tVcmw7XG5cbiAgICAgIC8vIERFQlVHXG4gICAgICBjb25zb2xlLmRlYnVnKGBbbWFya2Rvd24tc2VydmljZV0gUmVwbGFjaW5nIGltYWdlOiAke2hyZWZ9IC0+ICR7dXJsfWApO1xuXG4gICAgICBpZiAoZmFsbGJhY2tVcmwpIHtcbiAgICAgICAgY29uc3QgZmFsbGJhY2tIdG1sID0gYDxpbWcgc3JjPVwiJHtmYWxsYmFja1VybH1cIiB0aXRsZT1cIiR7dGl0bGUgfHwgJyd9XCIgYWx0PVwiJHt0ZXh0fVwiIG9uZXJyb3I9XCJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnO1wiIC8+YDtcbiAgICAgICAgcmV0dXJuIGA8aW1nIHNyYz1cIiR7dXJsfVwiIHRpdGxlPVwiJHt0aXRsZSB8fCAnJ31cIiBhbHQ9XCIke3RleHR9XCIgb25lcnJvcj1cInRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7XCIgLz5gICsgZmFsbGJhY2tIdG1sO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRSZW5kZXJlci5pbWFnZSh1cmwsIHRpdGxlLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRSZW5kZXJlci5pbWFnZSh1cmwsIHRpdGxlLCB0ZXh0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoZWFkaW5nKHRleHQ6IHN0cmluZywgbGV2ZWw6IG51bWJlciwgcmF3OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIElmIE5PVCB0aGUgaDEgKGRvY3VtZW50IHRpdGxlKVxuICAgIGNvbnN0IGFuY2hvciA9IE1hcmtkb3duVXRpbHMudGV4dFRvQW5jaG9yKHRleHQpO1xuICAgIGlmIChpc05vdE5pbE9yQmxhbmsoYW5jaG9yKSkge1xuICAgICAgY29uc3QgcGFnZUJyZWFrID0gbGV2ZWwgPCAyO1xuICAgICAgY29uc29sZS5kZWJ1ZyhgW21hcmtkb3duLXNlcnZpY2VdIEhlYWRpbmcgJHtsZXZlbH0gJyR7dGV4dH0nIHdpdGggYW5jaG9yICR7YW5jaG9yfWApO1xuICAgICAgY29uc3QgbGluayA9IGA8YSBpZD1cIiR7YW5jaG9yfVwiIGNsYXNzPVwiYW5jaG9yICR7cGFnZUJyZWFrID8gJ3BhZ2UtYnJlYWsnIDogJyd9XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgaHJlZj1cIiMke2FuY2hvcn1cIj48L2E+YDtcbiAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0UmVuZGVyZXIuaGVhZGluZyhsaW5rICsgdGV4dCwgbGV2ZWwsIHJhdyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0UmVuZGVyZXIuaGVhZGluZyh0ZXh0LCBsZXZlbCwgcmF3KTtcbiAgfVxufVxuIl19
|
|
@@ -61,15 +61,8 @@ export class MarkdownUtils {
|
|
|
61
61
|
return UrlUtils.normalizeUrl(UrlUtils.concat(baseUrl, relativePath));
|
|
62
62
|
}
|
|
63
63
|
static isGitlabUrl(url) {
|
|
64
|
-
if (!url)
|
|
65
|
-
return false;
|
|
66
64
|
return url.startsWith('https://gitlab.') || url.includes('/-/raw/') || url.includes('/-/blob/');
|
|
67
65
|
}
|
|
68
|
-
static fixGitlabUrlToRaw(url) {
|
|
69
|
-
if (!this.isGitlabUrl(url))
|
|
70
|
-
return url;
|
|
71
|
-
return url.replace('/-/blob/', '/-/raw/').replace('/-/tree/', '/-/raw/');
|
|
72
|
-
}
|
|
73
66
|
static getRootUrl(url) {
|
|
74
67
|
if (this.isGitlabUrl(url)) {
|
|
75
68
|
console.debug('[markdown] Gitlab URL detected: ' + url);
|
|
@@ -84,4 +77,4 @@ export class MarkdownUtils {
|
|
|
84
77
|
return UrlUtils.getRootUrl(url);
|
|
85
78
|
}
|
|
86
79
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24udXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXJrZG93bi9tYXJrZG93bi51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBVSxpQkFBaUIsR0FBaUM7UUFDaEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxlQUFlO1FBQzdCLFFBQVEsRUFBRSxHQUFHLEVBQUUsZUFBZTtRQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVk7UUFDMUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxZQUFZO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLEVBQUUsZUFBZTtRQUM1QixRQUFRLEVBQUUsR0FBRyxFQUFFLHFCQUFxQjtRQUNwQyxtQ0FBbUM7S0FDcEMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFZO1FBQzlCLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUNMLElBQUk7YUFDRCxXQUFXLEVBQUU7YUFDYixJQUFJLEVBQUU7WUFDUCxtQkFBbUI7YUFDbEIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzNFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7YUFDN0IsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7YUFDbkIsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1B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LEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcmlVdGlscyB9IGZyb20gJy4uL2ZpbGUvdXJpLnV0aWxzJztcbmltcG9ydCB7IFVybFV0aWxzIH0gZnJvbSAnLi4vZmlsZS91cmwudXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgTWFya2Rvd25VdGlscyB7XG4gIHN0YXRpYyByZWFkb25seSBIVE1MX0VOVElUSUVTX01BUDogeyBbZW50aXR5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAnJiMzOTsnOiBcIidcIiwgLy8gU2luZ2xlIHF1b3RlXG4gICAgJyZxdW90Oyc6ICdcIicsIC8vIERvdWJsZSBxdW90ZVxuICAgICcmYW1wOyc6ICcmJywgLy8gQW1wZXJzYW5kXG4gICAgJyZsdDsnOiAnPCcsIC8vIExlc3MtdGhhblxuICAgICcmZ3Q7JzogJz4nLCAvLyBHcmVhdGVyLXRoYW5cbiAgICAnJm5ic3A7JzogJyAnLCAvLyBOb24tYnJlYWtpbmcgc3BhY2VcbiAgICAvLyBBZGQgbW9yZSBlbnRpdGllcyBoZXJlIGlmIG5lZWRlZFxuICB9O1xuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgZ2l2ZW4gdGV4dCBpbnRvIGEgdmFsaWQgYW5jaG9yLWNvbXBhdGlibGUgZm9ybWF0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIFRoZSBpbnB1dCB0ZXh0IHRvIGJlIHRyYW5zZm9ybWVkIGludG8gYW4gYW5jaG9yLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmb3JtYXR0ZWQgc3RyaW5nIHN1aXRhYmxlIGZvciB1c2UgYXMgYW4gYW5jaG9yLlxuICAgKi9cbiAgc3RhdGljIHRleHRUb0FuY2hvcih0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdGV4dCkgcmV0dXJuICcnO1xuICAgIHJldHVybiAoXG4gICAgICB0ZXh0XG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC50cmltKClcbiAgICAgICAgLy8gUmVwbGFjZSBlbnRpdGllc1xuICAgICAgICAucmVwbGFjZSgvJiM/W2EtejAtOV0rOy9nLCAoZW50aXR5KSA9PiB0aGlzLkhUTUxfRU5USVRJRVNfTUFQW2VudGl0eV0gfHwgJycpXG4gICAgICAgIC5yZXBsYWNlKC9bJ1wiJjw+PVxcXFwoKV0rL2csICcnKVxuICAgICAgICAucmVwbGFjZSgvXFxzL2csICctJylcbiAgICAgICAgLnJlcGxhY2UoL14tfC0kL2csICctJylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkanVzdHMgdGhlIGdpdmVuIGFuY2hvciBJRCBieSByZXBsYWNpbmcgdW5kZXJzY29yZXMgd2l0aCBoeXBoZW5zIGFuZCBjb252ZXJ0aW5nIHRvIGxvd2VyY2FzZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFuY2hvcklkIC0gVGhlIGFuY2hvciBJRCBzdHJpbmcgdG8gYmUgZml4ZWQuXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIG1vZGlmaWVkIGFuY2hvciBJRCB3aXRoIHVuZGVyc2NvcmVzIHJlcGxhY2VkIGJ5IGh5cGhlbnMgYW5kIGNvbnZlcnRlZCB0byBsb3dlcmNhc2UsIG9yIHRoZSBvcmlnaW5hbCBhbmNob3IgSUQgaWYgaXQgaXMgZmFsc3kuXG4gICAqL1xuICBzdGF0aWMgZml4QW5jaG9yKGFuY2hvcklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghYW5jaG9ySWQpIHJldHVybiBhbmNob3JJZDtcbiAgICByZXR1cm4gYW5jaG9ySWQucmVwbGFjZSgvXy9nLCAnLScpLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBzdGF0aWMgaXNNYXJrZG93bkZpbGUodXJsOiBzdHJpbmcpIHtcbiAgICBpZiAoIXVybCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGNsZWFuVXJsID0gVXJsVXRpbHMuc3RyaXBGcmFnbWVudEFuZFF1ZXJ5KHVybCk7XG4gICAgY29uc3QgZmlsZW5hbWUgPSBVcmlVdGlscy5nZXRGaWxlbmFtZShjbGVhblVybCk7XG4gICAgcmV0dXJuIGZpbGVuYW1lLmVuZHNXaXRoKCcubWQnKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNvbHZlUmVsYXRpdmVVcmwoYmFzZVVybDogc3RyaW5nLCByZWxhdGl2ZVBhdGg6IHN0cmluZywgb3B0cz86IHsgYWJzb2x1dGVCeURlZmF1bHQ6IGJvb2xlYW4gfSkge1xuICAgIGlmICghYmFzZVVybCkgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgJ2Jhc2VVcmwnIGlzIG1pc3NpbmdcIik7XG4gICAgaWYgKCFyZWxhdGl2ZVBhdGgpIHRocm93IG5ldyBFcnJvcihcIkFyZ3VtZW50ICdyZWxhdGl2ZVBhdGgnIGlzIG1pc3NpbmdcIik7XG4gICAgaWYgKCFVcmxVdGlscy5pc1JlbGF0aXZlVXJsKHJlbGF0aXZlUGF0aCkpIHRocm93IG5ldyBFcnJvcignU2hvdWxkIGJlIGEgcmVsYXRpdmUgcGF0aCcpO1xuXG4gICAgLy8gRGV0ZWN0IGFic29sdXRlIFVSTFxuICAgIGlmIChyZWxhdGl2ZVBhdGguc3RhcnRzV2l0aCgnLycpIHx8IChvcHRzPy5hYnNvbHV0ZUJ5RGVmYXVsdCAmJiAhcmVsYXRpdmVQYXRoLnN0YXJ0c1dpdGgoJy4nKSkpIHtcbiAgICAgIGJhc2VVcmwgPSB0aGlzLmdldFJvb3RVcmwoYmFzZVVybCk7XG4gICAgICByZWxhdGl2ZVBhdGggPSByZWxhdGl2ZVBhdGguc3RhcnRzV2l0aCgnLycpID8gcmVsYXRpdmVQYXRoLnN1YnN0cmluZygxKSA6IHJlbGF0aXZlUGF0aDtcbiAgICB9XG5cbiAgICByZXR1cm4gVXJsVXRpbHMubm9ybWFsaXplVXJsKFVybFV0aWxzLmNvbmNhdChiYXNlVXJsLCByZWxhdGl2ZVBhdGgpKTtcbiAgfVxuXG4gIHN0YXRpYyBpc0dpdGxhYlVybCh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB1cmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly9naXRsYWIuJykgfHwgdXJsLmluY2x1ZGVzKCcvLS9yYXcvJykgfHwgdXJsLmluY2x1ZGVzKCcvLS9ibG9iLycpO1xuICB9XG5cbiAgc3RhdGljIGdldFJvb3RVcmwodXJsOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc0dpdGxhYlVybCh1cmwpKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbbWFya2Rvd25dIEdpdGxhYiBVUkwgZGV0ZWN0ZWQ6ICcgKyB1cmwpO1xuICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJy8tL2Jsb2IvJywgJy8tL3Jhdy8nKTtcbiAgICAgIGlmICh1cmwuaW5jbHVkZXMoJy8tL3Jhdy8nKSkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHVybC5pbmRleE9mKCcvLS9yYXcvJykgKyAnLy0vcmF3LycubGVuZ3RoO1xuICAgICAgICBjb25zdCByb290UGF0aCA9IHVybC5zdWJzdHJpbmcoMCwgaW5kZXgpO1xuICAgICAgICBjb25zdCBicmFuY2ggPSB1cmwuc3Vic3RyaW5nKGluZGV4KS5zcGxpdCgnLycsIDIpWzBdO1xuICAgICAgICByZXR1cm4gcm9vdFBhdGggKyBicmFuY2g7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBVcmxVdGlscy5nZXRSb290VXJsKHVybCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import { AppMarkdownModal } from '../markdown.modal';
|
|
3
|
-
import { ENVIRONMENT } from '../../../../environments/environment.class';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
import * as i1 from "@ionic/angular";
|
|
6
5
|
import * as i2 from "@angular/forms";
|
|
7
6
|
import * as i3 from "../markdown.component";
|
|
8
7
|
import * as i4 from "@ngx-translate/core";
|
|
9
|
-
import * as i5 from "../../../../environments/environment.class";
|
|
10
8
|
export class MarkdownTestPage {
|
|
11
9
|
modalCtrl;
|
|
12
10
|
cd;
|
|
13
|
-
environment;
|
|
14
11
|
markdownModalTitle = 'Markdown modal';
|
|
15
|
-
debug;
|
|
16
12
|
// URL from a starting markdown
|
|
17
13
|
//protected markdownUrl = 'http://localhost:3000/user-manual/index.md';
|
|
18
14
|
markdownUrl = 'https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-doc/-/raw/master/projects/pifil/man/quick_start_guide_fr.md';
|
|
@@ -21,11 +17,9 @@ export class MarkdownTestPage {
|
|
|
21
17
|
//protected markdownUrl = 'https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-doc/-/raw/master/model/administration/index.md';
|
|
22
18
|
//protected markdownUrl ='https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-doc/-/raw/master/projects/activity-calendar/spe/collecte_de_donnees.md';
|
|
23
19
|
//protected markdownUrl ='https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-app/-/raw/develop/doc/privacy_policy.md';
|
|
24
|
-
constructor(modalCtrl, cd
|
|
20
|
+
constructor(modalCtrl, cd) {
|
|
25
21
|
this.modalCtrl = modalCtrl;
|
|
26
22
|
this.cd = cd;
|
|
27
|
-
this.environment = environment;
|
|
28
|
-
this.debug = !environment.production;
|
|
29
23
|
}
|
|
30
24
|
onSubmit(event, newUrl) {
|
|
31
25
|
this.markdownUrl = '' + newUrl;
|
|
@@ -42,14 +36,11 @@ export class MarkdownTestPage {
|
|
|
42
36
|
canPrint: true,
|
|
43
37
|
});
|
|
44
38
|
}
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MarkdownTestPage, deps: [{ token: i1.ModalController }, { token: i0.ChangeDetectorRef }
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MarkdownTestPage, selector: "app-markdown-test", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n @if (content.canGoBack) {\n <ion-button class=\"back-button\" (click)=\"content.goBack($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n } @else {\n <ion-back-button></ion-back-button>\n }\n </ion-buttons>\n\n <ion-title>Markdown test page</ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MarkdownTestPage, deps: [{ token: i1.ModalController }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MarkdownTestPage, selector: "app-markdown-test", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n @if (content.canGoBack) {\n <ion-button class=\"back-button\" (click)=\"content.goBack($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n } @else {\n <ion-back-button></ion-back-button>\n }\n </ion-buttons>\n\n <ion-title>Markdown test page</ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"openHelpModal($event)\">Open in modal</ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <ion-input\n #input\n fill=\"outline\"\n [ngModel]=\"markdownUrl\"\n placeholder=\"Markdown URL\"\n label=\"URL: \"\n (keyup.enter)=\"onSubmit($event, input.value)\"\n >\n <ion-button\n slot=\"end\"\n [fill]=\"markdownUrl !== input.value ? 'solid' : 'clear'\"\n (click)=\"onSubmit($event, input.value)\"\n >\n {{ 'COMMON.BTN_OK' | translate }}\n </ion-button>\n </ion-input>\n\n <app-markdown-content\n #content\n [src]=\"markdownUrl\"\n enableNavigationHistory=\"true\"\n debug=\"true\"\n (markdownUrlChange)=\"updateInputUrl($event)\"\n ></app-markdown-content>\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "component", type: i1.IonBackButton, selector: "ion-back-button" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AppMarkdownContent, selector: "app-markdown-content", inputs: ["data", "src", "anchor", "debug", "showError", "animated", "enableNavigationHistory", "updateRouteLocation"], outputs: ["markdownUrlChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
41
|
}
|
|
48
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MarkdownTestPage, decorators: [{
|
|
49
43
|
type: Component,
|
|
50
|
-
args: [{ selector: 'app-markdown-test', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n @if (content.canGoBack) {\n <ion-button class=\"back-button\" (click)=\"content.goBack($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n } @else {\n <ion-back-button></ion-back-button>\n }\n </ion-buttons>\n\n <ion-title>Markdown test page</ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button
|
|
51
|
-
}], ctorParameters: () => [{ type: i1.ModalController }, { type: i0.ChangeDetectorRef }
|
|
52
|
-
|
|
53
|
-
args: [ENVIRONMENT]
|
|
54
|
-
}] }] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL3Rlc3RpbmcvbWFya2Rvd24udGVzdC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL3Rlc3RpbmcvbWFya2Rvd24udGVzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxPQUFPLEVBQWUsV0FBVyxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7QUFPdEYsTUFBTSxPQUFPLGdCQUFnQjtJQWNqQjtJQUNBO0lBQ3VCO0lBZnZCLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDO0lBQ3RDLEtBQUssQ0FBVTtJQUV6QiwrQkFBK0I7SUFDL0IsdUVBQXVFO0lBQzdELFdBQVcsR0FBRyxrSEFBa0gsQ0FBQztJQUMzSSw0R0FBNEc7SUFDNUcsaUhBQWlIO0lBQ2pILGdJQUFnSTtJQUNoSSx1SkFBdUo7SUFDdkosd0hBQXdIO0lBRXhILFlBQ1UsU0FBMEIsRUFDMUIsRUFBcUIsRUFDRSxXQUF3QjtRQUYvQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNFLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRXZELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWSxFQUFFLE1BQXVCO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzNDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzlCLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUNyQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBckNVLGdCQUFnQixrRkFnQmpCLFdBQVc7NEZBaEJWLGdCQUFnQix5RENWN0IsdzdDQWtEQTs7NEZEeENhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxtQkFBbUIsbUJBRVosdUJBQXVCLENBQUMsTUFBTTs7MEJBa0I1QyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBNYXJrZG93bk1vZGFsIH0gZnJvbSAnLi4vbWFya2Rvd24ubW9kYWwnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1hcmtkb3duLXRlc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFya2Rvd24udGVzdC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duVGVzdFBhZ2Uge1xuICBwcm90ZWN0ZWQgbWFya2Rvd25Nb2RhbFRpdGxlID0gJ01hcmtkb3duIG1vZGFsJztcbiAgcHJvdGVjdGVkIGRlYnVnOiBib29sZWFuO1xuXG4gIC8vIFVSTCBmcm9tIGEgc3RhcnRpbmcgbWFya2Rvd25cbiAgLy9wcm90ZWN0ZWQgbWFya2Rvd25VcmwgPSAnaHR0cDovL2xvY2FsaG9zdDozMDAwL3VzZXItbWFudWFsL2luZGV4Lm1kJztcbiAgcHJvdGVjdGVkIG1hcmtkb3duVXJsID0gJ2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL3N1bWFyaXMtZG9jLy0vcmF3L21hc3Rlci9wcm9qZWN0cy9waWZpbC9tYW4vcXVpY2tfc3RhcnRfZ3VpZGVfZnIubWQnO1xuICAvL3Byb3RlY3RlZCBtYXJrZG93blVybCA9ICdodHRwczovL2dpdGxhYi5pZnJlbWVyLmZyL3NpaC1wdWJsaWMvc3VtYXJpcy9zdW1hcmlzLWRvYy8tL3Jhdy9tYXN0ZXIvUkVBRE1FLm1kJztcbiAgLy9wcm90ZWN0ZWQgbWFya2Rvd25VcmwgPSAnaHR0cHM6Ly9naXRsYWIuaWZyZW1lci5mci9zaWgtcHVibGljL3N1bWFyaXMvc3VtYXJpcy1kb2MvLS9yYXcvbWFzdGVyL21vZGVsL2luZGV4Lm1kJztcbiAgLy9wcm90ZWN0ZWQgbWFya2Rvd25VcmwgPSAnaHR0cHM6Ly9naXRsYWIuaWZyZW1lci5mci9zaWgtcHVibGljL3N1bWFyaXMvc3VtYXJpcy1kb2MvLS9yYXcvbWFzdGVyL21vZGVsL2FkbWluaXN0cmF0aW9uL2luZGV4Lm1kJztcbiAgLy9wcm90ZWN0ZWQgbWFya2Rvd25VcmwgPSdodHRwczovL2dpdGxhYi5pZnJlbWVyLmZyL3NpaC1wdWJsaWMvc3VtYXJpcy9zdW1hcmlzLWRvYy8tL3Jhdy9tYXN0ZXIvcHJvamVjdHMvYWN0aXZpdHktY2FsZW5kYXIvc3BlL2NvbGxlY3RlX2RlX2Rvbm5lZXMubWQnO1xuICAvL3Byb3RlY3RlZCBtYXJrZG93blVybCA9J2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL3N1bWFyaXMtYXBwLy0vcmF3L2RldmVsb3AvZG9jL3ByaXZhY3lfcG9saWN5Lm1kJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZGFsQ3RybDogTW9kYWxDb250cm9sbGVyLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRcbiAgKSB7XG4gICAgdGhpcy5kZWJ1ZyA9ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50LCBuZXdVcmw6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMubWFya2Rvd25VcmwgPSAnJyArIG5ld1VybDtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgdXBkYXRlSW5wdXRVcmwodXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1hcmtkb3duVXJsID0gdXJsO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvcGVuSGVscE1vZGFsKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiBBcHBNYXJrZG93bk1vZGFsLnNob3codGhpcy5tb2RhbEN0cmwsIHtcbiAgICAgIHRpdGxlOiB0aGlzLm1hcmtkb3duTW9kYWxUaXRsZSxcbiAgICAgIHNyYzogdGhpcy5tYXJrZG93blVybCxcbiAgICAgIGNhblByaW50OiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgIEBpZiAoY29udGVudC5jYW5Hb0JhY2spIHtcbiAgICAgICAgPGlvbi1idXR0b24gY2xhc3M9XCJiYWNrLWJ1dHRvblwiIChjbGljayk9XCJjb250ZW50LmdvQmFjaygkZXZlbnQpXCIgcm91dGVyRGlyZWN0aW9uPVwiYmFja1wiPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImFycm93LWJhY2tcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGlvbi1iYWNrLWJ1dHRvbj48L2lvbi1iYWNrLWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2lvbi1idXR0b25zPlxuXG4gICAgPGlvbi10aXRsZT5NYXJrZG93biB0ZXN0IHBhZ2U8L2lvbi10aXRsZT5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgKGNsaWNrKT1cImNvbnRlbnQucHJpbnQoKVwiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJwcmludFwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvcGVuSGVscE1vZGFsKCRldmVudClcIj5PcGVuIGluIG1vZGFsPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gIDxpb24taW5wdXRcbiAgICAjaW5wdXRcbiAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgW25nTW9kZWxdPVwibWFya2Rvd25VcmxcIlxuICAgIHBsYWNlaG9sZGVyPVwiTWFya2Rvd24gVVJMXCJcbiAgICBsYWJlbD1cIlVSTDogXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwib25TdWJtaXQoJGV2ZW50LCBpbnB1dC52YWx1ZSlcIlxuICA+XG4gICAgPGlvbi1idXR0b25cbiAgICAgIHNsb3Q9XCJlbmRcIlxuICAgICAgW2ZpbGxdPVwibWFya2Rvd25VcmwgIT09IGlucHV0LnZhbHVlID8gJ3NvbGlkJyA6ICdjbGVhcidcIlxuICAgICAgKGNsaWNrKT1cIm9uU3VibWl0KCRldmVudCwgaW5wdXQudmFsdWUpXCJcbiAgICA+XG4gICAgICB7eyAnQ09NTU9OLkJUTl9PSycgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2lvbi1idXR0b24+XG4gIDwvaW9uLWlucHV0PlxuXG4gIDxhcHAtbWFya2Rvd24tY29udGVudFxuICAgICNjb250ZW50XG4gICAgW3NyY109XCJtYXJrZG93blVybFwiXG4gICAgZW5hYmxlTmF2aWdhdGlvbkhpc3Rvcnk9XCJ0cnVlXCJcbiAgICBbZGVidWddPVwiZGVidWdcIlxuICAgIChtYXJrZG93blVybENoYW5nZSk9XCJ1cGRhdGVJbnB1dFVybCgkZXZlbnQpXCJcbiAgPjwvYXBwLW1hcmtkb3duLWNvbnRlbnQ+XG48L2lvbi1jb250ZW50PlxuIl19
|
|
44
|
+
args: [{ selector: 'app-markdown-test', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n @if (content.canGoBack) {\n <ion-button class=\"back-button\" (click)=\"content.goBack($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n } @else {\n <ion-back-button></ion-back-button>\n }\n </ion-buttons>\n\n <ion-title>Markdown test page</ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"openHelpModal($event)\">Open in modal</ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <ion-input\n #input\n fill=\"outline\"\n [ngModel]=\"markdownUrl\"\n placeholder=\"Markdown URL\"\n label=\"URL: \"\n (keyup.enter)=\"onSubmit($event, input.value)\"\n >\n <ion-button\n slot=\"end\"\n [fill]=\"markdownUrl !== input.value ? 'solid' : 'clear'\"\n (click)=\"onSubmit($event, input.value)\"\n >\n {{ 'COMMON.BTN_OK' | translate }}\n </ion-button>\n </ion-input>\n\n <app-markdown-content\n #content\n [src]=\"markdownUrl\"\n enableNavigationHistory=\"true\"\n debug=\"true\"\n (markdownUrlChange)=\"updateInputUrl($event)\"\n ></app-markdown-content>\n</ion-content>\n" }]
|
|
45
|
+
}], ctorParameters: () => [{ type: i1.ModalController }, { type: i0.ChangeDetectorRef }] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL3Rlc3RpbmcvbWFya2Rvd24udGVzdC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL3Rlc3RpbmcvbWFya2Rvd24udGVzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFRckQsTUFBTSxPQUFPLGdCQUFnQjtJQWFqQjtJQUNBO0lBYkEsa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUM7SUFFaEQsK0JBQStCO0lBQy9CLHVFQUF1RTtJQUM3RCxXQUFXLEdBQUcsa0hBQWtILENBQUM7SUFDM0ksNEdBQTRHO0lBQzVHLGlIQUFpSDtJQUNqSCxnSUFBZ0k7SUFDaEksdUpBQXVKO0lBQ3ZKLHdIQUF3SDtJQUV4SCxZQUNVLFNBQTBCLEVBQzFCLEVBQXFCO1FBRHJCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBQzVCLENBQUM7SUFFSixRQUFRLENBQUMsS0FBWSxFQUFFLE1BQXVCO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzNDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzlCLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUNyQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBakNVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHlEQ1Q3QixneUNBOENBOzs0RkRyQ2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLG1CQUFtQixtQkFFWix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcE1hcmtkb3duTW9kYWwgfSBmcm9tICcuLi9tYXJrZG93bi5tb2RhbCc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1tYXJrZG93bi10ZXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLnRlc3QuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXJrZG93blRlc3RQYWdlIHtcbiAgcHJvdGVjdGVkIG1hcmtkb3duTW9kYWxUaXRsZSA9ICdNYXJrZG93biBtb2RhbCc7XG5cbiAgLy8gVVJMIGZyb20gYSBzdGFydGluZyBtYXJrZG93blxuICAvL3Byb3RlY3RlZCBtYXJrZG93blVybCA9ICdodHRwOi8vbG9jYWxob3N0OjMwMDAvdXNlci1tYW51YWwvaW5kZXgubWQnO1xuICBwcm90ZWN0ZWQgbWFya2Rvd25VcmwgPSAnaHR0cHM6Ly9naXRsYWIuaWZyZW1lci5mci9zaWgtcHVibGljL3N1bWFyaXMvc3VtYXJpcy1kb2MvLS9yYXcvbWFzdGVyL3Byb2plY3RzL3BpZmlsL21hbi9xdWlja19zdGFydF9ndWlkZV9mci5tZCc7XG4gIC8vcHJvdGVjdGVkIG1hcmtkb3duVXJsID0gJ2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL3N1bWFyaXMtZG9jLy0vcmF3L21hc3Rlci9SRUFETUUubWQnO1xuICAvL3Byb3RlY3RlZCBtYXJrZG93blVybCA9ICdodHRwczovL2dpdGxhYi5pZnJlbWVyLmZyL3NpaC1wdWJsaWMvc3VtYXJpcy9zdW1hcmlzLWRvYy8tL3Jhdy9tYXN0ZXIvbW9kZWwvaW5kZXgubWQnO1xuICAvL3Byb3RlY3RlZCBtYXJrZG93blVybCA9ICdodHRwczovL2dpdGxhYi5pZnJlbWVyLmZyL3NpaC1wdWJsaWMvc3VtYXJpcy9zdW1hcmlzLWRvYy8tL3Jhdy9tYXN0ZXIvbW9kZWwvYWRtaW5pc3RyYXRpb24vaW5kZXgubWQnO1xuICAvL3Byb3RlY3RlZCBtYXJrZG93blVybCA9J2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL3N1bWFyaXMtZG9jLy0vcmF3L21hc3Rlci9wcm9qZWN0cy9hY3Rpdml0eS1jYWxlbmRhci9zcGUvY29sbGVjdGVfZGVfZG9ubmVlcy5tZCc7XG4gIC8vcHJvdGVjdGVkIG1hcmtkb3duVXJsID0naHR0cHM6Ly9naXRsYWIuaWZyZW1lci5mci9zaWgtcHVibGljL3N1bWFyaXMvc3VtYXJpcy1hcHAvLS9yYXcvZGV2ZWxvcC9kb2MvcHJpdmFjeV9wb2xpY3kubWQnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxDdHJsOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCwgbmV3VXJsOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLm1hcmtkb3duVXJsID0gJycgKyBuZXdVcmw7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHVwZGF0ZUlucHV0VXJsKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5tYXJrZG93blVybCA9IHVybDtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb3BlbkhlbHBNb2RhbChldmVudDogRXZlbnQpIHtcbiAgICByZXR1cm4gQXBwTWFya2Rvd25Nb2RhbC5zaG93KHRoaXMubW9kYWxDdHJsLCB7XG4gICAgICB0aXRsZTogdGhpcy5tYXJrZG93bk1vZGFsVGl0bGUsXG4gICAgICBzcmM6IHRoaXMubWFya2Rvd25VcmwsXG4gICAgICBjYW5QcmludDogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICBAaWYgKGNvbnRlbnQuY2FuR29CYWNrKSB7XG4gICAgICAgIDxpb24tYnV0dG9uIGNsYXNzPVwiYmFjay1idXR0b25cIiAoY2xpY2spPVwiY29udGVudC5nb0JhY2soJGV2ZW50KVwiIHJvdXRlckRpcmVjdGlvbj1cImJhY2tcIj5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJhcnJvdy1iYWNrXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxpb24tYmFjay1idXR0b24+PC9pb24tYmFjay1idXR0b24+XG4gICAgICB9XG4gICAgPC9pb24tYnV0dG9ucz5cblxuICAgIDxpb24tdGl0bGU+TWFya2Rvd24gdGVzdCBwYWdlPC9pb24tdGl0bGU+XG5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5IZWxwTW9kYWwoJGV2ZW50KVwiPk9wZW4gaW4gbW9kYWw8L2lvbi1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgPGlvbi1pbnB1dFxuICAgICNpbnB1dFxuICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICBbbmdNb2RlbF09XCJtYXJrZG93blVybFwiXG4gICAgcGxhY2Vob2xkZXI9XCJNYXJrZG93biBVUkxcIlxuICAgIGxhYmVsPVwiVVJMOiBcIlxuICAgIChrZXl1cC5lbnRlcik9XCJvblN1Ym1pdCgkZXZlbnQsIGlucHV0LnZhbHVlKVwiXG4gID5cbiAgICA8aW9uLWJ1dHRvblxuICAgICAgc2xvdD1cImVuZFwiXG4gICAgICBbZmlsbF09XCJtYXJrZG93blVybCAhPT0gaW5wdXQudmFsdWUgPyAnc29saWQnIDogJ2NsZWFyJ1wiXG4gICAgICAoY2xpY2spPVwib25TdWJtaXQoJGV2ZW50LCBpbnB1dC52YWx1ZSlcIlxuICAgID5cbiAgICAgIHt7ICdDT01NT04uQlROX09LJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgPC9pb24taW5wdXQ+XG5cbiAgPGFwcC1tYXJrZG93bi1jb250ZW50XG4gICAgI2NvbnRlbnRcbiAgICBbc3JjXT1cIm1hcmtkb3duVXJsXCJcbiAgICBlbmFibGVOYXZpZ2F0aW9uSGlzdG9yeT1cInRydWVcIlxuICAgIGRlYnVnPVwidHJ1ZVwiXG4gICAgKG1hcmtkb3duVXJsQ2hhbmdlKT1cInVwZGF0ZUlucHV0VXJsKCRldmVudClcIlxuICA+PC9hcHAtbWFya2Rvd24tY29udGVudD5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -300,4 +300,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
300
300
|
type: ViewChild,
|
|
301
301
|
args: [MatAutocompleteField, { static: true }]
|
|
302
302
|
}] } });
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL25hbWVkLWZpbHRlci9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbmFtZWQtZmlsdGVyL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXRGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQW9DLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBd0UsTUFBTSx3QkFBd0IsQ0FBQztBQUN4SSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFXMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQVk7SUE4RHZDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQW5FTyxTQUFTLEdBQUcseUJBQXlCLENBQUM7SUFFakQsV0FB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RSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciwgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQXBwRm9ybSB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7IEZpbGVzVXRpbHMgfSBmcm9tICcuLi9maWxlL2ZpbGUudXRpbHMnO1xuaW1wb3J0IHsgaXNFbXB0eUFycmF5LCBpc05pbCwgaXNOaWxPckJsYW5rLCBpc05pbE9yTmFOLCBpc05vdE5pbCwgaXNOb3ROaWxPckJsYW5rIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZUZpZWxkIH0gZnJvbSAnLi4vbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVGaWVsZENvbmZpZyB9IGZyb20gJy4uL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUuY29uZmlnJztcbmltcG9ydCB7IFRvYXN0cyB9IGZyb20gJy4uL3RvYXN0L3RvYXN0cyc7XG5pbXBvcnQgeyBJTmFtZWRGaWx0ZXIsIElOYW1lZEZpbHRlckZpbHRlciwgTmFtZWRGaWx0ZXIgfSBmcm9tICcuL25hbWVkLWZpbHRlci5tb2RlbCc7XG5pbXBvcnQgeyBBUFBfTkFNRURfRklMVEVSX1NFUlZJQ0UsIElOYW1lZEZpbHRlclNlcnZpY2UsIE5hbWVkRmlsdGVyTG9hZE9wdGlvbnMsIE5hbWVkRmlsdGVyV2F0Y2hPcHRpb25zIH0gZnJvbSAnLi9uYW1lZC1maWx0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlLCBTdWJzY3JpcHRTaXppbmcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuZXhwb3J0IHR5cGUgTmFtZWRGaWx0ZXJTZWxlY3RvckJ1dHRvbnNQb3NpdGlvbiA9ICdtYXRTdWZmaXgnIHwgJ2FmdGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW5hbWVkLWZpbHRlci1zZWxlY3RvcicsXG4gIHN0eWxlVXJsczogWycuL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbmFtZWQtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5hbWVkRmlsdGVyU2VsZWN0b3IgZXh0ZW5kcyBBcHBGb3JtPGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nUHJlZml4ID0gJ1tuYW1lZC1maWx0ZXItc2VsZWN0b3JdJztcblxuICBwcml2YXRlIF9lbnRpdHlOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RlbGV0ZURpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xuICBASW5wdXQoKSBzZXQgZW50aXR5TmFtZShlbnRpdHlOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIWVudGl0eU5hbWUgfHwgdGhpcy5fZW50aXR5TmFtZSA9PT0gZW50aXR5TmFtZSkgcmV0dXJuO1xuICAgIHRoaXMuX2VudGl0eU5hbWUgPSBlbnRpdHlOYW1lO1xuICAgIC8vIFVwZGF0ZSBhdXRvY29tcGxldGUgZmlsdGVyXG4gICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5maWx0ZXIgPSB7IC4uLnRoaXMuYXV0b2NvbXBsZXRlRmllbGQuZmlsdGVyLCAuLi50aGlzLmdldEZpbHRlcigpIH07XG4gIH1cblxuICBnZXQgZW50aXR5TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdHlOYW1lO1xuICB9XG5cbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgc3Vic2NyaXB0U2l6aW5nOiBTdWJzY3JpcHRTaXppbmc7XG4gIEBJbnB1dCgpIGZpbHRlckNvbnRlbnRQcm92aWRlcjogKCkgPT4gYW55O1xuICBASW5wdXQoKSBmaWx0ZXJJbXBvcnRDYWxsYmFjazogKG5hbWVkRmlsdGVyOiBOYW1lZEZpbHRlcikgPT4gUHJvbWlzZTxOYW1lZEZpbHRlcj47XG4gIEBJbnB1dCgpIGZpbHRlckZvcm1EaXJ0eTogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0J1dHRvbnMgPSB0cnVlO1xuICBASW5wdXQoKSBleHBvcnRGaWxlTmFtZVByZWZpeCA9ICdmaWx0ZXInO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGVDb25maWc6IE1hdEF1dG9jb21wbGV0ZUZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBkcm9wQnV0dG9uVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgY2xlYXJCdXR0b25UaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZXRlY3RDaGFuZ2VPblNlbGVjdEZpbHRlcjogYm9vbGVhbiA9IGZhbHNlOyAvLyBFbHNlIGlzIG9uIHZhbHVlIGNoYW5nZVxuICBASW5wdXQoKSBidXR0b25zUG9zaXRpb246IE5hbWVkRmlsdGVyU2VsZWN0b3JCdXR0b25zUG9zaXRpb247XG5cbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKF9kaXNhYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChfZGlzYWJsZWQpIHRoaXMuZGlzYWJsZSgpO1xuICAgIGVsc2UgdGhpcy5lbmFibGUoKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgZ2V0IGlzTmV3KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc05pbE9yTmFOKHRoaXMudmFsdWU/Lm5hbWVkRmlsdGVyPy5pZCk7XG4gIH1cblxuICBnZXQgc2F2ZURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5kaXJ0eSB8fCBpc05pbE9yQmxhbmsodGhpcy52YWx1ZS5uYW1lZEZpbHRlcik7XG4gIH1cblxuICBnZXQgZGVsZXRlRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGV0ZURpc2FibGVkIHx8IHRoaXMuaXNOZXc7XG4gIH1cblxuICBnZXQgZGlydHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmRpcnR5IHx8IHRoaXMuZmlsdGVyRm9ybURpcnR5O1xuICB9XG5cbiAgQE91dHB1dCgpIGZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJEZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxOYW1lZEZpbHRlcj4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckNsZWFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVGaWVsZCwgeyBzdGF0aWM6IHRydWUgfSkgYXV0b2NvbXBsZXRlRmllbGQ6IE1hdEF1dG9jb21wbGV0ZUZpZWxkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBASW5qZWN0KEFQUF9OQU1FRF9GSUxURVJfU0VSVklDRSlcbiAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IElOYW1lZEZpbHRlclNlcnZpY2U8SU5hbWVkRmlsdGVyPGFueT4sIElOYW1lZEZpbHRlckZpbHRlcjxhbnksIGFueT4sIE5hbWVkRmlsdGVyV2F0Y2hPcHRpb25zLCBOYW1lZEZpbHRlckxvYWRPcHRpb25zPlxuICApIHtcbiAgICBzdXBlcihpbmplY3RvciwgZm9ybUJ1aWxkZXIuZ3JvdXAoeyBuYW1lZEZpbHRlcjogW251bGxdIH0pKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubW9iaWxlID0gdGhpcy5tb2JpbGUgPz8gdGhpcy5zZXR0aW5ncy5tb2JpbGU7XG4gICAgdGhpcy5idXR0b25zUG9zaXRpb24gPSB0aGlzLmJ1dHRvbnNQb3NpdGlvbiA/PyAodGhpcy5tb2JpbGUgPyAnYWZ0ZXInIDogJ21hdFN1ZmZpeCcpO1xuXG4gICAgdGhpcy5yZWdpc3RlckF1dG9jb21wbGV0ZUZpZWxkKCduYW1lZEZpbHRlcicsIHtcbiAgICAgIHN1Z2dlc3RGbjogKHZhbHVlLCBmaWx0ZXIpID0+IHRoaXMuZGF0YVNlcnZpY2Uuc3VnZ2VzdCh2YWx1ZSwgZmlsdGVyKSxcbiAgICAgIGF0dHJpYnV0ZXM6IFsnbmFtZSddLFxuICAgICAgZmlsdGVyOiB0aGlzLmdldEZpbHRlcigpLFxuICAgICAgYXBwbHlJbXBsaWNpdFZhbHVlOiBmYWxzZSxcbiAgICAgIC4uLnRoaXMuYXV0b2NvbXBsZXRlQ29uZmlnLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZGV0ZWN0Q2hhbmdlT25TZWxlY3RGaWx0ZXIpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24odGhpcy5hdXRvY29tcGxldGVGaWVsZC5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vbkZpbHRlckNoYW5nZXMoZXZlbnQudmFsdWUpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24oXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5uYW1lZEZpbHRlci52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMTAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkZpbHRlckNoYW5nZXModmFsdWUpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWx0ZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgZW50aXR5TmFtZTogdGhpcy5lbnRpdHlOYW1lLFxuICAgIH07XG4gIH1cblxuICBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoZXZlbnQ6IFVJRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQ/LmRlZmF1bHRQcmV2ZW50ZWQpIHJldHVybjtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBjb25zdCBmaWx0ZXJDb250ZW50ID0gdGhpcy5maWx0ZXJDb250ZW50UHJvdmlkZXIoKTtcblxuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBzYXZlIG5hbWVkIGZpbHRlcmAsIGZpbHRlckNvbnRlbnQpO1xuXG4gICAgaWYgKGlzTmlsT3JCbGFuayhmaWx0ZXJDb250ZW50KSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudFNlbGVjdGVkID0gdGhpcy52YWx1ZS5uYW1lZEZpbHRlcjtcbiAgICBsZXQgcmVzdWx0OiBOYW1lZEZpbHRlcjtcblxuICAgIGlmICh0eXBlb2YgY3VycmVudFNlbGVjdGVkID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0ID0gTmFtZWRGaWx0ZXIuZnJvbU9iamVjdCh7XG4gICAgICAgIG5hbWU6IGN1cnJlbnRTZWxlY3RlZCxcbiAgICAgICAgZW50aXR5TmFtZTogdGhpcy5lbnRpdHlOYW1lLFxuICAgICAgICBjb250ZW50OiBmaWx0ZXJDb250ZW50LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IE5hbWVkRmlsdGVyLmZyb21PYmplY3Qoe1xuICAgICAgICAuLi5jdXJyZW50U2VsZWN0ZWQsXG4gICAgICAgIGNvbnRlbnQ6IGZpbHRlckNvbnRlbnQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBzYXZlZEVudGl0eSA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2Uuc2F2ZShyZXN1bHQpO1xuICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKHNhdmVkRW50aXR5KTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLnJlbG9hZEl0ZW1zKCk7XG4gICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGV2ZW50PzogVUlFdmVudCkge1xuICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnZhbHVlLm5hbWVkRmlsdGVyO1xuXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IGRlbGV0ZSBuYW1lZCBmaWx0ZXJgLCBkYXRhKTtcblxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGF0YVNlcnZpY2UuZGVsZXRlKGRhdGEpO1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5yZWxvYWRJdGVtcygpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5ibHVycmVkLmVtaXQoKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVsZXRlZC5lbWl0KGRhdGEpO1xuICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgICAgbWVzc2FnZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuREVMRVRFRCcsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbk1vcmVPcHRpb25zQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gQXZvaWQgZmllbGQgZm9jdXMgZ2FpblxuICB9XG5cbiAgYXN5bmMgZXhwb3J0KGV2ZW50PzogVUlFdmVudCkge1xuICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgaWQgPSB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLnZhbHVlPy5pZDtcblxuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBleHBvcnQgbmFtZWQgZmlsdGVyYCwgaWQpO1xuXG4gICAgaWYgKCFpZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2UubG9hZChpZCwgeyB3aXRoQ29udGVudDogdHJ1ZSB9KTtcblxuICAgIGlmIChkYXRhKSB7XG4gICAgICBGaWxlc1V0aWxzLndyaXRlVGV4dFRvRmlsZShKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKSwge1xuICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIGZpbGVuYW1lOiBgJHt0aGlzLmV4cG9ydEZpbGVOYW1lUHJlZml4fS0ke2RhdGEuZW50aXR5TmFtZX0tJHtkYXRhLm5hbWV9Lmpzb25gLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFRvYXN0cy5zaG93KHRoaXMudG9hc3RDb250cm9sbGVyLCB0aGlzLnRyYW5zbGF0ZSwge1xuICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICBtZXNzYWdlOiAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5OT1RfRk9VTkQnLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW1wb3J0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgRmlsZXNVdGlscy5zaG93VXBsb2FkUG9wb3Zlcih0aGlzLnBvcG92ZXJDb250cm9sbGVyLCBldmVudCwge1xuICAgICAgdXBsb2FkRm46IChmaWxlKSA9PiBGaWxlc1V0aWxzLnJlYWRBc1RleHQoZmlsZSksXG4gICAgICB0aXRsZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuSU1QT1JUJyxcbiAgICAgIGZpbGVFeHRlbnNpb246ICcuanNvbicsXG4gICAgICB1bmlxdWVGaWxlOiB0cnVlLFxuICAgICAgaW5zdGFudFVwbG9hZDogdHJ1ZSxcbiAgICB9KTtcbiAgICBpZiAoIXJlc3VsdCB8fCBpc0VtcHR5QXJyYXkocmVzdWx0LmRhdGEpKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGxldCBkYXRhID0gSlNPTi5wYXJzZShyZXN1bHQuZGF0YVswXS5yZXNwb25zZS5ib2R5KTtcbiAgICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBpbXBvcnQgbmFtZWQgZmlsdGVyYCwgZGF0YSk7XG4gICAgICBpZiAodGhpcy5maWx0ZXJJbXBvcnRDYWxsYmFjaykge1xuICAgICAgICBkYXRhID0gYXdhaXQgdGhpcy5maWx0ZXJJbXBvcnRDYWxsYmFjayhkYXRhKTtcbiAgICAgICAgaWYgKGlzTmlsKGRhdGEpKSB7XG4gICAgICAgICAgcmV0dXJuOyAvLyBBYm9ydCBpbXBvcnQgaWYgY2FsbGJhY2sgcmV0dXJucyBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShkYXRhKTtcbiAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQuZW1pdChkYXRhLmNvbnRlbnQpO1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICBUb2FzdHMuc2hvdyh0aGlzLnRvYXN0Q29udHJvbGxlciwgdGhpcy50cmFuc2xhdGUsIHtcbiAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgbWVzc2FnZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuSU1QT1JUX0ZBSUxFRCcsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgb25GaWx0ZXJDaGFuZ2VzKHZhbHVlOiBOYW1lZEZpbHRlciB8IHN0cmluZykge1xuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBmaWx0ZXIgY2hhbmdlYCwgdmFsdWUpO1xuXG4gICAgLy8gRW1pdCBjbGVhcmVkIGV2ZW50IGlmIGJvdW5kXG4gICAgaWYgKGlzTmlsKHZhbHVlKSAmJiB0aGlzLmZpbHRlckNsZWFyZWQub2JzZXJ2ZWQpIHtcbiAgICAgIHRoaXMuZmlsdGVyQ2xlYXJlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWU/LmlkICYmIGlzTm90TmlsKHZhbHVlLmlkKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2UubG9hZCh2YWx1ZS5pZCwgeyB3aXRoQ29udGVudDogdHJ1ZSB9KTtcbiAgICAgICAgdGhpcy5fZGVsZXRlRGlzYWJsZWQgPSAhdGhpcy5kYXRhU2VydmljZS5jYW5Vc2VyV3JpdGUoZGF0YSk7XG5cbiAgICAgICAgY29uc3QgZmlsdGVyID0gaXNOb3ROaWxPckJsYW5rKGRhdGE/LmNvbnRlbnQpID8gZGF0YS5jb250ZW50IDogbnVsbDtcbiAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQuZW1pdChmaWx0ZXIpO1xuICAgICAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBUb2FzdHMuc2hvdyh0aGlzLnRvYXN0Q29udHJvbGxlciwgdGhpcy50cmFuc2xhdGUsIHtcbiAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLkxPQURfRkFJTEVEJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldENvbnRyb2xWYWx1ZSh2YWx1ZTogTmFtZWRGaWx0ZXIpIHtcbiAgICB0aGlzLnNldFZhbHVlKHsgbmFtZWRGaWx0ZXI6IHZhbHVlIH0pO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlRmllbGQuYmx1cnJlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxpb24tZ3JpZCBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgICA8Zm9ybSBjbGFzcz1cImZvcm0tY29udGFpbmVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlLWZpZWxkXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZWRGaWx0ZXJcIlxuICAgICAgICAgIFtjb25maWddPVwiYXV0b2NvbXBsZXRlRmllbGRzLm5hbWVkRmlsdGVyXCJcbiAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICBbc3Vic2NyaXB0U2l6aW5nXT1cInN1YnNjcmlwdFNpemluZ1wiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT01NT04uTkFNRURfRklMVEVSLlRJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICBbZHJvcEJ1dHRvblRpdGxlXT1cImRyb3BCdXR0b25UaXRsZVwiXG4gICAgICAgICAgW2NsZWFyQnV0dG9uVGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZVwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKHNob3dCdXR0b25zICYmIGJ1dHRvbnNQb3NpdGlvbiA9PT0gJ21hdFN1ZmZpeCcpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0U3VmZml4PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGUtZmllbGQ+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9pb24tY29sPlxuICAgIEBpZiAoc2hvd0J1dHRvbnMgJiYgYnV0dG9uc1Bvc2l0aW9uID09PSAnYWZ0ZXInKSB7XG4gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiIGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICB9XG4gIDwvaW9uLXJvdz5cbjwvaW9uLWdyaWQ+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9ucz5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgIFtkaXNhYmxlZF09XCJzYXZlRGlzYWJsZWRcIlxuICAgIFt0aXRsZV09XCInQ09NTU9OLk5BTUVEX0ZJTFRFUi5TQVZFJyB8IHRyYW5zbGF0ZVwiXG4gICAgKGNsaWNrKT1cInNhdmUoJGV2ZW50KVwiXG4gID5cbiAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaXNOZXdcIiBjbGFzcz1cImljb24tc2Vjb25kYXJ5XCIgc3R5bGU9XCJsZWZ0OiAxMnB4OyB0b3A6IDBweFwiPmFkZDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW2Rpc2FibGVkXT1cImRlbGV0ZURpc2FibGVkXCJcbiAgICBbdGl0bGVdPVwiJ0NPTU1PTi5OQU1FRF9GSUxURVIuREVMRVRFJyB8IHRyYW5zbGF0ZVwiXG4gICAgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1vcmVNZW51XCIgKGNsaWNrKT1cIm9uTW9yZU9wdGlvbnNDbGljaygkZXZlbnQpXCI+XG4gICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnUgI21vcmVNZW51PVwibWF0TWVudVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cbiAgICAgIDwhLS0gaW1wb3J0IC0tPlxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJpbXBvcnQoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LWljb24+ZmlsZV91cGxvYWQ8L21hdC1pY29uPlxuICAgICAgICA8aW9uLWxhYmVsPnt7ICdDT01NT04uTkFNRURfRklMVEVSLklNUE9SVCcgfCB0cmFuc2xhdGUgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgPCEtLSBleHBvcnQgLS0+XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImV4cG9ydCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImlzTmV3XCI+XG4gICAgICAgIDxtYXQtaWNvbj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgPGlvbi1sYWJlbD57eyAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5FWFBPUlQnIHwgdHJhbnNsYXRlIH19PC9pb24tbGFiZWw+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC1tZW51PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL25hbWVkLWZpbHRlci9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbmFtZWQtZmlsdGVyL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXRGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQW9DLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBd0UsTUFBTSx3QkFBd0IsQ0FBQztBQUN4SSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFXMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQTZCO0lBOER4RDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFuRU8sU0FBUyxHQUFHLHlCQUF5QixDQUFDO0lBRWpELFdB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QUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xsZXIsIFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFwcEZvcm0gfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm0vZm9ybS5jbGFzcyc7XG5pbXBvcnQgeyBGaWxlc1V0aWxzIH0gZnJvbSAnLi4vZmlsZS9maWxlLnV0aWxzJztcbmltcG9ydCB7IGlzRW1wdHlBcnJheSwgaXNOaWwsIGlzTmlsT3JCbGFuaywgaXNOaWxPck5hTiwgaXNOb3ROaWwsIGlzTm90TmlsT3JCbGFuayB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gJy4uL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlRmllbGRDb25maWcgfSBmcm9tICcuLi9tYXRlcmlhbC9hdXRvY29tcGxldGUvbWF0ZXJpYWwuYXV0b2NvbXBsZXRlLmNvbmZpZyc7XG5pbXBvcnQgeyBUb2FzdHMgfSBmcm9tICcuLi90b2FzdC90b2FzdHMnO1xuaW1wb3J0IHsgSU5hbWVkRmlsdGVyLCBJTmFtZWRGaWx0ZXJGaWx0ZXIsIE5hbWVkRmlsdGVyIH0gZnJvbSAnLi9uYW1lZC1maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHsgQVBQX05BTUVEX0ZJTFRFUl9TRVJWSUNFLCBJTmFtZWRGaWx0ZXJTZXJ2aWNlLCBOYW1lZEZpbHRlckxvYWRPcHRpb25zLCBOYW1lZEZpbHRlcldhdGNoT3B0aW9ucyB9IGZyb20gJy4vbmFtZWQtZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSwgU3Vic2NyaXB0U2l6aW5nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbmV4cG9ydCB0eXBlIE5hbWVkRmlsdGVyU2VsZWN0b3JCdXR0b25zUG9zaXRpb24gPSAnbWF0U3VmZml4JyB8ICdhZnRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1uYW1lZC1maWx0ZXItc2VsZWN0b3InLFxuICBzdHlsZVVybHM6IFsnLi9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOYW1lZEZpbHRlclNlbGVjdG9yIGV4dGVuZHMgQXBwRm9ybTx7IG5hbWVkRmlsdGVyOiBhbnkgfT4gaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nUHJlZml4ID0gJ1tuYW1lZC1maWx0ZXItc2VsZWN0b3JdJztcblxuICBwcml2YXRlIF9lbnRpdHlOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RlbGV0ZURpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xuICBASW5wdXQoKSBzZXQgZW50aXR5TmFtZShlbnRpdHlOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIWVudGl0eU5hbWUgfHwgdGhpcy5fZW50aXR5TmFtZSA9PT0gZW50aXR5TmFtZSkgcmV0dXJuO1xuICAgIHRoaXMuX2VudGl0eU5hbWUgPSBlbnRpdHlOYW1lO1xuICAgIC8vIFVwZGF0ZSBhdXRvY29tcGxldGUgZmlsdGVyXG4gICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5maWx0ZXIgPSB7IC4uLnRoaXMuYXV0b2NvbXBsZXRlRmllbGQuZmlsdGVyLCAuLi50aGlzLmdldEZpbHRlcigpIH07XG4gIH1cblxuICBnZXQgZW50aXR5TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdHlOYW1lO1xuICB9XG5cbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgc3Vic2NyaXB0U2l6aW5nOiBTdWJzY3JpcHRTaXppbmc7XG4gIEBJbnB1dCgpIGZpbHRlckNvbnRlbnRQcm92aWRlcjogKCkgPT4gYW55O1xuICBASW5wdXQoKSBmaWx0ZXJJbXBvcnRDYWxsYmFjazogKG5hbWVkRmlsdGVyOiBOYW1lZEZpbHRlcikgPT4gUHJvbWlzZTxOYW1lZEZpbHRlcj47XG4gIEBJbnB1dCgpIGZpbHRlckZvcm1EaXJ0eTogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0J1dHRvbnMgPSB0cnVlO1xuICBASW5wdXQoKSBleHBvcnRGaWxlTmFtZVByZWZpeCA9ICdmaWx0ZXInO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGVDb25maWc6IE1hdEF1dG9jb21wbGV0ZUZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBkcm9wQnV0dG9uVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgY2xlYXJCdXR0b25UaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZXRlY3RDaGFuZ2VPblNlbGVjdEZpbHRlcjogYm9vbGVhbiA9IGZhbHNlOyAvLyBFbHNlIGlzIG9uIHZhbHVlIGNoYW5nZVxuICBASW5wdXQoKSBidXR0b25zUG9zaXRpb246IE5hbWVkRmlsdGVyU2VsZWN0b3JCdXR0b25zUG9zaXRpb247XG5cbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKF9kaXNhYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChfZGlzYWJsZWQpIHRoaXMuZGlzYWJsZSgpO1xuICAgIGVsc2UgdGhpcy5lbmFibGUoKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgZ2V0IGlzTmV3KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc05pbE9yTmFOKHRoaXMudmFsdWU/Lm5hbWVkRmlsdGVyPy5pZCk7XG4gIH1cblxuICBnZXQgc2F2ZURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5kaXJ0eSB8fCBpc05pbE9yQmxhbmsodGhpcy52YWx1ZS5uYW1lZEZpbHRlcik7XG4gIH1cblxuICBnZXQgZGVsZXRlRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGV0ZURpc2FibGVkIHx8IHRoaXMuaXNOZXc7XG4gIH1cblxuICBnZXQgZGlydHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmRpcnR5IHx8IHRoaXMuZmlsdGVyRm9ybURpcnR5O1xuICB9XG5cbiAgQE91dHB1dCgpIGZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJEZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxOYW1lZEZpbHRlcj4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckNsZWFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVGaWVsZCwgeyBzdGF0aWM6IHRydWUgfSkgYXV0b2NvbXBsZXRlRmllbGQ6IE1hdEF1dG9jb21wbGV0ZUZpZWxkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBASW5qZWN0KEFQUF9OQU1FRF9GSUxURVJfU0VSVklDRSlcbiAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IElOYW1lZEZpbHRlclNlcnZpY2U8SU5hbWVkRmlsdGVyPGFueT4sIElOYW1lZEZpbHRlckZpbHRlcjxhbnksIGFueT4sIE5hbWVkRmlsdGVyV2F0Y2hPcHRpb25zLCBOYW1lZEZpbHRlckxvYWRPcHRpb25zPlxuICApIHtcbiAgICBzdXBlcihpbmplY3RvciwgZm9ybUJ1aWxkZXIuZ3JvdXAoeyBuYW1lZEZpbHRlcjogW251bGxdIH0pKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubW9iaWxlID0gdGhpcy5tb2JpbGUgPz8gdGhpcy5zZXR0aW5ncy5tb2JpbGU7XG4gICAgdGhpcy5idXR0b25zUG9zaXRpb24gPSB0aGlzLmJ1dHRvbnNQb3NpdGlvbiA/PyAodGhpcy5tb2JpbGUgPyAnYWZ0ZXInIDogJ21hdFN1ZmZpeCcpO1xuXG4gICAgdGhpcy5yZWdpc3RlckF1dG9jb21wbGV0ZUZpZWxkKCduYW1lZEZpbHRlcicsIHtcbiAgICAgIHN1Z2dlc3RGbjogKHZhbHVlLCBmaWx0ZXIpID0+IHRoaXMuZGF0YVNlcnZpY2Uuc3VnZ2VzdCh2YWx1ZSwgZmlsdGVyKSxcbiAgICAgIGF0dHJpYnV0ZXM6IFsnbmFtZSddLFxuICAgICAgZmlsdGVyOiB0aGlzLmdldEZpbHRlcigpLFxuICAgICAgYXBwbHlJbXBsaWNpdFZhbHVlOiBmYWxzZSxcbiAgICAgIC4uLnRoaXMuYXV0b2NvbXBsZXRlQ29uZmlnLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZGV0ZWN0Q2hhbmdlT25TZWxlY3RGaWx0ZXIpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24odGhpcy5hdXRvY29tcGxldGVGaWVsZC5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vbkZpbHRlckNoYW5nZXMoZXZlbnQudmFsdWUpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24oXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5uYW1lZEZpbHRlci52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMTAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkZpbHRlckNoYW5nZXModmFsdWUpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWx0ZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgZW50aXR5TmFtZTogdGhpcy5lbnRpdHlOYW1lLFxuICAgIH07XG4gIH1cblxuICBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoZXZlbnQ6IFVJRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQ/LmRlZmF1bHRQcmV2ZW50ZWQpIHJldHVybjtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBjb25zdCBmaWx0ZXJDb250ZW50ID0gdGhpcy5maWx0ZXJDb250ZW50UHJvdmlkZXIoKTtcblxuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBzYXZlIG5hbWVkIGZpbHRlcmAsIGZpbHRlckNvbnRlbnQpO1xuXG4gICAgaWYgKGlzTmlsT3JCbGFuayhmaWx0ZXJDb250ZW50KSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudFNlbGVjdGVkID0gdGhpcy52YWx1ZS5uYW1lZEZpbHRlcjtcbiAgICBsZXQgcmVzdWx0OiBOYW1lZEZpbHRlcjtcblxuICAgIGlmICh0eXBlb2YgY3VycmVudFNlbGVjdGVkID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0ID0gTmFtZWRGaWx0ZXIuZnJvbU9iamVjdCh7XG4gICAgICAgIG5hbWU6IGN1cnJlbnRTZWxlY3RlZCxcbiAgICAgICAgZW50aXR5TmFtZTogdGhpcy5lbnRpdHlOYW1lLFxuICAgICAgICBjb250ZW50OiBmaWx0ZXJDb250ZW50LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IE5hbWVkRmlsdGVyLmZyb21PYmplY3Qoe1xuICAgICAgICAuLi5jdXJyZW50U2VsZWN0ZWQsXG4gICAgICAgIGNvbnRlbnQ6IGZpbHRlckNvbnRlbnQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBzYXZlZEVudGl0eSA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2Uuc2F2ZShyZXN1bHQpO1xuICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKHNhdmVkRW50aXR5KTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLnJlbG9hZEl0ZW1zKCk7XG4gICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGV2ZW50PzogVUlFdmVudCkge1xuICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnZhbHVlLm5hbWVkRmlsdGVyO1xuXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IGRlbGV0ZSBuYW1lZCBmaWx0ZXJgLCBkYXRhKTtcblxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGF0YVNlcnZpY2UuZGVsZXRlKGRhdGEpO1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5yZWxvYWRJdGVtcygpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5ibHVycmVkLmVtaXQoKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVsZXRlZC5lbWl0KGRhdGEpO1xuICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgICAgbWVzc2FnZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuREVMRVRFRCcsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbk1vcmVPcHRpb25zQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gQXZvaWQgZmllbGQgZm9jdXMgZ2FpblxuICB9XG5cbiAgYXN5bmMgZXhwb3J0KGV2ZW50PzogVUlFdmVudCkge1xuICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgaWQgPSB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLnZhbHVlPy5pZDtcblxuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBleHBvcnQgbmFtZWQgZmlsdGVyYCwgaWQpO1xuXG4gICAgaWYgKCFpZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2UubG9hZChpZCwgeyB3aXRoQ29udGVudDogdHJ1ZSB9KTtcblxuICAgIGlmIChkYXRhKSB7XG4gICAgICBGaWxlc1V0aWxzLndyaXRlVGV4dFRvRmlsZShKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKSwge1xuICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIGZpbGVuYW1lOiBgJHt0aGlzLmV4cG9ydEZpbGVOYW1lUHJlZml4fS0ke2RhdGEuZW50aXR5TmFtZX0tJHtkYXRhLm5hbWV9Lmpzb25gLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFRvYXN0cy5zaG93KHRoaXMudG9hc3RDb250cm9sbGVyLCB0aGlzLnRyYW5zbGF0ZSwge1xuICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICBtZXNzYWdlOiAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5OT1RfRk9VTkQnLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW1wb3J0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgRmlsZXNVdGlscy5zaG93VXBsb2FkUG9wb3Zlcih0aGlzLnBvcG92ZXJDb250cm9sbGVyLCBldmVudCwge1xuICAgICAgdXBsb2FkRm46IChmaWxlKSA9PiBGaWxlc1V0aWxzLnJlYWRBc1RleHQoZmlsZSksXG4gICAgICB0aXRsZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuSU1QT1JUJyxcbiAgICAgIGZpbGVFeHRlbnNpb246ICcuanNvbicsXG4gICAgICB1bmlxdWVGaWxlOiB0cnVlLFxuICAgICAgaW5zdGFudFVwbG9hZDogdHJ1ZSxcbiAgICB9KTtcbiAgICBpZiAoIXJlc3VsdCB8fCBpc0VtcHR5QXJyYXkocmVzdWx0LmRhdGEpKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGxldCBkYXRhID0gSlNPTi5wYXJzZShyZXN1bHQuZGF0YVswXS5yZXNwb25zZS5ib2R5KTtcbiAgICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBpbXBvcnQgbmFtZWQgZmlsdGVyYCwgZGF0YSk7XG4gICAgICBpZiAodGhpcy5maWx0ZXJJbXBvcnRDYWxsYmFjaykge1xuICAgICAgICBkYXRhID0gYXdhaXQgdGhpcy5maWx0ZXJJbXBvcnRDYWxsYmFjayhkYXRhKTtcbiAgICAgICAgaWYgKGlzTmlsKGRhdGEpKSB7XG4gICAgICAgICAgcmV0dXJuOyAvLyBBYm9ydCBpbXBvcnQgaWYgY2FsbGJhY2sgcmV0dXJucyBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShkYXRhKTtcbiAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQuZW1pdChkYXRhLmNvbnRlbnQpO1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICBUb2FzdHMuc2hvdyh0aGlzLnRvYXN0Q29udHJvbGxlciwgdGhpcy50cmFuc2xhdGUsIHtcbiAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgbWVzc2FnZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuSU1QT1JUX0ZBSUxFRCcsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgb25GaWx0ZXJDaGFuZ2VzKHZhbHVlOiBOYW1lZEZpbHRlciB8IHN0cmluZykge1xuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBmaWx0ZXIgY2hhbmdlYCwgdmFsdWUpO1xuXG4gICAgLy8gRW1pdCBjbGVhcmVkIGV2ZW50IGlmIGJvdW5kXG4gICAgaWYgKGlzTmlsKHZhbHVlKSAmJiB0aGlzLmZpbHRlckNsZWFyZWQub2JzZXJ2ZWQpIHtcbiAgICAgIHRoaXMuZmlsdGVyQ2xlYXJlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWU/LmlkICYmIGlzTm90TmlsKHZhbHVlLmlkKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2UubG9hZCh2YWx1ZS5pZCwgeyB3aXRoQ29udGVudDogdHJ1ZSB9KTtcbiAgICAgICAgdGhpcy5fZGVsZXRlRGlzYWJsZWQgPSAhdGhpcy5kYXRhU2VydmljZS5jYW5Vc2VyV3JpdGUoZGF0YSk7XG5cbiAgICAgICAgY29uc3QgZmlsdGVyID0gaXNOb3ROaWxPckJsYW5rKGRhdGE/LmNvbnRlbnQpID8gZGF0YS5jb250ZW50IDogbnVsbDtcbiAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQuZW1pdChmaWx0ZXIpO1xuICAgICAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBUb2FzdHMuc2hvdyh0aGlzLnRvYXN0Q29udHJvbGxlciwgdGhpcy50cmFuc2xhdGUsIHtcbiAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLkxPQURfRkFJTEVEJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldENvbnRyb2xWYWx1ZSh2YWx1ZTogTmFtZWRGaWx0ZXIpIHtcbiAgICB0aGlzLnNldFZhbHVlKHsgbmFtZWRGaWx0ZXI6IHZhbHVlIH0pO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlRmllbGQuYmx1cnJlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxpb24tZ3JpZCBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgICA8Zm9ybSBjbGFzcz1cImZvcm0tY29udGFpbmVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlLWZpZWxkXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZWRGaWx0ZXJcIlxuICAgICAgICAgIFtjb25maWddPVwiYXV0b2NvbXBsZXRlRmllbGRzLm5hbWVkRmlsdGVyXCJcbiAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICBbc3Vic2NyaXB0U2l6aW5nXT1cInN1YnNjcmlwdFNpemluZ1wiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT01NT04uTkFNRURfRklMVEVSLlRJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICBbZHJvcEJ1dHRvblRpdGxlXT1cImRyb3BCdXR0b25UaXRsZVwiXG4gICAgICAgICAgW2NsZWFyQnV0dG9uVGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZVwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKHNob3dCdXR0b25zICYmIGJ1dHRvbnNQb3NpdGlvbiA9PT0gJ21hdFN1ZmZpeCcpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0U3VmZml4PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGUtZmllbGQ+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9pb24tY29sPlxuICAgIEBpZiAoc2hvd0J1dHRvbnMgJiYgYnV0dG9uc1Bvc2l0aW9uID09PSAnYWZ0ZXInKSB7XG4gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiIGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICB9XG4gIDwvaW9uLXJvdz5cbjwvaW9uLWdyaWQ+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9ucz5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgIFtkaXNhYmxlZF09XCJzYXZlRGlzYWJsZWRcIlxuICAgIFt0aXRsZV09XCInQ09NTU9OLk5BTUVEX0ZJTFRFUi5TQVZFJyB8IHRyYW5zbGF0ZVwiXG4gICAgKGNsaWNrKT1cInNhdmUoJGV2ZW50KVwiXG4gID5cbiAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaXNOZXdcIiBjbGFzcz1cImljb24tc2Vjb25kYXJ5XCIgc3R5bGU9XCJsZWZ0OiAxMnB4OyB0b3A6IDBweFwiPmFkZDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW2Rpc2FibGVkXT1cImRlbGV0ZURpc2FibGVkXCJcbiAgICBbdGl0bGVdPVwiJ0NPTU1PTi5OQU1FRF9GSUxURVIuREVMRVRFJyB8IHRyYW5zbGF0ZVwiXG4gICAgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1vcmVNZW51XCIgKGNsaWNrKT1cIm9uTW9yZU9wdGlvbnNDbGljaygkZXZlbnQpXCI+XG4gICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnUgI21vcmVNZW51PVwibWF0TWVudVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cbiAgICAgIDwhLS0gaW1wb3J0IC0tPlxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJpbXBvcnQoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LWljb24+ZmlsZV91cGxvYWQ8L21hdC1pY29uPlxuICAgICAgICA8aW9uLWxhYmVsPnt7ICdDT01NT04uTkFNRURfRklMVEVSLklNUE9SVCcgfCB0cmFuc2xhdGUgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgPCEtLSBleHBvcnQgLS0+XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImV4cG9ydCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImlzTmV3XCI+XG4gICAgICAgIDxtYXQtaWNvbj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgPGlvbi1sYWJlbD57eyAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5FWFBPUlQnIHwgdHJhbnNsYXRlIH19PC9pb24tbGFiZWw+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC1tZW51PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -46,4 +46,4 @@ NamedFilterFilter = __decorate([
|
|
|
46
46
|
EntityClass({ typename: 'NamedFilterFilterVO' })
|
|
47
47
|
], NamedFilterFilter);
|
|
48
48
|
export { NamedFilterFilter };
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbmFtZWQtZmlsdGVyL25hbWVkLWZpbHRlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sd0NBQXdDLENBQUM7QUFDckYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBV25FLElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQTJELFNBQVEsTUFBUztJQUN2RixNQUFNLENBQUMsVUFBVSxDQUEyQztJQUU1RCxJQUFJLENBQVM7SUFDYixVQUFVLENBQVM7SUFDbkIsT0FBTyxDQUFNO0lBQ2IsZ0JBQWdCLENBQVM7SUFDekIsb0JBQW9CLENBQVM7SUFFN0IsVUFBVSxDQUFDLE1BQVcsRUFBRSxJQUFVO1FBQ2hDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1FBQ3hELElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxNQUFNLEVBQUUsT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksU0FBUyxDQUFDO1FBQ2xILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyx5Q0FBeUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqRSxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQXRCWSxXQUFXO0lBRHZCLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQztHQUM5QixXQUFXLENBc0J2Qjs7QUFVTSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUNYLFNBQVEsWUFBa0I7SUFHMUIsTUFBTSxDQUFDLFVBQVUsQ0FBaUQ7SUFFbEUsVUFBVSxHQUFXLElBQUksQ0FBQztJQUMxQixVQUFVLEdBQVcsSUFBSSxDQUFDO0lBQzFCLGdCQUFnQixHQUFXLElBQUksQ0FBQztJQUNoQyxvQkFBb0IsR0FBVyxJQUFJLENBQUM7SUFFcEMsVUFBVSxDQUFDLE1BQVcsRUFBRSxJQUFVO1FBQ2hDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDO0lBQzFELENBQUM7Q0FDRixDQUFBO0FBbEJZLGlCQUFpQjtJQUQ3QixXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztHQUNwQyxpQkFBaUIsQ0FrQjdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5LCBJRW50aXR5IH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5RmlsdGVyLCBJRW50aXR5RmlsdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5Q2xhc3MgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5kZWNvcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBJTmFtZWRGaWx0ZXI8VCBleHRlbmRzIElOYW1lZEZpbHRlcjxUPj4gZXh0ZW5kcyBJRW50aXR5PFQ+IHtcbiAgbmFtZTogc3RyaW5nO1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG4gIGNvbnRlbnQ6IGFueTtcbiAgcmVjb3JkZXJQZXJzb25JZDogbnVtYmVyO1xuICByZWNvcmRlckRlcGFydG1lbnRJZDogbnVtYmVyO1xufVxuXG5ARW50aXR5Q2xhc3MoeyB0eXBlbmFtZTogJ05hbWVkRmlsdGVyVk8nIH0pXG5leHBvcnQgY2xhc3MgTmFtZWRGaWx0ZXI8VCBleHRlbmRzIE5hbWVkRmlsdGVyPGFueT4gPSBOYW1lZEZpbHRlcjxhbnk+PiBleHRlbmRzIEVudGl0eTxUPiBpbXBsZW1lbnRzIElOYW1lZEZpbHRlcjxUPiB7XG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IE5hbWVkRmlsdGVyO1xuXG4gIG5hbWU6IHN0cmluZztcbiAgZW50aXR5TmFtZTogc3RyaW5nO1xuICBjb250ZW50OiBhbnk7XG4gIHJlY29yZGVyUGVyc29uSWQ6IG51bWJlcjtcbiAgcmVjb3JkZXJEZXBhcnRtZW50SWQ6IG51bWJlcjtcblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogYW55KSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UsIG9wdHMpO1xuICAgIHRoaXMubmFtZSA9IHNvdXJjZS5uYW1lO1xuICAgIHRoaXMuZW50aXR5TmFtZSA9IHNvdXJjZS5lbnRpdHlOYW1lO1xuICAgIHRoaXMucmVjb3JkZXJQZXJzb25JZCA9IHNvdXJjZS5yZWNvcmRlclBlcnNvbklkO1xuICAgIHRoaXMucmVjb3JkZXJEZXBhcnRtZW50SWQgPSBzb3VyY2UucmVjb3JkZXJEZXBhcnRtZW50SWQ7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuY29udGVudCA9IHR5cGVvZiBzb3VyY2U/LmNvbnRlbnQgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShzb3VyY2U/LmNvbnRlbnQpIDogc291cmNlPy5jb250ZW50IHx8IHVuZGVmaW5lZDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbbmFtZWQtZmlsdGVyXSBjYW4ndCBwYXJzZSBjb250ZW50IGpzb25gLCBzb3VyY2UpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTmFtZWRGaWx0ZXJGaWx0ZXI8RiBleHRlbmRzIElOYW1lZEZpbHRlckZpbHRlcjxhbnksIFQ+LCBUIGV4dGVuZHMgSU5hbWVkRmlsdGVyPFQ+PiBleHRlbmRzIElFbnRpdHlGaWx0ZXI8RiwgVD4ge1xuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gIGVudGl0eU5hbWU6IHN0cmluZztcbiAgcmVjb3JkZXJQZXJzb25JZDogbnVtYmVyO1xuICByZWNvcmRlckRlcGFydG1lbnRJZDogbnVtYmVyO1xufVxuXG5ARW50aXR5Q2xhc3MoeyB0eXBlbmFtZTogJ05hbWVkRmlsdGVyRmlsdGVyVk8nIH0pXG5leHBvcnQgY2xhc3MgTmFtZWRGaWx0ZXJGaWx0ZXI8RiBleHRlbmRzIE5hbWVkRmlsdGVyRmlsdGVyPGFueSwgVD4gPSBOYW1lZEZpbHRlckZpbHRlcjxhbnksIGFueT4sIFQgZXh0ZW5kcyBOYW1lZEZpbHRlcjxhbnk+ID0gTmFtZWRGaWx0ZXI8YW55Pj5cbiAgZXh0ZW5kcyBFbnRpdHlGaWx0ZXI8RiwgVD5cbiAgaW1wbGVtZW50cyBJTmFtZWRGaWx0ZXJGaWx0ZXI8RiwgVD5cbntcbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gTmFtZWRGaWx0ZXJGaWx0ZXI7XG5cbiAgc2VhcmNoVGV4dDogc3RyaW5nID0gbnVsbDtcbiAgZW50aXR5TmFtZTogc3RyaW5nID0gbnVsbDtcbiAgcmVjb3JkZXJQZXJzb25JZDogbnVtYmVyID0gbnVsbDtcbiAgcmVjb3JkZXJEZXBhcnRtZW50SWQ6IG51bWJlciA9IG51bGw7XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlLCBvcHRzKTtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSBzb3VyY2Uuc2VhcmNoVGV4dDtcbiAgICB0aGlzLmVudGl0eU5hbWUgPSBzb3VyY2UuZW50aXR5TmFtZTtcbiAgICB0aGlzLnJlY29yZGVyUGVyc29uSWQgPSBzb3VyY2UucmVjb3JkZXJQZXJzb25JZDtcbiAgICB0aGlzLnJlY29yZGVyRGVwYXJ0bWVudElkID0gc291cmNlLnJlY29yZGVyRGVwYXJ0bWVudElkO1xuICB9XG59XG4iXX0=
|