@ng-nest/ui 16.0.6 → 16.0.8
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/anchor/anchor.component.d.ts +1 -0
- package/anchor/anchor.property.d.ts +7 -2
- package/base-form/base-form.component.d.ts +1 -1
- package/core/config/config.d.ts +1 -0
- package/dropdown/dropdown-portal.component.d.ts +2 -0
- package/esm2022/anchor/anchor.component.mjs +22 -4
- package/esm2022/anchor/anchor.property.mjs +7 -2
- package/esm2022/auto-complete/auto-complete.component.mjs +7 -1
- package/esm2022/back-top/back-top.component.mjs +6 -3
- package/esm2022/base-form/base-form.component.mjs +4 -2
- package/esm2022/button/button.component.mjs +3 -3
- package/esm2022/button/button.property.mjs +2 -2
- package/esm2022/button/buttons.component.mjs +2 -2
- package/esm2022/core/config/config.mjs +1 -1
- package/esm2022/dropdown/dropdown-portal.component.mjs +17 -4
- package/esm2022/list/list-option.component.mjs +9 -3
- package/esm2022/list/list.component.mjs +3 -3
- package/esm2022/list/list.property.mjs +9 -2
- package/esm2022/table/table.component.mjs +3 -3
- package/esm2022/time-picker/time-picker-frame.component.mjs +6 -3
- package/fesm2022/ng-nest-ui-anchor.mjs +27 -4
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +6 -0
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +5 -2
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +3 -1
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +5 -5
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +16 -3
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +18 -5
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +2 -2
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +5 -2
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/list/list-option.component.d.ts +1 -0
- package/list/list.property.d.ts +23 -1
- package/package.json +45 -45
|
@@ -32,6 +32,7 @@ export declare class XAnchorComponent extends XAnchorProperty implements OnInit,
|
|
|
32
32
|
private setSliderData;
|
|
33
33
|
private setLeft;
|
|
34
34
|
private setHeight;
|
|
35
|
+
getWidth(): number | null;
|
|
35
36
|
private getTop;
|
|
36
37
|
private scrollTo;
|
|
37
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<XAnchorComponent, never>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XIdentityProperty, XProperty, XJustify, XPositionLeftRight } from '@ng-nest/ui/core';
|
|
1
|
+
import { XIdentityProperty, XProperty, XJustify, XPositionLeftRight, XNumber } from '@ng-nest/ui/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
4
|
* Anchor
|
|
@@ -20,6 +20,11 @@ export declare class XAnchorProperty extends XProperty {
|
|
|
20
20
|
* @en_US Top distance
|
|
21
21
|
*/
|
|
22
22
|
affixTop: string;
|
|
23
|
+
/**
|
|
24
|
+
* @zh_CN 导航宽度
|
|
25
|
+
* @en_US Navigation Width
|
|
26
|
+
*/
|
|
27
|
+
affixWidth: XNumber;
|
|
23
28
|
/**
|
|
24
29
|
* @zh_CN 导航相对内容位置
|
|
25
30
|
* @en_US Navigation relative content position
|
|
@@ -31,7 +36,7 @@ export declare class XAnchorProperty extends XProperty {
|
|
|
31
36
|
*/
|
|
32
37
|
justify: XJustify;
|
|
33
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<XAnchorProperty, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<XAnchorProperty, "x-anchor-property", never, { "scroll": { "alias": "scroll"; "required": false; }; "affixTop": { "alias": "affixTop"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; }, {}, never, never, false, never>;
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<XAnchorProperty, "x-anchor-property", never, { "scroll": { "alias": "scroll"; "required": false; }; "affixTop": { "alias": "affixTop"; "required": false; }; "affixWidth": { "alias": "affixWidth"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; }, {}, never, never, false, never>;
|
|
35
40
|
}
|
|
36
41
|
/**
|
|
37
42
|
* Anchor inner
|
|
@@ -4,11 +4,11 @@ import { XJustify, XAlign, XDirection, XClassMap, XBoolean } from '@ng-nest/ui/c
|
|
|
4
4
|
import { XFormProp } from './base-form.property';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class XControlValueAccessor<T> extends XFormProp implements ControlValueAccessor {
|
|
7
|
+
cdr: ChangeDetectorRef;
|
|
7
8
|
get invalid(): boolean | "";
|
|
8
9
|
get invalidPattern(): boolean;
|
|
9
10
|
get requiredIsEmpty(): boolean | "";
|
|
10
11
|
get invalidMessage(): string;
|
|
11
|
-
cdr: ChangeDetectorRef;
|
|
12
12
|
invalidIndex: number;
|
|
13
13
|
labelMap: XClassMap;
|
|
14
14
|
value: T;
|
package/core/config/config.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export declare class XDropdownPortalComponent implements OnDestroy {
|
|
|
28
28
|
positionChange: Subject<any>;
|
|
29
29
|
portalPositionChange: Subject<any>;
|
|
30
30
|
node: XDropdownNode;
|
|
31
|
+
openNode: XDropdownNode;
|
|
31
32
|
timeoutHide: any;
|
|
32
33
|
timespan: number;
|
|
33
34
|
minWidth: string | number;
|
|
@@ -59,6 +60,7 @@ export declare class XDropdownPortalComponent implements OnDestroy {
|
|
|
59
60
|
setPlacement(): import("@angular/cdk/overlay").PositionStrategy;
|
|
60
61
|
onEnter(node: XDropdownNode): void;
|
|
61
62
|
onLeave(): void;
|
|
63
|
+
changeOpenNode(open: boolean): void;
|
|
62
64
|
static ɵfac: i0.ɵɵFactoryDeclaration<XDropdownPortalComponent, never>;
|
|
63
65
|
static ɵcmp: i0.ɵɵComponentDeclaration<XDropdownPortalComponent, "x-dropdown-portal", never, {}, {}, never, never, false, never>;
|
|
64
66
|
}
|
|
@@ -53,6 +53,7 @@ class XAnchorComponent extends XAnchorProperty {
|
|
|
53
53
|
let maxScrollTop = this.scroll.scrollHeight - this.scroll.clientHeight;
|
|
54
54
|
if (scrollTop > maxScrollTop)
|
|
55
55
|
scrollTop = maxScrollTop;
|
|
56
|
+
console.log(scrollTop);
|
|
56
57
|
this.scrollTo(this.scroll, parseInt(`${scrollTop}`), 150);
|
|
57
58
|
}
|
|
58
59
|
setClassMap() {
|
|
@@ -126,6 +127,20 @@ class XAnchorComponent extends XAnchorProperty {
|
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
}
|
|
130
|
+
getWidth() {
|
|
131
|
+
if (!this.affixWidth)
|
|
132
|
+
return null;
|
|
133
|
+
if (this.affixWidth === '0')
|
|
134
|
+
return 0;
|
|
135
|
+
if (XIsNumber(this.affixWidth))
|
|
136
|
+
return this.affixWidth;
|
|
137
|
+
else if (this.affixWidth.indexOf('rem') !== -1)
|
|
138
|
+
return Number(this.affixWidth.replace(/rem/g, '')) * this._fontSize;
|
|
139
|
+
else if (this.affixWidth.indexOf('px') !== -1)
|
|
140
|
+
return Number(this.affixWidth.replace(/px/g, ''));
|
|
141
|
+
else
|
|
142
|
+
return Number(this.affixWidth);
|
|
143
|
+
}
|
|
129
144
|
getTop() {
|
|
130
145
|
if (this.affixTop === '0')
|
|
131
146
|
return 0;
|
|
@@ -141,7 +156,10 @@ class XAnchorComponent extends XAnchorProperty {
|
|
|
141
156
|
const difference = to - element.scrollTop;
|
|
142
157
|
const perTick = (difference / duration) * 10;
|
|
143
158
|
reqAnimFrame(() => {
|
|
144
|
-
|
|
159
|
+
const num = element.scrollTop + perTick;
|
|
160
|
+
if (XIsNumber(num) && num !== Infinity) {
|
|
161
|
+
element.scrollTop = num;
|
|
162
|
+
}
|
|
145
163
|
if (element.scrollTop === to || duration <= 0) {
|
|
146
164
|
setTimeout(() => (this._scrolling = false), 20);
|
|
147
165
|
return;
|
|
@@ -152,12 +170,12 @@ class XAnchorComponent extends XAnchorProperty {
|
|
|
152
170
|
});
|
|
153
171
|
}
|
|
154
172
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XAnchorComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
155
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XAnchorComponent, selector: "x-anchor", viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-slider .x-slider{overflow:hidden}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.XAffixComponent, selector: "x-affix" }, { kind: "component", type: i4.XSliderComponent, selector: "x-slider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
173
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XAnchorComponent, selector: "x-anchor", viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\" [style.width.px]=\"getWidth()\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-slider .x-slider{overflow:hidden}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.XAffixComponent, selector: "x-affix" }, { kind: "component", type: i4.XSliderComponent, selector: "x-slider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
156
174
|
}
|
|
157
175
|
export { XAnchorComponent };
|
|
158
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XAnchorComponent, decorators: [{
|
|
159
177
|
type: Component,
|
|
160
|
-
args: [{ selector: `${XAnchorPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-slider .x-slider{overflow:hidden}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"] }]
|
|
178
|
+
args: [{ selector: `${XAnchorPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\" [style.width.px]=\"getWidth()\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-slider .x-slider{overflow:hidden}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"] }]
|
|
161
179
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { anchor: [{
|
|
162
180
|
type: ViewChild,
|
|
163
181
|
args: ['anchor', { static: true }]
|
|
@@ -165,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
165
183
|
type: ViewChild,
|
|
166
184
|
args: ['content', { static: true }]
|
|
167
185
|
}] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2FuY2hvci9hbmNob3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYW5jaG9yL2FuY2hvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFDdkIsU0FBUyxFQUlULE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFlLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBRW5ILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFFL0UsTUFPYSxnQkFBaUIsU0FBUSxlQUFlO0lBYW5ELFlBQ1MsUUFBbUIsRUFDbkIsVUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQWJ0QyxlQUFVLEdBQWtCLEVBQUUsQ0FBQztRQUMvQixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUUzQixhQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxD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RUFBRSxDQUFDO1FBQzdDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDaEIsT0FBTyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztZQUNoRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssRUFBRSxJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUU7Z0JBQzdDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELE9BQU87YUFDUjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQzNDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO2lJQXpKVSxnQkFBZ0I7cUhBQWhCLGdCQUFnQiwwUkM1QjdCLHF4QkFzQkE7O1NETWEsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsR0FBRyxhQUFhLEVBQUUsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtzTEFHUixNQUFNO3NCQUE1QyxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdDaGlsZCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQW5jaG9yUHJlZml4LCBYQW5jaG9yTm9kZSwgWEFuY2hvclByb3BlcnR5IH0gZnJvbSAnLi9hbmNob3IucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ29tcHV0ZWRTdHlsZSwgWElzRW1wdHksIHJlcUFuaW1GcmFtZSwgWElzTnVtYmVyLCBYSXNVbmRlZmluZWQsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJOb2RlIH0gZnJvbSAnQG5nLW5lc3QvdWkvc2xpZGVyJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGhyb3R0bGVUaW1lLCB0YWtlVW50aWwsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hBbmNob3JQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vYW5jaG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hbmNob3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQW5jaG9yQ29tcG9uZW50IGV4dGVuZHMgWEFuY2hvclByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gIEBWaWV3Q2hpbGQoJ2FuY2hvcicsIHsgc3RhdGljOiB0cnVlIH0pIGFuY2hvciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgaEVsZW1lbnRzITogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD47XHJcbiAgc2xpZGVyRGF0YTogWFNsaWRlck5vZGVbXSA9IFtdO1xyXG4gIGFjdGl2YXRlZEluZGV4OiBudW1iZXIgPSAwO1xyXG4gIHNsaWRlckhlaWdodD86IG51bWJlcjtcclxuICBkb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gIGNvbnRlbnRDaGFuZ2UgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHByaXZhdGUgX3Njcm9sbGluZyA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2ZvbnRTaXplOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5fZm9udFNpemUgPSBwYXJzZUZsb2F0KFhDb21wdXRlZFN0eWxlKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAnZm9udC1zaXplJykpO1xyXG4gIH1cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRlbnRDaGFuZ2UubmV4dCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFNsaWRlckRhdGEoKTtcclxuICAgIHRoaXMuc2V0SGVpZ2h0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldFNjcm9sbCgpO1xyXG4gICAgdGhpcy5jb250ZW50Q2hhbmdlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2xpZGVyRGF0YSgpO1xyXG4gICAgICB0aGlzLnNldEhlaWdodCgpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZhdGVkQ2hhbmdlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLmhFbGVtZW50cykgfHwgWElzVW5kZWZpbmVkKHRoaXMuc2Nyb2xsKSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuX3Njcm9sbGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBoRWxlbWVudCA9IHRoaXMuaEVsZW1lbnRzW2luZGV4XTtcclxuICAgIGxldCBzY3JvbGxUb3AgPSBoRWxlbWVudC5vZmZzZXRUb3AgLSB0aGlzLmFuY2hvci5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCAtIHBhcnNlRmxvYXQoWENvbXB1dGVkU3R5bGUoaEVsZW1lbnQsICdtYXJnaW4tdG9wJykpO1xyXG4gICAgbGV0IG1heFNjcm9sbFRvcCA9IHRoaXMuc2Nyb2xsLnNjcm9sbEhlaWdodCAtIHRoaXMuc2Nyb2xsLmNsaWVudEhlaWdodDtcclxuICAgIGlmIChzY3JvbGxUb3AgPiBtYXhTY3JvbGxUb3ApIHNjcm9sbFRvcCA9IG1heFNjcm9sbFRvcDtcclxuICAgIHRoaXMuc2Nyb2xsVG8odGhpcy5zY3JvbGwsIHBhcnNlSW50KGAke3Njcm9sbFRvcH1gKSwgMTUwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwW2Ake1hBbmNob3JQcmVmaXh9LSR7dGhpcy5sYXlvdXR9YF0gPSAhWElzRW1wdHkodGhpcy5sYXlvdXQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTY3JvbGwoKSB7XHJcbiAgICBmcm9tRXZlbnQodGhpcy5zY3JvbGwgPyB0aGlzLnNjcm9sbCA6IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXchLCAnc2Nyb2xsJylcclxuICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDEwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9zY3JvbGxpbmcpIHJldHVybjtcclxuICAgICAgICB0aGlzLnNldEFjdGl2YXRlZEJ5U2Nyb2xsKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbCkge1xyXG4gICAgICB0aGlzLnNjcm9sbCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRBY3RpdmF0ZWRCeVNjcm9sbCgpIHtcclxuICAgIGxldCBub3cgPSAwO1xyXG4gICAgdGhpcy5oRWxlbWVudHMuZm9yRWFjaCgoaCwgaW5kZXgpID0+IHtcclxuICAgICAgbGV0IGRpc3RhbmNlID0gdGhpcy5zY3JvbGwuc2Nyb2xsVG9wICsgdGhpcy5hbmNob3IubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XHJcbiAgICAgIGlmIChkaXN0YW5jZSA+PSBoLm9mZnNldFRvcCkge1xyXG4gICAgICAgIG5vdyA9IGluZGV4O1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFjdGl2YXRlZEluZGV4ID0gbm93O1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTbGlkZXJEYXRhKCkge1xyXG4gICAgdGhpcy5oRWxlbWVudHMgPSB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAnOnNjb3BlPiBoMSw6c2NvcGU+IGgyLDpzY29wZT4gaDMsOnNjb3BlPiBoNCw6c2NvcGU+IGg1LDpzY29wZT4geC1hbmNob3ItaW5uZXI+IGgxLDpzY29wZT4geC1hbmNob3ItaW5uZXI+aDIsOnNjb3BlPiB4LWFuY2hvci1pbm5lcj5oMyw6c2NvcGU+IHgtYW5jaG9yLWlubmVyPmg0LDpzY29wZT4geC1hbmNob3ItaW5uZXI+aDUnXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuaEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGxpc3Q6IFhBbmNob3JOb2RlW10gPSBbXTtcclxuICAgICAgdGhpcy5oRWxlbWVudHMuZm9yRWFjaCgoeDogSFRNTEVsZW1lbnQsIGk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGxpbmsgPSBgeC1hbmNob3ItJHtpfWA7XHJcbiAgICAgICAgY29uc3QgbGVmdCA9IHRoaXMuc2V0TGVmdCh4KTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh4LCAnaWQnLCBsaW5rKTtcclxuICAgICAgICBsaXN0ID0gW1xyXG4gICAgICAgICAgLi4ubGlzdCxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6IGksXHJcbiAgICAgICAgICAgIGxhYmVsOiB4LmlubmVyVGV4dCxcclxuICAgICAgICAgICAgbGVmdDogbGVmdCxcclxuICAgICAgICAgICAgbGluazogbGlua1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF07XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNsaWRlckRhdGEgPSBsaXN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zbGlkZXJEYXRhID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldExlZnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZWxlcyA9IFsnSDEnLCAnSDInLCAnSDMnLCAnSDQnLCAnSDUnXTtcclxuICAgIGNvbnN0IGluZGV4ID0gZWxlcy5pbmRleE9mKGVsZW1lbnQudGFnTmFtZSk7XHJcbiAgICByZXR1cm4gaW5kZXggKyAxO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRIZWlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5zY3JvbGwpIHtcclxuICAgICAgaWYgKFhJc0VtcHR5KHRoaXMuc2xpZGVyRGF0YSkpIHtcclxuICAgICAgICB0aGlzLnNsaWRlckhlaWdodCA9IDA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHRoaXMuc2Nyb2xsLm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZXQgdG9wID0gcGFyc2VGbG9hdChYQ29tcHV0ZWRTdHlsZSh0aGlzLnNjcm9sbCwgJ3BhZGRpbmctdG9wJykpO1xyXG4gICAgICAgIGxldCBib3JkZXJUb3AgPSBwYXJzZUZsb2F0KFhDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsLCAnYm9yZGVyLXRvcCcpKTtcclxuICAgICAgICBsZXQgYm90dG9tID0gcGFyc2VGbG9hdChYQ29tcHV0ZWRTdHlsZSh0aGlzLnNjcm9sbCwgJ3BhZGRpbmctYm90dG9tJykpO1xyXG4gICAgICAgIGxldCBib3JkZXJCb3R0b20gPSBwYXJzZUZsb2F0KFhDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsLCAnYm9yZGVyLWJvdHRvbScpKTtcclxuICAgICAgICB0aGlzLnNsaWRlckhlaWdodCA9IGhlaWdodCAtIHRvcCAtIGJvdHRvbSAtIGJvcmRlclRvcCAtIGJvcmRlckJvdHRvbSAtIHRoaXMuZ2V0VG9wKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VG9wKCkge1xyXG4gICAgaWYgKHRoaXMuYWZmaXhUb3AgPT09ICcwJykgcmV0dXJuIDA7XHJcbiAgICBpZiAoWElzTnVtYmVyKHRoaXMuYWZmaXhUb3ApKSByZXR1cm4gTnVtYmVyKHRoaXMuYWZmaXhUb3ApO1xyXG4gICAgZWxzZSBpZiAodGhpcy5hZmZpeFRvcC5pbmRleE9mKCdyZW0nKSAhPT0gLTEpIHJldHVybiBOdW1iZXIodGhpcy5hZmZpeFRvcC5yZXBsYWNlKC9yZW0vZywgJycpKSAqIHRoaXMuX2ZvbnRTaXplO1xyXG4gICAgZWxzZSBpZiAodGhpcy5hZmZpeFRvcC5pbmRleE9mKCdweCcpICE9PSAtMSkgcmV0dXJuIE51bWJlcih0aGlzLmFmZml4VG9wLnJlcGxhY2UoL3B4L2csICcnKSk7XHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG8oZWxlbWVudDogSFRNTEVsZW1lbnQsIHRvOiBudW1iZXIsIGR1cmF0aW9uOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSB0byAtIGVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgY29uc3QgcGVyVGljayA9IChkaWZmZXJlbmNlIC8gZHVyYXRpb24pICogMTA7XHJcbiAgICByZXFBbmltRnJhbWUoKCkgPT4ge1xyXG4gICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IGVsZW1lbnQuc2Nyb2xsVG9wICsgcGVyVGljaztcclxuICAgICAgaWYgKGVsZW1lbnQuc2Nyb2xsVG9wID09PSB0byB8fCBkdXJhdGlvbiA8PSAwKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5fc2Nyb2xsaW5nID0gZmFsc2UpLCAyMCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsVG8oZWxlbWVudCwgdG8sIGR1cmF0aW9uIC0gMTApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjYW5jaG9yIGNsYXNzPVwieC1hbmNob3JcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxyXG4gIDxkaXYgI2NvbnRlbnQgY2xhc3M9XCJ4LWFuY2hvci1jb250ZW50XCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbiAgPHgtYWZmaXggY2xhc3M9XCJ4LWFuY2hvci1hZmZpeFwiIFt0b3BdPVwiYWZmaXhUb3BcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWFuY2hvci1zbGlkZXJcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cInNsaWRlckhlaWdodFwiPlxyXG4gICAgICA8eC1zbGlkZXJcclxuICAgICAgICBbZGF0YV09XCJzbGlkZXJEYXRhXCJcclxuICAgICAgICBsYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgIFthY3RpdmF0ZWRJbmRleF09XCJhY3RpdmF0ZWRJbmRleFwiXHJcbiAgICAgICAgW25vZGVKdXN0aWZ5XT1cImp1c3RpZnlcIlxyXG4gICAgICAgIFtub2RlVHBsXT1cInNsaWRlck5vZGVUcGxcIlxyXG4gICAgICAgIFtzaG93QW5jaG9yXT1cInRydWVcIlxyXG4gICAgICAgIChpbmRleENoYW5nZSk9XCJhY3RpdmF0ZWRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID48L3gtc2xpZGVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC94LWFmZml4PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc2xpZGVyTm9kZVRwbCBsZXQtbm9kZT1cIiRub2RlXCI+XHJcbiAgPHNwYW4gW3N0eWxlLnBhZGRpbmctbGVmdC5yZW1dPVwibm9kZS5sZWZ0IC0gMVwiPnt7IG5vZGUubGFiZWwgfX08L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2FuY2hvci9hbmNob3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYW5jaG9yL2FuY2hvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFDdkIsU0FBUyxFQUlULE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFlLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBRW5ILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFFL0UsTUFPYSxnQkFBaUIsU0FBUSxlQUFlO0lBYW5ELFlBQ1MsUUFBbUIsRUFDbkIsVUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQWJ0QyxlQUFVLEdBQWtCLEVBQUUsQ0FBQztRQUMvQixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUUzQixhQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxD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R0FBRztZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQzNHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0YsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sUUFBUSxDQUFDLE9BQW9CLEVBQUUsRUFBVSxFQUFFLFFBQWdCO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQzFDLE1BQU0sT0FBTyxHQUFHLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxZQUFZLENBQUMsR0FBRyxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1lBQ3hDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsS0FBSyxRQUFRLEVBQUU7Z0JBQ3RDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEVBQUUsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO2dCQUM3QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRCxPQUFPO2FBQ1I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQzthQUMzQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztpSUF0S1UsZ0JBQWdCO3FIQUFoQixnQkFBZ0IsMFJDNUI3QixxekJBc0JBOztTRE1hLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0xBR1IsTUFBTTtzQkFBNUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNHLE9BQU87c0JBQTlDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBpbmplY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEFuY2hvclByZWZpeCwgWEFuY2hvck5vZGUsIFhBbmNob3JQcm9wZXJ0eSB9IGZyb20gJy4vYW5jaG9yLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWENvbXB1dGVkU3R5bGUsIFhJc0VtcHR5LCByZXFBbmltRnJhbWUsIFhJc051bWJlciwgWElzVW5kZWZpbmVkLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyTm9kZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3NsaWRlcic7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRocm90dGxlVGltZSwgdGFrZVVudGlsLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYQW5jaG9yUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FuY2hvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYW5jaG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEFuY2hvckNvbXBvbmVudCBleHRlbmRzIFhBbmNob3JQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICBAVmlld0NoaWxkKCdhbmNob3InLCB7IHN0YXRpYzogdHJ1ZSB9KSBhbmNob3IhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdjb250ZW50JywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIGhFbGVtZW50cyE6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+O1xyXG4gIHNsaWRlckRhdGE6IFhTbGlkZXJOb2RlW10gPSBbXTtcclxuICBhY3RpdmF0ZWRJbmRleDogbnVtYmVyID0gMDtcclxuICBzbGlkZXJIZWlnaHQ/OiBudW1iZXI7XHJcbiAgZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBjb250ZW50Q2hhbmdlID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIF9zY3JvbGxpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIF9mb250U2l6ZTogbnVtYmVyO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuX2ZvbnRTaXplID0gcGFyc2VGbG9hdChYQ29tcHV0ZWRTdHlsZSh0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgJ2ZvbnQtc2l6ZScpKTtcclxuICB9XHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250ZW50Q2hhbmdlLm5leHQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gICAgdGhpcy5zZXRTbGlkZXJEYXRhKCk7XHJcbiAgICB0aGlzLnNldEhlaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXRTY3JvbGwoKTtcclxuICAgIHRoaXMuY29udGVudENoYW5nZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldFNsaWRlckRhdGEoKTtcclxuICAgICAgdGhpcy5zZXRIZWlnaHQoKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGFjdGl2YXRlZENoYW5nZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy5oRWxlbWVudHMpIHx8IFhJc1VuZGVmaW5lZCh0aGlzLnNjcm9sbCkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9zY3JvbGxpbmcgPSB0cnVlO1xyXG4gICAgY29uc3QgaEVsZW1lbnQgPSB0aGlzLmhFbGVtZW50c1tpbmRleF07XHJcbiAgICBsZXQgc2Nyb2xsVG9wID0gaEVsZW1lbnQub2Zmc2V0VG9wIC0gdGhpcy5hbmNob3IubmF0aXZlRWxlbWVudC5vZmZzZXRUb3AgLSBwYXJzZUZsb2F0KFhDb21wdXRlZFN0eWxlKGhFbGVtZW50LCAnbWFyZ2luLXRvcCcpKTtcclxuICAgIGxldCBtYXhTY3JvbGxUb3AgPSB0aGlzLnNjcm9sbC5zY3JvbGxIZWlnaHQgLSB0aGlzLnNjcm9sbC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAoc2Nyb2xsVG9wID4gbWF4U2Nyb2xsVG9wKSBzY3JvbGxUb3AgPSBtYXhTY3JvbGxUb3A7XHJcbiAgICBjb25zb2xlLmxvZyhzY3JvbGxUb3ApO1xyXG4gICAgdGhpcy5zY3JvbGxUbyh0aGlzLnNjcm9sbCwgcGFyc2VJbnQoYCR7c2Nyb2xsVG9wfWApLCAxNTApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXBbYCR7WEFuY2hvclByZWZpeH0tJHt0aGlzLmxheW91dH1gXSA9ICFYSXNFbXB0eSh0aGlzLmxheW91dCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFNjcm9sbCgpIHtcclxuICAgIGZyb21FdmVudCh0aGlzLnNjcm9sbCA/IHRoaXMuc2Nyb2xsIDogdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldyEsICdzY3JvbGwnKVxyXG4gICAgICAucGlwZSh0aHJvdHRsZVRpbWUoMTApLCB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbGluZykgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuc2V0QWN0aXZhdGVkQnlTY3JvbGwoKTtcclxuICAgICAgfSk7XHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsKSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEFjdGl2YXRlZEJ5U2Nyb2xsKCkge1xyXG4gICAgbGV0IG5vdyA9IDA7XHJcbiAgICB0aGlzLmhFbGVtZW50cy5mb3JFYWNoKChoLCBpbmRleCkgPT4ge1xyXG4gICAgICBsZXQgZGlzdGFuY2UgPSB0aGlzLnNjcm9sbC5zY3JvbGxUb3AgKyB0aGlzLmFuY2hvci5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgICAgaWYgKGRpc3RhbmNlID49IGgub2Zmc2V0VG9wKSB7XHJcbiAgICAgICAgbm93ID0gaW5kZXg7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuYWN0aXZhdGVkSW5kZXggPSBub3c7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFNsaWRlckRhdGEoKSB7XHJcbiAgICB0aGlzLmhFbGVtZW50cyA9IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICc6c2NvcGU+IGgxLDpzY29wZT4gaDIsOnNjb3BlPiBoMyw6c2NvcGU+IGg0LDpzY29wZT4gaDUsOnNjb3BlPiB4LWFuY2hvci1pbm5lcj4gaDEsOnNjb3BlPiB4LWFuY2hvci1pbm5lcj5oMiw6c2NvcGU+IHgtYW5jaG9yLWlubmVyPmgzLDpzY29wZT4geC1hbmNob3ItaW5uZXI+aDQsOnNjb3BlPiB4LWFuY2hvci1pbm5lcj5oNSdcclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5oRWxlbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgbGlzdDogWEFuY2hvck5vZGVbXSA9IFtdO1xyXG4gICAgICB0aGlzLmhFbGVtZW50cy5mb3JFYWNoKCh4OiBIVE1MRWxlbWVudCwgaTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbGluayA9IGB4LWFuY2hvci0ke2l9YDtcclxuICAgICAgICBjb25zdCBsZWZ0ID0gdGhpcy5zZXRMZWZ0KHgpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHgsICdpZCcsIGxpbmspO1xyXG4gICAgICAgIGxpc3QgPSBbXHJcbiAgICAgICAgICAuLi5saXN0LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogaSxcclxuICAgICAgICAgICAgbGFiZWw6IHguaW5uZXJUZXh0LFxyXG4gICAgICAgICAgICBsZWZ0OiBsZWZ0LFxyXG4gICAgICAgICAgICBsaW5rOiBsaW5rXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2xpZGVyRGF0YSA9IGxpc3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNsaWRlckRhdGEgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TGVmdChlbGVtZW50OiBIVE1MRWxlbWVudCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBlbGVzID0gWydIMScsICdIMicsICdIMycsICdINCcsICdINSddO1xyXG4gICAgY29uc3QgaW5kZXggPSBlbGVzLmluZGV4T2YoZWxlbWVudC50YWdOYW1lKTtcclxuICAgIHJldHVybiBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEhlaWdodCgpIHtcclxuICAgIGlmICh0aGlzLnNjcm9sbCkge1xyXG4gICAgICBpZiAoWElzRW1wdHkodGhpcy5zbGlkZXJEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2xpZGVySGVpZ2h0ID0gMDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gdGhpcy5zY3JvbGwub2Zmc2V0SGVpZ2h0O1xyXG4gICAgICAgIGxldCB0b3AgPSBwYXJzZUZsb2F0KFhDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsLCAncGFkZGluZy10b3AnKSk7XHJcbiAgICAgICAgbGV0IGJvcmRlclRvcCA9IHBhcnNlRmxvYXQoWENvbXB1dGVkU3R5bGUodGhpcy5zY3JvbGwsICdib3JkZXItdG9wJykpO1xyXG4gICAgICAgIGxldCBib3R0b20gPSBwYXJzZUZsb2F0KFhDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsLCAncGFkZGluZy1ib3R0b20nKSk7XHJcbiAgICAgICAgbGV0IGJvcmRlckJvdHRvbSA9IHBhcnNlRmxvYXQoWENvbXB1dGVkU3R5bGUodGhpcy5zY3JvbGwsICdib3JkZXItYm90dG9tJykpO1xyXG4gICAgICAgIHRoaXMuc2xpZGVySGVpZ2h0ID0gaGVpZ2h0IC0gdG9wIC0gYm90dG9tIC0gYm9yZGVyVG9wIC0gYm9yZGVyQm90dG9tIC0gdGhpcy5nZXRUb3AoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0V2lkdGgoKSB7XHJcbiAgICBpZiAoIXRoaXMuYWZmaXhXaWR0aCkgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAodGhpcy5hZmZpeFdpZHRoID09PSAnMCcpIHJldHVybiAwO1xyXG4gICAgaWYgKFhJc051bWJlcih0aGlzLmFmZml4V2lkdGgpKSByZXR1cm4gdGhpcy5hZmZpeFdpZHRoO1xyXG4gICAgZWxzZSBpZiAodGhpcy5hZmZpeFdpZHRoLmluZGV4T2YoJ3JlbScpICE9PSAtMSkgcmV0dXJuIE51bWJlcih0aGlzLmFmZml4V2lkdGgucmVwbGFjZSgvcmVtL2csICcnKSkgKiB0aGlzLl9mb250U2l6ZTtcclxuICAgIGVsc2UgaWYgKHRoaXMuYWZmaXhXaWR0aC5pbmRleE9mKCdweCcpICE9PSAtMSkgcmV0dXJuIE51bWJlcih0aGlzLmFmZml4V2lkdGgucmVwbGFjZSgvcHgvZywgJycpKTtcclxuICAgIGVsc2UgcmV0dXJuIE51bWJlcih0aGlzLmFmZml4V2lkdGgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUb3AoKSB7XHJcbiAgICBpZiAodGhpcy5hZmZpeFRvcCA9PT0gJzAnKSByZXR1cm4gMDtcclxuICAgIGlmIChYSXNOdW1iZXIodGhpcy5hZmZpeFRvcCkpIHJldHVybiBOdW1iZXIodGhpcy5hZmZpeFRvcCk7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFmZml4VG9wLmluZGV4T2YoJ3JlbScpICE9PSAtMSkgcmV0dXJuIE51bWJlcih0aGlzLmFmZml4VG9wLnJlcGxhY2UoL3JlbS9nLCAnJykpICogdGhpcy5fZm9udFNpemU7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFmZml4VG9wLmluZGV4T2YoJ3B4JykgIT09IC0xKSByZXR1cm4gTnVtYmVyKHRoaXMuYWZmaXhUb3AucmVwbGFjZSgvcHgvZywgJycpKTtcclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzY3JvbGxUbyhlbGVtZW50OiBIVE1MRWxlbWVudCwgdG86IG51bWJlciwgZHVyYXRpb246IG51bWJlcikge1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRvIC0gZWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICBjb25zdCBwZXJUaWNrID0gKGRpZmZlcmVuY2UgLyBkdXJhdGlvbikgKiAxMDtcclxuICAgIHJlcUFuaW1GcmFtZSgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bSA9IGVsZW1lbnQuc2Nyb2xsVG9wICsgcGVyVGljaztcclxuICAgICAgaWYgKFhJc051bWJlcihudW0pICYmIG51bSAhPT0gSW5maW5pdHkpIHtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IG51bTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZWxlbWVudC5zY3JvbGxUb3AgPT09IHRvIHx8IGR1cmF0aW9uIDw9IDApIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLl9zY3JvbGxpbmcgPSBmYWxzZSksIDIwKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyhlbGVtZW50LCB0bywgZHVyYXRpb24gLSAxMCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNhbmNob3IgY2xhc3M9XCJ4LWFuY2hvclwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCI+XHJcbiAgPGRpdiAjY29udGVudCBjbGFzcz1cIngtYW5jaG9yLWNvbnRlbnRcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuICA8eC1hZmZpeCBjbGFzcz1cIngtYW5jaG9yLWFmZml4XCIgW3RvcF09XCJhZmZpeFRvcFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtYW5jaG9yLXNsaWRlclwiIFtzdHlsZS5oZWlnaHQucHhdPVwic2xpZGVySGVpZ2h0XCIgW3N0eWxlLndpZHRoLnB4XT1cImdldFdpZHRoKClcIj5cclxuICAgICAgPHgtc2xpZGVyXHJcbiAgICAgICAgW2RhdGFdPVwic2xpZGVyRGF0YVwiXHJcbiAgICAgICAgbGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICBbYWN0aXZhdGVkSW5kZXhdPVwiYWN0aXZhdGVkSW5kZXhcIlxyXG4gICAgICAgIFtub2RlSnVzdGlmeV09XCJqdXN0aWZ5XCJcclxuICAgICAgICBbbm9kZVRwbF09XCJzbGlkZXJOb2RlVHBsXCJcclxuICAgICAgICBbc2hvd0FuY2hvcl09XCJ0cnVlXCJcclxuICAgICAgICAoaW5kZXhDaGFuZ2UpPVwiYWN0aXZhdGVkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICA+PC94LXNsaWRlcj5cclxuICAgIDwvZGl2PlxyXG4gIDwveC1hZmZpeD5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3NsaWRlck5vZGVUcGwgbGV0LW5vZGU9XCIkbm9kZVwiPlxyXG4gIDxzcGFuIFtzdHlsZS5wYWRkaW5nLWxlZnQucmVtXT1cIm5vZGUubGVmdCAtIDFcIj57eyBub2RlLmxhYmVsIH19PC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -14,11 +14,14 @@ const X_CONFIG_NAME = 'anchor';
|
|
|
14
14
|
*/
|
|
15
15
|
class XAnchorProperty extends XProperty {
|
|
16
16
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XAnchorProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XAnchorProperty, selector: "x-anchor-property", inputs: { scroll: "scroll", affixTop: "affixTop", layout: "layout", justify: "justify" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XAnchorProperty, selector: "x-anchor-property", inputs: { scroll: "scroll", affixTop: "affixTop", affixWidth: "affixWidth", layout: "layout", justify: "justify" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
18
18
|
}
|
|
19
19
|
__decorate([
|
|
20
20
|
XWithConfig(X_CONFIG_NAME, '0')
|
|
21
21
|
], XAnchorProperty.prototype, "affixTop", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
XWithConfig(X_CONFIG_NAME)
|
|
24
|
+
], XAnchorProperty.prototype, "affixWidth", void 0);
|
|
22
25
|
__decorate([
|
|
23
26
|
XWithConfig(X_CONFIG_NAME, 'right')
|
|
24
27
|
], XAnchorProperty.prototype, "layout", void 0);
|
|
@@ -33,6 +36,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
33
36
|
type: Input
|
|
34
37
|
}], affixTop: [{
|
|
35
38
|
type: Input
|
|
39
|
+
}], affixWidth: [{
|
|
40
|
+
type: Input
|
|
36
41
|
}], layout: [{
|
|
37
42
|
type: Input
|
|
38
43
|
}], justify: [{
|
|
@@ -56,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
56
61
|
type: Component,
|
|
57
62
|
args: [{ selector: `${XAnchorInnerPrefix}-property`, template: '' }]
|
|
58
63
|
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYW5jaG9yL2FuY2hvci5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFxQixTQUFTLEVBQVksV0FBVyxFQUErQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUN4QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFDSCxNQUNhLGVBQWdCLFNBQVEsU0FBUztpSUFBakMsZUFBZTtxSEFBZixlQUFlLG9NQURrQyxFQUFFOztBQVdaO0lBQXhDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsR0FBRyxDQUFDO2lEQUFtQjtBQUt0QjtJQUFwQyxXQUFXLENBQVUsYUFBYSxDQUFDO21EQUFzQjtBQUtOO0lBQW5ELFdBQVcsQ0FBZ0IsYUFBYSxFQUFFLE9BQU8sQ0FBQzsrQ0FBd0I7QUFLNUI7SUFBOUMsV0FBVyxDQUFXLGFBQWEsRUFBRSxPQUFPLENBQUM7Z0RBQW9CO1NBekJoRSxlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU12RCxNQUFNO3NCQUFkLEtBQUs7Z0JBSzRDLFFBQVE7c0JBQXpELEtBQUs7Z0JBS3dDLFVBQVU7c0JBQXZELEtBQUs7Z0JBS3VELE1BQU07c0JBQWxFLEtBQUs7Z0JBS2tELE9BQU87c0JBQTlELEtBQUs7O0FBR1I7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFDYSxvQkFBb0I7aUlBQXBCLG9CQUFvQjtxSEFBcEIsb0JBQW9CLCtEQURrQyxFQUFFOztTQUN4RCxvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLGtCQUFrQixXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhJZGVudGl0eVByb3BlcnR5LCBYUHJvcGVydHksIFhKdXN0aWZ5LCBYV2l0aENvbmZpZywgWFBvc2l0aW9uTGVmdFJpZ2h0LCBYTnVtYmVyIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBBbmNob3JcclxuICogQHNlbGVjdG9yIHgtYW5jaG9yXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWEFuY2hvclByZWZpeCA9ICd4LWFuY2hvcic7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnYW5jaG9yJztcclxuXHJcbi8qKlxyXG4gKiBBbmNob3IgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WEFuY2hvclByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhBbmNob3JQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa7muWKqOWMuuWfn+WvueixoVxyXG4gICAqIEBlbl9VUyBTY3JvbGwgYXJlYSBvYmplY3RcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGwhOiBIVE1MRWxlbWVudDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aG26YOo6Led56a7XHJcbiAgICogQGVuX1VTIFRvcCBkaXN0YW5jZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICcwJykgYWZmaXhUb3AhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvvOiIquWuveW6plxyXG4gICAqIEBlbl9VUyBOYXZpZ2F0aW9uIFdpZHRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUpIGFmZml4V2lkdGghOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlr7zoiKrnm7jlr7nlhoXlrrnkvY3nva5cclxuICAgKiBAZW5fVVMgTmF2aWdhdGlvbiByZWxhdGl2ZSBjb250ZW50IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhBbmNob3JMYXlvdXQ+KFhfQ09ORklHX05BTUUsICdyaWdodCcpIGxheW91dCE6IFhBbmNob3JMYXlvdXQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBBbGlnbm1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEp1c3RpZnk+KFhfQ09ORklHX05BTUUsICdzdGFydCcpIGp1c3RpZnkhOiBYSnVzdGlmeTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFuY2hvciBpbm5lclxyXG4gKiBAc2VsZWN0b3IgeC1hbmNob3ItaW5uZXJcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYQW5jaG9ySW5uZXJQcmVmaXggPSAneC1hbmNob3ItaW5uZXInO1xyXG5cclxuLyoqXHJcbiAqIEFuY2hvciBpbm5lciBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYQW5jaG9ySW5uZXJQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYQW5jaG9ySW5uZXJQcm9wZXJ0eSB7fVxyXG5cclxuLyoqXHJcbiAqIEFuY2hvciBOb2RlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhBbmNob3JOb2RlIGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlt6blhoXovrnot53vvIznlKjmnaXmmL7npLrlsYLnuqdcclxuICAgKiBAZW5fVVMgTGVmdCBpbm5lciBtYXJnaW4sIHVzZWQgdG8gZGlzcGxheSBoaWVyYXJjaHlcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWNvblxyXG4gICAqL1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmUmueCueeahOmTvuaOpVxyXG4gICAqIEBlbl9VUyBBbmNob3IgbGlua1xyXG4gICAqL1xyXG4gIGxpbms/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5biD5bGA5pa55byP77yM55u45a+55YaF5a6555qE5L2N572uXHJcbiAqIEBlbl9VUyBMYXlvdXQgbWV0aG9kLCByZWxhdGl2ZSBjb250ZW50IHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYQW5jaG9yTGF5b3V0ID0gWFBvc2l0aW9uTGVmdFJpZ2h0O1xyXG4iXX0=
|
|
@@ -282,6 +282,9 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
|
|
|
282
282
|
});
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
|
+
if (!this.onlySelect) {
|
|
286
|
+
this.onChange && this.onChange(value);
|
|
287
|
+
}
|
|
285
288
|
return;
|
|
286
289
|
}
|
|
287
290
|
if (this.nodes) {
|
|
@@ -298,6 +301,9 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
|
|
|
298
301
|
}
|
|
299
302
|
}
|
|
300
303
|
}
|
|
304
|
+
if (!this.onlySelect) {
|
|
305
|
+
this.onChange && this.onChange(value);
|
|
306
|
+
}
|
|
301
307
|
}
|
|
302
308
|
formControlChanges() {
|
|
303
309
|
this.setData();
|
|
@@ -331,4 +337,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
331
337
|
type: ViewChild,
|
|
332
338
|
args: ['autoComplete', { static: true }]
|
|
333
339
|
}] } });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUNqQix1QkFBdUIsRUFPdkIsU0FBUyxFQUNULE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFCLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekcsT0FBTyxFQUNMLFFBQVEsRUFDUixhQUFhLEVBQ2IsU0FBUyxFQUNULFFBQVEsRUFDUixXQUFXLEVBR1gsV0FBVyxFQUNYLFFBQVEsRUFDVCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBcUMsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFF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QyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQyx1U0MxQ3JELDhuQ0FxQ0E7O1NET2Esc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UsR0FBRyxtQkFBbUIsRUFBRSxpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsd0JBQXdCLENBQUM7d1FBR1YsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNNLFlBQVk7c0JBQXhELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBpbmplY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEF1dG9Db21wbGV0ZU5vZGUsIFhBdXRvQ29tcGxldGVQcm9wZXJ0eSwgWEF1dG9Db21wbGV0ZVByZWZpeCB9IGZyb20gJy4vYXV0by1jb21wbGV0ZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWElzRW1wdHksXHJcbiAgWElzT2JzZXJ2YWJsZSxcclxuICBYSXNDaGFuZ2UsXHJcbiAgWFNldERhdGEsXHJcbiAgWENsZWFyQ2xhc3MsXHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhJc0Z1bmN0aW9uLFxyXG4gIFhQYXJlbnRzXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhQb3J0YWxTZXJ2aWNlLCBYUG9ydGFsT3ZlcmxheVJlZiwgWFBvcnRhbENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWElucHV0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBYQXV0b0NvbXBsZXRlUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvLWNvbXBsZXRlLXBvcnRhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSwgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERPV05fQVJST1csIFVQX0FSUk9XLCBFTlRFUiwgTUFDX0VOVEVSLCBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYQXV0b0NvbXBsZXRlUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2F1dG8tY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhBdXRvQ29tcGxldGVDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEF1dG9Db21wbGV0ZUNvbXBvbmVudCBleHRlbmRzIFhBdXRvQ29tcGxldGVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdpbnB1dENvbScsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0Q29tITogWElucHV0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2F1dG9Db21wbGV0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGF1dG9Db21wbGV0ZSE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGVudGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGlzcGxheVZhbHVlOiBhbnkgPSAnJztcclxuICBub2RlczogWEF1dG9Db21wbGV0ZU5vZGVbXSA9IFtdO1xyXG4gIHNlYXJjaE5vZGVzOiBYQXV0b0NvbXBsZXRlTm9kZVtdID0gW107XHJcbiAgY2xvbmVOb2RlcyE6IFhBdXRvQ29tcGxldGVOb2RlW107XHJcbiAgcG9ydGFsITogWFBvcnRhbE92ZXJsYXlSZWY8WEF1dG9Db21wbGV0ZVBvcnRhbENvbXBvbmVudD47XHJcbiAgaWNvbjogc3RyaW5nID0gJyc7XHJcbiAgaWNvblNwaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBib3ghOiBET01SZWN0O1xyXG4gIHByb3RhbEhlaWdodCE6IG51bWJlcjtcclxuICBtYXhOb2RlczogbnVtYmVyID0gNjtcclxuICBwcm90YWxUb2JvdHRvbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgYXN5bmNMb2FkaW5nID0gZmFsc2U7XHJcbiAgYW5pbWF0aW5nID0gZmFsc2U7XHJcblxyXG4gIG92ZXJyaWRlIHZhbHVlVHBsQ29udGV4dDogeyAkbm9kZTogYW55OyAkaXNWYWx1ZTogYm9vbGVhbiB9ID0geyAkbm9kZTogbnVsbCwgJGlzVmFsdWU6IHRydWUgfTtcclxuICB2YWx1ZUNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwb3NpdGlvbkNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBkYXRhQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxYQXV0b0NvbXBsZXRlTm9kZVtdPihbXSk7XHJcbiAgaW5wdXRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgY2xvc2VTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBrZXlkb3duU3ViamVjdDogU3ViamVjdDxLZXlib2FyZEV2ZW50PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcG9ydGFsU2VydmljZTogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLmF1dG9Db21wbGV0ZS5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIHRoaXMuc2V0U3ViamVjdCgpO1xyXG4gICAgdGhpcy5zZXRQYXJhbnRTY3JvbGwoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0UG9ydGFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhKCkge1xyXG4gICAgaWYgKFhJc09ic2VydmFibGUodGhpcy5kYXRhKSB8fCBYSXNGdW5jdGlvbih0aGlzLmRhdGEpKSByZXR1cm47XHJcbiAgICBYU2V0RGF0YTxYQXV0b0NvbXBsZXRlTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQoeCk7XHJcbiAgICAgIHRoaXMuc2V0UG9ydGFsKCk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U3ViamVjdCgpIHtcclxuICAgIHRoaXMuY2xvc2VTdWJqZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VQb3J0YWwoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pbnB1dENoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoKHgpID0+IHggIT09IG51bGwpLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSBhcyBudW1iZXIpLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZSh4KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmtleWRvd25TdWJqZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICBjb25zdCBrZXlDb2RlID0geC5rZXlDb2RlO1xyXG4gICAgICBpZiAoIXRoaXMucG9ydGFsQXR0YWNoZWQoKSAmJiBbRE9XTl9BUlJPVywgVVBfQVJST1csIEVOVEVSLCBNQUNfRU5URVJdLmluY2x1ZGVzKGtleUNvZGUpKSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgW0VTQ0FQRV0uaW5jbHVkZXMoa2V5Q29kZSkpIHtcclxuICAgICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFyYW50U2Nyb2xsKCkge1xyXG4gICAgaWYgKCF0aGlzLmRvY3VtZW50KSByZXR1cm47XHJcbiAgICBjb25zdCBwYXJlbnRzID0gWFBhcmVudHModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgbGV0IGZpcnN0U2Nyb2xsOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG4gICAgZm9yIChsZXQgaXRlbSBvZiBwYXJlbnRzKSB7XHJcbiAgICAgIGlmIChpdGVtLmNsaWVudEhlaWdodCA8IGl0ZW0uc2Nyb2xsSGVpZ2h0KSB7XHJcbiAgICAgICAgZmlyc3RTY3JvbGwgPSBpdGVtO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoZmlyc3RTY3JvbGwgJiYgZmlyc3RTY3JvbGwudGFnTmFtZSAhPT0gJ0JPRFknKSB7XHJcbiAgICAgIGZyb21FdmVudChmaXJzdFNjcm9sbCwgJ3Njcm9sbCcpXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5wb3J0YWxBdHRhY2hlZCgpISksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpO1xyXG4gICAgICAgICAgY29uc3QgZXJhY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgIGNvbnN0IGZyZWN0ID0gZmlyc3RTY3JvbGwhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgaWYgKGVyYWN0LnRvcCArIGVyYWN0LmhlaWdodCAtIGZyZWN0LnRvcCA8IDAgfHwgZXJhY3QuYm90dG9tID4gZnJlY3QuYm90dG9tKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMub25seVNlbGVjdCkge1xyXG4gICAgICAgIGlmICghdGhpcy5ub2Rlcy5tYXAoKHgpID0+IHgubGFiZWwpLmluY2x1ZGVzKHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3lQb3J0YWwoKSB7XHJcbiAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd1BvcnRhbCgpIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnZhbHVlKSB8fCB0aGlzLmRpc2FibGVkIHx8IHRoaXMuaWNvblNwaW4gfHwgdGhpcy5hbmltYXRpbmcpIHJldHVybjtcclxuICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcclxuICAgIGlmICgoWElzT2JzZXJ2YWJsZSh0aGlzLmRhdGEpICYmIHRoaXMubm9kZXMubGVuZ3RoID09PSAwKSB8fCBYSXNGdW5jdGlvbih0aGlzLmRhdGEpKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdmdG8tbG9hZGVyJztcclxuICAgICAgdGhpcy5pY29uU3BpbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgWFNldERhdGE8WEF1dG9Db21wbGV0ZU5vZGU+KHRoaXMuZGF0YSwgdGhpcy5fdW5TdWJqZWN0LCB0cnVlLCB0aGlzLnZhbHVlKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmljb24gPSAnJztcclxuICAgICAgICB0aGlzLmljb25TcGluID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5ub2Rlcyk7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVQb3J0YWwoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jcmVhdGVQb3J0YWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZVBvcnRhbCgpIHtcclxuICAgIHRoaXMubm9kZXMuZmlsdGVyKCh4KSA9PiB4LnNlbGVjdGVkKS5tYXAoKHgpID0+ICh4LnNlbGVjdGVkID0gZmFsc2UpKTtcclxuICAgIGlmIChYSXNGdW5jdGlvbih0aGlzLmRhdGEpKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoTm9kZXMgPSB0aGlzLm5vZGVzO1xyXG4gICAgfSBlbHNlIGlmICghWElzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5zZXRTZWFyY2hOb2Rlcyh0aGlzLnZhbHVlKTtcclxuICAgICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5zZWFyY2hOb2Rlcyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmJveCA9IHRoaXMuaW5wdXRDb20uaW5wdXRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IHtcclxuICAgICAgYmFja2Ryb3BDbGFzczogJycsXHJcbiAgICAgIHdpZHRoOiB0aGlzLmJveC53aWR0aCxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQbGFjZW1lbnQoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oY29uZmlnKTtcclxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhBdXRvQ29tcGxldGVQb3J0YWxDb21wb25lbnQsXHJcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzogY29uZmlnXHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWZcclxuICAgICAgPy5vdXRzaWRlUG9pbnRlckV2ZW50cygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5zZXRJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9zaXRpb24oY29uZmlnOiBPdmVybGF5Q29uZmlnKSB7XHJcbiAgICBsZXQgcG9zaXRpb24gPSBjb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICBwb3NpdGlvbi5wb3NpdGlvbkNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKChwb3M6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSkgPT4ge1xyXG4gICAgICBjb25zdCBwbGFjZSA9IFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbi5nZXQocG9zLmNvbm5lY3Rpb25QYWlyKSBhcyBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgICAgIHBsYWNlICE9PSB0aGlzLnBsYWNlbWVudCAmJiB0aGlzLnBvc2l0aW9uQ2hhbmdlLm5leHQocGxhY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbnN0YW5jZSgpIHtcclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbC5jb21wb25lbnRSZWY7XHJcbiAgICBpZiAoIWNvbXBvbmVudFJlZikgcmV0dXJuO1xyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgZGF0YTogdGhpcy5zZWFyY2hOb2RlcyxcclxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXHJcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXHJcbiAgICAgIG5vZGVUcGw6IHRoaXMubm9kZVRwbCxcclxuICAgICAgdmFsdWVDaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UsXHJcbiAgICAgIGRhdGFDaGFuZ2U6IHRoaXMuZGF0YUNoYW5nZSxcclxuICAgICAgcG9zaXRpb25DaGFuZ2U6IHRoaXMucG9zaXRpb25DaGFuZ2UsXHJcbiAgICAgIGNsb3NlU3ViamVjdDogdGhpcy5jbG9zZVN1YmplY3QsXHJcbiAgICAgIGtleWRvd25TdWJqZWN0OiB0aGlzLmtleWRvd25TdWJqZWN0LFxyXG4gICAgICBpbnB1dENvbTogdGhpcy5pbnB1dENvbSxcclxuICAgICAgaW5wdXRDaGFuZ2U6IHRoaXMuaW5wdXRDaGFuZ2UsXHJcbiAgICAgIGRlc3Ryb3lQb3J0YWw6ICgpID0+IHRoaXMuZGVzdHJveVBvcnRhbCgpLFxyXG4gICAgICBub2RlRW1pdDogKG5vZGU6IFhBdXRvQ29tcGxldGVOb2RlKSA9PiB0aGlzLm9uTm9kZUNsaWNrKG5vZGUpLFxyXG4gICAgICBhbmltYXRpbmc6IChpbmc6IGJvb2xlYW4pID0+ICh0aGlzLmFuaW1hdGluZyA9IGluZylcclxuICAgIH0pO1xyXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKG5vZGU6IFhBdXRvQ29tcGxldGVOb2RlIHwgWEF1dG9Db21wbGV0ZU5vZGVbXSkge1xyXG4gICAgbm9kZSA9IG5vZGUgYXMgWEF1dG9Db21wbGV0ZU5vZGU7XHJcbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gbm9kZS5sYWJlbCkge1xyXG4gICAgICB0aGlzLm5vZGVFbWl0LmVtaXQobm9kZSk7XHJcbiAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZSA9IG5vZGUubGFiZWw7XHJcbiAgICB0aGlzLnZhbHVlVHBsQ29udGV4dC4kbm9kZSA9IG5vZGU7XHJcbiAgICB0aGlzLmlucHV0Q29tLmlucHV0Rm9jdXMoKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5ub2RlRW1pdC5lbWl0KG5vZGUpO1xyXG4gICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0UGxhY2VtZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZW1lbnQoe1xyXG4gICAgICBlbGVtZW50UmVmOiB0aGlzLmlucHV0Q29tLmlucHV0UmVmLFxyXG4gICAgICBwbGFjZW1lbnQ6IFt0aGlzLnBsYWNlbWVudCBhcyBYUG9zaXRpb25Ub3BCb3R0b20sICdib3R0b20tc3RhcnQnLCAnYm90dG9tLWVuZCcsICd0b3Atc3RhcnQnLCAndG9wLWVuZCddLFxyXG4gICAgICB0cmFuc2Zvcm1PcmlnaW5PbjogJ3gtYXV0by1jb21wbGV0ZS1wb3J0YWwnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsQXR0YWNoZWQoKSAmJiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLnNldFBsYWNlbWVudCgpKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaE5vZGVzKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmNhc2VTZW5zaXRpdmUpIHtcclxuICAgICAgdGhpcy5zZWFyY2hOb2RlcyA9IHRoaXMubm9kZXMuZmlsdGVyKCh4KSA9PiB4LmxhYmVsLmluZGV4T2YodmFsdWUpID49IDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWFyY2hOb2RlcyA9IHRoaXMubm9kZXMuZmlsdGVyKCh4KSA9PiAoeC5sYWJlbCBhcyBzdHJpbmcpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigodmFsdWUgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpKSA+PSAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGlmIChYSXNGdW5jdGlvbih0aGlzLmRhdGEpKSB7XHJcbiAgICAgIGlmICghdGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgICAgdGhpcy5zaG93UG9ydGFsKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKFhJc0VtcHR5KHZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmljb24gPSAnZnRvLWxvYWRlcic7XHJcbiAgICAgICAgICB0aGlzLmljb25TcGluID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIFhTZXREYXRhPFhBdXRvQ29tcGxldGVOb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCwgdHJ1ZSwgdmFsdWUgYXMgYW55KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pY29uID0gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuaWNvblNwaW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KHRoaXMubm9kZXMpO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubm9kZXMpIHtcclxuICAgICAgaWYgKCF0aGlzLnBvcnRhbEF0dGFjaGVkKCkpIHtcclxuICAgICAgICB0aGlzLnNob3dQb3J0YWwoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoWElzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U2VhcmNoTm9kZXModmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQodGhpcy5zZWFyY2hOb2Rlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnNldERhdGEoKTtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbktleWRvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLmtleWRvd25TdWJqZWN0Lm5leHQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoX2V2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyhfZXZlbnQ6IEV2ZW50KSB7fVxyXG5cclxuICBvbkJsdXIoX2V2ZW50OiBFdmVudCkge31cclxufVxyXG4iLCI8ZGl2ICNhdXRvQ29tcGxldGUgY2xhc3M9XCJ4LWF1dG8tY29tcGxldGVcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1hdXRvLWNvbXBsZXRlLXJvd1wiPlxyXG4gICAgPHgtaW5wdXRcclxuICAgICAgI2lucHV0Q29tXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgW2xhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXHJcbiAgICAgIFtsYWJlbEFsaWduXT1cImxhYmVsQWxpZ25cIlxyXG4gICAgICBbanVzdGlmeV09XCJqdXN0aWZ5XCJcclxuICAgICAgW2FsaWduXT1cImFsaWduXCJcclxuICAgICAgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICBbaWNvbl09XCJpY29uXCJcclxuICAgICAgW2ljb25TcGluXT1cImljb25TcGluXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbdmFsdWVUcGxdPVwidmFsdWVUcGxcIlxyXG4gICAgICBbdmFsdWVUcGxDb250ZXh0XT1cInZhbHVlVHBsQ29udGV4dFwiXHJcbiAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICBbYm9yZGVyZWRdPVwiYm9yZGVyZWRcIlxyXG4gICAgICBbYmVmb3JlXT1cImJlZm9yZVwiXHJcbiAgICAgIFthZnRlcl09XCJhZnRlclwiXHJcbiAgICAgIFtwYXR0ZXJuXT1cInBhdHRlcm5cIlxyXG4gICAgICBbbWVzc2FnZV09XCJtZXNzYWdlXCJcclxuICAgICAgW3BvaW50ZXJdPVwicG9pbnRlclwiXHJcbiAgICAgIFsoYWN0aXZlKV09XCJhY3RpdmVcIlxyXG4gICAgICAoeElucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICh4S2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICh4Rm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgKHhCbHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICAgKHhDbGljayk9XCJzaG93UG9ydGFsKClcIlxyXG4gICAgPjwveC1pbnB1dD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUNqQix1QkFBdUIsRUFPdkIsU0FBUyxFQUNULE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFCLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekcsT0FBTyxFQUNMLFFBQVEsRUFDUixhQUFhLEVBQ2IsU0FBUyxFQUNULFFBQVEsRUFDUixXQUFXLEVBR1gsV0FBVyxFQUNYLFFBQVEsRUFDVCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBcUMsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFF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Q0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWEsSUFBRyxDQUFDO0lBRXpCLE1BQU0sQ0FBQyxNQUFhLElBQUcsQ0FBQztpSUFuVmIsc0JBQXNCO3FIQUF0QixzQkFBc0IsMENBRnRCLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUMsdVNDMUNyRCw4bkNBcUNBOztTRE9hLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLEdBQUcsbUJBQW1CLEVBQUUsaUJBR25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLHdCQUF3QixDQUFDO3dRQUdWLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDTSxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgaW5qZWN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhBdXRvQ29tcGxldGVOb2RlLCBYQXV0b0NvbXBsZXRlUHJvcGVydHksIFhBdXRvQ29tcGxldGVQcmVmaXggfSBmcm9tICcuL2F1dG8tY29tcGxldGUucHJvcGVydHknO1xyXG5pbXBvcnQge1xyXG4gIFhJc0VtcHR5LFxyXG4gIFhJc09ic2VydmFibGUsXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhTZXREYXRhLFxyXG4gIFhDbGVhckNsYXNzLFxyXG4gIFhDb25maWdTZXJ2aWNlLFxyXG4gIFhQb3NpdGlvblRvcEJvdHRvbSxcclxuICBYSXNGdW5jdGlvbixcclxuICBYUGFyZW50c1xyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYUG9ydGFsU2VydmljZSwgWFBvcnRhbE92ZXJsYXlSZWYsIFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhJbnB1dENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgWEF1dG9Db21wbGV0ZVBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vYXV0by1jb21wbGV0ZS1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIE92ZXJsYXlDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBET1dOX0FSUk9XLCBVUF9BUlJPVywgRU5URVIsIE1BQ19FTlRFUiwgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEF1dG9Db21wbGV0ZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYQXV0b0NvbXBsZXRlQ29tcG9uZW50KV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhBdXRvQ29tcGxldGVDb21wb25lbnQgZXh0ZW5kcyBYQXV0b0NvbXBsZXRlUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRDb20nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dENvbSE6IFhJbnB1dENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdhdXRvQ29tcGxldGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhdXRvQ29tcGxldGUhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBlbnRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlWYWx1ZTogYW55ID0gJyc7XHJcbiAgbm9kZXM6IFhBdXRvQ29tcGxldGVOb2RlW10gPSBbXTtcclxuICBzZWFyY2hOb2RlczogWEF1dG9Db21wbGV0ZU5vZGVbXSA9IFtdO1xyXG4gIGNsb25lTm9kZXMhOiBYQXV0b0NvbXBsZXRlTm9kZVtdO1xyXG4gIHBvcnRhbCE6IFhQb3J0YWxPdmVybGF5UmVmPFhBdXRvQ29tcGxldGVQb3J0YWxDb21wb25lbnQ+O1xyXG4gIGljb246IHN0cmluZyA9ICcnO1xyXG4gIGljb25TcGluOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYm94ITogRE9NUmVjdDtcclxuICBwcm90YWxIZWlnaHQhOiBudW1iZXI7XHJcbiAgbWF4Tm9kZXM6IG51bWJlciA9IDY7XHJcbiAgcHJvdGFsVG9ib3R0b206IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFzeW5jTG9hZGluZyA9IGZhbHNlO1xyXG4gIGFuaW1hdGluZyA9IGZhbHNlO1xyXG5cclxuICBvdmVycmlkZSB2YWx1ZVRwbENvbnRleHQ6IHsgJG5vZGU6IGFueTsgJGlzVmFsdWU6IGJvb2xlYW4gfSA9IHsgJG5vZGU6IG51bGwsICRpc1ZhbHVlOiB0cnVlIH07XHJcbiAgdmFsdWVDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcG9zaXRpb25DaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgZGF0YUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8WEF1dG9Db21wbGV0ZU5vZGVbXT4oW10pO1xyXG4gIGlucHV0Q2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gIGNsb3NlU3ViamVjdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAga2V5ZG93blN1YmplY3Q6IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5hdXRvQ29tcGxldGUubmF0aXZlRWxlbWVudCwgdGhpcy5yZW5kZXJlciwgdGhpcy5qdXN0aWZ5LCB0aGlzLmFsaWduLCB0aGlzLmRpcmVjdGlvbik7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2V0UGFyYW50U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGRhdGEgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldFBvcnRhbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMubGFiZWxNYXApO1xyXG4gICAgdGhpcy5sYWJlbE1hcFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWdufWBdID0gdGhpcy5sYWJlbEFsaWduID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YSgpIHtcclxuICAgIGlmIChYSXNPYnNlcnZhYmxlKHRoaXMuZGF0YSkgfHwgWElzRnVuY3Rpb24odGhpcy5kYXRhKSkgcmV0dXJuO1xyXG4gICAgWFNldERhdGE8WEF1dG9Db21wbGV0ZU5vZGU+KHRoaXMuZGF0YSwgdGhpcy5fdW5TdWJqZWN0KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KHgpO1xyXG4gICAgICB0aGlzLnNldFBvcnRhbCgpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFN1YmplY3QoKSB7XHJcbiAgICB0aGlzLmNsb3NlU3ViamVjdC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNsb3NlUG9ydGFsKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaW5wdXRDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKCh4KSA9PiB4ICE9PSBudWxsKSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUgYXMgbnVtYmVyKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubW9kZWxDaGFuZ2UoeCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5rZXlkb3duU3ViamVjdC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgY29uc3Qga2V5Q29kZSA9IHgua2V5Q29kZTtcclxuICAgICAgaWYgKCF0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgW0RPV05fQVJST1csIFVQX0FSUk9XLCBFTlRFUiwgTUFDX0VOVEVSXS5pbmNsdWRlcyhrZXlDb2RlKSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpICYmIFtFU0NBUEVdLmluY2x1ZGVzKGtleUNvZGUpKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFBhcmFudFNjcm9sbCgpIHtcclxuICAgIGlmICghdGhpcy5kb2N1bWVudCkgcmV0dXJuO1xyXG4gICAgY29uc3QgcGFyZW50cyA9IFhQYXJlbnRzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIGxldCBmaXJzdFNjcm9sbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICAgIGZvciAobGV0IGl0ZW0gb2YgcGFyZW50cykge1xyXG4gICAgICBpZiAoaXRlbS5jbGllbnRIZWlnaHQgPCBpdGVtLnNjcm9sbEhlaWdodCkge1xyXG4gICAgICAgIGZpcnN0U2Nyb2xsID0gaXRlbTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGZpcnN0U2Nyb2xsICYmIGZpcnN0U2Nyb2xsLnRhZ05hbWUgIT09ICdCT0RZJykge1xyXG4gICAgICBmcm9tRXZlbnQoZmlyc3RTY3JvbGwsICdzY3JvbGwnKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMucG9ydGFsQXR0YWNoZWQoKSEpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICAgIGNvbnN0IGVyYWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBjb25zdCBmcmVjdCA9IGZpcnN0U2Nyb2xsIS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgIGlmIChlcmFjdC50b3AgKyBlcmFjdC5oZWlnaHQgLSBmcmVjdC50b3AgPCAwIHx8IGVyYWN0LmJvdHRvbSA+IGZyZWN0LmJvdHRvbSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3J0YWxBdHRhY2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUG9ydGFsKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLm9ubHlTZWxlY3QpIHtcclxuICAgICAgICBpZiAoIXRoaXMubm9kZXMubWFwKCh4KSA9PiB4LmxhYmVsKS5pbmNsdWRlcyh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLmlucHV0Q2hhbmdlLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICB9XHJcblxyXG4gIHNob3dQb3J0YWwoKSB7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy52YWx1ZSkgfHwgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmljb25TcGluIHx8IHRoaXMuYW5pbWF0aW5nKSByZXR1cm47XHJcbiAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XHJcbiAgICBpZiAoKFhJc09ic2VydmFibGUodGhpcy5kYXRhKSAmJiB0aGlzLm5vZGVzLmxlbmd0aCA9PT0gMCkgfHwgWElzRnVuY3Rpb24odGhpcy5kYXRhKSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnZnRvLWxvYWRlcic7XHJcbiAgICAgIHRoaXMuaWNvblNwaW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIFhTZXREYXRhPFhBdXRvQ29tcGxldGVOb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCwgdHJ1ZSwgdGhpcy52YWx1ZSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJyc7XHJcbiAgICAgICAgdGhpcy5pY29uU3BpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KHRoaXMubm9kZXMpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVQb3J0YWwoKSB7XHJcbiAgICB0aGlzLm5vZGVzLmZpbHRlcigoeCkgPT4geC5zZWxlY3RlZCkubWFwKCh4KSA9PiAoeC5zZWxlY3RlZCA9IGZhbHNlKSk7XHJcbiAgICBpZiAoWElzRnVuY3Rpb24odGhpcy5kYXRhKSkge1xyXG4gICAgICB0aGlzLnNlYXJjaE5vZGVzID0gdGhpcy5ub2RlcztcclxuICAgIH0gZWxzZSBpZiAoIVhJc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuc2V0U2VhcmNoTm9kZXModGhpcy52YWx1ZSk7XHJcbiAgICAgIHRoaXMuZGF0YUNoYW5nZS5uZXh0KHRoaXMuc2VhcmNoTm9kZXMpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ib3ggPSB0aGlzLmlucHV0Q29tLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjb25maWc6IE92ZXJsYXlDb25maWcgPSB7XHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICcnLFxyXG4gICAgICB3aWR0aDogdGhpcy5ib3gud2lkdGgsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UGxhY2VtZW50KCksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcclxuICAgIH07XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uKGNvbmZpZyk7XHJcbiAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiBYQXV0b0NvbXBsZXRlUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgID8ub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gICAgICBwbGFjZSAhPT0gdGhpcy5wbGFjZW1lbnQgJiYgdGhpcy5wb3NpdGlvbkNoYW5nZS5uZXh0KHBsYWNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWwuY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHJldHVybjtcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGRhdGE6IHRoaXMuc2VhcmNoTm9kZXMsXHJcbiAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxyXG4gICAgICBub2RlVHBsOiB0aGlzLm5vZGVUcGwsXHJcbiAgICAgIHZhbHVlQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLFxyXG4gICAgICBkYXRhQ2hhbmdlOiB0aGlzLmRhdGFDaGFuZ2UsXHJcbiAgICAgIHBvc2l0aW9uQ2hhbmdlOiB0aGlzLnBvc2l0aW9uQ2hhbmdlLFxyXG4gICAgICBjbG9zZVN1YmplY3Q6IHRoaXMuY2xvc2VTdWJqZWN0LFxyXG4gICAgICBrZXlkb3duU3ViamVjdDogdGhpcy5rZXlkb3duU3ViamVjdCxcclxuICAgICAgaW5wdXRDb206IHRoaXMuaW5wdXRDb20sXHJcbiAgICAgIGlucHV0Q2hhbmdlOiB0aGlzLmlucHV0Q2hhbmdlLFxyXG4gICAgICBkZXN0cm95UG9ydGFsOiAoKSA9PiB0aGlzLmRlc3Ryb3lQb3J0YWwoKSxcclxuICAgICAgbm9kZUVtaXQ6IChub2RlOiBYQXV0b0NvbXBsZXRlTm9kZSkgPT4gdGhpcy5vbk5vZGVDbGljayhub2RlKSxcclxuICAgICAgYW5pbWF0aW5nOiAoaW5nOiBib29sZWFuKSA9PiAodGhpcy5hbmltYXRpbmcgPSBpbmcpXHJcbiAgICB9KTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbk5vZGVDbGljayhub2RlOiBYQXV0b0NvbXBsZXRlTm9kZSB8IFhBdXRvQ29tcGxldGVOb2RlW10pIHtcclxuICAgIG5vZGUgPSBub2RlIGFzIFhBdXRvQ29tcGxldGVOb2RlO1xyXG4gICAgaWYgKHRoaXMudmFsdWUgPT09IG5vZGUubGFiZWwpIHtcclxuICAgICAgdGhpcy5ub2RlRW1pdC5lbWl0KG5vZGUpO1xyXG4gICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgPSBub2RlLmxhYmVsO1xyXG4gICAgdGhpcy52YWx1ZVRwbENvbnRleHQuJG5vZGUgPSBub2RlO1xyXG4gICAgdGhpcy5pbnB1dENvbS5pbnB1dEZvY3VzKCk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMubm9kZUVtaXQuZW1pdChub2RlKTtcclxuICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UGxhY2VtZW50KHtcclxuICAgICAgZWxlbWVudFJlZjogdGhpcy5pbnB1dENvbS5pbnB1dFJlZixcclxuICAgICAgcGxhY2VtZW50OiBbdGhpcy5wbGFjZW1lbnQgYXMgWFBvc2l0aW9uVG9wQm90dG9tLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAndG9wLXN0YXJ0JywgJ3RvcC1lbmQnXSxcclxuICAgICAgdHJhbnNmb3JtT3JpZ2luT246ICd4LWF1dG8tY29tcGxldGUtcG9ydGFsJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRQb3J0YWwoKSB7XHJcbiAgICB0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy5zZXRQbGFjZW1lbnQoKSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWFyY2hOb2Rlcyh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5jYXNlU2Vuc2l0aXZlKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoTm9kZXMgPSB0aGlzLm5vZGVzLmZpbHRlcigoeCkgPT4geC5sYWJlbC5pbmRleE9mKHZhbHVlKSA+PSAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoTm9kZXMgPSB0aGlzLm5vZGVzLmZpbHRlcigoeCkgPT4gKHgubGFiZWwgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoKHZhbHVlIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKSkgPj0gMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICBpZiAoWElzRnVuY3Rpb24odGhpcy5kYXRhKSkge1xyXG4gICAgICBpZiAoIXRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICAgIHRoaXMuc2hvd1BvcnRhbCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChYSXNFbXB0eSh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5pY29uID0gJ2Z0by1sb2FkZXInO1xyXG4gICAgICAgICAgdGhpcy5pY29uU3BpbiA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICBYU2V0RGF0YTxYQXV0b0NvbXBsZXRlTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QsIHRydWUsIHZhbHVlIGFzIGFueSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmljb25TcGluID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dCh0aGlzLm5vZGVzKTtcclxuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICghdGhpcy5vbmx5U2VsZWN0KSB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSAmJiB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ub2Rlcykge1xyXG4gICAgICBpZiAoIXRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICAgIHRoaXMuc2hvd1BvcnRhbCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChYSXNFbXB0eSh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTZWFyY2hOb2Rlcyh2YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dCh0aGlzLnNlYXJjaE5vZGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICghdGhpcy5vbmx5U2VsZWN0KSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UgJiYgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnNldERhdGEoKTtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbktleWRvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLmtleWRvd25TdWJqZWN0Lm5leHQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoX2V2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyhfZXZlbnQ6IEV2ZW50KSB7fVxyXG5cclxuICBvbkJsdXIoX2V2ZW50OiBFdmVudCkge31cclxufVxyXG4iLCI8ZGl2ICNhdXRvQ29tcGxldGUgY2xhc3M9XCJ4LWF1dG8tY29tcGxldGVcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1hdXRvLWNvbXBsZXRlLXJvd1wiPlxyXG4gICAgPHgtaW5wdXRcclxuICAgICAgI2lucHV0Q29tXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgW2xhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXHJcbiAgICAgIFtsYWJlbEFsaWduXT1cImxhYmVsQWxpZ25cIlxyXG4gICAgICBbanVzdGlmeV09XCJqdXN0aWZ5XCJcclxuICAgICAgW2FsaWduXT1cImFsaWduXCJcclxuICAgICAgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICBbaWNvbl09XCJpY29uXCJcclxuICAgICAgW2ljb25TcGluXT1cImljb25TcGluXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbdmFsdWVUcGxdPVwidmFsdWVUcGxcIlxyXG4gICAgICBbdmFsdWVUcGxDb250ZXh0XT1cInZhbHVlVHBsQ29udGV4dFwiXHJcbiAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICBbYm9yZGVyZWRdPVwiYm9yZGVyZWRcIlxyXG4gICAgICBbYmVmb3JlXT1cImJlZm9yZVwiXHJcbiAgICAgIFthZnRlcl09XCJhZnRlclwiXHJcbiAgICAgIFtwYXR0ZXJuXT1cInBhdHRlcm5cIlxyXG4gICAgICBbbWVzc2FnZV09XCJtZXNzYWdlXCJcclxuICAgICAgW3BvaW50ZXJdPVwicG9pbnRlclwiXHJcbiAgICAgIFsoYWN0aXZlKV09XCJhY3RpdmVcIlxyXG4gICAgICAoeElucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICh4S2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICh4Rm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgKHhCbHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICAgKHhDbGljayk9XCJzaG93UG9ydGFsKClcIlxyXG4gICAgPjwveC1pbnB1dD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, inject } from '@angular/core';
|
|
2
2
|
import { XBackTopPrefix, XBackTopProperty } from './back-top.property';
|
|
3
|
-
import { reqAnimFrame, XIsChange } from '@ng-nest/ui/core';
|
|
3
|
+
import { reqAnimFrame, XIsChange, XIsNumber } from '@ng-nest/ui/core';
|
|
4
4
|
import { DOCUMENT } from '@angular/common';
|
|
5
5
|
import { fromEvent, Subject } from 'rxjs';
|
|
6
6
|
import { throttleTime, takeUntil } from 'rxjs/operators';
|
|
@@ -99,7 +99,10 @@ class XBackTopComponent extends XBackTopProperty {
|
|
|
99
99
|
const difference = to - this.scrollTop;
|
|
100
100
|
const perTick = (difference / duration) * 10;
|
|
101
101
|
reqAnimFrame(() => {
|
|
102
|
-
|
|
102
|
+
const num = this.scrollTop + perTick;
|
|
103
|
+
if (XIsNumber(num) && num !== Infinity) {
|
|
104
|
+
this.scrollTop = num;
|
|
105
|
+
}
|
|
103
106
|
if (this.scrollTop === to || duration <= 0) {
|
|
104
107
|
return;
|
|
105
108
|
}
|
|
@@ -119,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
119
122
|
type: ViewChild,
|
|
120
123
|
args: ['backTopTpl']
|
|
121
124
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYmFjay10b3AvYmFjay10b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYmFjay10b3AvYmFjay10b3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXZCLFNBQVMsRUFLVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBSXpELE1BT2EsaUJBQWtCLFNBQVEsZ0JBQWdCO0lBR3JELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFnQixDQUFDLFNBQVMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsT0FBUSxJQUFJLENBQUMsTUFBc0IsQ0FBQyxTQUFTLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRUQsSUFBSSxTQUFTLENB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O1NEeUJhLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLEdBQUcsY0FBYyxFQUFFLGlCQUdkLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07eVFBR3RCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgaW5qZWN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhCYWNrVG9wUHJlZml4LCBYQmFja1RvcFByb3BlcnR5IH0gZnJvbSAnLi9iYWNrLXRvcC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IHJlcUFuaW1GcmFtZSwgWENvbmZpZ1NlcnZpY2UsIFhJc0NoYW5nZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0aHJvdHRsZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hCYWNrVG9wUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JhY2stdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iYWNrLXRvcC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhCYWNrVG9wQ29tcG9uZW50IGV4dGVuZHMgWEJhY2tUb3BQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2JhY2tUb3BUcGwnKSBiYWNrVG9wVHBsITogVGVtcGxhdGVSZWY8dm9pZD47XHJcblxyXG4gIGdldCBzY3JvbGwoKTogSFRNTEVsZW1lbnQgfCBXaW5kb3cgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl90YXJnZXQgfHwgdGhpcy5kb2MuZGVmYXVsdFZpZXc7XHJcbiAgfVxyXG5cclxuICBnZXQgc2Nyb2xsVG9wKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5zY3JvbGwgPT09IHRoaXMuZG9jLmRlZmF1bHRWaWV3KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQhLnNjcm9sbFRvcDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAodGhpcy5zY3JvbGwgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbFRvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBzY3JvbGxUb3AodG9wOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLnNjcm9sbCA9PT0gdGhpcy5kb2MuZGVmYXVsdFZpZXcpIHtcclxuICAgICAgdGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50IS5zY3JvbGxUb3AgPSB0b3AhO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgKHRoaXMuc2Nyb2xsIGFzIEhUTUxFbGVtZW50KS5zY3JvbGxUb3AgPSB0b3AhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmlzaWFibGUgPSBmYWxzZTtcclxuICBzY3JvbGxpbmcgPSBmYWxzZTtcclxuICBwb3J0YWxSZWYhOiBYUG9ydGFsT3ZlcmxheVJlZjxhbnk+O1xyXG4gIHByaXZhdGUgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3RhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHBvcnRhbDogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBwbGF0Zm9ybTogUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgdGFyZ2V0IH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKFhJc0NoYW5nZSh0YXJnZXQpKSB7XHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IHR5cGVvZiB0aGlzLnRhcmdldCA9PT0gJ3N0cmluZycgPyB0aGlzLmRvYy5xdWVyeVNlbGVjdG9yKHRoaXMudGFyZ2V0KSA6IHRoaXMudGFyZ2V0ITtcclxuICAgICAgdGhpcy5zZXRTY3JvbGxFdmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldFNjcm9sbEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG9uQmFja1RvcCgpIHtcclxuICAgIHRoaXMuc2Nyb2xsaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuc2Nyb2xsVG8oMCwgMjAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2Nyb2xsRXZlbnQoKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbCkgcmV0dXJuO1xyXG4gICAgZnJvbUV2ZW50KHRoaXMuc2Nyb2xsLCAnc2Nyb2xsJylcclxuICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDIwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U2Nyb2xsaW5nKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTY3JvbGxpbmcoKSB7XHJcbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLnNjcm9sbFRvcDtcclxuICAgIGNvbnN0IHZpc2libGUgPSBzY3JvbGxUb3AgPj0gKHRoaXMudmlzaWJpbGl0eUhlaWdodCBhcyBudW1iZXIpO1xyXG4gICAgaWYgKHRoaXMudmlzaWFibGUgIT09IHZpc2libGUpIHtcclxuICAgICAgdGhpcy52aXNpYWJsZSA9IHZpc2libGU7XHJcbiAgICAgIGlmICh0aGlzLnZpc2lhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5wb3J0YWxSZWYgPSB0aGlzLnBvcnRhbC5hdHRhY2goe1xyXG4gICAgICAgICAgY29udGVudDogdGhpcy5iYWNrVG9wVHBsLFxyXG4gICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgICAgb3ZlcmxheUNvbmZpZzoge1xyXG4gICAgICAgICAgICB3aWR0aDogJzIuNXJlbScsXHJcbiAgICAgICAgICAgIGhlaWdodDogJzIuNXJlbScsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucG9ydGFsLnNldFBsYWNlKCdib3R0b20tZW5kJywgLi4uWycwJywgdGhpcy5yaWdodCBhcyBzdHJpbmcsIHRoaXMuYm90dG9tIGFzIHN0cmluZywgJzAnXSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnBvcnRhbFJlZj8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSAmJiB0aGlzLnBvcnRhbFJlZi5vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG8odG86IG51bWJlciwgZHVyYXRpb246IG51bWJlcikge1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRvIC0gdGhpcy5zY3JvbGxUb3A7XHJcbiAgICBjb25zdCBwZXJUaWNrID0gKGRpZmZlcmVuY2UgLyBkdXJhdGlvbikgKiAxMDtcclxuICAgIHJlcUFuaW1GcmFtZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxUb3AgKyBwZXJUaWNrO1xyXG4gICAgICBpZiAodGhpcy5zY3JvbGxUb3AgPT09IHRvIHx8IGR1cmF0aW9uIDw9IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0bywgZHVyYXRpb24gLSAxMCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2JhY2tUb3BUcGw+XHJcbiAgPGRpdiBjbGFzcz1cIngtYmFjay10b3BcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiIChjbGljayk9XCJvbkJhY2tUb3AoKVwiPlxyXG4gICAgPHgtbGluayAqbmdJZj1cIiF0ZW1wbGF0ZVwiIGljb249XCJmdG8tYXJyb3ctdXBcIj4gPC94LWxpbms+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYmFjay10b3AvYmFjay10b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvYmFjay10b3AvYmFjay10b3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXZCLFNBQVMsRUFLVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQWtCLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUl6RCxNQU9hLGlCQUFrQixTQUFRLGdCQUFnQjtJQUdyRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRTtZQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZ0IsQ0FBQyxTQUFTLENBQUM7U0FDNUM7YUFBTTtZQUNMLE9BQVEsSUFBSSxDQUFDLE1BQXNCLENBQUMsU0FBUyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVELElB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UUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO2lJQTdHVSxpQkFBaUI7cUhBQWpCLGlCQUFpQix3TUMvQjlCLG9SQU1BOztTRHlCYSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxHQUFHLGNBQWMsRUFBRSxpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO3lRQUd0QixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25EZXN0cm95LFxyXG4gIFZpZXdDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQmFja1RvcFByZWZpeCwgWEJhY2tUb3BQcm9wZXJ0eSB9IGZyb20gJy4vYmFjay10b3AucHJvcGVydHknO1xyXG5pbXBvcnQgeyByZXFBbmltRnJhbWUsIFhDb25maWdTZXJ2aWNlLCBYSXNDaGFuZ2UsIFhJc051bWJlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0aHJvdHRsZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hCYWNrVG9wUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JhY2stdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iYWNrLXRvcC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhCYWNrVG9wQ29tcG9uZW50IGV4dGVuZHMgWEJhY2tUb3BQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2JhY2tUb3BUcGwnKSBiYWNrVG9wVHBsITogVGVtcGxhdGVSZWY8dm9pZD47XHJcblxyXG4gIGdldCBzY3JvbGwoKTogSFRNTEVsZW1lbnQgfCBXaW5kb3cgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl90YXJnZXQgfHwgdGhpcy5kb2MuZGVmYXVsdFZpZXc7XHJcbiAgfVxyXG5cclxuICBnZXQgc2Nyb2xsVG9wKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5zY3JvbGwgPT09IHRoaXMuZG9jLmRlZmF1bHRWaWV3KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQhLnNjcm9sbFRvcDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAodGhpcy5zY3JvbGwgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbFRvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBzY3JvbGxUb3AodG9wOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLnNjcm9sbCA9PT0gdGhpcy5kb2MuZGVmYXVsdFZpZXcpIHtcclxuICAgICAgdGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50IS5zY3JvbGxUb3AgPSB0b3AhO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgKHRoaXMuc2Nyb2xsIGFzIEhUTUxFbGVtZW50KS5zY3JvbGxUb3AgPSB0b3AhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmlzaWFibGUgPSBmYWxzZTtcclxuICBzY3JvbGxpbmcgPSBmYWxzZTtcclxuICBwb3J0YWxSZWYhOiBYUG9ydGFsT3ZlcmxheVJlZjxhbnk+O1xyXG4gIHByaXZhdGUgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3RhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHBvcnRhbDogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBwbGF0Zm9ybTogUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgdGFyZ2V0IH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKFhJc0NoYW5nZSh0YXJnZXQpKSB7XHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IHR5cGVvZiB0aGlzLnRhcmdldCA9PT0gJ3N0cmluZycgPyB0aGlzLmRvYy5xdWVyeVNlbGVjdG9yKHRoaXMudGFyZ2V0KSA6IHRoaXMudGFyZ2V0ITtcclxuICAgICAgdGhpcy5zZXRTY3JvbGxFdmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldFNjcm9sbEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG9uQmFja1RvcCgpIHtcclxuICAgIHRoaXMuc2Nyb2xsaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuc2Nyb2xsVG8oMCwgMjAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2Nyb2xsRXZlbnQoKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbCkgcmV0dXJuO1xyXG4gICAgZnJvbUV2ZW50KHRoaXMuc2Nyb2xsLCAnc2Nyb2xsJylcclxuICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDIwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U2Nyb2xsaW5nKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTY3JvbGxpbmcoKSB7XHJcbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLnNjcm9sbFRvcDtcclxuICAgIGNvbnN0IHZpc2libGUgPSBzY3JvbGxUb3AgPj0gKHRoaXMudmlzaWJpbGl0eUhlaWdodCBhcyBudW1iZXIpO1xyXG4gICAgaWYgKHRoaXMudmlzaWFibGUgIT09IHZpc2libGUpIHtcclxuICAgICAgdGhpcy52aXNpYWJsZSA9IHZpc2libGU7XHJcbiAgICAgIGlmICh0aGlzLnZpc2lhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5wb3J0YWxSZWYgPSB0aGlzLnBvcnRhbC5hdHRhY2goe1xyXG4gICAgICAgICAgY29udGVudDogdGhpcy5iYWNrVG9wVHBsLFxyXG4gICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgICAgb3ZlcmxheUNvbmZpZzoge1xyXG4gICAgICAgICAgICB3aWR0aDogJzIuNXJlbScsXHJcbiAgICAgICAgICAgIGhlaWdodDogJzIuNXJlbScsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucG9ydGFsLnNldFBsYWNlKCdib3R0b20tZW5kJywgLi4uWycwJywgdGhpcy5yaWdodCBhcyBzdHJpbmcsIHRoaXMuYm90dG9tIGFzIHN0cmluZywgJzAnXSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnBvcnRhbFJlZj8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSAmJiB0aGlzLnBvcnRhbFJlZi5vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG8odG86IG51bWJlciwgZHVyYXRpb246IG51bWJlcikge1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRvIC0gdGhpcy5zY3JvbGxUb3A7XHJcbiAgICBjb25zdCBwZXJUaWNrID0gKGRpZmZlcmVuY2UgLyBkdXJhdGlvbikgKiAxMDtcclxuICAgIHJlcUFuaW1GcmFtZSgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bSA9IHRoaXMuc2Nyb2xsVG9wICsgcGVyVGljaztcclxuICAgICAgaWYgKFhJc051bWJlcihudW0pICYmIG51bSAhPT0gSW5maW5pdHkpIHtcclxuICAgICAgICB0aGlzLnNjcm9sbFRvcCA9IG51bTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zY3JvbGxUb3AgPT09IHRvIHx8IGR1cmF0aW9uIDw9IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0bywgZHVyYXRpb24gLSAxMCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2JhY2tUb3BUcGw+XHJcbiAgPGRpdiBjbGFzcz1cIngtYmFjay10b3BcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiIChjbGljayk9XCJvbkJhY2tUb3AoKVwiPlxyXG4gICAgPHgtbGluayAqbmdJZj1cIiF0ZW1wbGF0ZVwiIGljb249XCJmdG8tYXJyb3ctdXBcIj4gPC94LWxpbms+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|