ngx-render-material-forms 2.5.10 → 2.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/FormioControl.mjs +4 -4
- package/esm2020/lib/components/MaterialComponent.mjs +6 -6
- package/esm2020/lib/components/add-on-products/add-on-products.component.mjs +17 -18
- package/esm2020/lib/components/button/button.component.mjs +6 -6
- package/esm2020/lib/components/calendar/calendar.component.mjs +5 -5
- package/esm2020/lib/components/checkbox/checkbox.component.mjs +6 -6
- package/esm2020/lib/components/confirmation-dialog/confirmation-dialog.component.mjs +7 -7
- package/esm2020/lib/components/currency/currency.component.mjs +3 -3
- package/esm2020/lib/components/datagrid/datagrid.component.mjs +12 -12
- package/esm2020/lib/components/date/date.component.mjs +3 -3
- package/esm2020/lib/components/day/day.component.mjs +5 -6
- package/esm2020/lib/components/email/email.component.mjs +3 -3
- package/esm2020/lib/components/fieldset/fieldset.component.mjs +3 -3
- package/esm2020/lib/components/formio-form-field/formio-form-field.component.mjs +2 -2
- package/esm2020/lib/components/formio.wizard.mjs +2 -2
- package/esm2020/lib/components/hidden/hidden.component.mjs +2 -2
- package/esm2020/lib/components/label/label.component.mjs +3 -3
- package/esm2020/lib/components/number/number.component.mjs +3 -3
- package/esm2020/lib/components/panel/panel.component.mjs +5 -5
- package/esm2020/lib/components/password/password.component.mjs +3 -3
- package/esm2020/lib/components/phonenumber/phonenumber.component.mjs +3 -3
- package/esm2020/lib/components/radio/radio.component.mjs +3 -3
- package/esm2020/lib/components/select/select.component.mjs +5 -6
- package/esm2020/lib/components/selectboxes/selectboxes.component.mjs +3 -3
- package/esm2020/lib/components/signature/signature.component.mjs +3 -3
- package/esm2020/lib/components/survey/survey.component.mjs +3 -3
- package/esm2020/lib/components/table/table.component.mjs +2 -2
- package/esm2020/lib/components/tabs/tabs.component.mjs +2 -2
- package/esm2020/lib/components/tags/tags.component.mjs +12 -14
- package/esm2020/lib/components/textarea/textarea.component.mjs +4 -4
- package/esm2020/lib/components/textfield/textfield.component.mjs +3 -3
- package/esm2020/lib/components/time/time.component.mjs +2 -2
- package/esm2020/lib/components/url/url.component.mjs +3 -3
- package/esm2020/lib/components/well/well.component.mjs +5 -5
- package/esm2020/lib/directives/mask.directive.mjs +2 -2
- package/esm2020/lib/formio.component.mjs +3 -3
- package/esm2020/lib/ngx-render-material-forms.module.mjs +16 -21
- package/fesm2015/ngx-render-material-forms.js +206 -257
- package/fesm2015/ngx-render-material-forms.mjs.map +1 -1
- package/fesm2020/ngx-render-material-forms.js +205 -256
- package/fesm2020/ngx-render-material-forms.mjs.map +1 -1
- package/lib/components/add-on-products/add-on-products.component.d.ts +4 -4
- package/lib/components/button/button.component.d.ts +1 -1
- package/lib/components/confirmation-dialog/confirmation-dialog.component.d.ts +1 -1
- package/lib/components/datagrid/datagrid.component.d.ts +3 -3
- package/lib/components/select/select.component.d.ts +1 -1
- package/lib/components/tags/tags.component.d.ts +1 -1
- package/lib/ngx-render-material-forms.module.d.ts +30 -31
- package/package.json +1 -1
- package/esm2020/lib/directives/mat-select-legacy-bridge.directive.mjs +0 -49
- package/lib/directives/mat-select-legacy-bridge.directive.d.ts +0 -9
|
@@ -2,9 +2,6 @@ import { FormControl } from '@angular/forms';
|
|
|
2
2
|
import unescape from 'lodash/unescape';
|
|
3
3
|
// @dynamic
|
|
4
4
|
export class FormioControl extends FormControl {
|
|
5
|
-
constructor(...args) {
|
|
6
|
-
super(args[0], [], [FormioControl.customValidator.bind(FormioControl)]);
|
|
7
|
-
}
|
|
8
5
|
static customValidator(control) {
|
|
9
6
|
return new Promise((resolve) => {
|
|
10
7
|
if (control.instance) {
|
|
@@ -15,6 +12,9 @@ export class FormioControl extends FormControl {
|
|
|
15
12
|
}
|
|
16
13
|
});
|
|
17
14
|
}
|
|
15
|
+
constructor(...args) {
|
|
16
|
+
super(args[0], [], [FormioControl.customValidator.bind(FormioControl)]);
|
|
17
|
+
}
|
|
18
18
|
setInstance(instance) {
|
|
19
19
|
this.instance = instance;
|
|
20
20
|
const setCustomValidity = instance.setCustomValidity;
|
|
@@ -33,4 +33,4 @@ export class FormioControl extends FormControl {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybWlvQ29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9Gb3JtaW9Db250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxRQUFRLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsV0FBVztBQUNYLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBVztJQUc1QyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQXNCO1FBQzNDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BCLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQzthQUM1QztpQkFBTTtnQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksR0FBRyxJQUFJO1FBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztRQUNyRCxRQUFRLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxPQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEdBQUcsS0FBSyxFQUFFLEVBQUU7WUFDaEYsSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUIsY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdGO2lCQUNJLElBQUksT0FBTyxFQUFFO2dCQUNoQixjQUFjLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3BDO1lBRUQsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3RSxJQUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUU7Z0JBQzVCLFFBQVEsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEU7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHVuZXNjYXBlIGZyb20gJ2xvZGFzaC91bmVzY2FwZSc7XHJcblxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgRm9ybWlvQ29udHJvbCBleHRlbmRzIEZvcm1Db250cm9sIHtcclxuICBwdWJsaWMgaW5zdGFuY2U6IGFueTtcclxuXHJcbiAgc3RhdGljIGN1c3RvbVZhbGlkYXRvcihjb250cm9sOiBGb3JtaW9Db250cm9sKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wuaW5zdGFuY2UpIHtcclxuICAgICAgICBjb250cm9sLmluc3RhbmNlLnZhbGlkYXRlUmVzb2x2ZSA9IHJlc29sdmU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvciguLi5hcmdzKSB7XHJcbiAgICBzdXBlcihhcmdzWzBdLCBbXSwgW0Zvcm1pb0NvbnRyb2wuY3VzdG9tVmFsaWRhdG9yLmJpbmQoRm9ybWlvQ29udHJvbCldKTtcclxuICB9XHJcblxyXG4gIHNldEluc3RhbmNlKGluc3RhbmNlOiBhbnkpIHtcclxuICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcclxuICAgIGNvbnN0IHNldEN1c3RvbVZhbGlkaXR5ID0gaW5zdGFuY2Uuc2V0Q3VzdG9tVmFsaWRpdHk7XHJcbiAgICBpbnN0YW5jZS5zZXRDdXN0b21WYWxpZGl0eSA9IChtZXNzYWdlOiBhbnksIGRpcnR5LCBleHRlcm5hbCwgaXNXYXJuaW5nID0gZmFsc2UpID0+IHtcclxuICAgICAgbGV0IGRlY29kZWRNZXNzYWdlID0gbWVzc2FnZTtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVzc2FnZSkpIHtcclxuICAgICAgICBkZWNvZGVkTWVzc2FnZSA9IG1lc3NhZ2UubWFwKG1zZyA9PiBPYmplY3QuYXNzaWduKG1zZywgeyBtZXNzYWdlOiB1bmVzY2FwZShtc2cubWVzc2FnZSkgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgICBkZWNvZGVkTWVzc2FnZSA9IHVuZXNjYXBlKG1lc3NhZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzZXRDdXN0b21WYWxpZGl0eS5jYWxsKGluc3RhbmNlLCBkZWNvZGVkTWVzc2FnZSwgZGlydHksIGV4dGVybmFsLCBpc1dhcm5pbmcpO1xyXG4gICAgICBpZiAoaW5zdGFuY2UudmFsaWRhdGVSZXNvbHZlKSB7XHJcbiAgICAgICAgaW5zdGFuY2UudmFsaWRhdGVSZXNvbHZlKGRlY29kZWRNZXNzYWdlID8ge2N1c3RvbTogdHJ1ZX0gOiBudWxsKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -4,7 +4,7 @@ import Validator from 'formiojs/validator/Validator.js';
|
|
|
4
4
|
import { FormioControl } from '../FormioControl';
|
|
5
5
|
import get from 'lodash/get';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/material/
|
|
7
|
+
import * as i1 from "@angular/material/card";
|
|
8
8
|
export class MaterialComponent {
|
|
9
9
|
constructor(element, ref) {
|
|
10
10
|
this.element = element;
|
|
@@ -119,8 +119,8 @@ export class MaterialComponent {
|
|
|
119
119
|
}
|
|
120
120
|
if (this.input) {
|
|
121
121
|
// Set the input masks.
|
|
122
|
-
const
|
|
123
|
-
if (
|
|
122
|
+
const mask = this.instance?.component?.inputMask || this.instance?.component?.mask;
|
|
123
|
+
if (mask) {
|
|
124
124
|
this.instance.setInputMask(this.input.nativeElement);
|
|
125
125
|
}
|
|
126
126
|
this.instance.addFocusBlurEvents(this.input.nativeElement);
|
|
@@ -128,12 +128,12 @@ export class MaterialComponent {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
MaterialComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
-
MaterialComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MaterialComponent, selector: "mat-formio-comp", inputs: { instance: "instance", control: "control" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: '<mat-card>Unknown Component: {{ instance.component.type }}</mat-card>', isInline: true, dependencies: [{ kind: "component", type: i1.
|
|
131
|
+
MaterialComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MaterialComponent, selector: "mat-formio-comp", inputs: { instance: "instance", control: "control" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: '<mat-card appearance="outlined">Unknown Component: {{ instance.component.type }}</mat-card>', isInline: true, dependencies: [{ kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }] });
|
|
132
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
134
134
|
args: [{
|
|
135
135
|
selector: 'mat-formio-comp',
|
|
136
|
-
template: '<mat-card>Unknown Component: {{ instance.component.type }}</mat-card>'
|
|
136
|
+
template: '<mat-card appearance="outlined">Unknown Component: {{ instance.component.type }}</mat-card>'
|
|
137
137
|
}]
|
|
138
138
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { instance: [{
|
|
139
139
|
type: Input
|
|
@@ -145,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
145
145
|
}] } });
|
|
146
146
|
FormioComponent.MaterialComponent = MaterialComponent;
|
|
147
147
|
export { FormioComponent };
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9NYXRlcmlhbENvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQXVELE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sZUFBZSxNQUFNLFFBQVEsQ0FBQztBQUNyQyxPQUFPLFNBQVMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDOzs7QUFNN0IsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFtQixPQUFtQixFQUFTLEdBQXNCO1FBQWxELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUQ1RCxZQUFPLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7SUFDa0IsQ0FBQztJQUV6RSxXQUFXLENBQUMsUUFBYTtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNq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LEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN0RDtZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7OytHQWxKVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2TUFGbEIsdUVBQXVFOzRGQUV0RSxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLHVFQUF1RTtpQkFDbEY7aUlBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDYyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1QsT0FBTztzQkFBZixLQUFLOztBQWtKUixlQUFlLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBBZnRlclZpZXdJbml0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgRm9ybWlvQ29tcG9uZW50IGZyb20gJy4vQmFzZSc7XHJcbmltcG9ydCBWYWxpZGF0b3IgZnJvbSAnZm9ybWlvanMvdmFsaWRhdG9yL1ZhbGlkYXRvci5qcyc7XHJcbmltcG9ydCB7IEZvcm1pb0NvbnRyb2wgfSBmcm9tICcuLi9Gb3JtaW9Db250cm9sJztcclxuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1jb21wJyxcclxuICB0ZW1wbGF0ZTogJzxtYXQtY2FyZD5Vbmtub3duIENvbXBvbmVudDoge3sgaW5zdGFuY2UuY29tcG9uZW50LnR5cGUgfX08L21hdC1jYXJkPidcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBpbnN0YW5jZTogYW55O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgY29udHJvbDogRm9ybWlvQ29udHJvbCA9IG5ldyBGb3JtaW9Db250cm9sKCk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHB1YmxpYyByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBzZXRJbnN0YW5jZShpbnN0YW5jZTogYW55KSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0SW5zdGFuY2UoaW5zdGFuY2UpO1xyXG4gICAgaW5zdGFuY2UubWF0ZXJpYWxDb21wb25lbnQgPSB0aGlzO1xyXG4gICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xyXG4gICAgdGhpcy5pbnN0YW5jZS5kaXNhYmxlZCA9IHRoaXMuaW5zdGFuY2Uuc2hvdWxkRGlzYWJsZWQ7XHJcbiAgICB0aGlzLnNldFZpc2libGUodGhpcy5pbnN0YW5jZS52aXNpYmxlKTtcclxuICAgIHRoaXMucmVuZGVyQ29tcG9uZW50cygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xyXG4gICAgICBpZiAodGhpcy5zaG91bGRWYWxpZGF0ZU9uSW5pdCgpKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUZvcm1EYXRhKCk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZU9uSW5pdCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmRlZmF1bHRWYWx1ZSA/IHRoaXMuc2V0VmFsdWUodGhpcy5pbnN0YW5jZS5jb21wb25lbnQuZGVmYXVsdFZhbHVlKSA6ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVPbkluaXQoKSB7XHJcbiAgICBjb25zdCB7a2V5fSA9IHRoaXMuaW5zdGFuY2UuY29tcG9uZW50O1xyXG4gICAgY29uc3QgdmFsaWRhdGlvblZhbHVlID0gdGhpcy5nZXRGb3JtVmFsdWUodGhpcy5pbnN0YW5jZS5wYXRoKTtcclxuXHJcbiAgICBpZiAodmFsaWRhdGlvblZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluc3RhbmNlLnNldFByaXN0aW5lKGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gVmFsaWRhdG9yLmNoZWNrQ29tcG9uZW50KFxyXG4gICAgICB0aGlzLmluc3RhbmNlLFxyXG4gICAgICB7W2tleV06IHZhbGlkYXRpb25WYWx1ZX0sXHJcbiAgICAgIHtba2V5XTogdmFsaWRhdGlvblZhbHVlfVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5pbnN0YW5jZS5zZXRDdXN0b21WYWxpZGl0eSh2YWxpZGF0aW9uUmVzdWx0LCBmYWxzZSk7XHJcbiAgICAgIGlmICghIXZhbGlkYXRpb25WYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RvcmVGb3JtRGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmluc3RhbmNlLnBhcmVudCAmJiB0aGlzLmluc3RhbmNlLnBhcmVudC5zdWJtaXNzaW9uICYmIHRoaXMuaW5zdGFuY2UucGFyZW50LnN1Ym1pc3Npb24uZGF0YSkge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdmb3JtRGF0YScsIEpTT04uc3RyaW5naWZ5KHRoaXMuaW5zdGFuY2UucGFyZW50LnN1Ym1pc3Npb24uZGF0YSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybVZhbHVlKHBhdGgpIHtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdmb3JtRGF0YScpKTtcclxuXHJcbiAgICBpZiAoIWZvcm1EYXRhKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBnZXQoZm9ybURhdGEsIHBhdGgpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ29tcG9uZW50cygpIHt9XHJcblxyXG4gIG9uQ2hhbmdlKGtlZXBJbnB1dFJhdz86IGJvb2xlYW4pIHtcclxuICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuXHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgICB2YWx1ZSA9IHRoaXMuaW5zdGFuY2UuZW1wdHlWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQubWFzayAmJiB2YWx1ZSAmJiAha2VlcElucHV0UmF3KSB7XHJcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5tYXNrLnRleHRNYXNrSW5wdXRFbGVtZW50LnVwZGF0ZSh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xyXG4gICAgICB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5zdGFuY2UudXBkYXRlVmFsdWUodmFsdWUsIHttb2RpZmllZDogdHJ1ZX0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBiZWZvcmVTdWJtaXQoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gISF0aGlzLmluc3RhbmNlICYmICEhdGhpcy5pbnN0YW5jZS5lcnJvcjtcclxuICB9XHJcblxyXG4gIHNob3VsZFZhbGlkYXRlT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnN0YW5jZS5vcHRpb25zLnZhbGlkYXRlT25Jbml0XHJcbiAgICAgIHx8IHRoaXMuaW5zdGFuY2UucGFyZW50Lm9wdGlvbnMudmFsaWRhdGVPbkluaXQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZChkaXNhYmxlZCkge1xyXG4gICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWaXNpYmxlKHZpc2libGUpIHtcclxuICAgIGlmICh0aGlzLmVsZW1lbnQgJiYgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgaWYgKHZpc2libGUpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgdHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudCAmJiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCAmJiB0aGlzLmluc3RhbmNlKSB7XHJcbiAgICAgIC8vIEFkZCBjdXN0b20gY2xhc3NlcyB0byBlbGVtZW50cy5cclxuICAgICAgaWYgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmN1c3RvbUNsYXNzKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5jdXN0b21DbGFzcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pbnB1dCkge1xyXG4gICAgICAvLyBTZXQgdGhlIGlucHV0IG1hc2tzLlxyXG4gICAgICBjb25zdCBpbnB1dE1hc2sgPSB0aGlzLmluc3RhbmNlPy5jb21wb25lbnQ/LmlucHV0TWFzaztcclxuICAgICAgaWYgKHR5cGVvZiBpbnB1dE1hc2sgPT09ICdzdHJpbmcnICYmIGlucHV0TWFzay5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5zZXRJbnB1dE1hc2sodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmluc3RhbmNlLmFkZEZvY3VzQmx1ckV2ZW50cyh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuRm9ybWlvQ29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxDb21wb25lbnQ7XHJcbmV4cG9ydCB7IEZvcm1pb0NvbXBvbmVudCB9O1xyXG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9NYXRlcmlhbENvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQXVELE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sZUFBZSxNQUFNLFFBQVEsQ0FBQztBQUNyQyxPQUFPLFNBQVMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDOzs7QUFNN0IsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFtQixPQUFtQixFQUFTLEdBQXNCO1FBQWxELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUQ1RCxZQUFPLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7SUFDa0IsQ0FBQztJQUV6RSxXQUFXLENBQUMsUUFBYTtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNq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Q0FBQyxhQUFhLENBQUMsQ0FBQzthQUN0RDtZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7OytHQWxKVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2TUFGbEIsNkZBQTZGOzRGQUU1RixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLDZGQUE2RjtpQkFDeEc7aUlBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDYyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1QsT0FBTztzQkFBZixLQUFLOztBQWtKUixlQUFlLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBBZnRlclZpZXdJbml0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgRm9ybWlvQ29tcG9uZW50IGZyb20gJy4vQmFzZSc7XHJcbmltcG9ydCBWYWxpZGF0b3IgZnJvbSAnZm9ybWlvanMvdmFsaWRhdG9yL1ZhbGlkYXRvci5qcyc7XHJcbmltcG9ydCB7IEZvcm1pb0NvbnRyb2wgfSBmcm9tICcuLi9Gb3JtaW9Db250cm9sJztcclxuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1jb21wJyxcclxuICB0ZW1wbGF0ZTogJzxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj5Vbmtub3duIENvbXBvbmVudDoge3sgaW5zdGFuY2UuY29tcG9uZW50LnR5cGUgfX08L21hdC1jYXJkPidcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBpbnN0YW5jZTogYW55O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgY29udHJvbDogRm9ybWlvQ29udHJvbCA9IG5ldyBGb3JtaW9Db250cm9sKCk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHB1YmxpYyByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBzZXRJbnN0YW5jZShpbnN0YW5jZTogYW55KSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0SW5zdGFuY2UoaW5zdGFuY2UpO1xyXG4gICAgaW5zdGFuY2UubWF0ZXJpYWxDb21wb25lbnQgPSB0aGlzO1xyXG4gICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xyXG4gICAgdGhpcy5pbnN0YW5jZS5kaXNhYmxlZCA9IHRoaXMuaW5zdGFuY2Uuc2hvdWxkRGlzYWJsZWQ7XHJcbiAgICB0aGlzLnNldFZpc2libGUodGhpcy5pbnN0YW5jZS52aXNpYmxlKTtcclxuICAgIHRoaXMucmVuZGVyQ29tcG9uZW50cygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xyXG4gICAgICBpZiAodGhpcy5zaG91bGRWYWxpZGF0ZU9uSW5pdCgpKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUZvcm1EYXRhKCk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZU9uSW5pdCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmRlZmF1bHRWYWx1ZSA/IHRoaXMuc2V0VmFsdWUodGhpcy5pbnN0YW5jZS5jb21wb25lbnQuZGVmYXVsdFZhbHVlKSA6ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVPbkluaXQoKSB7XHJcbiAgICBjb25zdCB7a2V5fSA9IHRoaXMuaW5zdGFuY2UuY29tcG9uZW50O1xyXG4gICAgY29uc3QgdmFsaWRhdGlvblZhbHVlID0gdGhpcy5nZXRGb3JtVmFsdWUodGhpcy5pbnN0YW5jZS5wYXRoKTtcclxuXHJcbiAgICBpZiAodmFsaWRhdGlvblZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluc3RhbmNlLnNldFByaXN0aW5lKGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gVmFsaWRhdG9yLmNoZWNrQ29tcG9uZW50KFxyXG4gICAgICB0aGlzLmluc3RhbmNlLFxyXG4gICAgICB7W2tleV06IHZhbGlkYXRpb25WYWx1ZX0sXHJcbiAgICAgIHtba2V5XTogdmFsaWRhdGlvblZhbHVlfVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5pbnN0YW5jZS5zZXRDdXN0b21WYWxpZGl0eSh2YWxpZGF0aW9uUmVzdWx0LCBmYWxzZSk7XHJcbiAgICAgIGlmICghIXZhbGlkYXRpb25WYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RvcmVGb3JtRGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmluc3RhbmNlLnBhcmVudCAmJiB0aGlzLmluc3RhbmNlLnBhcmVudC5zdWJtaXNzaW9uICYmIHRoaXMuaW5zdGFuY2UucGFyZW50LnN1Ym1pc3Npb24uZGF0YSkge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdmb3JtRGF0YScsIEpTT04uc3RyaW5naWZ5KHRoaXMuaW5zdGFuY2UucGFyZW50LnN1Ym1pc3Npb24uZGF0YSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybVZhbHVlKHBhdGgpIHtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdmb3JtRGF0YScpKTtcclxuXHJcbiAgICBpZiAoIWZvcm1EYXRhKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBnZXQoZm9ybURhdGEsIHBhdGgpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ29tcG9uZW50cygpIHt9XHJcblxyXG4gIG9uQ2hhbmdlKGtlZXBJbnB1dFJhdz86IGJvb2xlYW4pIHtcclxuICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuXHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgICB2YWx1ZSA9IHRoaXMuaW5zdGFuY2UuZW1wdHlWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQubWFzayAmJiB2YWx1ZSAmJiAha2VlcElucHV0UmF3KSB7XHJcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5tYXNrLnRleHRNYXNrSW5wdXRFbGVtZW50LnVwZGF0ZSh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xyXG4gICAgICB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5zdGFuY2UudXBkYXRlVmFsdWUodmFsdWUsIHttb2RpZmllZDogdHJ1ZX0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBiZWZvcmVTdWJtaXQoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gISF0aGlzLmluc3RhbmNlICYmICEhdGhpcy5pbnN0YW5jZS5lcnJvcjtcclxuICB9XHJcblxyXG4gIHNob3VsZFZhbGlkYXRlT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnN0YW5jZS5vcHRpb25zLnZhbGlkYXRlT25Jbml0XHJcbiAgICAgIHx8IHRoaXMuaW5zdGFuY2UucGFyZW50Lm9wdGlvbnMudmFsaWRhdGVPbkluaXQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZChkaXNhYmxlZCkge1xyXG4gICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWaXNpYmxlKHZpc2libGUpIHtcclxuICAgIGlmICh0aGlzLmVsZW1lbnQgJiYgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgaWYgKHZpc2libGUpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgdHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudCAmJiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCAmJiB0aGlzLmluc3RhbmNlKSB7XHJcbiAgICAgIC8vIEFkZCBjdXN0b20gY2xhc3NlcyB0byBlbGVtZW50cy5cclxuICAgICAgaWYgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmN1c3RvbUNsYXNzKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5jdXN0b21DbGFzcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pbnB1dCkge1xyXG4gICAgICAvLyBTZXQgdGhlIGlucHV0IG1hc2tzLlxyXG4gICAgICBjb25zdCBtYXNrID0gdGhpcy5pbnN0YW5jZT8uY29tcG9uZW50Py5pbnB1dE1hc2sgfHwgdGhpcy5pbnN0YW5jZT8uY29tcG9uZW50Py5tYXNrO1xyXG4gICAgICBpZiAobWFzaykge1xyXG4gICAgICAgIHRoaXMuaW5zdGFuY2Uuc2V0SW5wdXRNYXNrKHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbnN0YW5jZS5hZGRGb2N1c0JsdXJFdmVudHModGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkZvcm1pb0NvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsQ29tcG9uZW50O1xyXG5leHBvcnQgeyBGb3JtaW9Db21wb25lbnQgfTtcclxuIl19
|