@taiga-ui/addon-charts 3.14.0 → 3.15.0-dev.main-978eec3
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/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js +12 -12
- package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-axes.umd.js +10 -10
- package/bundles/taiga-ui-addon-charts-components-axes.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-bar-chart.umd.js +8 -8
- package/bundles/taiga-ui-addon-charts-components-bar-chart.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-bar-set.umd.js +5 -5
- package/bundles/taiga-ui-addon-charts-components-bar-set.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-bar.umd.js +5 -5
- package/bundles/taiga-ui-addon-charts-components-bar.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js +10 -10
- package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-line-chart.umd.js +15 -15
- package/bundles/taiga-ui-addon-charts-components-line-chart.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js +10 -10
- package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js +16 -16
- package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js +5 -5
- package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js.map +1 -1
- package/esm2015/components/arc-chart/arc-chart.component.js +13 -13
- package/esm2015/components/axes/axes.component.js +11 -11
- package/esm2015/components/bar/bar.component.js +6 -6
- package/esm2015/components/bar-chart/bar-chart.component.js +9 -9
- package/esm2015/components/bar-set/bar-set.component.js +6 -6
- package/esm2015/components/legend-item/legend-item.component.js +11 -11
- package/esm2015/components/line-chart/line-chart-hint.directive.js +5 -5
- package/esm2015/components/line-chart/line-chart.component.js +12 -12
- package/esm2015/components/line-days-chart/line-days-chart-hint.directive.js +4 -4
- package/esm2015/components/line-days-chart/line-days-chart.component.js +8 -8
- package/esm2015/components/pie-chart/pie-chart.component.js +15 -15
- package/esm2015/components/pie-chart/pie-chart.directive.js +3 -3
- package/esm2015/components/ring-chart/ring-chart.component.js +6 -6
- package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js +12 -12
- package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-axes.js +10 -10
- package/fesm2015/taiga-ui-addon-charts-components-axes.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-bar-chart.js +8 -8
- package/fesm2015/taiga-ui-addon-charts-components-bar-chart.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-bar-set.js +5 -5
- package/fesm2015/taiga-ui-addon-charts-components-bar-set.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-bar.js +5 -5
- package/fesm2015/taiga-ui-addon-charts-components-bar.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-legend-item.js +10 -10
- package/fesm2015/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-line-chart.js +15 -15
- package/fesm2015/taiga-ui-addon-charts-components-line-chart.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js +10 -10
- package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js +16 -16
- package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js +5 -5
- package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
- package/package.json +4 -4
|
@@ -44,7 +44,7 @@ export class TuiLineChartComponent {
|
|
|
44
44
|
}
|
|
45
45
|
get hintContent() {
|
|
46
46
|
var _a;
|
|
47
|
-
return ((_a = this.hintOptions) === null || _a === void 0 ? void 0 : _a.content) ||
|
|
47
|
+
return ((_a = this.hintOptions) === null || _a === void 0 ? void 0 : _a.content) || '';
|
|
48
48
|
}
|
|
49
49
|
get fillId() {
|
|
50
50
|
return `tui-line-chart-${this.autoIdString}`;
|
|
@@ -52,7 +52,7 @@ export class TuiLineChartComponent {
|
|
|
52
52
|
get fill() {
|
|
53
53
|
return this.filled
|
|
54
54
|
? tuiPrepareExternalUrl(this.ngLocation, this.locationRef, this.fillId)
|
|
55
|
-
:
|
|
55
|
+
: 'none';
|
|
56
56
|
}
|
|
57
57
|
get viewBox() {
|
|
58
58
|
return `${this.x} ${this.y} ${this.width} ${this.height}`;
|
|
@@ -131,7 +131,7 @@ export class TuiLineChartComponent {
|
|
|
131
131
|
return this.value.length === 1;
|
|
132
132
|
}
|
|
133
133
|
getD(value, smoothingFactor) {
|
|
134
|
-
return value.reduce((d, point, index) => index ? `${d} ${tuiDraw(value, index, smoothingFactor)}` : `M ${point}`,
|
|
134
|
+
return value.reduce((d, point, index) => index ? `${d} ${tuiDraw(value, index, smoothingFactor)}` : `M ${point}`, '');
|
|
135
135
|
}
|
|
136
136
|
computeWidth(index) {
|
|
137
137
|
return index === this.value.length - 1
|
|
@@ -140,7 +140,7 @@ export class TuiLineChartComponent {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
TuiLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiLineChartComponent, deps: [{ token: TuiIdService }, { token: NgZone }, { token: NgLocation }, { token: LOCATION }, { token: TuiLineChartHintDirective, optional: true }, { token: TuiHintOptionsDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
143
|
-
TuiLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiLineChartComponent, selector: "tui-line-chart", inputs: { valueSetter: ["value", "valueSetter"], x: "x", y: "y", width: "width", height: "height", smoothingFactor: "smoothingFactor", xStringify: "xStringify", yStringify: "yStringify", filled: "filled", dots: "dots" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, viewQueries: [{ propertyName: "drivers", predicate: TuiDriver, descendants: true }], ngImport: i0, template: "<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n height=\"100%\"\n class=\"t-svg\"\n [attr.viewBox]=\"viewBox\"\n >\n <defs>\n <linearGradient\n x1=\"0\"\n x2=\"0\"\n y1=\"1\"\n y2=\"0\"\n [attr.id]=\"fillId\"\n >\n <stop\n stop-color=\"currentColor\"\n offset=\"0%\"\n stop-opacity=\"0.5\"\n />\n <stop\n stop-color=\"currentColor\"\n offset=\"100%\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.fill]=\"fill\"\n [attr.d]=\"fillD\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n vector-effect=\"non-scaling-stroke\"\n stroke-width=\"2\"\n [attr.d]=\"d\"\n />\n </svg>\n <ng-container *ngIf=\"dots\">\n <div\n *ngFor=\"let point of value\"\n class=\"t-dot\"\n [style.left.%]=\"getLeft(point[0])\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"getContentContext(point, index)\"\n [tuiHintDescribe]=\"getHintId(index)\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\n (mouseenter)=\"onMouseEnter(index)\"\n >\n <div\n class=\"t-line t-line_vertical\"\n [style.left.%]=\"getOffset(index)\"\n ></div>\n <div\n #hintHost\n class=\"t-host\"\n [style.left.%]=\"getOffset(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [tuiFocusable]=\"isFocusable\"\n [id]=\"getHintId(index)\"\n ></div>\n </div>\n <div\n *ngIf=\"isFocusable\"\n class=\"t-line t-line_horizontal\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"getHovered(hovered) as point\">\n <div\n *ngIf=\"xStringify\"\n class=\"t-hint t-hint_x\"\n [style.left.%]=\"getLeft(point[0])\"\n >\n {{ xStringify(point[0]) }}\n </div>\n <div\n *ngIf=\"yStringify\"\n class=\"t-hint t-hint_y\"\n [style.bottom.%]=\"getBottom(point[1])\"\n >\n {{ yStringify(point[1]) }}\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;width:100%;height:100%;pointer-events:none}.t-svg{transform:scaleY(-1)}.t-column{position:absolute;top:0;height:100%;pointer-events:auto}.t-dot{position:absolute;width:.375rem;height:.375rem;border-radius:100%;background:currentColor;margin:-.1875rem;box-shadow:0 0 0 2px #fff}.t-host{position:absolute;left:50%;width:.5rem;height:.5rem;border-radius:100%;opacity:0;background:#fff;margin:-.25rem;box-shadow:0 0 0 2px currentColor,0 .0625rem .1875rem .125rem rgba(0,0,0,.1);outline:none;pointer-events:none}.t-host:focus,.t-column_hovered .t-host,.t-column:hover .t-host,.t-column_hint_hovered .t-host{opacity:1}.t-line{position:absolute;opacity:0;background:var(--tui-base-03)}.t-line_vertical{top:0;bottom:0;left:50%;width:1px}.t-line_horizontal{z-index:-1;width:100%;height:1px}:host[style^=\"z-index: 0\"] .t-column_hovered .t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column_hint_hovered .t-line,:host[style^=\"z-index: 0\"] .t-column_hovered+.t-line,:host:not([style]) .t-column:hover+.t-line,:host:not([style]) .t-column_hint_hovered+.t-line{opacity:1}.t-hint{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:absolute;font:var(--tui-font-text-xs);height:1.25rem;line-height:1.25rem;margin-bottom:-.625rem;padding:0 .375rem;white-space:nowrap;color:var(--tui-base-09);background:var(--tui-base-01);transform:translate(-50%)}.t-hint_x{bottom:0}.t-hint_y{left:0}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { type: i3.TuiHintHostDirective, selector: "[tuiHint][tuiHintHost]", inputs: ["tuiHintHost"] }, { type: i3.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i1.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], pipes: { "async": i2.AsyncPipe }, viewProviders: [tuiHintOptionsProvider({ direction:
|
|
143
|
+
TuiLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiLineChartComponent, selector: "tui-line-chart", inputs: { valueSetter: ["value", "valueSetter"], x: "x", y: "y", width: "width", height: "height", smoothingFactor: "smoothingFactor", xStringify: "xStringify", yStringify: "yStringify", filled: "filled", dots: "dots" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, viewQueries: [{ propertyName: "drivers", predicate: TuiDriver, descendants: true }], ngImport: i0, template: "<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n height=\"100%\"\n class=\"t-svg\"\n [attr.viewBox]=\"viewBox\"\n >\n <defs>\n <linearGradient\n x1=\"0\"\n x2=\"0\"\n y1=\"1\"\n y2=\"0\"\n [attr.id]=\"fillId\"\n >\n <stop\n stop-color=\"currentColor\"\n offset=\"0%\"\n stop-opacity=\"0.5\"\n />\n <stop\n stop-color=\"currentColor\"\n offset=\"100%\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.fill]=\"fill\"\n [attr.d]=\"fillD\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n vector-effect=\"non-scaling-stroke\"\n stroke-width=\"2\"\n [attr.d]=\"d\"\n />\n </svg>\n <ng-container *ngIf=\"dots\">\n <div\n *ngFor=\"let point of value\"\n class=\"t-dot\"\n [style.left.%]=\"getLeft(point[0])\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"getContentContext(point, index)\"\n [tuiHintDescribe]=\"getHintId(index)\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\n (mouseenter)=\"onMouseEnter(index)\"\n >\n <div\n class=\"t-line t-line_vertical\"\n [style.left.%]=\"getOffset(index)\"\n ></div>\n <div\n #hintHost\n class=\"t-host\"\n [style.left.%]=\"getOffset(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [tuiFocusable]=\"isFocusable\"\n [id]=\"getHintId(index)\"\n ></div>\n </div>\n <div\n *ngIf=\"isFocusable\"\n class=\"t-line t-line_horizontal\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"getHovered(hovered) as point\">\n <div\n *ngIf=\"xStringify\"\n class=\"t-hint t-hint_x\"\n [style.left.%]=\"getLeft(point[0])\"\n >\n {{ xStringify(point[0]) }}\n </div>\n <div\n *ngIf=\"yStringify\"\n class=\"t-hint t-hint_y\"\n [style.bottom.%]=\"getBottom(point[1])\"\n >\n {{ yStringify(point[1]) }}\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;width:100%;height:100%;pointer-events:none}.t-svg{transform:scaleY(-1)}.t-column{position:absolute;top:0;height:100%;pointer-events:auto}.t-dot{position:absolute;width:.375rem;height:.375rem;border-radius:100%;background:currentColor;margin:-.1875rem;box-shadow:0 0 0 2px #fff}.t-host{position:absolute;left:50%;width:.5rem;height:.5rem;border-radius:100%;opacity:0;background:#fff;margin:-.25rem;box-shadow:0 0 0 2px currentColor,0 .0625rem .1875rem .125rem rgba(0,0,0,.1);outline:none;pointer-events:none}.t-host:focus,.t-column_hovered .t-host,.t-column:hover .t-host,.t-column_hint_hovered .t-host{opacity:1}.t-line{position:absolute;opacity:0;background:var(--tui-base-03)}.t-line_vertical{top:0;bottom:0;left:50%;width:1px}.t-line_horizontal{z-index:-1;width:100%;height:1px}:host[style^=\"z-index: 0\"] .t-column_hovered .t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column_hint_hovered .t-line,:host[style^=\"z-index: 0\"] .t-column_hovered+.t-line,:host:not([style]) .t-column:hover+.t-line,:host:not([style]) .t-column_hint_hovered+.t-line{opacity:1}.t-hint{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:absolute;font:var(--tui-font-text-xs);height:1.25rem;line-height:1.25rem;margin-bottom:-.625rem;padding:0 .375rem;white-space:nowrap;color:var(--tui-base-09);background:var(--tui-base-01);transform:translate(-50%)}.t-hint_x{bottom:0}.t-hint_y{left:0}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { type: i3.TuiHintHostDirective, selector: "[tuiHint][tuiHintHost]", inputs: ["tuiHintHost"] }, { type: i3.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i1.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], pipes: { "async": i2.AsyncPipe }, viewProviders: [tuiHintOptionsProvider({ direction: 'top' })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
144
144
|
__decorate([
|
|
145
145
|
tuiDefaultProp()
|
|
146
146
|
], TuiLineChartComponent.prototype, "valueSetter", null);
|
|
@@ -157,7 +157,7 @@ __decorate([
|
|
|
157
157
|
tuiDefaultProp()
|
|
158
158
|
], TuiLineChartComponent.prototype, "height", void 0);
|
|
159
159
|
__decorate([
|
|
160
|
-
tuiDefaultProp((smoothingFactor) => tuiInRange(smoothingFactor, 0, 100),
|
|
160
|
+
tuiDefaultProp((smoothingFactor) => tuiInRange(smoothingFactor, 0, 100), 'smoothingFactor must be between 0 and 100')
|
|
161
161
|
], TuiLineChartComponent.prototype, "smoothingFactor", void 0);
|
|
162
162
|
__decorate([
|
|
163
163
|
tuiDefaultProp()
|
|
@@ -180,11 +180,11 @@ __decorate([
|
|
|
180
180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiLineChartComponent, decorators: [{
|
|
181
181
|
type: Component,
|
|
182
182
|
args: [{
|
|
183
|
-
selector:
|
|
184
|
-
templateUrl:
|
|
185
|
-
styleUrls: [
|
|
183
|
+
selector: 'tui-line-chart',
|
|
184
|
+
templateUrl: './line-chart.template.html',
|
|
185
|
+
styleUrls: ['./line-chart.style.less'],
|
|
186
186
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
187
|
-
viewProviders: [tuiHintOptionsProvider({ direction:
|
|
187
|
+
viewProviders: [tuiHintOptionsProvider({ direction: 'top' })],
|
|
188
188
|
}]
|
|
189
189
|
}], ctorParameters: function () { return [{ type: i1.TuiIdService, decorators: [{
|
|
190
190
|
type: Inject,
|
|
@@ -213,7 +213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
213
213
|
args: [TuiDriver]
|
|
214
214
|
}], valueSetter: [{
|
|
215
215
|
type: Input,
|
|
216
|
-
args: [
|
|
216
|
+
args: ['value']
|
|
217
217
|
}], x: [{
|
|
218
218
|
type: Input
|
|
219
219
|
}], y: [{
|
|
@@ -234,6 +234,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
234
234
|
type: Input
|
|
235
235
|
}], hovered$: [], onMouseLeave: [{
|
|
236
236
|
type: HostListener,
|
|
237
|
-
args: [
|
|
237
|
+
args: ['mouseleave']
|
|
238
238
|
}], getD: [] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWNoYXJ0L2xpbmUtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1jaGFydC9saW5lLWNoYXJ0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLElBQUksVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFFUixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxPQUFPLEVBQUUscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixPQUFPLEVBRVAsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUV6QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBYSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7O0FBU3RFLE1BQU0sT0FBTyxxQkFBcUI7SUF1RDlCLFlBQzBCLFNBQXVCLEVBQ1osTUFBYyxFQUNWLFVBQXNCLEVBQ3hCLFdBQXFCLEVBRy9DLGFBQStDLEVBRy9DLFdBQTJDO1FBUm5CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDVixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBRy9DLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQUcvQyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0M7UUFoRXZDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSzFDLFlBQU8sR0FBbUMsV0FBVyxDQUFDO1FBVS9ELE1BQUMsR0FBRyxDQUFDLENBQUM7UUFJTixNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBSU4sVUFBSyxHQUFHLENBQUMsQ0FBQztRQUlWLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFPWCxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUlwQixlQUFVLEdBQW9DLElBQUksQ0FBQztRQUluRCxlQUFVLEdBQW9DLElBQUksQ0FBQztRQUluRCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUViLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBYzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUExREQsSUFBSSxXQUFXLENBQUMsS0FBMEI7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUEyREQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLFdBQVc7O1FBQ1gsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsT0FBTyxLQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxrQkFBa0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxNQUFNO1lBQ2QsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZFLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDcEIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxRQUFROztRQUNSLE9BQU8sQ0FDSCxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ2pCLENBQUMsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsSUFBSSxDQUFBO1lBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUNyQixDQUFDO0lBQ04sQ0FBQztJQUdELFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFhO1FBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0I7UUFFRCxPQUFPLEtBQUs7WUFDUixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN6RCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGlCQUFpQixDQUNiLFNBQW1CLEVBQ25CLEtBQWE7O1FBRWIsT0FBTyxDQUNILENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUk7WUFDbkUsU0FBUztZQUNULEtBQUs7U0FDUixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQXNCO1FBQzdCLG1GQUFtRjtRQUNuRixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNyRCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDckIsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBUztRQUNmLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQVM7UUFDYixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUFTO1FBQ2YsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN6QzthQUFNO1lBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBWSxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFHTyxJQUFJLENBQUMsS0FBMEIsRUFBRSxlQUF1QjtRQUM1RCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQ2YsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ2hCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFDM0UsRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWE7UUFDOUIsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7O21IQXpNUSxxQkFBcUIsa0JBd0RsQixZQUFZLGFBQ1osTUFBTSxhQUNOLFVBQVUsYUFDVixRQUFRLGFBRVIseUJBQXlCLDZCQUd6Qix1QkFBdUI7dUdBaEUxQixxQkFBcUIsd1dBS2hCLFNBQVMsZ0RDbkQzQiwwK0dBd0dBLGk3RUQ1RG1CLENBQUMsc0JBQXNCLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztBQVkzRDtJQURDLGNBQWMsRUFBRTt3REFHaEI7QUFJRDtJQURDLGNBQWMsRUFBRTtnREFDWDtBQUlOO0lBREMsY0FBYyxFQUFFO2dEQUNYO0FBSU47SUFEQyxjQUFjLEVBQUU7b0RBQ1A7QUFJVjtJQURDLGNBQWMsRUFBRTtxREFDTjtBQU9YO0lBSkMsY0FBYyxDQUNYLENBQUMsZUFBdUIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQ2hFLDJDQUEyQyxDQUM5Qzs4REFDbUI7QUFJcEI7SUFEQyxjQUFjLEVBQUU7eURBQ2tDO0FBSW5EO0lBREMsY0FBYyxFQUFFO3lEQUNrQztBQUluRDtJQURDLGNBQWMsRUFBRTtxREFDRjtBQUlmO0lBREMsY0FBYyxFQUFFO21EQUNKO0FBb0JiO0lBREMsT0FBTztxREFHUDtBQW9IRDtJQURDLE9BQU87aURBT1A7NEZBbk1RLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7aUJBQzlEOzswQkF5RFEsTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLFVBQVU7OEJBQzhCLFFBQVE7MEJBQXZELE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx5QkFBeUI7OzBCQUVoQyxRQUFROzswQkFDUixNQUFNOzJCQUFDLHVCQUF1Qjs0Q0ExRDFCLE9BQU87c0JBRGYsWUFBWTt1QkFBQyxTQUFTO2dCQUtuQixXQUFXO3NCQUZkLEtBQUs7dUJBQUMsT0FBTztnQkFRZCxDQUFDO3NCQUZBLEtBQUs7Z0JBTU4sQ0FBQztzQkFGQSxLQUFLO2dCQU1OLEtBQUs7c0JBRkosS0FBSztnQkFNTixNQUFNO3NCQUZMLEtBQUs7Z0JBU04sZUFBZTtzQkFMZCxLQUFLO2dCQVNOLFVBQVU7c0JBRlQsS0FBSztnQkFNTixVQUFVO3NCQUZULEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxLQUFLO2dCQU1OLElBQUk7c0JBRkgsS0FBSztnQkFzQkYsUUFBUSxNQThDWixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkF5RWxCLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9uIGFzIE5nTG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUdWlMaW5lQ2hhcnRIaW50Q29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9pbnRlcmZhY2VzJztcbmltcG9ydCB7dHVpRHJhdywgdHVpUHJlcGFyZUV4dGVybmFsVXJsfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL3V0aWxzJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSWRTZXJ2aWNlLFxuICAgIHR1aUluUmFuZ2UsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbiAgICB0dWlab25lT3B0aW1pemVkLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpRHJpdmVyLFxuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxuICAgIHR1aUhpbnRPcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpUG9pbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aUxpbmVDaGFydEhpbnREaXJlY3RpdmV9IGZyb20gJy4vbGluZS1jaGFydC1oaW50LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWxpbmUtY2hhcnRgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9saW5lLWNoYXJ0LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2xpbmUtY2hhcnQuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHZpZXdQcm92aWRlcnM6IFt0dWlIaW50T3B0aW9uc1Byb3ZpZGVyKHtkaXJlY3Rpb246IGB0b3BgfSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lQ2hhcnRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hvdmVyZWQkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvSWRTdHJpbmc6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGRyZW4oVHVpRHJpdmVyKVxuICAgIHJlYWRvbmx5IGRyaXZlcnM6IFF1ZXJ5TGlzdDxPYnNlcnZhYmxlPGJvb2xlYW4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KGB2YWx1ZWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgdmFsdWVTZXR0ZXIodmFsdWU6IHJlYWRvbmx5IFR1aVBvaW50W10pIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlLmZpbHRlcihpdGVtID0+ICFpdGVtLnNvbWUoTnVtYmVyLmlzTmFOKSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHkgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHdpZHRoID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoZWlnaHQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoXG4gICAgICAgIChzbW9vdGhpbmdGYWN0b3I6IG51bWJlcikgPT4gdHVpSW5SYW5nZShzbW9vdGhpbmdGYWN0b3IsIDAsIDEwMCksXG4gICAgICAgIGBzbW9vdGhpbmdGYWN0b3IgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEwMGAsXG4gICAgKVxuICAgIHNtb290aGluZ0ZhY3RvciA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeFN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeVN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZmlsbGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZG90cyA9IGZhbHNlO1xuXG4gICAgdmFsdWU6IHJlYWRvbmx5IFR1aVBvaW50W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUlkU2VydmljZSkgaWRTZXJ2aWNlOiBUdWlJZFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KE5nTG9jYXRpb24pIHByaXZhdGUgcmVhZG9ubHkgbmdMb2NhdGlvbjogTmdMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChMT0NBVElPTikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZjogTG9jYXRpb24sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaGludERpcmVjdGl2ZTogVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpSGludE9wdGlvbnNEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGhpbnRPcHRpb25zOiBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuYXV0b0lkU3RyaW5nID0gaWRTZXJ2aWNlLmdlbmVyYXRlKCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgaG92ZXJlZCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvdmVyZWQkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdHVpWm9uZU9wdGltaXplZCh0aGlzLm5nWm9uZSkpO1xuICAgIH1cblxuICAgIGdldCBoaW50Q29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUxpbmVDaGFydEhpbnRDb250ZXh0PFR1aVBvaW50Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50T3B0aW9ucz8uY29udGVudCB8fCBgYDtcbiAgICB9XG5cbiAgICBnZXQgZmlsbElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgdHVpLWxpbmUtY2hhcnQtJHt0aGlzLmF1dG9JZFN0cmluZ31gO1xuICAgIH1cblxuICAgIGdldCBmaWxsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbGxlZFxuICAgICAgICAgICAgPyB0dWlQcmVwYXJlRXh0ZXJuYWxVcmwodGhpcy5uZ0xvY2F0aW9uLCB0aGlzLmxvY2F0aW9uUmVmLCB0aGlzLmZpbGxJZClcbiAgICAgICAgICAgIDogYG5vbmVgO1xuICAgIH1cblxuICAgIGdldCB2aWV3Qm94KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnh9ICR7dGhpcy55fSAke3RoaXMud2lkdGh9ICR7dGhpcy5oZWlnaHR9YDtcbiAgICB9XG5cbiAgICBnZXQgZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREKHRoaXMudmFsdWUsIHRoaXMuc21vb3RoaW5nRmFjdG9yKTtcbiAgICB9XG5cbiAgICBnZXQgZmlsbEQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoXG4gICAgICAgICAgICA/IGAke3RoaXMuZH1WICR7dGhpcy55fSBIICR7dGhpcy52YWx1ZVswXVswXX0gViAke3RoaXMudmFsdWVbMF1bMV19YFxuICAgICAgICAgICAgOiB0aGlzLmQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaGludERpcmVjdGl2ZSAmJiB0aGlzLmhhc0hpbnRzO1xuICAgIH1cblxuICAgIGdldCBoYXNIaW50cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy54U3RyaW5naWZ5IHx8XG4gICAgICAgICAgICAhIXRoaXMueVN0cmluZ2lmeSB8fFxuICAgICAgICAgICAgISF0aGlzLmhpbnREaXJlY3RpdmU/LmhpbnQgfHxcbiAgICAgICAgICAgICEhdGhpcy5oaW50Q29udGVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYG1vdXNlbGVhdmVgKVxuICAgIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmhpbnREaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMub25Ib3ZlcmVkKE5hTik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRYKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy5pc1NpbmdsZVBvaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVswXVswXSAvIDI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5kZXhcbiAgICAgICAgICAgID8gKHRoaXMudmFsdWVbaW5kZXggLSAxXVswXSArIHRoaXMudmFsdWVbaW5kZXhdWzBdKSAvIDJcbiAgICAgICAgICAgIDogMiAqIHRoaXMudmFsdWVbMF1bMF0gLSB0aGlzLmdldFgoMSk7XG4gICAgfVxuXG4gICAgZ2V0V2lkdGgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoMTAwICogdGhpcy5jb21wdXRlV2lkdGgoaW5kZXgpKSAvIHRoaXMud2lkdGg7XG4gICAgfVxuXG4gICAgZ2V0SGludElkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5hdXRvSWRTdHJpbmd9XyR7aW5kZXh9YDtcbiAgICB9XG5cbiAgICBnZXRDb250ZW50Q29udGV4dChcbiAgICAgICAgJGltcGxpY2l0OiBUdWlQb2ludCxcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICApOiBUdWlMaW5lQ2hhcnRIaW50Q29udGV4dDxUdWlQb2ludCB8IHJlYWRvbmx5IFR1aVBvaW50W10+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaGludERpcmVjdGl2ZT8uZ2V0Q29udGV4dCh0aGlzLnZhbHVlLmluZGV4T2YoJGltcGxpY2l0KSwgdGhpcykgfHwge1xuICAgICAgICAgICAgICAgICRpbXBsaWNpdCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRIb3ZlcmVkKGhvdmVyZWQ6IG51bWJlciB8IG51bGwpOiBUdWlQb2ludCB8IG51bGwge1xuICAgICAgICAvLyBUaGlzIGNoZWNrcyBmb3IgTmFOIGFuZCBudWxsIHRvbyBzaW5jZSBhc3luYyBwaXBlIHJldHVybnMgbnVsbCBiZWZvcmUgZmlyc3QgaXRlbVxuICAgICAgICByZXR1cm4gdHVpSXNQcmVzZW50KGhvdmVyZWQpICYmIE51bWJlci5pc0ludGVnZXIoaG92ZXJlZClcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZVtob3ZlcmVkXVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldEJvdHRvbSh5OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKDEwMCAqICh5IC0gdGhpcy55KSkgLyB0aGlzLmhlaWdodDtcbiAgICB9XG5cbiAgICBnZXRMZWZ0KHg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoMTAwICogKHggLSB0aGlzLngpKSAvIHRoaXMud2lkdGg7XG4gICAgfVxuXG4gICAgZ2V0T2Zmc2V0KHg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoMTAwICogKHRoaXMudmFsdWVbeF1bMF0gLSB0aGlzLmdldFgoeCkpKSAvIHRoaXMuY29tcHV0ZVdpZHRoKHgpO1xuICAgIH1cblxuICAgIG9uTW91c2VFbnRlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhpbnREaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuaGludERpcmVjdGl2ZS5yYWlzZShpbmRleCwgdGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uSG92ZXJlZChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9ob3ZlcmVkJC5uZXh0KGluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1NpbmdsZVBvaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPT09IDE7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldEQodmFsdWU6IHJlYWRvbmx5IFR1aVBvaW50W10sIHNtb290aGluZ0ZhY3RvcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlZHVjZShcbiAgICAgICAgICAgIChkLCBwb2ludCwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPyBgJHtkfSAke3R1aURyYXcodmFsdWUsIGluZGV4LCBzbW9vdGhpbmdGYWN0b3IpfWAgOiBgTSAke3BvaW50fWAsXG4gICAgICAgICAgICBgYCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVXaWR0aChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCAtIDFcbiAgICAgICAgICAgID8gMiAqICh0aGlzLnZhbHVlW2luZGV4XVswXSAtIHRoaXMuZ2V0WChpbmRleCkpXG4gICAgICAgICAgICA6IHRoaXMuZ2V0WChpbmRleCArIDEpIC0gdGhpcy5nZXRYKGluZGV4KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0dWlMZXQ9XCJob3ZlcmVkJCB8IGFzeW5jIGFzIGhvdmVyZWRcIj5cbiAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgIGNsYXNzPVwidC1zdmdcIlxuICAgICAgICBbYXR0ci52aWV3Qm94XT1cInZpZXdCb3hcIlxuICAgID5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgICAgICAgICB4MT1cIjBcIlxuICAgICAgICAgICAgICAgIHgyPVwiMFwiXG4gICAgICAgICAgICAgICAgeTE9XCIxXCJcbiAgICAgICAgICAgICAgICB5Mj1cIjBcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImZpbGxJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN0b3BcbiAgICAgICAgICAgICAgICAgICAgc3RvcC1jb2xvcj1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldD1cIjAlXCJcbiAgICAgICAgICAgICAgICAgICAgc3RvcC1vcGFjaXR5PVwiMC41XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzdG9wXG4gICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3I9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgc3RvcC1vcGFjaXR5PVwiMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgIDwvZGVmcz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0cm9rZT1cIm5vbmVcIlxuICAgICAgICAgICAgW2F0dHIuZmlsbF09XCJmaWxsXCJcbiAgICAgICAgICAgIFthdHRyLmRdPVwiZmlsbERcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgIHZlY3Rvci1lZmZlY3Q9XCJub24tc2NhbGluZy1zdHJva2VcIlxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICBbYXR0ci5kXT1cImRcIlxuICAgICAgICAvPlxuICAgIDwvc3ZnPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb3RzXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwb2ludCBvZiB2YWx1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtZG90XCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiZ2V0TGVmdChwb2ludFswXSlcIlxuICAgICAgICAgICAgW3N0eWxlLmJvdHRvbS4lXT1cImdldEJvdHRvbShwb2ludFsxXSlcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0hpbnRzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBvaW50IG9mIHZhbHVlOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgICAgPCEtLSBUT0RPOiBGaXggaGludCB0eXBlIC0tPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidmFsdWUubGVuZ3RoID4gMSB8fCBkb3RzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtY29sdW1uXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1jb2x1bW5faG92ZXJlZF09XCJob3ZlcmVkID09PSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtY29sdW1uX2hpbnRfaG92ZXJlZF09XCJkcml2ZXJzLmdldChpbmRleCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW3R1aUhpbnRIb3N0XT1cImhpbnRIb3N0XCJcbiAgICAgICAgICAgICAgICBbdHVpSGludF09XCIkYW55KGhpbnREaXJlY3RpdmU/LmhpbnQgfHwgaGludENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICBbdHVpSGludENvbnRleHRdPVwiZ2V0Q29udGVudENvbnRleHQocG9pbnQsIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgW3R1aUhpbnREZXNjcmliZV09XCJnZXRIaW50SWQoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImdldExlZnQoZ2V0WChpbmRleCkpXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJnZXRXaWR0aChpbmRleClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihpbmRleClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWxpbmUgdC1saW5lX3ZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJnZXRPZmZzZXQoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAjaGludEhvc3RcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWhvc3RcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImdldE9mZnNldChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tLiVdPVwiZ2V0Qm90dG9tKHBvaW50WzFdKVwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiaXNGb2N1c2FibGVcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZ2V0SGludElkKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0ZvY3VzYWJsZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWxpbmUgdC1saW5lX2hvcml6b250YWxcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5ib3R0b20uJV09XCJnZXRCb3R0b20ocG9pbnRbMV0pXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldEhvdmVyZWQoaG92ZXJlZCkgYXMgcG9pbnRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ4U3RyaW5naWZ5XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1oaW50IHQtaGludF94XCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiZ2V0TGVmdChwb2ludFswXSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB4U3RyaW5naWZ5KHBvaW50WzBdKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ5U3RyaW5naWZ5XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1oaW50IHQtaGludF95XCJcbiAgICAgICAgICAgIFtzdHlsZS5ib3R0b20uJV09XCJnZXRCb3R0b20ocG9pbnRbMV0pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgeVN0cmluZ2lmeShwb2ludFsxXSkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWNoYXJ0L2xpbmUtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1jaGFydC9saW5lLWNoYXJ0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLElBQUksVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFFUixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxPQUFPLEVBQUUscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixPQUFPLEVBRVAsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUV6QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBYSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7O0FBU3RFLE1BQU0sT0FBTyxxQkFBcUI7SUF1RDlCLFlB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QUs7dUJBQUMsT0FBTztnQkFRZCxDQUFDO3NCQUZBLEtBQUs7Z0JBTU4sQ0FBQztzQkFGQSxLQUFLO2dCQU1OLEtBQUs7c0JBRkosS0FBSztnQkFNTixNQUFNO3NCQUZMLEtBQUs7Z0JBU04sZUFBZTtzQkFMZCxLQUFLO2dCQVNOLFVBQVU7c0JBRlQsS0FBSztnQkFNTixVQUFVO3NCQUZULEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxLQUFLO2dCQU1OLElBQUk7c0JBRkgsS0FBSztnQkFzQkYsUUFBUSxNQThDWixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkF5RWxCLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9uIGFzIE5nTG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUdWlMaW5lQ2hhcnRIaW50Q29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9pbnRlcmZhY2VzJztcbmltcG9ydCB7dHVpRHJhdywgdHVpUHJlcGFyZUV4dGVybmFsVXJsfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL3V0aWxzJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSWRTZXJ2aWNlLFxuICAgIHR1aUluUmFuZ2UsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbiAgICB0dWlab25lT3B0aW1pemVkLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpRHJpdmVyLFxuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxuICAgIHR1aUhpbnRPcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpUG9pbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aUxpbmVDaGFydEhpbnREaXJlY3RpdmV9IGZyb20gJy4vbGluZS1jaGFydC1oaW50LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWxpbmUtY2hhcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5lLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtY2hhcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHZpZXdQcm92aWRlcnM6IFt0dWlIaW50T3B0aW9uc1Byb3ZpZGVyKHtkaXJlY3Rpb246ICd0b3AnfSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lQ2hhcnRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hvdmVyZWQkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvSWRTdHJpbmc6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGRyZW4oVHVpRHJpdmVyKVxuICAgIHJlYWRvbmx5IGRyaXZlcnM6IFF1ZXJ5TGlzdDxPYnNlcnZhYmxlPGJvb2xlYW4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KCd2YWx1ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgdmFsdWVTZXR0ZXIodmFsdWU6IHJlYWRvbmx5IFR1aVBvaW50W10pIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlLmZpbHRlcihpdGVtID0+ICFpdGVtLnNvbWUoTnVtYmVyLmlzTmFOKSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHkgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHdpZHRoID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoZWlnaHQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoXG4gICAgICAgIChzbW9vdGhpbmdGYWN0b3I6IG51bWJlcikgPT4gdHVpSW5SYW5nZShzbW9vdGhpbmdGYWN0b3IsIDAsIDEwMCksXG4gICAgICAgICdzbW9vdGhpbmdGYWN0b3IgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCcsXG4gICAgKVxuICAgIHNtb290aGluZ0ZhY3RvciA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeFN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeVN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZmlsbGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZG90cyA9IGZhbHNlO1xuXG4gICAgdmFsdWU6IHJlYWRvbmx5IFR1aVBvaW50W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUlkU2VydmljZSkgaWRTZXJ2aWNlOiBUdWlJZFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KE5nTG9jYXRpb24pIHByaXZhdGUgcmVhZG9ubHkgbmdMb2NhdGlvbjogTmdMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChMT0NBVElPTikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZjogTG9jYXRpb24sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaGludERpcmVjdGl2ZTogVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpSGludE9wdGlvbnNEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGhpbnRPcHRpb25zOiBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuYXV0b0lkU3RyaW5nID0gaWRTZXJ2aWNlLmdlbmVyYXRlKCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgaG92ZXJlZCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvdmVyZWQkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdHVpWm9uZU9wdGltaXplZCh0aGlzLm5nWm9uZSkpO1xuICAgIH1cblxuICAgIGdldCBoaW50Q29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUxpbmVDaGFydEhpbnRDb250ZXh0PFR1aVBvaW50Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50T3B0aW9ucz8uY29udGVudCB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgZmlsbElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgdHVpLWxpbmUtY2hhcnQtJHt0aGlzLmF1dG9JZFN0cmluZ31gO1xuICAgIH1cblxuICAgIGdldCBmaWxsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbGxlZFxuICAgICAgICAgICAgPyB0dWlQcmVwYXJlRXh0ZXJuYWxVcmwodGhpcy5uZ0xvY2F0aW9uLCB0aGlzLmxvY2F0aW9uUmVmLCB0aGlzLmZpbGxJZClcbiAgICAgICAgICAgIDogJ25vbmUnO1xuICAgIH1cblxuICAgIGdldCB2aWV3Qm94KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnh9ICR7dGhpcy55fSAke3RoaXMud2lkdGh9ICR7dGhpcy5oZWlnaHR9YDtcbiAgICB9XG5cbiAgICBnZXQgZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREKHRoaXMudmFsdWUsIHRoaXMuc21vb3RoaW5nRmFjdG9yKTtcbiAgICB9XG5cbiAgICBnZXQgZmlsbEQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoXG4gICAgICAgICAgICA/IGAke3RoaXMuZH1WICR7dGhpcy55fSBIICR7dGhpcy52YWx1ZVswXVswXX0gViAke3RoaXMudmFsdWVbMF1bMV19YFxuICAgICAgICAgICAgOiB0aGlzLmQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaGludERpcmVjdGl2ZSAmJiB0aGlzLmhhc0hpbnRzO1xuICAgIH1cblxuICAgIGdldCBoYXNIaW50cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy54U3RyaW5naWZ5IHx8XG4gICAgICAgICAgICAhIXRoaXMueVN0cmluZ2lmeSB8fFxuICAgICAgICAgICAgISF0aGlzLmhpbnREaXJlY3RpdmU/LmhpbnQgfHxcbiAgICAgICAgICAgICEhdGhpcy5oaW50Q29udGVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmhpbnREaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMub25Ib3ZlcmVkKE5hTik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRYKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy5pc1NpbmdsZVBvaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVswXVswXSAvIDI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5kZXhcbiAgICAgICAgICAgID8gKHRoaXMudmFsdWVbaW5kZXggLSAxXVswXSArIHRoaXMudmFsdWVbaW5kZXhdWzBdKSAvIDJcbiAgICAgICAgICAgIDogMiAqIHRoaXMudmFsdWVbMF1bMF0gLSB0aGlzLmdldFgoMSk7XG4gICAgfVxuXG4gICAgZ2V0V2lkdGgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoMTAwICogdGhpcy5jb21wdXRlV2lkdGgoaW5kZXgpKSAvIHRoaXMud2lkdGg7XG4gICAgfVxuXG4gICAgZ2V0SGludElkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5hdXRvSWRTdHJpbmd9XyR7aW5kZXh9YDtcbiAgICB9XG5cbiAgICBnZXRDb250ZW50Q29udGV4dChcbiAgICAgICAgJGltcGxpY2l0OiBUdWlQb2ludCxcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICApOiBUdWlMaW5lQ2hhcnRIaW50Q29udGV4dDxUdWlQb2ludCB8IHJlYWRvbmx5IFR1aVBvaW50W10+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaGludERpcmVjdGl2ZT8uZ2V0Q29udGV4dCh0aGlzLnZhbHVlLmluZGV4T2YoJGltcGxpY2l0KSwgdGhpcykgfHwge1xuICAgICAgICAgICAgICAgICRpbXBsaWNpdCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRIb3ZlcmVkKGhvdmVyZWQ6IG51bWJlciB8IG51bGwpOiBUdWlQb2ludCB8IG51bGwge1xuICAgICAgICAvLyBUaGlzIGNoZWNrcyBmb3IgTmFOIGFuZCBudWxsIHRvbyBzaW5jZSBhc3luYyBwaXBlIHJldHVybnMgbnVsbCBiZWZvcmUgZmlyc3QgaXRlbVxuICAgICAgICByZXR1cm4gdHVpSXNQcmVzZW50KGhvdmVyZWQpICYmIE51bWJlci5pc0ludGVnZXIoaG92ZXJlZClcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZVtob3ZlcmVkXVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldEJvdHRvbSh5OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKDEwMCAqICh5IC0gdGhpcy55KSkgLyB0aGlzLmhlaWdodDtcbiAgICB9XG5cbiAgICBnZXRMZWZ0KHg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoMTAwICogKHggLSB0aGlzLngpKSAvIHRoaXMud2lkdGg7XG4gICAgfVxuXG4gICAgZ2V0T2Zmc2V0KHg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoMTAwICogKHRoaXMudmFsdWVbeF1bMF0gLSB0aGlzLmdldFgoeCkpKSAvIHRoaXMuY29tcHV0ZVdpZHRoKHgpO1xuICAgIH1cblxuICAgIG9uTW91c2VFbnRlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhpbnREaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuaGludERpcmVjdGl2ZS5yYWlzZShpbmRleCwgdGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uSG92ZXJlZChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9ob3ZlcmVkJC5uZXh0KGluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1NpbmdsZVBvaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPT09IDE7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldEQodmFsdWU6IHJlYWRvbmx5IFR1aVBvaW50W10sIHNtb290aGluZ0ZhY3RvcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlZHVjZShcbiAgICAgICAgICAgIChkLCBwb2ludCwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPyBgJHtkfSAke3R1aURyYXcodmFsdWUsIGluZGV4LCBzbW9vdGhpbmdGYWN0b3IpfWAgOiBgTSAke3BvaW50fWAsXG4gICAgICAgICAgICAnJyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVXaWR0aChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCAtIDFcbiAgICAgICAgICAgID8gMiAqICh0aGlzLnZhbHVlW2luZGV4XVswXSAtIHRoaXMuZ2V0WChpbmRleCkpXG4gICAgICAgICAgICA6IHRoaXMuZ2V0WChpbmRleCArIDEpIC0gdGhpcy5nZXRYKGluZGV4KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0dWlMZXQ9XCJob3ZlcmVkJCB8IGFzeW5jIGFzIGhvdmVyZWRcIj5cbiAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgIGNsYXNzPVwidC1zdmdcIlxuICAgICAgICBbYXR0ci52aWV3Qm94XT1cInZpZXdCb3hcIlxuICAgID5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgICAgICAgICB4MT1cIjBcIlxuICAgICAgICAgICAgICAgIHgyPVwiMFwiXG4gICAgICAgICAgICAgICAgeTE9XCIxXCJcbiAgICAgICAgICAgICAgICB5Mj1cIjBcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImZpbGxJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN0b3BcbiAgICAgICAgICAgICAgICAgICAgc3RvcC1jb2xvcj1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldD1cIjAlXCJcbiAgICAgICAgICAgICAgICAgICAgc3RvcC1vcGFjaXR5PVwiMC41XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzdG9wXG4gICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3I9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgc3RvcC1vcGFjaXR5PVwiMFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgIDwvZGVmcz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0cm9rZT1cIm5vbmVcIlxuICAgICAgICAgICAgW2F0dHIuZmlsbF09XCJmaWxsXCJcbiAgICAgICAgICAgIFthdHRyLmRdPVwiZmlsbERcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgIHZlY3Rvci1lZmZlY3Q9XCJub24tc2NhbGluZy1zdHJva2VcIlxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICBbYXR0ci5kXT1cImRcIlxuICAgICAgICAvPlxuICAgIDwvc3ZnPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb3RzXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwb2ludCBvZiB2YWx1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtZG90XCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiZ2V0TGVmdChwb2ludFswXSlcIlxuICAgICAgICAgICAgW3N0eWxlLmJvdHRvbS4lXT1cImdldEJvdHRvbShwb2ludFsxXSlcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0hpbnRzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBvaW50IG9mIHZhbHVlOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgICAgPCEtLSBUT0RPOiBGaXggaGludCB0eXBlIC0tPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidmFsdWUubGVuZ3RoID4gMSB8fCBkb3RzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtY29sdW1uXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1jb2x1bW5faG92ZXJlZF09XCJob3ZlcmVkID09PSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtY29sdW1uX2hpbnRfaG92ZXJlZF09XCJkcml2ZXJzLmdldChpbmRleCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW3R1aUhpbnRIb3N0XT1cImhpbnRIb3N0XCJcbiAgICAgICAgICAgICAgICBbdHVpSGludF09XCIkYW55KGhpbnREaXJlY3RpdmU/LmhpbnQgfHwgaGludENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICBbdHVpSGludENvbnRleHRdPVwiZ2V0Q29udGVudENvbnRleHQocG9pbnQsIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgW3R1aUhpbnREZXNjcmliZV09XCJnZXRIaW50SWQoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImdldExlZnQoZ2V0WChpbmRleCkpXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJnZXRXaWR0aChpbmRleClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihpbmRleClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWxpbmUgdC1saW5lX3ZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJnZXRPZmZzZXQoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAjaGludEhvc3RcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWhvc3RcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImdldE9mZnNldChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tLiVdPVwiZ2V0Qm90dG9tKHBvaW50WzFdKVwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiaXNGb2N1c2FibGVcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZ2V0SGludElkKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0ZvY3VzYWJsZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWxpbmUgdC1saW5lX2hvcml6b250YWxcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5ib3R0b20uJV09XCJnZXRCb3R0b20ocG9pbnRbMV0pXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldEhvdmVyZWQoaG92ZXJlZCkgYXMgcG9pbnRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ4U3RyaW5naWZ5XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1oaW50IHQtaGludF94XCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiZ2V0TGVmdChwb2ludFswXSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB4U3RyaW5naWZ5KHBvaW50WzBdKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ5U3RyaW5naWZ5XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1oaW50IHQtaGludF95XCJcbiAgICAgICAgICAgIFtzdHlsZS5ib3R0b20uJV09XCJnZXRCb3R0b20ocG9pbnRbMV0pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgeVN0cmluZ2lmeShwb2ludFsxXSkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -17,7 +17,7 @@ export class TuiLineDaysChartHintDirective {
|
|
|
17
17
|
this.ngZone = ngZone;
|
|
18
18
|
this.hovered$ = hovered$;
|
|
19
19
|
this.charts = EMPTY_QUERY;
|
|
20
|
-
this.hint =
|
|
20
|
+
this.hint = '';
|
|
21
21
|
}
|
|
22
22
|
ngAfterContentInit() {
|
|
23
23
|
combineLatest([tuiLineChartDrivers(this.charts), this.hovered$])
|
|
@@ -56,7 +56,7 @@ __decorate([
|
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiLineDaysChartHintDirective, decorators: [{
|
|
57
57
|
type: Directive,
|
|
58
58
|
args: [{
|
|
59
|
-
selector:
|
|
59
|
+
selector: '[tuiLineChartHint]',
|
|
60
60
|
providers: [TuiDestroyService, TuiHoveredService],
|
|
61
61
|
}]
|
|
62
62
|
}], ctorParameters: function () { return [{ type: i1.TuiDestroyService, decorators: [{
|
|
@@ -75,9 +75,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
75
75
|
args: [forwardRef(() => TuiLineDaysChartComponent)]
|
|
76
76
|
}], hint: [{
|
|
77
77
|
type: Input,
|
|
78
|
-
args: [
|
|
78
|
+
args: ['tuiLineChartHint']
|
|
79
79
|
}], computeContext: [] } });
|
|
80
80
|
function find(value, current) {
|
|
81
81
|
return value.find(([day]) => day.daySame(current)) || [current, NaN];
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1kYXlzLWNoYXJ0L2xpbmUtZGF5cy1jaGFydC1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNqRixPQUFPLEVBQ0gsV0FBVyxFQUdYLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCw0Q0FBNEM7QUFDNUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRXRFLHFEQUFxRDtBQUtyRCxNQUFNLE9BQU8sNkJBQTZCO0lBUXRDLFlBQ3dELFFBQTJCLEVBQzlDLE1BQWMsRUFDSCxRQUE2QjtRQUZyQixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0gsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFUNUQsV0FBTSxHQUF5QyxXQUFXLENBQUM7UUFJNUUsU0FBSSxHQUFxRSxFQUFFLENBQUM7SUFNekUsQ0FBQztJQUVKLGtCQUFrQjtRQUNkLGFBQWEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FB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QyxLQUFzQyxFQUFFLE9BQWU7SUFDakUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlMaW5lQ2hhcnREcml2ZXJzfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1jaGFydCc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aUhvdmVyZWRTZXJ2aWNlLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpWm9uZWZyZWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50fSBmcm9tICcuL2xpbmUtZGF5cy1jaGFydC5jb21wb25lbnQnO1xuXG4vLyBUT0RPOiBDb25zaWRlciBleHRlbmRpbmcgVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZVxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpTGluZUNoYXJ0SGludF0nLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlLCBUdWlIb3ZlcmVkU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxpbmVEYXlzQ2hhcnRIaW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aUxpbmVEYXlzQ2hhcnRDb21wb25lbnQpKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhcnRzOiBRdWVyeUxpc3Q8VHVpTGluZURheXNDaGFydENvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgndHVpTGluZUNoYXJ0SGludCcpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoaW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8cmVhZG9ubHkgVHVpUG9pbnRbXT4+ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoVHVpSG92ZXJlZFNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgaG92ZXJlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0dWlMaW5lQ2hhcnREcml2ZXJzKHRoaXMuY2hhcnRzKSwgdGhpcy5ob3ZlcmVkJF0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFtkcml2ZXJzLCBob3ZlcmVkXSkgPT4gIWRyaXZlcnMgJiYgIWhvdmVyZWQpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICB0dWlab25lZnJlZSh0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaChjaGFydCA9PiBjaGFydC5vbkhvdmVyZWQoTmFOKSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDb250ZXh0KGRheTogVHVpRGF5KTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVDb250ZXh0KGRheSwgdGhpcy5jaGFydHMpO1xuICAgIH1cblxuICAgIHJhaXNlKGRheTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmNoYXJ0c1xuICAgICAgICAgICAgLm1hcCgoe3ZhbHVlfSkgPT4gZmluZCh2YWx1ZSwgZGF5KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+ICFOdW1iZXIuaXNOYU4odmFsdWUpKTtcbiAgICAgICAgY29uc3Qgc29ydGVkID0gWy4uLmN1cnJlbnRdLnNvcnQoKGEsIGIpID0+IGFbMV0gLSBiWzFdKTtcblxuICAgICAgICB0aGlzLmNoYXJ0cy5mb3JFYWNoKChjaGFydCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNoYXJ0Lm9uSG92ZXJlZChkYXkpO1xuICAgICAgICAgICAgY2hhcnQuekluZGV4ID0gTWF0aC5tYXgoc29ydGVkLmluZGV4T2YoY3VycmVudFtpbmRleF0pLCAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVDb250ZXh0KFxuICAgICAgICBkYXk6IFR1aURheSxcbiAgICAgICAgY2hhcnRzOiBRdWVyeUxpc3Q8VHVpTGluZURheXNDaGFydENvbXBvbmVudD4sXG4gICAgKTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGNoYXJ0cy5tYXAoKHt2YWx1ZX0pID0+IGZpbmQodmFsdWUsIGRheSkpLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZmluZCh2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPiwgY3VycmVudDogVHVpRGF5KTogW1R1aURheSwgbnVtYmVyXSB7XG4gICAgcmV0dXJuIHZhbHVlLmZpbmQoKFtkYXldKSA9PiBkYXkuZGF5U2FtZShjdXJyZW50KSkgfHwgW2N1cnJlbnQsIE5hTl07XG59XG4iXX0=
|
|
@@ -21,13 +21,13 @@ export class TuiLineDaysChartComponent {
|
|
|
21
21
|
this.y = 0;
|
|
22
22
|
this.height = 0;
|
|
23
23
|
this.smoothingFactor = 0;
|
|
24
|
-
this.hintContent =
|
|
24
|
+
this.hintContent = '';
|
|
25
25
|
this.xStringify = null;
|
|
26
26
|
this.yStringify = null;
|
|
27
27
|
this.dots = false;
|
|
28
28
|
this.zIndex = 0;
|
|
29
29
|
this.value = [];
|
|
30
|
-
this.daysStringify = index => this.xStringify ? this.xStringify(this.getMonth(index)) :
|
|
30
|
+
this.daysStringify = index => this.xStringify ? this.xStringify(this.getMonth(index)) : '';
|
|
31
31
|
}
|
|
32
32
|
set valueSetter(value) {
|
|
33
33
|
if (!value.length) {
|
|
@@ -157,9 +157,9 @@ __decorate([
|
|
|
157
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiLineDaysChartComponent, decorators: [{
|
|
158
158
|
type: Component,
|
|
159
159
|
args: [{
|
|
160
|
-
selector:
|
|
161
|
-
templateUrl:
|
|
162
|
-
styleUrls: [
|
|
160
|
+
selector: 'tui-line-days-chart',
|
|
161
|
+
templateUrl: './line-days-chart.template.html',
|
|
162
|
+
styleUrls: ['./line-days-chart.style.less'],
|
|
163
163
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
164
164
|
providers: [
|
|
165
165
|
{
|
|
@@ -181,7 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
181
181
|
args: [TuiDriver]
|
|
182
182
|
}], valueSetter: [{
|
|
183
183
|
type: Input,
|
|
184
|
-
args: [
|
|
184
|
+
args: ['value']
|
|
185
185
|
}], y: [{
|
|
186
186
|
type: Input
|
|
187
187
|
}], height: [{
|
|
@@ -198,6 +198,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
198
198
|
type: Input
|
|
199
199
|
}], zIndex: [{
|
|
200
200
|
type: HostBinding,
|
|
201
|
-
args: [
|
|
201
|
+
args: ['style.zIndex']
|
|
202
202
|
}], getHintContext: [], breakMonths: [] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtZGF5cy1jaGFydC9saW5lLWRheXMtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1kYXlzLWNoYXJ0L2xpbmUtZGF5cy1jaGFydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIseUJBQXlCLEdBQzVCLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNILFdBQVcsRUFDWCxXQUFXLEVBRVgsTUFBTSxFQUNOLGNBQWMsRUFDZCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBSW5ELDRDQUE0QztBQUM1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFFL0UsTUFBTSxLQUFLLEdBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFjbkMsTUFBTSxPQUFPLHlCQUF5QjtJQThEbEMsWUFHcUIsYUFBbUQ7UUFBbkQsa0JBQWEsR0FBYixhQUFhLENBQXNDO1FBL0R2RCxXQUFNLEdBQXFDLFdBQVcsQ0FBQztRQUcvRCxZQUFPLEdBQW1DLFdBQVcsQ0FBQztRQTBCL0QsTUFBQyxHQUFHLENBQUMsQ0FBQztRQUlOLFdBQU0s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QTlEeEIsTUFBTTtzQkFEdEIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSTFCLE9BQU87c0JBRGYsWUFBWTt1QkFBQyxTQUFTO2dCQUtuQixXQUFXO3NCQUZkLEtBQUs7dUJBQUMsT0FBTztnQkF3QmQsQ0FBQztzQkFGQSxLQUFLO2dCQU1OLE1BQU07c0JBRkwsS0FBSztnQkFNTixlQUFlO3NCQUZkLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQU1OLFVBQVU7c0JBRlQsS0FBSztnQkFNTixVQUFVO3NCQUZULEtBQUs7Z0JBTU4sSUFBSTtzQkFGSCxLQUFLO2dCQUtOLE1BQU07c0JBREwsV0FBVzt1QkFBQyxjQUFjO2dCQTBCM0IsY0FBYyxNQW1FTixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlMaW5lQ2hhcnRDb21wb25lbnQsXG4gICAgVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtY2hhcnQnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9BUlJBWSxcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aURheSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlJc051bWJlcixcbiAgICB0dWlJc1ByZXNlbnQsXG4gICAgVHVpTW9udGgsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpRHJpdmVyLCBUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmV9IGZyb20gJy4vbGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlJztcblxuY29uc3QgRFVNTVk6IFR1aVBvaW50ID0gW05hTiwgTmFOXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktbGluZS1kYXlzLWNoYXJ0YCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vbGluZS1kYXlzLWNoYXJ0LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2xpbmUtZGF5cy1jaGFydC5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFR1aUxpbmVDaGFydEhpbnREaXJlY3RpdmUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVHVpTGluZURheXNDaGFydENvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkcmVuKFR1aUxpbmVDaGFydENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYXJ0czogUXVlcnlMaXN0PFR1aUxpbmVDaGFydENvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oVHVpRHJpdmVyKVxuICAgIHJlYWRvbmx5IGRyaXZlcnM6IFF1ZXJ5TGlzdDxPYnNlcnZhYmxlPGJvb2xlYW4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KGB2YWx1ZWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgdmFsdWVTZXR0ZXIodmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4pIHtcbiAgICAgICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBbXTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSB2YWx1ZVswXVswXTtcbiAgICAgICAgY29uc3QgbXV0YWJsZSA9IFsuLi52YWx1ZV07XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IFR1aURheS5sZW5ndGhCZXR3ZWVuKHN0YXJ0LCB2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXVswXSkgKyAxO1xuXG4gICAgICAgIHRoaXMudmFsdWUgPSBBcnJheS5mcm9tKHtsZW5ndGh9LCAoXywgZGF5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF5ID0gc3RhcnQuYXBwZW5kKHtkYXl9KTtcbiAgICAgICAgICAgIGNvbnN0IHNoaWZ0ZWQgPSBjdXJyZW50RGF5LmRheVNhbWUobXV0YWJsZVswXVswXSkgPyBtdXRhYmxlLnNoaWZ0KCkgOiBudWxsO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gc2hpZnRlZCA/IHNoaWZ0ZWRbMV0gOiBOYU47XG5cbiAgICAgICAgICAgIHJldHVybiBbY3VycmVudERheSwgY3VycmVudFZhbHVlXSBhcyBbVHVpRGF5LCBudW1iZXJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeSA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGVpZ2h0ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzbW9vdGhpbmdGYWN0b3IgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhpbnRDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4+ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeFN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUdWlEYXk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeVN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZG90cyA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKGBzdHlsZS56SW5kZXhgKVxuICAgIHpJbmRleCA9IDA7XG5cbiAgICB2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPiA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaGludERpcmVjdGl2ZTogVHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmUgfCBudWxsLFxuICAgICkge31cblxuICAgIGdldCBtb250aHMoKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlQb2ludFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmxlbmd0aCA/IHRoaXMuYnJlYWtNb250aHModGhpcy52YWx1ZSkgOiBFTVBUWV9BUlJBWTtcbiAgICB9XG5cbiAgICBnZXQgZmlyc3RXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tb250aHMubGVuZ3RoICogdGhpcy52YWx1ZVswXVswXS5kYXlzQ291bnQ7XG4gICAgfVxuXG4gICAgZ2V0IGhpbnQoKTpcbiAgICAgICAgfCBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4+XG4gICAgICAgIHwgUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PHJlYWRvbmx5IFR1aVBvaW50W10+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnREaXJlY3RpdmUgPyB0aGlzLmhpbnREaXJlY3RpdmUuaGludCA6IHRoaXMuaGludENvbnRlbnQ7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRIaW50Q29udGV4dChcbiAgICAgICAgeDogbnVtYmVyLFxuICAgICAgICB2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPixcbiAgICApOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFtUdWlEYXksIG51bWJlcl0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogdmFsdWVbeCAtIHZhbHVlWzBdWzBdLmRheSArIDFdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGRheXNTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiA9IGluZGV4ID0+XG4gICAgICAgIHRoaXMueFN0cmluZ2lmeSA/IHRoaXMueFN0cmluZ2lmeSh0aGlzLmdldE1vbnRoKGluZGV4KSkgOiBgYDtcblxuICAgIGdldFgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmdldE1vbnRoKGluZGV4KTtcbiAgICAgICAgY29uc3QgbW9udGhzID0gVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBjdXJyZW50KTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbW9udGhzICogY3VycmVudC5kYXlzQ291bnQ7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4IC0gb2Zmc2V0O1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChkYXk6IFR1aURheSB8IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodHVpSXNOdW1iZXIoZGF5KSkge1xuICAgICAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaChjaGFydCA9PiBjaGFydC5vbkhvdmVyZWQoTmFOKSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBkYXkpO1xuICAgICAgICBjb25zdCB4ID0gVHVpRGF5Lmxlbmd0aEJldHdlZW4odGhpcy52YWx1ZVswXVswXSwgZGF5KSArIHRoaXMudmFsdWVbMF1bMF0uZGF5IC0gMTtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuY2hhcnRzLmdldChpbmRleCk7XG5cbiAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaChjaGFydCA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhcnQgPT09IGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50Lm9uSG92ZXJlZChjdXJyZW50LnZhbHVlLmZpbmRJbmRleChwb2ludCA9PiBwb2ludFswXSA9PT0geCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGFydC5vbkhvdmVyZWQoTmFOKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmFpc2UoaW5kZXg6IG51bWJlciwge3ZhbHVlfTogVHVpTGluZUNoYXJ0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHggPSB2YWx1ZVtpbmRleF1bMF07XG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5nZXRNb250aCh4KTtcblxuICAgICAgICBpZiAodGhpcy5oaW50RGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmhpbnREaXJlY3RpdmUucmFpc2UobW9udGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkhvdmVyZWQobW9udGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0V2lkdGgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1vbnRoKGluZGV4KS5kYXlzQ291bnQgKiB0aGlzLm1vbnRocy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0Q29udGV4dChcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAge3ZhbHVlfTogVHVpTGluZUNoYXJ0Q29tcG9uZW50LFxuICAgICk6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8dW5rbm93bj4ge1xuICAgICAgICBjb25zdCB4ID0gdmFsdWVbaW5kZXhdWzBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmhpbnREaXJlY3RpdmVcbiAgICAgICAgICAgID8gdGhpcy5oaW50RGlyZWN0aXZlLmdldENvbnRleHQodGhpcy5nZXRNb250aCh4KSlcbiAgICAgICAgICAgIDogdGhpcy5nZXRIaW50Q29udGV4dCh4LCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgYnJlYWtNb250aHMoXG4gICAgICAgIHZhbHVlOiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+LFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpUG9pbnRbXT4ge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB2YWx1ZVswXVswXS5kYXkgLSAxO1xuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAge2xlbmd0aDogVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih2YWx1ZVswXVswXSwgdmFsdWVbdmFsdWUubGVuZ3RoIC0gMV1bMF0pICsgMX0sXG4gICAgICAgICAgICAoXywgaSkgPT4gaSArIHZhbHVlWzBdWzBdLm1vbnRoICsgdmFsdWVbMF1bMF0ueWVhciAqIDEyLFxuICAgICAgICApXG4gICAgICAgICAgICAubWFwKGFic29sdXRlTW9udGggPT5cbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAubWFwPFR1aVBvaW50IHwgbnVsbD4oKFt7bW9udGgsIHllYXJ9LCB5XSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aCArIHllYXIgKiAxMiA9PT0gYWJzb2x1dGVNb250aCA/IFtpbmRleCArIG9mZnNldCwgeV0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5tYXAoKG1vbnRoLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICAgICAgPyBtb250aFxuICAgICAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubW9udGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5W2luZGV4ICsgMV0uZmluZChkYXkgPT4gIU51bWJlci5pc05hTihkYXlbMV0pKSB8fCBEVU1NWSxcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1vbnRoKGluZGV4OiBudW1iZXIpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVtpbmRleCAtIHRoaXMudmFsdWVbMF1bMF0uZGF5ICsgMV1bMF07XG4gICAgfVxufVxuIiwiPHR1aS1saW5lLWNoYXJ0XG4gICAgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoczsgbGV0IGZpcnN0ID0gZmlyc3RcIlxuICAgIGNsYXNzPVwidC1jaGFydFwiXG4gICAgW3N0eWxlLnpJbmRleF09XCJ6SW5kZXhcIlxuICAgIFtkb3RzXT1cImRvdHNcIlxuICAgIFt4XT1cImZpcnN0ID8gMCA6IGdldFgobW9udGhbMF1bMF0pXCJcbiAgICBbeV09XCJ5XCJcbiAgICBbd2lkdGhdPVwiZmlyc3QgPyBmaXJzdFdpZHRoIDogZ2V0V2lkdGgobW9udGhbMF1bMF0pXCJcbiAgICBbaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgW3ZhbHVlXT1cIm1vbnRoXCJcbiAgICBbc21vb3RoaW5nRmFjdG9yXT1cInNtb290aGluZ0ZhY3RvclwiXG4gICAgW3R1aUhpbnRDb250ZW50XT1cImhpbnRDb250ZW50ID8gaGludCA6ICcnXCJcbiAgICBbeVN0cmluZ2lmeV09XCJ5U3RyaW5naWZ5XCJcbiAgICBbeFN0cmluZ2lmeV09XCJ4U3RyaW5naWZ5ID8gZGF5c1N0cmluZ2lmeSA6IG51bGxcIlxuPjwvdHVpLWxpbmUtY2hhcnQ+XG48bmctdGVtcGxhdGVcbiAgICAjaGludFxuICAgIGxldC1wb2ludFxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImhpbnRDb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGdldEhpbnRDb250ZXh0KHBvaW50WzBdLCB2YWx1ZSlcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtZGF5cy1jaGFydC9saW5lLWRheXMtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1kYXlzLWNoYXJ0L2xpbmUtZGF5cy1jaGFydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIseUJBQXlCLEdBQzVCLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNILFdBQVcsRUFDWCxXQUFXLEVBRVgsTUFBTSxFQUNOLGNBQWMsRUFDZCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBSW5ELDRDQUE0QztBQUM1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFFL0UsTUFBTSxLQUFLLEdBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFjbkMsTUFBTSxPQUFPLHlCQUF5QjtJQThEbEMsWUFHcUIsYUFBbUQ7UUFBbkQsa0JBQWEsR0FBYixhQUFhLENBQXNDO1FBL0R2RCxXQUFNLEdBQXFDLFdBQVcsQ0FBQztRQUcvRCxZQUFPLEdBQW1DLFdBQVcsQ0FBQztRQTBCL0QsTUFBQyxHQUFHLENBQUMsQ0FBQztRQUlOLFdBQU0s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QTlEeEIsTUFBTTtzQkFEdEIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSTFCLE9BQU87c0JBRGYsWUFBWTt1QkFBQyxTQUFTO2dCQUtuQixXQUFXO3NCQUZkLEtBQUs7dUJBQUMsT0FBTztnQkF3QmQsQ0FBQztzQkFGQSxLQUFLO2dCQU1OLE1BQU07c0JBRkwsS0FBSztnQkFNTixlQUFlO3NCQUZkLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQU1OLFVBQVU7c0JBRlQsS0FBSztnQkFNTixVQUFVO3NCQUZULEtBQUs7Z0JBTU4sSUFBSTtzQkFGSCxLQUFLO2dCQUtOLE1BQU07c0JBREwsV0FBVzt1QkFBQyxjQUFjO2dCQTBCM0IsY0FBYyxNQW1FTixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlMaW5lQ2hhcnRDb21wb25lbnQsXG4gICAgVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtY2hhcnQnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9BUlJBWSxcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aURheSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlJc051bWJlcixcbiAgICB0dWlJc1ByZXNlbnQsXG4gICAgVHVpTW9udGgsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpRHJpdmVyLCBUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmV9IGZyb20gJy4vbGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlJztcblxuY29uc3QgRFVNTVk6IFR1aVBvaW50ID0gW05hTiwgTmFOXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbGluZS1kYXlzLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1kYXlzLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtZGF5cy1jaGFydC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFR1aUxpbmVDaGFydEhpbnREaXJlY3RpdmUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVHVpTGluZURheXNDaGFydENvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkcmVuKFR1aUxpbmVDaGFydENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYXJ0czogUXVlcnlMaXN0PFR1aUxpbmVDaGFydENvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oVHVpRHJpdmVyKVxuICAgIHJlYWRvbmx5IGRyaXZlcnM6IFF1ZXJ5TGlzdDxPYnNlcnZhYmxlPGJvb2xlYW4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KCd2YWx1ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgdmFsdWVTZXR0ZXIodmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4pIHtcbiAgICAgICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBbXTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSB2YWx1ZVswXVswXTtcbiAgICAgICAgY29uc3QgbXV0YWJsZSA9IFsuLi52YWx1ZV07XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IFR1aURheS5sZW5ndGhCZXR3ZWVuKHN0YXJ0LCB2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXVswXSkgKyAxO1xuXG4gICAgICAgIHRoaXMudmFsdWUgPSBBcnJheS5mcm9tKHtsZW5ndGh9LCAoXywgZGF5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF5ID0gc3RhcnQuYXBwZW5kKHtkYXl9KTtcbiAgICAgICAgICAgIGNvbnN0IHNoaWZ0ZWQgPSBjdXJyZW50RGF5LmRheVNhbWUobXV0YWJsZVswXVswXSkgPyBtdXRhYmxlLnNoaWZ0KCkgOiBudWxsO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gc2hpZnRlZCA/IHNoaWZ0ZWRbMV0gOiBOYU47XG5cbiAgICAgICAgICAgIHJldHVybiBbY3VycmVudERheSwgY3VycmVudFZhbHVlXSBhcyBbVHVpRGF5LCBudW1iZXJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeSA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGVpZ2h0ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzbW9vdGhpbmdGYWN0b3IgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhpbnRDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4+ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeFN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUdWlEYXk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeVN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZG90cyA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS56SW5kZXgnKVxuICAgIHpJbmRleCA9IDA7XG5cbiAgICB2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPiA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaGludERpcmVjdGl2ZTogVHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmUgfCBudWxsLFxuICAgICkge31cblxuICAgIGdldCBtb250aHMoKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlQb2ludFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmxlbmd0aCA/IHRoaXMuYnJlYWtNb250aHModGhpcy52YWx1ZSkgOiBFTVBUWV9BUlJBWTtcbiAgICB9XG5cbiAgICBnZXQgZmlyc3RXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tb250aHMubGVuZ3RoICogdGhpcy52YWx1ZVswXVswXS5kYXlzQ291bnQ7XG4gICAgfVxuXG4gICAgZ2V0IGhpbnQoKTpcbiAgICAgICAgfCBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4+XG4gICAgICAgIHwgUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PHJlYWRvbmx5IFR1aVBvaW50W10+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnREaXJlY3RpdmUgPyB0aGlzLmhpbnREaXJlY3RpdmUuaGludCA6IHRoaXMuaGludENvbnRlbnQ7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRIaW50Q29udGV4dChcbiAgICAgICAgeDogbnVtYmVyLFxuICAgICAgICB2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPixcbiAgICApOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFtUdWlEYXksIG51bWJlcl0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogdmFsdWVbeCAtIHZhbHVlWzBdWzBdLmRheSArIDFdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGRheXNTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiA9IGluZGV4ID0+XG4gICAgICAgIHRoaXMueFN0cmluZ2lmeSA/IHRoaXMueFN0cmluZ2lmeSh0aGlzLmdldE1vbnRoKGluZGV4KSkgOiAnJztcblxuICAgIGdldFgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmdldE1vbnRoKGluZGV4KTtcbiAgICAgICAgY29uc3QgbW9udGhzID0gVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBjdXJyZW50KTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbW9udGhzICogY3VycmVudC5kYXlzQ291bnQ7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4IC0gb2Zmc2V0O1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChkYXk6IFR1aURheSB8IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodHVpSXNOdW1iZXIoZGF5KSkge1xuICAgICAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaChjaGFydCA9PiBjaGFydC5vbkhvdmVyZWQoTmFOKSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBkYXkpO1xuICAgICAgICBjb25zdCB4ID0gVHVpRGF5Lmxlbmd0aEJldHdlZW4odGhpcy52YWx1ZVswXVswXSwgZGF5KSArIHRoaXMudmFsdWVbMF1bMF0uZGF5IC0gMTtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuY2hhcnRzLmdldChpbmRleCk7XG5cbiAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaChjaGFydCA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhcnQgPT09IGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50Lm9uSG92ZXJlZChjdXJyZW50LnZhbHVlLmZpbmRJbmRleChwb2ludCA9PiBwb2ludFswXSA9PT0geCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGFydC5vbkhvdmVyZWQoTmFOKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmFpc2UoaW5kZXg6IG51bWJlciwge3ZhbHVlfTogVHVpTGluZUNoYXJ0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHggPSB2YWx1ZVtpbmRleF1bMF07XG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5nZXRNb250aCh4KTtcblxuICAgICAgICBpZiAodGhpcy5oaW50RGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmhpbnREaXJlY3RpdmUucmFpc2UobW9udGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkhvdmVyZWQobW9udGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0V2lkdGgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1vbnRoKGluZGV4KS5kYXlzQ291bnQgKiB0aGlzLm1vbnRocy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0Q29udGV4dChcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAge3ZhbHVlfTogVHVpTGluZUNoYXJ0Q29tcG9uZW50LFxuICAgICk6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8dW5rbm93bj4ge1xuICAgICAgICBjb25zdCB4ID0gdmFsdWVbaW5kZXhdWzBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmhpbnREaXJlY3RpdmVcbiAgICAgICAgICAgID8gdGhpcy5oaW50RGlyZWN0aXZlLmdldENvbnRleHQodGhpcy5nZXRNb250aCh4KSlcbiAgICAgICAgICAgIDogdGhpcy5nZXRIaW50Q29udGV4dCh4LCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgYnJlYWtNb250aHMoXG4gICAgICAgIHZhbHVlOiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+LFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpUG9pbnRbXT4ge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB2YWx1ZVswXVswXS5kYXkgLSAxO1xuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAge2xlbmd0aDogVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih2YWx1ZVswXVswXSwgdmFsdWVbdmFsdWUubGVuZ3RoIC0gMV1bMF0pICsgMX0sXG4gICAgICAgICAgICAoXywgaSkgPT4gaSArIHZhbHVlWzBdWzBdLm1vbnRoICsgdmFsdWVbMF1bMF0ueWVhciAqIDEyLFxuICAgICAgICApXG4gICAgICAgICAgICAubWFwKGFic29sdXRlTW9udGggPT5cbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAubWFwPFR1aVBvaW50IHwgbnVsbD4oKFt7bW9udGgsIHllYXJ9LCB5XSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aCArIHllYXIgKiAxMiA9PT0gYWJzb2x1dGVNb250aCA/IFtpbmRleCArIG9mZnNldCwgeV0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5tYXAoKG1vbnRoLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICAgICAgPyBtb250aFxuICAgICAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubW9udGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5W2luZGV4ICsgMV0uZmluZChkYXkgPT4gIU51bWJlci5pc05hTihkYXlbMV0pKSB8fCBEVU1NWSxcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1vbnRoKGluZGV4OiBudW1iZXIpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVtpbmRleCAtIHRoaXMudmFsdWVbMF1bMF0uZGF5ICsgMV1bMF07XG4gICAgfVxufVxuIiwiPHR1aS1saW5lLWNoYXJ0XG4gICAgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoczsgbGV0IGZpcnN0ID0gZmlyc3RcIlxuICAgIGNsYXNzPVwidC1jaGFydFwiXG4gICAgW3N0eWxlLnpJbmRleF09XCJ6SW5kZXhcIlxuICAgIFtkb3RzXT1cImRvdHNcIlxuICAgIFt4XT1cImZpcnN0ID8gMCA6IGdldFgobW9udGhbMF1bMF0pXCJcbiAgICBbeV09XCJ5XCJcbiAgICBbd2lkdGhdPVwiZmlyc3QgPyBmaXJzdFdpZHRoIDogZ2V0V2lkdGgobW9udGhbMF1bMF0pXCJcbiAgICBbaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgW3ZhbHVlXT1cIm1vbnRoXCJcbiAgICBbc21vb3RoaW5nRmFjdG9yXT1cInNtb290aGluZ0ZhY3RvclwiXG4gICAgW3R1aUhpbnRDb250ZW50XT1cImhpbnRDb250ZW50ID8gaGludCA6ICcnXCJcbiAgICBbeVN0cmluZ2lmeV09XCJ5U3RyaW5naWZ5XCJcbiAgICBbeFN0cmluZ2lmeV09XCJ4U3RyaW5naWZ5ID8gZGF5c1N0cmluZ2lmeSA6IG51bGxcIlxuPjwvdHVpLWxpbmUtY2hhcnQ+XG48bmctdGVtcGxhdGVcbiAgICAjaGludFxuICAgIGxldC1wb2ludFxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImhpbnRDb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGdldEhpbnRDb250ZXh0KHBvaW50WzBdLCB2YWx1ZSlcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -11,11 +11,11 @@ import * as i2 from "./pie-chart.directive";
|
|
|
11
11
|
import * as i3 from "@taiga-ui/core";
|
|
12
12
|
import * as i4 from "@angular/common";
|
|
13
13
|
const RADII = {
|
|
14
|
-
xs:
|
|
15
|
-
s:
|
|
16
|
-
m:
|
|
17
|
-
l:
|
|
18
|
-
xl:
|
|
14
|
+
xs: '50',
|
|
15
|
+
s: '50',
|
|
16
|
+
m: '77.8',
|
|
17
|
+
l: '81.9',
|
|
18
|
+
xl: '81.3',
|
|
19
19
|
};
|
|
20
20
|
const TRANSFORM = {
|
|
21
21
|
xs: 1.15,
|
|
@@ -30,7 +30,7 @@ export class TuiPieChartComponent {
|
|
|
30
30
|
this.locationRef = locationRef;
|
|
31
31
|
this.hintOptions = hintOptions;
|
|
32
32
|
this.value = [];
|
|
33
|
-
this.size =
|
|
33
|
+
this.size = 'm';
|
|
34
34
|
this.masked = false;
|
|
35
35
|
this.activeItemIndex = NaN;
|
|
36
36
|
this.activeItemIndexChange = new EventEmitter();
|
|
@@ -45,7 +45,7 @@ export class TuiPieChartComponent {
|
|
|
45
45
|
}
|
|
46
46
|
get hintContent() {
|
|
47
47
|
var _a;
|
|
48
|
-
return ((_a = this.hintOptions) === null || _a === void 0 ? void 0 : _a.content) ||
|
|
48
|
+
return ((_a = this.hintOptions) === null || _a === void 0 ? void 0 : _a.content) || '';
|
|
49
49
|
}
|
|
50
50
|
get maskId() {
|
|
51
51
|
return `tui-ring-chart-${this.autoIdString}`;
|
|
@@ -97,7 +97,7 @@ export class TuiPieChartComponent {
|
|
|
97
97
|
}
|
|
98
98
|
TuiPieChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPieChartComponent, deps: [{ token: TuiIdService }, { token: NgLocation }, { token: LOCATION }, { token: TuiHintOptionsDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
99
|
TuiPieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiPieChartComponent, selector: "tui-pie-chart", inputs: { value: "value", size: "size", masked: "masked", activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "attr.data-size": "this.size", "class._empty": "this.empty" } }, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"100%\"\n width=\"100%\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n>\n <defs>\n <mask [attr.id]=\"maskId\">\n <rect\n x=\"-200\"\n y=\"-200\"\n width=\"400\"\n height=\"400\"\n fill=\"white\"\n />\n <circle\n cx=\"0\"\n cy=\"0\"\n [attr.r]=\"radius\"\n />\n </mask>\n </defs>\n <g [style.mask]=\"mask\">\n <circle\n cx=\"0\"\n cy=\"0\"\n r=\"100\"\n class=\"t-placeholder\"\n />\n <path\n *tuiRepeatTimes=\"let index of segments.length\"\n fill=\"currentColor\"\n automation-id=\"tui-pie-chart__segment\"\n tuiHintPointer\n d=\"\"\n class=\"t-segment\"\n [attr.transform]=\"getTransform(index)\"\n [style.color]=\"getColor(index)\"\n [tuiPieChart]=\"segments[index]\"\n [tuiHint]=\"hintContent\"\n [tuiHintContext]=\"{$implicit: index}\"\n (tuiHoveredChange)=\"onHovered($event, index)\"\n />\n </g>\n</svg>\n", styles: [":host{position:relative;display:block}:host[data-size=xs]{width:2rem;height:2rem;pointer-events:none}:host[data-size=s]{width:4rem;height:4rem}:host[data-size=m]{width:9rem;height:9rem}:host[data-size=l]{width:11rem;height:11rem}:host[data-size=xl]{width:16rem;height:16rem}.t-svg{position:relative;overflow:visible;transform:rotate(-90deg)}.t-segment{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}:host._empty .t-segment{display:none}.t-placeholder{fill:var(--tui-base-03)}\n"], directives: [{ type: i1.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i2.TuiPieChartDirective, selector: "path[tuiPieChart]", inputs: ["tuiPieChart"] }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { type: i3.TuiHintPointerDirective, selector: "[tuiHint][tuiHintPointer]" }, { type: i1.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }], viewProviders: [
|
|
100
|
-
tuiHintOptionsProvider({ direction:
|
|
100
|
+
tuiHintOptionsProvider({ direction: 'top-right', appearance: 'onDark' }),
|
|
101
101
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
102
102
|
__decorate([
|
|
103
103
|
tuiDefaultProp()
|
|
@@ -120,12 +120,12 @@ __decorate([
|
|
|
120
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPieChartComponent, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{
|
|
123
|
-
selector:
|
|
124
|
-
templateUrl:
|
|
125
|
-
styleUrls: [
|
|
123
|
+
selector: 'tui-pie-chart',
|
|
124
|
+
templateUrl: './pie-chart.template.html',
|
|
125
|
+
styleUrls: ['./pie-chart.style.less'],
|
|
126
126
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
127
127
|
viewProviders: [
|
|
128
|
-
tuiHintOptionsProvider({ direction:
|
|
128
|
+
tuiHintOptionsProvider({ direction: 'top-right', appearance: 'onDark' }),
|
|
129
129
|
],
|
|
130
130
|
}]
|
|
131
131
|
}], ctorParameters: function () { return [{ type: i1.TuiIdService, decorators: [{
|
|
@@ -148,7 +148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
148
148
|
type: Input
|
|
149
149
|
}, {
|
|
150
150
|
type: HostBinding,
|
|
151
|
-
args: [
|
|
151
|
+
args: ['attr.data-size']
|
|
152
152
|
}], masked: [{
|
|
153
153
|
type: Input
|
|
154
154
|
}], activeItemIndex: [{
|
|
@@ -157,6 +157,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
157
157
|
type: Output
|
|
158
158
|
}], empty: [{
|
|
159
159
|
type: HostBinding,
|
|
160
|
-
args: [
|
|
160
|
+
args: ['class._empty']
|
|
161
161
|
}], getSum: [], getSegments: [] } });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL3BpZS1jaGFydC9waWUtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcGllLWNoYXJ0L3BpZS1jaGFydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBRUgsY0FBYyxFQUNkLFlBQVksRUFDWixPQUFPLEVBQ1AsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsc0JBQXNCLEdBR3pCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUd4QixNQUFNLEtBQUssR0FBRztJQUNWLEVBQUUsRUFBRSxJQUFJO0lBQ1IsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsTUFBTTtJQUNULENBQUMsRUFBRSxNQUFNO0lBQ1QsRUFBRSxFQUFFLE1BQU07Q0FDYixDQUFDO0FBQ0YsTUFBTSxTQUFTLEdBQUc7SUFDZCxFQUFFLEVBQUUsSUFBSTtJQUNSLENBQUMsRUFBRSxJQUFJO0lBQ1AsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsSUFBSTtJQUNQLEVBQUUsRUFBRSxJ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QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRTt3QkFDWCxzQkFBc0IsQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxDQUFDO3FCQUN6RTtpQkFDSjs7MEJBeUJRLE1BQU07MkJBQUMsWUFBWTs7MEJBQ25CLE1BQU07MkJBQUMsVUFBVTs4QkFDOEIsUUFBUTswQkFBdkQsTUFBTTsyQkFBQyxRQUFROzswQkFDZixRQUFROzswQkFDUixNQUFNOzJCQUFDLHVCQUF1Qjs0Q0F2Qm5DLEtBQUs7c0JBRkosS0FBSztnQkFPTixJQUFJO3NCQUhILEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU03QixNQUFNO3NCQUZMLEtBQUs7Z0JBTU4sZUFBZTtzQkFGZCxLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsTUFBTTtnQkFvQkgsS0FBSztzQkFEUixXQUFXO3VCQUFDLGNBQWM7Z0JBNENuQixNQUFNLE1BS04sV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb24gYXMgTmdMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2FmZVZhbHVlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0dWlQcmVwYXJlRXh0ZXJuYWxVcmx9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUlkU2VydmljZSxcbiAgICB0dWlQdXJlLFxuICAgIHR1aVN1bSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxuICAgIHR1aUhpbnRPcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpU2l6ZVhMLFxuICAgIFR1aVNpemVYUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5jb25zdCBSQURJSSA9IHtcbiAgICB4czogYDUwYCxcbiAgICBzOiBgNTBgLFxuICAgIG06IGA3Ny44YCxcbiAgICBsOiBgODEuOWAsXG4gICAgeGw6IGA4MS4zYCxcbn07XG5jb25zdCBUUkFOU0ZPUk0gPSB7XG4gICAgeHM6IDEuMTUsXG4gICAgczogMS4yNSxcbiAgICBtOiAxLjExLFxuICAgIGw6IDEuMDksXG4gICAgeGw6IDEuMDgsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1waWUtY2hhcnRgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9waWUtY2hhcnQudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vcGllLWNoYXJ0LnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUhpbnRPcHRpb25zUHJvdmlkZXIoe2RpcmVjdGlvbjogYHRvcC1yaWdodGAsIGFwcGVhcmFuY2U6IGBvbkRhcmtgfSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUGllQ2hhcnRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0b0lkU3RyaW5nOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IHJlYWRvbmx5IG51bWJlcltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVhMIHwgVHVpU2l6ZVhTID0gYG1gO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hc2tlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IE5hTjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpSWRTZXJ2aWNlKSBpZFNlcnZpY2U6IFR1aUlkU2VydmljZSxcbiAgICAgICAgQEluamVjdChOZ0xvY2F0aW9uKSBwcml2YXRlIHJlYWRvbmx5IG5nTG9jYXRpb246IE5nTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoTE9DQVRJT04pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb25SZWY6IExvY2F0aW9uLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRPcHRpb25zOiBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuYXV0b0lkU3RyaW5nID0gaWRTZXJ2aWNlLmdlbmVyYXRlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGludE9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuaGludE9wdGlvbnMuc2hvd0RlbGF5ID0gMDtcbiAgICAgICAgICAgIHRoaXMuaGludE9wdGlvbnMuaGlkZURlbGF5ID0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2VtcHR5YClcbiAgICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5nZXRTdW0odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGhpbnRDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnRPcHRpb25zPy5jb250ZW50IHx8IGBgO1xuICAgIH1cblxuICAgIGdldCBtYXNrSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGB0dWktcmluZy1jaGFydC0ke3RoaXMuYXV0b0lkU3RyaW5nfWA7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2soKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hc2tlZFxuICAgICAgICAgICAgPyB0dWlQcmVwYXJlRXh0ZXJuYWxVcmwodGhpcy5uZ0xvY2F0aW9uLCB0aGlzLmxvY2F0aW9uUmVmLCB0aGlzLm1hc2tJZClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcmFkaXVzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBSQURJSVt0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIGdldCBzZWdtZW50cygpOiBSZWFkb25seUFycmF5PFtudW1iZXIsIG51bWJlcl0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VnbWVudHModGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0VHJhbnNmb3JtKGluZGV4OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtID0gdGhpcy5tYXNrZWRcbiAgICAgICAgICAgID8gYHNjYWxlKCR7VFJBTlNGT1JNW3RoaXMuc2l6ZV19KWBcbiAgICAgICAgICAgIDogYHNjYWxlKCR7VFJBTlNGT1JNLnhzfSlgO1xuXG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5hY3RpdmVJdGVtSW5kZXggPyB0cmFuc2Zvcm0gOiBudWxsO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGhvdmVyZWQgPyBpbmRleCA6IE5hTik7XG4gICAgfVxuXG4gICAgZ2V0Q29sb3IoaW5kZXg6IG51bWJlcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiBgdmFyKC0tdHVpLWNoYXJ0LSR7aW5kZXh9KWA7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFN1bSh2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdHVpU3VtKC4uLnZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0U2VnbWVudHModmFsdWU6IHJlYWRvbmx5IG51bWJlcltdKTogUmVhZG9ubHlBcnJheTxbbnVtYmVyLCBudW1iZXJdPiB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLm1hcCgoaW5pdGlhbCwgaSwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgYXJyYXkucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAoc3VtLCBjdXJyZW50LCBqKSA9PiAoaiA8IGkgPyB0aGlzLmdldERlZyhjdXJyZW50KSArIHN1bSA6IHN1bSksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGVnKGluaXRpYWwpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubWFwKChhbmdsZSwgaW5kZXgsIGFycmF5KSA9PiBbXG4gICAgICAgICAgICAgICAgYXJyYXlbaW5kZXggLSAxXSB8fCAwLFxuICAgICAgICAgICAgICAgIE1hdGgubWluKGFuZ2xlLCAzNTkuOTk5OSksXG4gICAgICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDM2MCAqICh2YWx1ZSAvIHRoaXMuZ2V0U3VtKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5hY3RpdmVJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLm5leHQoaW5kZXgpO1xuICAgIH1cbn1cbiIsIjxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICB3aWR0aD1cIjEwMCVcIlxuICAgIHZpZXdCb3g9XCItMTAwIC0xMDAgMjAwIDIwMFwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNsYXNzPVwidC1zdmdcIlxuPlxuICAgIDxkZWZzPlxuICAgICAgICA8bWFzayBbYXR0ci5pZF09XCJtYXNrSWRcIj5cbiAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgICAgeD1cIi0yMDBcIlxuICAgICAgICAgICAgICAgIHk9XCItMjAwXCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjQwMFwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgICBjeD1cIjBcIlxuICAgICAgICAgICAgICAgIGN5PVwiMFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucl09XCJyYWRpdXNcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXNrPlxuICAgIDwvZGVmcz5cbiAgICA8ZyBbc3R5bGUubWFza109XCJtYXNrXCI+XG4gICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgIGN4PVwiMFwiXG4gICAgICAgICAgICBjeT1cIjBcIlxuICAgICAgICAgICAgcj1cIjEwMFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtcGxhY2Vob2xkZXJcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGluZGV4IG9mIHNlZ21lbnRzLmxlbmd0aFwiXG4gICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGllLWNoYXJ0X19zZWdtZW50XCJcbiAgICAgICAgICAgIHR1aUhpbnRQb2ludGVyXG4gICAgICAgICAgICBkPVwiXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1zZWdtZW50XCJcbiAgICAgICAgICAgIFthdHRyLnRyYW5zZm9ybV09XCJnZXRUcmFuc2Zvcm0oaW5kZXgpXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJnZXRDb2xvcihpbmRleClcIlxuICAgICAgICAgICAgW3R1aVBpZUNoYXJ0XT1cInNlZ21lbnRzW2luZGV4XVwiXG4gICAgICAgICAgICBbdHVpSGludF09XCJoaW50Q29udGVudFwiXG4gICAgICAgICAgICBbdHVpSGludENvbnRleHRdPVwieyRpbXBsaWNpdDogaW5kZXh9XCJcbiAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSG92ZXJlZCgkZXZlbnQsIGluZGV4KVwiXG4gICAgICAgIC8+XG4gICAgPC9nPlxuPC9zdmc+XG4iXX0=
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL3BpZS1jaGFydC9waWUtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcGllLWNoYXJ0L3BpZS1jaGFydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBRUgsY0FBYyxFQUNkLFlBQVksRUFDWixPQUFPLEVBQ1AsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsc0JBQXNCLEdBR3pCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUd4QixNQUFNLEtBQUssR0FBRztJQUNWLEVBQUUsRUFBRSxJQUFJO0lBQ1IsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsTUFBTTtJQUNULENBQUMsRUFBRSxNQUFNO0lBQ1QsRUFBRSxFQUFFLE1BQU07Q0FDYixDQUFDO0FBQ0YsTUFBTSxTQUFTLEdBQUc7SUFDZCxFQUFFLEVBQUUsSUFBSTtJQUNSLENBQUMsRUFBRSxJQUFJO0lBQ1AsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsSUFBSTtJQUNQLEVBQUUsRUFBRSxJ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QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRTt3QkFDWCxzQkFBc0IsQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxDQUFDO3FCQUN6RTtpQkFDSjs7MEJBeUJRLE1BQU07MkJBQUMsWUFBWTs7MEJBQ25CLE1BQU07MkJBQUMsVUFBVTs4QkFDOEIsUUFBUTswQkFBdkQsTUFBTTsyQkFBQyxRQUFROzswQkFDZixRQUFROzswQkFDUixNQUFNOzJCQUFDLHVCQUF1Qjs0Q0F2Qm5DLEtBQUs7c0JBRkosS0FBSztnQkFPTixJQUFJO3NCQUhILEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU03QixNQUFNO3NCQUZMLEtBQUs7Z0JBTU4sZUFBZTtzQkFGZCxLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsTUFBTTtnQkFvQkgsS0FBSztzQkFEUixXQUFXO3VCQUFDLGNBQWM7Z0JBNENuQixNQUFNLE1BS04sV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb24gYXMgTmdMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2FmZVZhbHVlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0dWlQcmVwYXJlRXh0ZXJuYWxVcmx9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUlkU2VydmljZSxcbiAgICB0dWlQdXJlLFxuICAgIHR1aVN1bSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxuICAgIHR1aUhpbnRPcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpU2l6ZVhMLFxuICAgIFR1aVNpemVYUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5jb25zdCBSQURJSSA9IHtcbiAgICB4czogJzUwJyxcbiAgICBzOiAnNTAnLFxuICAgIG06ICc3Ny44JyxcbiAgICBsOiAnODEuOScsXG4gICAgeGw6ICc4MS4zJyxcbn07XG5jb25zdCBUUkFOU0ZPUk0gPSB7XG4gICAgeHM6IDEuMTUsXG4gICAgczogMS4yNSxcbiAgICBtOiAxLjExLFxuICAgIGw6IDEuMDksXG4gICAgeGw6IDEuMDgsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1waWUtY2hhcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9waWUtY2hhcnQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGllLWNoYXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUhpbnRPcHRpb25zUHJvdmlkZXIoe2RpcmVjdGlvbjogJ3RvcC1yaWdodCcsIGFwcGVhcmFuY2U6ICdvbkRhcmsnfSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUGllQ2hhcnRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0b0lkU3RyaW5nOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IHJlYWRvbmx5IG51bWJlcltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVhMIHwgVHVpU2l6ZVhTID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hc2tlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IE5hTjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpSWRTZXJ2aWNlKSBpZFNlcnZpY2U6IFR1aUlkU2VydmljZSxcbiAgICAgICAgQEluamVjdChOZ0xvY2F0aW9uKSBwcml2YXRlIHJlYWRvbmx5IG5nTG9jYXRpb246IE5nTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoTE9DQVRJT04pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb25SZWY6IExvY2F0aW9uLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRPcHRpb25zOiBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuYXV0b0lkU3RyaW5nID0gaWRTZXJ2aWNlLmdlbmVyYXRlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGludE9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuaGludE9wdGlvbnMuc2hvd0RlbGF5ID0gMDtcbiAgICAgICAgICAgIHRoaXMuaGludE9wdGlvbnMuaGlkZURlbGF5ID0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2VtcHR5JylcbiAgICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5nZXRTdW0odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGhpbnRDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnRPcHRpb25zPy5jb250ZW50IHx8ICcnO1xuICAgIH1cblxuICAgIGdldCBtYXNrSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGB0dWktcmluZy1jaGFydC0ke3RoaXMuYXV0b0lkU3RyaW5nfWA7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2soKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hc2tlZFxuICAgICAgICAgICAgPyB0dWlQcmVwYXJlRXh0ZXJuYWxVcmwodGhpcy5uZ0xvY2F0aW9uLCB0aGlzLmxvY2F0aW9uUmVmLCB0aGlzLm1hc2tJZClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcmFkaXVzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBSQURJSVt0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIGdldCBzZWdtZW50cygpOiBSZWFkb25seUFycmF5PFtudW1iZXIsIG51bWJlcl0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VnbWVudHModGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0VHJhbnNmb3JtKGluZGV4OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtID0gdGhpcy5tYXNrZWRcbiAgICAgICAgICAgID8gYHNjYWxlKCR7VFJBTlNGT1JNW3RoaXMuc2l6ZV19KWBcbiAgICAgICAgICAgIDogYHNjYWxlKCR7VFJBTlNGT1JNLnhzfSlgO1xuXG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5hY3RpdmVJdGVtSW5kZXggPyB0cmFuc2Zvcm0gOiBudWxsO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGhvdmVyZWQgPyBpbmRleCA6IE5hTik7XG4gICAgfVxuXG4gICAgZ2V0Q29sb3IoaW5kZXg6IG51bWJlcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiBgdmFyKC0tdHVpLWNoYXJ0LSR7aW5kZXh9KWA7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFN1bSh2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdHVpU3VtKC4uLnZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0U2VnbWVudHModmFsdWU6IHJlYWRvbmx5IG51bWJlcltdKTogUmVhZG9ubHlBcnJheTxbbnVtYmVyLCBudW1iZXJdPiB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLm1hcCgoaW5pdGlhbCwgaSwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgYXJyYXkucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAoc3VtLCBjdXJyZW50LCBqKSA9PiAoaiA8IGkgPyB0aGlzLmdldERlZyhjdXJyZW50KSArIHN1bSA6IHN1bSksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGVnKGluaXRpYWwpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubWFwKChhbmdsZSwgaW5kZXgsIGFycmF5KSA9PiBbXG4gICAgICAgICAgICAgICAgYXJyYXlbaW5kZXggLSAxXSB8fCAwLFxuICAgICAgICAgICAgICAgIE1hdGgubWluKGFuZ2xlLCAzNTkuOTk5OSksXG4gICAgICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDM2MCAqICh2YWx1ZSAvIHRoaXMuZ2V0U3VtKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5hY3RpdmVJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLm5leHQoaW5kZXgpO1xuICAgIH1cbn1cbiIsIjxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICB3aWR0aD1cIjEwMCVcIlxuICAgIHZpZXdCb3g9XCItMTAwIC0xMDAgMjAwIDIwMFwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNsYXNzPVwidC1zdmdcIlxuPlxuICAgIDxkZWZzPlxuICAgICAgICA8bWFzayBbYXR0ci5pZF09XCJtYXNrSWRcIj5cbiAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgICAgeD1cIi0yMDBcIlxuICAgICAgICAgICAgICAgIHk9XCItMjAwXCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjQwMFwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgICBjeD1cIjBcIlxuICAgICAgICAgICAgICAgIGN5PVwiMFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucl09XCJyYWRpdXNcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXNrPlxuICAgIDwvZGVmcz5cbiAgICA8ZyBbc3R5bGUubWFza109XCJtYXNrXCI+XG4gICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgIGN4PVwiMFwiXG4gICAgICAgICAgICBjeT1cIjBcIlxuICAgICAgICAgICAgcj1cIjEwMFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtcGxhY2Vob2xkZXJcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGluZGV4IG9mIHNlZ21lbnRzLmxlbmd0aFwiXG4gICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGllLWNoYXJ0X19zZWdtZW50XCJcbiAgICAgICAgICAgIHR1aUhpbnRQb2ludGVyXG4gICAgICAgICAgICBkPVwiXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1zZWdtZW50XCJcbiAgICAgICAgICAgIFthdHRyLnRyYW5zZm9ybV09XCJnZXRUcmFuc2Zvcm0oaW5kZXgpXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJnZXRDb2xvcihpbmRleClcIlxuICAgICAgICAgICAgW3R1aVBpZUNoYXJ0XT1cInNlZ21lbnRzW2luZGV4XVwiXG4gICAgICAgICAgICBbdHVpSGludF09XCJoaW50Q29udGVudFwiXG4gICAgICAgICAgICBbdHVpSGludENvbnRleHRdPVwieyRpbXBsaWNpdDogaW5kZXh9XCJcbiAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSG92ZXJlZCgkZXZlbnQsIGluZGV4KVwiXG4gICAgICAgIC8+XG4gICAgPC9nPlxuPC9zdmc+XG4iXX0=
|
|
@@ -22,7 +22,7 @@ export class TuiPieChartDirective {
|
|
|
22
22
|
]));
|
|
23
23
|
}), tuiZonefree(ngZone), takeUntil(destroy$))
|
|
24
24
|
.subscribe(([start, end]) => {
|
|
25
|
-
nativeElement.setAttribute(
|
|
25
|
+
nativeElement.setAttribute('d', tuiDescribeSector(start, end));
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
set tuiPieChart(sector) {
|
|
@@ -37,7 +37,7 @@ __decorate([
|
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPieChartDirective, decorators: [{
|
|
38
38
|
type: Directive,
|
|
39
39
|
args: [{
|
|
40
|
-
selector:
|
|
40
|
+
selector: 'path[tuiPieChart]',
|
|
41
41
|
providers: [TuiDestroyService],
|
|
42
42
|
}]
|
|
43
43
|
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
63
63
|
}] }]; }, propDecorators: { tuiPieChart: [{
|
|
64
64
|
type: Input
|
|
65
65
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL3BpZS1jaGFydC9waWUtY2hhcnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsUUFBUSxFQUNSLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQU05RSxNQUFNLE9BQU8sb0JBQW9CO0lBUzdCLFlBQ3dCLEVBQUMsYUFBYSxFQUE2QixFQUMvQyxNQUFjLEVBQ0ssUUFBNkIsRUFDM0MsV0FBd0IsRUFDcEIsZUFBbUMsRUFDM0IsUUFBZ0I7UUFkcEMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUE0QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBZ0I5RSxJQUFJLENBQUMsT0FBTzthQUNQLElBQUksQ0FDRCxRQUFRLEVBQUUsRUFDVixTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM5QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbEMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUN2QixHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDWixnQkFBZ0IsQ0FDWixRQUFRLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDL0MsQ0FDSixFQUNELFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQ3pDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsUUFBUTtnQkFDL0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLFFBQVE7YUFDeEQsQ0FBQyxDQUNMLENBQUM7UUFDTixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsTUFBTSxDQUFDLEVBQ25CLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEI7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQ3hCLGFBQWEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQXZDRCxJQUFJLFdBQVcsQ0FBQyxNQUFpQztRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDOztrSEFQUSxvQkFBb0Isa0JBVWpCLFVBQVUsYUFDVixNQUFNLGFBQ0UsaUJBQWlCLHlCQUN6QixXQUFXLGFBQ1gsZUFBZSxhQUNmLHVCQUF1QjtzR0FmMUIsb0JBQW9CLG9GQUZsQixDQUFDLGlCQUFpQixDQUFDO0FBTzlCO0lBREMsY0FBYyxFQUFFO3VEQUdoQjs0RkFQUSxvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQ2pDOzswQkFXUSxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLE1BQU07OzBCQUNiLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzhCQUNDLFdBQVc7MEJBQTVDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsdUJBQXVCOzRDQVYvQixXQUFXO3NCQUZkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgTmdab25lLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FLCBQRVJGT1JNQU5DRX0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R1aURlc2NyaWJlU2VjdG9yfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL3V0aWxzJztcbmltcG9ydCB7XG4gICAgdHVpQ2xhbXAsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpRWFzZUluT3V0UXVhZCxcbiAgICB0dWlab25lZnJlZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX0RVUkFUSU9OfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgcGFpcndpc2UsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YWtlV2hpbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdwYXRoW3R1aVBpZUNoYXJ0XScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQaWVDaGFydERpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN0b3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxyZWFkb25seSBbbnVtYmVyLCBudW1iZXJdPihbMCwgMF0pO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCB0dWlQaWVDaGFydChzZWN0b3I6IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0pIHtcbiAgICAgICAgdGhpcy5zZWN0b3IkLm5leHQoc2VjdG9yKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSB7bmF0aXZlRWxlbWVudH06IEVsZW1lbnRSZWY8U1ZHUGF0aEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoUEVSRk9STUFOQ0UpIHBlcmZvcm1hbmNlOiBQZXJmb3JtYW5jZSxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05TX0RVUkFUSU9OKSBkdXJhdGlvbjogbnVtYmVyLFxuICAgICkge1xuICAgICAgICB0aGlzLnNlY3RvciRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChbcHJldiwgY3VyXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnREZWx0YSA9IGN1clswXSAtIHByZXZbMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZERlbHRhID0gY3VyWzFdIC0gcHJldlsxXTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAodGltZXN0YW1wID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpRWFzZUluT3V0UXVhZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpQ2xhbXAoKHRpbWVzdGFtcCAtIG5vdykgLyBkdXJhdGlvbiwgMCwgMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlV2hpbGUocHJvZ3Jlc3MgPT4gcHJvZ3Jlc3MgPCAxLCB0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChwcm9ncmVzcyA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlswXSArIHN0YXJ0RGVsdGEgKiBwcm9ncmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJbMV0gPiAzNTkgPyBjdXJbMV0gOiBwcmV2WzFdICsgZW5kRGVsdGEgKiBwcm9ncmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHR1aVpvbmVmcmVlKG5nWm9uZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtzdGFydCwgZW5kXSkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkJywgdHVpRGVzY3JpYmVTZWN0b3Ioc3RhcnQsIGVuZCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|