@reusa/ngx-reusa-app-lib 0.0.1311 → 0.0.1312

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.
@@ -141,15 +141,23 @@ export class AddressSuggestionComponent {
141
141
  this.setIsAddressValideController('0');
142
142
  }
143
143
  if (res.lastValidateResult === "MUSA") {
144
- this.msuaCount += 1;
145
- this.aunrCount = 0;
144
+ if (!initialValidation) {
145
+ this.msuaCount += 1;
146
+ this.aunrCount = 0;
147
+ }
146
148
  this.setIsAddressValideController('0');
147
149
  }
148
150
  if (res.lastValidateResult === "AUNR") {
149
- this.aunrCount += 1;
150
- this.msuaCount = 0;
151
+ if (!initialValidation) {
152
+ this.aunrCount += 1;
153
+ this.msuaCount = 0;
154
+ }
151
155
  this.setIsAddressValideController('0');
152
156
  }
157
+ if (res.lastValidateResult !== "MUSA" && res.lastValidateResult !== "AUNR") {
158
+ this.msuaCount = 0;
159
+ this.aunrCount = 0;
160
+ }
153
161
  if (res.lastValidateResult === "NREC") {
154
162
  this.setIsAddressValideController('1');
155
163
  }
@@ -278,4 +286,4 @@ export class AddressSuggestionComponent {
278
286
  type: Output
279
287
  }] }); })();
