@smartbit4all/ng-client 4.5.46 → 4.5.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +17 -16
- package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
- package/esm2022/lib/smart-ng-client.module.mjs +4 -3
- package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -2
- package/esm2022/lib/view-context/api/model/menuDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/menuOpenDirection.mjs +1 -1
- package/esm2022/lib/view-context/api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/menu/click/menu.component.mjs +22 -8
- package/esm2022/lib/view-context/smart-ui-action/components/menu/hover/hover-menu.component.mjs +42 -21
- package/esm2022/lib/view-context/smart-ui-action/components/theme-selector/theme-selector.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/button-icon-placeholder.mjs +7 -0
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +29 -6
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.module.mjs +5 -3
- package/fesm2022/smartbit4all-ng-client.mjs +117 -53
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/view-context/api/model/iconPosition.d.ts +1 -2
- package/lib/view-context/smart-ui-action/components/menu/click/menu.component.d.ts +3 -1
- package/lib/view-context/smart-ui-action/components/menu/hover/hover-menu.component.d.ts +3 -0
- package/lib/view-context/smart-ui-action/ui-action-button/button-icon-placeholder.d.ts +5 -0
- package/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.d.ts +7 -2
- package/lib/view-context/smart-view-context.module.d.ts +2 -1
- package/package.json +2 -2
- package/smartbit4all-ng-client-4.5.48.tgz +0 -0
- package/smartbit4all-ng-client-4.5.46.tgz +0 -0
package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import { COMPONENT_LIBRARY, ComponentLibrary } from '../../utility/componentLibr
|
|
|
4
4
|
import { UiActionButtonType } from '../../api/model/uiActionButtonType';
|
|
5
5
|
import { IconPosition } from '../../api/model/iconPosition';
|
|
6
6
|
import { SmartStyleUtility } from '../../utility/smart-style-utility';
|
|
7
|
+
import { ButtonIconPlaceholder } from './button-icon-placeholder';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/common";
|
|
9
10
|
import * as i2 from "@angular/material/button";
|
|
@@ -192,9 +193,6 @@ export class UiActionButtonComponent {
|
|
|
192
193
|
return (this.descriptor.iconPosition === IconPosition.PRE &&
|
|
193
194
|
(this.descriptor.icon != null || this.descriptor.iconResource != null));
|
|
194
195
|
}
|
|
195
|
-
renderEmpty() {
|
|
196
|
-
return this.descriptor.iconPosition === IconPosition.EMPTY;
|
|
197
|
-
}
|
|
198
196
|
renderPost() {
|
|
199
197
|
return (this.descriptor.iconPosition === IconPosition.POST &&
|
|
200
198
|
(this.descriptor.icon != null || this.descriptor.iconResource != null));
|
|
@@ -202,12 +200,35 @@ export class UiActionButtonComponent {
|
|
|
202
200
|
getColor() {
|
|
203
201
|
return this.descriptor?.color || 'text';
|
|
204
202
|
}
|
|
203
|
+
renderPlaceholderPre() {
|
|
204
|
+
return (this.iconPlaceholder === ButtonIconPlaceholder.PRE ||
|
|
205
|
+
this.iconPlaceholder === ButtonIconPlaceholder.BOTH);
|
|
206
|
+
}
|
|
207
|
+
renderPlaceholderPost() {
|
|
208
|
+
return (this.iconPlaceholder === ButtonIconPlaceholder.POST ||
|
|
209
|
+
this.iconPlaceholder === ButtonIconPlaceholder.BOTH);
|
|
210
|
+
}
|
|
211
|
+
getJustifyContent() {
|
|
212
|
+
if (this.iconPlaceholder === ButtonIconPlaceholder.BOTH) {
|
|
213
|
+
return 'center';
|
|
214
|
+
}
|
|
215
|
+
if (this.iconPlaceholder === ButtonIconPlaceholder.PRE || this.renderPre()) {
|
|
216
|
+
return 'flex-start';
|
|
217
|
+
}
|
|
218
|
+
if (this.iconPlaceholder === ButtonIconPlaceholder.POST || this.renderPost()) {
|
|
219
|
+
return 'flex-end';
|
|
220
|
+
}
|
|
221
|
+
return 'flex-start';
|
|
222
|
+
}
|
|
223
|
+
getSeparatorColor() {
|
|
224
|
+
return 'rgb(from var(--' + this.getColor() + '-color) r g b / 0.8)';
|
|
225
|
+
}
|
|
205
226
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
206
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionButtonComponent, selector: "ui-action-button", inputs: { disabled: "disabled", descriptor: "descriptor", code: "code", addedCssClass: "addedCssClass", addBasicClasses: "addBasicClasses" }, outputs: { actionClick: "actionClick", actionDoubleClick: "actionDoubleClick" }, usesOnChanges: true, ngImport: i0, template: "@if (descriptor.type === 'SEPARATOR') {\r\n <div class=\"separator\">\r\n @if (descriptor.title) {\r\n <span class=\"separator-label\" [style.color]=\"
|
|
227
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionButtonComponent, selector: "ui-action-button", inputs: { disabled: "disabled", descriptor: "descriptor", code: "code", addedCssClass: "addedCssClass", addBasicClasses: "addBasicClasses", iconPlaceholder: "iconPlaceholder" }, outputs: { actionClick: "actionClick", actionDoubleClick: "actionDoubleClick" }, usesOnChanges: true, ngImport: i0, template: "@if (descriptor.type === 'SEPARATOR') {\r\n <div class=\"separator\">\r\n @if (descriptor.title) {\r\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\r\n {{ descriptor.title }}\r\n </span>\r\n }\r\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\r\n </div>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\r\n}\r\n\r\n<ng-template #buttonWithBadge>\r\n @if (descriptor && descriptor.badge) {\r\n <ui-badge [descriptor]=\"descriptor.badge\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </ui-badge>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #buttonTemplate>\r\n @if (compLib === componentLibrary.PRIMENG) {\r\n <button\r\n pButton\r\n pRipple\r\n [smartTooltip]=\"descriptor.tooltip\"\r\n [disabled]=\"!!disabled\"\r\n (click)=\"onActionClicked($event, mainActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event)\"\r\n [autofocus]=\"false\"\r\n [ngStyle]=\"calcStyle(descriptor.style)\"\r\n [ngClass]=\"getCombinedClasses()\"\r\n [style.justify-content]=\"getJustifyContent()\"\r\n class=\"{{ getbtnClass() }} {{ addedCssClass }}\"\r\n type=\"button\"\r\n [attr.data-testid]=\"code ?? null\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\r\n </button>\r\n } @else {\r\n <button\r\n mat-button\r\n [smartTooltip]=\"descriptor.tooltip\"\r\n [color]=\"descriptor.color\"\r\n [disabled]=\"!!disabled\"\r\n (click)=\"onActionClicked($event, mainActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event)\"\r\n [ngStyle]=\"calcStyle(descriptor.style)\"\r\n [ngClass]=\"getCombinedClasses()\"\r\n [style.justify-content]=\"getJustifyContent()\"\r\n class=\"{{ getbtnClass() }} {{ addedCssClass }}\"\r\n type=\"button\"\r\n [attr.data-testid]=\"code ?? null\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\r\n </button>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #text>\r\n @if (renderPre() || renderPlaceholderPre()) {\r\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\r\n }\r\n {{ descriptor.title }}\r\n @if (renderPost() || renderPlaceholderPost()) {\r\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #buttonIcon>\r\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\r\n <smart-icon></smart-icon>\r\n } @else if (descriptor.iconResource) {\r\n <smart-icon [imageResource]=\"descriptor.iconResource\"></smart-icon>\r\n } @else {\r\n <smart-icon\r\n [icon]=\"descriptor.icon\"\r\n [color]=\"descriptor.iconColor || descriptor.color\"\r\n ></smart-icon>\r\n }\r\n</ng-template>\r\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mdc-text-button-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}\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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i5.UiBadgeComponent, selector: "ui-badge", inputs: ["descriptor", "inputValue"] }, { kind: "directive", type: i6.SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }] }); }
|
|
207
228
|
}
|
|
208
229
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionButtonComponent, decorators: [{
|
|
209
230
|
type: Component,
|
|
210
|
-
args: [{ selector: 'ui-action-button', template: "@if (descriptor.type === 'SEPARATOR') {\r\n <div class=\"separator\">\r\n @if (descriptor.title) {\r\n <span class=\"separator-label\" [style.color]=\"
|
|
231
|
+
args: [{ selector: 'ui-action-button', template: "@if (descriptor.type === 'SEPARATOR') {\r\n <div class=\"separator\">\r\n @if (descriptor.title) {\r\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\r\n {{ descriptor.title }}\r\n </span>\r\n }\r\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\r\n </div>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\r\n}\r\n\r\n<ng-template #buttonWithBadge>\r\n @if (descriptor && descriptor.badge) {\r\n <ui-badge [descriptor]=\"descriptor.badge\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </ui-badge>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #buttonTemplate>\r\n @if (compLib === componentLibrary.PRIMENG) {\r\n <button\r\n pButton\r\n pRipple\r\n [smartTooltip]=\"descriptor.tooltip\"\r\n [disabled]=\"!!disabled\"\r\n (click)=\"onActionClicked($event, mainActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event)\"\r\n [autofocus]=\"false\"\r\n [ngStyle]=\"calcStyle(descriptor.style)\"\r\n [ngClass]=\"getCombinedClasses()\"\r\n [style.justify-content]=\"getJustifyContent()\"\r\n class=\"{{ getbtnClass() }} {{ addedCssClass }}\"\r\n type=\"button\"\r\n [attr.data-testid]=\"code ?? null\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\r\n </button>\r\n } @else {\r\n <button\r\n mat-button\r\n [smartTooltip]=\"descriptor.tooltip\"\r\n [color]=\"descriptor.color\"\r\n [disabled]=\"!!disabled\"\r\n (click)=\"onActionClicked($event, mainActionModel)\"\r\n (dblclick)=\"onActionDoubleClicked($event)\"\r\n [ngStyle]=\"calcStyle(descriptor.style)\"\r\n [ngClass]=\"getCombinedClasses()\"\r\n [style.justify-content]=\"getJustifyContent()\"\r\n class=\"{{ getbtnClass() }} {{ addedCssClass }}\"\r\n type=\"button\"\r\n [attr.data-testid]=\"code ?? null\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\r\n </button>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #text>\r\n @if (renderPre() || renderPlaceholderPre()) {\r\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\r\n }\r\n {{ descriptor.title }}\r\n @if (renderPost() || renderPlaceholderPost()) {\r\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #buttonIcon>\r\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\r\n <smart-icon></smart-icon>\r\n } @else if (descriptor.iconResource) {\r\n <smart-icon [imageResource]=\"descriptor.iconResource\"></smart-icon>\r\n } @else {\r\n <smart-icon\r\n [icon]=\"descriptor.icon\"\r\n [color]=\"descriptor.iconColor || descriptor.color\"\r\n ></smart-icon>\r\n }\r\n</ng-template>\r\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mdc-text-button-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}\n"] }]
|
|
211
232
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i7.ComponentLibrary, decorators: [{
|
|
212
233
|
type: Inject,
|
|
213
234
|
args: [COMPONENT_LIBRARY]
|
|
@@ -223,9 +244,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
223
244
|
type: Input
|
|
224
245
|
}], addBasicClasses: [{
|
|
225
246
|
type: Input
|
|
247
|
+
}], iconPlaceholder: [{
|
|
248
|
+
type: Input
|
|
226
249
|
}], actionClick: [{
|
|
227
250
|
type: Output
|
|
228
251
|
}], actionDoubleClick: [{
|
|
229
252
|
type: Output
|
|
230
253
|
}] } });
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7OztBQU90RSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQyxZQUNTLGNBQWlDLEVBQ0QsT0FBMEI7UUFEMUQsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBNUJsQyxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFNeEMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFLcEMsQ0FBQztRQUNLLHNCQUFpQixHQUFHLElB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QUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQztJQUM3RCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FDTCxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsSUFBSTtZQUNsRCxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxNQUFNLENBQUM7SUFDMUMsQ0FBQzsrR0E5T1UsdUJBQXVCLG1EQThCeEIsaUJBQWlCO21HQTlCaEIsdUJBQXVCLDRTQ3pCcEMsd3VGQWtGQTs7NEZEekRhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQWtDekIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUFHLFFBQVE7eUNBM0I3QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQU1HLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3VpLWFjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kZWwvdWlBY3Rpb25CdXR0b25UeXBlJztcclxuaW1wb3J0IHsgSWNvblBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vYXBpL21vZGVsL2ljb25Qb3NpdGlvbic7XHJcbmltcG9ydCB7IFN0eWxlLCBVaUFjdGlvbiwgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vYXBpJztcclxuaW1wb3J0IHsgU21hcnRTdHlsZVV0aWxpdHkgfSBmcm9tICcuLi8uLi91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1hY3Rpb24tYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3VpLWFjdGlvbi1idXR0b24uY29tcG9uZW50LmNzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUFjdGlvbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZXNjcmlwdG9yITogVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG4gIEBJbnB1dCgpIGNvZGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWRkZWRDc3NDbGFzcz86IHN0cmluZztcclxuICBASW5wdXQoKSBhZGRCYXNpY0NsYXNzZXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGV2ZW50OiBNb3VzZUV2ZW50O1xyXG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICAgIGNvZGU/OiBzdHJpbmc7XHJcbiAgICB1aUFjdGlvbj86IFVpQWN0aW9uO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkRvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBldmVudDogYW55O1xyXG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICAgIGNvZGU/OiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuXHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7XHJcbiAgY29tcExpYjogQ29tcG9uZW50TGlicmFyeTtcclxuICBtYWluQWN0aW9uTW9kZWwhOiBVaUFjdGlvbk1vZGVsO1xyXG5cclxuICBwcmVzc2VkQnV0dG9uQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBtZW51T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIEBPcHRpb25hbCgpIGNvbXBMaWI/OiBDb21wb25lbnRMaWJyYXJ5XHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbXBMaWIgPSBjb21wTGliID8/IENvbXBvbmVudExpYnJhcnkuUFJJTUVORztcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZGVmYXVsdHM6IFBhcnRpYWw8VWlBY3Rpb25EZXNjcmlwdG9yPiA9IHtcclxuICAgICAgdGl0bGU6IHRoaXMuY29kZSA/PyAnVU5ERUZJTkVEX0JVVFRPTicsXHJcbiAgICAgIGNvbG9yOiAncHJpbWFyeScsXHJcbiAgICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUwsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZGVzY3JpcHRvciA9IHtcclxuICAgICAgLi4uZGVmYXVsdHMsXHJcbiAgICAgIC4uLnRoaXMuZGVzY3JpcHRvcixcclxuICAgICAgdGl0bGU6IHRoaXMuZGVzY3JpcHRvcj8udGl0bGUgPz8gZGVmYXVsdHMudGl0bGUsXHJcbiAgICAgIGNvbG9yOiB0aGlzLmRlc2NyaXB0b3I/LmNvbG9yID8/IGRlZmF1bHRzLmNvbG9yLFxyXG4gICAgICB0eXBlOiB0aGlzLmRlc2NyaXB0b3I/LnR5cGUgPz8gZGVmYXVsdHMudHlwZSxcclxuICAgIH0gYXMgVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG5cclxuICAgIHRoaXMuYnVpbGRNYWluQWN0aW9uTW9kZWwoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkZXNjcmlwdG9yJ10gJiYgdGhpcy5kZXNjcmlwdG9yKSB7XHJcbiAgICAgIHRoaXMuYnVpbGRNYWluQWN0aW9uTW9kZWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRNYWluQWN0aW9uTW9kZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1haW5BY3Rpb25Nb2RlbCA9IHtcclxuICAgICAgZGVzY3JpcHRvcjogdGhpcy5kZXNjcmlwdG9yLFxyXG4gICAgICB1aUFjdGlvbjoge1xyXG4gICAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZGVzY3JpcHRvcixcclxuICAgICAgICBjb2RlOiB0aGlzLmNvZGUsXHJcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgPz8gZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICB9IGFzIFVpQWN0aW9uTW9kZWw7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG9uQWN0aW9uQ2xpY2tlZChldmVudDogTW91c2VFdmVudCwgbW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KHtcclxuICAgICAgZXZlbnQsXHJcbiAgICAgIGNvZGU6IG1vZGVsLnVpQWN0aW9uLmNvZGUsXHJcbiAgICAgIGRlc2NyaXB0b3I6IG1vZGVsLmRlc2NyaXB0b3IhLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbkRvdWJsZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmFjdGlvbkRvdWJsZUNsaWNrLmVtaXQoe1xyXG4gICAgICBldmVudCxcclxuICAgICAgY29kZTogdGhpcy5jb2RlLFxyXG4gICAgICBkZXNjcmlwdG9yOiB0aGlzLmRlc2NyaXB0b3IsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGljb25Qb3NpdGlvbigpOiB0eXBlb2YgSWNvblBvc2l0aW9uIHtcclxuICAgIHJldHVybiBJY29uUG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBpc09ubHlJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTiB8fFxyXG4gICAgICB0aGlzLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQiB8fFxyXG4gICAgICB0aGlzLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5GQUJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRidG5DbGFzcygpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLmFkZEJhc2ljQ2xhc3Nlcykge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRvci5jb2xvcikge1xyXG4gICAgICByZXR1cm4gJ3AtYnV0dG9uLScgKyB0aGlzLmRlc2NyaXB0b3I/LmNvbG9yICsgJyBzYjQtJyArIHRoaXMuZGVzY3JpcHRvcj8uY29sb3I7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKCk6IGFueSB7XHJcbiAgICBpZiAoIXRoaXMuYWRkQmFzaWNDbGFzc2VzKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcpIHtcclxuICAgICAgc3dpdGNoICh0aGlzLmRlc2NyaXB0b3IudHlwZSkge1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtbm9ybWFsJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LWZsYXQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LXN0cm9rZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1taW5pZmFiJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LWZhYic6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTjpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtaWNvbic6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtYmFzaWMnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuZGVzY3JpcHRvci50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWJ1dHRvbiBzYjQtbm9ybWFsJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZsYXQtYnV0dG9uIHNiNC1mbGF0JztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbiBzYjQtcmFpc2VkJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXN0cm9rZWQtYnV0dG9uIHNiNC1zdHJva2VkJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWljb24tYnV0dG9uIHNiNC1pY29uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1taW5pLWZhYiBzYjQtbWluaWZhYic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZhYiBzYjQtZmFiJztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIGBtYXQtYnV0dG9uIHNiNC1iYXNpY2A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbGNTdHlsZShzdHlsZT86IFN0eWxlKTogYW55IHtcclxuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyhzdHlsZSk7XHJcbiAgfVxyXG4gIGNhbGNDbGFzc2VzKHN0eWxlPzogU3R5bGUpOiBhbnkge1xyXG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nQ2xhc3NlcyhzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21iaW5lZENsYXNzZXMoKTogYW55IHtcclxuICAgIGNvbnN0IHR5cGVDbGFzc2VzID0gdGhpcy5nZXRUeXBlKCk7XHJcbiAgICBjb25zdCBzdHlsZUNsYXNzZXMgPSB0aGlzLmNhbGNDbGFzc2VzKHRoaXMuZGVzY3JpcHRvci5zdHlsZSk7XHJcblxyXG4gICAgLy8gTm9ybWFsaXplIHR5cGVDbGFzc2VzIHRvIG9iamVjdFxyXG4gICAgY29uc3QgdHlwZU9iaiA9XHJcbiAgICAgIHR5cGVvZiB0eXBlQ2xhc3NlcyA9PT0gJ3N0cmluZydcclxuICAgICAgICA/IHR5cGVDbGFzc2VzLnNwbGl0KCcgJykucmVkdWNlKChhY2MsIGNscykgPT4gKHsgLi4uYWNjLCBbY2xzXTogdHJ1ZSB9KSwge30pXHJcbiAgICAgICAgOiB0eXBlQ2xhc3NlcztcclxuXHJcbiAgICByZXR1cm4geyAuLi50eXBlT2JqLCAuLi5zdHlsZUNsYXNzZXMgfTtcclxuICB9XHJcblxyXG4gIHJlbmRlclByZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IEljb25Qb3NpdGlvbi5QUkUgJiZcclxuICAgICAgKHRoaXMuZGVzY3JpcHRvci5pY29uICE9IG51bGwgfHwgdGhpcy5kZXNjcmlwdG9yLmljb25SZXNvdXJjZSAhPSBudWxsKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbmRlckVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IEljb25Qb3NpdGlvbi5FTVBUWTtcclxuICB9XHJcblxyXG4gIHJlbmRlclBvc3QoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmRlc2NyaXB0b3IuaWNvblBvc2l0aW9uID09PSBJY29uUG9zaXRpb24uUE9TVCAmJlxyXG4gICAgICAodGhpcy5kZXNjcmlwdG9yLmljb24gIT0gbnVsbCB8fCB0aGlzLmRlc2NyaXB0b3IuaWNvblJlc291cmNlICE9IG51bGwpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3I/LmNvbG9yIHx8ICd0ZXh0JztcclxuICB9XHJcbn1cclxuIiwiQGlmIChkZXNjcmlwdG9yLnR5cGUgPT09ICdTRVBBUkFUT1InKSB7XHJcbiAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPlxyXG4gICAgQGlmIChkZXNjcmlwdG9yLnRpdGxlKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yLWxhYmVsXCIgW3N0eWxlLmNvbG9yXT1cIid2YXIoLS0nICsgZ2V0Q29sb3IoKSArICctY29sb3IpJ1wiPlxyXG4gICAgICAgIHt7IGRlc2NyaXB0b3IudGl0bGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgfVxyXG4gICAgPGhyIGNsYXNzPVwic2VwYXJhdG9yLWxpbmVcIiBbc3R5bGUuYm9yZGVyLXRvcC1jb2xvcl09XCIndmFyKC0tJyArIGdldENvbG9yKCkgKyAnLWNvbG9yKSdcIiAvPlxyXG4gIDwvZGl2PlxyXG59IEBlbHNlIHtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uV2l0aEJhZGdlXCI+PC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uV2l0aEJhZGdlPlxyXG4gIEBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmJhZGdlKSB7XHJcbiAgICA8dWktYmFkZ2UgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvci5iYWRnZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdWktYmFkZ2U+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlPlxyXG4gIEBpZiAoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHBCdXR0b25cclxuICAgICAgcFJpcHBsZVxyXG4gICAgICBbc21hcnRUb29sdGlwXT1cImRlc2NyaXB0b3IudG9vbHRpcFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIG1haW5BY3Rpb25Nb2RlbClcIlxyXG4gICAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICBbYXV0b2ZvY3VzXT1cImZhbHNlXCJcclxuICAgICAgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGRlc2NyaXB0b3Iuc3R5bGUpXCJcclxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Q29tYmluZWRDbGFzc2VzKClcIlxyXG4gICAgICBjbGFzcz1cInt7IGdldGJ0bkNsYXNzKCkgfX0ge3sgYWRkZWRDc3NDbGFzcyB9fVwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJjb2RlID8/IG51bGxcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbigpOyB0aGVuIGJ1dHRvbkljb247IGVsc2UgdGV4dFwiPjwvZGl2PlxyXG4gICAgPC9idXR0b24+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgW3NtYXJ0VG9vbHRpcF09XCJkZXNjcmlwdG9yLnRvb2x0aXBcIlxyXG4gICAgICBbY29sb3JdPVwiZGVzY3JpcHRvci5jb2xvclwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIG1haW5BY3Rpb25Nb2RlbClcIlxyXG4gICAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICBbbmdTdHlsZV09XCJjYWxjU3R5bGUoZGVzY3JpcHRvci5zdHlsZSlcIlxyXG4gICAgICBbbmdDbGFzc109XCJnZXRDb21iaW5lZENsYXNzZXMoKVwiXHJcbiAgICAgIGNsYXNzPVwie3sgZ2V0YnRuQ2xhc3MoKSB9fSB7eyBhZGRlZENzc0NsYXNzIH19XCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImNvZGUgPz8gbnVsbFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc09ubHlJY29uKCk7IHRoZW4gYnV0dG9uSWNvbjsgZWxzZSB0ZXh0XCI+PC9kaXY+XHJcbiAgICA8L2J1dHRvbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3RleHQ+XHJcbiAgQGlmIChyZW5kZXJQcmUoKSB8fCByZW5kZXJFbXB0eSgpKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uSWNvblwiIC8+XHJcbiAgfVxyXG4gIHt7IGRlc2NyaXB0b3IudGl0bGUgfX1cclxuICBAaWYgKHJlbmRlclBvc3QoKSkge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbkljb25cIiAvPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uSWNvbj5cclxuICBAaWYgKHJlbmRlckVtcHR5KCkpIHtcclxuICAgIDxzbWFydC1pY29uPjwvc21hcnQtaWNvbj5cclxuICB9IEBlbHNlIGlmIChkZXNjcmlwdG9yLmljb25SZXNvdXJjZSkge1xyXG4gICAgPHNtYXJ0LWljb24gW2ltYWdlUmVzb3VyY2VdPVwiZGVzY3JpcHRvci5pY29uUmVzb3VyY2VcIj48L3NtYXJ0LWljb24+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8c21hcnQtaWNvblxyXG4gICAgICBbaWNvbl09XCJkZXNjcmlwdG9yLmljb25cIlxyXG4gICAgICBbY29sb3JdPVwiZGVzY3JpcHRvci5pY29uQ29sb3IgPz8gZGVzY3JpcHRvci5jb2xvclwiXHJcbiAgICA+PC9zbWFydC1pY29uPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQU9sRSxNQUFNLE9BQU8sdUJBQXVCO0lBNkJsQyxZQUNTLGNBQWlDLEVBQ0QsT0FBMEI7UUFEMUQsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBN0JsQyxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFNeEMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFHL0IsZ0JBQVcs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QUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLHNCQUFzQixDQUFDO0lBQ3RFLENBQUM7K0dBMVFVLHVCQUF1QixtREErQnhCLGlCQUFpQjttR0EvQmhCLHVCQUF1QixnVkMxQnBDLHM0RkFvRkE7OzRGRDFEYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCOzswQkFtQ3pCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFBRyxRQUFRO3lDQTVCN0IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQU1HLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3VpLWFjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kZWwvdWlBY3Rpb25CdXR0b25UeXBlJztcclxuaW1wb3J0IHsgSWNvblBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vYXBpL21vZGVsL2ljb25Qb3NpdGlvbic7XHJcbmltcG9ydCB7IFN0eWxlLCBVaUFjdGlvbiwgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vYXBpJztcclxuaW1wb3J0IHsgU21hcnRTdHlsZVV0aWxpdHkgfSBmcm9tICcuLi8uLi91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xyXG5pbXBvcnQgeyBCdXR0b25JY29uUGxhY2Vob2xkZXIgfSBmcm9tICcuL2J1dHRvbi1pY29uLXBsYWNlaG9sZGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktYWN0aW9uLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91aS1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5jc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVzY3JpcHRvciE6IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICBASW5wdXQoKSBjb2RlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFkZGVkQ3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWRkQmFzaWNDbGFzc2VzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpY29uUGxhY2Vob2xkZXI/OiBCdXR0b25JY29uUGxhY2Vob2xkZXI7XHJcblxyXG4gIEBPdXRwdXQoKSBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQ7XHJcbiAgICBkZXNjcmlwdG9yPzogVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG4gICAgY29kZT86IHN0cmluZztcclxuICAgIHVpQWN0aW9uPzogVWlBY3Rpb247XHJcbiAgfT4oKTtcclxuICBAT3V0cHV0KCkgYWN0aW9uRG91YmxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGV2ZW50OiBhbnk7XHJcbiAgICBkZXNjcmlwdG9yPzogVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG4gICAgY29kZT86IHN0cmluZztcclxuICB9PigpO1xyXG5cclxuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTtcclxuICBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5O1xyXG4gIG1haW5BY3Rpb25Nb2RlbCE6IFVpQWN0aW9uTW9kZWw7XHJcblxyXG4gIHByZXNzZWRCdXR0b25BY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG1lbnVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgQE9wdGlvbmFsKCkgY29tcExpYj86IENvbXBvbmVudExpYnJhcnlcclxuICApIHtcclxuICAgIHRoaXMuY29tcExpYiA9IGNvbXBMaWIgPz8gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkZWZhdWx0czogUGFydGlhbDxVaUFjdGlvbkRlc2NyaXB0b3I+ID0ge1xyXG4gICAgICB0aXRsZTogdGhpcy5jb2RlID8/ICdVTkRFRklORURfQlVUVE9OJyxcclxuICAgICAgY29sb3I6ICdwcmltYXJ5JyxcclxuICAgICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTCxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5kZXNjcmlwdG9yID0ge1xyXG4gICAgICAuLi5kZWZhdWx0cyxcclxuICAgICAgLi4udGhpcy5kZXNjcmlwdG9yLFxyXG4gICAgICB0aXRsZTogdGhpcy5kZXNjcmlwdG9yPy50aXRsZSA/PyBkZWZhdWx0cy50aXRsZSxcclxuICAgICAgY29sb3I6IHRoaXMuZGVzY3JpcHRvcj8uY29sb3IgPz8gZGVmYXVsdHMuY29sb3IsXHJcbiAgICAgIHR5cGU6IHRoaXMuZGVzY3JpcHRvcj8udHlwZSA/PyBkZWZhdWx0cy50eXBlLFxyXG4gICAgfSBhcyBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcblxyXG4gICAgdGhpcy5idWlsZE1haW5BY3Rpb25Nb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2Rlc2NyaXB0b3InXSAmJiB0aGlzLmRlc2NyaXB0b3IpIHtcclxuICAgICAgdGhpcy5idWlsZE1haW5BY3Rpb25Nb2RlbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZE1haW5BY3Rpb25Nb2RlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFpbkFjdGlvbk1vZGVsID0ge1xyXG4gICAgICBkZXNjcmlwdG9yOiB0aGlzLmRlc2NyaXB0b3IsXHJcbiAgICAgIHVpQWN0aW9uOiB7XHJcbiAgICAgICAgZGVzY3JpcHRvcjogdGhpcy5kZXNjcmlwdG9yLFxyXG4gICAgICAgIGNvZGU6IHRoaXMuY29kZSxcclxuICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCA/PyBmYWxzZSxcclxuICAgICAgfSxcclxuICAgIH0gYXMgVWlBY3Rpb25Nb2RlbDtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50LCBtb2RlbDogVWlBY3Rpb25Nb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xyXG4gICAgICBldmVudCxcclxuICAgICAgY29kZTogbW9kZWwudWlBY3Rpb24uY29kZSxcclxuICAgICAgZGVzY3JpcHRvcjogbW9kZWwuZGVzY3JpcHRvciEsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQWN0aW9uRG91YmxlQ2xpY2tlZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuYWN0aW9uRG91YmxlQ2xpY2suZW1pdCh7XHJcbiAgICAgIGV2ZW50LFxyXG4gICAgICBjb2RlOiB0aGlzLmNvZGUsXHJcbiAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZGVzY3JpcHRvcixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaWNvblBvc2l0aW9uKCk6IHR5cGVvZiBJY29uUG9zaXRpb24ge1xyXG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGlzT25seUljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OIHx8XHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCIHx8XHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLkZBQlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldGJ0bkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuYWRkQmFzaWNDbGFzc2VzKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kZXNjcmlwdG9yLmNvbG9yKSB7XHJcbiAgICAgIHJldHVybiAncC1idXR0b24tJyArIHRoaXMuZGVzY3JpcHRvcj8uY29sb3IgKyAnIHNiNC0nICsgdGhpcy5kZXNjcmlwdG9yPy5jb2xvcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKTogYW55IHtcclxuICAgIGlmICghdGhpcy5hZGRCYXNpY0NsYXNzZXMpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuZGVzY3JpcHRvci50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1ub3JtYWwnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtZmxhdCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuU1RST0tFRDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtc3Ryb2tlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUI6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LW1pbmlmYWInOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZBQjpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtZmFiJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1pY29uJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1iYXNpYyc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5kZXNjcmlwdG9yLnR5cGUpIHtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUw6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtYnV0dG9uIHNiNC1ub3JtYWwnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmxhdC1idXR0b24gc2I0LWZsYXQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1yYWlzZWQtYnV0dG9uIHNiNC1yYWlzZWQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtc3Ryb2tlZC1idXR0b24gc2I0LXN0cm9rZWQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtaWNvbi1idXR0b24gc2I0LWljb24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLW1pbmktZmFiIHNiNC1taW5pZmFiJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmFiIHNiNC1mYWInO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4gYG1hdC1idXR0b24gc2I0LWJhc2ljYDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FsY1N0eWxlKHN0eWxlPzogU3R5bGUpOiBhbnkge1xyXG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nU3R5bGVzKHN0eWxlKTtcclxuICB9XHJcbiAgY2FsY0NsYXNzZXMoc3R5bGU/OiBTdHlsZSk6IGFueSB7XHJcbiAgICByZXR1cm4gU21hcnRTdHlsZVV0aWxpdHkuZ2V0TmdDbGFzc2VzKHN0eWxlKTtcclxuICB9XHJcblxyXG4gIGdldENvbWJpbmVkQ2xhc3NlcygpOiBhbnkge1xyXG4gICAgY29uc3QgdHlwZUNsYXNzZXMgPSB0aGlzLmdldFR5cGUoKTtcclxuICAgIGNvbnN0IHN0eWxlQ2xhc3NlcyA9IHRoaXMuY2FsY0NsYXNzZXModGhpcy5kZXNjcmlwdG9yLnN0eWxlKTtcclxuXHJcbiAgICAvLyBOb3JtYWxpemUgdHlwZUNsYXNzZXMgdG8gb2JqZWN0XHJcbiAgICBjb25zdCB0eXBlT2JqID1cclxuICAgICAgdHlwZW9mIHR5cGVDbGFzc2VzID09PSAnc3RyaW5nJ1xyXG4gICAgICAgID8gdHlwZUNsYXNzZXMuc3BsaXQoJyAnKS5yZWR1Y2UoKGFjYywgY2xzKSA9PiAoeyAuLi5hY2MsIFtjbHNdOiB0cnVlIH0pLCB7fSlcclxuICAgICAgICA6IHR5cGVDbGFzc2VzO1xyXG5cclxuICAgIHJldHVybiB7IC4uLnR5cGVPYmosIC4uLnN0eWxlQ2xhc3NlcyB9O1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyUHJlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5kZXNjcmlwdG9yLmljb25Qb3NpdGlvbiA9PT0gSWNvblBvc2l0aW9uLlBSRSAmJlxyXG4gICAgICAodGhpcy5kZXNjcmlwdG9yLmljb24gIT0gbnVsbCB8fCB0aGlzLmRlc2NyaXB0b3IuaWNvblJlc291cmNlICE9IG51bGwpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyUG9zdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IEljb25Qb3NpdGlvbi5QT1NUICYmXHJcbiAgICAgICh0aGlzLmRlc2NyaXB0b3IuaWNvbiAhPSBudWxsIHx8IHRoaXMuZGVzY3JpcHRvci5pY29uUmVzb3VyY2UgIT0gbnVsbClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDb2xvcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvcj8uY29sb3IgfHwgJ3RleHQnO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyUGxhY2Vob2xkZXJQcmUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBSRSB8fFxyXG4gICAgICB0aGlzLmljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLkJPVEhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJQbGFjZWhvbGRlclBvc3QoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBPU1QgfHxcclxuICAgICAgdGhpcy5pY29uUGxhY2Vob2xkZXIgPT09IEJ1dHRvbkljb25QbGFjZWhvbGRlci5CT1RIXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SnVzdGlmeUNvbnRlbnQoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLkJPVEgpIHtcclxuICAgICAgcmV0dXJuICdjZW50ZXInO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuUFJFIHx8IHRoaXMucmVuZGVyUHJlKCkpIHtcclxuICAgICAgcmV0dXJuICdmbGV4LXN0YXJ0JztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBPU1QgfHwgdGhpcy5yZW5kZXJQb3N0KCkpIHtcclxuICAgICAgcmV0dXJuICdmbGV4LWVuZCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJ2ZsZXgtc3RhcnQnO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VwYXJhdG9yQ29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAncmdiKGZyb20gdmFyKC0tJyArIHRoaXMuZ2V0Q29sb3IoKSArICctY29sb3IpIHIgZyBiIC8gMC44KSc7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoZGVzY3JpcHRvci50eXBlID09PSAnU0VQQVJBVE9SJykge1xyXG4gIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj5cclxuICAgIEBpZiAoZGVzY3JpcHRvci50aXRsZSkge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvci1sYWJlbFwiIFtzdHlsZS5jb2xvcl09XCJnZXRTZXBhcmF0b3JDb2xvcigpXCI+XHJcbiAgICAgICAge3sgZGVzY3JpcHRvci50aXRsZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgICA8aHIgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiIFtzdHlsZS5ib3JkZXItdG9wLWNvbG9yXT1cImdldFNlcGFyYXRvckNvbG9yKClcIiAvPlxyXG4gIDwvZGl2PlxyXG59IEBlbHNlIHtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uV2l0aEJhZGdlXCI+PC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uV2l0aEJhZGdlPlxyXG4gIEBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmJhZGdlKSB7XHJcbiAgICA8dWktYmFkZ2UgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvci5iYWRnZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdWktYmFkZ2U+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlPlxyXG4gIEBpZiAoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHBCdXR0b25cclxuICAgICAgcFJpcHBsZVxyXG4gICAgICBbc21hcnRUb29sdGlwXT1cImRlc2NyaXB0b3IudG9vbHRpcFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIG1haW5BY3Rpb25Nb2RlbClcIlxyXG4gICAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICBbYXV0b2ZvY3VzXT1cImZhbHNlXCJcclxuICAgICAgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGRlc2NyaXB0b3Iuc3R5bGUpXCJcclxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Q29tYmluZWRDbGFzc2VzKClcIlxyXG4gICAgICBbc3R5bGUuanVzdGlmeS1jb250ZW50XT1cImdldEp1c3RpZnlDb250ZW50KClcIlxyXG4gICAgICBjbGFzcz1cInt7IGdldGJ0bkNsYXNzKCkgfX0ge3sgYWRkZWRDc3NDbGFzcyB9fVwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJjb2RlID8/IG51bGxcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbigpOyB0aGVuIGJ1dHRvbkljb247IGVsc2UgdGV4dFwiPjwvZGl2PlxyXG4gICAgPC9idXR0b24+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgW3NtYXJ0VG9vbHRpcF09XCJkZXNjcmlwdG9yLnRvb2x0aXBcIlxyXG4gICAgICBbY29sb3JdPVwiZGVzY3JpcHRvci5jb2xvclwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIG1haW5BY3Rpb25Nb2RlbClcIlxyXG4gICAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICBbbmdTdHlsZV09XCJjYWxjU3R5bGUoZGVzY3JpcHRvci5zdHlsZSlcIlxyXG4gICAgICBbbmdDbGFzc109XCJnZXRDb21iaW5lZENsYXNzZXMoKVwiXHJcbiAgICAgIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiZ2V0SnVzdGlmeUNvbnRlbnQoKVwiXHJcbiAgICAgIGNsYXNzPVwie3sgZ2V0YnRuQ2xhc3MoKSB9fSB7eyBhZGRlZENzc0NsYXNzIH19XCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImNvZGUgPz8gbnVsbFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc09ubHlJY29uKCk7IHRoZW4gYnV0dG9uSWNvbjsgZWxzZSB0ZXh0XCI+PC9kaXY+XHJcbiAgICA8L2J1dHRvbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3RleHQ+XHJcbiAgQGlmIChyZW5kZXJQcmUoKSB8fCByZW5kZXJQbGFjZWhvbGRlclByZSgpKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uSWNvblwiIC8+XHJcbiAgfVxyXG4gIHt7IGRlc2NyaXB0b3IudGl0bGUgfX1cclxuICBAaWYgKHJlbmRlclBvc3QoKSB8fCByZW5kZXJQbGFjZWhvbGRlclBvc3QoKSkge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbkljb25cIiAvPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uSWNvbj5cclxuICBAaWYgKHJlbmRlclBsYWNlaG9sZGVyUHJlKCkgfHwgcmVuZGVyUGxhY2Vob2xkZXJQb3N0KCkpIHtcclxuICAgIDxzbWFydC1pY29uPjwvc21hcnQtaWNvbj5cclxuICB9IEBlbHNlIGlmIChkZXNjcmlwdG9yLmljb25SZXNvdXJjZSkge1xyXG4gICAgPHNtYXJ0LWljb24gW2ltYWdlUmVzb3VyY2VdPVwiZGVzY3JpcHRvci5pY29uUmVzb3VyY2VcIj48L3NtYXJ0LWljb24+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8c21hcnQtaWNvblxyXG4gICAgICBbaWNvbl09XCJkZXNjcmlwdG9yLmljb25cIlxyXG4gICAgICBbY29sb3JdPVwiZGVzY3JpcHRvci5pY29uQ29sb3IgfHwgZGVzY3JpcHRvci5jb2xvclwiXHJcbiAgICA+PC9zbWFydC1pY29uPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -302,7 +302,7 @@ export class UiActionToolbarComponent {
|
|
|
302
302
|
return MenuTriggerType;
|
|
303
303
|
}
|
|
304
304
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: i1.UiActionService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
305
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id", scrollOnWrap: "scrollOnWrap", toolbarPropertes: "toolbarPropertes" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.code === 'themeSelector') {\r\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\r\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ng-container\r\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\r\n ></ng-container>\r\n } @else {\r\n <ui-action-button\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [code]=\"uiActionModel.uiAction.code\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\r\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\r\n @case (triggerType.HOVER) {\r\n <ui-hover-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-hover-menu>\r\n }\r\n @case (triggerType.CLICK) {\r\n <ui-tiered-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n @default {\r\n <ui-tiered-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%;justify-content:flex-start}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i4.ClickMenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i5.HoverMenuComponent, selector: "ui-hover-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i6.ThemeSelectorComponent, selector: "theme-selector", inputs: ["model"] }] }); }
|
|
305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id", scrollOnWrap: "scrollOnWrap", toolbarPropertes: "toolbarPropertes" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.code === 'themeSelector') {\r\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\r\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ng-container\r\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\r\n ></ng-container>\r\n } @else {\r\n <ui-action-button\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [code]=\"uiActionModel.uiAction.code\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\r\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\r\n @case (triggerType.HOVER) {\r\n <ui-hover-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-hover-menu>\r\n }\r\n @case (triggerType.CLICK) {\r\n <ui-tiered-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n @default {\r\n <ui-tiered-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%;justify-content:flex-start}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses", "iconPlaceholder"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i4.ClickMenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i5.HoverMenuComponent, selector: "ui-hover-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i6.ThemeSelectorComponent, selector: "theme-selector", inputs: ["model"] }] }); }
|
|
306
306
|
}
|
|
307
307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
|
|
308
308
|
type: Component,
|
|
@@ -26,7 +26,7 @@ export class SmartViewContextErrorDialogComponent {
|
|
|
26
26
|
this.service.closeDialog();
|
|
27
27
|
}
|
|
28
28
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: i1.SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <ui-action-button [descriptor]=\"buttonDescriptor\" (actionClick)=\"onActionClick()\">\r\n </ui-action-button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <ui-action-button [descriptor]=\"buttonDescriptor\" (actionClick)=\"onActionClick()\">\r\n </ui-action-button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses", "iconPlaceholder"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
30
30
|
}
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
@@ -20,7 +20,7 @@ import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
|
20
20
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
21
21
|
import { BrowserModule } from '@angular/platform-browser';
|
|
22
22
|
import { YouTubePlayerModule } from '@angular/youtube-player';
|
|
23
|
-
import { provideNgxMask } from 'ngx-mask';
|
|
23
|
+
import { NgxMaskDirective, provideNgxMask } from 'ngx-mask';
|
|
24
24
|
import { QuillModule } from 'ngx-quill';
|
|
25
25
|
import { TooltipModule } from 'primeng/tooltip';
|
|
26
26
|
import { SharedModule } from '../shared/shared.module';
|
|
@@ -166,7 +166,8 @@ export class SmartViewContextModule {
|
|
|
166
166
|
InputMaskModule,
|
|
167
167
|
EditorModule,
|
|
168
168
|
MatMenuModule,
|
|
169
|
-
SmartIconModule
|
|
169
|
+
SmartIconModule,
|
|
170
|
+
NgxMaskDirective], exports: [UiActionToolbarComponent,
|
|
170
171
|
UiActionInputDialogComponent,
|
|
171
172
|
SmartformComponent,
|
|
172
173
|
SmartformwidgetComponent,
|
|
@@ -351,6 +352,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
351
352
|
EditorModule,
|
|
352
353
|
MatMenuModule,
|
|
353
354
|
SmartIconModule,
|
|
355
|
+
NgxMaskDirective,
|
|
354
356
|
],
|
|
355
357
|
exports: [
|
|
356
358
|
UiActionToolbarComponent,
|
|
@@ -400,4 +402,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
400
402
|
],
|
|
401
403
|
}]
|
|
402
404
|
}] });
|
|
403
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFTLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUNsQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1B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dWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0LCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxyXG4gIE1BVF9NT01FTlRfREFURV9GT1JNQVRTLFxyXG4gIE1hdE1vbWVudERhdGVNb2R1bGUsXHJcbiAgTW9tZW50RGF0ZUFkYXB0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7XHJcbiAgRGF0ZUFkYXB0ZXIsXHJcbiAgTUFUX0RBVEVfRk9STUFUUyxcclxuICBNQVRfREFURV9MT0NBTEUsXHJcbiAgTWF0Q29tbW9uTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBZb3VUdWJlUGxheWVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIveW91dHViZS1wbGF5ZXInO1xyXG5pbXBvcnQgeyBwcm92aWRlTmd4TWFzayB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgUXVpbGxNb2R1bGUgfSBmcm9tICduZ3gtcXVpbGwnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIEhpZ2hsaWdodFBpcGUsXHJcbiAgU21hcnRXaWRnZXRTZXR0aW5ncyxcclxuICBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudCxcclxuICBTbWFydGZvcm1Db21wb25lbnQsXHJcbiAgU21hcnRmb3Jtd2lkZ2V0Q29tcG9uZW50LFxyXG59IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtZm9ybS9zZXJ2aWNlcy9zbWFydGZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IExhcmdlRmlsZVNuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS9zbWFydGZpbGV1cGxvYWRlci9sYXJnZS1maWxlLXNuYWNrLWJhci9sYXJnZS1maWxlLXNuYWNrLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydE1vbnRoUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbW9udGgtcGlja2VyL3NtYXJ0LW1vbnRoLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb3J0YWJsZVdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vd2lkZ2V0cy9zbWFydGZvcm13aWRnZXQvc29ydGFibGUtd2lkZ2V0L3NvcnRhYmxlLXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFja0NhcHNEaXJlY3RpdmUgfSBmcm9tICcuLi9zbWFydC1mb3JtL3dpZGdldHMvc21hcnRmb3Jtd2lkZ2V0L3RyYWNrQ2Fwcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTbWFydEljb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1pY29uL3Byb2plY3RzJztcclxuaW1wb3J0IHsgSW52YWxpZEZpZWxkc1NuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnZhbGlkLWZpZWxkcy1zbmFjay1iYXIvaW52YWxpZC1maWVsZHMtc25hY2stYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UtZGlhbG9nL21lc3NhZ2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbklucHV0RGlhbG9nU2VydmljZSB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWlucHV0LWRpYWxvZy91aS1hY3Rpb24taW5wdXQtZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cvc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0SW50ZXJjZXB0b3IgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IERJQUxPR19ESVNBQkxFX0NMT1NFLCBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydEVtYmVkZGVkU2xvdERpcmVjdGl2ZSB9IGZyb20gJy4vc21hcnQtZW1iZWRkZWQtc2xvdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdSZWRpcmVjdCB9IGZyb20gJy4vc21hcnQtdmlldy1yZWRpcmVjdC9zbWFydC12aWV3LXJlZGlyZWN0JztcclxuXHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSBhcyBQcmltZVNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBEcm9wZG93biwgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2ZpbGV1cGxvYWQnO1xyXG5pbXBvcnQgeyBGbG9hdExhYmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9mbG9hdGxhYmVsJztcclxuaW1wb3J0IHsgSW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuL3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XHJcblxyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBDaGlwc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hpcHMnO1xyXG5pbXBvcnQgeyBJbWFnZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW1hZ2UnO1xyXG5pbXBvcnQgeyBPcmRlckxpc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL29yZGVybGlzdCc7XHJcbmltcG9ydCB7IElucHV0U3dpdGNoTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHN3aXRjaCc7XHJcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0LCBNdWx0aVNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbXVsdGlzZWxlY3QnO1xyXG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XHJcbmltcG9ydCB7IENvbXBhcmFibGVEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vd2lkZ2V0cy9kaXJlY3RpdmVzL2NvbXBhcmFibGUtZHJvcGRvd24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcGFyYWJsZU11bHRpc2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2RpcmVjdGl2ZXMvY29tcGFyYWJsZS1tdWx0aXNlbGVjdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRpYWxvZ0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWRpYWxvZy1idXR0b24vdWktYWN0aW9uLWRpYWxvZy1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWRpdG9yTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9lZGl0b3InO1xyXG5pbXBvcnQgeyBWb2ljZVJlY29yZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2NvbXBvbmVudHMvdXBsb2FkLXdpZGdldC92b2ljZS1yZWNvcmQtd2lkZ2V0L3ZvaWNlLXJlY29yZC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGhvdG9DYXB0dXJlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vY29tcG9uZW50cy91cGxvYWQtd2lkZ2V0L3Bob3RvLWNhcHR1cmUtd2lkZ2V0L3Bob3RvLWNhcHR1cmUtd2lkZ2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLWJ1dHRvbi91aS1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgVXBsb2FkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vY29tcG9uZW50cy91cGxvYWQtd2lkZ2V0L3VwbG9hZC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWxlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtZmlsZS1lZGl0b3Ivc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJpbWVGaWxlVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9jb21wb25lbnRzL3VwbG9hZC13aWRnZXQvcHJpbWUtZmlsZS11cGxvYWRlci9wcmltZS1maWxlLXVwbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0TXVsdGlGaWxlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbXVsdGktZmlsZS1lZGl0b3Ivc21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRWb2ljZVJlY29yZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtdm9pY2UtcmVjb3JkZXIvc21hcnQtdm9pY2UtcmVjb3JkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZUVkaXRvclRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9maWxlLWVkaXRvci10b29sYmFyL2ZpbGUtZWRpdG9yLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZXNNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lc3NhZ2VzJztcclxuaW1wb3J0IHsgT3ZlcmxheVBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xyXG5pbXBvcnQgeyBUaGVtZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vY29tcG9uZW50cy90aGVtZS1zZWxlY3Rvci90aGVtZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIb3Zlck1lbnVDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9jb21wb25lbnRzL21lbnUvaG92ZXIvaG92ZXItbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbGlja01lbnVDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9jb21wb25lbnRzL21lbnUvY2xpY2svbWVudS5jb21wb25lbnQnO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTWVzc2FnZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNtYXJ0Vmlld1JlZGlyZWN0LFxyXG4gICAgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxyXG4gICAgRmlsZUVkaXRvclRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25Db25maXJtRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgSW52YWxpZEZpZWxkc1NuYWNrQmFyQ29tcG9uZW50LFxyXG4gICAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25EaWFsb2dCdXR0b25Db21wb25lbnQsXHJcbiAgICBTbWFydGZvcm13aWRnZXRDb21wb25lbnQsXHJcbiAgICBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudCxcclxuICAgIFRyYWNrQ2Fwc0RpcmVjdGl2ZSxcclxuICAgIENvbXBhcmFibGVEcm9wZG93bkRpcmVjdGl2ZSxcclxuICAgIENvbXBhcmFibGVNdWx0aXNlbGVjdERpcmVjdGl2ZSxcclxuICAgIExhcmdlRmlsZVNuYWNrQmFyQ29tcG9uZW50LFxyXG4gICAgU29ydGFibGVXaWRnZXRDb21wb25lbnQsXHJcbiAgICBTbWFydE1vbnRoUGlja2VyQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWxlRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgU21hcnRNdWx0aUZpbGVFZGl0b3JDb21wb25lbnQsXHJcbiAgICBTbWFydFZvaWNlUmVjb3JkZXJDb21wb25lbnQsXHJcbiAgICBIaWdobGlnaHRQaXBlLFxyXG4gICAgVWlBY3Rpb25CdXR0b25Db21wb25lbnQsXHJcblxyXG4gICAgQ2xpY2tNZW51Q29tcG9uZW50LFxyXG4gICAgSG92ZXJNZW51Q29tcG9uZW50LFxyXG4gICAgVXBsb2FkV2lkZ2V0Q29tcG9uZW50LFxyXG4gICAgVm9pY2VSZWNvcmRXaWRnZXRDb21wb25lbnQsXHJcbiAgICBQaG90b0NhcHR1cmVXaWRnZXRDb21wb25lbnQsXHJcbiAgICBQcmltZUZpbGVVcGxvYWRlckNvbXBvbmVudCxcclxuICAgIFNtYXJ0RW1iZWRkZWRTbG90RGlyZWN0aXZlLFxyXG4gICAgVGhlbWVTZWxlY3RvckNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBNYXRDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgICBTbWFydEljb25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG4gICAgUHJpbWVTaGFyZWRNb2R1bGUsXHJcblxyXG4gICAgQnJvd3Nlck1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRNb21lbnREYXRlTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIC8vTmd4TWFza01vZHVsZS5mb3JSb290KCksXHJcbiAgICBRdWlsbE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFlvdVR1YmVQbGF5ZXJNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICBNZXNzYWdlc01vZHVsZSxcclxuICAgIE92ZXJsYXlQYW5lbE1vZHVsZSxcclxuICAgIERyb3Bkb3duTW9kdWxlLFxyXG4gICAgTXVsdGlTZWxlY3RNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIElucHV0U3dpdGNoTW9kdWxlLFxyXG4gICAgSW5wdXROdW1iZXJNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICAgIEltYWdlTW9kdWxlLFxyXG4gICAgRmxvYXRMYWJlbE1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgRHluYW1pY0RpYWxvZ01vZHVsZSxcclxuICAgIEZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgICBDaGlwc01vZHVsZSxcclxuICAgIENhbGVuZGFyTW9kdWxlLFxyXG4gICAgQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBPcmRlckxpc3RNb2R1bGUsXHJcbiAgICBJbnB1dE1hc2tNb2R1bGUsXHJcbiAgICBFZGl0b3JNb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgU21hcnRJY29uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25JbnB1dERpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgIFNtYXJ0Zm9ybXdpZGdldENvbXBvbmVudCxcclxuICAgIFVpQWN0aW9uRGlhbG9nQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgU21hcnRmaWxldXBsb2FkZXJDb21wb25lbnQsXHJcbiAgICBIaWdobGlnaHRQaXBlLFxyXG4gICAgQ29tcGFyYWJsZURyb3Bkb3duRGlyZWN0aXZlLFxyXG4gICAgQ29tcGFyYWJsZU11bHRpc2VsZWN0RGlyZWN0aXZlLFxyXG4gICAgVWlBY3Rpb25CdXR0b25Db21wb25lbnQsXHJcbiAgICBDbGlja01lbnVDb21wb25lbnQsXHJcbiAgICBVcGxvYWRXaWRnZXRDb21wb25lbnQsXHJcbiAgICBWb2ljZVJlY29yZFdpZGdldENvbXBvbmVudCxcclxuICAgIFBob3RvQ2FwdHVyZVdpZGdldENvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsZUVkaXRvckNvbXBvbmVudCxcclxuICAgIFNtYXJ0TXVsdGlGaWxlRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgU21hcnRWb2ljZVJlY29yZGVyQ29tcG9uZW50LFxyXG4gICAgU21hcnRFbWJlZGRlZFNsb3REaXJlY3RpdmUsXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBEcm9wZG93bixcclxuICAgIE11bHRpU2VsZWN0LFxyXG4gICAgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXHJcbiAgICBwcm92aWRlTmd4TWFzaygpLFxyXG4gICAgRGlhbG9nU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgIHVzZUNsYXNzOiBTbWFydFZpZXdDb250ZXh0SW50ZXJjZXB0b3IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHsgcHJvdmlkZTogRElBTE9HX0RJU0FCTEVfQ0xPU0UsIHVzZVZhbHVlOiB0cnVlIH0sXHJcbiAgICB7IHByb3ZpZGU6ICdjb25maXJtRGlhbG9nU2VydmljZScsIHVzZUNsYXNzOiBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlIH0sXHJcbiAgICB7IHByb3ZpZGU6ICd0ZXh0RmllbGREaWFsb2dTZXJ2aWNlJywgdXNlQ2xhc3M6IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlIH0sXHJcbiAgICB7IHByb3ZpZGU6ICdmaWxlVXBsb2FkRGlhbG9nU2VydmljZScsIHVzZUNsYXNzOiBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlIH0sXHJcblxyXG4gICAgU21hcnRGb3JtU2VydmljZSxcclxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogJ2h1LUhVJyB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTUFUX01PTUVOVF9EQVRFX0ZPUk1BVFMgfSxcclxuICAgIHsgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlciB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxyXG4gICAgICB1c2VWYWx1ZTogeyB1c2VVdGM6IFNtYXJ0V2lkZ2V0U2V0dGluZ3MudXNlVXRjIH0sXHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBDT01QT05FTlRfTElCUkFSWSwgdXNlVmFsdWU6IENvbXBvbmVudExpYnJhcnkuTUFURVJJQUwgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRWaWV3Q29udGV4dE1vZHVsZSB7fVxyXG4iXX0=
|
|
405
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFTLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUNsQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1B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WyJpbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUywgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXQsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsXHJcbiAgTUFUX01PTUVOVF9EQVRFX0ZPUk1BVFMsXHJcbiAgTWF0TW9tZW50RGF0ZU1vZHVsZSxcclxuICBNb21lbnREYXRlQWRhcHRlcixcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHtcclxuICBEYXRlQWRhcHRlcixcclxuICBNQVRfREFURV9GT1JNQVRTLFxyXG4gIE1BVF9EQVRFX0xPQ0FMRSxcclxuICBNYXRDb21tb25Nb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFlvdVR1YmVQbGF5ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci95b3V0dWJlLXBsYXllcic7XHJcbmltcG9ydCB7Tmd4TWFza0RpcmVjdGl2ZSwgcHJvdmlkZU5neE1hc2t9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgUXVpbGxNb2R1bGUgfSBmcm9tICduZ3gtcXVpbGwnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIEhpZ2hsaWdodFBpcGUsXHJcbiAgU21hcnRXaWRnZXRTZXR0aW5ncyxcclxuICBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudCxcclxuICBTbWFydGZvcm1Db21wb25lbnQsXHJcbiAgU21hcnRmb3Jtd2lkZ2V0Q29tcG9uZW50LFxyXG59IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtZm9ybS9zZXJ2aWNlcy9zbWFydGZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IExhcmdlRmlsZVNuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS9zbWFydGZpbGV1cGxvYWRlci9sYXJnZS1maWxlLXNuYWNrLWJhci9sYXJnZS1maWxlLXNuYWNrLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydE1vbnRoUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbW9udGgtcGlja2VyL3NtYXJ0LW1vbnRoLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb3J0YWJsZVdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vd2lkZ2V0cy9zbWFydGZvcm13aWRnZXQvc29ydGFibGUtd2lkZ2V0L3NvcnRhYmxlLXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFja0NhcHNEaXJlY3RpdmUgfSBmcm9tICcuLi9zbWFydC1mb3JtL3dpZGdldHMvc21hcnRmb3Jtd2lkZ2V0L3RyYWNrQ2Fwcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTbWFydEljb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1pY29uL3Byb2plY3RzJztcclxuaW1wb3J0IHsgSW52YWxpZEZpZWxkc1NuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnZhbGlkLWZpZWxkcy1zbmFjay1iYXIvaW52YWxpZC1maWVsZHMtc25hY2stYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UtZGlhbG9nL21lc3NhZ2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbklucHV0RGlhbG9nU2VydmljZSB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWlucHV0LWRpYWxvZy91aS1hY3Rpb24taW5wdXQtZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cvc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0SW50ZXJjZXB0b3IgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IERJQUxPR19ESVNBQkxFX0NMT1NFLCBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydEVtYmVkZGVkU2xvdERpcmVjdGl2ZSB9IGZyb20gJy4vc21hcnQtZW1iZWRkZWQtc2xvdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdSZWRpcmVjdCB9IGZyb20gJy4vc21hcnQtdmlldy1yZWRpcmVjdC9zbWFydC12aWV3LXJlZGlyZWN0JztcclxuXHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSBhcyBQcmltZVNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBEcm9wZG93biwgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2ZpbGV1cGxvYWQnO1xyXG5pbXBvcnQgeyBGbG9hdExhYmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9mbG9hdGxhYmVsJztcclxuaW1wb3J0IHsgSW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuL3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XHJcblxyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBDaGlwc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hpcHMnO1xyXG5pbXBvcnQgeyBJbWFnZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW1hZ2UnO1xyXG5pbXBvcnQgeyBPcmRlckxpc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL29yZGVybGlzdCc7XHJcbmltcG9ydCB7IElucHV0U3dpdGNoTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHN3aXRjaCc7XHJcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0LCBNdWx0aVNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbXVsdGlzZWxlY3QnO1xyXG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XHJcbmltcG9ydCB7IENvbXBhcmFibGVEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vd2lkZ2V0cy9kaXJlY3RpdmVzL2NvbXBhcmFibGUtZHJvcGRvd24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcGFyYWJsZU11bHRpc2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2RpcmVjdGl2ZXMvY29tcGFyYWJsZS1tdWx0aXNlbGVjdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRpYWxvZ0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWRpYWxvZy1idXR0b24vdWktYWN0aW9uLWRpYWxvZy1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWRpdG9yTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9lZGl0b3InO1xyXG5pbXBvcnQgeyBWb2ljZVJlY29yZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdWktYWN0aW9uL2NvbXBvbmVudHMvdXBsb2FkLXdpZGdldC92b2ljZS1yZWNvcmQtd2lkZ2V0L3ZvaWNlLXJlY29yZC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGhvdG9DYXB0dXJlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vY29tcG9uZW50cy91cGxvYWQtd2lkZ2V0L3Bob3RvLWNhcHR1cmUtd2lkZ2V0L3Bob3RvLWNhcHR1cmUtd2lkZ2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLWJ1dHRvbi91aS1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgVXBsb2FkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vY29tcG9uZW50cy91cGxvYWQtd2lkZ2V0L3VwbG9hZC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWxlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtZmlsZS1lZGl0b3Ivc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJpbWVGaWxlVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9jb21wb25lbnRzL3VwbG9hZC13aWRnZXQvcHJpbWUtZmlsZS11cGxvYWRlci9wcmltZS1maWxlLXVwbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0TXVsdGlGaWxlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbXVsdGktZmlsZS1lZGl0b3Ivc21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRWb2ljZVJlY29yZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtdm9pY2UtcmVjb3JkZXIvc21hcnQtdm9pY2UtcmVjb3JkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZUVkaXRvclRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9maWxlLWVkaXRvci10b29sYmFyL2ZpbGUtZWRpdG9yLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZXNNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lc3NhZ2VzJztcclxuaW1wb3J0IHsgT3ZlcmxheVBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xyXG5pbXBvcnQgeyBUaGVtZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vY29tcG9uZW50cy90aGVtZS1zZWxlY3Rvci90aGVtZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIb3Zlck1lbnVDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9jb21wb25lbnRzL21lbnUvaG92ZXIvaG92ZXItbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbGlja01lbnVDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi9jb21wb25lbnRzL21lbnUvY2xpY2svbWVudS5jb21wb25lbnQnO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTWVzc2FnZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNtYXJ0Vmlld1JlZGlyZWN0LFxyXG4gICAgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxyXG4gICAgRmlsZUVkaXRvclRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25Db25maXJtRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgSW52YWxpZEZpZWxkc1NuYWNrQmFyQ29tcG9uZW50LFxyXG4gICAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gICAgVWlBY3Rpb25EaWFsb2dCdXR0b25Db21wb25lbnQsXHJcbiAgICBTbWFydGZvcm13aWRnZXRDb21wb25lbnQsXHJcbiAgICBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudCxcclxuICAgIFRyYWNrQ2Fwc0RpcmVjdGl2ZSxcclxuICAgIENvbXBhcmFibGVEcm9wZG93bkRpcmVjdGl2ZSxcclxuICAgIENvbXBhcmFibGVNdWx0aXNlbGVjdERpcmVjdGl2ZSxcclxuICAgIExhcmdlRmlsZVNuYWNrQmFyQ29tcG9uZW50LFxyXG4gICAgU29ydGFibGVXaWRnZXRDb21wb25lbnQsXHJcbiAgICBTbWFydE1vbnRoUGlja2VyQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWxlRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgU21hcnRNdWx0aUZpbGVFZGl0b3JDb21wb25lbnQsXHJcbiAgICBTbWFydFZvaWNlUmVjb3JkZXJDb21wb25lbnQsXHJcbiAgICBIaWdobGlnaHRQaXBlLFxyXG4gICAgVWlBY3Rpb25CdXR0b25Db21wb25lbnQsXHJcblxyXG4gICAgQ2xpY2tNZW51Q29tcG9uZW50LFxyXG4gICAgSG92ZXJNZW51Q29tcG9uZW50LFxyXG4gICAgVXBsb2FkV2lkZ2V0Q29tcG9uZW50LFxyXG4gICAgVm9pY2VSZWNvcmRXaWRnZXRDb21wb25lbnQsXHJcbiAgICBQaG90b0NhcHR1cmVXaWRnZXRDb21wb25lbnQsXHJcbiAgICBQcmltZUZpbGVVcGxvYWRlckNvbXBvbmVudCxcclxuICAgIFNtYXJ0RW1iZWRkZWRTbG90RGlyZWN0aXZlLFxyXG4gICAgVGhlbWVTZWxlY3RvckNvbXBvbmVudCxcclxuICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgICAgIE1hdENvbW1vbk1vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICAgICAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgICAgICAgU21hcnRJY29uTW9kdWxlLFxyXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxyXG4gICAgICAgIFByaW1lU2hhcmVkTW9kdWxlLFxyXG5cclxuICAgICAgICBCcm93c2VyTW9kdWxlLFxyXG4gICAgICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgICAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgICAgIE1hdE1vbWVudERhdGVNb2R1bGUsXHJcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICAgICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gICAgICAgIC8vTmd4TWFza01vZHVsZS5mb3JSb290KCksXHJcbiAgICAgICAgUXVpbGxNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgICAgIFlvdVR1YmVQbGF5ZXJNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgICAgIE1lc3NhZ2VzTW9kdWxlLFxyXG4gICAgICAgIE92ZXJsYXlQYW5lbE1vZHVsZSxcclxuICAgICAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgICAgICBNdWx0aVNlbGVjdE1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBJbnB1dFN3aXRjaE1vZHVsZSxcclxuICAgICAgICBJbnB1dE51bWJlck1vZHVsZSxcclxuICAgICAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgICAgIElucHV0VGV4dGFyZWFNb2R1bGUsXHJcbiAgICAgICAgSW1hZ2VNb2R1bGUsXHJcbiAgICAgICAgRmxvYXRMYWJlbE1vZHVsZSxcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgVG9hc3RNb2R1bGUsXHJcbiAgICAgICAgRHluYW1pY0RpYWxvZ01vZHVsZSxcclxuICAgICAgICBGaWxlVXBsb2FkTW9kdWxlLFxyXG4gICAgICAgIENoaXBzTW9kdWxlLFxyXG4gICAgICAgIENhbGVuZGFyTW9kdWxlLFxyXG4gICAgICAgIENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIE9yZGVyTGlzdE1vZHVsZSxcclxuICAgICAgICBJbnB1dE1hc2tNb2R1bGUsXHJcbiAgICAgICAgRWRpdG9yTW9kdWxlLFxyXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICAgICAgU21hcnRJY29uTW9kdWxlLFxyXG4gICAgICAgIE5neE1hc2tEaXJlY3RpdmUsXHJcbiAgICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCxcclxuICAgIFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQsXHJcbiAgICBTbWFydGZvcm1Db21wb25lbnQsXHJcbiAgICBTbWFydGZvcm13aWRnZXRDb21wb25lbnQsXHJcbiAgICBVaUFjdGlvbkRpYWxvZ0J1dHRvbkNvbXBvbmVudCxcclxuICAgIFNtYXJ0ZmlsZXVwbG9hZGVyQ29tcG9uZW50LFxyXG4gICAgSGlnaGxpZ2h0UGlwZSxcclxuICAgIENvbXBhcmFibGVEcm9wZG93bkRpcmVjdGl2ZSxcclxuICAgIENvbXBhcmFibGVNdWx0aXNlbGVjdERpcmVjdGl2ZSxcclxuICAgIFVpQWN0aW9uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQ2xpY2tNZW51Q29tcG9uZW50LFxyXG4gICAgVXBsb2FkV2lkZ2V0Q29tcG9uZW50LFxyXG4gICAgVm9pY2VSZWNvcmRXaWRnZXRDb21wb25lbnQsXHJcbiAgICBQaG90b0NhcHR1cmVXaWRnZXRDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbGVFZGl0b3JDb21wb25lbnQsXHJcbiAgICBTbWFydE11bHRpRmlsZUVkaXRvckNvbXBvbmVudCxcclxuICAgIFNtYXJ0Vm9pY2VSZWNvcmRlckNvbXBvbmVudCxcclxuICAgIFNtYXJ0RW1iZWRkZWRTbG90RGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRHJvcGRvd24sXHJcbiAgICBNdWx0aVNlbGVjdCxcclxuICAgIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlLFxyXG4gICAgcHJvdmlkZU5neE1hc2soKSxcclxuICAgIERpYWxvZ1NlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICB1c2VDbGFzczogU21hcnRWaWV3Q29udGV4dEludGVyY2VwdG9yLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7IHByb3ZpZGU6IERJQUxPR19ESVNBQkxFX0NMT1NFLCB1c2VWYWx1ZTogdHJ1ZSB9LFxyXG4gICAgeyBwcm92aWRlOiAnY29uZmlybURpYWxvZ1NlcnZpY2UnLCB1c2VDbGFzczogVWlBY3Rpb25Db25maXJtRGlhbG9nU2VydmljZSB9LFxyXG4gICAgeyBwcm92aWRlOiAndGV4dEZpZWxkRGlhbG9nU2VydmljZScsIHVzZUNsYXNzOiBVaUFjdGlvbklucHV0RGlhbG9nU2VydmljZSB9LFxyXG4gICAgeyBwcm92aWRlOiAnZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UnLCB1c2VDbGFzczogVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nU2VydmljZSB9LFxyXG5cclxuICAgIFNtYXJ0Rm9ybVNlcnZpY2UsXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdodS1IVScgfSxcclxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IE1BVF9NT01FTlRfREFURV9GT1JNQVRTIH0sXHJcbiAgICB7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUyxcclxuICAgICAgdXNlVmFsdWU6IHsgdXNlVXRjOiBTbWFydFdpZGdldFNldHRpbmdzLnVzZVV0YyB9LFxyXG4gICAgfSxcclxuICAgIHsgcHJvdmlkZTogQ09NUE9ORU5UX0xJQlJBUlksIHVzZVZhbHVlOiBDb21wb25lbnRMaWJyYXJ5Lk1BVEVSSUFMIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUge31cclxuIl19
|