pdm-ui-kit 1.3.0 → 1.5.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/README.md +28 -0
- package/alert/alert-dialog.component.d.ts +14 -2
- package/alert/alert.module.d.ts +2 -1
- package/calendar/date-picker.component.d.ts +2 -1
- package/dialog/dialog.component.d.ts +18 -26
- package/dialog/dialog.module.d.ts +1 -1
- package/esm2020/alert/alert-dialog.component.mjs +101 -11
- package/esm2020/alert/alert.module.mjs +5 -4
- package/esm2020/calendar/date-picker.component.mjs +15 -5
- package/esm2020/dialog/dialog.component.mjs +43 -85
- package/esm2020/dialog/dialog.module.mjs +10 -4
- package/esm2020/src/alert/alert-dialog.component.mjs +101 -11
- package/esm2020/src/alert/alert.module.mjs +5 -4
- package/esm2020/src/calendar/date-picker.component.mjs +15 -5
- package/esm2020/src/dialog/dialog.component.mjs +43 -85
- package/esm2020/src/dialog/dialog.module.mjs +10 -4
- package/esm2020/src/utils/cn.mjs +19 -0
- package/esm2020/src/utils/public-api.mjs +2 -1
- package/fesm2015/pdm-ui-kit-src-alert.mjs +103 -12
- package/fesm2015/pdm-ui-kit-src-alert.mjs.map +1 -1
- package/fesm2015/pdm-ui-kit-src-calendar.mjs +14 -4
- package/fesm2015/pdm-ui-kit-src-calendar.mjs.map +1 -1
- package/fesm2015/pdm-ui-kit-src-dialog.mjs +50 -85
- package/fesm2015/pdm-ui-kit-src-dialog.mjs.map +1 -1
- package/fesm2015/pdm-ui-kit-src-utils.mjs +21 -1
- package/fesm2015/pdm-ui-kit-src-utils.mjs.map +1 -1
- package/fesm2015/pdm-ui-kit.mjs +175 -112
- package/fesm2015/pdm-ui-kit.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit-src-alert.mjs +103 -12
- package/fesm2020/pdm-ui-kit-src-alert.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit-src-calendar.mjs +14 -4
- package/fesm2020/pdm-ui-kit-src-calendar.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit-src-dialog.mjs +50 -85
- package/fesm2020/pdm-ui-kit-src-dialog.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit-src-utils.mjs +21 -1
- package/fesm2020/pdm-ui-kit-src-utils.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit.mjs +175 -112
- package/fesm2020/pdm-ui-kit.mjs.map +1 -1
- package/package.json +3 -1
- package/src/alert/alert-dialog.component.d.ts +14 -2
- package/src/alert/alert.module.d.ts +2 -1
- package/src/calendar/date-picker.component.d.ts +2 -1
- package/src/dialog/dialog.component.d.ts +18 -26
- package/src/dialog/dialog.module.d.ts +1 -1
- package/src/utils/cn.d.ts +15 -0
- package/src/utils/public-api.d.ts +1 -0
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
2
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
4
|
-
import {
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { PdmDialogComponent, PdmDialogFooterDirective, PdmDialogHeaderDirective, } from './dialog.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
const COMPONENTS = [
|
|
7
7
|
PdmDialogComponent,
|
|
8
|
+
PdmDialogHeaderDirective,
|
|
9
|
+
PdmDialogFooterDirective,
|
|
8
10
|
];
|
|
9
11
|
export class PdmDialogModule {
|
|
10
12
|
}
|
|
11
13
|
PdmDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
-
PdmDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, declarations: [PdmDialogComponent
|
|
14
|
+
PdmDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, declarations: [PdmDialogComponent,
|
|
15
|
+
PdmDialogHeaderDirective,
|
|
16
|
+
PdmDialogFooterDirective], imports: [CommonModule, A11yModule], exports: [PdmDialogComponent,
|
|
17
|
+
PdmDialogHeaderDirective,
|
|
18
|
+
PdmDialogFooterDirective] });
|
|
13
19
|
PdmDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, imports: [CommonModule, A11yModule] });
|
|
14
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, decorators: [{
|
|
15
21
|
type: NgModule,
|
|
@@ -19,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
19
25
|
exports: COMPONENTS
|
|
20
26
|
}]
|
|
21
27
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsd0JBQXdCLEdBQ3pCLE1BQU0sb0JBQW9CLENBQUM7O0FBRTVCLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsd0JBQXdCO0NBQ3pCLENBQUM7QUFPRixNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQVYxQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHdCQUF3QixhQUlkLFlBQVksRUFBRSxVQUFVLGFBTmxDLGtCQUFrQjtRQUNsQix3QkFBd0I7UUFDeEIsd0JBQXdCOzZHQVFiLGVBQWUsWUFKaEIsWUFBWSxFQUFFLFVBQVU7MkZBSXZCLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQztvQkFDbkMsWUFBWSxFQUFFLFVBQVU7b0JBQ3hCLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFBkbURpYWxvZ0NvbXBvbmVudCxcbiAgUGRtRGlhbG9nRm9vdGVyRGlyZWN0aXZlLFxuICBQZG1EaWFsb2dIZWFkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIFBkbURpYWxvZ0NvbXBvbmVudCxcbiAgUGRtRGlhbG9nSGVhZGVyRGlyZWN0aXZlLFxuICBQZG1EaWFsb2dGb290ZXJEaXJlY3RpdmUsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBMTF5TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBDT01QT05FTlRTLFxuICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIFBkbURpYWxvZ01vZHVsZSB7fVxuIl19
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, } from "@angular/core";
|
|
2
|
+
import { cn, responsive, Z_INDEX } from "pdm-ui-kit/src/utils";
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/cdk/a11y";
|
|
4
6
|
export class PdmAlertDialogComponent {
|
|
5
7
|
constructor() {
|
|
6
8
|
this.open = false;
|
|
7
9
|
this.showTrigger = false;
|
|
8
|
-
this.triggerText =
|
|
9
|
-
this.title =
|
|
10
|
-
this.description =
|
|
11
|
-
this.confirmText =
|
|
12
|
-
this.cancelText =
|
|
13
|
-
this.
|
|
10
|
+
this.triggerText = "Show dialog";
|
|
11
|
+
this.title = "Are you absolutely sure?";
|
|
12
|
+
this.description = "";
|
|
13
|
+
this.confirmText = "Continue";
|
|
14
|
+
this.cancelText = "Cancel";
|
|
15
|
+
this.size = "responsive";
|
|
16
|
+
this.maxWidth = "";
|
|
17
|
+
this.className = "";
|
|
18
|
+
this.bodyClassName = "";
|
|
19
|
+
this.showFooter = true;
|
|
20
|
+
this.closeOnBackdrop = true;
|
|
14
21
|
/** Close when the ESC key is pressed. Default: `true`. */
|
|
15
22
|
this.closeOnEsc = true;
|
|
16
23
|
this.openChange = new EventEmitter();
|
|
@@ -25,6 +32,70 @@ export class PdmAlertDialogComponent {
|
|
|
25
32
|
get isControlled() {
|
|
26
33
|
return this.openChange.observed;
|
|
27
34
|
}
|
|
35
|
+
get panelClassName() {
|
|
36
|
+
if (this.size === "desktop") {
|
|
37
|
+
return this.buildPanelClasses([
|
|
38
|
+
"max-w-[640px]",
|
|
39
|
+
"max-h-[calc(100vh-2rem)]",
|
|
40
|
+
"rounded-[10px]",
|
|
41
|
+
]);
|
|
42
|
+
}
|
|
43
|
+
if (this.size === "mobile") {
|
|
44
|
+
return this.buildPanelClasses([
|
|
45
|
+
"max-w-[320px]",
|
|
46
|
+
"min-h-[240px]",
|
|
47
|
+
"rounded-[10px]",
|
|
48
|
+
]);
|
|
49
|
+
}
|
|
50
|
+
if (this.size === "mobile-fullscreen") {
|
|
51
|
+
return this.buildPanelClasses([
|
|
52
|
+
"max-w-[320px]",
|
|
53
|
+
"h-[min(100dvh,640px)]",
|
|
54
|
+
"rounded-none",
|
|
55
|
+
"sm:rounded-[10px]",
|
|
56
|
+
]);
|
|
57
|
+
}
|
|
58
|
+
if (this.size === "responsive") {
|
|
59
|
+
return this.buildPanelClasses([
|
|
60
|
+
"w-full",
|
|
61
|
+
"h-full",
|
|
62
|
+
"max-h-[100dvh]",
|
|
63
|
+
"rounded-t-[10px]",
|
|
64
|
+
"sm:rounded-[10px]",
|
|
65
|
+
"sm:w-auto",
|
|
66
|
+
"sm:h-auto",
|
|
67
|
+
"sm:max-w-[640px]",
|
|
68
|
+
"sm:max-h-[calc(100vh-4rem)]",
|
|
69
|
+
]);
|
|
70
|
+
}
|
|
71
|
+
const sizeMap = {
|
|
72
|
+
sm: "sm:max-w-[400px]",
|
|
73
|
+
md: "sm:max-w-[500px]",
|
|
74
|
+
lg: "sm:max-w-[640px]",
|
|
75
|
+
xl: "sm:max-w-[800px]",
|
|
76
|
+
};
|
|
77
|
+
const maxWidth = sizeMap[this.size] || sizeMap.lg;
|
|
78
|
+
return this.buildPanelClasses([
|
|
79
|
+
"w-full",
|
|
80
|
+
"h-full",
|
|
81
|
+
"max-h-[100dvh]",
|
|
82
|
+
"rounded-t-[10px]",
|
|
83
|
+
"sm:rounded-[10px]",
|
|
84
|
+
"sm:w-auto",
|
|
85
|
+
"sm:h-auto",
|
|
86
|
+
maxWidth,
|
|
87
|
+
"sm:max-h-[calc(100vh-4rem)]",
|
|
88
|
+
]);
|
|
89
|
+
}
|
|
90
|
+
get containerClassName() {
|
|
91
|
+
return responsive({
|
|
92
|
+
default: `fixed inset-x-0 bottom-0 ${Z_INDEX.modalBackdrop} flex items-end justify-center`,
|
|
93
|
+
sm: `fixed inset-0 ${Z_INDEX.modalBackdrop} flex items-center justify-center p-4`,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
get bodyWrapperClassName() {
|
|
97
|
+
return cn("flex-1 min-h-0 overflow-y-auto px-4 py-4 sm:px-6", this.bodyClassName);
|
|
98
|
+
}
|
|
28
99
|
onTriggerClick() {
|
|
29
100
|
if (!this.isControlled) {
|
|
30
101
|
this.open = true;
|
|
@@ -45,17 +116,26 @@ export class PdmAlertDialogComponent {
|
|
|
45
116
|
}
|
|
46
117
|
this.openChange.emit(false);
|
|
47
118
|
}
|
|
119
|
+
onBackdropClick() {
|
|
120
|
+
if (this.closeOnBackdrop) {
|
|
121
|
+
this.onCancel();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
48
124
|
onEsc() {
|
|
49
125
|
if (this.open && this.closeOnEsc) {
|
|
50
126
|
this.onCancel();
|
|
51
127
|
}
|
|
52
128
|
}
|
|
129
|
+
buildPanelClasses(sizeClasses) {
|
|
130
|
+
const maxWidthClass = this.maxWidth ? `sm:max-w-[${this.maxWidth}]` : "";
|
|
131
|
+
return cn("relative", Z_INDEX.modal, "flex flex-col border border-solid border-border bg-background text-foreground shadow-lg overflow-hidden", ...sizeClasses, maxWidthClass, this.className);
|
|
132
|
+
}
|
|
53
133
|
}
|
|
54
134
|
PdmAlertDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
PdmAlertDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmAlertDialogComponent, selector: "pdm-alert-dialog", inputs: { open: "open", showTrigger: "showTrigger", triggerText: "triggerText", title: "title", description: "description", confirmText: "confirmText", cancelText: "cancelText", className: "className", closeOnEsc: "closeOnEsc" }, outputs: { openChange: "openChange", confirm: "confirm", cancel: "cancel" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, ngImport: i0, template: "<button\n *ngIf=\"showTrigger && !open\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm\"\n (click)=\"onTriggerClick()\"\n>\n {{ triggerText }}\n</button>\n\n<div *ngIf=\"open\"
|
|
135
|
+
PdmAlertDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmAlertDialogComponent, selector: "pdm-alert-dialog", inputs: { open: "open", showTrigger: "showTrigger", triggerText: "triggerText", title: "title", description: "description", confirmText: "confirmText", cancelText: "cancelText", size: "size", maxWidth: "maxWidth", className: "className", bodyClassName: "bodyClassName", showFooter: "showFooter", closeOnBackdrop: "closeOnBackdrop", closeOnEsc: "closeOnEsc" }, outputs: { openChange: "openChange", confirm: "confirm", cancel: "cancel" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, ngImport: i0, template: "<button\n *ngIf=\"showTrigger && !open\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm\"\n (click)=\"onTriggerClick()\"\n>\n {{ triggerText }}\n</button>\n\n<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n <section role=\"alertdialog\" aria-modal=\"true\" cdkTrapFocus [ngClass]=\"panelClassName\">\n <div class=\"flex flex-col gap-2 p-4 sm:p-6\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <div [ngClass]=\"bodyWrapperClassName\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showFooter\" class=\"flex flex-col gap-2 p-4 sm:p-6 border-t border-border sm:flex-row sm:justify-end\">\n <button type=\"button\" class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\" (click)=\"onCancel()\">{{ cancelText }}</button>\n <button type=\"button\" class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm sm:w-auto\" (click)=\"onConfirm()\">{{ confirmText }}</button>\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
56
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertDialogComponent, decorators: [{
|
|
57
137
|
type: Component,
|
|
58
|
-
args: [{ selector:
|
|
138
|
+
args: [{ selector: "pdm-alert-dialog", changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"showTrigger && !open\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm\"\n (click)=\"onTriggerClick()\"\n>\n {{ triggerText }}\n</button>\n\n<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n <section role=\"alertdialog\" aria-modal=\"true\" cdkTrapFocus [ngClass]=\"panelClassName\">\n <div class=\"flex flex-col gap-2 p-4 sm:p-6\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <div [ngClass]=\"bodyWrapperClassName\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showFooter\" class=\"flex flex-col gap-2 p-4 sm:p-6 border-t border-border sm:flex-row sm:justify-end\">\n <button type=\"button\" class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\" (click)=\"onCancel()\">{{ cancelText }}</button>\n <button type=\"button\" class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm sm:w-auto\" (click)=\"onConfirm()\">{{ confirmText }}</button>\n </div>\n </section>\n</div>\n" }]
|
|
59
139
|
}], propDecorators: { open: [{
|
|
60
140
|
type: Input
|
|
61
141
|
}], showTrigger: [{
|
|
@@ -70,8 +150,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
70
150
|
type: Input
|
|
71
151
|
}], cancelText: [{
|
|
72
152
|
type: Input
|
|
153
|
+
}], size: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], maxWidth: [{
|
|
156
|
+
type: Input
|
|
73
157
|
}], className: [{
|
|
74
158
|
type: Input
|
|
159
|
+
}], bodyClassName: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], showFooter: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], closeOnBackdrop: [{
|
|
164
|
+
type: Input
|
|
75
165
|
}], closeOnEsc: [{
|
|
76
166
|
type: Input
|
|
77
167
|
}], openChange: [{
|
|
@@ -82,6 +172,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
82
172
|
type: Output
|
|
83
173
|
}], onEsc: [{
|
|
84
174
|
type: HostListener,
|
|
85
|
-
args: [
|
|
175
|
+
args: ["document:keydown.escape"]
|
|
86
176
|
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hbGVydC9hbGVydC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FsZXJ0L2FsZXJ0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzlHLE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUFNVyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxhQUFhLENBQUM7UUFDNUIsVUFBSyxHQUFHLDBCQUEwQixDQUFDO1FBQ25DLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxRQUFRLENBQUM7UUFDdEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV4QiwwREFBMEQ7UUFDakQsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVqQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN6QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNuQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQXdDN0M7SUF0Q0M7Ozs7T0FJRztJQUNILElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBR0QsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7O29IQXREVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwwYUNQcEMsa3JEQXlDQTsyRkRsQ2EsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFtQ1AsS0FBSztzQkFESixZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1hbGVydC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQWxlcnREaWFsb2dDb21wb25lbnQge1xuICBASW5wdXQoKSBvcGVuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dUcmlnZ2VyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRyaWdnZXJUZXh0ID0gJ1Nob3cgZGlhbG9nJztcbiAgQElucHV0KCkgdGl0bGUgPSAnQXJlIHlvdSBhYnNvbHV0ZWx5IHN1cmU/JztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24gPSAnJztcbiAgQElucHV0KCkgY29uZmlybVRleHQgPSAnQ29udGludWUnO1xuICBASW5wdXQoKSBjYW5jZWxUZXh0ID0gJ0NhbmNlbCc7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gIC8qKiBDbG9zZSB3aGVuIHRoZSBFU0Mga2V5IGlzIHByZXNzZWQuIERlZmF1bHQ6IGB0cnVlYC4gKi9cbiAgQElucHV0KCkgY2xvc2VPbkVzYyA9IHRydWU7XG5cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGB0cnVlYCB3aGVuIGF0IGxlYXN0IG9uZSBjb25zdW1lciBsaXN0ZW5zIHRvIGBvcGVuQ2hhbmdlYC5cbiAgICogLSAqKkNvbnRyb2xsZWQqKiAoaGFzIG9ic2VydmVycyk6IHBhcmVudCBtYW5hZ2VzIGBvcGVuYCB2aWEgdHdvLXdheSBiaW5kaW5nIOKGkiBvbmx5IGVtaXQuXG4gICAqIC0gKipVbmNvbnRyb2xsZWQqKiAobm8gb2JzZXJ2ZXJzKTogd2Ugb3duIHRoZSBgb3BlbmAgc3RhdGUg4oaSIG11dGF0ZSBpdCBsb2NhbGx5LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgaXNDb250cm9sbGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZW5DaGFuZ2Uub2JzZXJ2ZWQ7XG4gIH1cblxuICBvblRyaWdnZXJDbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNDb250cm9sbGVkKSB7XG4gICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICBpZiAoIXRoaXMuaXNDb250cm9sbGVkKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgb25Db25maXJtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlybS5lbWl0KCk7XG4gICAgaWYgKCF0aGlzLmlzQ29udHJvbGxlZCkge1xuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJylcbiAgb25Fc2MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3BlbiAmJiB0aGlzLmNsb3NlT25Fc2MpIHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKm5nSWY9XCJzaG93VHJpZ2dlciAmJiAhb3BlblwiXG4gIHR5cGU9XCJidXR0b25cIlxuICBjbGFzcz1cImlubGluZS1mbGV4IGgtOSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTQgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc21cIlxuICAoY2xpY2spPVwib25UcmlnZ2VyQ2xpY2soKVwiXG4+XG4gIHt7IHRyaWdnZXJUZXh0IH19XG48L2J1dHRvbj5cblxuPGRpdiAqbmdJZj1cIm9wZW5cIiBjbGFzcz1cImZpeGVkIGluc2V0LTAgei01MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTVcIj5cbiAgPGRpdiBjbGFzcz1cImFic29sdXRlIGluc2V0LTAgYmctZm9yZWdyb3VuZC8zMFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+PC9kaXY+XG4gIDxzZWN0aW9uXG4gICAgcm9sZT1cImFsZXJ0ZGlhbG9nXCJcbiAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgW25nQ2xhc3NdPVwiW1xuICAgICAgJ3JlbGF0aXZlIHotWzYwXSB3LWZ1bGwgbWF4LXctbGcgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCBwLTYgdGV4dC1mb3JlZ3JvdW5kIHNoYWRvdy1sZycsXG4gICAgICBjbGFzc05hbWVcbiAgICBdXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgICA8aDIgY2xhc3M9XCJtLTAgdGV4dC1sZyBmb250LXNlbWlib2xkIGxlYWRpbmctbm9uZSB0cmFja2luZy10aWdodFwiPnt7IHRpdGxlIH19PC9oMj5cbiAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cIm0tMCB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtdC00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kIGdhcC0yXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTQgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc21cIlxuICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGNhbmNlbFRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYmctcHJpbWFyeSBweC00IHB5LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBzaGFkb3ctc21cIlxuICAgICAgICAoY2xpY2spPVwib25Db25maXJtKClcIlxuICAgICAgPlxuICAgICAgICB7eyBjb25maXJtVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hbGVydC9hbGVydC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FsZXJ0L2FsZXJ0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFpQi9ELE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUFNVSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxhQUFhLENBQUM7UUFDNUIsVUFBSyxHQUFHLDBCQUEwQixDQUFDO1FBQ25DLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxRQUFRLENBQUM7UUFDdEIsU0FBSSxHQUF1QixZQUFZLENBQUM7UUFDeEMsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRWhDLDBEQUEwRDtRQUNqRCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3pDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ25DLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBc0k1QztJQXBJQTs7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SztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQW9IUCxLQUFLO3NCQURKLFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0TGlzdGVuZXIsXG5cdElucHV0LFxuXHRPdXRwdXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBjbiwgcmVzcG9uc2l2ZSwgWl9JTkRFWCB9IGZyb20gXCJwZG0tdWkta2l0L3NyYy91dGlsc1wiO1xuXG50eXBlIFBkbUFsZXJ0RGlhbG9nU2l6ZSA9XG5cdHwgXCJkZXNrdG9wXCJcblx0fCBcIm1vYmlsZVwiXG5cdHwgXCJtb2JpbGUtZnVsbHNjcmVlblwiXG5cdHwgXCJzbVwiXG5cdHwgXCJtZFwiXG5cdHwgXCJsZ1wiXG5cdHwgXCJ4bFwiXG5cdHwgXCJyZXNwb25zaXZlXCI7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJwZG0tYWxlcnQtZGlhbG9nXCIsXG5cdHRlbXBsYXRlVXJsOiBcIi4vYWxlcnQtZGlhbG9nLmNvbXBvbmVudC5odG1sXCIsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1BbGVydERpYWxvZ0NvbXBvbmVudCB7XG5cdEBJbnB1dCgpIG9wZW4gPSBmYWxzZTtcblx0QElucHV0KCkgc2hvd1RyaWdnZXIgPSBmYWxzZTtcblx0QElucHV0KCkgdHJpZ2dlclRleHQgPSBcIlNob3cgZGlhbG9nXCI7XG5cdEBJbnB1dCgpIHRpdGxlID0gXCJBcmUgeW91IGFic29sdXRlbHkgc3VyZT9cIjtcblx0QElucHV0KCkgZGVzY3JpcHRpb24gPSBcIlwiO1xuXHRASW5wdXQoKSBjb25maXJtVGV4dCA9IFwiQ29udGludWVcIjtcblx0QElucHV0KCkgY2FuY2VsVGV4dCA9IFwiQ2FuY2VsXCI7XG5cdEBJbnB1dCgpIHNpemU6IFBkbUFsZXJ0RGlhbG9nU2l6ZSA9IFwicmVzcG9uc2l2ZVwiO1xuXHRASW5wdXQoKSBtYXhXaWR0aCA9IFwiXCI7XG5cdEBJbnB1dCgpIGNsYXNzTmFtZSA9IFwiXCI7XG5cdEBJbnB1dCgpIGJvZHlDbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBzaG93Rm9vdGVyID0gdHJ1ZTtcblx0QElucHV0KCkgY2xvc2VPbkJhY2tkcm9wID0gdHJ1ZTtcblxuXHQvKiogQ2xvc2Ugd2hlbiB0aGUgRVNDIGtleSBpcyBwcmVzc2VkLiBEZWZhdWx0OiBgdHJ1ZWAuICovXG5cdEBJbnB1dCgpIGNsb3NlT25Fc2MgPSB0cnVlO1xuXG5cdEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXHRAT3V0cHV0KCkgY29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuXHQvKipcblx0ICogUmV0dXJucyBgdHJ1ZWAgd2hlbiBhdCBsZWFzdCBvbmUgY29uc3VtZXIgbGlzdGVucyB0byBgb3BlbkNoYW5nZWAuXG5cdCAqIC0gKipDb250cm9sbGVkKiogKGhhcyBvYnNlcnZlcnMpOiBwYXJlbnQgbWFuYWdlcyBgb3BlbmAgdmlhIHR3by13YXkgYmluZGluZyDihpIgb25seSBlbWl0LlxuXHQgKiAtICoqVW5jb250cm9sbGVkKiogKG5vIG9ic2VydmVycyk6IHdlIG93biB0aGUgYG9wZW5gIHN0YXRlIOKGkiBtdXRhdGUgaXQgbG9jYWxseS5cblx0ICovXG5cdHByaXZhdGUgZ2V0IGlzQ29udHJvbGxlZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5vcGVuQ2hhbmdlLm9ic2VydmVkO1xuXHR9XG5cblx0Z2V0IHBhbmVsQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG5cdFx0aWYgKHRoaXMuc2l6ZSA9PT0gXCJkZXNrdG9wXCIpIHtcblx0XHRcdHJldHVybiB0aGlzLmJ1aWxkUGFuZWxDbGFzc2VzKFtcblx0XHRcdFx0XCJtYXgtdy1bNjQwcHhdXCIsXG5cdFx0XHRcdFwibWF4LWgtW2NhbGMoMTAwdmgtMnJlbSldXCIsXG5cdFx0XHRcdFwicm91bmRlZC1bMTBweF1cIixcblx0XHRcdF0pO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnNpemUgPT09IFwibW9iaWxlXCIpIHtcblx0XHRcdHJldHVybiB0aGlzLmJ1aWxkUGFuZWxDbGFzc2VzKFtcblx0XHRcdFx0XCJtYXgtdy1bMzIwcHhdXCIsXG5cdFx0XHRcdFwibWluLWgtWzI0MHB4XVwiLFxuXHRcdFx0XHRcInJvdW5kZWQtWzEwcHhdXCIsXG5cdFx0XHRdKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5zaXplID09PSBcIm1vYmlsZS1mdWxsc2NyZWVuXCIpIHtcblx0XHRcdHJldHVybiB0aGlzLmJ1aWxkUGFuZWxDbGFzc2VzKFtcblx0XHRcdFx0XCJtYXgtdy1bMzIwcHhdXCIsXG5cdFx0XHRcdFwiaC1bbWluKDEwMGR2aCw2NDBweCldXCIsXG5cdFx0XHRcdFwicm91bmRlZC1ub25lXCIsXG5cdFx0XHRcdFwic206cm91bmRlZC1bMTBweF1cIixcblx0XHRcdF0pO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnNpemUgPT09IFwicmVzcG9uc2l2ZVwiKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5idWlsZFBhbmVsQ2xhc3NlcyhbXG5cdFx0XHRcdFwidy1mdWxsXCIsXG5cdFx0XHRcdFwiaC1mdWxsXCIsXG5cdFx0XHRcdFwibWF4LWgtWzEwMGR2aF1cIixcblx0XHRcdFx0XCJyb3VuZGVkLXQtWzEwcHhdXCIsXG5cdFx0XHRcdFwic206cm91bmRlZC1bMTBweF1cIixcblx0XHRcdFx0XCJzbTp3LWF1dG9cIixcblx0XHRcdFx0XCJzbTpoLWF1dG9cIixcblx0XHRcdFx0XCJzbTptYXgtdy1bNjQwcHhdXCIsXG5cdFx0XHRcdFwic206bWF4LWgtW2NhbGMoMTAwdmgtNHJlbSldXCIsXG5cdFx0XHRdKTtcblx0XHR9XG5cblx0XHRjb25zdCBzaXplTWFwID0ge1xuXHRcdFx0c206IFwic206bWF4LXctWzQwMHB4XVwiLFxuXHRcdFx0bWQ6IFwic206bWF4LXctWzUwMHB4XVwiLFxuXHRcdFx0bGc6IFwic206bWF4LXctWzY0MHB4XVwiLFxuXHRcdFx0eGw6IFwic206bWF4LXctWzgwMHB4XVwiLFxuXHRcdH07XG5cdFx0Y29uc3QgbWF4V2lkdGggPSBzaXplTWFwW3RoaXMuc2l6ZSBhcyBrZXlvZiB0eXBlb2Ygc2l6ZU1hcF0gfHwgc2l6ZU1hcC5sZztcblxuXHRcdHJldHVybiB0aGlzLmJ1aWxkUGFuZWxDbGFzc2VzKFtcblx0XHRcdFwidy1mdWxsXCIsXG5cdFx0XHRcImgtZnVsbFwiLFxuXHRcdFx0XCJtYXgtaC1bMTAwZHZoXVwiLFxuXHRcdFx0XCJyb3VuZGVkLXQtWzEwcHhdXCIsXG5cdFx0XHRcInNtOnJvdW5kZWQtWzEwcHhdXCIsXG5cdFx0XHRcInNtOnctYXV0b1wiLFxuXHRcdFx0XCJzbTpoLWF1dG9cIixcblx0XHRcdG1heFdpZHRoLFxuXHRcdFx0XCJzbTptYXgtaC1bY2FsYygxMDB2aC00cmVtKV1cIixcblx0XHRdKTtcblx0fVxuXG5cdGdldCBjb250YWluZXJDbGFzc05hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gcmVzcG9uc2l2ZSh7XG5cdFx0XHRkZWZhdWx0OiBgZml4ZWQgaW5zZXQteC0wIGJvdHRvbS0wICR7Wl9JTkRFWC5tb2RhbEJhY2tkcm9wfSBmbGV4IGl0ZW1zLWVuZCBqdXN0aWZ5LWNlbnRlcmAsXG5cdFx0XHRzbTogYGZpeGVkIGluc2V0LTAgJHtaX0lOREVYLm1vZGFsQmFja2Ryb3B9IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtNGAsXG5cdFx0fSk7XG5cdH1cblxuXHRnZXQgYm9keVdyYXBwZXJDbGFzc05hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gY24oXG5cdFx0XHRcImZsZXgtMSBtaW4taC0wIG92ZXJmbG93LXktYXV0byBweC00IHB5LTQgc206cHgtNlwiLFxuXHRcdFx0dGhpcy5ib2R5Q2xhc3NOYW1lLFxuXHRcdCk7XG5cdH1cblxuXHRvblRyaWdnZXJDbGljaygpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuaXNDb250cm9sbGVkKSB7XG5cdFx0XHR0aGlzLm9wZW4gPSB0cnVlO1xuXHRcdH1cblx0XHR0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0cnVlKTtcblx0fVxuXG5cdG9uQ2FuY2VsKCk6IHZvaWQge1xuXHRcdHRoaXMuY2FuY2VsLmVtaXQoKTtcblx0XHRpZiAoIXRoaXMuaXNDb250cm9sbGVkKSB7XG5cdFx0XHR0aGlzLm9wZW4gPSBmYWxzZTtcblx0XHR9XG5cdFx0dGhpcy5vcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuXHR9XG5cblx0b25Db25maXJtKCk6IHZvaWQge1xuXHRcdHRoaXMuY29uZmlybS5lbWl0KCk7XG5cdFx0aWYgKCF0aGlzLmlzQ29udHJvbGxlZCkge1xuXHRcdFx0dGhpcy5vcGVuID0gZmFsc2U7XG5cdFx0fVxuXHRcdHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcblx0fVxuXG5cdG9uQmFja2Ryb3BDbGljaygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5jbG9zZU9uQmFja2Ryb3ApIHtcblx0XHRcdHRoaXMub25DYW5jZWwoKTtcblx0XHR9XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGVcIilcblx0b25Fc2MoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3BlbiAmJiB0aGlzLmNsb3NlT25Fc2MpIHtcblx0XHRcdHRoaXMub25DYW5jZWwoKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGJ1aWxkUGFuZWxDbGFzc2VzKHNpemVDbGFzc2VzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG5cdFx0Y29uc3QgbWF4V2lkdGhDbGFzcyA9IHRoaXMubWF4V2lkdGggPyBgc206bWF4LXctWyR7dGhpcy5tYXhXaWR0aH1dYCA6IFwiXCI7XG5cblx0XHRyZXR1cm4gY24oXG5cdFx0XHRcInJlbGF0aXZlXCIsXG5cdFx0XHRaX0lOREVYLm1vZGFsLFxuXHRcdFx0XCJmbGV4IGZsZXgtY29sIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctbGcgb3ZlcmZsb3ctaGlkZGVuXCIsXG5cdFx0XHQuLi5zaXplQ2xhc3Nlcyxcblx0XHRcdG1heFdpZHRoQ2xhc3MsXG5cdFx0XHR0aGlzLmNsYXNzTmFtZSxcblx0XHQpO1xuXHR9XG59XG4iLCI8YnV0dG9uXG4gICpuZ0lmPVwic2hvd1RyaWdnZXIgJiYgIW9wZW5cIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBweC00IHB5LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWZvcmVncm91bmQgc2hhZG93LXNtXCJcbiAgKGNsaWNrKT1cIm9uVHJpZ2dlckNsaWNrKClcIlxuPlxuICB7eyB0cmlnZ2VyVGV4dCB9fVxuPC9idXR0b24+XG5cbjxkaXYgKm5nSWY9XCJvcGVuXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NOYW1lXCI+XG4gIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWZvcmVncm91bmQvMzAgYmFja2Ryb3AtYmx1ci1zbVwiIChjbGljayk9XCJvbkJhY2tkcm9wQ2xpY2soKVwiPjwvZGl2PlxuICA8c2VjdGlvbiByb2xlPVwiYWxlcnRkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiIGNka1RyYXBGb2N1cyBbbmdDbGFzc109XCJwYW5lbENsYXNzTmFtZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIHAtNCBzbTpwLTZcIj5cbiAgICAgIDxoMiBjbGFzcz1cIm0tMCB0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0IHRleHQtZm9yZWdyb3VuZFwiPnt7IHRpdGxlIH19PC9oMj5cbiAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cIm0tMCB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgW25nQ2xhc3NdPVwiYm9keVdyYXBwZXJDbGFzc05hbWVcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0Zvb3RlclwiIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMiBwLTQgc206cC02IGJvcmRlci10IGJvcmRlci1ib3JkZXIgc206ZmxleC1yb3cgc206anVzdGlmeS1lbmRcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaW5saW5lLWZsZXggaC05IHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTQgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc20gc206dy1hdXRvXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj57eyBjYW5jZWxUZXh0IH19PC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOSB3LWZ1bGwgYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYmctcHJpbWFyeSBweC00IHB5LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBzaGFkb3ctc20gc206dy1hdXRvXCIgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCI+e3sgY29uZmlybVRleHQgfX08L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
1
2
|
import { CommonModule } from '@angular/common';
|
|
2
3
|
import { NgModule } from '@angular/core';
|
|
3
4
|
import { PdmAlertComponent } from './alert.component';
|
|
@@ -11,15 +12,15 @@ export class PdmAlertModule {
|
|
|
11
12
|
}
|
|
12
13
|
PdmAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
14
|
PdmAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertModule, declarations: [PdmAlertComponent,
|
|
14
|
-
PdmAlertDialogComponent], imports: [CommonModule], exports: [PdmAlertComponent,
|
|
15
|
+
PdmAlertDialogComponent], imports: [CommonModule, A11yModule], exports: [PdmAlertComponent,
|
|
15
16
|
PdmAlertDialogComponent] });
|
|
16
|
-
PdmAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertModule, imports: [CommonModule] });
|
|
17
|
+
PdmAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertModule, imports: [CommonModule, A11yModule] });
|
|
17
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmAlertModule, decorators: [{
|
|
18
19
|
type: NgModule,
|
|
19
20
|
args: [{
|
|
20
|
-
imports: [CommonModule],
|
|
21
|
+
imports: [CommonModule, A11yModule],
|
|
21
22
|
declarations: COMPONENTS,
|
|
22
23
|
exports: COMPONENTS
|
|
23
24
|
}]
|
|
24
25
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FsZXJ0L2FsZXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRW5FLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGlCQUFpQjtJQUNqQix1QkFBdUI7Q0FDeEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBVHpCLGlCQUFpQjtRQUNqQix1QkFBdUIsYUFJYixZQUFZLEVBQUUsVUFBVSxhQUxsQyxpQkFBaUI7UUFDakIsdUJBQXVCOzRHQVFaLGNBQWMsWUFKZixZQUFZLEVBQUUsVUFBVTsyRkFJdkIsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO29CQUNuQyxZQUFZLEVBQUUsVUFBVTtvQkFDeEIsT0FBTyxFQUFFLFVBQVU7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGRtQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2FsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1BbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIFBkbUFsZXJ0Q29tcG9uZW50LFxuICBQZG1BbGVydERpYWxvZ0NvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEExMXlNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IENPTVBPTkVOVFMsXG4gIGV4cG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgUGRtQWxlcnRNb2R1bGUge31cbiJdfQ==
|
|
@@ -27,6 +27,7 @@ export class PdmDatePickerComponent {
|
|
|
27
27
|
this.labelClassName = "";
|
|
28
28
|
this.className = "";
|
|
29
29
|
this.triggerClassName = "";
|
|
30
|
+
this.iconOnly = false;
|
|
30
31
|
/**
|
|
31
32
|
* Additional CSS classes applied to the overlay panel.
|
|
32
33
|
* Backward-compatible: mapped to `overlayOptions.panelClass` when `overlayOptions` is not set.
|
|
@@ -129,15 +130,22 @@ export class PdmDatePickerComponent {
|
|
|
129
130
|
get rootClasses() {
|
|
130
131
|
return [
|
|
131
132
|
"grid gap-2",
|
|
132
|
-
this.
|
|
133
|
+
this.iconOnly
|
|
134
|
+
? "inline-grid w-auto"
|
|
135
|
+
: this.resolvedVariant === "range"
|
|
136
|
+
? "w-[280px]"
|
|
137
|
+
: "w-[197px]",
|
|
133
138
|
this.className,
|
|
134
139
|
];
|
|
135
140
|
}
|
|
136
141
|
get triggerClasses() {
|
|
137
142
|
const focusStyle = this._open || this.triggerFocused;
|
|
138
143
|
return [
|
|
139
|
-
"border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive relative flex
|
|
144
|
+
"border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive relative flex appearance-none box-border items-center overflow-hidden rounded-lg border border-solid bg-background text-sm shadow-sm outline-none transition-colors",
|
|
140
145
|
"min-h-[36px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
146
|
+
this.iconOnly
|
|
147
|
+
? "size-9 justify-center p-0"
|
|
148
|
+
: "w-full gap-2 px-3 py-[7.5px] text-left",
|
|
141
149
|
focusStyle ? "border-ring ring-2 ring-ring/50" : "",
|
|
142
150
|
this.invalid ? "border-destructive ring-destructive/20" : "",
|
|
143
151
|
this.triggerClassName,
|
|
@@ -285,10 +293,10 @@ export class PdmDatePickerComponent {
|
|
|
285
293
|
}
|
|
286
294
|
}
|
|
287
295
|
PdmDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDatePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
288
|
-
PdmDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDatePickerComponent, selector: "pdm-date-picker", inputs: { id: "id", variant: "variant", label: "label", labelClassName: "labelClassName", className: "className", triggerClassName: "triggerClassName", panelClassName: "panelClassName", overlayOptions: "overlayOptions", placeholder: "placeholder", rangePlaceholder: "rangePlaceholder", format: "format", disabled: "disabled", readonly: "readonly", required: "required", invalid: "invalid", allowSameDayRange: "allowSameDayRange", closeOnSelect: "closeOnSelect", minDate: "minDate", maxDate: "maxDate", minYear: "minYear", maxYear: "maxYear", disabledDates: "disabledDates", isDateDisabled: "isDateDisabled", open: "open", value: "value", rangeValue: "rangeValue" }, outputs: { valueChange: "valueChange", rangeValueChange: "rangeValueChange", openChange: "openChange", monthChange: "monthChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"rootClasses\">\n <pdm-label *ngIf=\"label\" [forId]=\"triggerId\" [required]=\"required\" [className]=\"labelClassName\">\n {{ label }}\n </pdm-label>\n\n <button\n #triggerEl\n type=\"button\"\n [id]=\"triggerId\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"triggerClasses\"\n [attr.title]=\"displayText\"\n (click)=\"toggleOpen()\"\n (focus)=\"onTriggerFocus()\"\n (blur)=\"onTriggerBlur()\"\n >\n <span class=\"flex h-5 w-5 shrink-0 items-center justify-center p-0.5 text-muted-foreground\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\n <path d=\"M8 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"M16 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <rect x=\"3\" y=\"4.5\" width=\"18\" height=\"16.5\" rx=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></rect>\n <path d=\"M3 9.5h18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </span>\n\n <span [ngClass]=\"textClasses\">{{ displayText }}</span>\n </button>\n</div>\n\n<ng-template #panelTemplate>\n <div [id]=\"panelId\" role=\"dialog\" [attr.aria-labelledby]=\"label ? triggerId : null\">\n <pdm-calendar\n [variant]=\"resolvedVariant\"\n [value]=\"value\"\n [rangeValue]=\"rangeValue\"\n [readonly]=\"readonly\"\n [allowSameDayRange]=\"allowSameDayRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [disabledDates]=\"disabledDates\"\n [isDateDisabled]=\"isDateDisabled\"\n (valueChange)=\"onCalendarValueChange($event)\"\n (rangeValueChange)=\"onCalendarRangeValueChange($event)\"\n (monthChange)=\"onCalendarMonthChange($event)\"\n ></pdm-calendar>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PdmLabelComponent, selector: "pdm-label", inputs: ["forId", "required", "className"] }, { kind: "component", type: i4.PdmCalendarComponent, selector: "pdm-calendar", inputs: ["variant", "className", "disabledDates", "minDate", "maxDate", "minYear", "maxYear", "isDateDisabled", "allowSameDayRange", "readonly", "value", "rangeValue", "month"], outputs: ["valueChange", "rangeValueChange", "monthChange", "dateClick", "disabledDateClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
296
|
+
PdmDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDatePickerComponent, selector: "pdm-date-picker", inputs: { id: "id", variant: "variant", label: "label", labelClassName: "labelClassName", className: "className", triggerClassName: "triggerClassName", iconOnly: "iconOnly", panelClassName: "panelClassName", overlayOptions: "overlayOptions", placeholder: "placeholder", rangePlaceholder: "rangePlaceholder", format: "format", disabled: "disabled", readonly: "readonly", required: "required", invalid: "invalid", allowSameDayRange: "allowSameDayRange", closeOnSelect: "closeOnSelect", minDate: "minDate", maxDate: "maxDate", minYear: "minYear", maxYear: "maxYear", disabledDates: "disabledDates", isDateDisabled: "isDateDisabled", open: "open", value: "value", rangeValue: "rangeValue" }, outputs: { valueChange: "valueChange", rangeValueChange: "rangeValueChange", openChange: "openChange", monthChange: "monthChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"rootClasses\">\n <pdm-label *ngIf=\"label\" [forId]=\"triggerId\" [required]=\"required\" [className]=\"labelClassName\">\n {{ label }}\n </pdm-label>\n\n <button\n #triggerEl\n type=\"button\"\n [id]=\"triggerId\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-label]=\"iconOnly ? displayText : null\"\n [ngClass]=\"triggerClasses\"\n [attr.title]=\"displayText\"\n (click)=\"toggleOpen()\"\n (focus)=\"onTriggerFocus()\"\n (blur)=\"onTriggerBlur()\"\n >\n <span class=\"flex h-5 w-5 shrink-0 items-center justify-center p-0.5 text-muted-foreground\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\n <path d=\"M8 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"M16 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <rect x=\"3\" y=\"4.5\" width=\"18\" height=\"16.5\" rx=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></rect>\n <path d=\"M3 9.5h18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </span>\n\n <span *ngIf=\"!iconOnly\" [ngClass]=\"textClasses\">{{ displayText }}</span>\n </button>\n</div>\n\n<ng-template #panelTemplate>\n <div [id]=\"panelId\" role=\"dialog\" [attr.aria-labelledby]=\"label ? triggerId : null\">\n <pdm-calendar\n [variant]=\"resolvedVariant\"\n [value]=\"value\"\n [rangeValue]=\"rangeValue\"\n [readonly]=\"readonly\"\n [allowSameDayRange]=\"allowSameDayRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [disabledDates]=\"disabledDates\"\n [isDateDisabled]=\"isDateDisabled\"\n (valueChange)=\"onCalendarValueChange($event)\"\n (rangeValueChange)=\"onCalendarRangeValueChange($event)\"\n (monthChange)=\"onCalendarMonthChange($event)\"\n ></pdm-calendar>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PdmLabelComponent, selector: "pdm-label", inputs: ["forId", "required", "className"] }, { kind: "component", type: i4.PdmCalendarComponent, selector: "pdm-calendar", inputs: ["variant", "className", "disabledDates", "minDate", "maxDate", "minYear", "maxYear", "isDateDisabled", "allowSameDayRange", "readonly", "value", "rangeValue", "month"], outputs: ["valueChange", "rangeValueChange", "monthChange", "dateClick", "disabledDateClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
289
297
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDatePickerComponent, decorators: [{
|
|
290
298
|
type: Component,
|
|
291
|
-
args: [{ selector: "pdm-date-picker", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"rootClasses\">\n <pdm-label *ngIf=\"label\" [forId]=\"triggerId\" [required]=\"required\" [className]=\"labelClassName\">\n {{ label }}\n </pdm-label>\n\n <button\n #triggerEl\n type=\"button\"\n [id]=\"triggerId\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-invalid]=\"invalid\"\n [ngClass]=\"triggerClasses\"\n [attr.title]=\"displayText\"\n (click)=\"toggleOpen()\"\n (focus)=\"onTriggerFocus()\"\n (blur)=\"onTriggerBlur()\"\n >\n <span class=\"flex h-5 w-5 shrink-0 items-center justify-center p-0.5 text-muted-foreground\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\n <path d=\"M8 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"M16 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <rect x=\"3\" y=\"4.5\" width=\"18\" height=\"16.5\" rx=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></rect>\n <path d=\"M3 9.5h18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </span>\n\n <span [ngClass]=\"textClasses\">{{ displayText }}</span>\n </button>\n</div>\n\n<ng-template #panelTemplate>\n <div [id]=\"panelId\" role=\"dialog\" [attr.aria-labelledby]=\"label ? triggerId : null\">\n <pdm-calendar\n [variant]=\"resolvedVariant\"\n [value]=\"value\"\n [rangeValue]=\"rangeValue\"\n [readonly]=\"readonly\"\n [allowSameDayRange]=\"allowSameDayRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [disabledDates]=\"disabledDates\"\n [isDateDisabled]=\"isDateDisabled\"\n (valueChange)=\"onCalendarValueChange($event)\"\n (rangeValueChange)=\"onCalendarRangeValueChange($event)\"\n (monthChange)=\"onCalendarMonthChange($event)\"\n ></pdm-calendar>\n </div>\n</ng-template>\n" }]
|
|
299
|
+
args: [{ selector: "pdm-date-picker", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"rootClasses\">\n <pdm-label *ngIf=\"label\" [forId]=\"triggerId\" [required]=\"required\" [className]=\"labelClassName\">\n {{ label }}\n </pdm-label>\n\n <button\n #triggerEl\n type=\"button\"\n [id]=\"triggerId\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-controls]=\"panelId\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-label]=\"iconOnly ? displayText : null\"\n [ngClass]=\"triggerClasses\"\n [attr.title]=\"displayText\"\n (click)=\"toggleOpen()\"\n (focus)=\"onTriggerFocus()\"\n (blur)=\"onTriggerBlur()\"\n >\n <span class=\"flex h-5 w-5 shrink-0 items-center justify-center p-0.5 text-muted-foreground\" aria-hidden=\"true\">\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\">\n <path d=\"M8 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"M16 2v4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <rect x=\"3\" y=\"4.5\" width=\"18\" height=\"16.5\" rx=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></rect>\n <path d=\"M3 9.5h18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </span>\n\n <span *ngIf=\"!iconOnly\" [ngClass]=\"textClasses\">{{ displayText }}</span>\n </button>\n</div>\n\n<ng-template #panelTemplate>\n <div [id]=\"panelId\" role=\"dialog\" [attr.aria-labelledby]=\"label ? triggerId : null\">\n <pdm-calendar\n [variant]=\"resolvedVariant\"\n [value]=\"value\"\n [rangeValue]=\"rangeValue\"\n [readonly]=\"readonly\"\n [allowSameDayRange]=\"allowSameDayRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [disabledDates]=\"disabledDates\"\n [isDateDisabled]=\"isDateDisabled\"\n (valueChange)=\"onCalendarValueChange($event)\"\n (rangeValueChange)=\"onCalendarRangeValueChange($event)\"\n (monthChange)=\"onCalendarMonthChange($event)\"\n ></pdm-calendar>\n </div>\n</ng-template>\n" }]
|
|
292
300
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { triggerRef: [{
|
|
293
301
|
type: ViewChild,
|
|
294
302
|
args: ["triggerEl"]
|
|
@@ -307,6 +315,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
307
315
|
type: Input
|
|
308
316
|
}], triggerClassName: [{
|
|
309
317
|
type: Input
|
|
318
|
+
}], iconOnly: [{
|
|
319
|
+
type: Input
|
|
310
320
|
}], panelClassName: [{
|
|
311
321
|
type: Input
|
|
312
322
|
}], overlayOptions: [{
|
|
@@ -359,4 +369,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
359
369
|
type: HostListener,
|
|
360
370
|
args: ["document:keydown.escape"]
|
|
361
371
|
}] } });
|
|
362
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NhbGVuZGFyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jYWxlbmRhci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsTUFBTSxJQUFJLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU1uRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLG9CQUFvQixHQUNwQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFFaEMsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7QUFPekIsTUFBTSxPQUFPLHNCQUFzQjtJQWNsQyxZQUNrQixHQUFzQixFQUN0QixPQUFnQixFQUNoQixnQkFBa0M7UUFGbEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBaEI1QyxXQUFNLEdBQWdCLElBQUksQ0FBQztRQUMzQixnQkFBVyxHQUE0QixJQUFJLENBQUM7UUFDNUMsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVMLGVBQVUsR0FBRyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGVBQVUsR0FBc0IsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQXdCLElB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QkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0gsSUFBSTtzQkFEUCxLQUFLO2dCQWNGLEtBQUs7c0JBRFIsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7Z0JBMkpOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0TGlzdGVuZXIsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdE91dHB1dCxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZvcm1hdCBhcyBmb3JtYXREYXRlRm5zIH0gZnJvbSBcImRhdGUtZm5zXCI7XG5pbXBvcnQgdHlwZSB7XG5cdFBkbUNhbGVuZGFyUmFuZ2UsXG5cdFBkbUNhbGVuZGFyVmFyaWFudCxcbn0gZnJvbSBcIi4vY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQZG1PdmVybGF5T3B0aW9ucyB9IGZyb20gXCJwZG0tdWkta2l0L3NyYy9vdmVybGF5XCI7XG5pbXBvcnQgeyBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tIFwicGRtLXVpLWtpdC9zcmMvb3ZlcmxheVwiO1xuaW1wb3J0IHtcblx0bWVyZ2VPdmVybGF5UGFuZWxDbGFzcyxcblx0T1ZFUkxBWV9CQVNFX1pfSU5ERVgsXG59IGZyb20gXCJwZG0tdWkta2l0L3NyYy9vdmVybGF5XCI7XG5cbmxldCBuZXh0RGF0ZVBpY2tlcklkID0gMDtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1kYXRlLXBpY2tlclwiLFxuXHR0ZW1wbGF0ZVVybDogXCIuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1EYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0cHJpdmF0ZSBfdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBfcmFuZ2VWYWx1ZTogUGRtQ2FsZW5kYXJSYW5nZSB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIF9vcGVuID0gZmFsc2U7XG5cblx0cHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZUlkID0gYHBkbS1kYXRlLXBpY2tlci0keysrbmV4dERhdGVQaWNrZXJJZH1gO1xuXHRwcml2YXRlIHRyaWdnZXJGb2N1c2VkID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgYmFja2Ryb3BTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG5cdEBWaWV3Q2hpbGQoXCJ0cmlnZ2VyRWxcIikgcHJpdmF0ZSB0cmlnZ2VyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cdEBWaWV3Q2hpbGQoXCJwYW5lbFRlbXBsYXRlXCIpIHByaXZhdGUgcGFuZWxUZW1wbGF0ZVJlZiE6IGFueTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0KSB7fVxuXG5cdEBJbnB1dCgpIGlkID0gXCJcIjtcblx0QElucHV0KCkgdmFyaWFudDogUGRtQ2FsZW5kYXJWYXJpYW50IHwgc3RyaW5nID0gXCJzaW5nbGVcIjtcblx0QElucHV0KCkgbGFiZWwgPSBcIlwiO1xuXHRASW5wdXQoKSBsYWJlbENsYXNzTmFtZSA9IFwiXCI7XG5cdEBJbnB1dCgpIGNsYXNzTmFtZSA9IFwiXCI7XG5cdEBJbnB1dCgpIHRyaWdnZXJDbGFzc05hbWUgPSBcIlwiO1xuXHQvKipcblx0ICogQWRkaXRpb25hbCBDU1MgY2xhc3NlcyBhcHBsaWVkIHRvIHRoZSBvdmVybGF5IHBhbmVsLlxuXHQgKiBCYWNrd2FyZC1jb21wYXRpYmxlOiBtYXBwZWQgdG8gYG92ZXJsYXlPcHRpb25zLnBhbmVsQ2xhc3NgIHdoZW4gYG92ZXJsYXlPcHRpb25zYCBpcyBub3Qgc2V0LlxuXHQgKiBXaGVuIGJvdGggYXJlIHN1cHBsaWVkLCBgb3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzc2AgdGFrZXMgcHJlY2VkZW5jZS5cblx0ICovXG5cdEBJbnB1dCgpIHBhbmVsQ2xhc3NOYW1lID0gXCJcIjtcblx0LyoqXG5cdCAqIE9wdGlvbmFsIENESyBPdmVybGF5Q29uZmlnIG92ZXJyaWRlcy5cblx0ICogU2hhbGxvdy1tZXJnZWQgb24gdG9wIG9mIGNvbXBvbmVudCBkZWZhdWx0cyDigJQgY29uc3VtZXIgYWx3YXlzIHdpbnMuXG5cdCAqIFByb3ZpZGluZyBgcG9zaXRpb25TdHJhdGVneWAgb3IgYHNjcm9sbFN0cmF0ZWd5YCByZXBsYWNlcyB0aGUgY29tcG9uZW50IGRlZmF1bHQgZW50aXJlbHkuXG5cdCAqL1xuXHRASW5wdXQoKSBvdmVybGF5T3B0aW9ucz86IFBkbU92ZXJsYXlPcHRpb25zO1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiUGljayBhIGRhdGVcIjtcblx0QElucHV0KCkgcmFuZ2VQbGFjZWhvbGRlciA9IFwiUGljayBhIGRhdGUgcmFuZ2VcIjtcblx0QElucHV0KCkgZm9ybWF0ID0gXCJNTU0gZCwgeXl5eVwiO1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHRASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuXHRASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBpbnZhbGlkID0gZmFsc2U7XG5cdEBJbnB1dCgpIGFsbG93U2FtZURheVJhbmdlID0gdHJ1ZTtcblx0QElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XG5cdEBJbnB1dCgpIG1pbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblx0QElucHV0KCkgbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXHRASW5wdXQoKSBtaW5ZZWFyOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblx0QElucHV0KCkgbWF4WWVhcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cdEBJbnB1dCgpIGRpc2FibGVkRGF0ZXM6IERhdGVbXSA9IFtdO1xuXHRASW5wdXQoKSBpc0RhdGVEaXNhYmxlZDogKChkYXRlOiBEYXRlKSA9PiBib29sZWFuKSB8IG51bGwgPSBudWxsO1xuXG5cdEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XG5cdEBPdXRwdXQoKSByYW5nZVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQZG1DYWxlbmRhclJhbmdlIHwgbnVsbD4oKTtcblx0QE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cdEBPdXRwdXQoKSBtb250aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuXHRASW5wdXQoKVxuXHRzZXQgb3Blbih2YWx1ZTogYm9vbGVhbikge1xuXHRcdGlmICh0aGlzLl9vcGVuID09PSAhIXZhbHVlKSByZXR1cm47XG5cdFx0aWYgKHZhbHVlKSB7XG5cdFx0XHR0aGlzLm9wZW5QYW5lbCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR9XG5cdH1cblx0Z2V0IG9wZW4oKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX29wZW47XG5cdH1cblxuXHRASW5wdXQoKVxuXHRzZXQgdmFsdWUodmFsdWU6IERhdGUgfCBudWxsKSB7XG5cdFx0dGhpcy5fdmFsdWUgPSB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUpO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cdGdldCB2YWx1ZSgpOiBEYXRlIHwgbnVsbCB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cblx0QElucHV0KClcblx0c2V0IHJhbmdlVmFsdWUodmFsdWU6IFBkbUNhbGVuZGFyUmFuZ2UgfCBudWxsKSB7XG5cdFx0dGhpcy5fcmFuZ2VWYWx1ZSA9IHZhbHVlXG5cdFx0XHQ/IHtcblx0XHRcdFx0XHRzdGFydDogdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlLnN0YXJ0KSxcblx0XHRcdFx0XHRlbmQ6IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZS5lbmQpLFxuXHRcdFx0XHR9XG5cdFx0XHQ6IG51bGw7XG5cdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdH1cblx0Z2V0IHJhbmdlVmFsdWUoKTogUGRtQ2FsZW5kYXJSYW5nZSB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLl9yYW5nZVZhbHVlO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXHR9XG5cblx0Z2V0IHJlc29sdmVkVmFyaWFudCgpOiBQZG1DYWxlbmRhclZhcmlhbnQge1xuXHRcdHJldHVybiB0aGlzLnZhcmlhbnQgPT09IFwicmFuZ2VcIiA/IFwicmFuZ2VcIiA6IFwic2luZ2xlXCI7XG5cdH1cblxuXHRnZXQgdHJpZ2dlcklkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuaWQgfHwgYCR7dGhpcy5pbnN0YW5jZUlkfS10cmlnZ2VyYDtcblx0fVxuXG5cdGdldCBwYW5lbElkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMuaWQgfHwgdGhpcy5pbnN0YW5jZUlkfS1wYW5lbGA7XG5cdH1cblxuXHRnZXQgaGFzU2luZ2xlVmFsdWUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb2x2ZWRWYXJpYW50ID09PSBcInNpbmdsZVwiICYmICEhdGhpcy5fdmFsdWU7XG5cdH1cblxuXHRnZXQgaGFzUmFuZ2VWYWx1ZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5yZXNvbHZlZFZhcmlhbnQgPT09IFwicmFuZ2VcIiAmJiAhIXRoaXMuX3JhbmdlVmFsdWU/LnN0YXJ0O1xuXHR9XG5cblx0Z2V0IGRpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG5cdFx0aWYgKHRoaXMucmVzb2x2ZWRWYXJpYW50ID09PSBcInNpbmdsZVwiKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fdmFsdWUgPyB0aGlzLmZvcm1hdERhdGUodGhpcy5fdmFsdWUpIDogdGhpcy5wbGFjZWhvbGRlcjtcblx0XHR9XG5cblx0XHRjb25zdCBzdGFydCA9IHRoaXMuX3JhbmdlVmFsdWU/LnN0YXJ0ID8/IG51bGw7XG5cdFx0Y29uc3QgZW5kID0gdGhpcy5fcmFuZ2VWYWx1ZT8uZW5kID8/IG51bGw7XG5cblx0XHRpZiAoIXN0YXJ0KSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5yYW5nZVBsYWNlaG9sZGVyO1xuXHRcdH1cblxuXHRcdGlmICghZW5kKSB7XG5cdFx0XHRyZXR1cm4gYCR7dGhpcy5mb3JtYXREYXRlKHN0YXJ0KX0gLWA7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGAke3RoaXMuZm9ybWF0RGF0ZShzdGFydCl9IC0gJHt0aGlzLmZvcm1hdERhdGUoZW5kKX1gO1xuXHR9XG5cblx0Z2V0IHRleHRDbGFzc2VzKCk6IHN0cmluZ1tdIHtcblx0XHRjb25zdCBoYXNWYWx1ZSA9XG5cdFx0XHR0aGlzLnJlc29sdmVkVmFyaWFudCA9PT0gXCJzaW5nbGVcIlxuXHRcdFx0XHQ/IHRoaXMuaGFzU2luZ2xlVmFsdWVcblx0XHRcdFx0OiB0aGlzLmhhc1JhbmdlVmFsdWU7XG5cdFx0cmV0dXJuIFtcblx0XHRcdFwibWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgdGV4dC1sZWZ0IHRleHQtc20gbGVhZGluZy01XCIsXG5cdFx0XHRoYXNWYWx1ZSA/IFwidGV4dC1mb3JlZ3JvdW5kXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLFxuXHRcdF07XG5cdH1cblxuXHRnZXQgcm9vdENsYXNzZXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHRcImdyaWQgZ2FwLTJcIixcblx0XHRcdHRoaXMucmVzb2x2ZWRWYXJpYW50ID09PSBcInJhbmdlXCIgPyBcInctWzI4MHB4XVwiIDogXCJ3LVsxOTdweF1cIixcblx0XHRcdHRoaXMuY2xhc3NOYW1lLFxuXHRcdF07XG5cdH1cblxuXHRnZXQgdHJpZ2dlckNsYXNzZXMoKTogc3RyaW5nW10ge1xuXHRcdGNvbnN0IGZvY3VzU3R5bGUgPSB0aGlzLl9vcGVuIHx8IHRoaXMudHJpZ2dlckZvY3VzZWQ7XG5cblx0XHRyZXR1cm4gW1xuXHRcdFx0XCJib3JkZXItaW5wdXQgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBhcmlhLWludmFsaWQ6cmluZy0yIGFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlIGFyaWEtaW52YWxpZDpib3JkZXItZGVzdHJ1Y3RpdmUgcmVsYXRpdmUgZmxleCB3LWZ1bGwgYXBwZWFyYW5jZS1ub25lIGJveC1ib3JkZXIgaXRlbXMtY2VudGVyIGdhcC0yIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItc29saWQgYmctYmFja2dyb3VuZCBweC0zIHB5LVs3LjVweF0gdGV4dC1sZWZ0IHRleHQtc20gc2hhZG93LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9yc1wiLFxuXHRcdFx0XCJtaW4taC1bMzZweF0gZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MFwiLFxuXHRcdFx0Zm9jdXNTdHlsZSA/IFwiYm9yZGVyLXJpbmcgcmluZy0yIHJpbmctcmluZy81MFwiIDogXCJcIixcblx0XHRcdHRoaXMuaW52YWxpZCA/IFwiYm9yZGVyLWRlc3RydWN0aXZlIHJpbmctZGVzdHJ1Y3RpdmUvMjBcIiA6IFwiXCIsXG5cdFx0XHR0aGlzLnRyaWdnZXJDbGFzc05hbWUsXG5cdFx0XTtcblx0fVxuXG5cdHRvZ2dsZU9wZW4oKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuc2V0T3BlbighdGhpcy5fb3Blbik7XG5cdH1cblxuXHRvblRyaWdnZXJGb2N1cygpOiB2b2lkIHtcblx0XHR0aGlzLnRyaWdnZXJGb2N1c2VkID0gdHJ1ZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdG9uVHJpZ2dlckJsdXIoKTogdm9pZCB7XG5cdFx0dGhpcy50cmlnZ2VyRm9jdXNlZCA9IGZhbHNlO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0b25DYWxlbmRhclZhbHVlQ2hhbmdlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuXHRcdHRoaXMuX3ZhbHVlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcblx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUgPyB0aGlzLmNsb25lRGF0ZSh0aGlzLl92YWx1ZSkgOiBudWxsKTtcblxuXHRcdGlmICh0aGlzLmNsb3NlT25TZWxlY3QgJiYgdGhpcy5fdmFsdWUpIHtcblx0XHRcdHRoaXMuc2V0T3BlbihmYWxzZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdG9uQ2FsZW5kYXJSYW5nZVZhbHVlQ2hhbmdlKHZhbHVlOiBQZG1DYWxlbmRhclJhbmdlIHwgbnVsbCk6IHZvaWQge1xuXHRcdHRoaXMuX3JhbmdlVmFsdWUgPSB2YWx1ZVxuXHRcdFx0PyB7XG5cdFx0XHRcdFx0c3RhcnQ6IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZS5zdGFydCksXG5cdFx0XHRcdFx0ZW5kOiB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUuZW5kKSxcblx0XHRcdFx0fVxuXHRcdFx0OiBudWxsO1xuXG5cdFx0dGhpcy5yYW5nZVZhbHVlQ2hhbmdlLmVtaXQoXG5cdFx0XHR0aGlzLl9yYW5nZVZhbHVlXG5cdFx0XHRcdD8ge1xuXHRcdFx0XHRcdFx0c3RhcnQ6IHRoaXMuX3JhbmdlVmFsdWUuc3RhcnRcblx0XHRcdFx0XHRcdFx0PyB0aGlzLmNsb25lRGF0ZSh0aGlzLl9yYW5nZVZhbHVlLnN0YXJ0KVxuXHRcdFx0XHRcdFx0XHQ6IG51bGwsXG5cdFx0XHRcdFx0XHRlbmQ6IHRoaXMuX3JhbmdlVmFsdWUuZW5kXG5cdFx0XHRcdFx0XHRcdD8gdGhpcy5jbG9uZURhdGUodGhpcy5fcmFuZ2VWYWx1ZS5lbmQpXG5cdFx0XHRcdFx0XHRcdDogbnVsbCxcblx0XHRcdFx0XHR9XG5cdFx0XHRcdDogbnVsbCxcblx0XHQpO1xuXG5cdFx0aWYgKFxuXHRcdFx0dGhpcy5jbG9zZU9uU2VsZWN0ICYmXG5cdFx0XHR0aGlzLl9yYW5nZVZhbHVlPy5zdGFydCAmJlxuXHRcdFx0dGhpcy5fcmFuZ2VWYWx1ZT8uZW5kXG5cdFx0KSB7XG5cdFx0XHR0aGlzLnNldE9wZW4oZmFsc2UpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0b25DYWxlbmRhck1vbnRoQ2hhbmdlKG1vbnRoOiBEYXRlKTogdm9pZCB7XG5cdFx0dGhpcy5tb250aENoYW5nZS5lbWl0KHRoaXMuY2xvbmVEYXRlKG1vbnRoKSk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGVcIilcblx0b25Fc2NhcGUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX29wZW4pIHtcblx0XHRcdHRoaXMuc2V0T3BlbihmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzZXRPcGVuKG5leHRPcGVuOiBib29sZWFuKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX29wZW4gPT09IG5leHRPcGVuKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0aWYgKG5leHRPcGVuKSB7XG5cdFx0XHR0aGlzLm9wZW5QYW5lbCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIG9wZW5QYW5lbCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5vdmVybGF5UmVmKSByZXR1cm47XG5cblx0XHRjb25zdCB0cmlnZ2VyRWwgPSB0aGlzLnRyaWdnZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG5cdFx0aWYgKCF0cmlnZ2VyRWwpIHJldHVybjtcblxuXHRcdHRoaXMuX29wZW4gPSB0cnVlO1xuXHRcdHRoaXMub3BlbkNoYW5nZS5lbWl0KHRydWUpO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG5cdFx0Y29uc3QgcG9zaXRpb25TdHJhdGVneSA9IGNyZWF0ZUZsZXhpYmxlUG9zaXRpb25TdHJhdGVneShcblx0XHRcdHRoaXMub3ZlcmxheSxcblx0XHRcdHRyaWdnZXJFbCxcblx0XHRcdDgsXG5cdFx0KTtcblxuXHRcdC8vIENSSVRJQ0FMOiBVc2UgbWVyZ2VPdmVybGF5UGFuZWxDbGFzcyB0byBlbnN1cmUgei1pbmRleCBpcyBuZXZlciBsb3N0LlxuXHRcdC8vIENvbnN1bWVyIGNsYXNzZXMgYXJlIGFwcGVuZGVkIEFGVEVSIGJhc2Ugei1pbmRleC5cblx0XHRjb25zdCB6SW5kZXhFbmZvcmNlZCA9IG1lcmdlT3ZlcmxheVBhbmVsQ2xhc3MoXG5cdFx0XHRPVkVSTEFZX0JBU0VfWl9JTkRFWCxcblx0XHRcdHRoaXMucGFuZWxDbGFzc05hbWUsXG5cdFx0KTtcblxuXHRcdC8vIFJlc29sdmUgcGFuZWxDbGFzczogb3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzcyB3aW5zOyBvdGhlcndpc2UgdXNlIHotaW5kZXggZW5mb3JjZWQuXG5cdFx0Y29uc3QgcmVzb2x2ZWRQYW5lbENsYXNzID0gdGhpcy5vdmVybGF5T3B0aW9ucz8ucGFuZWxDbGFzc1xuXHRcdFx0PyBtZXJnZU92ZXJsYXlQYW5lbENsYXNzKFxuXHRcdFx0XHRcdE9WRVJMQVlfQkFTRV9aX0lOREVYLFxuXHRcdFx0XHRcdHRoaXMub3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzcyxcblx0XHRcdFx0KVxuXHRcdFx0OiB6SW5kZXhFbmZvcmNlZDtcblxuXHRcdHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuXHRcdFx0cG9zaXRpb25TdHJhdGVneSxcblx0XHRcdHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG5cdFx0XHQvLyBDb25zdW1lciBvdmVycmlkZXMgYXJlIHNwcmVhZCBmaXJzdC5cblx0XHRcdC4uLnRoaXMub3ZlcmxheU9wdGlvbnMsXG5cdFx0XHQvLyBwYW5lbENsYXNzIGFsd2F5cyBlbmZvcmNlZCBsYXN0IHRvIHByZXNlcnZlIHotaW5kZXguXG5cdFx0XHRwYW5lbENsYXNzOiByZXNvbHZlZFBhbmVsQ2xhc3MsXG5cdFx0fSk7XG5cblx0XHRjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG5cdFx0XHR0aGlzLnBhbmVsVGVtcGxhdGVSZWYsXG5cdFx0XHR0aGlzLnZpZXdDb250YWluZXJSZWYsXG5cdFx0KTtcblx0XHR0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cblx0XHR0aGlzLmJhY2tkcm9wU3ViID0gdGhpcy5vdmVybGF5UmVmXG5cdFx0XHQub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxuXHRcdFx0LnN1YnNjcmliZSgoZXZlbnQpID0+IHtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGU7XG5cdFx0XHRcdGlmICghdHJpZ2dlckVsLmNvbnRhaW5zKHRhcmdldCkpIHtcblx0XHRcdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdHByaXZhdGUgY2xvc2VQYW5lbCgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMub3ZlcmxheVJlZiAmJiAhdGhpcy5fb3BlbikgcmV0dXJuO1xuXG5cdFx0dGhpcy5fb3BlbiA9IGZhbHNlO1xuXHRcdHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcblx0XHR0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmJhY2tkcm9wU3ViKSB7XG5cdFx0XHR0aGlzLmJhY2tkcm9wU3ViLnVuc3Vic2NyaWJlKCk7XG5cdFx0XHR0aGlzLmJhY2tkcm9wU3ViID0gbnVsbDtcblx0XHR9XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcblx0XHRcdHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuXHRcdHRyeSB7XG5cdFx0XHRyZXR1cm4gZm9ybWF0RGF0ZUZucyhkYXRlLCB0aGlzLmZvcm1hdCB8fCBcIk1NTSBkLCB5eXl5XCIpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0cmV0dXJuIGZvcm1hdERhdGVGbnMoZGF0ZSwgXCJNTU0gZCwgeXl5eVwiKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIG5vcm1hbGl6ZURhdGUodmFsdWU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogRGF0ZSB8IG51bGwge1xuXHRcdGlmICghKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgfHwgTnVtYmVyLmlzTmFOKHZhbHVlLmdldFRpbWUoKSkpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgRGF0ZSh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCB2YWx1ZS5nZXREYXRlKCkpO1xuXHR9XG5cblx0cHJpdmF0ZSBjbG9uZURhdGUoZGF0ZTogRGF0ZSk6IERhdGUge1xuXHRcdHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpO1xuXHR9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInJvb3RDbGFzc2VzXCI+XG4gIDxwZG0tbGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtmb3JJZF09XCJ0cmlnZ2VySWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbY2xhc3NOYW1lXT1cImxhYmVsQ2xhc3NOYW1lXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9wZG0tbGFiZWw+XG5cbiAgPGJ1dHRvblxuICAgICN0cmlnZ2VyRWxcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbaWRdPVwidHJpZ2dlcklkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlblwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwYW5lbElkXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIidkaWFsb2cnXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgW25nQ2xhc3NdPVwidHJpZ2dlckNsYXNzZXNcIlxuICAgIFthdHRyLnRpdGxlXT1cImRpc3BsYXlUZXh0XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlT3BlbigpXCJcbiAgICAoZm9jdXMpPVwib25UcmlnZ2VyRm9jdXMoKVwiXG4gICAgKGJsdXIpPVwib25UcmlnZ2VyQmx1cigpXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwiZmxleCBoLTUgdy01IHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTAuNSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiaC00IHctNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS44XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNOCAydjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTYgMnY0XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCI0LjVcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMTYuNVwiIHJ4PVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcmVjdD5cbiAgICAgICAgPHBhdGggZD1cIk0zIDkuNWgxOFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvc3Bhbj5cblxuICAgIDxzcGFuIFtuZ0NsYXNzXT1cInRleHRDbGFzc2VzXCI+e3sgZGlzcGxheVRleHQgfX08L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcGFuZWxUZW1wbGF0ZT5cbiAgPGRpdiBbaWRdPVwicGFuZWxJZFwiIHJvbGU9XCJkaWFsb2dcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWwgPyB0cmlnZ2VySWQgOiBudWxsXCI+XG4gICAgPHBkbS1jYWxlbmRhclxuICAgICAgW3ZhcmlhbnRdPVwicmVzb2x2ZWRWYXJpYW50XCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICBbcmFuZ2VWYWx1ZV09XCJyYW5nZVZhbHVlXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbYWxsb3dTYW1lRGF5UmFuZ2VdPVwiYWxsb3dTYW1lRGF5UmFuZ2VcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFttaW5ZZWFyXT1cIm1pblllYXJcIlxuICAgICAgW21heFllYXJdPVwibWF4WWVhclwiXG4gICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgICAgIFtpc0RhdGVEaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZFwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25DYWxlbmRhclZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHJhbmdlVmFsdWVDaGFuZ2UpPVwib25DYWxlbmRhclJhbmdlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAobW9udGhDaGFuZ2UpPVwib25DYWxlbmRhck1vbnRoQ2hhbmdlKCRldmVudClcIlxuICAgID48L3BkbS1jYWxlbmRhcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
372
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NhbGVuZGFyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jYWxlbmRhci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsTUFBTSxJQUFJLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU1uRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLG9CQUFvQixHQUNwQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFFaEMsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7QUFPekIsTUFBTSxPQUFPLHNCQUFzQjtJQWNsQyxZQUNrQixHQUFzQixFQUN0QixPQUFnQixFQUNoQixnQkFBa0M7UUFGbEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBaEI1QyxXQUFNLEdBQWdCLElBQUksQ0FBQztRQUMzQixnQkFBVyxHQUE0QixJQUFJLENBQUM7UUFDNUMsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVMLGVBQVUsR0FBRyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGVBQVUsR0FBc0IsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQXdCLElB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QUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0gsSUFBSTtzQkFEUCxLQUFLO2dCQWNGLEtBQUs7c0JBRFIsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7Z0JBa0tOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0TGlzdGVuZXIsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdE91dHB1dCxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZvcm1hdCBhcyBmb3JtYXREYXRlRm5zIH0gZnJvbSBcImRhdGUtZm5zXCI7XG5pbXBvcnQgdHlwZSB7XG5cdFBkbUNhbGVuZGFyUmFuZ2UsXG5cdFBkbUNhbGVuZGFyVmFyaWFudCxcbn0gZnJvbSBcIi4vY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQZG1PdmVybGF5T3B0aW9ucyB9IGZyb20gXCJwZG0tdWkta2l0L3NyYy9vdmVybGF5XCI7XG5pbXBvcnQgeyBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tIFwicGRtLXVpLWtpdC9zcmMvb3ZlcmxheVwiO1xuaW1wb3J0IHtcblx0bWVyZ2VPdmVybGF5UGFuZWxDbGFzcyxcblx0T1ZFUkxBWV9CQVNFX1pfSU5ERVgsXG59IGZyb20gXCJwZG0tdWkta2l0L3NyYy9vdmVybGF5XCI7XG5cbmxldCBuZXh0RGF0ZVBpY2tlcklkID0gMDtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1kYXRlLXBpY2tlclwiLFxuXHR0ZW1wbGF0ZVVybDogXCIuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1EYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0cHJpdmF0ZSBfdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBfcmFuZ2VWYWx1ZTogUGRtQ2FsZW5kYXJSYW5nZSB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIF9vcGVuID0gZmFsc2U7XG5cblx0cHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZUlkID0gYHBkbS1kYXRlLXBpY2tlci0keysrbmV4dERhdGVQaWNrZXJJZH1gO1xuXHRwcml2YXRlIHRyaWdnZXJGb2N1c2VkID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgYmFja2Ryb3BTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG5cdEBWaWV3Q2hpbGQoXCJ0cmlnZ2VyRWxcIikgcHJpdmF0ZSB0cmlnZ2VyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cdEBWaWV3Q2hpbGQoXCJwYW5lbFRlbXBsYXRlXCIpIHByaXZhdGUgcGFuZWxUZW1wbGF0ZVJlZiE6IGFueTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0KSB7fVxuXG5cdEBJbnB1dCgpIGlkID0gXCJcIjtcblx0QElucHV0KCkgdmFyaWFudDogUGRtQ2FsZW5kYXJWYXJpYW50IHwgc3RyaW5nID0gXCJzaW5nbGVcIjtcblx0QElucHV0KCkgbGFiZWwgPSBcIlwiO1xuXHRASW5wdXQoKSBsYWJlbENsYXNzTmFtZSA9IFwiXCI7XG5cdEBJbnB1dCgpIGNsYXNzTmFtZSA9IFwiXCI7XG5cdEBJbnB1dCgpIHRyaWdnZXJDbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBpY29uT25seSA9IGZhbHNlO1xuXHQvKipcblx0ICogQWRkaXRpb25hbCBDU1MgY2xhc3NlcyBhcHBsaWVkIHRvIHRoZSBvdmVybGF5IHBhbmVsLlxuXHQgKiBCYWNrd2FyZC1jb21wYXRpYmxlOiBtYXBwZWQgdG8gYG92ZXJsYXlPcHRpb25zLnBhbmVsQ2xhc3NgIHdoZW4gYG92ZXJsYXlPcHRpb25zYCBpcyBub3Qgc2V0LlxuXHQgKiBXaGVuIGJvdGggYXJlIHN1cHBsaWVkLCBgb3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzc2AgdGFrZXMgcHJlY2VkZW5jZS5cblx0ICovXG5cdEBJbnB1dCgpIHBhbmVsQ2xhc3NOYW1lID0gXCJcIjtcblx0LyoqXG5cdCAqIE9wdGlvbmFsIENESyBPdmVybGF5Q29uZmlnIG92ZXJyaWRlcy5cblx0ICogU2hhbGxvdy1tZXJnZWQgb24gdG9wIG9mIGNvbXBvbmVudCBkZWZhdWx0cyDigJQgY29uc3VtZXIgYWx3YXlzIHdpbnMuXG5cdCAqIFByb3ZpZGluZyBgcG9zaXRpb25TdHJhdGVneWAgb3IgYHNjcm9sbFN0cmF0ZWd5YCByZXBsYWNlcyB0aGUgY29tcG9uZW50IGRlZmF1bHQgZW50aXJlbHkuXG5cdCAqL1xuXHRASW5wdXQoKSBvdmVybGF5T3B0aW9ucz86IFBkbU92ZXJsYXlPcHRpb25zO1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiUGljayBhIGRhdGVcIjtcblx0QElucHV0KCkgcmFuZ2VQbGFjZWhvbGRlciA9IFwiUGljayBhIGRhdGUgcmFuZ2VcIjtcblx0QElucHV0KCkgZm9ybWF0ID0gXCJNTU0gZCwgeXl5eVwiO1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHRASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuXHRASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBpbnZhbGlkID0gZmFsc2U7XG5cdEBJbnB1dCgpIGFsbG93U2FtZURheVJhbmdlID0gdHJ1ZTtcblx0QElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XG5cdEBJbnB1dCgpIG1pbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblx0QElucHV0KCkgbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXHRASW5wdXQoKSBtaW5ZZWFyOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblx0QElucHV0KCkgbWF4WWVhcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cdEBJbnB1dCgpIGRpc2FibGVkRGF0ZXM6IERhdGVbXSA9IFtdO1xuXHRASW5wdXQoKSBpc0RhdGVEaXNhYmxlZDogKChkYXRlOiBEYXRlKSA9PiBib29sZWFuKSB8IG51bGwgPSBudWxsO1xuXG5cdEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XG5cdEBPdXRwdXQoKSByYW5nZVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQZG1DYWxlbmRhclJhbmdlIHwgbnVsbD4oKTtcblx0QE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cdEBPdXRwdXQoKSBtb250aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuXHRASW5wdXQoKVxuXHRzZXQgb3Blbih2YWx1ZTogYm9vbGVhbikge1xuXHRcdGlmICh0aGlzLl9vcGVuID09PSAhIXZhbHVlKSByZXR1cm47XG5cdFx0aWYgKHZhbHVlKSB7XG5cdFx0XHR0aGlzLm9wZW5QYW5lbCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR9XG5cdH1cblx0Z2V0IG9wZW4oKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX29wZW47XG5cdH1cblxuXHRASW5wdXQoKVxuXHRzZXQgdmFsdWUodmFsdWU6IERhdGUgfCBudWxsKSB7XG5cdFx0dGhpcy5fdmFsdWUgPSB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUpO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cdGdldCB2YWx1ZSgpOiBEYXRlIHwgbnVsbCB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cblx0QElucHV0KClcblx0c2V0IHJhbmdlVmFsdWUodmFsdWU6IFBkbUNhbGVuZGFyUmFuZ2UgfCBudWxsKSB7XG5cdFx0dGhpcy5fcmFuZ2VWYWx1ZSA9IHZhbHVlXG5cdFx0XHQ/IHtcblx0XHRcdFx0XHRzdGFydDogdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlLnN0YXJ0KSxcblx0XHRcdFx0XHRlbmQ6IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZS5lbmQpLFxuXHRcdFx0XHR9XG5cdFx0XHQ6IG51bGw7XG5cdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdH1cblx0Z2V0IHJhbmdlVmFsdWUoKTogUGRtQ2FsZW5kYXJSYW5nZSB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLl9yYW5nZVZhbHVlO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXHR9XG5cblx0Z2V0IHJlc29sdmVkVmFyaWFudCgpOiBQZG1DYWxlbmRhclZhcmlhbnQge1xuXHRcdHJldHVybiB0aGlzLnZhcmlhbnQgPT09IFwicmFuZ2VcIiA/IFwicmFuZ2VcIiA6IFwic2luZ2xlXCI7XG5cdH1cblxuXHRnZXQgdHJpZ2dlcklkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuaWQgfHwgYCR7dGhpcy5pbnN0YW5jZUlkfS10cmlnZ2VyYDtcblx0fVxuXG5cdGdldCBwYW5lbElkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMuaWQgfHwgdGhpcy5pbnN0YW5jZUlkfS1wYW5lbGA7XG5cdH1cblxuXHRnZXQgaGFzU2luZ2xlVmFsdWUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb2x2ZWRWYXJpYW50ID09PSBcInNpbmdsZVwiICYmICEhdGhpcy5fdmFsdWU7XG5cdH1cblxuXHRnZXQgaGFzUmFuZ2VWYWx1ZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5yZXNvbHZlZFZhcmlhbnQgPT09IFwicmFuZ2VcIiAmJiAhIXRoaXMuX3JhbmdlVmFsdWU/LnN0YXJ0O1xuXHR9XG5cblx0Z2V0IGRpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG5cdFx0aWYgKHRoaXMucmVzb2x2ZWRWYXJpYW50ID09PSBcInNpbmdsZVwiKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fdmFsdWUgPyB0aGlzLmZvcm1hdERhdGUodGhpcy5fdmFsdWUpIDogdGhpcy5wbGFjZWhvbGRlcjtcblx0XHR9XG5cblx0XHRjb25zdCBzdGFydCA9IHRoaXMuX3JhbmdlVmFsdWU/LnN0YXJ0ID8/IG51bGw7XG5cdFx0Y29uc3QgZW5kID0gdGhpcy5fcmFuZ2VWYWx1ZT8uZW5kID8/IG51bGw7XG5cblx0XHRpZiAoIXN0YXJ0KSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5yYW5nZVBsYWNlaG9sZGVyO1xuXHRcdH1cblxuXHRcdGlmICghZW5kKSB7XG5cdFx0XHRyZXR1cm4gYCR7dGhpcy5mb3JtYXREYXRlKHN0YXJ0KX0gLWA7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGAke3RoaXMuZm9ybWF0RGF0ZShzdGFydCl9IC0gJHt0aGlzLmZvcm1hdERhdGUoZW5kKX1gO1xuXHR9XG5cblx0Z2V0IHRleHRDbGFzc2VzKCk6IHN0cmluZ1tdIHtcblx0XHRjb25zdCBoYXNWYWx1ZSA9XG5cdFx0XHR0aGlzLnJlc29sdmVkVmFyaWFudCA9PT0gXCJzaW5nbGVcIlxuXHRcdFx0XHQ/IHRoaXMuaGFzU2luZ2xlVmFsdWVcblx0XHRcdFx0OiB0aGlzLmhhc1JhbmdlVmFsdWU7XG5cdFx0cmV0dXJuIFtcblx0XHRcdFwibWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgdGV4dC1sZWZ0IHRleHQtc20gbGVhZGluZy01XCIsXG5cdFx0XHRoYXNWYWx1ZSA/IFwidGV4dC1mb3JlZ3JvdW5kXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLFxuXHRcdF07XG5cdH1cblxuXHRnZXQgcm9vdENsYXNzZXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHRcImdyaWQgZ2FwLTJcIixcblx0XHRcdHRoaXMuaWNvbk9ubHlcblx0XHRcdFx0PyBcImlubGluZS1ncmlkIHctYXV0b1wiXG5cdFx0XHRcdDogdGhpcy5yZXNvbHZlZFZhcmlhbnQgPT09IFwicmFuZ2VcIlxuXHRcdFx0XHRcdD8gXCJ3LVsyODBweF1cIlxuXHRcdFx0XHRcdDogXCJ3LVsxOTdweF1cIixcblx0XHRcdHRoaXMuY2xhc3NOYW1lLFxuXHRcdF07XG5cdH1cblxuXHRnZXQgdHJpZ2dlckNsYXNzZXMoKTogc3RyaW5nW10ge1xuXHRcdGNvbnN0IGZvY3VzU3R5bGUgPSB0aGlzLl9vcGVuIHx8IHRoaXMudHJpZ2dlckZvY3VzZWQ7XG5cblx0XHRyZXR1cm4gW1xuXHRcdFx0XCJib3JkZXItaW5wdXQgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBhcmlhLWludmFsaWQ6cmluZy0yIGFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlIGFyaWEtaW52YWxpZDpib3JkZXItZGVzdHJ1Y3RpdmUgcmVsYXRpdmUgZmxleCBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1zb2xpZCBiZy1iYWNrZ3JvdW5kIHRleHQtc20gc2hhZG93LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9yc1wiLFxuXHRcdFx0XCJtaW4taC1bMzZweF0gZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MFwiLFxuXHRcdFx0dGhpcy5pY29uT25seVxuXHRcdFx0XHQ/IFwic2l6ZS05IGp1c3RpZnktY2VudGVyIHAtMFwiXG5cdFx0XHRcdDogXCJ3LWZ1bGwgZ2FwLTIgcHgtMyBweS1bNy41cHhdIHRleHQtbGVmdFwiLFxuXHRcdFx0Zm9jdXNTdHlsZSA/IFwiYm9yZGVyLXJpbmcgcmluZy0yIHJpbmctcmluZy81MFwiIDogXCJcIixcblx0XHRcdHRoaXMuaW52YWxpZCA/IFwiYm9yZGVyLWRlc3RydWN0aXZlIHJpbmctZGVzdHJ1Y3RpdmUvMjBcIiA6IFwiXCIsXG5cdFx0XHR0aGlzLnRyaWdnZXJDbGFzc05hbWUsXG5cdFx0XTtcblx0fVxuXG5cdHRvZ2dsZU9wZW4oKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuc2V0T3BlbighdGhpcy5fb3Blbik7XG5cdH1cblxuXHRvblRyaWdnZXJGb2N1cygpOiB2b2lkIHtcblx0XHR0aGlzLnRyaWdnZXJGb2N1c2VkID0gdHJ1ZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdG9uVHJpZ2dlckJsdXIoKTogdm9pZCB7XG5cdFx0dGhpcy50cmlnZ2VyRm9jdXNlZCA9IGZhbHNlO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0b25DYWxlbmRhclZhbHVlQ2hhbmdlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuXHRcdHRoaXMuX3ZhbHVlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcblx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUgPyB0aGlzLmNsb25lRGF0ZSh0aGlzLl92YWx1ZSkgOiBudWxsKTtcblxuXHRcdGlmICh0aGlzLmNsb3NlT25TZWxlY3QgJiYgdGhpcy5fdmFsdWUpIHtcblx0XHRcdHRoaXMuc2V0T3BlbihmYWxzZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdG9uQ2FsZW5kYXJSYW5nZVZhbHVlQ2hhbmdlKHZhbHVlOiBQZG1DYWxlbmRhclJhbmdlIHwgbnVsbCk6IHZvaWQge1xuXHRcdHRoaXMuX3JhbmdlVmFsdWUgPSB2YWx1ZVxuXHRcdFx0PyB7XG5cdFx0XHRcdFx0c3RhcnQ6IHRoaXMubm9ybWFsaXplRGF0ZSh2YWx1ZS5zdGFydCksXG5cdFx0XHRcdFx0ZW5kOiB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUuZW5kKSxcblx0XHRcdFx0fVxuXHRcdFx0OiBudWxsO1xuXG5cdFx0dGhpcy5yYW5nZVZhbHVlQ2hhbmdlLmVtaXQoXG5cdFx0XHR0aGlzLl9yYW5nZVZhbHVlXG5cdFx0XHRcdD8ge1xuXHRcdFx0XHRcdFx0c3RhcnQ6IHRoaXMuX3JhbmdlVmFsdWUuc3RhcnRcblx0XHRcdFx0XHRcdFx0PyB0aGlzLmNsb25lRGF0ZSh0aGlzLl9yYW5nZVZhbHVlLnN0YXJ0KVxuXHRcdFx0XHRcdFx0XHQ6IG51bGwsXG5cdFx0XHRcdFx0XHRlbmQ6IHRoaXMuX3JhbmdlVmFsdWUuZW5kXG5cdFx0XHRcdFx0XHRcdD8gdGhpcy5jbG9uZURhdGUodGhpcy5fcmFuZ2VWYWx1ZS5lbmQpXG5cdFx0XHRcdFx0XHRcdDogbnVsbCxcblx0XHRcdFx0XHR9XG5cdFx0XHRcdDogbnVsbCxcblx0XHQpO1xuXG5cdFx0aWYgKFxuXHRcdFx0dGhpcy5jbG9zZU9uU2VsZWN0ICYmXG5cdFx0XHR0aGlzLl9yYW5nZVZhbHVlPy5zdGFydCAmJlxuXHRcdFx0dGhpcy5fcmFuZ2VWYWx1ZT8uZW5kXG5cdFx0KSB7XG5cdFx0XHR0aGlzLnNldE9wZW4oZmFsc2UpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0b25DYWxlbmRhck1vbnRoQ2hhbmdlKG1vbnRoOiBEYXRlKTogdm9pZCB7XG5cdFx0dGhpcy5tb250aENoYW5nZS5lbWl0KHRoaXMuY2xvbmVEYXRlKG1vbnRoKSk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGVcIilcblx0b25Fc2NhcGUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX29wZW4pIHtcblx0XHRcdHRoaXMuc2V0T3BlbihmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzZXRPcGVuKG5leHRPcGVuOiBib29sZWFuKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX29wZW4gPT09IG5leHRPcGVuKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0aWYgKG5leHRPcGVuKSB7XG5cdFx0XHR0aGlzLm9wZW5QYW5lbCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIG9wZW5QYW5lbCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5vdmVybGF5UmVmKSByZXR1cm47XG5cblx0XHRjb25zdCB0cmlnZ2VyRWwgPSB0aGlzLnRyaWdnZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG5cdFx0aWYgKCF0cmlnZ2VyRWwpIHJldHVybjtcblxuXHRcdHRoaXMuX29wZW4gPSB0cnVlO1xuXHRcdHRoaXMub3BlbkNoYW5nZS5lbWl0KHRydWUpO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG5cdFx0Y29uc3QgcG9zaXRpb25TdHJhdGVneSA9IGNyZWF0ZUZsZXhpYmxlUG9zaXRpb25TdHJhdGVneShcblx0XHRcdHRoaXMub3ZlcmxheSxcblx0XHRcdHRyaWdnZXJFbCxcblx0XHRcdDgsXG5cdFx0KTtcblxuXHRcdC8vIENSSVRJQ0FMOiBVc2UgbWVyZ2VPdmVybGF5UGFuZWxDbGFzcyB0byBlbnN1cmUgei1pbmRleCBpcyBuZXZlciBsb3N0LlxuXHRcdC8vIENvbnN1bWVyIGNsYXNzZXMgYXJlIGFwcGVuZGVkIEFGVEVSIGJhc2Ugei1pbmRleC5cblx0XHRjb25zdCB6SW5kZXhFbmZvcmNlZCA9IG1lcmdlT3ZlcmxheVBhbmVsQ2xhc3MoXG5cdFx0XHRPVkVSTEFZX0JBU0VfWl9JTkRFWCxcblx0XHRcdHRoaXMucGFuZWxDbGFzc05hbWUsXG5cdFx0KTtcblxuXHRcdC8vIFJlc29sdmUgcGFuZWxDbGFzczogb3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzcyB3aW5zOyBvdGhlcndpc2UgdXNlIHotaW5kZXggZW5mb3JjZWQuXG5cdFx0Y29uc3QgcmVzb2x2ZWRQYW5lbENsYXNzID0gdGhpcy5vdmVybGF5T3B0aW9ucz8ucGFuZWxDbGFzc1xuXHRcdFx0PyBtZXJnZU92ZXJsYXlQYW5lbENsYXNzKFxuXHRcdFx0XHRcdE9WRVJMQVlfQkFTRV9aX0lOREVYLFxuXHRcdFx0XHRcdHRoaXMub3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzcyxcblx0XHRcdFx0KVxuXHRcdFx0OiB6SW5kZXhFbmZvcmNlZDtcblxuXHRcdHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuXHRcdFx0cG9zaXRpb25TdHJhdGVneSxcblx0XHRcdHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG5cdFx0XHQvLyBDb25zdW1lciBvdmVycmlkZXMgYXJlIHNwcmVhZCBmaXJzdC5cblx0XHRcdC4uLnRoaXMub3ZlcmxheU9wdGlvbnMsXG5cdFx0XHQvLyBwYW5lbENsYXNzIGFsd2F5cyBlbmZvcmNlZCBsYXN0IHRvIHByZXNlcnZlIHotaW5kZXguXG5cdFx0XHRwYW5lbENsYXNzOiByZXNvbHZlZFBhbmVsQ2xhc3MsXG5cdFx0fSk7XG5cblx0XHRjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG5cdFx0XHR0aGlzLnBhbmVsVGVtcGxhdGVSZWYsXG5cdFx0XHR0aGlzLnZpZXdDb250YWluZXJSZWYsXG5cdFx0KTtcblx0XHR0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cblx0XHR0aGlzLmJhY2tkcm9wU3ViID0gdGhpcy5vdmVybGF5UmVmXG5cdFx0XHQub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxuXHRcdFx0LnN1YnNjcmliZSgoZXZlbnQpID0+IHtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGU7XG5cdFx0XHRcdGlmICghdHJpZ2dlckVsLmNvbnRhaW5zKHRhcmdldCkpIHtcblx0XHRcdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdHByaXZhdGUgY2xvc2VQYW5lbCgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMub3ZlcmxheVJlZiAmJiAhdGhpcy5fb3BlbikgcmV0dXJuO1xuXG5cdFx0dGhpcy5fb3BlbiA9IGZhbHNlO1xuXHRcdHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcblx0XHR0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmJhY2tkcm9wU3ViKSB7XG5cdFx0XHR0aGlzLmJhY2tkcm9wU3ViLnVuc3Vic2NyaWJlKCk7XG5cdFx0XHR0aGlzLmJhY2tkcm9wU3ViID0gbnVsbDtcblx0XHR9XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcblx0XHRcdHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuXHRcdHRyeSB7XG5cdFx0XHRyZXR1cm4gZm9ybWF0RGF0ZUZucyhkYXRlLCB0aGlzLmZvcm1hdCB8fCBcIk1NTSBkLCB5eXl5XCIpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0cmV0dXJuIGZvcm1hdERhdGVGbnMoZGF0ZSwgXCJNTU0gZCwgeXl5eVwiKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIG5vcm1hbGl6ZURhdGUodmFsdWU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogRGF0ZSB8IG51bGwge1xuXHRcdGlmICghKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgfHwgTnVtYmVyLmlzTmFOKHZhbHVlLmdldFRpbWUoKSkpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgRGF0ZSh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCB2YWx1ZS5nZXREYXRlKCkpO1xuXHR9XG5cblx0cHJpdmF0ZSBjbG9uZURhdGUoZGF0ZTogRGF0ZSk6IERhdGUge1xuXHRcdHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpO1xuXHR9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInJvb3RDbGFzc2VzXCI+XG4gIDxwZG0tbGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtmb3JJZF09XCJ0cmlnZ2VySWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbY2xhc3NOYW1lXT1cImxhYmVsQ2xhc3NOYW1lXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9wZG0tbGFiZWw+XG5cbiAgPGJ1dHRvblxuICAgICN0cmlnZ2VyRWxcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbaWRdPVwidHJpZ2dlcklkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlblwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwYW5lbElkXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIidkaWFsb2cnXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpY29uT25seSA/IGRpc3BsYXlUZXh0IDogbnVsbFwiXG4gICAgW25nQ2xhc3NdPVwidHJpZ2dlckNsYXNzZXNcIlxuICAgIFthdHRyLnRpdGxlXT1cImRpc3BsYXlUZXh0XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlT3BlbigpXCJcbiAgICAoZm9jdXMpPVwib25UcmlnZ2VyRm9jdXMoKVwiXG4gICAgKGJsdXIpPVwib25UcmlnZ2VyQmx1cigpXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwiZmxleCBoLTUgdy01IHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTAuNSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiaC00IHctNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS44XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNOCAydjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTYgMnY0XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCI0LjVcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMTYuNVwiIHJ4PVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcmVjdD5cbiAgICAgICAgPHBhdGggZD1cIk0zIDkuNWgxOFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvc3Bhbj5cblxuICAgIDxzcGFuICpuZ0lmPVwiIWljb25Pbmx5XCIgW25nQ2xhc3NdPVwidGV4dENsYXNzZXNcIj57eyBkaXNwbGF5VGV4dCB9fTwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwYW5lbFRlbXBsYXRlPlxuICA8ZGl2IFtpZF09XCJwYW5lbElkXCIgcm9sZT1cImRpYWxvZ1wiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbCA/IHRyaWdnZXJJZCA6IG51bGxcIj5cbiAgICA8cGRtLWNhbGVuZGFyXG4gICAgICBbdmFyaWFudF09XCJyZXNvbHZlZFZhcmlhbnRcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIFtyYW5nZVZhbHVlXT1cInJhbmdlVmFsdWVcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFthbGxvd1NhbWVEYXlSYW5nZV09XCJhbGxvd1NhbWVEYXlSYW5nZVwiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW21pblllYXJdPVwibWluWWVhclwiXG4gICAgICBbbWF4WWVhcl09XCJtYXhZZWFyXCJcbiAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIlxuICAgICAgW2lzRGF0ZURpc2FibGVkXT1cImlzRGF0ZURpc2FibGVkXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNhbGVuZGFyVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAocmFuZ2VWYWx1ZUNoYW5nZSk9XCJvbkNhbGVuZGFyUmFuZ2VWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChtb250aENoYW5nZSk9XCJvbkNhbGVuZGFyTW9udGhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvcGRtLWNhbGVuZGFyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|