ngx-snotifire 15.1.1 → 16.0.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/{esm2020 → esm2022}/lib/components/buttons/buttons.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/ngx-notifire/ngx-snotifire.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/prompt/prompt.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/toast/toast.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/ngx-snotifire.module.mjs +10 -10
- package/{esm2020 → esm2022}/lib/pipes/keys.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/truncate.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/notification.service.mjs +4 -4
- package/{fesm2020 → fesm2022}/ngx-snotifire.mjs +30 -30
- package/{fesm2020 → fesm2022}/ngx-snotifire.mjs.map +1 -1
- package/lib/components/buttons/buttons.component.d.ts +1 -1
- package/lib/components/prompt/prompt.component.d.ts +1 -1
- package/lib/components/toast/toast.component.d.ts +1 -1
- package/package.json +12 -16
- package/fesm2015/ngx-snotifire.mjs +0 -1060
- package/fesm2015/ngx-snotifire.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/components/buttons/buttons-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/toast/notifire-toast.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/set-toast-type.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/transform-argument.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/defaults/defaults.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/defaults/global-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/defaults/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/defaults/toast-defaults.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/snotifire-animate.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/snotifire-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/snotifire-event.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/snotifire-notifications.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/snotifire-position.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/snotifire.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/snotifire.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-snotifire.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -15,13 +15,13 @@ export class ButtonsComponent {
|
|
|
15
15
|
remove() {
|
|
16
16
|
this.service.remove(this.toast.id);
|
|
17
17
|
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsComponent, deps: [{ token: i1.SnotifireService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonsComponent, selector: "notifire-button", inputs: { toast: "toast" }, ngImport: i0, template: "<div class=\"notifire-toast__buttons\">\n <ng-container *ngIf=\"toast.config\">\n <button\n type=\"button\"\n *ngFor=\"let button of toast.config.buttons\"\n [ngClass]=\"{ 'notifire-toast__buttons--bold': button.bold }\"\n (click)=\"button.action ? button.action(toast) : remove()\"\n >\n {{ button.text }}\n </button>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
18
20
|
}
|
|
19
|
-
|
|
20
|
-
ButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: ButtonsComponent, selector: "notifire-button", inputs: { toast: "toast" }, ngImport: i0, template: "<div class=\"notifire-toast__buttons\">\n <ng-container *ngIf=\"toast.config\">\n <button\n type=\"button\"\n *ngFor=\"let button of toast.config.buttons\"\n [ngClass]=\"{ 'notifire-toast__buttons--bold': button.bold }\"\n (click)=\"button.action ? button.action(toast) : remove()\"\n >\n {{ button.text }}\n </button>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: ButtonsComponent, decorators: [{
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{ selector: 'notifire-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"notifire-toast__buttons\">\n <ng-container *ngIf=\"toast.config\">\n <button\n type=\"button\"\n *ngFor=\"let button of toast.config.buttons\"\n [ngClass]=\"{ 'notifire-toast__buttons--bold': button.bold }\"\n (click)=\"button.action ? button.action(toast) : remove()\"\n >\n {{ button.text }}\n </button>\n </ng-container>\n</div>\n" }]
|
|
24
24
|
}], ctorParameters: function () { return [{ type: i1.SnotifireService }]; }, propDecorators: { toast: [{
|
|
25
25
|
type: Input
|
|
26
26
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNub3RpZmlyZS9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFVdkI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQTZCLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQztJQUUxRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBYlUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsbUZDbkI3Qiw4YUFZQTs7NEZET2EsZ0JBQWdCO2tCQVQ1QixTQUFTOytCQUNFLGlCQUFpQixtQkFFVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO3VHQVM1QixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbm90aWZpcmVUb2FzdE1vZGVsIH0gZnJvbSAnLi4vdG9hc3Qvbm90aWZpcmUtdG9hc3QubW9kZWwnO1xuaW1wb3J0IHsgU25vdGlmaXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm90aWZpcmUtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG4vKipcbiAqIEJ1dHRvbnMgY29tcG9uZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBCdXR0b25zQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEdldCBidXR0b25zIEFycmF5XG4gICAqL1xuICBASW5wdXQoKSB0b2FzdCE6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBTbm90aWZpcmVTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiByZW1vdmUgdG9hc3RcbiAgICovXG4gIHJlbW92ZSgpIHtcbiAgICB0aGlzLnNlcnZpY2UucmVtb3ZlKHRoaXMudG9hc3QuaWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibm90aWZpcmUtdG9hc3RfX2J1dHRvbnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9hc3QuY29uZmlnXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiB0b2FzdC5jb25maWcuYnV0dG9uc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdub3RpZmlyZS10b2FzdF9fYnV0dG9ucy0tYm9sZCc6IGJ1dHRvbi5ib2xkIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbi5hY3Rpb24gPyBidXR0b24uYWN0aW9uKHRvYXN0KSA6IHJlbW92ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgYnV0dG9uLnRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -119,11 +119,11 @@ export class NgxSnotifireComponent {
|
|
|
119
119
|
this.unsubscribe$.next();
|
|
120
120
|
this.unsubscribe$.complete();
|
|
121
121
|
}
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxSnotifireComponent, deps: [{ token: i1.SnotifireService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgxSnotifireComponent, selector: "ngx-snotifire", ngImport: i0, template: "<div\n class=\"snotifire-backdrop\"\n *ngIf=\"backdrop && backdrop >= 0\"\n [style.opacity]=\"backdrop\"\n></div>\n\n<div\n *ngFor=\"let position of notifications | keys\"\n class=\"snotify snotify-{{ position }}\"\n>\n <ngx-toast\n *ngFor=\"let notification of getNotificationArray(notifications, position) | slice: blockSizeA:blockSizeB\"\n [toast]=\"notification\"\n (stateChanged)=\"stateChanged($event)\"\n >\n </ngx-toast>\n\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ToastComponent, selector: "ngx-toast", inputs: ["toast"], outputs: ["stateChanged"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i4.KeysPipe, name: "keys" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
122
124
|
}
|
|
123
|
-
|
|
124
|
-
NgxSnotifireComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: NgxSnotifireComponent, selector: "ngx-snotifire", ngImport: i0, template: "<div\n class=\"snotifire-backdrop\"\n *ngIf=\"backdrop && backdrop >= 0\"\n [style.opacity]=\"backdrop\"\n></div>\n\n<div\n *ngFor=\"let position of notifications | keys\"\n class=\"snotify snotify-{{ position }}\"\n>\n <ngx-toast\n *ngFor=\"let notification of getNotificationArray(notifications, position) | slice: blockSizeA:blockSizeB\"\n [toast]=\"notification\"\n (stateChanged)=\"stateChanged($event)\"\n >\n </ngx-toast>\n\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ToastComponent, selector: "ngx-toast", inputs: ["toast"], outputs: ["stateChanged"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i4.KeysPipe, name: "keys" }], encapsulation: i0.ViewEncapsulation.None });
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: NgxSnotifireComponent, decorators: [{
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxSnotifireComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
127
|
args: [{ selector: 'ngx-snotifire', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"snotifire-backdrop\"\n *ngIf=\"backdrop && backdrop >= 0\"\n [style.opacity]=\"backdrop\"\n></div>\n\n<div\n *ngFor=\"let position of notifications | keys\"\n class=\"snotify snotify-{{ position }}\"\n>\n <ngx-toast\n *ngFor=\"let notification of getNotificationArray(notifications, position) | slice: blockSizeA:blockSizeB\"\n [toast]=\"notification\"\n (stateChanged)=\"stateChanged($event)\"\n >\n </ngx-toast>\n\n</div>\n" }]
|
|
128
128
|
}], ctorParameters: function () { return [{ type: i1.SnotifireService }]; } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNub3RpZmlyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtbm90aWZpcmUvbmd4LXNub3RpZmlyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtbm90aWZpcmUvbmd4LXNub3RpZmlyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFVN0UsTUFBTSxPQUFPLHFCQUFxQjtJQW1DaEMsWUFBcUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFsQzdCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQXlCcEQ7O1dBRUc7UUFDSCxhQUFRLEdBQXVCLENBQUMsQ0FBQyxDQUFDO1FBQ2xDOztXQUVHO1FBQ0gsaUJBQVksR0FBMEIsRUFBRSxDQUFDO0lBRVEsQ0FBQztJQUNsRCxlQUFlLEtBQVUsQ0FBQztJQUUxQixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLE1BQTZCLEVBQUUsRUFBRTtZQUMzQyxJQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtnQkFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTTtn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TSxLQUFLLENBQUMsRUFBRTtvQkFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDcEI7Z0JBQ0QsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7a0hBbEtVLHFCQUFxQjtzR0FBckIscUJBQXFCLHFEQ2xCbEMsdWVBa0JBOzJGREFhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlLGlCQUVWLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU25vdGlmaXJlRXZlbnRUeXBlLCBTbm90aWZpY2F0aW9uUG9zaXRpb25UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNub3RpZmlyZU5vdGlmaWNhdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc25vdGlmaXJlLW5vdGlmaWNhdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNub3RpZmlyZVRvYXN0TW9kZWwgfSBmcm9tICcuLi90b2FzdC9ub3RpZmlyZS10b2FzdC5tb2RlbCc7XG5pbXBvcnQgeyBTbm90aWZpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtc25vdGlmaXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25neC1zbm90aWZpcmUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hTbm90aWZpcmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgLyoqXG4gICAqIFRvYXN0cyBhcnJheVxuICAgKi9cbiAgbm90aWZpY2F0aW9ucyE6IFNub3RpZmlyZU5vdGlmaWNhdGlvbnM7XG4gIC8qKlxuICAgKiBUb2FzdHMgZW1pdHRlclxuICAgKi9cbiAgZW1pdHRlciE6IFN1YnNjcmlwdGlvbjtcbiAgLyoqXG4gICAqIEhlbHBlciBmb3Igc2xpY2UgcGlwZSAobWF4T25TY3JlZW4pXG4gICAqL1xuICBkb2NrU2l6ZUEhOiBudW1iZXI7XG4gIC8qKlxuICAgKiBIZWxwZXIgZm9yIHNsaWNlIHBpcGUgKG1heE9uU2NyZWVuKVxuICAgKi9cbiAgZG9ja1NpemVCITogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogSGVscGVyIGZvciBzbGljZSBwaXBlIChtYXhBdFBvc2l0aW9uKVxuICAgKi9cbiAgYmxvY2tTaXplQSE6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhlbHBlciBmb3Igc2xpY2UgcGlwZSAobWF4QXRQb3NpdGlvbilcbiAgICovXG4gIGJsb2NrU2l6ZUIhOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBCYWNrZHJvcCBPcGFjaXR5XG4gICAqL1xuICBiYWNrZHJvcDogbnVtYmVyIHwgdW5kZWZpbmVkID0gLTE7XG4gIC8qKlxuICAgKiBIb3cgbWFueSB0b2FzdHMgd2l0aCBiYWNrZHJvcCBpbiBjdXJyZW50IHF1ZXVlXG4gICAqL1xuICB3aXRoQmFja2Ryb3A6IFNub3RpZmlyZVRvYXN0TW9kZWxbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHNlcnZpY2U6IFNub3RpZmlyZVNlcnZpY2UpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmVtaXR0ZXJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCh0b2FzdHM6IFNub3RpZmlyZVRvYXN0TW9kZWxbXSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlZmF1bHRDb25maWcgJiZcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwgJiZcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwubmV3T25Ub3BcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5kb2NrU2l6ZUEgPSB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwubWF4T25TY3JlZW5cbiAgICAgICAgICAgID8gLXRoaXMuc2VydmljZS5kZWZhdWx0Q29uZmlnLmdsb2JhbC5tYXhPblNjcmVlblxuICAgICAgICAgICAgOiA2O1xuICAgICAgICAgIHRoaXMuZG9ja1NpemVCID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHRoaXMuYmxvY2tTaXplQSA9IHRoaXMuc2VydmljZS5kZWZhdWx0Q29uZmlnLmdsb2JhbC5tYXhBdFBvc2l0aW9uXG4gICAgICAgICAgICA/IC10aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwubWF4QXRQb3NpdGlvblxuICAgICAgICAgICAgOiA0O1xuICAgICAgICAgIHRoaXMuYmxvY2tTaXplQiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB0aGlzLndpdGhCYWNrZHJvcCA9IHRvYXN0cy5maWx0ZXIoXG4gICAgICAgICAgICAodG9hc3QpID0+XG4gICAgICAgICAgICAgIHRvYXN0LmNvbmZpZyAmJlxuICAgICAgICAgICAgICB0b2FzdC5jb25maWcuYmFja2Ryb3AgJiZcbiAgICAgICAgICAgICAgdG9hc3QuY29uZmlnLmJhY2tkcm9wID49IDBcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZG9ja1NpemVBID0gMDtcbiAgICAgICAgICB0aGlzLmRvY2tTaXplQiA9XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwgJiZcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZWZhdWx0Q29uZmlnLmdsb2JhbC5tYXhPblNjcmVlbjtcbiAgICAgICAgICB0aGlzLmJsb2NrU2l6ZUEgPSAwO1xuICAgICAgICAgIHRoaXMuYmxvY2tTaXplQiA9XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwgJiZcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZWZhdWx0Q29uZmlnLmdsb2JhbC5tYXhBdFBvc2l0aW9uO1xuICAgICAgICAgIHRoaXMud2l0aEJhY2tkcm9wID0gdG9hc3RzXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAodG9hc3QpID0+XG4gICAgICAgICAgICAgICAgdG9hc3QuY29uZmlnICYmXG4gICAgICAgICAgICAgICAgdG9hc3QuY29uZmlnLmJhY2tkcm9wICYmXG4gICAgICAgICAgICAgICAgdG9hc3QuY29uZmlnLmJhY2tkcm9wID49IDBcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5yZXZlcnNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zID0gdGhpcy5zcGxpdFRvYXN0cyhcbiAgICAgICAgICB0b2FzdHMuc2xpY2UodGhpcy5kb2NrU2l6ZUEsIHRoaXMuZG9ja1NpemVCKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlZChTbm90aWZpcmVFdmVudFR5cGUuTU9VTlRFRCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdCB0b2FzdHMgdG9hc3RzIGludG8gZGlmZmVyZW50IG9iamVjdHNcbiAgICogQHBhcmFtIHRvYXN0cyBub3RpZmlyZS10b2FzdFtdXG4gICAqIEByZXR1cm5zIFNub3RpZnlOb3RpZmljYXRpb25zXG4gICAqL1xuICBzcGxpdFRvYXN0cyh0b2FzdHM6IFNub3RpZmlyZVRvYXN0TW9kZWxbXSk6IFNub3RpZmlyZU5vdGlmaWNhdGlvbnMge1xuICAgIGNvbnN0IHJlc3VsdDogU25vdGlmaXJlTm90aWZpY2F0aW9ucyA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBTbm90aWZpY2F0aW9uUG9zaXRpb25UeXBlKSB7XG4gICAgICBpZiAoU25vdGlmaWNhdGlvblBvc2l0aW9uVHlwZS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICAgICAgcmVzdWx0W1xuICAgICAgICAgIFNub3RpZmljYXRpb25Qb3NpdGlvblR5cGVbXG4gICAgICAgICAgICBwcm9wZXJ0eSBhcyBrZXlvZiB0eXBlb2YgU25vdGlmaWNhdGlvblBvc2l0aW9uVHlwZVxuICAgICAgICAgIF1cbiAgICAgICAgXSA9IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRvYXN0cy5mb3JFYWNoKCh0b2FzdDogU25vdGlmaXJlVG9hc3RNb2RlbCkgPT4ge1xuICAgICAgaWYgKHRvYXN0LmNvbmZpZy5wb3NpdGlvbikge1xuICAgICAgICBjb25zdCBrZXlJbmRleCA9IE9iamVjdC5rZXlzKFNub3RpZmljYXRpb25Qb3NpdGlvblR5cGUpLmluZGV4T2YoXG4gICAgICAgICAgdG9hc3QuY29uZmlnLnBvc2l0aW9uXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkU3RyaW5nID0gT2JqZWN0LnZhbHVlcyhTbm90aWZpY2F0aW9uUG9zaXRpb25UeXBlKVtcbiAgICAgICAgICBrZXlJbmRleFxuICAgICAgICBdO1xuICAgICAgICByZXN1bHRbc2VhcmNoZWRTdHJpbmddPy5wdXNoKHRvYXN0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0Tm90aWZpY2F0aW9uQXJyYXkoXG4gICAgbm90aWZpY2F0aW9uczogU25vdGlmaXJlTm90aWZpY2F0aW9ucyxcbiAgICBwb3NpdGlvbjogU25vdGlmaWNhdGlvblBvc2l0aW9uVHlwZVxuICApOiBTbm90aWZpcmVUb2FzdE1vZGVsW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBub3RpZmljYXRpb25zW3Bvc2l0aW9uXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBiYWNrZHJvcCBvcGFjaXR5XG4gICAqIEBwYXJhbSBldmVudCBOb3RpZmljYXRpb25FdmVudFR5cGVcbiAgICovXG4gIHN0YXRlQ2hhbmdlZChldmVudDogU25vdGlmaXJlRXZlbnRUeXBlKSB7XG4gICAgaWYgKCF0aGlzLndpdGhCYWNrZHJvcC5sZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLmJhY2tkcm9wICYmIHRoaXMuYmFja2Ryb3AgPj0gMCkge1xuICAgICAgICB0aGlzLmJhY2tkcm9wID0gLTE7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgIGNhc2UgJ21vdW50ZWQnOlxuICAgICAgICBpZiAodGhpcy5iYWNrZHJvcCAmJiB0aGlzLmJhY2tkcm9wIDwgMCkge1xuICAgICAgICAgIHRoaXMuYmFja2Ryb3AgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmVmb3JlU2hvdyc6XG4gICAgICAgIHRoaXMuYmFja2Ryb3AgPVxuICAgICAgICAgIHRoaXMud2l0aEJhY2tkcm9wW3RoaXMud2l0aEJhY2tkcm9wLmxlbmd0aCAtIDFdLmNvbmZpZz8uYmFja2Ryb3A7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmVmb3JlSGlkZSc6XG4gICAgICAgIGlmICh0aGlzLndpdGhCYWNrZHJvcC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmJhY2tkcm9wID0gMDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICAgIGlmICh0aGlzLndpdGhCYWNrZHJvcC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmJhY2tkcm9wID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInNub3RpZmlyZS1iYWNrZHJvcFwiXG4gICAgKm5nSWY9XCJiYWNrZHJvcCAmJiBiYWNrZHJvcCA+PSAwXCJcbiAgICBbc3R5bGUub3BhY2l0eV09XCJiYWNrZHJvcFwiXG4+PC9kaXY+XG5cbjxkaXZcbiAgICAqbmdGb3I9XCJsZXQgcG9zaXRpb24gb2Ygbm90aWZpY2F0aW9ucyB8IGtleXNcIlxuICAgIGNsYXNzPVwic25vdGlmeSBzbm90aWZ5LXt7IHBvc2l0aW9uIH19XCJcbj5cbiAgICA8bmd4LXRvYXN0XG4gICAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2YgZ2V0Tm90aWZpY2F0aW9uQXJyYXkobm90aWZpY2F0aW9ucywgcG9zaXRpb24pIHwgc2xpY2U6IGJsb2NrU2l6ZUE6YmxvY2tTaXplQlwiXG4gICAgICAgIFt0b2FzdF09XCJub3RpZmljYXRpb25cIlxuICAgICAgICAoc3RhdGVDaGFuZ2VkKT1cInN0YXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9uZ3gtdG9hc3Q+XG5cbjwvZGl2PlxuIl19
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNub3RpZmlyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtbm90aWZpcmUvbmd4LXNub3RpZmlyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtbm90aWZpcmUvbmd4LXNub3RpZmlyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFVN0UsTUFBTSxPQUFPLHFCQUFxQjtJQW1DaEMsWUFBcUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFsQzdCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQXlCcEQ7O1dBRUc7UUFDSCxhQUFRLEdBQXVCLENBQUMsQ0FBQyxDQUFDO1FBQ2xDOztXQUVHO1FBQ0gsaUJBQVksR0FBMEIsRUFBRSxDQUFDO0lBRVEsQ0FBQztJQUNsRCxlQUFlLEtBQVUsQ0FBQztJQUUxQixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLE1BQTZCLEVBQUUsRUFBRTtZQUMzQyxJQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtnQkFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTTtn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TSxLQUFLLENBQUMsRUFBRTtvQkFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDcEI7Z0JBQ0QsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzsrR0FsS1UscUJBQXFCO21HQUFyQixxQkFBcUIscURDbEJsQyx1ZUFrQkE7OzRGREFhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlLGlCQUVWLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU25vdGlmaXJlRXZlbnRUeXBlLCBTbm90aWZpY2F0aW9uUG9zaXRpb25UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNub3RpZmlyZU5vdGlmaWNhdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc25vdGlmaXJlLW5vdGlmaWNhdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNub3RpZmlyZVRvYXN0TW9kZWwgfSBmcm9tICcuLi90b2FzdC9ub3RpZmlyZS10b2FzdC5tb2RlbCc7XG5pbXBvcnQgeyBTbm90aWZpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtc25vdGlmaXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25neC1zbm90aWZpcmUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hTbm90aWZpcmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgLyoqXG4gICAqIFRvYXN0cyBhcnJheVxuICAgKi9cbiAgbm90aWZpY2F0aW9ucyE6IFNub3RpZmlyZU5vdGlmaWNhdGlvbnM7XG4gIC8qKlxuICAgKiBUb2FzdHMgZW1pdHRlclxuICAgKi9cbiAgZW1pdHRlciE6IFN1YnNjcmlwdGlvbjtcbiAgLyoqXG4gICAqIEhlbHBlciBmb3Igc2xpY2UgcGlwZSAobWF4T25TY3JlZW4pXG4gICAqL1xuICBkb2NrU2l6ZUEhOiBudW1iZXI7XG4gIC8qKlxuICAgKiBIZWxwZXIgZm9yIHNsaWNlIHBpcGUgKG1heE9uU2NyZWVuKVxuICAgKi9cbiAgZG9ja1NpemVCITogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogSGVscGVyIGZvciBzbGljZSBwaXBlIChtYXhBdFBvc2l0aW9uKVxuICAgKi9cbiAgYmxvY2tTaXplQSE6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhlbHBlciBmb3Igc2xpY2UgcGlwZSAobWF4QXRQb3NpdGlvbilcbiAgICovXG4gIGJsb2NrU2l6ZUIhOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBCYWNrZHJvcCBPcGFjaXR5XG4gICAqL1xuICBiYWNrZHJvcDogbnVtYmVyIHwgdW5kZWZpbmVkID0gLTE7XG4gIC8qKlxuICAgKiBIb3cgbWFueSB0b2FzdHMgd2l0aCBiYWNrZHJvcCBpbiBjdXJyZW50IHF1ZXVlXG4gICAqL1xuICB3aXRoQmFja2Ryb3A6IFNub3RpZmlyZVRvYXN0TW9kZWxbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHNlcnZpY2U6IFNub3RpZmlyZVNlcnZpY2UpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmVtaXR0ZXJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCh0b2FzdHM6IFNub3RpZmlyZVRvYXN0TW9kZWxbXSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlZmF1bHRDb25maWcgJiZcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwgJiZcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwubmV3T25Ub3BcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5kb2NrU2l6ZUEgPSB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwubWF4T25TY3JlZW5cbiAgICAgICAgICAgID8gLXRoaXMuc2VydmljZS5kZWZhdWx0Q29uZmlnLmdsb2JhbC5tYXhPblNjcmVlblxuICAgICAgICAgICAgOiA2O1xuICAgICAgICAgIHRoaXMuZG9ja1NpemVCID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHRoaXMuYmxvY2tTaXplQSA9IHRoaXMuc2VydmljZS5kZWZhdWx0Q29uZmlnLmdsb2JhbC5tYXhBdFBvc2l0aW9uXG4gICAgICAgICAgICA/IC10aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwubWF4QXRQb3NpdGlvblxuICAgICAgICAgICAgOiA0O1xuICAgICAgICAgIHRoaXMuYmxvY2tTaXplQiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB0aGlzLndpdGhCYWNrZHJvcCA9IHRvYXN0cy5maWx0ZXIoXG4gICAgICAgICAgICAodG9hc3QpID0+XG4gICAgICAgICAgICAgIHRvYXN0LmNvbmZpZyAmJlxuICAgICAgICAgICAgICB0b2FzdC5jb25maWcuYmFja2Ryb3AgJiZcbiAgICAgICAgICAgICAgdG9hc3QuY29uZmlnLmJhY2tkcm9wID49IDBcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZG9ja1NpemVBID0gMDtcbiAgICAgICAgICB0aGlzLmRvY2tTaXplQiA9XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwgJiZcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZWZhdWx0Q29uZmlnLmdsb2JhbC5tYXhPblNjcmVlbjtcbiAgICAgICAgICB0aGlzLmJsb2NrU2l6ZUEgPSAwO1xuICAgICAgICAgIHRoaXMuYmxvY2tTaXplQiA9XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5nbG9iYWwgJiZcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZWZhdWx0Q29uZmlnLmdsb2JhbC5tYXhBdFBvc2l0aW9uO1xuICAgICAgICAgIHRoaXMud2l0aEJhY2tkcm9wID0gdG9hc3RzXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAodG9hc3QpID0+XG4gICAgICAgICAgICAgICAgdG9hc3QuY29uZmlnICYmXG4gICAgICAgICAgICAgICAgdG9hc3QuY29uZmlnLmJhY2tkcm9wICYmXG4gICAgICAgICAgICAgICAgdG9hc3QuY29uZmlnLmJhY2tkcm9wID49IDBcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5yZXZlcnNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zID0gdGhpcy5zcGxpdFRvYXN0cyhcbiAgICAgICAgICB0b2FzdHMuc2xpY2UodGhpcy5kb2NrU2l6ZUEsIHRoaXMuZG9ja1NpemVCKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlZChTbm90aWZpcmVFdmVudFR5cGUuTU9VTlRFRCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdCB0b2FzdHMgdG9hc3RzIGludG8gZGlmZmVyZW50IG9iamVjdHNcbiAgICogQHBhcmFtIHRvYXN0cyBub3RpZmlyZS10b2FzdFtdXG4gICAqIEByZXR1cm5zIFNub3RpZnlOb3RpZmljYXRpb25zXG4gICAqL1xuICBzcGxpdFRvYXN0cyh0b2FzdHM6IFNub3RpZmlyZVRvYXN0TW9kZWxbXSk6IFNub3RpZmlyZU5vdGlmaWNhdGlvbnMge1xuICAgIGNvbnN0IHJlc3VsdDogU25vdGlmaXJlTm90aWZpY2F0aW9ucyA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBTbm90aWZpY2F0aW9uUG9zaXRpb25UeXBlKSB7XG4gICAgICBpZiAoU25vdGlmaWNhdGlvblBvc2l0aW9uVHlwZS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICAgICAgcmVzdWx0W1xuICAgICAgICAgIFNub3RpZmljYXRpb25Qb3NpdGlvblR5cGVbXG4gICAgICAgICAgICBwcm9wZXJ0eSBhcyBrZXlvZiB0eXBlb2YgU25vdGlmaWNhdGlvblBvc2l0aW9uVHlwZVxuICAgICAgICAgIF1cbiAgICAgICAgXSA9IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRvYXN0cy5mb3JFYWNoKCh0b2FzdDogU25vdGlmaXJlVG9hc3RNb2RlbCkgPT4ge1xuICAgICAgaWYgKHRvYXN0LmNvbmZpZy5wb3NpdGlvbikge1xuICAgICAgICBjb25zdCBrZXlJbmRleCA9IE9iamVjdC5rZXlzKFNub3RpZmljYXRpb25Qb3NpdGlvblR5cGUpLmluZGV4T2YoXG4gICAgICAgICAgdG9hc3QuY29uZmlnLnBvc2l0aW9uXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkU3RyaW5nID0gT2JqZWN0LnZhbHVlcyhTbm90aWZpY2F0aW9uUG9zaXRpb25UeXBlKVtcbiAgICAgICAgICBrZXlJbmRleFxuICAgICAgICBdO1xuICAgICAgICByZXN1bHRbc2VhcmNoZWRTdHJpbmddPy5wdXNoKHRvYXN0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0Tm90aWZpY2F0aW9uQXJyYXkoXG4gICAgbm90aWZpY2F0aW9uczogU25vdGlmaXJlTm90aWZpY2F0aW9ucyxcbiAgICBwb3NpdGlvbjogU25vdGlmaWNhdGlvblBvc2l0aW9uVHlwZVxuICApOiBTbm90aWZpcmVUb2FzdE1vZGVsW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBub3RpZmljYXRpb25zW3Bvc2l0aW9uXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBiYWNrZHJvcCBvcGFjaXR5XG4gICAqIEBwYXJhbSBldmVudCBOb3RpZmljYXRpb25FdmVudFR5cGVcbiAgICovXG4gIHN0YXRlQ2hhbmdlZChldmVudDogU25vdGlmaXJlRXZlbnRUeXBlKSB7XG4gICAgaWYgKCF0aGlzLndpdGhCYWNrZHJvcC5sZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLmJhY2tkcm9wICYmIHRoaXMuYmFja2Ryb3AgPj0gMCkge1xuICAgICAgICB0aGlzLmJhY2tkcm9wID0gLTE7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgIGNhc2UgJ21vdW50ZWQnOlxuICAgICAgICBpZiAodGhpcy5iYWNrZHJvcCAmJiB0aGlzLmJhY2tkcm9wIDwgMCkge1xuICAgICAgICAgIHRoaXMuYmFja2Ryb3AgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmVmb3JlU2hvdyc6XG4gICAgICAgIHRoaXMuYmFja2Ryb3AgPVxuICAgICAgICAgIHRoaXMud2l0aEJhY2tkcm9wW3RoaXMud2l0aEJhY2tkcm9wLmxlbmd0aCAtIDFdLmNvbmZpZz8uYmFja2Ryb3A7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmVmb3JlSGlkZSc6XG4gICAgICAgIGlmICh0aGlzLndpdGhCYWNrZHJvcC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmJhY2tkcm9wID0gMDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICAgIGlmICh0aGlzLndpdGhCYWNrZHJvcC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmJhY2tkcm9wID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInNub3RpZmlyZS1iYWNrZHJvcFwiXG4gICAgKm5nSWY9XCJiYWNrZHJvcCAmJiBiYWNrZHJvcCA+PSAwXCJcbiAgICBbc3R5bGUub3BhY2l0eV09XCJiYWNrZHJvcFwiXG4+PC9kaXY+XG5cbjxkaXZcbiAgICAqbmdGb3I9XCJsZXQgcG9zaXRpb24gb2Ygbm90aWZpY2F0aW9ucyB8IGtleXNcIlxuICAgIGNsYXNzPVwic25vdGlmeSBzbm90aWZ5LXt7IHBvc2l0aW9uIH19XCJcbj5cbiAgICA8bmd4LXRvYXN0XG4gICAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2YgZ2V0Tm90aWZpY2F0aW9uQXJyYXkobm90aWZpY2F0aW9ucywgcG9zaXRpb24pIHwgc2xpY2U6IGJsb2NrU2l6ZUE6YmxvY2tTaXplQlwiXG4gICAgICAgIFt0b2FzdF09XCJub3RpZmljYXRpb25cIlxuICAgICAgICAoc3RhdGVDaGFuZ2VkKT1cInN0YXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9uZ3gtdG9hc3Q+XG5cbjwvZGl2PlxuIl19
|
|
@@ -14,13 +14,13 @@ export class PromptComponent {
|
|
|
14
14
|
getValue($event) {
|
|
15
15
|
return $event.target.value;
|
|
16
16
|
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PromptComponent, selector: "ngx-snotify-prompt", inputs: { toast: "toast" }, ngImport: i0, template: "<span\n class=\"notifire-toast__input\"\n [ngClass]=\"{ 'notifire-toast__input--filled': isPromptFocused }\"\n>\n <input\n (input)=\"toast.value = getValue($event); toast.eventEmitter.next(inputType)\"\n autofocus\n class=\"notifire-toast__input__field\"\n type=\"text\"\n [id]=\"toast.id\"\n (focus)=\"isPromptFocused = true\"\n (blur)=\"isPromptFocused = !!toast.value && !!toast.value.length\"\n >\n <label\n class=\"notifire-toast__input__label\"\n [for]=\"toast.id\"\n >\n <span\n class=\"notifire-toast__input__labelContent\"\n *ngIf=\"toast.config && toast.config.placeholder \"\n >\n {{ toast.config.placeholder | truncate }}\n </span>\n </label>\n</span>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
PromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: PromptComponent, selector: "ngx-snotify-prompt", inputs: { toast: "toast" }, ngImport: i0, template: "<span\n class=\"notifire-toast__input\"\n [ngClass]=\"{ 'notifire-toast__input--filled': isPromptFocused }\"\n>\n <input\n (input)=\"toast.value = getValue($event); toast.eventEmitter.next(inputType)\"\n autofocus\n class=\"notifire-toast__input__field\"\n type=\"text\"\n [id]=\"toast.id\"\n (focus)=\"isPromptFocused = true\"\n (blur)=\"isPromptFocused = !!toast.value && !!toast.value.length\"\n >\n <label\n class=\"notifire-toast__input__label\"\n [for]=\"toast.id\"\n >\n <span\n class=\"notifire-toast__input__labelContent\"\n *ngIf=\"toast.config && toast.config.placeholder \"\n >\n {{ toast.config.placeholder | truncate }}\n </span>\n </label>\n</span>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: PromptComponent, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ selector: 'ngx-snotify-prompt', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<span\n class=\"notifire-toast__input\"\n [ngClass]=\"{ 'notifire-toast__input--filled': isPromptFocused }\"\n>\n <input\n (input)=\"toast.value = getValue($event); toast.eventEmitter.next(inputType)\"\n autofocus\n class=\"notifire-toast__input__field\"\n type=\"text\"\n [id]=\"toast.id\"\n (focus)=\"isPromptFocused = true\"\n (blur)=\"isPromptFocused = !!toast.value && !!toast.value.length\"\n >\n <label\n class=\"notifire-toast__input__label\"\n [for]=\"toast.id\"\n >\n <span\n class=\"notifire-toast__input__labelContent\"\n *ngIf=\"toast.config && toast.config.placeholder \"\n >\n {{ toast.config.placeholder | truncate }}\n </span>\n </label>\n</span>\n" }]
|
|
23
23
|
}], propDecorators: { toast: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbm90aWZpcmUvc3JjL2xpYi9jb21wb25lbnRzL3Byb21wdC9wcm9tcHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNub3RpZmlyZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvbXB0L3Byb21wdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBRUwsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQVNsRCxNQUFNLE9BQU8sZUFBZTtJQU41QjtRQU9FLGNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7UUFLckM7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLEtBQUssQ0FBQztLQUt6QjtJQUhDLFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQzsrR0FiVSxlQUFlO21HQUFmLGVBQWUsc0ZDaEI1QixxeUJBeUJBOzs0RkRUYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLG9CQUFvQixtQkFFYix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQU81QixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbm90aWZpcmVFdmVudFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU25vdGlmaXJlVG9hc3RNb2RlbCB9IGZyb20gJy4uL3RvYXN0L25vdGlmaXJlLXRvYXN0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXNub3RpZnktcHJvbXB0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb21wdC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9tcHRDb21wb25lbnQge1xuICBpbnB1dFR5cGUgPSBTbm90aWZpcmVFdmVudFR5cGUuSU5QVVQ7XG4gIC8qKlxuICAgKiBHZXQgUFJPTVBUIHBsYWNlaG9sZGVyXG4gICAqL1xuICBASW5wdXQoKSB0b2FzdCE6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBJcyBQUk9NUFQgZm9jdXNlZFxuICAgKi9cbiAgaXNQcm9tcHRGb2N1c2VkID0gZmFsc2U7XG5cbiAgZ2V0VmFsdWUoJGV2ZW50OiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiAkZXZlbnQudGFyZ2V0LnZhbHVlO1xuICB9XG59XG4iLCI8c3BhblxuICAgIGNsYXNzPVwibm90aWZpcmUtdG9hc3RfX2lucHV0XCJcbiAgICBbbmdDbGFzc109XCJ7ICdub3RpZmlyZS10b2FzdF9faW5wdXQtLWZpbGxlZCc6IGlzUHJvbXB0Rm9jdXNlZCB9XCJcbj5cbiAgICA8aW5wdXRcbiAgICAgICAgKGlucHV0KT1cInRvYXN0LnZhbHVlID0gZ2V0VmFsdWUoJGV2ZW50KTsgdG9hc3QuZXZlbnRFbWl0dGVyLm5leHQoaW5wdXRUeXBlKVwiXG4gICAgICAgIGF1dG9mb2N1c1xuICAgICAgICBjbGFzcz1cIm5vdGlmaXJlLXRvYXN0X19pbnB1dF9fZmllbGRcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFtpZF09XCJ0b2FzdC5pZFwiXG4gICAgICAgIChmb2N1cyk9XCJpc1Byb21wdEZvY3VzZWQgPSB0cnVlXCJcbiAgICAgICAgKGJsdXIpPVwiaXNQcm9tcHRGb2N1c2VkID0gISF0b2FzdC52YWx1ZSAmJiAhIXRvYXN0LnZhbHVlLmxlbmd0aFwiXG4gICAgPlxuICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cIm5vdGlmaXJlLXRvYXN0X19pbnB1dF9fbGFiZWxcIlxuICAgICAgICBbZm9yXT1cInRvYXN0LmlkXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm5vdGlmaXJlLXRvYXN0X19pbnB1dF9fbGFiZWxDb250ZW50XCJcbiAgICAgICAgICAgICpuZ0lmPVwidG9hc3QuY29uZmlnICYmIHRvYXN0LmNvbmZpZy5wbGFjZWhvbGRlciBcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0b2FzdC5jb25maWcucGxhY2Vob2xkZXIgfCB0cnVuY2F0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbjwvc3Bhbj5cbiJdfQ==
|
|
@@ -171,10 +171,10 @@ export class ToastComponent {
|
|
|
171
171
|
this.unsubscribe$.next();
|
|
172
172
|
this.unsubscribe$.complete();
|
|
173
173
|
}
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastComponent, deps: [{ token: i1.SnotifireService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToastComponent, selector: "ngx-toast", inputs: { toast: "toast" }, outputs: { stateChanged: "stateChanged" }, ngImport: i0, template: "<ng-container *ngIf=\"toast && toast.config\">\n <div\n [attr.role]=\"toast.config.type === state.promptType ? 'dialog' : 'alert'\"\n [attr.aria-labelledby]=\"'snotify_' + toast.id\"\n [attr.aria-modal]=\"toast.config.type === state.promptType\"\n [ngClass]=\"[\n 'notifire-toast animated',\n 'snotify-' + toast.config.type,\n state.animation, toast.valid === undefined ? '' : toast.valid ? 'snotifyToast--valid' : 'snotifyToast--invalid'\n]\"\n [ngStyle]=\"{\n '-webkit-transition': toast.config.animation && toast.config.animation.time + 'ms',\n transition: toast.config.animation && toast.config.animation.time + 'ms',\n '-webkit-animation-duration': toast.config.animation && toast.config.animation.time + 'ms',\n 'animation-duration': toast.config.animation && toast.config.animation.time + 'ms'\n}\"\n (animationend)=\"onExitTransitionEnd()\"\n (click)=\"onClick()\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n >\n <div\n class=\"notifire-toast__progressBar\"\n *ngIf=\"toast.config.showProgressBar\"\n >\n <span\n class=\"notifire-toast__progressBar__percentage\"\n [ngStyle]=\"{ width: state.progress * 100 + '%' }\"\n ></span>\n </div>\n <div\n class=\"notifire-toast__inner\"\n *ngIf=\"!toast.config.html; else toastHTML\"\n >\n <div\n class=\"notifire-toast__title\"\n [attr.id]=\"'snotify_' + toast.id\"\n *ngIf=\"toast.title\"\n >\n {{ toast.title | truncate: toast.config.titleMaxLength }}\n </div>\n <div\n class=\"notifire-toast__body\"\n *ngIf=\"toast.body\"\n >\n {{ toast.body | truncate: toast.config.bodyMaxLength }}\n </div>\n <ngx-snotify-prompt\n *ngIf=\"toast.config.type === state.promptType\"\n [toast]=\"toast\"\n >\n </ngx-snotify-prompt>\n <div\n *ngIf=\"!toast.config.icon; else elseBlock\"\n [ngClass]=\"['snotifire-icon', toast.config.iconClass || 'snotifire-icon--' + toast.config.type]\"\n ></div>\n <ng-template #elseBlock>\n <img\n class=\"snotifire-icon\"\n [src]=\"toast.config.icon\"\n >\n </ng-template>\n </div>\n <ng-template #toastHTML>\n <div\n class=\"notifire-toast__inner\"\n [innerHTML]=\"toast.config.html\"\n ></div>\n </ng-template>\n <notifire-button\n *ngIf=\"toast.config.buttons\"\n [toast]=\"toast\"\n ></notifire-button>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.PromptComponent, selector: "ngx-snotify-prompt", inputs: ["toast"] }, { kind: "component", type: i4.ButtonsComponent, selector: "notifire-button", inputs: ["toast"] }, { kind: "pipe", type: i5.TruncatePipe, name: "truncate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
174
176
|
}
|
|
175
|
-
|
|
176
|
-
ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: ToastComponent, selector: "ngx-toast", inputs: { toast: "toast" }, outputs: { stateChanged: "stateChanged" }, ngImport: i0, template: "<ng-container *ngIf=\"toast && toast.config\">\n <div\n [attr.role]=\"toast.config.type === state.promptType ? 'dialog' : 'alert'\"\n [attr.aria-labelledby]=\"'snotify_' + toast.id\"\n [attr.aria-modal]=\"toast.config.type === state.promptType\"\n [ngClass]=\"[\n 'notifire-toast animated',\n 'snotify-' + toast.config.type,\n state.animation, toast.valid === undefined ? '' : toast.valid ? 'snotifyToast--valid' : 'snotifyToast--invalid'\n]\"\n [ngStyle]=\"{\n '-webkit-transition': toast.config.animation && toast.config.animation.time + 'ms',\n transition: toast.config.animation && toast.config.animation.time + 'ms',\n '-webkit-animation-duration': toast.config.animation && toast.config.animation.time + 'ms',\n 'animation-duration': toast.config.animation && toast.config.animation.time + 'ms'\n}\"\n (animationend)=\"onExitTransitionEnd()\"\n (click)=\"onClick()\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n >\n <div\n class=\"notifire-toast__progressBar\"\n *ngIf=\"toast.config.showProgressBar\"\n >\n <span\n class=\"notifire-toast__progressBar__percentage\"\n [ngStyle]=\"{ width: state.progress * 100 + '%' }\"\n ></span>\n </div>\n <div\n class=\"notifire-toast__inner\"\n *ngIf=\"!toast.config.html; else toastHTML\"\n >\n <div\n class=\"notifire-toast__title\"\n [attr.id]=\"'snotify_' + toast.id\"\n *ngIf=\"toast.title\"\n >\n {{ toast.title | truncate: toast.config.titleMaxLength }}\n </div>\n <div\n class=\"notifire-toast__body\"\n *ngIf=\"toast.body\"\n >\n {{ toast.body | truncate: toast.config.bodyMaxLength }}\n </div>\n <ngx-snotify-prompt\n *ngIf=\"toast.config.type === state.promptType\"\n [toast]=\"toast\"\n >\n </ngx-snotify-prompt>\n <div\n *ngIf=\"!toast.config.icon; else elseBlock\"\n [ngClass]=\"['snotifire-icon', toast.config.iconClass || 'snotifire-icon--' + toast.config.type]\"\n ></div>\n <ng-template #elseBlock>\n <img\n class=\"snotifire-icon\"\n [src]=\"toast.config.icon\"\n >\n </ng-template>\n </div>\n <ng-template #toastHTML>\n <div\n class=\"notifire-toast__inner\"\n [innerHTML]=\"toast.config.html\"\n ></div>\n </ng-template>\n <notifire-button\n *ngIf=\"toast.config.buttons\"\n [toast]=\"toast\"\n ></notifire-button>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.PromptComponent, selector: "ngx-snotify-prompt", inputs: ["toast"] }, { kind: "component", type: i4.ButtonsComponent, selector: "notifire-button", inputs: ["toast"] }, { kind: "pipe", type: i5.TruncatePipe, name: "truncate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: ToastComponent, decorators: [{
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastComponent, decorators: [{
|
|
178
178
|
type: Component,
|
|
179
179
|
args: [{ selector: 'ngx-toast', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"toast && toast.config\">\n <div\n [attr.role]=\"toast.config.type === state.promptType ? 'dialog' : 'alert'\"\n [attr.aria-labelledby]=\"'snotify_' + toast.id\"\n [attr.aria-modal]=\"toast.config.type === state.promptType\"\n [ngClass]=\"[\n 'notifire-toast animated',\n 'snotify-' + toast.config.type,\n state.animation, toast.valid === undefined ? '' : toast.valid ? 'snotifyToast--valid' : 'snotifyToast--invalid'\n]\"\n [ngStyle]=\"{\n '-webkit-transition': toast.config.animation && toast.config.animation.time + 'ms',\n transition: toast.config.animation && toast.config.animation.time + 'ms',\n '-webkit-animation-duration': toast.config.animation && toast.config.animation.time + 'ms',\n 'animation-duration': toast.config.animation && toast.config.animation.time + 'ms'\n}\"\n (animationend)=\"onExitTransitionEnd()\"\n (click)=\"onClick()\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n >\n <div\n class=\"notifire-toast__progressBar\"\n *ngIf=\"toast.config.showProgressBar\"\n >\n <span\n class=\"notifire-toast__progressBar__percentage\"\n [ngStyle]=\"{ width: state.progress * 100 + '%' }\"\n ></span>\n </div>\n <div\n class=\"notifire-toast__inner\"\n *ngIf=\"!toast.config.html; else toastHTML\"\n >\n <div\n class=\"notifire-toast__title\"\n [attr.id]=\"'snotify_' + toast.id\"\n *ngIf=\"toast.title\"\n >\n {{ toast.title | truncate: toast.config.titleMaxLength }}\n </div>\n <div\n class=\"notifire-toast__body\"\n *ngIf=\"toast.body\"\n >\n {{ toast.body | truncate: toast.config.bodyMaxLength }}\n </div>\n <ngx-snotify-prompt\n *ngIf=\"toast.config.type === state.promptType\"\n [toast]=\"toast\"\n >\n </ngx-snotify-prompt>\n <div\n *ngIf=\"!toast.config.icon; else elseBlock\"\n [ngClass]=\"['snotifire-icon', toast.config.iconClass || 'snotifire-icon--' + toast.config.type]\"\n ></div>\n <ng-template #elseBlock>\n <img\n class=\"snotifire-icon\"\n [src]=\"toast.config.icon\"\n >\n </ng-template>\n </div>\n <ng-template #toastHTML>\n <div\n class=\"notifire-toast__inner\"\n [innerHTML]=\"toast.config.html\"\n ></div>\n </ng-template>\n <notifire-button\n *ngIf=\"toast.config.buttons\"\n [toast]=\"toast\"\n ></notifire-button>\n </div>\n</ng-container>\n" }]
|
|
180
180
|
}], ctorParameters: function () { return [{ type: i1.SnotifireService }]; }, propDecorators: { toast: [{
|
|
@@ -182,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImpor
|
|
|
182
182
|
}], stateChanged: [{
|
|
183
183
|
type: Output
|
|
184
184
|
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNub3RpZmlyZS9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNub3RpZmlyZS9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQVNqRSxNQUFNLE9BQU8sY0FBYztJQXlCekIsWUFBNkIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUF4QjlDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1qQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBT2hFOztXQUVHO1FBQ0gsVUFBSyxHQUFHO1lBQ04sTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsQ0FBQztZQUNYLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEtBQUs7WUFDbkIsVUFBVSxFQUFFLGFBQWEsQ0FBQyxNQUFNO1NBQ2pDLENBQUM7SUFFdUQsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtZQUN4QyxJ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QVMsRUFBRSxDQUFDO2lCQUNiO3FCQUFNO29CQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztvQkFDeEIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNwQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsU0FBUyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOzsyR0FoTVUsY0FBYzsrRkFBZCxjQUFjLHdIQ25CM0IsdTNGQTJFQTsyRkR4RGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXLGlCQUVOLGlCQUFpQixDQUFDLElBQUk7dUdBUTVCLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNub3RpZmlyZUV2ZW50VHlwZSwgU25vdGlmaXJlVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTbm90aWZpcmVUb2FzdE1vZGVsIH0gZnJvbSAnLi9ub3RpZmlyZS10b2FzdC5tb2RlbCc7XG5pbXBvcnQgeyBTbm90aWZpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBHZXQgdG9hc3QgZnJvbSBub3RpZmljYXRpb25zIGFycmF5XG4gICAqL1xuICBASW5wdXQoKSB0b2FzdCE6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIEBPdXRwdXQoKSBzdGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNub3RpZmlyZUV2ZW50VHlwZT4oKTtcblxuICAvKipcbiAgICogcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlkXG4gICAqL1xuICBhbmltYXRpb25GcmFtZSE6IG51bWJlcjtcblxuICAvKipcbiAgICogVG9hc3Qgc3RhdGVcbiAgICovXG4gIHN0YXRlID0ge1xuICAgIHBhdXNlZDogZmFsc2UsXG4gICAgcHJvZ3Jlc3M6IDAsXG4gICAgYW5pbWF0aW9uOiAnJyxcbiAgICBpc0Rlc3Ryb3lpbmc6IGZhbHNlLFxuICAgIHByb21wdFR5cGU6IFNub3RpZmlyZVR5cGUuUFJPTVBULFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogU25vdGlmaXJlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlcnZpY2UudG9hc3RDaGFuZ2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgodG9hc3Q6IFNub3RpZmlyZVRvYXN0TW9kZWwpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudG9hc3QuaWQgPT09IHRvYXN0LmlkKSB7XG4gICAgICAgICAgdGhpcy5pbml0VG9hc3QoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLnNlcnZpY2UudG9hc3REZWxldGVkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudG9hc3QuaWQgPT09IGlkKSB7XG4gICAgICAgICAgdGhpcy5vblJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICBpZiAodGhpcy50b2FzdCAmJiB0aGlzLnRvYXN0LmNvbmZpZyAmJiAhdGhpcy50b2FzdC5jb25maWcudGltZW91dCkge1xuICAgICAgdGhpcy50b2FzdC5jb25maWcuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuTU9VTlRFRCk7XG4gICAgdGhpcy5zdGF0ZS5hbmltYXRpb24gPSAnbm90aWZpcmUtdG9hc3QtLWluJztcbiAgfVxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZXJ2aWNlLmRlZmF1bHRDb25maWcuc25vdGlmaXJlQ29uZmlnICYmXG4gICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5zbm90aWZpcmVDb25maWcuYW5pbWF0aW9uXG4gICAgKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZWQuZW1pdChTbm90aWZpcmVFdmVudFR5cGUuQkVGT1JFX1NIT1cpO1xuICAgICAgICB0aGlzLnRvYXN0LmV2ZW50RW1pdHRlci5uZXh0KFNub3RpZmlyZUV2ZW50VHlwZS5CRUZPUkVfU0hPVyk7XG4gICAgICAgIHRoaXMuc3RhdGUuYW5pbWF0aW9uID1cbiAgICAgICAgICB0aGlzLnRvYXN0LmNvbmZpZyAmJlxuICAgICAgICAgIHRoaXMudG9hc3QuY29uZmlnLmFuaW1hdGlvbiAmJlxuICAgICAgICAgIHRoaXMudG9hc3QuY29uZmlnLmFuaW1hdGlvbi5lbnRlclxuICAgICAgICAgICAgPyB0aGlzLnRvYXN0LmNvbmZpZy5hbmltYXRpb24uZW50ZXJcbiAgICAgICAgICAgIDogJyc7XG4gICAgICB9LCB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5zbm90aWZpcmVDb25maWcuYW5pbWF0aW9uLnRpbWUgLyA1KTsgLy8gdGltZSB0byBzaG93IHRvYXN0IHB1c2ggYW5pbWF0aW9uIChub3RpZmlyZS10b2FzdC0taW4pXG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBUcmlnZ2VyIGJlZm9yZURlc3Ryb3kgbGlmZWN5Y2xlLiBSZW1vdmVzIHRvYXN0XG4gICAqL1xuICBvblJlbW92ZSgpIHtcbiAgICB0aGlzLnN0YXRlLmlzRGVzdHJveWluZyA9IHRydWU7XG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuQkVGT1JFX0hJREUpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VkLmVtaXQoU25vdGlmaXJlRXZlbnRUeXBlLkJFRk9SRV9ISURFKTtcbiAgICB0aGlzLnN0YXRlLmFuaW1hdGlvbiA9XG4gICAgICAodGhpcy50b2FzdC5jb25maWcgJiZcbiAgICAgICAgdGhpcy50b2FzdC5jb25maWcuYW5pbWF0aW9uICYmXG4gICAgICAgIHRoaXMudG9hc3QuY29uZmlnLmFuaW1hdGlvbi5leGl0KSB8fFxuICAgICAgJyc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlZC5lbWl0KFNub3RpZmlyZUV2ZW50VHlwZS5ISURERU4pO1xuICAgICAgdGhpcy5zdGF0ZS5hbmltYXRpb24gPSAnbm90aWZpcmUtdG9hc3QtLW91dCc7XG4gICAgICB0aGlzLnRvYXN0LmV2ZW50RW1pdHRlci5uZXh0KFNub3RpZmlyZUV2ZW50VHlwZS5ISURERU4pO1xuICAgICAgc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4gdGhpcy5zZXJ2aWNlLnJlbW92ZSh0aGlzLnRvYXN0LmlkLCB0cnVlKSxcbiAgICAgICAgdGhpcy50b2FzdC5jb25maWcgJiZcbiAgICAgICAgICB0aGlzLnRvYXN0LmNvbmZpZy5hbmltYXRpb24gJiZcbiAgICAgICAgICB0aGlzLnRvYXN0LmNvbmZpZy5hbmltYXRpb24udGltZSAvIDJcbiAgICAgICk7XG4gICAgfSwgdGhpcy50b2FzdC5jb25maWcgJiYgdGhpcy50b2FzdC5jb25maWcuYW5pbWF0aW9uICYmIHRoaXMudG9hc3QuY29uZmlnLmFuaW1hdGlvbi50aW1lIC8gMik7XG4gIH1cbiAgLyoqXG4gICAqIFRyaWdnZXIgT25DbGljayBsaWZlY3ljbGVcbiAgICovXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuQ0xJQ0spO1xuICAgIGlmICh0aGlzLnRvYXN0ICYmIHRoaXMudG9hc3QuY29uZmlnICYmIHRoaXMudG9hc3QuY29uZmlnLmNsb3NlT25DbGljaykge1xuICAgICAgdGhpcy5zZXJ2aWNlLnJlbW92ZSh0aGlzLnRvYXN0LmlkKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIFRyaWdnZXIgb25Ib3ZlckVudGVyIGxpZmVjeWNsZVxuICAgKi9cbiAgb25Nb3VzZUVudGVyKCkge1xuICAgIHRoaXMudG9hc3QuZXZlbnRFbWl0dGVyLm5leHQoU25vdGlmaXJlRXZlbnRUeXBlLk1PVVNFX0VOVEVSKTtcbiAgICBpZiAodGhpcy50b2FzdCAmJiB0aGlzLnRvYXN0LmNvbmZpZyAmJiB0aGlzLnRvYXN0LmNvbmZpZy5wYXVzZU9uSG92ZXIpIHtcbiAgICAgIHRoaXMuc3RhdGUucGF1c2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciBvbkhvdmVyTGVhdmUgbGlmZWN5Y2xlXG4gICAqL1xuICBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2FzdCAmJlxuICAgICAgdGhpcy50b2FzdC5jb25maWcgJiZcbiAgICAgIHRoaXMudG9hc3QuY29uZmlnLnBhdXNlT25Ib3ZlciAmJlxuICAgICAgdGhpcy50b2FzdC5jb25maWcudGltZW91dFxuICAgICkge1xuICAgICAgdGhpcy5zdGF0ZS5wYXVzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhcnRUaW1lb3V0KHRoaXMudG9hc3QuY29uZmlnLnRpbWVvdXQgKiB0aGlzLnN0YXRlLnByb2dyZXNzKTtcbiAgICB9XG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuTU9VU0VfTEVBVkUpO1xuICB9XG4gIC8qKlxuICAgKiBSZW1vdmUgdG9hc3QgY29tcGxldGVseSBhZnRlciBhbmltYXRpb25cbiAgICovXG4gIG9uRXhpdFRyYW5zaXRpb25FbmQoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUuaXNEZXN0cm95aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5pdFRvYXN0KCk7XG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuU0hPV04pO1xuICB9XG5cbiAgLypcbiAgIENvbW1vblxuICAgKi9cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBiYXNlIHRvYXN0IGNvbmZpZ1xuICAgKlxuICAgKi9cbiAgaW5pdFRvYXN0KCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLnRvYXN0ICYmIHRoaXMudG9hc3QuY29uZmlnICYmIHRoaXMudG9hc3QuY29uZmlnLnRpbWVvdXRcbiAgICAgICAgPyB0aGlzLnRvYXN0LmNvbmZpZy50aW1lb3V0XG4gICAgICAgIDogMCkgPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXJ0VGltZW91dCgwKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIFN0YXJ0IHByb2dyZXNzIGJhclxuICAgKiBAcGFyYW0gc3RhcnRUaW1lIG51bWJlclxuICAgKi9cbiAgc3RhcnRUaW1lb3V0KHN0YXJ0VGltZTogbnVtYmVyID0gMCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgY29uc3QgY2FsY3VsYXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb25GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWUgPSB0aW1lc3RhbXAgKyBzdGFydFRpbWUgLSBzdGFydDtcbiAgICAgICAgY29uc3QgcHJvZ3Jlc3MgPSBNYXRoLm1pbihcbiAgICAgICAgICBydW50aW1lIC9cbiAgICAgICAgICAgICh0aGlzLnRvYXN0ICYmIHRoaXMudG9hc3QuY29uZmlnICYmIHRoaXMudG9hc3QuY29uZmlnLnRpbWVvdXRcbiAgICAgICAgICAgICAgPyB0aGlzLnRvYXN0LmNvbmZpZy50aW1lb3V0XG4gICAgICAgICAgICAgIDogMSksXG4gICAgICAgICAgMVxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5wYXVzZWQpIHtcbiAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1hdGlvbkZyYW1lKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBydW50aW1lIDxcbiAgICAgICAgICAodGhpcy50b2FzdCAmJiB0aGlzLnRvYXN0LmNvbmZpZyAmJiB0aGlzLnRvYXN0LmNvbmZpZy50aW1lb3V0XG4gICAgICAgICAgICA/IHRoaXMudG9hc3QuY29uZmlnLnRpbWVvdXRcbiAgICAgICAgICAgIDogMSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5zdGF0ZS5wcm9ncmVzcyA9IHByb2dyZXNzO1xuICAgICAgICAgIGNhbGN1bGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc3RhdGUucHJvZ3Jlc3MgPSAxO1xuICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuYW5pbWF0aW9uRnJhbWUpO1xuICAgICAgICAgIHRoaXMuc2VydmljZS5yZW1vdmUodGhpcy50b2FzdC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG4gICAgY2FsY3VsYXRlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvYXN0ICYmIHRvYXN0LmNvbmZpZ1wiPlxuICAgIDxkaXZcbiAgICAgICAgW2F0dHIucm9sZV09XCJ0b2FzdC5jb25maWcudHlwZSA9PT0gc3RhdGUucHJvbXB0VHlwZSA/ICdkaWFsb2cnIDogJ2FsZXJ0J1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInc25vdGlmeV8nICsgdG9hc3QuaWRcIlxuICAgICAgICBbYXR0ci5hcmlhLW1vZGFsXT1cInRvYXN0LmNvbmZpZy50eXBlID09PSBzdGF0ZS5wcm9tcHRUeXBlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAnbm90aWZpcmUtdG9hc3QgYW5pbWF0ZWQnLFxuICAnc25vdGlmeS0nICsgdG9hc3QuY29uZmlnLnR5cGUsXG4gIHN0YXRlLmFuaW1hdGlvbiwgIHRvYXN0LnZhbGlkID09PSB1bmRlZmluZWQgPyAnJyA6IHRvYXN0LnZhbGlkID8gJ3Nub3RpZnlUb2FzdC0tdmFsaWQnIDogJ3Nub3RpZnlUb2FzdC0taW52YWxpZCdcbl1cIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICctd2Via2l0LXRyYW5zaXRpb24nOiB0b2FzdC5jb25maWcuYW5pbWF0aW9uICYmIHRvYXN0LmNvbmZpZy5hbmltYXRpb24udGltZSAgKyAnbXMnLFxuICB0cmFuc2l0aW9uOiAgdG9hc3QuY29uZmlnLmFuaW1hdGlvbiAmJiB0b2FzdC5jb25maWcuYW5pbWF0aW9uLnRpbWUgKyAnbXMnLFxuICAnLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb24nOiAgdG9hc3QuY29uZmlnLmFuaW1hdGlvbiAmJiAgdG9hc3QuY29uZmlnLmFuaW1hdGlvbi50aW1lICsgJ21zJyxcbiAgJ2FuaW1hdGlvbi1kdXJhdGlvbic6ICB0b2FzdC5jb25maWcuYW5pbWF0aW9uICYmIHRvYXN0LmNvbmZpZy5hbmltYXRpb24udGltZSArICdtcydcbn1cIlxuICAgICAgICAoYW5pbWF0aW9uZW5kKT1cIm9uRXhpdFRyYW5zaXRpb25FbmQoKVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpcmUtdG9hc3RfX3Byb2dyZXNzQmFyXCJcbiAgICAgICAgICAgICpuZ0lmPVwidG9hc3QuY29uZmlnLnNob3dQcm9ncmVzc0JhclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmlyZS10b2FzdF9fcHJvZ3Jlc3NCYXJfX3BlcmNlbnRhZ2VcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHN0YXRlLnByb2dyZXNzICogMTAwICsgJyUnIH1cIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpcmUtdG9hc3RfX2lubmVyXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIXRvYXN0LmNvbmZpZy5odG1sOyBlbHNlIHRvYXN0SFRNTFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaXJlLXRvYXN0X190aXRsZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiJ3Nub3RpZnlfJyArIHRvYXN0LmlkXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInRvYXN0LnRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0b2FzdC50aXRsZSB8IHRydW5jYXRlOiB0b2FzdC5jb25maWcudGl0bGVNYXhMZW5ndGggfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpcmUtdG9hc3RfX2JvZHlcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidG9hc3QuYm9keVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdG9hc3QuYm9keSB8IHRydW5jYXRlOiB0b2FzdC5jb25maWcuYm9keU1heExlbmd0aCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmd4LXNub3RpZnktcHJvbXB0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0b2FzdC5jb25maWcudHlwZSA9PT0gc3RhdGUucHJvbXB0VHlwZVwiXG4gICAgICAgICAgICAgICAgW3RvYXN0XT1cInRvYXN0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmd4LXNub3RpZnktcHJvbXB0PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXRvYXN0LmNvbmZpZy5pY29uOyBlbHNlIGVsc2VCbG9ja1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiWydzbm90aWZpcmUtaWNvbicsIHRvYXN0LmNvbmZpZy5pY29uQ2xhc3MgfHwgJ3Nub3RpZmlyZS1pY29uLS0nICsgdG9hc3QuY29uZmlnLnR5cGVdXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzbm90aWZpcmUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwidG9hc3QuY29uZmlnLmljb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI3RvYXN0SFRNTD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaXJlLXRvYXN0X19pbm5lclwiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ0b2FzdC5jb25maWcuaHRtbFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxub3RpZmlyZS1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwidG9hc3QuY29uZmlnLmJ1dHRvbnNcIlxuICAgICAgICAgICAgW3RvYXN0XT1cInRvYXN0XCJcbiAgICAgICAgPjwvbm90aWZpcmUtYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNub3RpZmlyZS9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNub3RpZmlyZS9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQVNqRSxNQUFNLE9BQU8sY0FBYztJQXlCekIsWUFBNkIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUF4QjlDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1qQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBT2hFOztXQUVHO1FBQ0gsVUFBSyxHQUFHO1lBQ04sTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsQ0FBQztZQUNYLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEtBQUs7WUFDbkIsVUFBVSxFQUFFLGFBQWEsQ0FBQyxNQUFNO1NBQ2pDLENBQUM7SUFFdUQsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtZQUN4QyxJ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QVMsRUFBRSxDQUFDO2lCQUNiO3FCQUFNO29CQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztvQkFDeEIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNwQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsU0FBUyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQWhNVSxjQUFjO21HQUFkLGNBQWMsd0hDbkIzQix1M0ZBMkVBOzs0RkR4RGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXLGlCQUVOLGlCQUFpQixDQUFDLElBQUk7dUdBUTVCLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNub3RpZmlyZUV2ZW50VHlwZSwgU25vdGlmaXJlVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTbm90aWZpcmVUb2FzdE1vZGVsIH0gZnJvbSAnLi9ub3RpZmlyZS10b2FzdC5tb2RlbCc7XG5pbXBvcnQgeyBTbm90aWZpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBHZXQgdG9hc3QgZnJvbSBub3RpZmljYXRpb25zIGFycmF5XG4gICAqL1xuICBASW5wdXQoKSB0b2FzdCE6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIEBPdXRwdXQoKSBzdGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNub3RpZmlyZUV2ZW50VHlwZT4oKTtcblxuICAvKipcbiAgICogcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlkXG4gICAqL1xuICBhbmltYXRpb25GcmFtZSE6IG51bWJlcjtcblxuICAvKipcbiAgICogVG9hc3Qgc3RhdGVcbiAgICovXG4gIHN0YXRlID0ge1xuICAgIHBhdXNlZDogZmFsc2UsXG4gICAgcHJvZ3Jlc3M6IDAsXG4gICAgYW5pbWF0aW9uOiAnJyxcbiAgICBpc0Rlc3Ryb3lpbmc6IGZhbHNlLFxuICAgIHByb21wdFR5cGU6IFNub3RpZmlyZVR5cGUuUFJPTVBULFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogU25vdGlmaXJlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlcnZpY2UudG9hc3RDaGFuZ2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgodG9hc3Q6IFNub3RpZmlyZVRvYXN0TW9kZWwpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudG9hc3QuaWQgPT09IHRvYXN0LmlkKSB7XG4gICAgICAgICAgdGhpcy5pbml0VG9hc3QoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLnNlcnZpY2UudG9hc3REZWxldGVkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudG9hc3QuaWQgPT09IGlkKSB7XG4gICAgICAgICAgdGhpcy5vblJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICBpZiAodGhpcy50b2FzdCAmJiB0aGlzLnRvYXN0LmNvbmZpZyAmJiAhdGhpcy50b2FzdC5jb25maWcudGltZW91dCkge1xuICAgICAgdGhpcy50b2FzdC5jb25maWcuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuTU9VTlRFRCk7XG4gICAgdGhpcy5zdGF0ZS5hbmltYXRpb24gPSAnbm90aWZpcmUtdG9hc3QtLWluJztcbiAgfVxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZXJ2aWNlLmRlZmF1bHRDb25maWcuc25vdGlmaXJlQ29uZmlnICYmXG4gICAgICB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5zbm90aWZpcmVDb25maWcuYW5pbWF0aW9uXG4gICAgKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZWQuZW1pdChTbm90aWZpcmVFdmVudFR5cGUuQkVGT1JFX1NIT1cpO1xuICAgICAgICB0aGlzLnRvYXN0LmV2ZW50RW1pdHRlci5uZXh0KFNub3RpZmlyZUV2ZW50VHlwZS5CRUZPUkVfU0hPVyk7XG4gICAgICAgIHRoaXMuc3RhdGUuYW5pbWF0aW9uID1cbiAgICAgICAgICB0aGlzLnRvYXN0LmNvbmZpZyAmJlxuICAgICAgICAgIHRoaXMudG9hc3QuY29uZmlnLmFuaW1hdGlvbiAmJlxuICAgICAgICAgIHRoaXMudG9hc3QuY29uZmlnLmFuaW1hdGlvbi5lbnRlclxuICAgICAgICAgICAgPyB0aGlzLnRvYXN0LmNvbmZpZy5hbmltYXRpb24uZW50ZXJcbiAgICAgICAgICAgIDogJyc7XG4gICAgICB9LCB0aGlzLnNlcnZpY2UuZGVmYXVsdENvbmZpZy5zbm90aWZpcmVDb25maWcuYW5pbWF0aW9uLnRpbWUgLyA1KTsgLy8gdGltZSB0byBzaG93IHRvYXN0IHB1c2ggYW5pbWF0aW9uIChub3RpZmlyZS10b2FzdC0taW4pXG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBUcmlnZ2VyIGJlZm9yZURlc3Ryb3kgbGlmZWN5Y2xlLiBSZW1vdmVzIHRvYXN0XG4gICAqL1xuICBvblJlbW92ZSgpIHtcbiAgICB0aGlzLnN0YXRlLmlzRGVzdHJveWluZyA9IHRydWU7XG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuQkVGT1JFX0hJREUpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VkLmVtaXQoU25vdGlmaXJlRXZlbnRUeXBlLkJFRk9SRV9ISURFKTtcbiAgICB0aGlzLnN0YXRlLmFuaW1hdGlvbiA9XG4gICAgICAodGhpcy50b2FzdC5jb25maWcgJiZcbiAgICAgICAgdGhpcy50b2FzdC5jb25maWcuYW5pbWF0aW9uICYmXG4gICAgICAgIHRoaXMudG9hc3QuY29uZmlnLmFuaW1hdGlvbi5leGl0KSB8fFxuICAgICAgJyc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlZC5lbWl0KFNub3RpZmlyZUV2ZW50VHlwZS5ISURERU4pO1xuICAgICAgdGhpcy5zdGF0ZS5hbmltYXRpb24gPSAnbm90aWZpcmUtdG9hc3QtLW91dCc7XG4gICAgICB0aGlzLnRvYXN0LmV2ZW50RW1pdHRlci5uZXh0KFNub3RpZmlyZUV2ZW50VHlwZS5ISURERU4pO1xuICAgICAgc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4gdGhpcy5zZXJ2aWNlLnJlbW92ZSh0aGlzLnRvYXN0LmlkLCB0cnVlKSxcbiAgICAgICAgdGhpcy50b2FzdC5jb25maWcgJiZcbiAgICAgICAgICB0aGlzLnRvYXN0LmNvbmZpZy5hbmltYXRpb24gJiZcbiAgICAgICAgICB0aGlzLnRvYXN0LmNvbmZpZy5hbmltYXRpb24udGltZSAvIDJcbiAgICAgICk7XG4gICAgfSwgdGhpcy50b2FzdC5jb25maWcgJiYgdGhpcy50b2FzdC5jb25maWcuYW5pbWF0aW9uICYmIHRoaXMudG9hc3QuY29uZmlnLmFuaW1hdGlvbi50aW1lIC8gMik7XG4gIH1cbiAgLyoqXG4gICAqIFRyaWdnZXIgT25DbGljayBsaWZlY3ljbGVcbiAgICovXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuQ0xJQ0spO1xuICAgIGlmICh0aGlzLnRvYXN0ICYmIHRoaXMudG9hc3QuY29uZmlnICYmIHRoaXMudG9hc3QuY29uZmlnLmNsb3NlT25DbGljaykge1xuICAgICAgdGhpcy5zZXJ2aWNlLnJlbW92ZSh0aGlzLnRvYXN0LmlkKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIFRyaWdnZXIgb25Ib3ZlckVudGVyIGxpZmVjeWNsZVxuICAgKi9cbiAgb25Nb3VzZUVudGVyKCkge1xuICAgIHRoaXMudG9hc3QuZXZlbnRFbWl0dGVyLm5leHQoU25vdGlmaXJlRXZlbnRUeXBlLk1PVVNFX0VOVEVSKTtcbiAgICBpZiAodGhpcy50b2FzdCAmJiB0aGlzLnRvYXN0LmNvbmZpZyAmJiB0aGlzLnRvYXN0LmNvbmZpZy5wYXVzZU9uSG92ZXIpIHtcbiAgICAgIHRoaXMuc3RhdGUucGF1c2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciBvbkhvdmVyTGVhdmUgbGlmZWN5Y2xlXG4gICAqL1xuICBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2FzdCAmJlxuICAgICAgdGhpcy50b2FzdC5jb25maWcgJiZcbiAgICAgIHRoaXMudG9hc3QuY29uZmlnLnBhdXNlT25Ib3ZlciAmJlxuICAgICAgdGhpcy50b2FzdC5jb25maWcudGltZW91dFxuICAgICkge1xuICAgICAgdGhpcy5zdGF0ZS5wYXVzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhcnRUaW1lb3V0KHRoaXMudG9hc3QuY29uZmlnLnRpbWVvdXQgKiB0aGlzLnN0YXRlLnByb2dyZXNzKTtcbiAgICB9XG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuTU9VU0VfTEVBVkUpO1xuICB9XG4gIC8qKlxuICAgKiBSZW1vdmUgdG9hc3QgY29tcGxldGVseSBhZnRlciBhbmltYXRpb25cbiAgICovXG4gIG9uRXhpdFRyYW5zaXRpb25FbmQoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUuaXNEZXN0cm95aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5pdFRvYXN0KCk7XG4gICAgdGhpcy50b2FzdC5ldmVudEVtaXR0ZXIubmV4dChTbm90aWZpcmVFdmVudFR5cGUuU0hPV04pO1xuICB9XG5cbiAgLypcbiAgIENvbW1vblxuICAgKi9cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBiYXNlIHRvYXN0IGNvbmZpZ1xuICAgKlxuICAgKi9cbiAgaW5pdFRvYXN0KCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLnRvYXN0ICYmIHRoaXMudG9hc3QuY29uZmlnICYmIHRoaXMudG9hc3QuY29uZmlnLnRpbWVvdXRcbiAgICAgICAgPyB0aGlzLnRvYXN0LmNvbmZpZy50aW1lb3V0XG4gICAgICAgIDogMCkgPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXJ0VGltZW91dCgwKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIFN0YXJ0IHByb2dyZXNzIGJhclxuICAgKiBAcGFyYW0gc3RhcnRUaW1lIG51bWJlclxuICAgKi9cbiAgc3RhcnRUaW1lb3V0KHN0YXJ0VGltZTogbnVtYmVyID0gMCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgY29uc3QgY2FsY3VsYXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb25GcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWUgPSB0aW1lc3RhbXAgKyBzdGFydFRpbWUgLSBzdGFydDtcbiAgICAgICAgY29uc3QgcHJvZ3Jlc3MgPSBNYXRoLm1pbihcbiAgICAgICAgICBydW50aW1lIC9cbiAgICAgICAgICAgICh0aGlzLnRvYXN0ICYmIHRoaXMudG9hc3QuY29uZmlnICYmIHRoaXMudG9hc3QuY29uZmlnLnRpbWVvdXRcbiAgICAgICAgICAgICAgPyB0aGlzLnRvYXN0LmNvbmZpZy50aW1lb3V0XG4gICAgICAgICAgICAgIDogMSksXG4gICAgICAgICAgMVxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5wYXVzZWQpIHtcbiAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1hdGlvbkZyYW1lKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBydW50aW1lIDxcbiAgICAgICAgICAodGhpcy50b2FzdCAmJiB0aGlzLnRvYXN0LmNvbmZpZyAmJiB0aGlzLnRvYXN0LmNvbmZpZy50aW1lb3V0XG4gICAgICAgICAgICA/IHRoaXMudG9hc3QuY29uZmlnLnRpbWVvdXRcbiAgICAgICAgICAgIDogMSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5zdGF0ZS5wcm9ncmVzcyA9IHByb2dyZXNzO1xuICAgICAgICAgIGNhbGN1bGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc3RhdGUucHJvZ3Jlc3MgPSAxO1xuICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuYW5pbWF0aW9uRnJhbWUpO1xuICAgICAgICAgIHRoaXMuc2VydmljZS5yZW1vdmUodGhpcy50b2FzdC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG4gICAgY2FsY3VsYXRlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvYXN0ICYmIHRvYXN0LmNvbmZpZ1wiPlxuICAgIDxkaXZcbiAgICAgICAgW2F0dHIucm9sZV09XCJ0b2FzdC5jb25maWcudHlwZSA9PT0gc3RhdGUucHJvbXB0VHlwZSA/ICdkaWFsb2cnIDogJ2FsZXJ0J1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInc25vdGlmeV8nICsgdG9hc3QuaWRcIlxuICAgICAgICBbYXR0ci5hcmlhLW1vZGFsXT1cInRvYXN0LmNvbmZpZy50eXBlID09PSBzdGF0ZS5wcm9tcHRUeXBlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAnbm90aWZpcmUtdG9hc3QgYW5pbWF0ZWQnLFxuICAnc25vdGlmeS0nICsgdG9hc3QuY29uZmlnLnR5cGUsXG4gIHN0YXRlLmFuaW1hdGlvbiwgIHRvYXN0LnZhbGlkID09PSB1bmRlZmluZWQgPyAnJyA6IHRvYXN0LnZhbGlkID8gJ3Nub3RpZnlUb2FzdC0tdmFsaWQnIDogJ3Nub3RpZnlUb2FzdC0taW52YWxpZCdcbl1cIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICctd2Via2l0LXRyYW5zaXRpb24nOiB0b2FzdC5jb25maWcuYW5pbWF0aW9uICYmIHRvYXN0LmNvbmZpZy5hbmltYXRpb24udGltZSAgKyAnbXMnLFxuICB0cmFuc2l0aW9uOiAgdG9hc3QuY29uZmlnLmFuaW1hdGlvbiAmJiB0b2FzdC5jb25maWcuYW5pbWF0aW9uLnRpbWUgKyAnbXMnLFxuICAnLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb24nOiAgdG9hc3QuY29uZmlnLmFuaW1hdGlvbiAmJiAgdG9hc3QuY29uZmlnLmFuaW1hdGlvbi50aW1lICsgJ21zJyxcbiAgJ2FuaW1hdGlvbi1kdXJhdGlvbic6ICB0b2FzdC5jb25maWcuYW5pbWF0aW9uICYmIHRvYXN0LmNvbmZpZy5hbmltYXRpb24udGltZSArICdtcydcbn1cIlxuICAgICAgICAoYW5pbWF0aW9uZW5kKT1cIm9uRXhpdFRyYW5zaXRpb25FbmQoKVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpcmUtdG9hc3RfX3Byb2dyZXNzQmFyXCJcbiAgICAgICAgICAgICpuZ0lmPVwidG9hc3QuY29uZmlnLnNob3dQcm9ncmVzc0JhclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmlyZS10b2FzdF9fcHJvZ3Jlc3NCYXJfX3BlcmNlbnRhZ2VcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHN0YXRlLnByb2dyZXNzICogMTAwICsgJyUnIH1cIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpcmUtdG9hc3RfX2lubmVyXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIXRvYXN0LmNvbmZpZy5odG1sOyBlbHNlIHRvYXN0SFRNTFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaXJlLXRvYXN0X190aXRsZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiJ3Nub3RpZnlfJyArIHRvYXN0LmlkXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInRvYXN0LnRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0b2FzdC50aXRsZSB8IHRydW5jYXRlOiB0b2FzdC5jb25maWcudGl0bGVNYXhMZW5ndGggfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpcmUtdG9hc3RfX2JvZHlcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidG9hc3QuYm9keVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdG9hc3QuYm9keSB8IHRydW5jYXRlOiB0b2FzdC5jb25maWcuYm9keU1heExlbmd0aCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmd4LXNub3RpZnktcHJvbXB0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0b2FzdC5jb25maWcudHlwZSA9PT0gc3RhdGUucHJvbXB0VHlwZVwiXG4gICAgICAgICAgICAgICAgW3RvYXN0XT1cInRvYXN0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmd4LXNub3RpZnktcHJvbXB0PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXRvYXN0LmNvbmZpZy5pY29uOyBlbHNlIGVsc2VCbG9ja1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiWydzbm90aWZpcmUtaWNvbicsIHRvYXN0LmNvbmZpZy5pY29uQ2xhc3MgfHwgJ3Nub3RpZmlyZS1pY29uLS0nICsgdG9hc3QuY29uZmlnLnR5cGVdXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzbm90aWZpcmUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwidG9hc3QuY29uZmlnLmljb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI3RvYXN0SFRNTD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaXJlLXRvYXN0X19pbm5lclwiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ0b2FzdC5jb25maWcuaHRtbFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxub3RpZmlyZS1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwidG9hc3QuY29uZmlnLmJ1dHRvbnNcIlxuICAgICAgICAgICAgW3RvYXN0XT1cInRvYXN0XCJcbiAgICAgICAgPjwvbm90aWZpcmUtYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -11,16 +11,16 @@ export class NgxSnotifireModule {
|
|
|
11
11
|
providers: [SnotifireService],
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxSnotifireModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgxSnotifireModule, declarations: [PromptComponent,
|
|
16
|
+
ToastComponent,
|
|
17
|
+
ButtonsComponent,
|
|
18
|
+
TruncatePipe,
|
|
19
|
+
KeysPipe,
|
|
20
|
+
NgxSnotifireComponent], imports: [CommonModule], exports: [NgxSnotifireComponent] }); }
|
|
21
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxSnotifireModule, imports: [CommonModule] }); }
|
|
14
22
|
}
|
|
15
|
-
|
|
16
|
-
NgxSnotifireModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.1", ngImport: i0, type: NgxSnotifireModule, declarations: [PromptComponent,
|
|
17
|
-
ToastComponent,
|
|
18
|
-
ButtonsComponent,
|
|
19
|
-
TruncatePipe,
|
|
20
|
-
KeysPipe,
|
|
21
|
-
NgxSnotifireComponent], imports: [CommonModule], exports: [NgxSnotifireComponent] });
|
|
22
|
-
NgxSnotifireModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: NgxSnotifireModule, imports: [CommonModule] });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: NgxSnotifireModule, decorators: [{
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxSnotifireModule, decorators: [{
|
|
24
24
|
type: NgModule,
|
|
25
25
|
args: [{
|
|
26
26
|
declarations: [
|
|
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImpor
|
|
|
35
35
|
exports: [NgxSnotifireComponent],
|
|
36
36
|
}]
|
|
37
37
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNub3RpZmlyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvbmd4LXNub3RpZmlyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixjQUFjLEdBQ2YsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDOztBQWM5QyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7U0FDOUIsQ0FBQztJQUNKLENBQUM7K0dBTlUsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBVjNCLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixRQUFRO1lBQ1IscUJBQXFCLGFBRWIsWUFBWSxhQUNaLHFCQUFxQjtnSEFFcEIsa0JBQWtCLFlBSG5CLFlBQVk7OzRGQUdYLGtCQUFrQjtrQkFaOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixRQUFRO3dCQUNSLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJ1dHRvbnNDb21wb25lbnQsXG4gIE5neFNub3RpZmlyZUNvbXBvbmVudCxcbiAgUHJvbXB0Q29tcG9uZW50LFxuICBUb2FzdENvbXBvbmVudCxcbn0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEtleXNQaXBlLCBUcnVuY2F0ZVBpcGUgfSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7IFNub3RpZmlyZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUHJvbXB0Q29tcG9uZW50LFxuICAgIFRvYXN0Q29tcG9uZW50LFxuICAgIEJ1dHRvbnNDb21wb25lbnQsXG4gICAgVHJ1bmNhdGVQaXBlLFxuICAgIEtleXNQaXBlLFxuICAgIE5neFNub3RpZmlyZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtOZ3hTbm90aWZpcmVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hTbm90aWZpcmVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFNub3RpZmlyZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4U25vdGlmaXJlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbU25vdGlmaXJlU2VydmljZV0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -10,14 +10,14 @@ export class KeysPipe {
|
|
|
10
10
|
}
|
|
11
11
|
return Object.keys(value);
|
|
12
12
|
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: KeysPipe, name: "keys", pure: false }); }
|
|
13
15
|
}
|
|
14
|
-
|
|
15
|
-
KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.1", ngImport: i0, type: KeysPipe, name: "keys", pure: false });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: KeysPipe, decorators: [{
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KeysPipe, decorators: [{
|
|
17
17
|
type: Pipe,
|
|
18
18
|
args: [{
|
|
19
19
|
name: 'keys',
|
|
20
20
|
pure: false,
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNub3RpZmlyZS9zcmMvbGliL3BpcGVzL2tleXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtJQUNuQixTQUFTLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQU5VLFFBQVE7NkdBQVIsUUFBUTs7NEZBQVIsUUFBUTtrQkFQcEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAna2V5cycsXG4gIHB1cmU6IGZhbHNlLFxufSlcbi8qKlxuICogRXh0cmFjdCBvYmplY3Qga2V5cyBwaXBlXG4gKi9cbmV4cG9ydCBjbGFzcyBLZXlzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXModmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -15,13 +15,13 @@ export class TruncatePipe {
|
|
|
15
15
|
(args.length > 1 ? args[1] : this.DEFAULT_TRAIL)
|
|
16
16
|
: value;
|
|
17
17
|
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
19
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TruncatePipe, name: "truncate" }); }
|
|
18
20
|
}
|
|
19
|
-
|
|
20
|
-
TruncatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.1", ngImport: i0, type: TruncatePipe, name: "truncate" });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: TruncatePipe, decorators: [{
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TruncatePipe, decorators: [{
|
|
22
22
|
type: Pipe,
|
|
23
23
|
args: [{
|
|
24
24
|
name: 'truncate',
|
|
25
25
|
}]
|
|
26
26
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbm90aWZpcmUvc3JjL2xpYi9waXBlcy90cnVuY2F0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRDs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBUHpCO1FBUW1CLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0tBU3hDO0lBUkMsU0FBUyxDQUFDLEtBQWEsRUFBRSxHQUFHLElBQWdCO1FBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRTNFLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLO1lBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQ3ZCLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNwRCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ1osQ0FBQzsrR0FWVSxZQUFZOzZHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBUHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cnVuY2F0ZScsXG59KVxuXG4vKipcbiAqIFRydW5jYXRlIHRvYXN0IHRleHQgcGlwZVxuICovXG5leHBvcnQgY2xhc3MgVHJ1bmNhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9MSU1JVCA9IDQwO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfVFJBSUwgPSAnLi4uJztcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIC4uLmFyZ3M6IEFycmF5PGFueT4pOiBhbnkge1xuICAgIGNvbnN0IGxpbWl0ID0gYXJncy5sZW5ndGggPiAwID8gcGFyc2VJbnQoYXJnc1swXSwgMTApIDogdGhpcy5ERUZBVUxUX0xJTUlUO1xuXG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IGxpbWl0XG4gICAgICA/IHZhbHVlLnN1YnN0cmluZygwLCBsaW1pdCkgK1xuICAgICAgICAgIChhcmdzLmxlbmd0aCA+IDEgPyBhcmdzWzFdIDogdGhpcy5ERUZBVUxUX1RSQUlMKVxuICAgICAgOiB2YWx1ZTtcbiAgfVxufVxuIl19
|
|
@@ -230,9 +230,9 @@ export class SnotifireService {
|
|
|
230
230
|
get(id) {
|
|
231
231
|
return (this.notifications && this.notifications.find((toast) => toast.id === id));
|
|
232
232
|
}
|
|
233
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnotifireService, deps: [{ token: 'snotifireConfig' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
234
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnotifireService }); }
|
|
233
235
|
}
|
|
234
|
-
SnotifireService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: SnotifireService, deps: [{ token: 'snotifireConfig' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
235
|
-
SnotifireService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: SnotifireService });
|
|
236
236
|
__decorate([
|
|
237
237
|
TransformArgument
|
|
238
238
|
/**
|
|
@@ -289,10 +289,10 @@ __decorate([
|
|
|
289
289
|
,
|
|
290
290
|
SetToastType
|
|
291
291
|
], SnotifireService.prototype, "async", null);
|
|
292
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnotifireService, decorators: [{
|
|
293
293
|
type: Injectable
|
|
294
294
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
295
295
|
type: Inject,
|
|
296
296
|
args: ['snotifireConfig']
|
|
297
297
|
}] }]; }, propDecorators: { success: [], error: [], info: [], warning: [], confirm: [], prompt: [], async: [] } });
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFHSixPQUFPLEVBQ1AsR0FBRyxFQUNILFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQW1CLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUcvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDb0MsYUFBZ0M7UUFBaEMsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBaEJwRTs7V0FFRztRQUNjLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUU3Qzs7V0FFRztRQUNNLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUUvQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDckMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUUzRCxrQkFBYSxHQUErQixFQUFFLENBQUM7SUFJNUMsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBcUI7UUFDMUIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2hFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQzFDLEtBQUssQ0FBQyxNQUFNLENBQ2IsQ0FBQztZQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQW1CLENBQ25DLElBQUksRUFBRSxFQUNOLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM1QixNQUFNLENBQ1AsQ0FBQztZQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxtQkFBbUIsQ0FDekMsSUFBSSxFQUFFLEVBQ04sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQzVCLE1BQU0sQ0FDUCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxFQUFVLEVBQUUsTUFBZ0I7UUFDakMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUM1QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQzNCLENBQUM7WUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBMkI7UUFDckMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FDbEQsSUFBSSxDQUFDLGFBQWEsRUFDbEIsUUFBUSxDQUNZLENBQUMsQ0FBQztRQUN4QixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNLLEdBQUcsQ0FBQyxLQUEwQjtRQUNwQyxJQUNFLElBQUksQ0FBQyxhQUFhO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTTtZQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFDekI7WUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUMxQztZQUNELE9BQU87U0FDUjtRQUNELElBQ0UsSUFBSSxDQUFDLGFBQWE7WUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFDbEM7WUFDQSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7UUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxJQUFJO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssYUFBYSxDQUFDLE9BQTRCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsSUFBdUIsRUFBRSxNQUF3QjtRQUNwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUU7Z0JBQ04sR0FBRyxNQUFNO2dCQUNULEdBQUcsRUFBRSxJQUFJLEVBQUU7YUFDWjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFrQ0Q7O09BRUc7SUFNSCxPQUFPLENBQUMsSUFBUztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztTQUN6RTtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBa0NEOztPQUVHO0lBTUgsS0FBSyxDQUFDLElBQVM7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQWtDRDs7T0FFRztJQU1ILElBQUksQ0FBQyxJQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFrQ0Q7O09BRUc7SUFNSCxPQUFPLENBQUMsSUFBUztRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBa0NEOztPQUVHO0lBTUgsT0FBTyxDQUFDLElBQVM7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQWtDRDs7T0FFRztJQU1ILE1BQU0sQ0FBQyxJQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFrREQ7O09BRUc7SUFNSCxLQUFLLENBQUMsSUFBUztRQUNiLElBQUksS0FBc0IsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxNQUFNLFlBQVksT0FBTyxFQUFFO1lBQ2xDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNCO2FBQU07WUFDTCxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNyQjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQzNCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxVQUFVLENBQ2IsS0FBSyxFQUNMLEVBQUUsRUFDRixNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUM5RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLEtBQUssQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7UUFFbEIsbUNBQW1DO1FBRW5DLCtDQUErQztRQUMvQyx5REFBeUQ7UUFDekQseUNBQXlDO1FBQ3pDLHNDQUFzQztRQUN0QyxTQUFTO1FBQ1QsMkNBQTJDO1FBQzNDLDREQUE0RDtRQUM1RCxvQ0FBb0M7UUFDcEMsU0FBUztRQUNULHdCQUF3QjtRQUN4QiwyREFBMkQ7UUFDM0Qsb0NBQW9DO1FBQ3BDLFNBQVM7UUFDVCxRQUFRO1FBQ1IsTUFBTTtRQUVOLGdCQUFnQjtJQUNsQixDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQVUsRUFBRSxJQUFTLEVBQUUsSUFBb0I7UUFDNUQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzFCO1FBRUQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUN0QixLQUFLLENBQUMsTUFBTSxFQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQ3hDLEVBQUUsSUFBSSxFQUFFLEVBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1NBQ0g7YUFBTTtZQUNMLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLEVBQVU7UUFDWixPQUFPLENBQ0wsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7OzZHQTdpQlUsZ0JBQWdCLGtCQWlCakIsaUJBQWlCO2lIQWpCaEIsZ0JBQWdCO0FBMEwzQjtJQUxDLGlCQUFpQjtJQUNsQjs7T0FFRzs7SUFDRixZQUFZOytDQU1aO0FBMENEO0lBTEMsaUJBQWlCO0lBQ2xCOztPQUVHOztJQUNGLFlBQVk7NkNBR1o7QUEwQ0Q7SUFMQyxpQkFBaUI7SUFDbEI7O09BRUc7O0lBQ0YsWUFBWTs0Q0FHWjtBQTBDRDtJQUxDLGlCQUFpQjtJQUNsQjs7T0FFRzs7SUFDRixZQUFZOytDQUdaO0FBMENEO0lBTEMsaUJBQWlCO0lBQ2xCOztPQUVHOztJQUNGLFlBQVk7K0NBR1o7QUEwQ0Q7SUFMQyxpQkFBaUI7SUFDbEI7O09BRUc7O0lBQ0YsWUFBWTs4Q0FHWjtBQTBERDtJQUxDLGlCQUFpQjtJQUNsQjs7T0FFRzs7SUFDRixZQUFZOzZDQW9EWjsyRkF4Z0JVLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBa0JOLE1BQU07MkJBQUMsaUJBQWlCOzRDQXlLM0IsT0FBTyxNQStDUCxLQUFLLE1BNENMLElBQUksTUE0Q0osT0FBTyxNQTRDUCxPQUFPLE1BNENQLE1BQU0sTUE0RE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGZpbmFsaXplLFxuICBmcm9tLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgdGFwLFxuICB0aHJvd0Vycm9yLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNldFRvYXN0VHlwZSB9IGZyb20gJy4uL2RlY29yYXRvcnMvc2V0LXRvYXN0LXR5cGUuZGVjb3JhdG9yJztcbmltcG9ydCB7IFRyYW5zZm9ybUFyZ3VtZW50IH0gZnJvbSAnLi4vZGVjb3JhdG9ycy90cmFuc2Zvcm0tYXJndW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFNub3RpZmlyZUNvbmZpZywgU25vdGlmaXJlRXZlbnRUeXBlLCBTbm90aWZpcmVUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFNub3RpZmlyZURlZmF1bHRzIH0gZnJvbSAnLi4vZGVmYXVsdHMvZGVmYXVsdHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNub3RpZmlyZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Nub3RpZmlyZS5tb2RlbCc7XG5pbXBvcnQgeyBTbm90aWZpcmVUb2FzdE1vZGVsIH0gZnJvbSAnLi4vY29tcG9uZW50cy90b2FzdC9ub3RpZmlyZS10b2FzdC5tb2RlbCc7XG5pbXBvcnQgeyBtZXJnZURlZXAsIHV1aWQgfSBmcm9tICcuLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbm90aWZpcmVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gZGlzcGxheSB0aW1lIG9mIHRoZSBub3RpZmljYXRpb24gbWVzc2FnZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBtaW5pbXVtRGlzcGxheWVkVGltZSA9IDMwMDA7XG5cbiAgLyoqXG4gICAqIEVtaXRzIE5vdGlmaXJlIE5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGVtaXR0ZXIgPSBuZXcgU3ViamVjdDxTbm90aWZpcmVUb2FzdE1vZGVsW10+KCk7XG5cbiAgcmVhZG9ubHkgdG9hc3REZWxldGVkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICByZWFkb25seSB0b2FzdENoYW5nZWQgPSBuZXcgU3ViamVjdDxTbm90aWZpcmVUb2FzdE1vZGVsPigpO1xuXG4gIG5vdGlmaWNhdGlvbnM6IEFycmF5PFNub3RpZmlyZVRvYXN0TW9kZWw+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnc25vdGlmaXJlQ29uZmlnJykgcHVibGljIGRlZmF1bHRDb25maWc6IFNub3RpZmlyZURlZmF1bHRzXG4gICkge31cblxuICAvKipcbiAgICogQ3JlYXRlcyB0b2FzdCBhbmQgYWRkIGl0IHRvIGFycmF5LCByZXR1cm5zIHRvYXN0IGlkXG4gICAqIEBwYXJhbSBOb3RpZmljYXRpb25Nb2RlbCBOb3RpZmljYXRpb25Nb2RlbFxuICAgKiBAcmV0dXJuIG51bWJlclxuICAgKi9cbiAgY3JlYXRlKG5vdGlmOiBTbm90aWZpcmVNb2RlbCk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIGlmICh0aGlzLmRlZmF1bHRDb25maWcudHlwZSAmJiBub3RpZi5jb25maWcgJiYgbm90aWYuY29uZmlnLnR5cGUpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IG1lcmdlRGVlcChcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZyxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnR5cGVbbm90aWYuY29uZmlnLnR5cGVdLFxuICAgICAgICBub3RpZi5jb25maWdcbiAgICAgICk7XG4gICAgICBjb25zdCB0b2FzdCA9IG5ldyBTbm90aWZpcmVUb2FzdE1vZGVsKFxuICAgICAgICB1dWlkKCksXG4gICAgICAgIG5vdGlmLnRpdGxlID8gbm90aWYudGl0bGUgOiAnJyxcbiAgICAgICAgbm90aWYuYm9keSA/IG5vdGlmLmJvZHkgOiAnJyxcbiAgICAgICAgY29uZmlnXG4gICAgICApO1xuICAgICAgdGhpcy5hZGQodG9hc3QpO1xuICAgICAgcmV0dXJuIHRvYXN0O1xuICAgIH1cbiAgICBjb25zdCBjb25maWcgPSBtZXJnZURlZXAodGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZywgbm90aWYuY29uZmlnKTtcbiAgICBjb25zdCBkZWZhdWxUb2FzdCA9IG5ldyBTbm90aWZpcmVUb2FzdE1vZGVsKFxuICAgICAgdXVpZCgpLFxuICAgICAgbm90aWYudGl0bGUgPyBub3RpZi50aXRsZSA6ICcnLFxuICAgICAgbm90aWYuYm9keSA/IG5vdGlmLmJvZHkgOiAnJyxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgdGhpcy5hZGQoZGVmYXVsVG9hc3QpO1xuICAgIHJldHVybiBkZWZhdWxUb2FzdDtcbiAgfVxuICAvKipcbiAgICogSWYgSUQgcGFzc2VkLCBlbWl0cyB0b2FzdCBhbmltYXRpb24gcmVtb3ZlLCBpZiBJRCAmIFJFTU9WRSBwYXNzZWQsIHJlbW92ZXMgdG9hc3QgZnJvbSBub3RpZmljYXRpb25zIGFycmF5XG4gICAqIEBwYXJhbSBpZCBudW1iZXJcbiAgICogQHBhcmFtIHJlbW92ZSBib29sZWFuXG4gICAqL1xuICByZW1vdmUoaWQ6IG51bWJlciwgcmVtb3ZlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICAgIGlmIChyZW1vdmUpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9ucy5maWx0ZXIoXG4gICAgICAgICh0b2FzdCkgPT4gdG9hc3QuaWQgIT09IGlkXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRoaXMuZW1pdCgpO1xuICAgIH1cbiAgICB0aGlzLnRvYXN0RGVsZXRlZC5uZXh0KGlkKTtcbiAgfVxuXG4gIHNldERlZmF1bHRzKGRlZmF1bHRzOiBTbm90aWZpcmVEZWZhdWx0cyk6IFNub3RpZmlyZURlZmF1bHRzIHtcbiAgICBjb25zdCBtZXJnZWRDb25maWcgPSAodGhpcy5kZWZhdWx0Q29uZmlnID0gbWVyZ2VEZWVwKFxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLFxuICAgICAgZGVmYXVsdHNcbiAgICApIGFzIFNub3RpZmlyZURlZmF1bHRzKTtcbiAgICByZXR1cm4gbWVyZ2VkQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIG5vdGlmaWNhdGlvbnMgYXJyYXlcbiAgICovXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IFtdO1xuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBOb3RpZmlyZVRvYXN0IHRvIG5vdGlmaWNhdGlvbnMgYXJyYXlcbiAgICogQHBhcmFtIHRvYXN0IE5vdGlmaXJlVG9hc3RcbiAgICovXG4gIHByaXZhdGUgYWRkKHRvYXN0OiBTbm90aWZpcmVUb2FzdE1vZGVsKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnICYmXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuZ2xvYmFsICYmXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuZ2xvYmFsLmZpbHRlckR1cGxpY2F0ZXMgJiZcbiAgICAgIHRoaXMuY29udGFpbnNUb2FzdCh0b2FzdClcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbC5maWx0ZXJEdXBsaWNhdGVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnbG9iYWwgY29uZmlnJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyAmJlxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbCAmJlxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbC5uZXdPblRvcFxuICAgICkge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnVuc2hpZnQodG9hc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaCh0b2FzdCk7XG4gICAgfVxuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGVtaXQgY2hhbmdlcyBpbiBub3RpZmljYXRpb25zIGFycmF5XG4gICAqL1xuICBwcml2YXRlIGVtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbWl0dGVyLm5leHQodGhpcy5ub3RpZmljYXRpb25zLnNsaWNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrcyBpZiB0aGUgdG9hc3QgaXMgaW4gdGhlIGNvbGxlY3Rpb24uXG4gICAqIEBwYXJhbSBpblRvYXN0IE5vdGlmaXJlVG9hc3RcbiAgICogQHJldHVybnMgYm9vbGVhblxuICAgKi9cbiAgcHJpdmF0ZSBjb250YWluc1RvYXN0KGluVG9hc3Q6IFNub3RpZmlyZVRvYXN0TW9kZWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zLnNvbWUoKHRvYXN0KSA9PiB0b2FzdC5lcXVhbHMoaW5Ub2FzdCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgZW1wdHkgdG9hc3Qgd2l0aCBodG1sIHN0cmluZyBpbnNpZGVcbiAgICogQHBhcmFtIGh0bWwgc3RyaW5nIHwgU2FmZUh0bWxcbiAgICogQHBhcmFtIGNvbmZpZyBOb3RpZmlyZUNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGh0bWwoaHRtbDogc3RyaW5nIHwgU2FmZUh0bWwsIGNvbmZpZz86IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XG4gICAgICB0aXRsZTogdW5kZWZpbmVkLFxuICAgICAgYm9keTogdW5kZWZpbmVkLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgLi4ueyBodG1sIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIHN1Y2Nlc3Mgc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBzdWNjZXNzKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRvYXN0IGFyZ3VtZW50cyBpbnRvIE5vdGlmaWNhdGlvbk1vZGVsIG9iamVjdFxuICAgKi9cbiAgQFRyYW5zZm9ybUFyZ3VtZW50XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGN1cnJlbnQgdG9hc3QgdHlwZSBhbmQgY29sbGVjdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBAU2V0VG9hc3RUeXBlXG4gIHN1Y2Nlc3MoYXJnczogYW55KTogU25vdGlmaXJlVG9hc3RNb2RlbCB7XG4gICAgaWYgKCFhcmdzLmNvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGNvbmZpZywgcGxlYXNlIGNvbmZpZ3VyZSBzZXJ2aWNlIGFjY29yZGluZ2x5Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBlcnJvciBzdHlsZSByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihib2R5OiBzdHJpbmcpOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogQ3JlYXRlIHRvYXN0IHdpdGggZXJyb3Igc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihib2R5OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogQ3JlYXRlIHRvYXN0IHdpdGggZXJyb3Igc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSBjb25maWcgTm90aWZpY2F0aW9uQ29uZmlnXG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgZXJyb3IoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBlcnJvciBzdHlsZSAgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIFtib2R5XSBzdHJpbmdcbiAgICogQHBhcmFtIFt0aXRsZV0gc3RyaW5nXG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBjb25maWc6IFNub3RpZmlyZUNvbmZpZ1xuICApOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogVHJhbnNmb3JtIHRvYXN0IGFyZ3VtZW50cyBpbnRvIE5vdGlmaWNhdGlvbk1vZGVsIG9iamVjdFxuICAgKi9cbiAgQFRyYW5zZm9ybUFyZ3VtZW50XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGN1cnJlbnQgdG9hc3QgdHlwZSBhbmQgY29sbGVjdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBAU2V0VG9hc3RUeXBlXG4gIGVycm9yKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIGluZm8gc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBpbmZvKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBpbmZvKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIHdhcm5pbmcgc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICB3YXJuaW5nKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICB3YXJuaW5nKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIGNvbmZpcm0gc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBjb25maXJtKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBjb25maXJtKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgcHJvbXB0KGJvZHk6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoYm9keTogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIFByb21wdCBzdHlsZSB3aXRoIHR3byBidXR0b25zLCByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGNvbmZpZyBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIFtib2R5XSBzdHJpbmdcbiAgICogQHBhcmFtIFt0aXRsZV0gc3RyaW5nXG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBwcm9tcHQoYXJnczogYW55KTogU25vdGlmaXJlVG9hc3RNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKGFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgYXN5bmMoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGFjdGlvbjogUHJvbWlzZTxTbm90aWZpcmVNb2RlbD4gfCBPYnNlcnZhYmxlPFNub3RpZmlyZU1vZGVsPlxuICApOiBPYnNlcnZhYmxlPGFueT47XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFzeW5jIHRvYXN0IHdpdGggSW5mbyBzdHlsZS4gUGFzcyBhY3Rpb24sIGFuZCByZXNvbHZlIG9yIHJlamVjdCBpdC5cbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgYXN5bmMoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgYWN0aW9uOiBQcm9taXNlPFNub3RpZmlyZU1vZGVsPiB8IE9ic2VydmFibGU8U25vdGlmaXJlTW9kZWw+XG4gICk6IE9ic2VydmFibGU8YW55PjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBhc3luYyhcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgYWN0aW9uOiBQcm9taXNlPFNub3RpZmlyZU1vZGVsPiB8IE9ic2VydmFibGU8U25vdGlmaXJlTW9kZWw+LFxuICAgIGNvbmZpZzogU25vdGlmaXJlQ29uZmlnXG4gICk6IE9ic2VydmFibGU8YW55PjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIHRpdGxlIHN0cmluZ1xuICAgKiBAcGFyYW0gYWN0aW9uIFByb21pc2U8Tm90aWZpY2F0aW9uTW9kZWw+IHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Nb2RlbD5cbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGFzeW5jKFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGFjdGlvbjogUHJvbWlzZTxTbm90aWZpcmVNb2RlbD4gfCBPYnNlcnZhYmxlPFNub3RpZmlyZU1vZGVsPixcbiAgICBjb25maWc6IFNub3RpZmlyZUNvbmZpZ1xuICApOiBPYnNlcnZhYmxlPGFueT47XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdG9hc3QgYXJndW1lbnRzIGludG8gTm90aWZpY2F0aW9uTW9kZWwgb2JqZWN0XG4gICAqL1xuICBAVHJhbnNmb3JtQXJndW1lbnRcbiAgLyoqXG4gICAqIERldGVybWluZXMgY3VycmVudCB0b2FzdCB0eXBlIGFuZCBjb2xsZWN0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIEBTZXRUb2FzdFR5cGVcbiAgYXN5bmMoYXJnczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgYXN5bmM6IE9ic2VydmFibGU8YW55PjtcbiAgICBpZiAoYXJncy5hY3Rpb24gaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICBhc3luYyA9IGZyb20oYXJncy5hY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3luYyA9IGFyZ3MuYWN0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHRvYXN0ID0gdGhpcy5jcmVhdGUoYXJncyk7XG4gICAgbGV0IGZhaWxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGFzeW5jQXRpb24gPSBhc3luYy5waXBlKFxuICAgICAgdGFwKChuZXh0KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYWxsZWQnKSwgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBuZXh0KTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgZmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubWVyZ2VUb2FzdChcbiAgICAgICAgICB0b2FzdCxcbiAgICAgICAgICB7fSxcbiAgICAgICAgICBmYWlsZWQgPT09IHRydWUgPyBTbm90aWZpcmVUeXBlLkVSUk9SIDogU25vdGlmaXJlVHlwZS5TVUNDRVNTXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdG9hc3Qub24oU25vdGlmaXJlRXZlbnRUeXBlLk1PVU5URUQsICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdtb3VudGVkJyk7XG4gICAgICByZXR1cm4gYXN5bmNBdGlvbjtcbiAgICB9KTtcbiAgICByZXR1cm4gYXN5bmNBdGlvbjtcblxuICAgIC8vIGNvbnN0IHRvYXN0ID0gdGhpcy5jcmVhdGUoYXJncyk7XG5cbiAgICAvLyB0b2FzdC5vbihTbm90aWZpcmVFdmVudFR5cGUuTU9VTlRFRCwgKCkgPT4ge1xuICAgIC8vICAgY29uc3Qgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBhc3luYy5zdWJzY3JpYmUoe1xuICAgIC8vICAgICBuZXh0OiAobmV4dD86IFNub3RpZmlyZU1vZGVsKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBuZXh0KTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgICAgZXJyb3I6IChlcnJvcj86IFNub3RpZmlyZU1vZGVsKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBlcnJvciwgU25vdGlmaXJlVHlwZS5FUlJPUik7XG4gICAgLy8gICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gICAgIH0sXG4gICAgLy8gICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCB7fSwgU25vdGlmaXJlVHlwZS5TVUNDRVNTKTtcbiAgICAvLyAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgIH0pO1xuICAgIC8vIH0pO1xuXG4gICAgLy8gcmV0dXJuIHRvYXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZVRvYXN0KHRvYXN0OiBhbnksIG5leHQ6IGFueSwgdHlwZT86IFNub3RpZmlyZVR5cGUpIHtcbiAgICBpZiAobmV4dC5ib2R5KSB7XG4gICAgICB0b2FzdC5ib2R5ID0gbmV4dC5ib2R5O1xuICAgIH1cbiAgICBpZiAobmV4dC50aXRsZSkge1xuICAgICAgdG9hc3QudGl0bGUgPSBuZXh0LnRpdGxlO1xuICAgIH1cblxuICAgIGlmICh0eXBlICYmIHRoaXMuZGVmYXVsdENvbmZpZykge1xuICAgICAgY29uc29sZS5sb2codHlwZSk7XG4gICAgICB0b2FzdC5jb25maWcgPSBtZXJnZURlZXAoXG4gICAgICAgIHRvYXN0LmNvbmZpZyxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbCxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZz8udHlwZSxcbiAgICAgICAgeyB0eXBlIH0sXG4gICAgICAgIG5leHQuY29uZmlnXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5jb25maWcgPSBtZXJnZURlZXAodG9hc3QuY29uZmlnLCBuZXh0LmNvbmZpZyk7XG4gICAgfVxuICAgIGlmIChuZXh0Lmh0bWwpIHtcbiAgICAgIHRvYXN0LmNvbmZpZy5odG1sID0gbmV4dC5odG1sO1xuICAgIH1cbiAgICB0aGlzLmVtaXQoKTtcbiAgICB0aGlzLnRvYXN0Q2hhbmdlZC5uZXh0KHRvYXN0KTtcbiAgfVxuICAvKipcbiAgICogcmV0dXJucyBTbm90aWZ5VG9hc3Qgb2JqZWN0XG4gICAqIEBwYXJhbSBpZCBOdW1iZXJcbiAgICogQHJldHVybiBTbm90aWZ5VG9hc3R8dW5kZWZpbmVkXG4gICAqL1xuICBnZXQoaWQ6IG51bWJlcik6IFNub3RpZmlyZVRvYXN0TW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgJiYgdGhpcy5ub3RpZmljYXRpb25zLmZpbmQoKHRvYXN0KSA9PiB0b2FzdC5pZCA9PT0gaWQpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFHSixPQUFPLEVBQ1AsR0FBRyxFQUNILFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQW1CLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUcvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDb0MsYUFBZ0M7UUFBaEMsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBaEJwRTs7V0FFRztRQUNjLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUU3Qzs7V0FFRztRQUNNLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUUvQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDckMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUUzRCxrQkFBYSxHQUErQixFQUFFLENBQUM7SUFJNUMsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBcUI7UUFDMUIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUks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OztJQUNGLFlBQVk7K0NBR1o7QUEwQ0Q7SUFMQyxpQkFBaUI7SUFDbEI7O09BRUc7O0lBQ0YsWUFBWTs4Q0FHWjtBQTBERDtJQUxDLGlCQUFpQjtJQUNsQjs7T0FFRzs7SUFDRixZQUFZOzZDQW9EWjs0RkF4Z0JVLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBa0JOLE1BQU07MkJBQUMsaUJBQWlCOzRDQXlLM0IsT0FBTyxNQStDUCxLQUFLLE1BNENMLElBQUksTUE0Q0osT0FBTyxNQTRDUCxPQUFPLE1BNENQLE1BQU0sTUE0RE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGZpbmFsaXplLFxuICBmcm9tLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgdGFwLFxuICB0aHJvd0Vycm9yLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNldFRvYXN0VHlwZSB9IGZyb20gJy4uL2RlY29yYXRvcnMvc2V0LXRvYXN0LXR5cGUuZGVjb3JhdG9yJztcbmltcG9ydCB7IFRyYW5zZm9ybUFyZ3VtZW50IH0gZnJvbSAnLi4vZGVjb3JhdG9ycy90cmFuc2Zvcm0tYXJndW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFNub3RpZmlyZUNvbmZpZywgU25vdGlmaXJlRXZlbnRUeXBlLCBTbm90aWZpcmVUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFNub3RpZmlyZURlZmF1bHRzIH0gZnJvbSAnLi4vZGVmYXVsdHMvZGVmYXVsdHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNub3RpZmlyZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Nub3RpZmlyZS5tb2RlbCc7XG5pbXBvcnQgeyBTbm90aWZpcmVUb2FzdE1vZGVsIH0gZnJvbSAnLi4vY29tcG9uZW50cy90b2FzdC9ub3RpZmlyZS10b2FzdC5tb2RlbCc7XG5pbXBvcnQgeyBtZXJnZURlZXAsIHV1aWQgfSBmcm9tICcuLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbm90aWZpcmVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gZGlzcGxheSB0aW1lIG9mIHRoZSBub3RpZmljYXRpb24gbWVzc2FnZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBtaW5pbXVtRGlzcGxheWVkVGltZSA9IDMwMDA7XG5cbiAgLyoqXG4gICAqIEVtaXRzIE5vdGlmaXJlIE5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGVtaXR0ZXIgPSBuZXcgU3ViamVjdDxTbm90aWZpcmVUb2FzdE1vZGVsW10+KCk7XG5cbiAgcmVhZG9ubHkgdG9hc3REZWxldGVkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICByZWFkb25seSB0b2FzdENoYW5nZWQgPSBuZXcgU3ViamVjdDxTbm90aWZpcmVUb2FzdE1vZGVsPigpO1xuXG4gIG5vdGlmaWNhdGlvbnM6IEFycmF5PFNub3RpZmlyZVRvYXN0TW9kZWw+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnc25vdGlmaXJlQ29uZmlnJykgcHVibGljIGRlZmF1bHRDb25maWc6IFNub3RpZmlyZURlZmF1bHRzXG4gICkge31cblxuICAvKipcbiAgICogQ3JlYXRlcyB0b2FzdCBhbmQgYWRkIGl0IHRvIGFycmF5LCByZXR1cm5zIHRvYXN0IGlkXG4gICAqIEBwYXJhbSBOb3RpZmljYXRpb25Nb2RlbCBOb3RpZmljYXRpb25Nb2RlbFxuICAgKiBAcmV0dXJuIG51bWJlclxuICAgKi9cbiAgY3JlYXRlKG5vdGlmOiBTbm90aWZpcmVNb2RlbCk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIGlmICh0aGlzLmRlZmF1bHRDb25maWcudHlwZSAmJiBub3RpZi5jb25maWcgJiYgbm90aWYuY29uZmlnLnR5cGUpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IG1lcmdlRGVlcChcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZyxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnR5cGVbbm90aWYuY29uZmlnLnR5cGVdLFxuICAgICAgICBub3RpZi5jb25maWdcbiAgICAgICk7XG4gICAgICBjb25zdCB0b2FzdCA9IG5ldyBTbm90aWZpcmVUb2FzdE1vZGVsKFxuICAgICAgICB1dWlkKCksXG4gICAgICAgIG5vdGlmLnRpdGxlID8gbm90aWYudGl0bGUgOiAnJyxcbiAgICAgICAgbm90aWYuYm9keSA/IG5vdGlmLmJvZHkgOiAnJyxcbiAgICAgICAgY29uZmlnXG4gICAgICApO1xuICAgICAgdGhpcy5hZGQodG9hc3QpO1xuICAgICAgcmV0dXJuIHRvYXN0O1xuICAgIH1cbiAgICBjb25zdCBjb25maWcgPSBtZXJnZURlZXAodGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZywgbm90aWYuY29uZmlnKTtcbiAgICBjb25zdCBkZWZhdWxUb2FzdCA9IG5ldyBTbm90aWZpcmVUb2FzdE1vZGVsKFxuICAgICAgdXVpZCgpLFxuICAgICAgbm90aWYudGl0bGUgPyBub3RpZi50aXRsZSA6ICcnLFxuICAgICAgbm90aWYuYm9keSA/IG5vdGlmLmJvZHkgOiAnJyxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgdGhpcy5hZGQoZGVmYXVsVG9hc3QpO1xuICAgIHJldHVybiBkZWZhdWxUb2FzdDtcbiAgfVxuICAvKipcbiAgICogSWYgSUQgcGFzc2VkLCBlbWl0cyB0b2FzdCBhbmltYXRpb24gcmVtb3ZlLCBpZiBJRCAmIFJFTU9WRSBwYXNzZWQsIHJlbW92ZXMgdG9hc3QgZnJvbSBub3RpZmljYXRpb25zIGFycmF5XG4gICAqIEBwYXJhbSBpZCBudW1iZXJcbiAgICogQHBhcmFtIHJlbW92ZSBib29sZWFuXG4gICAqL1xuICByZW1vdmUoaWQ6IG51bWJlciwgcmVtb3ZlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICAgIGlmIChyZW1vdmUpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9ucy5maWx0ZXIoXG4gICAgICAgICh0b2FzdCkgPT4gdG9hc3QuaWQgIT09IGlkXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRoaXMuZW1pdCgpO1xuICAgIH1cbiAgICB0aGlzLnRvYXN0RGVsZXRlZC5uZXh0KGlkKTtcbiAgfVxuXG4gIHNldERlZmF1bHRzKGRlZmF1bHRzOiBTbm90aWZpcmVEZWZhdWx0cyk6IFNub3RpZmlyZURlZmF1bHRzIHtcbiAgICBjb25zdCBtZXJnZWRDb25maWcgPSAodGhpcy5kZWZhdWx0Q29uZmlnID0gbWVyZ2VEZWVwKFxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLFxuICAgICAgZGVmYXVsdHNcbiAgICApIGFzIFNub3RpZmlyZURlZmF1bHRzKTtcbiAgICByZXR1cm4gbWVyZ2VkQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIG5vdGlmaWNhdGlvbnMgYXJyYXlcbiAgICovXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IFtdO1xuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBOb3RpZmlyZVRvYXN0IHRvIG5vdGlmaWNhdGlvbnMgYXJyYXlcbiAgICogQHBhcmFtIHRvYXN0IE5vdGlmaXJlVG9hc3RcbiAgICovXG4gIHByaXZhdGUgYWRkKHRvYXN0OiBTbm90aWZpcmVUb2FzdE1vZGVsKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnICYmXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuZ2xvYmFsICYmXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuZ2xvYmFsLmZpbHRlckR1cGxpY2F0ZXMgJiZcbiAgICAgIHRoaXMuY29udGFpbnNUb2FzdCh0b2FzdClcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbC5maWx0ZXJEdXBsaWNhdGVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnbG9iYWwgY29uZmlnJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyAmJlxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbCAmJlxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbC5uZXdPblRvcFxuICAgICkge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnVuc2hpZnQodG9hc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaCh0b2FzdCk7XG4gICAgfVxuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGVtaXQgY2hhbmdlcyBpbiBub3RpZmljYXRpb25zIGFycmF5XG4gICAqL1xuICBwcml2YXRlIGVtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbWl0dGVyLm5leHQodGhpcy5ub3RpZmljYXRpb25zLnNsaWNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrcyBpZiB0aGUgdG9hc3QgaXMgaW4gdGhlIGNvbGxlY3Rpb24uXG4gICAqIEBwYXJhbSBpblRvYXN0IE5vdGlmaXJlVG9hc3RcbiAgICogQHJldHVybnMgYm9vbGVhblxuICAgKi9cbiAgcHJpdmF0ZSBjb250YWluc1RvYXN0KGluVG9hc3Q6IFNub3RpZmlyZVRvYXN0TW9kZWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zLnNvbWUoKHRvYXN0KSA9PiB0b2FzdC5lcXVhbHMoaW5Ub2FzdCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgZW1wdHkgdG9hc3Qgd2l0aCBodG1sIHN0cmluZyBpbnNpZGVcbiAgICogQHBhcmFtIGh0bWwgc3RyaW5nIHwgU2FmZUh0bWxcbiAgICogQHBhcmFtIGNvbmZpZyBOb3RpZmlyZUNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGh0bWwoaHRtbDogc3RyaW5nIHwgU2FmZUh0bWwsIGNvbmZpZz86IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XG4gICAgICB0aXRsZTogdW5kZWZpbmVkLFxuICAgICAgYm9keTogdW5kZWZpbmVkLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgLi4ueyBodG1sIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIHN1Y2Nlc3Mgc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBzdWNjZXNzKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRvYXN0IGFyZ3VtZW50cyBpbnRvIE5vdGlmaWNhdGlvbk1vZGVsIG9iamVjdFxuICAgKi9cbiAgQFRyYW5zZm9ybUFyZ3VtZW50XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGN1cnJlbnQgdG9hc3QgdHlwZSBhbmQgY29sbGVjdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBAU2V0VG9hc3RUeXBlXG4gIHN1Y2Nlc3MoYXJnczogYW55KTogU25vdGlmaXJlVG9hc3RNb2RlbCB7XG4gICAgaWYgKCFhcmdzLmNvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGNvbmZpZywgcGxlYXNlIGNvbmZpZ3VyZSBzZXJ2aWNlIGFjY29yZGluZ2x5Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBlcnJvciBzdHlsZSByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihib2R5OiBzdHJpbmcpOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogQ3JlYXRlIHRvYXN0IHdpdGggZXJyb3Igc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihib2R5OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogQ3JlYXRlIHRvYXN0IHdpdGggZXJyb3Igc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSBjb25maWcgTm90aWZpY2F0aW9uQ29uZmlnXG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgZXJyb3IoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBlcnJvciBzdHlsZSAgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIFtib2R5XSBzdHJpbmdcbiAgICogQHBhcmFtIFt0aXRsZV0gc3RyaW5nXG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBjb25maWc6IFNub3RpZmlyZUNvbmZpZ1xuICApOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogVHJhbnNmb3JtIHRvYXN0IGFyZ3VtZW50cyBpbnRvIE5vdGlmaWNhdGlvbk1vZGVsIG9iamVjdFxuICAgKi9cbiAgQFRyYW5zZm9ybUFyZ3VtZW50XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGN1cnJlbnQgdG9hc3QgdHlwZSBhbmQgY29sbGVjdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBAU2V0VG9hc3RUeXBlXG4gIGVycm9yKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIGluZm8gc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBpbmZvKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBpbmZvKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIHdhcm5pbmcgc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICB3YXJuaW5nKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICB3YXJuaW5nKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIGNvbmZpcm0gc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBjb25maXJtKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBjb25maXJtKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgcHJvbXB0KGJvZHk6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoYm9keTogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIFByb21wdCBzdHlsZSB3aXRoIHR3byBidXR0b25zLCByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGNvbmZpZyBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIFtib2R5XSBzdHJpbmdcbiAgICogQHBhcmFtIFt0aXRsZV0gc3RyaW5nXG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBwcm9tcHQoYXJnczogYW55KTogU25vdGlmaXJlVG9hc3RNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKGFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgYXN5bmMoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGFjdGlvbjogUHJvbWlzZTxTbm90aWZpcmVNb2RlbD4gfCBPYnNlcnZhYmxlPFNub3RpZmlyZU1vZGVsPlxuICApOiBPYnNlcnZhYmxlPGFueT47XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFzeW5jIHRvYXN0IHdpdGggSW5mbyBzdHlsZS4gUGFzcyBhY3Rpb24sIGFuZCByZXNvbHZlIG9yIHJlamVjdCBpdC5cbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgYXN5bmMoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgYWN0aW9uOiBQcm9taXNlPFNub3RpZmlyZU1vZGVsPiB8IE9ic2VydmFibGU8U25vdGlmaXJlTW9kZWw+XG4gICk6IE9ic2VydmFibGU8YW55PjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBhc3luYyhcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgYWN0aW9uOiBQcm9taXNlPFNub3RpZmlyZU1vZGVsPiB8IE9ic2VydmFibGU8U25vdGlmaXJlTW9kZWw+LFxuICAgIGNvbmZpZzogU25vdGlmaXJlQ29uZmlnXG4gICk6IE9ic2VydmFibGU8YW55PjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIHRpdGxlIHN0cmluZ1xuICAgKiBAcGFyYW0gYWN0aW9uIFByb21pc2U8Tm90aWZpY2F0aW9uTW9kZWw+IHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Nb2RlbD5cbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGFzeW5jKFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGFjdGlvbjogUHJvbWlzZTxTbm90aWZpcmVNb2RlbD4gfCBPYnNlcnZhYmxlPFNub3RpZmlyZU1vZGVsPixcbiAgICBjb25maWc6IFNub3RpZmlyZUNvbmZpZ1xuICApOiBPYnNlcnZhYmxlPGFueT47XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdG9hc3QgYXJndW1lbnRzIGludG8gTm90aWZpY2F0aW9uTW9kZWwgb2JqZWN0XG4gICAqL1xuICBAVHJhbnNmb3JtQXJndW1lbnRcbiAgLyoqXG4gICAqIERldGVybWluZXMgY3VycmVudCB0b2FzdCB0eXBlIGFuZCBjb2xsZWN0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIEBTZXRUb2FzdFR5cGVcbiAgYXN5bmMoYXJnczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgYXN5bmM6IE9ic2VydmFibGU8YW55PjtcbiAgICBpZiAoYXJncy5hY3Rpb24gaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICBhc3luYyA9IGZyb20oYXJncy5hY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3luYyA9IGFyZ3MuYWN0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHRvYXN0ID0gdGhpcy5jcmVhdGUoYXJncyk7XG4gICAgbGV0IGZhaWxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGFzeW5jQXRpb24gPSBhc3luYy5waXBlKFxuICAgICAgdGFwKChuZXh0KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYWxsZWQnKSwgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBuZXh0KTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgZmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubWVyZ2VUb2FzdChcbiAgICAgICAgICB0b2FzdCxcbiAgICAgICAgICB7fSxcbiAgICAgICAgICBmYWlsZWQgPT09IHRydWUgPyBTbm90aWZpcmVUeXBlLkVSUk9SIDogU25vdGlmaXJlVHlwZS5TVUNDRVNTXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdG9hc3Qub24oU25vdGlmaXJlRXZlbnRUeXBlLk1PVU5URUQsICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdtb3VudGVkJyk7XG4gICAgICByZXR1cm4gYXN5bmNBdGlvbjtcbiAgICB9KTtcbiAgICByZXR1cm4gYXN5bmNBdGlvbjtcblxuICAgIC8vIGNvbnN0IHRvYXN0ID0gdGhpcy5jcmVhdGUoYXJncyk7XG5cbiAgICAvLyB0b2FzdC5vbihTbm90aWZpcmVFdmVudFR5cGUuTU9VTlRFRCwgKCkgPT4ge1xuICAgIC8vICAgY29uc3Qgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBhc3luYy5zdWJzY3JpYmUoe1xuICAgIC8vICAgICBuZXh0OiAobmV4dD86IFNub3RpZmlyZU1vZGVsKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBuZXh0KTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgICAgZXJyb3I6IChlcnJvcj86IFNub3RpZmlyZU1vZGVsKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBlcnJvciwgU25vdGlmaXJlVHlwZS5FUlJPUik7XG4gICAgLy8gICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gICAgIH0sXG4gICAgLy8gICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCB7fSwgU25vdGlmaXJlVHlwZS5TVUNDRVNTKTtcbiAgICAvLyAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgIH0pO1xuICAgIC8vIH0pO1xuXG4gICAgLy8gcmV0dXJuIHRvYXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZVRvYXN0KHRvYXN0OiBhbnksIG5leHQ6IGFueSwgdHlwZT86IFNub3RpZmlyZVR5cGUpIHtcbiAgICBpZiAobmV4dC5ib2R5KSB7XG4gICAgICB0b2FzdC5ib2R5ID0gbmV4dC5ib2R5O1xuICAgIH1cbiAgICBpZiAobmV4dC50aXRsZSkge1xuICAgICAgdG9hc3QudGl0bGUgPSBuZXh0LnRpdGxlO1xuICAgIH1cblxuICAgIGlmICh0eXBlICYmIHRoaXMuZGVmYXVsdENvbmZpZykge1xuICAgICAgY29uc29sZS5sb2codHlwZSk7XG4gICAgICB0b2FzdC5jb25maWcgPSBtZXJnZURlZXAoXG4gICAgICAgIHRvYXN0LmNvbmZpZyxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbCxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZz8udHlwZSxcbiAgICAgICAgeyB0eXBlIH0sXG4gICAgICAgIG5leHQuY29uZmlnXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5jb25maWcgPSBtZXJnZURlZXAodG9hc3QuY29uZmlnLCBuZXh0LmNvbmZpZyk7XG4gICAgfVxuICAgIGlmIChuZXh0Lmh0bWwpIHtcbiAgICAgIHRvYXN0LmNvbmZpZy5odG1sID0gbmV4dC5odG1sO1xuICAgIH1cbiAgICB0aGlzLmVtaXQoKTtcbiAgICB0aGlzLnRvYXN0Q2hhbmdlZC5uZXh0KHRvYXN0KTtcbiAgfVxuICAvKipcbiAgICogcmV0dXJucyBTbm90aWZ5VG9hc3Qgb2JqZWN0XG4gICAqIEBwYXJhbSBpZCBOdW1iZXJcbiAgICogQHJldHVybiBTbm90aWZ5VG9hc3R8dW5kZWZpbmVkXG4gICAqL1xuICBnZXQoaWQ6IG51bWJlcik6IFNub3RpZmlyZVRvYXN0TW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgJiYgdGhpcy5ub3RpZmljYXRpb25zLmZpbmQoKHRvYXN0KSA9PiB0b2FzdC5pZCA9PT0gaWQpXG4gICAgKTtcbiAgfVxufVxuIl19
|