@colijnit/sharedcomponents 1.0.34 → 1.0.36
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/colijnit-sharedcomponents.umd.js +47 -5
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +4 -3
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +3 -1
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +7 -5
- package/esm2015/lib/components/stock/stock.component.js +7 -1
- package/esm2015/lib/model/stock-status.model.js +3 -0
- package/esm2015/lib/service/shared-connector.service.js +18 -1
- package/esm2015/lib/service/stock.service.js +6 -1
- package/fesm2015/colijnit-sharedcomponents.js +41 -6
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/stock/stock-information/stock-information.component.d.ts +1 -0
- package/lib/components/stock/stock.component.d.ts +2 -0
- package/lib/components/stock/style/_layout.scss +3 -3
- package/lib/components/stock/style/_material-definition.scss +1 -0
- package/lib/model/stock-status.model.d.ts +6 -0
- package/lib/service/shared-connector.service.d.ts +1 -0
- package/lib/service/stock.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -37,7 +37,7 @@ StockInformationComponent.decorators = [
|
|
|
37
37
|
</div>
|
|
38
38
|
<div class="stock-status">
|
|
39
39
|
<label [textContent]="'AMOUNT_LATER_AVAILABLE'"></label>
|
|
40
|
-
<span [textContent]=""></span>
|
|
40
|
+
<span [textContent]="allAmountLaterAvailable"></span>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
43
|
`,
|
|
@@ -49,6 +49,7 @@ StockInformationComponent.propDecorators = {
|
|
|
49
49
|
article: [{ type: Input }],
|
|
50
50
|
articleStock: [{ type: Input }],
|
|
51
51
|
allAvailableStockInformation: [{ type: Input }],
|
|
52
|
-
allTechnicalStockInformation: [{ type: Input }]
|
|
52
|
+
allTechnicalStockInformation: [{ type: Input }],
|
|
53
|
+
allAmountLaterAvailable: [{ type: Input }]
|
|
53
54
|
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBMkNsRSxNQUFNLE9BQU8seUJBQXlCO0lBbUJwQztJQUVBLENBQUM7OztZQTVERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O3NCQUtFLEtBQUs7MkJBR0wsS0FBSzsyQ0FHTCxLQUFLOzJDQUdMLEtBQUs7c0NBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLWluZm9ybWF0aW9uXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm9cIiAqbmdJZj1cImFydGljbGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1yb3dcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1yb3ctaW1hZ2VcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWltYWdlXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWltYWdlIGNsYXNzPVwic3RvY2staW1hZ2VcIiBbc291cmNlXT1cImFydGljbGUuaW1hZ2VEYXRhXCI+PC9jby1pbWFnZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1nb29kLWluZm9cIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZS5kZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGUuYXJ0aWNsZU51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidTVE9DS19TVEFUVVMnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLnN0b2NrU3RhdHVzXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9JTl9TVE9DSydcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFsbFRlY2huaWNhbFN0b2NrSW5mb3JtYXRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQU1PVU5UX0FWQUlMQUJMRSdcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQU1PVU5UX0xBVEVSX0FWQUlMQUJMRSdcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFsbEFtb3VudExhdGVyQXZhaWxhYmxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrSW5mb3JtYXRpb25Db21wb25lbnQge1xyXG5cclxuICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2s6IEFydGljbGVTdG9ja0JvO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxBdmFpbGFibGVTdG9ja0luZm9ybWF0aW9uOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbFRlY2huaWNhbFN0b2NrSW5mb3JtYXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsQW1vdW50TGF0ZXJBdmFpbGFibGU6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js
CHANGED
|
@@ -155,6 +155,7 @@ export class StockInformationGridComponent {
|
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
onLocationSelected(location) {
|
|
158
|
+
console.log(location);
|
|
158
159
|
this.selectedArticleDetailsData.locationNo = location;
|
|
159
160
|
}
|
|
160
161
|
onOkClickSendLocations() {
|
|
@@ -301,6 +302,7 @@ StockInformationGridComponent.decorators = [
|
|
|
301
302
|
[collection]="stockLocations"
|
|
302
303
|
[fields]="dataLocationFields"
|
|
303
304
|
[placeholder]="'LOCATION'"
|
|
305
|
+
(modelChange)="onLocationSelected($event)"
|
|
304
306
|
(click)="onLocationDropdownClick()"
|
|
305
307
|
[required]="true"
|
|
306
308
|
></co-drop-down-list>
|
|
@@ -450,4 +452,4 @@ StockInformationGridComponent.propDecorators = {
|
|
|
450
452
|
cancelButtonClicked: [{ type: Output }],
|
|
451
453
|
okButtonClicked: [{ type: Output }]
|
|
452
454
|
};
|
|
453
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24tZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay1pbmZvcm1hdGlvbi1ncmlkL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUU1RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUdyRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQW1RM0YsTUFBTSxPQUFPLDZCQUE2QjtJQXVFeEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXhFckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFrQjFCLHdCQUFtQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLG1CQUFjLEdBQXNCLElBQUksWUFBWSxF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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5UFQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTVRTyxnQkFBZ0I7WUFEaEIsWUFBWTs7O29CQWtSakIsU0FBUyxTQUFDLDZCQUE2QjtzQ0FHdkMsS0FBSztnQ0FHTCxLQUFLO3NDQUdMLEtBQUs7c0JBR0wsS0FBSztrQ0FHTCxNQUFNOzZCQUdOLE1BQU07a0NBR04sTUFBTTs4QkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgRXZlbnRFbWl0dGVyLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9ja1wiO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge0NvRHJvcERvd25MaXN0RmllbGRzfSBmcm9tIFwiLi4vc3RvY2stdHJhbnNmZXIvY28tZHJvcC1kb3duLWxpc3QtZmllbGRzLmludGVyZmFjZVwiO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb25cIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLWluZm9ybWF0aW9uLWdyaWRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRhYi1saW5rIHNob3dcIiAqbmdJZj1cImhpZGVPclNob3dUYWJzXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGFiLWxpbmstYnV0dG9uc1wiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVUYWJDbGljayh0YWIpXCJcclxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInRhYlwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwidGFiID09PSBhY3RpdmVUYWJcIlxyXG4gICAgICA+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWxpbmVcIj5cclxuICAgICAgPGRpdiBbdGV4dENvbnRlbnRdPVwiYWN0aXZlVGFiVGV4dFwiPjwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCI+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gdGFic1swXSAmJiBoaWRlT3JTaG93VGFic1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJhcnRpY2xlU3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1dBUkVIT1VTRSdcIiBbZmllbGRdPVwiJ3dhcmVob3VzZU5vJ1wiIFtvcmRlcl09XCIxMFwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREVTQ1JJUFRJT04nXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VOYW1lJ1wiIFtvcmRlcl09XCIxMVwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RPQ0snXCIgW2ZpZWxkXT1cIid0ZWNobmljYWxTdG9jaydcIiBbb3JkZXJdPVwiMTJcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FWQUlMQUJMRV9TVE9DSydcIiBbZmllbGRdPVwiJ2F2YWlsYWJsZVN0b2NrJ1wiIFtvcmRlcl09XCIxM1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRUNPTk9NSUNBTF9TVE9DSydcIiBbZmllbGRdPVwiJ2Vjb25vbWljYWxTdG9jaydcIiBbb3JkZXJdPVwiMTRcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0xPQ0FUSU9OJ1wiIFtmaWVsZF09XCInbG9jYXRpb25ObydcIiBbb3JkZXJdPVwiMTVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2NhdGlvbi1saW5rXCIgW3RleHRDb250ZW50XT1cIidCZWtpamtlbidcIiAoY2xpY2spPVwib25Mb2NhdGlvbkNsaWNrKHJvdylcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuXHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gdGFic1sxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpbk9yZGVySW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VdPVwiMjBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInSU5fT1JERVIyJ1wiIFtmaWVsZF09XCIndHJhbnNhY3Rpb25OcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidDVVNUT01FUidcIiBbZmllbGRdPVwiJ2N1c3RvbWVyTmFtZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidEQVRFJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cudHJhbnNhY3Rpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eSdcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCdcIiBbZmllbGRdPVwiJ2Ftb3VudEluT3JkZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlTnVtYmVyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFU0NSSVBUSU9OJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlRGVzY3JpcHRpb24nXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVFJBTlNGRVInXCIgW2ZpZWxkXT1cIid0cmFuc2ZlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRGVsaXZlcnlUcnVjaylcIiAoY2xpY2spPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUSUNLRVInXCIgW2ZpZWxkXT1cIidzdGlja2VyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIiAoY2xpY2spPVwib3BlblNlbmRNZXRob2REaWFsb2cocm93KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDwvY28tc2ltcGxlLWdyaWQ+XHJcblxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQgKm5nSWY9XCJhY3RpdmVUYWIgPT09IHRhYnNbMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwib3JkZXJJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQVVJDSEFTRV9PUkRFUl9OUidcIiBbZmllbGRdPVwiJ3RyYW5zYWN0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREFURSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LnRyYW5zYWN0aW9uRGF0ZSB8IGRhdGU6J2RkLU1NLXl5eXknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTU9VTlQnXCIgW2ZpZWxkXT1cIidhbW91bnRJbk9yZGVyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1JFU0VSVkVEJ1wiIFtmaWVsZF09XCIncmVzZXJ2ZWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRlJFRV9TVE9DSydcIiBbZmllbGRdPVwiJ0luT3JkZXJGb3JTdG9jaydcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidERUxJVkVSWV9EQVRFMSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LmRlbGl2ZXJ5RGF0ZSB8IGRhdGU6J2RkLU1NLXl5eXknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCIgKm5nSWY9XCJoaWRlT3JTaG93TG9jYXRpb25UYWJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWxlZnQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RvY2stYnV0dG9uLWJhY2tcIiBbdGV4dENvbnRlbnRdPVwiJ0JBQ0tfVE9fU1RPQ0tfTElORVMnXCIgKGNsaWNrKT1cImhhbmRsZUJhY2tUb1N0b2NrQ2xpY2soKVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stbG9jYXRpb24tcmlnaHQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxjby1kcm9wLWRvd24tbGlzdCAgWyhtb2RlbCldPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkYXRhV2FyZUhvdXNlQ29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZGF0YVdhcmVIb3VzZUZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInV0FSRUhPVVNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJvblNlbGVjdFdhcmVob3VzZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28tZHJvcC1kb3duLWxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSAgICAgIFRPRE8gbW92ZSB0byBvd24gY29tcG9uZW50IHN0b2NrLWxvY2F0aW9uLS0+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCBbZGF0YV09XCJhcnRpY2xlRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0FkZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93VG9vbGJhcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93RGVsZXRlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2lubGluZUVkaXRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoZGJsQ2xpY2tSb3cpPVwibG9ja1NlbGVjdGVkUm93KCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWdyb3VwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stbG9jYXRpb24tbGVmdC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic3RvY2stbGluZXMtYnV0dG9uXCIgW3RleHRDb250ZW50XT1cIidCQUNLX1RPX1NUT0NLX0xJTkVTJ1wiIChjbGljayk9XCJoYW5kbGVCYWNrVG9TdG9ja0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0xPQ0FUSU9OJ1wiIFtmaWVsZF09XCInbG9jYXRpb25ObydcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWRyb3AtZG93bi1saXN0IFsobW9kZWwpXT1cInJvdy5sb2NhdGlvbk5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInN0b2NrTG9jYXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZGF0YUxvY2F0aW9uRmllbGRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInTE9DQVRJT04nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxvY2F0aW9uRHJvcGRvd25DbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgPjwvY28tZHJvcC1kb3duLWxpc3Q+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gKm5nSWY9XCJhcnRpY2xlRGV0YWlsc1wiIFtoZWFkZXJUZXh0XT1cIidCQVRDSCdcIiBbZmllbGRdPVwiJ2JhdGNoTm8nXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInJvdy5iYXRjaE5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidCQVRDSCdcIlxyXG4gICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uICpuZ0lmPVwiYXJ0aWNsZURldGFpbHNcIiBbaGVhZGVyVGV4dF09XCInU0VSSUFMX05PJ1wiIFtmaWVsZF09XCInc2VyaWFsTm8nXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInJvdy5zZXJpYWxOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VSSUFMX05PJ1wiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50SW5TdG9jaydcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgIFsobW9kZWwpXT1cInJvdy5hbW91bnRJblN0b2NrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU1RPQ0snXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJhbW91bnRJblN0b2NrQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQUxMT0NBVEVEJ1wiIFtmaWVsZF09XCInc3RvY2tBc3NpZ25lZCdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5zdG9ja0Fzc2lnbmVkXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBVkFJTEFCTEVfU1RPQ0snXCIgW2ZpZWxkXT1cIidhbW91bnRJblN0b2NrRnJlZSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5hbW91bnRJblN0b2NrRnJlZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVkFMVVRBJ1wiIFtmaWVsZF09XCInY3VycmVuY3knXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cuY3VycmVuY3lcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1BVUkNIQVNFX1BSSUNFJ1wiIFtmaWVsZF09XCIncHVyY2hhc2VQcmljZSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5wdXJjaGFzZVByaWNlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVVBQTElFUl9OVU1CRVInXCIgW2ZpZWxkXT1cIidzdXBwbGllck5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LnN1cHBsaWVyTm9cIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1RSQU5TRkVSJ1wiIFtmaWVsZF09XCIndHJhbnNmZXInXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkRlbGl2ZXJ5VHJ1Y2spXCIgKGNsaWNrKT1cImhhbmRsZVN0b2NrVHJhbnNmZXJDbGljayhyb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVElDS0VSJ1wiIFtmaWVsZF09XCInc3RpY2tlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCIgKGNsaWNrKT1cIm9wZW5TZW5kTWV0aG9kRGlhbG9nKHJvdylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGNvLXN0b2NrLWNoYW5nZS1hbW91bnQgKm5nSWY9XCJzaG93Q2hhbmdlU3RvY2tEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZVN0b2NrQ2hhbmdlQW1vdW50KT1cInNob3dDaGFuZ2VTdG9ja0RldGFpbHMgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGFdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGFcIlxyXG4gICAgPlxyXG4gICAgPC9jby1zdG9jay1jaGFuZ2UtYW1vdW50PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCIgKm5nSWY9XCJzaG93U3RvY2tIaXN0b3J5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1idXR0b24tbGVmdC1ncm91cFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3RvY2stYnV0dG9uLWJhY2tcIiBbdGV4dENvbnRlbnRdPVwiJ0JBQ0tfVE9fU1RPQ0tfTElORVMnXCIgKGNsaWNrKT1cImJhY2tUb1N0b2NrSW5mb3JtYXRpb24oKVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCBbZGF0YV09XCJzdG9ja0hpc3RvcnlJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidNVVRBVElPTl9EQVRFJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cubXV0YXRpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eSdcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ01VVEFUSU9OX1RJTUUnXCIgW2ZpZWxkXT1cIidtdXRhdGlvblRpbWUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQU1PVU5UJ1wiIFtmaWVsZF09XCInYW1vdW50J1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1dBUkVIT1VTRSdcIiBbZmllbGRdPVwiJ3dhcmVIb3VzZU5yJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0xPQ0FUSU9OJ1wiIFtmaWVsZF09XCInbG9jYXRpb25OcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidUUkFOU0FDVElPTl9UWVBFJ1wiIFtmaWVsZF09XCIndHJhbnNUeXBlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RPQ1VNRU5UX05VTUJFUidcIiBbZmllbGRdPVwiJ2RvY05yJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0xJTkUnXCIgW2ZpZWxkXT1cIidwb3NMaW5lTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RPQ0tfU1RBVEUnXCIgW2ZpZWxkXT1cIidzdG9ja1N0YXRlSWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RPQ0tfUkVNQVJLJ1wiIFtmaWVsZF09XCInc3RvY2tTdGF0ZVJlbWFya0lkJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1ZBTFVUQSdcIiBbZmllbGRdPVwiJ2N1cnJlbmN5Q29kZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidSRUxBVElPTl9JRCdcIiBbZmllbGRdPVwiJ3JlbGF0aW9uSWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVVNFUidcIiBbZmllbGRdPVwiJ3VzZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTVVUQVRJT05fVFlQRSdcIiBbZmllbGRdPVwiJ211dGF0aW9uVHlwZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVElDS0VSJ1wiIFtmaWVsZF09XCInc3RpY2tlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCIgKGNsaWNrKT1cIm9wZW5TZW5kTWV0aG9kRGlhbG9nKHJvdylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWJ1dHRvbi10b29sYmFyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1idXR0b24tbGVmdC1ncm91cFwiPlxyXG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJhY3RpdmVUYWIgPT09IHRhYnNbMF1cIiBbbGFiZWxdPVwiJ0hJU1RPUlknXCIgKGNsaWNrKT1cImhhbmRsZUhpc3RvcnlDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RvY2stYnV0dG9uLW1pZGRsZS1ncm91cFwiICpuZ0lmPVwiYWN0aXZlVGFiICE9PSB0YWJzWzBdXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1sZWZ0XCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInT2snXCIgKGNsaWNrKT1cIm9uT2tDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1yaWdodFwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbdGV4dENvbnRlbnRdPVwiJ0FubnVsZXJlbidcIiAoY2xpY2spPVwib25DYW5jZWxDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWJ1dHRvbi1taWRkbGUtZ3JvdXBcIiAqbmdJZj1cImhpZGVPclNob3dMb2NhdGlvblRhYlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tbGVmdFwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbdGV4dENvbnRlbnRdPVwiJ09rJ1wiIChjbGljayk9XCJvbk9rQ2xpY2tTZW5kTG9jYXRpb25zKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXJpZ2h0XCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInQW5udWxlcmVuJ1wiIChjbGljayk9XCJvbkNhbmNlbENsaWNrU2VuZExvY2F0aW9ucygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlXCJcclxuICAgID48L2NvLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoU3RvY2tJbmZvcm1hdGlvbkdyaWRDb21wb25lbnQpXHJcbiAgcHVibGljIHN0b2NrOiBTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrTG9jYXRpb25EYXRhOiBBcnRpY2xlU3RvY2tCb1tdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbjogU3RvY2tIaXN0b3J5Qm9bXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNmZXJJY29uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGhpc3RvcnlDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGNhbmNlbEJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgb2tCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIGltYWdlOiBzdHJpbmc7XHJcbiAgcHVibGljIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaGlkZU9yU2hvd0xvY2F0aW9uVGFiOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTdG9ja0hpc3Rvcnk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1NlbmRNZXRob2REaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGluT3JkZXJJbmZvcm1hdGlvbjogQXJ0aWNsZVRyYW5zYWN0aW9uQm9bXTtcclxuICBwdWJsaWMgb3JkZXJJbmZvcm1hdGlvbjogQXJ0aWNsZVRyYW5zYWN0aW9uQm9bXVxyXG4gIHB1YmxpYyBoaWRlT3JTaG93VGFiczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIGRhdGFXYXJlSG91c2VDb2RlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW107XHJcbiAgcHVibGljIGRhdGFXYXJlSG91c2VGaWVsZHM6IENvRHJvcERvd25MaXN0RmllbGRzID0geyB0ZXh0OiBcIndhcmVob3VzZURlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCIgfTtcclxuICBwdWJsaWMgZGF0YUxvY2F0aW9uRmllbGRzOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcImxvY2F0aW9uTm9cIiwgdmFsdWU6IFwibG9jYXRpb25Ob1wifTtcclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IGFueTtcclxuICBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbjogU3RvY2tMb2NhdGlvbjtcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXTtcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrU2VhcmNoSW5mbzogQXJ0aWNsZVN0b2NrID0gbmV3IEFydGljbGVTdG9jaygpO1xyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCb1tdO1xyXG4gIHB1YmxpYyBzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YTogQXJ0aWNsZURldGFpbHNCbyA9IG5ldyBBcnRpY2xlRGV0YWlsc0JvKCk7XHJcbiAgcHVibGljIHNob3dDaGFuZ2VTdG9ja0RldGFpbHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuXHJcbiAgcHVibGljIHRhYnM6IHN0cmluZ1tdID0gW1xyXG4gICAgXCJTVE9DS1wiLFxyXG4gICAgXCJJTl9PUkRFUjJcIixcclxuICAgIFwiT1JERVJTMVwiXHJcbiAgXTtcclxuICBwdWJsaWMgYWN0aXZlVGFiOiBzdHJpbmcgPSB0aGlzLnRhYnNbMF07XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVRhYikge1xyXG4gICAgICBjYXNlIHRoaXMudGFic1swXTpcclxuICAgICAgICByZXR1cm4gXCJWb29ycmFhZHJlZ2Vsc1wiO1xyXG4gICAgICBjYXNlIHRoaXMudGFic1sxXTpcclxuICAgICAgICByZXR1cm4gXCJHZXZvbmRlbiBpbiBvcmRlcihzKVwiO1xyXG4gICAgICBjYXNlIHRoaXMudGFic1syXTpcclxuICAgICAgICByZXR1cm4gXCJHZXZvbmRlbiBpbiBiZXN0ZWxsaW5nZW5cIjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gXCJWb29ycmFhZGxvY2F0aWUgcmVnZWxzXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVGFiQ2xpY2sodGFiRGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0YWJEYXRhO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiID09PSBcIklOX09SREVSMlwiKSB7XHJcbiAgICAgIHRoaXMuZ2V0SW5PcmRlckRhdGEoKTtcclxuICAgIH0gaWYgKHRoaXMuYWN0aXZlVGFiID09PSBcIk9SREVSUzFcIikge1xyXG4gICAgICB0aGlzLmdldE9yZGVyRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTG9jYXRpb25DbGljayhkYXRhOiBBcnRpY2xlU3RvY2tCbyk6IHZvaWQge1xyXG4gICAgdGhpcy5hcnRpY2xlU3RvY2tTZWFyY2hJbmZvLmdvb2RJZCA9IGRhdGEuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmFydGljbGVTdG9ja1NlYXJjaEluZm8ud2FyZUhvdXNlTm8gPSBkYXRhLndhcmVob3VzZU5vLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmFydGljbGVTdG9ja1NlYXJjaEluZm8udmlld0tpbmQgPSBcIkRcIjtcclxuICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSBkYXRhLndhcmVob3VzZU5vO1xyXG4gICAgaWYgKCF0aGlzLmRhdGFXYXJlSG91c2VDb2RlKSB7XHJcbiAgICAgIHRoaXMuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyhkYXRhKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QXJ0aWNsZURldGFpbHMoZGF0YSk7XHJcbiAgICB0aGlzLmhpZGVPclNob3dUYWJzID0gZmFsc2U7XHJcbiAgICB0aGlzLmhpZGVPclNob3dMb2NhdGlvblRhYiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSGlzdG9yeUNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oaXN0b3J5Q2xpY2tlZC5lbWl0KClcclxuICAgIHRoaXMuaGlkZU9yU2hvd0xvY2F0aW9uVGFiID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dDaGFuZ2VTdG9ja0RldGFpbHMgPSBmYWxzZTtcclxuICAgIHRoaXMuaGlkZU9yU2hvd1RhYnMgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd1N0b2NrSGlzdG9yeSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYmFja1RvU3RvY2tJbmZvcm1hdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1N0b2NrSGlzdG9yeSA9IGZhbHNlO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93VGFicyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zZmVySWNvbkNsaWNrZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQmFja1RvU3RvY2tDbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYWN0aXZlVGFiID0gdGhpcy50YWJzWzBdO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93VGFicyA9IHRydWU7XHJcbiAgICB0aGlzLmhpZGVPclNob3dMb2NhdGlvblRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuU2VuZE1ldGhvZERpYWxvZyhkYXRhKTogdm9pZCB7XHJcbiAgICBpZiAoISh0aGlzLl9zdG9ja1NlcnZpY2UucHJpbnRMYXlvdXRQYXJhbXMgaW5zdGFuY2VvZiBQcmludFByaWNlU3RpY2tlcnMpKSB7XHJcbiAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5wcmludExheW91dFBhcmFtcy5nb29kSWQgPSBkYXRhLmdvb2RJZDtcclxuICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnByaW50TGF5b3V0UGFyYW1zLndhcmVob3VzZSA9IGRhdGEud2FyZWhvdXNlTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmludFN0b2NrU3RpY2tlcnMoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0UHJpbnRTdG9ja1N0aWNrZXJzKHRoaXMuX3N0b2NrU2VydmljZS5wcmludExheW91dFBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Pa0NsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5va0J1dHRvbkNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbmNlbEJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5EaWFsb2dDbGljayhkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhID0gZGF0YTtcclxuICAgIHRoaXMuc2hvd0NoYW5nZVN0b2NrRGV0YWlscyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QXJ0aWNsZURldGFpbHMoZGF0YTogYW55KTogdm9pZCB7XHJcbiAgICAvLyBjb25zdCBpbmZvID0gbmV3IEFydGljbGVTdG9ja01hbmFnZW1lbnQoKTtcclxuICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5nb29kSWQgPSBkYXRhLmdvb2RJZDtcclxuICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5saW5lSWQgPSBkYXRhLmxpbmVJZDtcclxuICAgIHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi53YXJlaG91c2VOdW1iZXIgPSBkYXRhLndhcmVob3VzZU5vO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVEZXRhaWxzKHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbikudGhlbigoZGV0YWlscykgPT4ge1xyXG4gICAgICB0aGlzLmFydGljbGVEZXRhaWxzID0gZGV0YWlscztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoZGF0YTogQXJ0aWNsZVN0b2NrQm8pOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCkudGhlbigod2FyZWhvdXNlcykgPT4ge1xyXG4gICAgICB0aGlzLmRhdGFXYXJlSG91c2VDb2RlID0gd2FyZWhvdXNlcztcclxuICAgICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IGRhdGEud2FyZWhvdXNlTm87XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2VsZWN0V2FyZWhvdXNlKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24ud2FyZWhvdXNlTnVtYmVyID0gZXZlbnQ7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFdhcmVob3VzZSB8fCB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlID09PSAwKSB7XHJcbiAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyh0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24pLnRoZW4oKGRldGFpbHMpID0+IHtcclxuICAgICAgICB0aGlzLmFydGljbGVEZXRhaWxzID0gZGV0YWlscztcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0SW5PcmRlckRhdGEoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBpbk9yZGVyRGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uID0gbmV3IEFydGljbGVUcmFuc2FjdGlvbigpO1xyXG4gICAgaW5PcmRlckRhdGEudHlwZSA9IFwiVlwiO1xyXG4gICAgaW5PcmRlckRhdGEuZ29vZElkID0gdGhpcy5hcnRpY2xlU3RvY2tJbmZvcm1hdGlvblswXS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuaW5PcmRlckluZm9ybWF0aW9uID0gYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihpbk9yZGVyRGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJEYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgb3JkZXJEYXRhOiBBcnRpY2xlVHJhbnNhY3Rpb24gPSBuZXcgQXJ0aWNsZVRyYW5zYWN0aW9uKCk7XHJcbiAgICBvcmRlckRhdGEudHlwZSA9IFwiSVwiO1xyXG4gICAgb3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25bMF0uZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLm9yZGVySW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKG9yZGVyRGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Mb2NhdGlvbkRyb3Bkb3duQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UpLnRoZW4oKGxvY2F0aW9ucykgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrTG9jYXRpb25zID0gbG9jYXRpb25zO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkxvY2F0aW9uU2VsZWN0ZWQobG9jYXRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEubG9jYXRpb25ObyA9IGxvY2F0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG9uT2tDbGlja1NlbmRMb2NhdGlvbnMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmFydGljbGUpXHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZ29vZElkID0gdGhpcy5hcnRpY2xlLmdvb2RJZDtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuZW50cnlEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEud2FyZWhvdXNlTm8gPSB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlO1xyXG4gICAgYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLnVwZGF0ZUFydGljbGVEZXRhaWxzKHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEpO1xyXG4gICAgYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVEZXRhaWxzKHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbikudGhlbigoZGV0YWlscykgPT4ge1xyXG4gICAgICB0aGlzLmFydGljbGVEZXRhaWxzID0gZGV0YWlscztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2FuY2VsQ2xpY2tTZW5kTG9jYXRpb25zKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhbW91bnRJblN0b2NrQ2hhbmdlZChkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmFtb3VudEluU3RvY2sgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvY2tTZWxlY3RlZFJvdyhyb3cpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5sb2NrQXJ0aWNsZURldGFpbHMocm93KTtcclxuICB9XHJcbn1cclxuIl19
|
|
455
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24tZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay1pbmZvcm1hdGlvbi1ncmlkL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUU1RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUdyRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQW9RM0YsTUFBTSxPQUFPLDZCQUE2QjtJQXVFeEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXhFckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFrQjFCLHdCQUFtQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLG1CQUFjLEdBQXNCLElBQUksWUFBWSxF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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwUFQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTdRTyxnQkFBZ0I7WUFEaEIsWUFBWTs7O29CQW1SakIsU0FBUyxTQUFDLDZCQUE2QjtzQ0FHdkMsS0FBSztnQ0FHTCxLQUFLO3NDQUdMLEtBQUs7c0JBR0wsS0FBSztrQ0FHTCxNQUFNOzZCQUdOLE1BQU07a0NBR04sTUFBTTs4QkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgRXZlbnRFbWl0dGVyLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9ja1wiO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge0NvRHJvcERvd25MaXN0RmllbGRzfSBmcm9tIFwiLi4vc3RvY2stdHJhbnNmZXIvY28tZHJvcC1kb3duLWxpc3QtZmllbGRzLmludGVyZmFjZVwiO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb25cIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLWluZm9ybWF0aW9uLWdyaWRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRhYi1saW5rIHNob3dcIiAqbmdJZj1cImhpZGVPclNob3dUYWJzXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGFiLWxpbmstYnV0dG9uc1wiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVUYWJDbGljayh0YWIpXCJcclxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInRhYlwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwidGFiID09PSBhY3RpdmVUYWJcIlxyXG4gICAgICA+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWxpbmVcIj5cclxuICAgICAgPGRpdiBbdGV4dENvbnRlbnRdPVwiYWN0aXZlVGFiVGV4dFwiPjwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCI+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gdGFic1swXSAmJiBoaWRlT3JTaG93VGFic1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJhcnRpY2xlU3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1dBUkVIT1VTRSdcIiBbZmllbGRdPVwiJ3dhcmVob3VzZU5vJ1wiIFtvcmRlcl09XCIxMFwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREVTQ1JJUFRJT04nXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VOYW1lJ1wiIFtvcmRlcl09XCIxMVwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RPQ0snXCIgW2ZpZWxkXT1cIid0ZWNobmljYWxTdG9jaydcIiBbb3JkZXJdPVwiMTJcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FWQUlMQUJMRV9TVE9DSydcIiBbZmllbGRdPVwiJ2F2YWlsYWJsZVN0b2NrJ1wiIFtvcmRlcl09XCIxM1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRUNPTk9NSUNBTF9TVE9DSydcIiBbZmllbGRdPVwiJ2Vjb25vbWljYWxTdG9jaydcIiBbb3JkZXJdPVwiMTRcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0xPQ0FUSU9OJ1wiIFtmaWVsZF09XCInbG9jYXRpb25ObydcIiBbb3JkZXJdPVwiMTVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2NhdGlvbi1saW5rXCIgW3RleHRDb250ZW50XT1cIidCZWtpamtlbidcIiAoY2xpY2spPVwib25Mb2NhdGlvbkNsaWNrKHJvdylcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuXHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gdGFic1sxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpbk9yZGVySW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VdPVwiMjBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInSU5fT1JERVIyJ1wiIFtmaWVsZF09XCIndHJhbnNhY3Rpb25OcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidDVVNUT01FUidcIiBbZmllbGRdPVwiJ2N1c3RvbWVyTmFtZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidEQVRFJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cudHJhbnNhY3Rpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eSdcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCdcIiBbZmllbGRdPVwiJ2Ftb3VudEluT3JkZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlTnVtYmVyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFU0NSSVBUSU9OJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlRGVzY3JpcHRpb24nXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVFJBTlNGRVInXCIgW2ZpZWxkXT1cIid0cmFuc2ZlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRGVsaXZlcnlUcnVjaylcIiAoY2xpY2spPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUSUNLRVInXCIgW2ZpZWxkXT1cIidzdGlja2VyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIiAoY2xpY2spPVwib3BlblNlbmRNZXRob2REaWFsb2cocm93KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDwvY28tc2ltcGxlLWdyaWQ+XHJcblxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQgKm5nSWY9XCJhY3RpdmVUYWIgPT09IHRhYnNbMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwib3JkZXJJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQVVJDSEFTRV9PUkRFUl9OUidcIiBbZmllbGRdPVwiJ3RyYW5zYWN0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREFURSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LnRyYW5zYWN0aW9uRGF0ZSB8IGRhdGU6J2RkLU1NLXl5eXknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTU9VTlQnXCIgW2ZpZWxkXT1cIidhbW91bnRJbk9yZGVyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1JFU0VSVkVEJ1wiIFtmaWVsZF09XCIncmVzZXJ2ZWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRlJFRV9TVE9DSydcIiBbZmllbGRdPVwiJ0luT3JkZXJGb3JTdG9jaydcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidERUxJVkVSWV9EQVRFMSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LmRlbGl2ZXJ5RGF0ZSB8IGRhdGU6J2RkLU1NLXl5eXknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCIgKm5nSWY9XCJoaWRlT3JTaG93TG9jYXRpb25UYWJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWxlZnQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RvY2stYnV0dG9uLWJhY2tcIiBbdGV4dENvbnRlbnRdPVwiJ0JBQ0tfVE9fU1RPQ0tfTElORVMnXCIgKGNsaWNrKT1cImhhbmRsZUJhY2tUb1N0b2NrQ2xpY2soKVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stbG9jYXRpb24tcmlnaHQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxjby1kcm9wLWRvd24tbGlzdCAgWyhtb2RlbCldPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkYXRhV2FyZUhvdXNlQ29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZGF0YVdhcmVIb3VzZUZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInV0FSRUhPVVNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJvblNlbGVjdFdhcmVob3VzZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28tZHJvcC1kb3duLWxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSAgICAgIFRPRE8gbW92ZSB0byBvd24gY29tcG9uZW50IHN0b2NrLWxvY2F0aW9uLS0+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCBbZGF0YV09XCJhcnRpY2xlRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0FkZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93VG9vbGJhcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93RGVsZXRlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2lubGluZUVkaXRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoZGJsQ2xpY2tSb3cpPVwibG9ja1NlbGVjdGVkUm93KCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWdyb3VwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stbG9jYXRpb24tbGVmdC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic3RvY2stbGluZXMtYnV0dG9uXCIgW3RleHRDb250ZW50XT1cIidCQUNLX1RPX1NUT0NLX0xJTkVTJ1wiIChjbGljayk9XCJoYW5kbGVCYWNrVG9TdG9ja0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0xPQ0FUSU9OJ1wiIFtmaWVsZF09XCInbG9jYXRpb25ObydcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWRyb3AtZG93bi1saXN0IFsobW9kZWwpXT1cInJvdy5sb2NhdGlvbk5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInN0b2NrTG9jYXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZGF0YUxvY2F0aW9uRmllbGRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInTE9DQVRJT04nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJvbkxvY2F0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2NhdGlvbkRyb3Bkb3duQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID48L2NvLWRyb3AtZG93bi1saXN0PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uICpuZ0lmPVwiYXJ0aWNsZURldGFpbHNcIiBbaGVhZGVyVGV4dF09XCInQkFUQ0gnXCIgW2ZpZWxkXT1cIidiYXRjaE5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJyb3cuYmF0Y2hOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQkFUQ0gnXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiAqbmdJZj1cImFydGljbGVEZXRhaWxzXCIgW2hlYWRlclRleHRdPVwiJ1NFUklBTF9OTydcIiBbZmllbGRdPVwiJ3NlcmlhbE5vJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJyb3cuc2VyaWFsTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OTydcIlxyXG4gICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVE9DSydcIiBbZmllbGRdPVwiJ2Ftb3VudEluU3RvY2snXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0ICBbKG1vZGVsKV09XCJyb3cuYW1vdW50SW5TdG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NUT0NLJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiYW1vdW50SW5TdG9ja0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FMTE9DQVRFRCdcIiBbZmllbGRdPVwiJ3N0b2NrQXNzaWduZWQnXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cuc3RvY2tBc3NpZ25lZFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQVZBSUxBQkxFX1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50SW5TdG9ja0ZyZWUnXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cuYW1vdW50SW5TdG9ja0ZyZWVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1ZBTFVUQSdcIiBbZmllbGRdPVwiJ2N1cnJlbmN5J1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LmN1cnJlbmN5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQVVJDSEFTRV9QUklDRSdcIiBbZmllbGRdPVwiJ3B1cmNoYXNlUHJpY2UnXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cucHVyY2hhc2VQcmljZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1VQUExJRVJfTlVNQkVSJ1wiIFtmaWVsZF09XCInc3VwcGxpZXJObydcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5zdXBwbGllck5vXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidUUkFOU0ZFUidcIiBbZmllbGRdPVwiJ3RyYW5zZmVyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5EZWxpdmVyeVRydWNrKVwiIChjbGljayk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2socm93KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RJQ0tFUidcIiBbZmllbGRdPVwiJ3N0aWNrZXInXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiIChjbGljayk9XCJvcGVuU2VuZE1ldGhvZERpYWxvZyhyb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxjby1zdG9jay1jaGFuZ2UtYW1vdW50ICpuZ0lmPVwic2hvd0NoYW5nZVN0b2NrRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VTdG9ja0NoYW5nZUFtb3VudCk9XCJzaG93Q2hhbmdlU3RvY2tEZXRhaWxzID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhXT1cInNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhXCJcclxuICAgID5cclxuICAgIDwvY28tc3RvY2stY2hhbmdlLWFtb3VudD5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stZ3JpZFwiICpuZ0lmPVwic2hvd1N0b2NrSGlzdG9yeVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RvY2stYnV0dG9uLWxlZnQtZ3JvdXBcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInN0b2NrLWJ1dHRvbi1iYWNrXCIgW3RleHRDb250ZW50XT1cIidCQUNLX1RPX1NUT0NLX0xJTkVTJ1wiIChjbGljayk9XCJiYWNrVG9TdG9ja0luZm9ybWF0aW9uKClcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQgW2RhdGFdPVwic3RvY2tIaXN0b3J5SW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VdPVwiMjBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTVVUQVRJT05fREFURSdcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93Lm11dGF0aW9uRGF0ZSB8IGRhdGU6J2RkLU1NLXl5eXknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidNVVRBVElPTl9USU1FJ1wiIFtmaWVsZF09XCInbXV0YXRpb25UaW1lJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCdcIiBbZmllbGRdPVwiJ2Ftb3VudCdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidXQVJFSE9VU0UnXCIgW2ZpZWxkXT1cIid3YXJlSG91c2VOcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidMT0NBVElPTidcIiBbZmllbGRdPVwiJ2xvY2F0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVFJBTlNBQ1RJT05fVFlQRSdcIiBbZmllbGRdPVwiJ3RyYW5zVHlwZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidET0NVTUVOVF9OVU1CRVInXCIgW2ZpZWxkXT1cIidkb2NOcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidMSU5FJ1wiIFtmaWVsZF09XCIncG9zTGluZU5yJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLX1NUQVRFJ1wiIFtmaWVsZF09XCInc3RvY2tTdGF0ZUlkJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLX1JFTUFSSydcIiBbZmllbGRdPVwiJ3N0b2NrU3RhdGVSZW1hcmtJZCdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidWQUxVVEEnXCIgW2ZpZWxkXT1cIidjdXJyZW5jeUNvZGUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInUkVMQVRJT05fSUQnXCIgW2ZpZWxkXT1cIidyZWxhdGlvbklkJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1VTRVInXCIgW2ZpZWxkXT1cIid1c2VyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ01VVEFUSU9OX1RZUEUnXCIgW2ZpZWxkXT1cIidtdXRhdGlvblR5cGUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RJQ0tFUidcIiBbZmllbGRdPVwiJ3N0aWNrZXInXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiIChjbGljayk9XCJvcGVuU2VuZE1ldGhvZERpYWxvZyhyb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1idXR0b24tdG9vbGJhclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RvY2stYnV0dG9uLWxlZnQtZ3JvdXBcIj5cclxuICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwiYWN0aXZlVGFiID09PSB0YWJzWzBdXCIgW2xhYmVsXT1cIidISVNUT1JZJ1wiIChjbGljayk9XCJoYW5kbGVIaXN0b3J5Q2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWJ1dHRvbi1taWRkbGUtZ3JvdXBcIiAqbmdJZj1cImFjdGl2ZVRhYiAhPT0gdGFic1swXVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tbGVmdFwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbdGV4dENvbnRlbnRdPVwiJ09rJ1wiIChjbGljayk9XCJvbk9rQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tcmlnaHRcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gW3RleHRDb250ZW50XT1cIidBbm51bGVyZW4nXCIgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1idXR0b24tbWlkZGxlLWdyb3VwXCIgKm5nSWY9XCJoaWRlT3JTaG93TG9jYXRpb25UYWJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWxlZnRcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gW3RleHRDb250ZW50XT1cIidPaydcIiAoY2xpY2spPVwib25Pa0NsaWNrU2VuZExvY2F0aW9ucygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1yaWdodFwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbdGV4dENvbnRlbnRdPVwiJ0FubnVsZXJlbidcIiAoY2xpY2spPVwib25DYW5jZWxDbGlja1NlbmRMb2NhdGlvbnMoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLXNlbmQtbWV0aG9kLWRpYWxvZyAqbmdJZj1cInNob3dTZW5kTWV0aG9kRGlhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICA+PC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU3RvY2tJbmZvcm1hdGlvbkdyaWRDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKFN0b2NrSW5mb3JtYXRpb25HcmlkQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBzdG9jazogU3RvY2tJbmZvcm1hdGlvbkdyaWRDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVTdG9ja0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdG9ja0xvY2F0aW9uRGF0YTogQXJ0aWNsZVN0b2NrQm9bXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tIaXN0b3J5SW5mb3JtYXRpb246IFN0b2NrSGlzdG9yeUJvW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGU6IEFydGljbGVFeHRlbmRlZDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVySWNvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBoaXN0b3J5Q2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBjYW5jZWxCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IG9rQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVPclNob3dMb2NhdGlvblRhYjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93U3RvY2tIaXN0b3J5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBpbk9yZGVySW5mb3JtYXRpb246IEFydGljbGVUcmFuc2FjdGlvbkJvW107XHJcbiAgcHVibGljIG9yZGVySW5mb3JtYXRpb246IEFydGljbGVUcmFuc2FjdGlvbkJvW11cclxuICBwdWJsaWMgaGlkZU9yU2hvd1RhYnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBkYXRhV2FyZUhvdXNlQ29kZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc1tdO1xyXG4gIHB1YmxpYyBkYXRhV2FyZUhvdXNlRmllbGRzOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHsgdGV4dDogXCJ3YXJlaG91c2VEZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ3YXJlaG91c2VOb1wiIH07XHJcbiAgcHVibGljIGRhdGFMb2NhdGlvbkZpZWxkczogQ29Ecm9wRG93bkxpc3RGaWVsZHMgPSB7dGV4dDogXCJsb2NhdGlvbk5vXCIsIHZhbHVlOiBcImxvY2F0aW9uTm9cIn07XHJcbiAgcHVibGljIHNlbGVjdGVkV2FyZWhvdXNlOiBhbnk7XHJcbiAgcHVibGljIHNlbGVjdGVkTG9jYXRpb246IFN0b2NrTG9jYXRpb247XHJcbiAgcHVibGljIHN0b2NrTG9jYXRpb25zOiBTdG9ja0xvY2F0aW9uW107XHJcbiAgcHVibGljIGFydGljbGVTdG9ja1NlYXJjaEluZm86IEFydGljbGVTdG9jayA9IG5ldyBBcnRpY2xlU3RvY2soKTtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm9bXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE6IEFydGljbGVEZXRhaWxzQm8gPSBuZXcgQXJ0aWNsZURldGFpbHNCbygpO1xyXG4gIHB1YmxpYyBzaG93Q2hhbmdlU3RvY2tEZXRhaWxzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGFydGljbGVEZXRhaWxzSW5mb3JtYXRpb246IEFydGljbGVTdG9ja01hbmFnZW1lbnQgPSBuZXcgQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCgpXHJcblxyXG4gIHB1YmxpYyB0YWJzOiBzdHJpbmdbXSA9IFtcclxuICAgIFwiU1RPQ0tcIixcclxuICAgIFwiSU5fT1JERVIyXCIsXHJcbiAgICBcIk9SREVSUzFcIlxyXG4gIF07XHJcbiAgcHVibGljIGFjdGl2ZVRhYjogc3RyaW5nID0gdGhpcy50YWJzWzBdO1xyXG5cclxuICBwdWJsaWMgZ2V0IGFjdGl2ZVRhYlRleHQoKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVUYWIpIHtcclxuICAgICAgY2FzZSB0aGlzLnRhYnNbMF06XHJcbiAgICAgICAgcmV0dXJuIFwiVm9vcnJhYWRyZWdlbHNcIjtcclxuICAgICAgY2FzZSB0aGlzLnRhYnNbMV06XHJcbiAgICAgICAgcmV0dXJuIFwiR2V2b25kZW4gaW4gb3JkZXIocylcIjtcclxuICAgICAgY2FzZSB0aGlzLnRhYnNbMl06XHJcbiAgICAgICAgcmV0dXJuIFwiR2V2b25kZW4gaW4gYmVzdGVsbGluZ2VuXCI7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIFwiVm9vcnJhYWRsb2NhdGllIHJlZ2Vsc1wiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVRhYkNsaWNrKHRhYkRhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiRGF0YTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gXCJJTl9PUkRFUjJcIikge1xyXG4gICAgICB0aGlzLmdldEluT3JkZXJEYXRhKCk7XHJcbiAgICB9IGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gXCJPUkRFUlMxXCIpIHtcclxuICAgICAgdGhpcy5nZXRPcmRlckRhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkxvY2F0aW9uQ2xpY2soZGF0YTogQXJ0aWNsZVN0b2NrQm8pOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZVN0b2NrU2VhcmNoSW5mby5nb29kSWQgPSBkYXRhLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5hcnRpY2xlU3RvY2tTZWFyY2hJbmZvLndhcmVIb3VzZU5vID0gZGF0YS53YXJlaG91c2VOby50b1N0cmluZygpO1xyXG4gICAgdGhpcy5hcnRpY2xlU3RvY2tTZWFyY2hJbmZvLnZpZXdLaW5kID0gXCJEXCI7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlID0gZGF0YS53YXJlaG91c2VObztcclxuICAgIGlmICghdGhpcy5kYXRhV2FyZUhvdXNlQ29kZSkge1xyXG4gICAgICB0aGlzLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoZGF0YSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEFydGljbGVEZXRhaWxzKGRhdGEpO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93VGFicyA9IGZhbHNlO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93TG9jYXRpb25UYWIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUhpc3RvcnlDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlzdG9yeUNsaWNrZWQuZW1pdCgpXHJcbiAgICB0aGlzLmhpZGVPclNob3dMb2NhdGlvblRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93Q2hhbmdlU3RvY2tEZXRhaWxzID0gZmFsc2U7XHJcbiAgICB0aGlzLmhpZGVPclNob3dUYWJzID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dTdG9ja0hpc3RvcnkgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJhY2tUb1N0b2NrSW5mb3JtYXRpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTdG9ja0hpc3RvcnkgPSBmYWxzZTtcclxuICAgIHRoaXMuaGlkZU9yU2hvd1RhYnMgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrVHJhbnNmZXJDbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2Zlckljb25DbGlja2VkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUJhY2tUb1N0b2NrQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHRoaXMudGFic1swXTtcclxuICAgIHRoaXMuaGlkZU9yU2hvd1RhYnMgPSB0cnVlO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93TG9jYXRpb25UYWIgPSBmYWxzZTtcclxuICAgIHRoaXMuYXJ0aWNsZURldGFpbHMgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNlbmRNZXRob2REaWFsb2coZGF0YSk6IHZvaWQge1xyXG4gICAgaWYgKCEodGhpcy5fc3RvY2tTZXJ2aWNlLnByaW50TGF5b3V0UGFyYW1zIGluc3RhbmNlb2YgUHJpbnRQcmljZVN0aWNrZXJzKSkge1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UucHJpbnRMYXlvdXRQYXJhbXMuZ29vZElkID0gZGF0YS5nb29kSWQ7XHJcbiAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5wcmludExheW91dFBhcmFtcy53YXJlaG91c2UgPSBkYXRhLndhcmVob3VzZU5vO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJpbnRTdG9ja1N0aWNrZXJzKCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFByaW50U3RvY2tTdGlja2Vycyh0aGlzLl9zdG9ja1NlcnZpY2UucHJpbnRMYXlvdXRQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT2tDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMub2tCdXR0b25DbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNhbmNlbENsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5jZWxCdXR0b25DbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuRGlhbG9nQ2xpY2soZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YSA9IGRhdGE7XHJcbiAgICB0aGlzLnNob3dDaGFuZ2VTdG9ja0RldGFpbHMgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFydGljbGVEZXRhaWxzKGRhdGE6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gY29uc3QgaW5mbyA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KCk7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkID0gZGF0YS5nb29kSWQ7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24ubGluZUlkID0gZGF0YS5saW5lSWQ7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24ud2FyZWhvdXNlTnVtYmVyID0gZGF0YS53YXJlaG91c2VObztcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyh0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24pLnRoZW4oKGRldGFpbHMpID0+IHtcclxuICAgICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IGRldGFpbHM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKGRhdGE6IEFydGljbGVTdG9ja0JvKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXMpID0+IHtcclxuICAgICAgdGhpcy5kYXRhV2FyZUhvdXNlQ29kZSA9IHdhcmVob3VzZXM7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSBkYXRhLndhcmVob3VzZU5vO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNlbGVjdFdhcmVob3VzZShldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLndhcmVob3VzZU51bWJlciA9IGV2ZW50O1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgfHwgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9PT0gMCkge1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IGRldGFpbHM7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEluT3JkZXJEYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgaW5PcmRlckRhdGE6IEFydGljbGVUcmFuc2FjdGlvbiA9IG5ldyBBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgIGluT3JkZXJEYXRhLnR5cGUgPSBcIlZcIjtcclxuICAgIGluT3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25bMF0uZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmluT3JkZXJJbmZvcm1hdGlvbiA9IGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlVHJhbnNhY3Rpb24oaW5PcmRlckRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldE9yZGVyRGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IG9yZGVyRGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uID0gbmV3IEFydGljbGVUcmFuc2FjdGlvbigpO1xyXG4gICAgb3JkZXJEYXRhLnR5cGUgPSBcIklcIjtcclxuICAgIG9yZGVyRGF0YS5nb29kSWQgPSB0aGlzLmFydGljbGVTdG9ja0luZm9ybWF0aW9uWzBdLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5vcmRlckluZm9ybWF0aW9uID0gYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihvcmRlckRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTG9jYXRpb25Ecm9wZG93bkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlKS50aGVuKChsb2NhdGlvbnMpID0+IHtcclxuICAgICAgdGhpcy5zdG9ja0xvY2F0aW9ucyA9IGxvY2F0aW9ucztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Mb2NhdGlvblNlbGVjdGVkKGxvY2F0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyhsb2NhdGlvbik7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmxvY2F0aW9uTm8gPSBsb2NhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBvbk9rQ2xpY2tTZW5kTG9jYXRpb25zKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5hcnRpY2xlKVxyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZS5nb29kSWQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmVudHJ5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLndhcmVob3VzZU5vID0gdGhpcy5zZWxlY3RlZFdhcmVob3VzZTtcclxuICAgIGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyh0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhKTtcclxuICAgIGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyh0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24pLnRoZW4oKGRldGFpbHMpID0+IHtcclxuICAgICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IGRldGFpbHM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNhbmNlbENsaWNrU2VuZExvY2F0aW9ucygpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYW1vdW50SW5TdG9ja0NoYW5nZWQoZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5hbW91bnRJblN0b2NrID0gZGF0YTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2NrU2VsZWN0ZWRSb3cocm93KTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UubG9ja0FydGljbGVEZXRhaWxzKHJvdyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -72,12 +72,14 @@ StockTransferComponent.decorators = [
|
|
|
72
72
|
[textContent]="articleToTransfer.locationNo"
|
|
73
73
|
[placeholder]="'Standaard locatie'">
|
|
74
74
|
</co-input-text>
|
|
75
|
-
<co-input-text
|
|
76
|
-
|
|
75
|
+
<co-input-text *ngIf="articleToTransfer.batchNo"
|
|
76
|
+
disabled
|
|
77
|
+
[(model)]="articleToTransfer.batchNo"
|
|
77
78
|
[placeholder]="'Batch'">
|
|
78
79
|
</co-input-text>
|
|
79
|
-
<co-input-text
|
|
80
|
-
|
|
80
|
+
<co-input-text *ngIf="articleToTransfer.serialNo"
|
|
81
|
+
disabled
|
|
82
|
+
[(model)]="articleToTransfer.serialNo"
|
|
81
83
|
[placeholder]="'Serie'">
|
|
82
84
|
</co-input-text>
|
|
83
85
|
<co-input-text
|
|
@@ -133,4 +135,4 @@ StockTransferComponent.propDecorators = {
|
|
|
133
135
|
handleClick: [{ type: Output }],
|
|
134
136
|
handleStickerClicked: [{ type: Output }]
|
|
135
137
|
};
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUEwRTVELE1BQU0sT0FBTyxzQkFBc0I7SUFpQ2pDLFlBQ1UsYUFBMkI7UUFBM0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFoQjlCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHcEQseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsZ0NBQTJCLEdBQXlCLEVBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUMsQ0FBQztRQUN6Ryw4QkFBeUIsR0FBeUIsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUU1Rix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFFdEMsZUFBVSxHQUFrQixFQUFFLENBQUM7UUFDL0IsNEJBQXVCLEdBQXlCLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUMsQ0FBQztJQU96RyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRVksYUFBYSxDQUFDLElBQXNCOztZQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7S0FBQTtJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxLQUFLO1FBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFWSxrQkFBa0I7O1lBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7S0FBQTtJQUVNLDRCQUE0QjtRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLDRCQUE0QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sMkJBQTJCLENBQUMsSUFBSTtRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFsSkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBekVPLFlBQVk7OzsyQkE0RWpCLEtBQUs7c0JBR0wsS0FBSztnQ0FHTCxLQUFLOytCQUdMLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxNQUFNO21DQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtQcmludFN0b2NrU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9wcmludC1zdG9jay1zdGlja2Vyc1wiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5pbXBvcnQge0NvRHJvcERvd25MaXN0RmllbGRzfSBmcm9tIFwiLi9jby1kcm9wLWRvd24tbGlzdC1maWVsZHMuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja0xvY2F0aW9ufSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbG9jYXRpb24uYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLXRyYW5zZmVyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWNvbHVtbnNcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJhcnRpY2xlVG9UcmFuc2ZlclwiIGNsYXNzPVwic3RvY2stdHJhbnNmZXItbGVmdC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgZGlzYWJsZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidTdGFuZGFhcmQgbWFnYXppam4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIud2FyZWhvdXNlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZVRvVHJhbnNmZXIud2FyZWhvdXNlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1N0YW5kYWFyZCBtYWdhemlqbidcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgZGlzYWJsZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIubG9jYXRpb25Ob1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlVG9UcmFuc2Zlci5sb2NhdGlvbk5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTdGFuZGFhcmQgbG9jYXRpZSdcIj5cclxuICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzdG9ja1N0aWNrZXIuYmF0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JhdGNoJ1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IGRpc2FibGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInN0b2NrU3RpY2tlci5zZXJpYWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlcmllJ1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIuYW1vdW50VHJhbnNmZXJcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQWFudGFsJ1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stdHJhbnNmZXItcmlnaHQtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxjby1kcm9wLWRvd24tbGlzdCBbY29sbGVjdGlvbl09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiYWxsV2FyZWhvdXNlc0Ryb3Bkb3duRmllbGRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RlZFdhcmVob3VzZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInTWFnYXppam4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFydGljbGVUb1RyYW5zZmVyLnRhcmdldFdhcmVob3VzZVwiPlxyXG4gICAgICAgICAgICA8L2NvLWRyb3AtZG93bi1saXN0PlxyXG4gICAgICAgICAgICA8Y28tZHJvcC1kb3duLWxpc3QgW2NvbGxlY3Rpb25dPVwibG9jYXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiYWxsTG9jYXRpb25Ecm9wZG93bkZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhcnRpY2xlVG9UcmFuc2Zlci50YXJnZXRMb2NhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0xvY2F0aWUnXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2NvLWRyb3AtZG93bi1saXN0PlxyXG4gICAgICAgICAgICA8Y28tZHJvcC1kb3duLWxpc3QgW2NvbGxlY3Rpb25dPVwic3RvY2tTdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cInN0b2NrU3RhdGVEcm9wZG93bkZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVm9vcnJhYWRzdGF0dXMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFydGljbGVUb1RyYW5zZmVyLnN0b2NrU3RhdGVJZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1kcm9wLWRvd24tbGlzdD5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW3BsYWNlaG9sZGVyXT1cIidPbXNjaHJpanZpbmcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIuc3RvY2tTdGF0ZVJlbWFya1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9rLWNhbmNlbC1idXR0b25zXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInT2snXCIgKGNsaWNrKT1cImhhbmRsZU9rQ2xpY2soYXJ0aWNsZVRvVHJhbnNmZXIpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInQW5udWxlcmVuJ1wiIChjbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInU3RpY2tlcidcIiAoY2xpY2spPVwiaGFuZGxlU3RpY2tlckNsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1RyYW5zZmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrU3RpY2tlcjogUHJpbnRTdG9ja1N0aWNrZXJzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlU3RvY2tCbztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVRvVHJhbnNmZXI6IEFydGljbGVEZXRhaWxzQm87XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVXYXJlaG91c2U6IGFueVtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVN0aWNrZXJDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIGFsbFdhcmVob3VzZXNEcm9wZG93bkZpZWxkczogQ29Ecm9wRG93bkxpc3RGaWVsZHMgPSB7dGV4dDogXCJ3YXJlaG91c2VEZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ3YXJlaG91c2VOb1wifTtcclxuICBwdWJsaWMgYWxsTG9jYXRpb25Ecm9wZG93bkZpZWxkczogQ29Ecm9wRG93bkxpc3RGaWVsZHMgPSB7dGV4dDogXCJsb2NhdGlvbk5vXCIsIHZhbHVlOiBcImxvY2F0aW9uTm9cIn07XHJcblxyXG4gIHB1YmxpYyBzaG93U2VuZE1ldGhvZERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW107XHJcbiAgcHVibGljIHN0b2NrU3RhdGU6IFN0b2NrU3RhdHVzW10gPSBbXTtcclxuICBwdWJsaWMgc3RvY2tTdGF0ZURyb3Bkb3duRmllbGQ6IENvRHJvcERvd25MaXN0RmllbGRzID0ge3RleHQ6IFwic3RhdGVEZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJzdG9ja1N0YXRlSWRcIn07XHJcbiAgcHVibGljIGxvY2F0aW9uczogU3RvY2tMb2NhdGlvbltdO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTtcclxuICAgIHRoaXMuZ2V0U3RvY2tTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZU9rQ2xpY2soZGF0YTogQXJ0aWNsZURldGFpbHNCbyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgZGF0YS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICBkYXRhLmVudHJ5RGF0ZSA9IG5ldyBEYXRlO1xyXG4gICAgYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLnVwZGF0ZUFydGljbGVEZXRhaWxzKGRhdGEpO1xyXG4gICAgdGhpcy5oYW5kbGVDbGljay5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhbmRsZUNsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWxlY3RlZFdhcmVob3VzZShldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnModGhpcy5zZWxlY3RlZFdhcmVob3VzZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU3RpY2tlckNsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5oYW5kbGVTdGlja2VyQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKS50aGVuKCh3YXJlaG91c2VzKSA9PiB7XHJcbiAgICAgIHRoaXMud2FyZWhvdXNlcyA9IHdhcmVob3VzZXM7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyhkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKGRhdGEpLnRoZW4oKGxvY2F0aW9ucykgPT4ge1xyXG4gICAgICB0aGlzLmxvY2F0aW9ucyA9IGxvY2F0aW9ucztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tTdGF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja1N0YXRlKCkudGhlbigoc3RhdGU6IFN0b2NrU3RhdHVzW10pID0+IHtcclxuICAgICAgdGhpcy5zdG9ja1N0YXRlID0gc3RhdGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUE0RTVELE1BQU0sT0FBTyxzQkFBc0I7SUFpQ2pDLFlBQ1UsYUFBMkI7UUFBM0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFoQjlCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHcEQseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsZ0NBQTJCLEdBQXlCLEVBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUMsQ0FBQztRQUN6Ryw4QkFBeUIsR0FBeUIsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUU1Rix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFFdEMsZUFBVSxHQUFrQixFQUFFLENBQUM7UUFDL0IsNEJBQXVCLEdBQXlCLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUMsQ0FBQztJQU96RyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRVksYUFBYSxDQUFDLElBQXNCOztZQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7S0FBQTtJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxLQUFLO1FBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFWSxrQkFBa0I7O1lBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7S0FBQTtJQUVNLDRCQUE0QjtRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLDRCQUE0QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sMkJBQTJCLENBQUMsSUFBSTtRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFwSkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0RUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEzRU8sWUFBWTs7OzJCQThFakIsS0FBSztzQkFHTCxLQUFLO2dDQUdMLEtBQUs7K0JBR0wsS0FBSzs0QkFHTCxLQUFLOzBCQUdMLE1BQU07bUNBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1ByaW50U3RvY2tTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29Ecm9wRG93bkxpc3RGaWVsZHN9IGZyb20gXCIuL2NvLWRyb3AtZG93bi1saXN0LWZpZWxkcy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2stdHJhbnNmZXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RvY2stdHJhbnNmZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stdHJhbnNmZXItY29sdW1uc1wiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFydGljbGVUb1RyYW5zZmVyXCIgY2xhc3M9XCJzdG9jay10cmFuc2Zlci1sZWZ0LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1N0YW5kYWFyZCBtYWdhemlqbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhcnRpY2xlVG9UcmFuc2Zlci53YXJlaG91c2VEZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlVG9UcmFuc2Zlci53YXJlaG91c2VEZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU3RhbmRhYXJkIG1hZ2F6aWpuJ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhcnRpY2xlVG9UcmFuc2Zlci5sb2NhdGlvbk5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cImFydGljbGVUb1RyYW5zZmVyLmxvY2F0aW9uTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1N0YW5kYWFyZCBsb2NhdGllJ1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0ICpuZ0lmPVwiYXJ0aWNsZVRvVHJhbnNmZXIuYmF0Y2hOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFydGljbGVUb1RyYW5zZmVyLmJhdGNoTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JhdGNoJ1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0ICpuZ0lmPVwiYXJ0aWNsZVRvVHJhbnNmZXIuc2VyaWFsTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhcnRpY2xlVG9UcmFuc2Zlci5zZXJpYWxOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VyaWUnXCI+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhcnRpY2xlVG9UcmFuc2Zlci5hbW91bnRUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBYW50YWwnXCI+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay10cmFuc2Zlci1yaWdodC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPGNvLWRyb3AtZG93bi1saXN0IFtjb2xsZWN0aW9uXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJhbGxXYXJlaG91c2VzRHJvcGRvd25GaWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVNlbGVjdGVkV2FyZWhvdXNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidNYWdhemlqbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIudGFyZ2V0V2FyZWhvdXNlXCI+XHJcbiAgICAgICAgICAgIDwvY28tZHJvcC1kb3duLWxpc3Q+XHJcbiAgICAgICAgICAgIDxjby1kcm9wLWRvd24tbGlzdCBbY29sbGVjdGlvbl09XCJsb2NhdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJhbGxMb2NhdGlvbkRyb3Bkb3duRmllbGRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFydGljbGVUb1RyYW5zZmVyLnRhcmdldExvY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInTG9jYXRpZSdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvY28tZHJvcC1kb3duLWxpc3Q+XHJcbiAgICAgICAgICAgIDxjby1kcm9wLWRvd24tbGlzdCBbY29sbGVjdGlvbl09XCJzdG9ja1N0YXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwic3RvY2tTdGF0ZURyb3Bkb3duRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidWb29ycmFhZHN0YXR1cydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIuc3RvY2tTdGF0ZUlkXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2NvLWRyb3AtZG93bi1saXN0PlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbcGxhY2Vob2xkZXJdPVwiJ09tc2NocmlqdmluZydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhcnRpY2xlVG9UcmFuc2Zlci5zdG9ja1N0YXRlUmVtYXJrXCI+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib2stY2FuY2VsLWJ1dHRvbnNcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gW3RleHRDb250ZW50XT1cIidPaydcIiAoY2xpY2spPVwiaGFuZGxlT2tDbGljayhhcnRpY2xlVG9UcmFuc2ZlcilcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gW3RleHRDb250ZW50XT1cIidBbm51bGVyZW4nXCIgKGNsaWNrKT1cImhhbmRsZUNhbmNlbENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gW3RleHRDb250ZW50XT1cIidTdGlja2VyJ1wiIChjbGljayk9XCJoYW5kbGVTdGlja2VyQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrVHJhbnNmZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tTdGlja2VyOiBQcmludFN0b2NrU3RpY2tlcnM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGU6IEFydGljbGVTdG9ja0JvO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlVG9UcmFuc2ZlcjogQXJ0aWNsZURldGFpbHNCbztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVdhcmVob3VzZTogYW55W107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbFdhcmVob3VzZXM6IGFueVtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlU3RpY2tlckNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgYWxsV2FyZWhvdXNlc0Ryb3Bkb3duRmllbGRzOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcIndhcmVob3VzZURlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCJ9O1xyXG4gIHB1YmxpYyBhbGxMb2NhdGlvbkRyb3Bkb3duRmllbGRzOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcImxvY2F0aW9uTm9cIiwgdmFsdWU6IFwibG9jYXRpb25Ob1wifTtcclxuXHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHdhcmVob3VzZXM6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXTtcclxuICBwdWJsaWMgc3RvY2tTdGF0ZTogU3RvY2tTdGF0dXNbXSA9IFtdO1xyXG4gIHB1YmxpYyBzdG9ja1N0YXRlRHJvcGRvd25GaWVsZDogQ29Ecm9wRG93bkxpc3RGaWVsZHMgPSB7dGV4dDogXCJzdGF0ZURlc2NyaXB0aW9uXCIsIHZhbHVlOiBcInN0b2NrU3RhdGVJZFwifTtcclxuICBwdWJsaWMgbG9jYXRpb25zOiBTdG9ja0xvY2F0aW9uW107XHJcbiAgcHVibGljIHNlbGVjdGVkV2FyZWhvdXNlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG4gICAgdGhpcy5nZXRTdG9ja1N0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlT2tDbGljayhkYXRhOiBBcnRpY2xlRGV0YWlsc0JvKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBkYXRhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIGRhdGEuZW50cnlEYXRlID0gbmV3IERhdGU7XHJcbiAgICBhd2FpdCB0aGlzLl9zdG9ja1NlcnZpY2UudXBkYXRlQXJ0aWNsZURldGFpbHMoZGF0YSk7XHJcbiAgICB0aGlzLmhhbmRsZUNsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDYW5jZWxDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuaGFuZGxlQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdGVkV2FyZWhvdXNlKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTdGlja2VyQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmhhbmRsZVN0aWNrZXJDbGlja2VkLmVtaXQoKTtcclxuICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXMpID0+IHtcclxuICAgICAgdGhpcy53YXJlaG91c2VzID0gd2FyZWhvdXNlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKGRhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMoZGF0YSkudGhlbigobG9jYXRpb25zKSA9PiB7XHJcbiAgICAgIHRoaXMubG9jYXRpb25zID0gbG9jYXRpb25zO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja1N0YXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrU3RhdGUoKS50aGVuKChzdGF0ZTogU3RvY2tTdGF0dXNbXSkgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrU3RhdGUgPSBzdGF0ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -20,6 +20,7 @@ export class StockComponent {
|
|
|
20
20
|
this.showStockTransfer = false;
|
|
21
21
|
this.allAvailableStock = 0;
|
|
22
22
|
this.allTechnicalStock = 0;
|
|
23
|
+
this.allAmountLaterAvailable = 0;
|
|
23
24
|
this._subscriptions = [];
|
|
24
25
|
this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
|
|
25
26
|
}
|
|
@@ -64,8 +65,12 @@ export class StockComponent {
|
|
|
64
65
|
this.stockInformation = yield this.stockService.getStockInformation(articleData);
|
|
65
66
|
this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);
|
|
66
67
|
this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);
|
|
68
|
+
this.stockInformation.forEach((articleStock) => this.allAmountLaterAvailable += articleStock.economicalStock);
|
|
67
69
|
});
|
|
68
70
|
}
|
|
71
|
+
getArtStockStatus() {
|
|
72
|
+
console.log(this.stockService.getArtStockStatus(this.articleExtended.goodId));
|
|
73
|
+
}
|
|
69
74
|
_handleSettingsLoaded(loaded) {
|
|
70
75
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
76
|
if (loaded) {
|
|
@@ -95,6 +100,7 @@ StockComponent.decorators = [
|
|
|
95
100
|
[articleStock]=""
|
|
96
101
|
[allAvailableStockInformation]="allAvailableStock"
|
|
97
102
|
[allTechnicalStockInformation]="allTechnicalStock"
|
|
103
|
+
[allAmountLaterAvailable]="allAmountLaterAvailable"
|
|
98
104
|
>
|
|
99
105
|
</co-stock-information>
|
|
100
106
|
<hr>
|
|
@@ -143,4 +149,4 @@ StockComponent.propDecorators = {
|
|
|
143
149
|
cancelButtonClicked: [{ type: Output }],
|
|
144
150
|
showClass: [{ type: HostBinding, args: ["class.co-stock",] }]
|
|
145
151
|
};
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDeEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFHbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQXlDbkUsTUFBTSxPQUFPLGNBQWM7SUE0Q3pCLFlBQ1MsWUFBMEIsRUFDekIsZUFBK0IsRUFDL0IsV0FBOEIsRUFDOUIsZUFBa0M7UUFIbkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUExQ3JDLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBZXBELG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEQsd0JBQW1CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFPckUsNkJBQXdCLEdBQVksSUFBSSxDQUFDO1FBQ3pDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFPbkMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUM3QixtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFRMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMzRixDQUFBO0lBQ0gsQ0FBQztJQTdDRCxJQUNXLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQUEsQ0FBQztJQWVLLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUEwQkQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVNLHdCQUF3QixDQUFDLEtBQUs7UUFDbkMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQy9ELElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ2pFLENBQUM7SUFFWSxlQUFlOztZQUMxQixNQUFNLHVCQUF1QixHQUEyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7WUFDckYsdUJBQXVCLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNuQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdkYsQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsSUFBa0I7O1lBQ2pELE1BQU0sV0FBVyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3JELFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxXQUFXLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdkcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RyxDQUFDO0tBQUE7SUFFYSxxQkFBcUIsQ0FBQyxNQUFlOztZQUNqRCxJQUFJLE1BQU0sRUFBRTtnQkFDVixNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNyQztRQUNILENBQUM7S0FBQTtJQUVhLGVBQWU7O1lBQzNCLCtEQUErRDtZQUUvRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDekY7WUFDRCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7O1lBbkpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFsRE8sWUFBWTtZQVFaLGNBQWM7WUFFZCxpQkFBaUI7WUFuQnZCLGlCQUFpQjs7O29CQThEaEIsU0FBUyxTQUFDLGNBQWM7bUNBR3hCLE1BQU07c0JBR04sS0FBSzsrQkFNTCxLQUFLOzRCQUdMLEtBQUs7OEJBR0wsTUFBTTtrQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQcmludFN0b2NrU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzXCI7XHJcbmltcG9ydCB7R2V0U3RvY2tIaXN0b3J5UmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2dldC1zdG9jay1oaXN0b3J5LXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2tcIjtcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9ja1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbmZvLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxjby1zdG9jay1pbmZvcm1hdGlvbiBbYXJ0aWNsZV09XCJhcnRpY2xlRXh0ZW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrXT1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxBdmFpbGFibGVTdG9ja0luZm9ybWF0aW9uXT1cImFsbEF2YWlsYWJsZVN0b2NrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbFRlY2huaWNhbFN0b2NrSW5mb3JtYXRpb25dPVwiYWxsVGVjaG5pY2FsU3RvY2tcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXN0b2NrLWluZm9ybWF0aW9uPlxyXG4gICAgICAgIDxocj5cclxuICAgICAgICA8Y28tc3RvY2staW5mb3JtYXRpb24tZ3JpZCAqbmdJZj1cInNob3dTdG9ja0luZm9ybWF0aW9uR3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVdPVwiYXJ0aWNsZUV4dGVuZGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RvY2tMb2NhdGlvbkRhdGFdPVwic3RvY2tMb2NhdGlvbkluZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyYW5zZmVySWNvbkNsaWNrZWQpPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoaXN0b3J5Q2xpY2tlZCk9XCJnZXRTdG9ja0hpc3RvcnkoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0b2NrSGlzdG9yeUluZm9ybWF0aW9uXT1cInN0b2NrSGlzdG9yeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9rQnV0dG9uQ2xpY2tlZCk9XCJva0J1dHRvbkNsaWNrZWQuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsQnV0dG9uQ2xpY2tlZCk9XCJjYW5jZWxCdXR0b25DbGlja2VkLmVtaXQoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tc3RvY2staW5mb3JtYXRpb24tZ3JpZD5cclxuICAgICAgICA8Y28tc3RvY2stbG9jYXRpb24gKm5nSWY9XCJzaG93U3RvY2tMb2NhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYWNrVG9TdG9ja0xpbmVzKT1cImJhY2tUb1N0b2NrTGluZXNDbGlja2VkKClcIj5cclxuXHJcbiAgICAgICAgPC9jby1zdG9jay1sb2NhdGlvbj5cclxuICAgICAgICA8Y28tc3RvY2stdHJhbnNmZXIgKm5nSWY9XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChoYW5kbGVDbGljayk9XCJiYWNrVG9TdG9jaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlXT1cInN0b2NrVHJhbnNmZXJBcnRpY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVUb1RyYW5zZmVyXT1cInN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChoYW5kbGVTdGlja2VyQ2xpY2tlZCk9XCJoYW5kbGVTdGlja2VyQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVdhcmVob3VzZV09XCJhcnRpY2xlV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbFdhcmVob3VzZXNdPVwiYWxsV2FyZWhvdXNlc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tc3RvY2stdHJhbnNmZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBAVmlld0NoaWxkKFN0b2NrQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBzdG9jazogU3RvY2tDb21wb25lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVTdGlja2VyQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhcnRpY2xlKGFydGljbGUpIHtcclxuICAgIHRoaXMuYXJ0aWNsZUV4dGVuZGVkID0gYXJ0aWNsZTtcclxuICAgIHRoaXMuZ2V0U3RvY2tJbmZvcm1hdGlvbihhcnRpY2xlKTtcclxuICB9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlV2FyZWhvdXNlOiBhbnlbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsV2FyZWhvdXNlczogYW55W107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBva0J1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgY2FuY2VsQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXN0b2NrXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dTdG9ja0luZm9ybWF0aW9uR3JpZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dTdG9ja0xvY2F0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTdG9ja1RyYW5zZmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW107XHJcbiAgcHVibGljIHN0b2NrTG9jYXRpb25JbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXTtcclxuICBwdWJsaWMgc3RvY2tUcmFuc2ZlckFydGljbGU6IEFydGljbGVTdG9ja0JvO1xyXG4gIHB1YmxpYyBzdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm87XHJcbiAgcHVibGljIGFydGljbGVFeHRlbmRlZDogQXJ0aWNsZUV4dGVuZGVkO1xyXG4gIHB1YmxpYyBzdG9ja0hpc3Rvcnk6IFN0b2NrSGlzdG9yeUJvW107XHJcbiAgcHVibGljIGFsbEF2YWlsYWJsZVN0b2NrOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBhbGxUZWNobmljYWxTdG9jazogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJhY2tUb1N0b2NrTGluZXNDbGlja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2tMb2NhdGlvbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrVHJhbnNmZXJDbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHMgPSBldmVudDtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSAhdGhpcy5zaG93U3RvY2tUcmFuc2ZlcjtcclxuICAgIHRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkID0gIXRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkO1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2Uuc3RvY2tTdGlja2VycyA9IG5ldyBQcmludFN0b2NrU3RpY2tlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBiYWNrVG9TdG9jaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSAhdGhpcy5zaG93U3RvY2tUcmFuc2ZlcjtcclxuICAgIHRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkID0gIXRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSGlzdG9yeSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSBcIkJcIjtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZUV4dGVuZGVkLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5zdG9ja0hpc3RvcnkgPSBhd2FpdCB0aGlzLnN0b2NrU2VydmljZS5nZXRTdG9ja0hpc3Rvcnkoc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSW5mb3JtYXRpb24oZGF0YTogQXJ0aWNsZVN0b2NrKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBhcnRpY2xlRGF0YTogQXJ0aWNsZVN0b2NrID0gbmV3IEFydGljbGVTdG9jaygpO1xyXG4gICAgYXJ0aWNsZURhdGEuZ29vZElkID0gZGF0YS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgIGFydGljbGVEYXRhLnZpZXdLaW5kID0gXCJNXCI7XHJcbiAgICB0aGlzLnN0b2NrSW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLnN0b2NrU2VydmljZS5nZXRTdG9ja0luZm9ybWF0aW9uKGFydGljbGVEYXRhKTtcclxuICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsQXZhaWxhYmxlU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLmF2YWlsYWJsZVN0b2NrKTtcclxuICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsVGVjaG5pY2FsU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLnRlY2huaWNhbFN0b2NrKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZDogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKGxvYWRlZCkge1xyXG4gICAgICBhd2FpdCB0aGlzLl9pbml0Q29ubmVjdGlvbigpLnRoZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2luaXRDb25uZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gYXdhaXQgdGhpcy5fY29ubmVjdG9yLmNvbm5lY3QodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcblxyXG4gICAgaWYgKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsKSB7XHJcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnkucm9vdFVybCA9IHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsLnJlcGxhY2UoXCIvYWpheHNlcnZpY2VcIiwgXCJcIik7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLl9kaWN0aW9uYXJ5LnNldERpY3Rpb25hcnkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sYW5ndWFnZUNvZGUpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDeEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFHbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQTBDbkUsTUFBTSxPQUFPLGNBQWM7SUE2Q3pCLFlBQ1MsWUFBMEIsRUFDekIsZUFBK0IsRUFDL0IsV0FBOEIsRUFDOUIsZUFBa0M7UUFIbkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUEzQ3JDLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBZXBELG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEQsd0JBQW1CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFPckUsNkJBQXdCLEdBQVksSUFBSSxDQUFDO1FBQ3pD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QW5CdkIsaUJBQWlCOzs7b0JBK0RoQixTQUFTLFNBQUMsY0FBYzttQ0FHeEIsTUFBTTtzQkFHTixLQUFLOytCQU1MLEtBQUs7NEJBR0wsS0FBSzs4QkFHTCxNQUFNO2tDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCwgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5pbXBvcnQge1ByaW50U3RvY2tTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcHJpbnQtc3RvY2stc3RpY2tlcnNcIjtcclxuaW1wb3J0IHtHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZ2V0LXN0b2NrLWhpc3RvcnktcmVxdWVzdFwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9ja1wiO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm9cIjtcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvb3B0aW9ucy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGNvLXN0b2NrLWluZm9ybWF0aW9uIFthcnRpY2xlXT1cImFydGljbGVFeHRlbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tdPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb25dPVwiYWxsQXZhaWxhYmxlU3RvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsVGVjaG5pY2FsU3RvY2tJbmZvcm1hdGlvbl09XCJhbGxUZWNobmljYWxTdG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxBbW91bnRMYXRlckF2YWlsYWJsZV09XCJhbGxBbW91bnRMYXRlckF2YWlsYWJsZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tc3RvY2staW5mb3JtYXRpb24+XHJcbiAgICAgICAgPGhyPlxyXG4gICAgICAgIDxjby1zdG9jay1pbmZvcm1hdGlvbi1ncmlkICpuZ0lmPVwic2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZV09XCJhcnRpY2xlRXh0ZW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdG9ja0xvY2F0aW9uRGF0YV09XCJzdG9ja0xvY2F0aW9uSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhpc3RvcnlDbGlja2VkKT1cImdldFN0b2NrSGlzdG9yeSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RvY2tIaXN0b3J5SW5mb3JtYXRpb25dPVwic3RvY2tIaXN0b3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob2tCdXR0b25DbGlja2VkKT1cIm9rQnV0dG9uQ2xpY2tlZC5lbWl0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxCdXR0b25DbGlja2VkKT1cImNhbmNlbEJ1dHRvbkNsaWNrZWQuZW1pdCgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby1zdG9jay1pbmZvcm1hdGlvbi1ncmlkPlxyXG4gICAgICAgIDxjby1zdG9jay1sb2NhdGlvbiAqbmdJZj1cInNob3dTdG9ja0xvY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhY2tUb1N0b2NrTGluZXMpPVwiYmFja1RvU3RvY2tMaW5lc0NsaWNrZWQoKVwiPlxyXG5cclxuICAgICAgICA8L2NvLXN0b2NrLWxvY2F0aW9uPlxyXG4gICAgICAgIDxjby1zdG9jay10cmFuc2ZlciAqbmdJZj1cInNob3dTdG9ja1RyYW5zZmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhhbmRsZUNsaWNrKT1cImJhY2tUb1N0b2NrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVdPVwic3RvY2tUcmFuc2ZlckFydGljbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVRvVHJhbnNmZXJdPVwic3RvY2tUcmFuc2ZlckFydGljbGVEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhhbmRsZVN0aWNrZXJDbGlja2VkKT1cImhhbmRsZVN0aWNrZXJDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlV2FyZWhvdXNlXT1cImFydGljbGVXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsV2FyZWhvdXNlc109XCJhbGxXYXJlaG91c2VzXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby1zdG9jay10cmFuc2Zlcj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoU3RvY2tDb21wb25lbnQpXHJcbiAgcHVibGljIHN0b2NrOiBTdG9ja0NvbXBvbmVudDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVN0aWNrZXJDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGUoYXJ0aWNsZSkge1xyXG4gICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSBhcnRpY2xlO1xyXG4gICAgdGhpcy5nZXRTdG9ja0luZm9ybWF0aW9uKGFydGljbGUpO1xyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVXYXJlaG91c2U6IGFueVtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IG9rQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBjYW5jZWxCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tc3RvY2tcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1N0b2NrTG9jYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1N0b2NrVHJhbnNmZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXTtcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbkluZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdO1xyXG4gIHB1YmxpYyBzdG9ja1RyYW5zZmVyQXJ0aWNsZTogQXJ0aWNsZVN0b2NrQm87XHJcbiAgcHVibGljIHN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCbztcclxuICBwdWJsaWMgYXJ0aWNsZUV4dGVuZGVkOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcbiAgcHVibGljIHN0b2NrSGlzdG9yeTogU3RvY2tIaXN0b3J5Qm9bXTtcclxuICBwdWJsaWMgYWxsQXZhaWxhYmxlU3RvY2s6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGFsbFRlY2huaWNhbFN0b2NrOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBhbGxBbW91bnRMYXRlckF2YWlsYWJsZTogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJhY2tUb1N0b2NrTGluZXNDbGlja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2tMb2NhdGlvbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrVHJhbnNmZXJDbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHMgPSBldmVudDtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSAhdGhpcy5zaG93U3RvY2tUcmFuc2ZlcjtcclxuICAgIHRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkID0gIXRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkO1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2Uuc3RvY2tTdGlja2VycyA9IG5ldyBQcmludFN0b2NrU3RpY2tlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBiYWNrVG9TdG9jaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSAhdGhpcy5zaG93U3RvY2tUcmFuc2ZlcjtcclxuICAgIHRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkID0gIXRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSGlzdG9yeSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSBcIkJcIjtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZUV4dGVuZGVkLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5zdG9ja0hpc3RvcnkgPSBhd2FpdCB0aGlzLnN0b2NrU2VydmljZS5nZXRTdG9ja0hpc3Rvcnkoc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSW5mb3JtYXRpb24oZGF0YTogQXJ0aWNsZVN0b2NrKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBhcnRpY2xlRGF0YTogQXJ0aWNsZVN0b2NrID0gbmV3IEFydGljbGVTdG9jaygpO1xyXG4gICAgYXJ0aWNsZURhdGEuZ29vZElkID0gZGF0YS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgIGFydGljbGVEYXRhLnZpZXdLaW5kID0gXCJNXCI7XHJcbiAgICB0aGlzLnN0b2NrSW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLnN0b2NrU2VydmljZS5nZXRTdG9ja0luZm9ybWF0aW9uKGFydGljbGVEYXRhKTtcclxuICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsQXZhaWxhYmxlU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLmF2YWlsYWJsZVN0b2NrKTtcclxuICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsVGVjaG5pY2FsU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLnRlY2huaWNhbFN0b2NrKTtcclxuICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsQW1vdW50TGF0ZXJBdmFpbGFibGUgKz0gYXJ0aWNsZVN0b2NrLmVjb25vbWljYWxTdG9jayk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFydFN0b2NrU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5zdG9ja1NlcnZpY2UuZ2V0QXJ0U3RvY2tTdGF0dXModGhpcy5hcnRpY2xlRXh0ZW5kZWQuZ29vZElkKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQ6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChsb2FkZWQpIHtcclxuICAgICAgYXdhaXQgdGhpcy5faW5pdENvbm5lY3Rpb24oKS50aGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9pbml0Q29ubmVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5jb25uZWN0KHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG5cclxuICAgIGlmICh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLnVybCkge1xyXG4gICAgICB0aGlzLl9kaWN0aW9uYXJ5LnJvb3RVcmwgPSB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLnVybC5yZXBsYWNlKFwiL2FqYXhzZXJ2aWNlXCIsIFwiXCIpO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeS5zZXREaWN0aW9uYXJ5KHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubGFuZ3VhZ2VDb2RlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class ArticleStockStatus {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stc3RhdHVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL21vZGVsL3N0b2NrLXN0YXR1cy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0NBSzlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFydGljbGVTdG9ja1N0YXR1cyB7XHJcbiAgZ29vZElkOiBudW1iZXI7XHJcbiAgYnJhbmNoTm86IHN0cmluZztcclxuICByZXF1ZXN0ZWRBbW91bnQ6IG51bWJlcjtcclxuICB3YXJlaG91c2VJZDogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|
|
@@ -14,6 +14,7 @@ import { MainApi } from '@colijnit/mainapi';
|
|
|
14
14
|
import { Printer } from '@colijnit/mainapi/build/model/printer.bo';
|
|
15
15
|
import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/factory/business-object-factory';
|
|
16
16
|
import { SendMethod } from '@colijnit/mainapi/build/model/send-method.bo';
|
|
17
|
+
import { ArticleStockStatus } from "../model/stock-status.model";
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
19
|
import * as i1 from "./options.service";
|
|
19
20
|
export class SharedConnectorService {
|
|
@@ -251,6 +252,22 @@ export class SharedConnectorService {
|
|
|
251
252
|
});
|
|
252
253
|
});
|
|
253
254
|
}
|
|
255
|
+
getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId) {
|
|
256
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
257
|
+
return new Promise((resolve, reject) => {
|
|
258
|
+
return this.articleConnector.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId).then((result) => {
|
|
259
|
+
if (result.validationResult && result.validationResult.success) {
|
|
260
|
+
if (result.resultObjects) {
|
|
261
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleStockStatus, result.resultObjects));
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
reject(result.validationMessagesAsString);
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
}
|
|
254
271
|
// public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {
|
|
255
272
|
// return new Promise((resolve: Function, reject: Function) => {
|
|
256
273
|
// return this.mainConnector.getStockStickerPrintLayouts(data).then((result: DataServiceResponseData) => {
|
|
@@ -293,4 +310,4 @@ SharedConnectorService.decorators = [
|
|
|
293
310
|
SharedConnectorService.ctorParameters = () => [
|
|
294
311
|
{ type: OptionsService }
|
|
295
312
|
];
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2Uvc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksSUFBSSxjQUFjLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUVqRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixPQUFPLEVBQUMsa0JBQWtCLElBQUksb0JBQW9CLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7OztBQUt4RSxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsZUFB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QUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7eUJBQ3pHO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs7O1lBcFFGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVE8sY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJ0aWNsZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2FydGljbGVzJztcclxuaW1wb3J0IHtTaGFyZWRhcGl9IGZyb20gJ0Bjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvc2hhcmVkYXBpJztcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9nZXQtc3RvY2staGlzdG9yeS1yZXF1ZXN0JztcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm8nO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jayc7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm8nO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2stbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvJztcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stc3RhdHVzLmJvJztcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm8nO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb24nO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbiBhcyBBcnRpY2xlVHJhbnNhY3Rpb25Cb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvbi5ibyc7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHtNYWluQXBpfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaSc7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2RhdGEtc2VydmljZS1yZXNwb25zZS1kYXRhJztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL2ZhY3RvcnkvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3NlbmQtbWV0aG9kLmJvJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVkQ29ubmVjdG9yU2VydmljZSB7XHJcbiAgcHVibGljIGFydGljbGVDb25uZWN0b3I6IEFydGljbGVzO1xyXG4gIHB1YmxpYyBzaGFyZWRDb25uZWN0b3I6IFNoYXJlZGFwaTtcclxuICBwdWJsaWMgbWFpbkNvbm5lY3RvcjogTWFpbkFwaTtcclxuXHJcbiAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnkgPSBuZXcgQnVzaW5lc3NPYmplY3RGYWN0b3J5KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hcnRpY2xlQ29ubmVjdG9yID0gbmV3IEFydGljbGVzKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gICAgdGhpcy5zaGFyZWRDb25uZWN0b3IgPSBuZXcgU2hhcmVkYXBpKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gICAgdGhpcy5tYWluQ29ubmVjdG9yID0gbmV3IE1haW5BcGkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QWxsUHJpbnRlcnMoKTogUHJvbWlzZTxQcmludGVyW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5saXN0QWxsUHJpbnRlcnMoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUHJpbnRlciwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VuZE1ldGhvZHMoKTogUHJvbWlzZTxTZW5kTWV0aG9kW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5nZXRTZW5kTWV0aG9kcygpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QgJiYgcmVzdWx0LnJlc3VsdE9iamVjdC5yZXN1bHQpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTZW5kTWV0aG9kLCByZXN1bHQucmVzdWx0T2JqZWN0LnJlc3VsdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0UHJpbnRTdG9ja1N0aWNrZXJzKHJlcXVlc3Q6IFByaW50U3RvY2tTdGlja2Vycyk6IFByb21pc2U8UHJpbnRTdG9ja1N0aWNrZXJzPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRQcmludFN0b2NrU3RpY2tlcnMocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFByaW50U3RvY2tTdGlja2VycywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50UHJpY2VTdGlja2VycyhyZXF1ZXN0OiBQcmludFByaWNlU3RpY2tlcnMpOiBQcm9taXNlPFByaW50UHJpY2VTdGlja2Vycz4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IucHJpbnRQcmljZVN0aWNrZXJzKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShQcmludFByaWNlU3RpY2tlcnMsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgfSlcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja0hpc3RvcnkocmVxdWVzdDogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCk6IFByb21pc2U8U3RvY2tIaXN0b3J5Qm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrSGlzdG9yeShyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0ICYmIHJlc3VsdC5yZXN1bHRPYmplY3QuaGFzT3duUHJvcGVydHkoXCJzdG9ja0hpc3RvcnlcIikpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja0hpc3RvcnlCbywgcmVzdWx0LnJlc3VsdE9iamVjdC5zdG9ja0hpc3RvcnkpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja0luZm9ybWF0aW9uKGRhdGE6IEFydGljbGVTdG9jayk6IFByb21pc2U8QXJ0aWNsZVN0b2NrQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrSW5mb3JtYXRpb24oZGF0YSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShBcnRpY2xlU3RvY2tCbywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogUHJvbWlzZTxTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHdhcmVob3VzZU5vOiBudW1iZXIpOiBQcm9taXNlPFN0b2NrTG9jYXRpb25bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh3YXJlaG91c2VObykudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja0xvY2F0aW9uLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IuZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUgKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUgKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8U3RvY2tTdGlja2Vyc0VtYWlsTGF5b3V0c1tdPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRQdXJjaGFzZU9yZGVyRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlIChyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KTtcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVTdG9ja01hbmFnZW1lbnQpOiBQcm9taXNlPEFydGljbGVEZXRhaWxzQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydGljbGVEZXRhaWxzKGRhdGEpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXJ0aWNsZURldGFpbHNCbywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZUFydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVEZXRhaWxzQm8pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci51cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuY29tbWl0KCk7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBhc3luYyBsb2NrQXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmxvY2tBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuY29tbWl0KCk7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrU3RhdHVzKCk6IFByb21pc2U8U3RvY2tTdGF0dXNbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrU3RhdGUoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFN0b2NrU3RhdHVzLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmdldFN0b2NrU3RpY2tlclByaW50TGF5b3V0cyhkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0cywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGRhdGE6IEFydGljbGVUcmFuc2FjdGlvbik6IFByb21pc2U8QXJ0aWNsZVRyYW5zYWN0aW9uQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydGljbGVUcmFuc2FjdGlvbihkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KEFydGljbGVUcmFuc2FjdGlvbkJvLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tbWl0KCk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuY29tbWl0KCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2Uvc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksSUFBSSxjQUFjLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUVqRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixPQUFPLEVBQUMsa0JBQWtCLElBQUksb0JBQW9CLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZC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YUFDbkI7OztZQVZPLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FydGljbGVzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9hcnRpY2xlcyc7XHJcbmltcG9ydCB7U2hhcmVkYXBpfSBmcm9tICdAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL3NoYXJlZGFwaSc7XHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7R2V0U3RvY2tIaXN0b3J5UmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZ2V0LXN0b2NrLWhpc3RvcnktcmVxdWVzdCc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2t9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2snO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUJvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1oaXN0b3J5LmJvJztcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2tNYW5hZ2VtZW50fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnQnO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ibyc7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvJztcclxuaW1wb3J0IHtTdG9ja0xvY2F0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uJztcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb24uYm8nO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tICcuL29wdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7TWFpbkFwaX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGknO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge0RhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9kYXRhLXNlcnZpY2UtcmVzcG9uc2UtZGF0YSc7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9mYWN0b3J5L2J1c2luZXNzLW9iamVjdC1mYWN0b3J5JztcclxuaW1wb3J0IHtTZW5kTWV0aG9kfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9zZW5kLW1ldGhvZC5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrU3RhdHVzfSBmcm9tIFwiLi4vbW9kZWwvc3RvY2stc3RhdHVzLm1vZGVsXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlZENvbm5lY3RvclNlcnZpY2Uge1xyXG4gIHB1YmxpYyBhcnRpY2xlQ29ubmVjdG9yOiBBcnRpY2xlcztcclxuICBwdWJsaWMgc2hhcmVkQ29ubmVjdG9yOiBTaGFyZWRhcGk7XHJcbiAgcHVibGljIG1haW5Db25uZWN0b3I6IE1haW5BcGk7XHJcblxyXG4gIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5ID0gbmV3IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSgpO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYXJ0aWNsZUNvbm5lY3RvciA9IG5ldyBBcnRpY2xlcyh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICAgIHRoaXMuc2hhcmVkQ29ubmVjdG9yID0gbmV3IFNoYXJlZGFwaSh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICAgIHRoaXMubWFpbkNvbm5lY3RvciA9IG5ldyBNYWluQXBpKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFsbFByaW50ZXJzKCk6IFByb21pc2U8UHJpbnRlcltdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IubGlzdEFsbFByaW50ZXJzKCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFByaW50ZXIsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNlbmRNZXRob2RzKCk6IFByb21pc2U8U2VuZE1ldGhvZFtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0U2VuZE1ldGhvZHMoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0ICYmIHJlc3VsdC5yZXN1bHRPYmplY3QucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU2VuZE1ldGhvZCwgcmVzdWx0LnJlc3VsdE9iamVjdC5yZXN1bHQpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50U3RvY2tTdGlja2VycyhyZXF1ZXN0OiBQcmludFN0b2NrU3RpY2tlcnMpOiBQcm9taXNlPFByaW50U3RvY2tTdGlja2Vycz4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IuZ2V0UHJpbnRTdG9ja1N0aWNrZXJzKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShQcmludFN0b2NrU3RpY2tlcnMsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgfSlcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRQcmludFByaWNlU3RpY2tlcnMocmVxdWVzdDogUHJpbnRQcmljZVN0aWNrZXJzKTogUHJvbWlzZTxQcmludFByaWNlU3RpY2tlcnM+IHtcclxuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLnByaW50UHJpY2VTdGlja2VycyhyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoUHJpbnRQcmljZVN0aWNrZXJzLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tIaXN0b3J5KHJlcXVlc3Q6IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QpOiBQcm9taXNlPFN0b2NrSGlzdG9yeUJvW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdG9ja0hpc3RvcnkocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCAmJiByZXN1bHQucmVzdWx0T2JqZWN0Lmhhc093blByb3BlcnR5KFwic3RvY2tIaXN0b3J5XCIpKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tIaXN0b3J5Qm8sIHJlc3VsdC5yZXN1bHRPYmplY3Quc3RvY2tIaXN0b3J5KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tJbmZvcm1hdGlvbihkYXRhOiBBcnRpY2xlU3RvY2spOiBQcm9taXNlPEFydGljbGVTdG9ja0JvW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdG9ja0luZm9ybWF0aW9uKGRhdGEpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXJ0aWNsZVN0b2NrQm8sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk6IFByb21pc2U8U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh3YXJlaG91c2VObzogbnVtYmVyKTogUHJvbWlzZTxTdG9ja0xvY2F0aW9uW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTm8pLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tMb2NhdGlvbiwgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldE9yZGVyQ29uZmlybWF0aW9uRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLmdldE9yZGVyQ29uZmlybWF0aW9uRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlIChyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KTtcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvck9yZGVyQ29uZmlybWF0aW9uKHRyYW5zYWN0aW9uVVVJRCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlIChyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KTtcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFB1cmNoYXNlT3JkZXJFbWFpbExheW91dHModHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNFbWFpbExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IuZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSAocmVzdWx0LnJlc3VsdE9iamVjdCk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSk7XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlRGV0YWlscyhkYXRhOiBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KTogUHJvbWlzZTxBcnRpY2xlRGV0YWlsc0JvW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KEFydGljbGVEZXRhaWxzQm8sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhOiBBcnRpY2xlRGV0YWlsc0JvKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IudXBkYXRlQXJ0aWNsZURldGFpbHMoZGF0YSkudGhlbihhc3luYyAocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmNvbW1pdCgpO1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgYXN5bmMgbG9ja0FydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVTdG9ja01hbmFnZW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5sb2NrQXJ0aWNsZURldGFpbHMoZGF0YSkudGhlbihhc3luYyAocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmNvbW1pdCgpO1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja1N0YXR1cygpOiBQcm9taXNlPFN0b2NrU3RhdHVzW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdG9ja1N0YXRlKCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja1N0YXR1cywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRTdG9ja1N0YXR1cyhnb29kSWQ6IG51bWJlciwgYnJhbmNoTm8/OiBzdHJpbmcsIHJlcXVlc3RlZEFtb3VudD86IG51bWJlciwgd2FyZWhvdXNlSWQ/OiBudW1iZXIpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0QXJ0U3RvY2tTdGF0dXMoZ29vZElkLCBicmFuY2hObywgcmVxdWVzdGVkQW1vdW50LCB3YXJlaG91c2VJZCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShBcnRpY2xlU3RvY2tTdGF0dXMsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRTdG9ja1N0aWNrZXJUZW1wbGF0ZXMoZGF0YTogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0cyk6IFByb21pc2U8U3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c1tdPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0U3RvY2tTdGlja2VyUHJpbnRMYXlvdXRzKGRhdGEpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSk7XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlVHJhbnNhY3Rpb24oZGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uKTogUHJvbWlzZTxBcnRpY2xlVHJhbnNhY3Rpb25Cb1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGRhdGEpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXJ0aWNsZVRyYW5zYWN0aW9uQm8sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21taXQoKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5jb21taXQoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|