280
288
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddressSuggestionComponent, { className: "AddressSuggestionComponent", filePath: "lib\\components\\address-suggestion\\address-suggestion.component.ts", lineNumber: 15 }); })();
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzLXN1Z2dlc3Rpb24vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzLXN1Z2dlc3Rpb24vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7SUNIeEQsb0NBQ0o7OztJQUVJLCtCQUFrRDtJQUM5QywrQkFBNkg7SUFDN0gsNEJBQU07SUFBQSxZQUFlO0lBQUEsaUJBQU8sRUFBQTs7O0lBQXRCLGVBQWU7SUFBZixzQ0FBZTs7O0lBaUJyQixnQ0FBb0MsZ0JBQUE7SUFFeEIsWUFBMkM7SUFBQSxxQkFBTTtJQUNqRCxZQUNSO0lBQUEsaUJBQVk7SUFDWiwrQkFBZ0Q7SUFDcEQsaUJBQVc7OztJQUpDLGVBQTJDO0lBQTNDLDJFQUEyQztJQUMzQyxlQUNSO0lBRFEsa0hBQ1I7SUFDd0IsZUFBVztJQUFYLDRCQUFXOzs7O0lBeEIzQyx1R0FHTTtJQUNOLHlCQUFHO0lBQUEsb0hBQW9HO0lBQUEsaUJBQUk7SUFDM0csMENBQTZFO0lBQTVELHVRQUFvQix3TUFBYyxlQUFBLCtCQUF3QixDQUFBLElBQXRDO0lBQ2pDLDhCQUEyQjtJQUFBLDRCQUFZO0lBQUEsaUJBQU07SUFDN0MsZ0NBQVU7SUFDTiwrQkFBdUQ7SUFDdkQsaUNBQVc7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QUFlO2tCQURkLE1BQU07O2tGQWJJLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzc1ZhbGlkYXRpb24vQWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWwnO1xyXG5pbXBvcnQgeyBBZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IEFkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2VDb21wb25lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzVmFsaWRhdGlvblJlc3BvbnNlQ29tcG9uZW50TW9kZWwnO1xyXG5pbXBvcnQgeyBBZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCBhcyBBZGRyUmVjIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3NWYWxpZGF0aW9uL0FkZHJlc3NSZWNvbW1lbmRhdGlvbk1vZGVsJztcclxuaW1wb3J0IHsgQWRkcmVzc1ZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWRkcmVzcy12YWxpZGF0aW9uLXNlcnZpY2UvYWRkcmVzcy12YWxpZGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ0Zvcm0sIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGRyZXNzLXN1Z2dlc3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGRyZXNzLXN1Z2dlc3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hZGRyZXNzLXN1Z2dlc3Rpb24uY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZHJlc3NTdWdnZXN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzaG93QWRkcmVzc1N1Z2dlc3Rpb246IGJvb2xlYW47XHJcbiAgc2hvd0FjY29yZGlvbjpib29sZWFuO1xyXG4gIEBJbnB1dCgpIG9yaWdpbmFsOiBBZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbDtcclxuICBASW5wdXQoKSBjaG9pY2VzOiBBZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbFtdID0gW107XHJcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBmb3JtTmFtZTpzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlmZk1haWxBZGRyZXNzRmxhZzpib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZvcm1CbHVyOmJvb2xlYW47XHJcbiAgQElucHV0KCkgc3RhbmRhbG9uZUFkZHJlc3NGb3JtOmJvb2xlYW47XHJcbiAgQElucHV0KCkgcXVlc3Rpb25haXJlRm9ybTtcclxuICBASW5wdXQoKSBwYXJlbnRGb3JtQ29tcG9uZW50OiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSBcclxuICBjaGVja0Zvcm1Jc0JsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHBpY2tlZDogYW55ID0gbnVsbDtcclxuICBhZGRyZXNzU2VsZWN0ZWQ7XHJcbiAgZXJyb3JUZXh0OiBzdHJpbmc7XHJcbiAgc2hvd0lubGluZUVycm9yID0gZmFsc2U7XHJcbiAgbXN1YUNvdW50ID0gMDtcclxuICBhdW5yQ291bnQgPSAwO1xyXG4gIGlzQWRkcmVzc1ZhbGlkOiBzdHJpbmc7XHJcbiAgbGFzdFZhbGlkQWRkcmVzcztcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFkZHJTdmM6IEFkZHJlc3NWYWxpZGF0aW9uU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNoZWNrRm9ybUlzQmx1ci5lbWl0KClcclxuICAgIGlmKHRoaXMuZm9ybUJsdXIgJiYgdGhpcy5mb3JtLnZhbGlkKXtcclxuICAgICAgdGhpcy5nZXRWYWxpZGF0ZUFkZHJlc3ModHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGdldFZhbGlkYXRlQWRkcmVzcyhpbml0aWFsVmFsaWRhdGlvbjpib29sZWFuKSB7XHJcbiAgICBsZXQgY2hlY2tJZlZhbGlkYXRlQ29ycmVjdEFkZHJlc3MgPSAoKCh0aGlzLmZvcm1OYW1lPT09J3Jlc0FkZHJlc3MnIHx8IHRoaXMuZm9ybU5hbWU9PT0ncmVzQWRyZXNzJykgJiYgdGhpcy5kaWZmTWFpbEFkZHJlc3NGbGFnPT09IGZhbHNlKSB8fCAodGhpcy5mb3JtTmFtZT09PSdtYWlsQWRkcmVzcycgJiYgdGhpcy5kaWZmTWFpbEFkZHJlc3NGbGFnPT09IHRydWUpIHx8ICh0aGlzLnN0YW5kYWxvbmVBZGRyZXNzRm9ybSA9PT0gdHJ1ZSkpXHJcbiAgICBpZighY2hlY2tJZlZhbGlkYXRlQ29ycmVjdEFkZHJlc3MpcmV0dXJuO1xyXG4gICAgaWYoIWluaXRpYWxWYWxpZGF0aW9uICYmIHRoaXMuZm9ybS5wcmlzdGluZSA9PT0gdHJ1ZSlyZXR1cm47XHJcblxyXG4gICAgaWYodGhpcy5tc3VhQ291bnQgPj0gMil7XHJcbiAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMCcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmKHRoaXMuYXVuckNvdW50ID49IDIpe1xyXG4gICAgICB0aGlzLnNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIoJzAnKVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmFkZHJTdmMudmFsaWRhdGVBZGRyZXNzUHJvY2VzcyhudWxsLCB0aGlzLmZvcm0udmFsdWUsIHRoaXMuZm9ybSkudGhlbigocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZXJyb3JUZXh0ID0gcmVzLmVycm9yVGV4dDtcclxuICAgICAgdGhpcy5zaG93SW5saW5lRXJyb3IgPSByZXMuc2hvd0lubGluZUVycm9yO1xyXG4gICAgICB0aGlzLnNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIocmVzLmlzQWRkcmVzc1ZhbGlkYXRlZCk7XHJcbiAgICAgIGlmKHRoaXMuaXNBZGRyZXNzVmFsaWQgPT09ICcxJyl7XHJcbiAgICAgICAgdGhpcy5sYXN0VmFsaWRBZGRyZXNzID0gcmVzLmxhc3RWYWxpZGF0ZWRBZGRyZXNzO1xyXG4gICAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMScpO1xyXG4gICAgICB9ZWxzZSBpZih0aGlzLmlzQWRkcmVzc1ZhbGlkID09PSAnMCcpe1xyXG4gICAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHJlcy5sYXN0VmFsaWRhdGVSZXN1bHQgPT09IFwiTVVTQVwiKXtcclxuICAgICAgICB0aGlzLm1zdWFDb3VudCArPTE7XHJcbiAgICAgICAgdGhpcy5hdW5yQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHJlcy5sYXN0VmFsaWRhdGVSZXN1bHQgPT09IFwiQVVOUlwiKXtcclxuICAgICAgICB0aGlzLmF1bnJDb3VudCArPTE7XHJcbiAgICAgICAgdGhpcy5tc3VhQ291bnQgPTA7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcwJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYocmVzLmxhc3RWYWxpZGF0ZVJlc3VsdD09PSBcIk5SRUNcIil7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcxJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHJlcy5zaG93UG9wdXAgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIoJzEnKTtcclxuICAgICAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZCA9IDBcclxuICAgICAgICB0aGlzLnNob3dBY2NvcmRpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlUmVjb21tZW5kYXRpb25zKHJlcy5hZGRyZXNzVmFsaWRhdGlvblJlc3BvbnNlLCByZXMuYWRkcmVzc1ZhbGlkYXRpb25SZXF1ZXN0LCB0aGlzLmZvcm0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd0FjY29yZGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KS5jYXRjaCgoZXJyKT0+e1xyXG4gICAgICB0aGlzLnNob3dBY2NvcmRpb24gPSBmYWxzZTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB0YWJPcGVuKCl7XHJcbiAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZCA9IDA7XHJcbiAgfVxyXG5cclxuICB0YWJDbG9zZSgpe1xyXG4gICAgdGhpcy5hZGRyZXNzU2VsZWN0ZWQgPSAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVJlY29tbWVuZGF0aW9ucyhyZXM6IEFkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2VDb21wb25lbnRNb2RlbCwgcmVxOiBBZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCwgZm9ybUNvbXBuZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zOiBBZGRyUmVjW10gPSBBcnJheS5mcm9tKHJlcy5hZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCA/PyBbXSk7XHJcbiAgICBpZiAoIXN1Z2dlc3Rpb25zLmxlbmd0aCkgcmV0dXJuO1xyXG4gICAgdGhpcy5vcmlnaW5hbCA9IHJlcTtcclxuICAgIHRoaXMuY2hvaWNlcyA9IHN1Z2dlc3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0aW9uQ2hhbmdlZChldmVudCkge1xyXG4gICAgbGV0IGlzT3JpZ2luID0gdGhpcy5waWNrZWQgPT09IHRoaXMub3JpZ2luYWw/IHRydWU6IGZhbHNlO1xyXG4gICAgdGhpcy5hZGRyZXNzU2VsZWN0ZWQgPSAxO1xyXG4gICAgdGhpcy5wYXRjaEZvcm1XaXRoU2VsZWN0ZWRBZGRyZXNzKHRoaXMucGlja2VkLGlzT3JpZ2luLCB0aGlzLmZvcm0pXHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgcGF0Y2hGb3JtV2l0aFNlbGVjdGVkQWRkcmVzcyhzZWw6IGFueSxpc09yaWdpbjogYm9vbGVhbiwgZm9ybUNvbXBuZW50OiBhbnkpIHtcclxuICAvLyAgIGNvbnNvbGUubG9nKFwiYWRkcmVzIHN1Z2dlc3Rpb24gcGF0Y2hcIilcclxuICAvLyAgIGNvbnNvbGUubG9nKGZvcm1Db21wbmVudClcclxuICAvLyAgIGZvcm1Db21wbmVudC5wYXRjaFZhbHVlKHRoaXMubWFwQWRkcmVzcyhzZWwsaXNPcmlnaW4pKTtcclxuICAvLyAgIGZvcm1Db21wbmVudC5jb250cm9sc1snY291bnRyeSddLnNldFZhbHVlKCdVUycpXHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgcGF0Y2hGb3JtV2l0aFNlbGVjdGVkQWRkcmVzcyhzZWw6IGFueSwgaXNPcmlnaW46IGJvb2xlYW4sIGZvcm06IFVudHlwZWRGb3JtR3JvdXApIHtcclxuICAgIC8vIGZvcm0ubWFya0FzUHJpc3RpbmUoKTtcclxuICAgIGNvbnN0IGlzT3JpZyA9IGlzT3JpZ2luO1xyXG4gICAgY29uc3QgY291bnRyeUNvZGUgPSAoKHNlbC5jb3VudHJ5ID8/ICdVUycpIGFzIHN0cmluZykudG9VcHBlckNhc2UoKTtcclxuICAgIGNvbnN0IHN0YXRlQ29kZSA9IChpc09yaWcgPyBzZWwuc3RhdGUgOiBzZWwuc3RhdGVBYmJyZXZhdGlvbik/LnRvVXBwZXJDYXNlKCk7XHJcbiAgICBcclxuICAgIGZvcm0ucGF0Y2hWYWx1ZShcclxuICAgICAge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IGlzT3JpZyA/IHNlbC5saW5lMSA6IHNlbC5kZWxpdmVyeUxpbmUxLFxyXG4gICAgICAgIG9wdGlvbmFsQWRkcmVzczogaXNPcmlnID8gc2VsLmxpbmUyIDogc2VsLmRlbGl2ZXJ5TGluZTIsXHJcbiAgICAgICAgY2l0eTogaXNPcmlnID8gc2VsLmNpdHkgOiBzZWwuY2l0eU5hbWUsXHJcbiAgICAgICAgemlwOiBzZWwuemlwQ29kZVxyXG4gICAgICB9LFxyXG4gICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxyXG4gICAgKTtcclxuICBcclxuICAgIGNvbnN0IGNvdW50cnkgPSBjb3VudHJ5Q29kZSA9PT0gJ0NBJ1xyXG4gICAgICA/IHsgdmFsdWU6ICdDQScsIHRleHQ6ICdDYW5hZGEnIH1cclxuICAgICAgOiB7IHZhbHVlOiAnVVMnLCB0ZXh0OiAnVW5pdGVkIFN0YXRlcycgfTtcclxuICAgIGZvcm0uZ2V0KCdjb3VudHJ5Jyk/LnBhdGNoVmFsdWUoY291bnRyeSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgXHJcbiAgICBjb25zdCBzdGF0ZUxpc3QgPSBjb3VudHJ5Q29kZSA9PT0gJ0NBJyA/IENvbWJvT3B0aW9uLkNBX1NUQVRFUyA6IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcclxuICAgIGNvbnN0IHN0YXRlID0gc3RhdGVMaXN0LmZpbmQocyA9PiBzLnZhbHVlID09PSBzdGF0ZUNvZGUpID8/IHsgdmFsdWU6IHN0YXRlQ29kZSwgdGV4dDogc3RhdGVDb2RlIH07XHJcbiAgICBmb3JtLmdldCgnc3RhdGUnKT8ucGF0Y2hWYWx1ZShzdGF0ZSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIoZmxhZzogc3RyaW5nKXtcclxuICAgIHRoaXMuaXNBZGRyZXNzVmFsaWQgPSBmbGFnO1xyXG4gICAgaWYodGhpcy5wYXJlbnRGb3JtQ29tcG9uZW50ICYmIHRoaXMucGFyZW50Rm9ybUNvbXBvbmVudD09PVwiYWRkLXBhcnRpY2lwYW50XCIpe1xyXG4gICAgICB0aGlzLnF1ZXN0aW9uYWlyZUZvcm0uY29udHJvbHNbXCJoaWRJc0FkZHJlc3NWYWxpZGF0ZWRcIl0uc2V0VmFsdWUodGhpcy5pc0FkZHJlc3NWYWxpZClcclxuICAgIH1lbHNle1xyXG4gICAgICBpZih0aGlzLnF1ZXN0aW9uYWlyZUZvcm0/LmZvcm0/LmNvbnRyb2xzWydoaWRJc0FkZHJlc3NWYWxpZGF0ZWQnXSl7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbmFpcmVGb3JtLmZvcm0uY29udHJvbHNbJ2hpZElzQWRkcmVzc1ZhbGlkYXRlZCddLnNldFZhbHVlKHRoaXMuaXNBZGRyZXNzVmFsaWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgcHJpdmF0ZSBtYXBBZGRyZXNzKHNlbDogYW55LCBpc09yaWdpbjpib29sZWFuKSB7XHJcbiAgICBpZiAoaXNPcmlnaW4pIHtcclxuICAgICAgLy8gT3JpZ2luYWwgQWRkcmVzc1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IHNlbC5saW5lMSxcclxuICAgICAgICBvcHRpb25hbEFkZHJlc3M6IHNlbC5saW5lMixcclxuICAgICAgICBjaXR5OiBzZWwuY2l0eSxcclxuICAgICAgICBzdGF0ZTogeyB2YWx1ZTogc2VsLnN0YXRlLCB0ZXh0OiBzZWwuc3RhdGUgfSxcclxuICAgICAgICB6aXA6IHNlbC56aXBDb2RlLFxyXG4gICAgICAgIGNvdW50cnk6IHsgdmFsdWU6IHNlbC5jb3VudHJ5LCB0ZXh0OiBzZWwuY291bnRyeSB9ICBcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFVTUFMgUmVjb21tZW5kZWQgQWRkcmVzc1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IHNlbC5kZWxpdmVyeUxpbmUxLFxyXG4gICAgICAgIG9wdGlvbmFsQWRkcmVzczogc2VsLmRlbGl2ZXJ5TGluZTIsXHJcbiAgICAgICAgY2l0eTogc2VsLmNpdHlOYW1lLFxyXG4gICAgICAgIHN0YXRlOiB7IHZhbHVlOiBzZWwuc3RhdGVBYmJyZXZhdGlvbiwgdGV4dDogc2VsLnN0YXRlQWJicmV2YXRpb24gfSxcclxuICAgICAgICB6aXA6IHNlbC56aXBDb2RlLFxyXG4gICAgICAgIGNvdW50cnk6IHsgdmFsdWU6IHNlbC5jb3VudHJ5LCB0ZXh0OiBzZWwuY291bnRyeSB9ICBcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHAtYWNjb3JkaW9uICpuZ0lmPVwic2hvd0FjY29yZGlvbiAmJiAoZm9ybS52YWxpZClcIiAob25PcGVuKT1cInRhYk9wZW4oKVwiIChvbkNsb3NlKT1cInRhYkNsb3NlKClcIiBbYWN0aXZlSW5kZXhdPVwiYWRkcmVzc1NlbGVjdGVkXCIgc3R5bGVDbGFzcz1cInJlZC1oZWFkZXJcIj5cclxuICAgIDxwLWFjY29yZGlvblRhYiA+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiID5cclxuICAgICAgICAgICAgQWRkcmVzcyBWYWxpZGF0aW9uXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0lubGluZUVycm9yXCIgY2xhc3M9XCJlcnJvci1iYW5uZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYWxlcnQtY2lyY2xlLW91dGxpbmVcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTsgZm9udC1zaXplOiAxOHB4OyBtYXJnaW4tcmlnaHQ6IDhweDtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgZXJyb3JUZXh0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHA+VGhlIFUuUy4gUG9zdGFsIFNlcnZpY2UgaGFzIHJlY29tbWVuZGVkIGNoYW5nZXMgdG8geW91ciBhZGRyZXNzLiBTZWxlY3QgdGhlIGFkZHJlc3MgeW91IHdhbnQgdG8gdXNlOjwvcD5cclxuICAgICAgICAgICAgPGlvbi1yYWRpby1ncm91cCBbKG5nTW9kZWwpXT1cInBpY2tlZFwiIChpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtaGVhZGluZ1wiPllvdSBFbnRlcmVkOjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tcmFkaW8gc2xvdD1cInN0YXJ0XCIgW3ZhbHVlXT1cIm9yaWdpbmFsXCI+PC9pb24tcmFkaW8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9yaWdpbmFsLmxpbmUxIH19LCB7eyBvcmlnaW5hbC5saW5lMiB9fTxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3JpZ2luYWwuY2l0eSB9fSwge3sgb3JpZ2luYWwuc3RhdGUgfX0sIHt7IG9yaWdpbmFsLnppcENvZGUgfX0ge3sgb3JpZ2luYWwuY291bnRyeSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9pb24taXRlbT5cclxuICAgICAgICAgICAgICAgIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwibGFiZWwtaGVhZGluZ1wiPlVTUFMgUmVjb21tZW5kYXRpb25zOjwvc3Ryb25nPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9pb24taXRlbT5cclxuICAgICAgICAgICAgICAgIDxpb24taXRlbSAqbmdGb3I9XCJsZXQgYyBvZiBjaG9pY2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuZGVsaXZlcnlMaW5lMSB9fSB7eyBjLmRlbGl2ZXJ5TGluZTIgfX08YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuY2l0eU5hbWUgfX0sIHt7IGMuc3RhdGVBYmJyZXZhdGlvbiB9fSwge3sgYy56aXBDb2RlIH19IHt7IGMuY291bnRyeSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tcmFkaW8gc2xvdD1cInN0YXJ0XCIgW3ZhbHVlXT1cImNcIj48L2lvbi1yYWRpbz5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgICAgIDwvaW9uLXJhZGlvLWdyb3VwPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvcC1hY2NvcmRpb25UYWI+XHJcbjwvcC1hY2NvcmRpb24+XHJcbjxkaXYgKm5nSWY9XCJzaG93SW5saW5lRXJyb3IgJiYgIXNob3dBY2NvcmRpb24gJiYgbXN1YUNvdW50IDwgMiAmJiBhdW5yQ291bnQgPCAyXCIgY2xhc3M9XCJlcnJvci1iYW5uZXJcIj5cclxuICAgIDxpb24taWNvbiBuYW1lPVwiYWxlcnQtY2lyY2xlLW91dGxpbmVcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTsgZm9udC1zaXplOiAxOHB4OyBtYXJnaW4tcmlnaHQ6IDhweDtcIj48L2lvbi1pY29uPlxyXG4gICAgPHNwYW4+e3sgZXJyb3JUZXh0IH19PC9zcGFuPlxyXG48L2Rpdj4iXX0=
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzLXN1Z2dlc3Rpb24vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzLXN1Z2dlc3Rpb24vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7SUNIeEQsb0NBQ0o7OztJQUVJLCtCQUFrRDtJQUM5QywrQkFBNkg7SUFDN0gsNEJBQU07SUFBQSxZQUFlO0lBQUEsaUJBQU8sRUFBQTs7O0lBQXRCLGVBQWU7SUFBZixzQ0FBZTs7O0lBaUJyQixnQ0FBb0MsZ0JBQUE7SUFFeEIsWUFBMkM7SUFBQSxxQkFBTTtJQUNqRCxZQUNSO0lBQUEsaUJBQVk7SUFDWiwrQkFBZ0Q7SUFDcEQsaUJBQVc7OztJQUpDLGVBQTJDO0lBQTNDLDJFQUEyQztJQUMzQyxlQUNSO0lBRFEsa0hBQ1I7SUFDd0IsZUFBVztJQUFYLDRCQUFXOzs7O0lBeEIzQyx1R0FHTTtJQUNOLHlCQUFHO0lBQUEsb0hBQW9HO0lBQUEsaUJBQUk7SUFDM0csMENBQTZFO0lBQTVELHVRQUFvQix3TUFBYyxlQUFBLCtCQUF3QixDQUFBLElBQXRDO0lBQ2pDLDhCQUEyQjtJQUFBLDRCQUFZO0lBQUEsaUJBQU07SUFDN0MsZ0NBQVU7SUFDTiwrQkFBdUQ7SUFDdkQsaUNBQVc7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QkFDRSx3QkFBd0I7eURBT3pCLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUdOLGVBQWU7a0JBRGQsTUFBTTs7a0ZBYkksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCc7XHJcbmltcG9ydCB7IEFkZHJlc3NWYWxpZGF0aW9uUmVxdWVzdENvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3NWYWxpZGF0aW9uL0FkZHJlc3NWYWxpZGF0aW9uUmVxdWVzdENvbXBvbmVudE1vZGVsJztcclxuaW1wb3J0IHsgQWRkcmVzc1ZhbGlkYXRpb25SZXNwb25zZUNvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3NWYWxpZGF0aW9uL0FkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2VDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IEFkZHJlc3NSZWNvbW1lbmRhdGlvbk1vZGVsIGFzIEFkZHJSZWMgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzc1ZhbGlkYXRpb24vQWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWwnO1xyXG5pbXBvcnQgeyBBZGRyZXNzVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hZGRyZXNzLXZhbGlkYXRpb24tc2VydmljZS9hZGRyZXNzLXZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE5nRm9ybSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9Db21ib01vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZHJlc3Mtc3VnZ2VzdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZHJlc3Mtc3VnZ2VzdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2FkZHJlc3Mtc3VnZ2VzdGlvbi5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkcmVzc1N1Z2dlc3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNob3dBZGRyZXNzU3VnZ2VzdGlvbjogYm9vbGVhbjtcclxuICBzaG93QWNjb3JkaW9uOmJvb2xlYW47XHJcbiAgQElucHV0KCkgb3JpZ2luYWw6IEFkZHJlc3NWYWxpZGF0aW9uUmVxdWVzdENvbXBvbmVudE1vZGVsO1xyXG4gIEBJbnB1dCgpIGNob2ljZXM6IEFkZHJlc3NSZWNvbW1lbmRhdGlvbk1vZGVsW10gPSBbXTtcclxuICBASW5wdXQoKSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm1OYW1lOnN0cmluZztcclxuICBASW5wdXQoKSBkaWZmTWFpbEFkZHJlc3NGbGFnOmJvb2xlYW47XHJcbiAgQElucHV0KCkgZm9ybUJsdXI6Ym9vbGVhbjtcclxuICBASW5wdXQoKSBzdGFuZGFsb25lQWRkcmVzc0Zvcm06Ym9vbGVhbjtcclxuICBASW5wdXQoKSBxdWVzdGlvbmFpcmVGb3JtO1xyXG4gIEBJbnB1dCgpIHBhcmVudEZvcm1Db21wb25lbnQ6IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIFxyXG4gIGNoZWNrRm9ybUlzQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcGlja2VkOiBhbnkgPSBudWxsO1xyXG4gIGFkZHJlc3NTZWxlY3RlZDtcclxuICBlcnJvclRleHQ6IHN0cmluZztcclxuICBzaG93SW5saW5lRXJyb3IgPSBmYWxzZTtcclxuICBtc3VhQ291bnQgPSAwO1xyXG4gIGF1bnJDb3VudCA9IDA7XHJcbiAgaXNBZGRyZXNzVmFsaWQ6IHN0cmluZztcclxuICBsYXN0VmFsaWRBZGRyZXNzO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWRkclN2YzogQWRkcmVzc1ZhbGlkYXRpb25TZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2hlY2tGb3JtSXNCbHVyLmVtaXQoKVxyXG4gICAgaWYodGhpcy5mb3JtQmx1ciAmJiB0aGlzLmZvcm0udmFsaWQpe1xyXG4gICAgICB0aGlzLmdldFZhbGlkYXRlQWRkcmVzcyh0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0VmFsaWRhdGVBZGRyZXNzKGluaXRpYWxWYWxpZGF0aW9uOmJvb2xlYW4pIHtcclxuICAgIGxldCBjaGVja0lmVmFsaWRhdGVDb3JyZWN0QWRkcmVzcyA9ICgoKHRoaXMuZm9ybU5hbWU9PT0ncmVzQWRkcmVzcycgfHwgdGhpcy5mb3JtTmFtZT09PSdyZXNBZHJlc3MnKSAmJiB0aGlzLmRpZmZNYWlsQWRkcmVzc0ZsYWc9PT0gZmFsc2UpIHx8ICh0aGlzLmZvcm1OYW1lPT09J21haWxBZGRyZXNzJyAmJiB0aGlzLmRpZmZNYWlsQWRkcmVzc0ZsYWc9PT0gdHJ1ZSkgfHwgKHRoaXMuc3RhbmRhbG9uZUFkZHJlc3NGb3JtID09PSB0cnVlKSlcclxuICAgIGlmKCFjaGVja0lmVmFsaWRhdGVDb3JyZWN0QWRkcmVzcylyZXR1cm47XHJcbiAgICBpZighaW5pdGlhbFZhbGlkYXRpb24gJiYgdGhpcy5mb3JtLnByaXN0aW5lID09PSB0cnVlKXJldHVybjtcclxuXHJcbiAgICBpZih0aGlzLm1zdWFDb3VudCA+PSAyKXtcclxuICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcwJylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5hdW5yQ291bnQgPj0gMil7XHJcbiAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMCcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYWRkclN2Yy52YWxpZGF0ZUFkZHJlc3NQcm9jZXNzKG51bGwsIHRoaXMuZm9ybS52YWx1ZSwgdGhpcy5mb3JtKS50aGVuKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5lcnJvclRleHQgPSByZXMuZXJyb3JUZXh0O1xyXG4gICAgICB0aGlzLnNob3dJbmxpbmVFcnJvciA9IHJlcy5zaG93SW5saW5lRXJyb3I7XHJcbiAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcihyZXMuaXNBZGRyZXNzVmFsaWRhdGVkKTtcclxuICAgICAgaWYodGhpcy5pc0FkZHJlc3NWYWxpZCA9PT0gJzEnKXtcclxuICAgICAgICB0aGlzLmxhc3RWYWxpZEFkZHJlc3MgPSByZXMubGFzdFZhbGlkYXRlZEFkZHJlc3M7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcxJyk7XHJcbiAgICAgIH1lbHNlIGlmKHRoaXMuaXNBZGRyZXNzVmFsaWQgPT09ICcwJyl7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcwJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYocmVzLmxhc3RWYWxpZGF0ZVJlc3VsdCA9PT0gXCJNVVNBXCIpe1xyXG4gICAgICAgIGlmKCFpbml0aWFsVmFsaWRhdGlvbil7XHJcbiAgICAgICAgICB0aGlzLm1zdWFDb3VudCArPTE7XHJcbiAgICAgICAgICB0aGlzLmF1bnJDb3VudCA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHJlcy5sYXN0VmFsaWRhdGVSZXN1bHQgPT09IFwiQVVOUlwiKXtcclxuICAgICAgICBpZighaW5pdGlhbFZhbGlkYXRpb24pe1xyXG4gICAgICAgICAgdGhpcy5hdW5yQ291bnQgKz0xO1xyXG4gICAgICAgICAgdGhpcy5tc3VhQ291bnQgPTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHJlcy5sYXN0VmFsaWRhdGVSZXN1bHQgIT09IFwiTVVTQVwiICYmIHJlcy5sYXN0VmFsaWRhdGVSZXN1bHQgIT09IFwiQVVOUlwiKXtcclxuICAgICAgICB0aGlzLm1zdWFDb3VudCA9MDtcclxuICAgICAgICB0aGlzLmF1bnJDb3VudCA9IDA7XHJcbiAgICAgIH1cclxuICAgICAgaWYocmVzLmxhc3RWYWxpZGF0ZVJlc3VsdD09PSBcIk5SRUNcIil7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcxJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHJlcy5zaG93UG9wdXAgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIoJzEnKTtcclxuICAgICAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZCA9IDBcclxuICAgICAgICB0aGlzLnNob3dBY2NvcmRpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlUmVjb21tZW5kYXRpb25zKHJlcy5hZGRyZXNzVmFsaWRhdGlvblJlc3BvbnNlLCByZXMuYWRkcmVzc1ZhbGlkYXRpb25SZXF1ZXN0LCB0aGlzLmZvcm0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd0FjY29yZGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KS5jYXRjaCgoZXJyKT0+e1xyXG4gICAgICB0aGlzLnNob3dBY2NvcmRpb24gPSBmYWxzZTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB0YWJPcGVuKCl7XHJcbiAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZCA9IDA7XHJcbiAgfVxyXG5cclxuICB0YWJDbG9zZSgpe1xyXG4gICAgdGhpcy5hZGRyZXNzU2VsZWN0ZWQgPSAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVJlY29tbWVuZGF0aW9ucyhyZXM6IEFkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2VDb21wb25lbnRNb2RlbCwgcmVxOiBBZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCwgZm9ybUNvbXBuZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zOiBBZGRyUmVjW10gPSBBcnJheS5mcm9tKHJlcy5hZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCA/PyBbXSk7XHJcbiAgICBpZiAoIXN1Z2dlc3Rpb25zLmxlbmd0aCkgcmV0dXJuO1xyXG4gICAgdGhpcy5vcmlnaW5hbCA9IHJlcTtcclxuICAgIHRoaXMuY2hvaWNlcyA9IHN1Z2dlc3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0aW9uQ2hhbmdlZChldmVudCkge1xyXG4gICAgbGV0IGlzT3JpZ2luID0gdGhpcy5waWNrZWQgPT09IHRoaXMub3JpZ2luYWw/IHRydWU6IGZhbHNlO1xyXG4gICAgdGhpcy5hZGRyZXNzU2VsZWN0ZWQgPSAxO1xyXG4gICAgdGhpcy5wYXRjaEZvcm1XaXRoU2VsZWN0ZWRBZGRyZXNzKHRoaXMucGlja2VkLGlzT3JpZ2luLCB0aGlzLmZvcm0pXHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgcGF0Y2hGb3JtV2l0aFNlbGVjdGVkQWRkcmVzcyhzZWw6IGFueSxpc09yaWdpbjogYm9vbGVhbiwgZm9ybUNvbXBuZW50OiBhbnkpIHtcclxuICAvLyAgIGNvbnNvbGUubG9nKFwiYWRkcmVzIHN1Z2dlc3Rpb24gcGF0Y2hcIilcclxuICAvLyAgIGNvbnNvbGUubG9nKGZvcm1Db21wbmVudClcclxuICAvLyAgIGZvcm1Db21wbmVudC5wYXRjaFZhbHVlKHRoaXMubWFwQWRkcmVzcyhzZWwsaXNPcmlnaW4pKTtcclxuICAvLyAgIGZvcm1Db21wbmVudC5jb250cm9sc1snY291bnRyeSddLnNldFZhbHVlKCdVUycpXHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgcGF0Y2hGb3JtV2l0aFNlbGVjdGVkQWRkcmVzcyhzZWw6IGFueSwgaXNPcmlnaW46IGJvb2xlYW4sIGZvcm06IFVudHlwZWRGb3JtR3JvdXApIHtcclxuICAgIC8vIGZvcm0ubWFya0FzUHJpc3RpbmUoKTtcclxuICAgIGNvbnN0IGlzT3JpZyA9IGlzT3JpZ2luO1xyXG4gICAgY29uc3QgY291bnRyeUNvZGUgPSAoKHNlbC5jb3VudHJ5ID8/ICdVUycpIGFzIHN0cmluZykudG9VcHBlckNhc2UoKTtcclxuICAgIGNvbnN0IHN0YXRlQ29kZSA9IChpc09yaWcgPyBzZWwuc3RhdGUgOiBzZWwuc3RhdGVBYmJyZXZhdGlvbik/LnRvVXBwZXJDYXNlKCk7XHJcbiAgICBcclxuICAgIGZvcm0ucGF0Y2hWYWx1ZShcclxuICAgICAge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IGlzT3JpZyA/IHNlbC5saW5lMSA6IHNlbC5kZWxpdmVyeUxpbmUxLFxyXG4gICAgICAgIG9wdGlvbmFsQWRkcmVzczogaXNPcmlnID8gc2VsLmxpbmUyIDogc2VsLmRlbGl2ZXJ5TGluZTIsXHJcbiAgICAgICAgY2l0eTogaXNPcmlnID8gc2VsLmNpdHkgOiBzZWwuY2l0eU5hbWUsXHJcbiAgICAgICAgemlwOiBzZWwuemlwQ29kZVxyXG4gICAgICB9LFxyXG4gICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxyXG4gICAgKTtcclxuICBcclxuICAgIGNvbnN0IGNvdW50cnkgPSBjb3VudHJ5Q29kZSA9PT0gJ0NBJ1xyXG4gICAgICA/IHsgdmFsdWU6ICdDQScsIHRleHQ6ICdDYW5hZGEnIH1cclxuICAgICAgOiB7IHZhbHVlOiAnVVMnLCB0ZXh0OiAnVW5pdGVkIFN0YXRlcycgfTtcclxuICAgIGZvcm0uZ2V0KCdjb3VudHJ5Jyk/LnBhdGNoVmFsdWUoY291bnRyeSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgXHJcbiAgICBjb25zdCBzdGF0ZUxpc3QgPSBjb3VudHJ5Q29kZSA9PT0gJ0NBJyA/IENvbWJvT3B0aW9uLkNBX1NUQVRFUyA6IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcclxuICAgIGNvbnN0IHN0YXRlID0gc3RhdGVMaXN0LmZpbmQocyA9PiBzLnZhbHVlID09PSBzdGF0ZUNvZGUpID8/IHsgdmFsdWU6IHN0YXRlQ29kZSwgdGV4dDogc3RhdGVDb2RlIH07XHJcbiAgICBmb3JtLmdldCgnc3RhdGUnKT8ucGF0Y2hWYWx1ZShzdGF0ZSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIoZmxhZzogc3RyaW5nKXtcclxuICAgIHRoaXMuaXNBZGRyZXNzVmFsaWQgPSBmbGFnO1xyXG4gICAgaWYodGhpcy5wYXJlbnRGb3JtQ29tcG9uZW50ICYmIHRoaXMucGFyZW50Rm9ybUNvbXBvbmVudD09PVwiYWRkLXBhcnRpY2lwYW50XCIpe1xyXG4gICAgICB0aGlzLnF1ZXN0aW9uYWlyZUZvcm0uY29udHJvbHNbXCJoaWRJc0FkZHJlc3NWYWxpZGF0ZWRcIl0uc2V0VmFsdWUodGhpcy5pc0FkZHJlc3NWYWxpZClcclxuICAgIH1lbHNle1xyXG4gICAgICBpZih0aGlzLnF1ZXN0aW9uYWlyZUZvcm0/LmZvcm0/LmNvbnRyb2xzWydoaWRJc0FkZHJlc3NWYWxpZGF0ZWQnXSl7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbmFpcmVGb3JtLmZvcm0uY29udHJvbHNbJ2hpZElzQWRkcmVzc1ZhbGlkYXRlZCddLnNldFZhbHVlKHRoaXMuaXNBZGRyZXNzVmFsaWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgcHJpdmF0ZSBtYXBBZGRyZXNzKHNlbDogYW55LCBpc09yaWdpbjpib29sZWFuKSB7XHJcbiAgICBpZiAoaXNPcmlnaW4pIHtcclxuICAgICAgLy8gT3JpZ2luYWwgQWRkcmVzc1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IHNlbC5saW5lMSxcclxuICAgICAgICBvcHRpb25hbEFkZHJlc3M6IHNlbC5saW5lMixcclxuICAgICAgICBjaXR5OiBzZWwuY2l0eSxcclxuICAgICAgICBzdGF0ZTogeyB2YWx1ZTogc2VsLnN0YXRlLCB0ZXh0OiBzZWwuc3RhdGUgfSxcclxuICAgICAgICB6aXA6IHNlbC56aXBDb2RlLFxyXG4gICAgICAgIGNvdW50cnk6IHsgdmFsdWU6IHNlbC5jb3VudHJ5LCB0ZXh0OiBzZWwuY291bnRyeSB9ICBcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFVTUFMgUmVjb21tZW5kZWQgQWRkcmVzc1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IHNlbC5kZWxpdmVyeUxpbmUxLFxyXG4gICAgICAgIG9wdGlvbmFsQWRkcmVzczogc2VsLmRlbGl2ZXJ5TGluZTIsXHJcbiAgICAgICAgY2l0eTogc2VsLmNpdHlOYW1lLFxyXG4gICAgICAgIHN0YXRlOiB7IHZhbHVlOiBzZWwuc3RhdGVBYmJyZXZhdGlvbiwgdGV4dDogc2VsLnN0YXRlQWJicmV2YXRpb24gfSxcclxuICAgICAgICB6aXA6IHNlbC56aXBDb2RlLFxyXG4gICAgICAgIGNvdW50cnk6IHsgdmFsdWU6IHNlbC5jb3VudHJ5LCB0ZXh0OiBzZWwuY291bnRyeSB9ICBcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHAtYWNjb3JkaW9uICpuZ0lmPVwic2hvd0FjY29yZGlvbiAmJiAoZm9ybS52YWxpZClcIiAob25PcGVuKT1cInRhYk9wZW4oKVwiIChvbkNsb3NlKT1cInRhYkNsb3NlKClcIiBbYWN0aXZlSW5kZXhdPVwiYWRkcmVzc1NlbGVjdGVkXCIgc3R5bGVDbGFzcz1cInJlZC1oZWFkZXJcIj5cclxuICAgIDxwLWFjY29yZGlvblRhYiA+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiID5cclxuICAgICAgICAgICAgQWRkcmVzcyBWYWxpZGF0aW9uXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0lubGluZUVycm9yXCIgY2xhc3M9XCJlcnJvci1iYW5uZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYWxlcnQtY2lyY2xlLW91dGxpbmVcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTsgZm9udC1zaXplOiAxOHB4OyBtYXJnaW4tcmlnaHQ6IDhweDtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgZXJyb3JUZXh0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHA+VGhlIFUuUy4gUG9zdGFsIFNlcnZpY2UgaGFzIHJlY29tbWVuZGVkIGNoYW5nZXMgdG8geW91ciBhZGRyZXNzLiBTZWxlY3QgdGhlIGFkZHJlc3MgeW91IHdhbnQgdG8gdXNlOjwvcD5cclxuICAgICAgICAgICAgPGlvbi1yYWRpby1ncm91cCBbKG5nTW9kZWwpXT1cInBpY2tlZFwiIChpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtaGVhZGluZ1wiPllvdSBFbnRlcmVkOjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tcmFkaW8gc2xvdD1cInN0YXJ0XCIgW3ZhbHVlXT1cIm9yaWdpbmFsXCI+PC9pb24tcmFkaW8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9yaWdpbmFsLmxpbmUxIH19LCB7eyBvcmlnaW5hbC5saW5lMiB9fTxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3JpZ2luYWwuY2l0eSB9fSwge3sgb3JpZ2luYWwuc3RhdGUgfX0sIHt7IG9yaWdpbmFsLnppcENvZGUgfX0ge3sgb3JpZ2luYWwuY291bnRyeSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9pb24taXRlbT5cclxuICAgICAgICAgICAgICAgIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwibGFiZWwtaGVhZGluZ1wiPlVTUFMgUmVjb21tZW5kYXRpb25zOjwvc3Ryb25nPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9pb24taXRlbT5cclxuICAgICAgICAgICAgICAgIDxpb24taXRlbSAqbmdGb3I9XCJsZXQgYyBvZiBjaG9pY2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuZGVsaXZlcnlMaW5lMSB9fSB7eyBjLmRlbGl2ZXJ5TGluZTIgfX08YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuY2l0eU5hbWUgfX0sIHt7IGMuc3RhdGVBYmJyZXZhdGlvbiB9fSwge3sgYy56aXBDb2RlIH19IHt7IGMuY291bnRyeSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tcmFkaW8gc2xvdD1cInN0YXJ0XCIgW3ZhbHVlXT1cImNcIj48L2lvbi1yYWRpbz5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgICAgIDwvaW9uLXJhZGlvLWdyb3VwPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvcC1hY2NvcmRpb25UYWI+XHJcbjwvcC1hY2NvcmRpb24+XHJcbjxkaXYgKm5nSWY9XCJzaG93SW5saW5lRXJyb3IgJiYgIXNob3dBY2NvcmRpb24gJiYgbXN1YUNvdW50IDwgMiAmJiBhdW5yQ291bnQgPCAyXCIgY2xhc3M9XCJlcnJvci1iYW5uZXJcIj5cclxuICAgIDxpb24taWNvbiBuYW1lPVwiYWxlcnQtY2lyY2xlLW91dGxpbmVcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTsgZm9udC1zaXplOiAxOHB4OyBtYXJnaW4tcmlnaHQ6IDhweDtcIj48L2lvbi1pY29uPlxyXG4gICAgPHNwYW4+e3sgZXJyb3JUZXh0IH19PC9zcGFuPlxyXG48L2Rpdj4iXX0=