@colijnit/sharedcomponents 256.1.5 → 256.1.6
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 +351 -237
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +126 -125
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +127 -126
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +2 -2
- package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +35 -20
- package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +26 -25
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +7 -4
- package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +3 -2
- package/esm2015/lib/components/stock/service/stock-module-screen-config.service.js +27 -0
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +30 -2
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +5 -5
- package/esm2015/lib/components/stock/stock.component.js +20 -7
- package/esm2015/lib/components/stock/stock.module.js +3 -1
- package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
- package/esm2015/lib/service/shared-connector.service.js +2 -2
- package/esm2015/lib/service/shared-event.service.js +15 -0
- package/esm2015/public-api.js +2 -1
- package/fesm2015/colijnit-sharedcomponents.js +156 -64
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +4 -1
- package/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.d.ts +3 -1
- package/lib/components/stock/components/stock-location/stock-location.component.d.ts +2 -1
- package/lib/components/stock/service/stock-module-screen-config.service.d.ts +9 -0
- package/lib/components/stock/stock-information/stock-information.component.d.ts +8 -1
- package/lib/components/stock/stock.component.d.ts +5 -2
- package/lib/components/stock/style/_layout.scss +27 -4
- package/lib/components/stock/style/_material-definition.scss +3 -3
- package/lib/components/tab-bar/style/_layout.scss +6 -3
- package/lib/res/dictionary/dictionaries.d.ts +26 -0
- package/lib/service/shared-event.service.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -111,7 +111,7 @@ export class SendMethodDialogComponent {
|
|
|
111
111
|
this._selectDefaultSendMethod();
|
|
112
112
|
}
|
|
113
113
|
else {
|
|
114
|
-
if (this.visibleMethods && this.visibleMethods.length
|
|
114
|
+
if (this.visibleMethods && this.visibleMethods.length >= 1) {
|
|
115
115
|
this.defaultSendMethod = this.visibleMethods[0];
|
|
116
116
|
this._selectDefaultSendMethod();
|
|
117
117
|
}
|
|
@@ -268,4 +268,4 @@ SendMethodDialogComponent.propDecorators = {
|
|
|
268
268
|
additionalFileChangeEvent: [{ type: Output }],
|
|
269
269
|
showClass: [{ type: HostBinding, args: ['class.co-send-method-dialog',] }]
|
|
270
270
|
};
|
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQVVsRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBaUI7SUFDL0MsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM1RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzlELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxL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QUFFLFVBQVUsRUFBQzt1QkFHL0MsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7MEJBR3hDLEtBQUs7NENBR0wsS0FBSzs0Q0FHTCxLQUFLOzBDQUdMLEtBQUs7MkJBR0wsS0FBSzsyQkFHTCxLQUFLOzBCQU1MLEtBQUs7NkJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO3NDQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3FDQUdMLEtBQUs7a0RBR0wsTUFBTTtrREFHTixNQUFNO2dEQUdOLE1BQU07b0NBR04sTUFBTTt5QkFHTixNQUFNO3NCQUdOLE1BQU07d0NBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtTZW5kTWV0aG9kU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJy4uLy4uL21vZGVsL3NlbmQtbWV0aG9kJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW0nO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1xyXG4gIFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBzZW5kTWV0aG9kc1dpdGhJY29uOiBTZW5kTWV0aG9kW10gPSBbXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRmF4LCBcIkZheFwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUHJpbnQsIFwiUHJpbnRcIiwgSWNvbi5QcmludFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbCwgXCJFbWFpbFwiLCBJY29uLkF0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVkaSwgXCJFZGlcIiwgSWNvbi5GaWxlRXhwb3J0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUsIFwiRW1haWwgdGVtcGxhdGVcIiwgSWNvbi5FbnZlbG9wZVJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlNtcywgXCJTbXNcIiwgSWNvbi5NZXNzYWdlU21zU29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UsIFwiV2Vic2VydmljZVwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUGRmLCBcIlBkZlwiLCBJY29uLlBkZilcclxuXVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1zZW5kLW1ldGhvZC1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIGlkPVwic2VuZE9wdGlvbnNEaWFsb2dcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRW52ZWxvcGVSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1uYXZpZ2F0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCIgKm5nRm9yPVwibGV0IHNlbmRNZXRob2Qgb2Ygc2VuZE1ldGhvZHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2QgPyBzZW5kTWV0aG9kLmNvZGUgPT09IGFjdGl2ZVNlbmRNZXRob2QuY29kZSA6IGluZGV4ID09PSAwXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJzZW5kTWV0aG9kLmRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kcy13cmFwcGVyXCI+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgI25hdmlnYXRpb25JdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24td3JhcHBlclwiIFtjbGFzcy5zbW9vdGgtc2Nyb2xsaW5nXT1cIiFzdGFydFVwXCI+XHJcbiAgICAgICAgICA8ZGl2ICNmYXhJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3ByaW50SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRcIj5cclxuICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXByaW50ZXJcclxuICAgICAgICAgICAgICBbaXNQcmludGVyTGF5b3V0c0VuYWJsZWRdPVwiaXNQcmludGVyTGF5b3V0c0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1zZW5kLW1ldGhvZC1wcmludGVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNlbWFpbEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsXCI+XHJcbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1lbWFpbFxyXG4gICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtZW1haWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI2VkaUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VkaVwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZW1haWxUZW1wbGF0ZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3Ntc0l0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1Ntc1wiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjd2ViU2VydmljZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1dlYnNlcnZpY2VcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3BkZkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1BkZlwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcGRmXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib2tDbGljay5lbWl0KGFjdGl2ZVNlbmRNZXRob2QgPyBhY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VDbGljay5lbWl0KCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsIHdpZHRoOiAnMTAwJScsIG9wYWNpdHk6ICcxJ30pKSxcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxNTAlKScsIG9wYWNpdHk6ICcwJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbkl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZheEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBmYXhJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncHJpbnRJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcHJpbnRJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZWRpSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVkaUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbFRlbXBsYXRlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVtYWlsVGVtcGxhdGVJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc21zSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHNtc0l0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCd3ZWJTZXJ2aWNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHdlYlNlcnZpY2VJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncGRmSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHBkZkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdID0gW107XHJcblxyXG4gIC8vIEBJbnB1dCgpXHJcbiAgLy8gcHVibGljIHByaWNlTGlzdENvZGVEYXRhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXNpYmxlTWV0aG9kczogU2VuZE1ldGhvZFR5cGVbXSB8IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzRG9jU2lnbkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9jU2lnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb2tDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zZW5kLW1ldGhvZC1kaWFsb2cnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kTWV0aG9kcyA9IHNlbmRNZXRob2RzV2l0aEljb247XHJcbiAgcHVibGljIGFjdGl2ZVNlbmRNZXRob2Q6IFNlbmRNZXRob2Q7XHJcbiAgcHVibGljIHVwQW5kTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0YXJ0VXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZheDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQcmludDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFZGk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93U21zOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0VtYWlsVGVtcGxhdGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93V2Vic2VydmljZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQZGY6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlbmRNZXRob2RTZXJ2aWNlOiBTZW5kTWV0aG9kU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdDtcclxuICAgIH1cclxuICAgIHRoaXMuX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgdGhpcy5fcHJlcGFyZVZpc2libGVNZXRob2RzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25hdHVyZVN0YXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2NTaWduID0gIXRoaXMuZG9jU2lnbjtcclxuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZDogU2VuZE1ldGhvZCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kID0gc2VuZE1ldGhvZDtcclxuICAgIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCAmJiB0aGlzLnNob3dGYXgpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5mYXhJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQgJiYgdGhpcy5zaG93UHJpbnQpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wcmludEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCAmJiB0aGlzLnNob3dFbWFpbCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVtYWlsSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSAmJiB0aGlzLnNob3dFZGkpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lZGlJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWxUZW1wbGF0ZSAmJiB0aGlzLnNob3dFbWFpbFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxUZW1wbGF0ZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5TbXMgJiYgdGhpcy5zaG93U21zKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuc21zSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UgJiYgdGhpcy5zaG93V2Vic2VydmljZSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLndlYlNlcnZpY2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmICYmIHRoaXMuc2hvd1BkZikge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnBkZkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2QgPSB0aGlzLnZpc2libGVNZXRob2RzWzBdO1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdGFydFVwID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbmRNZXRob2Q6IFNlbmRNZXRob2QgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gdGhpcy5kZWZhdWx0U2VuZE1ldGhvZCk7XHJcbiAgICBpZiAoc2VuZE1ldGhvZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlVmlzaWJsZU1ldGhvZHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZW5kTWV0aG9kcyA9IHRoaXMuc2VuZE1ldGhvZHMuZmlsdGVyKHNtID0+IHRoaXMudmlzaWJsZU1ldGhvZHMuZmluZCh2bSA9PiB2bSA9PT0gc20uY29kZSkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93RmF4ID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1ByaW50ID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RW1haWwgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFZGkgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRWRpKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RW1haWxUZW1wbGF0ZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93U21zID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcykgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1dlYnNlcnZpY2UgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1BkZiA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpICE9PSB1bmRlZmluZWQ7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEV2ZW50ID0gRXZlbnQ7XHJcbn1cclxuIl19
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQVVsRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBaUI7SUFDL0MsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM1RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzlELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxL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QUFFLFVBQVUsRUFBQzt1QkFHL0MsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7MEJBR3hDLEtBQUs7NENBR0wsS0FBSzs0Q0FHTCxLQUFLOzBDQUdMLEtBQUs7MkJBR0wsS0FBSzsyQkFHTCxLQUFLOzBCQU1MLEtBQUs7NkJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO3NDQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3FDQUdMLEtBQUs7a0RBR0wsTUFBTTtrREFHTixNQUFNO2dEQUdOLE1BQU07b0NBR04sTUFBTTt5QkFHTixNQUFNO3NCQUdOLE1BQU07d0NBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtTZW5kTWV0aG9kU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJy4uLy4uL21vZGVsL3NlbmQtbWV0aG9kJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW0nO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1xyXG4gIFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBzZW5kTWV0aG9kc1dpdGhJY29uOiBTZW5kTWV0aG9kW10gPSBbXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRmF4LCBcIkZheFwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUHJpbnQsIFwiUHJpbnRcIiwgSWNvbi5QcmludFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbCwgXCJFbWFpbFwiLCBJY29uLkF0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVkaSwgXCJFZGlcIiwgSWNvbi5GaWxlRXhwb3J0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUsIFwiRW1haWwgdGVtcGxhdGVcIiwgSWNvbi5FbnZlbG9wZVJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlNtcywgXCJTbXNcIiwgSWNvbi5NZXNzYWdlU21zU29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UsIFwiV2Vic2VydmljZVwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUGRmLCBcIlBkZlwiLCBJY29uLlBkZilcclxuXVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1zZW5kLW1ldGhvZC1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIGlkPVwic2VuZE9wdGlvbnNEaWFsb2dcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRW52ZWxvcGVSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1uYXZpZ2F0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCIgKm5nRm9yPVwibGV0IHNlbmRNZXRob2Qgb2Ygc2VuZE1ldGhvZHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2QgPyBzZW5kTWV0aG9kLmNvZGUgPT09IGFjdGl2ZVNlbmRNZXRob2QuY29kZSA6IGluZGV4ID09PSAwXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJzZW5kTWV0aG9kLmRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kcy13cmFwcGVyXCI+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgI25hdmlnYXRpb25JdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24td3JhcHBlclwiIFtjbGFzcy5zbW9vdGgtc2Nyb2xsaW5nXT1cIiFzdGFydFVwXCI+XHJcbiAgICAgICAgICA8ZGl2ICNmYXhJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3ByaW50SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRcIj5cclxuICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXByaW50ZXJcclxuICAgICAgICAgICAgICBbaXNQcmludGVyTGF5b3V0c0VuYWJsZWRdPVwiaXNQcmludGVyTGF5b3V0c0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1zZW5kLW1ldGhvZC1wcmludGVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNlbWFpbEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsXCI+XHJcbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1lbWFpbFxyXG4gICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtZW1haWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI2VkaUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VkaVwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZW1haWxUZW1wbGF0ZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3Ntc0l0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1Ntc1wiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjd2ViU2VydmljZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1dlYnNlcnZpY2VcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3BkZkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1BkZlwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcGRmXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib2tDbGljay5lbWl0KGFjdGl2ZVNlbmRNZXRob2QgPyBhY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VDbGljay5lbWl0KCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsIHdpZHRoOiAnMTAwJScsIG9wYWNpdHk6ICcxJ30pKSxcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxNTAlKScsIG9wYWNpdHk6ICcwJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbkl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZheEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBmYXhJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncHJpbnRJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcHJpbnRJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZWRpSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVkaUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbFRlbXBsYXRlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVtYWlsVGVtcGxhdGVJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc21zSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHNtc0l0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCd3ZWJTZXJ2aWNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHdlYlNlcnZpY2VJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncGRmSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHBkZkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdID0gW107XHJcblxyXG4gIC8vIEBJbnB1dCgpXHJcbiAgLy8gcHVibGljIHByaWNlTGlzdENvZGVEYXRhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXNpYmxlTWV0aG9kczogU2VuZE1ldGhvZFR5cGVbXSB8IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzRG9jU2lnbkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9jU2lnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb2tDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zZW5kLW1ldGhvZC1kaWFsb2cnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kTWV0aG9kcyA9IHNlbmRNZXRob2RzV2l0aEljb247XHJcbiAgcHVibGljIGFjdGl2ZVNlbmRNZXRob2Q6IFNlbmRNZXRob2Q7XHJcbiAgcHVibGljIHVwQW5kTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0YXJ0VXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZheDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQcmludDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFZGk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93U21zOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0VtYWlsVGVtcGxhdGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93V2Vic2VydmljZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQZGY6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlbmRNZXRob2RTZXJ2aWNlOiBTZW5kTWV0aG9kU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdDtcclxuICAgIH1cclxuICAgIHRoaXMuX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgdGhpcy5fcHJlcGFyZVZpc2libGVNZXRob2RzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25hdHVyZVN0YXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2NTaWduID0gIXRoaXMuZG9jU2lnbjtcclxuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZDogU2VuZE1ldGhvZCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kID0gc2VuZE1ldGhvZDtcclxuICAgIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCAmJiB0aGlzLnNob3dGYXgpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5mYXhJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQgJiYgdGhpcy5zaG93UHJpbnQpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wcmludEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCAmJiB0aGlzLnNob3dFbWFpbCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVtYWlsSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSAmJiB0aGlzLnNob3dFZGkpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lZGlJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWxUZW1wbGF0ZSAmJiB0aGlzLnNob3dFbWFpbFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxUZW1wbGF0ZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5TbXMgJiYgdGhpcy5zaG93U21zKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuc21zSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UgJiYgdGhpcy5zaG93V2Vic2VydmljZSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLndlYlNlcnZpY2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmICYmIHRoaXMuc2hvd1BkZikge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnBkZkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0U2VuZE1ldGhvZCA9IHRoaXMudmlzaWJsZU1ldGhvZHNbMF07XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VuZE1ldGhvZDogU2VuZE1ldGhvZCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKTtcclxuICAgIGlmIChzZW5kTWV0aG9kKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2QpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVWaXNpYmxlTWV0aG9kcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RzID0gdGhpcy5zZW5kTWV0aG9kcy5maWx0ZXIoc20gPT4gdGhpcy52aXNpYmxlTWV0aG9kcy5maW5kKHZtID0+IHZtID09PSBzbS5jb2RlKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dGYXggPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UHJpbnQgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VkaSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FZGkpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dTbXMgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuU21zKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93V2Vic2VydmljZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UGRmID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikgIT09IHVuZGVmaW5lZDtcclxuXHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRXZlbnQgPSBFdmVudDtcclxufVxyXG4iXX0=
|
|
@@ -4,10 +4,12 @@ import { Icon } from '../../../../enum/icon.enum';
|
|
|
4
4
|
import { BaseStockComponent } from '../../base/base-stock.component';
|
|
5
5
|
import { GetStockHistoryRequest } from '@colijnit/articleapi/build/model/get-stock-history-request';
|
|
6
6
|
import { StockService } from '../../../../service/stock.service';
|
|
7
|
+
import { SharedEventService } from "../../../../service/shared-event.service";
|
|
7
8
|
export class AllocationStockHistoryComponent extends BaseStockComponent {
|
|
8
|
-
constructor(_stockService) {
|
|
9
|
+
constructor(_stockService, sharedEventService) {
|
|
9
10
|
super();
|
|
10
11
|
this._stockService = _stockService;
|
|
12
|
+
this.sharedEventService = sharedEventService;
|
|
11
13
|
this.icons = Icon;
|
|
12
14
|
this.data = [];
|
|
13
15
|
}
|
|
@@ -21,6 +23,14 @@ export class AllocationStockHistoryComponent extends BaseStockComponent {
|
|
|
21
23
|
});
|
|
22
24
|
});
|
|
23
25
|
}
|
|
26
|
+
handleTransactionNavigation(docNr) {
|
|
27
|
+
const transNr = docNr.split(' ');
|
|
28
|
+
if (transNr && transNr.length > 1) {
|
|
29
|
+
if (transNr[0].toLowerCase() === 'v') {
|
|
30
|
+
this.sharedEventService.salesOrderNavigation.next(transNr[1]);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
24
34
|
}
|
|
25
35
|
AllocationStockHistoryComponent.decorators = [
|
|
26
36
|
{ type: Component, args: [{
|
|
@@ -30,29 +40,34 @@ AllocationStockHistoryComponent.decorators = [
|
|
|
30
40
|
class="simple-grid"
|
|
31
41
|
[rowsPerPage]="20"
|
|
32
42
|
>
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
<co-simple-grid-column [headerText]="'MUTATION_DATE' | sharedLocalize">
|
|
44
|
+
<ng-template #template let-row="row">
|
|
45
|
+
<span [textContent]="row.mutationDate | date:'dd-MM-yyyy'"></span>
|
|
46
|
+
</ng-template>
|
|
47
|
+
</co-simple-grid-column>
|
|
48
|
+
<co-simple-grid-column [headerText]="'MUTATION_TIME' | sharedLocalize" [field]="'mutationTime'"></co-simple-grid-column>
|
|
49
|
+
<co-simple-grid-column [headerText]="'AMOUNT' | sharedLocalize" [field]="'amount'"></co-simple-grid-column>
|
|
50
|
+
<co-simple-grid-column [headerText]="'WAREHOUSE' | sharedLocalize" [field]="'wareHouseNr'"></co-simple-grid-column>
|
|
51
|
+
<co-simple-grid-column [headerText]="'LOCATION' | sharedLocalize" [field]="'locationNr'"></co-simple-grid-column>
|
|
52
|
+
<co-simple-grid-column [headerText]="'DOCUMENT_NUMBER' | sharedLocalize">
|
|
53
|
+
<ng-template #template let-row="row">
|
|
54
|
+
<div class="clickable-link" [textContent]="row.docNr" (click)="handleTransactionNavigation(row.docNr)"></div>
|
|
55
|
+
</ng-template>
|
|
56
|
+
</co-simple-grid-column>
|
|
57
|
+
<co-simple-grid-column [headerText]="'LINE' | sharedLocalize" [field]="'transLineNr'"></co-simple-grid-column>
|
|
58
|
+
<co-simple-grid-column [headerText]="'STOCK_STATE' | sharedLocalize" [field]="'stockStateId'"></co-simple-grid-column>
|
|
59
|
+
<co-simple-grid-column [headerText]="'STOCK_REMARK' | sharedLocalize" [field]="'stockStateRemarkId'"></co-simple-grid-column>
|
|
60
|
+
<co-simple-grid-column [headerText]="'VALUTA' | sharedLocalize" [field]="'currencyCode'"></co-simple-grid-column>
|
|
61
|
+
<co-simple-grid-column [headerText]="'RELATION_NR' | sharedLocalize" [field]="'relationNr'"></co-simple-grid-column>
|
|
62
|
+
<co-simple-grid-column [headerText]="'USER' | sharedLocalize" [field]="'user'"></co-simple-grid-column>
|
|
63
|
+
<co-simple-grid-column [headerText]="'MUTATION_TYPE' | sharedLocalize" [field]="'mutationType'"></co-simple-grid-column>
|
|
50
64
|
</co-simple-grid>
|
|
51
65
|
`,
|
|
52
66
|
encapsulation: ViewEncapsulation.None
|
|
53
67
|
},] }
|
|
54
68
|
];
|
|
55
69
|
AllocationStockHistoryComponent.ctorParameters = () => [
|
|
56
|
-
{ type: StockService }
|
|
70
|
+
{ type: StockService },
|
|
71
|
+
{ type: SharedEventService }
|
|
57
72
|
];
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5L2FsbG9jYXRpb24tc3RvY2staGlzdG9yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQWtDNUUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGtCQUFrQjtJQUtyRSxZQUNVLGFBQTJCLEVBQzVCLGtCQUFzQztRQUU3QyxLQUFLLEVBQUUsQ0FBQztRQUhBLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFOL0IsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFFbkMsU0FBSSxHQUFxQixFQUFFLENBQUM7SUFPbkMsQ0FBQztJQUVlLE9BQU87O1lBQ3JCLE1BQU0sdUJBQXVCLEdBQTJCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUNyRix1QkFBdUIsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ25DLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4RSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUNNLDJCQUEyQixDQUFDLEtBQWE7UUFDOUMsTUFBTSxPQUFPLEdBQWEsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxHQUFHLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0Q7U0FDRjtJQUNILENBQUM7OztZQTNERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQWxDTyxZQUFZO1lBQ1osa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ibyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0Jhc2VTdG9ja0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLXN0b2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7R2V0U3RvY2tIaXN0b3J5UmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZ2V0LXN0b2NrLWhpc3RvcnktcmVxdWVzdCc7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NoYXJlZEV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2Uvc2hhcmVkLWV2ZW50LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidNVVRBVElPTl9EQVRFJyB8IHNoYXJlZExvY2FsaXplXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5tdXRhdGlvbkRhdGUgfCBkYXRlOidkZC1NTS15eXl5J1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTVVUQVRJT05fVElNRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInbXV0YXRpb25UaW1lJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCcgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInYW1vdW50J1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1dBUkVIT1VTRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInd2FyZUhvdXNlTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTE9DQVRJT04nIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ2xvY2F0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRE9DVU1FTlRfTlVNQkVSJyB8IHNoYXJlZExvY2FsaXplXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsaWNrYWJsZS1saW5rXCIgW3RleHRDb250ZW50XT1cInJvdy5kb2NOclwiIChjbGljayk9XCJoYW5kbGVUcmFuc2FjdGlvbk5hdmlnYXRpb24ocm93LmRvY05yKVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidMSU5FJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid0cmFuc0xpbmVOcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVE9DS19TVEFURScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInc3RvY2tTdGF0ZUlkJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLX1JFTUFSSycgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInc3RvY2tTdGF0ZVJlbWFya0lkJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1ZBTFVUQScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInY3VycmVuY3lDb2RlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1JFTEFUSU9OX05SJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidyZWxhdGlvbk5yJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1VTRVInIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3VzZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTVVUQVRJT05fVFlQRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInbXV0YXRpb25UeXBlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudCBleHRlbmRzIEJhc2VTdG9ja0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBkYXRhOiBTdG9ja0hpc3RvcnlCb1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2hhcmVkRXZlbnRTZXJ2aWNlOiBTaGFyZWRFdmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSAnVCc7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSGlzdG9yeShzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbikudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmRhdGEgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHVibGljIGhhbmRsZVRyYW5zYWN0aW9uTmF2aWdhdGlvbihkb2NOcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB0cmFuc05yOiBzdHJpbmdbXSA9IGRvY05yLnNwbGl0KCcgJyk7XHJcbiAgICBpZiAodHJhbnNOciAmJiB0cmFuc05yLmxlbmd0aCA+IDEpIHtcclxuICAgICAgaWYgKHRyYW5zTnJbMF0udG9Mb3dlckNhc2UoKSA9PT0gJ3YnKSB7XHJcbiAgICAgICAgdGhpcy5zaGFyZWRFdmVudFNlcnZpY2Uuc2FsZXNPcmRlck5hdmlnYXRpb24ubmV4dCh0cmFuc05yWzFdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -11,6 +11,7 @@ export class StockLocationPopupComponent {
|
|
|
11
11
|
this._stockService = _stockService;
|
|
12
12
|
this._changeDetector = _changeDetector;
|
|
13
13
|
this.icons = Icon;
|
|
14
|
+
this.editingRow = false;
|
|
14
15
|
this.showConfirmationDialog = false;
|
|
15
16
|
this.newStockLine = false;
|
|
16
17
|
this.selectedArticleDetailsData = new ArticleDetailsBo();
|
|
@@ -18,6 +19,7 @@ export class StockLocationPopupComponent {
|
|
|
18
19
|
this.selectedWarehouse = new StockManagementWarehouses();
|
|
19
20
|
this.articleStockInfo = [];
|
|
20
21
|
this.togglePopupEvent = new EventEmitter();
|
|
22
|
+
this.saveEvent = new EventEmitter();
|
|
21
23
|
this.updateGridData = new EventEmitter();
|
|
22
24
|
this.stockLocations = [];
|
|
23
25
|
this.stockStatus = [];
|
|
@@ -40,11 +42,16 @@ export class StockLocationPopupComponent {
|
|
|
40
42
|
}
|
|
41
43
|
handleOkClick() {
|
|
42
44
|
this.handleStockChange();
|
|
43
|
-
this.
|
|
45
|
+
this.saveEvent.emit(true);
|
|
44
46
|
this._changeDetector.detectChanges();
|
|
45
47
|
}
|
|
46
48
|
togglePopup() {
|
|
47
|
-
this.
|
|
49
|
+
if (this.newStockLine) {
|
|
50
|
+
this.saveEvent.emit(false);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.togglePopupEvent.emit();
|
|
54
|
+
}
|
|
48
55
|
}
|
|
49
56
|
getStockLocations() {
|
|
50
57
|
this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then((locations) => {
|
|
@@ -122,21 +129,20 @@ StockLocationPopupComponent.decorators = [
|
|
|
122
129
|
[placeholder]="'WAREHOUSE' | sharedLocalize"
|
|
123
130
|
[readonly]="true"
|
|
124
131
|
></co-input-text>
|
|
125
|
-
|
|
132
|
+
<co-input-text [(model)]="selectedArticleDetailsData.serialNo"
|
|
133
|
+
[placeholder]="'SERIAL_NO' | sharedLocalize"
|
|
134
|
+
[readonly]="false"
|
|
135
|
+
></co-input-text>
|
|
136
|
+
</div>
|
|
137
|
+
<div class="stock-dialog-row">
|
|
126
138
|
<co-list-of-values
|
|
127
|
-
[model]="locationForNumber(
|
|
139
|
+
[model]="locationForNumber(selectedArticleDetailsData.locationNo)"
|
|
128
140
|
[collection]="stockLocations"
|
|
129
141
|
[displayField]="'locationNo'"
|
|
130
142
|
[label]="'LOCATION' | sharedLocalize"
|
|
131
143
|
[required]="true"
|
|
132
144
|
(modelChange)="locationChanged($event)"
|
|
133
145
|
></co-list-of-values>
|
|
134
|
-
</div>
|
|
135
|
-
<div class="stock-dialog-row">
|
|
136
|
-
<co-input-text [(model)]="selectedArticleDetailsData.serialNo"
|
|
137
|
-
[placeholder]="'SERIAL_NO' | sharedLocalize"
|
|
138
|
-
[readonly]="false"
|
|
139
|
-
></co-input-text>
|
|
140
146
|
<co-input-text [(model)]="selectedArticleDetailsData.batchNo"
|
|
141
147
|
[placeholder]="'BATCH' | sharedLocalize"
|
|
142
148
|
[readonly]="false"
|
|
@@ -159,21 +165,14 @@ StockLocationPopupComponent.decorators = [
|
|
|
159
165
|
></co-input-date>
|
|
160
166
|
</div>
|
|
161
167
|
<div class="stock-dialog-row">
|
|
162
|
-
<co-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
></co-
|
|
168
|
-
<
|
|
169
|
-
(modelChange)="handleStockStatusRemarkChange($event)"></co-input-text>
|
|
168
|
+
<co-input-number-picker
|
|
169
|
+
[(model)]="selectedArticleDetailsData.amountInStock"
|
|
170
|
+
[label]="'STOCK' | sharedLocalize"
|
|
171
|
+
(modelChange)="amountInStockChanged($event)"
|
|
172
|
+
[min]="1"
|
|
173
|
+
></co-input-number-picker>
|
|
174
|
+
<span class="filler"></span>
|
|
170
175
|
</div>
|
|
171
|
-
<co-input-number-picker
|
|
172
|
-
[(model)]="selectedArticleDetailsData.amountInStock"
|
|
173
|
-
[label]="'STOCK' | sharedLocalize"
|
|
174
|
-
(modelChange)="amountInStockChanged($event)"
|
|
175
|
-
[min]="1"
|
|
176
|
-
></co-input-number-picker>
|
|
177
176
|
</div>
|
|
178
177
|
<ng-template #footerTemplate>
|
|
179
178
|
<div class="button-wrapper ok-cancel-buttons">
|
|
@@ -200,6 +199,7 @@ StockLocationPopupComponent.ctorParameters = () => [
|
|
|
200
199
|
{ type: ChangeDetectorRef }
|
|
201
200
|
];
|
|
202
201
|
StockLocationPopupComponent.propDecorators = {
|
|
202
|
+
editingRow: [{ type: Input }],
|
|
203
203
|
showConfirmationDialog: [{ type: Input }],
|
|
204
204
|
newStockLine: [{ type: Input }],
|
|
205
205
|
selectedArticleDetailsData: [{ type: Input }],
|
|
@@ -209,8 +209,9 @@ StockLocationPopupComponent.propDecorators = {
|
|
|
209
209
|
selectedLocationNo: [{ type: Input }],
|
|
210
210
|
articleStockInfo: [{ type: Input }],
|
|
211
211
|
togglePopupEvent: [{ type: Output }],
|
|
212
|
+
saveEvent: [{ type: Output }],
|
|
212
213
|
updateGridData: [{ type: Output }],
|
|
213
214
|
stockLocations: [{ type: Input }],
|
|
214
215
|
stockStatus: [{ type: Input }]
|
|
215
216
|
};
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stbG9jYXRpb24tcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLXBvcHVwL3N0b2NrLWxvY2F0aW9uLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDckUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDMUcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFzR3JGLE1BQU0sT0FBTywyQkFBMkI7SUFtQ3RDLFlBQ1MsZ0JBQWtDLEVBQ2pDLGFBQTJCLEVBQzNCLGVBQWtDO1FBRm5DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBckM1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUVuQywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFFeEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsK0JBQTBCLEdBQXFCLElB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Q0FBRSxRQUFRLEVBQUUsQ0FBQztZQUMzRixJQUFJLENBQUMseUJBQXlCLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLENBQUM7WUFDN0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDcEYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7OztZQTNORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRGVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBMUdPLGdCQUFnQjtZQUVoQixZQUFZO1lBSFosaUJBQWlCOzs7cUNBOEd0QixLQUFLOzJCQUVMLEtBQUs7eUNBRUwsS0FBSzswQkFHTCxLQUFLO3dDQUdMLEtBQUs7Z0NBR0wsS0FBSztpQ0FHTCxLQUFLOytCQUdMLEtBQUs7K0JBR0wsTUFBTTs2QkFFTixNQUFNOzZCQUVOLEtBQUs7MEJBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrTWFuYWdlbWVudH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2stbWFuYWdlbWVudFwiO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mbGF0LmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay1sb2NhdGlvbi1wb3B1cFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stZ3JpZFwiPlxyXG4gICAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0NvbmZpcm1hdGlvbkRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgW21vZGFsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInRvZ2dsZVBvcHVwKClcIlxyXG4gICAgICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DdWJlcylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidDT05GSVJNX1NUT0NLX0NIQU5HRScgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1kaWFsb2ctaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RvY2staGVhZGVyXCIgKm5nSWY9XCJuZXdTdG9ja0xpbmVcIiBbdGV4dENvbnRlbnRdPVwiJ05FV19TVE9DS19MSU5FJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0b2NrLWhlYWRlclwiICpuZ0lmPVwiIW5ld1N0b2NrTGluZVwiIFt0ZXh0Q29udGVudF09XCInQ0hBTkdFX1NUT0NLX0xJTkUnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1kaWFsb2ctcm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJzZWxlY3RlZFdhcmVob3VzZT8ud2FyZWhvdXNlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1dBUkVIT1VTRScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuXHJcbiAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlc1xyXG4gICAgICAgICAgICAgIFttb2RlbF09XCJsb2NhdGlvbkZvck51bWJlcihzZWxlY3RlZExvY2F0aW9uTm8pXCJcclxuICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzdG9ja0xvY2F0aW9uc1wiXHJcbiAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInbG9jYXRpb25ObydcIlxyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInTE9DQVRJT04nIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwibG9jYXRpb25DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3dcIj5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc2VyaWFsTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OTycgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmJhdGNoTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3ctcm93XCI+XHJcbiAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cImFydGljbGVTdG9ja0luZm9bMF0/LnB1cmNoYXNlUHJpY2UgfCBjdXJyZW5jeTonRVVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQVVJDSEFTRV9QUklDRScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFydGljbGVTdG9ja0luZm9bMF0uY3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVkFMVVRBJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtZGF0ZSBbbW9kZWxdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LmVudHJ5RGF0ZT8gc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LmVudHJ5RGF0ZSA6IG5ld0RhdGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREFURScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LWRhdGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1kaWFsb2ctcm93XCI+XHJcbiAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyBbbGFiZWxdPVwiJ1NUQVRVUycgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic3RhdHVzRm9ySWQoc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LnN0b2NrU3RhdGVJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic3RvY2tTdGF0dXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInc3RhdGVEZXNjcmlwdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVN0b2NrU3RhdHVzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW3BsYWNlaG9sZGVyXT1cIidSRU1BUksnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3RvY2tTdGF0dXNSZW1hcmtDaGFuZ2UoJGV2ZW50KVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXJcclxuICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuYW1vdW50SW5TdG9ja1wiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCInU1RPQ0snIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiYW1vdW50SW5TdG9ja0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXdyYXBwZXIgb2stY2FuY2VsLWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT2tDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCI+XHJcbiAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBvcHVwKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCI+XHJcbiAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrTG9jYXRpb25Qb3B1cENvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0NvbmZpcm1hdGlvbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5ld1N0b2NrTGluZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhOiBBcnRpY2xlRGV0YWlsc0JvID0gbmV3IEFydGljbGVEZXRhaWxzQm8oKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZUZsYXQ6IEFydGljbGVGbGF0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50ID0gbmV3IEFydGljbGVTdG9ja01hbmFnZW1lbnQoKVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyA9IG5ldyBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkTG9jYXRpb25Obzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tJbmZvOiBBcnRpY2xlRGV0YWlsc0JvW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdXBkYXRlR3JpZERhdGE6IEV2ZW50RW1pdHRlcjxBcnRpY2xlRGV0YWlsc0JvW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlRGV0YWlsc0JvW10+KCk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdG9ja1N0YXR1czogU3RvY2tTdGF0dXNbXSA9IFtdO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwdWJsaWMgc3RhdHVzRm9ySWQoaWQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvY2tTdGF0dXMuZmluZChzdGF0dXMgPT4gc3RhdHVzLnN0b2NrU3RhdGVJZCA9PT0gaWQpID8gdGhpcy5zdG9ja1N0YXR1cy5maW5kKHN0YXR1cyA9PiBzdGF0dXMuc3RvY2tTdGF0ZUlkID09PSBpZCkgOiAwIDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1N0YXR1c0NoYW5nZShzdGF0dXM6IFN0b2NrU3RhdHVzKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnN0b2NrU3RhdGVJZCA9IHN0YXR1cy5zdG9ja1N0YXRlSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tTdGF0dXNSZW1hcmtDaGFuZ2UocmVtYXJrOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc3RvY2tTdGF0ZVJlbWFyayA9IHJlbWFyaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhbW91bnRJblN0b2NrQ2hhbmdlZChkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmFtb3VudEluU3RvY2sgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuICghdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YT8uc3RvY2tTdGF0ZUlkICYmIHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LnN0b2NrU3RhdGVSZW1hcms/Lmxlbmd0aCA8PSAxKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVPa0NsaWNrKCkge1xyXG4gICAgdGhpcy5oYW5kbGVTdG9ja0NoYW5nZSgpO1xyXG4gICAgdGhpcy50b2dnbGVQb3B1cEV2ZW50LmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwKCkge1xyXG4gICAgdGhpcy50b2dnbGVQb3B1cEV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrTG9jYXRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlLndhcmVob3VzZU5vKS50aGVuKChsb2NhdGlvbnMpID0+IHtcclxuICAgICAgdGhpcy5zdG9ja0xvY2F0aW9ucyA9IGxvY2F0aW9ucztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvY2F0aW9uRm9yTnVtYmVyKG51bWJlcjogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9ja0xvY2F0aW9ucz8uZmluZChsb2NhdGlvbiA9PiBsb2NhdGlvbi5sb2NhdGlvbk5vID09PSBudW1iZXIpID8gdGhpcy5zdG9ja0xvY2F0aW9ucz8uZmluZChsb2NhdGlvbiA9PiBsb2NhdGlvbi5sb2NhdGlvbk5vID09PSBudW1iZXIpIDogXCJcIiA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9jYXRpb25DaGFuZ2VkKGV2ZW50OiBTdG9ja0xvY2F0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25ObyA9IGV2ZW50LmxvY2F0aW9uTm87XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmxvY2F0aW9uTm8gPSBldmVudC5sb2NhdGlvbk5vO1xyXG4gICAgaWYgKHRoaXMuYXJ0aWNsZVN0b2NrSW5mbz8ubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU3RvY2tDaGFuZ2UoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0U3RvY2tMb2NhdGlvbnMoKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5hcnRpY2xlRmxhdC5nb29kSWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQgPSB0aGlzLmFydGljbGVGbGF0Lmdvb2RJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLmdvb2RJZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmdvb2RJZCA9IHBhcnNlSW50KHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5nb29kSWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5lbnRyeURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS53YXJlaG91c2VObyA9IHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm87XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZExvY2F0aW9uTm8pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5sb2NhdGlvbk5vID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uTm8/LnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuYW1vdW50SW5TdG9jaykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmFtb3VudEluU3RvY2sgPSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnVwZGF0ZUFydGljbGVEZXRhaWxzKHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQ/LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLndhcmVob3VzZU51bWJlciA9IHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEud2FyZWhvdXNlTm87XHJcbiAgICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVEZXRhaWxzKHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbikudGhlbigoZGV0YWlscykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hcnRpY2xlU3RvY2tJbmZvID0gZGV0YWlscztcclxuICAgICAgICAgIHRoaXMudXBkYXRlR3JpZERhdGEuZW1pdChkZXRhaWxzKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZXdEYXRlKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stbG9jYXRpb24tcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLXBvcHVwL3N0b2NrLWxvY2F0aW9uLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDckUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDMUcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUE4RnJGLE1BQU0sT0FBTywyQkFBMkI7SUEwQ3RDLFlBQ1MsZ0JBQWtDLEVBQ2pDLGFBQTJCLEVBQzNCLGVBQWtDO1FBRm5DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBNUM1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRTVCLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUV4QyxpQkFBWSxHQUFZLEtBQUss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R0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrTWFuYWdlbWVudH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2stbWFuYWdlbWVudFwiO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mbGF0LmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay1sb2NhdGlvbi1wb3B1cFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stZ3JpZFwiPlxyXG4gICAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0NvbmZpcm1hdGlvbkRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgW21vZGFsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInRvZ2dsZVBvcHVwKClcIlxyXG4gICAgICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DdWJlcylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidDT05GSVJNX1NUT0NLX0NIQU5HRScgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1kaWFsb2ctaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RvY2staGVhZGVyXCIgKm5nSWY9XCJuZXdTdG9ja0xpbmVcIiBbdGV4dENvbnRlbnRdPVwiJ05FV19TVE9DS19MSU5FJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0b2NrLWhlYWRlclwiICpuZ0lmPVwiIW5ld1N0b2NrTGluZVwiIFt0ZXh0Q29udGVudF09XCInQ0hBTkdFX1NUT0NLX0xJTkUnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1kaWFsb2ctcm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFttb2RlbF09XCJzZWxlY3RlZFdhcmVob3VzZT8ud2FyZWhvdXNlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1dBUkVIT1VTRScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuc2VyaWFsTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OTycgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1kaWFsb2ctcm93XCI+XHJcbiAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlc1xyXG4gICAgICAgICAgICAgIFttb2RlbF09XCJsb2NhdGlvbkZvck51bWJlcihzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5sb2NhdGlvbk5vKVwiXHJcbiAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic3RvY2tMb2NhdGlvbnNcIlxyXG4gICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2xvY2F0aW9uTm8nXCJcclxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0xPQ0FUSU9OJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImxvY2F0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmJhdGNoTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWRpYWxvZy1yb3ctcm93XCI+XHJcbiAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW21vZGVsXT1cImFydGljbGVTdG9ja0luZm9bMF0/LnB1cmNoYXNlUHJpY2UgfCBjdXJyZW5jeTonRVVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQVVJDSEFTRV9QUklDRScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFydGljbGVTdG9ja0luZm9bMF0uY3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVkFMVVRBJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtZGF0ZSBbbW9kZWxdPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LmVudHJ5RGF0ZT8gc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LmVudHJ5RGF0ZSA6IG5ld0RhdGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREFURScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LWRhdGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1kaWFsb2ctcm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyXHJcbiAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuYW1vdW50SW5TdG9ja1wiXHJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidTVE9DSycgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImFtb3VudEluU3RvY2tDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsbGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlciBvay1jYW5jZWwtYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIj5cclxuICAgICAgICAgICAgPC9jby1idXR0b24+XHJcbiAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUG9wdXAoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIj5cclxuICAgICAgICAgICAgPC9jby1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2NvLWRpYWxvZz5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tMb2NhdGlvblBvcHVwQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZWRpdGluZ1JvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dDb25maXJtYXRpb25EaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBuZXdTdG9ja0xpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YTogQXJ0aWNsZURldGFpbHNCbyA9IG5ldyBBcnRpY2xlRGV0YWlsc0JvKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVGbGF0OiBBcnRpY2xlRmxhdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMgPSBuZXcgU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZExvY2F0aW9uTm86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrSW5mbzogQXJ0aWNsZURldGFpbHNCb1tdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB0b2dnbGVQb3B1cEV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzYXZlRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHVwZGF0ZUdyaWREYXRhOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZURldGFpbHNCb1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZURldGFpbHNCb1tdPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrTG9jYXRpb25zOiBTdG9ja0xvY2F0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tTdGF0dXM6IFN0b2NrU3RhdHVzW10gPSBbXTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgcHVibGljIHN0YXR1c0ZvcklkKGlkOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b2NrU3RhdHVzLmZpbmQoc3RhdHVzID0+IHN0YXR1cy5zdG9ja1N0YXRlSWQgPT09IGlkKSA/IHRoaXMuc3RvY2tTdGF0dXMuZmluZChzdGF0dXMgPT4gc3RhdHVzLnN0b2NrU3RhdGVJZCA9PT0gaWQpIDogMCA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tTdGF0dXNDaGFuZ2Uoc3RhdHVzOiBTdG9ja1N0YXR1cykge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zdG9ja1N0YXRlSWQgPSBzdGF0dXMuc3RvY2tTdGF0ZUlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrU3RhdHVzUmVtYXJrQ2hhbmdlKHJlbWFyazogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLnN0b2NrU3RhdGVSZW1hcmsgPSByZW1hcms7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYW1vdW50SW5TdG9ja0NoYW5nZWQoZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5hbW91bnRJblN0b2NrID0gZGF0YTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiAoIXRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE/LnN0b2NrU3RhdGVJZCAmJiB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhPy5zdG9ja1N0YXRlUmVtYXJrPy5sZW5ndGggPD0gMSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT2tDbGljaygpIHtcclxuICAgIHRoaXMuaGFuZGxlU3RvY2tDaGFuZ2UoKTtcclxuICAgIHRoaXMuc2F2ZUV2ZW50LmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwKCkge1xyXG4gICAgaWYodGhpcy5uZXdTdG9ja0xpbmUpIHtcclxuICAgICAgdGhpcy5zYXZlRXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvZ2dsZVBvcHVwRXZlbnQuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrTG9jYXRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlLndhcmVob3VzZU5vKS50aGVuKChsb2NhdGlvbnMpID0+IHtcclxuICAgICAgdGhpcy5zdG9ja0xvY2F0aW9ucyA9IGxvY2F0aW9ucztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvY2F0aW9uRm9yTnVtYmVyKG51bWJlcjogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9ja0xvY2F0aW9ucz8uZmluZChsb2NhdGlvbiA9PiBsb2NhdGlvbi5sb2NhdGlvbk5vID09PSBudW1iZXIpID8gdGhpcy5zdG9ja0xvY2F0aW9ucz8uZmluZChsb2NhdGlvbiA9PiBsb2NhdGlvbi5sb2NhdGlvbk5vID09PSBudW1iZXIpIDogXCJcIiA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9jYXRpb25DaGFuZ2VkKGV2ZW50OiBTdG9ja0xvY2F0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25ObyA9IGV2ZW50LmxvY2F0aW9uTm87XHJcbiAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmxvY2F0aW9uTm8gPSBldmVudC5sb2NhdGlvbk5vO1xyXG4gICAgaWYgKHRoaXMuYXJ0aWNsZVN0b2NrSW5mbz8ubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU3RvY2tDaGFuZ2UoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0U3RvY2tMb2NhdGlvbnMoKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5hcnRpY2xlRmxhdC5nb29kSWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQgPSB0aGlzLmFydGljbGVGbGF0Lmdvb2RJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLmdvb2RJZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmdvb2RJZCA9IHBhcnNlSW50KHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbi5nb29kSWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5lbnRyeURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS53YXJlaG91c2VObyA9IHRoaXMuc2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm87XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZExvY2F0aW9uTm8pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5sb2NhdGlvbk5vID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uTm8/LnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEuYW1vdW50SW5TdG9jaykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZURldGFpbHNEYXRhLmFtb3VudEluU3RvY2sgPSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnVwZGF0ZUFydGljbGVEZXRhaWxzKHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEpLnRoZW4ocmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkID0gdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YS5nb29kSWQ/LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLndhcmVob3VzZU51bWJlciA9IHRoaXMuc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGEud2FyZWhvdXNlTm87XHJcbiAgICAgICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVEZXRhaWxzKHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbikudGhlbigoZGV0YWlscykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hcnRpY2xlU3RvY2tJbmZvID0gZGV0YWlscztcclxuICAgICAgICAgIHRoaXMudXBkYXRlR3JpZERhdGEuZW1pdChkZXRhaWxzKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZXdEYXRlKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|