@acorex/components 3.0.31 → 3.0.35
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/acorex-components.metadata.json +1 -1
- package/bundles/acorex-components.umd.js +180 -27
- package/bundles/acorex-components.umd.js.map +1 -1
- package/bundles/acorex-components.umd.min.js +1 -1
- package/bundles/acorex-components.umd.min.js.map +1 -1
- package/esm2015/lib/number-box/number-box.component.js +1 -2
- package/esm2015/lib/query-builder/query-builder-group.component.js +14 -5
- package/esm2015/lib/query-builder/query-builder-rule.component.js +7 -3
- package/esm2015/lib/query-builder/query-builder.component.js +10 -5
- package/esm2015/lib/query-builder/query-builder.service.js +84 -4
- package/esm2015/lib/tab-page/tab-page.module.js +2 -3
- package/esm2015/lib/tree-view/tree-view.component.js +40 -15
- package/esm5/lib/number-box/number-box.component.js +1 -2
- package/esm5/lib/query-builder/query-builder-group.component.js +15 -5
- package/esm5/lib/query-builder/query-builder-rule.component.js +7 -3
- package/esm5/lib/query-builder/query-builder.component.js +10 -5
- package/esm5/lib/query-builder/query-builder.service.js +113 -4
- package/esm5/lib/tab-page/tab-page.module.js +2 -3
- package/esm5/lib/tree-view/tree-view.component.js +41 -15
- package/fesm2015/acorex-components.js +150 -28
- package/fesm2015/acorex-components.js.map +1 -1
- package/fesm5/acorex-components.js +181 -28
- package/fesm5/acorex-components.js.map +1 -1
- package/lib/query-builder/query-builder-group.component.d.ts +1 -0
- package/lib/query-builder/query-builder-rule.component.d.ts +1 -0
- package/lib/query-builder/query-builder.component.d.ts +1 -0
- package/lib/query-builder/query-builder.service.d.ts +2 -1
- package/lib/tree-view/tree-view.component.d.ts +3 -1
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
|
|
|
9
9
|
function AXQueryBuilderRuleComponent() {
|
|
10
10
|
var _this = this;
|
|
11
11
|
this.isEditing = true;
|
|
12
|
+
this.mode = 'new';
|
|
12
13
|
this.fields = [];
|
|
13
14
|
this.onRuleDelete = new EventEmitter();
|
|
14
15
|
this.ruleChanged = new EventEmitter();
|
|
@@ -192,7 +193,6 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
|
|
|
192
193
|
};
|
|
193
194
|
AXQueryBuilderRuleComponent.prototype.captionChange = function (e) {
|
|
194
195
|
var _this = this;
|
|
195
|
-
debugger;
|
|
196
196
|
if (e.selectedItems[0]) {
|
|
197
197
|
this.rule.caption = e.selectedItems[0].caption;
|
|
198
198
|
this.rule.dataField = e.selectedItems[0].dataField;
|
|
@@ -340,6 +340,10 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
|
|
|
340
340
|
Input(),
|
|
341
341
|
__metadata("design:type", AXQueryBuilderGroup)
|
|
342
342
|
], AXQueryBuilderRuleComponent.prototype, "parent", void 0);
|
|
343
|
+
__decorate([
|
|
344
|
+
Input(),
|
|
345
|
+
__metadata("design:type", String)
|
|
346
|
+
], AXQueryBuilderRuleComponent.prototype, "mode", void 0);
|
|
343
347
|
__decorate([
|
|
344
348
|
Input(),
|
|
345
349
|
__metadata("design:type", Array)
|
|
@@ -355,7 +359,7 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
|
|
|
355
359
|
AXQueryBuilderRuleComponent = __decorate([
|
|
356
360
|
Component({
|
|
357
361
|
selector: 'ax-query-rule',
|
|
358
|
-
template: "<div class=\"condition\" *ngIf=\"parent\">\r\n <div class=\"text {{parent.condition}}\">\r\n <span>{{parent.condition}}</span>\r\n </div>\r\n</div>\r\n<div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n</div>\r\n\r\n<div class=\"caption\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else fieldsTemplate\">\r\n <ax-form-group>\r\n <ax-select-box (selectionChanged)=\"captionChange($event)\" allowNull=\"false\"\r\n [(selectedItems)]=\"rule.dataFieldItem\" textField=\"caption\" valueField=\"dataField\" [items]=\"fields\"\r\n
|
|
362
|
+
template: "<div class=\"condition\" *ngIf=\"parent\">\r\n <div class=\"text {{parent.condition}}\">\r\n <span>{{parent.condition}}</span>\r\n </div>\r\n</div>\r\n<div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n</div>\r\n\r\n<div class=\"caption\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else fieldsTemplate\">\r\n <ax-form-group>\r\n <ax-select-box [readonly]=\"mode == 'edit'\" (selectionChanged)=\"captionChange($event)\" allowNull=\"false\"\r\n [(selectedItems)]=\"rule.dataFieldItem\" textField=\"caption\" valueField=\"dataField\" [items]=\"fields\"\r\n mode=\"single\">\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #fieldsTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n {{rule.caption}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"operator\" [ngClass]=\"{'editable': isEditing,'radius':!showValue}\">\r\n <ng-container *ngIf=\"isEditing;else operatorTemplate\">\r\n <ax-form-group>\r\n <ax-select-box [readonly]=\"mode == 'edit'\" *ngIf=\"showOperatorSelectBox\" [(selectedValues)]=\"rule.operator\"\r\n #selectBox (selectedItemsChange)=\"operatorChange($event)\" allowNull=\"false\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataOperator\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #operatorTemplate>\r\n <div class=\"text\" (click)=\"handleEditClick()\">\r\n {{('queryBuilder.'+rule.operator) | trans}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div *ngIf=\"showValue\" class=\"value\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else valueTemplate\">\r\n\r\n <div *ngIf=\" rule.control && !isOnDemandLabel\" [ngSwitch]=\"rule.control.type\">\r\n <div *ngSwitchCase=\"'textBox'\">\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\">\r\n </ax-text-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'selectBox'\">\r\n <ax-form-group>\r\n <ax-select-box *ngIf=\"showSelectBox\" [mode]=\"getOption('mode')\"\r\n [remoteOperation]=\"getOption('remoteOperation')\" [valueField]=\"getOption('valueField')\"\r\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" [textField]=\"getOption('textField')\"\r\n [(selectedItems)]=\"rule.valueItem\" (selectedItemsChange)=\"selectedItemsChange($event)\"\r\n #selectBoxValue>\r\n <ax-data-source [provideData]=\"getProvideData\"></ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </div>\r\n\r\n <div *ngSwitchCase=\"'numberBox'\">\r\n <ax-form-group>\r\n <ax-number-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\">\r\n </ax-number-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'datePicker'\">\r\n\r\n\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n\r\n <ax-form-group>\r\n <ax-select-box #selectBoxBoolean (selectedItemsChange)=\"valueBooleanChange($event)\"\r\n allowNull=\"false\" [selectedValues]=\"rule.value\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataBoolean\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n\r\n </div>\r\n <div *ngSwitchDefault>\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\">\r\n </ax-text-box>\r\n\r\n </ax-form-group>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isOnDemandLabel\">\r\n\r\n <ax-text-box #textBoxNameValue [value]=\"getOnDemandName(rule.onDemandLabel)\"\r\n (onValueChanged)=\"onDemandLabelChange($event)\" placeholder=\"\u0646\u0627\u0645 \u0645\u062A\u063A\u06CC\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\">\r\n <!-- <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation> -->\r\n </ax-text-box>\r\n\r\n\r\n </div>\r\n\r\n </ng-container>\r\n <ng-template #valueTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n\r\n {{rule.text}}\r\n\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"buttons-list\">\r\n <div *ngIf=\"showValue && isEditing && mode == 'new'\" class=\"button variable\"\r\n [ngClass]=\"{'active-button': isOnDemandLabel}\">\r\n <i class=\"far fa-dollar-sign\"></i>\r\n <ax-check-box [value]=\"isOnDemandLabel\" (onClick)=\"onDemandLabel($event)\">\r\n </ax-check-box>\r\n </div>\r\n\r\n <div class=\"button commit\" (click)=\"handleCommitClick()\" *ngIf=\"isEditing\">\r\n <i class=\"far fa-check\"></i>\r\n </div>\r\n <div class=\"button remove\" (click)=\"handleRemoveClick()\" *ngIf=\"mode == 'new'\">\r\n <i class=\"far fa-times\"></i>\r\n </div>\r\n</div>",
|
|
359
363
|
host: { class: 'ax ax-query-rule' },
|
|
360
364
|
encapsulation: ViewEncapsulation.None
|
|
361
365
|
}),
|
|
@@ -364,4 +368,4 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
|
|
|
364
368
|
return AXQueryBuilderRuleComponent;
|
|
365
369
|
}());
|
|
366
370
|
export { AXQueryBuilderRuleComponent };
|
|
367
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXItcnVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBMkIscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBUXBGO0lBZ0NFO1FBQUEsaUJBQWdCO1FBdkJoQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBUzFCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFHbkIsaUJBQVksR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFHbEcsZ0JBQVcsR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFFakcsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QiwwQkFBcUIsR0FBWSxJQUFJLENBQUM7UUFZdEMsdUJBQWtCLEdBQUcsVUFBQyxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO2dCQUN6QixPQUFPLENBQUM7b0JBQ047d0JBQ0UsS0FBSyxFQUFFLE1BQU07d0JBQ2IsSUFB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QUFDLGtCQUFrQixDQUFDO2tDQUFtQixrQkFBa0I7eUVBQUM7SUFDOUI7UUFBckMsU0FBUyxDQUFDLHlCQUF5QixDQUFDO2tDQUFPLHlCQUF5Qjs2REFBQztJQUV0RTtRQURDLEtBQUssRUFBRTs7a0VBQ2tCO0lBRzFCO1FBREMsS0FBSyxFQUFFO2tDQUNGLGtCQUFrQjs2REFBQztJQUd6QjtRQURDLEtBQUssRUFBRTtrQ0FDQSxtQkFBbUI7K0RBQUM7SUFHNUI7UUFEQyxLQUFLLEVBQUU7OytEQUNXO0lBR25CO1FBREMsTUFBTSxFQUFFO2tDQUNLLFlBQVk7cUVBQXdFO0lBR2xHO1FBREMsTUFBTSxFQUFFO2tDQUNJLFlBQVk7b0VBQXdFO0lBeEJ0RiwyQkFBMkI7UUFOdkMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGVBQWU7WUFDekIsMnhNQUFnRDtZQUNoRCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7WUFDbkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7U0FDdEMsQ0FBQzs7T0FDVywyQkFBMkIsQ0E2VXZDO0lBQUQsa0NBQUM7Q0FBQSxBQTdVRCxJQTZVQztTQTdVWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyUnVsZSwgQVhRdWVyeUJ1aWxkZXJHcm91cCwgQVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQsIEFYUXVlcnlCdWlsZGVyQ29udHJvbCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYU2VsZWN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0Ym94L3NlbGVjdGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFRleHRCb3hDb21wb25lbnQgfSBmcm9tICcuLi90ZXh0Ym94L3RleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXF1ZXJ5LXJ1bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAncXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7IGNsYXNzOiAnYXggYXgtcXVlcnktcnVsZScgfSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlclJ1bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveCcpIHNlbGVjdEJveDogQVhTZWxlY3RCb3hDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Qm94VmFsdWUnKSBzZWxlY3RCb3hWYWx1ZTogQVhTZWxlY3RCb3hDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveEJvb2xlYW4nKSBzZWxlY3RCb3hCb29sZWFuOiBBWFNlbGVjdEJveENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgndGV4dEJveE5hbWVWYWx1ZScpIHRleHRCb3hOYW1lVmFsdWU6IEFYVGV4dEJveENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQpIGZvcm06IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQ7XHJcbiAgQElucHV0KClcclxuICBpc0VkaXRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJ1bGU6IEFYUXVlcnlCdWlsZGVyUnVsZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwYXJlbnQ6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZmllbGRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblJ1bGVEZWxldGU6IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlclJ1bGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBydWxlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQ+KCk7XHJcblxyXG4gIHNob3dWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBpc09uRGVtYW5kTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgc2hvd1NlbGVjdEJveDogYm9vbGVhbiA9IHRydWU7XHJcbiAgc2hvd09wZXJhdG9yU2VsZWN0Qm94OiBib29sZWFuID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy9DYWxsZWQgYWZ0ZXIgbmdBZnRlckNvbnRlbnRJbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxyXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCcgdG8gdGhlIGNsYXNzLlxyXG4gICAgaWYgKHRoaXMucnVsZS5vbkRlbWFuZExhYmVsKSB7XHJcbiAgICAgIHRoaXMuaXNPbkRlbWFuZExhYmVsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJvdmlkZURhdGFCb29sZWFuID0gKGUpID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICByZXNvbHZlKFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB2YWx1ZTogJ3RydWUnLFxyXG4gICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLnRydWUnKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdmFsdWU6ICdmYWxzZScsXHJcbiAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZmFsc2UnKVxyXG4gICAgICAgIH1cclxuICAgICAgXSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBzYXZlUnVsZSgpIHtcclxuICAgIHRoaXMuZm9ybS52YWxpZGF0ZSgpLnRoZW4oKGMpID0+IHt9KTtcclxuICB9XHJcblxyXG4gIHByb3ZpZGVEYXRhT3BlcmF0b3IgPSAoZSkgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnJ1bGUuZGF0YVR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucnVsZSAmJiB0aGlzLnJ1bGUuY29udHJvbCAmJiB0aGlzLnJ1bGUuY29udHJvbC50eXBlICYmIHRoaXMucnVsZS5jb250cm9sLnR5cGUgPT0gJ3NlbGVjdEJveCcpIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLm1vZGUgPT0gJ211bHRpcGxlJykge1xyXG4gICAgICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2NvbnRhaW5zJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5jb250YWlucycpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1jb250YWlucycsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LWNvbnRhaW5zJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbnVsbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmVxdWFsJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbm90LWVxdWFsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5udWxsJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbm90LW51bGwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJylcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ2NvbnRhaW5zJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuY29udGFpbnMnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdzdGFydC13aXRoJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuc3RhcnQtd2l0aCcpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ2VuZC13aXRoJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZW5kLXdpdGgnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdub3QtZXF1YWwnLFxyXG4gICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LW51bGwnKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucnVsZS5kYXRhVHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdlcXVhbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2d0JyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmdyZWF0ZXItdGhhbicpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2d0ZScsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ncmVhdGVyLXRoYW4tZXF1YWwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdsdCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5sZXNzLXRoYW4nKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdsdGUnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubGVzcy10aGFuLWVxdWFsJylcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbm90LWVxdWFsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1lcXVhbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJylcclxuICAgICAgICAgIH1cclxuICAgICAgICBdKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5ydWxlLmRhdGFUeXBlID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdlcXVhbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJylcclxuICAgICAgICAgIH1cclxuICAgICAgICBdKTtcclxuICAgICAgfVxyXG4gICAgICByZXNvbHZlKFtdKTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZUVkaXRDbGljaygpIHtcclxuICAgIHRoaXMuaXNFZGl0aW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNvbW1pdENsaWNrKCkge1xyXG4gICAgdGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGl0ZW1zOiB0aGlzLnJ1bGUsIGNvbXBvbmVudDogdGhpcyB9KTtcclxuICB9XHJcbiAgaGFuZGxlUmVtb3ZlQ2xpY2soKSB7XHJcbiAgICB0aGlzLm9uUnVsZURlbGV0ZS5lbWl0KHsgaXRlbXM6IHRoaXMucnVsZSwgY29tcG9uZW50OiB0aGlzIH0pO1xyXG4gIH1cclxuICBjYXB0aW9uQ2hhbmdlKGUpIHtcclxuICAgIGRlYnVnZ2VyO1xyXG4gICAgaWYgKGUuc2VsZWN0ZWRJdGVtc1swXSkge1xyXG4gICAgICB0aGlzLnJ1bGUuY2FwdGlvbiA9IGUuc2VsZWN0ZWRJdGVtc1swXS5jYXB0aW9uO1xyXG4gICAgICB0aGlzLnJ1bGUuZGF0YUZpZWxkID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmRhdGFGaWVsZDtcclxuICAgICAgdGhpcy5ydWxlLmRhdGFUeXBlID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmRhdGFUeXBlO1xyXG4gICAgICB0aGlzLnJ1bGUuY29udHJvbCA9IGUuc2VsZWN0ZWRJdGVtc1swXS5jb250cm9sIHx8IG5ldyBBWFF1ZXJ5QnVpbGRlckNvbnRyb2woKTtcclxuICAgICAgdGhpcy5ydWxlLmRhdGFGaWVsZEl0ZW1bMF0gPSBlLnNlbGVjdGVkSXRlbXNbMF07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0Qm94KSB7XHJcbiAgICAgIGlmICh0aGlzLnJ1bGUuY29udHJvbC50eXBlID09PSAnc2VsZWN0Qm94JyAmJiB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLm1vZGUgPT0gJ211bHRpcGxlJykge1xyXG4gICAgICAgIHRoaXMucnVsZS5vcGVyYXRvciA9ICdjb250YWlucyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ydWxlLm9wZXJhdG9yID0gJ2VxdWFsJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlbGVjdEJveC5yZWZyZXNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93T3BlcmF0b3JTZWxlY3RCb3ggPSBmYWxzZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3dPcGVyYXRvclNlbGVjdEJveCA9IHRydWU7XHJcbiAgICB9LCAyMCk7XHJcblxyXG4gICAgdGhpcy5ydWxlLnZhbHVlID0gbnVsbDtcclxuICAgIHRoaXMucnVsZS52YWx1ZUl0ZW0gPSBbXTtcclxuICAgIHRoaXMucnVsZS50ZXh0ID0gJyc7XHJcblxyXG4gICAgaWYgKHRoaXMucnVsZS5jb250cm9sLnR5cGUgPT09ICdzZWxlY3RCb3gnICYmIHRoaXMuc2VsZWN0Qm94VmFsdWUpIHtcclxuICAgICAgdGhpcy5zaG93U2VsZWN0Qm94ID0gZmFsc2U7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd1NlbGVjdEJveCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RCb3hWYWx1ZS5yZWZyZXNoKCk7XHJcbiAgICAgIH0sIDIwKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJ1bGUuY29udHJvbC50eXBlID09ICdib29sZWFuJykge1xyXG4gICAgICB0aGlzLnNlbGVjdEJveEJvb2xlYW4ucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ydWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBpdGVtczogdGhpcy5ydWxlIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlcmF0b3JDaGFuZ2UoZSkge1xyXG4gICAgdGhpcy5ydWxlLm9wZXJhdG9yID0gZVswXS52YWx1ZTtcclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuXHJcbiAgICBpZiAoZVswXS52YWx1ZSAhPT0gJ251bGwnICYmIGVbMF0udmFsdWUgIT09ICdub3QtbnVsbCcpIHtcclxuICAgICAgdGhpcy5zaG93VmFsdWUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93VmFsdWUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5ydWxlLnZhbHVlID0gJyc7XHJcbiAgICAgIHRoaXMucnVsZS50ZXh0ID0gJyc7XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZUl0ZW0gPSBbXTtcclxuICAgICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIH1cclxuICB9XHJcbiAgdmFsdWVDaGFuZ2UoZSkge1xyXG4gICAgLy8gdGhpcy5ydWxlLnRleHQgPSBlLnZhbHVlID09IHVuZGVmaW5lZCA/IGVbMF0udmFsdWUgOiAoZS52YWx1ZSA9PSBudWxsID8gJycgOiBlLnZhbHVlKTtcclxuXHJcbiAgICB0aGlzLnJ1bGUudGV4dCA9IGVbMF0gPyAoZVswXS52YWx1ZSA9PSBudWxsID8gJycgOiBlWzBdLnZhbHVlKSA6IGUudmFsdWUgPT0gbnVsbCA/ICcnIDogZS52YWx1ZTtcclxuICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcbiAgfVxyXG4gIG9uRGVtYW5kTGFiZWxDaGFuZ2UoZSkge1xyXG4gICAgLy8gdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSBlLnZhbHVlID09IHVuZGVmaW5lZCA/ICc/Pz8/fCcgKyBlWzBdLnZhbHVlIDogJz8/Pz98JyArIGUudmFsdWU7XHJcbiAgICB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9IGVbMF0gPyAnPz8/P3wnICsgKGVbMF0udmFsdWUgPT0gbnVsbCA/ICcnIDogZVswXS52YWx1ZSkgOiAnPz8/P3wnICsgKGUudmFsdWUgPT0gbnVsbCA/ICcnIDogZS52YWx1ZSk7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWUgPSAnJztcclxuICAgIHRoaXMucnVsZS50ZXh0ID0gJyc7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWVJdGVtID0gW107XHJcblxyXG4gICAgdGhpcy5ydWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBpdGVtczogdGhpcy5ydWxlIH0pO1xyXG4gIH1cclxuICB2YWx1ZUJvb2xlYW5DaGFuZ2UoZSkge1xyXG4gICAgLy8gdGhpcy5ydWxlLnRleHQgPSBlLnZhbHVlID09IHVuZGVmaW5lZCA/IGVbMF0udmFsdWUgOiAoZS52YWx1ZSA9PSBudWxsID8gJycgOiBlLnZhbHVlKTtcclxuICAgIHRoaXMucnVsZS50ZXh0ID0gZVswXSA/IChlWzBdLnZhbHVlID09IG51bGwgPyAnJyA6IGVbMF0udmFsdWUpIDogZS52YWx1ZSA9PSBudWxsID8gJycgOiBlLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlLnZhbHVlID0gZS52YWx1ZSA9PSB1bmRlZmluZWQgPyBlWzBdLnZhbHVlIDogZS52YWx1ZTtcclxuICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcbiAgfVxyXG4gIGdldE9uRGVtYW5kTmFtZSh2KSB7XHJcbiAgICByZXR1cm4gdiA/IHYuc3BsaXQoJ3wnKVsxXSA6ICcnO1xyXG4gIH1cclxuICBzZWxlY3RlZEl0ZW1zQ2hhbmdlKGUpIHtcclxuICAgIGxldCBuID0gdGhpcy5nZXRPcHRpb24oJ3RleHRGaWVsZCcpO1xyXG5cclxuICAgIGlmICh0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLm1vZGUgPT09ICdzaW5nbGUnKSB7XHJcbiAgICAgIHRoaXMucnVsZS50ZXh0ID0gZVswXVtuXTtcclxuICAgICAgaWYgKHRoaXMucnVsZSAmJiB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLnZhbHVlRmllbGQpIHtcclxuICAgICAgICB0aGlzLnJ1bGUudmFsdWUgPSBlWzBdW3RoaXMucnVsZS5jb250cm9sLm9wdGlvbnMudmFsdWVGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ydWxlLnZhbHVlID0gZVswXS52YWx1ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJ1bGUudmFsdWVJdGVtWzBdID0gZVswXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucnVsZS50ZXh0ID0gZS5tYXAoKHgpID0+IHhbbl0pLmpvaW4oJy0gJyk7XHJcbiAgICAgIGNvbnN0IFRIQVQgPSB0aGlzO1xyXG4gICAgICBpZiAoVEhBVC5ydWxlICYmIFRIQVQucnVsZS5jb250cm9sLm9wdGlvbnMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgIFRIQVQucnVsZS52YWx1ZSA9IGUubWFwKGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgICAgICByZXR1cm4gaXRlbVtUSEFULnJ1bGUuY29udHJvbC5vcHRpb25zLnZhbHVlRmllbGRdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucnVsZS52YWx1ZSA9IGUubWFwKGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgICAgICByZXR1cm4gaXRlbS52YWx1ZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJ1bGUudmFsdWVJdGVtID0gZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcbiAgICB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9ICcnO1xyXG4gIH1cclxuICBvbkRlbWFuZExhYmVsKGUpIHtcclxuICAgIC8vIGlmIChlLnZhbHVlICYmICh0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9PSAnPz8/P3wnIHx8IHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID09PSB1bmRlZmluZWQgfHwgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPT09IG51bGwgfHwgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPT09ICcnKSkge1xyXG4gICAgLy8gICB0aGlzLnRleHRCb3hOYW1lVmFsdWUuZm9jdXMoKTtcclxuICAgIC8vIH1cclxuICAgIGlmIChlLnZhbHVlID09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzT25EZW1hbmRMYWJlbCA9IGUudmFsdWU7XHJcbiAgfVxyXG4gIGdldFByb3ZpZGVEYXRhID0gKGUpID0+IHtcclxuICAgIGlmICh0aGlzLnJ1bGUgJiYgdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucyAmJiB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLmRhdGFTb3VyY2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMuZGF0YVNvdXJjZSh7IC4uLmUsIG9wdGlvbnNEYXRhOiB7IC4uLnRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMgfSB9KTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBnZXRPcHRpb24obmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucyA/IHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnNbbmFtZV0gOiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
371
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXItcnVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBMkIscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBUXBGO0lBbUNFO1FBQUEsaUJBQWdCO1FBMUJoQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBUzFCLFNBQUksR0FBbUIsS0FBSyxDQUFDO1FBRzdCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFHbkIsaUJBQVksR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFHbEcsZ0JBQVcsR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFFakcsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QiwwQkFBcUIsR0FBWSxJQUFJLENBQUM7UUFZdEMsdUJBQWtCLEdBQUcsVUFBQyxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO2dCQUN6QixPQUFPLENBQUM7b0JBQ047d0JBQ0UsS0FBSyxFQUFFLE1BQU07d0JBQ2IsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7cUJBQzVDO29CQUNEO3dCQUNFLEtBQUssRUFBRSxPQUFPO3dCQUNkLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDO3FCQUM3QztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQU1GLHdCQUFtQixHQUFHLFVBQUMsQ0FBQztZQUN0QixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTztnQkFDekIsSUFBSSxLQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7b0JBQ25DLElBQUksS0FBSSxDQUFDLElBQUksSUFBSSxLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLFdBQVcsRUFBRTt3QkFDckcsSUFBSSxLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLFVBQVUsRUFBRTs0QkFDaEQsT0FBTyxDQUFDO2dDQUNOO29DQUNFLEtBQUssRUFBRSxVQUFVO29DQUNqQixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztpQ0FDaEQ7Z0NBQ0Q7b0NBQ0UsS0FBSyxFQUFFLGNBQWM7b0NBQ3JCLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDO2lDQUNwRDtnQ0FDRDtvQ0FDRSxLQUFLLEVBQUUsTUFBTTtvQ0FDYixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztpQ0FDNUM7Z0NBQ0Q7b0NBQ0UsS0FBSyxFQUFFLFVBQVU7b0NBQ2pCLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDO2lDQUNoRDs2QkFDRixDQUFDLENBQUM7eUJBQ0o7NkJBQU07NEJBQ0wsT0FBTyxDQUFDO2dDQUNOO29DQUNFLEtBQUssRUFBRSxPQUFPO29DQUNkLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDO2lDQUM3QztnQ0FDRDtvQ0FDRSxLQUFLLEVBQUUsV0FBVztvQ0FDbEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUM7aUNBQ2pEO2dDQUNEO29DQUNFLEtBQUssRUFBRSxNQUFNO29DQUNiLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO2lDQUM1QztnQ0FDRDtvQ0FDRSxLQUFLLEVBQUUsVUFBVTtvQ0FDakIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUM7aUNBQ2hEOzZCQUNGLENBQUMsQ0FBQzt5QkFDSjtxQkFDRjt5QkFBTTt3QkFDTCxPQUFPLENBQUM7NEJBQ047Z0NBQ0UsS0FBSyxFQUFFLE9BQU87Z0NBQ2QsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUM7NkJBQzdDOzRCQUNEO2dDQUNFLEtBQUssRUFBRSxVQUFVO2dDQUNqQixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQzs2QkFDaEQ7NEJBQ0Q7Z0NBQ0UsS0FBSyxFQUFFLFlBQVk7Z0NBQ25CLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDOzZCQUNsRDs0QkFDRDtnQ0FDRSxLQUFLLEVBQUUsVUFBVTtnQ0FDakIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUM7NkJBQ2hEOzRCQUNEO2dDQUNFLEtBQUssRUFBRSxXQUFXO2dDQUNsQixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQzs2QkFDakQ7NEJBQ0Q7Z0NBQ0UsS0FBSyxFQUFFLE1BQU07Z0NBQ2IsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7NkJBQzVDOzRCQUNEO2dDQUNFLEtBQUssRUFBRSxVQUFVO2dDQUNqQixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQzs2QkFDaEQ7eUJBQ0YsQ0FBQyxDQUFDO3FCQUNKO2lCQUNGO2dCQUNELElBQUksS0FBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO29CQUNuQyxPQUFPLENBQUM7d0JBQ047NEJBQ0UsS0FBSyxFQUFFLE9BQU87NEJBQ2QsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUM7eUJBQzdDO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxJQUFJOzRCQUNYLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDO3lCQUNwRDt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsS0FBSzs0QkFDWixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQzt5QkFDMUQ7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLElBQUk7NEJBQ1gsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUM7eUJBQ2pEO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxLQUFLOzRCQUNaLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDO3lCQUN2RDt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsV0FBVzs0QkFDbEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUM7eUJBQ2pEO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxNQUFNOzRCQUNiLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO3lCQUM1Qzt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsVUFBVTs0QkFDakIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUM7eUJBQ2hEO3FCQUNGLENBQUMsQ0FBQztpQkFDSjtnQkFDRCxJQUFJLEtBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtvQkFDcEMsT0FBTyxDQUFDO3dCQUNOOzRCQUNFLEtBQUssRUFBRSxPQUFPOzRCQUNkLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDO3lCQUM3Qzt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsTUFBTTs0QkFDYixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDNUM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLFVBQVU7NEJBQ2pCLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDO3lCQUNoRDtxQkFDRixDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFtSUYsbUJBQWMsR0FBRyxVQUFDLENBQUM7WUFDakIsSUFBSSxLQUFJLENBQUMsSUFBSSxJQUFJLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUNsRixPQUFPLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLHVCQUFNLENBQUMsS0FBRSxXQUFXLGVBQU8sS0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFLLENBQUM7YUFDdEc7UUFDSCxDQUFDLENBQUM7SUF2U2EsQ0FBQztJQUVoQiw4Q0FBUSxHQUFSLGNBQVksQ0FBQztJQUViLHFEQUFlLEdBQWY7UUFDRSw2R0FBNkc7UUFDN0csOENBQThDO1FBQzlDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBZ0JELDhDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFDLENBQUMsSUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBc0lELHFEQUFlLEdBQWY7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsdURBQWlCLEdBQWpCO1FBQ0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsdURBQWlCLEdBQWpCO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsbURBQWEsR0FBYixVQUFjLENBQUM7UUFBZixpQkFzQ0M7UUFyQ0MsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLFVBQVUsRUFBRTtnQkFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQzthQUM5QjtZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDMUI7UUFFRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLFVBQVUsQ0FBQztZQUNULEtBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDcEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakUsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsVUFBVSxDQUFDO2dCQUNULEtBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixLQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNqQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELG9EQUFjLEdBQWQsVUFBZSxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFDRCxpREFBVyxHQUFYLFVBQVksQ0FBQztRQUNYLHlGQUF5RjtRQUV6RixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCx5REFBbUIsR0FBbkIsVUFBb0IsQ0FBQztRQUNuQiw2RkFBNkY7UUFDN0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvSCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCx3REFBa0IsR0FBbEIsVUFBbUIsQ0FBQztRQUNsQix5RkFBeUY7UUFDekYsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNoRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QscURBQWUsR0FBZixVQUFnQixDQUFDO1FBQ2YsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBQ0QseURBQW1CLEdBQW5CLFVBQW9CLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM5RDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQzlCO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFKLENBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQyxJQUFNLE1BQUksR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxNQUFJLENBQUMsSUFBSSxJQUFJLE1BQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3JELE1BQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJO29CQUNwQyxPQUFPLElBQUksQ0FBQyxNQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3BELENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUk7b0JBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxtREFBYSxHQUFiLFVBQWMsQ0FBQztRQUNiLHdLQUF3SztRQUN4SyxtQ0FBbUM7UUFDbkMsSUFBSTtRQUNKLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFPRCwrQ0FBUyxHQUFULFVBQVUsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUUsQ0FBQztJQTdVdUI7UUFBdkIsU0FBUyxDQUFDLFdBQVcsQ0FBQztrQ0FBWSxvQkFBb0I7a0VBQUM7SUFDM0I7UUFBNUIsU0FBUyxDQUFDLGdCQUFnQixDQUFDO2tDQUFpQixvQkFBb0I7dUVBQUM7SUFFbkM7UUFBOUIsU0FBUyxDQUFDLGtCQUFrQixDQUFDO2tDQUFtQixvQkFBb0I7eUVBQUM7SUFFdkM7UUFBOUIsU0FBUyxDQUFDLGtCQUFrQixDQUFDO2tDQUFtQixrQkFBa0I7eUVBQUM7SUFDOUI7UUFBckMsU0FBUyxDQUFDLHlCQUF5QixDQUFDO2tDQUFPLHlCQUF5Qjs2REFBQztJQUV0RTtRQURDLEtBQUssRUFBRTs7a0VBQ2tCO0lBRzFCO1FBREMsS0FBSyxFQUFFO2tDQUNGLGtCQUFrQjs2REFBQztJQUd6QjtRQURDLEtBQUssRUFBRTtrQ0FDQSxtQkFBbUI7K0RBQUM7SUFHNUI7UUFEQyxLQUFLLEVBQUU7OzZEQUNxQjtJQUc3QjtRQURDLEtBQUssRUFBRTs7K0RBQ1c7SUFHbkI7UUFEQyxNQUFNLEVBQUU7a0NBQ0ssWUFBWTtxRUFBd0U7SUFHbEc7UUFEQyxNQUFNLEVBQUU7a0NBQ0ksWUFBWTtvRUFBd0U7SUEzQnRGLDJCQUEyQjtRQU52QyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsZUFBZTtZQUN6QiwyeU1BQWdEO1lBQ2hELElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtZQUNuQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtTQUN0QyxDQUFDOztPQUNXLDJCQUEyQixDQStVdkM7SUFBRCxrQ0FBQztDQUFBLEFBL1VELElBK1VDO1NBL1VZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJSdWxlLCBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBBWFF1ZXJ5QnVpbGRlclJ1bGVFdmVudCwgQVhRdWVyeUJ1aWxkZXJDb250cm9sIH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhTZWxlY3RCb3hDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3Rib3gvc2VsZWN0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVGV4dEJveENvbXBvbmVudCB9IGZyb20gJy4uL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWZvcm0uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcXVlcnktcnVsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICdxdWVyeS1idWlsZGVyLXJ1bGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheCBheC1xdWVyeS1ydWxlJyB9LFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyUnVsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Qm94Jykgc2VsZWN0Qm94OiBBWFNlbGVjdEJveENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdzZWxlY3RCb3hWYWx1ZScpIHNlbGVjdEJveFZhbHVlOiBBWFNlbGVjdEJveENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Qm94Qm9vbGVhbicpIHNlbGVjdEJveEJvb2xlYW46IEFYU2VsZWN0Qm94Q29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKCd0ZXh0Qm94TmFtZVZhbHVlJykgdGV4dEJveE5hbWVWYWx1ZTogQVhUZXh0Qm94Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCkgZm9ybTogQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudDtcclxuICBASW5wdXQoKVxyXG4gIGlzRWRpdGluZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcnVsZTogQVhRdWVyeUJ1aWxkZXJSdWxlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhcmVudDogQVhRdWVyeUJ1aWxkZXJHcm91cDtcclxuXHJcbiAgQElucHV0KClcclxuICBtb2RlOiAnbmV3JyB8ICdlZGl0JyA9ICduZXcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpZWxkczogYW55W10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25SdWxlRGVsZXRlOiBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlclJ1bGVFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcnVsZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlclJ1bGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PigpO1xyXG5cclxuICBzaG93VmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgaXNPbkRlbWFuZExhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHNob3dTZWxlY3RCb3g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dPcGVyYXRvclNlbGVjdEJveDogYm9vbGVhbiA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vQ2FsbGVkIGFmdGVyIG5nQWZ0ZXJDb250ZW50SW5pdCB3aGVuIHRoZSBjb21wb25lbnQncyB2aWV3IGhhcyBiZWVuIGluaXRpYWxpemVkLiBBcHBsaWVzIHRvIGNvbXBvbmVudHMgb25seS5cclxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQnIHRvIHRoZSBjbGFzcy5cclxuICAgIGlmICh0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCkge1xyXG4gICAgICB0aGlzLmlzT25EZW1hbmRMYWJlbCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByb3ZpZGVEYXRhQm9vbGVhbiA9IChlKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdmFsdWU6ICd0cnVlJyxcclxuICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci50cnVlJylcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHZhbHVlOiAnZmFsc2UnLFxyXG4gICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmZhbHNlJylcclxuICAgICAgICB9XHJcbiAgICAgIF0pO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgc2F2ZVJ1bGUoKSB7XHJcbiAgICB0aGlzLmZvcm0udmFsaWRhdGUoKS50aGVuKChjKSA9PiB7fSk7XHJcbiAgfVxyXG5cclxuICBwcm92aWRlRGF0YU9wZXJhdG9yID0gKGUpID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5ydWxlLmRhdGFUeXBlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGlmICh0aGlzLnJ1bGUgJiYgdGhpcy5ydWxlLmNvbnRyb2wgJiYgdGhpcy5ydWxlLmNvbnRyb2wudHlwZSAmJiB0aGlzLnJ1bGUuY29udHJvbC50eXBlID09ICdzZWxlY3RCb3gnKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy5tb2RlID09ICdtdWx0aXBsZScpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdjb250YWlucycsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuY29udGFpbnMnKVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdub3QtY29udGFpbnMnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1jb250YWlucycpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LW51bGwnKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2VxdWFsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1lcXVhbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LWVxdWFsJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbnVsbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ2VxdWFsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZXF1YWwnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdjb250YWlucycsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmNvbnRhaW5zJylcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnc3RhcnQtd2l0aCcsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLnN0YXJ0LXdpdGgnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdlbmQtd2l0aCcsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmVuZC13aXRoJylcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnbm90LWVxdWFsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LWVxdWFsJylcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnbnVsbCcsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnJ1bGUuZGF0YVR5cGUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZXF1YWwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdndCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ncmVhdGVyLXRoYW4nKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdndGUnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZ3JlYXRlci10aGFuLWVxdWFsJylcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbHQnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubGVzcy10aGFuJylcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbHRlJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmxlc3MtdGhhbi1lcXVhbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ25vdC1lcXVhbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucnVsZS5kYXRhVHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZXF1YWwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICAgIH1cclxuICAgICAgcmVzb2x2ZShbXSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVFZGl0Q2xpY2soKSB7XHJcbiAgICB0aGlzLmlzRWRpdGluZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDb21taXRDbGljaygpIHtcclxuICAgIHRoaXMuaXNFZGl0aW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBpdGVtczogdGhpcy5ydWxlLCBjb21wb25lbnQ6IHRoaXMgfSk7XHJcbiAgfVxyXG4gIGhhbmRsZVJlbW92ZUNsaWNrKCkge1xyXG4gICAgdGhpcy5vblJ1bGVEZWxldGUuZW1pdCh7IGl0ZW1zOiB0aGlzLnJ1bGUsIGNvbXBvbmVudDogdGhpcyB9KTtcclxuICB9XHJcbiAgY2FwdGlvbkNoYW5nZShlKSB7XHJcbiAgICBpZiAoZS5zZWxlY3RlZEl0ZW1zWzBdKSB7XHJcbiAgICAgIHRoaXMucnVsZS5jYXB0aW9uID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmNhcHRpb247XHJcbiAgICAgIHRoaXMucnVsZS5kYXRhRmllbGQgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YUZpZWxkO1xyXG4gICAgICB0aGlzLnJ1bGUuZGF0YVR5cGUgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YVR5cGU7XHJcbiAgICAgIHRoaXMucnVsZS5jb250cm9sID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmNvbnRyb2wgfHwgbmV3IEFYUXVlcnlCdWlsZGVyQ29udHJvbCgpO1xyXG4gICAgICB0aGlzLnJ1bGUuZGF0YUZpZWxkSXRlbVswXSA9IGUuc2VsZWN0ZWRJdGVtc1swXTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RCb3gpIHtcclxuICAgICAgaWYgKHRoaXMucnVsZS5jb250cm9sLnR5cGUgPT09ICdzZWxlY3RCb3gnICYmIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMubW9kZSA9PSAnbXVsdGlwbGUnKSB7XHJcbiAgICAgICAgdGhpcy5ydWxlLm9wZXJhdG9yID0gJ2NvbnRhaW5zJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJ1bGUub3BlcmF0b3IgPSAnZXF1YWwnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VsZWN0Qm94LnJlZnJlc2goKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dPcGVyYXRvclNlbGVjdEJveCA9IGZhbHNlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd09wZXJhdG9yU2VsZWN0Qm94ID0gdHJ1ZTtcclxuICAgIH0sIDIwKTtcclxuXHJcbiAgICB0aGlzLnJ1bGUudmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy5ydWxlLnZhbHVlSXRlbSA9IFtdO1xyXG4gICAgdGhpcy5ydWxlLnRleHQgPSAnJztcclxuXHJcbiAgICBpZiAodGhpcy5ydWxlLmNvbnRyb2wudHlwZSA9PT0gJ3NlbGVjdEJveCcgJiYgdGhpcy5zZWxlY3RCb3hWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNob3dTZWxlY3RCb3ggPSBmYWxzZTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93U2VsZWN0Qm94ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdEJveFZhbHVlLnJlZnJlc2goKTtcclxuICAgICAgfSwgMjApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucnVsZS5jb250cm9sLnR5cGUgPT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0Qm94Qm9vbGVhbi5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVyYXRvckNoYW5nZShlKSB7XHJcbiAgICB0aGlzLnJ1bGUub3BlcmF0b3IgPSBlWzBdLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBpdGVtczogdGhpcy5ydWxlIH0pO1xyXG5cclxuICAgIGlmIChlWzBdLnZhbHVlICE9PSAnbnVsbCcgJiYgZVswXS52YWx1ZSAhPT0gJ25vdC1udWxsJykge1xyXG4gICAgICB0aGlzLnNob3dWYWx1ZSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJ1bGUudmFsdWUgPSAnJztcclxuICAgICAgdGhpcy5ydWxlLnRleHQgPSAnJztcclxuICAgICAgdGhpcy5ydWxlLnZhbHVlSXRlbSA9IFtdO1xyXG4gICAgICB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuICB2YWx1ZUNoYW5nZShlKSB7XHJcbiAgICAvLyB0aGlzLnJ1bGUudGV4dCA9IGUudmFsdWUgPT0gdW5kZWZpbmVkID8gZVswXS52YWx1ZSA6IChlLnZhbHVlID09IG51bGwgPyAnJyA6IGUudmFsdWUpO1xyXG5cclxuICAgIHRoaXMucnVsZS50ZXh0ID0gZVswXSA/IChlWzBdLnZhbHVlID09IG51bGwgPyAnJyA6IGVbMF0udmFsdWUpIDogZS52YWx1ZSA9PSBudWxsID8gJycgOiBlLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICB9XHJcbiAgb25EZW1hbmRMYWJlbENoYW5nZShlKSB7XHJcbiAgICAvLyB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9IGUudmFsdWUgPT0gdW5kZWZpbmVkID8gJz8/Pz98JyArIGVbMF0udmFsdWUgOiAnPz8/P3wnICsgZS52YWx1ZTtcclxuICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gZVswXSA/ICc/Pz8/fCcgKyAoZVswXS52YWx1ZSA9PSBudWxsID8gJycgOiBlWzBdLnZhbHVlKSA6ICc/Pz8/fCcgKyAoZS52YWx1ZSA9PSBudWxsID8gJycgOiBlLnZhbHVlKTtcclxuICAgIHRoaXMucnVsZS52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5ydWxlLnRleHQgPSAnJztcclxuICAgIHRoaXMucnVsZS52YWx1ZUl0ZW0gPSBbXTtcclxuXHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcbiAgfVxyXG4gIHZhbHVlQm9vbGVhbkNoYW5nZShlKSB7XHJcbiAgICAvLyB0aGlzLnJ1bGUudGV4dCA9IGUudmFsdWUgPT0gdW5kZWZpbmVkID8gZVswXS52YWx1ZSA6IChlLnZhbHVlID09IG51bGwgPyAnJyA6IGUudmFsdWUpO1xyXG4gICAgdGhpcy5ydWxlLnRleHQgPSBlWzBdID8gKGVbMF0udmFsdWUgPT0gbnVsbCA/ICcnIDogZVswXS52YWx1ZSkgOiBlLnZhbHVlID09IG51bGwgPyAnJyA6IGUudmFsdWU7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWUgPSBlLnZhbHVlID09IHVuZGVmaW5lZCA/IGVbMF0udmFsdWUgOiBlLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICB9XHJcbiAgZ2V0T25EZW1hbmROYW1lKHYpIHtcclxuICAgIHJldHVybiB2ID8gdi5zcGxpdCgnfCcpWzFdIDogJyc7XHJcbiAgfVxyXG4gIHNlbGVjdGVkSXRlbXNDaGFuZ2UoZSkge1xyXG4gICAgbGV0IG4gPSB0aGlzLmdldE9wdGlvbigndGV4dEZpZWxkJyk7XHJcblxyXG4gICAgaWYgKHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMubW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgdGhpcy5ydWxlLnRleHQgPSBlWzBdW25dO1xyXG4gICAgICBpZiAodGhpcy5ydWxlICYmIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgIHRoaXMucnVsZS52YWx1ZSA9IGVbMF1bdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy52YWx1ZUZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJ1bGUudmFsdWUgPSBlWzBdLnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZUl0ZW1bMF0gPSBlWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ydWxlLnRleHQgPSBlLm1hcCgoeCkgPT4geFtuXSkuam9pbignLSAnKTtcclxuICAgICAgY29uc3QgVEhBVCA9IHRoaXM7XHJcbiAgICAgIGlmIChUSEFULnJ1bGUgJiYgVEhBVC5ydWxlLmNvbnRyb2wub3B0aW9ucy52YWx1ZUZpZWxkKSB7XHJcbiAgICAgICAgVEhBVC5ydWxlLnZhbHVlID0gZS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgIHJldHVybiBpdGVtW1RIQVQucnVsZS5jb250cm9sLm9wdGlvbnMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ydWxlLnZhbHVlID0gZS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgIHJldHVybiBpdGVtLnZhbHVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZUl0ZW0gPSBlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgfVxyXG4gIG9uRGVtYW5kTGFiZWwoZSkge1xyXG4gICAgLy8gaWYgKGUudmFsdWUgJiYgKHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID09ICc/Pz8/fCcgfHwgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9PT0gbnVsbCB8fCB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9PT0gJycpKSB7XHJcbiAgICAvLyAgIHRoaXMudGV4dEJveE5hbWVWYWx1ZS5mb2N1cygpO1xyXG4gICAgLy8gfVxyXG4gICAgaWYgKGUudmFsdWUgPT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIH1cclxuICAgIHRoaXMuaXNPbkRlbWFuZExhYmVsID0gZS52YWx1ZTtcclxuICB9XHJcbiAgZ2V0UHJvdmlkZURhdGEgPSAoZSkgPT4ge1xyXG4gICAgaWYgKHRoaXMucnVsZSAmJiB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zICYmIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMuZGF0YVNvdXJjZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy5kYXRhU291cmNlKHsgLi4uZSwgb3B0aW9uc0RhdGE6IHsgLi4udGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucyB9IH0pO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGdldE9wdGlvbihuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zID8gdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9uc1tuYW1lXSA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -10,6 +10,7 @@ var AXQueryBuilderComponent = /** @class */ (function (_super) {
|
|
|
10
10
|
var _this = _super.call(this) || this;
|
|
11
11
|
_this.ref = ref;
|
|
12
12
|
_this.toast = toast;
|
|
13
|
+
_this.mode = 'new';
|
|
13
14
|
_this.rootGroup = new AXQueryBuilderGroup();
|
|
14
15
|
_this.fields = [];
|
|
15
16
|
// @Input()
|
|
@@ -19,11 +20,11 @@ var AXQueryBuilderComponent = /** @class */ (function (_super) {
|
|
|
19
20
|
return _this;
|
|
20
21
|
}
|
|
21
22
|
AXQueryBuilderComponent.prototype.ngOnInit = function () {
|
|
22
|
-
this.rootGroup.condition = this.query.condition ? this.query.condition :
|
|
23
|
+
this.rootGroup.condition = this.query.condition ? this.query.condition : 'AND';
|
|
23
24
|
this.rootGroup.items = this.query.items ? this.query.items : [];
|
|
24
25
|
};
|
|
25
26
|
AXQueryBuilderComponent.prototype.getQueryBuilder = function () {
|
|
26
|
-
return
|
|
27
|
+
return { groups: this.rootGroup };
|
|
27
28
|
};
|
|
28
29
|
AXQueryBuilderComponent.prototype.ruleChanged = function (e) {
|
|
29
30
|
this.onRuleChanged.emit({ component: this, groups: this.rootGroup });
|
|
@@ -73,6 +74,10 @@ var AXQueryBuilderComponent = /** @class */ (function (_super) {
|
|
|
73
74
|
Input(),
|
|
74
75
|
__metadata("design:type", AXQueryBuilderGroup)
|
|
75
76
|
], AXQueryBuilderComponent.prototype, "query", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
Input(),
|
|
79
|
+
__metadata("design:type", String)
|
|
80
|
+
], AXQueryBuilderComponent.prototype, "mode", void 0);
|
|
76
81
|
__decorate([
|
|
77
82
|
Input(),
|
|
78
83
|
__metadata("design:type", Array)
|
|
@@ -84,13 +89,13 @@ var AXQueryBuilderComponent = /** @class */ (function (_super) {
|
|
|
84
89
|
AXQueryBuilderComponent = __decorate([
|
|
85
90
|
Component({
|
|
86
91
|
selector: 'ax-query-builder',
|
|
87
|
-
template: "<ax-query-group #queryGroup [group]=\"rootGroup\" [fields]=\"fields\"
|
|
92
|
+
template: "<ax-query-group #queryGroup [mode]=\"mode\" [group]=\"rootGroup\" [fields]=\"fields\"\r\n (groupRuleChanged)=\"ruleChanged($event)\">\r\n</ax-query-group>",
|
|
88
93
|
encapsulation: ViewEncapsulation.None,
|
|
89
|
-
styles: [".ax-query-group{display:flex;flex-direction:column;margin:5px;-webkit-padding-start:0;padding-inline-start:0}.ax-query-group .add-buttons{display:flex;margin:5px;flex-direction:row}.ax-query-group .add-buttons .handler{display:flex;align-items:center;background-color:var(--ax-primary-trans-light-color);color:var(--ax-primary-color);padding:5px;cursor:move;border:1px solid var(--ax-primary-trans-light-color);border-
|
|
94
|
+
styles: [".ax-query-group{display:flex;flex-direction:column;margin:5px;-webkit-padding-start:0;padding-inline-start:0}.ax-query-group .add-buttons{display:flex;margin:5px;flex-direction:row}.ax-query-group .add-buttons .handler{display:flex;align-items:center;background-color:var(--ax-primary-trans-light-color);color:var(--ax-primary-color);padding:5px;cursor:move;border:1px solid var(--ax-primary-trans-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .buttons-list{-webkit-margin-start:10px;margin-inline-start:10px;display:flex;align-items:center}.ax-query-group .buttons-list .button{cursor:pointer;-webkit-margin-end:.5em;margin-inline-end:.5em;width:2.3em;height:2.3em;display:flex;align-items:center;justify-content:center;border-radius:50px;position:relative}.ax-query-group .buttons-list .button ax-check-box{opacity:0;width:100%;height:100%;position:absolute;z-index:1;left:0;top:0}.ax-query-group .buttons-list .variable{color:var(--ax-warning-color);background:var(--ax-warning-trans-light-color)}.ax-query-group .buttons-list .variable.active-button{background:var(--ax-warning-light-color);color:var(--ax-white-color);opacity:.7}.ax-query-group .buttons-list .commit{color:var(--ax-success-color);background:var(--ax-success-trans-light-color)}.ax-query-group .buttons-list .remove{color:var(--ax-danger-color);background:var(--ax-danger-trans-light-color)}.ax-query-group .buttons-list .edit{color:var(--ax-primary-color);background:var(--ax-primary-trans-light-color)}.ax-query-group .group-item{transition:.5s}.ax-query-group .group-item .condition{width:40px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(2,0,36,0) 49%,var(--ax-gray-light-color) 49%,var(--ax-gray-light-color) 55%,rgba(0,212,255,0) 50%)}.ax-query-group .group-item .condition .text{-webkit-margin-start:-50%;margin-inline-start:-50%;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center}.ax-query-group .group-item .condition .text.OR{background:var(--ax-warning-color);color:var(--ax-warning-fore-color)}.ax-query-group .group-item .condition .text.AND{background:var(--ax-success-color);color:var(--ax-success-fore-color)}.ax-query-group .header{display:flex;flex-direction:row}.ax-query-group .header .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:5px;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .header .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);color:var(--ax-gray-dark-color);font-weight:700;cursor:pointer}.ax-query-group .header .detail{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .header .detail.OR{background-color:var(--ax-warning-trans-light-color)}.ax-query-group .header .detail.AND{background-color:var(--ax-success-trans-light-color)}.ax-query-group .rules{-webkit-margin-start:10px;margin-inline-start:10px;-webkit-border-start:2px solid var(--ax-gray-light-color);border-inline-start:2px solid var(--ax-gray-light-color)}.ax-query-group .rules .rules{-webkit-margin-start:48px;margin-inline-start:48px}.ax-query-group .ax-query-rule{display:flex;margin:5px;flex-direction:row;transition:.5s}.ax-query-group .ax-query-rule .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:.5em;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .ax-query-rule .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border:1px solid var(--ax-gray-light-color);color:#333;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .caption.editable{width:200px}.ax-query-group .ax-query-rule .operator{border-top:1px solid var(--ax-gray-light-color);border-bottom:1px solid var(--ax-gray-light-color);background-color:var(--ax-gray-trans-light-color);padding:.5rem}.ax-query-group .ax-query-rule .operator.editable{width:200px}.ax-query-group .ax-query-rule .operator .text{color:var(--ax-primary-color);font-weight:700;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;cursor:pointer}.ax-query-group .ax-query-rule .operator.radius{border-top-left-radius:4px;border-bottom-left-radius:4px;border:1px solid var(--ax-gray-light-color);border-right:none}.ax-query-group .ax-query-rule .value{padding:.5rem;background-color:var(--ax-light-light-color);color:#000;border:1px solid var(--ax-gray-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .value.editable{width:200px}.ax-query-group .ax-query-rule .add-rule{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .add-group:hover,.ax-query-group .ax-query-rule .add-rule:hover{background-color:var(--ax-gray-light-color)}.ax-query-group .ax-query-rule .add-condition,.ax-query-group .ax-query-rule .add-group{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;border:1px dashed var(--ax-gray-light-color);border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .add-condition.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}"]
|
|
90
95
|
}),
|
|
91
96
|
__metadata("design:paramtypes", [ElementRef, AXToastService])
|
|
92
97
|
], AXQueryBuilderComponent);
|
|
93
98
|
return AXQueryBuilderComponent;
|
|
94
99
|
}(AXBaseComponent));
|
|
95
100
|
export { AXQueryBuilderComponent };
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUUsbUJBQW1CLEVBQXFELE1BQU0sdUJBQXVCLENBQUM7QUFDL0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBWXhEO0lBQTZDLDJDQUFlO0lBa0J4RCxpQ0FBb0IsR0FBZSxFQUFVLEtBQXFCO1FBQWxFLFlBQ0ksaUJBQU8sU0FDVjtRQUZtQixTQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsV0FBSyxHQUFMLEtBQUssQ0FBZ0I7UUFYbEUsZUFBUyxHQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFnQjNELFlBQU0sR0FBVSxFQUFFLENBQUM7UUFFbkIsV0FBVztRQUNYLHlDQUF5QztRQUd6QyxtQkFBYSxHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUVyRyxXQUFLLEdBQVksS0FBSyxDQUFDOztJQVh2QixDQUFDO0lBVkQsMENBQVEsR0FBUjtRQUdJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQy9FLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRXBFLENBQUM7SUFrQk0saURBQWUsR0FBdEI7UUFDSSxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELDZDQUFXLEdBQVgsVUFBWSxDQUFDO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBSU0sMENBQVEsR0FBZjtRQUFBLGlCQWdCQztRQWZHLHNDQUFzQztRQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDL0IsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxLQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtvQkFDcEIsS0FBSSxDQUFDLGFBQWEsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUM5QzthQUNKO1lBQ0QsSUFBSSxLQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtnQkFDcEIsT0FBTyxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMzQjtpQkFBTTtnQkFDSCxNQUFNLEVBQUUsQ0FBQzthQUNaO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFFTixDQUFDO0lBRUQsK0NBQWEsR0FBYixVQUFjLEVBQUU7UUFDWixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3BCLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRTtnQkFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNuQzthQUVKO2lCQUFNO2dCQUNILElBQUksRUFBRSxDQUFDLGFBQWEsSUFBSSxPQUFPLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFBO2lCQUNoRTthQUNKO1NBQ0o7SUFHTCxDQUFDOztnQkE1RHdCLFVBQVU7Z0JBQWlCLGNBQWM7O0lBaEJ6QztRQUF4QixTQUFTLENBQUMsWUFBWSxDQUFDO2tDQUFhLDRCQUE0QjsrREFBQztJQUdsRTtRQURDLEtBQUssRUFBRTtrQ0FDRCxtQkFBbUI7MERBQUM7SUFrQjNCO1FBREMsS0FBSyxFQUFFOzsyREFDVztJQU1uQjtRQURDLE1BQU0sRUFBRTtrQ0FDTSxZQUFZO2tFQUEwRTtJQTdCNUYsdUJBQXVCO1FBTm5DLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsa0pBQTZDO1lBRTdDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN4QyxDQUFDO3lDQW1CMkIsVUFBVSxFQUFpQixjQUFjO09BbEJ6RCx1QkFBdUIsQ0F5Tm5DO0lBQUQsOEJBQUM7Q0FBQSxBQXpORCxDQUE2QyxlQUFlLEdBeU4zRDtTQXpOWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3IsIEFYSHRtbFV0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBBWFF1ZXJ5QnVpbGRlckdyb3VwRXZlbnQsIEFYUXVlcnlCdWlsZGVyR3JvdXBJdGVtIH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1xdWVyeS1idWlsZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdxdWVyeUdyb3VwJykgcXVlcnlHcm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cENvbXBvbmVudDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcXVlcnk6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XHJcblxyXG4gICAgcm9vdEdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwID0gbmV3IEFYUXVlcnlCdWlsZGVyR3JvdXAoKTtcclxuXHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG5cclxuICAgICAgICB0aGlzLnJvb3RHcm91cC5jb25kaXRpb24gPSB0aGlzLnF1ZXJ5LmNvbmRpdGlvbiA/IHRoaXMucXVlcnkuY29uZGl0aW9uIDogXCJBTkRcIjtcclxuICAgICAgICB0aGlzLnJvb3RHcm91cC5pdGVtcyA9IHRoaXMucXVlcnkuaXRlbXMgPyB0aGlzLnF1ZXJ5Lml0ZW1zIDogW107XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHRvYXN0OiBBWFRvYXN0U2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGZpZWxkczogYW55W10gPSBbXTtcclxuXHJcbiAgICAvLyBASW5wdXQoKVxyXG4gICAgLy8gbW9kZTogJ2ltbWVkaWF0ZScgfCAnY2xpY2snID0gJ2NsaWNrJztcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uUnVsZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlckdyb3VwRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlckdyb3VwRXZlbnQ+KCk7XHJcblxyXG4gICAgc2F2ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgcHVibGljIGdldFF1ZXJ5QnVpbGRlcigpIHtcclxuICAgICAgICByZXR1cm4gKHsgZ3JvdXBzOiB0aGlzLnJvb3RHcm91cCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBydWxlQ2hhbmdlZChlKSB7XHJcbiAgICAgICAgdGhpcy5vblJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGdyb3VwczogdGhpcy5yb290R3JvdXAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBwdWJsaWMgc2F2ZVJ1bGUoKSB7XHJcbiAgICAgICAgLy8vIHJldHVybiB0aGlzLnF1ZXJ5R3JvdXAuc2F2ZVJ1bGUoKTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNhdmVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnJvb3RHcm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2F2ZWQgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZSh0aGlzLnJvb3RHcm91cC5pdGVtc1tpXSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5zYXZlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMucm9vdEdyb3VwKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZmluZE51bGxWYWx1ZShncikge1xyXG4gICAgICAgIGlmICh0aGlzLnNhdmVkID09IHRydWUpIHtcclxuICAgICAgICAgICAgaWYgKGdyLmNvbmRpdGlvbikge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShnci5pdGVtc1tpXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWwgPT0gJz8/Pz98Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LmVycm9yKCfZhNi32YHYpyDZhtin2YUg2YXYqti624zYsSDZh9in24wg2YXZiNix2K8g2YbbjNin2LIg2LHYpyDaqdin2YXZhCDaqdmG24zYrycpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuXHJcbiAgICAvLyBzZWxlY3Rpb25GaWVsZHNDaGFuZ2VkKGUsIHJ1bGVzOiBBWFF1ZXJ5QnVpbGRlclJ1bGUpIHtcclxuICAgIC8vICAgICBcclxuICAgIC8vICAgICBydWxlcy5kYXRhRmllbGQgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YUZpZWxkO1xyXG4gICAgLy8gICAgIHJ1bGVzLmNhcHRpb24gPSBlLnNlbGVjdGVkSXRlbXNbMF0uY2FwdGlvbjtcclxuICAgIC8vICAgICBydWxlcy5kYXRhVHlwZSA9IGUuc2VsZWN0ZWRJdGVtc1swXS5kYXRhVHlwZTtcclxuXHJcbiAgICAvLyAgICAgLy8gVE8gRE8gY2hhY2sgZGF0YVR5cGUgRm9yIERlZiBvcGVyYXRvciBhbmQgVmFsdWVcclxuICAgIC8vICAgICBpZiAocnVsZXMuZGF0YVR5cGUgPT0gJ3N0cmluZycpIHtcclxuICAgIC8vICAgICAgICAgcnVsZXMub3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9yU3RyaW5nSXRlbVswXS5pZDtcclxuICAgIC8vICAgICAgICAgcnVsZXMudmFsdWUgPSAnbnVsbCc7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIGlmIChydWxlcy5kYXRhVHlwZSA9PSAnbnVtYmVyJykge1xyXG4gICAgLy8gICAgICAgICBydWxlcy5vcGVyYXRvciA9IHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtWzBdLmlkO1xyXG4gICAgLy8gICAgICAgICBydWxlcy52YWx1ZSA9ICcwJztcclxuICAgIC8vICAgICB9XHJcblxyXG5cclxuICAgIC8vICAgICB0aGlzLm9uUnVsZUNoYW5nZWQuZW1pdCh7IGdyb3VwczogdGhpcy5yb290R3JvdXAsIHF1ZXJ5U3RyaW5nOiB0aGlzLmdldFF1ZXJ5RGlzcGxheSgpLCBjb21wb25lbnQ6IHRoaXMsIGh0bWxFbGVtZW50OiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50IH0pXHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gc2VsZWN0aW9uT3BhcmF0b3JDaGFuZ2VkKGUsIHJ1bGVzOiBBWFF1ZXJ5QnVpbGRlclJ1bGUpIHtcclxuICAgIC8vICAgICBydWxlcy5vcGVyYXRvciA9IGUuc2VsZWN0ZWRJdGVtc1swXS5pZDtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBwcm92aWRlRGF0YUZpZWxkcyA9IChlKSA9PiB7XHJcbiAgICAvLyAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAvLyAgICAgICAgIHJlc29sdmUodGhpcy5maWVsZHMpO1xyXG4gICAgLy8gICAgIH0pO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHByb3ZpZGVEYXRhT3BlcmF0b3JTdHJpbmcgPSAoZSkgPT4ge1xyXG4gICAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgLy8gICAgICAgICByZXNvbHZlKHRoaXMub3BlcmF0b3JTdHJpbmdJdGVtKTtcclxuICAgIC8vICAgICB9KTtcclxuICAgIC8vIH1cclxuICAgIC8vIHByb3ZpZGVEYXRhT3BlcmF0b3JOdW1iZXIgPSAoZSkgPT4ge1xyXG4gICAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgLy8gICAgICAgICByZXNvbHZlKHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtKTtcclxuICAgIC8vICAgICB9KTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBwcml2YXRlIGdldFF1ZXJ5RGlzcGxheShnciA9IHRoaXMubGlzdCwgX2NvbmRpdGlvbiA9IHRoaXMubGlzdFswXS5jb25kaXRpb24pIHtcclxuICAgIC8vICAgICB2YXIgY2FwOiBzdHJpbmcgPSAnKCc7XHJcblxyXG4gICAgLy8gICAgIGZvciAobGV0IGogPSAwOyBqIDwgZ3IubGVuZ3RoOyBqKyspIHtcclxuICAgIC8vICAgICAgICAgaWYgKGogPiAwKSB7XHJcbiAgICAvLyAgICAgICAgICAgICBjYXAgPSBjYXAgKyBfY29uZGl0aW9uO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIGNhcCA9IGNhcCArIFwiICggXCI7XHJcbiAgICAvLyAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3Jbal0uaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgIC8vICAgICAgICAgICAgIGlmIChncltqXS5pdGVtc1tpXS52YWx1ZSAmJiBncltqXS5pdGVtc1tpXS5vcGVyYXRvciAmJiBncltqXS5pdGVtc1tpXS5jYXB0aW9uIHx8ICgoZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IgPT0gXCJpcy1lbXB0eVwiIHx8IGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yID09IFwiaXMtbm90LWVtcHR5XCIpICYmIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24pKSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdmFyIG9wcjogc3RyaW5nO1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIGlmIChncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcIm51bWJlclwiIHx8IGdyW2pdLml0ZW1zW2ldLmRhdGFUeXBlID09IFwiZGF0ZVwiIHx8IGdyW2pdLml0ZW1zW2ldLmRhdGFUeXBlID09IFwiZGF0ZVRpbWVcIikge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBsZXQgZCA9IHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtLmZpbHRlcihjID0+IGMuaWQgPT0gZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IpO1xyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBvcHIgPSBkWzBdLnRleHQ7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgbGV0IGQgPSB0aGlzLm9wZXJhdG9yU3RyaW5nSXRlbS5maWx0ZXIoYyA9PiBjLmlkID09IGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yKTtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgb3ByID0gZFswXS50ZXh0O1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgICAgICAgICBpZiAoKGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yID09IFwiaXMtZW1wdHlcIiB8fCBncltqXS5pdGVtc1tpXS5vcGVyYXRvciA9PSBcImlzLW5vdC1lbXB0eVwiKSkge1xyXG5cclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGNhcCA9IGNhcCArIFwiIFwiICsgXCJbXCIgKyBncltqXS5pdGVtc1tpXS5jYXB0aW9uICsgXCJdXCI7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIGdyW2pdLmNvbmRpdGlvbjtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHZhciB2YWw6IHN0cmluZztcclxuXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIGlmIChncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSAnZGF0ZScpIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhbCA9IG1vbWVudChpdGVtLnZhbHVlKS5sb2NhbGUoJ2ZhJykuZm9ybWF0KCdZWVlZL01NL0REJyk7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gJ2RhdGVUaW1lJykge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsID0gbW9tZW50KGl0ZW0udmFsdWUpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ0hIOm1tIFlZWVkvTU0vREQnKTtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IGdyW2pdLml0ZW1zW2ldLnZhbHVlO1xyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIGlmIChpID09PSBncltqXS5pdGVtcy5sZW5ndGggLSAxKSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIHZhbFxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgY2FwID0gY2FwICsgXCIgXCIgKyBcIltcIiArIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24gKyBcIl1cIiArIFwiIFwiICsgb3ByICsgXCIgXCIgKyB2YWwgKyBcIiBcIiArIGdyW2pdLmNvbmRpdGlvblxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgLy8gICAgICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgfVxyXG5cclxuICAgIC8vICAgICAgICAgaWYgKGdyW2pdLmdyb3VwcyAmJiBncltqXS5ncm91cHMubGVuZ3RoID4gMCkge1xyXG4gICAgLy8gICAgICAgICAgICAgbGV0IGMgPSB0aGlzLmdldFF1ZXJ5RGlzcGxheShncltqXS5ncm91cHMsIGdyW2pdLmNvbmRpdGlvbik7XHJcbiAgICAvLyAgICAgICAgICAgICBpZiAoYyAhPSBcIiggKSBcIikge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIGlmIChncltqXS5pdGVtcy5sZW5ndGggPiAwIHx8IGogPiAwKSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIGNhcCA9IGNhcCArIFwiIFwiICsgZ3Jbal0uY29uZGl0aW9uICsgXCIgXCIgKyBjICsgXCIgXCI7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgY2FwID0gY2FwICsgXCIgXCIgKyBjICsgXCIgXCI7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgIC8vICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgfVxyXG5cclxuICAgIC8vICAgICAgICAgY2FwID0gY2FwICsgXCIgKSBcIjtcclxuICAgIC8vICAgICB9O1xyXG5cclxuICAgIC8vICAgICBjYXAgPSBjYXAgKyBcIiApIFwiO1xyXG4gICAgLy8gICAgIHJldHVybiBjYXA7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gZGVsZXRlR3JvdXAoZ3JvdXBPdXQ6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIGdyb3VwSW46IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAgIC8vICAgICBncm91cE91dC5pdGVtcyA9IGdyb3VwT3V0Lml0ZW1zLmZpbHRlcihjID0+IGMuaWQgIT0gZ3JvdXBJbi5pZCk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gZGVsZXRlUnVsZTEoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHJ1bGU6IEFYUXVlcnlCdWlsZGVyUnVsZSkge1xyXG4gICAgLy8gICAgIGdyb3VwLml0ZW1zID0gZ3JvdXAuaXRlbXMuZmlsdGVyKGMgPT4gYy5pZCAhPSBydWxlLmlkKTtcclxuICAgIC8vIH1cclxuXHJcblxyXG4gICAgLy8gYWRkUnVsZShncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gICAgLy8gICAgIGNvbnN0IGl0ZW06IEFYUXVlcnlCdWlsZGVyUnVsZSA9IG5ldyBBWFF1ZXJ5QnVpbGRlclJ1bGUoKTtcclxuICAgIC8vICAgICBncm91cC5pdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIGFkZEdyb3VwQU5EKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgICAvLyAgICAgdGhpcy5hZGRHcm91cE9uQ2xpY2soZ3JvdXApO1xyXG4gICAgLy8gICAgIGdyb3VwLmNvbmRpdGlvbiA9IFwiQU5EXCI7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBhZGRHcm91cE9SKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgICAvLyAgICAgdGhpcy5hZGRHcm91cE9uQ2xpY2soZ3JvdXApO1xyXG4gICAgLy8gICAgIGdyb3VwLmNvbmRpdGlvbiA9IFwiT1JcIjtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBhZGRHcm91cE9uQ2xpY2soZ3JvdXBzOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgICAvLyAgICAgbGV0IHI6IEFYUXVlcnlCdWlsZGVyR3JvdXAgPSBuZXcgQVhRdWVyeUJ1aWxkZXJHcm91cCgpO1xyXG4gICAgLy8gICAgIHIuY29uZGl0aW9uID0gXCJcIjtcclxuICAgIC8vICAgICByLml0ZW1zID0gW107XHJcbiAgICAvLyAgICAgaWYgKGdyb3Vwcy5pdGVtcyA9PSB1bmRlZmluZWQpIHtcclxuICAgIC8vICAgICAgICAgZ3JvdXBzLml0ZW1zID0gW107XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIGdyb3Vwcy5pdGVtcy5wdXNoKHIpO1xyXG4gICAgLy8gfVxyXG59Il19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUUsbUJBQW1CLEVBQXFELE1BQU0sdUJBQXVCLENBQUM7QUFDL0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUXhEO0lBQTZDLDJDQUFlO0lBZ0IxRCxpQ0FBb0IsR0FBZSxFQUFVLEtBQXFCO1FBQWxFLFlBQ0UsaUJBQU8sU0FDUjtRQUZtQixTQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsV0FBSyxHQUFMLEtBQUssQ0FBZ0I7UUFUbEUsVUFBSSxHQUFtQixLQUFLLENBQUM7UUFFN0IsZUFBUyxHQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFZM0QsWUFBTSxHQUFVLEVBQUUsQ0FBQztRQUVuQixXQUFXO1FBQ1gseUNBQXlDO1FBR3pDLG1CQUFhLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRXJHLFdBQUssR0FBWSxLQUFLLENBQUM7O0lBWHZCLENBQUM7SUFQRCwwQ0FBUSxHQUFSO1FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDL0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQWlCTSxpREFBZSxHQUF0QjtRQUNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCw2Q0FBVyxHQUFYLFVBQVksQ0FBQztRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLDBDQUFRLEdBQWY7UUFBQSxpQkFlQztRQWRDLHNDQUFzQztRQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDakMsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxLQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtvQkFDdEIsS0FBSSxDQUFDLGFBQWEsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM3QzthQUNGO1lBQ0QsSUFBSSxLQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtnQkFDdEIsT0FBTyxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxNQUFNLEVBQUUsQ0FBQzthQUNWO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsK0NBQWEsR0FBYixVQUFjLEVBQUU7UUFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDakM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLEVBQUUsQ0FBQyxhQUFhLElBQUksT0FBTyxFQUFFO29CQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztpQkFDL0Q7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7Z0JBckR3QixVQUFVO2dCQUFpQixjQUFjOztJQWZ6QztRQUF4QixTQUFTLENBQUMsWUFBWSxDQUFDO2tDQUFhLDRCQUE0QjsrREFBQztJQUdsRTtRQURDLEtBQUssRUFBRTtrQ0FDRCxtQkFBbUI7MERBQUM7SUFHM0I7UUFEQyxLQUFLLEVBQUU7O3lEQUNxQjtJQWM3QjtRQURDLEtBQUssRUFBRTs7MkRBQ1c7SUFNbkI7UUFEQyxNQUFNLEVBQUU7a0NBQ00sWUFBWTtrRUFBMEU7SUEzQjFGLHVCQUF1QjtRQU5uQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLHlLQUE2QztZQUU3QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7U0FDdEMsQ0FBQzt5Q0FpQnlCLFVBQVUsRUFBaUIsY0FBYztPQWhCdkQsdUJBQXVCLENBOE1uQztJQUFELDhCQUFDO0NBQUEsQUE5TUQsQ0FBNkMsZUFBZSxHQThNM0Q7U0E5TVksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhUcmFuc2xhdG9yLCBBWEh0bWxVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cCwgQVhRdWVyeUJ1aWxkZXJHcm91cEV2ZW50LCBBWFF1ZXJ5QnVpbGRlckdyb3VwSXRlbSB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcXVlcnktYnVpbGRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZCgncXVlcnlHcm91cCcpIHF1ZXJ5R3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXBDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcXVlcnk6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbW9kZTogJ25ldycgfCAnZWRpdCcgPSAnbmV3JztcclxuXHJcbiAgcm9vdEdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwID0gbmV3IEFYUXVlcnlCdWlsZGVyR3JvdXAoKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvb3RHcm91cC5jb25kaXRpb24gPSB0aGlzLnF1ZXJ5LmNvbmRpdGlvbiA/IHRoaXMucXVlcnkuY29uZGl0aW9uIDogJ0FORCc7XHJcbiAgICB0aGlzLnJvb3RHcm91cC5pdGVtcyA9IHRoaXMucXVlcnkuaXRlbXMgPyB0aGlzLnF1ZXJ5Lml0ZW1zIDogW107XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB0b2FzdDogQVhUb2FzdFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpZWxkczogYW55W10gPSBbXTtcclxuXHJcbiAgLy8gQElucHV0KClcclxuICAvLyBtb2RlOiAnaW1tZWRpYXRlJyB8ICdjbGljaycgPSAnY2xpY2snO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblJ1bGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJHcm91cEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJHcm91cEV2ZW50PigpO1xyXG5cclxuICBzYXZlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZ2V0UXVlcnlCdWlsZGVyKCkge1xyXG4gICAgcmV0dXJuIHsgZ3JvdXBzOiB0aGlzLnJvb3RHcm91cCB9O1xyXG4gIH1cclxuXHJcbiAgcnVsZUNoYW5nZWQoZSkge1xyXG4gICAgdGhpcy5vblJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGdyb3VwczogdGhpcy5yb290R3JvdXAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZVJ1bGUoKSB7XHJcbiAgICAvLy8gcmV0dXJuIHRoaXMucXVlcnlHcm91cC5zYXZlUnVsZSgpO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5zYXZlZCA9IHRydWU7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5yb290R3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAodGhpcy5zYXZlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbmROdWxsVmFsdWUodGhpcy5yb290R3JvdXAuaXRlbXNbaV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zYXZlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgcmVzb2x2ZSh0aGlzLnJvb3RHcm91cCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmluZE51bGxWYWx1ZShncikge1xyXG4gICAgaWYgKHRoaXMuc2F2ZWQgPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAoZ3IuY29uZGl0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGhpcy5maW5kTnVsbFZhbHVlKGdyLml0ZW1zW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWwgPT0gJz8/Pz98Jykge1xyXG4gICAgICAgICAgdGhpcy5zYXZlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy50b2FzdC5lcnJvcign2YTYt9mB2Kcg2YbYp9mFINmF2KrYutuM2LEg2YfYp9uMINmF2YjYsdivINmG24zYp9iyINix2Kcg2qnYp9mF2YQg2qnZhtuM2K8nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHNlbGVjdGlvbkZpZWxkc0NoYW5nZWQoZSwgcnVsZXM6IEFYUXVlcnlCdWlsZGVyUnVsZSkge1xyXG4gIC8vXHJcbiAgLy8gICAgIHJ1bGVzLmRhdGFGaWVsZCA9IGUuc2VsZWN0ZWRJdGVtc1swXS5kYXRhRmllbGQ7XHJcbiAgLy8gICAgIHJ1bGVzLmNhcHRpb24gPSBlLnNlbGVjdGVkSXRlbXNbMF0uY2FwdGlvbjtcclxuICAvLyAgICAgcnVsZXMuZGF0YVR5cGUgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YVR5cGU7XHJcblxyXG4gIC8vICAgICAvLyBUTyBETyBjaGFjayBkYXRhVHlwZSBGb3IgRGVmIG9wZXJhdG9yIGFuZCBWYWx1ZVxyXG4gIC8vICAgICBpZiAocnVsZXMuZGF0YVR5cGUgPT0gJ3N0cmluZycpIHtcclxuICAvLyAgICAgICAgIHJ1bGVzLm9wZXJhdG9yID0gdGhpcy5vcGVyYXRvclN0cmluZ0l0ZW1bMF0uaWQ7XHJcbiAgLy8gICAgICAgICBydWxlcy52YWx1ZSA9ICdudWxsJztcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICBpZiAocnVsZXMuZGF0YVR5cGUgPT0gJ251bWJlcicpIHtcclxuICAvLyAgICAgICAgIHJ1bGVzLm9wZXJhdG9yID0gdGhpcy5vcGVyYXRvck51bWJlckl0ZW1bMF0uaWQ7XHJcbiAgLy8gICAgICAgICBydWxlcy52YWx1ZSA9ICcwJztcclxuICAvLyAgICAgfVxyXG5cclxuICAvLyAgICAgdGhpcy5vblJ1bGVDaGFuZ2VkLmVtaXQoeyBncm91cHM6IHRoaXMucm9vdEdyb3VwLCBxdWVyeVN0cmluZzogdGhpcy5nZXRRdWVyeURpc3BsYXkoKSwgY29tcG9uZW50OiB0aGlzLCBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCB9KVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gc2VsZWN0aW9uT3BhcmF0b3JDaGFuZ2VkKGUsIHJ1bGVzOiBBWFF1ZXJ5QnVpbGRlclJ1bGUpIHtcclxuICAvLyAgICAgcnVsZXMub3BlcmF0b3IgPSBlLnNlbGVjdGVkSXRlbXNbMF0uaWQ7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwcm92aWRlRGF0YUZpZWxkcyA9IChlKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gIC8vICAgICAgICAgcmVzb2x2ZSh0aGlzLmZpZWxkcyk7XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHJvdmlkZURhdGFPcGVyYXRvclN0cmluZyA9IChlKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gIC8vICAgICAgICAgcmVzb2x2ZSh0aGlzLm9wZXJhdG9yU3RyaW5nSXRlbSk7XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vIH1cclxuICAvLyBwcm92aWRlRGF0YU9wZXJhdG9yTnVtYmVyID0gKGUpID0+IHtcclxuICAvLyAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgLy8gICAgICAgICByZXNvbHZlKHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtKTtcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwcml2YXRlIGdldFF1ZXJ5RGlzcGxheShnciA9IHRoaXMubGlzdCwgX2NvbmRpdGlvbiA9IHRoaXMubGlzdFswXS5jb25kaXRpb24pIHtcclxuICAvLyAgICAgdmFyIGNhcDogc3RyaW5nID0gJygnO1xyXG5cclxuICAvLyAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBnci5sZW5ndGg7IGorKykge1xyXG4gIC8vICAgICAgICAgaWYgKGogPiAwKSB7XHJcbiAgLy8gICAgICAgICAgICAgY2FwID0gY2FwICsgX2NvbmRpdGlvbjtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgIGNhcCA9IGNhcCArIFwiICggXCI7XHJcbiAgLy8gICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyW2pdLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgLy8gICAgICAgICAgICAgaWYgKGdyW2pdLml0ZW1zW2ldLnZhbHVlICYmIGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yICYmIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24gfHwgKChncltqXS5pdGVtc1tpXS5vcGVyYXRvciA9PSBcImlzLWVtcHR5XCIgfHwgZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IgPT0gXCJpcy1ub3QtZW1wdHlcIikgJiYgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbikpIHtcclxuICAvLyAgICAgICAgICAgICAgICAgdmFyIG9wcjogc3RyaW5nO1xyXG4gIC8vICAgICAgICAgICAgICAgICBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gXCJudW1iZXJcIiB8fCBncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcImRhdGVcIiB8fCBncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcImRhdGVUaW1lXCIpIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIGxldCBkID0gdGhpcy5vcGVyYXRvck51bWJlckl0ZW0uZmlsdGVyKGMgPT4gYy5pZCA9PSBncltqXS5pdGVtc1tpXS5vcGVyYXRvcik7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICBvcHIgPSBkWzBdLnRleHQ7XHJcbiAgLy8gICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICBsZXQgZCA9IHRoaXMub3BlcmF0b3JTdHJpbmdJdGVtLmZpbHRlcihjID0+IGMuaWQgPT0gZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IpO1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgb3ByID0gZFswXS50ZXh0O1xyXG4gIC8vICAgICAgICAgICAgICAgICB9XHJcbiAgLy8gICAgICAgICAgICAgICAgIGlmICgoZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IgPT0gXCJpcy1lbXB0eVwiIHx8IGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yID09IFwiaXMtbm90LWVtcHR5XCIpKSB7XHJcblxyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiO1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIGdyW2pdLmNvbmRpdGlvbjtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIHZhciB2YWw6IHN0cmluZztcclxuXHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gJ2RhdGUnKSB7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsID0gbW9tZW50KGl0ZW0udmFsdWUpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ1lZWVkvTU0vREQnKTtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gJ2RhdGVUaW1lJykge1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhbCA9IG1vbWVudChpdGVtLnZhbHVlKS5sb2NhbGUoJ2ZhJykuZm9ybWF0KCdISDptbSBZWVlZL01NL0REJyk7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IGdyW2pdLml0ZW1zW2ldLnZhbHVlO1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIHZhbFxyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIHZhbCArIFwiIFwiICsgZ3Jbal0uY29uZGl0aW9uXHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gIC8vICAgICAgICAgICAgICAgICB9XHJcbiAgLy8gICAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgfVxyXG5cclxuICAvLyAgICAgICAgIGlmIChncltqXS5ncm91cHMgJiYgZ3Jbal0uZ3JvdXBzLmxlbmd0aCA+IDApIHtcclxuICAvLyAgICAgICAgICAgICBsZXQgYyA9IHRoaXMuZ2V0UXVlcnlEaXNwbGF5KGdyW2pdLmdyb3VwcywgZ3Jbal0uY29uZGl0aW9uKTtcclxuICAvLyAgICAgICAgICAgICBpZiAoYyAhPSBcIiggKSBcIikge1xyXG4gIC8vICAgICAgICAgICAgICAgICBpZiAoZ3Jbal0uaXRlbXMubGVuZ3RoID4gMCB8fCBqID4gMCkge1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgY2FwID0gY2FwICsgXCIgXCIgKyBncltqXS5jb25kaXRpb24gKyBcIiBcIiArIGMgKyBcIiBcIjtcclxuICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIGNhcCA9IGNhcCArIFwiIFwiICsgYyArIFwiIFwiO1xyXG4gIC8vICAgICAgICAgICAgICAgICB9XHJcblxyXG4gIC8vICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgIH1cclxuXHJcbiAgLy8gICAgICAgICBjYXAgPSBjYXAgKyBcIiApIFwiO1xyXG4gIC8vICAgICB9O1xyXG5cclxuICAvLyAgICAgY2FwID0gY2FwICsgXCIgKSBcIjtcclxuICAvLyAgICAgcmV0dXJuIGNhcDtcclxuICAvLyB9XHJcblxyXG4gIC8vIGRlbGV0ZUdyb3VwKGdyb3VwT3V0OiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBncm91cEluOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgLy8gICAgIGdyb3VwT3V0Lml0ZW1zID0gZ3JvdXBPdXQuaXRlbXMuZmlsdGVyKGMgPT4gYy5pZCAhPSBncm91cEluLmlkKTtcclxuICAvLyB9XHJcblxyXG4gIC8vIGRlbGV0ZVJ1bGUxKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBydWxlOiBBWFF1ZXJ5QnVpbGRlclJ1bGUpIHtcclxuICAvLyAgICAgZ3JvdXAuaXRlbXMgPSBncm91cC5pdGVtcy5maWx0ZXIoYyA9PiBjLmlkICE9IHJ1bGUuaWQpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gYWRkUnVsZShncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gIC8vICAgICBjb25zdCBpdGVtOiBBWFF1ZXJ5QnVpbGRlclJ1bGUgPSBuZXcgQVhRdWVyeUJ1aWxkZXJSdWxlKCk7XHJcbiAgLy8gICAgIGdyb3VwLml0ZW1zLnB1c2goaXRlbSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBhZGRHcm91cEFORChncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gIC8vICAgICB0aGlzLmFkZEdyb3VwT25DbGljayhncm91cCk7XHJcbiAgLy8gICAgIGdyb3VwLmNvbmRpdGlvbiA9IFwiQU5EXCI7XHJcbiAgLy8gfVxyXG4gIC8vIGFkZEdyb3VwT1IoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAvLyAgICAgdGhpcy5hZGRHcm91cE9uQ2xpY2soZ3JvdXApO1xyXG4gIC8vICAgICBncm91cC5jb25kaXRpb24gPSBcIk9SXCI7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBhZGRHcm91cE9uQ2xpY2soZ3JvdXBzOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgLy8gICAgIGxldCByOiBBWFF1ZXJ5QnVpbGRlckdyb3VwID0gbmV3IEFYUXVlcnlCdWlsZGVyR3JvdXAoKTtcclxuICAvLyAgICAgci5jb25kaXRpb24gPSBcIlwiO1xyXG4gIC8vICAgICByLml0ZW1zID0gW107XHJcbiAgLy8gICAgIGlmIChncm91cHMuaXRlbXMgPT0gdW5kZWZpbmVkKSB7XHJcbiAgLy8gICAgICAgICBncm91cHMuaXRlbXMgPSBbXTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICBncm91cHMuaXRlbXMucHVzaChyKTtcclxuICAvLyB9XHJcbn1cclxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { AXQueryBuilderGroup } from
|
|
1
|
+
import { __asyncValues, __awaiter, __decorate, __generator, __metadata } from "tslib";
|
|
2
|
+
import { AXQueryBuilderGroup } from './query-builder.class';
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import { AXPopupService } from '../popup/popup.service';
|
|
5
5
|
import { AXQueryBuilderPopupComponent } from './query-builder-popup/query-builder-popup.component';
|
|
@@ -29,7 +29,7 @@ var AXQueryBuilderService = /** @class */ (function () {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
if (_this.canRun) {
|
|
32
|
-
_this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title:
|
|
32
|
+
_this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title: 'دریافت مقادیر' }).then(function (c) {
|
|
33
33
|
resolve(c);
|
|
34
34
|
});
|
|
35
35
|
}
|
|
@@ -69,10 +69,119 @@ var AXQueryBuilderService = /** @class */ (function () {
|
|
|
69
69
|
}
|
|
70
70
|
// }
|
|
71
71
|
};
|
|
72
|
+
AXQueryBuilderService.prototype.getQueryStringSimple = function (group) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
74
|
+
var _this = this;
|
|
75
|
+
return __generator(this, function (_a) {
|
|
76
|
+
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
77
|
+
var query, id, _a, _b, iterator, item, codeOperator, e_1_1;
|
|
78
|
+
var e_1, _c;
|
|
79
|
+
return __generator(this, function (_d) {
|
|
80
|
+
switch (_d.label) {
|
|
81
|
+
case 0:
|
|
82
|
+
debugger;
|
|
83
|
+
if (group.items.length > 0) {
|
|
84
|
+
query = ' ( ';
|
|
85
|
+
}
|
|
86
|
+
id = 0;
|
|
87
|
+
_d.label = 1;
|
|
88
|
+
case 1:
|
|
89
|
+
_d.trys.push([1, 9, 10, 15]);
|
|
90
|
+
_a = __asyncValues(group.items);
|
|
91
|
+
_d.label = 2;
|
|
92
|
+
case 2: return [4 /*yield*/, _a.next()];
|
|
93
|
+
case 3:
|
|
94
|
+
if (!(_b = _d.sent(), !_b.done)) return [3 /*break*/, 8];
|
|
95
|
+
iterator = _b.value;
|
|
96
|
+
item = group.items[id];
|
|
97
|
+
if (!item.condition) return [3 /*break*/, 5];
|
|
98
|
+
return [4 /*yield*/, this.getQueryStringSimple(item).then(function (c) {
|
|
99
|
+
query = query + c;
|
|
100
|
+
})];
|
|
101
|
+
case 4:
|
|
102
|
+
_d.sent();
|
|
103
|
+
return [3 /*break*/, 6];
|
|
104
|
+
case 5:
|
|
105
|
+
codeOperator = null;
|
|
106
|
+
switch (item.operator) {
|
|
107
|
+
case 'equal':
|
|
108
|
+
codeOperator = '==';
|
|
109
|
+
break;
|
|
110
|
+
case 'not-equal':
|
|
111
|
+
codeOperator = '!=';
|
|
112
|
+
break;
|
|
113
|
+
case 'not-null':
|
|
114
|
+
codeOperator = '!= null';
|
|
115
|
+
break;
|
|
116
|
+
case 'null':
|
|
117
|
+
codeOperator = '== null';
|
|
118
|
+
break;
|
|
119
|
+
case 'gt':
|
|
120
|
+
codeOperator = '>';
|
|
121
|
+
break;
|
|
122
|
+
case 'gte':
|
|
123
|
+
codeOperator = '>=';
|
|
124
|
+
break;
|
|
125
|
+
case 'lt':
|
|
126
|
+
codeOperator = '<';
|
|
127
|
+
break;
|
|
128
|
+
case 'lte':
|
|
129
|
+
codeOperator = '<=';
|
|
130
|
+
break;
|
|
131
|
+
case 'contains':
|
|
132
|
+
codeOperator = item.operator;
|
|
133
|
+
break;
|
|
134
|
+
case 'start-with':
|
|
135
|
+
codeOperator = item.operator;
|
|
136
|
+
break;
|
|
137
|
+
case 'end-with':
|
|
138
|
+
codeOperator = item.operator;
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
debugger;
|
|
142
|
+
query = query + ' ' + item.caption + ' ' + codeOperator + ' ' + item.text;
|
|
143
|
+
_d.label = 6;
|
|
144
|
+
case 6:
|
|
145
|
+
if (id !== group.items.length - 1 && query != ' ( ') {
|
|
146
|
+
query = query + ' ' + group.condition;
|
|
147
|
+
}
|
|
148
|
+
id += 1;
|
|
149
|
+
_d.label = 7;
|
|
150
|
+
case 7: return [3 /*break*/, 2];
|
|
151
|
+
case 8: return [3 /*break*/, 15];
|
|
152
|
+
case 9:
|
|
153
|
+
e_1_1 = _d.sent();
|
|
154
|
+
e_1 = { error: e_1_1 };
|
|
155
|
+
return [3 /*break*/, 15];
|
|
156
|
+
case 10:
|
|
157
|
+
_d.trys.push([10, , 13, 14]);
|
|
158
|
+
if (!(_b && !_b.done && (_c = _a.return))) return [3 /*break*/, 12];
|
|
159
|
+
return [4 /*yield*/, _c.call(_a)];
|
|
160
|
+
case 11:
|
|
161
|
+
_d.sent();
|
|
162
|
+
_d.label = 12;
|
|
163
|
+
case 12: return [3 /*break*/, 14];
|
|
164
|
+
case 13:
|
|
165
|
+
if (e_1) throw e_1.error;
|
|
166
|
+
return [7 /*endfinally*/];
|
|
167
|
+
case 14: return [7 /*endfinally*/];
|
|
168
|
+
case 15:
|
|
169
|
+
if (group.items.length > 0) {
|
|
170
|
+
query = query + ' ) ';
|
|
171
|
+
}
|
|
172
|
+
resolve(query);
|
|
173
|
+
return [2 /*return*/];
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
}); })];
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
};
|
|
72
180
|
AXQueryBuilderService.prototype.getQueryString = function (group, type) {
|
|
73
181
|
var query = '';
|
|
74
182
|
switch (type) {
|
|
75
183
|
case 'simple':
|
|
184
|
+
debugger;
|
|
76
185
|
if (group.items.length > 0) {
|
|
77
186
|
query = ' ( ';
|
|
78
187
|
}
|
|
@@ -129,4 +238,4 @@ var AXQueryBuilderService = /** @class */ (function () {
|
|
|
129
238
|
return AXQueryBuilderService;
|
|
130
239
|
}());
|
|
131
240
|
export { AXQueryBuilderService };
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQTRCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRXhEO0lBQ0ksK0JBQW9CLEtBQXFCLEVBQVUsS0FBcUI7UUFBcEQsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUd4RSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7SUFGeEIsQ0FBQztJQUdNLHdDQUFRLEdBQWYsVUFBZ0IsS0FBMEIsRUFBRSxXQUFXO1FBQXZELGlCQTBCQztRQXhCRyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTztZQUN2QixLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLEtBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDO1lBQ0QsSUFBSSxLQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNkLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixL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S0FBSyxFQUFFO3dCQUNoRCxLQUFLLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO3FCQUN6QztpQkFFSjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDeEIsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUM7aUJBQ3pCO2dCQUVELE1BQU07WUFDVixLQUFLLEtBQUs7Z0JBRU4sTUFBTTtTQUNiO1FBS0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7Z0JBakkwQixjQUFjO2dCQUFpQixjQUFjOzs7SUFEL0QscUJBQXFCO1FBRGpDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQzt5Q0FFSixjQUFjLEVBQWlCLGNBQWM7T0FEL0QscUJBQXFCLENBb0lqQztnQ0ExSUQ7Q0EwSUMsQUFwSUQsSUFvSUM7U0FwSVkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cCwgQVhRdWVyeUJ1aWxkZXJTdHJpbmdUeXBlIH0gZnJvbSBcIi4vcXVlcnktYnVpbGRlci5jbGFzc1wiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnLi4vcG9wdXAvcG9wdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyUG9wdXBDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItcG9wdXAvcXVlcnktYnVpbGRlci1wb3B1cC5jb21wb25lbnQnXHJcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlclNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3B1cDogQVhQb3B1cFNlcnZpY2UsIHByaXZhdGUgdG9hc3Q6IEFYVG9hc3RTZXJ2aWNlKSB7XHJcblxyXG4gICAgfVxyXG4gICAgY2FuT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgY2FuUnVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgcnVuUXVlcnkoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHByb3ZpZGVEYXRhKSB7XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNhbk9wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXROb1ZhbHVlUnVsZShncm91cC5pdGVtc1tpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuY2FuT3Blbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYW5SdW4gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNhblJ1biA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShncm91cC5pdGVtc1tpXSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jYW5SdW4pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcHVwLm9wZW4oQVhRdWVyeUJ1aWxkZXJQb3B1cENvbXBvbmVudCwgeyBkYXRhOiB7IGdyb3VwOiBncm91cCwgcHJvdmlkZURhdGE6IHByb3ZpZGVEYXRhIH0sIHRpdGxlOiBcItiv2LHbjNin2YHYqiDZhdmC2KfYr9uM2LFcIiB9KS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGMpXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoZ3JvdXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcblxyXG5cclxuICAgIH1cclxuXHJcbiAgICBmaW5kTnVsbFZhbHVlKGdyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2FuUnVuID09IHRydWUpIHtcclxuICAgICAgICAgICAgaWYgKGdyLmNvbmRpdGlvbikge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShnci5pdGVtc1tpXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWwgPT0gJz8/Pz98Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuUnVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdC5lcnJvcign2YTYt9mB2Kcg2YbYp9mFINmF2KrYutuM2LEg2YfYp9uMINmF2YjYsdivINmG24zYp9iyINix2Kcg2qnYp9mF2YQg2qnZhtuM2K8nKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXROb1ZhbHVlUnVsZShncikge1xyXG4gICAgICAgIC8vIGZvciAobGV0IGkgPSAwOyBpIDwgZ3IuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoZ3IuY29uZGl0aW9uKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3IuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Tm9WYWx1ZVJ1bGUoZ3IuaXRlbXNbaV0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsPy5pbmRleE9mKCc/Pz8/JykgPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYW5PcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0UXVlcnlTdHJpbmcoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHR5cGU6IEFYUXVlcnlCdWlsZGVyU3RyaW5nVHlwZSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHF1ZXJ5ID0gJyc7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NpbXBsZSc6XHJcbiAgICAgICAgICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ID0gJyAoICc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IGdyb3VwLml0ZW1zW2ldO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgaXRlbS5xdWVyeVN0cmluZztcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgaXRlbS5jYXB0aW9uICsgJyAnICsgaXRlbS5vcGVyYXRvciArICcgJyArIGl0ZW0udmFsdWU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSBncm91cC5pdGVtcy5sZW5ndGggLSAxICYmIHF1ZXJ5ICE9ICcgKCAnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBncm91cC5jb25kaXRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyApICc7XHJcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIGNhc2UgJ2VsYXN0aWMnOlxyXG4gICAgICAgICAgICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBxdWVyeSA9ICcgKCAnO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBncm91cC5pdGVtc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGl0ZW0ucXVlcnlTdHJpbmdFbGFzdGljO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBpdGVtLmRhdGFGaWVsZCArICcgJyArIGl0ZW0ub3BlcmF0b3IgKyAnICcgKyBpdGVtLnZhbHVlO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAoaSAhPT0gZ3JvdXAuaXRlbXMubGVuZ3RoIC0gMSAmJiBxdWVyeSAhPSAnICggJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NxbCc6XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgXHJcblxyXG5cclxuICAgICAgICByZXR1cm4gcXVlcnk7XHJcbiAgICB9XHJcblxyXG59Il19
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQTRCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbkcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRXhEO0lBQ0UsK0JBQW9CLEtBQXFCLEVBQVUsS0FBcUI7UUFBcEQsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN4RSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7SUFGbUQsQ0FBQztJQUdyRSx3Q0FBUSxHQUFmLFVBQWdCLEtBQTBCLEVBQUUsV0FBVztRQUF2RCxpQkFzQkM7UUFyQkMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU87WUFDekIsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMzQyxLQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksS0FBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsS0FBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25C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QUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMxQixLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDdkI7Z0JBRUQsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixNQUFNO1NBQ1Q7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQTVLMEIsY0FBYztnQkFBaUIsY0FBYzs7O0lBRDdELHFCQUFxQjtRQURqQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7eUNBRU4sY0FBYyxFQUFpQixjQUFjO09BRDdELHFCQUFxQixDQThLakM7Z0NBcExEO0NBb0xDLEFBOUtELElBOEtDO1NBOUtZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXAsIEFYUXVlcnlCdWlsZGVyU3RyaW5nVHlwZSB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jbGFzcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICcuLi9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1wb3B1cC9xdWVyeS1idWlsZGVyLXBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wdXA6IEFYUG9wdXBTZXJ2aWNlLCBwcml2YXRlIHRvYXN0OiBBWFRvYXN0U2VydmljZSkge31cclxuICBjYW5PcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2FuUnVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHJ1blF1ZXJ5KGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBwcm92aWRlRGF0YSkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuY2FuT3BlbiA9IGZhbHNlO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5nZXROb1ZhbHVlUnVsZShncm91cC5pdGVtc1tpXSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY2FuT3Blbikge1xyXG4gICAgICAgIHRoaXMuY2FuUnVuID0gdHJ1ZTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5jYW5SdW4gPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbmROdWxsVmFsdWUoZ3JvdXAuaXRlbXNbaV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5jYW5SdW4pIHtcclxuICAgICAgICAgIHRoaXMucG9wdXAub3BlbihBWFF1ZXJ5QnVpbGRlclBvcHVwQ29tcG9uZW50LCB7IGRhdGE6IHsgZ3JvdXA6IGdyb3VwLCBwcm92aWRlRGF0YTogcHJvdmlkZURhdGEgfSwgdGl0bGU6ICfYr9ix24zYp9mB2Kog2YXZgtin2K/bjNixJyB9KS50aGVuKChjKSA9PiB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoYyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzb2x2ZShncm91cCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmluZE51bGxWYWx1ZShncikge1xyXG4gICAgaWYgKHRoaXMuY2FuUnVuID09IHRydWUpIHtcclxuICAgICAgaWYgKGdyLmNvbmRpdGlvbikge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3IuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShnci5pdGVtc1tpXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsID09ICc/Pz8/fCcpIHtcclxuICAgICAgICAgIHRoaXMuY2FuUnVuID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0LmVycm9yKCfZhNi32YHYpyDZhtin2YUg2YXYqti624zYsSDZh9in24wg2YXZiNix2K8g2YbbjNin2LIg2LHYpyDaqdin2YXZhCDaqdmG24zYrycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROb1ZhbHVlUnVsZShncikge1xyXG4gICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKGdyLmNvbmRpdGlvbikge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5nZXROb1ZhbHVlUnVsZShnci5pdGVtc1tpXSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsPy5pbmRleE9mKCc/Pz8/JykgPT0gMCkge1xyXG4gICAgICAgIHRoaXMuY2FuT3BlbiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0UXVlcnlTdHJpbmdTaW1wbGUoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgZGVidWdnZXI7XHJcbiAgICAgIHZhciBxdWVyeTogc3RyaW5nO1xyXG4gICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHF1ZXJ5ID0gJyAoICc7XHJcbiAgICAgIH1cclxuICAgICAgdmFyIGlkID0gMDtcclxuICAgICAgZm9yIGF3YWl0IChjb25zdCBpdGVyYXRvciBvZiBncm91cC5pdGVtcykge1xyXG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IGdyb3VwLml0ZW1zW2lkXTtcclxuICAgICAgICBpZiAoaXRlbS5jb25kaXRpb24pIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UXVlcnlTdHJpbmdTaW1wbGUoaXRlbSkudGhlbigoYykgPT4ge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgYztcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgY29kZU9wZXJhdG9yOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgICAgICAgc3dpdGNoIChpdGVtLm9wZXJhdG9yKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2VxdWFsJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPT0nO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdub3QtZXF1YWwnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICchPSc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ25vdC1udWxsJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnIT0gbnVsbCc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ251bGwnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc9PSBudWxsJztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZ3QnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc+JztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZ3RlJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPj0nO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdsdCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJzwnO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdsdGUnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc8PSc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NvbnRhaW5zJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSBpdGVtLm9wZXJhdG9yO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdzdGFydC13aXRoJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSBpdGVtLm9wZXJhdG9yO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdlbmQtd2l0aCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGl0ZW0uY2FwdGlvbiArICcgJyArIGNvZGVPcGVyYXRvciArICcgJyArIGl0ZW0udGV4dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlkICE9PSBncm91cC5pdGVtcy5sZW5ndGggLSAxICYmIHF1ZXJ5ICE9ICcgKCAnKSB7XHJcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZCArPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc29sdmUocXVlcnkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UXVlcnlTdHJpbmcoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHR5cGU6IEFYUXVlcnlCdWlsZGVyU3RyaW5nVHlwZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcXVlcnkgPSAnJztcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdzaW1wbGUnOlxyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBxdWVyeSA9ICcgKCAnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gZ3JvdXAuaXRlbXNbaV07XHJcbiAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGl0ZW0ucXVlcnlTdHJpbmc7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgaXRlbS5jYXB0aW9uICsgJyAnICsgaXRlbS5vcGVyYXRvciArICcgJyArIGl0ZW0udmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoaSAhPT0gZ3JvdXAuaXRlbXMubGVuZ3RoIC0gMSAmJiBxdWVyeSAhPSAnICggJykge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ2VsYXN0aWMnOlxyXG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBxdWVyeSA9ICcgKCAnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gZ3JvdXAuaXRlbXNbaV07XHJcbiAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGl0ZW0ucXVlcnlTdHJpbmdFbGFzdGljO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGl0ZW0uZGF0YUZpZWxkICsgJyAnICsgaXRlbS5vcGVyYXRvciArICcgJyArIGl0ZW0udmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoaSAhPT0gZ3JvdXAuaXRlbXMubGVuZ3RoIC0gMSAmJiBxdWVyeSAhPSAnICggJykge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NxbCc6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHF1ZXJ5O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -2,7 +2,6 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { AXTabPageRendererComponent } from './tab-page-Renderer.component';
|
|
5
|
-
import { AXTabPageService } from './tab-page.service';
|
|
6
5
|
import { AXLoadingModule } from '../loading/loading.module';
|
|
7
6
|
import { AXTabPageHostComponent } from './tab-page-host.component';
|
|
8
7
|
var AXTabPageModule = /** @class */ (function () {
|
|
@@ -14,10 +13,10 @@ var AXTabPageModule = /** @class */ (function () {
|
|
|
14
13
|
imports: [CommonModule, AXLoadingModule],
|
|
15
14
|
exports: [AXTabPageRendererComponent],
|
|
16
15
|
entryComponents: [AXTabPageRendererComponent, AXTabPageHostComponent],
|
|
17
|
-
providers: [
|
|
16
|
+
providers: [],
|
|
18
17
|
})
|
|
19
18
|
], AXTabPageModule);
|
|
20
19
|
return AXTabPageModule;
|
|
21
20
|
}());
|
|
22
21
|
export { AXTabPageModule };
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3RhYi1wYWdlL3RhYi1wYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBU25FO0lBQUE7SUFBK0IsQ0FBQztJQUFuQixlQUFlO1FBUDNCLFFBQVEsQ0FBQztZQUNOLFlBQVksRUFBRSxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixDQUFDO1lBQ2xFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7WUFDckMsZUFBZSxFQUFFLENBQUMsMEJBQTBCLEVBQUUsc0JBQXNCLENBQUM7WUFDckUsU0FBUyxFQUFFLEVBQUU7U0FDaEIsQ0FBQztPQUNXLGVBQWUsQ0FBSTtJQUFELHNCQUFDO0NBQUEsQUFBaEMsSUFBZ0M7U0FBbkIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYVGFiUGFnZVJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi90YWItcGFnZS1SZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICcuLi9sb2FkaW5nL2xvYWRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgQVhUYWJQYWdlSG9zdENvbXBvbmVudCB9IGZyb20gJy4vdGFiLXBhZ2UtaG9zdC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW0FYVGFiUGFnZVJlbmRlcmVyQ29tcG9uZW50LCBBWFRhYlBhZ2VIb3N0Q29tcG9uZW50XSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYTG9hZGluZ01vZHVsZV0sXHJcbiAgICBleHBvcnRzOiBbQVhUYWJQYWdlUmVuZGVyZXJDb21wb25lbnRdLFxyXG4gICAgZW50cnlDb21wb25lbnRzOiBbQVhUYWJQYWdlUmVuZGVyZXJDb21wb25lbnQsIEFYVGFiUGFnZUhvc3RDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGFiUGFnZU1vZHVsZSB7IH0iXX0=
|