mapa-library-ui 0.47.0 → 0.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.component.mjs +13 -13
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +2 -2
- package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.mjs +19 -11
- package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.mjs +19 -11
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-interval/capability-interval.component.mjs +13 -13
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +2 -2
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-interval/capability-interval.component.mjs +13 -13
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +2 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval/capability-interval.component.mjs +13 -13
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +2 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.component.mjs +3 -3
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +14 -14
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs +19 -10
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +19 -10
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs +16 -16
- package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-scale.mjs +14 -14
- package/fesm2015/mapa-library-ui-src-lib-components-scale.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +14 -14
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs +18 -10
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +18 -10
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs +16 -16
- package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-scale.mjs +14 -14
- package/fesm2020/mapa-library-ui-src-lib-components-scale.mjs.map +1 -1
- package/mapa-library-ui-0.49.0.tgz +0 -0
- package/package.json +1 -1
- package/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.d.ts +4 -2
- package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.d.ts +4 -2
- package/mapa-library-ui-0.47.0.tgz +0 -0
|
@@ -5,16 +5,16 @@ import * as i1 from "@angular/common";
|
|
|
5
5
|
export class MapaCapabilityIntervalComponent {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.SVG = [
|
|
8
|
-
{ x: 0, y: 0.710938, width:
|
|
9
|
-
{ x: 22.5039, y: 0.710938, width:
|
|
10
|
-
{ x: 45.0078, y: 0.710938, width:
|
|
11
|
-
{ x: 66.9629, y: 0.710938, width:
|
|
12
|
-
{ x: 88.917, y: 0.710938, width:
|
|
13
|
-
{ x: 110.872, y: 0.710938, width:
|
|
14
|
-
{ x: 132.827, y: 0.710938, width:
|
|
15
|
-
{ x: 154.782, y: 0.710938, width:
|
|
16
|
-
{ x: 176.736, y: 0.710938, width:
|
|
17
|
-
{ x: 199.24, y: 0.710938, width:
|
|
8
|
+
{ x: 0, y: 0.710938, width: 16, height: 30 },
|
|
9
|
+
{ x: 22.5039, y: 0.710938, width: 16, height: 30 },
|
|
10
|
+
{ x: 45.0078, y: 0.710938, width: 16, height: 30 },
|
|
11
|
+
{ x: 66.9629, y: 0.710938, width: 16, height: 30 },
|
|
12
|
+
{ x: 88.917, y: 0.710938, width: 16, height: 30 },
|
|
13
|
+
{ x: 110.872, y: 0.710938, width: 16, height: 30 },
|
|
14
|
+
{ x: 132.827, y: 0.710938, width: 16, height: 30 },
|
|
15
|
+
{ x: 154.782, y: 0.710938, width: 16, height: 30 },
|
|
16
|
+
{ x: 176.736, y: 0.710938, width: 16, height: 30 },
|
|
17
|
+
{ x: 199.24, y: 0.710938, width: 16, height: 30 },
|
|
18
18
|
];
|
|
19
19
|
this.hasTransform = false;
|
|
20
20
|
this.indexTransform = 0;
|
|
@@ -69,13 +69,13 @@ export class MapaCapabilityIntervalComponent {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
MapaCapabilityIntervalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
MapaCapabilityIntervalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaCapabilityIntervalComponent, selector: "mapa-capability-interval", inputs: { data: "data", showInterval: "showInterval" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"capability__interval\" *ngIf=\"isSVG(); else progressBar\">\n <li\n class=\"capability__interval--item\"\n *ngFor=\"let block of SVG; let i = index\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"
|
|
72
|
+
MapaCapabilityIntervalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaCapabilityIntervalComponent, selector: "mapa-capability-interval", inputs: { data: "data", showInterval: "showInterval" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"capability__interval\" *ngIf=\"isSVG(); else progressBar\">\n <li\n class=\"capability__interval--item\"\n *ngFor=\"let block of SVG; let i = index\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"30\"\n fill=\"none\"\n [class]=\"'svg_' + i + '_' + getWidth(i)\"\n >\n <defs *ngIf=\"hasTransform && i === indexTransform\">\n <linearGradient [attr.id]=\"paintLinear\" gradientUnits=\"userSpaceOnUse\">\n <stop [attr.offset]=\"getStartOffset()\" stop-color=\"#8C8F94\" />\n <stop [attr.offset]=\"getStopOffset()\" stop-color=\"#D9D9D9\" />\n </linearGradient>\n </defs>\n <rect\n rx=\"6\"\n x=\"0\"\n y=\"0.710938\"\n [attr.width]=\"SVG[i].width\"\n [attr.height]=\"SVG[i].height\"\n [attr.fill]=\"getFill(i)\"\n />\n <rect\n *ngIf=\"hasTransform && i === indexTransform\"\n rx=\"6\"\n x=\"0\"\n y=\"0.710938\"\n [attr.width]=\"SVG[i].width\"\n [attr.height]=\"SVG[i].height\"\n [attr.fill]=\"getFillGradient()\"\n />\n </svg>\n </li>\n <li class=\"capability__interval--interval\" *ngIf=\"showInterval\">\n {{ data.interval }}%\n </li>\n</ul>\n<ng-template #progressBar>\n <div class=\"capability__progress-bar\">\n <div class=\"capability__progress-bar--bg\">\n <div\n class=\"capability__progress-bar--filled\"\n [style.width.%]=\"data.interval\"\n ></div>\n </div>\n <div class=\"capability__interval--result\" *ngIf=\"showInterval\">\n {{data.interval}}%\n </div>\n </div>\n</ng-template>\n", styles: [".capability__interval{font-family:SF-Pro;font-size:38px;font-style:normal;font-weight:500;display:flex;align-items:center;list-style-type:none;margin-block-start:0px;margin-block-end:0px;padding-inline-start:0px}.capability__interval--interval{display:flex;align-items:flex-start;text-align:right;font-size:24px;font-style:normal;font-weight:500;height:36px;padding-left:16px}.capability__interval--item{border-radius:6px;margin-right:2px;width:18px;height:34px;position:relative}.capability__interval--item:last-of-type{margin-right:0}.capability__interval--percentage{background-color:#d9d9d9;height:34.57px}.capability__progress-bar{display:flex;align-items:center;justify-content:space-between;color:#2e2a2a;font-size:18px;font-style:normal;font-weight:400;width:310px}.capability__progress-bar--bg{position:relative;background-color:#eee;border-radius:6px;height:8px;width:247px}.capability__progress-bar--filled{position:absolute;top:0;left:0;background-color:#ea561d;border-radius:6px;height:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
|
-
args: [{ selector: "mapa-capability-interval", template: "<ul class=\"capability__interval\" *ngIf=\"isSVG(); else progressBar\">\n <li\n class=\"capability__interval--item\"\n *ngFor=\"let block of SVG; let i = index\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"
|
|
75
|
+
args: [{ selector: "mapa-capability-interval", template: "<ul class=\"capability__interval\" *ngIf=\"isSVG(); else progressBar\">\n <li\n class=\"capability__interval--item\"\n *ngFor=\"let block of SVG; let i = index\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"30\"\n fill=\"none\"\n [class]=\"'svg_' + i + '_' + getWidth(i)\"\n >\n <defs *ngIf=\"hasTransform && i === indexTransform\">\n <linearGradient [attr.id]=\"paintLinear\" gradientUnits=\"userSpaceOnUse\">\n <stop [attr.offset]=\"getStartOffset()\" stop-color=\"#8C8F94\" />\n <stop [attr.offset]=\"getStopOffset()\" stop-color=\"#D9D9D9\" />\n </linearGradient>\n </defs>\n <rect\n rx=\"6\"\n x=\"0\"\n y=\"0.710938\"\n [attr.width]=\"SVG[i].width\"\n [attr.height]=\"SVG[i].height\"\n [attr.fill]=\"getFill(i)\"\n />\n <rect\n *ngIf=\"hasTransform && i === indexTransform\"\n rx=\"6\"\n x=\"0\"\n y=\"0.710938\"\n [attr.width]=\"SVG[i].width\"\n [attr.height]=\"SVG[i].height\"\n [attr.fill]=\"getFillGradient()\"\n />\n </svg>\n </li>\n <li class=\"capability__interval--interval\" *ngIf=\"showInterval\">\n {{ data.interval }}%\n </li>\n</ul>\n<ng-template #progressBar>\n <div class=\"capability__progress-bar\">\n <div class=\"capability__progress-bar--bg\">\n <div\n class=\"capability__progress-bar--filled\"\n [style.width.%]=\"data.interval\"\n ></div>\n </div>\n <div class=\"capability__interval--result\" *ngIf=\"showInterval\">\n {{data.interval}}%\n </div>\n </div>\n</ng-template>\n", styles: [".capability__interval{font-family:SF-Pro;font-size:38px;font-style:normal;font-weight:500;display:flex;align-items:center;list-style-type:none;margin-block-start:0px;margin-block-end:0px;padding-inline-start:0px}.capability__interval--interval{display:flex;align-items:flex-start;text-align:right;font-size:24px;font-style:normal;font-weight:500;height:36px;padding-left:16px}.capability__interval--item{border-radius:6px;margin-right:2px;width:18px;height:34px;position:relative}.capability__interval--item:last-of-type{margin-right:0}.capability__interval--percentage{background-color:#d9d9d9;height:34.57px}.capability__progress-bar{display:flex;align-items:center;justify-content:space-between;color:#2e2a2a;font-size:18px;font-style:normal;font-weight:400;width:310px}.capability__progress-bar--bg{position:relative;background-color:#eee;border-radius:6px;height:8px;width:247px}.capability__progress-bar--filled{position:absolute;top:0;left:0;background-color:#ea561d;border-radius:6px;height:8px}\n"] }]
|
|
76
76
|
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
77
77
|
type: Input
|
|
78
78
|
}], showInterval: [{
|
|
79
79
|
type: Input
|
|
80
80
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW50ZXJ2YWwvY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW50ZXJ2YWwvY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7O0FBTzdCLE1BQU0sT0FBTywrQkFBK0I7SUFxQjFDO1FBaEJPLFFBQUcsR0FBRztZQUNYLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtZQUM1RCxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7WUFDNUQsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO1lBQzVELEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtZQUM1RCxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7WUFDNUQsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO1lBQzVELEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtZQUM1RCxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7WUFDNUQsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO1lBQzVELEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtTQUM3RCxDQUFDO1FBRUssaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBRyxDQUFDLENBQUM7SUFFWCxDQUFDO0lBRWhCLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFXLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBUSxRQUFTLEVBQUUsQ0FBRSxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEtBQUssR0FBRyxhQUFhO1lBQzFCLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEtBQUssS0FBSyxhQUFhO2dCQUN6QixDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTSxPQUFPLENBQUMsQ0FBUztRQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksS0FBSyxLQUFLLEdBQUc7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNwQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLFFBQVMsSUFBSSxDQUFDLFdBQVksR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxZQUFZLENBQUMsQ0FBUztRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssR0FBRztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVDLE9BQU8sZUFBZSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzFELENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQyxLQUFNLFFBQVEsR0FBRyxFQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQyxLQUFNLFFBQVEsR0FBRyxFQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sS0FBSztRQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLENBQUM7SUFDOUUsQ0FBQzs7NkhBNUVVLCtCQUErQjtpSEFBL0IsK0JBQStCLDZJQ1Q1QyxvcURBc0RBOzRGRDdDYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQUszQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENhcGFiaWxpdHkgfSBmcm9tIFwiLi4vZXNzZW50aWFscy9pbnRlcmZhY2VzL2NhcGFiaWxpdHkuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBNZDUgfSBmcm9tIFwidHMtbWQ1XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWNhcGFiaWxpdHktaW50ZXJ2YWxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9jYXBhYmlsaXR5LWludGVydmFsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9jYXBhYmlsaXR5LWludGVydmFsLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhQ2FwYWJpbGl0eUludGVydmFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhITogQ2FwYWJpbGl0eTtcbiAgQElucHV0KCkgc2hvd0ludGVydmFsITogYm9vbGVhbjtcbiAgcHVibGljIHBhaW50TGluZWFyITogc3RyaW5nO1xuXG4gIHB1YmxpYyBTVkcgPSBbXG4gICAgeyB4OiAwICAgICAgLCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE5Ljc1OTQsIGhlaWdodDogMzQuNTc4OSB9LFxuICAgIHsgeDogMjIuNTAzOSwgeTogMC43MTA5MzgsIHdpZHRoOiAxOS43NTk0LCBoZWlnaHQ6IDM0LjU3ODkgfSxcbiAgICB7IHg6IDQ1LjAwNzgsIHk6IDAuNzEwOTM4LCB3aWR0aDogMTkuMjEwNSwgaGVpZ2h0OiAzNC41Nzg5IH0sXG4gICAgeyB4OiA2Ni45NjI5LCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE5LjIxMDUsIGhlaWdodDogMzQuNTc4OSB9LFxuICAgIHsgeDogODguOTE3ICwgeTogMC43MTA5MzgsIHdpZHRoOiAxOS4yMTA1LCBoZWlnaHQ6IDM0LjU3ODkgfSxcbiAgICB7IHg6IDExMC44NzIsIHk6IDAuNzEwOTM4LCB3aWR0aDogMTkuMjEwNSwgaGVpZ2h0OiAzNC41Nzg5IH0sXG4gICAgeyB4OiAxMzIuODI3LCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE5LjIxMDUsIGhlaWdodDogMzQuNTc4OSB9LFxuICAgIHsgeDogMTU0Ljc4MiwgeTogMC43MTA5MzgsIHdpZHRoOiAxOS4yMTA1LCBoZWlnaHQ6IDM0LjU3ODkgfSxcbiAgICB7IHg6IDE3Ni43MzYsIHk6IDAuNzEwOTM4LCB3aWR0aDogMTkuNzU5NCwgaGVpZ2h0OiAzNC41Nzg5IH0sXG4gICAgeyB4OiAxOTkuMjQgLCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE5Ljc1OTQsIGhlaWdodDogMzQuNTc4OSB9LFxuICBdO1xuXG4gIHB1YmxpYyBoYXNUcmFuc2Zvcm0gPSBmYWxzZTtcbiAgcHVibGljIGluZGV4VHJhbnNmb3JtID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG4gIFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSB0aGlzLmRhdGEuaW50ZXJ2YWwgfHwgMDtcbiAgICB0aGlzLmhhc1RyYW5zZm9ybSA9IGludGVydmFsICUgMTAgPiAwO1xuICAgIHRoaXMuaW5kZXhUcmFuc2Zvcm0gPSAoTWF0aC5mbG9vcihpbnRlcnZhbCAvIDEwKSAlIDEwKTtcbiAgICB0aGlzLnBhaW50TGluZWFyID0gYGxpbmVhcl8keyBNZDUuaGFzaFN0cihgc3ZnXyR7IGludGVydmFsIH1gKSB9YDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIGdldFdpZHRoKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5kYXRhKSByZXR1cm4gMDtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuZGF0YS5pbnRlcnZhbCB8fCAwO1xuICAgIGNvbnN0IGludGVydmFsTW9kMTAgPSBNYXRoLmZsb29yKGludGVydmFsIC8gMTApICUgMTA7XG4gICAgcmV0dXJuIGluZGV4IDwgaW50ZXJ2YWxNb2QxMFxuICAgICAgPyAxMDBcbiAgICAgIDogaW5kZXggPT09IGludGVydmFsTW9kMTBcbiAgICAgID8gKGludGVydmFsICUgMTApICogMTBcbiAgICAgIDogMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWxsKGk6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmdldFdpZHRoKGkpO1xuICAgIGlmICh3aWR0aCA9PT0gMTAwKSByZXR1cm4gXCIjOEM4Rjk0XCI7XG4gICAgcmV0dXJuIFwiI0RDRENERVwiO1xuICB9XG5cbiAgcHVibGljIGdldEZpbGxHcmFkaWVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgdXJsKCMkeyB0aGlzLnBhaW50TGluZWFyIH0pYDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUcmFuc2Zvcm0oaTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuZ2V0V2lkdGgoaSk7XG4gICAgaWYgKHdpZHRoID09PSAwIHx8IHdpZHRoID09PSAxMDApIHJldHVybiBcIlwiO1xuICAgIHJldHVybiBgcm90YXRlKC0xODAgJHt0aGlzLlNWR1tpXS54fSAke3RoaXMuU1ZHW2ldLnl9KWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhcnRPZmZzZXQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuZGF0YS5pbnRlcnZhbCB8fCAwO1xuICAgIHJldHVybiBOdW1iZXIoYDAuJHsgaW50ZXJ2YWwgJSAxMCB9NzMwMDVgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdG9wT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSB0aGlzLmRhdGEuaW50ZXJ2YWwgfHwgMDtcbiAgICByZXR1cm4gTnVtYmVyKGAwLiR7IGludGVydmFsICUgMTAgfTczMTA1YCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0R3JhZGllbnRYKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy5TVkdbdGhpcy5pbmRleFRyYW5zZm9ybV0ueCk7XG4gIH1cblxuICBwdWJsaWMgaXNTVkcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kYXRhLmNsYXNzaWZpY2F0aW9uQmcgJiYgdGhpcy5kYXRhLmNsYXNzaWZpY2F0aW9uQmcgPT09IFwiU1ZHXCI7XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cImNhcGFiaWxpdHlfX2ludGVydmFsXCIgKm5nSWY9XCJpc1NWRygpOyBlbHNlIHByb2dyZXNzQmFyXCI+XG4gIDxsaVxuICAgIGNsYXNzPVwiY2FwYWJpbGl0eV9faW50ZXJ2YWwtLWl0ZW1cIlxuICAgICpuZ0Zvcj1cImxldCBibG9jayBvZiBTVkc7IGxldCBpID0gaW5kZXhcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB3aWR0aD1cIjE5Ljc1OTRcIlxuICAgICAgaGVpZ2h0PVwiMzQuNTc4OVwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICBbY2xhc3NdPVwiJ3N2Z18nICsgaSArICdfJyArIGdldFdpZHRoKGkpXCJcbiAgICA+XG4gICAgICA8ZGVmcyAqbmdJZj1cImhhc1RyYW5zZm9ybSAmJiBpID09PSBpbmRleFRyYW5zZm9ybVwiPlxuICAgICAgICA8bGluZWFyR3JhZGllbnQgW2F0dHIuaWRdPVwicGFpbnRMaW5lYXJcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICA8c3RvcCBbYXR0ci5vZmZzZXRdPVwiZ2V0U3RhcnRPZmZzZXQoKVwiIHN0b3AtY29sb3I9XCIjOEM4Rjk0XCIgLz5cbiAgICAgICAgICA8c3RvcCBbYXR0ci5vZmZzZXRdPVwiZ2V0U3RvcE9mZnNldCgpXCIgc3RvcC1jb2xvcj1cIiNEOUQ5RDlcIiAvPlxuICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgPC9kZWZzPlxuICAgICAgPHJlY3RcbiAgICAgICAgcng9XCI2XCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMC43MTA5MzhcIlxuICAgICAgICBbYXR0ci53aWR0aF09XCJTVkdbaV0ud2lkdGhcIlxuICAgICAgICBbYXR0ci5oZWlnaHRdPVwiU1ZHW2ldLmhlaWdodFwiXG4gICAgICAgIFthdHRyLmZpbGxdPVwiZ2V0RmlsbChpKVwiXG4gICAgICAvPlxuICAgICAgPHJlY3RcbiAgICAgICAgKm5nSWY9XCJoYXNUcmFuc2Zvcm0gJiYgaSA9PT0gaW5kZXhUcmFuc2Zvcm1cIlxuICAgICAgICByeD1cIjZcIlxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwLjcxMDkzOFwiXG4gICAgICAgIFthdHRyLndpZHRoXT1cIlNWR1tpXS53aWR0aFwiXG4gICAgICAgIFthdHRyLmhlaWdodF09XCJTVkdbaV0uaGVpZ2h0XCJcbiAgICAgICAgW2F0dHIuZmlsbF09XCJnZXRGaWxsR3JhZGllbnQoKVwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2xpPlxuICA8bGkgY2xhc3M9XCJjYXBhYmlsaXR5X19pbnRlcnZhbC0taW50ZXJ2YWwgZGlzcGxheS1YR1wiICpuZ0lmPVwic2hvd0ludGVydmFsXCI+XG4gICAge3sgZGF0YS5pbnRlcnZhbCB9fVxuICA8L2xpPlxuPC91bD5cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NCYXI+XG4gIDxkaXYgY2xhc3M9XCJjYXBhYmlsaXR5X19wcm9ncmVzcy1iYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FwYWJpbGl0eV9fcHJvZ3Jlc3MtYmFyLS1iZ1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNhcGFiaWxpdHlfX3Byb2dyZXNzLWJhci0tZmlsbGVkXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiZGF0YS5pbnRlcnZhbFwiXG4gICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNhcGFiaWxpdHlfX2ludGVydmFsLS1yZXN1bHRcIiAqbmdJZj1cInNob3dJbnRlcnZhbFwiPlxuICAgICAge3tkYXRhLmludGVydmFsfX0lXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW50ZXJ2YWwvY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW50ZXJ2YWwvY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7O0FBTzdCLE1BQU0sT0FBTywrQkFBK0I7SUFxQjFDO1FBaEJPLFFBQUcsR0FBRztZQUNYLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNsRCxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7WUFDbEQsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQ2xELEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFF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LENBQUMsR0FBRyxDQUFDO0lBQzFELENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQyxLQUFNLFFBQVEsR0FBRyxFQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQyxLQUFNLFFBQVEsR0FBRyxFQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sS0FBSztRQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLENBQUM7SUFDOUUsQ0FBQzs7NkhBNUVVLCtCQUErQjtpSEFBL0IsK0JBQStCLDZJQ1Q1QyxncERBc0RBOzRGRDdDYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQUszQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENhcGFiaWxpdHkgfSBmcm9tIFwiLi4vZXNzZW50aWFscy9pbnRlcmZhY2VzL2NhcGFiaWxpdHkuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBNZDUgfSBmcm9tIFwidHMtbWQ1XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWNhcGFiaWxpdHktaW50ZXJ2YWxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9jYXBhYmlsaXR5LWludGVydmFsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9jYXBhYmlsaXR5LWludGVydmFsLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhQ2FwYWJpbGl0eUludGVydmFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhITogQ2FwYWJpbGl0eTtcbiAgQElucHV0KCkgc2hvd0ludGVydmFsITogYm9vbGVhbjtcbiAgcHVibGljIHBhaW50TGluZWFyITogc3RyaW5nO1xuXG4gIHB1YmxpYyBTVkcgPSBbXG4gICAgeyB4OiAwICAgICAgLCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiAyMi41MDM5LCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiA0NS4wMDc4LCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiA2Ni45NjI5LCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiA4OC45MTcgLCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiAxMTAuODcyLCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiAxMzIuODI3LCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiAxNTQuNzgyLCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiAxNzYuNzM2LCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gICAgeyB4OiAxOTkuMjQgLCB5OiAwLjcxMDkzOCwgd2lkdGg6IDE2LCBoZWlnaHQ6IDMwIH0sXG4gIF07XG5cbiAgcHVibGljIGhhc1RyYW5zZm9ybSA9IGZhbHNlO1xuICBwdWJsaWMgaW5kZXhUcmFuc2Zvcm0gPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbiAgXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuZGF0YS5pbnRlcnZhbCB8fCAwO1xuICAgIHRoaXMuaGFzVHJhbnNmb3JtID0gaW50ZXJ2YWwgJSAxMCA+IDA7XG4gICAgdGhpcy5pbmRleFRyYW5zZm9ybSA9IChNYXRoLmZsb29yKGludGVydmFsIC8gMTApICUgMTApO1xuICAgIHRoaXMucGFpbnRMaW5lYXIgPSBgbGluZWFyXyR7IE1kNS5oYXNoU3RyKGBzdmdfJHsgaW50ZXJ2YWwgfWApIH1gO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgZ2V0V2lkdGgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmRhdGEpIHJldHVybiAwO1xuICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5kYXRhLmludGVydmFsIHx8IDA7XG4gICAgY29uc3QgaW50ZXJ2YWxNb2QxMCA9IE1hdGguZmxvb3IoaW50ZXJ2YWwgLyAxMCkgJSAxMDtcbiAgICByZXR1cm4gaW5kZXggPCBpbnRlcnZhbE1vZDEwXG4gICAgICA/IDEwMFxuICAgICAgOiBpbmRleCA9PT0gaW50ZXJ2YWxNb2QxMFxuICAgICAgPyAoaW50ZXJ2YWwgJSAxMCkgKiAxMFxuICAgICAgOiAwO1xuICB9XG5cbiAgcHVibGljIGdldEZpbGwoaTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuZ2V0V2lkdGgoaSk7XG4gICAgaWYgKHdpZHRoID09PSAxMDApIHJldHVybiBcIiM4QzhGOTRcIjtcbiAgICByZXR1cm4gXCIjRENEQ0RFXCI7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmlsbEdyYWRpZW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB1cmwoIyR7IHRoaXMucGFpbnRMaW5lYXIgfSlgO1xuICB9XG5cbiAgcHVibGljIGdldFRyYW5zZm9ybShpOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRXaWR0aChpKTtcbiAgICBpZiAod2lkdGggPT09IDAgfHwgd2lkdGggPT09IDEwMCkgcmV0dXJuIFwiXCI7XG4gICAgcmV0dXJuIGByb3RhdGUoLTE4MCAke3RoaXMuU1ZHW2ldLnh9ICR7dGhpcy5TVkdbaV0ueX0pYDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGFydE9mZnNldCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5kYXRhLmludGVydmFsIHx8IDA7XG4gICAgcmV0dXJuIE51bWJlcihgMC4keyBpbnRlcnZhbCAlIDEwIH03MzAwNWApO1xuICB9XG5cbiAgcHVibGljIGdldFN0b3BPZmZzZXQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuZGF0YS5pbnRlcnZhbCB8fCAwO1xuICAgIHJldHVybiBOdW1iZXIoYDAuJHsgaW50ZXJ2YWwgJSAxMCB9NzMxMDVgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRHcmFkaWVudFgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLlNWR1t0aGlzLmluZGV4VHJhbnNmb3JtXS54KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NWRygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRhdGEuY2xhc3NpZmljYXRpb25CZyAmJiB0aGlzLmRhdGEuY2xhc3NpZmljYXRpb25CZyA9PT0gXCJTVkdcIjtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwiY2FwYWJpbGl0eV9faW50ZXJ2YWxcIiAqbmdJZj1cImlzU1ZHKCk7IGVsc2UgcHJvZ3Jlc3NCYXJcIj5cbiAgPGxpXG4gICAgY2xhc3M9XCJjYXBhYmlsaXR5X19pbnRlcnZhbC0taXRlbVwiXG4gICAgKm5nRm9yPVwibGV0IGJsb2NrIG9mIFNWRzsgbGV0IGkgPSBpbmRleFwiXG4gID5cbiAgICA8c3ZnXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHdpZHRoPVwiMTZcIlxuICAgICAgaGVpZ2h0PVwiMzBcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgW2NsYXNzXT1cIidzdmdfJyArIGkgKyAnXycgKyBnZXRXaWR0aChpKVwiXG4gICAgPlxuICAgICAgPGRlZnMgKm5nSWY9XCJoYXNUcmFuc2Zvcm0gJiYgaSA9PT0gaW5kZXhUcmFuc2Zvcm1cIj5cbiAgICAgICAgPGxpbmVhckdyYWRpZW50IFthdHRyLmlkXT1cInBhaW50TGluZWFyXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgPHN0b3AgW2F0dHIub2Zmc2V0XT1cImdldFN0YXJ0T2Zmc2V0KClcIiBzdG9wLWNvbG9yPVwiIzhDOEY5NFwiIC8+XG4gICAgICAgICAgPHN0b3AgW2F0dHIub2Zmc2V0XT1cImdldFN0b3BPZmZzZXQoKVwiIHN0b3AtY29sb3I9XCIjRDlEOUQ5XCIgLz5cbiAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgIDwvZGVmcz5cbiAgICAgIDxyZWN0XG4gICAgICAgIHJ4PVwiNlwiXG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjAuNzEwOTM4XCJcbiAgICAgICAgW2F0dHIud2lkdGhdPVwiU1ZHW2ldLndpZHRoXCJcbiAgICAgICAgW2F0dHIuaGVpZ2h0XT1cIlNWR1tpXS5oZWlnaHRcIlxuICAgICAgICBbYXR0ci5maWxsXT1cImdldEZpbGwoaSlcIlxuICAgICAgLz5cbiAgICAgIDxyZWN0XG4gICAgICAgICpuZ0lmPVwiaGFzVHJhbnNmb3JtICYmIGkgPT09IGluZGV4VHJhbnNmb3JtXCJcbiAgICAgICAgcng9XCI2XCJcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMC43MTA5MzhcIlxuICAgICAgICBbYXR0ci53aWR0aF09XCJTVkdbaV0ud2lkdGhcIlxuICAgICAgICBbYXR0ci5oZWlnaHRdPVwiU1ZHW2ldLmhlaWdodFwiXG4gICAgICAgIFthdHRyLmZpbGxdPVwiZ2V0RmlsbEdyYWRpZW50KClcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9saT5cbiAgPGxpIGNsYXNzPVwiY2FwYWJpbGl0eV9faW50ZXJ2YWwtLWludGVydmFsXCIgKm5nSWY9XCJzaG93SW50ZXJ2YWxcIj5cbiAgICB7eyBkYXRhLmludGVydmFsIH19JVxuICA8L2xpPlxuPC91bD5cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NCYXI+XG4gIDxkaXYgY2xhc3M9XCJjYXBhYmlsaXR5X19wcm9ncmVzcy1iYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FwYWJpbGl0eV9fcHJvZ3Jlc3MtYmFyLS1iZ1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNhcGFiaWxpdHlfX3Byb2dyZXNzLWJhci0tZmlsbGVkXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiZGF0YS5pbnRlcnZhbFwiXG4gICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNhcGFiaWxpdHlfX2ludGVydmFsLS1yZXN1bHRcIiAqbmdJZj1cInNob3dJbnRlcnZhbFwiPlxuICAgICAge3tkYXRhLmludGVydmFsfX0lXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -15,10 +15,10 @@ export class MapaCapabilityIntervalBarComponent {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
MapaCapabilityIntervalBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
MapaCapabilityIntervalBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaCapabilityIntervalBarComponent, selector: "mapa-capability-interval-bar", inputs: { data: "data", expanded: "expanded", showInterval: "showInterval" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<section reusable-outlet class=\"capability-interval\">\n <section [class.capability-interval__bar]=\"isSVG()\">\n <mapa-capability-interval\n [data]=\"data\"\n [showInterval]=\"showInterval\"\n ></mapa-capability-interval>\n </section>\n</section>\n", styles: [".capability-interval{display:flex;align-items:center;position:relative;height:72px;
|
|
18
|
+
MapaCapabilityIntervalBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaCapabilityIntervalBarComponent, selector: "mapa-capability-interval-bar", inputs: { data: "data", expanded: "expanded", showInterval: "showInterval" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<section reusable-outlet class=\"capability-interval\">\n <section [class.capability-interval__bar]=\"isSVG()\">\n <mapa-capability-interval\n [data]=\"data\"\n [showInterval]=\"showInterval\"\n ></mapa-capability-interval>\n </section>\n</section>\n", styles: [".capability-interval{display:flex;align-items:center;position:relative;height:72px;margin-right:16px}.capability-interval__bar{display:flex;align-items:center;justify-content:center;max-height:72px;height:100%}.capability-interval__show-more{display:flex;align-items:center;justify-content:flex-end;max-height:72px;height:100%;width:100%}.capability-interval__show-more mapa-button,.capability-interval__show-more button{width:100%;justify-content:flex-end!important}.capability-interval--hide{opacity:0;max-height:0}.capability-interval--hide>*{opacity:0;max-height:0}.capability-interval--show{opacity:1;max-height:72px}\n"], dependencies: [{ kind: "component", type: i1.MapaCapabilityIntervalComponent, selector: "mapa-capability-interval", inputs: ["data", "showInterval"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalBarComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: "mapa-capability-interval-bar", encapsulation: ViewEncapsulation.None, template: "<section reusable-outlet class=\"capability-interval\">\n <section [class.capability-interval__bar]=\"isSVG()\">\n <mapa-capability-interval\n [data]=\"data\"\n [showInterval]=\"showInterval\"\n ></mapa-capability-interval>\n </section>\n</section>\n", styles: [".capability-interval{display:flex;align-items:center;position:relative;height:72px;
|
|
21
|
+
args: [{ selector: "mapa-capability-interval-bar", encapsulation: ViewEncapsulation.None, template: "<section reusable-outlet class=\"capability-interval\">\n <section [class.capability-interval__bar]=\"isSVG()\">\n <mapa-capability-interval\n [data]=\"data\"\n [showInterval]=\"showInterval\"\n ></mapa-capability-interval>\n </section>\n</section>\n", styles: [".capability-interval{display:flex;align-items:center;position:relative;height:72px;margin-right:16px}.capability-interval__bar{display:flex;align-items:center;justify-content:center;max-height:72px;height:100%}.capability-interval__show-more{display:flex;align-items:center;justify-content:flex-end;max-height:72px;height:100%;width:100%}.capability-interval__show-more mapa-button,.capability-interval__show-more button{width:100%;justify-content:flex-end!important}.capability-interval--hide{opacity:0;max-height:0}.capability-interval--hide>*{opacity:0;max-height:0}.capability-interval--show{opacity:1;max-height:72px}\n"] }]
|
|
22
22
|
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
23
23
|
type: Input
|
|
24
24
|
}], expanded: [{
|
package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.mjs
CHANGED
|
@@ -34,7 +34,7 @@ export class MapaDropdownTreeComponent {
|
|
|
34
34
|
/** The new item's name */
|
|
35
35
|
this.newItemName = "";
|
|
36
36
|
/** The selection for checklist */
|
|
37
|
-
this.checklistSelection = new SelectionModel(true
|
|
37
|
+
this.checklistSelection = new SelectionModel(true);
|
|
38
38
|
/// Filtering
|
|
39
39
|
this.myControl = new FormControl();
|
|
40
40
|
this.options = ["One", "Two", "Three"];
|
|
@@ -42,16 +42,17 @@ export class MapaDropdownTreeComponent {
|
|
|
42
42
|
this.isExpandable = (node) => node.expandable;
|
|
43
43
|
this.getChildren = (node) => node.children;
|
|
44
44
|
this.hasChild = (_, _nodeData) => _nodeData.expandable;
|
|
45
|
-
this.hasNoContent = (_, _nodeData) => _nodeData.
|
|
45
|
+
this.hasNoContent = (_, _nodeData) => _nodeData.value === "";
|
|
46
46
|
/**
|
|
47
47
|
* Transformer to convert nested node to flat node. Record the nodes in maps for later use.
|
|
48
48
|
*/
|
|
49
49
|
this.transformer = (node, level) => {
|
|
50
50
|
const existingNode = this.nestedNodeMap.get(node);
|
|
51
|
-
const flatNode = existingNode && existingNode.
|
|
51
|
+
const flatNode = existingNode && existingNode.value === node.value
|
|
52
52
|
? existingNode
|
|
53
53
|
: new DataFlatNode();
|
|
54
|
-
flatNode.
|
|
54
|
+
flatNode.key = node.key;
|
|
55
|
+
flatNode.value = node.value;
|
|
55
56
|
flatNode.level = level;
|
|
56
57
|
flatNode.expandable = !!node.children;
|
|
57
58
|
this.flatNodeMap.set(flatNode, node);
|
|
@@ -68,6 +69,11 @@ export class MapaDropdownTreeComponent {
|
|
|
68
69
|
this.dataSource.data = data;
|
|
69
70
|
this.treeControl.expandAll();
|
|
70
71
|
});
|
|
72
|
+
this.checklistSelection.changed.subscribe((selection) => {
|
|
73
|
+
this.formGroup.get(this.element.key)?.patchValue(selection.source.selected.map((checked) => {
|
|
74
|
+
return { value: checked.value, key: checked.key };
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
71
77
|
}
|
|
72
78
|
ngAfterViewInit() {
|
|
73
79
|
this.treeControl.expandAll();
|
|
@@ -140,7 +146,6 @@ export class MapaDropdownTreeComponent {
|
|
|
140
146
|
}
|
|
141
147
|
/* Get the parent node of a node */
|
|
142
148
|
getParentNode(node) {
|
|
143
|
-
console.log(this.checklistSelection.selected);
|
|
144
149
|
const currentLevel = this.getLevel(node);
|
|
145
150
|
if (currentLevel < 1) {
|
|
146
151
|
return null;
|
|
@@ -157,11 +162,14 @@ export class MapaDropdownTreeComponent {
|
|
|
157
162
|
getSelectedItems() {
|
|
158
163
|
if (!this.checklistSelection.selected.length)
|
|
159
164
|
return this.element.placeholder || "Selecione";
|
|
160
|
-
return this.checklistSelection.selected
|
|
165
|
+
return this.checklistSelection.selected
|
|
166
|
+
.map((s) => s.value)
|
|
167
|
+
.join(",")
|
|
168
|
+
.toString()
|
|
169
|
+
.replace(/\,/g, ", ");
|
|
161
170
|
}
|
|
162
171
|
filterChanged(event) {
|
|
163
172
|
const filterText = event.target?.value;
|
|
164
|
-
console.log("filterChanged", filterText);
|
|
165
173
|
// ChecklistDatabase.filter method which actually filters the tree and gives back a tree structure
|
|
166
174
|
this._database.filter(filterText);
|
|
167
175
|
if (filterText) {
|
|
@@ -173,10 +181,10 @@ export class MapaDropdownTreeComponent {
|
|
|
173
181
|
}
|
|
174
182
|
}
|
|
175
183
|
MapaDropdownTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownTreeComponent, deps: [{ token: i1.ChecklistDatabase }], target: i0.ɵɵFactoryTarget.Component });
|
|
176
|
-
MapaDropdownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownTreeComponent, selector: "mapa-dropdown-tree", inputs: { formGroup: "formGroup", element: "element" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["auto"], descendants: true }, { propertyName: "tree", first: true, predicate: ["tree"], descendants: true }], ngImport: i0, template: "<form\n [formGroup]=\"formGroup\"\n *ngIf=\"formGroup && element\"\n class=\"mapa-dropdown-tree\"\n>\n <label *ngIf=\"element.label\" class=\"mapa-dropdown-tree__label\">\n {{ element.label }}\n </label>\n <mat-form-field>\n <button class=\"mapa-dropdown-tree__dropdown\" #menuOption=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\">\n <div class=\"mapa-dropdown-tree__dropdown--value\">\n {{ getSelectedItems() }}\n </div>\n\n <mat-icon\n >{{ menuOption.menuOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</mat-icon\n >\n </button>\n <mat-menu #menu=\"matMenu\">\n <div class=\"mapa-dropdown-tree__search\" *ngIf=\"element.search\">\n <mat-form-field appearance=\"outline\">\n <input\n matInput\n #searchInput\n [formControl]=\"element.search?.formControl!\"\n [placeholder]=\"element.search?.placeholder || ''\"\n (keydown)=\"$event.stopPropagation()\"\n (keyup)=\"filter(element.tree, searchInput.value)\"\n />\n </mat-form-field>\n </div>\n\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node\n *matTreeNodeDef=\"let node\"\n matTreeNodeToggle\n matTreeNodePadding\n >\n <button mat-icon-button disabled></button>\n <mat-checkbox\n class=\"checklist-leaf-node\"\n [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"todoLeafItemSelectionToggle(node)\"\n >{{node.item}}</mat-checkbox\n >\n </mat-tree-node>\n\n <mat-tree-node\n *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodePadding\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'toggle ' + node.filename\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\n </mat-icon>\n </button>\n <mat-checkbox\n [checked]=\"descendantsAllSelected(node)\"\n [indeterminate]=\"descendantsPartiallySelected(node)\"\n (change)=\"todoItemSelectionToggle(node)\"\n >\n {{node.item}}</mat-checkbox\n >\n </mat-tree-node>\n </mat-tree>\n <button mat-button class=\"mapa-dropdown-tree__button\" color=\"primary\">\n Limpar todos\n </button>\n </mat-menu>\n </mat-form-field>\n</form>\n", styles: [".mapa-dropdown-tree{max-width:min-content;min-width:235px}.mapa-dropdown-tree .mat-select{font-family:SF-Pro!important}.mapa-dropdown-tree__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown-tree__dropdown{display:flex;align-items:center;justify-content:space-between;border:unset;background-color:transparent;height:24px}.mapa-dropdown-tree__dropdown--value{font-family:SF-Pro!important;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:300px}.mapa-dropdown-tree__button{padding:9px;width:100%}.mapa-dropdown-tree__search{display:flex;align-items:center;justify-content:center;background:#f6f7f7;width:100%;height:48px}.mapa-dropdown-tree__search .mat-form-field{width:94%}.mapa-dropdown-tree__search .mat-form-field-wrapper{padding-bottom:unset!important}.mapa-dropdown-tree__search .mat-form-field-outline{background:white;border-radius:8px}.mapa-dropdown-tree__search .mat-form-field-appearance-outline .mat-form-field-infix{padding:.5em 0!important;border-top:unset!important}.mapa-dropdown-tree__clean{background:white;border-top:1px solid #dcdcde;bottom:0%;height:36px;position:absolute;width:100%;z-index:9999}.mapa-dropdown-tree__clean button{text-align:left;height:36px;width:100%}.mapa-dropdown-tree--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown-tree--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown-tree--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown-tree .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown-tree .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown-tree .mat-form-field-wrapper{padding-bottom:unset!important}.mapa-dropdown-tree .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown-tree .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown-tree .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown-tree .mat-select-value-text{display:block;width:90%}.mapa-dropdown-tree .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown-tree .mat-select-arrow{border:unset}.mapa-dropdown-tree .mat-select-arrow:before,.mapa-dropdown-tree .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown-tree{position:absolute!important;left:-12px;top:12px;transform:translate(0) translateY(2px)!important;width:350px}.mapa-overlay-dropdown-tree .mat-menu-panel{width:100%}.mapa-overlay-dropdown-tree .mat-input-element{font-family:SF-Pro;font-size:14px}.mapa-overlay-dropdown-tree .mat-menu-content{padding-bottom:unset!important;padding-top:unset!important}.mapa-overlay-dropdown-tree .mat-tree{height:260px}.mapa-overlay-dropdown-tree ul{padding-inline-start:20px!important;margin-block-start:0px!important;margin-block-end:0px!important;gap:8px}.mapa-overlay-dropdown-tree .tree-toggle{display:none}.mapa-overlay-dropdown-tree .mat-tree-node{margin-left:8px}.mapa-overlay-dropdown-tree .mat-tree-node .mat-focus-indicator{display:none}.mapa-overlay-dropdown-tree .mat-select-tree-hide{display:block!important}.mapa-overlay-dropdown-tree .mat-autocomplete-panel .mat-option{padding:unset!important}.mapa-overlay-dropdown-tree .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown-tree .mat-select-panel .mat-option,.mapa-overlay-dropdown-tree .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown-tree .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown-tree .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i8.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i8.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i8.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i8.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i8.MatTreeNode, selector: "mat-tree-node", inputs: ["role", "disabled", "tabIndex"], exportAs: ["matTreeNode"] }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
184
|
+
MapaDropdownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownTreeComponent, selector: "mapa-dropdown-tree", inputs: { formGroup: "formGroup", element: "element" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["auto"], descendants: true }, { propertyName: "tree", first: true, predicate: ["tree"], descendants: true }], ngImport: i0, template: "<form\n [formGroup]=\"formGroup\"\n *ngIf=\"formGroup && element\"\n class=\"mapa-dropdown-tree\"\n>\n <label *ngIf=\"element.label\" class=\"mapa-dropdown-tree__label\">\n {{ element.label }}\n </label>\n <button class=\"mapa-dropdown-tree__dropdown\" #menuOption=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\">\n <div class=\"mapa-dropdown-tree__dropdown--value\">\n {{ getSelectedItems() }}\n </div>\n\n <mat-icon\n >{{ menuOption.menuOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</mat-icon\n >\n </button>\n <mat-menu #menu=\"matMenu\">\n <div class=\"mapa-dropdown-tree__search\" *ngIf=\"element.search\">\n <mat-form-field appearance=\"outline\">\n <input\n matInput\n #searchInput\n [formControl]=\"element.search?.formControl!\"\n [placeholder]=\"element.search?.placeholder || ''\"\n (keydown)=\"$event.stopPropagation()\"\n (keyup)=\"filter(element.tree, searchInput.value)\"\n />\n </mat-form-field>\n </div>\n\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node\n *matTreeNodeDef=\"let node\"\n matTreeNodeToggle\n matTreeNodePadding\n >\n <button mat-icon-button disabled></button>\n <mat-checkbox\n class=\"checklist-leaf-node\"\n [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"todoLeafItemSelectionToggle(node)\"\n >{{node.value}}</mat-checkbox\n >\n </mat-tree-node>\n\n <mat-tree-node\n *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodePadding\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'toggle ' + node.filename\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\n </mat-icon>\n </button>\n <mat-checkbox\n [checked]=\"descendantsAllSelected(node)\"\n [indeterminate]=\"descendantsPartiallySelected(node)\"\n (change)=\"todoItemSelectionToggle(node)\"\n >\n {{node.value}}</mat-checkbox\n >\n </mat-tree-node>\n </mat-tree>\n <button mat-button class=\"mapa-dropdown-tree__button\" color=\"primary\">\n Limpar todos\n </button>\n </mat-menu>\n</form>\n", styles: [".mapa-dropdown-tree{max-width:min-content;min-width:235px}.mapa-dropdown-tree .mat-select{font-family:SF-Pro!important}.mapa-dropdown-tree__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown-tree__dropdown{display:flex;align-items:center;justify-content:space-between;background-color:#fff;border:1px solid #dcdcde;border-radius:8px;padding:10px 12px}.mapa-dropdown-tree__dropdown--value{font-family:SF-Pro!important;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:300px}.mapa-dropdown-tree__button{padding:9px;width:100%}.mapa-dropdown-tree__search{display:flex;align-items:center;justify-content:center;background:#f6f7f7;width:100%;height:48px}.mapa-dropdown-tree__search .mat-form-field{width:94%}.mapa-dropdown-tree__search .mat-form-field-wrapper{padding-bottom:unset!important}.mapa-dropdown-tree__search .mat-form-field-outline{background:white;border-radius:8px}.mapa-dropdown-tree__search .mat-form-field-appearance-outline .mat-form-field-infix{padding:.5em 0!important;border-top:unset!important}.mapa-dropdown-tree__clean{background:white;border-top:1px solid #dcdcde;bottom:0%;height:36px;position:absolute;width:100%;z-index:9999}.mapa-dropdown-tree__clean button{text-align:left;height:36px;width:100%}.mapa-dropdown-tree--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown-tree--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown-tree--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown-tree .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown-tree .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown-tree .mat-form-field-wrapper{padding-bottom:unset!important}.mapa-dropdown-tree .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown-tree .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown-tree .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown-tree .mat-select-value-text{display:block;width:90%}.mapa-dropdown-tree .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown-tree .mat-select-arrow{border:unset}.mapa-dropdown-tree .mat-select-arrow:before,.mapa-dropdown-tree .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown-tree{position:absolute!important;left:-12px;top:12px;transform:translate(0) translateY(2px)!important;width:350px}.mapa-overlay-dropdown-tree .mat-menu-panel{width:100%}.mapa-overlay-dropdown-tree .mat-input-element{font-family:SF-Pro;font-size:14px}.mapa-overlay-dropdown-tree .mat-menu-content{padding-bottom:unset!important;padding-top:unset!important}.mapa-overlay-dropdown-tree .mat-tree{height:260px}.mapa-overlay-dropdown-tree ul{padding-inline-start:20px!important;margin-block-start:0px!important;margin-block-end:0px!important;gap:8px}.mapa-overlay-dropdown-tree .tree-toggle{display:none}.mapa-overlay-dropdown-tree .mat-tree-node{margin-left:8px}.mapa-overlay-dropdown-tree .mat-tree-node .mat-focus-indicator{display:none}.mapa-overlay-dropdown-tree .mat-select-tree-hide{display:block!important}.mapa-overlay-dropdown-tree .mat-autocomplete-panel .mat-option{padding:unset!important}.mapa-overlay-dropdown-tree .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown-tree .mat-select-panel .mat-option,.mapa-overlay-dropdown-tree .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown-tree .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown-tree .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i8.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i8.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i8.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i8.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i8.MatTreeNode, selector: "mat-tree-node", inputs: ["role", "disabled", "tabIndex"], exportAs: ["matTreeNode"] }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
177
185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownTreeComponent, decorators: [{
|
|
178
186
|
type: Component,
|
|
179
|
-
args: [{ selector: "mapa-dropdown-tree", encapsulation: ViewEncapsulation.None, template: "<form\n [formGroup]=\"formGroup\"\n *ngIf=\"formGroup && element\"\n class=\"mapa-dropdown-tree\"\n>\n <label *ngIf=\"element.label\" class=\"mapa-dropdown-tree__label\">\n {{ element.label }}\n </label>\n
|
|
187
|
+
args: [{ selector: "mapa-dropdown-tree", encapsulation: ViewEncapsulation.None, template: "<form\n [formGroup]=\"formGroup\"\n *ngIf=\"formGroup && element\"\n class=\"mapa-dropdown-tree\"\n>\n <label *ngIf=\"element.label\" class=\"mapa-dropdown-tree__label\">\n {{ element.label }}\n </label>\n <button class=\"mapa-dropdown-tree__dropdown\" #menuOption=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\">\n <div class=\"mapa-dropdown-tree__dropdown--value\">\n {{ getSelectedItems() }}\n </div>\n\n <mat-icon\n >{{ menuOption.menuOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</mat-icon\n >\n </button>\n <mat-menu #menu=\"matMenu\">\n <div class=\"mapa-dropdown-tree__search\" *ngIf=\"element.search\">\n <mat-form-field appearance=\"outline\">\n <input\n matInput\n #searchInput\n [formControl]=\"element.search?.formControl!\"\n [placeholder]=\"element.search?.placeholder || ''\"\n (keydown)=\"$event.stopPropagation()\"\n (keyup)=\"filter(element.tree, searchInput.value)\"\n />\n </mat-form-field>\n </div>\n\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node\n *matTreeNodeDef=\"let node\"\n matTreeNodeToggle\n matTreeNodePadding\n >\n <button mat-icon-button disabled></button>\n <mat-checkbox\n class=\"checklist-leaf-node\"\n [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"todoLeafItemSelectionToggle(node)\"\n >{{node.value}}</mat-checkbox\n >\n </mat-tree-node>\n\n <mat-tree-node\n *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodePadding\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'toggle ' + node.filename\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\n </mat-icon>\n </button>\n <mat-checkbox\n [checked]=\"descendantsAllSelected(node)\"\n [indeterminate]=\"descendantsPartiallySelected(node)\"\n (change)=\"todoItemSelectionToggle(node)\"\n >\n {{node.value}}</mat-checkbox\n >\n </mat-tree-node>\n </mat-tree>\n <button mat-button class=\"mapa-dropdown-tree__button\" color=\"primary\">\n Limpar todos\n </button>\n </mat-menu>\n</form>\n", styles: [".mapa-dropdown-tree{max-width:min-content;min-width:235px}.mapa-dropdown-tree .mat-select{font-family:SF-Pro!important}.mapa-dropdown-tree__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown-tree__dropdown{display:flex;align-items:center;justify-content:space-between;background-color:#fff;border:1px solid #dcdcde;border-radius:8px;padding:10px 12px}.mapa-dropdown-tree__dropdown--value{font-family:SF-Pro!important;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:300px}.mapa-dropdown-tree__button{padding:9px;width:100%}.mapa-dropdown-tree__search{display:flex;align-items:center;justify-content:center;background:#f6f7f7;width:100%;height:48px}.mapa-dropdown-tree__search .mat-form-field{width:94%}.mapa-dropdown-tree__search .mat-form-field-wrapper{padding-bottom:unset!important}.mapa-dropdown-tree__search .mat-form-field-outline{background:white;border-radius:8px}.mapa-dropdown-tree__search .mat-form-field-appearance-outline .mat-form-field-infix{padding:.5em 0!important;border-top:unset!important}.mapa-dropdown-tree__clean{background:white;border-top:1px solid #dcdcde;bottom:0%;height:36px;position:absolute;width:100%;z-index:9999}.mapa-dropdown-tree__clean button{text-align:left;height:36px;width:100%}.mapa-dropdown-tree--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown-tree--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown-tree--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown-tree--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown-tree--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown-tree .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown-tree .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown-tree .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown-tree .mat-form-field-wrapper{padding-bottom:unset!important}.mapa-dropdown-tree .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown-tree .mat-form-field-infix{border-top:unset!important;padding:unset!important;position:relative}.mapa-dropdown-tree .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown-tree .mat-select-value-text{display:block;width:90%}.mapa-dropdown-tree .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown-tree .mat-select-arrow{border:unset}.mapa-dropdown-tree .mat-select-arrow:before,.mapa-dropdown-tree .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown-tree [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown-tree{position:absolute!important;left:-12px;top:12px;transform:translate(0) translateY(2px)!important;width:350px}.mapa-overlay-dropdown-tree .mat-menu-panel{width:100%}.mapa-overlay-dropdown-tree .mat-input-element{font-family:SF-Pro;font-size:14px}.mapa-overlay-dropdown-tree .mat-menu-content{padding-bottom:unset!important;padding-top:unset!important}.mapa-overlay-dropdown-tree .mat-tree{height:260px}.mapa-overlay-dropdown-tree ul{padding-inline-start:20px!important;margin-block-start:0px!important;margin-block-end:0px!important;gap:8px}.mapa-overlay-dropdown-tree .tree-toggle{display:none}.mapa-overlay-dropdown-tree .mat-tree-node{margin-left:8px}.mapa-overlay-dropdown-tree .mat-tree-node .mat-focus-indicator{display:none}.mapa-overlay-dropdown-tree .mat-select-tree-hide{display:block!important}.mapa-overlay-dropdown-tree .mat-autocomplete-panel .mat-option{padding:unset!important}.mapa-overlay-dropdown-tree .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown-tree .mat-select-panel .mat-option,.mapa-overlay-dropdown-tree .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown-tree .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown-tree .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown-tree .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
|
|
180
188
|
}], ctorParameters: function () { return [{ type: i1.ChecklistDatabase }]; }, propDecorators: { formGroup: [{
|
|
181
189
|
type: Input
|
|
182
190
|
}], element: [{
|
|
@@ -186,6 +194,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
186
194
|
args: ["auto"]
|
|
187
195
|
}], tree: [{
|
|
188
196
|
type: ViewChild,
|
|
189
|
-
args: [
|
|
197
|
+
args: ["tree"]
|
|
190
198
|
}] } });
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi10cmVlL3NyYy9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duLXRyZWUvc3JjL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixxQkFBcUIsR0FFdEIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBS2hDLE1BQU0sT0FBTyxRQUFRO0lBSW5CLGdCQUFlLENBQUM7Q0FDakI7QUFFRCxpRUFBaUU7QUFDakUsTUFBTSxPQUFPLFlBQVk7SUFLdkIsZ0JBQWUsQ0FBQztDQUNqQjtBQVFELE1BQU0sT0FBTyx5QkFBeUI7SUFrQ3BDLFlBQW9CLFNBQTRCO1FBQTVCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBNUJoRCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyw4RkFBOEY7UUFDOUYsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztRQUVoRCxrR0FBa0c7UUFDbEcsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBMEIs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SSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQzlCO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzs7dUhBak5VLHlCQUF5QjsyR0FBekIseUJBQXlCLHVTQzNDdEMseWlGQTRFQTs0RkRqQ2EseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJO3dHQUc1QixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDYSxZQUFZO3NCQUE5QixTQUFTO3VCQUFDLE1BQU07Z0JBQ0UsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRHJvcGRvd25UcmVlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd24tdHJlZVwiO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zXCI7XG5pbXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3RyZWVcIjtcbmltcG9ydCB7XG4gIE1hdFRyZWVGbGF0dGVuZXIsXG4gIE1hdFRyZWVGbGF0RGF0YVNvdXJjZSxcbiAgTWF0VHJlZSxcbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RyZWVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQ2hlY2tsaXN0RGF0YWJhc2UgfSBmcm9tIFwiLi9jaGVja2xpc3QtZGF0YWJhc2VcIjtcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcblxuZXhwb3J0IGNsYXNzIERhdGFOb2RlIHtcbiAgY2hpbGRyZW4/OiBEYXRhTm9kZVtdO1xuICB0aXRsZSE6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbi8qKiBGbGF0IHRvLWRvIGl0ZW0gbm9kZSB3aXRoIGV4cGFuZGFibGUgYW5kIGxldmVsIGluZm9ybWF0aW9uICovXG5leHBvcnQgY2xhc3MgRGF0YUZsYXROb2RlIHtcbiAgaXRlbSE6IHN0cmluZztcbiAgbGV2ZWwhOiBudW1iZXI7XG4gIGV4cGFuZGFibGUhOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtZHJvcGRvd24tdHJlZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duVHJlZTtcbiAgQFZpZXdDaGlsZChcImF1dG9cIikgYXV0b2NvbXBsZXRlITogTWF0QXV0b2NvbXBsZXRlO1xuICBAVmlld0NoaWxkKCd0cmVlJykgdHJlZSE6IE1hdFRyZWU8RGF0YU5vZGU+O1xuXG4gIGlzTWVudUV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIE1hcCBmcm9tIGZsYXQgbm9kZSB0byBuZXN0ZWQgbm9kZS4gVGhpcyBoZWxwcyB1cyBmaW5kaW5nIHRoZSBuZXN0ZWQgbm9kZSB0byBiZSBtb2RpZmllZCAqL1xuICBmbGF0Tm9kZU1hcCA9IG5ldyBNYXA8RGF0YUZsYXROb2RlLCBEYXRhTm9kZT4oKTtcblxuICAvKiogTWFwIGZyb20gbmVzdGVkIG5vZGUgdG8gZmxhdHRlbmVkIG5vZGUuIFRoaXMgaGVscHMgdXMgdG8ga2VlcCB0aGUgc2FtZSBvYmplY3QgZm9yIHNlbGVjdGlvbiAqL1xuICBuZXN0ZWROb2RlTWFwID0gbmV3IE1hcDxEYXRhTm9kZSwgRGF0YUZsYXROb2RlPigpO1xuXG4gIC8qKiBBIHNlbGVjdGVkIHBhcmVudCBub2RlIHRvIGJlIGluc2VydGVkICovXG4gIHNlbGVjdGVkUGFyZW50OiBEYXRhRmxhdE5vZGUgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIG5ldyBpdGVtJ3MgbmFtZSAqL1xuICBuZXdJdGVtTmFtZSA9IFwiXCI7XG5cbiAgdHJlZUNvbnRyb2whOiBGbGF0VHJlZUNvbnRyb2w8RGF0YUZsYXROb2RlPjtcblxuICB0cmVlRmxhdHRlbmVyITogTWF0VHJlZUZsYXR0ZW5lcjxEYXRhTm9kZSwgRGF0YUZsYXROb2RlPjtcblxuICBkYXRhU291cmNlITogTWF0VHJlZUZsYXREYXRhU291cmNlPERhdGFOb2RlLCBEYXRhRmxhdE5vZGU+O1xuXG4gIC8qKiBUaGUgc2VsZWN0aW9uIGZvciBjaGVja2xpc3QgKi9cbiAgY2hlY2tsaXN0U2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPERhdGFGbGF0Tm9kZT4odHJ1ZSAvKiBtdWx0aXBsZSAqLyk7XG5cbiAgLy8vIEZpbHRlcmluZ1xuICBteUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgb3B0aW9uczogc3RyaW5nW10gPSBbXCJPbmVcIiwgXCJUd29cIiwgXCJUaHJlZVwiXTtcbiAgZmlsdGVyZWRPcHRpb25zITogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGF0YWJhc2U6IENoZWNrbGlzdERhdGFiYXNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2RhdGFiYXNlLmluaXRpYWxpemUodGhpcy5lbGVtZW50LnRyZWUpO1xuICAgIHRoaXMudHJlZUZsYXR0ZW5lciA9IG5ldyBNYXRUcmVlRmxhdHRlbmVyKFxuICAgICAgdGhpcy50cmFuc2Zvcm1lcixcbiAgICAgIHRoaXMuZ2V0TGV2ZWwsXG4gICAgICB0aGlzLmlzRXhwYW5kYWJsZSxcbiAgICAgIHRoaXMuZ2V0Q2hpbGRyZW5cbiAgICApO1xuICAgIHRoaXMudHJlZUNvbnRyb2wgPSBuZXcgRmxhdFRyZWVDb250cm9sPERhdGFGbGF0Tm9kZT4oXG4gICAgICB0aGlzLmdldExldmVsLFxuICAgICAgdGhpcy5pc0V4cGFuZGFibGVcbiAgICApO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUcmVlRmxhdERhdGFTb3VyY2UoXG4gICAgICB0aGlzLnRyZWVDb250cm9sLFxuICAgICAgdGhpcy50cmVlRmxhdHRlbmVyXG4gICAgKTtcblxuICAgIHRoaXMuX2RhdGFiYXNlLmRhdGFDaGFuZ2Uuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZEFsbCgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kQWxsKCk7XG4gIH1cbiAgXG4gIG9uUGFuZWxDaGFuZ2UoKSB7XG4gICAgdGhpcy5pc01lbnVFeHBhbmRlZCA9ICF0aGlzLmlzTWVudUV4cGFuZGVkO1xuICB9XG5cbiAgZmlsdGVyKGFycmF5OiBhbnlbXSwgdGV4dDogc3RyaW5nKSB7XG4gICAgY29uc3QgZ2V0Tm9kZXMgPSAoXG4gICAgICByZXN1bHQ6IGFueVtdLFxuICAgICAgb2JqZWN0OiB7IG5hbWU6IHN0cmluZzsgY2hpbGRyZW46IGFueVtdIH1cbiAgICApID0+IHtcbiAgICAgIGlmIChvYmplY3QubmFtZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHRleHQpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKG9iamVjdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QuY2hpbGRyZW4pKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gb2JqZWN0LmNoaWxkcmVuLnJlZHVjZShnZXROb2RlcywgW10pO1xuICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoKSByZXN1bHQucHVzaCh7IC4uLm9iamVjdCwgY2hpbGRyZW4gfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICB0aGlzLmVsZW1lbnQudHJlZSA9IGFycmF5LnJlZHVjZShnZXROb2RlcywgW10pO1xuICB9XG5cbiAgZ2V0TGV2ZWwgPSAobm9kZTogRGF0YUZsYXROb2RlKSA9PiBub2RlLmxldmVsO1xuXG4gIGlzRXhwYW5kYWJsZSA9IChub2RlOiBEYXRhRmxhdE5vZGUpID0+IG5vZGUuZXhwYW5kYWJsZTtcblxuICBnZXRDaGlsZHJlbiA9IChub2RlOiBEYXRhTm9kZSk6IERhdGFOb2RlW10gPT4gbm9kZS5jaGlsZHJlbiE7XG5cbiAgaGFzQ2hpbGQgPSAoXzogbnVtYmVyLCBfbm9kZURhdGE6IERhdGFGbGF0Tm9kZSkgPT4gX25vZGVEYXRhLmV4cGFuZGFibGU7XG5cbiAgaGFzTm9Db250ZW50ID0gKF86IG51bWJlciwgX25vZGVEYXRhOiBEYXRhRmxhdE5vZGUpID0+IF9ub2RlRGF0YS5pdGVtID09PSBcIlwiO1xuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1lciB0byBjb252ZXJ0IG5lc3RlZCBub2RlIHRvIGZsYXQgbm9kZS4gUmVjb3JkIHRoZSBub2RlcyBpbiBtYXBzIGZvciBsYXRlciB1c2UuXG4gICAqL1xuICB0cmFuc2Zvcm1lciA9IChub2RlOiBEYXRhTm9kZSwgbGV2ZWw6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nTm9kZSA9IHRoaXMubmVzdGVkTm9kZU1hcC5nZXQobm9kZSk7XG4gICAgY29uc3QgZmxhdE5vZGUgPVxuICAgICAgZXhpc3RpbmdOb2RlICYmIGV4aXN0aW5nTm9kZS5pdGVtID09PSBub2RlLnRpdGxlXG4gICAgICAgID8gZXhpc3RpbmdOb2RlXG4gICAgICAgIDogbmV3IERhdGFGbGF0Tm9kZSgpO1xuICAgIGZsYXROb2RlLml0ZW0gPSBub2RlLnRpdGxlO1xuICAgIGZsYXROb2RlLmxldmVsID0gbGV2ZWw7XG4gICAgZmxhdE5vZGUuZXhwYW5kYWJsZSA9ICEhbm9kZS5jaGlsZHJlbjtcbiAgICB0aGlzLmZsYXROb2RlTWFwLnNldChmbGF0Tm9kZSwgbm9kZSk7XG4gICAgdGhpcy5uZXN0ZWROb2RlTWFwLnNldChub2RlLCBmbGF0Tm9kZSk7XG4gICAgcmV0dXJuIGZsYXROb2RlO1xuICB9O1xuXG4gIC8qKiBXaGV0aGVyIGFsbCB0aGUgZGVzY2VuZGFudHMgb2YgdGhlIG5vZGUgYXJlIHNlbGVjdGVkLiAqL1xuICBkZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGU6IERhdGFGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICBjb25zdCBkZXNjQWxsU2VsZWN0ZWQgPSBkZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+XG4gICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKGNoaWxkKVxuICAgICk7XG4gICAgcmV0dXJuIGRlc2NBbGxTZWxlY3RlZDtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHBhcnQgb2YgdGhlIGRlc2NlbmRhbnRzIGFyZSBzZWxlY3RlZCAqL1xuICBkZXNjZW5kYW50c1BhcnRpYWxseVNlbGVjdGVkKG5vZGU6IERhdGFGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICBjb25zdCByZXN1bHQgPSBkZXNjZW5kYW50cy5zb21lKChjaGlsZCkgPT5cbiAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0ICYmICF0aGlzLmRlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSk7XG4gIH1cblxuICAvKiogVG9nZ2xlIHRoZSB0by1kbyBpdGVtIHNlbGVjdGlvbi4gU2VsZWN0L2Rlc2VsZWN0IGFsbCB0aGUgZGVzY2VuZGFudHMgbm9kZSAqL1xuICB0b2RvSXRlbVNlbGVjdGlvblRvZ2dsZShub2RlOiBEYXRhRmxhdE5vZGUpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi50b2dnbGUobm9kZSk7XG4gICAgY29uc3QgZGVzY2VuZGFudHMgPSB0aGlzLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xuICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSlcbiAgICAgID8gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KC4uLmRlc2NlbmRhbnRzKVxuICAgICAgOiB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5kZXNlbGVjdCguLi5kZXNjZW5kYW50cyk7XG5cbiAgICAvLyBGb3JjZSB1cGRhdGUgZm9yIHRoZSBwYXJlbnRcbiAgICBkZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICB0aGlzLmNoZWNrQWxsUGFyZW50c1NlbGVjdGlvbihub2RlKTtcbiAgfVxuXG4gIC8qKiBUb2dnbGUgYSBsZWFmIHRvLWRvIGl0ZW0gc2VsZWN0aW9uLiBDaGVjayBhbGwgdGhlIHBhcmVudHMgdG8gc2VlIGlmIHRoZXkgY2hhbmdlZCAqL1xuICB0b2RvTGVhZkl0ZW1TZWxlY3Rpb25Ub2dnbGUobm9kZTogRGF0YUZsYXROb2RlKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24udG9nZ2xlKG5vZGUpO1xuICAgIHRoaXMuY2hlY2tBbGxQYXJlbnRzU2VsZWN0aW9uKG5vZGUpO1xuICB9XG5cbiAgLyogQ2hlY2tzIGFsbCB0aGUgcGFyZW50cyB3aGVuIGEgbGVhZiBub2RlIGlzIHNlbGVjdGVkL3Vuc2VsZWN0ZWQgKi9cbiAgY2hlY2tBbGxQYXJlbnRzU2VsZWN0aW9uKG5vZGU6IERhdGFGbGF0Tm9kZSk6IHZvaWQge1xuICAgIGxldCBwYXJlbnQ6IERhdGFGbGF0Tm9kZSB8IG51bGwgPSB0aGlzLmdldFBhcmVudE5vZGUobm9kZSk7XG4gICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgdGhpcy5jaGVja1Jvb3ROb2RlU2VsZWN0aW9uKHBhcmVudCk7XG4gICAgICBwYXJlbnQgPSB0aGlzLmdldFBhcmVudE5vZGUocGFyZW50KTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2hlY2sgcm9vdCBub2RlIGNoZWNrZWQgc3RhdGUgYW5kIGNoYW5nZSBpdCBhY2NvcmRpbmdseSAqL1xuICBjaGVja1Jvb3ROb2RlU2VsZWN0aW9uKG5vZGU6IERhdGFGbGF0Tm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IG5vZGVTZWxlY3RlZCA9IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSk7XG4gICAgY29uc3QgZGVzY2VuZGFudHMgPSB0aGlzLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xuICAgIGNvbnN0IGRlc2NBbGxTZWxlY3RlZCA9IGRlc2NlbmRhbnRzLmV2ZXJ5KChjaGlsZCkgPT5cbiAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpXG4gICAgKTtcbiAgICBpZiAobm9kZVNlbGVjdGVkICYmICFkZXNjQWxsU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmRlc2VsZWN0KG5vZGUpO1xuICAgIH0gZWxzZSBpZiAoIW5vZGVTZWxlY3RlZCAmJiBkZXNjQWxsU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdChub2RlKTtcbiAgICB9XG4gIH1cblxuICAvKiBHZXQgdGhlIHBhcmVudCBub2RlIG9mIGEgbm9kZSAqL1xuICBnZXRQYXJlbnROb2RlKG5vZGU6IERhdGFGbGF0Tm9kZSk6IERhdGFGbGF0Tm9kZSB8IG51bGwge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdGVkKTtcbiAgICBjb25zdCBjdXJyZW50TGV2ZWwgPSB0aGlzLmdldExldmVsKG5vZGUpO1xuXG4gICAgaWYgKGN1cnJlbnRMZXZlbCA8IDEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5pbmRleE9mKG5vZGUpIC0gMTtcblxuICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpID49IDA7IGktLSkge1xuICAgICAgY29uc3QgY3VycmVudE5vZGUgPSB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlc1tpXTtcblxuICAgICAgaWYgKHRoaXMuZ2V0TGV2ZWwoY3VycmVudE5vZGUpIDwgY3VycmVudExldmVsKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRTZWxlY3RlZEl0ZW1zKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGgpIHJldHVybiB0aGlzLmVsZW1lbnQucGxhY2Vob2xkZXIgfHwgXCJTZWxlY2lvbmVcIjtcbiAgICByZXR1cm4gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0ZWQubWFwKChzKSA9PiBzLml0ZW0pLmpvaW4oXCIsXCIpLnRvU3RyaW5nKCkucmVwbGFjZSgvXFwsL2csIFwiLCBcIik7XG4gIH1cblxuICBmaWx0ZXJDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWx0ZXJUZXh0ID0gZXZlbnQudGFyZ2V0Py52YWx1ZTtcbiAgICBjb25zb2xlLmxvZyhcImZpbHRlckNoYW5nZWRcIiwgZmlsdGVyVGV4dCk7XG4gICAgLy8gQ2hlY2tsaXN0RGF0YWJhc2UuZmlsdGVyIG1ldGhvZCB3aGljaCBhY3R1YWxseSBmaWx0ZXJzIHRoZSB0cmVlIGFuZCBnaXZlcyBiYWNrIGEgdHJlZSBzdHJ1Y3R1cmVcbiAgICB0aGlzLl9kYXRhYmFzZS5maWx0ZXIoZmlsdGVyVGV4dCk7XG4gICAgaWYgKGZpbHRlclRleHQpIHtcbiAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kQWxsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHJlZUNvbnRyb2wuY29sbGFwc2VBbGwoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgKm5nSWY9XCJmb3JtR3JvdXAgJiYgZWxlbWVudFwiXG4gIGNsYXNzPVwibWFwYS1kcm9wZG93bi10cmVlXCJcbj5cbiAgPGxhYmVsICpuZ0lmPVwiZWxlbWVudC5sYWJlbFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bi10cmVlX19sYWJlbFwiPlxuICAgIHt7IGVsZW1lbnQubGFiZWwgfX1cbiAgPC9sYWJlbD5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxidXR0b24gY2xhc3M9XCJtYXBhLWRyb3Bkb3duLXRyZWVfX2Ryb3Bkb3duXCIgI21lbnVPcHRpb249XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWFwYS1kcm9wZG93bi10cmVlX19kcm9wZG93bi0tdmFsdWVcIj5cbiAgICAgICAge3sgZ2V0U2VsZWN0ZWRJdGVtcygpIH19XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG1hdC1pY29uXG4gICAgICAgID57eyBtZW51T3B0aW9uLm1lbnVPcGVuID8gJ2tleWJvYXJkX2Fycm93X3VwJyA6ICdrZXlib2FyZF9hcnJvd19kb3duJ1xuICAgICAgICB9fTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L2J1dHRvbj5cbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWFwYS1kcm9wZG93bi10cmVlX19zZWFyY2hcIiAqbmdJZj1cImVsZW1lbnQuc2VhcmNoXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICNzZWFyY2hJbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbCFcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQuc2VhcmNoPy5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgKGtleXVwKT1cImZpbHRlcihlbGVtZW50LnRyZWUsIHNlYXJjaElucHV0LnZhbHVlKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bWF0LXRyZWUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJ0cmVlQ29udHJvbFwiPlxuICAgICAgICA8bWF0LXRyZWUtbm9kZVxuICAgICAgICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlXCJcbiAgICAgICAgICBtYXRUcmVlTm9kZVRvZ2dsZVxuICAgICAgICAgIG1hdFRyZWVOb2RlUGFkZGluZ1xuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+PC9idXR0b24+XG4gICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgY2xhc3M9XCJjaGVja2xpc3QtbGVhZi1ub2RlXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKG5vZGUpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9kb0xlYWZJdGVtU2VsZWN0aW9uVG9nZ2xlKG5vZGUpXCJcbiAgICAgICAgICAgID57e25vZGUuaXRlbX19PC9tYXQtY2hlY2tib3hcbiAgICAgICAgICA+XG4gICAgICAgIDwvbWF0LXRyZWUtbm9kZT5cblxuICAgICAgICA8bWF0LXRyZWUtbm9kZVxuICAgICAgICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBoYXNDaGlsZFwiXG4gICAgICAgICAgbWF0VHJlZU5vZGVQYWRkaW5nXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIG1hdFRyZWVOb2RlVG9nZ2xlXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIid0b2dnbGUgJyArIG5vZGUuZmlsZW5hbWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5cbiAgICAgICAgICAgICAge3t0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpID8gJ2V4cGFuZF9tb3JlJyA6ICdjaGV2cm9uX3JpZ2h0J319XG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImRlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZG9JdGVtU2VsZWN0aW9uVG9nZ2xlKG5vZGUpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7e25vZGUuaXRlbX19PC9tYXQtY2hlY2tib3hcbiAgICAgICAgICA+XG4gICAgICAgIDwvbWF0LXRyZWUtbm9kZT5cbiAgICAgIDwvbWF0LXRyZWU+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJtYXBhLWRyb3Bkb3duLXRyZWVfX2J1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICBMaW1wYXIgdG9kb3NcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Zvcm0+XG4iXX0=
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi10cmVlL3NyYy9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duLXRyZWUvc3JjL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixxQkFBcUIsR0FFdEIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBS2hDLE1BQU0sT0FBTyxRQUFRO0lBS25CLGdCQUFlLENBQUM7Q0FDakI7QUFFRCxpRUFBaUU7QUFDakUsTUFBTSxPQUFPLFlBQVk7SUFNdkIsZ0JBQWUsQ0FBQztDQUNqQjtBQVFELE1BQU0sT0FBTyx5QkFBeUI7SUFrQ3BDLFlBQW9CLFNBQTRCO1FBQTVCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBNUJoRCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyw4RkFBOEY7UUFDOUYsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztRQUVoRCxrR0FBa0c7UUFDbEcsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBMEIs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LENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ1QsUUFBUSxFQUFFO2FBQ1YsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7UUFFdkMsa0dBQWtHO1FBQ2xHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7O3VIQTlOVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qix1U0M3Q3RDLGtnRkEwRUE7NEZEN0JhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSxvQkFBb0IsaUJBR2YsaUJBQWlCLENBQUMsSUFBSTt3R0FHNUIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2EsWUFBWTtzQkFBOUIsU0FBUzt1QkFBQyxNQUFNO2dCQUNFLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IERyb3Bkb3duVHJlZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2VsZW1lbnRzL2Ryb3Bkb3duLXRyZWVcIjtcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2xsZWN0aW9uc1wiO1xuaW1wb3J0IHsgRmxhdFRyZWVDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay90cmVlXCI7XG5pbXBvcnQge1xuICBNYXRUcmVlRmxhdHRlbmVyLFxuICBNYXRUcmVlRmxhdERhdGFTb3VyY2UsXG4gIE1hdFRyZWUsXG59IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90cmVlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IENoZWNrbGlzdERhdGFiYXNlIH0gZnJvbSBcIi4vY2hlY2tsaXN0LWRhdGFiYXNlXCI7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBEYXRhTm9kZSB7XG4gIGtleSE6IHN0cmluZztcbiAgdmFsdWUhOiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogRGF0YU5vZGVbXTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbi8qKiBGbGF0IHRvLWRvIGl0ZW0gbm9kZSB3aXRoIGV4cGFuZGFibGUgYW5kIGxldmVsIGluZm9ybWF0aW9uICovXG5leHBvcnQgY2xhc3MgRGF0YUZsYXROb2RlIHtcbiAga2V5ITogc3RyaW5nO1xuICB2YWx1ZSE6IHN0cmluZztcbiAgbGV2ZWwhOiBudW1iZXI7XG4gIGV4cGFuZGFibGUhOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtZHJvcGRvd24tdHJlZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duVHJlZTtcbiAgQFZpZXdDaGlsZChcImF1dG9cIikgYXV0b2NvbXBsZXRlITogTWF0QXV0b2NvbXBsZXRlO1xuICBAVmlld0NoaWxkKFwidHJlZVwiKSB0cmVlITogTWF0VHJlZTxEYXRhTm9kZT47XG5cbiAgaXNNZW51RXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogTWFwIGZyb20gZmxhdCBub2RlIHRvIG5lc3RlZCBub2RlLiBUaGlzIGhlbHBzIHVzIGZpbmRpbmcgdGhlIG5lc3RlZCBub2RlIHRvIGJlIG1vZGlmaWVkICovXG4gIGZsYXROb2RlTWFwID0gbmV3IE1hcDxEYXRhRmxhdE5vZGUsIERhdGFOb2RlPigpO1xuXG4gIC8qKiBNYXAgZnJvbSBuZXN0ZWQgbm9kZSB0byBmbGF0dGVuZWQgbm9kZS4gVGhpcyBoZWxwcyB1cyB0byBrZWVwIHRoZSBzYW1lIG9iamVjdCBmb3Igc2VsZWN0aW9uICovXG4gIG5lc3RlZE5vZGVNYXAgPSBuZXcgTWFwPERhdGFOb2RlLCBEYXRhRmxhdE5vZGU+KCk7XG5cbiAgLyoqIEEgc2VsZWN0ZWQgcGFyZW50IG5vZGUgdG8gYmUgaW5zZXJ0ZWQgKi9cbiAgc2VsZWN0ZWRQYXJlbnQ6IERhdGFGbGF0Tm9kZSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgbmV3IGl0ZW0ncyBuYW1lICovXG4gIG5ld0l0ZW1OYW1lID0gXCJcIjtcblxuICB0cmVlQ29udHJvbCE6IEZsYXRUcmVlQ29udHJvbDxEYXRhRmxhdE5vZGU+O1xuXG4gIHRyZWVGbGF0dGVuZXIhOiBNYXRUcmVlRmxhdHRlbmVyPERhdGFOb2RlLCBEYXRhRmxhdE5vZGU+O1xuXG4gIGRhdGFTb3VyY2UhOiBNYXRUcmVlRmxhdERhdGFTb3VyY2U8RGF0YU5vZGUsIERhdGFGbGF0Tm9kZT47XG5cbiAgLyoqIFRoZSBzZWxlY3Rpb24gZm9yIGNoZWNrbGlzdCAqL1xuICBjaGVja2xpc3RTZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8RGF0YUZsYXROb2RlPih0cnVlKTtcblxuICAvLy8gRmlsdGVyaW5nXG4gIG15Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBvcHRpb25zOiBzdHJpbmdbXSA9IFtcIk9uZVwiLCBcIlR3b1wiLCBcIlRocmVlXCJdO1xuICBmaWx0ZXJlZE9wdGlvbnMhOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kYXRhYmFzZTogQ2hlY2tsaXN0RGF0YWJhc2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZGF0YWJhc2UuaW5pdGlhbGl6ZSh0aGlzLmVsZW1lbnQudHJlZSk7XG4gICAgdGhpcy50cmVlRmxhdHRlbmVyID0gbmV3IE1hdFRyZWVGbGF0dGVuZXIoXG4gICAgICB0aGlzLnRyYW5zZm9ybWVyLFxuICAgICAgdGhpcy5nZXRMZXZlbCxcbiAgICAgIHRoaXMuaXNFeHBhbmRhYmxlLFxuICAgICAgdGhpcy5nZXRDaGlsZHJlblxuICAgICk7XG4gICAgdGhpcy50cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8RGF0YUZsYXROb2RlPihcbiAgICAgIHRoaXMuZ2V0TGV2ZWwsXG4gICAgICB0aGlzLmlzRXhwYW5kYWJsZVxuICAgICk7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRyZWVGbGF0RGF0YVNvdXJjZShcbiAgICAgIHRoaXMudHJlZUNvbnRyb2wsXG4gICAgICB0aGlzLnRyZWVGbGF0dGVuZXJcbiAgICApO1xuXG4gICAgdGhpcy5fZGF0YWJhc2UuZGF0YUNoYW5nZS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcbiAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kQWxsKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5jaGFuZ2VkLnN1YnNjcmliZSgoc2VsZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5lbGVtZW50LmtleSk/LnBhdGNoVmFsdWUoXG4gICAgICAgIHNlbGVjdGlvbi5zb3VyY2Uuc2VsZWN0ZWQubWFwKChjaGVja2VkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IGNoZWNrZWQudmFsdWUsIGtleTogY2hlY2tlZC5rZXkgfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmRBbGwoKTtcbiAgfVxuXG4gIG9uUGFuZWxDaGFuZ2UoKSB7XG4gICAgdGhpcy5pc01lbnVFeHBhbmRlZCA9ICF0aGlzLmlzTWVudUV4cGFuZGVkO1xuICB9XG5cbiAgZmlsdGVyKGFycmF5OiBhbnlbXSwgdGV4dDogc3RyaW5nKSB7XG4gICAgY29uc3QgZ2V0Tm9kZXMgPSAoXG4gICAgICByZXN1bHQ6IGFueVtdLFxuICAgICAgb2JqZWN0OiB7IG5hbWU6IHN0cmluZzsgY2hpbGRyZW46IGFueVtdIH1cbiAgICApID0+IHtcbiAgICAgIGlmIChvYmplY3QubmFtZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHRleHQpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKG9iamVjdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QuY2hpbGRyZW4pKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gb2JqZWN0LmNoaWxkcmVuLnJlZHVjZShnZXROb2RlcywgW10pO1xuICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoKSByZXN1bHQucHVzaCh7IC4uLm9iamVjdCwgY2hpbGRyZW4gfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICB0aGlzLmVsZW1lbnQudHJlZSA9IGFycmF5LnJlZHVjZShnZXROb2RlcywgW10pO1xuICB9XG5cbiAgZ2V0TGV2ZWwgPSAobm9kZTogRGF0YUZsYXROb2RlKSA9PiBub2RlLmxldmVsO1xuXG4gIGlzRXhwYW5kYWJsZSA9IChub2RlOiBEYXRhRmxhdE5vZGUpID0+IG5vZGUuZXhwYW5kYWJsZTtcblxuICBnZXRDaGlsZHJlbiA9IChub2RlOiBEYXRhTm9kZSk6IERhdGFOb2RlW10gPT4gbm9kZS5jaGlsZHJlbiE7XG5cbiAgaGFzQ2hpbGQgPSAoXzogbnVtYmVyLCBfbm9kZURhdGE6IERhdGFGbGF0Tm9kZSkgPT4gX25vZGVEYXRhLmV4cGFuZGFibGU7XG5cbiAgaGFzTm9Db250ZW50ID0gKF86IG51bWJlciwgX25vZGVEYXRhOiBEYXRhRmxhdE5vZGUpID0+IF9ub2RlRGF0YS52YWx1ZSA9PT0gXCJcIjtcblxuICAvKipcbiAgICogVHJhbnNmb3JtZXIgdG8gY29udmVydCBuZXN0ZWQgbm9kZSB0byBmbGF0IG5vZGUuIFJlY29yZCB0aGUgbm9kZXMgaW4gbWFwcyBmb3IgbGF0ZXIgdXNlLlxuICAgKi9cbiAgdHJhbnNmb3JtZXIgPSAobm9kZTogRGF0YU5vZGUsIGxldmVsOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBleGlzdGluZ05vZGUgPSB0aGlzLm5lc3RlZE5vZGVNYXAuZ2V0KG5vZGUpO1xuICAgIGNvbnN0IGZsYXROb2RlID1cbiAgICAgIGV4aXN0aW5nTm9kZSAmJiBleGlzdGluZ05vZGUudmFsdWUgPT09IG5vZGUudmFsdWVcbiAgICAgICAgPyBleGlzdGluZ05vZGVcbiAgICAgICAgOiBuZXcgRGF0YUZsYXROb2RlKCk7XG4gICAgZmxhdE5vZGUua2V5ID0gbm9kZS5rZXk7XG4gICAgZmxhdE5vZGUudmFsdWUgPSBub2RlLnZhbHVlO1xuICAgIGZsYXROb2RlLmxldmVsID0gbGV2ZWw7XG4gICAgZmxhdE5vZGUuZXhwYW5kYWJsZSA9ICEhbm9kZS5jaGlsZHJlbjtcbiAgICB0aGlzLmZsYXROb2RlTWFwLnNldChmbGF0Tm9kZSwgbm9kZSk7XG4gICAgdGhpcy5uZXN0ZWROb2RlTWFwLnNldChub2RlLCBmbGF0Tm9kZSk7XG4gICAgcmV0dXJuIGZsYXROb2RlO1xuICB9O1xuXG4gIC8qKiBXaGV0aGVyIGFsbCB0aGUgZGVzY2VuZGFudHMgb2YgdGhlIG5vZGUgYXJlIHNlbGVjdGVkLiAqL1xuICBkZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGU6IERhdGFGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICBjb25zdCBkZXNjQWxsU2VsZWN0ZWQgPSBkZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+XG4gICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKGNoaWxkKVxuICAgICk7XG4gICAgcmV0dXJuIGRlc2NBbGxTZWxlY3RlZDtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHBhcnQgb2YgdGhlIGRlc2NlbmRhbnRzIGFyZSBzZWxlY3RlZCAqL1xuICBkZXNjZW5kYW50c1BhcnRpYWxseVNlbGVjdGVkKG5vZGU6IERhdGFGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICBjb25zdCByZXN1bHQgPSBkZXNjZW5kYW50cy5zb21lKChjaGlsZCkgPT5cbiAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0ICYmICF0aGlzLmRlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSk7XG4gIH1cblxuICAvKiogVG9nZ2xlIHRoZSB0by1kbyBpdGVtIHNlbGVjdGlvbi4gU2VsZWN0L2Rlc2VsZWN0IGFsbCB0aGUgZGVzY2VuZGFudHMgbm9kZSAqL1xuICB0b2RvSXRlbVNlbGVjdGlvblRvZ2dsZShub2RlOiBEYXRhRmxhdE5vZGUpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi50b2dnbGUobm9kZSk7XG4gICAgY29uc3QgZGVzY2VuZGFudHMgPSB0aGlzLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xuICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSlcbiAgICAgID8gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KC4uLmRlc2NlbmRhbnRzKVxuICAgICAgOiB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5kZXNlbGVjdCguLi5kZXNjZW5kYW50cyk7XG5cbiAgICAvLyBGb3JjZSB1cGRhdGUgZm9yIHRoZSBwYXJlbnRcbiAgICBkZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICB0aGlzLmNoZWNrQWxsUGFyZW50c1NlbGVjdGlvbihub2RlKTtcbiAgfVxuXG4gIC8qKiBUb2dnbGUgYSBsZWFmIHRvLWRvIGl0ZW0gc2VsZWN0aW9uLiBDaGVjayBhbGwgdGhlIHBhcmVudHMgdG8gc2VlIGlmIHRoZXkgY2hhbmdlZCAqL1xuICB0b2RvTGVhZkl0ZW1TZWxlY3Rpb25Ub2dnbGUobm9kZTogRGF0YUZsYXROb2RlKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24udG9nZ2xlKG5vZGUpO1xuICAgIHRoaXMuY2hlY2tBbGxQYXJlbnRzU2VsZWN0aW9uKG5vZGUpO1xuICB9XG5cbiAgLyogQ2hlY2tzIGFsbCB0aGUgcGFyZW50cyB3aGVuIGEgbGVhZiBub2RlIGlzIHNlbGVjdGVkL3Vuc2VsZWN0ZWQgKi9cbiAgY2hlY2tBbGxQYXJlbnRzU2VsZWN0aW9uKG5vZGU6IERhdGFGbGF0Tm9kZSk6IHZvaWQge1xuICAgIGxldCBwYXJlbnQ6IERhdGFGbGF0Tm9kZSB8IG51bGwgPSB0aGlzLmdldFBhcmVudE5vZGUobm9kZSk7XG4gICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgdGhpcy5jaGVja1Jvb3ROb2RlU2VsZWN0aW9uKHBhcmVudCk7XG4gICAgICBwYXJlbnQgPSB0aGlzLmdldFBhcmVudE5vZGUocGFyZW50KTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2hlY2sgcm9vdCBub2RlIGNoZWNrZWQgc3RhdGUgYW5kIGNoYW5nZSBpdCBhY2NvcmRpbmdseSAqL1xuICBjaGVja1Jvb3ROb2RlU2VsZWN0aW9uKG5vZGU6IERhdGFGbGF0Tm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IG5vZGVTZWxlY3RlZCA9IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSk7XG4gICAgY29uc3QgZGVzY2VuZGFudHMgPSB0aGlzLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xuICAgIGNvbnN0IGRlc2NBbGxTZWxlY3RlZCA9IGRlc2NlbmRhbnRzLmV2ZXJ5KChjaGlsZCkgPT5cbiAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpXG4gICAgKTtcbiAgICBpZiAobm9kZVNlbGVjdGVkICYmICFkZXNjQWxsU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmRlc2VsZWN0KG5vZGUpO1xuICAgIH0gZWxzZSBpZiAoIW5vZGVTZWxlY3RlZCAmJiBkZXNjQWxsU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdChub2RlKTtcbiAgICB9XG4gIH1cblxuICAvKiBHZXQgdGhlIHBhcmVudCBub2RlIG9mIGEgbm9kZSAqL1xuICBnZXRQYXJlbnROb2RlKG5vZGU6IERhdGFGbGF0Tm9kZSk6IERhdGFGbGF0Tm9kZSB8IG51bGwge1xuICAgIGNvbnN0IGN1cnJlbnRMZXZlbCA9IHRoaXMuZ2V0TGV2ZWwobm9kZSk7XG5cbiAgICBpZiAoY3VycmVudExldmVsIDwgMSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLmluZGV4T2Yobm9kZSkgLSAxO1xuXG4gICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldO1xuXG4gICAgICBpZiAodGhpcy5nZXRMZXZlbChjdXJyZW50Tm9kZSkgPCBjdXJyZW50TGV2ZWwpIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnROb2RlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldFNlbGVjdGVkSXRlbXMoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aClcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQucGxhY2Vob2xkZXIgfHwgXCJTZWxlY2lvbmVcIjtcbiAgICByZXR1cm4gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0ZWRcbiAgICAgIC5tYXAoKHMpID0+IHMudmFsdWUpXG4gICAgICAuam9pbihcIixcIilcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAucmVwbGFjZSgvXFwsL2csIFwiLCBcIik7XG4gIH1cblxuICBmaWx0ZXJDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWx0ZXJUZXh0ID0gZXZlbnQudGFyZ2V0Py52YWx1ZTtcblxuICAgIC8vIENoZWNrbGlzdERhdGFiYXNlLmZpbHRlciBtZXRob2Qgd2hpY2ggYWN0dWFsbHkgZmlsdGVycyB0aGUgdHJlZSBhbmQgZ2l2ZXMgYmFjayBhIHRyZWUgc3RydWN0dXJlXG4gICAgdGhpcy5fZGF0YWJhc2UuZmlsdGVyKGZpbHRlclRleHQpO1xuICAgIGlmIChmaWx0ZXJUZXh0KSB7XG4gICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZEFsbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyZWVDb250cm9sLmNvbGxhcHNlQWxsKCk7XG4gICAgfVxuICB9XG59XG4iLCI8Zm9ybVxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICpuZ0lmPVwiZm9ybUdyb3VwICYmIGVsZW1lbnRcIlxuICBjbGFzcz1cIm1hcGEtZHJvcGRvd24tdHJlZVwiXG4+XG4gIDxsYWJlbCAqbmdJZj1cImVsZW1lbnQubGFiZWxcIiBjbGFzcz1cIm1hcGEtZHJvcGRvd24tdHJlZV9fbGFiZWxcIj5cbiAgICB7eyBlbGVtZW50LmxhYmVsIH19XG4gIDwvbGFiZWw+XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm1hcGEtZHJvcGRvd24tdHJlZV9fZHJvcGRvd25cIiAjbWVudU9wdGlvbj1cIm1hdE1lbnVUcmlnZ2VyXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXBhLWRyb3Bkb3duLXRyZWVfX2Ryb3Bkb3duLS12YWx1ZVwiPlxuICAgICAgICB7eyBnZXRTZWxlY3RlZEl0ZW1zKCkgfX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bWF0LWljb25cbiAgICAgICAgPnt7IG1lbnVPcHRpb24ubWVudU9wZW4gPyAna2V5Ym9hcmRfYXJyb3dfdXAnIDogJ2tleWJvYXJkX2Fycm93X2Rvd24nXG4gICAgICAgIH19PC9tYXQtaWNvblxuICAgICAgPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXBhLWRyb3Bkb3duLXRyZWVfX3NlYXJjaFwiICpuZ0lmPVwiZWxlbWVudC5zZWFyY2hcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgI3NlYXJjaElucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sIVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5zZWFyY2g/LnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAoa2V5dXApPVwiZmlsdGVyKGVsZW1lbnQudHJlZSwgc2VhcmNoSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtdHJlZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgW3RyZWVDb250cm9sXT1cInRyZWVDb250cm9sXCI+XG4gICAgICAgIDxtYXQtdHJlZS1ub2RlXG4gICAgICAgICAgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGVcIlxuICAgICAgICAgIG1hdFRyZWVOb2RlVG9nZ2xlXG4gICAgICAgICAgbWF0VHJlZU5vZGVQYWRkaW5nXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlZD48L2J1dHRvbj5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrbGlzdC1sZWFmLW5vZGVcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2RvTGVhZkl0ZW1TZWxlY3Rpb25Ub2dnbGUobm9kZSlcIlxuICAgICAgICAgICAgPnt7bm9kZS52YWx1ZX19PC9tYXQtY2hlY2tib3hcbiAgICAgICAgICA+XG4gICAgICAgIDwvbWF0LXRyZWUtbm9kZT5cblxuICAgICAgICA8bWF0LXRyZWUtbm9kZVxuICAgICAgICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBoYXNDaGlsZFwiXG4gICAgICAgICAgbWF0VHJlZU5vZGVQYWRkaW5nXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIG1hdFRyZWVOb2RlVG9nZ2xlXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIid0b2dnbGUgJyArIG5vZGUuZmlsZW5hbWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5cbiAgICAgICAgICAgICAge3t0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpID8gJ2V4cGFuZF9tb3JlJyA6ICdjaGV2cm9uX3JpZ2h0J319XG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImRlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZG9JdGVtU2VsZWN0aW9uVG9nZ2xlKG5vZGUpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7e25vZGUudmFsdWV9fTwvbWF0LWNoZWNrYm94XG4gICAgICAgICAgPlxuICAgICAgICA8L21hdC10cmVlLW5vZGU+XG4gICAgICA8L21hdC10cmVlPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwibWFwYS1kcm9wZG93bi10cmVlX19idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgTGltcGFyIHRvZG9zXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1tZW51PlxuPC9mb3JtPlxuIl19
|