@esfaenza/admin-module 15.2.9 → 15.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/audits/adm_audits.component.mjs +3 -3
- package/esm2020/lib/components/dynamic_views/adm_dynamic_views.component.mjs +4 -4
- package/esm2020/lib/components/enqueues/adm_enq.component.mjs +3 -3
- package/esm2020/lib/components/logs/adm_logs.component.mjs +2 -2
- package/esm2020/lib/components/metrics/metrics_search.component.mjs +4 -4
- package/esm2020/lib/components/profiler/adm_profiler.component.mjs +5 -5
- package/esm2020/lib/components/topact/topact_search.component.mjs +8 -9
- package/esm2020/lib/components/workers/adm_wrk.component.mjs +7 -7
- package/esm2020/lib/models/externals/Repository.mjs +22 -22
- package/fesm2015/esfaenza-admin-module.mjs +49 -50
- package/fesm2015/esfaenza-admin-module.mjs.map +1 -1
- package/fesm2020/esfaenza-admin-module.mjs +49 -50
- package/fesm2020/esfaenza-admin-module.mjs.map +1 -1
- package/lib/components/topact/topact_search.component.d.ts +0 -1
- package/lib/models/externals/Repository.d.ts +21 -21
- package/package.json +1 -1
|
@@ -59,7 +59,7 @@ export class AdmProfilerComponent {
|
|
|
59
59
|
init(HotPotato) {
|
|
60
60
|
if (HotPotato) {
|
|
61
61
|
this.searchView = HotPotato;
|
|
62
|
-
this.POSTGetItems(Repository["
|
|
62
|
+
this.POSTGetItems(Repository["POST_Director_GetProfilerDataNodes"], this.searchView);
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
65
|
this.searchView = new ProfilerDataNodesView();
|
|
@@ -74,7 +74,7 @@ export class AdmProfilerComponent {
|
|
|
74
74
|
this.searchView.searchinprogress = true;
|
|
75
75
|
if (resetPage)
|
|
76
76
|
this.searchView.page = 1;
|
|
77
|
-
this.POSTGetItems(Repository["
|
|
77
|
+
this.POSTGetItems(Repository["POST_Director_GetProfilerDataNodes"], this.searchView);
|
|
78
78
|
}
|
|
79
79
|
POSTGetItems(url, data) {
|
|
80
80
|
this.http.post(url, data).subscribe(t => {
|
|
@@ -87,7 +87,7 @@ export class AdmProfilerComponent {
|
|
|
87
87
|
var view = JSON.parse(JSON.stringify(this.searchView));
|
|
88
88
|
view.page = 1;
|
|
89
89
|
view.itemsperpageoverride = 9999999;
|
|
90
|
-
this.http.post(Repository["
|
|
90
|
+
this.http.post(Repository["POST_Director_GetProfilerDataNodes"], view).subscribe(t => {
|
|
91
91
|
let items = this.expExts.deserializeForExport(t.items, ProfilerDataNode);
|
|
92
92
|
dataCallBack(items);
|
|
93
93
|
});
|
|
@@ -95,7 +95,7 @@ export class AdmProfilerComponent {
|
|
|
95
95
|
loadNodeDetails(nodeId) {
|
|
96
96
|
this.NodeDetails = null;
|
|
97
97
|
let pars = new HttpParams().set('nodeId', nodeId);
|
|
98
|
-
this.http.get(Repository.
|
|
98
|
+
this.http.get(Repository.GET_Director_GetNodeStats, pars).subscribe(t => {
|
|
99
99
|
this.NodeDetails = t;
|
|
100
100
|
});
|
|
101
101
|
}
|
|
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
109
109
|
type: Inject,
|
|
110
110
|
args: [ADM_MODULE_PATH]
|
|
111
111
|
}] }]; } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZXIvYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZXIvYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFpQixtQkFBbUIsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUczRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU9sRCxNQUFNLE9BQU8sb0JBQW9CO0lBTTdCLFlBQ1ksT0FBc0IsRUFDdkIsRUFBdUIsRUFDdEIsWUFBZ0MsRUFDaEMsUUFBa0IsRUFDbEIsUUFBeUIsRUFDekIsSUFBaUIsRUFDakIsS0FBcUIsRUFDSSxHQUFXO1FBUHBDLFlBQU8sR0FBUCxPQUFPLENB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RUFBRTtZQUMxRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2lIQXpGUSxvQkFBb0Isb09BY2pCLGVBQWU7cUdBZGxCLG9CQUFvQix1Q0FIbEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywwQkN6QnBGLGlrTUE0RU07MkZEaERPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxjQUFjLGFBQ2IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQzs7MEJBaUIzRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IEV4cG9ydFNlcnZpY2UsIEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBQcm9maWxlckRhdGFOb2RlIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1Byb2ZpbGVyRGF0YU5vZGVcIjtcclxuaW1wb3J0IHsgUHJvZmlsZXJEYXRhTm9kZXNWaWV3IH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1Byb2ZpbGVyRGF0YU5vZGVzVmlld1wiO1xyXG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHRlcm5hbHMvUmVwb3NpdG9yeVwiO1xyXG5pbXBvcnQgeyBOb2RlU3RhdHMgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvTm9kZVN0YXRzXCI7XHJcblxyXG5pbXBvcnQgeyBBRE1fTU9EVUxFX1BBVEggfSBmcm9tIFwiLi4vLi4vdG9rZW5zXCI7XHJcblxyXG4vLyBMb2NhbGl6emF6aW9uZVxyXG5pbXBvcnQgeyBBZG1Qcm9maWxlckNvbXBvbmVudExvYyB9IGZyb20gXCIuL2FkbV9wcm9maWxlci5jb21wb25lbnQubG9jXCI7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYWRtX3Byb2ZpbGVyXCIsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1Qcm9maWxlckNvbXBvbmVudExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5odG1sXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkbVByb2ZpbGVyQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBQcm9maWxlckRhdGFOb2Rlc1ZpZXcgPSBuZXcgUHJvZmlsZXJEYXRhTm9kZXNWaWV3KCk7XHJcbiAgICBwdWJsaWMgc3RvcmFnZVN1YjogYW55O1xyXG5cclxuICAgIHB1YmxpYyBOb2RlRGV0YWlsczogTm9kZVN0YXRzO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGV4cEV4dHM6IEV4cG9ydFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgQEluamVjdChBRE1fTU9EVUxFX1BBVEgpIHByaXZhdGUgbW9kOiBzdHJpbmcpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5zZW5kKEluYm91bmRNZXNzYWdlVHlwZXMuTmF2aWdhdGlvbiwgeyBzdWI6IGZhbHNlLCByb3V0ZVRpdGxlOiB0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU3ViID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Jbml0KHBhcmFtc1tcImlnbm9yZVN0b3JhZ2VcIl0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIEluaXQoaWdub3JlU3RvcmUpIHtcclxuICAgICAgICB0aGlzLmRvSW5pdChpZ25vcmVTdG9yZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZG9Jbml0KGlnbm9yZVN0b3JhZ2UpIHtcclxuICAgICAgICBsZXQgaXRlbSA9IGF3YWl0IHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW08UHJvZmlsZXJEYXRhTm9kZXNWaWV3PihcIkhvdFNlYXJjaFByb2ZpbGF0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICBpZiAoIWlnbm9yZVN0b3JhZ2UgJiYgaXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQoaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShgL3BhZ2VzLyR7dGhpcy5tb2R9L3Byb2ZpbGVyYCk7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgPSBbXTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkhvdFNlYXJjaFByb2ZpbGF0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IFByb2ZpbGVyRGF0YU5vZGVzVmlldykge1xyXG4gICAgICAgIGlmIChIb3RQb3RhdG8pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gSG90UG90YXRvO1xyXG4gICAgICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyhSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0UHJvZmlsZXJEYXRhTm9kZXNcIl0sIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBuZXcgUHJvZmlsZXJEYXRhTm9kZXNWaWV3KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFNlYXJjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdG9yYWdlU3ViKVxyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZW5kU2VhcmNoKHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHJlc2V0UGFnZSlcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnBhZ2UgPSAxO1xyXG5cclxuICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyhSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0UHJvZmlsZXJEYXRhTm9kZXNcIl0sIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgUE9TVEdldEl0ZW1zKHVybDogc3RyaW5nLCBkYXRhOiBQcm9maWxlckRhdGFOb2Rlc1ZpZXcpIHtcclxuICAgICAgICB0aGlzLmh0dHAucG9zdDxQcm9maWxlckRhdGFOb2Rlc1ZpZXc+KHVybCwgZGF0YSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSB0O1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiSG90U2VhcmNoUHJvZmlsYXRvXCIsIHRoaXMuc2VhcmNoVmlldykuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJlcGFyZUV4cG9ydChkYXRhQ2FsbEJhY2spIHtcclxuICAgICAgICB2YXIgdmlldyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5zZWFyY2hWaWV3KSk7XHJcbiAgICAgICAgdmlldy5wYWdlID0gMTtcclxuICAgICAgICB2aWV3Lml0ZW1zcGVycGFnZW92ZXJyaWRlID0gOTk5OTk5OTtcclxuICAgICAgICB0aGlzLmh0dHAucG9zdDxQcm9maWxlckRhdGFOb2Rlc1ZpZXc+KFJlcG9zaXRvcnlbXCJQT1NUX0FkbV9HZXRQcm9maWxlckRhdGFOb2Rlc1wiXSwgdmlldykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICBsZXQgaXRlbXM6IFByb2ZpbGVyRGF0YU5vZGVbXSA9IHRoaXMuZXhwRXh0cy5kZXNlcmlhbGl6ZUZvckV4cG9ydCh0Lml0ZW1zLCBQcm9maWxlckRhdGFOb2RlKTtcclxuICAgICAgICAgICAgZGF0YUNhbGxCYWNrKGl0ZW1zKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkTm9kZURldGFpbHMobm9kZUlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLk5vZGVEZXRhaWxzID0gbnVsbDtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdub2RlSWQnLCBub2RlSWQpO1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8Tm9kZVN0YXRzPihSZXBvc2l0b3J5LkdFVF9BZG1fR2V0Tm9kZVN0YXRzLCBwYXJzKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuTm9kZURldGFpbHMgPSB0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGFwcC1vdmVyZmxvdy12aXNpYmxlXCIgd2lkZ2V0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlcmNhc2VcIj57eydQcm9maWxlciBkZWwgU2VydmVyJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPiZuYnNwO1xyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSB3aWRnZXQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBib3R0b20tMTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Zm9ybSByb2xlPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFwcC1maXJzdC1maWx0ZXItbGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRlIFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyZnJvbVwiIG5hbWU9XCJmaWx0ZXJmcm9tXCIgW1BsYWNlaG9sZGVyXT1cIidEYScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0tZGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRlIFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVydG9cIiBuYW1lPVwiZmlsdGVydG9cIiBbUGxhY2Vob2xkZXJdPVwiJ0EnIHwgbG9jYWxpemU6IGxjXCI+PC9mb3JtLWRhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzc1wiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYWRkb24gYnRuIGFwcC1idG4tc2VhcmNoIGFwcC1tYXJnaW4tdG9wLTIwXCIgKGNsaWNrKT1cInNlbmRTZWFyY2goKVwiIHR5cGU9XCJzdWJtaXRcIj48aSBjbGFzcz1cImZhIGZhLXNlYXJjaFwiPjwvaT48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFzZWFyY2hWaWV3XCI+PGVtPnt7J0NhcmljbyBpIERhdGknIHwgbG9jYWxpemU6IGxjfX08L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaFZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy10YWJsZSBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXdcIiBbSGllcmFyY2h5XT1cInRydWVcIiBbT3JkZXJCeUNvbHVtbl09XCJmYWxzZVwiIFtQYXJlbnRLZXldPVwiJ3BhcmVudGlkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW093bktleV09XCInaWQnXCIgW1N0YXJ0c0V4cGFuZGVkXT1cImZhbHNlXCIgW0V4cG9ydEZ1bmN0aW9uXT1cInByZXBhcmVFeHBvcnQuYmluZCh0aGlzKVwiIFtFeHBvcnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0V4cG9ydEZpbGVOYW1lXT1cIidQcm9maWxlciBFeHBvcnQuY3N2J1wiIFtIaWRlUGFnaW5nXT1cInRydWVcIiAob25TZWFyY2hSZXF1ZXN0KT1cInNlbmRTZWFyY2goJGV2ZW50KTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMSdcIj57eydJRCcgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMidcIj57eydEZXNjcml6aW9uZScgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMydcIj57eydDaGlhbWF0ZScgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInNCdcIj57eydUZW1wbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInNSdcIj57eydUZW1wbyBNYXgnIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzYnXCI+e3snVGVtcG8gTWluJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic3J1wiPnt7J1RlbXBvIE1lZGlvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic4J1wiPnt7J1RlbXBvIFNwZWNpZmljbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInOSdcIj57eydQZXJjZW50dWFsZScgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMTAnXCI+e3snQ2hpYW1hdGUgUGVyaW9kbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMTEnXCI+e3snVGVtcG8gUGVyaW9kbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMTInXCI+e3snVGVtcG8gTWF4IFBlcmlvZG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzEzJ1wiPnt7J1RlbXBvIE1pbiBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxNCdcIj57eydUZW1wbyBNZWRpbyBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxNSdcIj57eydUZW1wbyBTcGVjaWZpY28gUGVyaW9kbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMTYnXCI+e3snUGVyY2VudHVhbGUgUGVyaW9kbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMTcnXCI+e3snTm9tZSBUaXBvbG9naWEgRXZlbnRvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxOCdcIj57eydOb21lIENsYXNzZSBBdHRlc2EnIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxJzsgbGV0IGl0ZW1cIj48c3BhbiBjbGFzcz1cImFwcC1saW5rIGFwcC1pbmxpbmVcIiAoY2xpY2spPVwibG9hZE5vZGVEZXRhaWxzKGl0ZW0uaWQpOyBkbGdOb2RlRGV0YWlscy5zaG93KCk7XCI+e3tpdGVtLmlkfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicyJzsgbGV0IGl0ZW1cIiB0aXRsZT1cInt7aXRlbS5kZXNjcmlwdGlvbn19XCI+e3tpdGVtLmRlc2NyaXB0aW9uLmxlbmd0aCA8PSA1MCA/IGl0ZW0uZGVzY3JpcHRpb24gOiBpdGVtLmRlc2NyaXB0aW9uLnN1YnN0cigwLDUwKSArIFwiWy4uLl1cIiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMyc7IGxldCBpdGVtXCI+e3tpdGVtLmNhbGxzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzQnOyBsZXQgaXRlbVwiPnt7aXRlbS50aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzUnOyBsZXQgaXRlbVwiPnt7aXRlbS5wZWFrdGltZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIic2JzsgbGV0IGl0ZW1cIj57e2l0ZW0ubWludGltZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIic3JzsgbGV0IGl0ZW1cIj57e2l0ZW0uYXZndGltZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIic4JzsgbGV0IGl0ZW1cIj57e2l0ZW0udGltZXdpdGhvdXRjaGlsZHJlbiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInOSc7IGxldCBpdGVtXCI+e3tpdGVtLnBlcmNlbnRhZ2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTAnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBkZWx0YWNhbGxzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzExJyBsZXQgaXRlbVwiPnt7aXRlbS5zbmFwZGVsdGF0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzEyJyBsZXQgaXRlbVwiPnt7aXRlbS5zbmFwcGVha3RpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTMnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBtaW50aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzE0JyBsZXQgaXRlbVwiPnt7aXRlbS5zbmFwYXZndGltZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxNScgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcHRpbWV3aXRob3V0Y2hpbGRyZW59fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTYnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBwZXJjZW50YWdlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzE3JyBsZXQgaXRlbVwiPnt7aXRlbS5ldmVudHR5cGVuYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzE4JyBsZXQgaXRlbVwiPnt7aXRlbS53YWl0Y2xhc3NuYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VzLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgYnNNb2RhbCAjZGxnTm9kZURldGFpbHM9XCJicy1tb2RhbFwiIGNsYXNzPVwibW9kYWwgZmFkZVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxub2RlLWRldGFpbCAqbmdJZj1cIk5vZGVEZXRhaWxzXCIgW05vZGVEZXRhaWxzXT1cIk5vZGVEZXRhaWxzXCIgKG9uQ2xvc2UpPVwiZGxnTm9kZURldGFpbHMuaGlkZSgpXCI+PC9ub2RlLWRldGFpbD5cclxuPC9kaXY+Il19
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZXIvYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJvZmlsZXIvYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFpQixtQkFBbUIsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUczRixlQUFlO0FBQ2YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU9sRCxNQUFNLE9BQU8sb0JBQW9CO0lBTTdCLFlBQ1ksT0FBc0IsRUFDdkIsRUFBdUIsRUFDdEIsWUFBZ0MsRUFDaEMsUUFBa0IsRUFDbEIsUUFBeUIsRUFDekIsSUFBaUIsRUFDakIsS0FBcUIsRUFDSSxHQUFXO1FBUHBDLFlBQU8sR0FBUCxPQUFPLENB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RUFBRTtZQUMvRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2lIQXpGUSxvQkFBb0Isb09BY2pCLGVBQWU7cUdBZGxCLG9CQUFvQix1Q0FIbEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywwQkN6QnBGLGlrTUE0RU07MkZEaERPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxjQUFjLGFBQ2IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQzs7MEJBaUIzRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IEV4cG9ydFNlcnZpY2UsIEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBQcm9maWxlckRhdGFOb2RlIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1Byb2ZpbGVyRGF0YU5vZGVcIjtcclxuaW1wb3J0IHsgUHJvZmlsZXJEYXRhTm9kZXNWaWV3IH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1Byb2ZpbGVyRGF0YU5vZGVzVmlld1wiO1xyXG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHRlcm5hbHMvUmVwb3NpdG9yeVwiO1xyXG5pbXBvcnQgeyBOb2RlU3RhdHMgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvTm9kZVN0YXRzXCI7XHJcblxyXG5pbXBvcnQgeyBBRE1fTU9EVUxFX1BBVEggfSBmcm9tIFwiLi4vLi4vdG9rZW5zXCI7XHJcblxyXG4vLyBMb2NhbGl6emF6aW9uZVxyXG5pbXBvcnQgeyBBZG1Qcm9maWxlckNvbXBvbmVudExvYyB9IGZyb20gXCIuL2FkbV9wcm9maWxlci5jb21wb25lbnQubG9jXCI7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYWRtX3Byb2ZpbGVyXCIsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1Qcm9maWxlckNvbXBvbmVudExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYWRtX3Byb2ZpbGVyLmNvbXBvbmVudC5odG1sXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkbVByb2ZpbGVyQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBQcm9maWxlckRhdGFOb2Rlc1ZpZXcgPSBuZXcgUHJvZmlsZXJEYXRhTm9kZXNWaWV3KCk7XHJcbiAgICBwdWJsaWMgc3RvcmFnZVN1YjogYW55O1xyXG5cclxuICAgIHB1YmxpYyBOb2RlRGV0YWlsczogTm9kZVN0YXRzO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGV4cEV4dHM6IEV4cG9ydFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgQEluamVjdChBRE1fTU9EVUxFX1BBVEgpIHByaXZhdGUgbW9kOiBzdHJpbmcpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5zZW5kKEluYm91bmRNZXNzYWdlVHlwZXMuTmF2aWdhdGlvbiwgeyBzdWI6IGZhbHNlLCByb3V0ZVRpdGxlOiB0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU3ViID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Jbml0KHBhcmFtc1tcImlnbm9yZVN0b3JhZ2VcIl0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIEluaXQoaWdub3JlU3RvcmUpIHtcclxuICAgICAgICB0aGlzLmRvSW5pdChpZ25vcmVTdG9yZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZG9Jbml0KGlnbm9yZVN0b3JhZ2UpIHtcclxuICAgICAgICBsZXQgaXRlbSA9IGF3YWl0IHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW08UHJvZmlsZXJEYXRhTm9kZXNWaWV3PihcIkhvdFNlYXJjaFByb2ZpbGF0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICBpZiAoIWlnbm9yZVN0b3JhZ2UgJiYgaXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQoaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShgL3BhZ2VzLyR7dGhpcy5tb2R9L3Byb2ZpbGVyYCk7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgPSBbXTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkhvdFNlYXJjaFByb2ZpbGF0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IFByb2ZpbGVyRGF0YU5vZGVzVmlldykge1xyXG4gICAgICAgIGlmIChIb3RQb3RhdG8pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gSG90UG90YXRvO1xyXG4gICAgICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyhSZXBvc2l0b3J5W1wiUE9TVF9EaXJlY3Rvcl9HZXRQcm9maWxlckRhdGFOb2Rlc1wiXSwgdGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG5ldyBQcm9maWxlckRhdGFOb2Rlc1ZpZXcoKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VTdWIpXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRTZWFyY2gocmVzZXRQYWdlOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICBpZiAocmVzZXRQYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldEl0ZW1zKFJlcG9zaXRvcnlbXCJQT1NUX0RpcmVjdG9yX0dldFByb2ZpbGVyRGF0YU5vZGVzXCJdLCB0aGlzLnNlYXJjaFZpZXcpO1xyXG4gICAgfVxyXG5cclxuICAgIFBPU1RHZXRJdGVtcyh1cmw6IHN0cmluZywgZGF0YTogUHJvZmlsZXJEYXRhTm9kZXNWaWV3KSB7XHJcbiAgICAgICAgdGhpcy5odHRwLnBvc3Q8UHJvZmlsZXJEYXRhTm9kZXNWaWV3Pih1cmwsIGRhdGEpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gdDtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIkhvdFNlYXJjaFByb2ZpbGF0b1wiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXBhcmVFeHBvcnQoZGF0YUNhbGxCYWNrKSB7XHJcbiAgICAgICAgdmFyIHZpZXcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc2VhcmNoVmlldykpO1xyXG4gICAgICAgIHZpZXcucGFnZSA9IDE7XHJcbiAgICAgICAgdmlldy5pdGVtc3BlcnBhZ2VvdmVycmlkZSA9IDk5OTk5OTk7XHJcbiAgICAgICAgdGhpcy5odHRwLnBvc3Q8UHJvZmlsZXJEYXRhTm9kZXNWaWV3PihSZXBvc2l0b3J5W1wiUE9TVF9EaXJlY3Rvcl9HZXRQcm9maWxlckRhdGFOb2Rlc1wiXSwgdmlldykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICBsZXQgaXRlbXM6IFByb2ZpbGVyRGF0YU5vZGVbXSA9IHRoaXMuZXhwRXh0cy5kZXNlcmlhbGl6ZUZvckV4cG9ydCh0Lml0ZW1zLCBQcm9maWxlckRhdGFOb2RlKTtcclxuICAgICAgICAgICAgZGF0YUNhbGxCYWNrKGl0ZW1zKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkTm9kZURldGFpbHMobm9kZUlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLk5vZGVEZXRhaWxzID0gbnVsbDtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdub2RlSWQnLCBub2RlSWQpO1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8Tm9kZVN0YXRzPihSZXBvc2l0b3J5LkdFVF9EaXJlY3Rvcl9HZXROb2RlU3RhdHMsIHBhcnMpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Ob2RlRGV0YWlscyA9IHQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYXBwLW92ZXJmbG93LXZpc2libGVcIiB3aWRnZXQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXVwcGVyY2FzZVwiPnt7J1Byb2ZpbGVyIGRlbCBTZXJ2ZXInIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHdpZGdldC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGJvdHRvbS0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYXBwLWZpcnN0LWZpbHRlci1saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWRhdGUgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJmcm9tXCIgbmFtZT1cImZpbHRlcmZyb21cIiBbUGxhY2Vob2xkZXJdPVwiJ0RhJyB8IGxvY2FsaXplOiBsY1wiPjwvZm9ybS1kYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWRhdGUgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ0b1wiIG5hbWU9XCJmaWx0ZXJ0b1wiIFtQbGFjZWhvbGRlcl09XCInQScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0tZGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwic2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2ggYXBwLW1hcmdpbi10b3AtMjBcIiAoY2xpY2spPVwic2VuZFNlYXJjaCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiIXNlYXJjaFZpZXdcIj48ZW0+e3snQ2FyaWNvIGkgRGF0aScgfCBsb2NhbGl6ZTogbGN9fTwvZW0+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoVmlld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVzLXRhYmxlIFsobmdNb2RlbCldPVwic2VhcmNoVmlld1wiIFtIaWVyYXJjaHldPVwidHJ1ZVwiIFtPcmRlckJ5Q29sdW1uXT1cImZhbHNlXCIgW1BhcmVudEtleV09XCIncGFyZW50aWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbT3duS2V5XT1cIidpZCdcIiBbU3RhcnRzRXhwYW5kZWRdPVwiZmFsc2VcIiBbRXhwb3J0RnVuY3Rpb25dPVwicHJlcGFyZUV4cG9ydC5iaW5kKHRoaXMpXCIgW0V4cG9ydF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRXhwb3J0RmlsZU5hbWVdPVwiJ1Byb2ZpbGVyIEV4cG9ydC5jc3YnXCIgW0hpZGVQYWdpbmddPVwidHJ1ZVwiIChvblNlYXJjaFJlcXVlc3QpPVwic2VuZFNlYXJjaCgkZXZlbnQpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxJ1wiPnt7J0lEJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicyJ1wiPnt7J0Rlc2NyaXppb25lJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIiczJ1wiPnt7J0NoaWFtYXRlJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic0J1wiPnt7J1RlbXBvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic1J1wiPnt7J1RlbXBvIE1heCcgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInNidcIj57eydUZW1wbyBNaW4nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzcnXCI+e3snVGVtcG8gTWVkaW8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzgnXCI+e3snVGVtcG8gU3BlY2lmaWNvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIic5J1wiPnt7J1BlcmNlbnR1YWxlJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMCdcIj57eydDaGlhbWF0ZSBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMSdcIj57eydUZW1wbyBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxMidcIj57eydUZW1wbyBNYXggUGVyaW9kbycgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGg9XCInMTMnXCI+e3snVGVtcG8gTWluIFBlcmlvZG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE0J1wiPnt7J1RlbXBvIE1lZGlvIFBlcmlvZG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE1J1wiPnt7J1RlbXBvIFNwZWNpZmljbyBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxNidcIj57eydQZXJjZW50dWFsZSBQZXJpb2RvJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0aD1cIicxNydcIj57eydOb21lIFRpcG9sb2dpYSBFdmVudG8nIHwgbG9jYWxpemU6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRoPVwiJzE4J1wiPnt7J05vbWUgQ2xhc3NlIEF0dGVzYScgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzEnOyBsZXQgaXRlbVwiPjxzcGFuIGNsYXNzPVwiYXBwLWxpbmsgYXBwLWlubGluZVwiIChjbGljayk9XCJsb2FkTm9kZURldGFpbHMoaXRlbS5pZCk7IGRsZ05vZGVEZXRhaWxzLnNob3coKTtcIj57e2l0ZW0uaWR9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzInOyBsZXQgaXRlbVwiIHRpdGxlPVwie3tpdGVtLmRlc2NyaXB0aW9ufX1cIj57e2l0ZW0uZGVzY3JpcHRpb24ubGVuZ3RoIDw9IDUwID8gaXRlbS5kZXNjcmlwdGlvbiA6IGl0ZW0uZGVzY3JpcHRpb24uc3Vic3RyKDAsNTApICsgXCJbLi4uXVwiIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIiczJzsgbGV0IGl0ZW1cIj57e2l0ZW0uY2FsbHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInNCc7IGxldCBpdGVtXCI+e3tpdGVtLnRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInNSc7IGxldCBpdGVtXCI+e3tpdGVtLnBlYWt0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzYnOyBsZXQgaXRlbVwiPnt7aXRlbS5taW50aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzcnOyBsZXQgaXRlbVwiPnt7aXRlbS5hdmd0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzgnOyBsZXQgaXRlbVwiPnt7aXRlbS50aW1ld2l0aG91dGNoaWxkcmVuIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIic5JzsgbGV0IGl0ZW1cIj57e2l0ZW0ucGVyY2VudGFnZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxMCcgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcGRlbHRhY2FsbHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTEnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBkZWx0YXRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTInIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBwZWFrdGltZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxMycgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcG1pbnRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTQnIGxldCBpdGVtXCI+e3tpdGVtLnNuYXBhdmd0aW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKnRkPVwiJzE1JyBsZXQgaXRlbVwiPnt7aXRlbS5zbmFwdGltZXdpdGhvdXRjaGlsZHJlbn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICp0ZD1cIicxNicgbGV0IGl0ZW1cIj57e2l0ZW0uc25hcHBlcmNlbnRhZ2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTcnIGxldCBpdGVtXCI+e3tpdGVtLmV2ZW50dHlwZW5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqdGQ9XCInMTgnIGxldCBpdGVtXCI+e3tpdGVtLndhaXRjbGFzc25hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXMtdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBic01vZGFsICNkbGdOb2RlRGV0YWlscz1cImJzLW1vZGFsXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPG5vZGUtZGV0YWlsICpuZ0lmPVwiTm9kZURldGFpbHNcIiBbTm9kZURldGFpbHNdPVwiTm9kZURldGFpbHNcIiAob25DbG9zZSk9XCJkbGdOb2RlRGV0YWlscy5oaWRlKClcIj48L25vZGUtZGV0YWlsPlxyXG48L2Rpdj4iXX0=
|
|
@@ -4,7 +4,7 @@ import { Component, Inject } from "@angular/core";
|
|
|
4
4
|
import { DateValue, Limit, LineChartData, LineSerie } from "@esfaenza/es-charts";
|
|
5
5
|
import { LocalizationService } from "@esfaenza/localizations";
|
|
6
6
|
import { InboundMessageTypes } from "@esfaenza/extensions";
|
|
7
|
-
import {
|
|
7
|
+
import { catchError } from "rxjs/operators";
|
|
8
8
|
import { Repository } from "../../models/externals/Repository";
|
|
9
9
|
import { TopActivitiesDataView } from "../../models/components/TopActivitiesDataView";
|
|
10
10
|
// Applicazione
|
|
@@ -12,6 +12,7 @@ import { ADM_MODULE_PATH } from "../../tokens";
|
|
|
12
12
|
// Localizzazione
|
|
13
13
|
import { AdmTopActivitieLoc } from "./topact_search.component.loc";
|
|
14
14
|
import { HttpParams } from "@angular/common/http";
|
|
15
|
+
import { of } from "rxjs";
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
import * as i1 from "@esfaenza/extensions";
|
|
17
18
|
import * as i2 from "@esfaenza/localizations";
|
|
@@ -74,7 +75,7 @@ export class AdmTopActivitiesComponent {
|
|
|
74
75
|
init(HotPotato) {
|
|
75
76
|
if (HotPotato) {
|
|
76
77
|
this.searchView = HotPotato;
|
|
77
|
-
this.POSTGetItems(Repository.
|
|
78
|
+
this.POSTGetItems(Repository.POST_Director_GetTopActivities, this.searchView, false);
|
|
78
79
|
}
|
|
79
80
|
else {
|
|
80
81
|
this.searchView = new TopActivitiesDataView();
|
|
@@ -89,7 +90,7 @@ export class AdmTopActivitiesComponent {
|
|
|
89
90
|
this.searchView.searchinprogress = true;
|
|
90
91
|
if (resetPage)
|
|
91
92
|
this.searchView.page = 1;
|
|
92
|
-
this.POSTGetItems(Repository.
|
|
93
|
+
this.POSTGetItems(Repository.POST_Director_GetTopActivities, searchViewOverride ?? this.searchView, update);
|
|
93
94
|
}
|
|
94
95
|
POSTGetItems(url, data, update) {
|
|
95
96
|
this.http.post(url, data).subscribe(async (t) => {
|
|
@@ -98,18 +99,16 @@ export class AdmTopActivitiesComponent {
|
|
|
98
99
|
this.searchView = t;
|
|
99
100
|
this.localStorage.setItem("HotSearchTopAct", this.searchView).subscribe();
|
|
100
101
|
}
|
|
101
|
-
|
|
102
|
+
// DirectorInfos anche se per qualche motivo crasha di brutto è comunque non obbligatorio, evito di non caricare la pagina solo perché lui scoppia
|
|
103
|
+
var dirinfos = await this.http.get(Repository.GET_Director_GetInfos, null, null, false).pipe(catchError(_ => of(null))).toPromise();
|
|
102
104
|
this.searchView.searchinprogress = false;
|
|
103
105
|
this.reviewBindings(update, t, dirinfos);
|
|
104
106
|
});
|
|
105
107
|
}
|
|
106
|
-
getDirectorInfos() {
|
|
107
|
-
return this.http.get(Repository.GET_Adm_GetInfos).pipe(map(res => { return res; })).toPromise();
|
|
108
|
-
}
|
|
109
108
|
loadNodeDetails(nodeId) {
|
|
110
109
|
this.NodeDetails = null;
|
|
111
110
|
let pars = new HttpParams().set('nodeId', nodeId);
|
|
112
|
-
this.http.get(Repository.
|
|
111
|
+
this.http.get(Repository.GET_Director_GetNodeStats, pars).subscribe(t => {
|
|
113
112
|
this.NodeDetails = t;
|
|
114
113
|
});
|
|
115
114
|
}
|
|
@@ -195,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
195
194
|
type: Inject,
|
|
196
195
|
args: [ADM_MODULE_PATH]
|
|
197
196
|
}] }]; } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYWN0X3NlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3RvcGFjdC90b3BhY3Rfc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdG9wYWN0L3RvcGFjdF9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxELGlCQUFpQjtBQUNqQixPQUFPLEVBQXNCLFNBQVMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzlELE9BQU8sRUFBZSxtQkFBbUIsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUl6RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBS3RGLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBV2xELE1BQU0sT0FBTyx5QkFBeUI7SUFXbEMsWUFDVyxRQUFxQixFQUNyQixFQUF1QixFQUN0QixZQUFnQyxFQUNoQyxRQUFrQixFQUNsQixRQUF5QixFQUN6QixJQUFpQixFQUNqQixLQUFxQixFQUNJLEdBQVc7UUFQckMsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ0ksUUFBRyxHQUFILEdBQUcsQ0FBUTtRQWxCekMsZUFBVSxHQUEwQixJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFJaEUsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixZQUFPLEdBQVcsR0FBRyxDQUFDO1FBZ0c3Qiw0QkFBdUIsR0FBbUMsRUFBRSxDQUFDO1FBQzdELDRCQUF1QixHQUFnQztZQUNuRCxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUs7WUFDbEIsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNO1lBQ3BCLENBQUMsWUFBWSxDQUFDLEVBQUUsV0FBVztZQUMzQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUk7WUFDaEIsQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTO1lBQ3RCLENBQUMsY0FBYyxDQUFDLEVBQUUsWUFBWTtZQUM5QixDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU87WUFDdEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO1NBQ25CLENBQUM7UUEzRkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25JLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJLENBQUMsV0FBVztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYTtRQUN0QixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUF3QixpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkI7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNyRTtJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsU0FBZ0M7UUFDakMsSUFBSSxTQUFTLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ25GO2FBQ0k7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsWUFBcUIsSUFBSSxFQUFFLFNBQWtCLEtBQUssRUFBRSxxQkFBNEMsSUFBSTtRQUMzRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QyxJQUFJLFNBQVM7WUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFFN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMseUJBQXlCLEVBQUUsa0JBQWtCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVcsRUFBRSxJQUEyQixFQUFFLE1BQWU7UUFFbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXdCLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25FLG1JQUFtSTtZQUNuSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDN0U7WUFDRCxJQUFJLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFnQixVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25ILENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksVUFBVSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFvQkQsY0FBYyxDQUFDLE1BQWUsRUFBRSxrQkFBbUIsRUFBRSxRQUF3QjtRQUN6RSxJQUFJLFNBQVMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV6QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLE1BQU0sR0FBZ0IsRUFBRSxDQUFDO1FBQzdCLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUMxRixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDOUM7U0FDSjtRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuRCxJQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV4QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDMUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEc7UUFFRCxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlCLElBQUksSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQy9HO1NBQ0o7YUFDSTtZQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoSCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0c7SUFDTCxDQUFDO0lBSUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN4QixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3hGOztZQUVHLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQU1ELG9CQUFvQixDQUFDLEtBQWlEO1FBQ2xFLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNsSixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFFMUksSUFBSSxnQkFBZ0IsR0FBMEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzFGLGdCQUFnQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsSCxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUF5QjtRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNaLEtBQUssQ0FBQyxLQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN2RSxLQUFLLENBQUMsS0FBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDM0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDUSxLQUFLLENBQUMsS0FBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZFLEtBQUssQ0FBQyxLQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFFM0YsMkdBQTJHO1lBQy9HLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0hBck1RLHlCQUF5QixrT0FtQnRCLGVBQWU7MEdBbkJsQix5QkFBeUIsd0NBTHZCO1FBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO0tBQ2pFLDBCQ3JDTCwrL1JBMEhNOzJGRGxGTyx5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0ksZUFBZSxhQUNkO3dCQUNQLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtxQkFDakU7OzBCQXNCSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQmFzZUNoYXJ0Q29tcG9uZW50LCBEYXRlVmFsdWUsIExpbWl0LCBMaW5lQ2hhcnREYXRhLCBMaW5lU2VyaWUgfSBmcm9tIFwiQGVzZmFlbnphL2VzLWNoYXJ0c1wiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGVTZXJ2aWNlLCBJbmJvdW5kTWVzc2FnZVR5cGVzLCBJbnRlckNvbVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbi8vIERpcmV0dGl2ZSwgQ29tcG9uZW50aSwgTGlicmVyaWVcclxuaW1wb3J0ICogYXMgYW00Y2hhcnRzIGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM0L2NoYXJ0c1wiO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgRGlyZWN0b3JJbmZvcyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9EaXJlY3RvckluZm9zXCI7XHJcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4dGVybmFscy9SZXBvc2l0b3J5XCI7XHJcbmltcG9ydCB7IFRvcEFjdGl2aXRpZXNEYXRhVmlldyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9Ub3BBY3Rpdml0aWVzRGF0YVZpZXdcIjtcclxuaW1wb3J0IHsgVG9wTm9kZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9Ub3BOb2RlXCI7XHJcbmltcG9ydCB7IFRvcFNlc3Npb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvVG9wU2Vzc2lvblwiO1xyXG5pbXBvcnQgeyBOb2RlU3RhdHMgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvTm9kZVN0YXRzXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQURNX01PRFVMRV9QQVRIIH0gZnJvbSBcIi4uLy4uL3Rva2Vuc1wiO1xyXG5cclxuLy8gTG9jYWxpenphemlvbmVcclxuaW1wb3J0IHsgQWRtVG9wQWN0aXZpdGllTG9jIH0gZnJvbSBcIi4vdG9wYWN0X3NlYXJjaC5jb21wb25lbnQubG9jXCI7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbmRlY2xhcmUgdmFyIGRheWpzO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJ0b3BhY3Rfc2VhcmNoXCIsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1Ub3BBY3Rpdml0aWVMb2MgfVxyXG4gICAgXSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdG9wYWN0X3NlYXJjaC5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG1Ub3BBY3Rpdml0aWVzQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBUb3BBY3Rpdml0aWVzRGF0YVZpZXcgPSBuZXcgVG9wQWN0aXZpdGllc0RhdGFWaWV3KCk7XHJcbiAgICBwdWJsaWMgc3RvcmFnZVN1YjogYW55O1xyXG4gICAgcHJpdmF0ZSBMYXN0RGF0YVBvaW50OiBhbnk7XHJcblxyXG4gICAgcHVibGljIGF1dG9VcGRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzZWNvbmRzOiBzdHJpbmcgPSBcIjVcIjtcclxuXHJcbiAgICBwcml2YXRlIENoYXJ0SW5zdGFuY2U6IEJhc2VDaGFydENvbXBvbmVudDtcclxuICAgIHB1YmxpYyBOb2RlRGV0YWlsczogTm9kZVN0YXRzO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBkYXRlRXh0czogRGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgQEluamVjdChBRE1fTU9EVUxFX1BBVEgpIHByaXZhdGUgbW9kOiBzdHJpbmcpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5zZW5kKEluYm91bmRNZXNzYWdlVHlwZXMuTmF2aWdhdGlvbiwgeyBzdWI6IGZhbHNlLCByb3V0ZVRpdGxlOiB0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU3ViID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Jbml0KHBhcmFtc1tcImlnbm9yZVN0b3JhZ2VcIl0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIEluaXQoaWdub3JlU3RvcmUpIHtcclxuICAgICAgICB0aGlzLmRvSW5pdChpZ25vcmVTdG9yZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZG9Jbml0KGlnbm9yZVN0b3JhZ2UpIHtcclxuICAgICAgICBsZXQgaXRlbSA9IGF3YWl0IHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW08VG9wQWN0aXZpdGllc0RhdGFWaWV3PihcIkhvdFNlYXJjaFRvcEFjdFwiKS50b1Byb21pc2UoKTtcclxuICAgICAgICBpZiAoIWlnbm9yZVN0b3JhZ2UgJiYgaXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQoaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShgL3BhZ2VzLyR7dGhpcy5tb2R9L3RvcGFjdGApO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zID0gW107XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJIb3RTZWFyY2hUb3BBY3RcIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoSG90UG90YXRvOiBUb3BBY3Rpdml0aWVzRGF0YVZpZXcpIHtcclxuICAgICAgICBpZiAoSG90UG90YXRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEhvdFBvdGF0bztcclxuICAgICAgICAgICAgdGhpcy5QT1NUR2V0SXRlbXMoUmVwb3NpdG9yeS5QT1NUX0FkbV9HZXRUb3BBY3Rpdml0aWVzLCB0aGlzLnNlYXJjaFZpZXcsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG5ldyBUb3BBY3Rpdml0aWVzRGF0YVZpZXcoKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VTdWIpXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRTZWFyY2gocmVzZXRQYWdlOiBib29sZWFuID0gdHJ1ZSwgdXBkYXRlOiBib29sZWFuID0gZmFsc2UsIHNlYXJjaFZpZXdPdmVycmlkZTogVG9wQWN0aXZpdGllc0RhdGFWaWV3ID0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICBpZiAocmVzZXRQYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldEl0ZW1zKFJlcG9zaXRvcnkuUE9TVF9BZG1fR2V0VG9wQWN0aXZpdGllcywgc2VhcmNoVmlld092ZXJyaWRlID8/IHRoaXMuc2VhcmNoVmlldywgdXBkYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBQT1NUR2V0SXRlbXModXJsOiBzdHJpbmcsIGRhdGE6IFRvcEFjdGl2aXRpZXNEYXRhVmlldywgdXBkYXRlOiBib29sZWFuKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PFRvcEFjdGl2aXRpZXNEYXRhVmlldz4odXJsLCBkYXRhKS5zdWJzY3JpYmUoYXN5bmMgKHQpID0+IHtcclxuICAgICAgICAgICAgLy9TZSBzb25vIGluIG1vZGFsaXTDoCBkaSB1cGRhdGUgbm9uIGRldm8gdG9jY2FyZSBsYSBzZWFyY2hWaWV3IGF0dHVhbGUgc2Ugbm9uIHBlciBpbCBzZWFyY2hpbnByb2dyZXNzIGNoZSB2aWVuZSBtZXNzbyBkYWxsJ2VzIHRhYmxlXHJcbiAgICAgICAgICAgIGlmICghdXBkYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSB0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIkhvdFNlYXJjaFRvcEFjdFwiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhciBkaXJpbmZvcyA9IGF3YWl0IHRoaXMuZ2V0RGlyZWN0b3JJbmZvcygpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJldmlld0JpbmRpbmdzKHVwZGF0ZSwgdCwgZGlyaW5mb3MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERpcmVjdG9ySW5mb3MoKTogUHJvbWlzZTxEaXJlY3RvckluZm9zPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGlyZWN0b3JJbmZvcz4oUmVwb3NpdG9yeS5HRVRfQWRtX0dldEluZm9zKS5waXBlKG1hcChyZXMgPT4geyByZXR1cm4gcmVzOyB9KSkudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZE5vZGVEZXRhaWxzKG5vZGVJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5Ob2RlRGV0YWlscyA9IG51bGw7XHJcbiAgICAgICAgbGV0IHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnbm9kZUlkJywgbm9kZUlkKTtcclxuICAgICAgICB0aGlzLmh0dHAuZ2V0PE5vZGVTdGF0cz4oUmVwb3NpdG9yeS5HRVRfQWRtX0dldE5vZGVTdGF0cywgcGFycykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLk5vZGVEZXRhaWxzID0gdDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFRyYXNmb3JtYXppb25lIGRhIHNlYXJjaHZpZXcgY29uIHVuaWNvIGVsZW1lbnRvIGNvbiB0dXR0byBhaSAzIGVsZW1lbnRpOlxyXG4gICAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHcmFmaWNvLCBUb3BOb2RlcyBlIFRvcFNlc3Npb25zXHJcbiAgICBUb3BBY3RpdmVTZXNzaW9uczogTGluZUNoYXJ0RGF0YTtcclxuICAgIFRvcE5vZGVzOiBUb3BOb2RlW107XHJcbiAgICBUb3BTZXNzaW9uczogVG9wU2Vzc2lvbltdO1xyXG4gICAgRGlySW5mb3M6IERpcmVjdG9ySW5mb3M7XHJcbiAgICBzZXJpZXNQcm9wZXJ0aWVzTWFwcGluZzogeyBbaW5kZXg6IHN0cmluZ106IExpbmVTZXJpZSB9ID0ge307XHJcbiAgICBwcm9wZXJ0aWVzU2VyaWVzTWFwcGluZzogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB9ID0ge1xyXG4gICAgICAgIFtcImNwdXRpbWVcIl06IFwiQ1BVXCIsXHJcbiAgICAgICAgW1wid2FpdHRpbWVcIl06IFwiV2FpdFwiLFxyXG4gICAgICAgIFtcInNjcmlwdHRpbWVcIl06IFwiU2NyaXB0aW5nXCIsXHJcbiAgICAgICAgW1wiZGJ0aW1lXCJdOiBcIkRCXCIsXHJcbiAgICAgICAgW1wibmV0dGltZVwiXTogXCJOZXR3b3JrXCIsXHJcbiAgICAgICAgW1widGhyb3R0bGV0aW1lXCJdOiBcIlRocm90dGxpbmdcIixcclxuICAgICAgICBbXCJzbGVlcHRpbWVcIl06IFwiU2xlZXBcIixcclxuICAgICAgICBbXCJpb3RpbWVcIl06IFwiSU9cIlxyXG4gICAgfTtcclxuXHJcbiAgICByZXZpZXdCaW5kaW5ncyh1cGRhdGU6IGJvb2xlYW4sIHNlYXJjaFZpZXdPdmVycmlkZT8sIGRpckluZm9zPzogRGlyZWN0b3JJbmZvcykge1xyXG4gICAgICAgIGxldCByZWZlcmVuY2UgPSAoc2VhcmNoVmlld092ZXJyaWRlID8/IHRoaXMuc2VhcmNoVmlldykuaXRlbXNbMF07XHJcbiAgICAgICAgdGhpcy5Ub3BOb2RlcyA9IHJlZmVyZW5jZS50b3Bub2RlcztcclxuICAgICAgICB0aGlzLlRvcFNlc3Npb25zID0gcmVmZXJlbmNlLnRvcHNlc3Npb25zO1xyXG4gICAgICAgIHRoaXMuRGlySW5mb3MgPSBkaXJJbmZvcztcclxuXHJcbiAgICAgICAgaWYgKCFyZWZlcmVuY2UuYWN0c2Vzc2lvbnMgfHwgcmVmZXJlbmNlLmFjdHNlc3Npb25zLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuVG9wQWN0aXZlU2Vzc2lvbnMgPSBudWxsO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgc2VyaWVzOiBMaW5lU2VyaWVbXSA9IFtdOyAgICAgIFxyXG4gICAgICAgIGxldCBwcm9wcyA9IE9iamVjdC5rZXlzKHJlZmVyZW5jZS5hY3RzZXNzaW9uc1swXSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHNbaV0gIT0gJ3NhbXBsZXRpbWUnKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcyA9IG5ldyBMaW5lU2VyaWUodGhpcy5wcm9wZXJ0aWVzU2VyaWVzTWFwcGluZ1twcm9wc1tpXV0sIFtdLCBudWxsLCBudWxsLCBcInNlc3Npb25zXCIpO1xyXG4gICAgICAgICAgICAgICAgc2VyaWVzLnB1c2gocyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlcmllc1Byb3BlcnRpZXNNYXBwaW5nW3Byb3BzW2ldXSA9IHM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVmZXJlbmNlLmFjdHNlc3Npb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtcmVmID0gcmVmZXJlbmNlLmFjdHNlc3Npb25zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdGhlRCA9IG5ldyBEYXRlKGl0ZW1yZWYuc2FtcGxldGltZSk7XHJcblxyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2ldICE9ICdzYW1wbGV0aW1lJyAmJiAoIXVwZGF0ZSB8fCB0aGlzLmRhdGVFeHRzLmdldERhdGVDb252ZXJ0aW9uKHRoZUQpLmlzQWZ0ZXIodGhpcy5MYXN0RGF0YVBvaW50KSkpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJpZXNQcm9wZXJ0aWVzTWFwcGluZ1twcm9wc1tpXV0udmFsdWVzLnB1c2gobmV3IERhdGVWYWx1ZSh0aGVELCBpdGVtcmVmW3Byb3BzW2ldXSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHVwZGF0ZSAmJiB0aGlzLkNoYXJ0SW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSBuZXcgTGluZUNoYXJ0RGF0YShzZXJpZXMsIG5ldyBMaW1pdChkaXJJbmZvcz8udGhyZWFkcywgdGhpcy5sYy5sb2MoXCJUaHJlYWQgTWFzc2ltaVwiKSkpO1xyXG4gICAgICAgICAgICBpZiAoc2VyaWVzLnNvbWUodCA9PiB0LnZhbHVlcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlLmFkZERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkxhc3REYXRhUG9pbnQgPSBzZXJpZXMubWFwKHQgPT4gZGF5anMubWF4KHQudmFsdWVzLm1hcCh2ID0+IHRoaXMuZGF0ZUV4dHMuZ2V0RGF0ZUNvbnZlcnRpb24odi5kKSkpKVswXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5Ub3BBY3RpdmVTZXNzaW9ucyA9IG5ldyBMaW5lQ2hhcnREYXRhKHNlcmllcywgbmV3IExpbWl0KGRpckluZm9zPy50aHJlYWRzLCB0aGlzLmxjLmxvYyhcIlRocmVhZCBNYXNzaW1pXCIpKSk7XHJcbiAgICAgICAgICAgIHRoaXMuTGFzdERhdGFQb2ludCA9IHNlcmllcy5tYXAodCA9PiBkYXlqcy5tYXgodC52YWx1ZXMubWFwKHYgPT4gdGhpcy5kYXRlRXh0cy5nZXREYXRlQ29udmVydGlvbih2LmQpKSkpWzBdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAjcmVnaW9uIEdlc3Rpb25lIHVwZGF0ZSBhdXRvbWF0aWNvXHJcbiAgICB1cGRhdGVUaW1lcjogYW55O1xyXG4gICAgYXV0b1VwZGF0ZUNoYW5nZWQoKSB7XHJcbiAgICAgICAgaWYgKCEvXlsxLTldXFxkKiQvLnRlc3QodGhpcy5zZWNvbmRzKSlcclxuICAgICAgICAgICAgdGhpcy5zZWNvbmRzID0gJzEwJztcclxuICAgICAgICBjb25zdCBzZWNvbmRzSW5NcyA9IHBhcnNlSW50KHRoaXMuc2Vjb25kcywgbnVsbCkgKiAxMDAwO1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9VcGRhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKGZhbHNlLCB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lciA9IHNldEludGVydmFsKCgpID0+IHsgdGhpcy5zZW5kU2VhcmNoKGZhbHNlLCB0cnVlKTsgfSwgc2Vjb25kc0luTXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy51cGRhdGVUaW1lcik7XHJcbiAgICB9XHJcbiAgICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gICAgcHJpdmF0ZSBmcm9tOiBEYXRlO1xyXG4gICAgcHJpdmF0ZSB0bzogRGF0ZTtcclxuXHJcbiAgICBkYXRhU2VsZWN0aW9uQ2hhbmdlZChldmVudDogeyBmcm9tOiBEYXRlLCB0bzogRGF0ZSwgaW5pdGlhbDogYm9vbGVhbiB9KSB7XHJcbiAgICAgICAgdGhpcy5mcm9tID0gZXZlbnQuaW5pdGlhbCA/ICh0aGlzLnNlYXJjaFZpZXcuZmlsdGVyZnJvbSA/IHRoaXMuZGF0ZUV4dHMuZ2V0RGF0ZUNvbnZlcnRpb24odGhpcy5zZWFyY2hWaWV3LmZpbHRlcmZyb20pLnRvRGF0ZSgpIDogXCJcIikgOiBldmVudC5mcm9tO1xyXG4gICAgICAgIHRoaXMudG8gPSBldmVudC5pbml0aWFsID8gKHRoaXMuc2VhcmNoVmlldy5maWx0ZXJ0byA/IHRoaXMuZGF0ZUV4dHMuZ2V0RGF0ZUNvbnZlcnRpb24odGhpcy5zZWFyY2hWaWV3LmZpbHRlcnRvKS50b0RhdGUoKSA6IFwiXCIpIDogZXZlbnQudG87XHJcblxyXG4gICAgICAgIHZhciBwc2V1ZG9TZWFyY2hWaWV3OiBUb3BBY3Rpdml0aWVzRGF0YVZpZXcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc2VhcmNoVmlldykpO1xyXG4gICAgICAgIHBzZXVkb1NlYXJjaFZpZXcuZmlsdGVyZnJvbSA9IHRoaXMuZnJvbSA/IGRheWpzKHRoaXMuZnJvbSkuZm9ybWF0KHRoaXMubGMudG9rZW4oXCJnZXRGdWxsRGF0ZURpc3BsYXlGb3JtYXRcIikpIDogXCJcIjtcclxuICAgICAgICBwc2V1ZG9TZWFyY2hWaWV3LmZpbHRlcnRvID0gdGhpcy50byA/IGRheWpzKHRoaXMudG8pLmZvcm1hdCh0aGlzLmxjLnRva2VuKFwiZ2V0RnVsbERhdGVEaXNwbGF5Rm9ybWF0XCIpKSA6IFwiXCI7XHJcbiAgICAgICAgdGhpcy5zZW5kU2VhcmNoKHRydWUsIHRydWUsIHBzZXVkb1NlYXJjaFZpZXcpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhcnRMb2FkZWQoY2hhcnQ6IEJhc2VDaGFydENvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZSA9IGNoYXJ0O1xyXG4gICAgICAgIGNoYXJ0LkNoYXJ0LmV2ZW50cy5vbihcInJlYWR5XCIsICgpID0+IHtcclxuICAgICAgICAgICAgKDxhbTRjaGFydHMuWFlDaGFydD5jaGFydC5DaGFydCkueEF4ZXMuZWFjaCh4ID0+IHguem9vbSh7IHN0YXJ0OiAwLCBlbmQ6IDEgfSwgdHJ1ZSwgdHJ1ZSkpO1xyXG4gICAgICAgICAgICAoPGFtNGNoYXJ0cy5YWUNoYXJ0PmNoYXJ0LkNoYXJ0KS55QXhlcy5lYWNoKHkgPT4geS56b29tKHsgc3RhcnQ6IDAsIGVuZDogMSB9LCB0cnVlLCB0cnVlKSk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgKDxhbTRjaGFydHMuWFlDaGFydD5jaGFydC5DaGFydCkueEF4ZXMuZWFjaCh4ID0+IHguem9vbSh7IHN0YXJ0OiAwLCBlbmQ6IDEgfSwgdHJ1ZSwgdHJ1ZSkpO1xyXG4gICAgICAgICAgICAgICAgKDxhbTRjaGFydHMuWFlDaGFydD5jaGFydC5DaGFydCkueUF4ZXMuZWFjaCh5ID0+IHkuem9vbSh7IHN0YXJ0OiAwLCBlbmQ6IDEgfSwgdHJ1ZSwgdHJ1ZSkpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIDUwMCBtaWxsaXNlY29uZGkgw6ggcGnDuSBvIG1lbm8gaWwgdGVtcG8gZGkgcHJpbWEgYW5pbWF6aW9uZSBkZWwgZ3JhZmljby4gRmluaXRvIHF1ZXN0byBzaSByZXNldHRhIGxvIHpvb21cclxuICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBhcHAtb3ZlcmZsb3ctdmlzaWJsZVwiIHdpZGdldD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJjYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3snQXR0aXZpdMOgIFByaW5jaXBhbGknIHwgbG9jYWxpemU6IGxjfX1cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIkRpckluZm9zXCI+Jm5ic3A7LSZuYnNwO3t7JycgKyBEaXJJbmZvcy5jcHVzICsgJyAnICsgKCdDUFUnIHwgbG9jYWxpemU6IGxjKSArIChEaXJJbmZvcy5yc3NwbGFuID8gJyAtICcgKyBEaXJJbmZvcy5yc3NwbGFuIDogJycpfX08L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHdpZGdldC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGFwcC1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYXBwLWZpcnN0LWZpbHRlci1saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWRhdGV0aW1lIFtSZWFkb25seV09XCJhdXRvVXBkYXRlXCIgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJmcm9tXCIgbmFtZT1cImZpbHRlcmZyb21cIiBbUGxhY2Vob2xkZXJdPVwiJ0RhJyB8IGxvY2FsaXplOiBsY1wiPjwvZm9ybS1kYXRldGltZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRldGltZSAgW1JlYWRvbmx5XT1cImF1dG9VcGRhdGVcIiBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnRvXCIgbmFtZT1cImZpbHRlcnRvXCIgW1BsYWNlaG9sZGVyXT1cIidBJyB8IGxvY2FsaXplOiBsY1wiPjwvZm9ybS1kYXRldGltZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwic2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzIHx8IGF1dG9VcGRhdGVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFkZG9uIGJ0biBhcHAtYnRuLXNlYXJjaCBhcHAtbWFyZ2luLXRvcC0yMFwiIChjbGljayk9XCJzZW5kU2VhcmNoKClcIiB0eXBlPVwic3VibWl0XCI+PGkgY2xhc3M9XCJmYSBmYS1zZWFyY2hcIj48L2k+PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1hYnNvbHV0ZSBhcHAtcmlnaHQtMjUgYXBwLXRvcC00MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0FnZ2lvcm5hIG9nbmknIHwgbG9jYWxpemU6IGxjfX0mbmJzcDs8aW5wdXQgW3JlYWRvbmx5XT1cImF1dG9VcGRhdGVcIiBtYXhsZW5ndGg9XCIzXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXVwZGV2ZXJ5LWlucHV0XCIgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlY29uZHNcIiBuYW1lPVwic2Vjb25kc1wiIC8+Jm5ic3A7e3snc2Vjb25kby9pJyB8IGxvY2FsaXplOiBsY319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHQgbS10LTIgYXBwLW1hcmdpbi1yaWdodC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwiYXV0b1VwZGF0ZVwiIG5hbWU9XCJhdXRvVXBkYXRlXCIgKG5nTW9kZWxDaGFuZ2UpPVwiYXV0b1VwZGF0ZUNoYW5nZWQoKTtcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNsaWRlciByb3VuZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYXBwLW1hcmdpbi10b3AtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFzZWFyY2hWaWV3XCI+PGVtPnt7J0NhcmljbyBpIERhdGknIHwgbG9jYWxpemU6IGxjfX08L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaFZpZXdcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBhcHAtbm8tcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAyOTBweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXMtbGluZS1jaGFydCAqbmdJZj1cIlRvcEFjdGl2ZVNlc3Npb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW01pbkdyaWREaXN0YW5jZV09XCI2NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUaW1lbGluZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtGaW5hbEluc3RhbnRzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xlZ2VuZFBhZGRpbmddPVwie3RvcDogMCwgYm90dG9tOiA3LCByaWdodDogMCwgbGVmdDogMTB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZpbGxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtNZXJnZURhdGFzZXRzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGF0YV09XCJUb3BBY3RpdmVTZXNzaW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMZWdlbmRdPVwidHJ1ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidG9wYWN0c2Vzc2lvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEYXRhR3JvdXBpbmdUaHJlc2hvbGRdPVwiOTk5OTk5OTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cImRhdGFTZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIiAoY2hhcnRMb2FkZWQpPVwib25DaGFydExvYWRlZCgkZXZlbnQpXCI+PC9lcy1saW5lLWNoYXJ0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+e3snUHJpbWUgSXN0cnV6aW9uaScgfCBsb2NhbGl6ZTogbGN9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVzLXRhYmxlIFsobmdNb2RlbCldPVwiVG9wTm9kZXNcIiBbSGlkZVBhZ2luZ109XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYXBwLWNvbC1taW5cIj57eydOb2RvJyB8IGxvY2FsaXplOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eydEZXNjcml6aW9uZSBOb2RvJyB8IGxvY2FsaXplOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImFwcC1jb2wtbWluXCI+e3snQXR0aXZpdMOgJyB8IGxvY2FsaXplOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImFwcC1jb2wtbWluIGFwcC1ub3dyYXBcIj57eydUaXBvIE5vZG8nIHwgbG9jYWxpemU6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYXBwLWNvbC1taW4gYXBwLW5vd3JhcFwiPnt7J05vbWUgQ2xhc3NlIEF0dGVzYScgfCBsb2NhbGl6ZTogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYm9keSBsZXQtbm9kZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFwcC1jb2wtbWluXCI+PHNwYW4gY2xhc3M9XCJhcHAtbGlua1wiIChjbGljayk9XCJsb2FkTm9kZURldGFpbHMobm9kZS5wcm9mbm9kZWlkKTsgZGxnTm9kZURldGFpbHMuc2hvdygpO1wiPnt7bm9kZS5wcm9mbm9kZWlkfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiB0aXRsZT1cInt7bm9kZS5wcm9mbm9kZWRlc2N9fVwiPnt7bm9kZS5wcm9mbm9kZWRlc2MubGVuZ3RoID4gNDAgPyBub2RlLnByb2Zub2RlZGVzYy5zdWJzdHIoMCw0MCkgKyBcIi4uLlwiIDogbm9kZS5wcm9mbm9kZWRlc2N9fTwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYXBwLW5vd3JhcFwiPnt7bm9kZS5hY3Rpdml0eSB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tub2RlLm5vZGV0eXBlbmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e25vZGUud2FpdGNsYXNzbmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VzLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+e3snUHJpbWUgU2Vzc2lvbmknIHwgbG9jYWxpemU6IGxjfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy10YWJsZSBbKG5nTW9kZWwpXT1cIlRvcFNlc3Npb25zXCIgW0hpZGVQYWdpbmddPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImFwcC1jb2wtbWluXCI+SUQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1V0ZW50ZScgfCBsb2NhbGl6ZTogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snVGVuYW50JyB8IGxvY2FsaXplOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eydQcm9jZXNzbycgfCBsb2NhbGl6ZTogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snQXR0aXZpdMOgJyB8IGxvY2FsaXplOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5DcHU8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPldhaXQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkRCPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TY3JpcHQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocm90dGxlPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TbGVlcDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+TmV0d29ya2luZzwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+SU88L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNib2R5IGxldC1zZXNzaW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzdHJvbmc+e3tzZXNzaW9uLnNpZH19PC9zdHJvbmc+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24udXNlcn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24udGVuYW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5iZ3Byb2Nlc3N9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLmFjdGl2aXR5IHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uY3B1IHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24ud2FpdCB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLmRiIHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uc2NyaXB0IHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24udGhyb3R0bGUgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5zbGVlcCB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLm5ldCB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLmlvIHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VzLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGJzTW9kYWwgI2RsZ05vZGVEZXRhaWxzPVwiYnMtbW9kYWxcIiBjbGFzcz1cIm1vZGFsIGZhZGVcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8bm9kZS1kZXRhaWwgKm5nSWY9XCJOb2RlRGV0YWlsc1wiIFtOb2RlRGV0YWlsc109XCJOb2RlRGV0YWlsc1wiIChvbkNsb3NlKT1cImRsZ05vZGVEZXRhaWxzLmhpZGUoKVwiPjwvbm9kZS1kZXRhaWw+XHJcbjwvZGl2PiJdfQ==
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYWN0X3NlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3RvcGFjdC90b3BhY3Rfc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdG9wYWN0L3RvcGFjdF9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxELGlCQUFpQjtBQUNqQixPQUFPLEVBQXNCLFNBQVMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzlELE9BQU8sRUFBZSxtQkFBbUIsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUl6RixPQUFPLEVBQUUsVUFBVSxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBS3RGLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFXMUIsTUFBTSxPQUFPLHlCQUF5QjtJQVdsQyxZQUNX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SE07MkZEakZPLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDSSxlQUFlLGFBQ2Q7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO3FCQUNqRTs7MEJBc0JJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlQ2hhcnRDb21wb25lbnQsIERhdGVWYWx1ZSwgTGltaXQsIExpbmVDaGFydERhdGEsIExpbmVTZXJpZSB9IGZyb20gXCJAZXNmYWVuemEvZXMtY2hhcnRzXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9wcmVmZXJlbmNlc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UsIEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuLy8gRGlyZXR0aXZlLCBDb21wb25lbnRpLCBMaWJyZXJpZVxyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gTW9kZWxsaVxyXG5pbXBvcnQgeyBEaXJlY3RvckluZm9zIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL0RpcmVjdG9ySW5mb3NcIjtcclxuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXh0ZXJuYWxzL1JlcG9zaXRvcnlcIjtcclxuaW1wb3J0IHsgVG9wQWN0aXZpdGllc0RhdGFWaWV3IH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1RvcEFjdGl2aXRpZXNEYXRhVmlld1wiO1xyXG5pbXBvcnQgeyBUb3BOb2RlIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1RvcE5vZGVcIjtcclxuaW1wb3J0IHsgVG9wU2Vzc2lvbiB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9Ub3BTZXNzaW9uXCI7XHJcbmltcG9ydCB7IE5vZGVTdGF0cyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9Ob2RlU3RhdHNcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBBRE1fTU9EVUxFX1BBVEggfSBmcm9tIFwiLi4vLi4vdG9rZW5zXCI7XHJcblxyXG4vLyBMb2NhbGl6emF6aW9uZVxyXG5pbXBvcnQgeyBBZG1Ub3BBY3Rpdml0aWVMb2MgfSBmcm9tIFwiLi90b3BhY3Rfc2VhcmNoLmNvbXBvbmVudC5sb2NcIjtcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5kZWNsYXJlIHZhciBkYXlqcztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwidG9wYWN0X3NlYXJjaFwiLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogQWRtVG9wQWN0aXZpdGllTG9jIH1cclxuICAgIF0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RvcGFjdF9zZWFyY2guY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRtVG9wQWN0aXZpdGllc0NvbXBvbmVudCB7XHJcbiAgICBwdWJsaWMgc2VhcmNoVmlldzogVG9wQWN0aXZpdGllc0RhdGFWaWV3ID0gbmV3IFRvcEFjdGl2aXRpZXNEYXRhVmlldygpO1xyXG4gICAgcHVibGljIHN0b3JhZ2VTdWI6IGFueTtcclxuICAgIHByaXZhdGUgTGFzdERhdGFQb2ludDogYW55O1xyXG5cclxuICAgIHB1YmxpYyBhdXRvVXBkYXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2Vjb25kczogc3RyaW5nID0gXCI1XCI7XHJcblxyXG4gICAgcHJpdmF0ZSBDaGFydEluc3RhbmNlOiBCYXNlQ2hhcnRDb21wb25lbnQ7XHJcbiAgICBwdWJsaWMgTm9kZURldGFpbHM6IE5vZGVTdGF0cztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgZGF0ZUV4dHM6IERhdGVTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxvY2FsU3RvcmFnZTogUHJlZmVyZW5jZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgICAgIHByaXZhdGUgaW50ZXJjb206IEludGVyQ29tU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEhUVFBTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIEBJbmplY3QoQURNX01PRFVMRV9QQVRIKSBwcml2YXRlIG1vZDogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaW50ZXJjb20uc2VuZChJbmJvdW5kTWVzc2FnZVR5cGVzLk5hdmlnYXRpb24sIHsgc3ViOiBmYWxzZSwgcm91dGVUaXRsZTogdGhpcy5sYy5sb2ModGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0pIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuSW5pdChwYXJhbXNbXCJpZ25vcmVTdG9yYWdlXCJdKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBJbml0KGlnbm9yZVN0b3JlKSB7XHJcbiAgICAgICAgdGhpcy5kb0luaXQoaWdub3JlU3RvcmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRvSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPFRvcEFjdGl2aXRpZXNEYXRhVmlldz4oXCJIb3RTZWFyY2hUb3BBY3RcIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVTdG9yYWdlICYmIGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoYC9wYWdlcy8ke3RoaXMubW9kfS90b3BhY3RgKTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyA9IFtdO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiSG90U2VhcmNoVG9wQWN0XCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbml0KEhvdFBvdGF0bzogVG9wQWN0aXZpdGllc0RhdGFWaWV3KSB7XHJcbiAgICAgICAgaWYgKEhvdFBvdGF0bykge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBIb3RQb3RhdG87XHJcbiAgICAgICAgICAgIHRoaXMuUE9TVEdldEl0ZW1zKFJlcG9zaXRvcnkuUE9TVF9EaXJlY3Rvcl9HZXRUb3BBY3Rpdml0aWVzLCB0aGlzLnNlYXJjaFZpZXcsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG5ldyBUb3BBY3Rpdml0aWVzRGF0YVZpZXcoKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VTdWIpXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRTZWFyY2gocmVzZXRQYWdlOiBib29sZWFuID0gdHJ1ZSwgdXBkYXRlOiBib29sZWFuID0gZmFsc2UsIHNlYXJjaFZpZXdPdmVycmlkZTogVG9wQWN0aXZpdGllc0RhdGFWaWV3ID0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICBpZiAocmVzZXRQYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldEl0ZW1zKFJlcG9zaXRvcnkuUE9TVF9EaXJlY3Rvcl9HZXRUb3BBY3Rpdml0aWVzLCBzZWFyY2hWaWV3T3ZlcnJpZGUgPz8gdGhpcy5zZWFyY2hWaWV3LCB1cGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIFBPU1RHZXRJdGVtcyh1cmw6IHN0cmluZywgZGF0YTogVG9wQWN0aXZpdGllc0RhdGFWaWV3LCB1cGRhdGU6IGJvb2xlYW4pIHtcclxuXHJcbiAgICAgICAgdGhpcy5odHRwLnBvc3Q8VG9wQWN0aXZpdGllc0RhdGFWaWV3Pih1cmwsIGRhdGEpLnN1YnNjcmliZShhc3luYyAodCkgPT4ge1xyXG4gICAgICAgICAgICAvL1NlIHNvbm8gaW4gbW9kYWxpdMOgIGRpIHVwZGF0ZSBub24gZGV2byB0b2NjYXJlIGxhIHNlYXJjaFZpZXcgYXR0dWFsZSBzZSBub24gcGVyIGlsIHNlYXJjaGlucHJvZ3Jlc3MgY2hlIHZpZW5lIG1lc3NvIGRhbGwnZXMgdGFibGVcclxuICAgICAgICAgICAgaWYgKCF1cGRhdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IHQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiSG90U2VhcmNoVG9wQWN0XCIsIHRoaXMuc2VhcmNoVmlldykuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIERpcmVjdG9ySW5mb3MgYW5jaGUgc2UgcGVyIHF1YWxjaGUgbW90aXZvIGNyYXNoYSBkaSBicnV0dG8gw6ggY29tdW5xdWUgbm9uIG9iYmxpZ2F0b3JpbywgZXZpdG8gZGkgbm9uIGNhcmljYXJlIGxhIHBhZ2luYSBzb2xvIHBlcmNow6kgbHVpIHNjb3BwaWFcclxuICAgICAgICAgICAgdmFyIGRpcmluZm9zID0gYXdhaXQgdGhpcy5odHRwLmdldDxEaXJlY3RvckluZm9zPihSZXBvc2l0b3J5LkdFVF9EaXJlY3Rvcl9HZXRJbmZvcywgbnVsbCwgbnVsbCwgZmFsc2UpLnBpcGUoY2F0Y2hFcnJvcihfID0+IG9mKG51bGwgYXMgRGlyZWN0b3JJbmZvcykpKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZXZpZXdCaW5kaW5ncyh1cGRhdGUsIHQsIGRpcmluZm9zKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkTm9kZURldGFpbHMobm9kZUlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLk5vZGVEZXRhaWxzID0gbnVsbDtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdub2RlSWQnLCBub2RlSWQpO1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8Tm9kZVN0YXRzPihSZXBvc2l0b3J5LkdFVF9EaXJlY3Rvcl9HZXROb2RlU3RhdHMsIHBhcnMpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Ob2RlRGV0YWlscyA9IHQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUcmFzZm9ybWF6aW9uZSBkYSBzZWFyY2h2aWV3IGNvbiB1bmljbyBlbGVtZW50byBjb24gdHV0dG8gYWkgMyBlbGVtZW50aTpcclxuICAgIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogR3JhZmljbywgVG9wTm9kZXMgZSBUb3BTZXNzaW9uc1xyXG4gICAgVG9wQWN0aXZlU2Vzc2lvbnM6IExpbmVDaGFydERhdGE7XHJcbiAgICBUb3BOb2RlczogVG9wTm9kZVtdO1xyXG4gICAgVG9wU2Vzc2lvbnM6IFRvcFNlc3Npb25bXTtcclxuICAgIERpckluZm9zOiBEaXJlY3RvckluZm9zO1xyXG4gICAgc2VyaWVzUHJvcGVydGllc01hcHBpbmc6IHsgW2luZGV4OiBzdHJpbmddOiBMaW5lU2VyaWUgfSA9IHt9O1xyXG4gICAgcHJvcGVydGllc1Nlcmllc01hcHBpbmc6IHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAgICAgICBbXCJjcHV0aW1lXCJdOiBcIkNQVVwiLFxyXG4gICAgICAgIFtcIndhaXR0aW1lXCJdOiBcIldhaXRcIixcclxuICAgICAgICBbXCJzY3JpcHR0aW1lXCJdOiBcIlNjcmlwdGluZ1wiLFxyXG4gICAgICAgIFtcImRidGltZVwiXTogXCJEQlwiLFxyXG4gICAgICAgIFtcIm5ldHRpbWVcIl06IFwiTmV0d29ya1wiLFxyXG4gICAgICAgIFtcInRocm90dGxldGltZVwiXTogXCJUaHJvdHRsaW5nXCIsXHJcbiAgICAgICAgW1wic2xlZXB0aW1lXCJdOiBcIlNsZWVwXCIsXHJcbiAgICAgICAgW1wiaW90aW1lXCJdOiBcIklPXCJcclxuICAgIH07XHJcblxyXG4gICAgcmV2aWV3QmluZGluZ3ModXBkYXRlOiBib29sZWFuLCBzZWFyY2hWaWV3T3ZlcnJpZGU/LCBkaXJJbmZvcz86IERpcmVjdG9ySW5mb3MpIHtcclxuICAgICAgICBsZXQgcmVmZXJlbmNlID0gKHNlYXJjaFZpZXdPdmVycmlkZSA/PyB0aGlzLnNlYXJjaFZpZXcpLml0ZW1zWzBdO1xyXG4gICAgICAgIHRoaXMuVG9wTm9kZXMgPSByZWZlcmVuY2UudG9wbm9kZXM7XHJcbiAgICAgICAgdGhpcy5Ub3BTZXNzaW9ucyA9IHJlZmVyZW5jZS50b3BzZXNzaW9ucztcclxuICAgICAgICB0aGlzLkRpckluZm9zID0gZGlySW5mb3M7XHJcblxyXG4gICAgICAgIGlmICghcmVmZXJlbmNlLmFjdHNlc3Npb25zIHx8IHJlZmVyZW5jZS5hY3RzZXNzaW9ucy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLlRvcEFjdGl2ZVNlc3Npb25zID0gbnVsbDtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNlcmllczogTGluZVNlcmllW10gPSBbXTsgICAgICBcclxuICAgICAgICBsZXQgcHJvcHMgPSBPYmplY3Qua2V5cyhyZWZlcmVuY2UuYWN0c2Vzc2lvbnNbMF0pO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzW2ldICE9ICdzYW1wbGV0aW1lJykge1xyXG4gICAgICAgICAgICAgICAgbGV0IHMgPSBuZXcgTGluZVNlcmllKHRoaXMucHJvcGVydGllc1Nlcmllc01hcHBpbmdbcHJvcHNbaV1dLCBbXSwgbnVsbCwgbnVsbCwgXCJzZXNzaW9uc1wiKTtcclxuICAgICAgICAgICAgICAgIHNlcmllcy5wdXNoKHMpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJpZXNQcm9wZXJ0aWVzTWFwcGluZ1twcm9wc1tpXV0gPSBzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlZmVyZW5jZS5hY3RzZXNzaW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaXRlbXJlZiA9IHJlZmVyZW5jZS5hY3RzZXNzaW9uc1tpXTtcclxuICAgICAgICAgICAgbGV0IHRoZUQgPSBuZXcgRGF0ZShpdGVtcmVmLnNhbXBsZXRpbWUpO1xyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgICAgIGlmIChwcm9wc1tpXSAhPSAnc2FtcGxldGltZScgJiYgKCF1cGRhdGUgfHwgdGhpcy5kYXRlRXh0cy5nZXREYXRlQ29udmVydGlvbih0aGVEKS5pc0FmdGVyKHRoaXMuTGFzdERhdGFQb2ludCkpKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VyaWVzUHJvcGVydGllc01hcHBpbmdbcHJvcHNbaV1dLnZhbHVlcy5wdXNoKG5ldyBEYXRlVmFsdWUodGhlRCwgaXRlbXJlZltwcm9wc1tpXV0pKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh1cGRhdGUgJiYgdGhpcy5DaGFydEluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gbmV3IExpbmVDaGFydERhdGEoc2VyaWVzLCBuZXcgTGltaXQoZGlySW5mb3M/LnRocmVhZHMsIHRoaXMubGMubG9jKFwiVGhyZWFkIE1hc3NpbWlcIikpKTtcclxuICAgICAgICAgICAgaWYgKHNlcmllcy5zb21lKHQgPT4gdC52YWx1ZXMubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5hZGREYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5MYXN0RGF0YVBvaW50ID0gc2VyaWVzLm1hcCh0ID0+IGRheWpzLm1heCh0LnZhbHVlcy5tYXAodiA9PiB0aGlzLmRhdGVFeHRzLmdldERhdGVDb252ZXJ0aW9uKHYuZCkpKSlbMF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuVG9wQWN0aXZlU2Vzc2lvbnMgPSBuZXcgTGluZUNoYXJ0RGF0YShzZXJpZXMsIG5ldyBMaW1pdChkaXJJbmZvcz8udGhyZWFkcywgdGhpcy5sYy5sb2MoXCJUaHJlYWQgTWFzc2ltaVwiKSkpO1xyXG4gICAgICAgICAgICB0aGlzLkxhc3REYXRhUG9pbnQgPSBzZXJpZXMubWFwKHQgPT4gZGF5anMubWF4KHQudmFsdWVzLm1hcCh2ID0+IHRoaXMuZGF0ZUV4dHMuZ2V0RGF0ZUNvbnZlcnRpb24odi5kKSkpKVswXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI3JlZ2lvbiBHZXN0aW9uZSB1cGRhdGUgYXV0b21hdGljb1xyXG4gICAgdXBkYXRlVGltZXI6IGFueTtcclxuICAgIGF1dG9VcGRhdGVDaGFuZ2VkKCkge1xyXG4gICAgICAgIGlmICghL15bMS05XVxcZCokLy50ZXN0KHRoaXMuc2Vjb25kcykpXHJcbiAgICAgICAgICAgIHRoaXMuc2Vjb25kcyA9ICcxMCc7XHJcbiAgICAgICAgY29uc3Qgc2Vjb25kc0luTXMgPSBwYXJzZUludCh0aGlzLnNlY29uZHMsIG51bGwpICogMTAwMDtcclxuICAgICAgICBpZiAodGhpcy5hdXRvVXBkYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFNlYXJjaChmYWxzZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7IHRoaXMuc2VuZFNlYXJjaChmYWxzZSwgdHJ1ZSk7IH0sIHNlY29uZHNJbk1zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMudXBkYXRlVGltZXIpO1xyXG4gICAgfVxyXG4gICAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAgIHByaXZhdGUgZnJvbTogRGF0ZTtcclxuICAgIHByaXZhdGUgdG86IERhdGU7XHJcblxyXG4gICAgZGF0YVNlbGVjdGlvbkNoYW5nZWQoZXZlbnQ6IHsgZnJvbTogRGF0ZSwgdG86IERhdGUsIGluaXRpYWw6IGJvb2xlYW4gfSkge1xyXG4gICAgICAgIHRoaXMuZnJvbSA9IGV2ZW50LmluaXRpYWwgPyAodGhpcy5zZWFyY2hWaWV3LmZpbHRlcmZyb20gPyB0aGlzLmRhdGVFeHRzLmdldERhdGVDb252ZXJ0aW9uKHRoaXMuc2VhcmNoVmlldy5maWx0ZXJmcm9tKS50b0RhdGUoKSA6IFwiXCIpIDogZXZlbnQuZnJvbTtcclxuICAgICAgICB0aGlzLnRvID0gZXZlbnQuaW5pdGlhbCA/ICh0aGlzLnNlYXJjaFZpZXcuZmlsdGVydG8gPyB0aGlzLmRhdGVFeHRzLmdldERhdGVDb252ZXJ0aW9uKHRoaXMuc2VhcmNoVmlldy5maWx0ZXJ0bykudG9EYXRlKCkgOiBcIlwiKSA6IGV2ZW50LnRvO1xyXG5cclxuICAgICAgICB2YXIgcHNldWRvU2VhcmNoVmlldzogVG9wQWN0aXZpdGllc0RhdGFWaWV3ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNlYXJjaFZpZXcpKTtcclxuICAgICAgICBwc2V1ZG9TZWFyY2hWaWV3LmZpbHRlcmZyb20gPSB0aGlzLmZyb20gPyBkYXlqcyh0aGlzLmZyb20pLmZvcm1hdCh0aGlzLmxjLnRva2VuKFwiZ2V0RnVsbERhdGVEaXNwbGF5Rm9ybWF0XCIpKSA6IFwiXCI7XHJcbiAgICAgICAgcHNldWRvU2VhcmNoVmlldy5maWx0ZXJ0byA9IHRoaXMudG8gPyBkYXlqcyh0aGlzLnRvKS5mb3JtYXQodGhpcy5sYy50b2tlbihcImdldEZ1bGxEYXRlRGlzcGxheUZvcm1hdFwiKSkgOiBcIlwiO1xyXG4gICAgICAgIHRoaXMuc2VuZFNlYXJjaCh0cnVlLCB0cnVlLCBwc2V1ZG9TZWFyY2hWaWV3KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYXJ0TG9hZGVkKGNoYXJ0OiBCYXNlQ2hhcnRDb21wb25lbnQpIHtcclxuICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UgPSBjaGFydDtcclxuICAgICAgICBjaGFydC5DaGFydC5ldmVudHMub24oXCJyZWFkeVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICg8YW00Y2hhcnRzLlhZQ2hhcnQ+Y2hhcnQuQ2hhcnQpLnhBeGVzLmVhY2goeCA9PiB4Lnpvb20oeyBzdGFydDogMCwgZW5kOiAxIH0sIHRydWUsIHRydWUpKTtcclxuICAgICAgICAgICAgKDxhbTRjaGFydHMuWFlDaGFydD5jaGFydC5DaGFydCkueUF4ZXMuZWFjaCh5ID0+IHkuem9vbSh7IHN0YXJ0OiAwLCBlbmQ6IDEgfSwgdHJ1ZSwgdHJ1ZSkpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICg8YW00Y2hhcnRzLlhZQ2hhcnQ+Y2hhcnQuQ2hhcnQpLnhBeGVzLmVhY2goeCA9PiB4Lnpvb20oeyBzdGFydDogMCwgZW5kOiAxIH0sIHRydWUsIHRydWUpKTtcclxuICAgICAgICAgICAgICAgICg8YW00Y2hhcnRzLlhZQ2hhcnQ+Y2hhcnQuQ2hhcnQpLnlBeGVzLmVhY2goeSA9PiB5Lnpvb20oeyBzdGFydDogMCwgZW5kOiAxIH0sIHRydWUsIHRydWUpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyA1MDAgbWlsbGlzZWNvbmRpIMOoIHBpw7kgbyBtZW5vIGlsIHRlbXBvIGRpIHByaW1hIGFuaW1hemlvbmUgZGVsIGdyYWZpY28uIEZpbml0byBxdWVzdG8gc2kgcmVzZXR0YSBsbyB6b29tXHJcbiAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYXBwLW92ZXJmbG93LXZpc2libGVcIiB3aWRnZXQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXVwcGVyY2FzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7J0F0dGl2aXTDoCBQcmluY2lwYWxpJyB8IGxvY2FsaXplOiBsY319XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJEaXJJbmZvc1wiPiZuYnNwOy0mbmJzcDt7eycnICsgRGlySW5mb3MuY3B1cyArICcgJyArICgnQ1BVJyB8IGxvY2FsaXplOiBsYykgKyAoRGlySW5mb3MucnNzcGxhbiA/ICcgLSAnICsgRGlySW5mb3MucnNzcGxhbiA6ICcnKX19PC9zcGFuPiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSB3aWRnZXQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBhcHAtcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Zm9ybSByb2xlPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFwcC1maXJzdC1maWx0ZXItbGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRldGltZSBbUmVhZG9ubHldPVwiYXV0b1VwZGF0ZVwiIFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyZnJvbVwiIG5hbWU9XCJmaWx0ZXJmcm9tXCIgW1BsYWNlaG9sZGVyXT1cIidEYScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0tZGF0ZXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tZGF0ZXRpbWUgIFtSZWFkb25seV09XCJhdXRvVXBkYXRlXCIgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ0b1wiIG5hbWU9XCJmaWx0ZXJ0b1wiIFtQbGFjZWhvbGRlcl09XCInQScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0tZGF0ZXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyB8fCBhdXRvVXBkYXRlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2ggYXBwLW1hcmdpbi10b3AtMjBcIiAoY2xpY2spPVwic2VuZFNlYXJjaCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtYWJzb2x1dGUgYXBwLXJpZ2h0LTI1IGFwcC10b3AtNDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydBZ2dpb3JuYSBvZ25pJyB8IGxvY2FsaXplOiBsY319Jm5ic3A7PGlucHV0IFtyZWFkb25seV09XCJhdXRvVXBkYXRlXCIgbWF4bGVuZ3RoPVwiM1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIGFwcC11cGRldmVyeS1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWNvbmRzXCIgbmFtZT1cInNlY29uZHNcIiAvPiZuYnNwO3t7J3NlY29uZG8vaScgfCBsb2NhbGl6ZTogbGN9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0IG0tdC0yIGFwcC1tYXJnaW4tcmlnaHQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzd2l0Y2hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImF1dG9VcGRhdGVcIiBuYW1lPVwiYXV0b1VwZGF0ZVwiIChuZ01vZGVsQ2hhbmdlKT1cImF1dG9VcGRhdGVDaGFuZ2VkKCk7XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbGlkZXIgcm91bmRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGFwcC1tYXJnaW4tdG9wLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCIhc2VhcmNoVmlld1wiPjxlbT57eydDYXJpY28gaSBEYXRpJyB8IGxvY2FsaXplOiBsY319PC9lbT48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWFyY2hWaWV3XCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYXBwLW5vLXBhZGRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMjkwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVzLWxpbmUtY2hhcnQgKm5nSWY9XCJUb3BBY3RpdmVTZXNzaW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtNaW5HcmlkRGlzdGFuY2VdPVwiNjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGltZWxpbmVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRmluYWxJbnN0YW50c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMZWdlbmRQYWRkaW5nXT1cInt0b3A6IDAsIGJvdHRvbTogNywgcmlnaHQ6IDAsIGxlZnQ6IDEwfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtGaWxsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTWVyZ2VEYXRhc2V0c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RhdGFdPVwiVG9wQWN0aXZlU2Vzc2lvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGVnZW5kXT1cInRydWVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInRvcGFjdHNlc3Npb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGF0YUdyb3VwaW5nVGhyZXNob2xkXT1cIjk5OTk5OTk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJkYXRhU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgKGNoYXJ0TG9hZGVkKT1cIm9uQ2hhcnRMb2FkZWQoJGV2ZW50KVwiPjwvZXMtbGluZS1jaGFydD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1Pnt7J1ByaW1lIElzdHJ1emlvbmknIHwgbG9jYWxpemU6IGxjfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy10YWJsZSBbKG5nTW9kZWwpXT1cIlRvcE5vZGVzXCIgW0hpZGVQYWdpbmddPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImFwcC1jb2wtbWluXCI+e3snTm9kbycgfCBsb2NhbGl6ZTogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snRGVzY3JpemlvbmUgTm9kbycgfCBsb2NhbGl6ZTogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJhcHAtY29sLW1pblwiPnt7J0F0dGl2aXTDoCcgfCBsb2NhbGl6ZTogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJhcHAtY29sLW1pbiBhcHAtbm93cmFwXCI+e3snVGlwbyBOb2RvJyB8IGxvY2FsaXplOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImFwcC1jb2wtbWluIGFwcC1ub3dyYXBcIj57eydOb21lIENsYXNzZSBBdHRlc2EnIHwgbG9jYWxpemU6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvZHkgbGV0LW5vZGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhcHAtY29sLW1pblwiPjxzcGFuIGNsYXNzPVwiYXBwLWxpbmtcIiAoY2xpY2spPVwibG9hZE5vZGVEZXRhaWxzKG5vZGUucHJvZm5vZGVpZCk7IGRsZ05vZGVEZXRhaWxzLnNob3coKTtcIj57e25vZGUucHJvZm5vZGVpZH19PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gdGl0bGU9XCJ7e25vZGUucHJvZm5vZGVkZXNjfX1cIj57e25vZGUucHJvZm5vZGVkZXNjLmxlbmd0aCA+IDQwID8gbm9kZS5wcm9mbm9kZWRlc2Muc3Vic3RyKDAsNDApICsgXCIuLi5cIiA6IG5vZGUucHJvZm5vZGVkZXNjfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFwcC1ub3dyYXBcIj57e25vZGUuYWN0aXZpdHkgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7bm9kZS5ub2RldHlwZW5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tub2RlLndhaXRjbGFzc25hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lcy10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1Pnt7J1ByaW1lIFNlc3Npb25pJyB8IGxvY2FsaXplOiBsY319PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXMtdGFibGUgWyhuZ01vZGVsKV09XCJUb3BTZXNzaW9uc1wiIFtIaWRlUGFnaW5nXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJhcHAtY29sLW1pblwiPklEPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eydVdGVudGUnIHwgbG9jYWxpemU6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1RlbmFudCcgfCBsb2NhbGl6ZTogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snUHJvY2Vzc28nIHwgbG9jYWxpemU6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J0F0dGl2aXTDoCcgfCBsb2NhbGl6ZTogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+Q3B1PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XYWl0PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5EQjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U2NyaXB0PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJvdHRsZTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U2xlZXA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk5ldHdvcmtpbmc8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPklPPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYm9keSBsZXQtc2Vzc2lvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3Ryb25nPnt7c2Vzc2lvbi5zaWR9fTwvc3Ryb25nPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnVzZXJ9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnRlbmFudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uYmdwcm9jZXNzfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5hY3Rpdml0eSB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLmNwdSB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLndhaXQgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5kYiB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnNjcmlwdCB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnRocm90dGxlIHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uc2xlZXAgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5uZXQgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5pbyB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lcy10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBic01vZGFsICNkbGdOb2RlRGV0YWlscz1cImJzLW1vZGFsXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPG5vZGUtZGV0YWlsICpuZ0lmPVwiTm9kZURldGFpbHNcIiBbTm9kZURldGFpbHNdPVwiTm9kZURldGFpbHNcIiAob25DbG9zZSk9XCJkbGdOb2RlRGV0YWlscy5oaWRlKClcIj48L25vZGUtZGV0YWlsPlxyXG48L2Rpdj4iXX0=
|
|
@@ -84,7 +84,7 @@ export class AdmWrkComponent {
|
|
|
84
84
|
init(HotPotato) {
|
|
85
85
|
if (HotPotato) {
|
|
86
86
|
this.searchView = HotPotato;
|
|
87
|
-
this.POSTGetProcesses(Repository["
|
|
87
|
+
this.POSTGetProcesses(Repository["POST_Director_GetServerWorkers"], this.searchView);
|
|
88
88
|
}
|
|
89
89
|
else {
|
|
90
90
|
this.searchView = new ProcessesView();
|
|
@@ -95,7 +95,7 @@ export class AdmWrkComponent {
|
|
|
95
95
|
this.searchView.searchinprogress = true;
|
|
96
96
|
if (resetPage)
|
|
97
97
|
this.searchView.page = 1;
|
|
98
|
-
this.POSTGetProcesses(Repository["
|
|
98
|
+
this.POSTGetProcesses(Repository["POST_Director_GetServerWorkers"], this.searchView);
|
|
99
99
|
}
|
|
100
100
|
POSTGetProcesses(url, data) {
|
|
101
101
|
this.http.post(url, data).subscribe(t => {
|
|
@@ -129,7 +129,7 @@ export class AdmWrkComponent {
|
|
|
129
129
|
.set("sid", process.properties["sid"] || process.properties["SID"])
|
|
130
130
|
.set("serial", process.properties["serial"] || process.properties["SERIAL"])
|
|
131
131
|
.set("enable", tracing.toString());
|
|
132
|
-
this.http.get(Repository["
|
|
132
|
+
this.http.get(Repository["GET_Director_SetProcessTracing"], pars).subscribe(t => {
|
|
133
133
|
this.msgExts.manageStringResponse(t, "", this.lc.loc("Errori nella modifica del Tracing del Processo"), () => this.sendSearch());
|
|
134
134
|
});
|
|
135
135
|
}
|
|
@@ -139,7 +139,7 @@ export class AdmWrkComponent {
|
|
|
139
139
|
.set("instanceid", process.properties["inst_id"] || process.properties["INST_ID"])
|
|
140
140
|
.set("sid", process.properties["sid"] || process.properties["SID"])
|
|
141
141
|
.set("serial", process.properties["serial"] || process.properties["SERIAL"]);
|
|
142
|
-
this.http.get(Repository["
|
|
142
|
+
this.http.get(Repository["GET_Director_KillProcess"], pars).subscribe(t => {
|
|
143
143
|
this.msgExts.manageStringResponse(t, this.lc.loc("Processo ucciso con successo"), this.lc.loc("Errori durante la Kill del Processo"), () => this.sendSearch());
|
|
144
144
|
});
|
|
145
145
|
});
|
|
@@ -154,7 +154,7 @@ export class AdmWrkComponent {
|
|
|
154
154
|
this.dlgChangeCg.show();
|
|
155
155
|
}
|
|
156
156
|
loadCgDictionaries() {
|
|
157
|
-
this.http.get(Repository["
|
|
157
|
+
this.http.get(Repository["GET_Director_GetConsumerGroups"]).subscribe(t => this.CGs = t);
|
|
158
158
|
}
|
|
159
159
|
setupChangeCg() {
|
|
160
160
|
this.utiExts.cleanForm(this.cgFrom);
|
|
@@ -166,7 +166,7 @@ export class AdmWrkComponent {
|
|
|
166
166
|
.set("sid", this.ProcessOnEdit.properties["sid"] || this.ProcessOnEdit.properties["SID"])
|
|
167
167
|
.set("serial", this.ProcessOnEdit.properties["serial"] || this.ProcessOnEdit.properties["SERIAL"])
|
|
168
168
|
.set("consumer_group", this.newCg);
|
|
169
|
-
this.http.get(Repository["
|
|
169
|
+
this.http.get(Repository["GET_Director_ChangeProcessConsumerGroup"], pars).subscribe(t => {
|
|
170
170
|
this.msgExts.manageStringResponse(t, this.lc.loc("Gruppo di Consumo modificato con successo"), this.lc.loc("Errori nella modifica del Gruppo di Consumo"), () => this.sendSearch());
|
|
171
171
|
});
|
|
172
172
|
return true;
|
|
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
187
187
|
type: ViewChild,
|
|
188
188
|
args: ["dlgChangeCg"]
|
|
189
189
|
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX3dyay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtlcnMvYWRtX3dyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtlcnMvYWRtX3dyay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUtsRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG1CQUFtQixFQUFtRCxNQUFNLHNCQUFzQixDQUFDO0FBQzVHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTzlELGVBQWU7QUFDZixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7OztBQU9wRCxNQUFNLE9BQU8sZUFBZTtJQVl4QixZQUNZLE9BQXVCLEVBQ3ZCLE9BQXVCLEVBQ3hCLEVBQXVCLEVBQ3RCLFlBQWdDLEVBQ2hDLFFBQXlCLEVBQ3pCLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JC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QUMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2pHLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsVUFBVSxDQUFDLG9DQUFvQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN4TCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzRHQTFLUSxlQUFlLG1RQXFCWixlQUFlO2dHQXJCbEIsZUFBZSw4T0MvQjVCLCt0UEEwR00sODJHRDlFYSxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQzsyRkFHN0QsZUFBZTtrQkFMM0IsU0FBUzsrQkFDSSxTQUFTLGlCQUNKLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDOzswQkF3QmpFLE1BQU07MkJBQUMsZUFBZTs0Q0FvSE4sTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNPLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSwgTWVzc2FnZVNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy10YWJsZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCB7IE1vZGFsRGlyZWN0aXZlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvbW9kYWxcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2hhcmVkL0tleVZhbHVlXCI7XHJcbmltcG9ydCB7IFByb2Nlc3Nlc1ZpZXcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvUHJvY2Vzc2VzVmlld1wiO1xyXG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHRlcm5hbHMvUmVwb3NpdG9yeVwiO1xyXG5pbXBvcnQgeyBBRE1fTU9EVUxFX1BBVEggfSBmcm9tIFwiLi4vLi4vdG9rZW5zXCI7XHJcblxyXG4vLyBMb2NhbGl6emF6aW9uZVxyXG5pbXBvcnQgeyBBZG1XcmtMb2MgfSBmcm9tIFwiLi9hZG1fd3JrLmNvbXBvbmVudC5sb2NcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYWRtX3dya1wiLFxyXG4gICAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IEFkbVdya0xvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYWRtX3dyay5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG1XcmtDb21wb25lbnQge1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBQcm9jZXNzZXNWaWV3ID0gbmV3IFByb2Nlc3Nlc1ZpZXcoKTtcclxuICAgIHB1YmxpYyBEeW5hbWljT3BzOiBFc1RhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbltdID0gW107XHJcbiAgICBwdWJsaWMgc3RvcmFnZVN1YjogYW55O1xyXG4gICAgcHVibGljIHZhbHVlVG9TaG93OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIHB1YmxpYyBUeXBlczogS2V5VmFsdWVbXSA9IFtdO1xyXG4gICAgcHVibGljIFN0YXRlczogS2V5VmFsdWVbXSA9IFtdO1xyXG4gICAgcHVibGljIFRocmVhZFR5cGVzOiBLZXlWYWx1ZVtdID0gW107XHJcbiAgICBwdWJsaWMgVGhyZWFkU3RhdHVzZXM6IEtleVZhbHVlW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgQEluamVjdChBRE1fTU9EVUxFX1BBVEgpIHByaXZhdGUgbW9kOiBzdHJpbmcpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5zZW5kKEluYm91bmRNZXNzYWdlVHlwZXMuTmF2aWdhdGlvbiwgeyBzdWI6IGZhbHNlLCByb3V0ZVRpdGxlOiB0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSkgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuRHluYW1pY09wcyA9IFtcclxuICAgICAgICAgICAgbmV3IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKFwidHJhY2Vfb25cIiwgdGhpcy5sYy5sb2MoXCJBdHRpdmEgVHJhY2luZyBQcm9jZXNzb1wiKSwgXCJmYSBmYS1jaXJjbGUgdGV4dC1kYW5nZXJcIiwgXCJcIiwgXCJ0cmFjZV9lbmFibGVkXCIsIFwiTlwiKSxcclxuICAgICAgICAgICAgbmV3IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKFwidHJhY2Vfb2ZmXCIsIHRoaXMubGMubG9jKFwiRGlzYXR0aXZhIFRyYWNpbmcgUHJvZ2V0dG9cIiksIFwiZmEgZmEtY2lyY2xlIHRleHQtc3VjY2Vzc1wiLCBcIlwiLCBcInRyYWNlX2VuYWJsZWRcIiwgXCJZXCIpLFxyXG4gICAgICAgICAgICBuZXcgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24oXCJraWxsXCIsIHRoaXMubGMubG9jKFwiQW1tYXp6YSBQcm9jZXNzb1wiKSwgXCJmYSBmYS1iYW4gdGV4dC1kYW5nZXJcIiksXHJcbiAgICAgICAgICAgIG5ldyBFc1RhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbihcImNoYW5nZV9jZ1wiLCB0aGlzLmxjLmxvYyhcIk1vZGlmaWNhIEdydXBwbyBkaSBDb25zdW1vXCIpLCBcImZhIGZhLWVkaXQgdGV4dC1pbmZvXCIpXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTdWIgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLkluaXQocGFyYW1zW1wiaWdub3JlU3RvcmFnZVwiXSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgdGhpcy5UeXBlcyA9IFtuZXcgS2V5VmFsdWUoXCJVU0VSXCIsIFwiVVNFUlwiKSwgbmV3IEtleVZhbHVlKFwiQkFDS0dST1VORFwiLCBcIkJBQ0tHUk9VTkRcIiksIG5ldyBLZXlWYWx1ZShcIkpPQlwiLCBcIkpPQlwiKV07XHJcbiAgICAgICAgdGhpcy5TdGF0ZXMgPSBbbmV3IEtleVZhbHVlKFwiQUNUSVZFXCIsIFwiQUNUSVZFXCIpLCBuZXcgS2V5VmFsdWUoXCJJTkFDVElWRVwiLCBcIklOQUNUSVZFXCIpLCBuZXcgS2V5VmFsdWUoXCJLSUxMRURcIiwgXCJLSUxMRURcIildO1xyXG4gICAgICAgIHRoaXMuVGhyZWFkVHlwZXMgPSBbXCJBUElUSFJFQURcIiwgXCJBUElQVVNIVEhSRUFEXCIsIFwiQkFDS0dST1VORFRIUkVBRFwiLCBcIkpPQlRIUkVBRFwiLCBcIlBBUkFMTEVMU0xBVkVUSFJFQURcIl0ubWFwKHQgPT4gbmV3IEtleVZhbHVlKHQsIHQpKTtcclxuICAgICAgICB0aGlzLlRocmVhZFN0YXR1c2VzID0gW1wiQUNUSVZFXCIsIFwiSURMRVwiLCBcIlRIUk9UVExJTkdcIiwgXCJLSUxMRURcIl0ubWFwKHQgPT4gbmV3IEtleVZhbHVlKHQsIHQpKTtcclxuICAgICAgICB0aGlzLmRvSW5pdChpZ25vcmVTdG9yYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkb0luaXQoaWdub3JlU3RvcmFnZSkge1xyXG4gICAgICAgIGxldCBpdGVtID0gYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbTxQcm9jZXNzZXNWaWV3PihcIkhvdFByb2Nlc3NhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVTdG9yYWdlICYmIGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoYC9wYWdlcy8ke3RoaXMubW9kfS9zZXJ2ZXJ3b3JrZXJzYCk7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgPSBbXTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkhvdFByb2Nlc3NhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoSG90UG90YXRvOiBQcm9jZXNzZXNWaWV3KSB7XHJcbiAgICAgICAgaWYgKEhvdFBvdGF0bykge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBIb3RQb3RhdG87XHJcbiAgICAgICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3NlcyhSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0U2VydmVyV29ya2Vyc1wiXSwgdGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG5ldyBQcm9jZXNzZXNWaWV3KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFNlYXJjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZW5kU2VhcmNoKHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHJlc2V0UGFnZSlcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnBhZ2UgPSAxO1xyXG5cclxuICAgICAgICB0aGlzLlBPU1RHZXRQcm9jZXNzZXMoUmVwb3NpdG9yeVtcIlBPU1RfQWRtX0dldFNlcnZlcldvcmtlcnNcIl0sIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgUE9TVEdldFByb2Nlc3Nlcyh1cmw6IHN0cmluZywgZGF0YTogUHJvY2Vzc2VzVmlldykge1xyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PFByb2Nlc3Nlc1ZpZXc+KHVybCwgZGF0YSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSB0O1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiSG90UHJvY2Vzc2F0b1wiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2soKSB7XHJcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25PcGVyYXRpb24oZXZlbnQ6IHsgaWQ6IHN0cmluZywgaXRlbTogYW55IH0pIHtcclxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmlkKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJ0cmFjZV9vblwiOiB0aGlzLnRvZ2dsZVRyYWNpbmcoZXZlbnQuaXRlbSwgdHJ1ZSk7IGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwidHJhY2Vfb2ZmXCI6IHRoaXMudG9nZ2xlVHJhY2luZyhldmVudC5pdGVtLCBmYWxzZSk7IGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwia2lsbFwiOiB0aGlzLmtpbGxQcm9jZXNzKGV2ZW50Lml0ZW0pOyBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImNoYW5nZV9jZ1wiOiB0aGlzLmNoYW5nZVByb2Nlc3NDZyhldmVudC5pdGVtKTsgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZVRyYWNpbmcocHJvY2VzczogYW55LCB0cmFjaW5nOiBib29sZWFuKSB7XHJcbiAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIHByb2Nlc3MucHJvcGVydGllc1tcImluc3RfaWRcIl0gfHwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wiSU5TVF9JRFwiXSlcclxuICAgICAgICAgICAgLnNldChcInNpZFwiLCBwcm9jZXNzLnByb3BlcnRpZXNbXCJzaWRcIl0gfHwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wiU0lEXCJdKVxyXG4gICAgICAgICAgICAuc2V0KFwic2VyaWFsXCIsIHByb2Nlc3MucHJvcGVydGllc1tcInNlcmlhbFwiXSB8fCBwcm9jZXNzLnByb3BlcnRpZXNbXCJTRVJJQUxcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJlbmFibGVcIiwgdHJhY2luZy50b1N0cmluZygpKTtcclxuICAgICAgICB0aGlzLmh0dHAuZ2V0PHN0cmluZz4oUmVwb3NpdG9yeVtcIkdFVF9BZG1fU2V0UHJvY2Vzc1RyYWNpbmdcIl0sIHBhcnMpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tc2dFeHRzLm1hbmFnZVN0cmluZ1Jlc3BvbnNlKHQsIFwiXCIsIHRoaXMubGMubG9jKFwiRXJyb3JpIG5lbGxhIG1vZGlmaWNhIGRlbCBUcmFjaW5nIGRlbCBQcm9jZXNzb1wiKSwgKCkgPT4gdGhpcy5zZW5kU2VhcmNoKCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGtpbGxQcm9jZXNzKHByb2Nlc3M6IGFueSkge1xyXG4gICAgICAgIHRoaXMubXNnRXh0cy5zaW1wbGVXYXJuaW5nV2l0aENob2ljZShcclxuICAgICAgICAgICAgdGhpcy5sYy5sb2MoXCJDb25mZXJtYSBUZXJtaW5hemlvbmUgZGVsIFByb2Nlc3NvXCIpLFxyXG4gICAgICAgICAgICB0aGlzLmxjLmxvYyhcIlNlaSBzaWN1cm8gZGkgdm9sZXIgVGVybWluYXJlIGlsIHByb2Nlc3NvIHNlbGV6aW9uYXRvPyBMJ3V0ZW50ZSByZWxhdGl2byBzYXJhJyBkaXNjb25uZXNzb1wiKSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgICAgICAgICAgLnNldChcImluc3RhbmNlaWRcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wiaW5zdF9pZFwiXSB8fCBwcm9jZXNzLnByb3BlcnRpZXNbXCJJTlNUX0lEXCJdKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wic2lkXCJdIHx8IHByb2Nlc3MucHJvcGVydGllc1tcIlNJRFwiXSlcclxuICAgICAgICAgICAgICAgICAgICAuc2V0KFwic2VyaWFsXCIsIHByb2Nlc3MucHJvcGVydGllc1tcInNlcmlhbFwiXSB8fCBwcm9jZXNzLnByb3BlcnRpZXNbXCJTRVJJQUxcIl0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmdldDxzdHJpbmc+KFJlcG9zaXRvcnlbXCJHRVRfQWRtX0tpbGxQcm9jZXNzXCJdLCBwYXJzKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tc2dFeHRzLm1hbmFnZVN0cmluZ1Jlc3BvbnNlKHQsIHRoaXMubGMubG9jKFwiUHJvY2Vzc28gdWNjaXNvIGNvbiBzdWNjZXNzb1wiKSwgdGhpcy5sYy5sb2MoXCJFcnJvcmkgZHVyYW50ZSBsYSBLaWxsIGRlbCBQcm9jZXNzb1wiKSwgKCkgPT4gdGhpcy5zZW5kU2VhcmNoKCkpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHZXN0aW9uZSBtb2RpZmljYSBDb25zdW1lciBHcm91cCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICBuZXdDZzogc3RyaW5nID0gXCJcIjtcclxuICAgIENHczogS2V5VmFsdWVbXSA9IFtdO1xyXG4gICAgQ2dEaWN0aW9uYXJpZXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIFByb2Nlc3NPbkVkaXQ6IGFueTtcclxuXHJcbiAgICBAVmlld0NoaWxkKFwiY2dGcm9tXCIpIGNnRnJvbTogTmdGb3JtO1xyXG4gICAgQFZpZXdDaGlsZChcImRsZ0NoYW5nZUNnXCIpIGRsZ0NoYW5nZUNnOiBNb2RhbERpcmVjdGl2ZTtcclxuXHJcbiAgICBjaGFuZ2VQcm9jZXNzQ2cocHJvY2VzczogYW55KSB7XHJcbiAgICAgICAgdGhpcy5Qcm9jZXNzT25FZGl0ID0gcHJvY2VzcztcclxuICAgICAgICBpZiAoIXRoaXMuQ2dEaWN0aW9uYXJpZXNMb2FkZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkQ2dEaWN0aW9uYXJpZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5DZ0RpY3Rpb25hcmllc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0dXBDaGFuZ2VDZygpO1xyXG4gICAgICAgIHRoaXMuZGxnQ2hhbmdlQ2cuc2hvdygpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRDZ0RpY3Rpb25hcmllcygpIHtcclxuICAgICAgICB0aGlzLmh0dHAuZ2V0PEtleVZhbHVlW10+KFJlcG9zaXRvcnlbXCJHRVRfQWRtX0dldENvbnN1bWVyR3JvdXBzXCJdKS5zdWJzY3JpYmUodCA9PiB0aGlzLkNHcyA9IHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldHVwQ2hhbmdlQ2coKSB7XHJcbiAgICAgICAgdGhpcy51dGlFeHRzLmNsZWFuRm9ybSh0aGlzLmNnRnJvbSlcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5uZXdDZyA9IFwiXCIgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZG9DaGFuZ2VDZygpIHtcclxuICAgICAgICB2YXIgcGFycyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgICAgICAgLnNldChcImluc3RhbmNlaWRcIiwgdGhpcy5Qcm9jZXNzT25FZGl0LnByb3BlcnRpZXNbXCJpbnN0X2lkXCJdIHx8IHRoaXMuUHJvY2Vzc09uRWRpdC5wcm9wZXJ0aWVzW1wiSU5TVF9JRFwiXSlcclxuICAgICAgICAgICAgLnNldChcInNpZFwiLCB0aGlzLlByb2Nlc3NPbkVkaXQucHJvcGVydGllc1tcInNpZFwiXSB8fCB0aGlzLlByb2Nlc3NPbkVkaXQucHJvcGVydGllc1tcIlNJRFwiXSlcclxuICAgICAgICAgICAgLnNldChcInNlcmlhbFwiLCB0aGlzLlByb2Nlc3NPbkVkaXQucHJvcGVydGllc1tcInNlcmlhbFwiXSB8fCB0aGlzLlByb2Nlc3NPbkVkaXQucHJvcGVydGllc1tcIlNFUklBTFwiXSlcclxuICAgICAgICAgICAgLnNldChcImNvbnN1bWVyX2dyb3VwXCIsIHRoaXMubmV3Q2cpO1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPihSZXBvc2l0b3J5W1wiR0VUX0FkbV9DaGFuZ2VQcm9jZXNzQ29uc3VtZXJHcm91cFwiXSwgcGFycykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ0V4dHMubWFuYWdlU3RyaW5nUmVzcG9uc2UodCwgdGhpcy5sYy5sb2MoXCJHcnVwcG8gZGkgQ29uc3VtbyBtb2RpZmljYXRvIGNvbiBzdWNjZXNzb1wiKSwgdGhpcy5sYy5sb2MoXCJFcnJvcmkgbmVsbGEgbW9kaWZpY2EgZGVsIEdydXBwbyBkaSBDb25zdW1vXCIpLCAoKSA9PiB0aGlzLnNlbmRTZWFyY2goKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGFwcC1vdmVyZmxvdy12aXNpYmxlXCIgd2lkZ2V0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlcmNhc2VcIj57eydSaWNlcmNhIFByb2Nlc3NpIEFwcGxpY2F0aXZpJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSB3aWRnZXQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYXBwLWZpcnN0LWZpbHRlci1saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLXNlbGVjdCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnR5cGVcIiBuYW1lPVwiZmlsdGVydHlwZVwiIFtTZWxlY3RMYWJlbF09XCInVGlwbycgfCBsb2NhbGl6ZTogbGNcIiBbU291cmNlXT1cIlR5cGVzXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0xIGNvbC1sZy0xIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnRlbmFudFwiIG5hbWU9XCJmaWx0ZXJUZW5hbnRcIiBbUGxhY2Vob2xkZXJdPVwiJ09wZXJhdG9yZScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMSBjb2wtbGctMSBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0taW5wdXQgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ1c2VyXCIgbmFtZT1cImZpbHRlclVzZXJcIiBbUGxhY2Vob2xkZXJdPVwiJ1V0ZW50ZScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMSBjb2wtbGctMSBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tc2VsZWN0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyc3RhdGVcIiBuYW1lPVwiZmlsdGVyU3RhdGVcIiBbU2VsZWN0TGFiZWxdPVwiJ1N0YXRvJyB8IGxvY2FsaXplOiBsY1wiIFtTb3VyY2VdPVwiU3RhdGVzXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1zZWxlY3QgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ0aHJlYWR0eXBlXCIgbmFtZT1cImZpbHRlcnRocmVhZHR5cGVcIiBbU2VsZWN0TGFiZWxdPVwiJ1RpcG8gVGhyZWFkJyB8IGxvY2FsaXplOiBsY1wiIFtTb3VyY2VdPVwiVGhyZWFkVHlwZXNcIj48L2Zvcm0tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTEgY29sLWxnLTEgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLXNlbGVjdCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnRocmVhZHN0YXR1c1wiIG5hbWU9XCJmaWx0ZXJ0aHJlYWRzdGF0dXNcIiBbU2VsZWN0TGFiZWxdPVwiJ1N0YXRvIFRocmVhZCcgfCBsb2NhbGl6ZTogbGNcIiBbU291cmNlXT1cIlRocmVhZFN0YXR1c2VzXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0xIGNvbC1sZy0xIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGhlaWdodDogMzhweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1jaGVja2JveCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmdsb2JhbFwiIG5hbWU9XCJmaWx0ZXJnbG9iYWxcIj48L2Zvcm0tY2hlY2tib3g+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtcG9pbnRlciBhcHAtcGFkZGluZy10b3AtNSBhcHAtcGFkZGluZy1sZWZ0LTVcIiAoY2xpY2spPVwic2VhcmNoVmlldy5maWx0ZXJnbG9iYWwgPSAhc2VhcmNoVmlldy5maWx0ZXJnbG9iYWxcIj57eydHbG9iYWxlJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTEgY29sLWxnLTEgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgaGVpZ2h0OiAzOHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWNoZWNrYm94IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyaW53YWl0XCIgbmFtZT1cImZpbHRlcmlud2FpdFwiPjwvZm9ybS1jaGVja2JveD4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1wb2ludGVyIGFwcC1wYWRkaW5nLXRvcC01IGFwcC1wYWRkaW5nLWxlZnQtNVwiIChjbGljayk9XCJzZWFyY2hWaWV3LmZpbHRlcmlud2FpdCA9ICFzZWFyY2hWaWV3LmZpbHRlcmlud2FpdFwiPnt7J0luIEF0dGVzYScgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwic2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2ggYXBwLW1hcmdpbi10b3AtMjBcIiAoY2xpY2spPVwic2VuZFNlYXJjaCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiIXNlYXJjaFZpZXdcIj48ZW0+e3snQ2FyaWNvIGkgUHJvY2Vzc2kgQXBwbGljYXRpdmknIHwgbG9jYWxpemU6IGxjfX0uLi48L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaFZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy10YWJsZSBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXdcIiBbRHluYW1pY09wZXJhdGlvbnNdPVwiRHluYW1pY09wc1wiIFtBdXRvVXBkYXRlXT1cInRydWVcIiBbT3JkZXJCeUNvbHVtbl09XCJ0cnVlXCIgKG9uU2VhcmNoUmVxdWVzdCk9XCJzZW5kU2VhcmNoKCRldmVudCk7XCIgKG9uRHluYW1pY09wZXJhdGlvbik9XCJvbk9wZXJhdGlvbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtbm93cmFwXCIgKnRkPVwiJ2Z1bGxfd2FpdF9zdGFjayc7IGxldCB2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpc3QgYXBwLXBvaW50ZXJcIiAoY2xpY2spPVwidmFsdWVUb1Nob3cgPSB2YWx1ZTsgZGxnVmFsdWUuc2hvdygpO1wiPjwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t2YWx1ZS5sZW5ndGggPiA3MCA/IHZhbHVlLnN1YnN0cigwLCA2NykgKyAnLi4uJyA6IHZhbHVlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VzLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1tYXJnaW4tdG9wLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtbGVmdFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYmFjaygpXCI+e3snSW5kaWV0cm8nIHwgbG9jYWxpemU6IGxjfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgYnNNb2RhbCAjZGxnQ2hhbmdlQ2c9XCJicy1tb2RhbFwiIGNsYXNzPVwibW9kYWwgZmFkZVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtbGdcIiBjZGtEcmFnPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIiBjZGtEcmFnSGFuZGxlPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3snTW9kaWZpY2EgR3J1cHBvIGRpIENvbnN1bW8nIHwgbG9jYWxpemU6IGxjfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgKGNsaWNrKT1cImRsZ0NoYW5nZUNnLmhpZGUoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgI2NnRnJvbT1cIm5nRm9ybVwiIChuZ1N1Ym1pdCk9XCJjZ0Zyb20udmFsaWQgJiYgZG9DaGFuZ2VDZygpICYmIGRsZ0NoYW5nZUNnLmhpZGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Zm9ybS1zZWxlY3QgW0xhYmVsXT1cIidOdW92byBHcnVwcG8gZGkgQ29uc3VtbycgfCBsb2NhbGl6ZTogbGNcIiBbKG5nTW9kZWwpXT1cIm5ld0NnXCIgbmFtZT1cIm5ld0NnXCIgW1NvdXJjZV09XCJDR3NcIiByZXF1aXJlZCBbTGFzdF09XCJ0cnVlXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYXBwLW1hcmdpbi1yaWdodC01XCIgKGNsaWNrKT1cImRsZ0NoYW5nZUNnLmhpZGUoKVwiPnt7J0NoaXVkaScgfCBsb2NhbGl6ZTogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+e3snQ29uZmVybWEnIHwgbG9jYWxpemU6IGxjfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuPGRpdiBic01vZGFsICNkbGdWYWx1ZT1cImJzLW1vZGFsXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC14bFwiIGFwcC1kcmFnZ2FibGU9XCIubW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRnVsbCBXYWl0IFN0YWNrXHJcbiAgICAgICAgICAgICAgICA8L2g1PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgKGNsaWNrKT1cImRsZ1ZhbHVlLmhpZGUoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IGFwcC1wYWRpZG5nLWJvdHRvbS0yMCBhcHAtcGFkZGluZy10b3AtMjBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3ZhbHVlVG9TaG93fX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImRsZ1ZhbHVlLmhpZGUoKVwiPkNoaXVkaTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX3dyay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtlcnMvYWRtX3dyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtlcnMvYWRtX3dyay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUtsRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLG1CQUFtQixFQUFtRCxNQUFNLHNCQUFzQixDQUFDO0FBQzVHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTzlELGVBQWU7QUFDZixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7OztBQU9wRCxNQUFNLE9BQU8sZUFBZTtJQVl4QixZQUNZLE9BQXVCLEVBQ3ZCLE9BQXVCLEVBQ3hCLEVBQXVCLEVBQ3RCLFlBQWdDLEVBQ2hDLFFBQXlCLEVBQ3pCLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JC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QUMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2pHLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsVUFBVSxDQUFDLHlDQUF5QyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdGLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN4TCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzRHQTFLUSxlQUFlLG1RQXFCWixlQUFlO2dHQXJCbEIsZUFBZSw4T0MvQjVCLCt0UEEwR00sODJHRDlFYSxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQzsyRkFHN0QsZUFBZTtrQkFMM0IsU0FBUzsrQkFDSSxTQUFTLGlCQUNKLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDOzswQkF3QmpFLE1BQU07MkJBQUMsZUFBZTs0Q0FvSE4sTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNPLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSwgTWVzc2FnZVNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy10YWJsZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCB7IE1vZGFsRGlyZWN0aXZlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvbW9kYWxcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2hhcmVkL0tleVZhbHVlXCI7XHJcbmltcG9ydCB7IFByb2Nlc3Nlc1ZpZXcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMvUHJvY2Vzc2VzVmlld1wiO1xyXG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHRlcm5hbHMvUmVwb3NpdG9yeVwiO1xyXG5pbXBvcnQgeyBBRE1fTU9EVUxFX1BBVEggfSBmcm9tIFwiLi4vLi4vdG9rZW5zXCI7XHJcblxyXG4vLyBMb2NhbGl6emF6aW9uZVxyXG5pbXBvcnQgeyBBZG1XcmtMb2MgfSBmcm9tIFwiLi9hZG1fd3JrLmNvbXBvbmVudC5sb2NcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYWRtX3dya1wiLFxyXG4gICAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IEFkbVdya0xvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYWRtX3dyay5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG1XcmtDb21wb25lbnQge1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBQcm9jZXNzZXNWaWV3ID0gbmV3IFByb2Nlc3Nlc1ZpZXcoKTtcclxuICAgIHB1YmxpYyBEeW5hbWljT3BzOiBFc1RhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbltdID0gW107XHJcbiAgICBwdWJsaWMgc3RvcmFnZVN1YjogYW55O1xyXG4gICAgcHVibGljIHZhbHVlVG9TaG93OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIHB1YmxpYyBUeXBlczogS2V5VmFsdWVbXSA9IFtdO1xyXG4gICAgcHVibGljIFN0YXRlczogS2V5VmFsdWVbXSA9IFtdO1xyXG4gICAgcHVibGljIFRocmVhZFR5cGVzOiBLZXlWYWx1ZVtdID0gW107XHJcbiAgICBwdWJsaWMgVGhyZWFkU3RhdHVzZXM6IEtleVZhbHVlW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgQEluamVjdChBRE1fTU9EVUxFX1BBVEgpIHByaXZhdGUgbW9kOiBzdHJpbmcpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcmNvbS5zZW5kKEluYm91bmRNZXNzYWdlVHlwZXMuTmF2aWdhdGlvbiwgeyBzdWI6IGZhbHNlLCByb3V0ZVRpdGxlOiB0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSkgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuRHluYW1pY09wcyA9IFtcclxuICAgICAgICAgICAgbmV3IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKFwidHJhY2Vfb25cIiwgdGhpcy5sYy5sb2MoXCJBdHRpdmEgVHJhY2luZyBQcm9jZXNzb1wiKSwgXCJmYSBmYS1jaXJjbGUgdGV4dC1kYW5nZXJcIiwgXCJcIiwgXCJ0cmFjZV9lbmFibGVkXCIsIFwiTlwiKSxcclxuICAgICAgICAgICAgbmV3IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKFwidHJhY2Vfb2ZmXCIsIHRoaXMubGMubG9jKFwiRGlzYXR0aXZhIFRyYWNpbmcgUHJvZ2V0dG9cIiksIFwiZmEgZmEtY2lyY2xlIHRleHQtc3VjY2Vzc1wiLCBcIlwiLCBcInRyYWNlX2VuYWJsZWRcIiwgXCJZXCIpLFxyXG4gICAgICAgICAgICBuZXcgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24oXCJraWxsXCIsIHRoaXMubGMubG9jKFwiQW1tYXp6YSBQcm9jZXNzb1wiKSwgXCJmYSBmYS1iYW4gdGV4dC1kYW5nZXJcIiksXHJcbiAgICAgICAgICAgIG5ldyBFc1RhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbihcImNoYW5nZV9jZ1wiLCB0aGlzLmxjLmxvYyhcIk1vZGlmaWNhIEdydXBwbyBkaSBDb25zdW1vXCIpLCBcImZhIGZhLWVkaXQgdGV4dC1pbmZvXCIpXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTdWIgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLkluaXQocGFyYW1zW1wiaWdub3JlU3RvcmFnZVwiXSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgdGhpcy5UeXBlcyA9IFtuZXcgS2V5VmFsdWUoXCJVU0VSXCIsIFwiVVNFUlwiKSwgbmV3IEtleVZhbHVlKFwiQkFDS0dST1VORFwiLCBcIkJBQ0tHUk9VTkRcIiksIG5ldyBLZXlWYWx1ZShcIkpPQlwiLCBcIkpPQlwiKV07XHJcbiAgICAgICAgdGhpcy5TdGF0ZXMgPSBbbmV3IEtleVZhbHVlKFwiQUNUSVZFXCIsIFwiQUNUSVZFXCIpLCBuZXcgS2V5VmFsdWUoXCJJTkFDVElWRVwiLCBcIklOQUNUSVZFXCIpLCBuZXcgS2V5VmFsdWUoXCJLSUxMRURcIiwgXCJLSUxMRURcIildO1xyXG4gICAgICAgIHRoaXMuVGhyZWFkVHlwZXMgPSBbXCJBUElUSFJFQURcIiwgXCJBUElQVVNIVEhSRUFEXCIsIFwiQkFDS0dST1VORFRIUkVBRFwiLCBcIkpPQlRIUkVBRFwiLCBcIlBBUkFMTEVMU0xBVkVUSFJFQURcIl0ubWFwKHQgPT4gbmV3IEtleVZhbHVlKHQsIHQpKTtcclxuICAgICAgICB0aGlzLlRocmVhZFN0YXR1c2VzID0gW1wiQUNUSVZFXCIsIFwiSURMRVwiLCBcIlRIUk9UVExJTkdcIiwgXCJLSUxMRURcIl0ubWFwKHQgPT4gbmV3IEtleVZhbHVlKHQsIHQpKTtcclxuICAgICAgICB0aGlzLmRvSW5pdChpZ25vcmVTdG9yYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkb0luaXQoaWdub3JlU3RvcmFnZSkge1xyXG4gICAgICAgIGxldCBpdGVtID0gYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbTxQcm9jZXNzZXNWaWV3PihcIkhvdFByb2Nlc3NhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVTdG9yYWdlICYmIGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoYC9wYWdlcy8ke3RoaXMubW9kfS9zZXJ2ZXJ3b3JrZXJzYCk7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgPSBbXTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkhvdFByb2Nlc3NhdG9cIikudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoSG90UG90YXRvOiBQcm9jZXNzZXNWaWV3KSB7XHJcbiAgICAgICAgaWYgKEhvdFBvdGF0bykge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBIb3RQb3RhdG87XHJcbiAgICAgICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3NlcyhSZXBvc2l0b3J5W1wiUE9TVF9EaXJlY3Rvcl9HZXRTZXJ2ZXJXb3JrZXJzXCJdLCB0aGlzLnNlYXJjaFZpZXcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gbmV3IFByb2Nlc3Nlc1ZpZXcoKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbmRTZWFyY2gocmVzZXRQYWdlOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICBpZiAocmVzZXRQYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3NlcyhSZXBvc2l0b3J5W1wiUE9TVF9EaXJlY3Rvcl9HZXRTZXJ2ZXJXb3JrZXJzXCJdLCB0aGlzLnNlYXJjaFZpZXcpO1xyXG4gICAgfVxyXG5cclxuICAgIFBPU1RHZXRQcm9jZXNzZXModXJsOiBzdHJpbmcsIGRhdGE6IFByb2Nlc3Nlc1ZpZXcpIHtcclxuICAgICAgICB0aGlzLmh0dHAucG9zdDxQcm9jZXNzZXNWaWV3Pih1cmwsIGRhdGEpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gdDtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIkhvdFByb2Nlc3NhdG9cIiwgdGhpcy5zZWFyY2hWaWV3KS5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrKCkge1xyXG4gICAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uT3BlcmF0aW9uKGV2ZW50OiB7IGlkOiBzdHJpbmcsIGl0ZW06IGFueSB9KSB7XHJcbiAgICAgICAgc3dpdGNoIChldmVudC5pZCkge1xyXG4gICAgICAgICAgICBjYXNlIFwidHJhY2Vfb25cIjogdGhpcy50b2dnbGVUcmFjaW5nKGV2ZW50Lml0ZW0sIHRydWUpOyBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcInRyYWNlX29mZlwiOiB0aGlzLnRvZ2dsZVRyYWNpbmcoZXZlbnQuaXRlbSwgZmFsc2UpOyBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImtpbGxcIjogdGhpcy5raWxsUHJvY2VzcyhldmVudC5pdGVtKTsgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJjaGFuZ2VfY2dcIjogdGhpcy5jaGFuZ2VQcm9jZXNzQ2coZXZlbnQuaXRlbSk7IGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVUcmFjaW5nKHByb2Nlc3M6IGFueSwgdHJhY2luZzogYm9vbGVhbikge1xyXG4gICAgICAgIHZhciBwYXJzID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAgICAgICAuc2V0KFwiaW5zdGFuY2VpZFwiLCBwcm9jZXNzLnByb3BlcnRpZXNbXCJpbnN0X2lkXCJdIHx8IHByb2Nlc3MucHJvcGVydGllc1tcIklOU1RfSURcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wic2lkXCJdIHx8IHByb2Nlc3MucHJvcGVydGllc1tcIlNJRFwiXSlcclxuICAgICAgICAgICAgLnNldChcInNlcmlhbFwiLCBwcm9jZXNzLnByb3BlcnRpZXNbXCJzZXJpYWxcIl0gfHwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wiU0VSSUFMXCJdKVxyXG4gICAgICAgICAgICAuc2V0KFwiZW5hYmxlXCIsIHRyYWNpbmcudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgdGhpcy5odHRwLmdldDxzdHJpbmc+KFJlcG9zaXRvcnlbXCJHRVRfRGlyZWN0b3JfU2V0UHJvY2Vzc1RyYWNpbmdcIl0sIHBhcnMpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tc2dFeHRzLm1hbmFnZVN0cmluZ1Jlc3BvbnNlKHQsIFwiXCIsIHRoaXMubGMubG9jKFwiRXJyb3JpIG5lbGxhIG1vZGlmaWNhIGRlbCBUcmFjaW5nIGRlbCBQcm9jZXNzb1wiKSwgKCkgPT4gdGhpcy5zZW5kU2VhcmNoKCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGtpbGxQcm9jZXNzKHByb2Nlc3M6IGFueSkge1xyXG4gICAgICAgIHRoaXMubXNnRXh0cy5zaW1wbGVXYXJuaW5nV2l0aENob2ljZShcclxuICAgICAgICAgICAgdGhpcy5sYy5sb2MoXCJDb25mZXJtYSBUZXJtaW5hemlvbmUgZGVsIFByb2Nlc3NvXCIpLFxyXG4gICAgICAgICAgICB0aGlzLmxjLmxvYyhcIlNlaSBzaWN1cm8gZGkgdm9sZXIgVGVybWluYXJlIGlsIHByb2Nlc3NvIHNlbGV6aW9uYXRvPyBMJ3V0ZW50ZSByZWxhdGl2byBzYXJhJyBkaXNjb25uZXNzb1wiKSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgICAgICAgICAgLnNldChcImluc3RhbmNlaWRcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wiaW5zdF9pZFwiXSB8fCBwcm9jZXNzLnByb3BlcnRpZXNbXCJJTlNUX0lEXCJdKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wic2lkXCJdIHx8IHByb2Nlc3MucHJvcGVydGllc1tcIlNJRFwiXSlcclxuICAgICAgICAgICAgICAgICAgICAuc2V0KFwic2VyaWFsXCIsIHByb2Nlc3MucHJvcGVydGllc1tcInNlcmlhbFwiXSB8fCBwcm9jZXNzLnByb3BlcnRpZXNbXCJTRVJJQUxcIl0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmdldDxzdHJpbmc+KFJlcG9zaXRvcnlbXCJHRVRfRGlyZWN0b3JfS2lsbFByb2Nlc3NcIl0sIHBhcnMpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1zZ0V4dHMubWFuYWdlU3RyaW5nUmVzcG9uc2UodCwgdGhpcy5sYy5sb2MoXCJQcm9jZXNzbyB1Y2Npc28gY29uIHN1Y2Nlc3NvXCIpLCB0aGlzLmxjLmxvYyhcIkVycm9yaSBkdXJhbnRlIGxhIEtpbGwgZGVsIFByb2Nlc3NvXCIpLCAoKSA9PiB0aGlzLnNlbmRTZWFyY2goKSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdlc3Rpb25lIG1vZGlmaWNhIENvbnN1bWVyIEdyb3VwICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgIG5ld0NnOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgQ0dzOiBLZXlWYWx1ZVtdID0gW107XHJcbiAgICBDZ0RpY3Rpb25hcmllc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgUHJvY2Vzc09uRWRpdDogYW55O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoXCJjZ0Zyb21cIikgY2dGcm9tOiBOZ0Zvcm07XHJcbiAgICBAVmlld0NoaWxkKFwiZGxnQ2hhbmdlQ2dcIikgZGxnQ2hhbmdlQ2c6IE1vZGFsRGlyZWN0aXZlO1xyXG5cclxuICAgIGNoYW5nZVByb2Nlc3NDZyhwcm9jZXNzOiBhbnkpIHtcclxuICAgICAgICB0aGlzLlByb2Nlc3NPbkVkaXQgPSBwcm9jZXNzO1xyXG4gICAgICAgIGlmICghdGhpcy5DZ0RpY3Rpb25hcmllc0xvYWRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRDZ0RpY3Rpb25hcmllcygpO1xyXG4gICAgICAgICAgICB0aGlzLkNnRGljdGlvbmFyaWVzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXR1cENoYW5nZUNnKCk7XHJcbiAgICAgICAgdGhpcy5kbGdDaGFuZ2VDZy5zaG93KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZENnRGljdGlvbmFyaWVzKCkge1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8S2V5VmFsdWVbXT4oUmVwb3NpdG9yeVtcIkdFVF9EaXJlY3Rvcl9HZXRDb25zdW1lckdyb3Vwc1wiXSkuc3Vic2NyaWJlKHQgPT4gdGhpcy5DR3MgPSB0KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXR1cENoYW5nZUNnKCkge1xyXG4gICAgICAgIHRoaXMudXRpRXh0cy5jbGVhbkZvcm0odGhpcy5jZ0Zyb20pXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMubmV3Q2cgPSBcIlwiIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRvQ2hhbmdlQ2coKSB7XHJcbiAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIHRoaXMuUHJvY2Vzc09uRWRpdC5wcm9wZXJ0aWVzW1wiaW5zdF9pZFwiXSB8fCB0aGlzLlByb2Nlc3NPbkVkaXQucHJvcGVydGllc1tcIklOU1RfSURcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgdGhpcy5Qcm9jZXNzT25FZGl0LnByb3BlcnRpZXNbXCJzaWRcIl0gfHwgdGhpcy5Qcm9jZXNzT25FZGl0LnByb3BlcnRpZXNbXCJTSURcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJzZXJpYWxcIiwgdGhpcy5Qcm9jZXNzT25FZGl0LnByb3BlcnRpZXNbXCJzZXJpYWxcIl0gfHwgdGhpcy5Qcm9jZXNzT25FZGl0LnByb3BlcnRpZXNbXCJTRVJJQUxcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJjb25zdW1lcl9ncm91cFwiLCB0aGlzLm5ld0NnKTtcclxuICAgICAgICB0aGlzLmh0dHAuZ2V0PHN0cmluZz4oUmVwb3NpdG9yeVtcIkdFVF9EaXJlY3Rvcl9DaGFuZ2VQcm9jZXNzQ29uc3VtZXJHcm91cFwiXSwgcGFycykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ0V4dHMubWFuYWdlU3RyaW5nUmVzcG9uc2UodCwgdGhpcy5sYy5sb2MoXCJHcnVwcG8gZGkgQ29uc3VtbyBtb2RpZmljYXRvIGNvbiBzdWNjZXNzb1wiKSwgdGhpcy5sYy5sb2MoXCJFcnJvcmkgbmVsbGEgbW9kaWZpY2EgZGVsIEdydXBwbyBkaSBDb25zdW1vXCIpLCAoKSA9PiB0aGlzLnNlbmRTZWFyY2goKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGFwcC1vdmVyZmxvdy12aXNpYmxlXCIgd2lkZ2V0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlcmNhc2VcIj57eydSaWNlcmNhIFByb2Nlc3NpIEFwcGxpY2F0aXZpJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSB3aWRnZXQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYXBwLWZpcnN0LWZpbHRlci1saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLXNlbGVjdCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnR5cGVcIiBuYW1lPVwiZmlsdGVydHlwZVwiIFtTZWxlY3RMYWJlbF09XCInVGlwbycgfCBsb2NhbGl6ZTogbGNcIiBbU291cmNlXT1cIlR5cGVzXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0xIGNvbC1sZy0xIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnRlbmFudFwiIG5hbWU9XCJmaWx0ZXJUZW5hbnRcIiBbUGxhY2Vob2xkZXJdPVwiJ09wZXJhdG9yZScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMSBjb2wtbGctMSBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0taW5wdXQgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ1c2VyXCIgbmFtZT1cImZpbHRlclVzZXJcIiBbUGxhY2Vob2xkZXJdPVwiJ1V0ZW50ZScgfCBsb2NhbGl6ZTogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMSBjb2wtbGctMSBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tc2VsZWN0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyc3RhdGVcIiBuYW1lPVwiZmlsdGVyU3RhdGVcIiBbU2VsZWN0TGFiZWxdPVwiJ1N0YXRvJyB8IGxvY2FsaXplOiBsY1wiIFtTb3VyY2VdPVwiU3RhdGVzXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1zZWxlY3QgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ0aHJlYWR0eXBlXCIgbmFtZT1cImZpbHRlcnRocmVhZHR5cGVcIiBbU2VsZWN0TGFiZWxdPVwiJ1RpcG8gVGhyZWFkJyB8IGxvY2FsaXplOiBsY1wiIFtTb3VyY2VdPVwiVGhyZWFkVHlwZXNcIj48L2Zvcm0tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTEgY29sLWxnLTEgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLXNlbGVjdCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnRocmVhZHN0YXR1c1wiIG5hbWU9XCJmaWx0ZXJ0aHJlYWRzdGF0dXNcIiBbU2VsZWN0TGFiZWxdPVwiJ1N0YXRvIFRocmVhZCcgfCBsb2NhbGl6ZTogbGNcIiBbU291cmNlXT1cIlRocmVhZFN0YXR1c2VzXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0xIGNvbC1sZy0xIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGhlaWdodDogMzhweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1jaGVja2JveCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmdsb2JhbFwiIG5hbWU9XCJmaWx0ZXJnbG9iYWxcIj48L2Zvcm0tY2hlY2tib3g+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtcG9pbnRlciBhcHAtcGFkZGluZy10b3AtNSBhcHAtcGFkZGluZy1sZWZ0LTVcIiAoY2xpY2spPVwic2VhcmNoVmlldy5maWx0ZXJnbG9iYWwgPSAhc2VhcmNoVmlldy5maWx0ZXJnbG9iYWxcIj57eydHbG9iYWxlJyB8IGxvY2FsaXplOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTEgY29sLWxnLTEgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgaGVpZ2h0OiAzOHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWNoZWNrYm94IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyaW53YWl0XCIgbmFtZT1cImZpbHRlcmlud2FpdFwiPjwvZm9ybS1jaGVja2JveD4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1wb2ludGVyIGFwcC1wYWRkaW5nLXRvcC01IGFwcC1wYWRkaW5nLWxlZnQtNVwiIChjbGljayk9XCJzZWFyY2hWaWV3LmZpbHRlcmlud2FpdCA9ICFzZWFyY2hWaWV3LmZpbHRlcmlud2FpdFwiPnt7J0luIEF0dGVzYScgfCBsb2NhbGl6ZTogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwic2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2ggYXBwLW1hcmdpbi10b3AtMjBcIiAoY2xpY2spPVwic2VuZFNlYXJjaCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiIXNlYXJjaFZpZXdcIj48ZW0+e3snQ2FyaWNvIGkgUHJvY2Vzc2kgQXBwbGljYXRpdmknIHwgbG9jYWxpemU6IGxjfX0uLi48L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaFZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy10YWJsZSBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXdcIiBbRHluYW1pY09wZXJhdGlvbnNdPVwiRHluYW1pY09wc1wiIFtBdXRvVXBkYXRlXT1cInRydWVcIiBbT3JkZXJCeUNvbHVtbl09XCJ0cnVlXCIgKG9uU2VhcmNoUmVxdWVzdCk9XCJzZW5kU2VhcmNoKCRldmVudCk7XCIgKG9uRHluYW1pY09wZXJhdGlvbik9XCJvbk9wZXJhdGlvbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtbm93cmFwXCIgKnRkPVwiJ2Z1bGxfd2FpdF9zdGFjayc7IGxldCB2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpc3QgYXBwLXBvaW50ZXJcIiAoY2xpY2spPVwidmFsdWVUb1Nob3cgPSB2YWx1ZTsgZGxnVmFsdWUuc2hvdygpO1wiPjwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t2YWx1ZS5sZW5ndGggPiA3MCA/IHZhbHVlLnN1YnN0cigwLCA2NykgKyAnLi4uJyA6IHZhbHVlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VzLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1tYXJnaW4tdG9wLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtbGVmdFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYmFjaygpXCI+e3snSW5kaWV0cm8nIHwgbG9jYWxpemU6IGxjfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgYnNNb2RhbCAjZGxnQ2hhbmdlQ2c9XCJicy1tb2RhbFwiIGNsYXNzPVwibW9kYWwgZmFkZVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtbGdcIiBjZGtEcmFnPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIiBjZGtEcmFnSGFuZGxlPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3snTW9kaWZpY2EgR3J1cHBvIGRpIENvbnN1bW8nIHwgbG9jYWxpemU6IGxjfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgKGNsaWNrKT1cImRsZ0NoYW5nZUNnLmhpZGUoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgI2NnRnJvbT1cIm5nRm9ybVwiIChuZ1N1Ym1pdCk9XCJjZ0Zyb20udmFsaWQgJiYgZG9DaGFuZ2VDZygpICYmIGRsZ0NoYW5nZUNnLmhpZGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Zm9ybS1zZWxlY3QgW0xhYmVsXT1cIidOdW92byBHcnVwcG8gZGkgQ29uc3VtbycgfCBsb2NhbGl6ZTogbGNcIiBbKG5nTW9kZWwpXT1cIm5ld0NnXCIgbmFtZT1cIm5ld0NnXCIgW1NvdXJjZV09XCJDR3NcIiByZXF1aXJlZCBbTGFzdF09XCJ0cnVlXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYXBwLW1hcmdpbi1yaWdodC01XCIgKGNsaWNrKT1cImRsZ0NoYW5nZUNnLmhpZGUoKVwiPnt7J0NoaXVkaScgfCBsb2NhbGl6ZTogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+e3snQ29uZmVybWEnIHwgbG9jYWxpemU6IGxjfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuPGRpdiBic01vZGFsICNkbGdWYWx1ZT1cImJzLW1vZGFsXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC14bFwiIGFwcC1kcmFnZ2FibGU9XCIubW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRnVsbCBXYWl0IFN0YWNrXHJcbiAgICAgICAgICAgICAgICA8L2g1PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgKGNsaWNrKT1cImRsZ1ZhbHVlLmhpZGUoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IGFwcC1wYWRpZG5nLWJvdHRvbS0yMCBhcHAtcGFkZGluZy10b3AtMjBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3ZhbHVlVG9TaG93fX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImRsZ1ZhbHVlLmhpZGUoKVwiPkNoaXVkaTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|