tango-app-ui-shared 3.7.28 → 3.7.30
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/esm2022/lib/modules/layout/header/brands-header/brands-header.component.mjs +3 -3
- package/esm2022/lib/modules/layout/layout/layout.component.mjs +2 -4
- package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +3 -3
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/lib/modules/layout/toolbar/trax-header/trax-header.component.mjs +28 -43
- package/esm2022/lib/routes/route-wraper-modules/manage-wrapper.module.mjs +2 -1
- package/fesm2022/tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared-intro.module-OrLn8VLx.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared-notification.module-B7aDUhCZ.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared.mjs +34 -51
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -149,7 +149,7 @@ export class ToolbarComponent {
|
|
|
149
149
|
this.urlString1 = URL.split('/');
|
|
150
150
|
if (this.users?.userType === "tango") {
|
|
151
151
|
if (url[2] == "settings" || URL == "/manage/users/client" || URL == "/manage/billing/brand-invoices" || URL == "/manage/billing/setup-billing" ||
|
|
152
|
-
URL == "/manage/stores" || URL === "/manage/stores?type=stores" || URL === "/manage/stores?type=clusters" ||
|
|
152
|
+
URL == "/manage/stores" || URL === "/manage/stores?type=stores" || URL === "/manage/stores?type=clusters" || URL == "/manage/documents" ||
|
|
153
153
|
URL == "/manage/stores/addition-method" ||
|
|
154
154
|
URL == "/manage/stores/add-single-store" || URL === "/manage/trax/gallery" || URL == "/notifications/alerts?tab=alert" || URL == "/notifications/alerts?tab=download" || URL === "/manage/trax/audit") {
|
|
155
155
|
this.setUIProperties(true, false, false, false, false, false, false, false, false, false, false, false);
|
|
@@ -273,7 +273,7 @@ export class ToolbarComponent {
|
|
|
273
273
|
// this.setUIProperties(false, false, false, false, false,false,false,false,false,false,false,false);
|
|
274
274
|
// }
|
|
275
275
|
else if (URL == "/profile" || URL == "/manage/users/client" || URL == "/manage/users/tango" ||
|
|
276
|
-
URL == "/manage/stores" || URL === "/manage/stores?type=stores" || URL === "/manage/stores?type=clusters" || url[2] == "settings" ||
|
|
276
|
+
URL == "/manage/stores" || URL === "/manage/stores?type=stores" || URL === "/manage/stores?type=clusters" || URL == "/manage/documents" || url[2] == "settings" ||
|
|
277
277
|
URL == "/manage/stores/addition-method" ||
|
|
278
278
|
URL == "/manage/stores/add-single-store" || url[2] === "data-mismatch" || url[2] === "employeetraining" || URL == "/notifications/alerts?tab=alert" || URL == "/notifications/alerts?tab=download"
|
|
279
279
|
|| URL == "/manage/users/tango" || URL === "/manage/controlcenter" || URL === 'manage/controlcenter/template-manager' || url[2] === 'controlcenter' || url.includes('list')) {
|
|
@@ -372,4 +372,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
372
372
|
}], appToolbarLayout: [{
|
|
373
373
|
type: Input
|
|
374
374
|
}] } });
|
|
375
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxPQUFPLEVBQXdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY3JELE1BQU0sT0FBTyxnQkFBZ0I7SUFrRGpCO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFyREYsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFekMsZUFBZTtJQUNOLGlCQUFpQixDQUFvQjtJQUNyQyxnQkFBZ0IsQ0FLZDtJQUVYLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixtQkFBbUIsQ0FBb0I7SUFDdkMsMkJBQTJCLEdBQVcsRUFBRSxDQUFDO0lBQ3pDLHNCQUFzQixDQUFVO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLG1CQUFtQixDQUFVO0lBRTdCLGFBQWE7SUFDYixxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsb0JBQW9CLEdBQVcsRUFBRSxDQUFDO0lBQ2xDLHNCQUFzQixDQUFVO0lBQ2hDLHVCQUF1QixDQUFVO0lBQ2pDLFVBQVUsQ0FBTTtJQUNoQixZQUFZLENBQVU7SUFDdEIsV0FBVyxDQUFVO0lBQ3JCLFVBQVUsQ0FBVTtJQUNwQixzQkFBc0IsQ0FBVTtJQUNoQyxXQUFXLENBQVU7SUFDckIsV0FBVyxDQUFNO0lBQ2pCLE9BQU8sQ0FBTTtJQUNiLEtB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QUFJLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUM3QyxDQUFDO2dCQUNKLENBQUM7YUFDRixDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7d0dBdllZLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLDZJQ2hCN0IsZ2dIQThEQTs7NEZEOUNhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhOytMQVFkLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgd2luZG93IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtcclxuICBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgTGF5b3V0U2VydmljZSxcclxuICBQYWdlSW5mb1NlcnZpY2UsXHJcbn0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgSUxheW91dCwgTGF5b3V0VHlwZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwibGliLXRvb2xiYXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vdG9vbGJhci5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgLy8gUHVibGljIHByb3BzXHJcbiAgQElucHV0KCkgY3VycmVudExheW91dFR5cGU6IExheW91dFR5cGUgfCBudWxsO1xyXG4gIEBJbnB1dCgpIGFwcFRvb2xiYXJMYXlvdXQ6XHJcbiAgICB8IFwiY2xhc3NpY1wiXHJcbiAgICB8IFwiYWNjb3VudGluZ1wiXHJcbiAgICB8IFwiZXh0ZW5kZWRcIlxyXG4gICAgfCBcInJlcG9ydHNcIlxyXG4gICAgfCBcInNhYXNcIjtcclxuXHJcbiAgLy8gdG9vbGJhclxyXG4gIGFwcFRvb2xiYXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJDb250YWluZXI6IFwiZml4ZWRcIiB8IFwiZmx1aWRcIjtcclxuICBhcHBUb29sYmFyQ29udGFpbmVyQ1NTQ2xhc3M6IHN0cmluZyA9IFwiXCI7XHJcbiAgYXBwVG9vbGJhckZpeGVkRGVza3RvcDogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyRml4ZWRNb2JpbGU6IGJvb2xlYW47XHJcbiAgYXBwUGFnZVRpdGxlRGlzcGxheTogYm9vbGVhbjtcclxuXHJcbiAgLy8gcGFnZSB0aXRsZVxyXG4gIGFwcFBhZ2VUaXRsZURpcmVjdGlvbjogc3RyaW5nID0gXCJcIjtcclxuICBhcHBQYWdlVGl0bGVDU1NDbGFzczogc3RyaW5nID0gXCJcIjtcclxuICBhcHBQYWdlVGl0bGVCcmVhZGNydW1iOiBib29sZWFuO1xyXG4gIGFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uOiBib29sZWFuO1xyXG4gIHF1ZXJQYXJhbXM6IGFueTtcclxuICBzaW5nbGVTZWxlY3Q6IGJvb2xlYW47XHJcbiAgbXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgZGF0ZXBpY2tlcjogYm9vbGVhbjtcclxuICBzaW5nbGVTZWxlY3RkYXRlcGlja2VyOiBib29sZWFuO1xyXG4gIHNpbmdsZVN0b3JlOiBib29sZWFuO1xyXG4gIGhlYWRlcnZhbHVlOiBhbnk7XHJcbiAgc3RvcmVJZDogYW55O1xyXG4gIHVzZXJzOiBhbnk7XHJcbiAgc2VsZWN0ZWRGaWx0ZXJzOiBhbnkgPSB7XHJcbiAgICBjbGllbnQ6IG51bGwsXHJcbiAgICBjbGllbnRzOiBbXSxcclxuICAgIHN0b3JlOiBudWxsLFxyXG4gICAgc3RvcmVzOiBbXSxcclxuICAgIGRhdGU6IG51bGwsXHJcbiAgfTtcclxuICB0cmFmZmljZGF0ZXBpY2tlcjogYm9vbGVhbjtcclxuICB0cmF4ZGF0ZXBpY2tlcjogYm9vbGVhbjtcclxuICB1cmxTdHJpbmc6YW55O1xyXG4gIHRyYXh3aXRob3V0ZGF0ZXBpY2tlcjpib29sZWFuO1xyXG4gIHN0b3Jlc1NpbmdsZTpib29sZWFuO1xyXG4gIG5vYldpdGhvdXRDbGllbnQ6Ym9vbGVhbjtcclxuICBtZXJ0aWNzSGVhZGVyOiBib29sZWFuO1xyXG4gIHNpbmdsZUNsaWVudFN0b3JlRGF0ZTpib29sZWFuO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aCA6IEF1dGhTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmIChcInVzZXItaW5mb1wiIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCB1c2VyRGF0YTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXItaW5mb1wiKSB8fCBcInt9XCJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy51c2VycyA9IHVzZXJEYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKFwiaGVhZGVyLWZpbHRlcnNcIiBpbiBsb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgY29uc3QgZGF0YTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICApO1xyXG4gdGhpcy5jbGllbnQgPSBkYXRhPy5jbGllbnQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFVzZXJJbmZvKHRoaXMuY2xpZW50ID8gdGhpcy5jbGllbnQgOiB0aGlzLnVzZXJzLmNsaWVudClcclxuICAgIHRoaXMuc2hvd1BhZ2VUaXRsZSgpO1xyXG4gICAgY29uc3Qgc3Vic2NyID0gdGhpcy5sYXlvdXQubGF5b3V0Q29uZmlnU3ViamVjdFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnN1YnNjcmliZSgoY29uZmlnOiBJTGF5b3V0KSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wcyhjb25maWcpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUucHVzaChzdWJzY3IpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUHJvcHMoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5kaXNwbGF5XCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKCF0aGlzLmFwcFRvb2xiYXJEaXNwbGF5KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZURpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC5wYWdlVGl0bGUuZGlzcGxheVwiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckNvbnRhaW5lciA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnRvb2xiYXIuY29udGFpbmVyXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBcImZsdWlkXCIgfCBcImZpeGVkXCI7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJDb250YWluZXJDU1NDbGFzcyA9XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhckNvbnRhaW5lciA9PT0gXCJmaXhlZFwiXHJcbiAgICAgICAgPyBcImNvbnRhaW5lci14eGxcIlxyXG4gICAgICAgIDogXCJjb250YWluZXItZmx1aWRcIjtcclxuICAgIGNvbnN0IGNvbnRhaW5lckNsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5jb250YWluZXJDbGFzc1wiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgaWYgKGNvbnRhaW5lckNsYXNzKSB7XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhckNvbnRhaW5lckNTU0NsYXNzICs9IGAgJHtjb250YWluZXJDbGFzc31gO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhckZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnRvb2xiYXIuZml4ZWQuZGVza3RvcFwiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJGaXhlZERlc2t0b3ApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWt0LWFwcC10b29sYmFyLWZpeGVkXCIsIFwidHJ1ZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFRvb2xiYXJGaXhlZE1vYmlsZSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnRvb2xiYXIuZml4ZWQubW9iaWxlXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckZpeGVkTW9iaWxlKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKFwiZGF0YS1rdC1hcHAtdG9vbGJhci1maXhlZC1tb2JpbGVcIiwgXCJ0cnVlXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRvb2xiYXJcclxuICAgIHRoaXMuYXBwUGFnZVRpdGxlRGlyZWN0aW9uID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAucGFnZVRpdGxlLmRpcmVjdGlvblwiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5hcHBQYWdlVGl0bGVDU1NDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnBhZ2VUaXRsZS5jbGFzc1wiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5hcHBQYWdlVGl0bGVCcmVhZGNydW1iID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAucGFnZVRpdGxlLmJyZWFkQ3J1bWJcIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAucGFnZVRpdGxlLmRlc2NyaXB0aW9uXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKFwiZGF0YS1rdC1hcHAtdG9vbGJhci1lbmFibGVkXCIsIFwidHJ1ZVwiKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIC8vIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwidXNlcnNFbWFpbC1pbmZvXCIpO1xyXG4gIH1cclxuICBjbGllbnQ6YW55O1xyXG4gIHVybFN0cmluZzE6YW55O1xyXG4gIHNob3dQYWdlVGl0bGUoKSB7XHJcbiAgICBsZXQgVVJMOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgaWYgKFwiaGVhZGVyLWZpbHRlcnNcIiBpbiBsb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgY29uc3QgZGF0YTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICApO1xyXG4gICAgIGNvbnN0IHN0b3JlID0gIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcCBhcyBhbnkgICAgICBcclxuICAgICAgdGhpcy5zdG9yZUlkID0gIGRhdGE/LnN0b3JlO1xyXG5cclxuICAgICAgaWYoc3RvcmU/LnBhcmFtcz8uWydzdG9yZUlkJ10pe1xyXG4gICAgICAgIHRoaXMuc3RvcmVJZCA9IHN0b3JlLnBhcmFtc1snc3RvcmVJZCddXHJcbiAgICAgICAgZGF0YS5zdG9yZSA9IHN0b3JlLnBhcmFtc1snc3RvcmVJZCddXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRlci1maWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkoZGF0YSkpXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDtcclxuICAgICAgY29uc3QgdXBkYXRlZFVybCA9IGN1cnJlbnRVcmwucmVwbGFjZShcclxuICAgICAgICAvXFwvbWFuYWdlXFwvc3RvcmVzXFwvXFxkKy1cXGQrXFwvLyxcclxuICAgICAgICBgL21hbmFnZS9zdG9yZXMvYFxyXG4gICAgICApO1xyXG4gICAgICBVUkwgPSB1cGRhdGVkVXJsO1xyXG4gICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbVVJMXSlcclxuICAgIH1cclxuICBjb25zdCB1cmwgPSBVUkwuc3BsaXQoXCI/XCIpWzBdLnNwbGl0KCcvJyk7XHJcbiAgdGhpcy51cmxTdHJpbmcgPSBVUkw7XHJcbiAgIHRoaXMudXJsU3RyaW5nMT0gVVJMLnNwbGl0KCcvJyk7XHJcbiAgaWYgKHRoaXMudXNlcnM/LnVzZXJUeXBlID09PSBcInRhbmdvXCIpIHtcclxuICAgIGlmICh1cmxbMl0gPT0gXCJzZXR0aW5nc1wiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvdXNlcnMvY2xpZW50XCJ8fFVSTCA9PSBcIi9tYW5hZ2UvYmlsbGluZy9icmFuZC1pbnZvaWNlc1wifHxVUkwgPT0gXCIvbWFuYWdlL2JpbGxpbmcvc2V0dXAtYmlsbGluZ1wifHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzXCIgfHwgIFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPXN0b3Jlc1wiIHx8IFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPWNsdXN0ZXJzXCIgfHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzL2FkZGl0aW9uLW1ldGhvZFwiIHx8XHJcbiAgICBVUkwgPT0gXCIvbWFuYWdlL3N0b3Jlcy9hZGQtc2luZ2xlLXN0b3JlXCIgfHwgVVJMID09PSBcIi9tYW5hZ2UvdHJheC9nYWxsZXJ5XCIgfHwgVVJMID09IFwiL25vdGlmaWNhdGlvbnMvYWxlcnRzP3RhYj1hbGVydFwiIHx8ICBVUkwgPT0gXCIvbm90aWZpY2F0aW9ucy9hbGVydHM/dGFiPWRvd25sb2FkXCIgfHwgVVJMID09PSBcIi9tYW5hZ2UvdHJheC9hdWRpdFwiICkge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9ICBlbHNlIGlmICh1cmxbM10gPT0gXCJlZGdlLWFwcFwiKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fCAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH0mdHlwZT1pbmZyYWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9zZXR0aW5ncz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHwgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH0mdHlwZT1kYXRhTWlzbWF0Y2hgIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvem9uZXM/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvY2FtZXJhcz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgLy8gVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYXN0cnVjdHVyZT9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9tYXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfWVsc2UgaWYgKFVSTCA9PSBcIi90aWNrZXRzL3N0b3Jlc1wiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvdXNlcnMvdGFuZ28vYXVkaXRcIikge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYodXJsWzJdID09PSAnY29udHJvbGNlbnRlcicpe1xyXG4gICAgICBpZihVUkwgPT0gYC9tYW5hZ2UvY29udHJvbGNlbnRlci9wbGF5YmFjaz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWB8fCBVUkwgPT0gYC9tYW5hZ2UvY29udHJvbGNlbnRlci9wbGF5YmFja2Ape1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gXHJcbiAgfVxyXG4gIGVsc2UgaWYoIFVSTCA9PSBcIi9tYW5hZ2UvYWktYXVkaW8vZWNobz90YWI9YW5hbHlzaXMmdmlldz1vdmVyYWxsLXRyYW5zY3JpcHRzXCIpe1xyXG4gICAgdGhpcy5zZXRVSVByb3BlcnRpZXModHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgfVxyXG4gIC8vIGVsc2UgaWYgKHVybFsyXSA9PT0gJ2FpLWF1ZGlvJyAmJiB1cmxbM10gIT09ICdhdWRpbycgJiYgdXJsWzNdICE9PSAndHJhbnNjcmlwdCcpIHtcclxuICAvLyAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXModHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gIC8vICAgfSBcclxuICAgIGVsc2UgaWYgKHVybFsyXSA9PT0gJ2FpLWF1ZGlvJyAmJiB1cmxbM10gPT09ICdlY2hvJykge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKFVSTCA9PSBcIi9wcm9maWxlXCIgfHwgdXJsWzJdPT09XCJkYXRhLW1pc21hdGNoXCIgfHwgdXJsWzJdPT09XCJlbXBsb3llZXRyYWluaW5nXCJcclxuICAgICAgIHx8IFVSTCA9PSBcIi9tYW5hZ2UvYnJhbmRzXCIgfHxVUkwgPT0gXCIvbWFuYWdlL2JpbGxpbmdcInx8VVJMID09IFwiL21hbmFnZS9iaWxsaW5nL3RyYW5zYWN0aW9uc1wifHxVUkwgPT0gXCIvbWFuYWdlL2JpbGxpbmcvc3VtbWFyeVwiICB8fCB1cmxbMl0gPT09ICdhaS1hdWRpbycgJiYgdXJsWzNdICE9PSAnYXVkaW8nICYmIHVybFszXSAhPT0gJ3RyYW5zY3JpcHQnfHwgVVJMID09IFwiL21hbmFnZS9haS1hdWRpby90cmFuc2NyaXB0XCIgfHxVUkwgPT0gXCIvbWFuYWdlL2FpLWF1ZGlvL2F1ZGlvXCIgIHx8ICBVUkwgPT0gXCIvbWFuYWdlL3VzZXJzL3RhbmdvXCIgfHwgKHVybFsxXSA9PT1cInRpY2tldHNcIiAmJiB1cmxbMl0gPT09IFwiYXVkaXRcIikgfHwgdXJsLmluY2x1ZGVzKCdsaXN0JykpIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZihVUkwgPT0gXCIvbWFuYWdlL3RyYWZmaWMvbm9iXCIpe1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYodXJsWzJdID09PSBcInRyYWZmaWNcIiB8fCB1cmxbMl0gPT09IFwiem9uZXNcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL2FuYWx5c2UvcmVwb3J0c1wiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYoVVJMID09IFwiL21hbmFnZS9lbXBsb3llZS1tZXRyaWNzL2JlZWFoR3JvdXBcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL2VtcGxveWVlLW1ldHJpY3MvYmVlYWhMaXZlXCIpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUpO1xyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PT0gXCJlbXBsb3llZS1tZXRyaWNzXCIgJiYgdXJsWzNdID09PSBcImhlYXRtYXBcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcImVtcGxveWVlLW1ldHJpY3NcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09ICd0cmF4Jyl7XHJcbiAgICAgIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygnY3JlYXRlQ2hlY2tsaXN0JykgfHwgdXJsLmluY2x1ZGVzKCdjb25maWd1cmUnKSB8fCB1cmwuaW5jbHVkZXMoJ2NyZWF0ZS1vcmRlcicpfHwgdXJsWzNdID09ICdjcmVhdGUtdGFzaycgfHwgdXJsWzNdID09ICd0YXNrLWNvbmZpZ3VyZScpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9IFxyXG4gICAgICAvLyBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygndGFza2luZm8nKSkpe1xyXG4gICAgICAvLyAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICAvLyB9XHJcbiAgICAgIGVsc2UgaWYodXJsWzJdID09ICd0cmF4JyAmJiB1cmwuaW5jbHVkZXMoJ3N0YXJ0Jykpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnICYmICh1cmwuaW5jbHVkZXMoJ2NoZWNrbGlzdCcpIHx8IHVybC5pbmNsdWRlcygnZ2FsbGVyeScpKSB8fCB1cmwuaW5jbHVkZXMoJ2F1ZGl0JykpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfSAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PSAncGxhbm9ncmFtJyl7XHJcbiAgICAgIGlmKHVybFsyXSA9PSAncGxhbm9ncmFtJyAmJiAodXJsLmluY2x1ZGVzKCdsYXlvdXQtYnVpbGRlcicpKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfWVsc2Uge1xyXG4gICAgICAgIGlmKHVybFsyXSA9PSAncGxhbm9ncmFtJyAmJiAodXJsWzNdID09ICdtYW5hZ2UtcGxhbm9ncmFtJyB8fCB1cmxbM10gPT0gJ21hbmFnZS1yb2xsb3V0JykpIHtcclxuICAgICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZih1cmxbMV0gPT0gJ2V5ZXRlc3QnICl7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gXHJcbiAgICB9ZWxzZXtcclxuICAgICAgaWYodXJsWzNdID09ICdwbGFubycpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmICh1cmxbM10gPT0gXCJlZGdlLWFwcFwiICkge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2luZnJhLXRpY2tldD9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHwgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9JnR5cGU9aW5mcmFgIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvc2V0dGluZ3M/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8IFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9JnR5cGU9ZGF0YU1pc21hdGNoYCB8fFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL3pvbmVzP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2NhbWVyYXM/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8XHJcbiAgICAgIC8vIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmFzdHJ1Y3R1cmU/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvbWF0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT09ICdjb250cm9sY2VudGVyJyl7XHJcbiAgICAgIGlmKFVSTCA9PSBgL21hbmFnZS9jb250cm9sY2VudGVyL3BsYXliYWNrP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YHx8IFVSTCA9PSBgL21hbmFnZS9jb250cm9sY2VudGVyL3BsYXliYWNrYCl7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBcclxuICB9IFxyXG4gICBlbHNlIGlmKCBVUkwgPT0gXCIvbWFuYWdlL2FpLWF1ZGlvL2VjaG8/dGFiPWFuYWx5c2lzJnZpZXc9b3ZlcmFsbC10cmFuc2NyaXB0c1wiKXtcclxuICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gIH1cclxuICAvLyBlbHNlIGlmICh1cmxbMl0gPT09ICdhaS1hdWRpbycgJiYgdXJsWzNdICE9PSAnYXVkaW8nICYmIHVybFszXSAhPT0gJ3RyYW5zY3JpcHQnKSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgLy8gICB9IFxyXG4gICAgZWxzZSBpZiAoVVJMID09IFwiL3Byb2ZpbGVcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL3VzZXJzL2NsaWVudFwiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvdXNlcnMvdGFuZ29cIiB8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXNcIiB8fCAgVVJMID09PSBcIi9tYW5hZ2Uvc3RvcmVzP3R5cGU9c3RvcmVzXCIgfHwgVVJMID09PSBcIi9tYW5hZ2Uvc3RvcmVzP3R5cGU9Y2x1c3RlcnNcIiB8fCB1cmxbMl0gPT0gXCJzZXR0aW5nc1wiIHx8XHJcbiAgICBVUkwgPT0gXCIvbWFuYWdlL3N0b3Jlcy9hZGRpdGlvbi1tZXRob2RcIiB8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXMvYWRkLXNpbmdsZS1zdG9yZVwiIHx8IHVybFsyXT09PVwiZGF0YS1taXNtYXRjaFwiIHx8IHVybFsyXT09PVwiZW1wbG95ZWV0cmFpbmluZ1wiICB8fCBVUkwgPT0gXCIvbm90aWZpY2F0aW9ucy9hbGVydHM/dGFiPWFsZXJ0XCIgfHwgIFVSTCA9PSBcIi9ub3RpZmljYXRpb25zL2FsZXJ0cz90YWI9ZG93bmxvYWRcIlxyXG4gICAgIHx8IFVSTCA9PSBcIi9tYW5hZ2UvdXNlcnMvdGFuZ29cIiB8fCBVUkwgPT09IFwiL21hbmFnZS9jb250cm9sY2VudGVyXCIgfHwgVVJMID09PSdtYW5hZ2UvY29udHJvbGNlbnRlci90ZW1wbGF0ZS1tYW5hZ2VyJyB8fCB1cmxbMl09PT0nY29udHJvbGNlbnRlcicgfHwgIHVybC5pbmNsdWRlcygnbGlzdCcpKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9ZWxzZSBpZihVUkwgPT0gXCIvbWFuYWdlL3RyYWZmaWMvbm9iXCIpe1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT09IFwidHJhZmZpY1wiIHx8IHVybFsyXSA9PT0gXCJ6b25lc1wiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvYW5hbHlzZS9yZXBvcnRzXCIgfHwgKHVybFsyXSA9PT0gJ2FpLWF1ZGlvJyAmJiAodXJsWzNdID09PSAnYXVkaW8nIHx8IHVybFszXSA9PT0gJ3RyYW5zY3JpcHQnIHx8IHVybFszXSA9PT0gJ2VjaG8nKSkpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfWVsc2UgaWYoVVJMID09IFwiL21hbmFnZS9lbXBsb3llZS1tZXRyaWNzL2JlZWFoR3JvdXBcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL2VtcGxveWVlLW1ldHJpY3MvYmVlYWhMaXZlXCIpe1xyXG4gICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcImVtcGxveWVlLW1ldHJpY3NcIiAmJiB1cmxbM10gPT09IFwiaGVhdG1hcFwiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT09IFwiZW1wbG95ZWUtbWV0cmljc1wiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnKXtcclxuICAgICAgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCdjcmVhdGVDaGVja2xpc3QnKSB8fCB1cmwuaW5jbHVkZXMoJ2NvbmZpZ3VyZScpIHx8IHVybC5pbmNsdWRlcygnY3JlYXRlLW9yZGVyJykgfHwgdXJsWzNdID09ICdjcmVhdGUtdGFzaycgfHwgdXJsWzNdID09ICd0YXNrLWNvbmZpZ3VyZScpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGVsc2UgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCd0YXNraW5mbycpKSl7XHJcbiAgICAgIC8vICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIC8vIH1cclxuICAgICAgZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnICYmIHVybC5pbmNsdWRlcygnc3RhcnQnKSl7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygnY2hlY2tsaXN0JykgfHwgdXJsLmluY2x1ZGVzKCdnYWxsZXJ5JykgfHwgdXJsLmluY2x1ZGVzKCdhdWRpdCcpKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9ICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09ICdwbGFub2dyYW0nKXtcclxuICAgICAgaWYodXJsWzJdID09ICdwbGFub2dyYW0nICYmICh1cmwuaW5jbHVkZXMoJ2xheW91dC1idWlsZGVyJykpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYodXJsWzFdID09ICdleWV0ZXN0JyApe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuIFxyXG4gICAgfWVsc2Uge1xyXG4gICAgICBpZiAodXJsWzNdID09IFwicGxhbm9cIikge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjb25zdCB2aWV3c1dpdGhQYWdlVGl0bGVzID0gW1wiY2xhc3NpY1wiLCBcInJlcG9ydHNcIiwgXCJzYWFzXCJdO1xyXG4gIHJldHVybiAoXHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZURpc3BsYXkgJiZcclxuICAgIHZpZXdzV2l0aFBhZ2VUaXRsZXMuc29tZSgodCkgPT4gdCA9PT0gdGhpcy5hcHBUb29sYmFyTGF5b3V0KVxyXG4gICk7XHJcbn1cclxuXHJcbnNldFVJUHJvcGVydGllcyhcclxuICBzaW5nbGVTZWxlY3Q6IGJvb2xlYW4sXHJcbiAgbXVsdGlTZWxlY3Q6IGJvb2xlYW4sXHJcbiAgZGF0ZXBpY2tlcjogYm9vbGVhbixcclxuICBzaW5nbGVTdG9yZTogYm9vbGVhbixcclxuICBzaW5nbGVTZWxlY3RkYXRlcGlja2VyOiBib29sZWFuLFxyXG4gIHRyYWZmaWNkYXRlcGlja2VyOmJvb2xlYW4sXHJcbiAgdHJheGRhdGVwaWNrZXI6Ym9vbGVhbixcclxuICB0cmF4d2l0aG91dGRhdGVwaWNrZXI6Ym9vbGVhbixcclxuICBzdG9yZXNTaW5nbGU6Ym9vbGVhbixcclxuICBub2JXaXRob3V0Q2xpZW50OmJvb2xlYW4sXHJcbiAgbWVydGljc0hlYWRlcjpib29sZWFuLFxyXG4gIHNpbmdsZUNsaWVudFN0b3JlRGF0ZTpib29sZWFuXHJcbik6IHZvaWQge1xyXG4gIHRoaXMuc2luZ2xlU2VsZWN0ID0gc2luZ2xlU2VsZWN0O1xyXG4gIHRoaXMubXVsdGlTZWxlY3QgPSBtdWx0aVNlbGVjdDtcclxuICB0aGlzLmRhdGVwaWNrZXIgPSBkYXRlcGlja2VyO1xyXG4gIHRoaXMuc2luZ2xlU3RvcmUgPSBzaW5nbGVTdG9yZTtcclxuICB0aGlzLnNpbmdsZVNlbGVjdGRhdGVwaWNrZXIgPSBzaW5nbGVTZWxlY3RkYXRlcGlja2VyO1xyXG4gIHRoaXMudHJhZmZpY2RhdGVwaWNrZXIgPSB0cmFmZmljZGF0ZXBpY2tlcjtcclxuICB0aGlzLnRyYXhkYXRlcGlja2VyID0gdHJheGRhdGVwaWNrZXI7XHJcbiAgdGhpcy50cmF4d2l0aG91dGRhdGVwaWNrZXIgPSB0cmF4d2l0aG91dGRhdGVwaWNrZXI7XHJcbiAgdGhpcy5zdG9yZXNTaW5nbGUgPSBzdG9yZXNTaW5nbGU7XHJcbiAgdGhpcy5ub2JXaXRob3V0Q2xpZW50ID0gbm9iV2l0aG91dENsaWVudDtcclxuICB0aGlzLm1lcnRpY3NIZWFkZXIgPSBtZXJ0aWNzSGVhZGVyO1xyXG50aGlzLnNpbmdsZUNsaWVudFN0b3JlRGF0ZSA9IHNpbmdsZUNsaWVudFN0b3JlRGF0ZTtcclxufVxyXG5cclxuZ2V0VXNlckluZm8oY2xpZW50OmFueSl7XHJcbiAgbGV0IG9iaiA9e1xyXG4gICAgICBjbGllbnRJZDogY2xpZW50ID8gY2xpZW50IDonJ1xyXG4gIH1cclxuICBpZihjbGllbnQpe1xyXG4gICAgdGhpcy5hdXRoLmdldEhlYWRlclVzZXJzKG9iaikuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgIFwidXNlcnNFbWFpbC1pbmZvXCIsXHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShlPy5kYXRhPy51c2VyRW1haWxEYXRhIHx8IFtdKSBcclxuICAgICAgICApO1xyXG4gICAgICB9IFxyXG4gICAgfSlcclxuICB9XHJcbn1cclxufVxyXG4iLCI8IS0tYmVnaW46OlRvb2xiYXIgY29udGFpbmVyLS0+XHJcbjxkaXYgaWQ9XCJrdF9hcHBfdG9vbGJhcl9jb250YWluZXJcIiBjbGFzcz1cInBzLTUgcGUtMFwiIFtuZ0NsYXNzXT1cImFwcFRvb2xiYXJDb250YWluZXJDU1NDbGFzc1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgfHwgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50JyB8fCAoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICdsZWFkJ1wiICA+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQYWdlVGl0bGUoKVwiPlxyXG4gICAgPGxpYi1wYWdlLXRpdGxlIFthcHBQYWdlVGl0bGVEaXJlY3Rpb25dPVwiYXBwUGFnZVRpdGxlRGlyZWN0aW9uXCIgW2FwcFBhZ2VUaXRsZUJyZWFkY3J1bWJdPVwiYXBwUGFnZVRpdGxlQnJlYWRjcnVtYlwiXHJcbiAgICAgIFthcHBQYWdlVGl0bGVEZXNjcmlwdGlvbl09XCJhcHBQYWdlVGl0bGVEZXNjcmlwdGlvblwiIGNsYXNzPVwicGFnZS10aXRsZSBkLWZsZXggZmxleC13cmFwIG1lLTNcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7J2ZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXInOiBhcHBQYWdlVGl0bGVEaXJlY3Rpb24gPT09ICdjb2x1bW4nLCAnYWxpZ24taXRlbXMtY2VudGVyJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uICE9PSAnY29sdW1uJywgYXBwUGFnZVRpdGxlQ1NTQ2xhc3N9XCI+XHJcbiAgICA8L2xpYi1wYWdlLXRpdGxlPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlTZWxlY3QgJiYgdXNlcnMudXNlclR5cGUgPT09J3RhbmdvJ1wiPlxyXG4gICAgPGxpYi1jbGFzc2ljIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBnYXAtbGctM1wiPjwvbGliLWNsYXNzaWM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpbmdsZVNlbGVjdCAmJiB1c2Vycy51c2VyVHlwZSA9PT0ndGFuZ28nXCI+XHJcbiAgICA8bGliLWNsaWVudC1zZXR0aW5ncyBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLWNsaWVudC1zZXR0aW5ncz5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRlcGlja2VyICYmICh1c2Vycy51c2VyVHlwZSA9PT0nY2xpZW50JyB8fCB1c2Vycy51c2VyVHlwZSA9PT0ndGFuZ28nKVwiPlxyXG4gICAgPGxpYi1kYXRlcGlja2VyIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItZGF0ZXBpY2tlcj5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaW5nbGVTZWxlY3RkYXRlcGlja2VyICYmIHVzZXJzLnVzZXJUeXBlID09PSd0YW5nbydcIj5cclxuICAgIDxsaWItZGF0ZS1zaW5nbGUtc2VsZWN0IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItZGF0ZS1zaW5nbGUtc2VsZWN0PlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpbmdsZVN0b3JlXCI+XHJcbiAgICA8bGliLXNpbmdsZS1zdG9yZSBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiIFt1cmxTdHJpbmddPVwidXJsU3RyaW5nXCI+PC9saWItc2luZ2xlLXN0b3JlPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYWZmaWNkYXRlcGlja2VyXCI+XHJcbiAgICA8bGliLXRyYWZmaWMtaGVhZGVyIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItdHJhZmZpYy1oZWFkZXI+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJheGRhdGVwaWNrZXJcIj5cclxuICAgIDxsaWItdHJheC1oZWFkZXIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi10cmF4LWhlYWRlcj5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmF4d2l0aG91dGRhdGVwaWNrZXJcIj5cclxuICAgIDxsaWItdHJheC13aXRob3V0ZGF0ZSBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLXRyYXgtd2l0aG91dGRhdGU+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVzU2luZ2xlXCI+XHJcbiAgICA8bGliLXNpbmdsZS1zdG9yZWRhdGUgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi1zaW5nbGUtc3RvcmVkYXRlPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vYldpdGhvdXRDbGllbnRcIj5cclxuICAgIDxsaWItdHJhZmZpYy1ub2IgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi10cmFmZmljLW5vYj5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVydGljc0hlYWRlclwiPlxyXG4gICAgPGxpYi1tZXRyaWNzLWhlYWRlciBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLW1ldHJpY3MtaGVhZGVyPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaW5nbGVDbGllbnRTdG9yZURhdGVcIj5cclxuICAgIDxsaWItc2luZ2xlLWNsaWVudHN0b3JlLWRhdGUgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi1zaW5nbGUtY2xpZW50c3RvcmUtZGF0ZT5cclxuICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFRvb2xiYXJMYXlvdXQgPT09ICdleHRlbmRlZCdcIj5cclxuICAgIDxsaWItZXh0ZW5kZWQgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtc2hyaW5rLTAgbWUtNVwiPjwvbGliLWV4dGVuZGVkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBUb29sYmFyTGF5b3V0ID09PSAncmVwb3J0cydcIj5cclxuICAgIDxsaWItcmVwb3J0cyBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgb3ZlcmZsb3ctYXV0b1wiIFthcHBQYWdlVGl0bGVEaXNwbGF5XT1cImFwcFBhZ2VUaXRsZURpc3BsYXlcIj5cclxuICAgIDwvbGliLXJlcG9ydHM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFRvb2xiYXJMYXlvdXQgPT09ICdzYWFzJ1wiPlxyXG4gICAgPGxpYi1zYWFzIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiIFthcHBQYWdlVGl0bGVEaXNwbGF5XT1cImFwcFBhZ2VUaXRsZURpc3BsYXlcIj48L2xpYi1zYWFzPlxyXG4gIDwvbmctY29udGFpbmVyPiAtLT5cclxuPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48IS0tZW5kOjpUb29sYmFyIGNvbnRhaW5lci0tPlxyXG4iXX0=
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxPQUFPLEVBQXdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY3JELE1BQU0sT0FBTyxnQkFBZ0I7SUFrRGpCO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFyREYsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFekMsZUFBZTtJQUNOLGlCQUFpQixDQUFvQjtJQUNyQyxnQkFBZ0IsQ0FLZDtJQUVYLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixtQkFBbUIsQ0FBb0I7SUFDdkMsMkJBQTJCLEdBQVcsRUFBRSxDQUFDO0lBQ3pDLHNCQUFzQixDQUFVO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLG1CQUFtQixDQUFVO0lBRTdCLGFBQWE7SUFDYixxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsb0JBQW9CLEdBQVcsRUFBRSxDQUFDO0lBQ2xDLHNCQUFzQixDQUFVO0lBQ2hDLHVCQUF1QixDQUFVO0lBQ2pDLFVBQVUsQ0FBTTtJQUNoQixZQUFZLENBQVU7SUFDdEIsV0FBVyxDQUFVO0lBQ3JCLFVBQVUsQ0FBVTtJQUNwQixzQkFBc0IsQ0FBVTtJQUNoQyxXQUFXLENBQVU7SUFDckIsV0FBVyxDQUFNO0lBQ2pCLE9BQU8sQ0FBTTtJQUNiLEtB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aUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLElBQUksRUFBRSxDQUFDLENBQzdDLENBQUM7Z0JBQ0osQ0FBQzthQUNGLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQzt3R0F2WVksZ0JBQWdCOzRGQUFoQixnQkFBZ0IsNklDaEI3QixnZ0hBOERBOzs0RkQ5Q2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWE7K0xBUWQsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB3aW5kb3cgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gIEdsb2JhbFN0YXRlU2VydmljZSxcclxuICBMYXlvdXRTZXJ2aWNlLFxyXG4gIFBhZ2VJbmZvU2VydmljZSxcclxufSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgeyBJTGF5b3V0LCBMYXlvdXRUeXBlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItdG9vbGJhclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdG9vbGJhci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi90b29sYmFyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAvLyBQdWJsaWMgcHJvcHNcclxuICBASW5wdXQoKSBjdXJyZW50TGF5b3V0VHlwZTogTGF5b3V0VHlwZSB8IG51bGw7XHJcbiAgQElucHV0KCkgYXBwVG9vbGJhckxheW91dDpcclxuICAgIHwgXCJjbGFzc2ljXCJcclxuICAgIHwgXCJhY2NvdW50aW5nXCJcclxuICAgIHwgXCJleHRlbmRlZFwiXHJcbiAgICB8IFwicmVwb3J0c1wiXHJcbiAgICB8IFwic2Fhc1wiO1xyXG5cclxuICAvLyB0b29sYmFyXHJcbiAgYXBwVG9vbGJhckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhckNvbnRhaW5lcjogXCJmaXhlZFwiIHwgXCJmbHVpZFwiO1xyXG4gIGFwcFRvb2xiYXJDb250YWluZXJDU1NDbGFzczogc3RyaW5nID0gXCJcIjtcclxuICBhcHBUb29sYmFyRml4ZWREZXNrdG9wOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJGaXhlZE1vYmlsZTogYm9vbGVhbjtcclxuICBhcHBQYWdlVGl0bGVEaXNwbGF5OiBib29sZWFuO1xyXG5cclxuICAvLyBwYWdlIHRpdGxlXHJcbiAgYXBwUGFnZVRpdGxlRGlyZWN0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGFwcFBhZ2VUaXRsZUNTU0NsYXNzOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGFwcFBhZ2VUaXRsZUJyZWFkY3J1bWI6IGJvb2xlYW47XHJcbiAgYXBwUGFnZVRpdGxlRGVzY3JpcHRpb246IGJvb2xlYW47XHJcbiAgcXVlclBhcmFtczogYW55O1xyXG4gIHNpbmdsZVNlbGVjdDogYm9vbGVhbjtcclxuICBtdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICBkYXRlcGlja2VyOiBib29sZWFuO1xyXG4gIHNpbmdsZVNlbGVjdGRhdGVwaWNrZXI6IGJvb2xlYW47XHJcbiAgc2luZ2xlU3RvcmU6IGJvb2xlYW47XHJcbiAgaGVhZGVydmFsdWU6IGFueTtcclxuICBzdG9yZUlkOiBhbnk7XHJcbiAgdXNlcnM6IGFueTtcclxuICBzZWxlY3RlZEZpbHRlcnM6IGFueSA9IHtcclxuICAgIGNsaWVudDogbnVsbCxcclxuICAgIGNsaWVudHM6IFtdLFxyXG4gICAgc3RvcmU6IG51bGwsXHJcbiAgICBzdG9yZXM6IFtdLFxyXG4gICAgZGF0ZTogbnVsbCxcclxuICB9O1xyXG4gIHRyYWZmaWNkYXRlcGlja2VyOiBib29sZWFuO1xyXG4gIHRyYXhkYXRlcGlja2VyOiBib29sZWFuO1xyXG4gIHVybFN0cmluZzphbnk7XHJcbiAgdHJheHdpdGhvdXRkYXRlcGlja2VyOmJvb2xlYW47XHJcbiAgc3RvcmVzU2luZ2xlOmJvb2xlYW47XHJcbiAgbm9iV2l0aG91dENsaWVudDpib29sZWFuO1xyXG4gIG1lcnRpY3NIZWFkZXI6IGJvb2xlYW47XHJcbiAgc2luZ2xlQ2xpZW50U3RvcmVEYXRlOmJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheW91dDogTGF5b3V0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoIDogQXV0aFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKFwidXNlci1pbmZvXCIgaW4gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIlxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgICB9XHJcbiAgICBpZiAoXCJoZWFkZXItZmlsdGVyc1wiIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCBkYXRhOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICk7XHJcbiB0aGlzLmNsaWVudCA9IGRhdGE/LmNsaWVudDtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0VXNlckluZm8odGhpcy5jbGllbnQgPyB0aGlzLmNsaWVudCA6IHRoaXMudXNlcnMuY2xpZW50KVxyXG4gICAgdGhpcy5zaG93UGFnZVRpdGxlKCk7XHJcbiAgICBjb25zdCBzdWJzY3IgPSB0aGlzLmxheW91dC5sYXlvdXRDb25maWdTdWJqZWN0XHJcbiAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb25maWc6IElMYXlvdXQpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BzKGNvbmZpZyk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKHN1YnNjcik7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQcm9wcyhjb25maWc6IElMYXlvdXQpIHtcclxuICAgIHRoaXMuYXBwVG9vbGJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC50b29sYmFyLmRpc3BsYXlcIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAoIXRoaXMuYXBwVG9vbGJhckRpc3BsYXkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwUGFnZVRpdGxlRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnBhZ2VUaXRsZS5kaXNwbGF5XCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyQ29udGFpbmVyID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5jb250YWluZXJcIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIFwiZmx1aWRcIiB8IFwiZml4ZWRcIjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckNvbnRhaW5lckNTU0NsYXNzID1cclxuICAgICAgdGhpcy5hcHBUb29sYmFyQ29udGFpbmVyID09PSBcImZpeGVkXCJcclxuICAgICAgICA/IFwiY29udGFpbmVyLXh4bFwiXHJcbiAgICAgICAgOiBcImNvbnRhaW5lci1mbHVpZFwiO1xyXG4gICAgY29uc3QgY29udGFpbmVyQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC50b29sYmFyLmNvbnRhaW5lckNsYXNzXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICBpZiAoY29udGFpbmVyQ2xhc3MpIHtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyQ29udGFpbmVyQ1NTQ2xhc3MgKz0gYCAke2NvbnRhaW5lckNsYXNzfWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBUb29sYmFyRml4ZWREZXNrdG9wID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5maXhlZC5kZXNrdG9wXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckZpeGVkRGVza3RvcCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZShcImRhdGEta3QtYXBwLXRvb2xiYXItZml4ZWRcIiwgXCJ0cnVlXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhckZpeGVkTW9iaWxlID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5maXhlZC5tb2JpbGVcIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBUb29sYmFyRml4ZWRNb2JpbGUpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWt0LWFwcC10b29sYmFyLWZpeGVkLW1vYmlsZVwiLCBcInRydWVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdG9vbGJhclxyXG4gICAgdGhpcy5hcHBQYWdlVGl0bGVEaXJlY3Rpb24gPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC5wYWdlVGl0bGUuZGlyZWN0aW9uXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZUNTU0NsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAucGFnZVRpdGxlLmNsYXNzXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZUJyZWFkY3J1bWIgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC5wYWdlVGl0bGUuYnJlYWRDcnVtYlwiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwUGFnZVRpdGxlRGVzY3JpcHRpb24gPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC5wYWdlVGl0bGUuZGVzY3JpcHRpb25cIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWt0LWFwcC10b29sYmFyLWVuYWJsZWRcIiwgXCJ0cnVlXCIpO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuZm9yRWFjaCgoc2IpID0+IHNiLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgLy8gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJ1c2Vyc0VtYWlsLWluZm9cIik7XHJcbiAgfVxyXG4gIGNsaWVudDphbnk7XHJcbiAgdXJsU3RyaW5nMTphbnk7XHJcbiAgc2hvd1BhZ2VUaXRsZSgpIHtcclxuICAgIGxldCBVUkw6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBpZiAoXCJoZWFkZXItZmlsdGVyc1wiIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCBkYXRhOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICk7XHJcbiAgICAgY29uc3Qgc3RvcmUgPSAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwIGFzIGFueSAgICAgIFxyXG4gICAgICB0aGlzLnN0b3JlSWQgPSAgZGF0YT8uc3RvcmU7XHJcblxyXG4gICAgICBpZihzdG9yZT8ucGFyYW1zPy5bJ3N0b3JlSWQnXSl7XHJcbiAgICAgICAgdGhpcy5zdG9yZUlkID0gc3RvcmUucGFyYW1zWydzdG9yZUlkJ11cclxuICAgICAgICBkYXRhLnN0b3JlID0gc3RvcmUucGFyYW1zWydzdG9yZUlkJ11cclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnaGVhZGVyLWZpbHRlcnMnLCBKU09OLnN0cmluZ2lmeShkYXRhKSlcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgICBjb25zdCB1cGRhdGVkVXJsID0gY3VycmVudFVybC5yZXBsYWNlKFxyXG4gICAgICAgIC9cXC9tYW5hZ2VcXC9zdG9yZXNcXC9cXGQrLVxcZCtcXC8vLFxyXG4gICAgICAgIGAvbWFuYWdlL3N0b3Jlcy9gXHJcbiAgICAgICk7XHJcbiAgICAgIFVSTCA9IHVwZGF0ZWRVcmw7XHJcbiAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFtVUkxdKVxyXG4gICAgfVxyXG4gIGNvbnN0IHVybCA9IFVSTC5zcGxpdChcIj9cIilbMF0uc3BsaXQoJy8nKTtcclxuICB0aGlzLnVybFN0cmluZyA9IFVSTDtcclxuICAgdGhpcy51cmxTdHJpbmcxPSBVUkwuc3BsaXQoJy8nKTtcclxuICBpZiAodGhpcy51c2Vycz8udXNlclR5cGUgPT09IFwidGFuZ29cIikge1xyXG4gICAgaWYgKHVybFsyXSA9PSBcInNldHRpbmdzXCIgfHwgVVJMID09IFwiL21hbmFnZS91c2Vycy9jbGllbnRcInx8VVJMID09IFwiL21hbmFnZS9iaWxsaW5nL2JyYW5kLWludm9pY2VzXCJ8fFVSTCA9PSBcIi9tYW5hZ2UvYmlsbGluZy9zZXR1cC1iaWxsaW5nXCJ8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXNcIiB8fCAgVVJMID09PSBcIi9tYW5hZ2Uvc3RvcmVzP3R5cGU9c3RvcmVzXCIgfHwgVVJMID09PSBcIi9tYW5hZ2Uvc3RvcmVzP3R5cGU9Y2x1c3RlcnNcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL2RvY3VtZW50c1wiIHx8XHJcbiAgICBVUkwgPT0gXCIvbWFuYWdlL3N0b3Jlcy9hZGRpdGlvbi1tZXRob2RcIiB8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXMvYWRkLXNpbmdsZS1zdG9yZVwiIHx8IFVSTCA9PT0gXCIvbWFuYWdlL3RyYXgvZ2FsbGVyeVwiIHx8IFVSTCA9PSBcIi9ub3RpZmljYXRpb25zL2FsZXJ0cz90YWI9YWxlcnRcIiB8fCAgVVJMID09IFwiL25vdGlmaWNhdGlvbnMvYWxlcnRzP3RhYj1kb3dubG9hZFwiIHx8IFVSTCA9PT0gXCIvbWFuYWdlL3RyYXgvYXVkaXRcIiApIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXModHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSAgZWxzZSBpZiAodXJsWzNdID09IFwiZWRnZS1hcHBcIikge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2luZnJhLXRpY2tldD9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHwgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9JnR5cGU9aW5mcmFgIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvc2V0dGluZ3M/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8IFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9JnR5cGU9ZGF0YU1pc21hdGNoYCB8fFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL3pvbmVzP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2NhbWVyYXM/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8XHJcbiAgICAgIC8vIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmFzdHJ1Y3R1cmU/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvbWF0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1lbHNlIGlmIChVUkwgPT0gXCIvdGlja2V0cy9zdG9yZXNcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL3VzZXJzL3RhbmdvL2F1ZGl0XCIpIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHVybFsyXSA9PT0gJ2NvbnRyb2xjZW50ZXInKXtcclxuICAgICAgaWYoVVJMID09IGAvbWFuYWdlL2NvbnRyb2xjZW50ZXIvcGxheWJhY2s/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gfHwgVVJMID09IGAvbWFuYWdlL2NvbnRyb2xjZW50ZXIvcGxheWJhY2tgKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IFxyXG4gIH1cclxuICBlbHNlIGlmKCBVUkwgPT0gXCIvbWFuYWdlL2FpLWF1ZGlvL2VjaG8/dGFiPWFuYWx5c2lzJnZpZXc9b3ZlcmFsbC10cmFuc2NyaXB0c1wiKXtcclxuICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gIH1cclxuICAvLyBlbHNlIGlmICh1cmxbMl0gPT09ICdhaS1hdWRpbycgJiYgdXJsWzNdICE9PSAnYXVkaW8nICYmIHVybFszXSAhPT0gJ3RyYW5zY3JpcHQnKSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAvLyAgIH0gXHJcbiAgICBlbHNlIGlmICh1cmxbMl0gPT09ICdhaS1hdWRpbycgJiYgdXJsWzNdID09PSAnZWNobycpIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChVUkwgPT0gXCIvcHJvZmlsZVwiIHx8IHVybFsyXT09PVwiZGF0YS1taXNtYXRjaFwiIHx8IHVybFsyXT09PVwiZW1wbG95ZWV0cmFpbmluZ1wiXHJcbiAgICAgICB8fCBVUkwgPT0gXCIvbWFuYWdlL2JyYW5kc1wiIHx8VVJMID09IFwiL21hbmFnZS9iaWxsaW5nXCJ8fFVSTCA9PSBcIi9tYW5hZ2UvYmlsbGluZy90cmFuc2FjdGlvbnNcInx8VVJMID09IFwiL21hbmFnZS9iaWxsaW5nL3N1bW1hcnlcIiAgfHwgdXJsWzJdID09PSAnYWktYXVkaW8nICYmIHVybFszXSAhPT0gJ2F1ZGlvJyAmJiB1cmxbM10gIT09ICd0cmFuc2NyaXB0J3x8IFVSTCA9PSBcIi9tYW5hZ2UvYWktYXVkaW8vdHJhbnNjcmlwdFwiIHx8VVJMID09IFwiL21hbmFnZS9haS1hdWRpby9hdWRpb1wiICB8fCAgVVJMID09IFwiL21hbmFnZS91c2Vycy90YW5nb1wiIHx8ICh1cmxbMV0gPT09XCJ0aWNrZXRzXCIgJiYgdXJsWzJdID09PSBcImF1ZGl0XCIpIHx8IHVybC5pbmNsdWRlcygnbGlzdCcpKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYoVVJMID09IFwiL21hbmFnZS90cmFmZmljL25vYlwiKXtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHVybFsyXSA9PT0gXCJ0cmFmZmljXCIgfHwgdXJsWzJdID09PSBcInpvbmVzXCIgfHwgVVJMID09IFwiL21hbmFnZS9hbmFseXNlL3JlcG9ydHNcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKFVSTCA9PSBcIi9tYW5hZ2UvZW1wbG95ZWUtbWV0cmljcy9iZWVhaEdyb3VwXCIgfHwgVVJMID09IFwiL21hbmFnZS9lbXBsb3llZS1tZXRyaWNzL2JlZWFoTGl2ZVwiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT09IFwiZW1wbG95ZWUtbWV0cmljc1wiICYmIHVybFszXSA9PT0gXCJoZWF0bWFwXCIpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PT0gXCJlbXBsb3llZS1tZXRyaWNzXCIpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcpe1xyXG4gICAgICBpZih1cmxbMl0gPT0gJ3RyYXgnICYmICh1cmwuaW5jbHVkZXMoJ2NyZWF0ZUNoZWNrbGlzdCcpIHx8IHVybC5pbmNsdWRlcygnY29uZmlndXJlJykgfHwgdXJsLmluY2x1ZGVzKCdjcmVhdGUtb3JkZXInKXx8IHVybFszXSA9PSAnY3JlYXRlLXRhc2snIHx8IHVybFszXSA9PSAndGFzay1jb25maWd1cmUnKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfSBcclxuICAgICAgLy8gZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnICYmICh1cmwuaW5jbHVkZXMoJ3Rhc2tpbmZvJykpKXtcclxuICAgICAgLy8gICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgLy8gfVxyXG4gICAgICBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcgJiYgdXJsLmluY2x1ZGVzKCdzdGFydCcpKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCdjaGVja2xpc3QnKSB8fCB1cmwuaW5jbHVkZXMoJ2dhbGxlcnknKSkgfHwgdXJsLmluY2x1ZGVzKCdhdWRpdCcpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXModHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH0gICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT0gJ3BsYW5vZ3JhbScpe1xyXG4gICAgICBpZih1cmxbMl0gPT0gJ3BsYW5vZ3JhbScgJiYgKHVybC5pbmNsdWRlcygnbGF5b3V0LWJ1aWxkZXInKSkpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICBpZih1cmxbMl0gPT0gJ3BsYW5vZ3JhbScgJiYgKHVybFszXSA9PSAnbWFuYWdlLXBsYW5vZ3JhbScgfHwgdXJsWzNdID09ICdtYW5hZ2Utcm9sbG91dCcpKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXModHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYodXJsWzFdID09ICdleWV0ZXN0JyApe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuIFxyXG4gICAgfWVsc2V7XHJcbiAgICAgIGlmKHVybFszXSA9PSAncGxhbm8nKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICBpZiAodXJsWzNdID09IFwiZWRnZS1hcHBcIiApIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8ICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2luZnJhLXRpY2tldD9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfSZ0eXBlPWluZnJhYCB8fFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL3NldHRpbmdzP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fCBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2luZnJhLXRpY2tldD9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfSZ0eXBlPWRhdGFNaXNtYXRjaGAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy96b25lcz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9jYW1lcmFzP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fFxyXG4gICAgICAvLyBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2luZnJhc3RydWN0dXJlP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL21hdD9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWBcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSAnY29udHJvbGNlbnRlcicpe1xyXG4gICAgICBpZihVUkwgPT0gYC9tYW5hZ2UvY29udHJvbGNlbnRlci9wbGF5YmFjaz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWB8fCBVUkwgPT0gYC9tYW5hZ2UvY29udHJvbGNlbnRlci9wbGF5YmFja2Ape1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gXHJcbiAgfSBcclxuICAgZWxzZSBpZiggVVJMID09IFwiL21hbmFnZS9haS1hdWRpby9lY2hvP3RhYj1hbmFseXNpcyZ2aWV3PW92ZXJhbGwtdHJhbnNjcmlwdHNcIil7XHJcbiAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICB9XHJcbiAgLy8gZWxzZSBpZiAodXJsWzJdID09PSAnYWktYXVkaW8nICYmIHVybFszXSAhPT0gJ2F1ZGlvJyAmJiB1cmxbM10gIT09ICd0cmFuc2NyaXB0Jykge1xyXG4gIC8vICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gIC8vICAgfSBcclxuICAgIGVsc2UgaWYgKFVSTCA9PSBcIi9wcm9maWxlXCIgfHwgVVJMID09IFwiL21hbmFnZS91c2Vycy9jbGllbnRcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL3VzZXJzL3RhbmdvXCIgfHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzXCIgfHwgIFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPXN0b3Jlc1wiIHx8IFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPWNsdXN0ZXJzXCIgfHwgVVJMID09IFwiL21hbmFnZS9kb2N1bWVudHNcIiB8fCB1cmxbMl0gPT0gXCJzZXR0aW5nc1wiIHx8XHJcbiAgICBVUkwgPT0gXCIvbWFuYWdlL3N0b3Jlcy9hZGRpdGlvbi1tZXRob2RcIiB8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXMvYWRkLXNpbmdsZS1zdG9yZVwiIHx8IHVybFsyXT09PVwiZGF0YS1taXNtYXRjaFwiIHx8IHVybFsyXT09PVwiZW1wbG95ZWV0cmFpbmluZ1wiICB8fCBVUkwgPT0gXCIvbm90aWZpY2F0aW9ucy9hbGVydHM/dGFiPWFsZXJ0XCIgfHwgIFVSTCA9PSBcIi9ub3RpZmljYXRpb25zL2FsZXJ0cz90YWI9ZG93bmxvYWRcIlxyXG4gICAgIHx8IFVSTCA9PSBcIi9tYW5hZ2UvdXNlcnMvdGFuZ29cIiB8fCBVUkwgPT09IFwiL21hbmFnZS9jb250cm9sY2VudGVyXCIgfHwgVVJMID09PSdtYW5hZ2UvY29udHJvbGNlbnRlci90ZW1wbGF0ZS1tYW5hZ2VyJyB8fCB1cmxbMl09PT0nY29udHJvbGNlbnRlcicgfHwgIHVybC5pbmNsdWRlcygnbGlzdCcpKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9ZWxzZSBpZihVUkwgPT0gXCIvbWFuYWdlL3RyYWZmaWMvbm9iXCIpe1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT09IFwidHJhZmZpY1wiIHx8IHVybFsyXSA9PT0gXCJ6b25lc1wiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvYW5hbHlzZS9yZXBvcnRzXCIgfHwgKHVybFsyXSA9PT0gJ2FpLWF1ZGlvJyAmJiAodXJsWzNdID09PSAnYXVkaW8nIHx8IHVybFszXSA9PT0gJ3RyYW5zY3JpcHQnIHx8IHVybFszXSA9PT0gJ2VjaG8nKSkpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfWVsc2UgaWYoVVJMID09IFwiL21hbmFnZS9lbXBsb3llZS1tZXRyaWNzL2JlZWFoR3JvdXBcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL2VtcGxveWVlLW1ldHJpY3MvYmVlYWhMaXZlXCIpe1xyXG4gICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcImVtcGxveWVlLW1ldHJpY3NcIiAmJiB1cmxbM10gPT09IFwiaGVhdG1hcFwiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT09IFwiZW1wbG95ZWUtbWV0cmljc1wiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnKXtcclxuICAgICAgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCdjcmVhdGVDaGVja2xpc3QnKSB8fCB1cmwuaW5jbHVkZXMoJ2NvbmZpZ3VyZScpIHx8IHVybC5pbmNsdWRlcygnY3JlYXRlLW9yZGVyJykgfHwgdXJsWzNdID09ICdjcmVhdGUtdGFzaycgfHwgdXJsWzNdID09ICd0YXNrLWNvbmZpZ3VyZScpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGVsc2UgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCd0YXNraW5mbycpKSl7XHJcbiAgICAgIC8vICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIC8vIH1cclxuICAgICAgZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnICYmIHVybC5pbmNsdWRlcygnc3RhcnQnKSl7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygnY2hlY2tsaXN0JykgfHwgdXJsLmluY2x1ZGVzKCdnYWxsZXJ5JykgfHwgdXJsLmluY2x1ZGVzKCdhdWRpdCcpKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9ICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09ICdwbGFub2dyYW0nKXtcclxuICAgICAgaWYodXJsWzJdID09ICdwbGFub2dyYW0nICYmICh1cmwuaW5jbHVkZXMoJ2xheW91dC1idWlsZGVyJykpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYodXJsWzFdID09ICdleWV0ZXN0JyApe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuIFxyXG4gICAgfWVsc2Uge1xyXG4gICAgICBpZiAodXJsWzNdID09IFwicGxhbm9cIikge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjb25zdCB2aWV3c1dpdGhQYWdlVGl0bGVzID0gW1wiY2xhc3NpY1wiLCBcInJlcG9ydHNcIiwgXCJzYWFzXCJdO1xyXG4gIHJldHVybiAoXHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZURpc3BsYXkgJiZcclxuICAgIHZpZXdzV2l0aFBhZ2VUaXRsZXMuc29tZSgodCkgPT4gdCA9PT0gdGhpcy5hcHBUb29sYmFyTGF5b3V0KVxyXG4gICk7XHJcbn1cclxuXHJcbnNldFVJUHJvcGVydGllcyhcclxuICBzaW5nbGVTZWxlY3Q6IGJvb2xlYW4sXHJcbiAgbXVsdGlTZWxlY3Q6IGJvb2xlYW4sXHJcbiAgZGF0ZXBpY2tlcjogYm9vbGVhbixcclxuICBzaW5nbGVTdG9yZTogYm9vbGVhbixcclxuICBzaW5nbGVTZWxlY3RkYXRlcGlja2VyOiBib29sZWFuLFxyXG4gIHRyYWZmaWNkYXRlcGlja2VyOmJvb2xlYW4sXHJcbiAgdHJheGRhdGVwaWNrZXI6Ym9vbGVhbixcclxuICB0cmF4d2l0aG91dGRhdGVwaWNrZXI6Ym9vbGVhbixcclxuICBzdG9yZXNTaW5nbGU6Ym9vbGVhbixcclxuICBub2JXaXRob3V0Q2xpZW50OmJvb2xlYW4sXHJcbiAgbWVydGljc0hlYWRlcjpib29sZWFuLFxyXG4gIHNpbmdsZUNsaWVudFN0b3JlRGF0ZTpib29sZWFuXHJcbik6IHZvaWQge1xyXG4gIHRoaXMuc2luZ2xlU2VsZWN0ID0gc2luZ2xlU2VsZWN0O1xyXG4gIHRoaXMubXVsdGlTZWxlY3QgPSBtdWx0aVNlbGVjdDtcclxuICB0aGlzLmRhdGVwaWNrZXIgPSBkYXRlcGlja2VyO1xyXG4gIHRoaXMuc2luZ2xlU3RvcmUgPSBzaW5nbGVTdG9yZTtcclxuICB0aGlzLnNpbmdsZVNlbGVjdGRhdGVwaWNrZXIgPSBzaW5nbGVTZWxlY3RkYXRlcGlja2VyO1xyXG4gIHRoaXMudHJhZmZpY2RhdGVwaWNrZXIgPSB0cmFmZmljZGF0ZXBpY2tlcjtcclxuICB0aGlzLnRyYXhkYXRlcGlja2VyID0gdHJheGRhdGVwaWNrZXI7XHJcbiAgdGhpcy50cmF4d2l0aG91dGRhdGVwaWNrZXIgPSB0cmF4d2l0aG91dGRhdGVwaWNrZXI7XHJcbiAgdGhpcy5zdG9yZXNTaW5nbGUgPSBzdG9yZXNTaW5nbGU7XHJcbiAgdGhpcy5ub2JXaXRob3V0Q2xpZW50ID0gbm9iV2l0aG91dENsaWVudDtcclxuICB0aGlzLm1lcnRpY3NIZWFkZXIgPSBtZXJ0aWNzSGVhZGVyO1xyXG50aGlzLnNpbmdsZUNsaWVudFN0b3JlRGF0ZSA9IHNpbmdsZUNsaWVudFN0b3JlRGF0ZTtcclxufVxyXG5cclxuZ2V0VXNlckluZm8oY2xpZW50OmFueSl7XHJcbiAgbGV0IG9iaiA9e1xyXG4gICAgICBjbGllbnRJZDogY2xpZW50ID8gY2xpZW50IDonJ1xyXG4gIH1cclxuICBpZihjbGllbnQpe1xyXG4gICAgdGhpcy5hdXRoLmdldEhlYWRlclVzZXJzKG9iaikuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgIFwidXNlcnNFbWFpbC1pbmZvXCIsXHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShlPy5kYXRhPy51c2VyRW1haWxEYXRhIHx8IFtdKSBcclxuICAgICAgICApO1xyXG4gICAgICB9IFxyXG4gICAgfSlcclxuICB9XHJcbn1cclxufVxyXG4iLCI8IS0tYmVnaW46OlRvb2xiYXIgY29udGFpbmVyLS0+XHJcbjxkaXYgaWQ9XCJrdF9hcHBfdG9vbGJhcl9jb250YWluZXJcIiBjbGFzcz1cInBzLTUgcGUtMFwiIFtuZ0NsYXNzXT1cImFwcFRvb2xiYXJDb250YWluZXJDU1NDbGFzc1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgfHwgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnY2xpZW50JyB8fCAoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICdsZWFkJ1wiICA+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQYWdlVGl0bGUoKVwiPlxyXG4gICAgPGxpYi1wYWdlLXRpdGxlIFthcHBQYWdlVGl0bGVEaXJlY3Rpb25dPVwiYXBwUGFnZVRpdGxlRGlyZWN0aW9uXCIgW2FwcFBhZ2VUaXRsZUJyZWFkY3J1bWJdPVwiYXBwUGFnZVRpdGxlQnJlYWRjcnVtYlwiXHJcbiAgICAgIFthcHBQYWdlVGl0bGVEZXNjcmlwdGlvbl09XCJhcHBQYWdlVGl0bGVEZXNjcmlwdGlvblwiIGNsYXNzPVwicGFnZS10aXRsZSBkLWZsZXggZmxleC13cmFwIG1lLTNcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7J2ZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXInOiBhcHBQYWdlVGl0bGVEaXJlY3Rpb24gPT09ICdjb2x1bW4nLCAnYWxpZ24taXRlbXMtY2VudGVyJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uICE9PSAnY29sdW1uJywgYXBwUGFnZVRpdGxlQ1NTQ2xhc3N9XCI+XHJcbiAgICA8L2xpYi1wYWdlLXRpdGxlPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlTZWxlY3QgJiYgdXNlcnMudXNlclR5cGUgPT09J3RhbmdvJ1wiPlxyXG4gICAgPGxpYi1jbGFzc2ljIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBnYXAtbGctM1wiPjwvbGliLWNsYXNzaWM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpbmdsZVNlbGVjdCAmJiB1c2Vycy51c2VyVHlwZSA9PT0ndGFuZ28nXCI+XHJcbiAgICA8bGliLWNsaWVudC1zZXR0aW5ncyBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLWNsaWVudC1zZXR0aW5ncz5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRlcGlja2VyICYmICh1c2Vycy51c2VyVHlwZSA9PT0nY2xpZW50JyB8fCB1c2Vycy51c2VyVHlwZSA9PT0ndGFuZ28nKVwiPlxyXG4gICAgPGxpYi1kYXRlcGlja2VyIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItZGF0ZXBpY2tlcj5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaW5nbGVTZWxlY3RkYXRlcGlja2VyICYmIHVzZXJzLnVzZXJUeXBlID09PSd0YW5nbydcIj5cclxuICAgIDxsaWItZGF0ZS1zaW5nbGUtc2VsZWN0IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItZGF0ZS1zaW5nbGUtc2VsZWN0PlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpbmdsZVN0b3JlXCI+XHJcbiAgICA8bGliLXNpbmdsZS1zdG9yZSBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiIFt1cmxTdHJpbmddPVwidXJsU3RyaW5nXCI+PC9saWItc2luZ2xlLXN0b3JlPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYWZmaWNkYXRlcGlja2VyXCI+XHJcbiAgICA8bGliLXRyYWZmaWMtaGVhZGVyIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItdHJhZmZpYy1oZWFkZXI+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJheGRhdGVwaWNrZXJcIj5cclxuICAgIDxsaWItdHJheC1oZWFkZXIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi10cmF4LWhlYWRlcj5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmF4d2l0aG91dGRhdGVwaWNrZXJcIj5cclxuICAgIDxsaWItdHJheC13aXRob3V0ZGF0ZSBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLXRyYXgtd2l0aG91dGRhdGU+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVzU2luZ2xlXCI+XHJcbiAgICA8bGliLXNpbmdsZS1zdG9yZWRhdGUgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi1zaW5nbGUtc3RvcmVkYXRlPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vYldpdGhvdXRDbGllbnRcIj5cclxuICAgIDxsaWItdHJhZmZpYy1ub2IgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi10cmFmZmljLW5vYj5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVydGljc0hlYWRlclwiPlxyXG4gICAgPGxpYi1tZXRyaWNzLWhlYWRlciBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLW1ldHJpY3MtaGVhZGVyPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaW5nbGVDbGllbnRTdG9yZURhdGVcIj5cclxuICAgIDxsaWItc2luZ2xlLWNsaWVudHN0b3JlLWRhdGUgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi1zaW5nbGUtY2xpZW50c3RvcmUtZGF0ZT5cclxuICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFRvb2xiYXJMYXlvdXQgPT09ICdleHRlbmRlZCdcIj5cclxuICAgIDxsaWItZXh0ZW5kZWQgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtc2hyaW5rLTAgbWUtNVwiPjwvbGliLWV4dGVuZGVkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBUb29sYmFyTGF5b3V0ID09PSAncmVwb3J0cydcIj5cclxuICAgIDxsaWItcmVwb3J0cyBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgb3ZlcmZsb3ctYXV0b1wiIFthcHBQYWdlVGl0bGVEaXNwbGF5XT1cImFwcFBhZ2VUaXRsZURpc3BsYXlcIj5cclxuICAgIDwvbGliLXJlcG9ydHM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFRvb2xiYXJMYXlvdXQgPT09ICdzYWFzJ1wiPlxyXG4gICAgPGxpYi1zYWFzIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiIFthcHBQYWdlVGl0bGVEaXNwbGF5XT1cImFwcFBhZ2VUaXRsZURpc3BsYXlcIj48L2xpYi1zYWFzPlxyXG4gIDwvbmctY29udGFpbmVyPiAtLT5cclxuPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48IS0tZW5kOjpUb29sYmFyIGNvbnRhaW5lci0tPlxyXG4iXX0=
|