ngx-tethys 18.2.2 → 18.2.3
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/CHANGELOG.md +9 -0
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +2 -2
- package/esm2022/nav/nav-item.directive.mjs +13 -3
- package/esm2022/nav/nav.component.mjs +34 -8
- package/esm2022/tabs/tabs.component.mjs +2 -2
- package/esm2022/version.mjs +2 -2
- package/fesm2022/ngx-tethys-date-picker.mjs +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +44 -8
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/nav/examples/{type/type.component.scss → card/card.component.scss} +0 -3
- package/nav/nav-item.directive.d.ts +7 -1
- package/nav/nav.component.d.ts +12 -4
- package/nav/styles/mixin.scss +35 -21
- package/nav/styles/nav.scss +75 -13
- package/package.json +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/styles/variables.scss +5 -2
- package/theme/examples/basic/basic.component.scss +13 -0
|
@@ -3,7 +3,7 @@ import { merge, Observable, of } from 'rxjs';
|
|
|
3
3
|
import { debounceTime, take, tap } from 'rxjs/operators';
|
|
4
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
6
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, HostBinding, inject, Input, NgZone, QueryList, TemplateRef, ViewChild } from '@angular/core';
|
|
6
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, HostBinding, inject, input, Input, NgZone, QueryList, TemplateRef, ViewChild } from '@angular/core';
|
|
7
7
|
import { RouterLinkActive } from '@angular/router';
|
|
8
8
|
import { ThyNavInkBarDirective } from './nav-ink-bar.directive';
|
|
9
9
|
import { ThyNavItemDirective } from './nav-item.directive';
|
|
@@ -19,6 +19,7 @@ const navTypeClassesMap = {
|
|
|
19
19
|
tabs: ['thy-nav-tabs'],
|
|
20
20
|
pills: ['thy-nav-pills'],
|
|
21
21
|
lite: ['thy-nav-lite'],
|
|
22
|
+
card: ['thy-nav-card'],
|
|
22
23
|
//如下类型已经废弃
|
|
23
24
|
primary: ['thy-nav-primary'],
|
|
24
25
|
secondary: ['thy-nav-secondary'],
|
|
@@ -63,8 +64,14 @@ export class ThyNav {
|
|
|
63
64
|
this.thyFill = false;
|
|
64
65
|
/**
|
|
65
66
|
* 更多操作的菜单点击内部是否可关闭
|
|
67
|
+
* @deprecated please use thyPopoverOptions
|
|
66
68
|
*/
|
|
67
69
|
this.thyInsideClosable = true;
|
|
70
|
+
/**
|
|
71
|
+
* 更多菜单弹出框的参数,底层使用 Popover 组件
|
|
72
|
+
* @type ThyPopoverConfig
|
|
73
|
+
*/
|
|
74
|
+
this.thyPopoverOptions = input(null);
|
|
68
75
|
this.prevActiveIndex = NaN;
|
|
69
76
|
}
|
|
70
77
|
/**
|
|
@@ -147,6 +154,13 @@ export class ThyNav {
|
|
|
147
154
|
.subscribe(() => {
|
|
148
155
|
this.alignInkBarToSelectedTab();
|
|
149
156
|
});
|
|
157
|
+
if (this.type === 'card') {
|
|
158
|
+
merge(this.links.changes, ...this.links.map(item => this.createResizeObserver(item.elementRef.nativeElement)))
|
|
159
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
160
|
+
.subscribe(() => {
|
|
161
|
+
this.setNavItemDivider();
|
|
162
|
+
});
|
|
163
|
+
}
|
|
150
164
|
});
|
|
151
165
|
}
|
|
152
166
|
ngAfterContentInit() {
|
|
@@ -172,6 +186,18 @@ export class ThyNav {
|
|
|
172
186
|
width: this.defaultMoreOperation?.nativeElement?.offsetWidth
|
|
173
187
|
};
|
|
174
188
|
}
|
|
189
|
+
setNavItemDivider() {
|
|
190
|
+
const tabs = this.links.toArray();
|
|
191
|
+
const activeIndex = tabs.findIndex(item => item.linkIsActive());
|
|
192
|
+
for (let i = 0; i < tabs.length; i++) {
|
|
193
|
+
if ((i !== activeIndex && i !== activeIndex - 1 && i !== tabs.length - 1) || (i === activeIndex - 1 && this.moreActive)) {
|
|
194
|
+
tabs[i].addClass('has-right-divider');
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
tabs[i].removeClass('has-right-divider');
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
175
201
|
createResizeObserver(element) {
|
|
176
202
|
return typeof ResizeObserver === 'undefined'
|
|
177
203
|
? of(null)
|
|
@@ -265,16 +291,16 @@ export class ThyNav {
|
|
|
265
291
|
top: this.elementRef.nativeElement.offsetTop || 0
|
|
266
292
|
};
|
|
267
293
|
}
|
|
268
|
-
|
|
269
|
-
this.popover.open(template, {
|
|
294
|
+
openMoreMenu(event, template) {
|
|
295
|
+
this.popover.open(template, Object.assign({
|
|
270
296
|
origin: event.currentTarget,
|
|
271
297
|
hasBackdrop: true,
|
|
272
298
|
backdropClosable: true,
|
|
273
|
-
insideClosable:
|
|
299
|
+
insideClosable: true,
|
|
274
300
|
placement: 'bottom',
|
|
275
301
|
panelClass: 'thy-nav-list-popover',
|
|
276
302
|
originActiveClass: 'thy-nav-origin-active'
|
|
277
|
-
});
|
|
303
|
+
}, this.thyPopoverOptions() ? this.thyPopoverOptions() : {}));
|
|
278
304
|
}
|
|
279
305
|
navItemClick(item) {
|
|
280
306
|
item.elementRef.nativeElement.click();
|
|
@@ -302,7 +328,7 @@ export class ThyNav {
|
|
|
302
328
|
}
|
|
303
329
|
}
|
|
304
330
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
305
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNav, isStandalone: true, selector: "thy-nav", inputs: { thyType: "thyType", thySize: "thySize", thyHorizontal: "thyHorizontal", thyVertical:
|
|
331
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNav, isStandalone: true, selector: "thy-nav", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: false, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: false, isRequired: false, transformFunction: null }, thyHorizontal: { classPropertyName: "thyHorizontal", publicName: "thyHorizontal", isSignal: false, isRequired: false, transformFunction: null }, thyVertical: { classPropertyName: "thyVertical", publicName: "thyVertical", isSignal: false, isRequired: false, transformFunction: coerceBooleanProperty }, thyFill: { classPropertyName: "thyFill", publicName: "thyFill", isSignal: false, isRequired: false, transformFunction: coerceBooleanProperty }, thyResponsive: { classPropertyName: "thyResponsive", publicName: "thyResponsive", isSignal: false, isRequired: false, transformFunction: coerceBooleanProperty }, thyInsideClosable: { classPropertyName: "thyInsideClosable", publicName: "thyInsideClosable", isSignal: false, isRequired: false, transformFunction: coerceBooleanProperty }, thyPopoverOptions: { classPropertyName: "thyPopoverOptions", publicName: "thyPopoverOptions", isSignal: true, isRequired: false, transformFunction: null }, thyExtra: { classPropertyName: "thyExtra", publicName: "thyExtra", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-nav--vertical": "this.thyVertical", "class.thy-nav--fill": "this.thyFill" }, classAttribute: "thy-nav" }, queries: [{ propertyName: "moreOperation", first: true, predicate: ["more"], descendants: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true }, { propertyName: "extra", first: true, predicate: ["extra"], descendants: true }, { propertyName: "links", predicate: ThyNavItemDirective, descendants: true }, { propertyName: "routers", predicate: RouterLinkActive, descendants: true }], viewQueries: [{ propertyName: "defaultMoreOperation", first: true, predicate: ["moreOperationContainer"], descendants: true }, { propertyName: "inkBar", first: true, predicate: ThyNavInkBarDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavItemActive]=\"moreActive\"\n (click)=\"openMoreMenu($event, navListPopover)\">\n @if (moreOperation) {\n <ng-container [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n } @else {\n {{ locale().more }}\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n @if (thyExtra || extra) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n </div>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover) {\n <ng-container [ngTemplateOutlet]=\"morePopover\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["id", "thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyNavInkBarDirective, selector: "thy-nav-ink-bar, [thyNavInkBar]", inputs: ["isVertical", "showInkBar"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }, { kind: "pipe", type: BypassSecurityTrustHtmlPipe, name: "bypassSecurityTrustHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
306
332
|
}
|
|
307
333
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNav, decorators: [{
|
|
308
334
|
type: Component,
|
|
@@ -318,7 +344,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
318
344
|
ThyDropdownMenuItemDirective,
|
|
319
345
|
ThyDropdownMenuItemActiveDirective,
|
|
320
346
|
BypassSecurityTrustHtmlPipe
|
|
321
|
-
], template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [
|
|
347
|
+
], template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavItemActive]=\"moreActive\"\n (click)=\"openMoreMenu($event, navListPopover)\">\n @if (moreOperation) {\n <ng-container [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n } @else {\n {{ locale().more }}\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n @if (thyExtra || extra) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n </div>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover) {\n <ng-container [ngTemplateOutlet]=\"morePopover\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
322
348
|
}], propDecorators: { thyType: [{
|
|
323
349
|
type: Input
|
|
324
350
|
}], thySize: [{
|
|
@@ -367,4 +393,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
367
393
|
type: ViewChild,
|
|
368
394
|
args: [ThyNavInkBarDirective, { static: true }]
|
|
369
395
|
}] } });
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFJSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsRUFHVCxXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNEJBQTRCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FB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dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTzNDLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFPbEMsUUFBUTtzQkFBaEIsS0FBSztnQkFNRixLQUFLO3NCQURSLGVBQWU7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVlELE9BQU87c0JBQWhFLGVBQWU7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQU1sQyxhQUFhO3NCQUFsQyxZQUFZO3VCQUFDLE1BQU07Z0JBTVMsV0FBVztzQkFBdkMsWUFBWTt1QkFBQyxhQUFhO2dCQU9KLEtBQUs7c0JBQTNCLFlBQVk7dUJBQUMsT0FBTztnQkFFZ0Isb0JBQW9CO3NCQUF4RCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFFaUIsTUFBTTtzQkFBekQsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaWduYWwsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGh5TmF2SW5rQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYtaW5rLWJhci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGh5TmF2SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbmF2LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sUGlwZSB9IGZyb20gJy4vbmF2LnBpcGUnO1xuaW1wb3J0IHsgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LCBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLCBUaHlEcm9wZG93bk1lbnVJdGVtQWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGluamVjdExvY2FsZSwgVGh5TmF2TG9jYWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pMThuJztcblxuZXhwb3J0IHR5cGUgVGh5TmF2VHlwZSA9ICdwdWxsZWQnIHwgJ3RhYnMnIHwgJ3BpbGxzJyB8ICdsaXRlJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RoaXJkbHknIHwgJ3NlY29uZGFyeS1kaXZpZGVyJztcbmV4cG9ydCB0eXBlIFRoeU5hdlNpemUgPSAnbGcnIHwgJ21kJyB8ICdzbSc7XG5leHBvcnQgdHlwZSBUaHlOYXZIb3Jpem9udGFsID0gJycgfCAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcblxuY29uc3QgbmF2VHlwZUNsYXNzZXNNYXAgPSB7XG4gICAgcHVsbGVkOiBbJ3RoeS1uYXYtcHVsbGVkJ10sXG4gICAgdGFiczogWyd0aHktbmF2LXRhYnMnXSxcbiAgICBwaWxsczogWyd0aHktbmF2LXBpbGxzJ10sXG4gICAgbGl0ZTogWyd0aHktbmF2LWxpdGUnXSxcbiAgICAvL+WmguS4i+exu+Wei+W3sue7j+W6n+W8g1xuICAgIHByaW1hcnk6IFsndGh5LW5hdi1wcmltYXJ5J10sXG4gICAgc2Vjb25kYXJ5OiBbJ3RoeS1uYXYtc2Vjb25kYXJ5J10sXG4gICAgdGhpcmRseTogWyd0aHktbmF2LXRoaXJkbHknXSxcbiAgICAnc2Vjb25kYXJ5LWRpdmlkZXInOiBbJ3RoeS1uYXYtc2Vjb25kYXJ5LWRpdmlkZXInXVxufTtcblxuY29uc3QgbmF2U2l6ZUNsYXNzZXNNYXAgPSB7XG4gICAgbGc6ICd0aHktbmF2LWxnJyxcbiAgICBtZDogJ3RoeS1uYXYtbWQnLFxuICAgIHNtOiAndGh5LW5hdi1zbSdcbn07XG5cbmNvbnN0IHRhYkl0ZW1SaWdodCA9IDIwO1xuXG4vKipcbiAqIOWvvOiIque7hOS7tlxuICogQG5hbWUgdGh5LW5hdlxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5hdicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1uYXYnXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVGh5TmF2SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgVGh5TmF2SW5rQmFyRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1BY3RpdmVEaXJlY3RpdmUsXG4gICAgICAgIEJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5TmF2IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcG9wb3ZlciA9IGluamVjdChUaHlQb3BvdmVyKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgdHlwZTogVGh5TmF2VHlwZSA9ICdwdWxsZWQnO1xuICAgIHByaXZhdGUgc2l6ZTogVGh5TmF2U2l6ZSA9ICdtZCc7XG4gICAgcHVibGljIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgaG9yaXpvbnRhbDogVGh5TmF2SG9yaXpvbnRhbDtcbiAgICBwdWJsaWMgd3JhcHBlck9mZnNldDogeyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlcjsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9ID0ge1xuICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgIHdpZHRoOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuICAgICAgICB0b3A6IDBcbiAgICB9O1xuXG4gICAgcHVibGljIGhpZGRlbkl0ZW1zOiBUaHlOYXZJdGVtRGlyZWN0aXZlW10gPSBbXTtcblxuICAgIHB1YmxpYyBtb3JlQWN0aXZlOiBib29sZWFuO1xuXG4gICAgcHVibGljIHNob3dNb3JlID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgbW9yZUJ0bk9mZnNldDogeyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9ID0geyBoZWlnaHQ6IDAsIHdpZHRoOiAwIH07XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgcHJpdmF0ZSBpbm5lckxpbmtzOiBRdWVyeUxpc3Q8VGh5TmF2SXRlbURpcmVjdGl2ZT47XG5cbiAgICBsb2NhbGU6IFNpZ25hbDxUaHlOYXZMb2NhbGU+ID0gaW5qZWN0TG9jYWxlKCduYXYnKTtcblxuICAgIC8qKlxuICAgICAqIOWvvOiIquexu+Wei1xuICAgICAqIEB0eXBlIHB1bGxlZCB8IHRhYnMgfCBwaWxscyB8IGxpdGUgfCBwcmltYXJ5IHwgc2Vjb25kYXJ5IHwgdGhpcmRseSB8IHNlY29uZGFyeS1kaXZpZGVyXG4gICAgICogQGRlZmF1bHQgcHVsbGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh0eXBlOiBUaHlOYXZUeXBlKSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGUgfHwgJ3B1bGxlZCc7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWvvOiIquWkp+Wwj1xuICAgICAqIEB0eXBlIGxnIHwgbWQgfCBzbVxuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBUaHlOYXZTaXplKSB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOawtOW5s+aOkuWIl1xuICAgICAqIEB0eXBlICcnIHwgJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCdcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUhvcml6b250YWwoaG9yaXpvbnRhbDogVGh5TmF2SG9yaXpvbnRhbCkge1xuICAgICAgICB0aGlzLmhvcml6b250YWwgPSAoaG9yaXpvbnRhbCBhcyBzdHJpbmcpID09PSAncmlnaHQnID8gJ2VuZCcgOiBob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWeguebtOaOkuWIl1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktbmF2LS12ZXJ0aWNhbCcpXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlWZXJ0aWNhbDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYr+Whq+WFheaooeW8j1xuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LW5hdi0tZmlsbCcpXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlGaWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblk43lupTlvI/vvIzoh6rliqjorqHnrpflrr3luqblrZjmlL4gdGh5TmF2SXRlbe+8jOW5tua3u+WKoOabtOWkmuW8ueahhlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlSZXNwb25zaXZlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5pu05aSa5pON5L2c55qE6I+c5Y2V54K55Ye75YaF6YOo5piv5ZCm5Y+v5YWz6ZetXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlJbnNpZGVDbG9zYWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDlj7Pkvqfpop3lpJbljLrln5/mqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUV4dHJhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihUaHlOYXZJdGVtRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgc2V0IGxpbmtzKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuaW5uZXJMaW5rcyA9IHZhbHVlO1xuICAgICAgICB0aGlzLnByZXZBY3RpdmVJbmRleCA9IE5hTjtcbiAgICB9XG4gICAgZ2V0IGxpbmtzKCk6IFF1ZXJ5TGlzdDxUaHlOYXZJdGVtRGlyZWN0aXZlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlubmVyTGlua3M7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFJvdXRlckxpbmtBY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgcm91dGVyczogUXVlcnlMaXN0PFJvdXRlckxpbmtBY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICog5ZON5bqU5byP5qih5byP5LiL5pu05aSa5pON5L2c5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtb3JlJykgbW9yZU9wZXJhdGlvbjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiDlk43lupTlvI/mqKHlvI/kuIvmm7TlpJrlvLnmoYbmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ21vcmVQb3BvdmVyJykgbW9yZVBvcG92ZXI6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgLyoqXG4gICAgICog5Y+z5L6n6aKd5aSW5Yy65Z+f5qih5p2/77yM5pSv5oyBIHRoeUV4dHJhIOS8oOWPguWSjCA8bmctdGVtcGxhdGUgI2V4dHJhPjwvbmctdGVtcGxhdGU+IOaooeadv1xuICAgICAqIEBuYW1lIGV4dHJhXG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdleHRyYScpIGV4dHJhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIEBWaWV3Q2hpbGQoJ21vcmVPcGVyYXRpb25Db250YWluZXInKSBkZWZhdWx0TW9yZU9wZXJhdGlvbjogRWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFRoeU5hdklua0JhckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgaW5rQmFyITogVGh5TmF2SW5rQmFyRGlyZWN0aXZlO1xuXG4gICAgZ2V0IHNob3dJbmtCYXIoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNob3dUeXBlczogVGh5TmF2VHlwZVtdID0gWydwdWxsZWQnLCAndGFicyddO1xuICAgICAgICByZXR1cm4gc2hvd1R5cGVzLmluY2x1ZGVzKHRoaXMudHlwZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDbGFzc2VzKCkge1xuICAgICAgICBsZXQgY2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKG5hdlR5cGVDbGFzc2VzTWFwW3RoaXMudHlwZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBbLi4ubmF2VHlwZUNsYXNzZXNNYXBbdGhpcy50eXBlXV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5hdlNpemVDbGFzc2VzTWFwW3RoaXMuc2l6ZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChuYXZTaXplQ2xhc3Nlc01hcFt0aGlzLnNpemVdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGN1ckFjdGl2ZUluZGV4OiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHByZXZBY3RpdmVJbmRleDogbnVtYmVyID0gTmFOO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy50aHlSZXNwb25zaXZlKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5UmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRNb3JlQnRuT2Zmc2V0KCk7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rcy50b0FycmF5KCkuZm9yRWFjaChsaW5rID0+IGxpbmsuc2V0T2Zmc2V0KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0SGlkZGVuSXRlbXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgIHRoaXMubGlua3MuY2hhbmdlcyxcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVJlc2l6ZU9ic2VydmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5waXBlKGRlYm91bmNlVGltZSgxMDApKSxcbiAgICAgICAgICAgICAgICAuLi50aGlzLmxpbmtzLm1hcChpdGVtID0+IHRoaXMuY3JlYXRlUmVzaXplT2JzZXJ2ZXIoaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpKSxcbiAgICAgICAgICAgICAgICAuLi4odGhpcy5yb3V0ZXJzIHx8IFtdKS5tYXAocm91dGVyID0+IHJvdXRlcj8uaXNBY3RpdmVDaGFuZ2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGh5UmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRTaXplcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SGlkZGVuSXRlbXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZU1vcmVJc0FjdGl2ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlSZXNwb25zaXZlKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFNpemVzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVNb3JlSXNBY3RpdmUoKTtcblxuICAgICAgICB0aGlzLmN1ckFjdGl2ZUluZGV4ID0gdGhpcy5saW5rcyAmJiB0aGlzLmxpbmtzLmxlbmd0aCA/IHRoaXMubGlua3MudG9BcnJheSgpLmZpbmRJbmRleChpdGVtID0+IGl0ZW0ubGlua0lzQWN0aXZlKCkpIDogLTE7XG4gICAgICAgIGlmICh0aGlzLmN1ckFjdGl2ZUluZGV4IDwgMCkge1xuICAgICAgICAgICAgdGhpcy5pbmtCYXIuaGlkZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VyQWN0aXZlSW5kZXggIT09IHRoaXMucHJldkFjdGl2ZUluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLmFsaWduSW5rQmFyVG9TZWxlY3RlZFRhYigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRNb3JlQnRuT2Zmc2V0KCkge1xuICAgICAgICB0aGlzLm1vcmVCdG5PZmZzZXQgPSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuZGVmYXVsdE1vcmVPcGVyYXRpb24/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldEhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLmRlZmF1bHRNb3JlT3BlcmF0aW9uPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNyZWF0ZVJlc2l6ZU9ic2VydmVyKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgICAgICA6IG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc2l6ZSA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRyaWVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGVudHJpZXMpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICByZXNpemUub2JzZXJ2ZShlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVzaXplLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTW9yZUlzQWN0aXZlKCkge1xuICAgICAgICB0aGlzLm1vcmVBY3RpdmUgPSB0aGlzLmhpZGRlbkl0ZW1zLnNvbWUoaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5saW5rSXNBY3RpdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SGlkZGVuSXRlbXMoKSB7XG4gICAgICAgIHRoaXMubW9yZUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBjb25zdCB0YWJzID0gdGhpcy5saW5rcy50b0FycmF5KCk7XG4gICAgICAgIGlmICghdGFicy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZGVuSXRlbXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc2hvd01vcmUgPSB0aGlzLmhpZGRlbkl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbmRJbmRleCA9IHRoaXMudGh5VmVydGljYWwgPyB0aGlzLmdldFNob3dJdGVtc0VuZEluZGV4V2hlblZlcnRpY2FsKHRhYnMpIDogdGhpcy5nZXRTaG93SXRlbXNFbmRJbmRleFdoZW5Ib3Jpem9udGFsKHRhYnMpO1xuXG4gICAgICAgIGNvbnN0IHNob3dJdGVtcyA9IHRhYnMuc2xpY2UoMCwgZW5kSW5kZXggKyAxKTtcbiAgICAgICAgKHNob3dJdGVtcyB8fCBbXSkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGl0ZW0uc2V0TmF2TGlua0hpZGRlbihmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaGlkZGVuSXRlbXMgPSBlbmRJbmRleCA9PT0gdGFicy5sZW5ndGggLSAxID8gW10gOiB0YWJzLnNsaWNlKGVuZEluZGV4ICsgMSk7XG4gICAgICAgICh0aGlzLmhpZGRlbkl0ZW1zIHx8IFtdKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaXRlbS5zZXROYXZMaW5rSGlkZGVuKHRydWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNob3dNb3JlID0gdGhpcy5oaWRkZW5JdGVtcy5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNob3dJdGVtc0VuZEluZGV4V2hlbkhvcml6b250YWwodGFiczogVGh5TmF2SXRlbURpcmVjdGl2ZVtdKSB7XG4gICAgICAgIGNvbnN0IHRhYnNMZW5ndGggPSB0YWJzLmxlbmd0aDtcbiAgICAgICAgbGV0IGVuZEluZGV4ID0gdGFic0xlbmd0aDtcbiAgICAgICAgbGV0IHRvdGFsV2lkdGggPSAwO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFic0xlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICBjb25zdCBfdG90YWxXaWR0aCA9IGkgPT09IHRhYnNMZW5ndGggLSAxID8gdG90YWxXaWR0aCArIHRhYnNbaV0ub2Zmc2V0LndpZHRoIDogdG90YWxXaWR0aCArIHRhYnNbaV0ub2Zmc2V0LndpZHRoICsgdGFiSXRlbVJpZ2h0O1xuICAgICAgICAgICAgaWYgKF90b3RhbFdpZHRoID4gdGhpcy53cmFwcGVyT2Zmc2V0LndpZHRoKSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vcmVPcGVyYXRpb25XaWR0aCA9IHRoaXMubW9yZUJ0bk9mZnNldC53aWR0aDtcbiAgICAgICAgICAgICAgICBpZiAodG90YWxXaWR0aCArIG1vcmVPcGVyYXRpb25XaWR0aCA8PSB0aGlzLndyYXBwZXJPZmZzZXQud2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpIC0gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbmRJbmRleCA9IGkgLSAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdG90YWxXaWR0aCA9IF90b3RhbFdpZHRoO1xuICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW5kSW5kZXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTaG93SXRlbXNFbmRJbmRleFdoZW5WZXJ0aWNhbCh0YWJzOiBUaHlOYXZJdGVtRGlyZWN0aXZlW10pIHtcbiAgICAgICAgY29uc3QgdGFic0xlbmd0aCA9IHRhYnMubGVuZ3RoO1xuICAgICAgICBsZXQgZW5kSW5kZXggPSB0YWJzTGVuZ3RoO1xuICAgICAgICBsZXQgdG90YWxIZWlnaHQgPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYnNMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgX3RvdGFsSGVpZ2h0ID0gdG90YWxIZWlnaHQgKyB0YWJzW2ldLm9mZnNldC5oZWlnaHQ7XG4gICAgICAgICAgICBpZiAoX3RvdGFsSGVpZ2h0ID4gdGhpcy53cmFwcGVyT2Zmc2V0LmhlaWdodCkge1xuICAgICAgICAgICAgICAgIGxldCBtb3JlT3BlcmF0aW9uSGVpZ2h0ID0gdGhpcy5tb3JlQnRuT2Zmc2V0LmhlaWdodDtcbiAgICAgICAgICAgICAgICBpZiAodG90YWxIZWlnaHQgKyBtb3JlT3BlcmF0aW9uSGVpZ2h0IDw9IHRoaXMud3JhcHBlck9mZnNldC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpIC0gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbmRJbmRleCA9IGkgLSAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdG90YWxIZWlnaHQgPSBfdG90YWxIZWlnaHQ7XG4gICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbmRJbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0U2l6ZXMoKSB7XG4gICAgICAgIHRoaXMud3JhcHBlck9mZnNldCA9IHtcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IHx8IDAsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggfHwgMCxcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgfHwgMCxcbiAgICAgICAgICAgIHRvcDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wIHx8IDBcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvcGVuTW9yZShldmVudDogRXZlbnQsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMucG9wb3Zlci5vcGVuKHRlbXBsYXRlLCB7XG4gICAgICAgICAgICBvcmlnaW46IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdGhpcy50aHlJbnNpZGVDbG9zYWJsZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAndGh5LW5hdi1saXN0LXBvcG92ZXInLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6ICd0aHktbmF2LW9yaWdpbi1hY3RpdmUnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5hdkl0ZW1DbGljayhpdGVtOiBUaHlOYXZJdGVtRGlyZWN0aXZlKSB7XG4gICAgICAgIGl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zaG93SW5rQmFyKSB7XG4gICAgICAgICAgICB0aGlzLmlua0Jhci5oaWRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFicyA9IHRoaXMubGlua3M/LnRvQXJyYXkoKSA/PyBbXTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGFicy5maW5kKGl0ZW0gPT4gaXRlbS5saW5rSXNBY3RpdmUoKSk7XG4gICAgICAgIGxldCBzZWxlY3RlZEl0ZW1FbGVtZW50OiBIVE1MRWxlbWVudCA9IHNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmIChzZWxlY3RlZEl0ZW0gJiYgdGhpcy5tb3JlQWN0aXZlKSB7XG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1FbGVtZW50ID0gdGhpcy5kZWZhdWx0TW9yZU9wZXJhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZEl0ZW1FbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnByZXZBY3RpdmVJbmRleCA9IHRoaXMuY3VyQWN0aXZlSW5kZXg7XG4gICAgICAgICAgICB0aGlzLmlua0Jhci5hbGlnblRvRWxlbWVudChzZWxlY3RlZEl0ZW1FbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlWZXJ0aWNhbCwgdGh5VHlwZSB9ID0gY2hhbmdlcztcblxuICAgICAgICBpZiAodGh5VHlwZT8uY3VycmVudFZhbHVlICE9PSB0aHlUeXBlPy5wcmV2aW91c1ZhbHVlIHx8IHRoeVZlcnRpY2FsPy5jdXJyZW50VmFsdWUgIT09IHRoeVZlcnRpY2FsPy5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmFsaWduSW5rQmFyVG9TZWxlY3RlZFRhYigpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1uYXYtbGlzdFwiIFtuZ0NsYXNzXT1cImhvcml6b250YWwgPyAnanVzdGlmeS1jb250ZW50LScgKyBob3Jpem9udGFsIDogJydcIiAjbmF2TGlzdD5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIEBpZiAodGh5UmVzcG9uc2l2ZSkge1xuICAgIDxhXG4gICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgIGNsYXNzPVwidGh5LW5hdi1tb3JlLWNvbnRhaW5lclwiXG4gICAgICBbY2xhc3MuZC1ub25lXT1cIiFzaG93TW9yZVwiXG4gICAgICBbY2xhc3MuaW52aXNpYmxlXT1cIiFpbml0aWFsaXplZFwiXG4gICAgICAjbW9yZU9wZXJhdGlvbkNvbnRhaW5lclxuICAgICAgdGh5TmF2TGlua1xuICAgICAgW3RoeU5hdkxpbmtBY3RpdmVdPVwibW9yZUFjdGl2ZVwiXG4gICAgICAoY2xpY2spPVwib3Blbk1vcmUoJGV2ZW50LCBuYXZMaXN0UG9wb3ZlcilcIj5cbiAgICAgIEBpZiAobW9yZU9wZXJhdGlvbikge1xuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1vcmVPcGVyYXRpb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB7eyBsb2NhbGUoKS5tb3JlIH19XG4gICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLWRvd25cIiBjbGFzcz1cInRoeS1uYXYtbW9yZS1pY29uXCI+PC90aHktaWNvbj5cbiAgICAgIH1cbiAgICA8L2E+XG4gIH1cbiAgPHRoeS1uYXYtaW5rLWJhciBbc2hvd0lua0Jhcl09XCJzaG93SW5rQmFyXCIgW2lzVmVydGljYWxdPVwidGh5VmVydGljYWxcIj48L3RoeS1uYXYtaW5rLWJhcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25hdkxpc3RQb3BvdmVyPlxuICBAaWYgKG1vcmVQb3BvdmVyKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtb3JlUG9wb3ZlclwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaGlkZGVuSXRlbXMgfVwiPjwvbmctY29udGFpbmVyPlxuICB9IEBlbHNlIHtcbiAgICA8dGh5LWRyb3Bkb3duLW1lbnUgdGh5SW1tZWRpYXRlUmVuZGVyPlxuICAgICAgQGZvciAoaXRlbSBvZiBoaWRkZW5JdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ0aHktbmF2LWl0ZW0tbW9yZVwiXG4gICAgICAgICAgdGh5RHJvcGRvd25NZW51SXRlbVxuICAgICAgICAgIFt0aHlEcm9wZG93bk1lbnVJdGVtQWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIlxuICAgICAgICAgIChjbGljayk9XCJuYXZJdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MIHwgYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWxcIj48L3NwYW4+XG4gICAgICB9XG4gICAgPC90aHktZHJvcGRvd24tbWVudT5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG5AaWYgKHRoeUV4dHJhIHx8IGV4dHJhKSB7XG4gIDxkaXYgY2xhc3M9XCJ0aHktbmF2LWV4dHJhXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlFeHRyYSB8fCBleHRyYVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
396
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9uYXYvbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBSUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBR04sU0FBUyxFQUdULFdBQVcsRUFDWCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FB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QUFPO3NCQURWLEtBQUs7Z0JBY0YsT0FBTztzQkFEVixLQUFLO2dCQWNGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBV04sV0FBVztzQkFGVixXQUFXO3VCQUFDLHlCQUF5Qjs7c0JBQ3JDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUTNDLE9BQU87c0JBRk4sV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVEzQyxhQUFhO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUTNDLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFhbEMsUUFBUTtzQkFBaEIsS0FBSztnQkFNRixLQUFLO3NCQURSLGVBQWU7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVlELE9BQU87c0JBQWhFLGVBQWU7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQU1sQyxhQUFhO3NCQUFsQyxZQUFZO3VCQUFDLE1BQU07Z0JBTVMsV0FBVztzQkFBdkMsWUFBWTt1QkFBQyxhQUFhO2dCQU9KLEtBQUs7c0JBQTNCLFlBQVk7dUJBQUMsT0FBTztnQkFFZ0Isb0JBQW9CO3NCQUF4RCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFFaUIsTUFBTTtzQkFBekQsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyQ29uZmlnIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaWduYWwsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGh5TmF2SW5rQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYtaW5rLWJhci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGh5TmF2SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbmF2LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sUGlwZSB9IGZyb20gJy4vbmF2LnBpcGUnO1xuaW1wb3J0IHsgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LCBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLCBUaHlEcm9wZG93bk1lbnVJdGVtQWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGluamVjdExvY2FsZSwgVGh5TmF2TG9jYWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pMThuJztcbmltcG9ydCB7IFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFRoeU5hdlR5cGUgPSAncHVsbGVkJyB8ICd0YWJzJyB8ICdwaWxscycgfCAnbGl0ZScgfCAnY2FyZCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0aGlyZGx5JyB8ICdzZWNvbmRhcnktZGl2aWRlcic7XG5leHBvcnQgdHlwZSBUaHlOYXZTaXplID0gJ2xnJyB8ICdtZCcgfCAnc20nO1xuZXhwb3J0IHR5cGUgVGh5TmF2SG9yaXpvbnRhbCA9ICcnIHwgJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG5cbmNvbnN0IG5hdlR5cGVDbGFzc2VzTWFwID0ge1xuICAgIHB1bGxlZDogWyd0aHktbmF2LXB1bGxlZCddLFxuICAgIHRhYnM6IFsndGh5LW5hdi10YWJzJ10sXG4gICAgcGlsbHM6IFsndGh5LW5hdi1waWxscyddLFxuICAgIGxpdGU6IFsndGh5LW5hdi1saXRlJ10sXG4gICAgY2FyZDogWyd0aHktbmF2LWNhcmQnXSxcbiAgICAvL+WmguS4i+exu+Wei+W3sue7j+W6n+W8g1xuICAgIHByaW1hcnk6IFsndGh5LW5hdi1wcmltYXJ5J10sXG4gICAgc2Vjb25kYXJ5OiBbJ3RoeS1uYXYtc2Vjb25kYXJ5J10sXG4gICAgdGhpcmRseTogWyd0aHktbmF2LXRoaXJkbHknXSxcbiAgICAnc2Vjb25kYXJ5LWRpdmlkZXInOiBbJ3RoeS1uYXYtc2Vjb25kYXJ5LWRpdmlkZXInXVxufTtcblxuY29uc3QgbmF2U2l6ZUNsYXNzZXNNYXAgPSB7XG4gICAgbGc6ICd0aHktbmF2LWxnJyxcbiAgICBtZDogJ3RoeS1uYXYtbWQnLFxuICAgIHNtOiAndGh5LW5hdi1zbSdcbn07XG5cbmNvbnN0IHRhYkl0ZW1SaWdodCA9IDIwO1xuXG4vKipcbiAqIOWvvOiIque7hOS7tlxuICogQG5hbWUgdGh5LW5hdlxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5hdicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1uYXYnXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVGh5TmF2SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgVGh5TmF2SW5rQmFyRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1BY3RpdmVEaXJlY3RpdmUsXG4gICAgICAgIEJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5TmF2IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcG9wb3ZlciA9IGluamVjdChUaHlQb3BvdmVyKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHB1YmxpYyB0eXBlOiBUaHlOYXZUeXBlID0gJ3B1bGxlZCc7XG4gICAgcHJpdmF0ZSBzaXplOiBUaHlOYXZTaXplID0gJ21kJztcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBob3Jpem9udGFsOiBUaHlOYXZIb3Jpem9udGFsO1xuICAgIHB1YmxpYyB3cmFwcGVyT2Zmc2V0OiB7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyOyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0gPSB7XG4gICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIHRvcDogMFxuICAgIH07XG5cbiAgICBwdWJsaWMgaGlkZGVuSXRlbXM6IFRoeU5hdkl0ZW1EaXJlY3RpdmVbXSA9IFtdO1xuXG4gICAgcHVibGljIG1vcmVBY3RpdmU6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgc2hvd01vcmUgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBtb3JlQnRuT2Zmc2V0OiB7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH0gPSB7IGhlaWdodDogMCwgd2lkdGg6IDAgfTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwcml2YXRlIGlubmVyTGlua3M6IFF1ZXJ5TGlzdDxUaHlOYXZJdGVtRGlyZWN0aXZlPjtcblxuICAgIGxvY2FsZTogU2lnbmFsPFRoeU5hdkxvY2FsZT4gPSBpbmplY3RMb2NhbGUoJ25hdicpO1xuXG4gICAgLyoqXG4gICAgICog5a+86Iiq57G75Z6LXG4gICAgICogQHR5cGUgcHVsbGVkIHwgdGFicyB8IHBpbGxzIHwgbGl0ZSB8IHByaW1hcnkgfCBzZWNvbmRhcnkgfCB0aGlyZGx5IHwgc2Vjb25kYXJ5LWRpdmlkZXJcbiAgICAgKiBAZGVmYXVsdCBwdWxsZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUeXBlKHR5cGU6IFRoeU5hdlR5cGUpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZSB8fCAncHVsbGVkJztcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5a+86Iiq5aSn5bCPXG4gICAgICogQHR5cGUgbGcgfCBtZCB8IHNtXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHNpemU6IFRoeU5hdlNpemUpIHtcbiAgICAgICAgdGhpcy5zaXplID0gc2l6ZTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5rC05bmz5o6S5YiXXG4gICAgICogQHR5cGUgJycgfCAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJ1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SG9yaXpvbnRhbChob3Jpem9udGFsOiBUaHlOYXZIb3Jpem9udGFsKSB7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbCA9IChob3Jpem9udGFsIGFzIHN0cmluZykgPT09ICdyaWdodCcgPyAnZW5kJyA6IGhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5Z6C55u05o6S5YiXXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1uYXYtLXZlcnRpY2FsJylcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHRoeVZlcnRpY2FsOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5piv5aGr5YWF5qih5byPXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktbmF2LS1maWxsJylcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHRoeUZpbGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWTjeW6lOW8j++8jOiHquWKqOiuoeeul+WuveW6puWtmOaUviB0aHlOYXZJdGVt77yM5bm25re75Yqg5pu05aSa5by55qGGXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHRoeVJlc3BvbnNpdmU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDmm7TlpJrmk43kvZznmoToj5zljZXngrnlh7vlhoXpg6jmmK/lkKblj6/lhbPpl61cbiAgICAgKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIHRoeVBvcG92ZXJPcHRpb25zXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlJbnNpZGVDbG9zYWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmm7TlpJroj5zljZXlvLnlh7rmoYbnmoTlj4LmlbDvvIzlupXlsYLkvb/nlKggUG9wb3ZlciDnu4Tku7ZcbiAgICAgKiBAdHlwZSBUaHlQb3BvdmVyQ29uZmlnXG4gICAgICovXG4gICAgdGh5UG9wb3Zlck9wdGlvbnMgPSBpbnB1dDxUaHlQb3BvdmVyQ29uZmlnPHVua25vd24+PihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIOWPs+S+p+mineWkluWMuuWfn+aooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RXh0cmE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFRoeU5hdkl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBzZXQgbGlua3ModmFsdWUpIHtcbiAgICAgICAgdGhpcy5pbm5lckxpbmtzID0gdmFsdWU7XG4gICAgICAgIHRoaXMucHJldkFjdGl2ZUluZGV4ID0gTmFOO1xuICAgIH1cbiAgICBnZXQgbGlua3MoKTogUXVlcnlMaXN0PFRoeU5hdkl0ZW1EaXJlY3RpdmU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5uZXJMaW5rcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oUm91dGVyTGlua0FjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSByb3V0ZXJzOiBRdWVyeUxpc3Q8Um91dGVyTGlua0FjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiDlk43lupTlvI/mqKHlvI/kuIvmm7TlpJrmk43kvZzmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ21vcmUnKSBtb3JlT3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIOWTjeW6lOW8j+aooeW8j+S4i+abtOWkmuW8ueahhuaooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbW9yZVBvcG92ZXInKSBtb3JlUG9wb3ZlcjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiDlj7Pkvqfpop3lpJbljLrln5/mqKHmnb/vvIzmlK/mjIEgdGh5RXh0cmEg5Lyg5Y+C5ZKMIDxuZy10ZW1wbGF0ZSAjZXh0cmE+PC9uZy10ZW1wbGF0ZT4g5qih5p2/XG4gICAgICogQG5hbWUgZXh0cmFcbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2V4dHJhJykgZXh0cmE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgQFZpZXdDaGlsZCgnbW9yZU9wZXJhdGlvbkNvbnRhaW5lcicpIGRlZmF1bHRNb3JlT3BlcmF0aW9uOiBFbGVtZW50UmVmPEhUTUxBbmNob3JFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVGh5TmF2SW5rQmFyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbmtCYXIhOiBUaHlOYXZJbmtCYXJEaXJlY3RpdmU7XG5cbiAgICBnZXQgc2hvd0lua0JhcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2hvd1R5cGVzOiBUaHlOYXZUeXBlW10gPSBbJ3B1bGxlZCcsICd0YWJzJ107XG4gICAgICAgIHJldHVybiBzaG93VHlwZXMuaW5jbHVkZXModGhpcy50eXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAobmF2VHlwZUNsYXNzZXNNYXBbdGhpcy50eXBlXSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcyA9IFsuLi5uYXZUeXBlQ2xhc3Nlc01hcFt0aGlzLnR5cGVdXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmF2U2l6ZUNsYXNzZXNNYXBbdGhpcy5zaXplXSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKG5hdlNpemVDbGFzc2VzTWFwW3RoaXMuc2l6ZV0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzTmFtZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3VyQWN0aXZlSW5kZXg6IG51bWJlcjtcblxuICAgIHByaXZhdGUgcHJldkFjdGl2ZUluZGV4OiBudW1iZXIgPSBOYU47XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRoeVJlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy50aHlSZXNwb25zaXZlKSB7XG4gICAgICAgICAgICB0aGlzLnNldE1vcmVCdG5PZmZzZXQoKTtcbiAgICAgICAgICAgIHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmtzLnRvQXJyYXkoKS5mb3JFYWNoKGxpbmsgPT4gbGluay5zZXRPZmZzZXQoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRIaWRkZW5JdGVtcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgdGhpcy5saW5rcy5jaGFuZ2VzLFxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlUmVzaXplT2JzZXJ2ZXIodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMubGlua3MubWFwKGl0ZW0gPT4gdGhpcy5jcmVhdGVSZXNpemVPYnNlcnZlcihpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGlwZShkZWJvdW5jZVRpbWUoMTAwKSkpLFxuICAgICAgICAgICAgICAgIC4uLih0aGlzLnJvdXRlcnMgfHwgW10pLm1hcChyb3V0ZXIgPT4gcm91dGVyPy5pc0FjdGl2ZUNoYW5nZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50aHlSZXNwb25zaXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldFNpemVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRIaWRkZW5JdGVtcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlTW9yZUlzQWN0aXZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWduSW5rQmFyVG9TZWxlY3RlZFRhYigpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAnY2FyZCcpIHtcbiAgICAgICAgICAgICAgICBtZXJnZSh0aGlzLmxpbmtzLmNoYW5nZXMsIC4uLnRoaXMubGlua3MubWFwKGl0ZW0gPT4gdGhpcy5jcmVhdGVSZXNpemVPYnNlcnZlcihpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5hdkl0ZW1EaXZpZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRoeVJlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0U2l6ZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZU1vcmVJc0FjdGl2ZSgpO1xuXG4gICAgICAgIHRoaXMuY3VyQWN0aXZlSW5kZXggPSB0aGlzLmxpbmtzICYmIHRoaXMubGlua3MubGVuZ3RoID8gdGhpcy5saW5rcy50b0FycmF5KCkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5saW5rSXNBY3RpdmUoKSkgOiAtMTtcbiAgICAgICAgaWYgKHRoaXMuY3VyQWN0aXZlSW5kZXggPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmlua0Jhci5oaWRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJBY3RpdmVJbmRleCAhPT0gdGhpcy5wcmV2QWN0aXZlSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1vcmVCdG5PZmZzZXQoKSB7XG4gICAgICAgIHRoaXMubW9yZUJ0bk9mZnNldCA9IHtcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5kZWZhdWx0TW9yZU9wZXJhdGlvbj8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0SGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZGVmYXVsdE1vcmVPcGVyYXRpb24/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldFdpZHRoXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXROYXZJdGVtRGl2aWRlcigpIHtcbiAgICAgICAgY29uc3QgdGFicyA9IHRoaXMubGlua3MudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRhYnMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5saW5rSXNBY3RpdmUoKSk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoKGkgIT09IGFjdGl2ZUluZGV4ICYmIGkgIT09IGFjdGl2ZUluZGV4IC0gMSAmJiBpICE9PSB0YWJzLmxlbmd0aCAtIDEpIHx8IChpID09PSBhY3RpdmVJbmRleCAtIDEgJiYgdGhpcy5tb3JlQWN0aXZlKSkge1xuICAgICAgICAgICAgICAgIHRhYnNbaV0uYWRkQ2xhc3MoJ2hhcy1yaWdodC1kaXZpZGVyJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRhYnNbaV0ucmVtb3ZlQ2xhc3MoJ2hhcy1yaWdodC1kaXZpZGVyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVSZXNpemVPYnNlcnZlcihlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBvZihudWxsKVxuICAgICAgICAgICAgOiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZXNpemUgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChlbnRyaWVzKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgcmVzaXplLm9ic2VydmUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZS5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1vcmVJc0FjdGl2ZSgpIHtcbiAgICAgICAgdGhpcy5tb3JlQWN0aXZlID0gdGhpcy5oaWRkZW5JdGVtcy5zb21lKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubGlua0lzQWN0aXZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEhpZGRlbkl0ZW1zKCkge1xuICAgICAgICB0aGlzLm1vcmVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgdGFicyA9IHRoaXMubGlua3MudG9BcnJheSgpO1xuICAgICAgICBpZiAoIXRhYnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zID0gW107XG4gICAgICAgICAgICB0aGlzLnNob3dNb3JlID0gdGhpcy5oaWRkZW5JdGVtcy5sZW5ndGggPiAwO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW5kSW5kZXggPSB0aGlzLnRoeVZlcnRpY2FsID8gdGhpcy5nZXRTaG93SXRlbXNFbmRJbmRleFdoZW5WZXJ0aWNhbCh0YWJzKSA6IHRoaXMuZ2V0U2hvd0l0ZW1zRW5kSW5kZXhXaGVuSG9yaXpvbnRhbCh0YWJzKTtcblxuICAgICAgICBjb25zdCBzaG93SXRlbXMgPSB0YWJzLnNsaWNlKDAsIGVuZEluZGV4ICsgMSk7XG4gICAgICAgIChzaG93SXRlbXMgfHwgW10pLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLnNldE5hdkxpbmtIaWRkZW4oZmFsc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zID0gZW5kSW5kZXggPT09IHRhYnMubGVuZ3RoIC0gMSA/IFtdIDogdGFicy5zbGljZShlbmRJbmRleCArIDEpO1xuICAgICAgICAodGhpcy5oaWRkZW5JdGVtcyB8fCBbXSkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGl0ZW0uc2V0TmF2TGlua0hpZGRlbih0cnVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zaG93TW9yZSA9IHRoaXMuaGlkZGVuSXRlbXMubGVuZ3RoID4gMDtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTaG93SXRlbXNFbmRJbmRleFdoZW5Ib3Jpem9udGFsKHRhYnM6IFRoeU5hdkl0ZW1EaXJlY3RpdmVbXSkge1xuICAgICAgICBjb25zdCB0YWJzTGVuZ3RoID0gdGFicy5sZW5ndGg7XG4gICAgICAgIGxldCBlbmRJbmRleCA9IHRhYnNMZW5ndGg7XG4gICAgICAgIGxldCB0b3RhbFdpZHRoID0gMDtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYnNMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgX3RvdGFsV2lkdGggPSBpID09PSB0YWJzTGVuZ3RoIC0gMSA/IHRvdGFsV2lkdGggKyB0YWJzW2ldLm9mZnNldC53aWR0aCA6IHRvdGFsV2lkdGggKyB0YWJzW2ldLm9mZnNldC53aWR0aCArIHRhYkl0ZW1SaWdodDtcbiAgICAgICAgICAgIGlmIChfdG90YWxXaWR0aCA+IHRoaXMud3JhcHBlck9mZnNldC53aWR0aCkge1xuICAgICAgICAgICAgICAgIGxldCBtb3JlT3BlcmF0aW9uV2lkdGggPSB0aGlzLm1vcmVCdG5PZmZzZXQud2lkdGg7XG4gICAgICAgICAgICAgICAgaWYgKHRvdGFsV2lkdGggKyBtb3JlT3BlcmF0aW9uV2lkdGggPD0gdGhpcy53cmFwcGVyT2Zmc2V0LndpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaSAtIDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpIC0gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRvdGFsV2lkdGggPSBfdG90YWxXaWR0aDtcbiAgICAgICAgICAgICAgICBlbmRJbmRleCA9IGk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuZEluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2hvd0l0ZW1zRW5kSW5kZXhXaGVuVmVydGljYWwodGFiczogVGh5TmF2SXRlbURpcmVjdGl2ZVtdKSB7XG4gICAgICAgIGNvbnN0IHRhYnNMZW5ndGggPSB0YWJzLmxlbmd0aDtcbiAgICAgICAgbGV0IGVuZEluZGV4ID0gdGFic0xlbmd0aDtcbiAgICAgICAgbGV0IHRvdGFsSGVpZ2h0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJzTGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IF90b3RhbEhlaWdodCA9IHRvdGFsSGVpZ2h0ICsgdGFic1tpXS5vZmZzZXQuaGVpZ2h0O1xuICAgICAgICAgICAgaWYgKF90b3RhbEhlaWdodCA+IHRoaXMud3JhcHBlck9mZnNldC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBsZXQgbW9yZU9wZXJhdGlvbkhlaWdodCA9IHRoaXMubW9yZUJ0bk9mZnNldC5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgaWYgKHRvdGFsSGVpZ2h0ICsgbW9yZU9wZXJhdGlvbkhlaWdodCA8PSB0aGlzLndyYXBwZXJPZmZzZXQuaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaSAtIDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZW5kSW5kZXggPSBpIC0gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRvdGFsSGVpZ2h0ID0gX3RvdGFsSGVpZ2h0O1xuICAgICAgICAgICAgICAgIGVuZEluZGV4ID0gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW5kSW5kZXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFNpemVzKCkge1xuICAgICAgICB0aGlzLndyYXBwZXJPZmZzZXQgPSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCB8fCAwLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIHx8IDAsXG4gICAgICAgICAgICBsZWZ0OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IHx8IDAsXG4gICAgICAgICAgICB0b3A6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCB8fCAwXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb3Blbk1vcmVNZW51KGV2ZW50OiBFdmVudCwgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5wb3BvdmVyLm9wZW4oXG4gICAgICAgICAgICB0ZW1wbGF0ZSxcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW46IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyBhcyBUaHlQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aHktbmF2LWxpc3QtcG9wb3ZlcicsXG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiAndGh5LW5hdi1vcmlnaW4tYWN0aXZlJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVyT3B0aW9ucygpID8gdGhpcy50aHlQb3BvdmVyT3B0aW9ucygpIDoge31cbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuYXZJdGVtQ2xpY2soaXRlbTogVGh5TmF2SXRlbURpcmVjdGl2ZSkge1xuICAgICAgICBpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd0lua0Jhcikge1xuICAgICAgICAgICAgdGhpcy5pbmtCYXIuaGlkZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLmxpbmtzPy50b0FycmF5KCkgPz8gW107XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRhYnMuZmluZChpdGVtID0+IGl0ZW0ubGlua0lzQWN0aXZlKCkpO1xuICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtRWxlbWVudDogSFRNTEVsZW1lbnQgPSBzZWxlY3RlZEl0ZW0gJiYgc2VsZWN0ZWRJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtICYmIHRoaXMubW9yZUFjdGl2ZSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtRWxlbWVudCA9IHRoaXMuZGVmYXVsdE1vcmVPcGVyYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5wcmV2QWN0aXZlSW5kZXggPSB0aGlzLmN1ckFjdGl2ZUluZGV4O1xuICAgICAgICAgICAgdGhpcy5pbmtCYXIuYWxpZ25Ub0VsZW1lbnQoc2VsZWN0ZWRJdGVtRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdGh5VmVydGljYWwsIHRoeVR5cGUgfSA9IGNoYW5nZXM7XG5cbiAgICAgICAgaWYgKHRoeVR5cGU/LmN1cnJlbnRWYWx1ZSAhPT0gdGh5VHlwZT8ucHJldmlvdXNWYWx1ZSB8fCB0aHlWZXJ0aWNhbD8uY3VycmVudFZhbHVlICE9PSB0aHlWZXJ0aWNhbD8ucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktbmF2LWxpc3RcIiBbbmdDbGFzc109XCJob3Jpem9udGFsID8gJ2p1c3RpZnktY29udGVudC0nICsgaG9yaXpvbnRhbCA6ICcnXCIgI25hdkxpc3Q+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICBAaWYgKHRoeVJlc3BvbnNpdmUpIHtcbiAgICA8YVxuICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICBjbGFzcz1cInRoeS1uYXYtbW9yZS1jb250YWluZXJcIlxuICAgICAgW2NsYXNzLmQtbm9uZV09XCIhc2hvd01vcmVcIlxuICAgICAgW2NsYXNzLmludmlzaWJsZV09XCIhaW5pdGlhbGl6ZWRcIlxuICAgICAgI21vcmVPcGVyYXRpb25Db250YWluZXJcbiAgICAgIHRoeU5hdkxpbmtcbiAgICAgIFt0aHlOYXZJdGVtQWN0aXZlXT1cIm1vcmVBY3RpdmVcIlxuICAgICAgKGNsaWNrKT1cIm9wZW5Nb3JlTWVudSgkZXZlbnQsIG5hdkxpc3RQb3BvdmVyKVwiPlxuICAgICAgQGlmIChtb3JlT3BlcmF0aW9uKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibW9yZU9wZXJhdGlvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHt7IGxvY2FsZSgpLm1vcmUgfX1cbiAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtZG93blwiIGNsYXNzPVwidGh5LW5hdi1tb3JlLWljb25cIj48L3RoeS1pY29uPlxuICAgICAgfVxuICAgIDwvYT5cbiAgfVxuICBAaWYgKHRoeUV4dHJhIHx8IGV4dHJhKSB7XG4gICAgPGRpdiBjbGFzcz1cInRoeS1uYXYtZXh0cmFcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGh5RXh0cmEgfHwgZXh0cmFcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuICA8dGh5LW5hdi1pbmstYmFyIFtzaG93SW5rQmFyXT1cInNob3dJbmtCYXJcIiBbaXNWZXJ0aWNhbF09XCJ0aHlWZXJ0aWNhbFwiPjwvdGh5LW5hdi1pbmstYmFyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbmF2TGlzdFBvcG92ZXI+XG4gIEBpZiAobW9yZVBvcG92ZXIpIHtcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1vcmVQb3BvdmVyXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBoaWRkZW5JdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XG4gIH0gQGVsc2Uge1xuICAgIDx0aHktZHJvcGRvd24tbWVudSB0aHlJbW1lZGlhdGVSZW5kZXI+XG4gICAgICBAZm9yIChpdGVtIG9mIGhpZGRlbkl0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInRoeS1uYXYtaXRlbS1tb3JlXCJcbiAgICAgICAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgICAgICAgW3RoeURyb3Bkb3duTWVudUl0ZW1BY3RpdmVdPVwiaXRlbS5pc0FjdGl2ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm5hdkl0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgfCBieXBhc3NTZWN1cml0eVRydXN0SHRtbFwiPjwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L3RoeS1kcm9wZG93bi1tZW51PlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -104,7 +104,7 @@ export class ThyTabs {
|
|
|
104
104
|
this.thyActiveTabChange.emit(activeTab);
|
|
105
105
|
}
|
|
106
106
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTabs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
107
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTabs, isStandalone: true, selector: "thy-tabs", inputs: { thyType: "thyType", thySize: "thySize", thyActiveTab: "thyActiveTab", thyExtra: "thyExtra", thyPosition: "thyPosition", thyAnimated: ["thyAnimated", "thyAnimated", coerceBooleanProperty], thyResponsive: ["thyResponsive", "thyResponsive", coerceBooleanProperty] }, outputs: { thyActiveTabChange: "thyActiveTabChange" }, host: { properties: { "class.thy-tabs-top": "thyPosition === 'top'", "class.thy-tabs-left": "thyPosition === 'left'", "style.overflow": "transitionStarted ? \"hidden\" : null" }, classAttribute: "thy-tabs" }, queries: [{ propertyName: "tabs", predicate: ThyTab, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- tabs nav -->\n<thy-nav\n class=\"thy-tabs-nav\"\n [thyType]=\"thyType\"\n [thySize]=\"thySize\"\n [thyExtra]=\"thyExtra\"\n [thyVertical]=\"thyPosition === 'left'\"\n [thyResponsive]=\"thyResponsive\">\n @for (tab of tabs; track $index; let i = $index) {\n <a\n href=\"javascript:;\"\n thyNavItem\n [id]=\"tab.id\"\n [thyNavItemDisabled]=\"tab.thyDisabled\"\n [thyNavItemActive]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n (click)=\"activeTab(tab, i)\">\n @if (tab.titleTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"tab.titleTemplateRef\"></ng-template>\n } @else {\n {{ tab.thyTitle }}\n }\n </a>\n }\n</thy-nav>\n<!-- tabs content -->\n<div class=\"thy-tabs-content\" [class.thy-tabs-content-animated]=\"tabPaneAnimated\" [style.margin-left]=\"getTabContentMarginLeft()\">\n @for (tab of tabs; track $index; let i = $index) {\n <div\n thyTabContent\n [active]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n [content]=\"tab.content\"\n [tabPaneAnimated]=\"tabPaneAnimated\"></div>\n }\n</div>\n", dependencies: [{ kind: "component", type: ThyNav, selector: "thy-nav", inputs: ["thyType", "thySize", "thyHorizontal", "thyVertical", "thyFill", "thyResponsive", "thyInsideClosable", "thyExtra"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyTabContent, selector: "thy-tab-content, [thyTabContent]", inputs: ["content", "active", "tabPaneAnimated"], exportAs: ["thyTabContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTabs, isStandalone: true, selector: "thy-tabs", inputs: { thyType: "thyType", thySize: "thySize", thyActiveTab: "thyActiveTab", thyExtra: "thyExtra", thyPosition: "thyPosition", thyAnimated: ["thyAnimated", "thyAnimated", coerceBooleanProperty], thyResponsive: ["thyResponsive", "thyResponsive", coerceBooleanProperty] }, outputs: { thyActiveTabChange: "thyActiveTabChange" }, host: { properties: { "class.thy-tabs-top": "thyPosition === 'top'", "class.thy-tabs-left": "thyPosition === 'left'", "style.overflow": "transitionStarted ? \"hidden\" : null" }, classAttribute: "thy-tabs" }, queries: [{ propertyName: "tabs", predicate: ThyTab, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- tabs nav -->\n<thy-nav\n class=\"thy-tabs-nav\"\n [thyType]=\"thyType\"\n [thySize]=\"thySize\"\n [thyExtra]=\"thyExtra\"\n [thyVertical]=\"thyPosition === 'left'\"\n [thyResponsive]=\"thyResponsive\">\n @for (tab of tabs; track $index; let i = $index) {\n <a\n href=\"javascript:;\"\n thyNavItem\n [id]=\"tab.id\"\n [thyNavItemDisabled]=\"tab.thyDisabled\"\n [thyNavItemActive]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n (click)=\"activeTab(tab, i)\">\n @if (tab.titleTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"tab.titleTemplateRef\"></ng-template>\n } @else {\n {{ tab.thyTitle }}\n }\n </a>\n }\n</thy-nav>\n<!-- tabs content -->\n<div class=\"thy-tabs-content\" [class.thy-tabs-content-animated]=\"tabPaneAnimated\" [style.margin-left]=\"getTabContentMarginLeft()\">\n @for (tab of tabs; track $index; let i = $index) {\n <div\n thyTabContent\n [active]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n [content]=\"tab.content\"\n [tabPaneAnimated]=\"tabPaneAnimated\"></div>\n }\n</div>\n", dependencies: [{ kind: "component", type: ThyNav, selector: "thy-nav", inputs: ["thyType", "thySize", "thyHorizontal", "thyVertical", "thyFill", "thyResponsive", "thyInsideClosable", "thyPopoverOptions", "thyExtra"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["id", "thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyTabContent, selector: "thy-tab-content, [thyTabContent]", inputs: ["content", "active", "tabPaneAnimated"], exportAs: ["thyTabContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
108
108
|
}
|
|
109
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTabs, decorators: [{
|
|
110
110
|
type: Component,
|
|
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
136
136
|
}], thyActiveTabChange: [{
|
|
137
137
|
type: Output
|
|
138
138
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVE3RDs7O0dBR0c7QUFjSCxNQUFNLE9BQU8sT0FBTztJQWJwQjtRQWNZLE9BQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWdCLFNBQUksR0FBRyxJQUFJLFNBQVMsRUFBVSxDQUFDO1FBRTlELGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakQ7OztXQUdHO1FBQ00sWUFBTyxHQUFnQixNQUFNLENBQUM7UUFFdkM7OztXQUdHO1FBQ00sWUFBTyxHQUFnQixJQUFJLENBQUM7UUFxQnJDOzs7V0FHRztRQUNNLGdCQUFXLEdBQW9CLEtBQUssQ0FBQztRQUU5Qzs7V0FFRztRQUMwQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUUxRTs7V0FFRztRQUMwQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUU1RTs7V0FFRztRQUNPLHVCQUFrQixHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUV0RyxtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUkzQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7S0FrRHRDO0lBOUZHOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBdUI7UUFDcEMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDO0lBa0NELFFBQVE7UUFDSixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM3RSxTQUFTLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQzthQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDakMsSUFBSSxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoRSxNQUFNLEtBQUssR0FBRyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFlBQVksRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEksSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6RSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUQsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUNoQyxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7OEdBakhRLE9BQU87a0dBQVAsT0FBTywwTkFnREkscUJBQXFCLHFEQUtyQixxQkFBcUIsMFRBakR4QixNQUFNLHFFQ3REM0Isc3BDQWtDQSw0Q0RjYyxNQUFNLGlMQUFFLG1CQUFtQiw4SUFBRSxnQkFBZ0Isb0pBQUUsYUFBYTs7MkZBRTdELE9BQU87a0JBYm5CLFNBQVM7K0JBQ0ksVUFBVSxtQkFFSCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxVQUFVO3dCQUNqQixzQkFBc0IsRUFBRSx1QkFBdUI7d0JBQy9DLHVCQUF1QixFQUFFLHdCQUF3Qjt3QkFDakQsa0JBQWtCLEVBQUUscUNBQXFDO3FCQUM1RCxjQUNXLElBQUksV0FDUCxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7OEJBTXZCLElBQUk7c0JBQW5ELGVBQWU7dUJBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFRckMsT0FBTztzQkFBZixLQUFLO2dCQU1HLE9BQU87c0JBQWYsS0FBSztnQkFNRixZQUFZO3NCQURmLEtBQUs7Z0JBY0csUUFBUTtzQkFBaEIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQUt1QyxXQUFXO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtFLGFBQWE7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS2pDLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRoeVRhYiB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlBY3RpdmVUYWJJbmZvLCBUaHlUYWJBY3RpdmVFdmVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVGh5VGFiQ29udGVudCB9IGZyb20gJy4vdGFiLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5TmF2LCBUaHlOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9uYXYnO1xuXG5leHBvcnQgdHlwZSBUaHlUYWJzU2l6ZSA9ICdsZycgfCAnbWQnIHwgJ3NtJztcblxuZXhwb3J0IHR5cGUgVGh5VGFic1R5cGUgPSAncHVsbGVkJyB8ICd0YWJzJyB8ICdwaWxscycgfCAnbGl0ZSc7XG5cbmV4cG9ydCB0eXBlIFRoeVRhYnNQb3NpdGlvbiA9ICd0b3AnIHwgJ2xlZnQnO1xuXG4vKipcbiAqIOmAiemhueWNoeWIh+aNoue7hOS7tlxuICogQG5hbWUgdGh5LXRhYnNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktdGFicycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktdGFicycsXG4gICAgICAgICdbY2xhc3MudGh5LXRhYnMtdG9wXSc6IGB0aHlQb3NpdGlvbiA9PT0gJ3RvcCdgLFxuICAgICAgICAnW2NsYXNzLnRoeS10YWJzLWxlZnRdJzogYHRoeVBvc2l0aW9uID09PSAnbGVmdCdgLFxuICAgICAgICAnW3N0eWxlLm92ZXJmbG93XSc6IGB0cmFuc2l0aW9uU3RhcnRlZCA/IFwiaGlkZGVuXCIgOiBudWxsYFxuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5TmF2LCBUaHlOYXZJdGVtRGlyZWN0aXZlLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlUYWJDb250ZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUYWJzIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByaXZhdGUgY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFRoeVRhYiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSB0YWJzID0gbmV3IFF1ZXJ5TGlzdDxUaHlUYWI+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiDmoIfnrb7nsbvlnotcbiAgICAgKiBAdHlwZSAncHVsbGVkJyB8ICd0YWJzJyB8ICdwaWxscycgfCAnbGl0ZSdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUeXBlOiBUaHlUYWJzVHlwZSA9ICd0YWJzJztcblxuICAgIC8qKlxuICAgICAqIOmAiemhueWNoeeahOWkp+Wwj1xuICAgICAqIEB0eXBlICdsZycgfCAnbWQnIHwgJ3NtJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNpemU6IFRoeVRhYnNTaXplID0gJ21kJztcblxuICAgIC8qKlxuICAgICAqIOa/gOa0u+eahOmhuVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUFjdGl2ZVRhYih2YWx1ZTogVGh5QWN0aXZlVGFiSW5mbykge1xuICAgICAgICBpZiAoaXNTdHJpbmcodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYklkID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmZhOWKoOaTjeS9nFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUV4dHJhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIOmAiemhueWNoeeahOS9jee9rlxuICAgICAqIEB0eXBlICd0b3AnIHwgJ2xlZnQnXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UG9zaXRpb246IFRoeVRhYnNQb3NpdGlvbiA9ICd0b3AnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5L2/55So5Yqo55S75YiH5o2iIFRhYnNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlBbmltYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5ZON5bqU5byP77yM6Ieq5Yqo6K6h566X5a695bqm5a2Y5pS+IHRoeU5hdkl0ZW3vvIzlubbmt7vliqDmm7TlpJrlvLnmoYZcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlSZXNwb25zaXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmv4DmtLvnmoTpobnlj5HnlJ/mlLnlj5jml7bnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5QWN0aXZlVGFiQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5VGFiQWN0aXZlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUYWJBY3RpdmVFdmVudD4oKTtcblxuICAgIGFjdGl2ZVRhYkluZGV4OiBudW1iZXIgPSAwO1xuXG4gICAgYWN0aXZlVGFiSWQ6IHN0cmluZztcblxuICAgIHRyYW5zaXRpb25TdGFydGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFic0NvbnRlbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRoeS10YWJzLWNvbnRlbnQnKTtcbiAgICAgICAgZnJvbUV2ZW50KHRhYnNDb250ZW50LCAndHJhbnNpdGlvbmVuZCcpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblN0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeUFjdGl2ZVRhYiB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUFjdGl2ZVRhYiAmJiAhdGh5QWN0aXZlVGFiLmZpcnN0Q2hhbmdlICYmIHRoaXMudGh5QW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGh5QWN0aXZlVGFiPy5jdXJyZW50VmFsdWU/LmluZGV4IHx8IEFycmF5LmZyb20odGhpcy50YWJzKS5maW5kSW5kZXgoayA9PiBrLmlkID09PSB0aHlBY3RpdmVUYWI/LmN1cnJlbnRWYWx1ZS5pZCk7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25TdGFydGVkID0gdGhpcy5hY3RpdmVUYWJJbmRleCAhPT0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGFicy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgIHRoaXMudGh5QW5pbWF0ZWQgJiYgKHRoaXMudHJhbnNpdGlvblN0YXJ0ZWQgPSB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFiUGFuZUFuaW1hdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlQb3NpdGlvbiA9PT0gJ3RvcCcgJiYgdGhpcy50aHlBbmltYXRlZDtcbiAgICB9XG5cbiAgICBnZXRUYWJDb250ZW50TWFyZ2luTGVmdCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy50YWJQYW5lQW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHstKHRoaXMuYWN0aXZlVGFiSW5kZXggfHwgMCkgKiAxMDB9JWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGFjdGl2ZVRhYih0YWI6IFRoeVRhYiwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGFiLnRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJZCA9IHRhYi5pZCB8fCBudWxsO1xuICAgICAgICB0aGlzLnRoeUFuaW1hdGVkICYmICh0aGlzLnRyYW5zaXRpb25TdGFydGVkID0gdGhpcy5hY3RpdmVUYWJJbmRleCAhPT0gaW5kZXgpO1xuICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRhYi5pZCA/IHRhYi5pZCA6IGluZGV4O1xuICAgICAgICB0aGlzLnRoeUFjdGl2ZVRhYkNoYW5nZS5lbWl0KGFjdGl2ZVRhYik7XG4gICAgfVxufVxuIiwiPCEtLSB0YWJzIG5hdiAtLT5cbjx0aHktbmF2XG4gIGNsYXNzPVwidGh5LXRhYnMtbmF2XCJcbiAgW3RoeVR5cGVdPVwidGh5VHlwZVwiXG4gIFt0aHlTaXplXT1cInRoeVNpemVcIlxuICBbdGh5RXh0cmFdPVwidGh5RXh0cmFcIlxuICBbdGh5VmVydGljYWxdPVwidGh5UG9zaXRpb24gPT09ICdsZWZ0J1wiXG4gIFt0aHlSZXNwb25zaXZlXT1cInRoeVJlc3BvbnNpdmVcIj5cbiAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8YVxuICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICB0aHlOYXZJdGVtXG4gICAgICBbaWRdPVwidGFiLmlkXCJcbiAgICAgIFt0aHlOYXZJdGVtRGlzYWJsZWRdPVwidGFiLnRoeURpc2FibGVkXCJcbiAgICAgIFt0aHlOYXZJdGVtQWN0aXZlXT1cIih0YWIuaWQgJiYgYWN0aXZlVGFiSWQgJiYgdGFiLmlkID09PSBhY3RpdmVUYWJJZCkgPz8gaSA9PT0gYWN0aXZlVGFiSW5kZXhcIlxuICAgICAgKGNsaWNrKT1cImFjdGl2ZVRhYih0YWIsIGkpXCI+XG4gICAgICBAaWYgKHRhYi50aXRsZVRlbXBsYXRlUmVmKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIudGl0bGVUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAge3sgdGFiLnRoeVRpdGxlIH19XG4gICAgICB9XG4gICAgPC9hPlxuICB9XG48L3RoeS1uYXY+XG48IS0tIHRhYnMgY29udGVudCAtLT5cbjxkaXYgY2xhc3M9XCJ0aHktdGFicy1jb250ZW50XCIgW2NsYXNzLnRoeS10YWJzLWNvbnRlbnQtYW5pbWF0ZWRdPVwidGFiUGFuZUFuaW1hdGVkXCIgW3N0eWxlLm1hcmdpbi1sZWZ0XT1cImdldFRhYkNvbnRlbnRNYXJnaW5MZWZ0KClcIj5cbiAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8ZGl2XG4gICAgICB0aHlUYWJDb250ZW50XG4gICAgICBbYWN0aXZlXT1cIih0YWIuaWQgJiYgYWN0aXZlVGFiSWQgJiYgdGFiLmlkID09PSBhY3RpdmVUYWJJZCkgPz8gaSA9PT0gYWN0aXZlVGFiSW5kZXhcIlxuICAgICAgW2NvbnRlbnRdPVwidGFiLmNvbnRlbnRcIlxuICAgICAgW3RhYlBhbmVBbmltYXRlZF09XCJ0YWJQYW5lQW5pbWF0ZWRcIj48L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVE3RDs7O0dBR0c7QUFjSCxNQUFNLE9BQU8sT0FBTztJQWJwQjtRQWNZLE9BQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWdCLFNBQUksR0FBRyxJQUFJLFNBQVMsRUFBVSxDQUFDO1FBRTlELGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakQ7OztXQUdHO1FBQ00sWUFBTyxHQUFnQixNQUFNLENBQUM7UUFF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T0FBTztzQkFBZixLQUFLO2dCQU1HLE9BQU87c0JBQWYsS0FBSztnQkFNRixZQUFZO3NCQURmLEtBQUs7Z0JBY0csUUFBUTtzQkFBaEIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQUt1QyxXQUFXO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtFLGFBQWE7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS2pDLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRoeVRhYiB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlBY3RpdmVUYWJJbmZvLCBUaHlUYWJBY3RpdmVFdmVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVGh5VGFiQ29udGVudCB9IGZyb20gJy4vdGFiLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5TmF2LCBUaHlOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9uYXYnO1xuXG5leHBvcnQgdHlwZSBUaHlUYWJzU2l6ZSA9ICdsZycgfCAnbWQnIHwgJ3NtJztcblxuZXhwb3J0IHR5cGUgVGh5VGFic1R5cGUgPSAncHVsbGVkJyB8ICd0YWJzJyB8ICdwaWxscycgfCAnbGl0ZSc7XG5cbmV4cG9ydCB0eXBlIFRoeVRhYnNQb3NpdGlvbiA9ICd0b3AnIHwgJ2xlZnQnO1xuXG4vKipcbiAqIOmAiemhueWNoeWIh+aNoue7hOS7tlxuICogQG5hbWUgdGh5LXRhYnNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktdGFicycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktdGFicycsXG4gICAgICAgICdbY2xhc3MudGh5LXRhYnMtdG9wXSc6IGB0aHlQb3NpdGlvbiA9PT0gJ3RvcCdgLFxuICAgICAgICAnW2NsYXNzLnRoeS10YWJzLWxlZnRdJzogYHRoeVBvc2l0aW9uID09PSAnbGVmdCdgLFxuICAgICAgICAnW3N0eWxlLm92ZXJmbG93XSc6IGB0cmFuc2l0aW9uU3RhcnRlZCA/IFwiaGlkZGVuXCIgOiBudWxsYFxuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5TmF2LCBUaHlOYXZJdGVtRGlyZWN0aXZlLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlUYWJDb250ZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUYWJzIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByaXZhdGUgY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFRoeVRhYiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSB0YWJzID0gbmV3IFF1ZXJ5TGlzdDxUaHlUYWI+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiDmoIfnrb7nsbvlnotcbiAgICAgKiBAdHlwZSAncHVsbGVkJyB8ICd0YWJzJyB8ICdwaWxscycgfCAnbGl0ZSdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUeXBlOiBUaHlUYWJzVHlwZSA9ICd0YWJzJztcblxuICAgIC8qKlxuICAgICAqIOmAiemhueWNoeeahOWkp+Wwj1xuICAgICAqIEB0eXBlICdsZycgfCAnbWQnIHwgJ3NtJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNpemU6IFRoeVRhYnNTaXplID0gJ21kJztcblxuICAgIC8qKlxuICAgICAqIOa/gOa0u+eahOmhuVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUFjdGl2ZVRhYih2YWx1ZTogVGh5QWN0aXZlVGFiSW5mbykge1xuICAgICAgICBpZiAoaXNTdHJpbmcodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYklkID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmZhOWKoOaTjeS9nFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUV4dHJhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIC8qKlxuICAgICAqIOmAiemhueWNoeeahOS9jee9rlxuICAgICAqIEB0eXBlICd0b3AnIHwgJ2xlZnQnXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UG9zaXRpb246IFRoeVRhYnNQb3NpdGlvbiA9ICd0b3AnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5L2/55So5Yqo55S75YiH5o2iIFRhYnNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlBbmltYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5ZON5bqU5byP77yM6Ieq5Yqo6K6h566X5a695bqm5a2Y5pS+IHRoeU5hdkl0ZW3vvIzlubbmt7vliqDmm7TlpJrlvLnmoYZcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlSZXNwb25zaXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmv4DmtLvnmoTpobnlj5HnlJ/mlLnlj5jml7bnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5QWN0aXZlVGFiQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5VGFiQWN0aXZlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUYWJBY3RpdmVFdmVudD4oKTtcblxuICAgIGFjdGl2ZVRhYkluZGV4OiBudW1iZXIgPSAwO1xuXG4gICAgYWN0aXZlVGFiSWQ6IHN0cmluZztcblxuICAgIHRyYW5zaXRpb25TdGFydGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFic0NvbnRlbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRoeS10YWJzLWNvbnRlbnQnKTtcbiAgICAgICAgZnJvbUV2ZW50KHRhYnNDb250ZW50LCAndHJhbnNpdGlvbmVuZCcpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblN0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeUFjdGl2ZVRhYiB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUFjdGl2ZVRhYiAmJiAhdGh5QWN0aXZlVGFiLmZpcnN0Q2hhbmdlICYmIHRoaXMudGh5QW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGh5QWN0aXZlVGFiPy5jdXJyZW50VmFsdWU/LmluZGV4IHx8IEFycmF5LmZyb20odGhpcy50YWJzKS5maW5kSW5kZXgoayA9PiBrLmlkID09PSB0aHlBY3RpdmVUYWI/LmN1cnJlbnRWYWx1ZS5pZCk7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25TdGFydGVkID0gdGhpcy5hY3RpdmVUYWJJbmRleCAhPT0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGFicy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgIHRoaXMudGh5QW5pbWF0ZWQgJiYgKHRoaXMudHJhbnNpdGlvblN0YXJ0ZWQgPSB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFiUGFuZUFuaW1hdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlQb3NpdGlvbiA9PT0gJ3RvcCcgJiYgdGhpcy50aHlBbmltYXRlZDtcbiAgICB9XG5cbiAgICBnZXRUYWJDb250ZW50TWFyZ2luTGVmdCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy50YWJQYW5lQW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHstKHRoaXMuYWN0aXZlVGFiSW5kZXggfHwgMCkgKiAxMDB9JWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGFjdGl2ZVRhYih0YWI6IFRoeVRhYiwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGFiLnRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJZCA9IHRhYi5pZCB8fCBudWxsO1xuICAgICAgICB0aGlzLnRoeUFuaW1hdGVkICYmICh0aGlzLnRyYW5zaXRpb25TdGFydGVkID0gdGhpcy5hY3RpdmVUYWJJbmRleCAhPT0gaW5kZXgpO1xuICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRhYi5pZCA/IHRhYi5pZCA6IGluZGV4O1xuICAgICAgICB0aGlzLnRoeUFjdGl2ZVRhYkNoYW5nZS5lbWl0KGFjdGl2ZVRhYik7XG4gICAgfVxufVxuIiwiPCEtLSB0YWJzIG5hdiAtLT5cbjx0aHktbmF2XG4gIGNsYXNzPVwidGh5LXRhYnMtbmF2XCJcbiAgW3RoeVR5cGVdPVwidGh5VHlwZVwiXG4gIFt0aHlTaXplXT1cInRoeVNpemVcIlxuICBbdGh5RXh0cmFdPVwidGh5RXh0cmFcIlxuICBbdGh5VmVydGljYWxdPVwidGh5UG9zaXRpb24gPT09ICdsZWZ0J1wiXG4gIFt0aHlSZXNwb25zaXZlXT1cInRoeVJlc3BvbnNpdmVcIj5cbiAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8YVxuICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICB0aHlOYXZJdGVtXG4gICAgICBbaWRdPVwidGFiLmlkXCJcbiAgICAgIFt0aHlOYXZJdGVtRGlzYWJsZWRdPVwidGFiLnRoeURpc2FibGVkXCJcbiAgICAgIFt0aHlOYXZJdGVtQWN0aXZlXT1cIih0YWIuaWQgJiYgYWN0aXZlVGFiSWQgJiYgdGFiLmlkID09PSBhY3RpdmVUYWJJZCkgPz8gaSA9PT0gYWN0aXZlVGFiSW5kZXhcIlxuICAgICAgKGNsaWNrKT1cImFjdGl2ZVRhYih0YWIsIGkpXCI+XG4gICAgICBAaWYgKHRhYi50aXRsZVRlbXBsYXRlUmVmKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIudGl0bGVUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAge3sgdGFiLnRoeVRpdGxlIH19XG4gICAgICB9XG4gICAgPC9hPlxuICB9XG48L3RoeS1uYXY+XG48IS0tIHRhYnMgY29udGVudCAtLT5cbjxkaXYgY2xhc3M9XCJ0aHktdGFicy1jb250ZW50XCIgW2NsYXNzLnRoeS10YWJzLWNvbnRlbnQtYW5pbWF0ZWRdPVwidGFiUGFuZUFuaW1hdGVkXCIgW3N0eWxlLm1hcmdpbi1sZWZ0XT1cImdldFRhYkNvbnRlbnRNYXJnaW5MZWZ0KClcIj5cbiAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8ZGl2XG4gICAgICB0aHlUYWJDb250ZW50XG4gICAgICBbYWN0aXZlXT1cIih0YWIuaWQgJiYgYWN0aXZlVGFiSWQgJiYgdGFiLmlkID09PSBhY3RpdmVUYWJJZCkgPz8gaSA9PT0gYWN0aXZlVGFiSW5kZXhcIlxuICAgICAgW2NvbnRlbnRdPVwidGFiLmNvbnRlbnRcIlxuICAgICAgW3RhYlBhbmVBbmltYXRlZF09XCJ0YWJQYW5lQW5pbWF0ZWRcIj48L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
package/esm2022/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
|
-
export const VERSION = new Version('18.2.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const VERSION = new Version('18.2.3');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxOC4yLjMnKTtcbiJdfQ==
|
|
@@ -2467,7 +2467,7 @@ class DatePopup {
|
|
|
2467
2467
|
}
|
|
2468
2468
|
}
|
|
2469
2469
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatePopup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2470
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: DatePopup, isStandalone: true, selector: "date-popup", inputs: { isRange: "isRange", showWeek: "showWeek", format: "format", disabledDate: "disabledDate", minDate: "minDate", maxDate: "maxDate", showToday: "showToday", showTime: "showTime", mustShowTime: "mustShowTime", dateRender: "dateRender", className: "className", panelMode: "panelMode", value: "value", defaultPickerValue: "defaultPickerValue", showShortcut: "showShortcut", shortcutPresets: "shortcutPresets", shortcutPosition: "shortcutPosition", flexible: "flexible", flexibleDateGranularity: "flexibleDateGranularity", timestampPrecision: "timestampPrecision" }, outputs: { panelModeChange: "panelModeChange", calendarChange: "calendarChange", valueChange: "valueChange", resultOk: "resultOk", showTimePickerChange: "showTimePickerChange", dateValueChange: "dateValueChange" }, exportAs: ["datePopup"], usesOnChanges: true, ngImport: i0, template: "<div class=\"{{ prefixCls }}-picker-container {{ className }}\">\n <div\n class=\"{{ prefixCls }} {{ showWeek ? prefixCls + '-week-number' : '' }}\n {{ isRange ? prefixCls + '-range' : '' }} {{ prefixCls }}-picker-shortcut-{{ shortcutPosition === 'left' ? 'left' : 'bottom' }}\">\n @if (showShortcut) {\n <div class=\"{{ prefixCls }}-picker-shortcut\">\n @for (item of innerShortcutPresets; track $index) {\n <div class=\"{{ prefixCls }}-picker-shortcut-item\" [class.disabled]=\"item.disabled\" (click)=\"shortcutSetValue(item)\">\n {{ item.title }}\n </div>\n }\n </div>\n }\n <div class=\"{{ prefixCls }}-panel\">\n <div class=\"{{ prefixCls }}-date-panel\">\n @if (flexible) {\n <div class=\"{{ prefixCls }}-date-panel-flexible\">\n <div class=\"{{ prefixCls }}-date-panel-flexible-tab\">\n <thy-nav thyType=\"pulled\" thySize=\"sm\">\n <a href=\"javascript:;\" thyNavLink [thyNavLinkActive]=\"flexibleActiveTab === 'advanced'\" (click)=\"selectTab('advanced')\">{{\n locale().advance\n }}</a>\n <a href=\"javascript:;\" thyNavLink [thyNavLinkActive]=\"flexibleActiveTab === 'custom'\" (click)=\"selectTab('custom')\">{{\n locale().custom\n }}</a>\n </thy-nav>\n <button thyButtonIcon=\"sweep\" thySize=\"sm\" class=\"clear-date-button\" (click)=\"clearFlexibleValue()\"></button>\n </div>\n <ng-container>\n <div class=\"{{ prefixCls }}-date-panel-advanced\" [hidden]=\"flexibleActiveTab !== 'advanced'\">\n <date-carousel\n name=\"dateCarousel\"\n (ngModelChange)=\"changeValueFromAdvancedSelect($event)\"\n [(ngModel)]=\"advancedSelectedValue\"\n [activeDate]=\"selectedValue[0]\"></date-carousel>\n </div>\n </ng-container>\n <div [hidden]=\"flexibleActiveTab !== 'custom'\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isRange) {\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'left' }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'right' }\"></ng-container>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n }\n @if (!isRange) {\n <ng-container *ngTemplateOutlet=\"tplFooter\"></ng-container>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplInnerPopup let-partType=\"partType\">\n <inner-popup\n [showWeek]=\"showWeek\"\n [isRange]=\"isRange\"\n [panelMode]=\"getPanelMode(panelMode, partType)\"\n [endPanelMode]=\"getPanelMode(endPanelMode, partType)\"\n [partType]=\"partType\"\n [showDateRangeInput]=\"flexible && flexibleActiveTab === 'custom'\"\n (panelModeChange)=\"onPanelModeChange($event, partType)\"\n [value]=\"getValueBySelector(partType)\"\n [selectedValue]=\"selectedValue\"\n [activeDate]=\"getActiveDate(partType)\"\n [rangeActiveDate]=\"activeDate\"\n [disabledDate]=\"disabledDate\"\n [dateRender]=\"dateRender\"\n [hoverValue]=\"hoverValue\"\n [enablePrev]=\"enablePrevNext('prev', partType)\"\n [enableNext]=\"enablePrevNext('next', partType)\"\n (dayHover)=\"onDayHover($event)\"\n (selectDate)=\"changeValueFromSelect($event, partType)\"\n (headerChange)=\"onHeaderChange($event, partType)\"></inner-popup>\n</ng-template>\n\n<ng-template #tplFooter>\n <calendar-footer\n [showTime]=\"showTime\"\n [mustShowTime]=\"mustShowTime\"\n [value]=\"value\"\n [disableTimeConfirm]=\"disableTimeConfirm\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n (selectTime)=\"onSelectTime($event)\"\n (clickOk)=\"onClickOk()\"\n (clickRemove)=\"onClickRemove()\"></calendar-footer>\n</ng-template>\n\n<!-- Single ONLY -->\n\n<!-- Range ONLY -->\n<ng-template #tplRangePart let-partType=\"partType\">\n <div class=\"{{ prefixCls }}-range-part {{ prefixCls }}-range-{{ partType }}\">\n <div style=\"outline: none\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup; context: { partType: partType }\"></ng-container>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: ThyNav, selector: "thy-nav", inputs: ["thyType", "thySize", "thyHorizontal", "thyVertical", "thyFill", "thyResponsive", "thyInsideClosable", "thyExtra"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyButtonIcon, selector: "thy-button-icon,[thy-button-icon],[thyButtonIcon]", inputs: ["thySize", "thyIcon", "thyButtonIcon", "thyShape", "thyLight", "thyActive", "thyTheme", "thyColor"] }, { kind: "component", type: DateCarousel, selector: "date-carousel", inputs: ["activeDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InnerPopup, selector: "inner-popup", inputs: ["showWeek", "isRange", "activeDate", "rangeActiveDate", "enablePrev", "enableNext", "disabledDate", "dateRender", "selectedValue", "hoverValue", "panelMode", "showDateRangeInput", "partType", "endPanelMode", "value"], outputs: ["panelModeChange", "headerChange", "selectDate", "dayHover"], exportAs: ["innerPopup"] }, { kind: "component", type: CalendarFooter, selector: "calendar-footer", inputs: ["showTime", "mustShowTime", "value", "disableTimeConfirm"], outputs: ["selectTime", "clickOk", "clickRemove", "showTimePickerChange"], exportAs: ["calendarFooter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2470
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: DatePopup, isStandalone: true, selector: "date-popup", inputs: { isRange: "isRange", showWeek: "showWeek", format: "format", disabledDate: "disabledDate", minDate: "minDate", maxDate: "maxDate", showToday: "showToday", showTime: "showTime", mustShowTime: "mustShowTime", dateRender: "dateRender", className: "className", panelMode: "panelMode", value: "value", defaultPickerValue: "defaultPickerValue", showShortcut: "showShortcut", shortcutPresets: "shortcutPresets", shortcutPosition: "shortcutPosition", flexible: "flexible", flexibleDateGranularity: "flexibleDateGranularity", timestampPrecision: "timestampPrecision" }, outputs: { panelModeChange: "panelModeChange", calendarChange: "calendarChange", valueChange: "valueChange", resultOk: "resultOk", showTimePickerChange: "showTimePickerChange", dateValueChange: "dateValueChange" }, exportAs: ["datePopup"], usesOnChanges: true, ngImport: i0, template: "<div class=\"{{ prefixCls }}-picker-container {{ className }}\">\n <div\n class=\"{{ prefixCls }} {{ showWeek ? prefixCls + '-week-number' : '' }}\n {{ isRange ? prefixCls + '-range' : '' }} {{ prefixCls }}-picker-shortcut-{{ shortcutPosition === 'left' ? 'left' : 'bottom' }}\">\n @if (showShortcut) {\n <div class=\"{{ prefixCls }}-picker-shortcut\">\n @for (item of innerShortcutPresets; track $index) {\n <div class=\"{{ prefixCls }}-picker-shortcut-item\" [class.disabled]=\"item.disabled\" (click)=\"shortcutSetValue(item)\">\n {{ item.title }}\n </div>\n }\n </div>\n }\n <div class=\"{{ prefixCls }}-panel\">\n <div class=\"{{ prefixCls }}-date-panel\">\n @if (flexible) {\n <div class=\"{{ prefixCls }}-date-panel-flexible\">\n <div class=\"{{ prefixCls }}-date-panel-flexible-tab\">\n <thy-nav thyType=\"pulled\" thySize=\"sm\">\n <a href=\"javascript:;\" thyNavLink [thyNavLinkActive]=\"flexibleActiveTab === 'advanced'\" (click)=\"selectTab('advanced')\">{{\n locale().advance\n }}</a>\n <a href=\"javascript:;\" thyNavLink [thyNavLinkActive]=\"flexibleActiveTab === 'custom'\" (click)=\"selectTab('custom')\">{{\n locale().custom\n }}</a>\n </thy-nav>\n <button thyButtonIcon=\"sweep\" thySize=\"sm\" class=\"clear-date-button\" (click)=\"clearFlexibleValue()\"></button>\n </div>\n <ng-container>\n <div class=\"{{ prefixCls }}-date-panel-advanced\" [hidden]=\"flexibleActiveTab !== 'advanced'\">\n <date-carousel\n name=\"dateCarousel\"\n (ngModelChange)=\"changeValueFromAdvancedSelect($event)\"\n [(ngModel)]=\"advancedSelectedValue\"\n [activeDate]=\"selectedValue[0]\"></date-carousel>\n </div>\n </ng-container>\n <div [hidden]=\"flexibleActiveTab !== 'custom'\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isRange) {\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'left' }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'right' }\"></ng-container>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n }\n @if (!isRange) {\n <ng-container *ngTemplateOutlet=\"tplFooter\"></ng-container>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplInnerPopup let-partType=\"partType\">\n <inner-popup\n [showWeek]=\"showWeek\"\n [isRange]=\"isRange\"\n [panelMode]=\"getPanelMode(panelMode, partType)\"\n [endPanelMode]=\"getPanelMode(endPanelMode, partType)\"\n [partType]=\"partType\"\n [showDateRangeInput]=\"flexible && flexibleActiveTab === 'custom'\"\n (panelModeChange)=\"onPanelModeChange($event, partType)\"\n [value]=\"getValueBySelector(partType)\"\n [selectedValue]=\"selectedValue\"\n [activeDate]=\"getActiveDate(partType)\"\n [rangeActiveDate]=\"activeDate\"\n [disabledDate]=\"disabledDate\"\n [dateRender]=\"dateRender\"\n [hoverValue]=\"hoverValue\"\n [enablePrev]=\"enablePrevNext('prev', partType)\"\n [enableNext]=\"enablePrevNext('next', partType)\"\n (dayHover)=\"onDayHover($event)\"\n (selectDate)=\"changeValueFromSelect($event, partType)\"\n (headerChange)=\"onHeaderChange($event, partType)\"></inner-popup>\n</ng-template>\n\n<ng-template #tplFooter>\n <calendar-footer\n [showTime]=\"showTime\"\n [mustShowTime]=\"mustShowTime\"\n [value]=\"value\"\n [disableTimeConfirm]=\"disableTimeConfirm\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n (selectTime)=\"onSelectTime($event)\"\n (clickOk)=\"onClickOk()\"\n (clickRemove)=\"onClickRemove()\"></calendar-footer>\n</ng-template>\n\n<!-- Single ONLY -->\n\n<!-- Range ONLY -->\n<ng-template #tplRangePart let-partType=\"partType\">\n <div class=\"{{ prefixCls }}-range-part {{ prefixCls }}-range-{{ partType }}\">\n <div style=\"outline: none\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup; context: { partType: partType }\"></ng-container>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: ThyNav, selector: "thy-nav", inputs: ["thyType", "thySize", "thyHorizontal", "thyVertical", "thyFill", "thyResponsive", "thyInsideClosable", "thyPopoverOptions", "thyExtra"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["id", "thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyButtonIcon, selector: "thy-button-icon,[thy-button-icon],[thyButtonIcon]", inputs: ["thySize", "thyIcon", "thyButtonIcon", "thyShape", "thyLight", "thyActive", "thyTheme", "thyColor"] }, { kind: "component", type: DateCarousel, selector: "date-carousel", inputs: ["activeDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InnerPopup, selector: "inner-popup", inputs: ["showWeek", "isRange", "activeDate", "rangeActiveDate", "enablePrev", "enableNext", "disabledDate", "dateRender", "selectedValue", "hoverValue", "panelMode", "showDateRangeInput", "partType", "endPanelMode", "value"], outputs: ["panelModeChange", "headerChange", "selectDate", "dayHover"], exportAs: ["innerPopup"] }, { kind: "component", type: CalendarFooter, selector: "calendar-footer", inputs: ["showTime", "mustShowTime", "value", "disableTimeConfirm"], outputs: ["selectTime", "clickOk", "clickRemove", "showTimePickerChange"], exportAs: ["calendarFooter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2471
2471
|
}
|
|
2472
2472
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatePopup, decorators: [{
|
|
2473
2473
|
type: Component,
|