info-library 2.14.51-beta.2 → 2.14.51-beta.3
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.
|
@@ -865,6 +865,7 @@ export class InfoTopbarComponent {
|
|
|
865
865
|
if (res.success) {
|
|
866
866
|
document.body.setAttribute('loading', 'true');
|
|
867
867
|
this._session.Permissoes = [];
|
|
868
|
+
this._session.Usuario = client.Nome;
|
|
868
869
|
localStorage.removeItem("Dashboard");
|
|
869
870
|
this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));
|
|
870
871
|
this._router.navigateByUrl('').then(r => location.reload());
|
|
@@ -1016,4 +1017,4 @@ export class InfoTopbarComponent {
|
|
|
1016
1017
|
}], onverifynotification: [{
|
|
1017
1018
|
type: Output
|
|
1018
1019
|
}] }); })();
|
|
1019
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNPMUIsMEJBQThD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RyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFDRyxzQkFBc0I7a0JBQTlCLEtBQUs7WUFDRyx3QkFBd0I7a0JBQWhDLEtBQUs7WUFDRyx5QkFBeUI7a0JBQWpDLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0ksYUFBYTtrQkFBdEIsTUFBTTtZQUNHLGlCQUFpQjtrQkFBMUIsTUFBTTtZQUNHLG9CQUFvQjtrQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmZvRGlhbG9nTW9kYWwgfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEluZm9EaWFsb2dCdXR0b25zIH0gZnJvbSAnLi4vLi4vZW51bSc7XHJcbmltcG9ydCB7IEluZm9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9BdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9UaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RoZW1lLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9ub3RpZmljYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBJbmZvU2Vzc2lvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vzc2lvbi5tb2RlbCc7IFxyXG5pbXBvcnQgeyBJbmZvUGxhdGZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL3BsYXRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbGl0aWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLXRvcGJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9wYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RvcGJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvVG9wYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIG9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VzOiBhbnkgPSBbXTtcclxuICAgIEBJbnB1dCgpIHRoZW1lczogYW55ID0gW107XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25hcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25nZXRtZXRob2Q6IHN0cmluZyA9ICdHZXQnO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9ucG9zdG1ldGhvZDogc3RyaW5nID0gJ1Bvc3ROb3RpZmljYXRpb24nO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9udmVyaWZ5bWV0aG9kOiBzdHJpbmcgPSAnVmVyaWZ5JztcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnZlcmlmeWVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaGZvcm06IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBmYXN0c2VhcmNoZm9ybXdpZHRoOiBudW1iZXIgPSAxMjAwO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaHRpdGxlOiBzdHJpbmcgPSAnUGVzcXVpc2FSYXBpZGFDYXJ0ZWlyYSc7XHJcbiAgICBASW5wdXQoKSBwcm9maWxldXJsOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHNldHRoZW1lb25jaGFuZ2Vjb21wYW55OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBlbmFibGVkaWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBvbmNoYW5nZXN0YXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uZ2V0bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9udmVyaWZ5bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG1vZGFsUmVmOiBhbnkgPSBudWxsO1xyXG4gICAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJvZHV0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBub3RpZmljYXRpb25zOiBJbmZvTm90aWZpY2F0aW9uTW9kZWwgPSBuZXcgSW5mb05vdGlmaWNhdGlvbk1vZGVsKCk7XHJcblxyXG4gICAgdG9wTWVudTogYW55ID0ge1xyXG4gICAgICAgIGNsaWVudGU6IGZhbHNlLFxyXG4gICAgICAgIGVtcHJlc2E6IGZhbHNlLFxyXG4gICAgICAgIHVuaWRhZGU6IGZhbHNlLFxyXG4gICAgICAgIGluZm9pYTogZmFsc2UsXHJcbiAgICAgICAgdGVtYTogZmFsc2UsXHJcbiAgICAgICAgaWRpb21hOiBmYWxzZSxcclxuICAgICAgICBub3RpZmljYWNhbzogZmFsc2UsXHJcbiAgICAgICAgY2FsZW5kYXJpbzogZmFsc2VcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogSW5mb1RyYW5zbGF0ZVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHVibGljIF9hdXRoZW50aWNhdGlvblNlcnZpY2U6IEluZm9BdXRoZW50aWNhdGlvblNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZGF0YVNlcnZpY2U6IEluZm9EYXRhU2VydmljZSwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF90aGVtZVNlcnZpY2U6IEluZm9UaGVtZVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgX2RpYWxvZzogSW5mb0RpYWxvZ01vZGFsLCBcclxuICAgICAgICAgICAgICAgIHB1YmxpYyBfc2Vzc2lvbjogSW5mb1Nlc3Npb25Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgX3BsYXRmb3JtOiBJbmZvUGxhdGZvcm1Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbDogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdXRpbGl0aWVzOiBVdGlsaXRpZXMpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3V4YycgKyB0aGlzLl9wbGF0Zm9ybS5Db25maWcudXgpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5Db25maWcudG9wTWVudSlcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndG9wbWVudScpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB0aGlzLnByb2R1dGlvbiA9IHRoaXMuX3BsYXRmb3JtLkNvbmZpZy5wcm9kdWN0aW9uO1xyXG4gICAgICAgIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENvbXBhbnkoY29tcGFueSkge1xyXG4gICAgICAgIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50cm9jYXJFbXByZXNhKHRoaXMuX3Nlc3Npb24uTG9naW4sIGNvbXBhbnkuSWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnbG9hZGluZycsICd0cnVlJyk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uUGVybWlzc29lcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhSWQgPSBjb21wYW55LklkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhID0gY29tcGFueS5Ob21lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5UZW1hSWQgPSAoKGNvbXBhbnkuVW5pZGFkZXMgfHwgW10pWzBdIHx8IHt9KS5UZW1hSWQgfHwgY29tcGFueS5UZW1hSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gY29tcGFueS5VbmlkYWRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZUlkID0gKChjb21wYW55LlVuaWRhZGVzIHx8IFtdKSB8fCB7fSkuSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGUgPSAoKGNvbXBhbnkuVW5pZGFkZXMgfHwgW10pIHx8IHt9KS5Ob21lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lQnlMb2dnZWRDb21wYW55KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJEYXNoYm9hcmRcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91dGlsaXRpZXMuc2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlNlc3Npb25LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuX3Nlc3Npb24pKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaWYgKChjb21wYW55LlVuaWRhZGVzIHx8IFtdKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRVbml0eShjb21wYW55LlVuaWRhZGVzWzBdKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnJykudGhlbihyID0+IGxvY2F0aW9uLnJlbG9hZCgpKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9IGVsc2UgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgICAgIH0sIGVyciA9PiB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFVuaXR5KHVuaXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhclVuaWRhZGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgdGhpcy5fc2Vzc2lvbi5FbXByZXNhSWQsIHVuaXR5LklkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2xvYWRpbmcnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcm1pc3NvZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gdW5pdHkuVGVtYUlkID8/IHRoaXMuX3Nlc3Npb24uVGVtYUlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbmlkYWRlSWQgPSB1bml0eS5JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHVuaXR5Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH0gXHJcblxyXG4gICAgc2V0Q29tcGFueVVuaXR5KGNvbXBhbnksIHVuaXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhclVuaWRhZGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgY29tcGFueS5JZCwgdW5pdHkuSWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnbG9hZGluZycsICd0cnVlJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5QZXJtaXNzb2VzID0gW107XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2FJZCA9IGNvbXBhbnkuSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2EgPSBjb21wYW55Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gY29tcGFueS5VbmlkYWRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gdW5pdHkuVGVtYUlkID8/IGNvbXBhbnkuVGVtYUlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbmlkYWRlSWQgPSB1bml0eS5JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHVuaXR5Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRDbGllbnQoY2xpZW50KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhckNsaWVudGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgY2xpZW50LklkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2xvYWRpbmcnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcm1pc3NvZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJEYXNoYm9hcmRcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91dGlsaXRpZXMuc2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlNlc3Npb25LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuX3Nlc3Npb24pKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZS5zZXQobGFuZ3VhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRoZW1lKHRoZW1lKSB7XHJcbiAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVNb2RlKCl7XHJcbiAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldE1vZGVQcmltZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5GYXN0U2VhcmNoKCkge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubW9kYWxSZWYgIT0gbnVsbCkgXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RhbFJlZiA9IHRoaXMuX21vZGFsLm9wZW4odGhpcy5mYXN0c2VhcmNoZm9ybSwge1xyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLmZhc3RzZWFyY2hmb3Jtd2lkdGggKyAncHgnXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubW9kYWxSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmxvYWRpbmcgJiYgKHIua2V5ID09IFwiRXNjYXBlXCIgfHwgci5rZXkgPT0gXCJFc2NcIiB8fCByLmtleSA9PSBcIjI3XCIpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbFJlZi5jbG9zZSgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLm1vZGFsUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHIgPT4geyB0aGlzLm1vZGFsUmVmID0gbnVsbCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuKGFjaHRpdmVNZW51KSB7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmNsaWVudGUgPSBhY2h0aXZlTWVudSA9PSAnY2xpZW50ZSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmVtcHJlc2EgPSBhY2h0aXZlTWVudSA9PSAnZW1wcmVzYSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LnVuaWRhZGUgPSBhY2h0aXZlTWVudSA9PSAndW5pZGFkZSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmluZm9pYSA9IGFjaHRpdmVNZW51ID09ICdpbmZvaWEnO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS50ZW1hID0gYWNodGl2ZU1lbnUgPT0gJ3RlbWEnO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5pZGlvbWEgPSBhY2h0aXZlTWVudSA9PSAnaWRpb21hJztcclxuICAgICAgICB0aGlzLnRvcE1lbnUubm90aWZpY2FjYW8gPSBhY2h0aXZlTWVudSA9PSAnbm90aWZpY2FjYW8nO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5jYWxlbmRhcmlvID0gYWNodGl2ZU1lbnUgPT0gJ2NhbGVuZGFyaW8nO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlKCkge1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5jbGllbnRlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmVtcHJlc2EgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUudW5pZGFkZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5pbmZvaWEgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUudGVtYSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5pZGlvbWEgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUubm90aWZpY2FjYW8gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUuY2FsZW5kYXJpbyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5TaWRlYmFyKCkge1xyXG4gICAgICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xyXG4gICAgICAgIHRoaXMub25jaGFuZ2VzdGF0ZS5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Tm90aWZpY2F0aW9ucygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0xvZ2dlZCgpIHx8IHRoaXMubm90aWZpY2F0aW9uYXBpID09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5fZGF0YVNlcnZpY2UuZ2V0KHRoaXMubm90aWZpY2F0aW9uYXBpLCB0aGlzLm5vdGlmaWNhdGlvbmdldG1ldGhvZCwgbnVsbCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMuQ291bnQgPSByLmRhdGEuQ291bnQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMuSXRlbnMgPSByLmRhdGEuSXRlbnM7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9udmVyaWZ5ZW5hYmxlZClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeU5vdGlmaWNhdGlvbnMoKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uZ2V0bm90aWZpY2F0aW9uLmVtaXQodGhpcy5ub3RpZmljYXRpb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHZlcmlmeU5vdGlmaWNhdGlvbnMoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UuaXNMb2dnZWQoKSB8fCB0aGlzLm5vdGlmaWNhdGlvbmFwaSA9PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuX2RhdGFTZXJ2aWNlLmdldCh0aGlzLm5vdGlmaWNhdGlvbmFwaSwgdGhpcy5ub3RpZmljYXRpb252ZXJpZnltZXRob2QpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgaWYgKHIuZGF0YSA9PSAtMSlcclxuICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcblxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLm5vdGlmaWNhdGlvbnMuQ291bnQgPT0gci5kYXRhKVxyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMudmVyaWZ5Tm90aWZpY2F0aW9ucygpOyB9LCAxNTAwMCk7XHJcblxyXG4gICAgICAgICAgICBlbHNlIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5vbnZlcmlmeW5vdGlmaWNhdGlvbi5lbWl0KHsuLi50aGlzLm5vdGlmaWNhdGlvbnMsIFZlcmlmeUNvdW50OiByLmRhdGF9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXROb3RpZmljYXRpb25TdGF0dXMocmVhZCwgYWNjZXNzLCByZW1vdmUpIHtcclxuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25zLkNvdW50ID09IDApIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5fZGF0YVNlcnZpY2UucG9zdCh0aGlzLm5vdGlmaWNhdGlvbmFwaSwgeyBJZDogJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCcsIEFjZXNzbzogYWNjZXNzLCBMZWl0dXJhOiByZWFkLCBFeGNsdXNhbzogcmVtb3ZlIH0sIHRoaXMubm90aWZpY2F0aW9ucG9zdG1ldGhvZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB0aGlzLm5vdGlmaWNhdGlvbnMuQ291bnQgPSAwKTtcclxuICAgIH1cclxuXHJcbiAgICBuYXZpZ2F0ZSh1cmw6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbdXJsLnJlcGxhY2UoJy8jJywgJycpXSk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9nb3V0KCkge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZy5ZZXNPck5vKCdEZXNlamFSZWFsbWVudGVTYWlyJykuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5idXR0b24gPT0gSW5mb0RpYWxvZ0J1dHRvbnMuWWVzKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9wbGF0Zm9ybS5Db25maWcudXggPj0gM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpdGUtbmF2YmFyXCI+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJsb2dvXCIgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImxvZ28taW1nXCI+PC9pPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImxvZ28taW1nLXJlc3BcIj48L2k+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gdXN1YXJpby1sb2dhZG9cIiBbY2xhc3Muc2VwYXJhZG9yXT1cIl9zZXNzaW9uLkVtcHJlc2FzLmxlbmd0aCA+IDEgfHwgX3Nlc3Npb24uVW5pZGFkZXNcIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnIDogdG9wTWVudS5jbGllbnRlIH1cIj5cclxuICAgICAgICAgICAgICAgIDxkbCAoY2xpY2spPVwib3BlbignY2xpZW50ZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR0Pnt7IF9zZXNzaW9uLlBlcmZpbCB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRkPnt7IF9zZXNzaW9uLlVzdWFyaW8gfX08L2RkPlxyXG4gICAgICAgICAgICAgICAgPC9kbD5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ0NsaWVudGVzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZW1wcmVzYXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBjbGllbnQgb2YgX3Nlc3Npb24uQ2xpZW50ZXNcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2V0Q2xpZW50KGNsaWVudCk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgY2xpZW50Lk5vbWUgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSBzZWxlY2FvLWVtcHJlc2FcIiAqbmdJZj1cIl9zZXNzaW9uLkVtcHJlc2FzLmxlbmd0aCA+IDFcIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnIDogdG9wTWVudS5lbXByZXNhIH1cIj5cclxuICAgICAgICAgICAgICAgIDxkbCAoY2xpY2spPVwib3BlbignZW1wcmVzYScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR0Pnt7ICdFbXByZXNhJyB8IHRyYW5zbGF0ZSB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRkPnt7IF9zZXNzaW9uLkVtcHJlc2EgfX08L2RkPlxyXG4gICAgICAgICAgICAgICAgPC9kbD5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGF0ZXJhbC1kaXJlaXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmVjaGFyXCIgKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0Pnt7ICdFbXByZXNhcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImVtcHJlc2FzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY29tcGFueSBvZiBfc2Vzc2lvbi5FbXByZXNhc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRDb21wYW55KGNvbXBhbnkpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IGNvbXBhbnkuTm9tZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHNlbGVjYW8tZW1wcmVzYVwiICpuZ0lmPVwiX3Nlc3Npb24uVW5pZGFkZSAmJiAoX3Nlc3Npb24uVW5pZGFkZXMgfHwgW10pLmxlbmd0aCA+IDFcIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnIDogdG9wTWVudS51bmlkYWRlIH1cIj5cclxuICAgICAgICAgICAgICAgIDxkbCAoY2xpY2spPVwib3BlbigndW5pZGFkZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR0Pnt7ICdVbmlkYWRlJyB8IHRyYW5zbGF0ZSB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRkPnt7IF9zZXNzaW9uLlVuaWRhZGUgfX08L2RkPlxyXG4gICAgICAgICAgICAgICAgPC9kbD5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGF0ZXJhbC1kaXJlaXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmVjaGFyXCIgKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0Pnt7ICdVbmlkYWRlcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImVtcHJlc2FzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdW5pdHkgb2YgX3Nlc3Npb24uVW5pZGFkZXNcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2V0VW5pdHkodW5pdHkpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IHVuaXR5Lk5vbWUgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKHByb2ZpbGV1cmwpXCIgW21hdFRvb2x0aXBdPVwiJ01ldVBlcmZpbCcgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+cGVyc29uPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSBzZWxlY2FvLWluZm9pYVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCc6IHRvcE1lbnUuaW5mb2lhIH1cIiAqbmdJZj1cImVuYWJsZWRpYVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ2luZm9pYScpXCIgW21hdFRvb2x0aXBdPVwiJ0luZm8gSUEnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICdJbmZvSUEnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGl2ZXJzaXR5XzI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YSBpbmZvaWFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ0luZm9JQScgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdJZj1cImZhc3RzZWFyY2hmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbkZhc3RTZWFyY2goKVwiIFttYXRUb29sdGlwXT1cImZhc3RzZWFyY2h0aXRsZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51Lm5vdGlmaWNhY2FvIH1cIiAqbmdJZj1cIm5vdGlmaWNhdGlvbmFwaVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNldE5vdGlmaWNhdGlvblN0YXR1cyh0cnVlLCBmYWxzZSwgZmFsc2UpO29wZW4oJ25vdGlmaWNhY2FvJylcIiBbbWF0VG9vbHRpcF09XCInTm90aWZpY2Fjb2VzJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5ub3RpZmljYXRpb25zX25vbmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIiAqbmdJZj1cIm5vdGlmaWNhdGlvbnMuQ291bnQgPiAwXCI+e3sgbm90aWZpY2F0aW9ucy5Db3VudCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmVjaGFyXCIgKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0Pnt7ICdOb3RpZmljYWNvZXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwibm90aWZpY2F0aW9ucy5JdGVucy5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgc3R5bGU9XCJjdXJzb3I6IGRlZmF1bHQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPm5vdGlmaWNhdGlvbnM8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdUTm90aWZpY2Fjb2VzTmVuaHVtYScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbnMuSXRlbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vdGlmaWNhdGlvbnMuSXRlbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGUoaXRlbS5VcmwpO2Nsb3NlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0Pnt7ICdEaWEnIHwgdHJhbnNsYXRlIH19IHt7IGl0ZW0uRGF0ZSB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgW2lubmVySHRtbF09XCJpdGVtLkRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlXCI+PC9kZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWx0ZXJuYXJNb2RvKClcIiBbbWF0VG9vbHRpcF09XCInQWx0ZXJuYXJNb2RvJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5icmlnaHRuZXNzXzY8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gc2VsZWNhby10ZW1hXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS50ZW1hIH1cIiAqbmdJZj1cIiFwcm9kdXRpb24gJiYgdGhlbWVzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuKCd0ZW1hJylcIiBbbWF0VG9vbHRpcF09XCInVGVtYScgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+aW52ZXJ0X2NvbG9yczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZlY2hhclwiIChjbGljayk9XCJjbG9zZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoND57eyAnVGVtYXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0ZW1hc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHRoZW1lIG9mIHRoZW1lc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldFRoZW1lKHRoZW1lLm5hbWUpOyBkaXZNb2RhbC5jbGljaygpO1wiPiB7eyB0aGVtZS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiX3BsYXRmb3JtLkNvbmZpZy5lbmFibGVkUHJpbWVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRUb29sdGlwXT1cIihfcGxhdGZvcm0uTW9kb1ByaW1lID8gJ01vZG9QYWRyYW8nIDogJ1ByaW1lJykgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwidG9nZ2xlTW9kZSgpXCI+PG1hdC1pY29uPmJyaWdodG5lc3NfNjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSBzZWxlY2FvLWlkaW9tYVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCc6IHRvcE1lbnUuaWRpb21hIH1cIiAqbmdJZj1cImxhbmd1YWdlcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbignaWRpb21hJylcIiBbbWF0VG9vbHRpcF09XCInSWRpb21hJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5wdWJsaWM8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ0lkaW9tYXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJpZGlvbWFzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRMYW5ndWFnZShsYW5nLmxhbmcpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IGxhbmcubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiJ1NhaXInIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+PG1hdC1pY29uPnBvd2VyX3NldHRpbmdzX25ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtcy1vdmVybGF5XCIgKGNsaWNrKT1cImNsb3NlKClcIiAjZGl2TW9kYWw+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2YmFyLWJ1dHRvblwiIFtuZ0NsYXNzXT1cInsgJ29wZW4nIDogb3BlbmVkIH1cIiAoY2xpY2spPVwib3BlblNpZGViYXIoKVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9wbGF0Zm9ybS5Db25maWcudXggPD0gMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpdGUtbmF2YmFyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlc3Nhby1jbG9uZSB0ZXh0LWxpZ2h0Z3JheVwiICpuZ0lmPVwiX3Nlc3Npb24uQ2xvbmVcIj5cclxuICAgICAgICAgICAgPGRpdj48bGFiZWw+KHt7ICdNb2RvQ2xvbmUnIHwgdHJhbnNsYXRlIH19KTwvbGFiZWw+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAnb3BlbicgOiBvcGVuZWQgfVwiIChjbGljayk9XCJvcGVuU2lkZWJhcigpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxoMSBpZD1cInBhZ2UtdGl0bGVcIiBjbGFzcz1cInBhZ2UtdGl0bGVcIiAqbmdJZj1cIl9wbGF0Zm9ybS5QYWdpbmFBdGl2YVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+e3sgX3BsYXRmb3JtLlBhZ2luYUF0aXZhLkljb25lIH19PC9tYXQtaWNvbj4ge3sgX3BsYXRmb3JtLlBhZ2luYUF0aXZhLlRpdHVsbyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDE+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbXNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHVzZXItcHJvZmlsZVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51LmVtcHJlc2EgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvcGVuKCdlbXByZXNhJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZmluZ2VycHJpbnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyBcIkVtcHJlc2FcIiB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IF9zZXNzaW9uLkVtcHJlc2EgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1lbnUtdGl0bGVcIj57eyAnRW1wcmVzYScgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJjb21wYW55XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY29tcGFueSBvZiBfc2Vzc2lvbi5FbXByZXNhc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRDb21wYW55KGNvbXBhbnkpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IGNvbXBhbnkuTm9tZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJyA6IHRvcE1lbnUubm90aWZpY2FjYW8gfVwiICpuZ0lmPVwibm90aWZpY2F0aW9uYXBpXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2V0Tm90aWZpY2F0aW9uU3RhdHVzKHRydWUsIGZhbHNlLCBmYWxzZSk7b3Blbignbm90aWZpY2FjYW8nKVwiIFttYXRUb29sdGlwXT1cIidOb3RpZmljYWNvZXMnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPm5vdGlmaWNhdGlvbnNfbm9uZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiICpuZ0lmPVwibm90aWZpY2F0aW9ucy5Db3VudCA+IDBcIj57eyBub3RpZmljYXRpb25zLkNvdW50IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJtZW51LXRpdGxlXCI+e3sgJ05vdGlmaWNhY29lcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cIm5vdGlmaWNhdGlvbnMuSXRlbnMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHN0eWxlPVwiY3Vyc29yOiBkZWZhdWx0O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5ub3RpZmljYXRpb25zX29mZjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ1ROb3RpZmljYWNvZXNOZW5odW1hJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub3RpZmljYXRpb25zLkl0ZW5zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub3RpZmljYXRpb25zLkl0ZW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm5hdmlnYXRlKGl0ZW0uVXJsKTtjbG9zZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57eyBpdGVtLkljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXNjXCIgW2lubmVySHRtbF09XCJpdGVtLkRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlXCI+e3sgaXRlbS5EYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS5pZGlvbWEgfVwiICpuZ0lmPVwibGFuZ3VhZ2VzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuKCdpZGlvbWEnKVwiIFttYXRUb29sdGlwXT1cIidJZGlvbWEnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPnB1YmxpYzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1lbnUtdGl0bGVcIj57eyAnSWRpb21hJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGFuZ3VhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRMYW5ndWFnZShsYW5nLmxhbmcpOyBkaXZNb2RhbC5jbGljaygpO1wiPnt7IGxhbmcubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS50ZW1hIH1cIiAqbmdJZj1cIiFwcm9kdXRpb24gJiYgdGhlbWVzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuKCd0ZW1hJylcIiBbbWF0VG9vbHRpcF09XCInVGVtYScgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+aW52ZXJ0X2NvbG9yczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1lbnUtdGl0bGVcIj57eyAnVGVtYXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0aGVtZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB0aGVtZSBvZiB0aGVtZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRUaGVtZSh0aGVtZS5uYW1lKTsgZGl2TW9kYWwuY2xpY2soKTtcIj4ge3sgdGhlbWUuZGVzY3JpcHRpb24gfCB0cmFuc2xhdGUgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiZmFzdHNlYXJjaGZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuRmFzdFNlYXJjaCgpXCIgW21hdFRvb2x0aXBdPVwiZmFzdHNlYXJjaHRpdGxlIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdJZj1cInByb2ZpbGV1cmwgIT0gJydcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRUb29sdGlwXT1cIidNZXVQZXJmaWwnIHwgdHJhbnNsYXRlXCIgW3JvdXRlckxpbmtdPVwicHJvZmlsZXVybFwiPjxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiJ1NhaXInIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+PG1hdC1pY29uPnBvd2VyX3NldHRpbmdzX25ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1zLW92ZXJsYXlcIiAoY2xpY2spPVwiY2xvc2UoKVwiICNkaXZNb2RhbD48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxzZWN0aW9uIGNsYXNzPVwibG9hZGluZy1iYXJcIiAqbmdJZj1cImxvYWRpbmdcIj48bWF0LXByb2dyZXNzLWJhciBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj48L3NlY3Rpb24+XHJcbjxkaXYgY2xhc3M9XCJibG9ja1wiICpuZ0lmPVwibG9hZGluZ1wiPjwvZGl2PiJdfQ==
|
|
1020
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNPMUIsMEJBQThD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QkFBakIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLGVBQWU7a0JBQXZCLEtBQUs7WUFDRyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFDRyxzQkFBc0I7a0JBQTlCLEtBQUs7WUFDRyx3QkFBd0I7a0JBQWhDLEtBQUs7WUFDRyx5QkFBeUI7a0JBQWpDLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0ksYUFBYTtrQkFBdEIsTUFBTTtZQUNHLGlCQUFpQjtrQkFBMUIsTUFBTTtZQUNHLG9CQUFvQjtrQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmZvRGlhbG9nTW9kYWwgfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEluZm9EaWFsb2dCdXR0b25zIH0gZnJvbSAnLi4vLi4vZW51bSc7XHJcbmltcG9ydCB7IEluZm9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9BdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9UaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RoZW1lLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvTm90aWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9ub3RpZmljYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBJbmZvU2Vzc2lvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vzc2lvbi5tb2RlbCc7IFxyXG5pbXBvcnQgeyBJbmZvUGxhdGZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL3BsYXRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbGl0aWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLXRvcGJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9wYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RvcGJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvVG9wYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIG9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VzOiBhbnkgPSBbXTtcclxuICAgIEBJbnB1dCgpIHRoZW1lczogYW55ID0gW107XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25hcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb25nZXRtZXRob2Q6IHN0cmluZyA9ICdHZXQnO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9ucG9zdG1ldGhvZDogc3RyaW5nID0gJ1Bvc3ROb3RpZmljYXRpb24nO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9udmVyaWZ5bWV0aG9kOiBzdHJpbmcgPSAnVmVyaWZ5JztcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnZlcmlmeWVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaGZvcm06IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBmYXN0c2VhcmNoZm9ybXdpZHRoOiBudW1iZXIgPSAxMjAwO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaHRpdGxlOiBzdHJpbmcgPSAnUGVzcXVpc2FSYXBpZGFDYXJ0ZWlyYSc7XHJcbiAgICBASW5wdXQoKSBwcm9maWxldXJsOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHNldHRoZW1lb25jaGFuZ2Vjb21wYW55OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBlbmFibGVkaWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBvbmNoYW5nZXN0YXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uZ2V0bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9udmVyaWZ5bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG1vZGFsUmVmOiBhbnkgPSBudWxsO1xyXG4gICAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJvZHV0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBub3RpZmljYXRpb25zOiBJbmZvTm90aWZpY2F0aW9uTW9kZWwgPSBuZXcgSW5mb05vdGlmaWNhdGlvbk1vZGVsKCk7XHJcblxyXG4gICAgdG9wTWVudTogYW55ID0ge1xyXG4gICAgICAgIGNsaWVudGU6IGZhbHNlLFxyXG4gICAgICAgIGVtcHJlc2E6IGZhbHNlLFxyXG4gICAgICAgIHVuaWRhZGU6IGZhbHNlLFxyXG4gICAgICAgIGluZm9pYTogZmFsc2UsXHJcbiAgICAgICAgdGVtYTogZmFsc2UsXHJcbiAgICAgICAgaWRpb21hOiBmYWxzZSxcclxuICAgICAgICBub3RpZmljYWNhbzogZmFsc2UsXHJcbiAgICAgICAgY2FsZW5kYXJpbzogZmFsc2VcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogSW5mb1RyYW5zbGF0ZVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHVibGljIF9hdXRoZW50aWNhdGlvblNlcnZpY2U6IEluZm9BdXRoZW50aWNhdGlvblNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZGF0YVNlcnZpY2U6IEluZm9EYXRhU2VydmljZSwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF90aGVtZVNlcnZpY2U6IEluZm9UaGVtZVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgX2RpYWxvZzogSW5mb0RpYWxvZ01vZGFsLCBcclxuICAgICAgICAgICAgICAgIHB1YmxpYyBfc2Vzc2lvbjogSW5mb1Nlc3Npb25Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgX3BsYXRmb3JtOiBJbmZvUGxhdGZvcm1Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9tb2RhbDogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdXRpbGl0aWVzOiBVdGlsaXRpZXMpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3V4YycgKyB0aGlzLl9wbGF0Zm9ybS5Db25maWcudXgpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5Db25maWcudG9wTWVudSlcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndG9wbWVudScpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB0aGlzLnByb2R1dGlvbiA9IHRoaXMuX3BsYXRmb3JtLkNvbmZpZy5wcm9kdWN0aW9uO1xyXG4gICAgICAgIHRoaXMuZ2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENvbXBhbnkoY29tcGFueSkge1xyXG4gICAgICAgIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50cm9jYXJFbXByZXNhKHRoaXMuX3Nlc3Npb24uTG9naW4sIGNvbXBhbnkuSWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnbG9hZGluZycsICd0cnVlJyk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uUGVybWlzc29lcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhSWQgPSBjb21wYW55LklkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhID0gY29tcGFueS5Ob21lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5UZW1hSWQgPSAoKGNvbXBhbnkuVW5pZGFkZXMgfHwgW10pWzBdIHx8IHt9KS5UZW1hSWQgfHwgY29tcGFueS5UZW1hSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gY29tcGFueS5VbmlkYWRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZUlkID0gKChjb21wYW55LlVuaWRhZGVzIHx8IFtdKSB8fCB7fSkuSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGUgPSAoKGNvbXBhbnkuVW5pZGFkZXMgfHwgW10pIHx8IHt9KS5Ob21lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lQnlMb2dnZWRDb21wYW55KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJEYXNoYm9hcmRcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91dGlsaXRpZXMuc2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlNlc3Npb25LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuX3Nlc3Npb24pKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaWYgKChjb21wYW55LlVuaWRhZGVzIHx8IFtdKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRVbml0eShjb21wYW55LlVuaWRhZGVzWzBdKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnJykudGhlbihyID0+IGxvY2F0aW9uLnJlbG9hZCgpKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9IGVsc2UgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgICAgIH0sIGVyciA9PiB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFVuaXR5KHVuaXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhclVuaWRhZGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgdGhpcy5fc2Vzc2lvbi5FbXByZXNhSWQsIHVuaXR5LklkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2xvYWRpbmcnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcm1pc3NvZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gdW5pdHkuVGVtYUlkID8/IHRoaXMuX3Nlc3Npb24uVGVtYUlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbmlkYWRlSWQgPSB1bml0eS5JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHVuaXR5Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH0gXHJcblxyXG4gICAgc2V0Q29tcGFueVVuaXR5KGNvbXBhbnksIHVuaXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhclVuaWRhZGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgY29tcGFueS5JZCwgdW5pdHkuSWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnbG9hZGluZycsICd0cnVlJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5QZXJtaXNzb2VzID0gW107XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2FJZCA9IGNvbXBhbnkuSWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkVtcHJlc2EgPSBjb21wYW55Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlVuaWRhZGVzID0gY29tcGFueS5VbmlkYWRlcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gdW5pdHkuVGVtYUlkID8/IGNvbXBhbnkuVGVtYUlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbmlkYWRlSWQgPSB1bml0eS5JZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVW5pZGFkZSA9IHVuaXR5Lk5vbWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJycpLnRoZW4ociA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICB9LCBlcnIgPT4gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRDbGllbnQoY2xpZW50KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRyb2NhckNsaWVudGUodGhpcy5fc2Vzc2lvbi5Mb2dpbiwgY2xpZW50LklkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2xvYWRpbmcnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlBlcm1pc3NvZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVXN1YXJpbyA9IGNsaWVudC5Ob21lO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkRhc2hib2FyZFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3V0aWxpdGllcy5zZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc2Vzc2lvbikpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnJykudGhlbihyID0+IGxvY2F0aW9uLnJlbG9hZCgpKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9IGVsc2UgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgICAgIH0sIGVyciA9PiB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLnNldChsYW5ndWFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGhlbWUodGhlbWUpIHtcclxuICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWUodGhlbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZU1vZGUoKXtcclxuICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0TW9kZVByaW1lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlbkZhc3RTZWFyY2goKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tb2RhbFJlZiAhPSBudWxsKSBcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5fbW9kYWwub3Blbih0aGlzLmZhc3RzZWFyY2hmb3JtLCB7XHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZmFzdHNlYXJjaGZvcm13aWR0aCArICdweCdcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RhbFJlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMubG9hZGluZyAmJiAoci5rZXkgPT0gXCJFc2NhcGVcIiB8fCByLmtleSA9PSBcIkVzY1wiIHx8IHIua2V5ID09IFwiMjdcIikpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmNsb3NlKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubW9kYWxSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUociA9PiB7IHRoaXMubW9kYWxSZWYgPSBudWxsIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW4oYWNodGl2ZU1lbnUpIHtcclxuICAgICAgICB0aGlzLnRvcE1lbnUuY2xpZW50ZSA9IGFjaHRpdmVNZW51ID09ICdjbGllbnRlJztcclxuICAgICAgICB0aGlzLnRvcE1lbnUuZW1wcmVzYSA9IGFjaHRpdmVNZW51ID09ICdlbXByZXNhJztcclxuICAgICAgICB0aGlzLnRvcE1lbnUudW5pZGFkZSA9IGFjaHRpdmVNZW51ID09ICd1bmlkYWRlJztcclxuICAgICAgICB0aGlzLnRvcE1lbnUuaW5mb2lhID0gYWNodGl2ZU1lbnUgPT0gJ2luZm9pYSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LnRlbWEgPSBhY2h0aXZlTWVudSA9PSAndGVtYSc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmlkaW9tYSA9IGFjaHRpdmVNZW51ID09ICdpZGlvbWEnO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5ub3RpZmljYWNhbyA9IGFjaHRpdmVNZW51ID09ICdub3RpZmljYWNhbyc7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmNhbGVuZGFyaW8gPSBhY2h0aXZlTWVudSA9PSAnY2FsZW5kYXJpbyc7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmNsaWVudGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRvcE1lbnUuZW1wcmVzYSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS51bmlkYWRlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmluZm9pYSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS50ZW1hID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50b3BNZW51LmlkaW9tYSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5ub3RpZmljYWNhbyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudG9wTWVudS5jYWxlbmRhcmlvID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlblNpZGViYXIoKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuZWQgPSAhdGhpcy5vcGVuZWQ7XHJcbiAgICAgICAgdGhpcy5vbmNoYW5nZXN0YXRlLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXROb3RpZmljYXRpb25zKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLmlzTG9nZ2VkKCkgfHwgdGhpcy5ub3RpZmljYXRpb25hcGkgPT0gbnVsbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLl9kYXRhU2VydmljZS5nZXQodGhpcy5ub3RpZmljYXRpb25hcGksIHRoaXMubm90aWZpY2F0aW9uZ2V0bWV0aG9kLCBudWxsKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5Db3VudCA9IHIuZGF0YS5Db3VudDtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5JdGVucyA9IHIuZGF0YS5JdGVucztcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb252ZXJpZnllbmFibGVkKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5Tm90aWZpY2F0aW9ucygpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMub25nZXRub3RpZmljYXRpb24uZW1pdCh0aGlzLm5vdGlmaWNhdGlvbnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmVyaWZ5Tm90aWZpY2F0aW9ucygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0xvZ2dlZCgpIHx8IHRoaXMubm90aWZpY2F0aW9uYXBpID09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5fZGF0YVNlcnZpY2UuZ2V0KHRoaXMubm90aWZpY2F0aW9uYXBpLCB0aGlzLm5vdGlmaWNhdGlvbnZlcmlmeW1ldGhvZCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICBpZiAoci5kYXRhID09IC0xKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubm90aWZpY2F0aW9ucy5Db3VudCA9PSByLmRhdGEpXHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy52ZXJpZnlOb3RpZmljYXRpb25zKCk7IH0sIDE1MDAwKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5nZXROb3RpZmljYXRpb25zKCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLm9udmVyaWZ5bm90aWZpY2F0aW9uLmVtaXQoey4uLnRoaXMubm90aWZpY2F0aW9ucywgVmVyaWZ5Q291bnQ6IHIuZGF0YX0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE5vdGlmaWNhdGlvblN0YXR1cyhyZWFkLCBhY2Nlc3MsIHJlbW92ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbnMuQ291bnQgPT0gMCkgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLl9kYXRhU2VydmljZS5wb3N0KHRoaXMubm90aWZpY2F0aW9uYXBpLCB7IElkOiAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwJywgQWNlc3NvOiBhY2Nlc3MsIExlaXR1cmE6IHJlYWQsIEV4Y2x1c2FvOiByZW1vdmUgfSwgdGhpcy5ub3RpZmljYXRpb25wb3N0bWV0aG9kKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShyID0+IHRoaXMubm90aWZpY2F0aW9ucy5Db3VudCA9IDApO1xyXG4gICAgfVxyXG5cclxuICAgIG5hdmlnYXRlKHVybDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFt1cmwucmVwbGFjZSgnLyMnLCAnJyldKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2dvdXQoKSB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nLlllc09yTm8oJ0Rlc2VqYVJlYWxtZW50ZVNhaXInKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyLmJ1dHRvbiA9PSBJbmZvRGlhbG9nQnV0dG9ucy5ZZXMpXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiX3BsYXRmb3JtLkNvbmZpZy51eCA+PSAzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2l0ZS1uYXZiYXJcIj5cclxuICAgICAgICA8YSBjbGFzcz1cImxvZ29cIiA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibG9nby1pbWdcIj48L2k+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwibG9nby1pbWctcmVzcFwiPjwvaT5cclxuICAgICAgICA8L2E+XHJcbiAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSB1c3VhcmlvLWxvZ2Fkb1wiIFtjbGFzcy5zZXBhcmFkb3JdPVwiX3Nlc3Npb24uRW1wcmVzYXMubGVuZ3RoID4gMSB8fCBfc2Vzc2lvbi5VbmlkYWRlc1wiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51LmNsaWVudGUgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRsIChjbGljayk9XCJvcGVuKCdjbGllbnRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgX3Nlc3Npb24uUGVyZmlsIH19PC9kdD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGQ+e3sgX3Nlc3Npb24uVXN1YXJpbyB9fTwvZGQ+XHJcbiAgICAgICAgICAgICAgICA8L2RsPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZlY2hhclwiIChjbGljayk9XCJjbG9zZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoND57eyAnQ2xpZW50ZXMnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJlbXByZXNhc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGNsaWVudCBvZiBfc2Vzc2lvbi5DbGllbnRlc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRDbGllbnQoY2xpZW50KTsgZGl2TW9kYWwuY2xpY2soKTtcIj57eyBjbGllbnQuTm9tZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHNlbGVjYW8tZW1wcmVzYVwiICpuZ0lmPVwiX3Nlc3Npb24uRW1wcmVzYXMubGVuZ3RoID4gMVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51LmVtcHJlc2EgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRsIChjbGljayk9XCJvcGVuKCdlbXByZXNhJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgJ0VtcHJlc2EnIHwgdHJhbnNsYXRlIH19PC9kdD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGQ+e3sgX3Nlc3Npb24uRW1wcmVzYSB9fTwvZGQ+XHJcbiAgICAgICAgICAgICAgICA8L2RsPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ0VtcHJlc2FzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZW1wcmVzYXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBjb21wYW55IG9mIF9zZXNzaW9uLkVtcHJlc2FzXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldENvbXBhbnkoY29tcGFueSk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgY29tcGFueS5Ob21lIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gc2VsZWNhby1lbXByZXNhXCIgKm5nSWY9XCJfc2Vzc2lvbi5VbmlkYWRlICYmIChfc2Vzc2lvbi5VbmlkYWRlcyB8fCBbXSkubGVuZ3RoID4gMVwiIFtuZ0NsYXNzXT1cInsgJ29wZW5lZCcgOiB0b3BNZW51LnVuaWRhZGUgfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRsIChjbGljayk9XCJvcGVuKCd1bmlkYWRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgJ1VuaWRhZGUnIHwgdHJhbnNsYXRlIH19PC9kdD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGQ+e3sgX3Nlc3Npb24uVW5pZGFkZSB9fTwvZGQ+XHJcbiAgICAgICAgICAgICAgICA8L2RsPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sYXRlcmFsLWRpcmVpdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ1VuaWRhZGVzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZW1wcmVzYXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB1bml0eSBvZiBfc2Vzc2lvbi5VbmlkYWRlc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZXRVbml0eSh1bml0eSk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgdW5pdHkuTm9tZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUocHJvZmlsZXVybClcIiBbbWF0VG9vbHRpcF09XCInTWV1UGVyZmlsJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHNlbGVjYW8taW5mb2lhXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS5pbmZvaWEgfVwiICpuZ0lmPVwiZW5hYmxlZGlhXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbignaW5mb2lhJylcIiBbbWF0VG9vbHRpcF09XCInSW5mbyBJQScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJ0luZm9JQScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kaXZlcnNpdHlfMjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGF0ZXJhbC1kaXJlaXRhIGluZm9pYVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZlY2hhclwiIChjbGljayk9XCJjbG9zZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoND57eyAnSW5mb0lBJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiZmFzdHNlYXJjaGZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuRmFzdFNlYXJjaCgpXCIgW21hdFRvb2x0aXBdPVwiZmFzdHNlYXJjaHRpdGxlIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJyA6IHRvcE1lbnUubm90aWZpY2FjYW8gfVwiICpuZ0lmPVwibm90aWZpY2F0aW9uYXBpXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2V0Tm90aWZpY2F0aW9uU3RhdHVzKHRydWUsIGZhbHNlLCBmYWxzZSk7b3Blbignbm90aWZpY2FjYW8nKVwiIFttYXRUb29sdGlwXT1cIidOb3RpZmljYWNvZXMnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPm5vdGlmaWNhdGlvbnNfbm9uZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiICpuZ0lmPVwibm90aWZpY2F0aW9ucy5Db3VudCA+IDBcIj57eyBub3RpZmljYXRpb25zLkNvdW50IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmZWNoYXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQ+e3sgJ05vdGlmaWNhY29lcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJub3RpZmljYXRpb25zLkl0ZW5zLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBzdHlsZT1cImN1cnNvcjogZGVmYXVsdDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bm90aWZpY2F0aW9uczwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ1ROb3RpZmljYWNvZXNOZW5odW1hJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm90aWZpY2F0aW9ucy5JdGVucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90aWZpY2F0aW9ucy5JdGVuc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJuYXZpZ2F0ZShpdGVtLlVybCk7Y2xvc2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgJ0RpYScgfCB0cmFuc2xhdGUgfX0ge3sgaXRlbS5EYXRlIH19PC9kdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBbaW5uZXJIdG1sXT1cIml0ZW0uRGVzY3JpcHRpb24gfCB0cmFuc2xhdGVcIj48L2RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhbHRlcm5hck1vZG8oKVwiIFttYXRUb29sdGlwXT1cIidBbHRlcm5hck1vZG8nIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPmJyaWdodG5lc3NfNjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbSBzZWxlY2FvLXRlbWFcIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnOiB0b3BNZW51LnRlbWEgfVwiICpuZ0lmPVwiIXByb2R1dGlvbiAmJiB0aGVtZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ3RlbWEnKVwiIFttYXRUb29sdGlwXT1cIidUZW1hJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5pbnZlcnRfY29sb3JzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGF0ZXJhbC1kaXJlaXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmVjaGFyXCIgKGNsaWNrKT1cImNsb3NlKClcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0Pnt7ICdUZW1hcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRlbWFzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdGhlbWUgb2YgdGhlbWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2V0VGhlbWUodGhlbWUubmFtZSk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+IHt7IHRoZW1lLmRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgKm5nSWY9XCJfcGxhdGZvcm0uQ29uZmlnLmVuYWJsZWRQcmltZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiKF9wbGF0Zm9ybS5Nb2RvUHJpbWUgPyAnTW9kb1BhZHJhbycgOiAnUHJpbWUnKSB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJ0b2dnbGVNb2RlKClcIj48bWF0LWljb24+YnJpZ2h0bmVzc182PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtIHNlbGVjYW8taWRpb21hXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJzogdG9wTWVudS5pZGlvbWEgfVwiICpuZ0lmPVwibGFuZ3VhZ2VzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuKCdpZGlvbWEnKVwiIFttYXRUb29sdGlwXT1cIidJZGlvbWEnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPnB1YmxpYzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxhdGVyYWwtZGlyZWl0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZlY2hhclwiIChjbGljayk9XCJjbG9zZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoND57eyAnSWRpb21hcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImlkaW9tYXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmd1YWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldExhbmd1YWdlKGxhbmcubGFuZyk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgbGFuZy5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0VG9vbHRpcF09XCInU2FpcicgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwibG9nb3V0KClcIj48bWF0LWljb24+cG93ZXJfc2V0dGluZ3NfbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1zLW92ZXJsYXlcIiAoY2xpY2spPVwiY2xvc2UoKVwiICNkaXZNb2RhbD48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAnb3BlbicgOiBvcGVuZWQgfVwiIChjbGljayk9XCJvcGVuU2lkZWJhcigpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiX3BsYXRmb3JtLkNvbmZpZy51eCA8PSAyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2l0ZS1uYXZiYXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2FvLWNsb25lIHRleHQtbGlnaHRncmF5XCIgKm5nSWY9XCJfc2Vzc2lvbi5DbG9uZVwiPlxyXG4gICAgICAgICAgICA8ZGl2PjxsYWJlbD4oe3sgJ01vZG9DbG9uZScgfCB0cmFuc2xhdGUgfX0pPC9sYWJlbD48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdmJhci1idXR0b25cIiBbbmdDbGFzc109XCJ7ICdvcGVuJyA6IG9wZW5lZCB9XCIgKGNsaWNrKT1cIm9wZW5TaWRlYmFyKClcIj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGgxIGlkPVwicGFnZS10aXRsZVwiIGNsYXNzPVwicGFnZS10aXRsZVwiICpuZ0lmPVwiX3BsYXRmb3JtLlBhZ2luYUF0aXZhXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBfcGxhdGZvcm0uUGFnaW5hQXRpdmEuSWNvbmUgfX08L21hdC1pY29uPiB7eyBfcGxhdGZvcm0uUGFnaW5hQXRpdmEuVGl0dWxvIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9oMT5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW0gdXNlci1wcm9maWxlXCIgW25nQ2xhc3NdPVwieyAnb3BlbmVkJyA6IHRvcE1lbnUuZW1wcmVzYSB9XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ2VtcHJlc2EnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maW5nZXJwcmludDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7IFwiRW1wcmVzYVwiIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgX3Nlc3Npb24uRW1wcmVzYSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWVudS10aXRsZVwiPnt7ICdFbXByZXNhJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImNvbXBhbnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBjb21wYW55IG9mIF9zZXNzaW9uLkVtcHJlc2FzXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldENvbXBhbnkoY29tcGFueSk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgY29tcGFueS5Ob21lIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnIDogdG9wTWVudS5ub3RpZmljYWNhbyB9XCIgKm5nSWY9XCJub3RpZmljYXRpb25hcGlcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzZXROb3RpZmljYXRpb25TdGF0dXModHJ1ZSwgZmFsc2UsIGZhbHNlKTtvcGVuKCdub3RpZmljYWNhbycpXCIgW21hdFRvb2x0aXBdPVwiJ05vdGlmaWNhY29lcycgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+bm90aWZpY2F0aW9uc19ub25lPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlXCIgKm5nSWY9XCJub3RpZmljYXRpb25zLkNvdW50ID4gMFwiPnt7IG5vdGlmaWNhdGlvbnMuQ291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1lbnUtdGl0bGVcIj57eyAnTm90aWZpY2Fjb2VzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwibm90aWZpY2F0aW9ucy5JdGVucy5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgc3R5bGU9XCJjdXJzb3I6IGRlZmF1bHQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPm5vdGlmaWNhdGlvbnNfb2ZmPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnVE5vdGlmaWNhY29lc05lbmh1bWEnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vdGlmaWNhdGlvbnMuSXRlbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vdGlmaWNhdGlvbnMuSXRlbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGUoaXRlbS5VcmwpO2Nsb3NlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnt7IGl0ZW0uSWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NcIiBbaW5uZXJIdG1sXT1cIml0ZW0uRGVzY3JpcHRpb24gfCB0cmFuc2xhdGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGVcIj57eyBpdGVtLkRhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnOiB0b3BNZW51LmlkaW9tYSB9XCIgKm5nSWY9XCJsYW5ndWFnZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ2lkaW9tYScpXCIgW21hdFRvb2x0aXBdPVwiJ0lkaW9tYScgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+cHVibGljPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWVudS10aXRsZVwiPnt7ICdJZGlvbWEnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmd1YWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldExhbmd1YWdlKGxhbmcubGFuZyk7IGRpdk1vZGFsLmNsaWNrKCk7XCI+e3sgbGFuZy5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWl0ZW1cIiBbbmdDbGFzc109XCJ7ICdvcGVuZWQnOiB0b3BNZW51LnRlbWEgfVwiICpuZ0lmPVwiIXByb2R1dGlvbiAmJiB0aGVtZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW4oJ3RlbWEnKVwiIFttYXRUb29sdGlwXT1cIidUZW1hJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5pbnZlcnRfY29sb3JzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibWVudS10aXRsZVwiPnt7ICdUZW1hcycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRoZW1lc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHRoZW1lIG9mIHRoZW1lc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNldFRoZW1lKHRoZW1lLm5hbWUpOyBkaXZNb2RhbC5jbGljaygpO1wiPiB7eyB0aGVtZS5kZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgKm5nSWY9XCJmYXN0c2VhcmNoZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5GYXN0U2VhcmNoKClcIiBbbWF0VG9vbHRpcF09XCJmYXN0c2VhcmNodGl0bGUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwicHJvZmlsZXVybCAhPSAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiJ01ldVBlcmZpbCcgfCB0cmFuc2xhdGVcIiBbcm91dGVyTGlua109XCJwcm9maWxldXJsXCI+PG1hdC1pY29uPnBlcnNvbjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0VG9vbHRpcF09XCInU2FpcicgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwibG9nb3V0KClcIj48bWF0LWljb24+cG93ZXJfc2V0dGluZ3NfbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbXMtb3ZlcmxheVwiIChjbGljayk9XCJjbG9zZSgpXCIgI2Rpdk1vZGFsPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPHNlY3Rpb24gY2xhc3M9XCJsb2FkaW5nLWJhclwiICpuZ0lmPVwibG9hZGluZ1wiPjxtYXQtcHJvZ3Jlc3MtYmFyIGNvbG9yPVwicHJpbWFyeVwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPjwvc2VjdGlvbj5cclxuPGRpdiBjbGFzcz1cImJsb2NrXCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9kaXY+Il19
|
|
@@ -9006,6 +9006,7 @@ class InfoTopbarComponent {
|
|
|
9006
9006
|
if (res.success) {
|
|
9007
9007
|
document.body.setAttribute('loading', 'true');
|
|
9008
9008
|
this._session.Permissoes = [];
|
|
9009
|
+
this._session.Usuario = client.Nome;
|
|
9009
9010
|
localStorage.removeItem("Dashboard");
|
|
9010
9011
|
this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));
|
|
9011
9012
|
this._router.navigateByUrl('').then(r => location.reload());
|