sf-crud 12.1.1 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sf-crud.umd.js +3818 -3496
- package/bundles/sf-crud.umd.js.map +1 -1
- package/esm2015/lib/components/control/control.component.js +23 -9
- package/esm2015/lib/components/form/form.component.js +27 -5
- package/esm2015/lib/components/registro/registro.component.js +181 -16
- package/esm2015/lib/directives/format-address.pipe.js +22 -0
- package/esm2015/lib/sf-crud.module.js +6 -3
- package/esm2015/lib/sf-crud.service.js +30 -1
- package/esm2015/lib/shared/models/shema.model.js +1 -1
- package/esm2015/lib/shared/services/step.service.js +2 -4
- package/fesm2015/sf-crud.js +281 -33
- package/fesm2015/sf-crud.js.map +1 -1
- package/lib/components/control/control.component.d.ts +4 -1
- package/lib/components/form/form.component.d.ts +6 -1
- package/lib/components/registro/registro.component.d.ts +15 -8
- package/lib/directives/format-address.pipe.d.ts +7 -0
- package/lib/sf-crud.module.d.ts +78 -77
- package/lib/sf-crud.service.d.ts +15 -0
- package/lib/shared/models/shema.model.d.ts +1 -0
- package/lib/shared/services/general.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FormatAddressPipe {
|
|
4
|
+
transform(address, separator) {
|
|
5
|
+
if (!address) {
|
|
6
|
+
return address;
|
|
7
|
+
}
|
|
8
|
+
if (separator) {
|
|
9
|
+
return address.replaceAll(separator, ' ').replaceAll(' ', ' ');
|
|
10
|
+
}
|
|
11
|
+
return address;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
FormatAddressPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormatAddressPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
15
|
+
FormatAddressPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormatAddressPipe, name: "formatAddress" });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormatAddressPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
name: 'formatAddress'
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWFkZHJlc3MucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NmLWNydWQvc3JjL2xpYi9kaXJlY3RpdmVzL2Zvcm1hdC1hZGRyZXNzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsU0FBUyxDQUFDLE9BQTJCLEVBQUUsU0FBa0I7UUFDdkQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDakU7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzsrR0FaVSxpQkFBaUI7NkdBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUg3QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZm9ybWF0QWRkcmVzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEFkZHJlc3NQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybShhZGRyZXNzOiBzdHJpbmcgfCB1bmRlZmluZWQsIHNlcGFyYXRvcj86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIWFkZHJlc3MpIHtcclxuICAgICAgcmV0dXJuIGFkZHJlc3M7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHNlcGFyYXRvcikge1xyXG4gICAgICByZXR1cm4gYWRkcmVzcy5yZXBsYWNlQWxsKHNlcGFyYXRvciwgJyAnKS5yZXBsYWNlQWxsKCcgICcsICcgJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFkZHJlc3M7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -88,6 +88,7 @@ import { SfPdfsignModule } from 'sf-pdfsign';
|
|
|
88
88
|
import { SfSimuladorModule } from 'sf-simulador';
|
|
89
89
|
import { FileUploadComponent } from './components/file-upload/file-upload.component';
|
|
90
90
|
import { SfAdoModule } from "sf-ado";
|
|
91
|
+
import { FormatAddressPipe } from './directives/format-address.pipe';
|
|
91
92
|
import * as i0 from "@angular/core";
|
|
92
93
|
export class SfCrudModule {
|
|
93
94
|
}
|
|
@@ -98,7 +99,8 @@ SfCrudModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
98
99
|
ControlComponent,
|
|
99
100
|
StepComponent,
|
|
100
101
|
FormComponent,
|
|
101
|
-
FileUploadComponent
|
|
102
|
+
FileUploadComponent,
|
|
103
|
+
FormatAddressPipe], imports: [SfCrudRoutingModule,
|
|
102
104
|
SfPdfsignModule,
|
|
103
105
|
SfSimuladorModule,
|
|
104
106
|
AccordionModule,
|
|
@@ -265,7 +267,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
265
267
|
ControlComponent,
|
|
266
268
|
StepComponent,
|
|
267
269
|
FormComponent,
|
|
268
|
-
FileUploadComponent
|
|
270
|
+
FileUploadComponent,
|
|
271
|
+
FormatAddressPipe
|
|
269
272
|
],
|
|
270
273
|
imports: [
|
|
271
274
|
SfCrudRoutingModule,
|
|
@@ -353,4 +356,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
353
356
|
]
|
|
354
357
|
}]
|
|
355
358
|
}] });
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2YtY3J1ZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZi1jcnVkL3NyYy9saWIvc2YtY3J1ZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsMkRBQTJEO0FBQzNELGtCQUFrQjtBQUNsQiwyREFBMkQ7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxF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QUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixVQUFVO3dCQUNWLFdBQVc7cUJBQ2Q7b0JBQ0MsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gUHJpbWVORyBNb2R1bGVzXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbmltcG9ydCB7IEFjY29yZGlvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYWNjb3JkaW9uJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBBdmF0YXJHcm91cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXZhdGFyZ3JvdXAnO1xyXG5pbXBvcnQgeyBBdmF0YXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2F2YXRhcic7XHJcbmltcG9ydCB7IEJhZGdlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9iYWRnZSc7XHJcbmltcG9ydCB7IEJsb2NrVUlNb2R1bGUgfSBmcm9tICdwcmltZW5nL2Jsb2NrdWknO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9icmVhZGNydW1iJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYXJkJztcclxuaW1wb3J0IHsgQ2Fyb3VzZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL2Nhcm91c2VsJztcclxuaW1wb3J0IHsgQ2FzY2FkZVNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FzY2FkZXNlbGVjdCc7XHJcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XHJcbmltcG9ydCB7IENoaXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoaXAnO1xyXG5pbXBvcnQgeyBDaGlwc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hpcHMnO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29sb3JwaWNrZXInO1xyXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcclxuaW1wb3J0IHsgQ29uZmlybVBvcHVwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtcG9wdXAnO1xyXG5pbXBvcnQgeyBDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29udGV4dG1lbnUnO1xyXG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XHJcbmltcG9ydCB7IERpdmlkZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgRmllbGRzZXRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2ZpZWxkc2V0JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZmlsZXVwbG9hZCc7XHJcbmltcG9ydCB7IEdhbGxlcmlhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9nYWxsZXJpYSc7XHJcbmltcG9ydCB7IElucGxhY2VNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucGxhY2UnO1xyXG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XHJcbmltcG9ydCB7IElucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XHJcbmltcG9ydCB7IElucHV0U3dpdGNoTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHN3aXRjaCc7XHJcbmltcG9ydCB7IElucHV0VGV4dGFyZWFNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dGFyZWEnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XHJcbmltcG9ydCB7IEtub2JNb2R1bGUgfSBmcm9tICdwcmltZW5nL2tub2InO1xyXG5pbXBvcnQgeyBMaXN0Ym94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9saXN0Ym94JztcclxuaW1wb3J0IHsgTWVnYU1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lZ2FtZW51JztcclxuaW1wb3J0IHsgTWVudWJhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVudWJhcic7XHJcbmltcG9ydCB7IE1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lbnUnO1xyXG5pbXBvcnQge01lc3NhZ2VNb2R1bGV9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZSc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvbkNoYXJ0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vcmdhbml6YXRpb25jaGFydCc7XHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuaW1wb3J0IHsgUGFuZWxNZW51TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYW5lbG1lbnUnO1xyXG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFuZWwnO1xyXG5pbXBvcnQgeyBQYXNzd29yZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFzc3dvcmQnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NiYXInO1xyXG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xyXG5pbXBvcnQgeyBSYXRpbmdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhdGluZyc7XHJcbmltcG9ydCB7IFJpcHBsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcclxuaW1wb3J0IHsgU2Nyb2xsUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Njcm9sbHBhbmVsJztcclxuaW1wb3J0IHsgU2Nyb2xsVG9wTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zY3JvbGx0b3AnO1xyXG5pbXBvcnQgeyBTZWxlY3RCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NlbGVjdGJ1dHRvbic7XHJcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xyXG5pbXBvcnQgeyBTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2tlbGV0b24nO1xyXG5pbXBvcnQgeyBTbGlkZU1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NsaWRlbWVudSc7XHJcbmltcG9ydCB7IFNsaWRlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2xpZGVyJztcclxuaW1wb3J0IHsgU3BsaXRCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NwbGl0YnV0dG9uJztcclxuaW1wb3J0IHsgU3BsaXR0ZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NwbGl0dGVyJztcclxuaW1wb3J0IHsgU3RlcHNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3N0ZXBzJztcclxuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcclxuaW1wb3J0IHsgVGFiTWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibWVudSc7XHJcbmltcG9ydCB7IFRhYlZpZXdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYnZpZXcnO1xyXG5pbXBvcnQgeyBUYWdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhZyc7XHJcbmltcG9ydCB7IFRlcm1pbmFsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90ZXJtaW5hbCc7XHJcbmltcG9ydCB7IFRpZXJlZE1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RpZXJlZG1lbnUnO1xyXG5pbXBvcnQgeyBUaW1lbGluZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGltZWxpbmUnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBUb2dnbGVCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvZ2dsZWJ1dHRvbic7XHJcbmltcG9ydCB7IFRvb2xiYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2xiYXInO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuaW1wb3J0IHsgVHJlZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdHJlZSc7XHJcblxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBDb21wb25ldHNcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuaW1wb3J0IHsgU2ZDcnVkQ29tcG9uZW50IH0gZnJvbSAnLi9zZi1jcnVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlcm9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGVyby90YWJsZXJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlZ2lzdHJvQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZ2lzdHJvL3JlZ2lzdHJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udHJvbC9jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgU3RlcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdGVwL3N0ZXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ZDcnVkUm91dGluZ01vZHVsZSB9IGZyb20gJy4vc2YtY3J1ZC5yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNmUGRmc2lnbk1vZHVsZSB9IGZyb20gJ3NmLXBkZnNpZ24nO1xyXG5pbXBvcnQgeyBTZlNpbXVsYWRvck1vZHVsZSB9IGZyb20gJ3NmLXNpbXVsYWRvcic7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ZBZG9Nb2R1bGUgfSBmcm9tIFwic2YtYWRvXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2ZDcnVkQ29tcG9uZW50LFxyXG4gICAgVGFibGVyb0NvbXBvbmVudCxcclxuICAgIFJlZ2lzdHJvQ29tcG9uZW50LFxyXG4gICAgQ29udHJvbENvbXBvbmVudCxcclxuICAgIFN0ZXBDb21wb25lbnQsXHJcbiAgICBGb3JtQ29tcG9uZW50LFxyXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgU2ZDcnVkUm91dGluZ01vZHVsZSxcclxuICAgIFNmUGRmc2lnbk1vZHVsZSxcclxuICAgIFNmU2ltdWxhZG9yTW9kdWxlLFxyXG4gICAgQWNjb3JkaW9uTW9kdWxlLFxyXG4gICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxyXG4gICAgQXZhdGFyR3JvdXBNb2R1bGUsXHJcbiAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICBCYWRnZU1vZHVsZSxcclxuICAgIEJsb2NrVUlNb2R1bGUsXHJcbiAgICBCcmVhZGNydW1iTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ2FsZW5kYXJNb2R1bGUsXHJcbiAgICBDYXJkTW9kdWxlLFxyXG4gICAgQ2Fyb3VzZWxNb2R1bGUsXHJcbiAgICBDYXNjYWRlU2VsZWN0TW9kdWxlLFxyXG4gICAgQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBDaGlwTW9kdWxlLFxyXG4gICAgQ2hpcHNNb2R1bGUsXHJcbiAgICBDb2xvclBpY2tlck1vZHVsZSxcclxuICAgIENvbmZpcm1EaWFsb2dNb2R1bGUsXHJcbiAgICBDb25maXJtUG9wdXBNb2R1bGUsXHJcbiAgICBDb250ZXh0TWVudU1vZHVsZSxcclxuICAgIERpYWxvZ01vZHVsZSxcclxuICAgIERpdmlkZXJNb2R1bGUsXHJcbiAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgIER5bmFtaWNEaWFsb2dNb2R1bGUsXHJcbiAgICBGaWVsZHNldE1vZHVsZSxcclxuICAgIEZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEdhbGxlcmlhTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIElucGxhY2VNb2R1bGUsXHJcbiAgICBJbnB1dE1hc2tNb2R1bGUsXHJcbiAgICBJbnB1dE51bWJlck1vZHVsZSxcclxuICAgIElucHV0U3dpdGNoTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEtub2JNb2R1bGUsXHJcbiAgICBMaXN0Ym94TW9kdWxlLFxyXG4gICAgTWVnYU1lbnVNb2R1bGUsXHJcbiAgICBNZW51YmFyTW9kdWxlLFxyXG4gICAgTWVudU1vZHVsZSxcclxuICAgIE1lc3NhZ2VNb2R1bGUsXHJcbiAgICBNdWx0aVNlbGVjdE1vZHVsZSxcclxuICAgIE9yZ2FuaXphdGlvbkNoYXJ0TW9kdWxlLFxyXG4gICAgT3ZlcmxheVBhbmVsTW9kdWxlLFxyXG4gICAgUGFuZWxNZW51TW9kdWxlLFxyXG4gICAgUGFuZWxNb2R1bGUsXHJcbiAgICBQYXNzd29yZE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgUmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgICBSYXRpbmdNb2R1bGUsXHJcbiAgICBSaXBwbGVNb2R1bGUsXHJcbiAgICBTY3JvbGxQYW5lbE1vZHVsZSxcclxuICAgIFNjcm9sbFRvcE1vZHVsZSxcclxuICAgIFNlbGVjdEJ1dHRvbk1vZHVsZSxcclxuICAgIFNpZGViYXJNb2R1bGUsXHJcbiAgICBTa2VsZXRvbk1vZHVsZSxcclxuICAgIFNsaWRlTWVudU1vZHVsZSxcclxuICAgIFNsaWRlck1vZHVsZSxcclxuICAgIFNwbGl0QnV0dG9uTW9kdWxlLFxyXG4gICAgU3BsaXR0ZXJNb2R1bGUsXHJcbiAgICBTdGVwc01vZHVsZSxcclxuICAgIFRhYmxlTW9kdWxlLFxyXG4gICAgVGFiTWVudU1vZHVsZSxcclxuICAgIFRhYlZpZXdNb2R1bGUsXHJcbiAgICBUYWdNb2R1bGUsXHJcbiAgICBUZXJtaW5hbE1vZHVsZSxcclxuICAgIFRpZXJlZE1lbnVNb2R1bGUsXHJcbiAgICBUaW1lbGluZU1vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgVG9nZ2xlQnV0dG9uTW9kdWxlLFxyXG4gICAgVG9vbGJhck1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBUcmVlTW9kdWxlLFxyXG4gICAgU2ZBZG9Nb2R1bGVcclxuXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZkNydWRDb21wb25lbnQsXHJcbiAgICBUYWJsZXJvQ29tcG9uZW50LFxyXG4gICAgUmVnaXN0cm9Db21wb25lbnQsXHJcbiAgICBDb250cm9sQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2ZDcnVkTW9kdWxlIHsgfVxyXG4iXX0=
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2YtY3J1ZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZi1jcnVkL3NyYy9saWIvc2YtY3J1ZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsMkRBQTJEO0FBQzNELGtCQUFrQjtBQUNsQiwyREFBMkQ7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxF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QUNkLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixVQUFVO3dCQUNWLFdBQVc7cUJBQ2Q7b0JBQ0MsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gUHJpbWVORyBNb2R1bGVzXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbmltcG9ydCB7IEFjY29yZGlvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYWNjb3JkaW9uJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBBdmF0YXJHcm91cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXZhdGFyZ3JvdXAnO1xyXG5pbXBvcnQgeyBBdmF0YXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2F2YXRhcic7XHJcbmltcG9ydCB7IEJhZGdlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9iYWRnZSc7XHJcbmltcG9ydCB7IEJsb2NrVUlNb2R1bGUgfSBmcm9tICdwcmltZW5nL2Jsb2NrdWknO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9icmVhZGNydW1iJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYXJkJztcclxuaW1wb3J0IHsgQ2Fyb3VzZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL2Nhcm91c2VsJztcclxuaW1wb3J0IHsgQ2FzY2FkZVNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FzY2FkZXNlbGVjdCc7XHJcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XHJcbmltcG9ydCB7IENoaXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoaXAnO1xyXG5pbXBvcnQgeyBDaGlwc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hpcHMnO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29sb3JwaWNrZXInO1xyXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcclxuaW1wb3J0IHsgQ29uZmlybVBvcHVwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtcG9wdXAnO1xyXG5pbXBvcnQgeyBDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29udGV4dG1lbnUnO1xyXG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XHJcbmltcG9ydCB7IERpdmlkZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgRmllbGRzZXRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2ZpZWxkc2V0JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZmlsZXVwbG9hZCc7XHJcbmltcG9ydCB7IEdhbGxlcmlhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9nYWxsZXJpYSc7XHJcbmltcG9ydCB7IElucGxhY2VNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucGxhY2UnO1xyXG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XHJcbmltcG9ydCB7IElucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XHJcbmltcG9ydCB7IElucHV0U3dpdGNoTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHN3aXRjaCc7XHJcbmltcG9ydCB7IElucHV0VGV4dGFyZWFNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dGFyZWEnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XHJcbmltcG9ydCB7IEtub2JNb2R1bGUgfSBmcm9tICdwcmltZW5nL2tub2InO1xyXG5pbXBvcnQgeyBMaXN0Ym94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9saXN0Ym94JztcclxuaW1wb3J0IHsgTWVnYU1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lZ2FtZW51JztcclxuaW1wb3J0IHsgTWVudWJhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVudWJhcic7XHJcbmltcG9ydCB7IE1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lbnUnO1xyXG5pbXBvcnQge01lc3NhZ2VNb2R1bGV9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZSc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvbkNoYXJ0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vcmdhbml6YXRpb25jaGFydCc7XHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuaW1wb3J0IHsgUGFuZWxNZW51TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYW5lbG1lbnUnO1xyXG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFuZWwnO1xyXG5pbXBvcnQgeyBQYXNzd29yZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFzc3dvcmQnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NiYXInO1xyXG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xyXG5pbXBvcnQgeyBSYXRpbmdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhdGluZyc7XHJcbmltcG9ydCB7IFJpcHBsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcclxuaW1wb3J0IHsgU2Nyb2xsUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Njcm9sbHBhbmVsJztcclxuaW1wb3J0IHsgU2Nyb2xsVG9wTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zY3JvbGx0b3AnO1xyXG5pbXBvcnQgeyBTZWxlY3RCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NlbGVjdGJ1dHRvbic7XHJcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xyXG5pbXBvcnQgeyBTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2tlbGV0b24nO1xyXG5pbXBvcnQgeyBTbGlkZU1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NsaWRlbWVudSc7XHJcbmltcG9ydCB7IFNsaWRlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2xpZGVyJztcclxuaW1wb3J0IHsgU3BsaXRCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NwbGl0YnV0dG9uJztcclxuaW1wb3J0IHsgU3BsaXR0ZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NwbGl0dGVyJztcclxuaW1wb3J0IHsgU3RlcHNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3N0ZXBzJztcclxuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcclxuaW1wb3J0IHsgVGFiTWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibWVudSc7XHJcbmltcG9ydCB7IFRhYlZpZXdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYnZpZXcnO1xyXG5pbXBvcnQgeyBUYWdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhZyc7XHJcbmltcG9ydCB7IFRlcm1pbmFsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90ZXJtaW5hbCc7XHJcbmltcG9ydCB7IFRpZXJlZE1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RpZXJlZG1lbnUnO1xyXG5pbXBvcnQgeyBUaW1lbGluZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGltZWxpbmUnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBUb2dnbGVCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvZ2dsZWJ1dHRvbic7XHJcbmltcG9ydCB7IFRvb2xiYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2xiYXInO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuaW1wb3J0IHsgVHJlZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdHJlZSc7XHJcblxyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBDb21wb25ldHNcclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuaW1wb3J0IHsgU2ZDcnVkQ29tcG9uZW50IH0gZnJvbSAnLi9zZi1jcnVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlcm9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGVyby90YWJsZXJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlZ2lzdHJvQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZ2lzdHJvL3JlZ2lzdHJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udHJvbC9jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgU3RlcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdGVwL3N0ZXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ZDcnVkUm91dGluZ01vZHVsZSB9IGZyb20gJy4vc2YtY3J1ZC5yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNmUGRmc2lnbk1vZHVsZSB9IGZyb20gJ3NmLXBkZnNpZ24nO1xyXG5pbXBvcnQgeyBTZlNpbXVsYWRvck1vZHVsZSB9IGZyb20gJ3NmLXNpbXVsYWRvcic7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ZBZG9Nb2R1bGUgfSBmcm9tIFwic2YtYWRvXCI7XHJcbmltcG9ydCB7IEZvcm1hdEFkZHJlc3NQaXBlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm1hdC1hZGRyZXNzLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNmQ3J1ZENvbXBvbmVudCxcclxuICAgIFRhYmxlcm9Db21wb25lbnQsXHJcbiAgICBSZWdpc3Ryb0NvbXBvbmVudCxcclxuICAgIENvbnRyb2xDb21wb25lbnQsXHJcbiAgICBTdGVwQ29tcG9uZW50LFxyXG4gICAgRm9ybUNvbXBvbmVudCxcclxuICAgIEZpbGVVcGxvYWRDb21wb25lbnQsXHJcbiAgICBGb3JtYXRBZGRyZXNzUGlwZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgU2ZDcnVkUm91dGluZ01vZHVsZSxcclxuICAgIFNmUGRmc2lnbk1vZHVsZSxcclxuICAgIFNmU2ltdWxhZG9yTW9kdWxlLFxyXG4gICAgQWNjb3JkaW9uTW9kdWxlLFxyXG4gICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxyXG4gICAgQXZhdGFyR3JvdXBNb2R1bGUsXHJcbiAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICBCYWRnZU1vZHVsZSxcclxuICAgIEJsb2NrVUlNb2R1bGUsXHJcbiAgICBCcmVhZGNydW1iTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ2FsZW5kYXJNb2R1bGUsXHJcbiAgICBDYXJkTW9kdWxlLFxyXG4gICAgQ2Fyb3VzZWxNb2R1bGUsXHJcbiAgICBDYXNjYWRlU2VsZWN0TW9kdWxlLFxyXG4gICAgQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBDaGlwTW9kdWxlLFxyXG4gICAgQ2hpcHNNb2R1bGUsXHJcbiAgICBDb2xvclBpY2tlck1vZHVsZSxcclxuICAgIENvbmZpcm1EaWFsb2dNb2R1bGUsXHJcbiAgICBDb25maXJtUG9wdXBNb2R1bGUsXHJcbiAgICBDb250ZXh0TWVudU1vZHVsZSxcclxuICAgIERpYWxvZ01vZHVsZSxcclxuICAgIERpdmlkZXJNb2R1bGUsXHJcbiAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgIER5bmFtaWNEaWFsb2dNb2R1bGUsXHJcbiAgICBGaWVsZHNldE1vZHVsZSxcclxuICAgIEZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEdhbGxlcmlhTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIElucGxhY2VNb2R1bGUsXHJcbiAgICBJbnB1dE1hc2tNb2R1bGUsXHJcbiAgICBJbnB1dE51bWJlck1vZHVsZSxcclxuICAgIElucHV0U3dpdGNoTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEtub2JNb2R1bGUsXHJcbiAgICBMaXN0Ym94TW9kdWxlLFxyXG4gICAgTWVnYU1lbnVNb2R1bGUsXHJcbiAgICBNZW51YmFyTW9kdWxlLFxyXG4gICAgTWVudU1vZHVsZSxcclxuICAgIE1lc3NhZ2VNb2R1bGUsXHJcbiAgICBNdWx0aVNlbGVjdE1vZHVsZSxcclxuICAgIE9yZ2FuaXphdGlvbkNoYXJ0TW9kdWxlLFxyXG4gICAgT3ZlcmxheVBhbmVsTW9kdWxlLFxyXG4gICAgUGFuZWxNZW51TW9kdWxlLFxyXG4gICAgUGFuZWxNb2R1bGUsXHJcbiAgICBQYXNzd29yZE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgUmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgICBSYXRpbmdNb2R1bGUsXHJcbiAgICBSaXBwbGVNb2R1bGUsXHJcbiAgICBTY3JvbGxQYW5lbE1vZHVsZSxcclxuICAgIFNjcm9sbFRvcE1vZHVsZSxcclxuICAgIFNlbGVjdEJ1dHRvbk1vZHVsZSxcclxuICAgIFNpZGViYXJNb2R1bGUsXHJcbiAgICBTa2VsZXRvbk1vZHVsZSxcclxuICAgIFNsaWRlTWVudU1vZHVsZSxcclxuICAgIFNsaWRlck1vZHVsZSxcclxuICAgIFNwbGl0QnV0dG9uTW9kdWxlLFxyXG4gICAgU3BsaXR0ZXJNb2R1bGUsXHJcbiAgICBTdGVwc01vZHVsZSxcclxuICAgIFRhYmxlTW9kdWxlLFxyXG4gICAgVGFiTWVudU1vZHVsZSxcclxuICAgIFRhYlZpZXdNb2R1bGUsXHJcbiAgICBUYWdNb2R1bGUsXHJcbiAgICBUZXJtaW5hbE1vZHVsZSxcclxuICAgIFRpZXJlZE1lbnVNb2R1bGUsXHJcbiAgICBUaW1lbGluZU1vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgVG9nZ2xlQnV0dG9uTW9kdWxlLFxyXG4gICAgVG9vbGJhck1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBUcmVlTW9kdWxlLFxyXG4gICAgU2ZBZG9Nb2R1bGVcclxuXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZkNydWRDb21wb25lbnQsXHJcbiAgICBUYWJsZXJvQ29tcG9uZW50LFxyXG4gICAgUmVnaXN0cm9Db21wb25lbnQsXHJcbiAgICBDb250cm9sQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2ZDcnVkTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -18,6 +18,7 @@ export class SfCrudService {
|
|
|
18
18
|
this._changeData = new BehaviorSubject(undefined);
|
|
19
19
|
this.__formLoading = new BehaviorSubject({ inProgress: false, target: undefined });
|
|
20
20
|
this._crudLoaded = new BehaviorSubject(false);
|
|
21
|
+
this._mascaras = [];
|
|
21
22
|
}
|
|
22
23
|
get user() {
|
|
23
24
|
if (!this._tfmUser)
|
|
@@ -64,6 +65,12 @@ export class SfCrudService {
|
|
|
64
65
|
set configEmpresa(value) {
|
|
65
66
|
this._configEmpresa = value;
|
|
66
67
|
}
|
|
68
|
+
get mascaras() {
|
|
69
|
+
return this._mascaras;
|
|
70
|
+
}
|
|
71
|
+
set mascaras(mascaras) {
|
|
72
|
+
this._mascaras = mascaras;
|
|
73
|
+
}
|
|
67
74
|
getURL(operation, index = undefined, id = undefined) {
|
|
68
75
|
let url = operation.url || `${this.jsonConfig[operation.server]}${operation.endpoint}`;
|
|
69
76
|
url = url.replace('@idKatios', this.idKatios);
|
|
@@ -483,6 +490,28 @@ export class SfCrudService {
|
|
|
483
490
|
console.log(esquema);
|
|
484
491
|
console.log(params);
|
|
485
492
|
}
|
|
493
|
+
armarNuevaDireccion(tipo, dataDireccion, separador) {
|
|
494
|
+
let resultado;
|
|
495
|
+
if (tipo == "string") {
|
|
496
|
+
resultado = "";
|
|
497
|
+
this.mascaras.forEach(mascara => {
|
|
498
|
+
mascara.Campo.forEach((campo, i) => {
|
|
499
|
+
let valor = jsonpath.query(dataDireccion, `$.${campo.Id}`)[0];
|
|
500
|
+
if (valor && i - 1 >= 0 && mascara.Campo[i - 1].Tipo.toLocaleLowerCase() == "label") {
|
|
501
|
+
valor = mascara.Campo[i - 1].Valor + valor;
|
|
502
|
+
}
|
|
503
|
+
if (valor && !separador)
|
|
504
|
+
resultado += valor + " ";
|
|
505
|
+
else if (separador)
|
|
506
|
+
resultado += (valor !== null && valor !== void 0 ? valor : "") + separador;
|
|
507
|
+
});
|
|
508
|
+
});
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
throw new Error("flujo sin realizar");
|
|
512
|
+
}
|
|
513
|
+
return resultado;
|
|
514
|
+
}
|
|
486
515
|
}
|
|
487
516
|
SfCrudService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SfCrudService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
488
517
|
SfCrudService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SfCrudService, providedIn: 'root' });
|
|
@@ -499,4 +528,4 @@ export class ChangeData {
|
|
|
499
528
|
this.index = index;
|
|
500
529
|
}
|
|
501
530
|
}
|
|
502
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2YtY3J1ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2YtY3J1ZC9zcmMvbGliL3NmLWNydWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxRQUFRLE1BQU0sVUFBVSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDOztBQUtqQyxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlVLGNBQVMsR0FBWSxFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBVSxFQUFFLENBQUE7UUFDdkIsZUFBVSxHQUFxQixFQUFFLENBQUM7UUFDbEMsYUFBUSxHQUFVLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQ3JCLFNBQUksR0FBYSxFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUVwQixtQkFBYyxHQUF3QixTQUFTLENBQUM7UUFDaEQsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUVwQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUF5QixTQUFTLENBQUMsQ0FBQztRQUNyRSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFVLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztRQUdyRixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBOGVsRDtJQTVlQyxJQUFJLElBQUk7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFD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O0FBaWdCQyxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNTLEtBQWEsRUFDYixLQUFhLEVBQ2IsS0FBYTtRQUZiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGpzb25wYXRoIGZyb20gJ2pzb25wYXRoJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNoZW1hIH0gZnJvbSAnLi9zaGFyZWQvbW9kZWxzL3NoZW1hLm1vZGVsJztcclxuaW1wb3J0IHsgQ29uZmlnUmVnaXN0cm8sIEtleSwgT3BlcmF0aW9uLCBrZXlFc3F1ZW1hIH0gZnJvbSAnLi9zaGFyZWQvbW9kZWxzL2NydWQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRW1wcmVzYSB9IGZyb20gJy4vc2hhcmVkL21vZGVscy9FbXByZXNhLm1vZGVsJztcclxuaW1wb3J0IHsgQ29uZGl0aW9uIH0gZnJvbSAnLi9zaGFyZWQvbW9kZWxzL0NvbmRpdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBSZWFzb24gfSBmcm9tICcuL3NoYXJlZC9tb2RlbHMvUmVhc29uLm1vZGVsJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZkNydWRTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9lc3F1ZW1hczogU2hlbWFbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VpRXNxdWVtYXM6IGFueVtdID0gW11cclxuICBwcml2YXRlIF9yZWdpc3Ryb3M6IENvbmZpZ1JlZ2lzdHJvW10gPSBbXTtcclxuICBwcml2YXRlIF9hbnN3ZXJzOiBhbnlbXSA9IFtdO1xyXG4gIHByaXZhdGUgX2RhdGFTZXQgOmFueVtdID0gW107XHJcbiAgcHJpdmF0ZSBfaWRzIDpzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgX19pbmRleDogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF9pZEthdGlvcyE6IHN0cmluZztcclxuICBwcml2YXRlIF9jb25maWdFbXByZXNhOiBFbXByZXNhIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgX3RyeDogc3RyaW5nW10gPSBbXTtcclxuICBwcml2YXRlIGpzb25Db25maWc6IGFueTtcclxuICBwcml2YXRlIF9jaGFuZ2VEYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGFuZ2VEYXRhIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIHByaXZhdGUgX19mb3JtTG9hZGluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TG9hZGluZz4oe2luUHJvZ3Jlc3M6IGZhbHNlLCB0YXJnZXQ6IHVuZGVmaW5lZH0pO1xyXG4gIHByaXZhdGUgX2RhdGFFeHQ6IGFueTtcclxuICBwcml2YXRlIF90Zm1Vc2VyOiBhbnk7XHJcbiAgcHJpdmF0ZSBfY3J1ZExvYWRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICBnZXQgdXNlcigpe1xyXG4gICAgaWYgKCF0aGlzLl90Zm1Vc2VyKSB0aGlzLl90Zm1Vc2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm9TZXNzaW9uVEZNXCIpISlcclxuICAgIHJldHVybiB0aGlzLl90Zm1Vc2VyXHJcbiAgfVxyXG5cclxuICBnZXQgY3VycmVudE9wZXJhdGlvbigpe1xyXG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cm9zW3RoaXMuaW5kZXhdLm9wZXJhdGlvbnMuZmluZCh4ID0+IHgudHlwZS5zdGFydHNXaXRoKHRoaXMuX3RyeFt0aGlzLmluZGV4XSkpXHJcbiAgfVxyXG5cclxuICBzZXQgZW52aXJvbm1lbnQodmFsOiBhbnkpe1xyXG4gICAgdGhpcy5qc29uQ29uZmlnID0gdmFsXHJcbiAgfVxyXG5cclxuICBnZXQgZW52aXJvbm1lbnQoKXtcclxuICAgIHJldHVybiB0aGlzLmpzb25Db25maWdcclxuICB9XHJcblxyXG4gIGdldCBvbkNydWRMb2FkZWQkKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fY3J1ZExvYWRlZC5hc09ic2VydmFibGUoKVxyXG4gIH1cclxuXHJcbiAgc2V0IGNydWRMb2FkZWQodmFsdWU6IGJvb2xlYW4pe1xyXG4gICAgdGhpcy5fY3J1ZExvYWRlZC5uZXh0KHZhbHVlKVxyXG4gIH1cclxuXHJcbiAgZ2V0IGRhdGFFeHQoKXtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhRXh0XHJcbiAgfVxyXG5cclxuICBzZXQgZGF0YUV4dCh2YWwpe1xyXG4gICAgdGhpcy5fZGF0YUV4dCA9IHZhbFxyXG4gIH1cclxuXHJcbiAgZ2V0IGluZGV4KCl7XHJcbiAgICByZXR1cm4gdGhpcy5fX2luZGV4XHJcbiAgfVxyXG5cclxuICBzZXQgaW5kZXgodmFsdWU6IG51bWJlcil7XHJcbiAgICB0aGlzLl9faW5kZXggPSB2YWx1ZVxyXG4gIH1cclxuXHJcbiAgZ2V0IGlkS2F0aW9zKCl7XHJcbiAgICByZXR1cm4gdGhpcy5faWRLYXRpb3NcclxuICB9XHJcblxyXG4gIHNldCBpZEthdGlvcyh2YWx1ZTogc3RyaW5nKXtcclxuICAgIHRoaXMuX2lkS2F0aW9zID0gdmFsdWU/LnRyaW0oKT8udG9VcHBlckNhc2UoKVxyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbmZpZ0VtcHJlc2EoKTogRW1wcmVzYSB8IHVuZGVmaW5lZHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWdFbXByZXNhXHJcbiAgfVxyXG5cclxuICBzZXQgY29uZmlnRW1wcmVzYSh2YWx1ZTogRW1wcmVzYSB8IHVuZGVmaW5lZCl7XHJcbiAgICB0aGlzLl9jb25maWdFbXByZXNhID0gdmFsdWVcclxuICB9XHJcblxyXG4gIGdldFVSTChvcGVyYXRpb246IE9wZXJhdGlvbiwgaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgaWQ6IGFueT11bmRlZmluZWQpe1xyXG5cclxuICAgICAgbGV0IHVybCA9IG9wZXJhdGlvbi51cmwgfHwgYCR7dGhpcy5qc29uQ29uZmlnW29wZXJhdGlvbi5zZXJ2ZXIhXX0ke29wZXJhdGlvbi5lbmRwb2ludH1gXHJcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKCdAaWRLYXRpb3MnLCB0aGlzLmlkS2F0aW9zKVxyXG4gICAgICBpZiAoaWQpIHVybCA9IHVybC5yZXBsYWNlKCdAaWQnLCBpZClcclxuXHJcbiAgICAgIHVybCA9IHRoaXMuYXBwbHlTdHJpbmdLZXlzKHVybCwgaW5kZXgpXHJcbiAgICAgIHJldHVybiB1cmxcclxuICB9XHJcblxyXG4gIGdldFJlZ2lzdHJvKGluZGV4OiBudW1iZXIpe1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJvc1tpbmRleF07XHJcbiAgfVxyXG5cclxuICBnZXRJZChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9pZHMubGVuZ3RoID09IDEgPyB0aGlzLl9pZHNbMF0gOiB0aGlzLl9pZHNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRhdGFzZXQoKXtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhU2V0XHJcbiAgfVxyXG4gIGdldERhdGEoaW5kZXg6IG51bWJlcil7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNldC5sZW5ndGggPT0gMSA/IHRoaXMuX2RhdGFTZXRbMF0gOiB0aGlzLl9kYXRhU2V0W2luZGV4XTtcclxuICB9XHJcblxyXG4gIGdldFRyeChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90cnhbaW5kZXhdXHJcbiAgfVxyXG5cclxuICBnZXQgdG90YWxEYXRhKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNldC5sZW5ndGhcclxuICB9XHJcblxyXG4gIGdldCB0b3RhbFJlZ2lzdHJvcygpe1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJvcy5sZW5ndGhcclxuICB9XHJcblxyXG4gIGdldCB1aUVzcXVlbWFzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fdWlFc3F1ZW1hc1xyXG4gIH1cclxuXHJcbiAgZ2V0RXNxdWVtYShpbmRleDogbnVtYmVyKXtcclxuICAgIHJldHVybiB0aGlzLl9lc3F1ZW1hcy5sZW5ndGggPT0gMSA/IHRoaXMuX2VzcXVlbWFzWzBdIDogdGhpcy5fZXNxdWVtYXNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKXtcclxuICAgIHRoaXMuX2lkcyA9IFtdXHJcbiAgICB0aGlzLl9kYXRhU2V0ID0gW11cclxuICB9XHJcblxyXG4gIGdldFVSTFJlZGlyZWN0KGluaXRpYWxVUkw6IHN0cmluZyl7XHJcbiAgICBsZXQgZmluYWxVcmwgPSB0aGlzLmFwcGx5U3RyaW5nS2V5cyhpbml0aWFsVVJMLCB1bmRlZmluZWQpXHJcbiAgICBmaW5hbFVybCA9IGZpbmFsVXJsLnJlcGxhY2UoXCJAVVJMQkFTRVwiLCB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzBdKVxyXG4gICAgcmV0dXJuIGZpbmFsVXJsXHJcbiAgfVxyXG5cclxuICBnZXRVSUVzcXVlbWEoaW5kZXg6IG51bWJlcil7XHJcbiAgICByZXR1cm4gdGhpcy5fdWlFc3F1ZW1hc1tpbmRleF07XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogdXNpbmcgZGF0YSwgYXBwbHkgZWFjaCBrZXlFc3F1ZW1hIG92ZXIgZWFjaCBkYXRhc2V0IGluZGljYXRlZCBvbiBpbmRleERhdGEgb2YgZWFjaCBrZXlcclxuICAgKiBAcGFyYW0gZGF0YVxyXG4gICAqIEBwYXJhbSBjb250ZW50XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBhcHBseU9iamVjdEtleXMoZGF0YTogYW55LCBrZXlzRXNxdWVtYToga2V5RXNxdWVtYVtdLCByZWdpc3RybzogQ29uZmlnUmVnaXN0cm8pOiBhbnl7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXNFc3F1ZW1hLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IG9wdCA9IGtleXNFc3F1ZW1hW2ldO1xyXG4gICAgICBsZXQgdmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIGlmIChvcHQuaW5kZXhLZXkpe1xyXG4gICAgICAgIGxldCBrZXlGb3VuZCA9IChyZWdpc3Ryby5rZXlzID8/IFt1bmRlZmluZWRdKVtvcHQuaW5kZXhLZXldXHJcbiAgICAgICAgdGhpcy5hcHBseUtleShrZXlGb3VuZCwgcmVnaXN0cm8sIGRhdGEpXHJcblxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdC5pbmRleERhdGEgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChvcHQuaXNBcnJheSl7XHJcbiAgICAgICAgICB2YWx1ZSA9IGpzb25wYXRoLnF1ZXJ5KGRhdGEsIG9wdC5zY29wZSlcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHZhbHVlID0ganNvbnBhdGgucXVlcnkoZGF0YSwgb3B0LnNjb3BlKVswXVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0LmtleSA9PSBcIiRcIikgT2JqZWN0LmFzc2lnbih0aGlzLl9kYXRhU2V0W29wdC5pbmRleERhdGEhXSwgdmFsdWUpXHJcbiAgICAgIGVsc2UgaWYgKG9wdC5rZXkgJiYgKCh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB8fCAob3B0LmNhbkJlVmFsdWVVbmRlZmluZWQgPT09IHVuZGVmaW5lZCB8fCBvcHQuY2FuQmVWYWx1ZVVuZGVmaW5lZCA9PT0gdHJ1ZSkpKSBqc29ucGF0aC52YWx1ZSh0aGlzLl9kYXRhU2V0W29wdC5pbmRleERhdGEhXSwgb3B0LmtleSwgdmFsdWUpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YVxyXG4gIH1cclxuXHJcblxyXG4gIGFwcGx5S2V5KGtleTogS2V5IHwgdW5kZWZpbmVkLCByZWdpc3RybzogQ29uZmlnUmVnaXN0cm8sIGRhdGE6IGFueSl7XHJcbiAgICBpZiAoa2V5Py5vdmVycmlkZUNvbnRyb2wpe1xyXG4gICAgICBsZXQgbmV3VmFsID0gdW5kZWZpbmVkO1xyXG4gICAgICBsZXQgZXNxdWVtYVRvU2V0ID0gdGhpcy5nZXRDb250cm9sKGtleS5zY29wZSwgdGhpcy5lc3F1ZW1hc1trZXkuaW5kZXhEYXRhID8/IHRoaXMuaW5kZXhdKVxyXG4gICAgICBpZiAoIWVzcXVlbWFUb1NldCkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3Ioe21lc3NhZ2U6IFwibGEga2V5IGVzdGEgbWFsIGNvbmZpZ3VyYWRhXCIsIGRhdGE6IGtleX0pXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBjb21wbGV0ZWQgPSB0aGlzLmlzQ29uZGl0aW9uc0NvbXBsZXRlZChrZXkub3ZlcnJpZGVDb250cm9sLmNvbmRpdGlvbnMgPz8gW10sIHJlZ2lzdHJvLmNvbmRpdGlvbnMgfHwgW10sIGRhdGEpXHJcbiAgICAgIGlmIChrZXkub3ZlcnJpZGVDb250cm9sPy5wcm9wZXJ0eSkganNvbnBhdGgudmFsdWUoZXNxdWVtYVRvU2V0LCBrZXkub3ZlcnJpZGVDb250cm9sLnByb3BlcnR5LCBjb21wbGV0ZWQgPyBrZXkub3ZlcnJpZGVDb250cm9sLnZhbHVlIDoga2V5Lm92ZXJyaWRlQ29udHJvbC5lbHNlVmFsdWUpXHJcblxyXG4gICAgICBpZiAoY29tcGxldGVkICYmIGtleS5vdmVycmlkZUNvbnRyb2wubmV3UHJvcGVydHlWYWx1ZSAhPT0gdW5kZWZpbmVkKXtcclxuICAgICAgICBpZiAoa2V5Lm92ZXJyaWRlQ29udHJvbC5uZXdQcm9wZXJ0eVZhbHVlID09ICdSRVNFVE9CSkVDVCcpIG5ld1ZhbCA9IHRoaXMuY3JlYXRlT2JqZWN0KGVzcXVlbWFUb1NldCwgdGhpcy5jdXJyZW50T3BlcmF0aW9uKVxyXG4gICAgICAgIGVsc2UgbmV3VmFsID0ga2V5Lm92ZXJyaWRlQ29udHJvbC5uZXdQcm9wZXJ0eVZhbHVlXHJcbiAgICAgIH1lbHNlIGlmICghY29tcGxldGVkICYmIGtleS5vdmVycmlkZUNvbnRyb2wuZWxzZU5ld1Byb3BlcnR5VmFsdWUgIT09IHVuZGVmaW5lZCl7XHJcbiAgICAgICAgaWYgKGtleS5vdmVycmlkZUNvbnRyb2wuZWxzZU5ld1Byb3BlcnR5VmFsdWUgPT0gJ1JFU0VUT0JKRUNUJykgbmV3VmFsID0gdGhpcy5jcmVhdGVPYmplY3QoZXNxdWVtYVRvU2V0LCB0aGlzLmN1cnJlbnRPcGVyYXRpb24pXHJcbiAgICAgICAgZWxzZSBuZXdWYWwgPSBrZXkub3ZlcnJpZGVDb250cm9sLmVsc2VOZXdQcm9wZXJ0eVZhbHVlXHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5ld1ZhbCAhPT0gdW5kZWZpbmVkKSBqc29ucGF0aC52YWx1ZSh0aGlzLl9kYXRhU2V0W2tleS5pbmRleERhdGEgPz8gdGhpcy5pbmRleF0sIGtleS5zY29wZS5yZXBsYWNlQWxsKCcuLnByb3BlcnRpZXMnLCAnJyksIG5ld1ZhbClcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZSBjb25kaXRpb25zIG9uIGRhdGFzXHJcbiAgICogQHBhcmFtIGNvbmRpdGlvbnNcclxuICAgKiBAcGFyYW0gaW5kZXhcclxuICAgKi9cclxuICBpc0NvbmRpdGlvbnNDb21wbGV0ZWQoaUNvbmRpdGlvbnM6IG51bWJlcltdLCBjb25kaXRpb25zOiBDb25kaXRpb25bXSwgZGF0YTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY3VtcGxlID0gIHRydWVcclxuICAgIGlDb25kaXRpb25zLmZvckVhY2goIGlDb25kID0+IHtcclxuICAgICAgY29uc3QgYyA9IENvbmRpdGlvbi5pbnN0YW5jZUNvbnRpZGlvbihpQ29uZCwgY29uZGl0aW9ucylcclxuICAgICAgbGV0IGRhdGFUb0V2YWx1YXRlID0gYy5pbmRleERhdGEgIT09IHVuZGVmaW5lZCA/IHRoaXMuX2RhdGFTZXRbYy5pbmRleERhdGFdIDogZGF0YVxyXG4gICAgICBpZiAoIWMuaXNWYWxpZChkYXRhVG9FdmFsdWF0ZSkpIGN1bXBsZSA9IGZhbHNlXHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGN1bXBsZVxyXG4gIH1cclxuICAgIC8qKlxyXG4gICAgICogQXBwbHkgZWFjaCBrZXkgZnJvbSByZWdpc3RlciBvdmVyIHN0cmluZyBjb250ZW50XHJcbiAgICAgKiBAcGFyYW0gaW5kZXhSZWdpc3Ryb1xyXG4gICAgICogQHBhcmFtIGNvbnRlbnRcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIGFwcGx5U3RyaW5nS2V5cyhjb250ZW50OiBzdHJpbmcsIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBzdHJpbmd7XHJcbiAgICAgIGxldCBpbmRleFJlZ2lzdHJvID0gaW5kZXggfHwgdGhpcy5fX2luZGV4XHJcbiAgICAgIHRoaXMuX3JlZ2lzdHJvc1tpbmRleFJlZ2lzdHJvXS5rZXlzPy5mb3JFYWNoKChvcHQpID0+IHtcclxuICAgICAgICBsZXQgdmFsdWU7XHJcbiAgICAgICAgaWYgKG9wdC5pbmRleElkICE9PSB1bmRlZmluZWQgJiYgb3B0LmluZGV4SWQgPCB0aGlzLl9pZHMubGVuZ3RoKSB2YWx1ZSA9IHRoaXMuX2lkc1tvcHQuaW5kZXhJZF1cclxuICAgICAgICBlbHNlIGlmIChvcHQuaW5kZXhBbnN3ZXIgIT09IHVuZGVmaW5lZCAmJiBvcHQuaW5kZXhBbnN3ZXIgPCB0aGlzLl9hbnN3ZXJzLmxlbmd0aCkgdmFsdWUgPSBqc29ucGF0aC5xdWVyeSh0aGlzLl9hbnN3ZXJzW29wdC5pbmRleEFuc3dlcl0sIG9wdC5zY29wZSlbMF1cclxuICAgICAgICBlbHNlIGlmIChvcHQuaW5kZXhEYXRhICE9PSB1bmRlZmluZWQpIHZhbHVlID0ganNvbnBhdGgucXVlcnkodGhpcy5fZGF0YVNldFtvcHQuaW5kZXhEYXRhXSwgb3B0LnNjb3BlKVswXVxyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdmFsdWUgPSAnJ1xyXG4gICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnJlcGxhY2Uob3B0LmtleSwgdmFsdWUpXHJcbiAgICAgIH0pXHJcbiAgICByZXR1cm4gY29udGVudFxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVEYXRhTG9jYWwob3BlcmF0aW9uOiBPcGVyYXRpb24sIGRhdGE6IGFueSwgY29uZGl0aW9uczogQ29uZGl0aW9uW10pIHtcclxuICAgIGNvbnN0IGVycjogc3RyaW5nW10gPSBbXVxyXG4gICAgLy9Tb2xvIHNpIHNlIGN1bXBsZSBsYSBjb25kaWNpb24sIHNlIHZhbGlkYVxyXG4gICAgb3BlcmF0aW9uLnZhbGlkYXRpb25zPy5yZXF1aXJlZD8uZm9yRWFjaCh4ID0+IHtcclxuICAgICAgY29uc3QgY3VtcGxlQ29uZCA9IHguY29uZGl0aW9ucyA/IHRoaXMuaXNDb25kaXRpb25zQ29tcGxldGVkKHguY29uZGl0aW9ucywgY29uZGl0aW9ucywgZGF0YSk6IHRydWU7XHJcbiAgICAgIGlmIChjdW1wbGVDb25kICYmICghanNvbnBhdGgucXVlcnkoZGF0YSwgeC5maWVsZClbMF0gfHxcclxuICAgICAgKEFycmF5LmlzQXJyYXkoanNvbnBhdGgucXVlcnkoZGF0YSwgeC5maWVsZClbMF0pICYmIGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHguZmllbGQpWzBdLmxlbmd0aCA9PSAwKSkpIGVyci5wdXNoKHgubWVzc2FnZSk7XHJcbiAgICB9KVxyXG5cclxuICAgIG9wZXJhdGlvbi52YWxpZGF0aW9ucz8uZGlmZmVyZW50Py5mb3JFYWNoKHggPT57XHJcbiAgICAgIGNvbnN0IGN1bXBsZUNvbmQgPSB4LmNvbmRpdGlvbnMgPyB0aGlzLmlzQ29uZGl0aW9uc0NvbXBsZXRlZCh4LmNvbmRpdGlvbnMsIGNvbmRpdGlvbnMsIGRhdGEpOiB0cnVlO1xyXG4gICAgICBpZiAoY3VtcGxlQ29uZCAmJiBqc29ucGF0aC5xdWVyeShkYXRhLCB4LmZpZWxkKVswXSA9PT0geC52YWx1ZSkgZXJyLnB1c2goeC5tZXNzYWdlKTtcclxuICAgIH0pXHJcblxyXG4gICAgb3BlcmF0aW9uLnZhbGlkYXRpb25zPy5lcXVhbHM/LmZvckVhY2goeCA9PntcclxuICAgICAgY29uc3QgY3VtcGxlQ29uZCA9IHguY29uZGl0aW9ucyA/IHRoaXMuaXNDb25kaXRpb25zQ29tcGxldGVkKHguY29uZGl0aW9ucywgY29uZGl0aW9ucywgZGF0YSk6IHRydWU7XHJcbiAgICAgIGlmIChjdW1wbGVDb25kICYmIGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHguZmllbGQpWzBdICE9IHgudmFsdWUpIGVyci5wdXNoKHgubWVzc2FnZSk7XHJcbiAgICB9KVxyXG4gICAgb3BlcmF0aW9uLnZhbGlkYXRpb25zPy5vcGVyYXRpb25zPy5mb3JFYWNoKChvcDogYW55KSA9PiB7XHJcbiAgICAgIHN3aXRjaCAob3AuYWN0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnc3VtQXJyYXknOlxyXG4gICAgICAgICAgY29uc3QgdmFyMSA9IGpzb25wYXRoLnF1ZXJ5KGRhdGEsIG9wLnNjb3BlWzBdKS5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKz0gY3VyW29wLmtleV0sIDApO1xyXG4gICAgICAgICAgY29uc3QgdmFyMiA9IGpzb25wYXRoLnF1ZXJ5KGRhdGEsIG9wLnNjb3BlWzFdKS5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKz0gY3VyW29wLmtleV0sIDApO1xyXG4gICAgICAgICAgaWYgKHZhcjEgIT0gdmFyMikgZXJyLnB1c2gob3AubWVzc2FnZSlcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlcnI7XHJcbiAgfVxyXG5cclxuICBzZXQgZXNxdWVtYXMoZXNxdWVtYXM6IFNoZW1hW10pe1xyXG4gICAgdGhpcy5fZXNxdWVtYXMgPSBlc3F1ZW1hc1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVzcXVlbWFzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fZXNxdWVtYXNcclxuICB9XHJcblxyXG4gIHNldCBpZHMoaWRzOiBzdHJpbmdbXSl7XHJcbiAgICB0aGlzLl9pZHMgPSBpZHNcclxuICB9XHJcblxyXG4gIHNldCB1aUVzcXVlbWFzKHVpRXNxdWVtYXM6IGFueVtdKXtcclxuICAgIHRoaXMuX3VpRXNxdWVtYXMgPSB1aUVzcXVlbWFzXHJcbiAgfVxyXG5cclxuICBnZXQgcmVnaXN0cm9zKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVnaXN0cm9zXHJcbiAgfVxyXG5cclxuICBzZXQgcmVnaXN0cm9zKHJlZ2lzdHJvczogQ29uZmlnUmVnaXN0cm9bXSl7XHJcbiAgICB0aGlzLl9yZWdpc3Ryb3MgPSByZWdpc3Ryb3NcclxuICB9XHJcblxyXG4gIHNldERhdGFTZXQoZGF0YTogYW55LCBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKXtcclxuICAgIGluZGV4ID0gaW5kZXggPyBpbmRleCA6IHRoaXMuX19pbmRleFxyXG4gICAgaWYgKGluZGV4ID49IHRoaXMudG90YWxEYXRhKSB7XHJcbiAgICAgIHRoaXMuX2RhdGFTZXQucHVzaChkYXRhKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VHJ4KHRyeDogYW55LCBpbmRleDogbnVtYmVyKXtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRyeCkpIHRoaXMuX3RyeCA9IHRyeDtcclxuICAgIGVsc2UgaWYgKGluZGV4ID49IHRoaXMuX3RyeC5sZW5ndGgpIHRoaXMuX3RyeC5wdXNoKHRyeClcclxuICAgIGVsc2UgdGhpcy5fdHJ4W2luZGV4XSA9IHRyeFxyXG4gIH1cclxuXHJcbiAgc2V0QW5zd2VycyhhbnN3ZXI6IGFueSwgaW5kZXg6IG51bWJlcil7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhbnN3ZXIpKSB0aGlzLl9hbnN3ZXJzID0gYW5zd2VyO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmIChpbmRleCA+PSB0aGlzLl9hbnN3ZXJzLmxlbmd0aCkgdGhpcy5fYW5zd2Vycy5wdXNoKGFuc3dlcik7XHJcbiAgICAgIGVsc2UgdGhpcy5fYW5zd2Vyc1tpbmRleF0gPSBhbnN3ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb250cm9sKHNjb3BlOiBzdHJpbmcsIGVzcXVlbWE6IFNoZW1hKSB7XHJcbiAgICByZXR1cm4ganNvbnBhdGgucXVlcnkoZXNxdWVtYSwgc2NvcGUpWzBdO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFZhbHVlKHNjb3BlOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHNjb3BlLnJlcGxhY2VBbGwoJy5wcm9wZXJ0aWVzJywgJycpKVswXTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU9iamVjdChlc3F1ZW1hOiBTaGVtYSwgb3BlcmF0aW9uOiBPcGVyYXRpb24gfCB1bmRlZmluZWQpIHtcclxuICAgIGNvbnN0IG9iamVjdDogYW55ID0ge307XHJcbiAgICBzd2l0Y2ggKGVzcXVlbWEudHlwZSkge1xyXG4gICAgICBjYXNlICdudW1lcmljJzpcclxuICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgaWYgKGVzcXVlbWEuZGVmYXVsdCAmJiBvcGVyYXRpb24pe1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2V0RGVmYXVsdFZhbHVlKGVzcXVlbWEuZGVmYXVsdCwgb3BlcmF0aW9uKVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHJldHVybiBlc3F1ZW1hLmRlZmF1bHQgPz8gbnVsbDtcclxuICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgcmV0dXJuIGVzcXVlbWE/LmRlZmF1bHQgfHwgZmFsc2U7XHJcbiAgICAgIGNhc2UgJ2FycmF5JzpcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIGNhc2UgJ2ZpbGUnOlxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICBjYXNlICdvYmplY3QnOlxyXG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGVzcXVlbWE/LnByb3BlcnRpZXMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGxldCBhdXggPSBlc3F1ZW1hPy5wcm9wZXJ0aWVzW2tleV1cclxuICAgICAgICAgIGlmIChhdXgpIG9iamVjdFtrZXldID0gdGhpcy5jcmVhdGVPYmplY3QoYXV4LCBvcGVyYXRpb24pXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAgIGdldFZhbHVlS2V5KGtleTogS2V5IHwgdW5kZWZpbmVkKTogYW55IHtcclxuICAgIGxldCBkYXRhO1xyXG4gICAgc3dpdGNoIChrZXk/LmRhdGEgfHwgJ2V4dGVybmEnKSB7XHJcbiAgICAgIGNhc2UgXCJ1c2VyXCI6XHJcbiAgICAgICAgZGF0YSA9IHRoaXMudXNlclxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGRhdGEgPSB0aGlzLmRhdGFFeHRcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChkYXRhICYmIGtleSl7XHJcbiAgICAgIGNvbnN0IGF1eCA9IGpzb25wYXRoLnF1ZXJ5KGRhdGEsIGtleS5zY29wZSlcclxuICAgICAgaWYgKGF1eC5sZW5ndGggPT0gMCkgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgICBpZiAoYXV4Lmxlbmd0aCA9PSAxKSByZXR1cm4gYXV4WzBdXHJcbiAgICAgIGVsc2UgcmV0dXJuIGF1eFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gIH1cclxuXHJcblxyXG4gIHNldERlZmF1bHRWYWx1ZSh2YWx1ZTogYW55LCBvcGVyYXRpb246IE9wZXJhdGlvbikge1xyXG4gICAgbGV0IGRhdGEgPSBudWxsO1xyXG4gICAgaWYgKHZhbHVlLmtleSAmJiBvcGVyYXRpb24ua2V5cyl7XHJcbiAgICAgIGRhdGEgPSB0aGlzLmdldFZhbHVlS2V5KG9wZXJhdGlvbi5rZXlzLmZpbmQoayA9PiBrLmtleSA9PSB2YWx1ZS5rZXkpISlcclxuICAgICAgdmFsdWUgPSBkYXRhXHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XHJcbiAgICAgIGNhc2UgJ0B1YWN0aXZvJzpcclxuICAgICAgICBkYXRhID0gYCR7dGhpcy51c2VyLlVzdWFyaW9TaXN0ZW1hLlRET0N9LSR7dGhpcy51c2VyLlVzdWFyaW9TaXN0ZW1hLk5ET0N9YFxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdAdGRvY2FjdGl2byc6XHJcbiAgICAgICAgZGF0YSA9IHRoaXMudXNlci5Vc3VhcmlvU2lzdGVtYS5URE9DXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0BuZG9jYWN0aXZvJzpcclxuICAgICAgICBkYXRhID0gdGhpcy51c2VyLlVzdWFyaW9TaXN0ZW1hLk5ET0NcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQGhveSc6XHJcbiAgICAgICAgZGF0YSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGFcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlIGlmIHNjaGVtYSBoYXMgcGRmc2lnbiBhbmQgaXQncyBzaWduZWQsIGVsc2UgcmV0dXJuIGZhbHNlXHJcbiAgICogQHBhcmFtIGluZGV4XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBpc1NpZ25lZFBERihpbmRleDogbnVtYmVyKXtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhU2V0W2luZGV4XS5zaWduZWRcclxuICB9XHJcblxyXG4gIGdldCBjaGFuZ2VEYXRhJCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZURhdGEuYXNPYnNlcnZhYmxlKClcclxuICB9XHJcblxyXG4gIHNldCBjaGFuZ2VEYXRhKHZhbHVlOiBDaGFuZ2VEYXRhKXtcclxuICAgIHRoaXMuX2NoYW5nZURhdGEubmV4dCh2YWx1ZSlcclxuICB9XHJcblxyXG4gIGdldCBmb3JtTG9hZGluZyQoKXtcclxuICAgIHJldHVybiB0aGlzLl9fZm9ybUxvYWRpbmcuYXNPYnNlcnZhYmxlKClcclxuICB9XHJcblxyXG4gIHNldCBmb3JtTG9hZGluZyh2YWx1ZTogTG9hZGluZyl7XHJcbiAgICB0aGlzLl9fZm9ybUxvYWRpbmcubmV4dCh2YWx1ZSlcclxuICB9XHJcblxyXG4gIGxvYWRTZXNzaW9uKCkge1xyXG4gICAgY29uc3QgZXhpc3RTZXNzaW9uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJlc3F1ZW1hc1wiKSAhPT0gbnVsbFxyXG4gICAgaWYgKGV4aXN0U2Vzc2lvbil7XHJcbiAgICAgIHRoaXMuX2VzcXVlbWFzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImVzcXVlbWFzXCIpISlcclxuICAgICAgdGhpcy5fdWlFc3F1ZW1hcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1aUVzcXVlbWFzXCIpISlcclxuICAgICAgdGhpcy5fcmVnaXN0cm9zID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInJlZ2lzdHJvc1wiKSEpXHJcbiAgICAgIHRoaXMuX2RhdGFTZXQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZGF0YVNldFwiKSEpXHJcbiAgICAgIHRoaXMuX2Fuc3dlcnMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYW5zd2Vyc1wiKSEpXHJcbiAgICAgIHRoaXMuX3RyeCA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0cnhcIikhKVxyXG4gICAgICB0aGlzLl9faW5kZXggPSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJpbmRleFwiKSFcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKClcclxuICAgIH1cclxuICAgIHJldHVybiBleGlzdFNlc3Npb25cclxuICB9XHJcblxyXG4gIGdldCByZWFzb25zKCk6IFJlYXNvbltde1xyXG4gICAgY29uc3QgcmVhc29uc1N0b3JhZ2UgPWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicmVhc29uc1wiKVxyXG4gICAgaWYgKHJlYXNvbnNTdG9yYWdlKSByZXR1cm4gPFJlYXNvbltdPkpTT04ucGFyc2UocmVhc29uc1N0b3JhZ2UpXHJcbiAgICByZXR1cm4gW11cclxuICB9XHJcblxyXG4gIHNhdmVQcm9ncmVzcyhyZWFzb25zOiBSZWFzb25bXSl7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInJlYXNvbnNcIiwgSlNPTi5zdHJpbmdpZnkocmVhc29ucykpXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImVzcXVlbWFzXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuX2VzcXVlbWFzKSlcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidHJ4XCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuX3RyeCkpXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInVpRXNxdWVtYXNcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5fdWlFc3F1ZW1hcykpXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInJlZ2lzdHJvc1wiLCBKU09OLnN0cmluZ2lmeSh0aGlzLl9yZWdpc3Ryb3MpKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJkYXRhU2V0XCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuX2RhdGFTZXQpKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJhbnN3ZXJzXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuX2Fuc3dlcnMpKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJpbmRleFwiLCB0aGlzLl9faW5kZXgudG9TdHJpbmcoKSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWRpcmVjdFRvSW5pY2lvKCl7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVswXVxyXG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcclxuICB9XHJcblxyXG5cclxuYXBwbHlWYWx1ZXNPbkV2ZW50KGV2ZW50OiBzdHJpbmcsIGVzcXVlbWE6IFNoZW1hLCBrZXk6IHN0cmluZyB8IHVuZGVmaW5lZCwgZGF0YTogYW55KSB7XHJcbiAgICBpZiAoa2V5KSB7IFxyXG4gICAgICBpZiAoZXNxdWVtYS5wcm9wZXJ0aWVzW2tleV1bZXZlbnRdKSB7XHJcbiAgICAgICAgZXNxdWVtYS5wcm9wZXJ0aWVzW2tleV1bZXZlbnRdLmZvckVhY2goKHZhbHVlOiB7IHNjb3BlOiBzdHJpbmdbXSwgb3A6IHN0cmluZywga2V5Pzogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0VmFsdWVFdmVudChkYXRhLCB2YWx1ZSwgZXNxdWVtYSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXNxdWVtYS5wcm9wZXJ0aWVzKSB7XHJcbiAgICAgICAgaWYgKGVzcXVlbWEucHJvcGVydGllc1trZXldW2V2ZW50XSkge1xyXG4gICAgICAgICAgZXNxdWVtYS5wcm9wZXJ0aWVzW2tleV1bZXZlbnRdLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZUV2ZW50KGRhdGEsIHZhbHVlLCBlc3F1ZW1hKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZUV2ZW50KGRhdGE6IGFueSwgcGFyYW1zOiB7IHNjb3BlOiBzdHJpbmdbXSwgb3A6IHN0cmluZywga2V5PzogYW55LCBzZXBhcmF0b3I/OiBzdHJpbmcgfSwgZXNxdWVtYTogU2hlbWEpIHtcclxuICAgIGxldCBkYXRlID0gbW9tZW50KG5ldyBEYXRlKCkpO1xyXG4gICAgc3dpdGNoIChwYXJhbXMub3ApIHtcclxuICAgICAgY2FzZSAnc3VtJzpcclxuICAgICAgICBqc29ucGF0aC52YWx1ZShkYXRhLCBwYXJhbXMuc2NvcGVbMV0sIGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHBhcmFtcy5zY29wZVswXSkucmVkdWNlKChhY2MsIGN1cikgPT4gYWNjICs9IHBhcmFtcz8ua2V5ID8gY3VyW3BhcmFtcy5rZXldIDogY3VyLCAwKSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY29uY2F0JzpcclxuICAgICAgICBsZXQgYXJyYXk6IHN0cmluZ1tdID0gW11cclxuICAgICAgICBwYXJhbXM/LmtleT8ucmVkdWNlKChhY2M6IGFueVtdLCBjdXI6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgYXJyYXkucHVzaChqc29ucGF0aC5xdWVyeShkYXRhLCBjdXIpWzBdKVxyXG4gICAgICAgIH0sIFtdKVxyXG4gICAgICAgIGlmIChwYXJhbXM/LnNlcGFyYXRvcikganNvbnBhdGgudmFsdWUoZGF0YSwgcGFyYW1zLnNjb3BlWzBdLCBhcnJheS5qb2luKHBhcmFtcz8uc2VwYXJhdG9yIHx8ICcgJykpXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2VuYWJsZSc6XHJcbiAgICAgICAganNvbnBhdGgudmFsdWUoZXNxdWVtYSwgcGFyYW1zLnNjb3BlWzBdLCBmYWxzZSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZGlzYWJsZWQnOlxyXG4gICAgICAgIGpzb25wYXRoLnZhbHVlKGVzcXVlbWEsIHBhcmFtcy5zY29wZVswXSwgdHJ1ZSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVwbGFjZTplbmRwb2ludCc6XHJcbiAgICAgICAganNvbnBhdGgudmFsdWUoZXNxdWVtYSwgcGFyYW1zLnNjb3BlWzBdLCBlc3F1ZW1hLmNvbmZpZy5lbmRwb2ludHRlbXAucmVwbGFjZShwYXJhbXMuc2NvcGVbMV0sIGpzb25wYXRoLnF1ZXJ5KGRhdGEsIGAkLi4ke3BhcmFtcy5rZXl9YCkpKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzZXROdWxsJzpcclxuICAgICAgICBqc29ucGF0aC52YWx1ZShkYXRhLCBgJC4ke3BhcmFtcy5rZXl9YCwgbnVsbCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZGF0ZWRpZmY6eWVhcnMnOlxyXG4gICAgICAgICAganNvbnBhdGgudmFsdWUoZGF0YSwgcGFyYW1zLnNjb3BlWzBdLCBkYXRlLmRpZmYobW9tZW50KGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHBhcmFtcy5zY29wZVsxXSlbMF0pLCAneWVhcnMnKSlcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2RhdGVkaWZmOm1vbnRocyc6XHJcbiAgICAgICAgICBqc29ucGF0aC52YWx1ZShkYXRhLCBwYXJhbXMuc2NvcGVbMF0sIGRhdGUuZGlmZihtb21lbnQoanNvbnBhdGgucXVlcnkoZGF0YSwgcGFyYW1zLnNjb3BlWzFdKVswXSksICdtb250aHMnKSlcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2RhdGVkaWZmOndlZWtzJzpcclxuICAgICAgICAgIGpzb25wYXRoLnZhbHVlKGRhdGEsIHBhcmFtcy5zY29wZVswXSwgZGF0ZS5kaWZmKG1vbWVudChqc29ucGF0aC5xdWVyeShkYXRhLCBwYXJhbXMuc2NvcGVbMV0pWzBdKSwgJ3dlZWtzJykpXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdkYXRlZGlmZjpkYXlzJzpcclxuICAgICAgICAgIGpzb25wYXRoLnZhbHVlKGRhdGEsIHBhcmFtcy5zY29wZVswXSwgZGF0ZS5kaWZmKG1vbWVudChqc29ucGF0aC5xdWVyeShkYXRhLCBwYXJhbXMuc2NvcGVbMV0pWzBdKSwgJ2RheXMnKSlcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ3NldFZhbHVlRXZlbnQgc2FsZTonKVxyXG4gICAgY29uc29sZS5sb2coZGF0YSlcclxuICAgIGNvbnNvbGUubG9nKGVzcXVlbWEpXHJcbiAgICBjb25zb2xlLmxvZyhwYXJhbXMpXHJcblxyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG4gIGV4cG9ydCBjbGFzcyBDaGFuZ2VEYXRhIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwdWJsaWMgdmFsdWU6IHN0cmluZyxcclxuICAgICAgcHVibGljIHNjb3BlOiBzdHJpbmcsXHJcbiAgICAgIHB1YmxpYyBpbmRleDogbnVtYmVyXHJcbiAgICApe31cclxuICB9XHJcblxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIExvYWRpbmcge1xyXG4gICAgdGFyZ2V0OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCxcclxuICAgIGluUHJvZ3Jlc3M6IGJvb2xlYW5cclxuICB9XHJcbiJdfQ==
|
|
531
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2YtY3J1ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2YtY3J1ZC9zcmMvbGliL3NmLWNydWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxRQUFRLE1BQU0sVUFBVSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDOztBQUtqQyxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlVLGNBQVMsR0FBWSxFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBVSxFQUFFLENBQUE7UUFDdkIsZUFBVSxHQUFxQixFQUFFLENBQUM7UUFDbEMsYUFBUSxHQUFVLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQ3JCLFNBQUksR0FBYSxFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUVwQixtQkFBYyxHQUF3QixTQUFTLENBQUM7UUFDaEQsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUVwQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUF5QixTQUFTLENBQUMsQ0FBQztRQUNyRSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFVLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztRQUdyRixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBYyxFQUFFLENBQUE7S0E0Z0JsQztJQTFnQkMsSUFBSSxJQUFJO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJ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U0FBUyxDQUFDO0lBQ25CLENBQUM7OzJHQXpoQlUsYUFBYTsrR0FBYixhQUFhLGNBRlosTUFBTTs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFnaUJDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ1MsS0FBYSxFQUNiLEtBQWEsRUFDYixLQUFhO1FBRmIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMganNvbnBhdGggZnJvbSAnanNvbnBhdGgnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2hlbWEgfSBmcm9tICcuL3NoYXJlZC9tb2RlbHMvc2hlbWEubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25maWdSZWdpc3RybywgS2V5LCBPcGVyYXRpb24sIGtleUVzcXVlbWEgfSBmcm9tICcuL3NoYXJlZC9tb2RlbHMvY3J1ZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBFbXByZXNhIH0gZnJvbSAnLi9zaGFyZWQvbW9kZWxzL0VtcHJlc2EubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25kaXRpb24gfSBmcm9tICcuL3NoYXJlZC9tb2RlbHMvQ29uZGl0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFJlYXNvbiB9IGZyb20gJy4vc2hhcmVkL21vZGVscy9SZWFzb24ubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNmQ3J1ZFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2VzcXVlbWFzOiBTaGVtYVtdID0gW107XHJcbiAgcHJpdmF0ZSBfdWlFc3F1ZW1hczogYW55W10gPSBbXVxyXG4gIHByaXZhdGUgX3JlZ2lzdHJvczogQ29uZmlnUmVnaXN0cm9bXSA9IFtdO1xyXG4gIHByaXZhdGUgX2Fuc3dlcnM6IGFueVtdID0gW107XHJcbiAgcHJpdmF0ZSBfZGF0YVNldCA6YW55W10gPSBbXTtcclxuICBwcml2YXRlIF9pZHMgOnN0cmluZ1tdID0gW107XHJcbiAgcHJpdmF0ZSBfX2luZGV4OiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX2lkS2F0aW9zITogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2NvbmZpZ0VtcHJlc2E6IEVtcHJlc2EgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfdHJ4OiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUganNvbkNvbmZpZzogYW55O1xyXG4gIHByaXZhdGUgX2NoYW5nZURhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENoYW5nZURhdGEgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgcHJpdmF0ZSBfX2Zvcm1Mb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMb2FkaW5nPih7aW5Qcm9ncmVzczogZmFsc2UsIHRhcmdldDogdW5kZWZpbmVkfSk7XHJcbiAgcHJpdmF0ZSBfZGF0YUV4dDogYW55O1xyXG4gIHByaXZhdGUgX3RmbVVzZXI6IGFueTtcclxuICBwcml2YXRlIF9jcnVkTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgcHJpdmF0ZSBfbWFzY2FyYXM6IE1hc2NhcmFbXSA9IFtdXHJcblxyXG4gIGdldCB1c2VyKCl7XHJcbiAgICBpZiAoIXRoaXMuX3RmbVVzZXIpIHRoaXMuX3RmbVVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwib1Nlc3Npb25URk1cIikhKVxyXG4gICAgcmV0dXJuIHRoaXMuX3RmbVVzZXJcclxuICB9XHJcblxyXG4gIGdldCBjdXJyZW50T3BlcmF0aW9uKCl7XHJcbiAgICByZXR1cm4gdGhpcy5yZWdpc3Ryb3NbdGhpcy5pbmRleF0ub3BlcmF0aW9ucy5maW5kKHggPT4geC50eXBlLnN0YXJ0c1dpdGgodGhpcy5fdHJ4W3RoaXMuaW5kZXhdKSlcclxuICB9XHJcblxyXG4gIHNldCBlbnZpcm9ubWVudCh2YWw6IGFueSl7XHJcbiAgICB0aGlzLmpzb25Db25maWcgPSB2YWxcclxuICB9XHJcblxyXG4gIGdldCBlbnZpcm9ubWVudCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuanNvbkNvbmZpZ1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9uQ3J1ZExvYWRlZCQoKXtcclxuICAgIHJldHVybiB0aGlzLl9jcnVkTG9hZGVkLmFzT2JzZXJ2YWJsZSgpXHJcbiAgfVxyXG5cclxuICBzZXQgY3J1ZExvYWRlZCh2YWx1ZTogYm9vbGVhbil7XHJcbiAgICB0aGlzLl9jcnVkTG9hZGVkLm5leHQodmFsdWUpXHJcbiAgfVxyXG5cclxuICBnZXQgZGF0YUV4dCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGFFeHRcclxuICB9XHJcblxyXG4gIHNldCBkYXRhRXh0KHZhbCl7XHJcbiAgICB0aGlzLl9kYXRhRXh0ID0gdmFsXHJcbiAgfVxyXG5cclxuICBnZXQgaW5kZXgoKXtcclxuICAgIHJldHVybiB0aGlzLl9faW5kZXhcclxuICB9XHJcblxyXG4gIHNldCBpbmRleCh2YWx1ZTogbnVtYmVyKXtcclxuICAgIHRoaXMuX19pbmRleCA9IHZhbHVlXHJcbiAgfVxyXG5cclxuICBnZXQgaWRLYXRpb3MoKXtcclxuICAgIHJldHVybiB0aGlzLl9pZEthdGlvc1xyXG4gIH1cclxuXHJcbiAgc2V0IGlkS2F0aW9zKHZhbHVlOiBzdHJpbmcpe1xyXG4gICAgdGhpcy5faWRLYXRpb3MgPSB2YWx1ZT8udHJpbSgpPy50b1VwcGVyQ2FzZSgpXHJcbiAgfVxyXG5cclxuICBnZXQgY29uZmlnRW1wcmVzYSgpOiBFbXByZXNhIHwgdW5kZWZpbmVke1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ0VtcHJlc2FcclxuICB9XHJcblxyXG4gIHNldCBjb25maWdFbXByZXNhKHZhbHVlOiBFbXByZXNhIHwgdW5kZWZpbmVkKXtcclxuICAgIHRoaXMuX2NvbmZpZ0VtcHJlc2EgPSB2YWx1ZVxyXG4gIH1cclxuXHJcbiAgZ2V0IG1hc2NhcmFzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fbWFzY2FyYXNcclxuICB9XHJcblxyXG4gIHNldCBtYXNjYXJhcyhtYXNjYXJhczogTWFzY2FyYVtdKXtcclxuICAgIHRoaXMuX21hc2NhcmFzID0gbWFzY2FyYXNcclxuICB9XHJcblxyXG4gIGdldFVSTChvcGVyYXRpb246IE9wZXJhdGlvbiwgaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgaWQ6IGFueT11bmRlZmluZWQpe1xyXG5cclxuICAgICAgbGV0IHVybCA9IG9wZXJhdGlvbi51cmwgfHwgYCR7dGhpcy5qc29uQ29uZmlnW29wZXJhdGlvbi5zZXJ2ZXIhXX0ke29wZXJhdGlvbi5lbmRwb2ludH1gXHJcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKCdAaWRLYXRpb3MnLCB0aGlzLmlkS2F0aW9zKVxyXG4gICAgICBpZiAoaWQpIHVybCA9IHVybC5yZXBsYWNlKCdAaWQnLCBpZClcclxuXHJcbiAgICAgIHVybCA9IHRoaXMuYXBwbHlTdHJpbmdLZXlzKHVybCwgaW5kZXgpXHJcbiAgICAgIHJldHVybiB1cmxcclxuICB9XHJcblxyXG4gIGdldFJlZ2lzdHJvKGluZGV4OiBudW1iZXIpe1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJvc1tpbmRleF07XHJcbiAgfVxyXG5cclxuICBnZXRJZChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9pZHMubGVuZ3RoID09IDEgPyB0aGlzLl9pZHNbMF0gOiB0aGlzLl9pZHNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRhdGFzZXQoKXtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhU2V0XHJcbiAgfVxyXG4gIGdldERhdGEoaW5kZXg6IG51bWJlcil7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNldC5sZW5ndGggPT0gMSA/IHRoaXMuX2RhdGFTZXRbMF0gOiB0aGlzLl9kYXRhU2V0W2luZGV4XTtcclxuICB9XHJcblxyXG4gIGdldFRyeChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90cnhbaW5kZXhdXHJcbiAgfVxyXG5cclxuICBnZXQgdG90YWxEYXRhKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNldC5sZW5ndGhcclxuICB9XHJcblxyXG4gIGdldCB0b3RhbFJlZ2lzdHJvcygpe1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJvcy5sZW5ndGhcclxuICB9XHJcblxyXG4gIGdldCB1aUVzcXVlbWFzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fdWlFc3F1ZW1hc1xyXG4gIH1cclxuXHJcbiAgZ2V0RXNxdWVtYShpbmRleDogbnVtYmVyKXtcclxuICAgIHJldHVybiB0aGlzLl9lc3F1ZW1hcy5sZW5ndGggPT0gMSA/IHRoaXMuX2VzcXVlbWFzWzBdIDogdGhpcy5fZXNxdWVtYXNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKXtcclxuICAgIHRoaXMuX2lkcyA9IFtdXHJcbiAgICB0aGlzLl9kYXRhU2V0ID0gW11cclxuICB9XHJcblxyXG4gIGdldFVSTFJlZGlyZWN0KGluaXRpYWxVUkw6IHN0cmluZyl7XHJcbiAgICBsZXQgZmluYWxVcmwgPSB0aGlzLmFwcGx5U3RyaW5nS2V5cyhpbml0aWFsVVJMLCB1bmRlZmluZWQpXHJcbiAgICBmaW5hbFVybCA9IGZpbmFsVXJsLnJlcGxhY2UoXCJAVVJMQkFTRVwiLCB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzBdKVxyXG4gICAgcmV0dXJuIGZpbmFsVXJsXHJcbiAgfVxyXG5cclxuICBnZXRVSUVzcXVlbWEoaW5kZXg6IG51bWJlcil7XHJcbiAgICByZXR1cm4gdGhpcy5fdWlFc3F1ZW1hc1tpbmRleF07XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogdXNpbmcgZGF0YSwgYXBwbHkgZWFjaCBrZXlFc3F1ZW1hIG92ZXIgZWFjaCBkYXRhc2V0IGluZGljYXRlZCBvbiBpbmRleERhdGEgb2YgZWFjaCBrZXlcclxuICAgKiBAcGFyYW0gZGF0YVxyXG4gICAqIEBwYXJhbSBjb250ZW50XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBhcHBseU9iamVjdEtleXMoZGF0YTogYW55LCBrZXlzRXNxdWVtYToga2V5RXNxdWVtYVtdLCByZWdpc3RybzogQ29uZmlnUmVnaXN0cm8pOiBhbnl7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXNFc3F1ZW1hLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IG9wdCA9IGtleXNFc3F1ZW1hW2ldO1xyXG4gICAgICBsZXQgdmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIGlmIChvcHQuaW5kZXhLZXkpe1xyXG4gICAgICAgIGxldCBrZXlGb3VuZCA9IChyZWdpc3Ryby5rZXlzID8/IFt1bmRlZmluZWRdKVtvcHQuaW5kZXhLZXldXHJcbiAgICAgICAgdGhpcy5hcHBseUtleShrZXlGb3VuZCwgcmVnaXN0cm8sIGRhdGEpXHJcblxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdC5pbmRleERhdGEgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChvcHQuaXNBcnJheSl7XHJcbiAgICAgICAgICB2YWx1ZSA9IGpzb25wYXRoLnF1ZXJ5KGRhdGEsIG9wdC5zY29wZSlcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHZhbHVlID0ganNvbnBhdGgucXVlcnkoZGF0YSwgb3B0LnNjb3BlKVswXVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0LmtleSA9PSBcIiRcIikgT2JqZWN0LmFzc2lnbih0aGlzLl9kYXRhU2V0W29wdC5pbmRleERhdGEhXSwgdmFsdWUpXHJcbiAgICAgIGVsc2UgaWYgKG9wdC5rZXkgJiYgKCh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB8fCAob3B0LmNhbkJlVmFsdWVVbmRlZmluZWQgPT09IHVuZGVmaW5lZCB8fCBvcHQuY2FuQmVWYWx1ZVVuZGVmaW5lZCA9PT0gdHJ1ZSkpKSBqc29ucGF0aC52YWx1ZSh0aGlzLl9kYXRhU2V0W29wdC5pbmRleERhdGEhXSwgb3B0LmtleSwgdmFsdWUpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YVxyXG4gIH1cclxuXHJcblxyXG4gIGFwcGx5S2V5KGtleTogS2V5IHwgdW5kZWZpbmVkLCByZWdpc3RybzogQ29uZmlnUmVnaXN0cm8sIGRhdGE6IGFueSl7XHJcbiAgICBpZiAoa2V5Py5vdmVycmlkZUNvbnRyb2wpe1xyXG4gICAgICBsZXQgbmV3VmFsID0gdW5kZWZpbmVkO1xyXG4gICAgICBsZXQgZXNxdWVtYVRvU2V0ID0gdGhpcy5nZXRDb250cm9sKGtleS5zY29wZSwgdGhpcy5lc3F1ZW1hc1trZXkuaW5kZXhEYXRhID8/IHRoaXMuaW5kZXhdKVxyXG4gICAgICBpZiAoIWVzcXVlbWFUb1NldCkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3Ioe21lc3NhZ2U6IFwibGEga2V5IGVzdGEgbWFsIGNvbmZpZ3VyYWRhXCIsIGRhdGE6IGtleX0pXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBjb21wbGV0ZWQgPSB0aGlzLmlzQ29uZGl0aW9uc0NvbXBsZXRlZChrZXkub3ZlcnJpZGVDb250cm9sLmNvbmRpdGlvbnMgPz8gW10sIHJlZ2lzdHJvLmNvbmRpdGlvbnMgfHwgW10sIGRhdGEpXHJcbiAgICAgIGlmIChrZXkub3ZlcnJpZGVDb250cm9sPy5wcm9wZXJ0eSkganNvbnBhdGgudmFsdWUoZXNxdWVtYVRvU2V0LCBrZXkub3ZlcnJpZGVDb250cm9sLnByb3BlcnR5LCBjb21wbGV0ZWQgPyBrZXkub3ZlcnJpZGVDb250cm9sLnZhbHVlIDoga2V5Lm92ZXJyaWRlQ29udHJvbC5lbHNlVmFsdWUpXHJcblxyXG4gICAgICBpZiAoY29tcGxldGVkICYmIGtleS5vdmVycmlkZUNvbnRyb2wubmV3UHJvcGVydHlWYWx1ZSAhPT0gdW5kZWZpbmVkKXtcclxuICAgICAgICBpZiAoa2V5Lm92ZXJyaWRlQ29udHJvbC5uZXdQcm9wZXJ0eVZhbHVlID09ICdSRVNFVE9CSkVDVCcpIG5ld1ZhbCA9IHRoaXMuY3JlYXRlT2JqZWN0KGVzcXVlbWFUb1NldCwgdGhpcy5jdXJyZW50T3BlcmF0aW9uKVxyXG4gICAgICAgIGVsc2UgbmV3VmFsID0ga2V5Lm92ZXJyaWRlQ29udHJvbC5uZXdQcm9wZXJ0eVZhbHVlXHJcbiAgICAgIH1lbHNlIGlmICghY29tcGxldGVkICYmIGtleS5vdmVycmlkZUNvbnRyb2wuZWxzZU5ld1Byb3BlcnR5VmFsdWUgIT09IHVuZGVmaW5lZCl7XHJcbiAgICAgICAgaWYgKGtleS5vdmVycmlkZUNvbnRyb2wuZWxzZU5ld1Byb3BlcnR5VmFsdWUgPT0gJ1JFU0VUT0JKRUNUJykgbmV3VmFsID0gdGhpcy5jcmVhdGVPYmplY3QoZXNxdWVtYVRvU2V0LCB0aGlzLmN1cnJlbnRPcGVyYXRpb24pXHJcbiAgICAgICAgZWxzZSBuZXdWYWwgPSBrZXkub3ZlcnJpZGVDb250cm9sLmVsc2VOZXdQcm9wZXJ0eVZhbHVlXHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5ld1ZhbCAhPT0gdW5kZWZpbmVkKSBqc29ucGF0aC52YWx1ZSh0aGlzLl9kYXRhU2V0W2tleS5pbmRleERhdGEgPz8gdGhpcy5pbmRleF0sIGtleS5zY29wZS5yZXBsYWNlQWxsKCcuLnByb3BlcnRpZXMnLCAnJyksIG5ld1ZhbClcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZSBjb25kaXRpb25zIG9uIGRhdGFzXHJcbiAgICogQHBhcmFtIGNvbmRpdGlvbnNcclxuICAgKiBAcGFyYW0gaW5kZXhcclxuICAgKi9cclxuICBpc0NvbmRpdGlvbnNDb21wbGV0ZWQoaUNvbmRpdGlvbnM6IG51bWJlcltdLCBjb25kaXRpb25zOiBDb25kaXRpb25bXSwgZGF0YTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY3VtcGxlID0gIHRydWVcclxuICAgIGlDb25kaXRpb25zLmZvckVhY2goIGlDb25kID0+IHtcclxuICAgICAgY29uc3QgYyA9IENvbmRpdGlvbi5pbnN0YW5jZUNvbnRpZGlvbihpQ29uZCwgY29uZGl0aW9ucylcclxuICAgICAgbGV0IGRhdGFUb0V2YWx1YXRlID0gYy5pbmRleERhdGEgIT09IHVuZGVmaW5lZCA/IHRoaXMuX2RhdGFTZXRbYy5pbmRleERhdGFdIDogZGF0YVxyXG4gICAgICBpZiAoIWMuaXNWYWxpZChkYXRhVG9FdmFsdWF0ZSkpIGN1bXBsZSA9IGZhbHNlXHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGN1bXBsZVxyXG4gIH1cclxuICAgIC8qKlxyXG4gICAgICogQXBwbHkgZWFjaCBrZXkgZnJvbSByZWdpc3RlciBvdmVyIHN0cmluZyBjb250ZW50XHJcbiAgICAgKiBAcGFyYW0gaW5kZXhSZWdpc3Ryb1xyXG4gICAgICogQHBhcmFtIGNvbnRlbnRcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIGFwcGx5U3RyaW5nS2V5cyhjb250ZW50OiBzdHJpbmcsIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBzdHJpbmd7XHJcbiAgICAgIGxldCBpbmRleFJlZ2lzdHJvID0gaW5kZXggfHwgdGhpcy5fX2luZGV4XHJcbiAgICAgIHRoaXMuX3JlZ2lzdHJvc1tpbmRleFJlZ2lzdHJvXS5rZXlzPy5mb3JFYWNoKChvcHQpID0+IHtcclxuICAgICAgICBsZXQgdmFsdWU7XHJcbiAgICAgICAgaWYgKG9wdC5pbmRleElkICE9PSB1bmRlZmluZWQgJiYgb3B0LmluZGV4SWQgPCB0aGlzLl9pZHMubGVuZ3RoKSB2YWx1ZSA9IHRoaXMuX2lkc1tvcHQuaW5kZXhJZF1cclxuICAgICAgICBlbHNlIGlmIChvcHQuaW5kZXhBbnN3ZXIgIT09IHVuZGVmaW5lZCAmJiBvcHQuaW5kZXhBbnN3ZXIgPCB0aGlzLl9hbnN3ZXJzLmxlbmd0aCkgdmFsdWUgPSBqc29ucGF0aC5xdWVyeSh0aGlzLl9hbnN3ZXJzW29wdC5pbmRleEFuc3dlcl0sIG9wdC5zY29wZSlbMF1cclxuICAgICAgICBlbHNlIGlmIChvcHQuaW5kZXhEYXRhICE9PSB1bmRlZmluZWQpIHZhbHVlID0ganNvbnBhdGgucXVlcnkodGhpcy5fZGF0YVNldFtvcHQuaW5kZXhEYXRhXSwgb3B0LnNjb3BlKVswXVxyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdmFsdWUgPSAnJ1xyXG4gICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnJlcGxhY2Uob3B0LmtleSwgdmFsdWUpXHJcbiAgICAgIH0pXHJcbiAgICByZXR1cm4gY29udGVudFxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVEYXRhTG9jYWwob3BlcmF0aW9uOiBPcGVyYXRpb24sIGRhdGE6IGFueSwgY29uZGl0aW9uczogQ29uZGl0aW9uW10pIHtcclxuICAgIGNvbnN0IGVycjogc3RyaW5nW10gPSBbXVxyXG4gICAgLy9Tb2xvIHNpIHNlIGN1bXBsZSBsYSBjb25kaWNpb24sIHNlIHZhbGlkYVxyXG4gICAgb3BlcmF0aW9uLnZhbGlkYXRpb25zPy5yZXF1aXJlZD8uZm9yRWFjaCh4ID0+IHtcclxuICAgICAgY29uc3QgY3VtcGxlQ29uZCA9IHguY29uZGl0aW9ucyA/IHRoaXMuaXNDb25kaXRpb25zQ29tcGxldGVkKHguY29uZGl0aW9ucywgY29uZGl0aW9ucywgZGF0YSk6IHRydWU7XHJcbiAgICAgIGlmIChjdW1wbGVDb25kICYmICghanNvbnBhdGgucXVlcnkoZGF0YSwgeC5maWVsZClbMF0gfHxcclxuICAgICAgKEFycmF5LmlzQXJyYXkoanNvbnBhdGgucXVlcnkoZGF0YSwgeC5maWVsZClbMF0pICYmIGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHguZmllbGQpWzBdLmxlbmd0aCA9PSAwKSkpIGVyci5wdXNoKHgubWVzc2FnZSk7XHJcbiAgICB9KVxyXG5cclxuICAgIG9wZXJhdGlvbi52YWxpZGF0aW9ucz8uZGlmZmVyZW50Py5mb3JFYWNoKHggPT57XHJcbiAgICAgIGNvbnN0IGN1bXBsZUNvbmQgPSB4LmNvbmRpdGlvbnMgPyB0aGlzLmlzQ29uZGl0aW9uc0NvbXBsZXRlZCh4LmNvbmRpdGlvbnMsIGNvbmRpdGlvbnMsIGRhdGEpOiB0cnVlO1xyXG4gICAgICBpZiAoY3VtcGxlQ29uZCAmJiBqc29ucGF0aC5xdWVyeShkYXRhLCB4LmZpZWxkKVswXSA9PT0geC52YWx1ZSkgZXJyLnB1c2goeC5tZXNzYWdlKTtcclxuICAgIH0pXHJcblxyXG4gICAgb3BlcmF0aW9uLnZhbGlkYXRpb25zPy5lcXVhbHM/LmZvckVhY2goeCA9PntcclxuICAgICAgY29uc3QgY3VtcGxlQ29uZCA9IHguY29uZGl0aW9ucyA/IHRoaXMuaXNDb25kaXRpb25zQ29tcGxldGVkKHguY29uZGl0aW9ucywgY29uZGl0aW9ucywgZGF0YSk6IHRydWU7XHJcbiAgICAgIGlmIChjdW1wbGVDb25kICYmIGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHguZmllbGQpWzBdICE9IHgudmFsdWUpIGVyci5wdXNoKHgubWVzc2FnZSk7XHJcbiAgICB9KVxyXG4gICAgb3BlcmF0aW9uLnZhbGlkYXRpb25zPy5vcGVyYXRpb25zPy5mb3JFYWNoKChvcDogYW55KSA9PiB7XHJcbiAgICAgIHN3aXRjaCAob3AuYWN0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnc3VtQXJyYXknOlxyXG4gICAgICAgICAgY29uc3QgdmFyMSA9IGpzb25wYXRoLnF1ZXJ5KGRhdGEsIG9wLnNjb3BlWzBdKS5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKz0gY3VyW29wLmtleV0sIDApO1xyXG4gICAgICAgICAgY29uc3QgdmFyMiA9IGpzb25wYXRoLnF1ZXJ5KGRhdGEsIG9wLnNjb3BlWzFdKS5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKz0gY3VyW29wLmtleV0sIDApO1xyXG4gICAgICAgICAgaWYgKHZhcjEgIT0gdmFyMikgZXJyLnB1c2gob3AubWVzc2FnZSlcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBlcnI7XHJcbiAgfVxyXG5cclxuICBzZXQgZXNxdWVtYXMoZXNxdWVtYXM6IFNoZW1hW10pe1xyXG4gICAgdGhpcy5fZXNxdWVtYXMgPSBlc3F1ZW1hc1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVzcXVlbWFzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fZXNxdWVtYXNcclxuICB9XHJcblxyXG4gIHNldCBpZHMoaWRzOiBzdHJpbmdbXSl7XHJcbiAgICB0aGlzLl9pZHMgPSBpZHNcclxuICB9XHJcblxyXG4gIHNldCB1aUVzcXVlbWFzKHVpRXNxdWVtYXM6IGFueVtdKXtcclxuICAgIHRoaXMuX3VpRXNxdWVtYXMgPSB1aUVzcXVlbWFzXHJcbiAgfVxyXG5cclxuICBnZXQgcmVnaXN0cm9zKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVnaXN0cm9zXHJcbiAgfVxyXG5cclxuICBzZXQgcmVnaXN0cm9zKHJlZ2lzdHJvczogQ29uZmlnUmVnaXN0cm9bXSl7XHJcbiAgICB0aGlzLl9yZWdpc3Ryb3MgPSByZWdpc3Ryb3NcclxuICB9XHJcblxyXG4gIHNldERhdGFTZXQoZGF0YTogYW55LCBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKXtcclxuICAgIGluZGV4ID0gaW5kZXggPyBpbmRleCA6IHRoaXMuX19pbmRleFxyXG4gICAgaWYgKGluZGV4ID49IHRoaXMudG90YWxEYXRhKSB7XHJcbiAgICAgIHRoaXMuX2RhdGFTZXQucHVzaChkYXRhKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VHJ4KHRyeDogYW55LCBpbmRleDogbnVtYmVyKXtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRyeCkpIHRoaXMuX3RyeCA9IHRyeDtcclxuICAgIGVsc2UgaWYgKGluZGV4ID49IHRoaXMuX3RyeC5sZW5ndGgpIHRoaXMuX3RyeC5wdXNoKHRyeClcclxuICAgIGVsc2UgdGhpcy5fdHJ4W2luZGV4XSA9IHRyeFxyXG4gIH1cclxuXHJcbiAgc2V0QW5zd2VycyhhbnN3ZXI6IGFueSwgaW5kZXg6IG51bWJlcil7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhbnN3ZXIpKSB0aGlzLl9hbnN3ZXJzID0gYW5zd2VyO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmIChpbmRleCA+PSB0aGlzLl9hbnN3ZXJzLmxlbmd0aCkgdGhpcy5fYW5zd2Vycy5wdXNoKGFuc3dlcik7XHJcbiAgICAgIGVsc2UgdGhpcy5fYW5zd2Vyc1tpbmRleF0gPSBhbnN3ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb250cm9sKHNjb3BlOiBzdHJpbmcsIGVzcXVlbWE6IFNoZW1hKSB7XHJcbiAgICByZXR1cm4ganNvbnBhdGgucXVlcnkoZXNxdWVtYSwgc2NvcGUpWzBdO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFZhbHVlKHNjb3BlOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHNjb3BlLnJlcGxhY2VBbGwoJy5wcm9wZXJ0aWVzJywgJycpKVswXTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU9iamVjdChlc3F1ZW1hOiBTaGVtYSwgb3BlcmF0aW9uOiBPcGVyYXRpb24gfCB1bmRlZmluZWQpIHtcclxuICAgIGNvbnN0IG9iamVjdDogYW55ID0ge307XHJcbiAgICBzd2l0Y2ggKGVzcXVlbWEudHlwZSkge1xyXG4gICAgICBjYXNlICdudW1lcmljJzpcclxuICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgaWYgKGVzcXVlbWEuZGVmYXVsdCAmJiBvcGVyYXRpb24pe1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2V0RGVmYXVsdFZhbHVlKGVzcXVlbWEuZGVmYXVsdCwgb3BlcmF0aW9uKVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHJldHVybiBlc3F1ZW1hLmRlZmF1bHQgPz8gbnVsbDtcclxuICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgcmV0dXJuIGVzcXVlbWE/LmRlZmF1bHQgfHwgZmFsc2U7XHJcbiAgICAgIGNhc2UgJ2FycmF5JzpcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIGNhc2UgJ2ZpbGUnOlxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICBjYXNlICdvYmplY3QnOlxyXG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGVzcXVlbWE/LnByb3BlcnRpZXMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGxldCBhdXggPSBlc3F1ZW1hPy5wcm9wZXJ0aWVzW2tleV1cclxuICAgICAgICAgIGlmIChhdXgpIG9iamVjdFtrZXldID0gdGhpcy5jcmVhdGVPYmplY3QoYXV4LCBvcGVyYXRpb24pXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAgIGdldFZhbHVlS2V5KGtleTogS2V5IHwgdW5kZWZpbmVkKTogYW55IHtcclxuICAgIGxldCBkYXRhO1xyXG4gICAgc3dpdGNoIChrZXk/LmRhdGEgfHwgJ2V4dGVybmEnKSB7XHJcbiAgICAgIGNhc2UgXCJ1c2VyXCI6XHJcbiAgICAgICAgZGF0YSA9IHRoaXMudXNlclxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGRhdGEgPSB0aGlzLmRhdGFFeHRcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChkYXRhICYmIGtleSl7XHJcbiAgICAgIGNvbnN0IGF1eCA9IGpzb25wYXRoLnF1ZXJ5KGRhdGEsIGtleS5zY29wZSlcclxuICAgICAgaWYgKGF1eC5sZW5ndGggPT0gMCkgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgICBpZiAoYXV4Lmxlbmd0aCA9PSAxKSByZXR1cm4gYXV4WzBdXHJcbiAgICAgIGVsc2UgcmV0dXJuIGF1eFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gIH1cclxuXHJcblxyXG4gIHNldERlZmF1bHRWYWx1ZSh2YWx1ZTogYW55LCBvcGVyYXRpb246IE9wZXJhdGlvbikge1xyXG4gICAgbGV0IGRhdGEgPSBudWxsO1xyXG4gICAgaWYgKHZhbHVlLmtleSAmJiBvcGVyYXRpb24ua2V5cyl7XHJcbiAgICAgIGRhdGEgPSB0aGlzLmdldFZhbHVlS2V5KG9wZXJhdGlvbi5rZXlzLmZpbmQoayA9PiBrLmtleSA9PSB2YWx1ZS5rZXkpISlcclxuICAgICAgdmFsdWUgPSBkYXRhXHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XHJcbiAgICAgIGNhc2UgJ0B1YWN0aXZvJzpcclxuICAgICAgICBkYXRhID0gYCR7dGhpcy51c2VyLlVzdWFyaW9TaXN0ZW1hLlRET0N9LSR7dGhpcy51c2VyLlVzdWFyaW9TaXN0ZW1hLk5ET0N9YFxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdAdGRvY2FjdGl2byc6XHJcbiAgICAgICAgZGF0YSA9IHRoaXMudXNlci5Vc3VhcmlvU2lzdGVtYS5URE9DXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0BuZG9jYWN0aXZvJzpcclxuICAgICAgICBkYXRhID0gdGhpcy51c2VyLlVzdWFyaW9TaXN0ZW1hLk5ET0NcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQGhveSc6XHJcbiAgICAgICAgZGF0YSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGFcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlIGlmIHNjaGVtYSBoYXMgcGRmc2lnbiBhbmQgaXQncyBzaWduZWQsIGVsc2UgcmV0dXJuIGZhbHNlXHJcbiAgICogQHBhcmFtIGluZGV4XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBpc1NpZ25lZFBERihpbmRleDogbnVtYmVyKXtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhU2V0W2luZGV4XS5zaWduZWRcclxuICB9XHJcblxyXG4gIGdldCBjaGFuZ2VEYXRhJCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZURhdGEuYXNPYnNlcnZhYmxlKClcclxuICB9XHJcblxyXG4gIHNldCBjaGFuZ2VEYXRhKHZhbHVlOiBDaGFuZ2VEYXRhKXtcclxuICAgIHRoaXMuX2NoYW5nZURhdGEubmV4dCh2YWx1ZSlcclxuICB9XHJcblxyXG4gIGdldCBmb3JtTG9hZGluZyQoKXtcclxuICAgIHJldHVybiB0aGlzLl9fZm9ybUxvYWRpbmcuYXNPYnNlcnZhYmxlKClcclxuICB9XHJcblxyXG4gIHNldCBmb3JtTG9hZGluZyh2YWx1ZTogTG9hZGluZyl7XHJcbiAgICB0aGlzLl9fZm9ybUxvYWRpbmcubmV4dCh2YWx1ZSlcclxuICB9XHJcblxyXG4gIGxvYWRTZXNzaW9uKCkge1xyXG4gICAgY29uc3QgZXhpc3RTZXNzaW9uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJlc3F1ZW1hc1wiKSAhPT0gbnVsbFxyXG4gICAgaWYgKGV4aXN0U2Vzc2lvbil7XHJcbiAgICAgIHRoaXMuX2VzcXVlbWFzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImVzcXVlbWFzXCIpISlcclxuICAgICAgdGhpcy5fdWlFc3F1ZW1hcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1aUVzcXVlbWFzXCIpISlcclxuICAgICAgdGhpcy5fcmVnaXN0cm9zID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInJlZ2lzdHJvc1wiKSEpXHJcbiAgICAgIHRoaXMuX2RhdGFTZXQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZGF0YVNldFwiKSEpXHJcbiAgICAgIHRoaXMuX2Fuc3dlcnMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYW5zd2Vyc1wiKSEpXHJcbiAgICAgIHRoaXMuX3RyeCA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0cnhcIikhKVxyXG4gICAgICB0aGlzLl9faW5kZXggPSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJpbmRleFwiKSFcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKClcclxuICAgIH1cclxuICAgIHJldHVybiBleGlzdFNlc3Npb25cclxuICB9XHJcblxyXG4gIGdldCByZWFzb25zKCk6IFJlYXNvbltde1xyXG4gICAgY29uc3QgcmVhc29uc1N0b3JhZ2UgPWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicmVhc29uc1wiKVxyXG4gICAgaWYgKHJlYXNvbnNTdG9yYWdlKSByZXR1cm4gPFJlYXNvbltdPkpTT04ucGFyc2UocmVhc29uc1N0b3JhZ2UpXHJcbiAgICByZXR1cm4gW11cclxuICB9XHJcblxyXG4gIHNhdmVQcm9ncmVzcyhyZWFzb25zOiBSZWFzb25bXSl7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInJlYXNvbnNcIiwgSlNPTi5zdHJpbmdpZnkocmVhc29ucykpXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImVzcXVlbWFzXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuX2VzcXVlbWFzKSlcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidHJ4XCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuX3RyeCkpXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInVpRXNxdWVtYXNcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5fdWlFc3F1ZW1hcykpXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInJlZ2lzdHJvc1wiLCBKU09OLnN0cmluZ2lmeSh0aGlzLl9yZWdpc3Ryb3MpKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJkYXRhU2V0XCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuX2RhdGFTZXQpKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJhbnN3ZXJzXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuX2Fuc3dlcnMpKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJpbmRleFwiLCB0aGlzLl9faW5kZXgudG9TdHJpbmcoKSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWRpcmVjdFRvSW5pY2lvKCl7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVswXVxyXG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcclxuICB9XHJcblxyXG5cclxuYXBwbHlWYWx1ZXNPbkV2ZW50KGV2ZW50OiBzdHJpbmcsIGVzcXVlbWE6IFNoZW1hLCBrZXk6IHN0cmluZyB8IHVuZGVmaW5lZCwgZGF0YTogYW55KSB7XHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGlmIChlc3F1ZW1hLnByb3BlcnRpZXNba2V5XVtldmVudF0pIHtcclxuICAgICAgICBlc3F1ZW1hLnByb3BlcnRpZXNba2V5XVtldmVudF0uZm9yRWFjaCgodmFsdWU6IHsgc2NvcGU6IHN0cmluZ1tdLCBvcDogc3RyaW5nLCBrZXk/OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRWYWx1ZUV2ZW50KGRhdGEsIHZhbHVlLCBlc3F1ZW1hKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBlc3F1ZW1hLnByb3BlcnRpZXMpIHtcclxuICAgICAgICBpZiAoZXNxdWVtYS5wcm9wZXJ0aWVzW2tleV1bZXZlbnRdKSB7XHJcbiAgICAgICAgICBlc3F1ZW1hLnByb3BlcnRpZXNba2V5XVtldmVudF0uZm9yRWFjaCgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlRXZlbnQoZGF0YSwgdmFsdWUsIGVzcXVlbWEpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFZhbHVlRXZlbnQoZGF0YTogYW55LCBwYXJhbXM6IHsgc2NvcGU6IHN0cmluZ1tdLCBvcDogc3RyaW5nLCBrZXk/OiBhbnksIHNlcGFyYXRvcj86IHN0cmluZyB9LCBlc3F1ZW1hOiBTaGVtYSkge1xyXG4gICAgbGV0IGRhdGUgPSBtb21lbnQobmV3IERhdGUoKSk7XHJcbiAgICBzd2l0Y2ggKHBhcmFtcy5vcCkge1xyXG4gICAgICBjYXNlICdzdW0nOlxyXG4gICAgICAgIGpzb25wYXRoLnZhbHVlKGRhdGEsIHBhcmFtcy5zY29wZVsxXSwganNvbnBhdGgucXVlcnkoZGF0YSwgcGFyYW1zLnNjb3BlWzBdKS5yZWR1Y2UoKGFjYywgY3VyKSA9PiBhY2MgKz0gcGFyYW1zPy5rZXkgPyBjdXJbcGFyYW1zLmtleV0gOiBjdXIsIDApKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjb25jYXQnOlxyXG4gICAgICAgIGxldCBhcnJheTogc3RyaW5nW10gPSBbXVxyXG4gICAgICAgIHBhcmFtcz8ua2V5Py5yZWR1Y2UoKGFjYzogYW55W10sIGN1cjogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBhcnJheS5wdXNoKGpzb25wYXRoLnF1ZXJ5KGRhdGEsIGN1cilbMF0pXHJcbiAgICAgICAgfSwgW10pXHJcbiAgICAgICAgaWYgKHBhcmFtcz8uc2VwYXJhdG9yKSBqc29ucGF0aC52YWx1ZShkYXRhLCBwYXJhbXMuc2NvcGVbMF0sIGFycmF5LmpvaW4ocGFyYW1zPy5zZXBhcmF0b3IgfHwgJyAnKSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZW5hYmxlJzpcclxuICAgICAgICBqc29ucGF0aC52YWx1ZShlc3F1ZW1hLCBwYXJhbXMuc2NvcGVbMF0sIGZhbHNlKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdkaXNhYmxlZCc6XHJcbiAgICAgICAganNvbnBhdGgudmFsdWUoZXNxdWVtYSwgcGFyYW1zLnNjb3BlWzBdLCB0cnVlKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXBsYWNlOmVuZHBvaW50JzpcclxuICAgICAgICBqc29ucGF0aC52YWx1ZShlc3F1ZW1hLCBwYXJhbXMuc2NvcGVbMF0sIGVzcXVlbWEuY29uZmlnLmVuZHBvaW50dGVtcC5yZXBsYWNlKHBhcmFtcy5zY29wZVsxXSwganNvbnBhdGgucXVlcnkoZGF0YSwgYCQuLiR7cGFyYW1zLmtleX1gKSkpXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NldE51bGwnOlxyXG4gICAgICAgIGpzb25wYXRoLnZhbHVlKGRhdGEsIGAkLiR7cGFyYW1zLmtleX1gLCBudWxsKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdkYXRlZGlmZjp5ZWFycyc6XHJcbiAgICAgICAgICBqc29ucGF0aC52YWx1ZShkYXRhLCBwYXJhbXMuc2NvcGVbMF0sIGRhdGUuZGlmZihtb21lbnQoanNvbnBhdGgucXVlcnkoZGF0YSwgcGFyYW1zLnNjb3BlWzFdKVswXSksICd5ZWFycycpKVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZGF0ZWRpZmY6bW9udGhzJzpcclxuICAgICAgICAgIGpzb25wYXRoLnZhbHVlKGRhdGEsIHBhcmFtcy5zY29wZVswXSwgZGF0ZS5kaWZmKG1vbWVudChqc29ucGF0aC5xdWVyeShkYXRhLCBwYXJhbXMuc2NvcGVbMV0pWzBdKSwgJ21vbnRocycpKVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZGF0ZWRpZmY6d2Vla3MnOlxyXG4gICAgICAgICAganNvbnBhdGgudmFsdWUoZGF0YSwgcGFyYW1zLnNjb3BlWzBdLCBkYXRlLmRpZmYobW9tZW50KGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHBhcmFtcy5zY29wZVsxXSlbMF0pLCAnd2Vla3MnKSlcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2RhdGVkaWZmOmRheXMnOlxyXG4gICAgICAgICAganNvbnBhdGgudmFsdWUoZGF0YSwgcGFyYW1zLnNjb3BlWzBdLCBkYXRlLmRpZmYobW9tZW50KGpzb25wYXRoLnF1ZXJ5KGRhdGEsIHBhcmFtcy5zY29wZVsxXSlbMF0pLCAnZGF5cycpKVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZygnc2V0VmFsdWVFdmVudCBzYWxlOicpXHJcbiAgICBjb25zb2xlLmxvZyhkYXRhKVxyXG4gICAgY29uc29sZS5sb2coZXNxdWVtYSlcclxuICAgIGNvbnNvbGUubG9nKHBhcmFtcylcclxuICB9XHJcblxyXG4gICBhcm1hck51ZXZhRGlyZWNjaW9uKHRpcG86IFwic3RyaW5nXCIsIGRhdGFEaXJlY2Npb246ICBhbnksIHNlcGFyYWRvcj86IHN0cmluZyl7XHJcbiAgICBsZXQgcmVzdWx0YWRvOiBhbnk7XHJcbiAgICBpZiAodGlwbyA9PSBcInN0cmluZ1wiKXtcclxuICAgICAgcmVzdWx0YWRvID0gXCJcIlxyXG4gICAgICB0aGlzLm1hc2NhcmFzLmZvckVhY2gobWFzY2FyYSA9PiB7XHJcbiAgICAgICAgbWFzY2FyYS5DYW1wby5mb3JFYWNoKChjYW1wbywgaSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbG9yID1qc29ucGF0aC5xdWVyeShkYXRhRGlyZWNjaW9uLCBgJC4ke2NhbXBvLklkfWApWzBdXHJcbiAgICAgICAgICBpZiAodmFsb3IgJiYgaSAtMSA+PSAwICYmIG1hc2NhcmEuQ2FtcG9baS0xXS5UaXBvLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gXCJsYWJlbFwiKXtcclxuICAgICAgICAgICAgdmFsb3IgPSBtYXNjYXJhLkNhbXBvW2ktMV0uVmFsb3IgKyB2YWxvclxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh2YWxvciAmJiAhc2VwYXJhZG9yKSByZXN1bHRhZG8gKz0gdmFsb3IgKyBcIiBcIlxyXG4gICAgICAgICAgZWxzZSBpZiAoc2VwYXJhZG9yKSByZXN1bHRhZG8gKz0gKHZhbG9yID8/IFwiXCIpICsgc2VwYXJhZG9yXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgIH1lbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZmx1am8gc2luIHJlYWxpemFyXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHRhZG87XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcblxyXG4gIGV4cG9ydCBjbGFzcyBDaGFuZ2VEYXRhIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwdWJsaWMgdmFsdWU6IHN0cmluZyxcclxuICAgICAgcHVibGljIHNjb3BlOiBzdHJpbmcsXHJcbiAgICAgIHB1YmxpYyBpbmRleDogbnVtYmVyXHJcbiAgICApe31cclxuICB9XHJcblxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIExvYWRpbmcge1xyXG4gICAgdGFyZ2V0OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCxcclxuICAgIGluUHJvZ3Jlc3M6IGJvb2xlYW5cclxuICB9XHJcblxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIE1hc2NhcmEge1xyXG4gICAgbGluZWE6IHN0cmluZyxcclxuICAgIENhbXBvOiBDYW1wb1tdXHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIENhbXBvIHtcclxuICAgIElkOiBzdHJpbmcsXHJcbiAgICBUaXBvOiBzdHJpbmcsXHJcbiAgICBUYW1hw7FvOiBzdHJpbmcsXHJcbiAgICBWYWxvcmVzOiBzdHJpbmcsXHJcbiAgICBWYWxvcj86IHN0cmluZyAvL3VzYWRvIGN1YW5kbyBlbCBUaXBvIGVzIExhYmVsXHJcbiAgfVxyXG4iXX0=
|
|
@@ -8,4 +8,4 @@ export class Shema {
|
|
|
8
8
|
}
|
|
9
9
|
class ShemaConfig {
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbWEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZi1jcnVkL3NyYy9saWIvc2hhcmVkL21vZGVscy9zaGVtYS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sS0FBSztJQUFsQjtRQUNJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQWdCckIsa0JBQWEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBO1FBV2pDLHNCQUFpQixHQUFZLEtBQUssQ0FBQTtJQUV0QyxDQUFDO0NBQUE7QUFHRCxNQUFNLFdBQVc7Q0FFaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gXCJwcmltZW5nL2NhbGVuZGFyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU2hlbWEge1xyXG4gICAgdHlwZTogc3RyaW5nID0gJyc7XHJcbiAgICBzdWJ0eXBlOiBzdHJpbmcgPSAnJztcclxuICAgIGNvbmZpZz86IGFueTtcclxuICAgIHRvb2x0aXA/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUG9zaXRpb24/OiBzdHJpbmc7XHJcbiAgICBwcm9wZXJ0aWVzPzogYW55O1xyXG4gICAgZW51bT86IGFueVtdO1xyXG4gICAgZGVmYXVsdD86YW55O1xyXG4gICAgdmFsaWRhdGlvbnM/OiBhbnlcclxuICAgIGRpc2FibGVkPzogYm9vbGVhblxyXG4gICAgZmllbGQ/OiBhbnlcclxuICAgIHBsYWNlaG9sZGVyPzogYW55XHJcbiAgICB1bm1hc2s/OiBib29sZWFuXHJcbiAgICBhdXRvY29tcGxldGU/OiBzdHJpbmdcclxuICAgIHNob3dJY29uPzogYm9vbGVhblxyXG4gICAgaGlkZT86IGFueVxyXG4gICAgbG9jYWxlPzogc3RyaW5nXHJcbiAgICBjb25maWd1cmF0aW9uID0gbmV3IFNoZW1hQ29uZmlnKClcclxuICAgIHRvdWNoVUk6IGFueVxyXG4gICAgZm9ybWF0OiBhbnlcclxuICAgIGZvcm1hdE1vbWVudD86IHN0cmluZ1xyXG4gICAgdXNlR3JvdXBpbmc/OiBib29sZWFuXHJcbiAgICBtYXg6IGFueVxyXG4gICAgbWluOiBhbnlcclxuICAgIGN1cnJlbmN5OiBhbnlcclxuICAgIG1pbkZyYWN0aW9uRGlnaXRzOiBhbnlcclxuICAgIHRydWVWYWx1ZTogYW55XHJcbiAgICBmYWxzZVZhbHVlOiBhbnlcclxuICAgIGFsbG93Q3VzdG9tT3B0aW9uOiBib29sZWFuID0gZmFsc2VcclxuICAgIHNlcGFyYWRvcj86IHN0cmluZ1xyXG59XHJcblxyXG5cclxuY2xhc3MgU2hlbWFDb25maWcge1xyXG4gICAgY2FsZW5kYXI/OiBDYWxlbmRhclxyXG59XHJcblxyXG4iXX0=
|
|
@@ -34,9 +34,7 @@ export class StepService {
|
|
|
34
34
|
* Useful to deny or approve request made by requestAprroval
|
|
35
35
|
*/
|
|
36
36
|
set requestApproved(approved) {
|
|
37
|
-
if (this._desiredIndex
|
|
38
|
-
throw new Error('desiredIndex is not defined');
|
|
39
|
-
if (approved)
|
|
37
|
+
if (approved && this._desiredIndex !== undefined)
|
|
40
38
|
this._currentPosition.next(this._desiredIndex);
|
|
41
39
|
this._requestApproved.next(approved);
|
|
42
40
|
}
|
|
@@ -62,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
62
60
|
providedIn: 'root'
|
|
63
61
|
}]
|
|
64
62
|
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2YtY3J1ZC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9zdGVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLaEQsTUFBTSxPQUFPLFdBQVc7SUFIeEI7UUFNVSxxQkFBZ0IsR0FBNkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUzRSwwQkFBcUIsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQXVEdEQ7SUFyREMsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDekMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDN0MsQ0FBQztJQUVEOztNQUVFO0lBQ0YsSUFBSSxlQUFlLENBQUMsTUFBYztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQTtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7SUFDM0UsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFBO0lBQzdDLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGVBQWUsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNoRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxLQUF3QjtRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQTtJQUM1QixDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBWSxFQUFFLElBQVM7UUFDNUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxLQUFLO1FBQ0gsK0VBQStFO1FBQy9FLDhEQUE4RDtJQUNoRSxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDbEQsQ0FBQzs7eUdBNURVLFdBQVc7NkdBQVgsV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RlcFNlcnZpY2Uge1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBfcmVxdWVzdEFwcHJvdmFsOiBTdWJqZWN0PHtjdXJyZW50OiBudW1iZXIsIGRlc2lyZWQ6IGFueX0+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIF9kZXNpcmVkSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIF9jdXN0b21DaGlsZHJlbkV2ZW50czogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIF9jdXJyZW50UG9zaXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xyXG4gIHByaXZhdGUgX3JlcXVlc3RBcHByb3ZlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XHJcblxyXG4gIGdldCBjdXJyZW50SW5kZXgoKXtcclxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UG9zaXRpb24uZ2V0VmFsdWUoKVxyXG4gIH1cclxuXHJcbiAgc2V0IGN1cnJlbnRJbmRleCh2YWx1ZTogbnVtYmVyKXtcclxuICAgIHRoaXMuX2N1cnJlbnRQb3NpdGlvbi5uZXh0KHZhbHVlKVxyXG4gIH1cclxuXHJcbiAgZ2V0IGN1cnJlbnRJbmRleCQoKXtcclxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UG9zaXRpb24uYXNPYnNlcnZhYmxlKClcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICBFbnZpYSB1bmEgcGV0aWNpb24gcGFyYSBxdWUgc2UgZW52aWUgZWwgZm9ybXVsYXJpb1xyXG4gICovXHJcbiAgc2V0IHJlcXVlc3RBcHByb3ZhbChuZXdQb3M6IG51bWJlcil7XHJcbiAgICB0aGlzLl9kZXNpcmVkSW5kZXggPSBuZXdQb3NcclxuICAgIHRoaXMuX3JlcXVlc3RBcHByb3ZhbC5uZXh0KHtjdXJyZW50OiB0aGlzLmN1cnJlbnRJbmRleCwgZGVzaXJlZDogbmV3UG9zfSlcclxuICB9XHJcblxyXG4gIGdldCByZXF1ZXN0QXBwcm92YWwkKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdEFwcHJvdmFsLmFzT2JzZXJ2YWJsZSgpXHJcbiAgfVxyXG5cclxuICBnZXQgcmVxdWVzdEFwcHJvdmVkJCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3RBcHByb3ZlZC5hc09ic2VydmFibGUoKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXNlZnVsIHRvIGRlbnkgb3IgYXBwcm92ZSByZXF1ZXN0IG1hZGUgYnkgcmVxdWVzdEFwcnJvdmFsXHJcbiAgICovXHJcbiAgc2V0IHJlcXVlc3RBcHByb3ZlZChhcHByb3ZlZDogYm9vbGVhbil7XHJcbiAgICBpZiAoYXBwcm92ZWQgJiYgdGhpcy5fZGVzaXJlZEluZGV4ICE9PSB1bmRlZmluZWQpIHRoaXMuX2N1cnJlbnRQb3NpdGlvbi5uZXh0KHRoaXMuX2Rlc2lyZWRJbmRleClcclxuICAgIHRoaXMuX3JlcXVlc3RBcHByb3ZlZC5uZXh0KGFwcHJvdmVkKVxyXG4gIH1cclxuXHJcbiAgc2V0IGRlc2lyZWRJbmRleChpbmRleDpudW1iZXIgfCB1bmRlZmluZWQpe1xyXG4gICAgdGhpcy5fZGVzaXJlZEluZGV4ID0gaW5kZXhcclxuICB9XHJcblxyXG4gIGFkZEN1c3RvbUNoaWxkcmVuRXZlbnQobmFtZTogc3RyaW5nLCBkYXRhOiBhbnkpe1xyXG4gICAgdGhpcy5fY3VzdG9tQ2hpbGRyZW5FdmVudHMubmV4dCh7bmFtZSwgZGF0YX0pXHJcbiAgfVxyXG5cclxuICByZXNldCgpe1xyXG4gICAgLy90aGlzLl9yZXF1ZXN0QXBwcm92YWwgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHtjdXJyZW50OjAsIGRlc2lyZWQ6IHVuZGVmaW5lZH0pO1xyXG4gICAgLy90aGlzLl9jdXN0b21DaGlsZHJlbkV2ZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGdldCBjdXN0b21DaGlsZHJlbkV2ZW50cyQoKXtcclxuICAgIHJldHVybiB0aGlzLl9jdXN0b21DaGlsZHJlbkV2ZW50cy5hc09ic2VydmFibGUoKVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|