@seniorsistemas/angular-components 17.19.2 → 17.20.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/bundles/seniorsistemas-angular-components.umd.js +151 -58
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/dynamic-form/components/fields/button-field/button-field.component.d.ts +5 -0
- package/components/dynamic-form/components/grid/row/row.component.d.ts +2 -5
- package/components/dynamic-form/components/structure/section/section.component.d.ts +1 -0
- package/components/dynamic-form/configurations/field-type.d.ts +2 -1
- package/components/dynamic-form/configurations/fields/button-field.d.ts +33 -0
- package/components/dynamic-form/configurations/fields/index.d.ts +1 -0
- package/components/dynamic-form/configurations/grid/grid.d.ts +2 -1
- package/components/dynamic-form/configurations/structure/section.d.ts +18 -2
- package/components/dynamic-form/configurations/structure/structure.d.ts +5 -3
- package/components/dynamic-form/dynamic-form.d.ts +6 -5
- package/components/dynamic-form/index.d.ts +5 -0
- package/components/table/table-paging/table-paging.component.d.ts +1 -1
- package/esm2015/components/dynamic-form/components/fields/button-field/button-field.component.js +21 -0
- package/esm2015/components/dynamic-form/components/grid/row/row.component.js +2 -2
- package/esm2015/components/dynamic-form/components/structure/section/section.component.js +24 -5
- package/esm2015/components/dynamic-form/configurations/field-type.js +2 -1
- package/esm2015/components/dynamic-form/configurations/fields/button-field.js +28 -0
- package/esm2015/components/dynamic-form/configurations/fields/index.js +2 -1
- package/esm2015/components/dynamic-form/configurations/form-field.js +4 -1
- package/esm2015/components/dynamic-form/configurations/grid/grid.js +1 -1
- package/esm2015/components/dynamic-form/configurations/structure/section.js +23 -1
- package/esm2015/components/dynamic-form/configurations/structure/structure.js +2 -1
- package/esm2015/components/dynamic-form/dynamic-form.directive.js +1 -1
- package/esm2015/components/dynamic-form/dynamic-form.js +4 -1
- package/esm2015/components/dynamic-form/dynamic-form.module.js +3 -1
- package/esm2015/components/dynamic-form/index.js +6 -1
- package/esm2015/components/table/table-paging/table-paging.component.js +4 -2
- package/esm2015/seniorsistemas-angular-components.js +41 -40
- package/esm5/components/dynamic-form/components/fields/button-field/button-field.component.js +24 -0
- package/esm5/components/dynamic-form/components/grid/row/row.component.js +2 -2
- package/esm5/components/dynamic-form/components/structure/section/section.component.js +11 -2
- package/esm5/components/dynamic-form/configurations/field-type.js +2 -1
- package/esm5/components/dynamic-form/configurations/fields/button-field.js +33 -0
- package/esm5/components/dynamic-form/configurations/fields/index.js +2 -1
- package/esm5/components/dynamic-form/configurations/form-field.js +4 -1
- package/esm5/components/dynamic-form/configurations/grid/grid.js +1 -1
- package/esm5/components/dynamic-form/configurations/structure/section.js +25 -2
- package/esm5/components/dynamic-form/configurations/structure/structure.js +2 -1
- package/esm5/components/dynamic-form/dynamic-form.directive.js +1 -1
- package/esm5/components/dynamic-form/dynamic-form.js +4 -1
- package/esm5/components/dynamic-form/dynamic-form.module.js +3 -1
- package/esm5/components/dynamic-form/index.js +6 -1
- package/esm5/components/table/table-paging/table-paging.component.js +4 -2
- package/esm5/seniorsistemas-angular-components.js +41 -40
- package/fesm2015/seniorsistemas-angular-components.js +109 -17
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +104 -15
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.d.ts +40 -39
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -1,11 +1,34 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
+
import { FieldSize } from "../field-size";
|
|
2
3
|
import { Structure } from "./structure";
|
|
3
4
|
var Section = /** @class */ (function (_super) {
|
|
4
5
|
__extends(Section, _super);
|
|
5
6
|
function Section(config) {
|
|
6
|
-
|
|
7
|
+
var _this = _super.call(this, config) || this;
|
|
8
|
+
/**
|
|
9
|
+
* Define if the structure is a flex container.
|
|
10
|
+
*/
|
|
11
|
+
_this.isFlex = false;
|
|
12
|
+
/**
|
|
13
|
+
* Define the justify-content property.
|
|
14
|
+
*/
|
|
15
|
+
_this.justifyContent = 'flex-start';
|
|
16
|
+
/**
|
|
17
|
+
* Define the align-items property.
|
|
18
|
+
*/
|
|
19
|
+
_this.alignItems = 'flex-start';
|
|
20
|
+
_this.visible = function () { return true; };
|
|
21
|
+
_this.isFlex = config.isFlex || false;
|
|
22
|
+
_this.justifyContent = config.justifyContent || 'flex-start';
|
|
23
|
+
_this.alignItems = config.alignItems || 'flex-start';
|
|
24
|
+
if (config.visible) {
|
|
25
|
+
_this.visible = config.visible;
|
|
26
|
+
}
|
|
27
|
+
_this.size = new FieldSize(config.size || {});
|
|
28
|
+
_this.gridClass = Object.keys(_this.size).map(function (key) { return "ui-" + key + "-" + _this.size[key]; });
|
|
29
|
+
return _this;
|
|
7
30
|
}
|
|
8
31
|
return Section;
|
|
9
32
|
}(Structure));
|
|
10
33
|
export { Section };
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9zdHJ1Y3R1cmUvc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLGFBQWEsQ0FBQztBQUV6RDtJQUE2QiwyQkFBUztJQWtCbEMsaUJBQVksTUFBZTtRQUEzQixZQUNJLGtCQUFNLE1BQXlCLENBQUMsU0FXbkM7UUE3QkQ7O1dBRUc7UUFDSSxZQUFNLEdBQUksS0FBSyxDQUFDO1FBQ3ZCOztXQUVHO1FBQ0ksb0JBQWMsR0FBOEYsWUFBWSxDQUFDO1FBQ2hJOztXQUVHO1FBQ0ksZ0JBQVUsR0FBMkYsWUFBWSxDQUFDO1FBRWxILGFBQU8sR0FBbUIsY0FBTSxPQUFBLElBQUksRUFBSixDQUFJLENBQUM7UUFNeEMsS0FBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNyQyxLQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLElBQUksWUFBWSxDQUFDO1FBQzVELEtBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxZQUFZLENBQUM7UUFFcEQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2hCLEtBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQTtTQUNoQztRQUVELEtBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3QyxLQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLEdBQW9CLElBQUssT0FBQSxRQUFNLEdBQUcsU0FBSSxLQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBRyxFQUE3QixDQUE2QixDQUFDLENBQUM7O0lBQ3pHLENBQUM7SUFDTCxjQUFDO0FBQUQsQ0FBQyxBQS9CRCxDQUE2QixTQUFTLEdBK0JyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkU2l6ZSB9IGZyb20gXCIuLi9maWVsZC1zaXplXCI7XG5pbXBvcnQgeyBTdHJ1Y3R1cmUsIFN0cnVjdHVyZUNvbmZpZyB9IGZyb20gXCIuL3N0cnVjdHVyZVwiO1xuXG5leHBvcnQgY2xhc3MgU2VjdGlvbiBleHRlbmRzIFN0cnVjdHVyZSB7XG4gICAgLyoqXG4gICAgICogRGVmaW5lIGlmIHRoZSBzdHJ1Y3R1cmUgaXMgYSBmbGV4IGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNGbGV4PyA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIERlZmluZSB0aGUganVzdGlmeS1jb250ZW50IHByb3BlcnR5LlxuICAgICAqL1xuICAgIHB1YmxpYyBqdXN0aWZ5Q29udGVudD86ICdmbGV4LXN0YXJ0JyB8ICdmbGV4LWVuZCcgfCAnY2VudGVyJyB8ICdzcGFjZS1iZXR3ZWVuJyB8ICdzcGFjZS1hcm91bmQnIHwgJ3NwYWNlLWV2ZW5seScgPSAnZmxleC1zdGFydCc7XG4gICAgLyoqXG4gICAgICogRGVmaW5lIHRoZSBhbGlnbi1pdGVtcyBwcm9wZXJ0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWxpZ25JdGVtcz86ICdzdHJldGNoJyB8ICdmbGV4LXN0YXJ0JyB8ICdmbGV4LWVuZCcgfCAnY2VudGVyJyB8ICdiYXNlbGluZScgfCAnaW5pdGlhbCcgfCAnaW5oZXJpdCcgPSAnZmxleC1zdGFydCc7XG5cbiAgICBwdWJsaWMgdmlzaWJsZT86ICgpID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlO1xuXG4gICAgcHVibGljIHNpemU/OiBGaWVsZFNpemU7XG4gICAgcHJvdGVjdGVkIGdyaWRDbGFzcz86IHN0cmluZ1tdO1xuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogU2VjdGlvbikge1xuICAgICAgICBzdXBlcihjb25maWcgYXMgU3RydWN0dXJlQ29uZmlnKTtcbiAgICAgICAgdGhpcy5pc0ZsZXggPSBjb25maWcuaXNGbGV4IHx8IGZhbHNlO1xuICAgICAgICB0aGlzLmp1c3RpZnlDb250ZW50ID0gY29uZmlnLmp1c3RpZnlDb250ZW50IHx8ICdmbGV4LXN0YXJ0JztcbiAgICAgICAgdGhpcy5hbGlnbkl0ZW1zID0gY29uZmlnLmFsaWduSXRlbXMgfHwgJ2ZsZXgtc3RhcnQnO1xuXG4gICAgICAgIGlmIChjb25maWcudmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gY29uZmlnLnZpc2libGVcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2l6ZSA9IG5ldyBGaWVsZFNpemUoY29uZmlnLnNpemUgfHwge30pO1xuICAgICAgICB0aGlzLmdyaWRDbGFzcyA9IE9iamVjdC5rZXlzKHRoaXMuc2l6ZSkubWFwKChrZXk6IGtleW9mIEZpZWxkU2l6ZSkgPT4gYHVpLSR7a2V5fS0ke3RoaXMuc2l6ZVtrZXldfWApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
2
|
var Structure = /** @class */ (function () {
|
|
3
3
|
function Structure(config) {
|
|
4
|
+
this.isFlex = false;
|
|
4
5
|
Object.assign(this, __assign({}, config));
|
|
5
6
|
}
|
|
6
7
|
return Structure;
|
|
7
8
|
}());
|
|
8
9
|
export { Structure };
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS9zdHJ1Y3R1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVVBO0lBTUksbUJBQVksTUFBdUI7UUFGNUIsV0FBTSxHQUFJLEtBQUssQ0FBQztRQUduQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksZUFBTyxNQUFNLEVBQUcsQ0FBQztJQUN2QyxDQUFDO0lBQ0wsZ0JBQUM7QUFBRCxDQUFDLEFBVEQsSUFTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gXCIuLi9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSBcIi4uL2dyaWQvZ3JpZFwiO1xuaW1wb3J0IHsgU3RydWN0dXJlVHlwZSB9IGZyb20gXCIuLi9zdHJ1Y3R1cmUtdHlwZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0cnVjdHVyZUNvbmZpZyB7XG4gICAgaGVhZGVyPzogc3RyaW5nO1xuICAgIGNvbmZpZ3M/OiBHcmlkW107XG4gICAgdHlwZTogU3RydWN0dXJlVHlwZTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN0cnVjdHVyZSB7XG4gICAgcHVibGljIGhlYWRlcj86IHN0cmluZztcbiAgICBwdWJsaWMgY29uZmlncz86IEdyaWRbXSB8IEZvcm1GaWVsZFtdO1xuICAgIHB1YmxpYyB0eXBlOiBTdHJ1Y3R1cmVUeXBlO1xuICAgIHB1YmxpYyBpc0ZsZXg/ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IFN0cnVjdHVyZUNvbmZpZykge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHsgLi4uY29uZmlnIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -82,4 +82,4 @@ var DynamicFormDirective = /** @class */ (function () {
|
|
|
82
82
|
return DynamicFormDirective;
|
|
83
83
|
}());
|
|
84
84
|
export { DynamicFormDirective };
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEUsT0FBTyxFQUFFLFlBQVksRUFBZSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkxRjtJQWtCSSw4QkFBb0IsUUFBa0MsRUFBVSxTQUEyQjtRQUF2RSxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQUksQ0FBQztJQVZoRyxzQkFBSSw4Q0FBWTthQUFoQixVQUFpQixPQUFzRztZQUMzRyxJQUFBLGVBQUUsRUFBRSx1QkFBTSxFQUFFLHFCQUFLLEVBQUUscUNBQWEsQ0FBYTtZQUNyRCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLENBQUM7OztPQUFBO0lBTU0sdUNBQVEsR0FBZjtRQUNJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxDQUFFLElBQUksQ0FBQyxNQUFvQixDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxNQUFvQixDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBSSxJQUFJLENBQUMsTUFBb0IsQ0FBQyxJQUFJLENBQUM7YUFDbkY7WUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksWUFBWSxDQUFDO2dCQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBbUI7Z0JBQy9CLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTthQUNwQyxDQUFDLENBQUM7U0FDTjthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztnQkFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQW1CO2dCQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7YUFDcEMsQ0FBQyxDQUFDO1NBQ047YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDO2dCQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBYTtnQkFDMUIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO2FBQ3BDLENBQUMsQ0FBQztTQUNOOztZQUFNLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXNDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFJLENBQUMsQ0FBQztRQUVuRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQy9ELENBQUM7SUFFTSwwQ0FBVyxHQUFsQjtRQUNJLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRU0sMENBQVcsR0FBbEI7UUFDSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxzQ0FBTyxHQUFkO1FBQ0ksT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sMENBQVcsR0FBbEI7UUFDSSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxxQ0FBTSxHQUFiO1FBQ0ksT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOztnQkFyRDZCLHdCQUF3QjtnQkFBcUIsZ0JBQWdCOztJQVYzRjtRQURDLEtBQUssRUFBRTs0REFPUDtJQWRRLG9CQUFvQjtRQURoQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztPQUM3QixvQkFBb0IsQ0F3RWhDO0lBQUQsMkJBQUM7Q0FBQSxBQXhFRCxJQXdFQztTQXhFWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGVcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IEdyaWRUeXBlIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZ3JpZC10eXBlXCI7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZ3JpZC9ncmlkXCI7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVUeXBlIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvc3RydWN0dXJlLXR5cGVcIjtcbmltcG9ydCB7IFN0cnVjdHVyZSB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS9zdHJ1Y3R1cmVcIjtcbmltcG9ydCB7IER5bmFtaWNGaWVsZCwgRHluYW1pY0Zvcm0sIER5bmFtaWNHcmlkLCBEeW5hbWljU3RydWN0dXJlIH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtXCI7XG5pbXBvcnQgeyBSb3cgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9ucy9ncmlkL3Jvd1wiO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6IFwiW3NEeW5hbWljRm9ybV1cIiB9KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBpZDogc3RyaW5nO1xuICAgIHByaXZhdGUgY29uZmlnOiBTdHJ1Y3R1cmUgfCBGb3JtRmllbGQgfCBHcmlkIHwgUm93O1xuICAgIHByaXZhdGUgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgICBwcml2YXRlIGVycm9yTWVzc2FnZXM6IEZvcm1Hcm91cDtcbiAgICBwcml2YXRlIGRpcmVjdGl2ZUNvbmZpZzogRHluYW1pY0Zvcm07XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzRHluYW1pY0Zvcm0oY29udGV4dDogeyBpZDogc3RyaW5nOyBjb25maWc6IEZvcm1GaWVsZDsgc3RydWN0dXJlOiBTdHJ1Y3R1cmU7IGdyb3VwOiBGb3JtR3JvdXA7IGVycm9yTWVzc2FnZXM6IGFueSB9KSB7XG4gICAgICAgIGNvbnN0IHsgaWQsIGNvbmZpZywgZ3JvdXAsIGVycm9yTWVzc2FnZXMgfSA9IGNvbnRleHQ7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gZXJyb3JNZXNzYWdlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgcHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHsgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5pc0ZpZWxkKCkpIHtcbiAgICAgICAgICAgIGlmICghKCh0aGlzLmNvbmZpZyBhcyBGb3JtRmllbGQpLmlkKSAmJiB0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgKHRoaXMuY29uZmlnIGFzIEZvcm1GaWVsZCkuaWQgPSB0aGlzLmlkICsgXCItXCIgKyAodGhpcy5jb25maWcgYXMgRm9ybUZpZWxkKS5uYW1lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZUNvbmZpZyA9IG5ldyBEeW5hbWljRmllbGQoe1xuICAgICAgICAgICAgICAgIGdyb3VwOiB0aGlzLmdyb3VwLFxuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLmNvbmZpZyBhcyBGb3JtRmllbGQsXG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1N0cnVjdHVyZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZUNvbmZpZyA9IG5ldyBEeW5hbWljU3RydWN0dXJlKHtcbiAgICAgICAgICAgICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgICAgICAgICAgICBjb25maWc6IHRoaXMuY29uZmlnIGFzIFN0cnVjdHVyZSxcbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzR3JpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZUNvbmZpZyA9IG5ldyBEeW5hbWljR3JpZCh7XG4gICAgICAgICAgICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXG4gICAgICAgICAgICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZyBhcyBSb3csXG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB0aHJvdyBuZXcgRXJyb3IoYFRyeWluZyB0byB1c2UgYW4gdW5zdXBwb3J0ZWQgdHlwZSAoJHt0aGlzLmNvbmZpZy50eXBlfSkuYCk7XG5cbiAgICAgICAgdGhpcy5jb21wb25lbnQgPSB0aGlzLmRpcmVjdGl2ZUNvbmZpZy5jcmVhdGVDb21wb25lbnQodGhpcy5yZXNvbHZlciwgdGhpcy5jb250YWluZXIpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5pZCA9IHRoaXMuaWQ7XG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmVycm9yTWVzc2FnZXMgPSB0aGlzLmVycm9yTWVzc2FnZXM7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlQ29uZmlnLnVwZGF0ZVZhcmlhYmxlcyh0aGlzLmNvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5lcnJvck1lc3NhZ2VzID0gdGhpcy5lcnJvck1lc3NhZ2VzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRmllbGQoKSB7XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGVbdGhpcy5jb25maWcudHlwZV07XG4gICAgfVxuXG4gICAgcHVibGljIGlzU3RydWN0dXJlKCkge1xuICAgICAgICByZXR1cm4gU3RydWN0dXJlVHlwZVt0aGlzLmNvbmZpZy50eXBlXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNHcmlkKCkge1xuICAgICAgICByZXR1cm4gR3JpZFR5cGVbdGhpcy5jb25maWcudHlwZV07XG4gICAgfVxufVxuIl19
|
|
@@ -21,6 +21,7 @@ import { TextAreaIAFieldComponent } from "./components/fields/text-area-ia/text-
|
|
|
21
21
|
import { TextAreaFieldComponent } from "./components/fields/text-area/text-area-field.component";
|
|
22
22
|
import { TextFieldComponent } from "./components/fields/text/text-field.component";
|
|
23
23
|
import { CheckboxFieldComponent } from "./components/fields";
|
|
24
|
+
import { ButtonFieldComponent } from "./components/fields/button-field/button-field.component";
|
|
24
25
|
import { EditorFieldComponent } from "./components/fields/editor/editor-field.component";
|
|
25
26
|
import { ProfilePictureFieldComponent } from "./components/fields/profile-picture/profile-picture-field.component";
|
|
26
27
|
import { FieldType } from "./configurations/field-type";
|
|
@@ -134,6 +135,8 @@ var DynamicField = /** @class */ (function (_super) {
|
|
|
134
135
|
return ProfilePictureFieldComponent;
|
|
135
136
|
case FieldType.Editor:
|
|
136
137
|
return EditorFieldComponent;
|
|
138
|
+
case FieldType.Button:
|
|
139
|
+
return ButtonFieldComponent;
|
|
137
140
|
case FieldType.Custom:
|
|
138
141
|
return this.field.CustomFieldComponentClass;
|
|
139
142
|
default:
|
|
@@ -209,4 +212,4 @@ var DynamicGrid = /** @class */ (function (_super) {
|
|
|
209
212
|
return DynamicGrid;
|
|
210
213
|
}(DynamicForm));
|
|
211
214
|
export { DynamicGrid };
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBS0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXBGLFNBQVM7QUFDVCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNqSSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztB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TSxxQ0FBZSxHQUF0QixVQUF1QixTQUE0QjtRQUMvQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3hDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUVNLGtDQUFZLEdBQW5CO1FBQ0ksUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUN0QixLQUFLLFFBQVEsQ0FBQyxHQUFHO2dCQUNiLE9BQU8sWUFBWSxDQUFDO1lBQ3hCO2dCQUNJLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXNDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFJLENBQUMsQ0FBQztTQUNuRjtJQUNMLENBQUM7SUFDTCxrQkFBQztBQUFELENBQUMsQUEvQkQsQ0FBaUMsV0FBVyxHQStCM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUm93Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmlkL3Jvdy9yb3cuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWVsZHNldENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvc3RydWN0dXJlL2ZpZWxkc2V0L2ZpZWxkc2V0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvc3RydWN0dXJlL3NlY3Rpb24vc2VjdGlvbi5jb21wb25lbnRcIjtcblxuLy8gZmllbGRzXG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCaWdudW1iZXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2JpZ251bWJlci9iaWdudW1iZXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCb29sZWFuRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9ib29sZWFuL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCb29sZWFuU3dpdGNoRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9ib29sZWFuL2Jvb2xlYW4tc3dpdGNoLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2hpcHNGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2NoaXBzL2NoaXBzLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jb3VudHJ5LXBob25lLXBpY2tlci9jb3VudHJ5LXBob25lLXBpY2tlci1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jdXJyZW5jeS9jdXJyZW5jeS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IExvb2t1cEZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvbG9va3VwL2xvb2t1cC1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFBhc3N3b3JkRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvc2VsZWN0L3NlbGVjdC1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNsaWRlckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvc2xpZGVyL3NsaWRlci1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRleHRBcmVhSUFGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQtYXJlYS1pYS90ZXh0LWFyZWEtaWEtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUZXh0QXJlYUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvdGV4dC1hcmVhL3RleHQtYXJlYS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnRcIjtcblxuaW1wb3J0IHsgQ2hlY2tib3hGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzXCI7XG5pbXBvcnQgeyBFZGl0b3JGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2VkaXRvci9lZGl0b3ItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9maWxlUGljdHVyZUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvcHJvZmlsZS1waWN0dXJlL3Byb2ZpbGUtcGljdHVyZS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGVcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IEdyaWRUeXBlIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZ3JpZC10eXBlXCI7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZ3JpZC9ncmlkXCI7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVUeXBlIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvc3RydWN0dXJlLXR5cGVcIjtcbmltcG9ydCB7IFN0cnVjdHVyZSB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS9zdHJ1Y3R1cmVcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIER5bmFtaWNGb3JtIHtcbiAgICBncm91cDogRm9ybUdyb3VwO1xuICAgIGVycm9yTWVzc2FnZXM6IGFueTtcbiAgICBhYnN0cmFjdCBjcmVhdGVDb21wb25lbnQocmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKTogYW55O1xuICAgIGFic3RyYWN0IHVwZGF0ZVZhcmlhYmxlcyhjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KTogdm9pZDtcbiAgICBhYnN0cmFjdCBnZXRDb21wb25lbnQoKTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoeyBncm91cCwgZXJyb3JNZXNzYWdlcyB9OiB7IGdyb3VwOiBGb3JtR3JvdXA7IGVycm9yTWVzc2FnZXM6IGFueSB9KSB7XG4gICAgICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gZXJyb3JNZXNzYWdlcztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljRmllbGQgZXh0ZW5kcyBEeW5hbWljRm9ybSB7XG4gICAgZmllbGQ6IEZvcm1GaWVsZDtcbiAgICBlcnJvck1lc3NhZ2VzOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGdyb3VwLCBmaWVsZCwgZXJyb3JNZXNzYWdlcyB9OiB7IGdyb3VwOiBGb3JtR3JvdXA7IGZpZWxkOiBGb3JtRmllbGQ7IGVycm9yTWVzc2FnZXM6IGFueSB9KSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maWVsZCA9IGZpZWxkO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVDb21wb25lbnQocmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSByZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmdldENvbXBvbmVudCgpKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KSBhcyBDb21wb25lbnRSZWY8YW55PjtcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmZpZWxkID0gdGhpcy5maWVsZDtcbiAgICAgICAgLy8gTXVzdCBiZSB0aGlzIHdheSBiZWNhdXNlIHNvbWUgdGVhbXMgdXNlIG5hbWUgbGlrZSBcImUwNzBlbXAuY29kZW1wXCJcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmZvcm1Db250cm9sID0gdGhpcy5ncm91cFtcImNvbnRyb2xzXCJdW3RoaXMuZmllbGQubmFtZV07XG5cbiAgICAgICAgdGhpcy5fc3dpdGNoRW1wdHlTdHJpbmdUb051bGwoY29tcG9uZW50KTtcblxuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZXJyb3JNZXNzYWdlcyA9IHRoaXMuZXJyb3JNZXNzYWdlcztcblxuICAgICAgICB0aGlzLnNldFZhcmlhYmxlc0J5VHlwZShjb21wb25lbnQpO1xuICAgICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N3aXRjaEVtcHR5U3RyaW5nVG9OdWxsKGNvbXBvbmVudDogQ29tcG9uZW50UmVmPGFueT4pIHtcbiAgICAgICAgc3dpdGNoIChjb21wb25lbnQuaW5zdGFuY2UuZmllbGQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuUGFzc3dvcmQ6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5TdHJpbmc6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0OlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGV4dElBOlxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlQ2hhbmdlcyQ6IFN1YnNjcmlwdGlvbiA9IGNvbXBvbmVudC5pbnN0YW5jZS5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGNvbXBvbmVudC5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZUNoYW5nZXMkLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VmFyaWFibGVzQnlUeXBlKGNvbXBvbmVudDogQ29tcG9uZW50UmVmPGFueT4pIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQudHlwZSA9PSBGaWVsZFR5cGUuVGltZSkge1xuICAgICAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLnRpbWVPbmx5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoW0ZpZWxkVHlwZS5Mb2NhbERhdGVUaW1lLCBGaWVsZFR5cGUuRGF0ZVRpbWUsIEZpZWxkVHlwZS5UaW1lXS5pbmNsdWRlcyh0aGlzLmZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICBjb21wb25lbnQuaW5zdGFuY2Uuc2hvd1RpbWUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVZhcmlhYmxlcyhjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5maWVsZCA9IHRoaXMuZmllbGQ7XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5mb3JtQ29udHJvbCA9IHRoaXMuZ3JvdXBbXCJjb250cm9sc1wiXVt0aGlzLmZpZWxkLm5hbWVdO1xuICAgICAgICB0aGlzLnNldFZhcmlhYmxlc0J5VHlwZShjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb21wb25lbnQoKTogYW55IHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkF1dG9jb21wbGV0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CaW5hcnk6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5TdHJpbmc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFRleHRGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQucmVwcmVzZW50ZWRCeSA9PT0gXCJzd2l0Y2hcIiA/IEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCA6IEJvb2xlYW5GaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkNoZWNrYm94OlxuICAgICAgICAgICAgICAgIHJldHVybiBDaGVja2JveEZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ2hpcHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENoaXBzRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Db3VudHJ5UGhvbmVQaWNrZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvdW50cnlQaG9uZVBpY2tlckZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVUaW1lOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTG9jYWxEYXRlVGltZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlRpbWU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENhbGVuZGFyRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5OdW1iZXI6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5JbnRlZ2VyOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRG91YmxlOlxuICAgICAgICAgICAgICAgIHJldHVybiBCaWdudW1iZXJGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkVudW06XG4gICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVjdEZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTG9va3VwOlxuICAgICAgICAgICAgICAgIHJldHVybiBMb29rdXBGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLk1vbmV5OlxuICAgICAgICAgICAgICAgIHJldHVybiBDdXJyZW5jeUZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuUmFkaW86XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJhZGlvQnV0dG9uQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGV4dDpcbiAgICAgICAgICAgICAgICByZXR1cm4gVGV4dEFyZWFGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlRleHRJQTpcbiAgICAgICAgICAgICAgICByZXR1cm4gVGV4dEFyZWFJQUZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuUGFzc3dvcmQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFBhc3N3b3JkRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CbG9iOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVXBsb2FkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuU2xpZGVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBTbGlkZXJGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlByb2ZpbGVQaWN0dXJlOlxuICAgICAgICAgICAgICAgIHJldHVybiBQcm9maWxlUGljdHVyZUZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRWRpdG9yOlxuICAgICAgICAgICAgICAgIHJldHVybiBFZGl0b3JGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkN1c3RvbTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5DdXN0b21GaWVsZENvbXBvbmVudENsYXNzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRyeWluZyB0byB1c2UgYW4gdW5zdXBwb3J0ZWQgdHlwZSAoJHt0aGlzLmZpZWxkLnR5cGV9KS5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNTdHJ1Y3R1cmUgZXh0ZW5kcyBEeW5hbWljRm9ybSB7XG4gICAgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgICBjb25maWc6IFN0cnVjdHVyZTtcbiAgICBlcnJvck1lc3NhZ2VzOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGdyb3VwLCBjb25maWcsIGVycm9yTWVzc2FnZXMgfTogeyBncm91cDogRm9ybUdyb3VwOyBjb25maWc6IFN0cnVjdHVyZTsgZXJyb3JNZXNzYWdlczogYW55IH0pIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUNvbXBvbmVudChyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuZ2V0Q29tcG9uZW50KCkpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBjb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpIGFzIENvbXBvbmVudFJlZjxhbnk+O1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5ncm91cCA9IHRoaXMuZ3JvdXA7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVZhcmlhYmxlcyhjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5zdHJ1Y3R1cmUgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tcG9uZW50KCk6IGFueSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5jb25maWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBTdHJ1Y3R1cmVUeXBlLkZpZWxkc2V0OlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZHNldENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgU3RydWN0dXJlVHlwZS5TZWN0aW9uOlxuICAgICAgICAgICAgICAgIHJldHVybiBTZWN0aW9uQ29tcG9uZW50O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRyeWluZyB0byB1c2UgYW4gdW5zdXBwb3J0ZWQgdHlwZSAoJHt0aGlzLmNvbmZpZy50eXBlfSkuYCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljR3JpZCBleHRlbmRzIER5bmFtaWNGb3JtIHtcbiAgICBncm91cDogRm9ybUdyb3VwO1xuICAgIGNvbmZpZzogR3JpZDtcblxuICAgIGNvbnN0cnVjdG9yKHsgZ3JvdXAsIGNvbmZpZywgZXJyb3JNZXNzYWdlcyB9OiB7IGdyb3VwOiBGb3JtR3JvdXA7IGNvbmZpZzogR3JpZDsgZXJyb3JNZXNzYWdlczogYW55IH0pIHtcbiAgICAgICAgc3VwZXIoeyBncm91cCwgZXJyb3JNZXNzYWdlcyB9KTtcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUNvbXBvbmVudChyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuZ2V0Q29tcG9uZW50KCkpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBjb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpIGFzIENvbXBvbmVudFJlZjxhbnk+O1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5ncm91cCA9IHRoaXMuZ3JvdXA7XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5lcnJvck1lc3NhZ2VzID0gdGhpcy5lcnJvck1lc3NhZ2VzO1xuICAgICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVWYXJpYWJsZXMoY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55Pikge1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5ncm91cCA9IHRoaXMuZ3JvdXA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbXBvbmVudCgpOiBhbnkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuY29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgR3JpZFR5cGUuUm93OlxuICAgICAgICAgICAgICAgIHJldHVybiBSb3dDb21wb25lbnQ7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuY29uZmlnLnR5cGV9KS5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBS0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXBGLFNBQVM7QUFDVCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNqSSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztB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QUM7UUFDdEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0RCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRU0scUNBQWUsR0FBdEIsVUFBdUIsU0FBNEI7UUFDL0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN4QyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFTSxrQ0FBWSxHQUFuQjtRQUNJLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDdEIsS0FBSyxRQUFRLENBQUMsR0FBRztnQkFDYixPQUFPLFlBQVksQ0FBQztZQUN4QjtnQkFDSSxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUFzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksT0FBSSxDQUFDLENBQUM7U0FDbkY7SUFDTCxDQUFDO0lBQ0wsa0JBQUM7QUFBRCxDQUFDLEFBL0JELENBQWlDLFdBQVcsR0ErQjNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFJvd0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3JpZC9yb3cvcm93LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmllbGRzZXRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlY3Rpb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50XCI7XG5cbi8vIGZpZWxkc1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmlnbnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9iaWdudW1iZXIvYmlnbnVtYmVyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQm9vbGVhbkZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYm9vbGVhbi9ib29sZWFuLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQm9vbGVhblN3aXRjaEZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXN3aXRjaC1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jYWxlbmRhci9jYWxlbmRhci1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENoaXBzRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jaGlwcy9jaGlwcy1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvdW50cnlQaG9uZVBpY2tlckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDdXJyZW5jeUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3kvY3VycmVuY3ktZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2xvb2t1cC9sb29rdXAtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvcGFzc3dvcmQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3NlbGVjdC9zZWxlY3QtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTbGlkZXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3NsaWRlci9zbGlkZXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWFyZWEtaWEvdGV4dC1hcmVhLWlhLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQtYXJlYS90ZXh0LWFyZWEtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0L3RleHQtZmllbGQuY29tcG9uZW50XCI7XG5cbmltcG9ydCB7IENoZWNrYm94RmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkc1wiO1xuaW1wb3J0IHsgQnV0dG9uRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9idXR0b24tZmllbGQvYnV0dG9uLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRWRpdG9yRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9lZGl0b3IvZWRpdG9yLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvZmlsZVBpY3R1cmVGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3Byb2ZpbGUtcGljdHVyZS9wcm9maWxlLXBpY3R1cmUtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9ucy9maWVsZC10eXBlXCI7XG5pbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBHcmlkVHlwZSB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2dyaWQtdHlwZVwiO1xuaW1wb3J0IHsgUm93IH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZ3JpZC9yb3dcIjtcbmltcG9ydCB7IFN0cnVjdHVyZVR5cGUgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9ucy9zdHJ1Y3R1cmUtdHlwZVwiO1xuaW1wb3J0IHsgU3RydWN0dXJlIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvc3RydWN0dXJlL3N0cnVjdHVyZVwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHluYW1pY0Zvcm0ge1xuICAgIGdyb3VwOiBGb3JtR3JvdXA7XG4gICAgZXJyb3JNZXNzYWdlczogYW55O1xuICAgIGFic3RyYWN0IGNyZWF0ZUNvbXBvbmVudChyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpOiBhbnk7XG4gICAgYWJzdHJhY3QgdXBkYXRlVmFyaWFibGVzKGNvbXBvbmVudDogQ29tcG9uZW50UmVmPGFueT4pOiB2b2lkO1xuICAgIGFic3RyYWN0IGdldENvbXBvbmVudCgpOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGdyb3VwLCBlcnJvck1lc3NhZ2VzIH06IHsgZ3JvdXA6IEZvcm1Hcm91cDsgZXJyb3JNZXNzYWdlczogYW55IH0pIHtcbiAgICAgICAgdGhpcy5ncm91cCA9IGdyb3VwO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBlcnJvck1lc3NhZ2VzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZCBleHRlbmRzIER5bmFtaWNGb3JtIHtcbiAgICBmaWVsZDogRm9ybUZpZWxkO1xuICAgIGVycm9yTWVzc2FnZXM6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHsgZ3JvdXAsIGZpZWxkLCBlcnJvck1lc3NhZ2VzIH06IHsgZ3JvdXA6IEZvcm1Hcm91cDsgZmllbGQ6IEZvcm1GaWVsZDsgZXJyb3JNZXNzYWdlczogYW55IH0pIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpZWxkID0gZmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUNvbXBvbmVudChyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuZ2V0Q29tcG9uZW50KCkpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBjb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpIGFzIENvbXBvbmVudFJlZjxhbnk+O1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZmllbGQgPSB0aGlzLmZpZWxkO1xuICAgICAgICAvLyBNdXN0IGJlIHRoaXMgd2F5IGJlY2F1c2Ugc29tZSB0ZWFtcyB1c2UgbmFtZSBsaWtlIFwiZTA3MGVtcC5jb2RlbXBcIlxuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZm9ybUNvbnRyb2wgPSB0aGlzLmdyb3VwW1wiY29udHJvbHNcIl1bdGhpcy5maWVsZC5uYW1lXTtcblxuICAgICAgICB0aGlzLl9zd2l0Y2hFbXB0eVN0cmluZ1RvTnVsbChjb21wb25lbnQpO1xuXG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5lcnJvck1lc3NhZ2VzID0gdGhpcy5lcnJvck1lc3NhZ2VzO1xuXG4gICAgICAgIHRoaXMuc2V0VmFyaWFibGVzQnlUeXBlKGNvbXBvbmVudCk7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3dpdGNoRW1wdHlTdHJpbmdUb051bGwoY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55Pikge1xuICAgICAgICBzd2l0Y2ggKGNvbXBvbmVudC5pbnN0YW5jZS5maWVsZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5QYXNzd29yZDpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlRleHQ6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0SUE6XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWVDaGFuZ2VzJDogU3Vic2NyaXB0aW9uID0gY29tcG9uZW50Lmluc3RhbmNlLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBjb21wb25lbnQub25EZXN0cm95KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVDaGFuZ2VzJC51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhcmlhYmxlc0J5VHlwZShjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnR5cGUgPT0gRmllbGRUeXBlLlRpbWUpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS50aW1lT25seSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFtGaWVsZFR5cGUuTG9jYWxEYXRlVGltZSwgRmllbGRUeXBlLkRhdGVUaW1lLCBGaWVsZFR5cGUuVGltZV0uaW5jbHVkZXModGhpcy5maWVsZC50eXBlKSkge1xuICAgICAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLnNob3dUaW1lID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVWYXJpYWJsZXMoY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55Pikge1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZmllbGQgPSB0aGlzLmZpZWxkO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZm9ybUNvbnRyb2wgPSB0aGlzLmdyb3VwW1wiY29udHJvbHNcIl1bdGhpcy5maWVsZC5uYW1lXTtcbiAgICAgICAgdGhpcy5zZXRWYXJpYWJsZXNCeVR5cGUoY29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tcG9uZW50KCk6IGFueSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5maWVsZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQmluYXJ5OlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuU3RyaW5nOlxuICAgICAgICAgICAgICAgIHJldHVybiBUZXh0RmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLnJlcHJlc2VudGVkQnkgPT09IFwic3dpdGNoXCIgPyBCb29sZWFuU3dpdGNoRmllbGRDb21wb25lbnQgOiBCb29sZWFuRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5DaGVja2JveDpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ2hlY2tib3hGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkNoaXBzOlxuICAgICAgICAgICAgICAgIHJldHVybiBDaGlwc0ZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ291bnRyeVBob25lUGlja2VyOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvY2FsRGF0ZVRpbWU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UaW1lOlxuICAgICAgICAgICAgICAgIHJldHVybiBDYWxlbmRhckZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuSW50ZWdlcjpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRvdWJsZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gQmlnbnVtYmVyRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5FbnVtOlxuICAgICAgICAgICAgICAgIHJldHVybiBTZWxlY3RGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvb2t1cDpcbiAgICAgICAgICAgICAgICByZXR1cm4gTG9va3VwRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Nb25leTpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ3VycmVuY3lGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlJhZGlvOlxuICAgICAgICAgICAgICAgIHJldHVybiBSYWRpb0J1dHRvbkNvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlRleHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFRleHRBcmVhRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0SUE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFRleHRBcmVhSUFGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlBhc3N3b3JkOlxuICAgICAgICAgICAgICAgIHJldHVybiBQYXNzd29yZEZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQmxvYjpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVVwbG9hZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlNsaWRlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gU2xpZGVyRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Qcm9maWxlUGljdHVyZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvZmlsZVBpY3R1cmVGaWVsZENvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkVkaXRvcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gRWRpdG9yRmllbGRDb21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CdXR0b246XG4gICAgICAgICAgICAgICAgcmV0dXJuIEJ1dHRvbkZpZWxkQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ3VzdG9tOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLkN1c3RvbUZpZWxkQ29tcG9uZW50Q2xhc3M7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuZmllbGQudHlwZX0pLmApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY1N0cnVjdHVyZSBleHRlbmRzIER5bmFtaWNGb3JtIHtcbiAgICBncm91cDogRm9ybUdyb3VwO1xuICAgIGNvbmZpZzogU3RydWN0dXJlO1xuICAgIGVycm9yTWVzc2FnZXM6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHsgZ3JvdXAsIGNvbmZpZywgZXJyb3JNZXNzYWdlcyB9OiB7IGdyb3VwOiBGb3JtR3JvdXA7IGNvbmZpZzogU3RydWN0dXJlOyBlcnJvck1lc3NhZ2VzOiBhbnkgfSkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlQ29tcG9uZW50KHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5nZXRDb21wb25lbnQoKSk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSkgYXMgQ29tcG9uZW50UmVmPGFueT47XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVmFyaWFibGVzKGNvbXBvbmVudDogQ29tcG9uZW50UmVmPGFueT4pIHtcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLnN0cnVjdHVyZSA9IHRoaXMuY29uZmlnO1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb21wb25lbnQoKTogYW55IHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmNvbmZpZy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFN0cnVjdHVyZVR5cGUuRmllbGRzZXQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkc2V0Q29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBTdHJ1Y3R1cmVUeXBlLlNlY3Rpb246XG4gICAgICAgICAgICAgICAgcmV0dXJuIFNlY3Rpb25Db21wb25lbnQ7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuY29uZmlnLnR5cGV9KS5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNHcmlkIGV4dGVuZHMgRHluYW1pY0Zvcm0ge1xuICAgIGdyb3VwOiBGb3JtR3JvdXA7XG4gICAgY29uZmlnOiBSb3c7XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGdyb3VwLCBjb25maWcsIGVycm9yTWVzc2FnZXMgfTogeyBncm91cDogRm9ybUdyb3VwOyBjb25maWc6IFJvdzsgZXJyb3JNZXNzYWdlczogYW55IH0pIHtcbiAgICAgICAgc3VwZXIoeyBncm91cCwgZXJyb3JNZXNzYWdlcyB9KTtcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUNvbXBvbmVudChyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuZ2V0Q29tcG9uZW50KCkpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBjb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpXG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmVycm9yTWVzc2FnZXMgPSB0aGlzLmVycm9yTWVzc2FnZXM7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVZhcmlhYmxlcyhjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tcG9uZW50KCkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuY29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgR3JpZFR5cGUuUm93OlxuICAgICAgICAgICAgICAgIHJldHVybiBSb3dDb21wb25lbnQ7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuY29uZmlnLnR5cGV9KS5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -76,6 +76,7 @@ import { NumberFieldModule } from "./components/fields/number/number-field.modul
|
|
|
76
76
|
import { PasswordFieldModule } from "./components/fields/password/password-field.module";
|
|
77
77
|
import { ProfilePictureModule } from "./components/fields/profile-picture/profile-picture-field.module";
|
|
78
78
|
import { TextFieldModule } from "./components/fields/text/text-field.module";
|
|
79
|
+
import { ButtonFieldComponent } from "./components/fields/button-field/button-field.component";
|
|
79
80
|
var DynamicFormModule = /** @class */ (function () {
|
|
80
81
|
function DynamicFormModule() {
|
|
81
82
|
}
|
|
@@ -156,6 +157,7 @@ var DynamicFormModule = /** @class */ (function () {
|
|
|
156
157
|
SliderFieldComponent,
|
|
157
158
|
TextAreaFieldComponent,
|
|
158
159
|
TextAreaIAFieldComponent,
|
|
160
|
+
ButtonFieldComponent
|
|
159
161
|
],
|
|
160
162
|
exports: [DynamicFormComponent, LookupComponent],
|
|
161
163
|
entryComponents: [
|
|
@@ -185,4 +187,4 @@ var DynamicFormModule = /** @class */ (function () {
|
|
|
185
187
|
return DynamicFormModule;
|
|
186
188
|
}());
|
|
187
189
|
export { DynamicFormModule };
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxJQUFJLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELGFBQWE7QUFDYixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNqSSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN6RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUVwRixPQUFPO0FBQ1AsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLFNBQVM7QUFDVCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdkUsZUFBZTtBQUNmLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQXlHN0U7SUFBQTtJQUFpQyxDQUFDO0lBQXJCLGlCQUFpQjtRQXZHN0IsUUFBUSxDQUFDO1lBQ04sT0FBTyxFQUFFO2dCQUNMLGtCQUFrQjtnQkFDbEIsV0FBVztnQkFDWCxvQkFBb0I7Z0JBQ3BCLFlBQVk7Z0JBQ1osa0JBQWtCO2dCQUNsQixjQUFjO2dCQUNkLGNBQWM7Z0JBQ2QsV0FBVztnQkFDWCxZQUFZO2dCQUNaLG1CQUFtQjtnQkFDbkIsd0JBQXdCO2dCQUN4QixZQUFZO2dCQUNaLGNBQWM7Z0JBQ2QsZ0JBQWdCO2dCQUNoQixXQUFXO2dCQUNYLFlBQVk7Z0JBQ1osZUFBZTtnQkFDZixtQkFBbUI7Z0JBQ25CLGVBQWU7Z0JBQ2YsZUFBZTtnQkFDZixrQkFBa0I7Z0JBQ2xCLFlBQVk7Z0JBQ1osMEJBQTBCO2dCQUMxQixXQUFXO2dCQUNYLGlCQUFpQjtnQkFDakIsa0JBQWtCO2dCQUNsQixpQkFBaUI7Z0JBQ2pCLGlCQUFpQjtnQkFDakIsaUJBQWlCO2dCQUNqQixtQkFBbUI7Z0JBQ25CLGFBQWE7Z0JBRWIsY0FBYztnQkFDZCx5QkFBeUI7Z0JBQ3pCLGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxjQUFjO2dCQUNkLG1CQUFtQjtnQkFDbkIsWUFBWSxDQUFDLE9BQU8sRUFBRTtnQkFDdEIsaUJBQWlCO2dCQUNqQixZQUFZO2dCQUNaLHNCQUFzQjtnQkFDdEIsWUFBWTtnQkFDWixlQUFlLENBQUMsUUFBUSxFQUFFO2dCQUUxQixtQkFBbUI7Z0JBQ25CLGVBQWU7Z0JBQ2YsaUJBQWlCO2dCQUNqQixtQkFBbUI7Z0JBQ25CLG9CQUFvQjtnQkFDcEIsbUJBQW1CO2dCQUNuQixvQkFBb0I7Z0JBQ3BCLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2FBQ25CO1lBQ0QsWUFBWSxFQUFFO2dCQUNWLDBCQUEwQjtnQkFDMUIscUJBQXFCO2dCQUNyQiwyQkFBMkI7Z0JBQzNCLHNCQUFzQjtnQkFDdEIsbUJBQW1CO2dCQUNuQixnQ0FBZ0M7Z0JBQ2hDLHFCQUFxQjtnQkFDckIsb0JBQW9CO2dCQUNwQixvQkFBb0I7Z0JBQ3BCLGlCQUFpQjtnQkFDakIsbUJBQW1CO2dCQUNuQixlQUFlO2dCQUNmLG9CQUFvQjtnQkFDcEIsb0JBQW9CO2dCQUNwQixZQUFZO2dCQUNaLGdCQUFnQjtnQkFDaEIsb0JBQW9CO2dCQUNwQixvQkFBb0I7Z0JBQ3BCLHNCQUFzQjtnQkFDdEIsd0JBQXdCO2FBQzNCO1lBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsZUFBZSxDQUFDO1lBQ2hELGVBQWUsRUFBRTtnQkFDYiwwQkFBMEI7Z0JBQzFCLHFCQUFxQjtnQkFDckIsMkJBQTJCO2dCQUMzQixzQkFBc0I7Z0JBQ3RCLG1CQUFtQjtnQkFDbkIsZ0NBQWdDO2dCQUNoQyxpQkFBaUI7Z0JBQ2pCLG1CQUFtQjtnQkFDbkIsb0JBQW9CO2dCQUNwQixvQkFBb0I7Z0JBQ3BCLFlBQVk7Z0JBQ1osZ0JBQWdCO2dCQUNoQixvQkFBb0I7Z0JBQ3BCLG9CQUFvQjtnQkFDcEIsc0JBQXNCO2dCQUN0Qix3QkFBd0I7YUFDM0I7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsY0FBYztnQkFDZCxjQUFjO2FBQ2pCO1NBQ0osQ0FBQztPQUNXLGlCQUFpQixDQUFJO0lBQUQsd0JBQUM7Q0FBQSxBQUFsQyxJQUFrQztTQUFyQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgSG90a2V5TW9kdWxlLCBIb3RrZXlzU2VydmljZSB9IGZyb20gXCJhbmd1bGFyMi1ob3RrZXlzXCI7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSBhcyBQcmltZUJ1dHRvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2J1dHRvblwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jYWxlbmRhclwiO1xuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGVja2JveFwiO1xuaW1wb3J0IHsgQ2hpcHNNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGlwc1wiO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBGaWVsZHNldE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2ZpZWxkc2V0XCI7XG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9pbnB1dG1hc2tcIjtcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dFwiO1xuaW1wb3J0IHsgSW5wdXRUZXh0YXJlYU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dGFyZWFcIjtcbmltcG9ydCB7IEtleUZpbHRlck1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2tleWZpbHRlclwiO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9tdWx0aXNlbGVjdFwiO1xuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9wYW5lbFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9yYWRpb2J1dHRvblwiO1xuaW1wb3J0IHsgU2xpZGVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zbGlkZXInO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgYXMgUHJpbWVOR1RhYmxlTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuaW1wb3J0IHsgTW91c2VFdmVudHNNb2R1bGUgfSBmcm9tIFwiLi4vbW91c2UtZXZlbnRzL21vdXNlLWV2ZW50cy5tb2R1bGVcIjtcbmltcG9ydCB7IElBc3Npc3RTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvSUFzc2lzdC9pYXNzaXN0LnNlcnZpY2VcIjtcblxuLy8gTW9kdWxlc1xuaW1wb3J0IHsgQmFkZ2VNb2R1bGUgfSBmcm9tIFwiLi4vYmFkZ2UvYmFkZ2UubW9kdWxlXCI7XG5pbXBvcnQgeyBCaWdudW1iZXJJbnB1dE1vZHVsZSB9IGZyb20gXCIuLi9iaWdudW1iZXItaW5wdXQvbnVtYmVyLWlucHV0Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b24ubW9kdWxlXCI7XG5pbXBvcnQgeyBDYWxlbmRhck1hc2tNb2R1bGUgfSBmcm9tIFwiLi4vY2FsZW5kYXItbWFzay9jYWxlbmRhci1tYXNrLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ29udHJvbEVycm9yc01vZHVsZSB9IGZyb20gXCIuLi9jb250cm9sLWVycm9ycy9jb250cm9sLWVycm9ycy5tb2R1bGVcIjtcbmltcG9ydCB7IENvdW50cnlQaG9uZVBpY2tlck1vZHVsZSB9IGZyb20gXCIuLi9jb3VudHJ5LXBob25lLXBpY2tlci9jb3VudHJ5LXBob25lLXBpY2tlci5tb2R1bGVcIjtcbmltcG9ydCB7IEVtcHR5U3RhdGVNb2R1bGUgfSBmcm9tIFwiLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUubW9kdWxlXCI7XG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSBcIi4uL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZVwiO1xuaW1wb3J0IHsgSW5mb1NpZ25Nb2R1bGUgfSBmcm9tIFwiLi4vaW5mby1zaWduL2luZm8tc2lnbi5tb2R1bGVcIjtcbmltcG9ydCB7IExvYWRpbmdTdGF0ZU1vZHVsZSB9IGZyb20gXCIuLi9sb2FkaW5nLXN0YXRlL2xvYWRpbmctc3RhdGUubW9kdWxlXCI7XG5pbXBvcnQgeyBMb2NhbGVNb2R1bGUgfSBmcm9tIFwiLi4vbG9jYWxlL2xvY2FsZS5tb2R1bGVcIjtcbmltcG9ydCB7IExvY2FsaXplZE51bWJlcklucHV0TW9kdWxlIH0gZnJvbSBcIi4uL2xvY2FsaXplZC1udW1iZXItaW5wdXQvbG9jYWxpemVkLW51bWJlci1pbnB1dC5tb2R1bGVcIjtcbmltcG9ydCB7IE1hc2tGb3JtYXR0ZXJNb2R1bGUgfSBmcm9tIFwiLi4vbWFzay9tYXNrLWZvcm1hdHRlci5tb2R1bGVcIjtcbmltcG9ydCB7IE51bWJlcklucHV0TW9kdWxlIH0gZnJvbSBcIi4uL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQubW9kdWxlXCI7XG5pbXBvcnQgeyBQYXNzd29yZFN0cmVuZ3RoTW9kdWxlIH0gZnJvbSBcIi4uL3Bhc3N3b3JkLXN0cmVuZ3RoL3Bhc3N3b3JkLXN0cmVuZ3RoLm1vZHVsZVwiO1xuaW1wb3J0IHsgU3dpdGNoTW9kdWxlIH0gZnJvbSBcIi4uL3N3aXRjaC9zd2l0Y2gubW9kdWxlXCI7XG5pbXBvcnQgeyBUYWJsZUhlYWRlckNoZWNrYm94TW9kdWxlIH0gZnJvbSBcIi4uL3RhYmxlLWhlYWRlci90YWJsZS1oZWFkZXItY2hlY2tveC5tb2R1bGVcIjtcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSBcIi4uL3RhYmxlL3RhYmxlLm1vZHVsZVwiO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCIuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlXCI7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2Jvb2xlYW4vYm9vbGVhbi1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2Jvb2xlYW4vYm9vbGVhbi1zd2l0Y2gtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDYWxlbmRhckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXIvY2FsZW5kYXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGlwc0ZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY2hpcHMvY2hpcHMtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9va3VwRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9sb29rdXAvbG9va3VwLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VsZWN0RmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9zZWxlY3Qvc2VsZWN0LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2xpZGVyRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9zbGlkZXIvc2xpZGVyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFJQUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvdGV4dC1hcmVhLWlhL3RleHQtYXJlYS1pYS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRleHRBcmVhRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWFyZWEvdGV4dC1hcmVhLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmllbGRzZXRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlY3Rpb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50XCI7XG5cbi8vIEdyaWRcbmltcG9ydCB7IFJvd0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3JpZC9yb3cvcm93LmNvbXBvbmVudFwiO1xuLy8gTG9va3VwXG5pbXBvcnQgeyBMb29rdXBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50XCI7XG5cbi8vIER5bmFtaWMtZm9ybVxuaW1wb3J0IHsgRHluYW1pY0ZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9keW5hbWljLWZpZWxkL2R5bmFtaWMtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLmRpcmVjdGl2ZVwiO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5tb2R1bGVcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYmlnbnVtYmVyL2JpZ251bWJlci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IENoZWNrYm94RmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jaGVja2JveC9jaGVja2JveC1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jdXJyZW5jeS9jdXJyZW5jeS1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IEVkaXRvckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvZWRpdG9yL2VkaXRvci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvbnVtYmVyL251bWJlci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFBhc3N3b3JkRmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFByb2ZpbGVQaWN0dXJlTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvcHJvZmlsZS1waWN0dXJlL3Byb2ZpbGUtcGljdHVyZS1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQvdGV4dC1maWVsZC5tb2R1bGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgICAgQmFkZ2VNb2R1bGUsXG4gICAgICAgIEJpZ251bWJlcklucHV0TW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIENhbGVuZGFyTWFza01vZHVsZSxcbiAgICAgICAgQ2FsZW5kYXJNb2R1bGUsXG4gICAgICAgIENoZWNrYm94TW9kdWxlLFxuICAgICAgICBDaGlwc01vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JzTW9kdWxlLFxuICAgICAgICBDb3VudHJ5UGhvbmVQaWNrZXJNb2R1bGUsXG4gICAgICAgIERpYWxvZ01vZHVsZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIEVtcHR5U3RhdGVNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBIb3RrZXlNb2R1bGUsXG4gICAgICAgIElucHV0TWFza01vZHVsZSxcbiAgICAgICAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgICAgICBLZXlGaWx0ZXJNb2R1bGUsXG4gICAgICAgIExvYWRpbmdTdGF0ZU1vZHVsZSxcbiAgICAgICAgTG9jYWxlTW9kdWxlLFxuICAgICAgICBMb2NhbGl6ZWROdW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgUGFuZWxNb2R1bGUsXG4gICAgICAgIFByaW1lQnV0dG9uTW9kdWxlLFxuICAgICAgICBQcmltZU5HVGFibGVNb2R1bGUsXG4gICAgICAgIE11bHRpU2VsZWN0TW9kdWxlLFxuICAgICAgICBOdW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgUmFkaW9CdXR0b25Nb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRvb2x0aXBNb2R1bGUsXG5cbiAgICAgICAgRmllbGRzZXRNb2R1bGUsXG4gICAgICAgIFRhYmxlSGVhZGVyQ2hlY2tib3hNb2R1bGUsXG4gICAgICAgIEZpbGVVcGxvYWRNb2R1bGUsXG4gICAgICAgIFRhYmxlTW9kdWxlLFxuICAgICAgICBJbmZvU2lnbk1vZHVsZSxcbiAgICAgICAgTWFza0Zvcm1hdHRlck1vZHVsZSxcbiAgICAgICAgSG90a2V5TW9kdWxlLmZvclJvb3QoKSxcbiAgICAgICAgTW91c2VFdmVudHNNb2R1bGUsXG4gICAgICAgIFN3aXRjaE1vZHVsZSxcbiAgICAgICAgUGFzc3dvcmRTdHJlbmd0aE1vZHVsZSxcbiAgICAgICAgU2xpZGVyTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcblxuICAgICAgICBQYXNzd29yZEZpZWxkTW9kdWxlLFxuICAgICAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgICAgIE51bWJlckZpZWxkTW9kdWxlLFxuICAgICAgICBDdXJyZW5jeUZpZWxkTW9kdWxlLFxuICAgICAgICBCaWdudW1iZXJGaWVsZE1vZHVsZSxcbiAgICAgICAgQ2hlY2tib3hGaWVsZE1vZHVsZSxcbiAgICAgICAgUHJvZmlsZVBpY3R1cmVNb2R1bGUsXG4gICAgICAgIEVkaXRvckZpZWxkTW9kdWxlLFxuICAgICAgICBGaWVsZExhYmVsTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCb29sZWFuRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2hpcHNGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGaWVsZENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtRGlyZWN0aXZlLFxuICAgICAgICBGaWVsZHNldENvbXBvbmVudCxcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICAgICAgTG9va3VwQ29tcG9uZW50LFxuICAgICAgICBMb29rdXBGaWVsZENvbXBvbmVudCxcbiAgICAgICAgUmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJvd0NvbXBvbmVudCxcbiAgICAgICAgU2VjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0RmllbGRDb21wb25lbnQsXG4gICAgICAgIFNsaWRlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbRHluYW1pY0Zvcm1Db21wb25lbnQsIExvb2t1cENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgICAgIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCb29sZWFuRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2hpcHNGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQsXG4gICAgICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgICAgICBMb29rdXBGaWVsZENvbXBvbmVudCxcbiAgICAgICAgUmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJvd0NvbXBvbmVudCxcbiAgICAgICAgU2VjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0RmllbGRDb21wb25lbnQsXG4gICAgICAgIFNsaWRlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgSG90a2V5c1NlcnZpY2UsXG4gICAgICAgIElBc3Npc3RTZXJ2aWNlLFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Nb2R1bGUgeyB9XG4iXX0=
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1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b0JBQW9CO2dCQUNwQixvQkFBb0I7Z0JBQ3BCLHNCQUFzQjtnQkFDdEIsd0JBQXdCO2dCQUN4QixvQkFBb0I7YUFDdkI7WUFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLENBQUM7WUFDaEQsZUFBZSxFQUFFO2dCQUNiLDBCQUEwQjtnQkFDMUIscUJBQXFCO2dCQUNyQiwyQkFBMkI7Z0JBQzNCLHNCQUFzQjtnQkFDdEIsbUJBQW1CO2dCQUNuQixnQ0FBZ0M7Z0JBQ2hDLGlCQUFpQjtnQkFDakIsbUJBQW1CO2dCQUNuQixvQkFBb0I7Z0JBQ3BCLG9CQUFvQjtnQkFDcEIsWUFBWTtnQkFDWixnQkFBZ0I7Z0JBQ2hCLG9CQUFvQjtnQkFDcEIsb0JBQW9CO2dCQUNwQixzQkFBc0I7Z0JBQ3RCLHdCQUF3QjthQUMzQjtZQUNELFNBQVMsRUFBRTtnQkFDUCxjQUFjO2dCQUNkLGNBQWM7YUFDakI7U0FDSixDQUFDO09BQ1csaUJBQWlCLENBQUk7SUFBRCx3QkFBQztDQUFBLEFBQWxDLElBQWtDO1NBQXJCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBIb3RrZXlNb2R1bGUsIEhvdGtleXNTZXJ2aWNlIH0gZnJvbSBcImFuZ3VsYXIyLWhvdGtleXNcIjtcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2F1dG9jb21wbGV0ZVwiO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIGFzIFByaW1lQnV0dG9uTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvYnV0dG9uXCI7XG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NhbGVuZGFyXCI7XG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NoZWNrYm94XCI7XG5pbXBvcnQgeyBDaGlwc01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NoaXBzXCI7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9kaWFsb2dcIjtcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZHJvcGRvd25cIjtcbmltcG9ydCB7IEZpZWxkc2V0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZmllbGRzZXRcIjtcbmltcG9ydCB7IElucHV0TWFza01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0bWFza1wiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0XCI7XG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0YXJlYVwiO1xuaW1wb3J0IHsgS2V5RmlsdGVyTW9kdWxlIH0gZnJvbSBcInByaW1lbmcva2V5ZmlsdGVyXCI7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL211bHRpc2VsZWN0XCI7XG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3BhbmVsXCI7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3JhZGlvYnV0dG9uXCI7XG5pbXBvcnQgeyBTbGlkZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NsaWRlcic7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSBhcyBQcmltZU5HVGFibGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuXG5pbXBvcnQgeyBNb3VzZUV2ZW50c01vZHVsZSB9IGZyb20gXCIuLi9tb3VzZS1ldmVudHMvbW91c2UtZXZlbnRzLm1vZHVsZVwiO1xuaW1wb3J0IHsgSUFzc2lzdFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9JQXNzaXN0L2lhc3Npc3Quc2VydmljZVwiO1xuXG4vLyBNb2R1bGVzXG5pbXBvcnQgeyBCYWRnZU1vZHVsZSB9IGZyb20gXCIuLi9iYWRnZS9iYWRnZS5tb2R1bGVcIjtcbmltcG9ydCB7IEJpZ251bWJlcklucHV0TW9kdWxlIH0gZnJvbSBcIi4uL2JpZ251bWJlci1pbnB1dC9udW1iZXItaW5wdXQubW9kdWxlXCI7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGVcIjtcbmltcG9ydCB7IENhbGVuZGFyTWFza01vZHVsZSB9IGZyb20gXCIuLi9jYWxlbmRhci1tYXNrL2NhbGVuZGFyLW1hc2subW9kdWxlXCI7XG5pbXBvcnQgeyBDb250cm9sRXJyb3JzTW9kdWxlIH0gZnJvbSBcIi4uL2NvbnRyb2wtZXJyb3JzL2NvbnRyb2wtZXJyb3JzLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ291bnRyeVBob25lUGlja2VyTW9kdWxlIH0gZnJvbSBcIi4uL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLm1vZHVsZVwiO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1vZHVsZSB9IGZyb20gXCIuLi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5tb2R1bGVcIjtcbmltcG9ydCB7IEZpbGVVcGxvYWRNb2R1bGUgfSBmcm9tIFwiLi4vZmlsZS11cGxvYWQvZmlsZS11cGxvYWQubW9kdWxlXCI7XG5pbXBvcnQgeyBJbmZvU2lnbk1vZHVsZSB9IGZyb20gXCIuLi9pbmZvLXNpZ24vaW5mby1zaWduLm1vZHVsZVwiO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlTW9kdWxlIH0gZnJvbSBcIi4uL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5tb2R1bGVcIjtcbmltcG9ydCB7IExvY2FsZU1vZHVsZSB9IGZyb20gXCIuLi9sb2NhbGUvbG9jYWxlLm1vZHVsZVwiO1xuaW1wb3J0IHsgTG9jYWxpemVkTnVtYmVySW5wdXRNb2R1bGUgfSBmcm9tIFwiLi4vbG9jYWxpemVkLW51bWJlci1pbnB1dC9sb2NhbGl6ZWQtbnVtYmVyLWlucHV0Lm1vZHVsZVwiO1xuaW1wb3J0IHsgTWFza0Zvcm1hdHRlck1vZHVsZSB9IGZyb20gXCIuLi9tYXNrL21hc2stZm9ybWF0dGVyLm1vZHVsZVwiO1xuaW1wb3J0IHsgTnVtYmVySW5wdXRNb2R1bGUgfSBmcm9tIFwiLi4vbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5tb2R1bGVcIjtcbmltcG9ydCB7IFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUgfSBmcm9tIFwiLi4vcGFzc3dvcmQtc3RyZW5ndGgvcGFzc3dvcmQtc3RyZW5ndGgubW9kdWxlXCI7XG5pbXBvcnQgeyBTd2l0Y2hNb2R1bGUgfSBmcm9tIFwiLi4vc3dpdGNoL3N3aXRjaC5tb2R1bGVcIjtcbmltcG9ydCB7IFRhYmxlSGVhZGVyQ2hlY2tib3hNb2R1bGUgfSBmcm9tIFwiLi4vdGFibGUtaGVhZGVyL3RhYmxlLWhlYWRlci1jaGVja294Lm1vZHVsZVwiO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tIFwiLi4vdGFibGUvdGFibGUubW9kdWxlXCI7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSBcIi4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGVcIjtcblxuLy8gQ29tcG9uZW50c1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQm9vbGVhbkZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYm9vbGVhbi9ib29sZWFuLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQm9vbGVhblN3aXRjaEZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXN3aXRjaC1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jYWxlbmRhci9jYWxlbmRhci1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENoaXBzRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jaGlwcy9jaGlwcy1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvdW50cnlQaG9uZVBpY2tlckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2xvb2t1cC9sb29rdXAtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3NlbGVjdC9zZWxlY3QtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTbGlkZXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3NsaWRlci9zbGlkZXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWFyZWEtaWEvdGV4dC1hcmVhLWlhLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQtYXJlYS90ZXh0LWFyZWEtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWVsZHNldENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvc3RydWN0dXJlL2ZpZWxkc2V0L2ZpZWxkc2V0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvc3RydWN0dXJlL3NlY3Rpb24vc2VjdGlvbi5jb21wb25lbnRcIjtcblxuLy8gR3JpZFxuaW1wb3J0IHsgUm93Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmlkL3Jvdy9yb3cuY29tcG9uZW50XCI7XG4vLyBMb29rdXBcbmltcG9ydCB7IExvb2t1cENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvbG9va3VwL2xvb2t1cC5jb21wb25lbnRcIjtcblxuLy8gRHluYW1pYy1mb3JtXG5pbXBvcnQgeyBEeW5hbWljRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGQvZHluYW1pYy1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1EaXJlY3RpdmUgfSBmcm9tIFwiLi9keW5hbWljLWZvcm0uZGlyZWN0aXZlXCI7XG5cbmltcG9ydCB7IEZpZWxkTGFiZWxNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkLWxhYmVsL2ZpZWxkLWxhYmVsLm1vZHVsZVwiO1xuaW1wb3J0IHsgQmlnbnVtYmVyRmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9iaWdudW1iZXIvYmlnbnVtYmVyLWZpZWxkLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ2hlY2tib3hGaWVsZE1vZHVsZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2NoZWNrYm94L2NoZWNrYm94LWZpZWxkLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ3VycmVuY3lGaWVsZE1vZHVsZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLm1vZHVsZVwiO1xuaW1wb3J0IHsgRWRpdG9yRmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9lZGl0b3IvZWRpdG9yLWZpZWxkLm1vZHVsZVwiO1xuaW1wb3J0IHsgTnVtYmVyRmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9udW1iZXIvbnVtYmVyLWZpZWxkLm1vZHVsZVwiO1xuaW1wb3J0IHsgUGFzc3dvcmRGaWVsZE1vZHVsZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3Bhc3N3b3JkL3Bhc3N3b3JkLWZpZWxkLm1vZHVsZVwiO1xuaW1wb3J0IHsgUHJvZmlsZVBpY3R1cmVNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9wcm9maWxlLXBpY3R1cmUvcHJvZmlsZS1waWN0dXJlLWZpZWxkLm1vZHVsZVwiO1xuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvdGV4dC90ZXh0LWZpZWxkLm1vZHVsZVwiO1xuaW1wb3J0IHsgQnV0dG9uRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9idXR0b24tZmllbGQvYnV0dG9uLWZpZWxkLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBCYWRnZU1vZHVsZSxcbiAgICAgICAgQmlnbnVtYmVySW5wdXRNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ2FsZW5kYXJNYXNrTW9kdWxlLFxuICAgICAgICBDYWxlbmRhck1vZHVsZSxcbiAgICAgICAgQ2hlY2tib3hNb2R1bGUsXG4gICAgICAgIENoaXBzTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIENvbnRyb2xFcnJvcnNNb2R1bGUsXG4gICAgICAgIENvdW50cnlQaG9uZVBpY2tlck1vZHVsZSxcbiAgICAgICAgRGlhbG9nTW9kdWxlLFxuICAgICAgICBEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgRW1wdHlTdGF0ZU1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEhvdGtleU1vZHVsZSxcbiAgICAgICAgSW5wdXRNYXNrTW9kdWxlLFxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgICAgIEtleUZpbHRlck1vZHVsZSxcbiAgICAgICAgTG9hZGluZ1N0YXRlTW9kdWxlLFxuICAgICAgICBMb2NhbGVNb2R1bGUsXG4gICAgICAgIExvY2FsaXplZE51bWJlcklucHV0TW9kdWxlLFxuICAgICAgICBQYW5lbE1vZHVsZSxcbiAgICAgICAgUHJpbWVCdXR0b25Nb2R1bGUsXG4gICAgICAgIFByaW1lTkdUYWJsZU1vZHVsZSxcbiAgICAgICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgICAgIE51bWJlcklucHV0TW9kdWxlLFxuICAgICAgICBSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVG9vbHRpcE1vZHVsZSxcblxuICAgICAgICBGaWVsZHNldE1vZHVsZSxcbiAgICAgICAgVGFibGVIZWFkZXJDaGVja2JveE1vZHVsZSxcbiAgICAgICAgRmlsZVVwbG9hZE1vZHVsZSxcbiAgICAgICAgVGFibGVNb2R1bGUsXG4gICAgICAgIEluZm9TaWduTW9kdWxlLFxuICAgICAgICBNYXNrRm9ybWF0dGVyTW9kdWxlLFxuICAgICAgICBIb3RrZXlNb2R1bGUuZm9yUm9vdCgpLFxuICAgICAgICBNb3VzZUV2ZW50c01vZHVsZSxcbiAgICAgICAgU3dpdGNoTW9kdWxlLFxuICAgICAgICBQYXNzd29yZFN0cmVuZ3RoTW9kdWxlLFxuICAgICAgICBTbGlkZXJNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuXG4gICAgICAgIFBhc3N3b3JkRmllbGRNb2R1bGUsXG4gICAgICAgIFRleHRGaWVsZE1vZHVsZSxcbiAgICAgICAgTnVtYmVyRmllbGRNb2R1bGUsXG4gICAgICAgIEN1cnJlbmN5RmllbGRNb2R1bGUsXG4gICAgICAgIEJpZ251bWJlckZpZWxkTW9kdWxlLFxuICAgICAgICBDaGVja2JveEZpZWxkTW9kdWxlLFxuICAgICAgICBQcm9maWxlUGljdHVyZU1vZHVsZSxcbiAgICAgICAgRWRpdG9yRmllbGRNb2R1bGUsXG4gICAgICAgIEZpZWxkTGFiZWxNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5GaWVsZENvbXBvbmVudCxcbiAgICAgICAgQm9vbGVhblN3aXRjaEZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDYWxlbmRhckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDaGlwc0ZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0ZpZWxkQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1EaXJlY3RpdmUsXG4gICAgICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgICAgICBMb29rdXBDb21wb25lbnQsXG4gICAgICAgIExvb2t1cEZpZWxkQ29tcG9uZW50LFxuICAgICAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgUm93Q29tcG9uZW50LFxuICAgICAgICBTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgICAgICAgU2xpZGVyRmllbGRDb21wb25lbnQsXG4gICAgICAgIFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gICAgICAgIFRleHRBcmVhSUFGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uRmllbGRDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtEeW5hbWljRm9ybUNvbXBvbmVudCwgTG9va3VwQ29tcG9uZW50XSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICAgICAgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5GaWVsZENvbXBvbmVudCxcbiAgICAgICAgQm9vbGVhblN3aXRjaEZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDYWxlbmRhckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDaGlwc0ZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgRmllbGRzZXRDb21wb25lbnQsXG4gICAgICAgIEZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgICAgIExvb2t1cEZpZWxkQ29tcG9uZW50LFxuICAgICAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgUm93Q29tcG9uZW50LFxuICAgICAgICBTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgICAgICAgU2xpZGVyRmllbGRDb21wb25lbnQsXG4gICAgICAgIFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gICAgICAgIFRleHRBcmVhSUFGaWVsZENvbXBvbmVudCxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBIb3RrZXlzU2VydmljZSxcbiAgICAgICAgSUFzc2lzdFNlcnZpY2UsXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybU1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -21,6 +21,11 @@ export * from "./configurations/form-field";
|
|
|
21
21
|
export * from "./configurations/structure/fieldset";
|
|
22
22
|
export * from "./configurations/structure/section";
|
|
23
23
|
export * from "./configurations/structure/structure";
|
|
24
|
+
export * from "./configurations/fields/button-field";
|
|
25
|
+
export * from './configurations/grid/grid';
|
|
26
|
+
export * from './configurations/grid/row';
|
|
27
|
+
export * from './configurations/grid-type';
|
|
28
|
+
export * from './configurations/structure-type';
|
|
24
29
|
export * from "./dynamic-form.component";
|
|
25
30
|
export * from "./dynamic-form.module";
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9keW5hbWljLWZvcm0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBR3JELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9iYXNlLWZpZWxkLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9sb29rdXAvbG9va3VwLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9sb29rdXAvbW9kZWxzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9ucy9hZGRvbi1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2R5bmFtaWMtY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9ucy9keW5hbWljLXR5cGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9iaWdudW1iZXItZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9ib29sZWFuLWZpZWxkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9ucy9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9jaGlwcy1maWVsZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2N1cnJlbmN5LWZpZWxkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9ucy9maWVsZHMvZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9udW1iZXItZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9wYXNzd29yZC1maWVsZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3JhZGlvLWJ1dHRvbi1maWVsZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3RleHQtYXJlYS1maWVsZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3RleHQtZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2Zvcm0tZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS9maWVsZHNldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnMvc3RydWN0dXJlL3NlY3Rpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS9zdHJ1Y3R1cmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9idXR0b24tZmllbGRcIjtcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbnMvZ3JpZC9ncmlkJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbnMvZ3JpZC9yb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9ucy9ncmlkLXR5cGUnXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS10eXBlJztcbmV4cG9ydCAqIGZyb20gXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2R5bmFtaWMtZm9ybS5tb2R1bGVcIjtcbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { __assign, __awaiter, __decorate, __generator, __param, __read, __spread
|
|
|
2
2
|
import { Component, Inject, Input, Output } from "@angular/core";
|
|
3
3
|
import { TranslateService } from "@ngx-translate/core";
|
|
4
4
|
import { HostProjectConfigsInjectionToken } from "../../../angular-components.module";
|
|
5
|
-
import { ExportUtils } from "../../utils";
|
|
5
|
+
import { ExportUtils, isNullOrUndefined } from "../../utils";
|
|
6
6
|
import BigNumber from "bignumber.js";
|
|
7
7
|
var TablePagingComponent = /** @class */ (function () {
|
|
8
8
|
function TablePagingComponent(translate, hostProjectConfigs) {
|
|
@@ -163,6 +163,8 @@ var TablePagingComponent = /** @class */ (function () {
|
|
|
163
163
|
try {
|
|
164
164
|
for (var attributes_1 = (e_2 = void 0, __values(attributes)), attributes_1_1 = attributes_1.next(); !attributes_1_1.done; attributes_1_1 = attributes_1.next()) {
|
|
165
165
|
var attribute = attributes_1_1.value;
|
|
166
|
+
if (isNullOrUndefined(row[attribute]))
|
|
167
|
+
continue;
|
|
166
168
|
if ((_c = row[attribute].options) === null || _c === void 0 ? void 0 : _c.numberFormatOptions) {
|
|
167
169
|
continue;
|
|
168
170
|
}
|
|
@@ -348,4 +350,4 @@ var TablePagingComponent = /** @class */ (function () {
|
|
|
348
350
|
return TablePagingComponent;
|
|
349
351
|
}());
|
|
350
352
|
export { TablePagingComponent };
|
|
351
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL3RhYmxlLXBhZ2luZy90YWJsZS1wYWdpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RCxPQUFPLEVBQXNCLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFjckM7SUErQkksOEJBQ3FCLFNBQTJCLEVBQ2Usa0JBQXNDO1FBRGhGLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2UsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQXRCOUYsZUFBVSxHQUFHLElBQUksQ0FBQztRQUdsQixnQ0FBMkIsR0FBRyxJQUFJLENBQUM7SUFvQnRDLENBQUM7SUFFTCwwQ0FBVyxHQUFYLFVBQVksT0FBc0I7O1FBQzlCLFVBQUksT0FBTyxDQUFDLFlBQVksMENBQUUsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsa0JBQWUsRUFBRTtnQkFDeEYsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWTthQUMzQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTyxpREFBa0IsR0FBMUI7UUFDSSxPQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLFNBQUksSUFBSSxDQUFDLGtC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QUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQzs7Ozs7S0FDckY7O2dCQWhWK0IsZ0JBQWdCO2dEQUMzQyxNQUFNLFNBQUMsZ0NBQWdDOztJQS9CNUM7UUFEQyxLQUFLLEVBQUU7OERBQ3FCO0lBRzdCO1FBREMsS0FBSyxFQUFFO2dFQUN1QjtJQUcvQjtRQURDLEtBQUssRUFBRTt1REFDYTtJQUdyQjtRQURDLEtBQUssRUFBRTs0REFDaUI7SUFHekI7UUFEQyxLQUFLLEVBQUU7NkVBQ2tDO0lBRzFDO1FBREMsS0FBSyxFQUFFOytEQUM4QjtJQUd0QztRQURDLEtBQUssRUFBRTtnRUFDcUM7SUFHN0M7UUFEQyxLQUFLLEVBQUU7d0VBQ29DO0lBRzVDO1FBREMsS0FBSyxFQUFFO3FFQUNpQztJQUd6QztRQURDLE1BQU0sRUFBRTtrRUFDdUI7SUE3QnZCLG9CQUFvQjtRQUxoQyxTQUFTLENBQUM7WUFDUCw4YkFBNEM7WUFFNUMsUUFBUSxFQUFFLGdCQUFnQjs7U0FDN0IsQ0FBQztRQWtDTyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO09BakNwQyxvQkFBb0IsQ0FpWGhDO0lBQUQsMkJBQUM7Q0FBQSxBQWpYRCxJQWlYQztTQWpYWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gXCIuLi90YWJsZS1jb2x1bW4vbW9kZWxzL2NvbHVtbi5pbnRlcmZhY2VcIjtcblxuaW1wb3J0IHsgSG9zdFByb2plY3RDb25maWdzLCBIb3N0UHJvamVjdENvbmZpZ3NJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCIuLi8uLi8uLi9hbmd1bGFyLWNvbXBvbmVudHMubW9kdWxlXCI7XG5pbXBvcnQgeyBFeHBvcnRVdGlscyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IHsgQ3VzdG9tQWN0aW9uIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gXCJiaWdudW1iZXIuanNcIjtcblxudHlwZSBSb3dWYWx1ZUZvcm1hdE9wdGlvbiA9IHtcbiAgICB2YWx1ZT86IG51bWJlcjtcbiAgICBvcHRpb25zPzoge1xuICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zO1xuICAgIH07XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGFibGUtcGFnaW5nLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RhYmxlLXBhZ2luZy5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBzZWxlY3RvcjogXCJzLXRhYmxlLXBhZ2luZ1wiLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2luZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzITogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXhwb3J0RmlsZU5hbWU/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YWJsZSE6IFRhYmxlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXhwb3J0YWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbmFibGVFeHBvcnRTZWxlY3RlZFJlY29yZHMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VzdG9tQWN0aW9ucz86IEN1c3RvbUFjdGlvbltdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9hZEFsbFJlY29yZHM/OiAoKSA9PiBQcm9taXNlPGFueVtdPjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvYWRDdXJyZW50UGFnZVJlY29yZHM/OiAoKSA9PiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvYWRTZWxlY3RlZFJlY29yZHM/OiAoKSA9PiBhbnlbXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0b3RhbFJlY29yZHNUZXh0OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSG9zdFByb2plY3RDb25maWdzSW5qZWN0aW9uVG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgaG9zdFByb2plY3RDb25maWdzOiBIb3N0UHJvamVjdENvbmZpZ3NcbiAgICApIHsgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy50b3RhbFJlY29yZHM/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHNUZXh0ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLmdldFRyYW5zbGF0ZVByZWZpeCgpfXRvdGFsX3JlY29yZHNgLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGNoYW5nZXMudG90YWxSZWNvcmRzLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUcmFuc2xhdGVQcmVmaXgoKSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmhvc3RQcm9qZWN0Q29uZmlncy5kb21haW59LiR7dGhpcy5ob3N0UHJvamVjdENvbmZpZ3Muc2VydmljZX0uYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VG9vbHRpcFRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X3RvX2NzdmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3Rpb25zKCk6IE1lbnVJdGVtW10ge1xuICAgICAgICBjb25zdCBhY3Rpb25zOiBNZW51SXRlbVtdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcImV4cG9ydEN1cnJlbnRQYWdlXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfY3VycmVudF9wYWdlYCksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5leHBvcnRDdXJyZW50UGFnZSgpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAodGhpcy5lbmFibGVFeHBvcnRTZWxlY3RlZFJlY29yZHMpIHtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZXhwb3J0U2VsZWN0ZWRcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLmdldFRyYW5zbGF0ZVByZWZpeCgpfWV4cG9ydF9zZWxlY3RlZF9yZWNvcmRzYCksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5leHBvcnRTZWxlY3RlZFJlY29yZHMoKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9hZEFsbFJlY29yZHMpIHtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZXhwb3J0QWxsXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfYWxsX3JlY29yZHNgKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmV4cG9ydEFsbFJlY29yZHMoKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tQWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21NZW51cyA9IHRoaXMuY3VzdG9tQWN0aW9ucy5tYXAoKHAsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBcImN1c3RvbUFjdGlvbl9cIiArIGluZGV4LFxuICAgICAgICAgICAgICAgIGxhYmVsOiBwLmxhYmVsLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHAuY29tbWFuZCxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaCguLi5jdXN0b21NZW51cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWN0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQ29tcG9uZW50KCkge1xuICAgICAgICBpZiAoIXRoaXMudGFibGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRhYmxlIGNvbXBvbmVudCBub3QgZGVmaW5lZFwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb2x1bW5zVG9FeHBvcnQoKSB7XG4gICAgICAgIHJldHVybiBbLi4udGhpcy50YWJsZS5jb2x1bW5zXS5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhwb3J0Q29sdW1uID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbHVtbixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IGNvbHVtbi5oZWFkZXIsXG4gICAgICAgICAgICAgICAgZXhwb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmZpZWxkLFxuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogY29sdW1uLnNlcGFyYXRvciA/PyBcIiAtIFwiLFxuICAgICAgICAgICAgICAgIGVudW1QcmVmaXg6IGNvbHVtbi5lbnVtUHJlZml4LFxuICAgICAgICAgICAgICAgIGN1c3RvbUV4cG9ydDogY29sdW1uLmN1c3RvbUV4cG9ydCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChjb2x1bW4uZXhwb3J0YWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZXhwb3J0YWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY29sdW1uLmF0dHJpYnV0ZXMgJiYgY29sdW1uLmF0dHJpYnV0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbi5hdHRyaWJ1dGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZmllbGQgPSBjb2x1bW4uYXR0cmlidXRlc1swXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBleHBvcnRDb2x1bW4uZmllbGQgPSBjb2x1bW4uYXR0cmlidXRlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBleHBvcnRDb2x1bW47XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFBhZ2VSb3dzVG9FeHBvcnQoY29sdW1uczogYW55W10pIHtcbiAgICAgICAgbGV0IHRhYmxlRGF0YSA9IHRoaXMudGFibGUudmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmxvYWRDdXJyZW50UGFnZVJlY29yZHMpIHtcbiAgICAgICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubG9hZEN1cnJlbnRQYWdlUmVjb3JkcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFibGVEYXRhID0gdGhpcy5tYXBDdXN0b21FeHBvcnQoY29sdW1ucywgdGFibGVEYXRhKTtcblxuICAgICAgICB0YWJsZURhdGEgPSB0aGlzLm1hcE51bWJlckZvcm1hdE9wdGlvbnNFeHBvcnQoY29sdW1ucywgdGFibGVEYXRhKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnMsIHRhYmxlRGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZFJvd3NUb0V4cG9ydChjb2x1bW5zOiBhbnlbXSkge1xuICAgICAgICBsZXQgdGFibGVEYXRhID0gdGhpcy50YWJsZS5zZWxlY3Rpb247XG4gICAgICAgIGlmICh0aGlzLmxvYWRTZWxlY3RlZFJlY29yZHMpIHtcbiAgICAgICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubG9hZFNlbGVjdGVkUmVjb3JkcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFibGVEYXRhID0gdGhpcy5tYXBDdXN0b21FeHBvcnQoY29sdW1ucywgdGFibGVEYXRhKTtcblxuICAgICAgICB0YWJsZURhdGEgPSB0aGlzLm1hcE51bWJlckZvcm1hdE9wdGlvbnNFeHBvcnQoY29sdW1ucywgdGFibGVEYXRhKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnMsIHRhYmxlRGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9wZXJ0eVZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFByb3BlcnR5VmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLnJlY3Vyc2lvblNldFZhbHVlKG9iaiwgcGF0aC5zcGxpdChcIi5cIiksIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY3Vyc2lvblNldFZhbHVlKG9iajogYW55LCBrZXlzTGlzdDogc3RyaW5nW10sIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBrZXkgPSBrZXlzTGlzdFswXTtcbiAgICAgICAgaWYgKGtleXNMaXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgIH1cbiAgICAgICAgb2JqW2tleV0gPSB0aGlzLnJlY3Vyc2lvblNldFZhbHVlKG9iaj8uW2tleV0gfHwge30sIGtleXNMaXN0LnNsaWNlKDEpLCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcENvbHVtbnNUcmFuc2xhdGlvbnMoY29sdW1uczogYW55W10sIHJvd3M6IGFueVtdKSB7XG4gICAgICAgIGNvbnN0IGVudW1Db2x1bW5zID0gY29sdW1ucy5maWx0ZXIoKHApID0+IHAuZW51bVByZWZpeCk7XG4gICAgICAgIGlmICghZW51bUNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gcm93cztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbLi4ucm93c10ubWFwKChyb3cpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdyA9IHsgLi4ucm93IH07XG4gICAgICAgICAgICBlbnVtQ29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHMgPSAhQXJyYXkuaXNBcnJheShjb2x1bW4uZmllbGQpID8gW2NvbHVtbi5maWVsZF0gOiBjb2x1bW4uZmllbGQ7XG4gICAgICAgICAgICAgICAgZmllbGRzLmZvckVhY2goKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbkRhdGEgPSB0aGlzLmdldFByb3BlcnR5VmFsdWUocm93LCBmaWVsZE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uRGF0YSA9PT0gbnVsbCB8fCBjb2x1bW5EYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy50cmFuc2xhdGVWYWx1ZShjb2x1bW4sIGNvbHVtbkRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFByb3BlcnR5VmFsdWUobmV3Um93LCBmaWVsZE5hbWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3Um93O1xuICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgbWV0aG9kIGlzIHRvIG1hcCB2YWx1ZXNcbiAgICAgKiBmcm9tIHRoZSBUYWJsZUNvbHVtbnNDb21wb25lbnQsIHdoaWNoIHVzZXMgdGhlIG51bWJlckZvcm1hdE9wdGlvbnNcbiAgICAgKiBmaWVsZCwgYWxvbmcgd2l0aCByb3dzIHRoYXQgaGF2ZSBhIGN1c3RvbSBudW1iZXJGb3JtYXRPcHRpb25zLFxuICAgICAqIHRvIGVuc3VyZSB0aGUgY29ycmVjdCB2YWx1ZXMgYXJlIGV4cG9ydGVkIGJ5IHRoZSBUYWJsZVBhZ2luZ0NvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFJldHVybnMgdGhlIGNvcnJlY3RseSBtYXBwZWQgdGFibGVEYXRhLlxuICAgICAqL1xuICAgIHB1YmxpYyBtYXBOdW1iZXJGb3JtYXRPcHRpb25zRXhwb3J0KFxuICAgICAgICBjb2x1bW5zOiBQYXJ0aWFsPENvbHVtbj5bXSxcbiAgICAgICAgdGFibGVEYXRhOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOlxuICAgICAgICAgICAgfCBSb3dWYWx1ZUZvcm1hdE9wdGlvblxuICAgICAgICAgICAgfCBudW1iZXJcbiAgICAgICAgICAgIHwgc3RyaW5nO1xuICAgICAgICB9W11cbiAgICApIHtcbiAgICAgICAgY29uc3QgaGFzTnVtYmVyRm9ybWF0T3B0aW9uc0NvbHVtbnMgPSBjb2x1bW5zLnNvbWUoKGNvbHVtbikgPT4gY29sdW1uLm51bWJlckZvcm1hdE9wdGlvbnMpO1xuICAgICAgICBjb25zdCBoYXNOdW1iZXJGb3JtYXRPcHRpb25zUm93cyA9IHRhYmxlRGF0YS5zb21lKChyb3dEYXRhKSA9PiBPYmplY3Qua2V5cyhyb3dEYXRhKS5zb21lKChrZXkpID0+IChyb3dEYXRhW2tleV0gYXMgUm93VmFsdWVGb3JtYXRPcHRpb24pPy5vcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zKSk7XG5cbiAgICAgICAgaWYgKCFoYXNOdW1iZXJGb3JtYXRPcHRpb25zQ29sdW1ucyAmJiAhaGFzTnVtYmVyRm9ybWF0T3B0aW9uc1Jvd3MpIHJldHVybiB0YWJsZURhdGE7XG5cbiAgICAgICAgbGV0IG1hcHBlZFRhYmxlRGF0YSA9IFsuLi50YWJsZURhdGFdO1xuXG4gICAgICAgIGlmIChoYXNOdW1iZXJGb3JtYXRPcHRpb25zQ29sdW1ucykge1xuICAgICAgICAgICAgbWFwcGVkVGFibGVEYXRhID0gbWFwcGVkVGFibGVEYXRhLm1hcCgocm93RGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IHsgLi4ucm93RGF0YSB9O1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uc1dpdGhOdW1iZXJGb3JtYXRPcHRpb25zID0gY29sdW1ucy5maWx0ZXIoKGNvbHVtbikgPT4gY29sdW1uLm51bWJlckZvcm1hdE9wdGlvbnMpO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB7IGF0dHJpYnV0ZXMsIG51bWJlckZvcm1hdE9wdGlvbnMgfSBvZiBjb2x1bW5zV2l0aE51bWJlckZvcm1hdE9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChyb3dbYXR0cmlidXRlXSBhcyBSb3dWYWx1ZUZvcm1hdE9wdGlvbikub3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHJvd1thdHRyaWJ1dGVdIGFzIHN0cmluZyB8IG51bWJlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwcGVkVmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlckZvcm1hdE9wdGlvbnMuc3R5bGUgPT09IFwicGVyY2VudFwiID8gbmV3IEJpZ051bWJlcih2YWx1ZSkudGltZXMoMTAwKSA6IG5ldyBCaWdOdW1iZXIodmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBudW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoXCJlbi1VU1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogXCJkZWNpbWFsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nTW9kZTogXCJ0cnVuY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIGFueSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd1thdHRyaWJ1dGVdID0gbnVtYmVyRm9ybWF0LmZvcm1hdChtYXBwZWRWYWx1ZS50b051bWJlcigpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByb3c7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNOdW1iZXJGb3JtYXRPcHRpb25zUm93cykge1xuICAgICAgICAgICAgbWFwcGVkVGFibGVEYXRhID0gdGFibGVEYXRhLm1hcCgocm93RGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IHsgLi4ucm93RGF0YSB9O1xuXG4gICAgICAgICAgICAgICAgY29uc3Qga2V5c1dpdGhOdW1iZXJGb3JtYXRPcHRpb25zID0gT2JqZWN0LmtleXMocm93KVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChrZXkpID0+IChyb3dba2V5XSBhcyBSb3dWYWx1ZUZvcm1hdE9wdGlvbik/Lm9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXNXaXRoTnVtYmVyRm9ybWF0T3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IChyb3dEYXRhW2tleV0gYXMgUm93VmFsdWVGb3JtYXRPcHRpb24pLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG51bWJlckZvcm1hdE9wdGlvbnMgPSAocm93RGF0YVtrZXldIGFzIFJvd1ZhbHVlRm9ybWF0T3B0aW9uKS5vcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwcGVkVmFsdWUgPSBudW1iZXJGb3JtYXRPcHRpb25zLnN0eWxlID09PSBcInBlcmNlbnRcIiA/IG5ldyBCaWdOdW1iZXIodmFsdWUpLnRpbWVzKDEwMCkgOiBuZXcgQmlnTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBudW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoXCJlbi1VU1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5udW1iZXJGb3JtYXRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IFwiZGVjaW1hbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91bmRpbmdNb2RlOiBcInRydW5jXCJcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICAgICAgICAgICAgICAgIChyb3dba2V5XSBhcyBzdHJpbmcgfCBudW1iZXIpID0gbnVtYmVyRm9ybWF0LmZvcm1hdChtYXBwZWRWYWx1ZS50b051bWJlcigpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcm93O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWFwcGVkVGFibGVEYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXBDdXN0b21FeHBvcnQoY29sdW1uczogYW55W10sIHJvd3M6IGFueVtdKSB7XG4gICAgICAgIGNvbnN0IGN1c3RvbUNvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcigocCkgPT4gcC5jdXN0b21FeHBvcnQpO1xuICAgICAgICBpZiAoIWN1c3RvbUNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gcm93cztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbLi4ucm93c10ubWFwKChyb3cpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdyA9IHsgLi4ucm93IH07XG4gICAgICAgICAgICBjdXN0b21Db2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9ICFBcnJheS5pc0FycmF5KGNvbHVtbi5maWVsZCkgPyBbY29sdW1uLmZpZWxkXSA6IGNvbHVtbi5maWVsZDtcbiAgICAgICAgICAgICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uRGF0YSA9IHRoaXMuZ2V0UHJvcGVydHlWYWx1ZShyb3csIGZpZWxkTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW5EYXRhID09PSBudWxsIHx8IGNvbHVtbkRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29sdW1uLmN1c3RvbUV4cG9ydChjb2x1bW5EYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQcm9wZXJ0eVZhbHVlKG5ld1JvdywgZmllbGROYW1lLCBuZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ld1JvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVWYWx1ZShjb2x1bW46IGFueSwgY29sdW1uRGF0YTogYW55KSB7XG4gICAgICAgIC8vIERlZmF1bHQgdXNhZ2U6IEVOVU1fVkFMVUUgLT4gZG9tYWluLnNlcnZpY2UuZW51bV92YWx1ZVxuICAgICAgICBjb25zdCBlbnVtVmFsdWUgPSBjb2x1bW5EYXRhLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgbGV0IHRyYW5zbGF0aW9uS2V5ID0gY29sdW1uLmVudW1QcmVmaXggKyBlbnVtVmFsdWU7XG4gICAgICAgIGxldCB0cmFuc2xhdGVkVmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcblxuICAgICAgICAvLyBDdXN0b20gdXNhZ2UgMTogVjkgLT4gZG9tYWluLnNlcnZpY2Uudl85XG4gICAgICAgIGlmICh0cmFuc2xhdGlvbktleSA9PT0gdHJhbnNsYXRlZFZhbHVlICYmIGVudW1WYWx1ZS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0cmFuc2xhdGlvbktleSA9IGAke2NvbHVtbi5lbnVtUHJlZml4fSR7ZW51bVZhbHVlLnN1YnN0cmluZygwLCAxKX1fJHtlbnVtVmFsdWUuc3Vic3RyKDEpfWA7XG4gICAgICAgICAgICB0cmFuc2xhdGVkVmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEN1c3RvbSB1c2FnZSAyOiBFbnVtVmFsdWUgLT4gZG9tYWluLnNlcnZpY2UuZW51bV92YWx1ZVxuICAgICAgICBpZiAodHJhbnNsYXRpb25LZXkgPT09IHRyYW5zbGF0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgZW51bUtleSA9IHRoaXMuY29udmVydFRvU25ha2VDYXNlKGNvbHVtbkRhdGEudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB0cmFuc2xhdGlvbktleSA9IGAke2NvbHVtbi5lbnVtUHJlZml4fSR7ZW51bUtleX1gO1xuICAgICAgICAgICAgdHJhbnNsYXRlZFZhbHVlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlZFZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udmVydFRvU25ha2VDYXNlKHN0cjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFtBLVpdKS9nLCAobWF0Y2gsIGdyb3VwKSA9PiBgXyR7Z3JvdXAudG9Mb3dlckNhc2UoKX1gKS5yZXBsYWNlKC9eXy8sIFwiXCIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RXhwb3J0RmlsZU5hbWUoKSB7XG4gICAgICAgIGNvbnN0IGxhbmcgPSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyA/PyBcInB0LUJSXCI7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy5leHBvcnRGaWxlTmFtZSA/PyBcImRvd25sb2FkXCI7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhsYW5nKS5yZXBsYWNlKFwiX1wiLCBcIi1cIik7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFRpbWUgPSBkYXRlLnRvTG9jYWxlVGltZVN0cmluZyhsYW5nKS5yZXBsYWNlKFwiIFwiLCBcIi1cIik7XG5cbiAgICAgICAgcmV0dXJuIGAke2ZpbGVOYW1lfV8ke2Zvcm1hdHRlZERhdGV9XyR7Zm9ybWF0dGVkVGltZX1gO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBvcnRDdXJyZW50UGFnZSgpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbXBvbmVudCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5zVG9FeHBvcnQoKTtcbiAgICAgICAgY29uc3QgZGF0YVRvRXhwb3J0ID0gdGhpcy5nZXRDdXJyZW50UGFnZVJvd3NUb0V4cG9ydChjb2x1bW5zKTtcbiAgICAgICAgRXhwb3J0VXRpbHMuZXhwb3J0Q1NWKGNvbHVtbnMsIGRhdGFUb0V4cG9ydCwgdW5kZWZpbmVkLCB0aGlzLmdldEV4cG9ydEZpbGVOYW1lKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBvcnRTZWxlY3RlZFJlY29yZHMoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVDb21wb25lbnQoKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZ2V0Q29sdW1uc1RvRXhwb3J0KCk7XG4gICAgICAgIGNvbnN0IGRhdGFUb0V4cG9ydCA9IHRoaXMuZ2V0U2VsZWN0ZWRSb3dzVG9FeHBvcnQoY29sdW1ucyk7XG4gICAgICAgIEV4cG9ydFV0aWxzLmV4cG9ydENTVihjb2x1bW5zLCBkYXRhVG9FeHBvcnQsIHVuZGVmaW5lZCwgdGhpcy5nZXRFeHBvcnRGaWxlTmFtZSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZXhwb3J0QWxsUmVjb3JkcygpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbXBvbmVudCgpO1xuXG4gICAgICAgIGxldCBzZXJ2ZXJEYXRhID0gYXdhaXQgdGhpcy5sb2FkQWxsUmVjb3JkcygpO1xuXG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdldENvbHVtbnNUb0V4cG9ydCgpO1xuXG4gICAgICAgIHNlcnZlckRhdGEgPSB0aGlzLm1hcEN1c3RvbUV4cG9ydChjb2x1bW5zLCBzZXJ2ZXJEYXRhKTtcblxuICAgICAgICBzZXJ2ZXJEYXRhID0gdGhpcy5tYXBOdW1iZXJGb3JtYXRPcHRpb25zRXhwb3J0KGNvbHVtbnMsIHNlcnZlckRhdGEpO1xuXG4gICAgICAgIGNvbnN0IGRhdGFUb0V4cG9ydCA9IHRoaXMubWFwQ29sdW1uc1RyYW5zbGF0aW9ucyhjb2x1bW5zLCBzZXJ2ZXJEYXRhKTtcblxuICAgICAgICBFeHBvcnRVdGlscy5leHBvcnRDU1YoY29sdW1ucywgZGF0YVRvRXhwb3J0LCB1bmRlZmluZWQsIHRoaXMuZ2V0RXhwb3J0RmlsZU5hbWUoKSk7XG4gICAgfVxufVxuIl19
|
|
353
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL3RhYmxlLXBhZ2luZy90YWJsZS1wYWdpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RCxPQUFPLEVBQXNCLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3RCxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFjckM7SUErQkksOEJBQ3FCLFNBQTJCLEVBQ2Usa0JBQXNDO1FBRGhGLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2UsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQXRCOUYsZUFBVSxHQUFHLElBQUksQ0FBQztRQUdsQixnQ0FBMkIsR0FBRyxJQUFJLENBQUM7SUFvQnRDLENBQUM7SUFFTCwwQ0FBVyxHQUFYLFVBQVksT0FBc0I7O1FBQzlCLFVBQUksT0FBTyxDQUFDLFlBQVksMENBQUUsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsa0JBQWUsRUFBRTtnQkFDeEYsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWTthQUMzQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTyxpREFBa0IsR0FBMUI7UUFDSSxPQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLFNBQUks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QUFDLENBQUM7d0JBRXRFLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQzs7Ozs7S0FDckY7O2dCQXBWK0IsZ0JBQWdCO2dEQUMzQyxNQUFNLFNBQUMsZ0NBQWdDOztJQS9CNUM7UUFEQyxLQUFLLEVBQUU7OERBQ3FCO0lBRzdCO1FBREMsS0FBSyxFQUFFO2dFQUN1QjtJQUcvQjtRQURDLEtBQUssRUFBRTt1REFDYTtJQUdyQjtRQURDLEtBQUssRUFBRTs0REFDaUI7SUFHekI7UUFEQyxLQUFLLEVBQUU7NkVBQ2tDO0lBRzFDO1FBREMsS0FBSyxFQUFFOytEQUM4QjtJQUd0QztRQURDLEtBQUssRUFBRTtnRUFDcUM7SUFHN0M7UUFEQyxLQUFLLEVBQUU7d0VBQ29DO0lBRzVDO1FBREMsS0FBSyxFQUFFO3FFQUNpQztJQUd6QztRQURDLE1BQU0sRUFBRTtrRUFDdUI7SUE3QnZCLG9CQUFvQjtRQUxoQyxTQUFTLENBQUM7WUFDUCw4YkFBNEM7WUFFNUMsUUFBUSxFQUFFLGdCQUFnQjs7U0FDN0IsQ0FBQztRQWtDTyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO09BakNwQyxvQkFBb0IsQ0FxWGhDO0lBQUQsMkJBQUM7Q0FBQSxBQXJYRCxJQXFYQztTQXJYWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gXCIuLi90YWJsZS1jb2x1bW4vbW9kZWxzL2NvbHVtbi5pbnRlcmZhY2VcIjtcblxuaW1wb3J0IHsgSG9zdFByb2plY3RDb25maWdzLCBIb3N0UHJvamVjdENvbmZpZ3NJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCIuLi8uLi8uLi9hbmd1bGFyLWNvbXBvbmVudHMubW9kdWxlXCI7XG5pbXBvcnQgeyBFeHBvcnRVdGlscywgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IEN1c3RvbUFjdGlvbiB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tIFwiYmlnbnVtYmVyLmpzXCI7XG5cbnR5cGUgUm93VmFsdWVGb3JtYXRPcHRpb24gPSB7XG4gICAgdmFsdWU/OiBudW1iZXI7XG4gICAgb3B0aW9ucz86IHtcbiAgICAgICAgbnVtYmVyRm9ybWF0T3B0aW9ucz86IEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucztcbiAgICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlLXBhZ2luZy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi90YWJsZS1wYWdpbmcuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgc2VsZWN0b3I6IFwicy10YWJsZS1wYWdpbmdcIixcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVQYWdpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRvdGFsUmVjb3JkcyE6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGV4cG9ydEZpbGVOYW1lPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGFibGUhOiBUYWJsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGV4cG9ydGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW5hYmxlRXhwb3J0U2VsZWN0ZWRSZWNvcmRzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1c3RvbUFjdGlvbnM/OiBDdXN0b21BY3Rpb25bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvYWRBbGxSZWNvcmRzPzogKCkgPT4gUHJvbWlzZTxhbnlbXT47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb2FkQ3VycmVudFBhZ2VSZWNvcmRzPzogKCkgPT4gYW55W107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb2FkU2VsZWN0ZWRSZWNvcmRzPzogKCkgPT4gYW55W107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzVGV4dDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEhvc3RQcm9qZWN0Q29uZmlnc0luamVjdGlvblRva2VuKSBwcml2YXRlIHJlYWRvbmx5IGhvc3RQcm9qZWN0Q29uZmlnczogSG9zdFByb2plY3RDb25maWdzXG4gICAgKSB7IH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMudG90YWxSZWNvcmRzPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzVGV4dCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX10b3RhbF9yZWNvcmRzYCwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBjaGFuZ2VzLnRvdGFsUmVjb3Jkcy5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHJhbnNsYXRlUHJlZml4KCkge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5ob3N0UHJvamVjdENvbmZpZ3MuZG9tYWlufS4ke3RoaXMuaG9zdFByb2plY3RDb25maWdzLnNlcnZpY2V9LmA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRvb2x0aXBUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLmdldFRyYW5zbGF0ZVByZWZpeCgpfWV4cG9ydF90b19jc3ZgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aW9ucygpOiBNZW51SXRlbVtdIHtcbiAgICAgICAgY29uc3QgYWN0aW9uczogTWVudUl0ZW1bXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJleHBvcnRDdXJyZW50UGFnZVwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X2N1cnJlbnRfcGFnZWApLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuZXhwb3J0Q3VycmVudFBhZ2UoKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlRXhwb3J0U2VsZWN0ZWRSZWNvcmRzKSB7XG4gICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBcImV4cG9ydFNlbGVjdGVkXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5nZXRUcmFuc2xhdGVQcmVmaXgoKX1leHBvcnRfc2VsZWN0ZWRfcmVjb3Jkc2ApLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuZXhwb3J0U2VsZWN0ZWRSZWNvcmRzKCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxvYWRBbGxSZWNvcmRzKSB7XG4gICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBcImV4cG9ydEFsbFwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMuZ2V0VHJhbnNsYXRlUHJlZml4KCl9ZXhwb3J0X2FsbF9yZWNvcmRzYCksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5leHBvcnRBbGxSZWNvcmRzKCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmN1c3RvbUFjdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tTWVudXMgPSB0aGlzLmN1c3RvbUFjdGlvbnMubWFwKChwLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgICBpZDogXCJjdXN0b21BY3Rpb25fXCIgKyBpbmRleCxcbiAgICAgICAgICAgICAgICBsYWJlbDogcC5sYWJlbCxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiBwLmNvbW1hbmQsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBhY3Rpb25zLnB1c2goLi4uY3VzdG9tTWVudXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUNvbXBvbmVudCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUYWJsZSBjb21wb25lbnQgbm90IGRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29sdW1uc1RvRXhwb3J0KCkge1xuICAgICAgICByZXR1cm4gWy4uLnRoaXMudGFibGUuY29sdW1uc10ubWFwKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV4cG9ydENvbHVtbiA9IHtcbiAgICAgICAgICAgICAgICAuLi5jb2x1bW4sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiBjb2x1bW4uaGVhZGVyLFxuICAgICAgICAgICAgICAgIGV4cG9ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6IGNvbHVtbi5zZXBhcmF0b3IgPz8gXCIgLSBcIixcbiAgICAgICAgICAgICAgICBlbnVtUHJlZml4OiBjb2x1bW4uZW51bVByZWZpeCxcbiAgICAgICAgICAgICAgICBjdXN0b21FeHBvcnQ6IGNvbHVtbi5jdXN0b21FeHBvcnQsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAoY29sdW1uLmV4cG9ydGFibGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgZXhwb3J0Q29sdW1uLmV4cG9ydGFibGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNvbHVtbi5hdHRyaWJ1dGVzICYmIGNvbHVtbi5hdHRyaWJ1dGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uYXR0cmlidXRlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgZXhwb3J0Q29sdW1uLmZpZWxkID0gY29sdW1uLmF0dHJpYnV0ZXNbMF07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZXhwb3J0Q29sdW1uLmZpZWxkID0gY29sdW1uLmF0dHJpYnV0ZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZXhwb3J0Q29sdW1uO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbnRQYWdlUm93c1RvRXhwb3J0KGNvbHVtbnM6IGFueVtdKSB7XG4gICAgICAgIGxldCB0YWJsZURhdGEgPSB0aGlzLnRhYmxlLnZhbHVlO1xuICAgICAgICBpZiAodGhpcy5sb2FkQ3VycmVudFBhZ2VSZWNvcmRzKSB7XG4gICAgICAgICAgICB0YWJsZURhdGEgPSB0aGlzLmxvYWRDdXJyZW50UGFnZVJlY29yZHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubWFwQ3VzdG9tRXhwb3J0KGNvbHVtbnMsIHRhYmxlRGF0YSk7XG5cbiAgICAgICAgdGFibGVEYXRhID0gdGhpcy5tYXBOdW1iZXJGb3JtYXRPcHRpb25zRXhwb3J0KGNvbHVtbnMsIHRhYmxlRGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWFwQ29sdW1uc1RyYW5zbGF0aW9ucyhjb2x1bW5zLCB0YWJsZURhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRSb3dzVG9FeHBvcnQoY29sdW1uczogYW55W10pIHtcbiAgICAgICAgbGV0IHRhYmxlRGF0YSA9IHRoaXMudGFibGUuc2VsZWN0aW9uO1xuICAgICAgICBpZiAodGhpcy5sb2FkU2VsZWN0ZWRSZWNvcmRzKSB7XG4gICAgICAgICAgICB0YWJsZURhdGEgPSB0aGlzLmxvYWRTZWxlY3RlZFJlY29yZHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlRGF0YSA9IHRoaXMubWFwQ3VzdG9tRXhwb3J0KGNvbHVtbnMsIHRhYmxlRGF0YSk7XG5cbiAgICAgICAgdGFibGVEYXRhID0gdGhpcy5tYXBOdW1iZXJGb3JtYXRPcHRpb25zRXhwb3J0KGNvbHVtbnMsIHRhYmxlRGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWFwQ29sdW1uc1RyYW5zbGF0aW9ucyhjb2x1bW5zLCB0YWJsZURhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvcGVydHlWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdDogYW55LCBwcm9wOiBhbnkpID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQcm9wZXJ0eVZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5yZWN1cnNpb25TZXRWYWx1ZShvYmosIHBhdGguc3BsaXQoXCIuXCIpLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWN1cnNpb25TZXRWYWx1ZShvYmo6IGFueSwga2V5c0xpc3Q6IHN0cmluZ1tdLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3Qga2V5ID0ga2V5c0xpc3RbMF07XG4gICAgICAgIGlmIChrZXlzTGlzdC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIG9ialtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICB9XG4gICAgICAgIG9ialtrZXldID0gdGhpcy5yZWN1cnNpb25TZXRWYWx1ZShvYmo/LltrZXldIHx8IHt9LCBrZXlzTGlzdC5zbGljZSgxKSwgdmFsdWUpO1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnM6IGFueVtdLCByb3dzOiBhbnlbXSkge1xuICAgICAgICBjb25zdCBlbnVtQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKChwKSA9PiBwLmVudW1QcmVmaXgpO1xuICAgICAgICBpZiAoIWVudW1Db2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gWy4uLnJvd3NdLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdSb3cgPSB7IC4uLnJvdyB9O1xuICAgICAgICAgICAgZW51bUNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzID0gIUFycmF5LmlzQXJyYXkoY29sdW1uLmZpZWxkKSA/IFtjb2x1bW4uZmllbGRdIDogY29sdW1uLmZpZWxkO1xuICAgICAgICAgICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5EYXRhID0gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKHJvdywgZmllbGROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbkRhdGEgPT09IG51bGwgfHwgY29sdW1uRGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudHJhbnNsYXRlVmFsdWUoY29sdW1uLCBjb2x1bW5EYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQcm9wZXJ0eVZhbHVlKG5ld1JvdywgZmllbGROYW1lLCBuZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ld1JvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHVycG9zZSBvZiB0aGlzIG1ldGhvZCBpcyB0byBtYXAgdmFsdWVzXG4gICAgICogZnJvbSB0aGUgVGFibGVDb2x1bW5zQ29tcG9uZW50LCB3aGljaCB1c2VzIHRoZSBudW1iZXJGb3JtYXRPcHRpb25zXG4gICAgICogZmllbGQsIGFsb25nIHdpdGggcm93cyB0aGF0IGhhdmUgYSBjdXN0b20gbnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICAgKiB0byBlbnN1cmUgdGhlIGNvcnJlY3QgdmFsdWVzIGFyZSBleHBvcnRlZCBieSB0aGUgVGFibGVQYWdpbmdDb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIHRoZSBjb3JyZWN0bHkgbWFwcGVkIHRhYmxlRGF0YS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWFwTnVtYmVyRm9ybWF0T3B0aW9uc0V4cG9ydChcbiAgICAgICAgY29sdW1uczogUGFydGlhbDxDb2x1bW4+W10sXG4gICAgICAgIHRhYmxlRGF0YToge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTpcbiAgICAgICAgICAgIHwgUm93VmFsdWVGb3JtYXRPcHRpb25cbiAgICAgICAgICAgIHwgbnVtYmVyXG4gICAgICAgICAgICB8IHN0cmluZ1xuICAgICAgICAgICAgfCBudWxsXG4gICAgICAgICAgICB8IHVuZGVmaW5lZDtcbiAgICAgICAgfVtdXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGhhc051bWJlckZvcm1hdE9wdGlvbnNDb2x1bW5zID0gY29sdW1ucy5zb21lKChjb2x1bW4pID0+IGNvbHVtbi5udW1iZXJGb3JtYXRPcHRpb25zKTtcbiAgICAgICAgY29uc3QgaGFzTnVtYmVyRm9ybWF0T3B0aW9uc1Jvd3MgPSB0YWJsZURhdGEuc29tZSgocm93RGF0YSkgPT4gT2JqZWN0LmtleXMocm93RGF0YSkuc29tZSgoa2V5KSA9PiAocm93RGF0YVtrZXldIGFzIFJvd1ZhbHVlRm9ybWF0T3B0aW9uKT8ub3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucykpO1xuXG4gICAgICAgIGlmICghaGFzTnVtYmVyRm9ybWF0T3B0aW9uc0NvbHVtbnMgJiYgIWhhc051bWJlckZvcm1hdE9wdGlvbnNSb3dzKSByZXR1cm4gdGFibGVEYXRhO1xuXG4gICAgICAgIGxldCBtYXBwZWRUYWJsZURhdGEgPSBbLi4udGFibGVEYXRhXTtcblxuICAgICAgICBpZiAoaGFzTnVtYmVyRm9ybWF0T3B0aW9uc0NvbHVtbnMpIHtcbiAgICAgICAgICAgIG1hcHBlZFRhYmxlRGF0YSA9IG1hcHBlZFRhYmxlRGF0YS5tYXAoKHJvd0RhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3cgPSB7IC4uLnJvd0RhdGEgfTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbnNXaXRoTnVtYmVyRm9ybWF0T3B0aW9ucyA9IGNvbHVtbnMuZmlsdGVyKChjb2x1bW4pID0+IGNvbHVtbi5udW1iZXJGb3JtYXRPcHRpb25zKTtcblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgeyBhdHRyaWJ1dGVzLCBudW1iZXJGb3JtYXRPcHRpb25zIH0gb2YgY29sdW1uc1dpdGhOdW1iZXJGb3JtYXRPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZChyb3dbYXR0cmlidXRlXSkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHJvd1thdHRyaWJ1dGVdIGFzIFJvd1ZhbHVlRm9ybWF0T3B0aW9uKS5vcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcm93W2F0dHJpYnV0ZV0gYXMgc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0T3B0aW9ucy5zdHlsZSA9PT0gXCJwZXJjZW50XCIgPyBuZXcgQmlnTnVtYmVyKHZhbHVlKS50aW1lcygxMDApIDogbmV3IEJpZ051bWJlcih2YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChcImVuLVVTXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5udW1iZXJGb3JtYXRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBcImRlY2ltYWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmRpbmdNb2RlOiBcInRydW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gYXMgYW55KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcm93W2F0dHJpYnV0ZV0gPSBudW1iZXJGb3JtYXQuZm9ybWF0KG1hcHBlZFZhbHVlLnRvTnVtYmVyKCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc051bWJlckZvcm1hdE9wdGlvbnNSb3dzKSB7XG4gICAgICAgICAgICBtYXBwZWRUYWJsZURhdGEgPSB0YWJsZURhdGEubWFwKChyb3dEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm93ID0geyAuLi5yb3dEYXRhIH07XG5cbiAgICAgICAgICAgICAgICBjb25zdCBrZXlzV2l0aE51bWJlckZvcm1hdE9wdGlvbnMgPSBPYmplY3Qua2V5cyhyb3cpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGtleSkgPT4gKHJvd1trZXldIGFzIFJvd1ZhbHVlRm9ybWF0T3B0aW9uKT8ub3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5c1dpdGhOdW1iZXJGb3JtYXRPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHJvd0RhdGFba2V5XSBhcyBSb3dWYWx1ZUZvcm1hdE9wdGlvbikudmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyRm9ybWF0T3B0aW9ucyA9IChyb3dEYXRhW2tleV0gYXMgUm93VmFsdWVGb3JtYXRPcHRpb24pLm9wdGlvbnMubnVtYmVyRm9ybWF0T3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWRWYWx1ZSA9IG51bWJlckZvcm1hdE9wdGlvbnMuc3R5bGUgPT09IFwicGVyY2VudFwiID8gbmV3IEJpZ051bWJlcih2YWx1ZSkudGltZXMoMTAwKSA6IG5ldyBCaWdOdW1iZXIodmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChcImVuLVVTXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogXCJkZWNpbWFsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3VuZGluZ01vZGU6IFwidHJ1bmNcIlxuICAgICAgICAgICAgICAgICAgICB9IGFzIGFueSk7XG5cbiAgICAgICAgICAgICAgICAgICAgKHJvd1trZXldIGFzIHN0cmluZyB8IG51bWJlcikgPSBudW1iZXJGb3JtYXQuZm9ybWF0KG1hcHBlZFZhbHVlLnRvTnVtYmVyKCkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByb3c7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtYXBwZWRUYWJsZURhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcEN1c3RvbUV4cG9ydChjb2x1bW5zOiBhbnlbXSwgcm93czogYW55W10pIHtcbiAgICAgICAgY29uc3QgY3VzdG9tQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKChwKSA9PiBwLmN1c3RvbUV4cG9ydCk7XG4gICAgICAgIGlmICghY3VzdG9tQ29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByb3dzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFsuLi5yb3dzXS5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3Um93ID0geyAuLi5yb3cgfTtcbiAgICAgICAgICAgIGN1c3RvbUNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzID0gIUFycmF5LmlzQXJyYXkoY29sdW1uLmZpZWxkKSA/IFtjb2x1bW4uZmllbGRdIDogY29sdW1uLmZpZWxkO1xuICAgICAgICAgICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5EYXRhID0gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKHJvdywgZmllbGROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbkRhdGEgPT09IG51bGwgfHwgY29sdW1uRGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjb2x1bW4uY3VzdG9tRXhwb3J0KGNvbHVtbkRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFByb3BlcnR5VmFsdWUobmV3Um93LCBmaWVsZE5hbWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3Um93O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zbGF0ZVZhbHVlKGNvbHVtbjogYW55LCBjb2x1bW5EYXRhOiBhbnkpIHtcbiAgICAgICAgLy8gRGVmYXVsdCB1c2FnZTogRU5VTV9WQUxVRSAtPiBkb21haW4uc2VydmljZS5lbnVtX3ZhbHVlXG4gICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IGNvbHVtbkRhdGEudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBsZXQgdHJhbnNsYXRpb25LZXkgPSBjb2x1bW4uZW51bVByZWZpeCArIGVudW1WYWx1ZTtcbiAgICAgICAgbGV0IHRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuXG4gICAgICAgIC8vIEN1c3RvbSB1c2FnZSAxOiBWOSAtPiBkb21haW4uc2VydmljZS52XzlcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9uS2V5ID09PSB0cmFuc2xhdGVkVmFsdWUgJiYgZW51bVZhbHVlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uS2V5ID0gYCR7Y29sdW1uLmVudW1QcmVmaXh9JHtlbnVtVmFsdWUuc3Vic3RyaW5nKDAsIDEpfV8ke2VudW1WYWx1ZS5zdWJzdHIoMSl9YDtcbiAgICAgICAgICAgIHRyYW5zbGF0ZWRWYWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3VzdG9tIHVzYWdlIDI6IEVudW1WYWx1ZSAtPiBkb21haW4uc2VydmljZS5lbnVtX3ZhbHVlXG4gICAgICAgIGlmICh0cmFuc2xhdGlvbktleSA9PT0gdHJhbnNsYXRlZFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBlbnVtS2V5ID0gdGhpcy5jb252ZXJ0VG9TbmFrZUNhc2UoY29sdW1uRGF0YS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uS2V5ID0gYCR7Y29sdW1uLmVudW1QcmVmaXh9JHtlbnVtS2V5fWA7XG4gICAgICAgICAgICB0cmFuc2xhdGVkVmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb252ZXJ0VG9TbmFrZUNhc2Uoc3RyOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oW0EtWl0pL2csIChtYXRjaCwgZ3JvdXApID0+IGBfJHtncm91cC50b0xvd2VyQ2FzZSgpfWApLnJlcGxhY2UoL15fLywgXCJcIik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFeHBvcnRGaWxlTmFtZSgpIHtcbiAgICAgICAgY29uc3QgbGFuZyA9IHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nID8/IFwicHQtQlJcIjtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLmV4cG9ydEZpbGVOYW1lID8/IFwiZG93bmxvYWRcIjtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxhbmcpLnJlcGxhY2UoXCJfXCIsIFwiLVwiKTtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkVGltZSA9IGRhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKGxhbmcpLnJlcGxhY2UoXCIgXCIsIFwiLVwiKTtcblxuICAgICAgICByZXR1cm4gYCR7ZmlsZU5hbWV9XyR7Zm9ybWF0dGVkRGF0ZX1fJHtmb3JtYXR0ZWRUaW1lfWA7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cG9ydEN1cnJlbnRQYWdlKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29tcG9uZW50KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdldENvbHVtbnNUb0V4cG9ydCgpO1xuICAgICAgICBjb25zdCBkYXRhVG9FeHBvcnQgPSB0aGlzLmdldEN1cnJlbnRQYWdlUm93c1RvRXhwb3J0KGNvbHVtbnMpO1xuICAgICAgICBFeHBvcnRVdGlscy5leHBvcnRDU1YoY29sdW1ucywgZGF0YVRvRXhwb3J0LCB1bmRlZmluZWQsIHRoaXMuZ2V0RXhwb3J0RmlsZU5hbWUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cG9ydFNlbGVjdGVkUmVjb3JkcygpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbXBvbmVudCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5zVG9FeHBvcnQoKTtcbiAgICAgICAgY29uc3QgZGF0YVRvRXhwb3J0ID0gdGhpcy5nZXRTZWxlY3RlZFJvd3NUb0V4cG9ydChjb2x1bW5zKTtcbiAgICAgICAgRXhwb3J0VXRpbHMuZXhwb3J0Q1NWKGNvbHVtbnMsIGRhdGFUb0V4cG9ydCwgdW5kZWZpbmVkLCB0aGlzLmdldEV4cG9ydEZpbGVOYW1lKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBleHBvcnRBbGxSZWNvcmRzKCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29tcG9uZW50KCk7XG5cbiAgICAgICAgbGV0IHNlcnZlckRhdGEgPSBhd2FpdCB0aGlzLmxvYWRBbGxSZWNvcmRzKCk7XG5cbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZ2V0Q29sdW1uc1RvRXhwb3J0KCk7XG5cbiAgICAgICAgc2VydmVyRGF0YSA9IHRoaXMubWFwQ3VzdG9tRXhwb3J0KGNvbHVtbnMsIHNlcnZlckRhdGEpO1xuXG4gICAgICAgIHNlcnZlckRhdGEgPSB0aGlzLm1hcE51bWJlckZvcm1hdE9wdGlvbnNFeHBvcnQoY29sdW1ucywgc2VydmVyRGF0YSk7XG5cbiAgICAgICAgY29uc3QgZGF0YVRvRXhwb3J0ID0gdGhpcy5tYXBDb2x1bW5zVHJhbnNsYXRpb25zKGNvbHVtbnMsIHNlcnZlckRhdGEpO1xuXG4gICAgICAgIEV4cG9ydFV0aWxzLmV4cG9ydENTVihjb2x1bW5zLCBkYXRhVG9FeHBvcnQsIHVuZGVmaW5lZCwgdGhpcy5nZXRFeHBvcnRGaWxlTmFtZSgpKTtcbiAgICB9XG59XG4iXX0=
|