tango-app-ui-analyse-trax 3.7.6 → 3.7.7

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.
@@ -685,7 +685,9 @@ export class SettingsAuditComponent {
685
685
  type: this.currentAuditType,
686
686
  storeId: data?.storeId,
687
687
  _id: data.auditedId,
688
- eyeType: data?.comment ? "fake" : "genuine"
688
+ eyeType: data?.comment ? "fake" : "genuine",
689
+ RMEmail: data?.RMEmail,
690
+ cluster: data?.cluster,
689
691
  },
690
692
  });
691
693
  let data1 = JSON.parse(localStorage.getItem("header-filters") || "");
@@ -705,4 +707,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
705
707
  type: HostListener,
706
708
  args: ['document:click', ['$event']]
707
709
  }] } });
708
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtYXVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy9leWUtdGVzdC1hdWRpdC9leWUtdGVzdC1hdWRpdC9zZXR0aW5ncy1hdWRpdC9zZXR0aW5ncy1hdWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2V5ZS10ZXN0LWF1ZGl0L2V5ZS10ZXN0LWF1ZGl0L3NldHRpbmdzLWF1ZGl0L3NldHRpbmdzLWF1ZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBR3pCLGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7OztBQU0zQyxNQUFNLE9BQU8sc0JBQXNCO0lBS3ZCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVpWLE9BQU8sQ0FBTTtJQUNiLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxjQUFjLENBQVk7SUFDMUIsWUFDVSxFQUFxQixFQUNyQixJQUFZLEVBQ1osRUFBZSxFQUNmLFFBQXlCLEVBQ3pCLFlBQTBCLEVBQzFCLEtBQXFCLEVBQ3JCLElBQXlCLEVBQ3pCLFlBQXNCLEVBQ3RCLE1BQWM7UUFSZCxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFR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NUM7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLEtBQUssR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RSxLQUFLLENBQUMsSUFBSSxHQUFHO1lBQ2IsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUTtZQUN0QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRO1NBQ3JDLENBQUM7UUFDRyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO3dHQTF1QlUsc0JBQXNCOzRGQUF0QixzQkFBc0IsK0hDNUJuQyxxczVCQXlaQTs7NEZEN1hhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7eVNBb0I5QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE5nWm9uZSxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLXNoYXJlZFwiO1xyXG5pbXBvcnQgeyBFeWVUZXN0QXVkaXRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2V5ZS10ZXN0LWF1ZGl0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgXCJkYXlqcy9sb2NhbGUvZW5cIjtcclxuaW1wb3J0IHsgYW55IH0gZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUvLmludGVybmFsL2NvcmUvdXRpbC9BcnJheVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbi8vIGltcG9ydCAqIGFzIFBsb3RseSBmcm9tICdwbG90bHkuanMtZGlzdC1taW4nO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwibGliLXNldHRpbmdzLWF1ZGl0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9zZXR0aW5ncy1hdWRpdC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vc2V0dGluZ3MtYXVkaXQuY29tcG9uZW50LnNjc3NcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQXVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEF1ZGl0SWQ6IGFueTtcclxuICBkYXlqcyA9IGRheWpzO1xyXG4gIGNvbXBsaWFuY2VGb3JtOiBGb3JtR3JvdXA7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlICRhcGk6IEV5ZVRlc3RBdWRpdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7fVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrT3V0c2lkZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKCF0YXJnZXQuY2xvc2VzdCgnLmRyb3Bkb3duMicpICYmICF0YXJnZXQuY2xvc2VzdCgnLmJ0bicpKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoXCJBdWRpdCAtIEV5ZSBUZXN0XCIpO1xyXG5cclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IFwiVGFuZ28gVHJheFwiLFxyXG4gICAgICAgIHBhdGg6IFwiL21hbmFnZS90cmF4L2Rhc2hib2FyZFwiLFxyXG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBpc1NlcGFyYXRvcjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogXCJUYW5nbyBUcmF4XCIsXHJcbiAgICAgICAgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsXHJcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGlzU2VwYXJhdG9yOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG4gIGFsZXJ0VXNlcnM6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgaWQ6IFwiNjY4N2Q5ZDFhMjdlZTg4ZjlhNDQ1N2NiXCIsXHJcbiAgICAgIHVzZXJOYW1lOiBcIkFqaW5reWEgTWFsc2hlXCIsXHJcbiAgICAgIGVtYWlsOiBcImFqaW5reWEubWFsc2hlQHlvcG1haWwuY29tXCIsXHJcbiAgICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiBcIjY2ODdkOWQxYTI3ZWU4OGY5YTQ0NTdjY1wiLFxyXG4gICAgICB1c2VyTmFtZTogXCJKb2huIERvZVwiLFxyXG4gICAgICBlbWFpbDogXCJqb2huLmRvZUB5b3BtYWlsLmNvbVwiLFxyXG4gICAgICByb2xlOiBcIm1hbmFnZXJcIixcclxuICAgIH0sXHJcbiAgXTtcclxuICB1c2VyczogYW55O1xyXG4gIGF1ZGl0RGF0YTogYW55O1xyXG4gIGN1cnJlbnRBdWRpdFR5cGU6IGFueTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIik7XHJcbiAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgICBjb25zdCBoZWFkZXJzOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgKTtcclxuICAgIHRoaXMuYXVkaXREYXRhID0gdGhpcy4kYXBpLmdldEF1ZGl0RGF0YSgpXHJcbiAgICAgID8gdGhpcy4kYXBpLmdldEF1ZGl0RGF0YSgpXHJcbiAgICAgIDogaGVhZGVycztcclxuICAgIHRoaXMuY29tcGxpYW5jZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdGhyZXNob2xkOiBbeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWUgfV0sXHJcbiAgICAgIHBlcmNlbnRhZ2U6IFt7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZSB9XSxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZ2V0VXNlcigpO1xyXG4gICAgdGhpcy5nZXRFbWFpbENvbmZpZygpO1xyXG4gICAgdGhpcy5nZXRBbGxSbSgpO1xyXG4gICAgLy8gdGhpcy5idWlsZERhdGFPYmplY3QoKTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gICAgdGhpcy50YWJsZURhdGEgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBybU5hbWU6IFwiT2xpdmlhXCIsXHJcbiAgICAgICAgY2x1c3Rlck5hbWU6IFwiSm9oblwiLFxyXG4gICAgICAgIG9wdHVtSWQ6IFwiT1BUMDAxXCIsXHJcbiAgICAgICAgc3RvcmVOYW1lOiBcIkxLU1QxMDAxXCIsXHJcbiAgICAgICAgdGFuZ29TY29yZTogXCI5JVwiLFxyXG4gICAgICAgIHRydXN0U2NvcmU6IFwiOSVcIixcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHJtTmFtZTogXCJFbW1hXCIsXHJcbiAgICAgICAgY2x1c3Rlck5hbWU6IFwiRG9lXCIsXHJcbiAgICAgICAgb3B0dW1JZDogXCJPUFQwMDJcIixcclxuICAgICAgICBzdG9yZU5hbWU6IFwiTEtTVDEwMDJcIixcclxuICAgICAgICB0YW5nb1Njb3JlOiBcIjglXCIsXHJcbiAgICAgICAgdHJ1c3RTY29yZTogXCI4JVwiLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcm1OYW1lOiBcIkF2YVwiLFxyXG4gICAgICAgIGNsdXN0ZXJOYW1lOiBcIlNtaXRcIixcclxuICAgICAgICBvcHR1bUlkOiBcIk9QVDAwM1wiLFxyXG4gICAgICAgIHN0b3JlTmFtZTogXCJMS1NUMTAwM1wiLFxyXG4gICAgICAgIHRhbmdvU2NvcmU6IFwiNyVcIixcclxuICAgICAgICB0cnVzdFNjb3JlOiBcIjclXCIsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBybU5hbWU6IFwiSXNhYmVsbGFcIixcclxuICAgICAgICBjbHVzdGVyTmFtZTogXCJKb2huc29uXCIsXHJcbiAgICAgICAgb3B0dW1JZDogXCJPUFQwMDRcIixcclxuICAgICAgICBzdG9yZU5hbWU6IFwiTEtTVDEwMDRcIixcclxuICAgICAgICB0YW5nb1Njb3JlOiBcIjYlXCIsXHJcbiAgICAgICAgdHJ1c3RTY29yZTogXCI2JVwiLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICAgIC8vIHRoaXMuYWxlcnRVc2VycyA9IHRoaXMuYWxlcnRVc2Vycy5tYXAoXHJcbiAgICAvLyAgICh1c2VyOiB7IHVzZXJOYW1lOiBzdHJpbmc7IGVtYWlsOiBzdHJpbmc7IHJvbGU6IHN0cmluZyB9KSA9PiAoe1xyXG4gICAgLy8gICAgIG5hbWU6IHVzZXIudXNlck5hbWUsXHJcbiAgICAvLyAgICAgdmFsdWU6IHVzZXIuZW1haWwsXHJcbiAgICAvLyAgICAgcm9sZTogdXNlci5yb2xlLFxyXG4gICAgLy8gICB9KVxyXG4gICAgLy8gKTtcclxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcclxuICAgICAgLy8gdGhpcy5zdG9yZUlkID0gcGFyYW1zWydzdG9yZUlkJ107XHJcbiAgICAgIHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9IHBhcmFtc1tcInR5cGVcIl07XHJcbiAgICAgIHRoaXMuQXVkaXRJZCA9IHBhcmFtc1tcIl9pZFwiXTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5nZXRBdWRpdGRldGFpbHMoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgc3RlcFdpc2VQcm9jZXNzOiBhbnkgPSBbXTtcclxuICBhdWRpdERldGFpbHM6IGFueTtcclxuICB0YWtlQXVkaXQ6IGFueTtcclxuICBnZXRBdWRpdGRldGFpbHMoKSB7XHJcbiAgICAvLyB0aGlzLnRhYmxlTG9hZGluZy5uZXh0KCdsb2FkaW5nJyk7XHJcbiAgICBsZXQgcGF5bG9hZCA9IHtcclxuICAgICAgaWQ6IHRoaXMuQXVkaXRJZCxcclxuICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlLFxyXG4gICAgfTtcclxuICAgIHRoaXMuJGFwaVxyXG4gICAgICAuZ2V0QXVkaXRkZXRhaWxzKHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5kaXNhYmxlY2FuY2VsID0gIGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMuYXVkaXREZXRhaWxzID0gcmVzPy5kYXRhPy5yZXN1bHQ7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmF1ZGl0RGV0YWlscy5hdWRpdFN0YXR1cyA9PT0gXCJJbi1Qcm9ncmVzc1wiKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50YWtlQXVkaXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFrZUF1ZGl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zdGVwV2lzZVByb2Nlc3MgPSB0aGlzLmF1ZGl0RGV0YWlscz8uc3RlcHM7XHJcbiAgICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICAgICAgLy8gICB0aGlzLmdldEF1ZGl0SGlzdG9yeSgpXHJcbiAgICAgICAgICAgIC8vIH0sMTAwKVxyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAvLyB0aGlzLnRhYmxlTG9hZGluZy5uZXh0KCdsb2FkZWQnKVxyXG4gIH1cclxuXHJcbiAgb3Blbkl0ZW0oZXZlbnQ6IGFueSkge31cclxuXHJcbiAgLy8gY29tcG9uZW50LnRzXHJcblxyXG4gIGJhY2tOYXZpZ2F0aW9uKCkge1xyXG4gICAgdGhpcy4kYXBpLmF1ZGl0RmlsdGVyRGF0YSA9IHtcclxuICAgICAgYmFjazogXCJiYWNrXCIsXHJcbiAgICAgIGF1ZGl0RGV0YWlsczogdGhpcy5hdWRpdERldGFpbHMsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0XCJdLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgZGF0ZTogdGhpcy5kYXlqcyhcclxuICAgICAgICAgIHRoaXMuYXVkaXREZXRhaWxzPy5maWxlRGF0ZVxyXG4gICAgICAgICAgICA/IHRoaXMuYXVkaXREZXRhaWxzPy5maWxlRGF0ZVxyXG4gICAgICAgICAgICA6IHRoaXMuZmlsdGVyU3RhcnREYXRlXHJcbiAgICAgICAgKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgIHR5cGVWYWx1ZTogXCJwaHlzaWNhbFwiLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNlbGVjdGVkQ29tcGxpYW5jZVRocmVzaG9sZDogYW55O1xyXG4gIHNlbGVjdGVkQ29tcGxpYW5jZVBlcmNlbnRhZ2U6IGFueTtcclxuICBjb21wbGlhbmNlVGhyZXNob2xkcyA9IFtcclxuICAgIHsgdmFsdWU6IFwiPD1cIiwgbGFiZWw6IFwiPCA9XCIgfSxcclxuICAgIHsgdmFsdWU6IFwiPFwiLCBsYWJlbDogXCI8XCIgfSxcclxuICAgIHsgdmFsdWU6IFwiPT5cIiwgbGFiZWw6IFwiPSA+XCIgfSxcclxuICAgIHsgdmFsdWU6IFwiPlwiLCBsYWJlbDogXCI+XCIgfSxcclxuICAgIHsgdmFsdWU6IFwiPVwiLCBsYWJlbDogXCI9XCIgfSxcclxuICBdO1xyXG4gIGNvbXBsaWFuY2VQZXJjZW50YWdlID0gW1xyXG4gICAgeyB2YWx1ZTogXCIxMCVcIiwgbGFiZWw6IFwiMTAlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiMjAlXCIsIGxhYmVsOiBcIjIwJVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIjMwJVwiLCBsYWJlbDogXCIzMCVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCI0MCVcIiwgbGFiZWw6IFwiNDAlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiNTAlXCIsIGxhYmVsOiBcIjUwJVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIjYwJVwiLCBsYWJlbDogXCI2MCVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCI3MCVcIiwgbGFiZWw6IFwiNzAlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiODAlXCIsIGxhYmVsOiBcIjgwJVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIjkwJVwiLCBsYWJlbDogXCI5MCVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCIxMDAlXCIsIGxhYmVsOiBcIjEwMCVcIiB9LFxyXG4gIF07XHJcblxyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7XHJcbiAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgzMCwgXCJkYXlzXCIpLFxyXG4gICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLFxyXG4gIH07XHJcbiAgZmlsdGVyU3RhcnREYXRlOiBhbnkgPSB0aGlzLmRheWpzKCkuc3VidHJhY3QoMzAsIFwiZGF5c1wiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xyXG4gIGZpbHRlckVuZERhdGU6IGFueSA9IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgwLCBcImRheXNcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcclxuXHJcbiAgcmFuZ2VzOiBhbnkgPSB7XHJcbiAgICBUb2RheTogW3RoaXMuZGF5anMoKSwgdGhpcy5kYXlqcygpXSxcclxuICAgIFllc3RlcmRheTogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpLFxyXG4gICAgXSxcclxuICAgIFwiVGhpcyBXZWVrXCI6IFt0aGlzLmRheWpzKCkuc3VidHJhY3QoNiwgXCJkYXlzXCIpLCB0aGlzLmRheWpzKCldLFxyXG4gICAgXCJMYXN0IFdlZWtcIjogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMTMsIFwiZGF5c1wiKS5zdGFydE9mKFwiZGF5c1wiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDcsIFwiZGF5c1wiKS5lbmRPZihcImRheXNcIiksXHJcbiAgICBdLFxyXG4gICAgXCJUaGlzIE1vbnRoXCI6IFtcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDMwLCBcImRheXNcIiksIC8vIFN0YXJ0IGRhdGUgaXMgMzAgZGF5cyBiZWZvcmUgdG9kYXlcclxuICAgICAgdGhpcy5kYXlqcygpLFxyXG4gICAgXSxcclxuICAgIFwiTGFzdCBNb250aFwiOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcIm1vbnRoXCIpLnN0YXJ0T2YoXCJtb250aFwiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwibW9udGhcIikuZW5kT2YoXCJtb250aFwiKSxcclxuICAgIF0sXHJcbiAgfTtcclxuXHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQuc3RhcnREYXRlIHx8IGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgdGhpcy5maWx0ZXJTdGFydERhdGUgPSB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcclxuICAgICAgdGhpcy5maWx0ZXJFbmREYXRlID0gdGhpcy5kYXlqcyhldmVudC5lbmREYXRlKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xyXG4gICAgICB0aGlzLkFwcGx5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBvcnRYTFNYKCkge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgICBmcm9tRGF0ZTogdGhpcy5maWx0ZXJTdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5maWx0ZXJFbmREYXRlLFxyXG4gICAgICB0eXBlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUsXHJcbiAgICAgIFJNTGlzdDogdGhpcy5zZWxlY3RlZFJtcz8ubGVuZ3RoID8gdGhpcy5zZWxlY3RlZFJtcyA6IFtdLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5hdWRpdERhdGE/LmNsaWVudFxyXG4gICAgICAgID8gdGhpcy5hdWRpdERhdGE/LmNsaWVudFxyXG4gICAgICAgIDogdGhpcy51c2Vycz8uY2xpZW50SWQsXHJcbiAgICAgIGNsdXN0ZXI6IHRoaXMuc2VsZWN0ZWRDbHVzdGVycz8ubGVuZ3RoXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkQ2x1c3RlcnNcclxuICAgICAgICA6IFtdLFxyXG4gICAgICBpc0V4cG9ydDogdHJ1ZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUsXHJcbiAgICAgIHNvcnRCeTogdGhpcy5zb3J0ZWRDb2x1bW4gPyB0aGlzLnNvcnRlZENvbHVtbiA6IFwicm1OYW1lXCIsXHJcbiAgICAgIHNvcnRPcmRlcjogdGhpcy5zb3J0T3JkZXIgPyB0aGlzLnNvcnRPcmRlciA6IDEsXHJcbiAgICAgIG9mZnNldDogMSxcclxuICAgICAgbGltaXQ6IDEwMDAwLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLiRhcGlcclxuICAgICAgLmdldEVtYWlsTG9nRXhwb3J0KHJlcXVlc3REYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy4kYXBpLnNhdmVBc0V4Y2VsRmlsZShcclxuICAgICAgICAgICAgcmVzLFxyXG4gICAgICAgICAgICBgJHt0aGlzLmN1cnJlbnRBdWRpdFR5cGV9IEV5ZSBUZXN0IFRhYmxlIGBcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoXHJcbiAgICAgICAgICAgIGVycj8uZXJyb3I/LmVycm9yID8gZXJyPy5lcnJvcj8uZXJyb3IgOiBlcnI/LmVycm9yPy5tZXNzYWdlXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIFxyXG4gIH1cclxuXHJcbiAgc2VhcmNoVmFsdWU6IGFueTtcclxuc2VhcmNoRGF0YSgpIHtcclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlO1xyXG4gICAgdGhpcy5nZXRFbWFpbCgpO1xyXG4gIH1cclxuXHJcbiAgdGFibGVEYXRhOiBhbnkgPSBbXTtcclxuXHJcbiAgc29ydGVkQ29sdW1uOiBhbnk7XHJcbiAgc29ydE9yZGVyOiBhbnk7XHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zb3J0ZWRDb2x1bW4gPT09IGNvbHVtbikge1xyXG4gICAgICB0aGlzLnNvcnRPcmRlciA9IHRoaXMuc29ydE9yZGVyID09PSAxID8gLTEgOiAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0ZWRDb2x1bW4gPSBjb2x1bW4gPyBjb2x1bW4gOiBcInJtTmFtZVwiO1xyXG4gICAgICB0aGlzLnNvcnRPcmRlciA9IDE7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEVtYWlsKCk7XHJcbiAgfVxyXG4gIGFsbFVzZXJzOiBhbnk7XHJcbiAgZ2V0VXNlcigpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIHVzZXJUeXBlOiAnY2xpZW50JyxcclxuICAgICAgZmlsdGVyQnlSb2xlOiBbXCJhZG1pblwiLCBcInVzZXJcIl0sXHJcbiAgICAgIGlzQWN0aXZlOiB0aGlzLnVzZXJzPy5pc0FjdGl2ZSxcclxuICAgICAgY2xpZW50SWQ6dGhpcy5hdWRpdERhdGE/LmNsaWVudCA/IHRoaXMuYXVkaXREYXRhPy5jbGllbnQgOiB0aGlzLnVzZXJzPy5jbGllbnRJZFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLiRhcGlcclxuICAgICAgLmdldHVzZXJMaXN0KG9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5hbGxVc2VycyA9IHJlcz8uZGF0YT8ucmVzdWx0Py5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgaWQ6IGl0ZW0uX2lkLFxyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLmVtYWlsLFxyXG4gICAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICAgIHRoaXMuZ2V0VXNlckNvbmZpZygpOyAvLyBjYWxsIGFmdGVyIGFsbFVzZXJzIGlzIHJlYWR5XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29uZmlnRGF0YTogYW55O1xyXG5cclxuICB1cGRhdGVPd25lcihzZWxlY3RlZEVtYWlsOiBhbnkpIHtcclxuICAgIHRoaXMuY29uZmlnRGF0YSA9IHNlbGVjdGVkRW1haWw7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVFZGl0KCkge1xyXG4gICAgaWYgKCF0aGlzLmVkaXRNb2RlKSB7XHJcbiAgICAgIC8vIGVudGVyaW5nIGVkaXQgbW9kZSDihpIgbWFrZSBhIHdvcmtpbmcgY29weVxyXG4gICAgICB0aGlzLmNvbmZpZ0RhdGEgPSBbLi4udGhpcy5sYXN0U2F2ZWRDb25maWddO1xyXG4gICAgICB0aGlzLmVkaXRNb2RlID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIGxlYXZpbmcgZWRpdCB3aXRob3V0IHNhdmluZyDihpIgcmVzdG9yZSBiYXNlbGluZVxyXG4gICAgICB0aGlzLmNvbmZpZ0RhdGEgPSBbLi4udGhpcy5sYXN0U2F2ZWRDb25maWddO1xyXG4gICAgICB0aGlzLmVkaXRNb2RlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5jZWxFZGl0KCkge1xyXG4gICAgLy8gcmV2ZXJ0IGJhY2sgdG8gbGFzdCBzYXZlZCBzdGF0ZVxyXG4gICAgdGhpcy5jb25maWdEYXRhID0gWy4uLnRoaXMubGFzdFNhdmVkQ29uZmlnXTtcclxuICAgIHRoaXMuZWRpdE1vZGUgPSBmYWxzZTtcclxuICB9XHJcbiAgZWRpdE1vZGUgPSBmYWxzZTtcclxuICBzdWJtaXRPd25lcnMoKSB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5hdWRpdERhdGE/LmNsaWVudCwgLy8gb3IgdGhpcy5jbGllbnRJZFxyXG4gICAgICB1c2VyTGlzdDogdGhpcy5jb25maWdEYXRhLm1hcCgobzogYW55KSA9PiAoe1xyXG4gICAgICAgIF9pZDogby5pZCA/PyBvLnZhbHVlLCAvLyDinIUgc3VwcG9ydCBib3RoIGNhc2VzXHJcbiAgICAgICAgZW1haWw6IG8ubmFtZSxcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLiRhcGlcclxuICAgICAgLnVwZGF0ZVVzZXJDb25maWcocGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFVzZXJDb25maWcoKTtcclxuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KFwiT3duZXJzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmVkaXRNb2RlID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFwiRmFpbGVkIHRvIHVwZGF0ZSBvd25lcnNcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiVXBkYXRlIGZhaWxlZDpcIiwgZXJyKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIHRoaXMub25TdWJtaXQoKTtcclxuICB1c2VyQ29uZmlnTGlzdDogYW55ID0gW107XHJcbiAgbGFzdFNhdmVkQ29uZmlnOiBhbnk7XHJcbiAgZ2V0VXNlckNvbmZpZygpIHtcclxuICAgIHRoaXMuJGFwaVxyXG4gICAgICAuZ2V0VXNlckNvbmZpZ0xpc3QodGhpcy5hdWRpdERhdGE/LmNsaWVudClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgLy8gQXNzaWduZWQgdXNlcnNcclxuICAgICAgICAgIHRoaXMuY29uZmlnRGF0YSA9XHJcbiAgICAgICAgICAgIHJlcz8uZGF0YT8ucmVzdWx0Py51c2VyTGlzdD8ubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgICAgaWQ6IGl0ZW0uX2lkLFxyXG4gICAgICAgICAgICAgIG5hbWU6IGl0ZW0uZW1haWwsXHJcbiAgICAgICAgICAgIH0pKSA/PyBbXTtcclxuICAgICAgICAgIHRoaXMubGFzdFNhdmVkQ29uZmlnID0gWy4uLnRoaXMuY29uZmlnRGF0YV07XHJcblxyXG4gICAgICAgICAgLy8gQnVpbGQgc2V0IG9mIGFzc2lnbmVkIGlkc1xyXG4gICAgICAgICAgY29uc3QgYXNzaWduZWRJZHMgPSBuZXcgU2V0KHRoaXMuY29uZmlnRGF0YS5tYXAoKHU6IGFueSkgPT4gdS5pZCkpO1xyXG5cclxuICAgICAgICAgIC8vIEZpbHRlciBmcm9tIGFsbFVzZXJzIChub3QgZnJvbSB1c2VyQ29uZmlnTGlzdCEpXHJcbiAgICAgICAgICB0aGlzLnVzZXJDb25maWdMaXN0ID0gdGhpcy5hbGxVc2Vycy5maWx0ZXIoXHJcbiAgICAgICAgICAgICh1OiBhbnkpID0+ICFhc3NpZ25lZElkcy5oYXModS5pZClcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIGVtYWlsIGNvbmdpZyBtZXRob2QgYW5kIHZhcmlhYmxlc1xyXG4gIGVtYWlsQ29uZmlnTGlzdDogYW55O1xyXG4gIGVkaXRNb2RlMSA9IHRydWU7XHJcbiAgdG9nZ2xlRWRpdDEoKSB7XHJcbiAgICB0aGlzLmVkaXRNb2RlMSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jb21wbGlhbmNlRm9ybS5lbmFibGUoKTtcclxuICB9XHJcbiAgZ2V0RW1haWxDb25maWcoKSB7XHJcbiAgICB0aGlzLiRhcGlcclxuICAgICAgLmdldEVtYWlsQ29uZmlnTGlzdChcclxuICAgICAgICB0aGlzLmF1ZGl0RGF0YT8uY2xpZW50ID8gdGhpcy5hdWRpdERhdGE/LmNsaWVudCA6IHRoaXMudXNlcnM/LmNsaWVudElkXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5lbWFpbENvbmZpZ0xpc3QgPSByZXM/LmRhdGE/LnJlc3VsdDtcclxuXHJcbiAgICAgICAgICAvLyBTdXBwb3NlIGJhY2tlbmQgcmV0dXJucyBzb21ldGhpbmcgbGlrZTpcclxuICAgICAgICAgIC8vIHsgdGhyZXNob2xkOiBcIjEwXCIsIHBlcmNlbnRhZ2U6IFwiODBcIiB9XHJcbiAgICAgICAgICBjb25zdCBpbml0aWFsRGF0YSA9IHtcclxuICAgICAgICAgICAgdGhyZXNob2xkOiB0aGlzLmVtYWlsQ29uZmlnTGlzdD8uY29tcGxpYW5jZVRocmVzaG9sZD8uY29uZGl0aW9uLFxyXG4gICAgICAgICAgICBwZXJjZW50YWdlOiB0aGlzLmVtYWlsQ29uZmlnTGlzdD8uY29tcGxpYW5jZVRocmVzaG9sZD8udmFsdWUsXHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgIC8vIEZpbGwgcmVhY3RpdmUgZm9ybSB3aXRoIHZhbHVlc1xyXG4gICAgICAgICAgdGhpcy5jb21wbGlhbmNlRm9ybS5wYXRjaFZhbHVlKGluaXRpYWxEYXRhKTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBsYXN0U2F2ZWRDb21wbGlhbmNlOiBhbnk7XHJcbiAgc3VibWl0Q29tcGxpYW5jZSgpIHtcclxuICAgIGlmICh0aGlzLmNvbXBsaWFuY2VGb3JtLmludmFsaWQpIHJldHVybjtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmF1ZGl0RGF0YT8uY2xpZW50LFxyXG4gICAgICBjb21wbGlhbmNlVGhyZXNob2xkOiB7XHJcbiAgICAgICAgY29uZGl0aW9uOiB0aGlzLmNvbXBsaWFuY2VGb3JtLnZhbHVlLnRocmVzaG9sZCxcclxuICAgICAgICB2YWx1ZTogdGhpcy5jb21wbGlhbmNlRm9ybS52YWx1ZS5wZXJjZW50YWdlLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLiRhcGlcclxuICAgICAgLnVwZGF0ZUVtYWlsQ29uZmlnKHRoaXMuZW1haWxDb25maWdMaXN0Py5faWQsIHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KFxyXG4gICAgICAgICAgICByZXM/Lm1lc3NhZ2VcclxuICAgICAgICAgICAgICA/IGBFbWFpbCBjb25maWd1cmF0aW9uYCArIHJlcz8ubWVzc2FnZVxyXG4gICAgICAgICAgICAgIDogXCJDb21wbGlhbmNlIHNldHRpbmdzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5XCJcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmdldEVtYWlsQ29uZmlnKCk7IC8vIHVwZGF0ZSBiYXNlbGluZVxyXG4gICAgICAgICAgdGhpcy5jb21wbGlhbmNlRm9ybS5kaXNhYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLmVkaXRNb2RlMSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiBjb25zb2xlLmVycm9yKFwiVXBkYXRlIGZhaWxlZDpcIiwgZXJyKSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWxDb21wbGlhbmNlKCkge1xyXG4gICAgdGhpcy5jb21wbGlhbmNlRm9ybS5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmVkaXRNb2RlMSA9IHRydWU7XHJcbiAgICB0aGlzLmdldEVtYWlsQ29uZmlnKCk7XHJcbiAgfVxyXG4gIC8vIFJNc1xyXG4gIFJtTGlzdDogYW55W10gPSBbXTtcclxuICBmaWx0ZXJlZFJtczogYW55W10gPSBbXTtcclxuICBzZWFyY2hSbVRleHQgPSBcIlwiO1xyXG5cclxuICAvLyBDbHVzdGVyc1xyXG4gIENsdXN0ZXJMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGZpbHRlcmVkQ2x1c3RlcnM6IGFueVtdID0gW107XHJcbiAgc2VhcmNoQ2x1c3RlclRleHQgPSBcIlwiO1xyXG5cclxuICAvLyBEcm9wZG93bnNcclxuICBPcGVuZHJvcGRvd24gPSBmYWxzZTtcclxuICBkcm9wZG93bk9wZW46IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvLyBPcGVuL2Nsb3NlIGRyb3Bkb3duXHJcbiAgb3BlbmRyb3Bkb3duKCkge1xyXG4gICAgdGhpcy5PcGVuZHJvcGRvd24gPSAhdGhpcy5PcGVuZHJvcGRvd247XHJcbiAgfVxyXG4gIGNsb3NlRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IG51bGw7XHJcbiAgfVxyXG4gIHJtT3BlbiA9IGZhbHNlO1xyXG4gIGNsdXN0ZXJPcGVuID0gZmFsc2U7XHJcblxyXG4gIHRvZ2dsZVJtRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLnJtT3BlbiA9ICF0aGlzLnJtT3BlbjtcclxuICAgIHRoaXMuY2x1c3Rlck9wZW4gPSBmYWxzZTsgLy8gY2xvc2Ugb3RoZXJcclxuICB9XHJcblxyXG4gIHRvZ2dsZUNsdXN0ZXJEcm9wZG93bigpIHtcclxuICAgIHRoaXMuY2x1c3Rlck9wZW4gPSAhdGhpcy5jbHVzdGVyT3BlbjtcclxuICAgIHRoaXMucm1PcGVuID0gZmFsc2U7IC8vIGNsb3NlIG90aGVyXHJcbiAgfVxyXG5cclxuICBjbG9zZUFsbERyb3Bkb3ducygpIHtcclxuICAgIHRoaXMucm1PcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsdXN0ZXJPcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKiogLS0tLSBSTXMgLS0tLSAqL1xyXG4gIGdldEFsbFJtKCkge1xyXG4gICAgdGhpcy4kYXBpLmdldFJtTGlzdCh0aGlzLmF1ZGl0RGF0YT8uY2xpZW50KS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IEFycmF5LmlzQXJyYXkocmVzLmRhdGEucmVzdWx0KVxyXG4gICAgICAgICAgPyByZXMuZGF0YS5yZXN1bHRcclxuICAgICAgICAgIDogW3Jlcy5kYXRhLnJlc3VsdF07XHJcbiAgICAgICAgdGhpcy5SbUxpc3QgPSByZXN1bHQubWFwKChybTogYW55KSA9PiAoeyAuLi5ybSwgY2hlY2tlZDogdHJ1ZSB9KSk7IC8vIOKchSBwcmUtc2VsZWN0IGFsbFxyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRSbXMgPSBbLi4udGhpcy5SbUxpc3RdO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ2V0QWxsR3JvdXBzKHRoaXMuUm1MaXN0KTtcclxuICAgICAgdGhpcy5BcHBseSgpOyAvLyBmZXRjaCBjbHVzdGVycyBiYXNlZCBvbiBzZWxlY3RlZCBSTXNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyUm1zKCkge1xyXG4gICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2hSbVRleHQudG9Mb3dlckNhc2UoKTtcclxuICAgIHRoaXMuZmlsdGVyZWRSbXMgPSB0aGlzLlJtTGlzdC5maWx0ZXIoKHIpID0+XHJcbiAgICAgIHIudXNlck5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNBbGxSbXNTZWxlY3RlZCgpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuZmlsdGVyZWRSbXMubGVuZ3RoID4gMCAmJiB0aGlzLmZpbHRlcmVkUm1zLmV2ZXJ5KChyKSA9PiByLmNoZWNrZWQpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlU2VsZWN0QWxsUm1zKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGNoZWNrZWQgPSBldmVudC50YXJnZXQuY2hlY2tlZDtcclxuICAgIHRoaXMuZmlsdGVyZWRSbXMuZm9yRWFjaCgocikgPT4gKHIuY2hlY2tlZCA9IGNoZWNrZWQpKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVNlbGVjdGVkUm1zKCkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLlJtTGlzdC5maWx0ZXIoKHIpID0+IHIuY2hlY2tlZCk7XHJcbiAgICB0aGlzLmdldEFsbEdyb3VwcyhzZWxlY3RlZCk7IC8vIGF1dG8gcmVmcmVzaCBjbHVzdGVyc1xyXG4gIH1cclxuXHJcbnNlbGVjdGVkUm1zTGFiZWwoKTogc3RyaW5nIHtcclxuICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuZmlsdGVyZWRSbXMuZmlsdGVyKHJtID0+IHJtLmNoZWNrZWQpO1xyXG4gIGlmIChzZWxlY3RlZC5sZW5ndGggPT09IDApIHJldHVybiAnJztcclxuICByZXR1cm4gc2VsZWN0ZWRbMF0udXNlck5hbWU7XHJcbn1cclxuZ2V0U2VsZWN0ZWRSbXNDb3VudCgpOiBudW1iZXIge1xyXG4gIHJldHVybiB0aGlzLmZpbHRlcmVkUm1zLmZpbHRlcihybSA9PiBybS5jaGVja2VkKS5sZW5ndGggLTE7XHJcbn1cclxuICAvKiogLS0tLSBDbHVzdGVycyAtLS0tICovXHJcbmdldEFsbEdyb3VwcyhldmVudD86IGFueVtdKSB7XHJcbiAgbGV0IHJtTGlzdDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgaWYgKGV2ZW50Py5sZW5ndGgpIHtcclxuICAgIHJtTGlzdCA9IGV2ZW50Lm1hcCgobykgPT4gby5lbWFpbCk7XHJcbiAgfSBlbHNlIGlmICh0aGlzLnVzZXJzPy5yb2xlID09PSBcInJtXCIpIHtcclxuICAgIHJtTGlzdCA9IFt0aGlzLnVzZXJzPy5lbWFpbF07XHJcbiAgfVxyXG5cclxuICBjb25zdCBvYmogPSB7IFxyXG4gICAgY2xpZW50SWQ6IHRoaXMuYXVkaXREYXRhPy5jbGllbnQgPyB0aGlzLmF1ZGl0RGF0YT8uY2xpZW50IDogdGhpcy51c2Vycz8uY2xpZW50SWQsXHJcbiAgICBybUxpc3QgXHJcbiAgfTtcclxuXHJcbiAgdGhpcy4kYXBpLmdldENsdXN0ZXJzKG9iaikuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgaWYgKHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgIC8vIEluaXRpYWxpemUgY2x1c3RlcnMgd2l0aCBjaGVja2VkPWZhbHNlXHJcbiAgICAgIHRoaXMuQ2x1c3Rlckxpc3QgPSAocmVzLmRhdGEucmVzdWx0IHx8IFtdKS5tYXAoKGM6IGFueSkgPT4gKHtcclxuICAgICAgICAuLi5jLFxyXG4gICAgICAgIGNoZWNrZWQ6IHRydWVcclxuICAgICAgfSkpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkQ2x1c3RlcnMgPSBbLi4udGhpcy5DbHVzdGVyTGlzdF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gW107XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRDbHVzdGVycyA9IFtdO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5maWx0ZXJDbHVzdGVycygpIHtcclxuICBjb25zdCBzZWFyY2ggPSB0aGlzLnNlYXJjaENsdXN0ZXJUZXh0LnRvTG93ZXJDYXNlKCk7XHJcbiAgdGhpcy5maWx0ZXJlZENsdXN0ZXJzID0gdGhpcy5DbHVzdGVyTGlzdC5maWx0ZXIoKGMpID0+XHJcbiAgICBjLmNsdXN0ZXJOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKVxyXG4gICk7XHJcbn1cclxuXHJcbmlzQWxsQ2x1c3RlcnNTZWxlY3RlZCgpIHtcclxuICByZXR1cm4gKFxyXG4gICAgdGhpcy5maWx0ZXJlZENsdXN0ZXJzLmxlbmd0aCA+IDAgJiZcclxuICAgIHRoaXMuZmlsdGVyZWRDbHVzdGVycy5ldmVyeSgoYykgPT4gYy5jaGVja2VkKVxyXG4gICk7XHJcbn1cclxuXHJcbnRvZ2dsZVNlbGVjdEFsbENsdXN0ZXJzKGV2ZW50OiBhbnkpIHtcclxuICBjb25zdCBjaGVja2VkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XHJcbiAgdGhpcy5maWx0ZXJlZENsdXN0ZXJzLmZvckVhY2goKGMpID0+IChjLmNoZWNrZWQgPSBjaGVja2VkKSk7XHJcbiAgdGhpcy51cGRhdGVTZWxlY3RlZENsdXN0ZXJzKCk7XHJcbn1cclxuXHJcbnVwZGF0ZVNlbGVjdGVkQ2x1c3RlcnMoKSB7XHJcbiAgdGhpcy5zZWxlY3RlZENsdXN0ZXJzID0gdGhpcy5DbHVzdGVyTGlzdFxyXG4gICAgLmZpbHRlcihjID0+IGMuY2hlY2tlZClcclxuICAgIC5tYXAoYyA9PiBjLl9pZCk7IC8vIG9yIGMuY2x1c3Rlck5hbWUgaWYgbmVlZGVkXHJcbn1cclxuXHJcbnNlbGVjdGVkQ2x1c3RlcnNMYWJlbCgpIHtcclxuICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuQ2x1c3Rlckxpc3QuZmlsdGVyKChjKSA9PiBjLmNoZWNrZWQpO1xyXG4gIGlmIChzZWxlY3RlZC5sZW5ndGggPT09IDApIHJldHVybiAnJztcclxuICByZXR1cm4gc2VsZWN0ZWRbMF0uY2x1c3Rlck5hbWU7XHJcbn1cclxuXHJcbmdldFNlbGVjdGVkQ2x1c3RlcnNDb3VudCgpIHtcclxuICBjb25zdCBjb3VudCA9IHRoaXMuQ2x1c3Rlckxpc3QuZmlsdGVyKGMgPT4gYy5jaGVja2VkKS5sZW5ndGg7XHJcbiAgcmV0dXJuIGNvdW50ID4gMSA/IGNvdW50IC0gMSA6IDA7IC8vIFNob3cgXCIrTiBvdGhlcnNcIlxyXG59XHJcblxyXG4gIC8qKiAtLS0tIEFwcGx5IC8gUmVzZXQgLS0tLSAqL1xyXG4gIFJlc2V0KCkge1xyXG4gICAgdGhpcy5SbUxpc3QuZm9yRWFjaCgocikgPT4gKHIuY2hlY2tlZCA9IGZhbHNlKSk7XHJcbiAgICB0aGlzLkNsdXN0ZXJMaXN0LmZvckVhY2goKGMpID0+IChjLmNoZWNrZWQgPSBmYWxzZSkpO1xyXG4gICAgdGhpcy5maWx0ZXJlZFJtcyA9IFsuLi50aGlzLlJtTGlzdF07XHJcbiAgICB0aGlzLmZpbHRlcmVkQ2x1c3RlcnMgPSBbLi4udGhpcy5DbHVzdGVyTGlzdF07XHJcbiAgICAgICB0aGlzLk9wZW5kcm9wZG93biA9IGZhbHNlO1xyXG4gIH1cclxuICBzZWxlY3RlZFJtczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRDbHVzdGVyczogYW55ID0gW107XHJcbiAgQXBwbHkoKSB7XHJcbiAgICBjb25zdCBkYXRlUGlwZSA9IG5ldyBEYXRlUGlwZShcImVuLVVTXCIpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFJtcyA9IHRoaXMuUm1MaXN0LmZpbHRlcigocikgPT4gci5jaGVja2VkKS5tYXAoKHIpID0+IHIuZW1haWwpO1xyXG4gICAgdGhpcy5zZWxlY3RlZENsdXN0ZXJzID0gdGhpcy5DbHVzdGVyTGlzdC5maWx0ZXIoKGMpID0+IGMuY2hlY2tlZCkubWFwKFxyXG4gICAgICAoYykgPT4gYy5jbHVzdGVyTmFtZVxyXG4gICAgKTtcclxuICAgIHRoaXMuZ2V0RW1haWwoKTtcclxuICAgIHRoaXMucm1PcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsdXN0ZXJPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLk9wZW5kcm9wZG93biA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyU3RhcnREYXRlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyU3RhcnREYXRlID0gZGF0ZVBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgIHRoaXMuZmlsdGVyU3RhcnREYXRlLFxyXG4gICAgICAgIFwieXl5eS1NTS1kZFwiXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5maWx0ZXJFbmREYXRlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyRW5kRGF0ZSA9IGRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLmZpbHRlckVuZERhdGUsIFwieXl5eS1NTS1kZFwiKTtcclxuICAgIH1cclxuICB9XHJcbiAgb2Zmc2V0ID0gMTtcclxuICBsaW1pdCA9IDEwO1xyXG5wYWdlU2l6ZSA9IDEwOyAgICAgICAgICAgIFxyXG5wYWdpbmF0aW9uU2l6ZXMgPSBbMTAsMjAsMzBdOyBcclxudG90YWxJdGVtcyA9IDA7XHJcbiAgc2V0UGFnaW5hdGlvblNpemVzKCkge1xyXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA+IDEwKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbdGhpcy50b3RhbEl0ZW1zXTsgLy8gSnVzdCBvbmUgb3B0aW9uIGlmIGxlc3MgdGhhbiAxMFxyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblNpemVzWzBdO1xyXG4gIH0gXHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIG5vRGF0YSA9IGZhbHNlO1xyXG4gIGdldEVtYWlsKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5maWx0ZXJTdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5maWx0ZXJFbmREYXRlLFxyXG4gICAgICB0eXBlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUsXHJcbiAgICAgIFJNTGlzdDogdGhpcy5zZWxlY3RlZFJtcz8ubGVuZ3RoID8gdGhpcy5zZWxlY3RlZFJtcyA6IFtdLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5hdWRpdERhdGE/LmNsaWVudFxyXG4gICAgICAgID8gdGhpcy5hdWRpdERhdGE/LmNsaWVudFxyXG4gICAgICAgIDogdGhpcy51c2Vycz8uY2xpZW50SWQsXHJcbiAgICAgIGNsdXN0ZXI6IHRoaXMuc2VsZWN0ZWRDbHVzdGVycz8ubGVuZ3RoXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkQ2x1c3RlcnNcclxuICAgICAgICA6IFtdLFxyXG4gICAgICBpc0V4cG9ydDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICBzb3J0Qnk6IHRoaXMuc29ydGVkQ29sdW1uID8gdGhpcy5zb3J0ZWRDb2x1bW4gOiBcIlJNRW1haWxcIixcclxuICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnRPcmRlciA/IHRoaXMuc29ydE9yZGVyIDogMSxcclxuICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcclxuICAgICAgbGltaXQ6IHRoaXMubGltaXQsXHJcbiAgICB9O1xyXG4gICAgdGhpcy4kYXBpXHJcbiAgICAgIC5nZXRFbWFpbExvZyhvYmopXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50YWJsZURhdGEgPSByZXMuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzPy5kYXRhPy5jb3VudCB8fCAwOyBcclxuICAgICAgICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGVEYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgIHRoaXMudGFibGVEYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiVXBkYXRlIGZhaWxlZDpcIiwgZXJyKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG5vblBhZ2VDaGFuZ2UocGFnZTogbnVtYmVyKSB7XHJcbiAgdGhpcy5vZmZzZXQgPSBwYWdlO1xyXG4gIHRoaXMuZ2V0RW1haWwoKTsgLy8gcmVsb2FkIHdpdGggbmV3IHBhZ2VcclxufVxyXG5cclxub25QYWdlU2l6ZUNoYW5nZShzaXplOiBudW1iZXIpIHtcclxuICB0aGlzLnBhZ2VTaXplID0gc2l6ZTtcclxuICB0aGlzLmxpbWl0ID0gc2l6ZTtcclxuICB0aGlzLm9mZnNldCA9IDE7ICAgLy8gcmVzZXQgdG8gZmlyc3QgcGFnZSB3aGVuIHBhZ2Ugc2l6ZSBjaGFuZ2VzXHJcbiAgdGhpcy5nZXRFbWFpbCgpO1xyXG59XHJcblxyXG4gIGV5ZVRlc3RWaWV3KGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy4kYXBpLnNldEF1ZGl0RGF0YShkYXRhKTtcclxuICAgIFxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0L3N0YXJ0XCJdLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlLFxyXG4gICAgICAgIHN0b3JlSWQ6IGRhdGE/LnN0b3JlSWQsXHJcbiAgICAgICAgX2lkOiBkYXRhLmF1ZGl0ZWRJZCxcclxuICAgICAgICBleWVUeXBlIDpkYXRhPy5jb21tZW50ID8gXCJmYWtlXCIgOiBcImdlbnVpbmVcIlxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICBsZXQgZGF0YTE6IGFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcIlwiKTtcclxuICBkYXRhMS5kYXRlID0ge1xyXG4gIHN0YXJ0RGF0ZTogdGhpcy5hdWRpdERldGFpbHM/LmZpbGVEYXRlLFxyXG4gIGVuZERhdGU6IHRoaXMuYXVkaXREZXRhaWxzPy5maWxlRGF0ZVxyXG59O1xyXG4gICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YTEpKTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAvLyAgQFZpZXdDaGlsZCgnc2Fua2V5Q2hhcnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjaGFydEVsZW1lbnQhOiBFbGVtZW50UmVmO1xyXG5cclxuICAvLyAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAvLyAgICAgY29uc3QgcmF3RGF0YSA9IFtcclxuICAvLyAgICAgICB7IGZyb206IFwiQ3VzdG9taXphdGlvblwiLCB0bzogXCJGb3JtYWwgUGFudHNcIiwgdmFsdWU6IDMgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRW50cnlcIiwgdG86IFwiRm9ybWFsIFBhbnRzXCIsIHZhbHVlOiAxMiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQaW4gVHVjayBQYW50c1wiLCB0bzogXCJKb2dnZXJzXCIsIHZhbHVlOiA0IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkpvZ2dlcnNcIiwgdG86IFwiRm9ybWFsIFBhbnRzXCIsIHZhbHVlOiAyIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdG86IFwiQ3VzdG9taXphdGlvblwiLCB2YWx1ZTogMiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQaW4gVHVjayBQYW50c1wiLCB0bzogXCJTaG9ydHMgd2l0aCBMb3VuZ2Ugd2VhciAsIENoaW5vcyBhbmQgUGludHVjayBQYW50c1wiLCB2YWx1ZTogNSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJTaG9ydHMgd2l0aCBMb3VuZ2Ugd2VhciAsIENoaW5vcyBhbmQgUGludHVjayBQYW50c1wiLCB0bzogXCJQb3dlciBTdHJldGNoXCIsIHZhbHVlOiAyIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkN1c3RvbWl6YXRpb25cIiwgdG86IFwiVHJpYWwgUm9vbVwiLCB2YWx1ZTogMiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJKb2dnZXJzXCIsIHRvOiBcIkV4aXRcIiwgdmFsdWU6IDI5IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBpbiBUdWNrIFBhbnRzXCIsIHRvOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdmFsdWU6IDIgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRW50cnlcIiwgdG86IFwiQ3VzdG9taXphdGlvblwiLCB2YWx1ZTogNjQgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiUG93ZXIgU3RyZXRjaFwiLCB0bzogXCJQaW4gVHVjayBQYW50c1wiLCB2YWx1ZTogMyB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJDdXN0b21pemF0aW9uXCIsIHRvOiBcIlBpbiBUdWNrIFBhbnRzXCIsIHZhbHVlOiAxMCB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJFbnRyeVwiLCB0bzogXCJTaG9ydHMgd2l0aCBMb3VuZ2Ugd2VhciAsIENoaW5vcyBhbmQgUGludHVjayBQYW50c1wiLCB2YWx1ZTogNDkgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRW50cnlcIiwgdG86IFwiSm9nZ2Vyc1wiLCB2YWx1ZTogMjkgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdG86IFwiRXhpdFwiLCB2YWx1ZTogNDkgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiSm9nZ2Vyc1wiLCB0bzogXCJDdXN0b21pemF0aW9uXCIsIHZhbHVlOiA2IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlNob3J0cyB3aXRoIExvdW5nZSB3ZWFyICwgQ2hpbm9zIGFuZCBQaW50dWNrIFBhbnRzXCIsIHRvOiBcIkpvZ2dlcnNcIiwgdmFsdWU6IDMgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiUG93ZXIgU3RyZXRjaFwiLCB0bzogXCJKb2dnZXJzXCIsIHZhbHVlOiAxIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkN1c3RvbWl6YXRpb25cIiwgdG86IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdmFsdWU6IDcgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRm9ybWFsIFBhbnRzXCIsIHRvOiBcIlNob3J0cyB3aXRoIExvdW5nZSB3ZWFyICwgQ2hpbm9zIGFuZCBQaW50dWNrIFBhbnRzXCIsIHZhbHVlOiAxIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBpbiBUdWNrIFBhbnRzXCIsIHRvOiBcIkV4aXRcIiwgdmFsdWU6IDU0IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdG86IFwiVHJpYWwgUm9vbVwiLCB2YWx1ZTogMiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJGb3JtYWwgUGFudHNcIiwgdG86IFwiQ3VzdG9taXphdGlvblwiLCB2YWx1ZTogMyB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJGb3JtYWwgUGFudHNcIiwgdG86IFwiUG93ZXIgU3RyZXRjaFwiLCB2YWx1ZTogMSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJTaG9ydHMgd2l0aCBMb3VuZ2Ugd2VhciAsIENoaW5vcyBhbmQgUGludHVjayBQYW50c1wiLCB0bzogXCJUcmlhbCBSb29tXCIsIHZhbHVlOiAyIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkN1c3RvbWl6YXRpb25cIiwgdG86IFwiRXhpdFwiLCB2YWx1ZTogNjQgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRW50cnlcIiwgdG86IFwiUGluIFR1Y2sgUGFudHNcIiwgdmFsdWU6IDU0IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBpbiBUdWNrIFBhbnRzXCIsIHRvOiBcIkZvcm1hbCBQYW50c1wiLCB2YWx1ZTogMyB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJTaG9ydHMgd2l0aCBMb3VuZ2Ugd2VhciAsIENoaW5vcyBhbmQgUGludHVjayBQYW50c1wiLCB0bzogXCJQaW4gVHVjayBQYW50c1wiLCB2YWx1ZTogNSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJKb2dnZXJzXCIsIHRvOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdmFsdWU6IDQgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdG86IFwiRm9ybWFsIFBhbnRzXCIsIHZhbHVlOiAzIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBpbiBUdWNrIFBhbnRzXCIsIHRvOiBcIkN1c3RvbWl6YXRpb25cIiwgdmFsdWU6IDExIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkZvcm1hbCBQYW50c1wiLCB0bzogXCJQaW4gVHVjayBQYW50c1wiLCB2YWx1ZTogMyB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJUcmlhbCBSb29tXCIsIHRvOiBcIlBpbiBUdWNrIFBhbnRzXCIsIHZhbHVlOiAxIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkN1c3RvbWl6YXRpb25cIiwgdG86IFwiUG93ZXIgU3RyZXRjaFwiLCB2YWx1ZTogMSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJDdXN0b21pemF0aW9uXCIsIHRvOiBcIkpvZ2dlcnNcIiwgdmFsdWU6IDYgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRm9ybWFsIFBhbnRzXCIsIHRvOiBcIkV4aXRcIiwgdmFsdWU6IDEyIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkpvZ2dlcnNcIiwgdG86IFwiUGluIFR1Y2sgUGFudHNcIiwgdmFsdWU6IDQgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiUG93ZXIgU3RyZXRjaFwiLCB0bzogXCJTaG9ydHMgd2l0aCBMb3VuZ2Ugd2VhciAsIENoaW5vcyBhbmQgUGludHVjayBQYW50c1wiLCB2YWx1ZTogMSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQb3dlciBTdHJldGNoXCIsIHRvOiBcIkV4aXRcIiwgdmFsdWU6IDE4IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkVudHJ5XCIsIHRvOiBcIlRyaWFsIFJvb21cIiwgdmFsdWU6IDYgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdG86IFwiQ3VzdG9taXphdGlvblwiLCB2YWx1ZTogNSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJFbnRyeVwiLCB0bzogXCJQb3dlciBTdHJldGNoXCIsIHZhbHVlOiAxOCB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQb3dlciBTdHJldGNoXCIsIHRvOiBcIkZvcm1hbCBQYW50c1wiLCB2YWx1ZTogMSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJUcmlhbCBSb29tXCIsIHRvOiBcIkN1c3RvbWl6YXRpb25cIiwgdmFsdWU6IDMgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiVHJpYWwgUm9vbVwiLCB0bzogXCJFeGl0XCIsIHZhbHVlOiA2IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkZvcm1hbCBQYW50c1wiLCB0bzogXCJKb2dnZXJzXCIsIHZhbHVlOiA0IH1cclxuICAvLyAgICAgXTtcclxuXHJcbiAgLy8gICAgIC8vIEJ1aWxkIHVuaXF1ZSBub2Rlc1xyXG4gIC8vICAgICBjb25zdCBsYWJlbHMgPSBbLi4ubmV3IFNldChyYXdEYXRhLmZsYXRNYXAoZCA9PiBbZC5mcm9tLCBkLnRvXSkpXTtcclxuICAvLyAgICAgY29uc3QgbGFiZWxUb0luZGV4OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XHJcbiAgLy8gICAgIGxhYmVscy5mb3JFYWNoKChsYWJlbCwgaSkgPT4gKGxhYmVsVG9JbmRleFtsYWJlbF0gPSBpKSk7XHJcblxyXG4gIC8vICAgICAvLyBNYXAgZGF0YSBmb3IgU2Fua2V5XHJcbiAgLy8gICAgIGNvbnN0IHNvdXJjZSA9IHJhd0RhdGEubWFwKGQgPT4gbGFiZWxUb0luZGV4W2QuZnJvbV0pO1xyXG4gIC8vICAgICBjb25zdCB0YXJnZXQgPSByYXdEYXRhLm1hcChkID0+IGxhYmVsVG9JbmRleFtkLnRvXSk7XHJcbiAgLy8gICAgIGNvbnN0IHZhbHVlID0gcmF3RGF0YS5tYXAoZCA9PiBkLnZhbHVlKTtcclxuXHJcbiAgLy8gICAgIC8vIEFzc2lnbiBjb25zaXN0ZW50IGNvbG9ycyAobGlrZSBhbUNoYXJ0cyBkaXN0aW5jdCBwYWxldHRlKVxyXG4gIC8vICAgICBjb25zdCBub2RlQ29sb3JzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xyXG4gIC8vICAgICAgIFwiQ3VzdG9taXphdGlvblwiOiBcIiMxZjc3YjRcIixcclxuICAvLyAgICAgICBcIkZvcm1hbCBQYW50c1wiOiBcIiNmZjdmMGVcIixcclxuICAvLyAgICAgICBcIkVudHJ5XCI6IFwiIzJjYTAyY1wiLFxyXG4gIC8vICAgICAgIFwiUGluIFR1Y2sgUGFudHNcIjogXCIjZDYyNzI4XCIsXHJcbiAgLy8gICAgICAgXCJKb2dnZXJzXCI6IFwiIzk0NjdiZFwiLFxyXG4gIC8vICAgICAgIFwiUG93ZXIgU3RyZXRjaFwiOiBcIiM4YzU2NGJcIixcclxuICAvLyAgICAgICBcIkV4aXRcIjogXCIjZTM3N2MyXCIsXHJcbiAgLy8gICAgICAgXCJUcmlhbCBSb29tXCI6IFwiIzE3YmVjZlwiLFxyXG4gIC8vICAgICAgIFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIjogXCIjYmNiZDIyXCJcclxuICAvLyAgICAgfTtcclxuXHJcbiAgLy8gICAgIGNvbnN0IG5vZGVDb2xvckFycmF5ID0gbGFiZWxzLm1hcChsID0+IG5vZGVDb2xvcnNbbF0gfHwgXCIjOTk5XCIpO1xyXG4gIC8vICAgICBjb25zdCBsaW5rQ29sb3JBcnJheSA9IHJhd0RhdGEubWFwKGQgPT4gbm9kZUNvbG9yc1tkLmZyb21dIHx8IFwiIzk5OVwiKTtcclxuXHJcbiAgLy8gICAgIGNvbnN0IGRhdGE6IGFueSA9IFt7XHJcbiAgLy8gICAgICAgdHlwZTogXCJzYW5rZXlcIixcclxuICAvLyAgICAgICBvcmllbnRhdGlvbjogXCJoXCIsXHJcbiAgLy8gICAgICAgbm9kZToge1xyXG4gIC8vICAgICAgICAgcGFkOiAxNSxcclxuICAvLyAgICAgICAgIHRoaWNrbmVzczogMjAsXHJcbiAgLy8gICAgICAgICBsaW5lOiB7IGNvbG9yOiBcImJsYWNrXCIsIHdpZHRoOiAwLjUgfSxcclxuICAvLyAgICAgICAgIGxhYmVsOiBsYWJlbHMsXHJcbiAgLy8gICAgICAgICBjb2xvcjogbm9kZUNvbG9yQXJyYXlcclxuICAvLyAgICAgICB9LFxyXG4gIC8vICAgICAgIGxpbms6IHtcclxuICAvLyAgICAgICAgIHNvdXJjZSxcclxuICAvLyAgICAgICAgIHRhcmdldCxcclxuICAvLyAgICAgICAgIHZhbHVlLFxyXG4gIC8vICAgICAgICAgY29sb3I6IGxpbmtDb2xvckFycmF5XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XTtcclxuXHJcbiAgLy8gICAgIGNvbnN0IGxheW91dCA9IHtcclxuICAvLyAgICAgICB0aXRsZTogeyB0ZXh0OiBcIlNhbmtleSBGbG93IChQbG90bHkgd2l0aCBBbUNoYXJ0cy1saWtlIENvbG9ycylcIiB9LFxyXG4gIC8vICAgICAgIGZvbnQ6IHsgc2l6ZTogMTIgfVxyXG4gIC8vICAgICB9O1xyXG5cclxuICAvLyAgICAgUGxvdGx5Lm5ld1Bsb3QodGhpcy5jaGFydEVsZW1lbnQubmF0aXZlRWxlbWVudCwgZGF0YSwgbGF5b3V0KTtcclxuICAvLyAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01XCI+XHJcbiAgICA8ZGl2IChjbGljayk9XCJiYWNrTmF2aWdhdGlvbigpXCIgY2xhc3M9XCJidG4gYnRuLWFtIGJ0bi1vdXRsaW5lIHAtM1wiPlxyXG4gICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS44MzMyIDkuOTk5ODRINC4xNjY1TTQuMTY2NSA5Ljk5OTg0TDkuOTk5ODQgMTUuODMzMk00LjE2NjUgOS45OTk4NEw5Ljk5OTg0IDQuMTY2NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICA8L2Rpdj48c3BhbiBjbGFzcz1cIm1zLTIgdGl0bGUtaGVhZFwiPkF1ZGl0IFNldHRpbmdzPC9zcGFuPlxyXG48L2Rpdj5cclxuXHJcblxyXG48ZGl2IGNsYXNzPVwicm93IG10LTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbiAjYWNjb3JkaW9uPVwibmdiQWNjb3JkaW9uXCIgW2Nsb3NlT3RoZXJzXT1cInRydWVcIiBbZGVzdHJveU9uSGlkZV09XCJ0cnVlXCIgKHNob3cpPVwib3Blbkl0ZW0oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgXCIgIG5nYkFjY29yZGlvbkl0ZW0gW2NvbGxhcHNlZF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5Vc2VyIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIDxkaXYgIGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFlZGl0TW9kZVwiIGNsYXNzPVwiIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVFZGl0KClcIiBcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYWxpZ24taXRlbXMtZW5kXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yNTc5XzI1MTI1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMTY3IDIuNDk5OTNDMTQuMzg1OSAyLjI4MTA2IDE0LjY0NTcgMi4xMDc0NCAxNC45MzE3IDEuOTg4OTlDMTUuMjE3NiAxLjg3MDU0IDE1LjUyNDEgMS44MDk1NyAxNS44MzM3IDEuODA5NTdDMTYuMTQzMiAxLjgwOTU3IDE2LjQ0OTcgMS44NzA1NCAxNi43MzU3IDEuOTg4OTlDMTcuMDIxNiAyLjEwNzQ0IDE3LjI4MTUgMi4yODEwNiAxNy41MDAzIDIuNDk5OTNDMTcuNzE5MiAyLjcxODggMTcuODkyOCAyLjk3ODYzIDE4LjAxMTMgMy4yNjQ2QzE4LjEyOTcgMy41NTA1NyAxOC4xOTA3IDMuODU3MDYgMTguMTkwNyA0LjE2NjU5QzE4LjE5MDcgNC40NzYxMiAxOC4xMjk3IDQuNzgyNjIgMTguMDExMyA1LjA2ODU5QzE3Ljg5MjggNS4zNTQ1NSAxNy43MTkyIDUuNjE0MzkgMTcuNTAwMyA1LjgzMzI2TDYuMjUwMzMgMTcuMDgzM0wxLjY2Njk5IDE4LjMzMzNMMi45MTY5OSAxMy43NDk5TDE0LjE2NyAyLjQ5OTkzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI1NzlfMjUxMjVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+RWRpdCBEZXRhaWxzPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PiAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy04MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm15LTIgZm9ybS1sYWJlbCBmcy00IGZ3LWJvbGRcIj5Bc3NpZ24gQXVkaXQgVXNlcnM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVkaXRNb2RlOyBlbHNlIHJlYWRvbmx5Vmlld1wiPlxyXG4gIDxsaWItY2hpcC1kcm9wZG93blxyXG4gICAgW2RhdGFdPVwidXNlckNvbmZpZ0xpc3RcIlxyXG4gICAgW3NlbGVjdGVkRGF0YV09XCJjb25maWdEYXRhXCJcclxuICAgIChzZWxlY3RlZExpc3QpPVwidXBkYXRlT3duZXIoJGV2ZW50KVwiPlxyXG4gIDwvbGliLWNoaXAtZHJvcGRvd24+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNyZWFkb25seVZpZXc+XHJcbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMiBib3JkZXItMiBib3JkZXItZ3JheS0zMDAgcC0zIHJvdW5kZWRcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlwIG9mIGNvbmZpZ0RhdGFcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwicC0xIHJvdW5kZWQtNSBjaGlwIHB4LTIgbXktMyBweS0xIGJnLWdyYXktMjAwXCI+XHJcbiAgICAgIHt7IGNoaXA/Lm5hbWUgfHwgY2hpcCB9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTMgdGV4dC1lbmRcIiAqbmdJZj1cImVkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIG1lLTJcIiAoY2xpY2spPVwiY2FuY2VsRWRpdCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJzdWJtaXRPd25lcnMoKVwiPlNhdmU8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtdC02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RW1haWwgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWRpdE1vZGUxXCIgY2xhc3M9XCIgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRWRpdDEoKTtcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYWxpZ24taXRlbXMtZW5kXCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yNTc5XzI1MTI1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjE2NyAyLjQ5OTkzQzE0LjM4NTkgMi4yODEwNiAxNC42NDU3IDIuMTA3NDQgMTQuOTMxNyAxLjk4ODk5QzE1LjIxNzYgMS44NzA1NCAxNS41MjQxIDEuODA5NTcgMTUuODMzNyAxLjgwOTU3QzE2LjE0MzIgMS44MDk1NyAxNi40NDk3IDEuODcwNTQgMTYuNzM1NyAxLjk4ODk5QzE3LjAyMTYgMi4xMDc0NCAxNy4yODE1IDIuMjgxMDYgMTcuNTAwMyAyLjQ5OTkzQzE3LjcxOTIgMi43MTg4IDE3Ljg5MjggMi45Nzg2MyAxOC4wMTEzIDMuMjY0NkMxOC4xMjk3IDMuNTUwNTcgMTguMTkwNyAzLjg1NzA2IDE4LjE5MDcgNC4xNjY1OUMxOC4xOTA3IDQuNDc2MTIgMTguMTI5NyA0Ljc4MjYyIDE4LjAxMTMgNS4wNjg1OUMxNy44OTI4IDUuMzU0NTUgMTcuNzE5MiA1LjYxNDM5IDE3LjUwMDMgNS44MzMyNkw2LjI1MDMzIDE3LjA4MzNMMS42NjY5OSAxOC4zMzMzTDIuOTE2OTkgMTMuNzQ5OUwxNC4xNjcgMi40OTk5M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjU3OV8yNTEyNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPkVkaXQgRGV0YWlsczwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBsaWFuY2UgVGhyZXNob2xkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY29tcGxpYW5jZUZvcm1cIj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInRocmVzaG9sZFwiIFtkYXRhXT1cImNvbXBsaWFuY2VUaHJlc2hvbGRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJwZXJjZW50YWdlXCIgW2RhdGFdPVwiY29tcGxpYW5jZVBlcmNlbnRhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIj48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZWRpdE1vZGUxXCIgY2xhc3M9XCJtdC0zIHRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIG1lLTJcIiAoY2xpY2spPVwiY2FuY2VsQ29tcGxpYW5jZSgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IFwiIChjbGljayk9XCJzdWJtaXRDb21wbGlhbmNlKClcIj5TYXZlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGQgbWUtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzYyXzE1NDMwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAwNCAxMC42NjYzVjcuOTk5NjdNOC4wMDAwNCA1LjMzMzAxSDguMDA2NzFNMTQuNjY2NyA3Ljk5OTY3QzE0LjY2NjcgMTEuNjgxNiAxMS42ODE5IDE0LjY2NjMgOC4wMDAwNCAxNC42NjYzQzQuMzE4MTQgMTQuNjY2MyAxLjMzMzM3IDExLjY4MTYgMS4zMzMzNyA3Ljk5OTY3QzEuMzMzMzcgNC4zMTc3OCA0LjMxODE0IDEuMzMzMDEgOC4wMDAwNCAxLjMzMzAxQzExLjY4MTkgMS4zMzMwMSAxNC42NjY3IDQuMzE3NzggMTQuNjY2NyA3Ljk5OTY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzc2Ml8xNTQzMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbWFpbCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2VudCBpZiB0aGUgY29tcGxpYW5jZSBkb2VzbuKAmXQgbWVldCB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj57e2NvbXBsaWFuY2VGb3JtLnZhbHVlPy5wZXJjZW50YWdlfX08L3NwYW4+IHRvIHRoZSBnaXZlbiBFbWFpbCBJRHMgYWJvdmUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG10LTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+RW1haWwgTG9nczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciBtYi0xMFwiPlxyXG4gPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwic2VhcmNoRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgc3R5bGU9XCJtaW4td2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Ryb3BzXT1cIidkb3duJ1wiIFtvcGVuc109XCIncmlnaHQnXCIgW3Jhbmdlc109XCJyYW5nZXNcIiBbc2hvd0N1c3RvbVJhbmdlTGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlUmFuZ2VcIiBbYXV0b0FwcGx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJkYXRlcmFuZ2VcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGliLWZpbHRlcnMgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdFwiIChhcHBsaWVkRmlsdGVycyk9XCJhcHBseUZpbHRlcnMoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnM+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gIDwhLS0gVHJpZ2dlciBCdXR0b24gLS0+XHJcbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5kcm9wZG93bigpXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbXgtMiByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPlxyXG4gICA8c3BhbiBjbGFzcz1cIm1lLTJcIj5GaWx0ZXI8L3NwYW4+IDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNNSAxMEgxNU0yLjUgNUgxNy41TTcuNSAxNUgxMi41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8L3N2Zz4gXHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDwhLS0gRHJvcGRvd24gLS0+XHJcbiAgPGRpdiAqbmdJZj1cIk9wZW5kcm9wZG93blwiIGNsYXNzPVwiY2FyZCBwLTQgZHJvcGRvd24yIHBvc2l0aW9uLWFic29sdXRlIHotMSBlbmQtMFwiIChjbGlja091dHNpZGUpPVwiY2xvc2VEcm9wZG93bigpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tdGl0bGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTNcIj5cclxuICAgICAgPHNwYW4+RmlsdGVyIE9wdGlvbnM8L3NwYW4+XHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBSTSBEcm9wZG93biAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250YWluZXIgbWItM1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgZHJvcGRvd24taGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZVJtRHJvcGRvd24oKVwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGRyb3Bkb3duLWlucHV0IGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZFJtc0xhYmVsKClcIiByZWFkb25seSBwbGFjZWhvbGRlcj1cIlNlbGVjdCBSTXNcIiAvPlxyXG4gICAgICAgICAgIDxzcGFuIFxyXG4gICAgICAqbmdJZj1cImdldFNlbGVjdGVkUm1zQ291bnQoKSA+IDBcIiBcclxuICAgICAgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgZW5kLTAgdHJhbnNsYXRlLW1pZGRsZS15IG1lLTIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCB0ZXh0LXdoaXRlIHRleHQteHMgcm91bmRlZC1mdWxsIHB4LTIgcHktMC41XCI+XHJcbiAgICAgICt7eyBnZXRTZWxlY3RlZFJtc0NvdW50KCkgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgY3VzdG9tLWRyb3Bkb3duLW1lbnVcIiAqbmdJZj1cInJtT3BlblwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1iLTIgZHJvcGRvd24tc2VhcmNoXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUk1zXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoUm1UZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwiZmlsdGVyUm1zKClcIiAvPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBwcy0wIG15LTVcIj5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInNlbGVjdEFsbFJtc1wiIFtjaGVja2VkXT1cImlzQWxsUm1zU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsUm1zKCRldmVudClcIiAvPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cInNlbGVjdEFsbFJtc1wiPlNlbGVjdCBBbGw8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi01IHBzLTBcIiAqbmdGb3I9XCJsZXQgcm0gb2YgZmlsdGVyZWRSbXNcIj5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBbaWRdPVwicm0uZW1haWxcIiBbKG5nTW9kZWwpXT1cInJtLmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZVNlbGVjdGVkUm1zKClcIiAvPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIFtmb3JdPVwicm0uZW1haWxcIj57eyBybS51c2VyTmFtZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBDbHVzdGVyIERyb3Bkb3duIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taGVhZGVyIHBvc2l0aW9uLXJlbGF0aXZlXCIgKGNsaWNrKT1cInRvZ2dsZUNsdXN0ZXJEcm9wZG93bigpXCI+XHJcbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBkcm9wZG93bi1pbnB1dCBjdXJzb3ItcG9pbnRlciBwZS01XCJcclxuICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkQ2x1c3RlcnNMYWJlbCgpXCJcclxuICAgICAgcmVhZG9ubHlcclxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgQ2x1c3RlcnNcIiAvPlxyXG5cclxuICAgIDwhLS0gQmFkZ2UgaW5zaWRlIGlucHV0IC0tPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJnZXRTZWxlY3RlZENsdXN0ZXJzQ291bnQoKSA+IDBcIlxyXG4gICAgICBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC01MCBlbmQtMCB0cmFuc2xhdGUtbWlkZGxlLXkgbWUtMiBiYWRnZSBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IHRleHQtd2hpdGUgcm91bmRlZC1waWxsIHB4LTIgcHktMFwiPlxyXG4gICAgICAre3sgZ2V0U2VsZWN0ZWRDbHVzdGVyc0NvdW50KCkgfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgY3VzdG9tLWRyb3Bkb3duLW1lbnVcIiAqbmdJZj1cImNsdXN0ZXJPcGVuXCI+XHJcbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtYi0yIGRyb3Bkb3duLXNlYXJjaFwiXHJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGNsdXN0ZXJzXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hDbHVzdGVyVGV4dFwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlckNsdXN0ZXJzKClcIiAvPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIHBzLTAgbXktNVwiPlxyXG4gICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIGlkPVwic2VsZWN0QWxsQ2x1c3RlcnNcIlxyXG4gICAgICAgIFtjaGVja2VkXT1cImlzQWxsQ2x1c3RlcnNTZWxlY3RlZCgpXCJcclxuICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdEFsbENsdXN0ZXJzKCRldmVudClcIiAvPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwic2VsZWN0QWxsQ2x1c3RlcnNcIj5TZWxlY3QgQWxsPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTUgcHMtMFwiICpuZ0Zvcj1cImxldCBjbHVzdGVyIG9mIGZpbHRlcmVkQ2x1c3RlcnNcIj5cclxuICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICBbaWRdPVwiY2x1c3Rlci5faWRcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwiY2x1c3Rlci5jaGVja2VkXCJcclxuICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZVNlbGVjdGVkQ2x1c3RlcnMoKVwiIC8+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cImNsdXN0ZXIuX2lkXCI+e3sgY2x1c3Rlci5jbHVzdGVyTmFtZSB9fTwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBtdC0zXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBidG4tc20gdy01MFwiIChjbGljayk9XCJSZXNldCgpXCI+UmVzZXQ8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSB3LTUwXCIgKGNsaWNrKT1cIkFwcGx5KClcIj5BcHBseTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICBcclxuPC9kaXY+XHJcblxyXG4gICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImV4cG9ydFhMU1goKVwiICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcuNSAxMi41VjE1LjgzMzNDMTcuNSAxNi4yNzU0IDE3LjMyNDQgMTYuNjk5MyAxNy4wMTE4IDE3LjAxMThDMTYuNjk5MyAxNy4zMjQ0IDE2LjI3NTQgMTcuNSAxNS44MzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWMTIuNU0xNC4xNjY3IDYuNjY2NjdMMTAgMi41TTEwIDIuNUw1LjgzMzMzIDYuNjY2NjdNMTAgMi41VjEyLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBvcnQ8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIm5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgZXllIHRlc3QgdGFibGU8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCIgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJsZXNzIHRhYmxlLWhvdmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPiA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgncm1OYW1lJylcIj4gUk0gTmFtZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdybU5hbWUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAncm1OYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1ub3dyYXBcIj48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnY2x1c3Rlck5hbWUnKVwiPiBDbHVzdGVyIE5hbWUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY2x1c3Rlck5hbWUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY2x1c3Rlck5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnb3B0dW1JZCcpXCI+IE9wdHVtIElEIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ29wdHVtSWQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnb3B0dW1JZCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtbm93cmFwXCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3JlTmFtZScpXCI+IFN0b3JlIE5hbWUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVOYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3RhbmdvU2NvcmUnKVwiPiBUYW5nbyBTY29yZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICd0YW5nb1Njb3JlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3RhbmdvU2NvcmUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgndHJ1c3RTY29yZScpXCI+IFRydXN0IFNjb3JlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3RydXN0U2NvcmUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAndHJ1c3RTY29yZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtbm93cmFwXCI+QWN0aW9uPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhYmxlRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj57e2l0ZW0uUk1FbWFpbH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtbm93cmFwXCI+e3tpdGVtLmNsdXN0ZXJ9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPnt7aXRlbS5vcHR1bUlkfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj57e2l0ZW0uc3RvcmVOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj57e2l0ZW0udGFuZ29TY29yZSA/PyBcIi0tXCIgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj57e2l0ZW0udHJ1c3RTY29yZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cIiFpdGVtLmF1ZGl0ZWRJZFwiIChjbGljayk9XCJleWVUZXN0VmlldyhpdGVtKVwiIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHAtMCBtLTAgYm9yZGVyLTAgYmctdHJhbnNwYXJlbnRcIj5cclxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgIDxwYXRoIGQ9XCJNMC44MzMyNTIgOS45OTk2N0MwLjgzMzI1MiA5Ljk5OTY3IDQuMTY2NTggMy4zMzMwMSA5Ljk5OTkyIDMuMzMzMDFDMTUuODMzMyAzLjMzMzAxIDE5LjE2NjYgOS45OTk2NyAxOS4xNjY2IDkuOTk5NjdDMTkuMTY2NiA5Ljk5OTY3IDE1LjgzMzMgMTYuNjY2MyA5Ljk5OTkyIDE2LjY2NjNDNC4xNjY1OCAxNi42NjYzIDAuODMzMjUyIDkuOTk5NjcgMC44MzMyNTIgOS45OTk2N1pcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDxwYXRoIGQ9XCJNOS45OTk5MiAxMi40OTk3QzExLjM4MDYgMTIuNDk5NyAxMi40OTk5IDExLjM4MDQgMTIuNDk5OSA5Ljk5OTY3QzEyLjQ5OTkgOC42MTg5NiAxMS4zODA2IDcuNDk5NjcgOS45OTk5MiA3LjQ5OTY3QzguNjE5MjEgNy40OTk2NyA3LjQ5OTkyIDguNjE4OTYgNy40OTk5MiA5Ljk5OTY3QzcuNDk5OTIgMTEuMzgwNCA4LjYxOTIxIDEyLjQ5OTcgOS45OTk5MiAxMi40OTk3WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gIDwvc3ZnPlxyXG48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXJcIiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIiAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj4gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4iXX0=
710
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtYXVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy9leWUtdGVzdC1hdWRpdC9leWUtdGVzdC1hdWRpdC9zZXR0aW5ncy1hdWRpdC9zZXR0aW5ncy1hdWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2V5ZS10ZXN0LWF1ZGl0L2V5ZS10ZXN0LWF1ZGl0L3NldHRpbmdzLWF1ZGl0L3NldHRpbmdzLWF1ZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBR3pCLGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7OztBQU0zQyxNQUFNLE9BQU8sc0JBQXNCO0lBS3ZCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVpWLE9BQU8sQ0FBTTtJQUNiLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxjQUFjLENBQVk7SUFDMUIsWUFDVSxFQUFxQixFQUNyQixJQUFZLEVBQ1osRUFBZSxFQUNmLFFBQXlCLEVBQ3pCLFlBQTBCLEVBQzFCLEtBQXFCLEVBQ3JCLElBQXlCLEVBQ3pCLFlBQXNCLEVBQ3RCLE1BQWM7UUFSZCxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFR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QzNDLE9BQU8sRUFBQyxJQUFJLEVBQUUsT0FBTztnQkFDckIsT0FBTyxFQUFDLElBQUksRUFBRSxPQUFPO2FBQ3RCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxLQUFLLEdBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUUsS0FBSyxDQUFDLElBQUksR0FBRztZQUNiLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVE7WUFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUTtTQUNyQyxDQUFDO1FBQ0csWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzt3R0E1dUJVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLCtIQzVCbkMscXM1QkF5WkE7OzRGRDdYYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO3lTQW9COUIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBOZ1pvbmUsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1zaGFyZWRcIjtcclxuaW1wb3J0IHsgRXllVGVzdEF1ZGl0U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9leWUtdGVzdC1hdWRpdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IFwiZGF5anMvbG9jYWxlL2VuXCI7XHJcbmltcG9ydCB7IGFueSB9IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1Ly5pbnRlcm5hbC9jb3JlL3V0aWwvQXJyYXlcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG4vLyBpbXBvcnQgKiBhcyBQbG90bHkgZnJvbSAncGxvdGx5LmpzLWRpc3QtbWluJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1zZXR0aW5ncy1hdWRpdFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2V0dGluZ3MtYXVkaXQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL3NldHRpbmdzLWF1ZGl0LmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXR0aW5nc0F1ZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBBdWRpdElkOiBhbnk7XHJcbiAgZGF5anMgPSBkYXlqcztcclxuICBjb21wbGlhbmNlRm9ybTogRm9ybUdyb3VwO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSAkYXBpOiBFeWVUZXN0QXVkaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge31cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kcm9wZG93bjInKSAmJiAhdGFyZ2V0LmNsb3Nlc3QoJy5idG4nKSkge1xyXG4gICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKFwiQXVkaXQgLSBFeWUgVGVzdFwiKTtcclxuXHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiBcIlRhbmdvIFRyYXhcIixcclxuICAgICAgICBwYXRoOiBcIi9tYW5hZ2UvdHJheC9kYXNoYm9hcmRcIixcclxuICAgICAgICBpc0FjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgaXNTZXBhcmF0b3I6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IFwiVGFuZ28gVHJheFwiLFxyXG4gICAgICAgIHBhdGg6IFwiL21hbmFnZS90cmF4L2Rhc2hib2FyZFwiLFxyXG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBpc1NlcGFyYXRvcjogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgIF0pO1xyXG4gIH1cclxuICBhbGVydFVzZXJzOiBhbnkgPSBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiBcIjY2ODdkOWQxYTI3ZWU4OGY5YTQ0NTdjYlwiLFxyXG4gICAgICB1c2VyTmFtZTogXCJBamlua3lhIE1hbHNoZVwiLFxyXG4gICAgICBlbWFpbDogXCJhamlua3lhLm1hbHNoZUB5b3BtYWlsLmNvbVwiLFxyXG4gICAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogXCI2Njg3ZDlkMWEyN2VlODhmOWE0NDU3Y2NcIixcclxuICAgICAgdXNlck5hbWU6IFwiSm9obiBEb2VcIixcclxuICAgICAgZW1haWw6IFwiam9obi5kb2VAeW9wbWFpbC5jb21cIixcclxuICAgICAgcm9sZTogXCJtYW5hZ2VyXCIsXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgdXNlcnM6IGFueTtcclxuICBhdWRpdERhdGE6IGFueTtcclxuICBjdXJyZW50QXVkaXRUeXBlOiBhbnk7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCB1c2VyRGF0YTogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXItaW5mb1wiKSB8fCBcInt9XCIpO1xyXG4gICAgdGhpcy51c2VycyA9IHVzZXJEYXRhO1xyXG4gICAgY29uc3QgaGVhZGVyczogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICk7XHJcbiAgICB0aGlzLmF1ZGl0RGF0YSA9IHRoaXMuJGFwaS5nZXRBdWRpdERhdGEoKVxyXG4gICAgICA/IHRoaXMuJGFwaS5nZXRBdWRpdERhdGEoKVxyXG4gICAgICA6IGhlYWRlcnM7XHJcbiAgICB0aGlzLmNvbXBsaWFuY2VGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHRocmVzaG9sZDogW3sgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlIH1dLFxyXG4gICAgICBwZXJjZW50YWdlOiBbeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWUgfV0sXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmdldFVzZXIoKTtcclxuICAgIHRoaXMuZ2V0RW1haWxDb25maWcoKTtcclxuICAgIHRoaXMuZ2V0QWxsUm0oKTtcclxuICAgIC8vIHRoaXMuYnVpbGREYXRhT2JqZWN0KCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgIHRoaXMudGFibGVEYXRhID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgcm1OYW1lOiBcIk9saXZpYVwiLFxyXG4gICAgICAgIGNsdXN0ZXJOYW1lOiBcIkpvaG5cIixcclxuICAgICAgICBvcHR1bUlkOiBcIk9QVDAwMVwiLFxyXG4gICAgICAgIHN0b3JlTmFtZTogXCJMS1NUMTAwMVwiLFxyXG4gICAgICAgIHRhbmdvU2NvcmU6IFwiOSVcIixcclxuICAgICAgICB0cnVzdFNjb3JlOiBcIjklXCIsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBybU5hbWU6IFwiRW1tYVwiLFxyXG4gICAgICAgIGNsdXN0ZXJOYW1lOiBcIkRvZVwiLFxyXG4gICAgICAgIG9wdHVtSWQ6IFwiT1BUMDAyXCIsXHJcbiAgICAgICAgc3RvcmVOYW1lOiBcIkxLU1QxMDAyXCIsXHJcbiAgICAgICAgdGFuZ29TY29yZTogXCI4JVwiLFxyXG4gICAgICAgIHRydXN0U2NvcmU6IFwiOCVcIixcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHJtTmFtZTogXCJBdmFcIixcclxuICAgICAgICBjbHVzdGVyTmFtZTogXCJTbWl0XCIsXHJcbiAgICAgICAgb3B0dW1JZDogXCJPUFQwMDNcIixcclxuICAgICAgICBzdG9yZU5hbWU6IFwiTEtTVDEwMDNcIixcclxuICAgICAgICB0YW5nb1Njb3JlOiBcIjclXCIsXHJcbiAgICAgICAgdHJ1c3RTY29yZTogXCI3JVwiLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcm1OYW1lOiBcIklzYWJlbGxhXCIsXHJcbiAgICAgICAgY2x1c3Rlck5hbWU6IFwiSm9obnNvblwiLFxyXG4gICAgICAgIG9wdHVtSWQ6IFwiT1BUMDA0XCIsXHJcbiAgICAgICAgc3RvcmVOYW1lOiBcIkxLU1QxMDA0XCIsXHJcbiAgICAgICAgdGFuZ29TY29yZTogXCI2JVwiLFxyXG4gICAgICAgIHRydXN0U2NvcmU6IFwiNiVcIixcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgICAvLyB0aGlzLmFsZXJ0VXNlcnMgPSB0aGlzLmFsZXJ0VXNlcnMubWFwKFxyXG4gICAgLy8gICAodXNlcjogeyB1c2VyTmFtZTogc3RyaW5nOyBlbWFpbDogc3RyaW5nOyByb2xlOiBzdHJpbmcgfSkgPT4gKHtcclxuICAgIC8vICAgICBuYW1lOiB1c2VyLnVzZXJOYW1lLFxyXG4gICAgLy8gICAgIHZhbHVlOiB1c2VyLmVtYWlsLFxyXG4gICAgLy8gICAgIHJvbGU6IHVzZXIucm9sZSxcclxuICAgIC8vICAgfSlcclxuICAgIC8vICk7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIC8vIHRoaXMuc3RvcmVJZCA9IHBhcmFtc1snc3RvcmVJZCddO1xyXG4gICAgICB0aGlzLmN1cnJlbnRBdWRpdFR5cGUgPSBwYXJhbXNbXCJ0eXBlXCJdO1xyXG4gICAgICB0aGlzLkF1ZGl0SWQgPSBwYXJhbXNbXCJfaWRcIl07XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ2V0QXVkaXRkZXRhaWxzKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHN0ZXBXaXNlUHJvY2VzczogYW55ID0gW107XHJcbiAgYXVkaXREZXRhaWxzOiBhbnk7XHJcbiAgdGFrZUF1ZGl0OiBhbnk7XHJcbiAgZ2V0QXVkaXRkZXRhaWxzKCkge1xyXG4gICAgLy8gdGhpcy50YWJsZUxvYWRpbmcubmV4dCgnbG9hZGluZycpO1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgIGlkOiB0aGlzLkF1ZGl0SWQsXHJcbiAgICAgIHR5cGU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSxcclxuICAgIH07XHJcbiAgICB0aGlzLiRhcGlcclxuICAgICAgLmdldEF1ZGl0ZGV0YWlscyhwYXlsb2FkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICBmYWxzZVxyXG4gICAgICAgICAgICB0aGlzLmF1ZGl0RGV0YWlscyA9IHJlcz8uZGF0YT8ucmVzdWx0O1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hdWRpdERldGFpbHMuYXVkaXRTdGF0dXMgPT09IFwiSW4tUHJvZ3Jlc3NcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMudGFrZUF1ZGl0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnRha2VBdWRpdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzID0gdGhpcy5hdWRpdERldGFpbHM/LnN0ZXBzO1xyXG4gICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICAgIC8vICAgdGhpcy5nZXRBdWRpdEhpc3RvcnkoKVxyXG4gICAgICAgICAgICAvLyB9LDEwMClcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gdGhpcy50YWJsZUxvYWRpbmcubmV4dCgnbG9hZGVkJylcclxuICB9XHJcblxyXG4gIG9wZW5JdGVtKGV2ZW50OiBhbnkpIHt9XHJcblxyXG4gIC8vIGNvbXBvbmVudC50c1xyXG5cclxuICBiYWNrTmF2aWdhdGlvbigpIHtcclxuICAgIHRoaXMuJGFwaS5hdWRpdEZpbHRlckRhdGEgPSB7XHJcbiAgICAgIGJhY2s6IFwiYmFja1wiLFxyXG4gICAgICBhdWRpdERldGFpbHM6IHRoaXMuYXVkaXREZXRhaWxzLFxyXG4gICAgfTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJheC9hdWRpdFwiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIGRhdGU6IHRoaXMuZGF5anMoXHJcbiAgICAgICAgICB0aGlzLmF1ZGl0RGV0YWlscz8uZmlsZURhdGVcclxuICAgICAgICAgICAgPyB0aGlzLmF1ZGl0RGV0YWlscz8uZmlsZURhdGVcclxuICAgICAgICAgICAgOiB0aGlzLmZpbHRlclN0YXJ0RGF0ZVxyXG4gICAgICAgICkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICB0eXBlVmFsdWU6IFwicGh5c2ljYWxcIixcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBzZWxlY3RlZENvbXBsaWFuY2VUaHJlc2hvbGQ6IGFueTtcclxuICBzZWxlY3RlZENvbXBsaWFuY2VQZXJjZW50YWdlOiBhbnk7XHJcbiAgY29tcGxpYW5jZVRocmVzaG9sZHMgPSBbXHJcbiAgICB7IHZhbHVlOiBcIjw9XCIsIGxhYmVsOiBcIjwgPVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIjxcIiwgbGFiZWw6IFwiPFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIj0+XCIsIGxhYmVsOiBcIj0gPlwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIj5cIiwgbGFiZWw6IFwiPlwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIj1cIiwgbGFiZWw6IFwiPVwiIH0sXHJcbiAgXTtcclxuICBjb21wbGlhbmNlUGVyY2VudGFnZSA9IFtcclxuICAgIHsgdmFsdWU6IFwiMTAlXCIsIGxhYmVsOiBcIjEwJVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIjIwJVwiLCBsYWJlbDogXCIyMCVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCIzMCVcIiwgbGFiZWw6IFwiMzAlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiNDAlXCIsIGxhYmVsOiBcIjQwJVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIjUwJVwiLCBsYWJlbDogXCI1MCVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCI2MCVcIiwgbGFiZWw6IFwiNjAlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiNzAlXCIsIGxhYmVsOiBcIjcwJVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcIjgwJVwiLCBsYWJlbDogXCI4MCVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCI5MCVcIiwgbGFiZWw6IFwiOTAlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiMTAwJVwiLCBsYWJlbDogXCIxMDAlXCIgfSxcclxuICBdO1xyXG5cclxuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge1xyXG4gICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMzAsIFwiZGF5c1wiKSxcclxuICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKSxcclxuICB9O1xyXG4gIGZpbHRlclN0YXJ0RGF0ZTogYW55ID0gdGhpcy5kYXlqcygpLnN1YnRyYWN0KDMwLCBcImRheXNcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcclxuICBmaWx0ZXJFbmREYXRlOiBhbnkgPSB0aGlzLmRheWpzKCkuc3VidHJhY3QoMCwgXCJkYXlzXCIpLmZvcm1hdChcIllZWVktTU0tRERcIik7XHJcblxyXG4gIHJhbmdlczogYW55ID0ge1xyXG4gICAgVG9kYXk6IFt0aGlzLmRheWpzKCksIHRoaXMuZGF5anMoKV0sXHJcbiAgICBZZXN0ZXJkYXk6IFtcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKSxcclxuICAgIF0sXHJcbiAgICBcIlRoaXMgV2Vla1wiOiBbdGhpcy5kYXlqcygpLnN1YnRyYWN0KDYsIFwiZGF5c1wiKSwgdGhpcy5kYXlqcygpXSxcclxuICAgIFwiTGFzdCBXZWVrXCI6IFtcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEzLCBcImRheXNcIikuc3RhcnRPZihcImRheXNcIiksXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCg3LCBcImRheXNcIikuZW5kT2YoXCJkYXlzXCIpLFxyXG4gICAgXSxcclxuICAgIFwiVGhpcyBNb250aFwiOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgzMCwgXCJkYXlzXCIpLCAvLyBTdGFydCBkYXRlIGlzIDMwIGRheXMgYmVmb3JlIHRvZGF5XHJcbiAgICAgIHRoaXMuZGF5anMoKSxcclxuICAgIF0sXHJcbiAgICBcIkxhc3QgTW9udGhcIjogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJtb250aFwiKS5zdGFydE9mKFwibW9udGhcIiksXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcIm1vbnRoXCIpLmVuZE9mKFwibW9udGhcIiksXHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGRhdGVjaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RGF0ZSB8fCBldmVudC5lbmREYXRlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyU3RhcnREYXRlID0gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmZvcm1hdChcIllZWVktTU0tRERcIik7XHJcbiAgICAgIHRoaXMuZmlsdGVyRW5kRGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcclxuICAgICAgdGhpcy5BcHBseSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0WExTWCgpIHtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICAgZnJvbURhdGU6IHRoaXMuZmlsdGVyU3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuZmlsdGVyRW5kRGF0ZSxcclxuICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlLFxyXG4gICAgICBSTUxpc3Q6IHRoaXMuc2VsZWN0ZWRSbXM/Lmxlbmd0aCA/IHRoaXMuc2VsZWN0ZWRSbXMgOiBbXSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuYXVkaXREYXRhPy5jbGllbnRcclxuICAgICAgICA/IHRoaXMuYXVkaXREYXRhPy5jbGllbnRcclxuICAgICAgICA6IHRoaXMudXNlcnM/LmNsaWVudElkLFxyXG4gICAgICBjbHVzdGVyOiB0aGlzLnNlbGVjdGVkQ2x1c3RlcnM/Lmxlbmd0aFxyXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZENsdXN0ZXJzXHJcbiAgICAgICAgOiBbXSxcclxuICAgICAgaXNFeHBvcnQ6IHRydWUsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICBzb3J0Qnk6IHRoaXMuc29ydGVkQ29sdW1uID8gdGhpcy5zb3J0ZWRDb2x1bW4gOiBcInJtTmFtZVwiLFxyXG4gICAgICBzb3J0T3JkZXI6IHRoaXMuc29ydE9yZGVyID8gdGhpcy5zb3J0T3JkZXIgOiAxLFxyXG4gICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgIGxpbWl0OiAxMDAwMCxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy4kYXBpXHJcbiAgICAgIC5nZXRFbWFpbExvZ0V4cG9ydChyZXF1ZXN0RGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuJGFwaS5zYXZlQXNFeGNlbEZpbGUoXHJcbiAgICAgICAgICAgIHJlcyxcclxuICAgICAgICAgICAgYCR7dGhpcy5jdXJyZW50QXVkaXRUeXBlfSBFeWUgVGVzdCBUYWJsZSBgXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFxyXG4gICAgICAgICAgICBlcnI/LmVycm9yPy5lcnJvciA/IGVycj8uZXJyb3I/LmVycm9yIDogZXJyPy5lcnJvcj8ubWVzc2FnZVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICBcclxuICB9XHJcblxyXG4gIHNlYXJjaFZhbHVlOiBhbnk7XHJcbnNlYXJjaERhdGEoKSB7XHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMuZ2V0RW1haWwoKTtcclxuICB9XHJcblxyXG4gIHRhYmxlRGF0YTogYW55ID0gW107XHJcblxyXG4gIHNvcnRlZENvbHVtbjogYW55O1xyXG4gIHNvcnRPcmRlcjogYW55O1xyXG4gIG9uU29ydChjb2x1bW46IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuc29ydGVkQ29sdW1uID09PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5zb3J0T3JkZXIgPSB0aGlzLnNvcnRPcmRlciA9PT0gMSA/IC0xIDogMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc29ydGVkQ29sdW1uID0gY29sdW1uID8gY29sdW1uIDogXCJybU5hbWVcIjtcclxuICAgICAgdGhpcy5zb3J0T3JkZXIgPSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRFbWFpbCgpO1xyXG4gIH1cclxuICBhbGxVc2VyczogYW55O1xyXG4gIGdldFVzZXIoKSB7XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICB1c2VyVHlwZTogJ2NsaWVudCcsXHJcbiAgICAgIGZpbHRlckJ5Um9sZTogW1wiYWRtaW5cIiwgXCJ1c2VyXCJdLFxyXG4gICAgICBpc0FjdGl2ZTogdGhpcy51c2Vycz8uaXNBY3RpdmUsXHJcbiAgICAgIGNsaWVudElkOnRoaXMuYXVkaXREYXRhPy5jbGllbnQgPyB0aGlzLmF1ZGl0RGF0YT8uY2xpZW50IDogdGhpcy51c2Vycz8uY2xpZW50SWRcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy4kYXBpXHJcbiAgICAgIC5nZXR1c2VyTGlzdChvYmopXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuYWxsVXNlcnMgPSByZXM/LmRhdGE/LnJlc3VsdD8ubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgIGlkOiBpdGVtLl9pZCxcclxuICAgICAgICAgICAgbmFtZTogaXRlbS5lbWFpbCxcclxuICAgICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmdldFVzZXJDb25maWcoKTsgLy8gY2FsbCBhZnRlciBhbGxVc2VycyBpcyByZWFkeVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpZ0RhdGE6IGFueTtcclxuXHJcbiAgdXBkYXRlT3duZXIoc2VsZWN0ZWRFbWFpbDogYW55KSB7XHJcbiAgICB0aGlzLmNvbmZpZ0RhdGEgPSBzZWxlY3RlZEVtYWlsO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRWRpdCgpIHtcclxuICAgIGlmICghdGhpcy5lZGl0TW9kZSkge1xyXG4gICAgICAvLyBlbnRlcmluZyBlZGl0IG1vZGUg4oaSIG1ha2UgYSB3b3JraW5nIGNvcHlcclxuICAgICAgdGhpcy5jb25maWdEYXRhID0gWy4uLnRoaXMubGFzdFNhdmVkQ29uZmlnXTtcclxuICAgICAgdGhpcy5lZGl0TW9kZSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBsZWF2aW5nIGVkaXQgd2l0aG91dCBzYXZpbmcg4oaSIHJlc3RvcmUgYmFzZWxpbmVcclxuICAgICAgdGhpcy5jb25maWdEYXRhID0gWy4uLnRoaXMubGFzdFNhdmVkQ29uZmlnXTtcclxuICAgICAgdGhpcy5lZGl0TW9kZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FuY2VsRWRpdCgpIHtcclxuICAgIC8vIHJldmVydCBiYWNrIHRvIGxhc3Qgc2F2ZWQgc3RhdGVcclxuICAgIHRoaXMuY29uZmlnRGF0YSA9IFsuLi50aGlzLmxhc3RTYXZlZENvbmZpZ107XHJcbiAgICB0aGlzLmVkaXRNb2RlID0gZmFsc2U7XHJcbiAgfVxyXG4gIGVkaXRNb2RlID0gZmFsc2U7XHJcbiAgc3VibWl0T3duZXJzKCkge1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuYXVkaXREYXRhPy5jbGllbnQsIC8vIG9yIHRoaXMuY2xpZW50SWRcclxuICAgICAgdXNlckxpc3Q6IHRoaXMuY29uZmlnRGF0YS5tYXAoKG86IGFueSkgPT4gKHtcclxuICAgICAgICBfaWQ6IG8uaWQgPz8gby52YWx1ZSwgLy8g4pyFIHN1cHBvcnQgYm90aCBjYXNlc1xyXG4gICAgICAgIGVtYWlsOiBvLm5hbWUsXHJcbiAgICAgIH0pKSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy4kYXBpXHJcbiAgICAgIC51cGRhdGVVc2VyQ29uZmlnKHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRVc2VyQ29uZmlnKCk7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldFN1Y2Nlc3NUb2FzdChcIk93bmVycyB1cGRhdGVkIHN1Y2Nlc3NmdWxseVwiKTtcclxuICAgICAgICAgICAgdGhpcy5lZGl0TW9kZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChcIkZhaWxlZCB0byB1cGRhdGUgb3duZXJzXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIlVwZGF0ZSBmYWlsZWQ6XCIsIGVycik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyB0aGlzLm9uU3VibWl0KCk7XHJcbiAgdXNlckNvbmZpZ0xpc3Q6IGFueSA9IFtdO1xyXG4gIGxhc3RTYXZlZENvbmZpZzogYW55O1xyXG4gIGdldFVzZXJDb25maWcoKSB7XHJcbiAgICB0aGlzLiRhcGlcclxuICAgICAgLmdldFVzZXJDb25maWdMaXN0KHRoaXMuYXVkaXREYXRhPy5jbGllbnQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIC8vIEFzc2lnbmVkIHVzZXJzXHJcbiAgICAgICAgICB0aGlzLmNvbmZpZ0RhdGEgPVxyXG4gICAgICAgICAgICByZXM/LmRhdGE/LnJlc3VsdD8udXNlckxpc3Q/Lm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgIGlkOiBpdGVtLl9pZCxcclxuICAgICAgICAgICAgICBuYW1lOiBpdGVtLmVtYWlsLFxyXG4gICAgICAgICAgICB9KSkgPz8gW107XHJcbiAgICAgICAgICB0aGlzLmxhc3RTYXZlZENvbmZpZyA9IFsuLi50aGlzLmNvbmZpZ0RhdGFdO1xyXG5cclxuICAgICAgICAgIC8vIEJ1aWxkIHNldCBvZiBhc3NpZ25lZCBpZHNcclxuICAgICAgICAgIGNvbnN0IGFzc2lnbmVkSWRzID0gbmV3IFNldCh0aGlzLmNvbmZpZ0RhdGEubWFwKCh1OiBhbnkpID0+IHUuaWQpKTtcclxuXHJcbiAgICAgICAgICAvLyBGaWx0ZXIgZnJvbSBhbGxVc2VycyAobm90IGZyb20gdXNlckNvbmZpZ0xpc3QhKVxyXG4gICAgICAgICAgdGhpcy51c2VyQ29uZmlnTGlzdCA9IHRoaXMuYWxsVXNlcnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAodTogYW55KSA9PiAhYXNzaWduZWRJZHMuaGFzKHUuaWQpXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBlbWFpbCBjb25naWcgbWV0aG9kIGFuZCB2YXJpYWJsZXNcclxuICBlbWFpbENvbmZpZ0xpc3Q6IGFueTtcclxuICBlZGl0TW9kZTEgPSB0cnVlO1xyXG4gIHRvZ2dsZUVkaXQxKCkge1xyXG4gICAgdGhpcy5lZGl0TW9kZTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY29tcGxpYW5jZUZvcm0uZW5hYmxlKCk7XHJcbiAgfVxyXG4gIGdldEVtYWlsQ29uZmlnKCkge1xyXG4gICAgdGhpcy4kYXBpXHJcbiAgICAgIC5nZXRFbWFpbENvbmZpZ0xpc3QoXHJcbiAgICAgICAgdGhpcy5hdWRpdERhdGE/LmNsaWVudCA/IHRoaXMuYXVkaXREYXRhPy5jbGllbnQgOiB0aGlzLnVzZXJzPy5jbGllbnRJZFxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuZW1haWxDb25maWdMaXN0ID0gcmVzPy5kYXRhPy5yZXN1bHQ7XHJcblxyXG4gICAgICAgICAgLy8gU3VwcG9zZSBiYWNrZW5kIHJldHVybnMgc29tZXRoaW5nIGxpa2U6XHJcbiAgICAgICAgICAvLyB7IHRocmVzaG9sZDogXCIxMFwiLCBwZXJjZW50YWdlOiBcIjgwXCIgfVxyXG4gICAgICAgICAgY29uc3QgaW5pdGlhbERhdGEgPSB7XHJcbiAgICAgICAgICAgIHRocmVzaG9sZDogdGhpcy5lbWFpbENvbmZpZ0xpc3Q/LmNvbXBsaWFuY2VUaHJlc2hvbGQ/LmNvbmRpdGlvbixcclxuICAgICAgICAgICAgcGVyY2VudGFnZTogdGhpcy5lbWFpbENvbmZpZ0xpc3Q/LmNvbXBsaWFuY2VUaHJlc2hvbGQ/LnZhbHVlLFxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAvLyBGaWxsIHJlYWN0aXZlIGZvcm0gd2l0aCB2YWx1ZXNcclxuICAgICAgICAgIHRoaXMuY29tcGxpYW5jZUZvcm0ucGF0Y2hWYWx1ZShpbml0aWFsRGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbGFzdFNhdmVkQ29tcGxpYW5jZTogYW55O1xyXG4gIHN1Ym1pdENvbXBsaWFuY2UoKSB7XHJcbiAgICBpZiAodGhpcy5jb21wbGlhbmNlRm9ybS5pbnZhbGlkKSByZXR1cm47XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5hdWRpdERhdGE/LmNsaWVudCxcclxuICAgICAgY29tcGxpYW5jZVRocmVzaG9sZDoge1xyXG4gICAgICAgIGNvbmRpdGlvbjogdGhpcy5jb21wbGlhbmNlRm9ybS52YWx1ZS50aHJlc2hvbGQsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMuY29tcGxpYW5jZUZvcm0udmFsdWUucGVyY2VudGFnZSxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy4kYXBpXHJcbiAgICAgIC51cGRhdGVFbWFpbENvbmZpZyh0aGlzLmVtYWlsQ29uZmlnTGlzdD8uX2lkLCBwYXlsb2FkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldFN1Y2Nlc3NUb2FzdChcclxuICAgICAgICAgICAgcmVzPy5tZXNzYWdlXHJcbiAgICAgICAgICAgICAgPyBgRW1haWwgY29uZmlndXJhdGlvbmAgKyByZXM/Lm1lc3NhZ2VcclxuICAgICAgICAgICAgICA6IFwiQ29tcGxpYW5jZSBzZXR0aW5ncyB1cGRhdGVkIHN1Y2Nlc3NmdWxseVwiXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5nZXRFbWFpbENvbmZpZygpOyAvLyB1cGRhdGUgYmFzZWxpbmVcclxuICAgICAgICAgIHRoaXMuY29tcGxpYW5jZUZvcm0uZGlzYWJsZSgpO1xyXG4gICAgICAgICAgdGhpcy5lZGl0TW9kZTEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4gY29uc29sZS5lcnJvcihcIlVwZGF0ZSBmYWlsZWQ6XCIsIGVyciksXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsQ29tcGxpYW5jZSgpIHtcclxuICAgIHRoaXMuY29tcGxpYW5jZUZvcm0uZGlzYWJsZSgpO1xyXG4gICAgdGhpcy5lZGl0TW9kZTEgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRFbWFpbENvbmZpZygpO1xyXG4gIH1cclxuICAvLyBSTXNcclxuICBSbUxpc3Q6IGFueVtdID0gW107XHJcbiAgZmlsdGVyZWRSbXM6IGFueVtdID0gW107XHJcbiAgc2VhcmNoUm1UZXh0ID0gXCJcIjtcclxuXHJcbiAgLy8gQ2x1c3RlcnNcclxuICBDbHVzdGVyTGlzdDogYW55W10gPSBbXTtcclxuICBmaWx0ZXJlZENsdXN0ZXJzOiBhbnlbXSA9IFtdO1xyXG4gIHNlYXJjaENsdXN0ZXJUZXh0ID0gXCJcIjtcclxuXHJcbiAgLy8gRHJvcGRvd25zXHJcbiAgT3BlbmRyb3Bkb3duID0gZmFsc2U7XHJcbiAgZHJvcGRvd25PcGVuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gT3Blbi9jbG9zZSBkcm9wZG93blxyXG4gIG9wZW5kcm9wZG93bigpIHtcclxuICAgIHRoaXMuT3BlbmRyb3Bkb3duID0gIXRoaXMuT3BlbmRyb3Bkb3duO1xyXG4gIH1cclxuICBjbG9zZURyb3Bkb3duKCkge1xyXG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBudWxsO1xyXG4gIH1cclxuICBybU9wZW4gPSBmYWxzZTtcclxuICBjbHVzdGVyT3BlbiA9IGZhbHNlO1xyXG5cclxuICB0b2dnbGVSbURyb3Bkb3duKCkge1xyXG4gICAgdGhpcy5ybU9wZW4gPSAhdGhpcy5ybU9wZW47XHJcbiAgICB0aGlzLmNsdXN0ZXJPcGVuID0gZmFsc2U7IC8vIGNsb3NlIG90aGVyXHJcbiAgfVxyXG5cclxuICB0b2dnbGVDbHVzdGVyRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLmNsdXN0ZXJPcGVuID0gIXRoaXMuY2x1c3Rlck9wZW47XHJcbiAgICB0aGlzLnJtT3BlbiA9IGZhbHNlOyAvLyBjbG9zZSBvdGhlclxyXG4gIH1cclxuXHJcbiAgY2xvc2VBbGxEcm9wZG93bnMoKSB7XHJcbiAgICB0aGlzLnJtT3BlbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5jbHVzdGVyT3BlbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqIC0tLS0gUk1zIC0tLS0gKi9cclxuICBnZXRBbGxSbSgpIHtcclxuICAgIHRoaXMuJGFwaS5nZXRSbUxpc3QodGhpcy5hdWRpdERhdGE/LmNsaWVudCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBBcnJheS5pc0FycmF5KHJlcy5kYXRhLnJlc3VsdClcclxuICAgICAgICAgID8gcmVzLmRhdGEucmVzdWx0XHJcbiAgICAgICAgICA6IFtyZXMuZGF0YS5yZXN1bHRdO1xyXG4gICAgICAgIHRoaXMuUm1MaXN0ID0gcmVzdWx0Lm1hcCgocm06IGFueSkgPT4gKHsgLi4ucm0sIGNoZWNrZWQ6IHRydWUgfSkpOyAvLyDinIUgcHJlLXNlbGVjdCBhbGxcclxuICAgICAgICB0aGlzLmZpbHRlcmVkUm1zID0gWy4uLnRoaXMuUm1MaXN0XTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldEFsbEdyb3Vwcyh0aGlzLlJtTGlzdCk7XHJcbiAgICAgIHRoaXMuQXBwbHkoKTsgLy8gZmV0Y2ggY2x1c3RlcnMgYmFzZWQgb24gc2VsZWN0ZWQgUk1zXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlclJtcygpIHtcclxuICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuc2VhcmNoUm1UZXh0LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLmZpbHRlcmVkUm1zID0gdGhpcy5SbUxpc3QuZmlsdGVyKChyKSA9PlxyXG4gICAgICByLnVzZXJOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzQWxsUm1zU2VsZWN0ZWQoKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmZpbHRlcmVkUm1zLmxlbmd0aCA+IDAgJiYgdGhpcy5maWx0ZXJlZFJtcy5ldmVyeSgocikgPT4gci5jaGVja2VkKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdEFsbFJtcyhldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBjaGVja2VkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XHJcbiAgICB0aGlzLmZpbHRlcmVkUm1zLmZvckVhY2goKHIpID0+IChyLmNoZWNrZWQgPSBjaGVja2VkKSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTZWxlY3RlZFJtcygpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5SbUxpc3QuZmlsdGVyKChyKSA9PiByLmNoZWNrZWQpO1xyXG4gICAgdGhpcy5nZXRBbGxHcm91cHMoc2VsZWN0ZWQpOyAvLyBhdXRvIHJlZnJlc2ggY2x1c3RlcnNcclxuICB9XHJcblxyXG5zZWxlY3RlZFJtc0xhYmVsKCk6IHN0cmluZyB7XHJcbiAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmZpbHRlcmVkUm1zLmZpbHRlcihybSA9PiBybS5jaGVja2VkKTtcclxuICBpZiAoc2VsZWN0ZWQubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XHJcbiAgcmV0dXJuIHNlbGVjdGVkWzBdLnVzZXJOYW1lO1xyXG59XHJcbmdldFNlbGVjdGVkUm1zQ291bnQoKTogbnVtYmVyIHtcclxuICByZXR1cm4gdGhpcy5maWx0ZXJlZFJtcy5maWx0ZXIocm0gPT4gcm0uY2hlY2tlZCkubGVuZ3RoIC0xO1xyXG59XHJcbiAgLyoqIC0tLS0gQ2x1c3RlcnMgLS0tLSAqL1xyXG5nZXRBbGxHcm91cHMoZXZlbnQ/OiBhbnlbXSkge1xyXG4gIGxldCBybUxpc3Q6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGlmIChldmVudD8ubGVuZ3RoKSB7XHJcbiAgICBybUxpc3QgPSBldmVudC5tYXAoKG8pID0+IG8uZW1haWwpO1xyXG4gIH0gZWxzZSBpZiAodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJybVwiKSB7XHJcbiAgICBybUxpc3QgPSBbdGhpcy51c2Vycz8uZW1haWxdO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qgb2JqID0geyBcclxuICAgIGNsaWVudElkOiB0aGlzLmF1ZGl0RGF0YT8uY2xpZW50ID8gdGhpcy5hdWRpdERhdGE/LmNsaWVudCA6IHRoaXMudXNlcnM/LmNsaWVudElkLFxyXG4gICAgcm1MaXN0IFxyXG4gIH07XHJcblxyXG4gIHRoaXMuJGFwaS5nZXRDbHVzdGVycyhvYmopLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgIGlmIChyZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAvLyBJbml0aWFsaXplIGNsdXN0ZXJzIHdpdGggY2hlY2tlZD1mYWxzZVxyXG4gICAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gKHJlcy5kYXRhLnJlc3VsdCB8fCBbXSkubWFwKChjOiBhbnkpID0+ICh7XHJcbiAgICAgICAgLi4uYyxcclxuICAgICAgICBjaGVja2VkOiB0cnVlXHJcbiAgICAgIH0pKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZENsdXN0ZXJzID0gWy4uLnRoaXMuQ2x1c3Rlckxpc3RdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5DbHVzdGVyTGlzdCA9IFtdO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkQ2x1c3RlcnMgPSBbXTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZmlsdGVyQ2x1c3RlcnMoKSB7XHJcbiAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2hDbHVzdGVyVGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gIHRoaXMuZmlsdGVyZWRDbHVzdGVycyA9IHRoaXMuQ2x1c3Rlckxpc3QuZmlsdGVyKChjKSA9PlxyXG4gICAgYy5jbHVzdGVyTmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaClcclxuICApO1xyXG59XHJcblxyXG5pc0FsbENsdXN0ZXJzU2VsZWN0ZWQoKSB7XHJcbiAgcmV0dXJuIChcclxuICAgIHRoaXMuZmlsdGVyZWRDbHVzdGVycy5sZW5ndGggPiAwICYmXHJcbiAgICB0aGlzLmZpbHRlcmVkQ2x1c3RlcnMuZXZlcnkoKGMpID0+IGMuY2hlY2tlZClcclxuICApO1xyXG59XHJcblxyXG50b2dnbGVTZWxlY3RBbGxDbHVzdGVycyhldmVudDogYW55KSB7XHJcbiAgY29uc3QgY2hlY2tlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xyXG4gIHRoaXMuZmlsdGVyZWRDbHVzdGVycy5mb3JFYWNoKChjKSA9PiAoYy5jaGVja2VkID0gY2hlY2tlZCkpO1xyXG4gIHRoaXMudXBkYXRlU2VsZWN0ZWRDbHVzdGVycygpO1xyXG59XHJcblxyXG51cGRhdGVTZWxlY3RlZENsdXN0ZXJzKCkge1xyXG4gIHRoaXMuc2VsZWN0ZWRDbHVzdGVycyA9IHRoaXMuQ2x1c3Rlckxpc3RcclxuICAgIC5maWx0ZXIoYyA9PiBjLmNoZWNrZWQpXHJcbiAgICAubWFwKGMgPT4gYy5faWQpOyAvLyBvciBjLmNsdXN0ZXJOYW1lIGlmIG5lZWRlZFxyXG59XHJcblxyXG5zZWxlY3RlZENsdXN0ZXJzTGFiZWwoKSB7XHJcbiAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLkNsdXN0ZXJMaXN0LmZpbHRlcigoYykgPT4gYy5jaGVja2VkKTtcclxuICBpZiAoc2VsZWN0ZWQubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XHJcbiAgcmV0dXJuIHNlbGVjdGVkWzBdLmNsdXN0ZXJOYW1lO1xyXG59XHJcblxyXG5nZXRTZWxlY3RlZENsdXN0ZXJzQ291bnQoKSB7XHJcbiAgY29uc3QgY291bnQgPSB0aGlzLkNsdXN0ZXJMaXN0LmZpbHRlcihjID0+IGMuY2hlY2tlZCkubGVuZ3RoO1xyXG4gIHJldHVybiBjb3VudCA+IDEgPyBjb3VudCAtIDEgOiAwOyAvLyBTaG93IFwiK04gb3RoZXJzXCJcclxufVxyXG5cclxuICAvKiogLS0tLSBBcHBseSAvIFJlc2V0IC0tLS0gKi9cclxuICBSZXNldCgpIHtcclxuICAgIHRoaXMuUm1MaXN0LmZvckVhY2goKHIpID0+IChyLmNoZWNrZWQgPSBmYWxzZSkpO1xyXG4gICAgdGhpcy5DbHVzdGVyTGlzdC5mb3JFYWNoKChjKSA9PiAoYy5jaGVja2VkID0gZmFsc2UpKTtcclxuICAgIHRoaXMuZmlsdGVyZWRSbXMgPSBbLi4udGhpcy5SbUxpc3RdO1xyXG4gICAgdGhpcy5maWx0ZXJlZENsdXN0ZXJzID0gWy4uLnRoaXMuQ2x1c3Rlckxpc3RdO1xyXG4gICAgICAgdGhpcy5PcGVuZHJvcGRvd24gPSBmYWxzZTtcclxuICB9XHJcbiAgc2VsZWN0ZWRSbXM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkQ2x1c3RlcnM6IGFueSA9IFtdO1xyXG4gIEFwcGx5KCkge1xyXG4gICAgY29uc3QgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoXCJlbi1VU1wiKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRSbXMgPSB0aGlzLlJtTGlzdC5maWx0ZXIoKHIpID0+IHIuY2hlY2tlZCkubWFwKChyKSA9PiByLmVtYWlsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDbHVzdGVycyA9IHRoaXMuQ2x1c3Rlckxpc3QuZmlsdGVyKChjKSA9PiBjLmNoZWNrZWQpLm1hcChcclxuICAgICAgKGMpID0+IGMuY2x1c3Rlck5hbWVcclxuICAgICk7XHJcbiAgICB0aGlzLmdldEVtYWlsKCk7XHJcbiAgICB0aGlzLnJtT3BlbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5jbHVzdGVyT3BlbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5PcGVuZHJvcGRvd24gPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmZpbHRlclN0YXJ0RGF0ZSkge1xyXG4gICAgICB0aGlzLmZpbHRlclN0YXJ0RGF0ZSA9IGRhdGVQaXBlLnRyYW5zZm9ybShcclxuICAgICAgICB0aGlzLmZpbHRlclN0YXJ0RGF0ZSxcclxuICAgICAgICBcInl5eXktTU0tZGRcIlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsdGVyRW5kRGF0ZSkge1xyXG4gICAgICB0aGlzLmZpbHRlckVuZERhdGUgPSBkYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5maWx0ZXJFbmREYXRlLCBcInl5eXktTU0tZGRcIik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9mZnNldCA9IDE7XHJcbiAgbGltaXQgPSAxMDtcclxucGFnZVNpemUgPSAxMDsgICAgICAgICAgICBcclxucGFnaW5hdGlvblNpemVzID0gWzEwLDIwLDMwXTsgXHJcbnRvdGFsSXRlbXMgPSAwO1xyXG4gIHNldFBhZ2luYXRpb25TaXplcygpIHtcclxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPiAxMCkge1xyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFsxMCwgMjAsIDMwXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107IC8vIEp1c3Qgb25lIG9wdGlvbiBpZiBsZXNzIHRoYW4gMTBcclxuICAgIH1cclxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnBhZ2luYXRpb25TaXplc1swXTtcclxuICB9IFxyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBub0RhdGEgPSBmYWxzZTtcclxuICBnZXRFbWFpbCgpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgZnJvbURhdGU6IHRoaXMuZmlsdGVyU3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuZmlsdGVyRW5kRGF0ZSxcclxuICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlLFxyXG4gICAgICBSTUxpc3Q6IHRoaXMuc2VsZWN0ZWRSbXM/Lmxlbmd0aCA/IHRoaXMuc2VsZWN0ZWRSbXMgOiBbXSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuYXVkaXREYXRhPy5jbGllbnRcclxuICAgICAgICA/IHRoaXMuYXVkaXREYXRhPy5jbGllbnRcclxuICAgICAgICA6IHRoaXMudXNlcnM/LmNsaWVudElkLFxyXG4gICAgICBjbHVzdGVyOiB0aGlzLnNlbGVjdGVkQ2x1c3RlcnM/Lmxlbmd0aFxyXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZENsdXN0ZXJzXHJcbiAgICAgICAgOiBbXSxcclxuICAgICAgaXNFeHBvcnQ6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hWYWx1ZSxcclxuICAgICAgc29ydEJ5OiB0aGlzLnNvcnRlZENvbHVtbiA/IHRoaXMuc29ydGVkQ29sdW1uIDogXCJSTUVtYWlsXCIsXHJcbiAgICAgIHNvcnRPcmRlcjogdGhpcy5zb3J0T3JkZXIgPyB0aGlzLnNvcnRPcmRlciA6IDEsXHJcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLmxpbWl0LFxyXG4gICAgfTtcclxuICAgIHRoaXMuJGFwaVxyXG4gICAgICAuZ2V0RW1haWxMb2cob2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGVEYXRhID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcz8uZGF0YT8uY291bnQgfHwgMDsgXHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIlVwZGF0ZSBmYWlsZWQ6XCIsIGVycik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxub25QYWdlQ2hhbmdlKHBhZ2U6IG51bWJlcikge1xyXG4gIHRoaXMub2Zmc2V0ID0gcGFnZTtcclxuICB0aGlzLmdldEVtYWlsKCk7IC8vIHJlbG9hZCB3aXRoIG5ldyBwYWdlXHJcbn1cclxuXHJcbm9uUGFnZVNpemVDaGFuZ2Uoc2l6ZTogbnVtYmVyKSB7XHJcbiAgdGhpcy5wYWdlU2l6ZSA9IHNpemU7XHJcbiAgdGhpcy5saW1pdCA9IHNpemU7XHJcbiAgdGhpcy5vZmZzZXQgPSAxOyAgIC8vIHJlc2V0IHRvIGZpcnN0IHBhZ2Ugd2hlbiBwYWdlIHNpemUgY2hhbmdlc1xyXG4gIHRoaXMuZ2V0RW1haWwoKTtcclxufVxyXG5cclxuICBleWVUZXN0VmlldyhkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuJGFwaS5zZXRBdWRpdERhdGEoZGF0YSk7XHJcbiAgICBcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJheC9hdWRpdC9zdGFydFwiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIHR5cGU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSxcclxuICAgICAgICBzdG9yZUlkOiBkYXRhPy5zdG9yZUlkLFxyXG4gICAgICAgIF9pZDogZGF0YS5hdWRpdGVkSWQsXHJcbiAgICAgICAgZXllVHlwZSA6ZGF0YT8uY29tbWVudCA/IFwiZmFrZVwiIDogXCJnZW51aW5lXCIsXHJcbiAgICAgICAgUk1FbWFpbDpkYXRhPy5STUVtYWlsLFxyXG4gICAgICAgIGNsdXN0ZXI6ZGF0YT8uY2x1c3RlcixcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgbGV0IGRhdGExOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJcIik7XHJcbiAgZGF0YTEuZGF0ZSA9IHtcclxuICBzdGFydERhdGU6IHRoaXMuYXVkaXREZXRhaWxzPy5maWxlRGF0ZSxcclxuICBlbmREYXRlOiB0aGlzLmF1ZGl0RGV0YWlscz8uZmlsZURhdGVcclxufTtcclxuICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGExKSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgLy8gIEBWaWV3Q2hpbGQoJ3NhbmtleUNoYXJ0JywgeyBzdGF0aWM6IHRydWUgfSkgY2hhcnRFbGVtZW50ITogRWxlbWVudFJlZjtcclxuXHJcbiAgLy8gICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgLy8gICAgIGNvbnN0IHJhd0RhdGEgPSBbXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkN1c3RvbWl6YXRpb25cIiwgdG86IFwiRm9ybWFsIFBhbnRzXCIsIHZhbHVlOiAzIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkVudHJ5XCIsIHRvOiBcIkZvcm1hbCBQYW50c1wiLCB2YWx1ZTogMTIgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiUGluIFR1Y2sgUGFudHNcIiwgdG86IFwiSm9nZ2Vyc1wiLCB2YWx1ZTogNCB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJKb2dnZXJzXCIsIHRvOiBcIkZvcm1hbCBQYW50c1wiLCB2YWx1ZTogMiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQb3dlciBTdHJldGNoXCIsIHRvOiBcIkN1c3RvbWl6YXRpb25cIiwgdmFsdWU6IDIgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiUGluIFR1Y2sgUGFudHNcIiwgdG86IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdmFsdWU6IDUgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdG86IFwiUG93ZXIgU3RyZXRjaFwiLCB2YWx1ZTogMiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJDdXN0b21pemF0aW9uXCIsIHRvOiBcIlRyaWFsIFJvb21cIiwgdmFsdWU6IDIgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiSm9nZ2Vyc1wiLCB0bzogXCJFeGl0XCIsIHZhbHVlOiAyOSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQaW4gVHVjayBQYW50c1wiLCB0bzogXCJQb3dlciBTdHJldGNoXCIsIHZhbHVlOiAyIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkVudHJ5XCIsIHRvOiBcIkN1c3RvbWl6YXRpb25cIiwgdmFsdWU6IDY0IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdG86IFwiUGluIFR1Y2sgUGFudHNcIiwgdmFsdWU6IDMgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiQ3VzdG9taXphdGlvblwiLCB0bzogXCJQaW4gVHVjayBQYW50c1wiLCB2YWx1ZTogMTAgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRW50cnlcIiwgdG86IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdmFsdWU6IDQ5IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkVudHJ5XCIsIHRvOiBcIkpvZ2dlcnNcIiwgdmFsdWU6IDI5IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlNob3J0cyB3aXRoIExvdW5nZSB3ZWFyICwgQ2hpbm9zIGFuZCBQaW50dWNrIFBhbnRzXCIsIHRvOiBcIkV4aXRcIiwgdmFsdWU6IDQ5IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkpvZ2dlcnNcIiwgdG86IFwiQ3VzdG9taXphdGlvblwiLCB2YWx1ZTogNiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJTaG9ydHMgd2l0aCBMb3VuZ2Ugd2VhciAsIENoaW5vcyBhbmQgUGludHVjayBQYW50c1wiLCB0bzogXCJKb2dnZXJzXCIsIHZhbHVlOiAzIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdG86IFwiSm9nZ2Vyc1wiLCB2YWx1ZTogMSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJDdXN0b21pemF0aW9uXCIsIHRvOiBcIlNob3J0cyB3aXRoIExvdW5nZSB3ZWFyICwgQ2hpbm9zIGFuZCBQaW50dWNrIFBhbnRzXCIsIHZhbHVlOiA3IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkZvcm1hbCBQYW50c1wiLCB0bzogXCJTaG9ydHMgd2l0aCBMb3VuZ2Ugd2VhciAsIENoaW5vcyBhbmQgUGludHVjayBQYW50c1wiLCB2YWx1ZTogMSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQaW4gVHVjayBQYW50c1wiLCB0bzogXCJFeGl0XCIsIHZhbHVlOiA1NCB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQb3dlciBTdHJldGNoXCIsIHRvOiBcIlRyaWFsIFJvb21cIiwgdmFsdWU6IDIgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRm9ybWFsIFBhbnRzXCIsIHRvOiBcIkN1c3RvbWl6YXRpb25cIiwgdmFsdWU6IDMgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRm9ybWFsIFBhbnRzXCIsIHRvOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdmFsdWU6IDEgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdG86IFwiVHJpYWwgUm9vbVwiLCB2YWx1ZTogMiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJDdXN0b21pemF0aW9uXCIsIHRvOiBcIkV4aXRcIiwgdmFsdWU6IDY0IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkVudHJ5XCIsIHRvOiBcIlBpbiBUdWNrIFBhbnRzXCIsIHZhbHVlOiA1NCB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQaW4gVHVjayBQYW50c1wiLCB0bzogXCJGb3JtYWwgUGFudHNcIiwgdmFsdWU6IDMgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdG86IFwiUGluIFR1Y2sgUGFudHNcIiwgdmFsdWU6IDUgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiSm9nZ2Vyc1wiLCB0bzogXCJQb3dlciBTdHJldGNoXCIsIHZhbHVlOiA0IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlNob3J0cyB3aXRoIExvdW5nZSB3ZWFyICwgQ2hpbm9zIGFuZCBQaW50dWNrIFBhbnRzXCIsIHRvOiBcIkZvcm1hbCBQYW50c1wiLCB2YWx1ZTogMyB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJQaW4gVHVjayBQYW50c1wiLCB0bzogXCJDdXN0b21pemF0aW9uXCIsIHZhbHVlOiAxMSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJGb3JtYWwgUGFudHNcIiwgdG86IFwiUGluIFR1Y2sgUGFudHNcIiwgdmFsdWU6IDMgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiVHJpYWwgUm9vbVwiLCB0bzogXCJQaW4gVHVjayBQYW50c1wiLCB2YWx1ZTogMSB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJDdXN0b21pemF0aW9uXCIsIHRvOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdmFsdWU6IDEgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiQ3VzdG9taXphdGlvblwiLCB0bzogXCJKb2dnZXJzXCIsIHZhbHVlOiA2IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIkZvcm1hbCBQYW50c1wiLCB0bzogXCJFeGl0XCIsIHZhbHVlOiAxMiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJKb2dnZXJzXCIsIHRvOiBcIlBpbiBUdWNrIFBhbnRzXCIsIHZhbHVlOiA0IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlBvd2VyIFN0cmV0Y2hcIiwgdG86IFwiU2hvcnRzIHdpdGggTG91bmdlIHdlYXIgLCBDaGlub3MgYW5kIFBpbnR1Y2sgUGFudHNcIiwgdmFsdWU6IDEgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiUG93ZXIgU3RyZXRjaFwiLCB0bzogXCJFeGl0XCIsIHZhbHVlOiAxOCB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJFbnRyeVwiLCB0bzogXCJUcmlhbCBSb29tXCIsIHZhbHVlOiA2IH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlNob3J0cyB3aXRoIExvdW5nZSB3ZWFyICwgQ2hpbm9zIGFuZCBQaW50dWNrIFBhbnRzXCIsIHRvOiBcIkN1c3RvbWl6YXRpb25cIiwgdmFsdWU6IDUgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiRW50cnlcIiwgdG86IFwiUG93ZXIgU3RyZXRjaFwiLCB2YWx1ZTogMTggfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiUG93ZXIgU3RyZXRjaFwiLCB0bzogXCJGb3JtYWwgUGFudHNcIiwgdmFsdWU6IDEgfSxcclxuICAvLyAgICAgICB7IGZyb206IFwiVHJpYWwgUm9vbVwiLCB0bzogXCJDdXN0b21pemF0aW9uXCIsIHZhbHVlOiAzIH0sXHJcbiAgLy8gICAgICAgeyBmcm9tOiBcIlRyaWFsIFJvb21cIiwgdG86IFwiRXhpdFwiLCB2YWx1ZTogNiB9LFxyXG4gIC8vICAgICAgIHsgZnJvbTogXCJGb3JtYWwgUGFudHNcIiwgdG86IFwiSm9nZ2Vyc1wiLCB2YWx1ZTogNCB9XHJcbiAgLy8gICAgIF07XHJcblxyXG4gIC8vICAgICAvLyBCdWlsZCB1bmlxdWUgbm9kZXNcclxuICAvLyAgICAgY29uc3QgbGFiZWxzID0gWy4uLm5ldyBTZXQocmF3RGF0YS5mbGF0TWFwKGQgPT4gW2QuZnJvbSwgZC50b10pKV07XHJcbiAgLy8gICAgIGNvbnN0IGxhYmVsVG9JbmRleDogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xyXG4gIC8vICAgICBsYWJlbHMuZm9yRWFjaCgobGFiZWwsIGkpID0+IChsYWJlbFRvSW5kZXhbbGFiZWxdID0gaSkpO1xyXG5cclxuICAvLyAgICAgLy8gTWFwIGRhdGEgZm9yIFNhbmtleVxyXG4gIC8vICAgICBjb25zdCBzb3VyY2UgPSByYXdEYXRhLm1hcChkID0+IGxhYmVsVG9JbmRleFtkLmZyb21dKTtcclxuICAvLyAgICAgY29uc3QgdGFyZ2V0ID0gcmF3RGF0YS5tYXAoZCA9PiBsYWJlbFRvSW5kZXhbZC50b10pO1xyXG4gIC8vICAgICBjb25zdCB2YWx1ZSA9IHJhd0RhdGEubWFwKGQgPT4gZC52YWx1ZSk7XHJcblxyXG4gIC8vICAgICAvLyBBc3NpZ24gY29uc2lzdGVudCBjb2xvcnMgKGxpa2UgYW1DaGFydHMgZGlzdGluY3QgcGFsZXR0ZSlcclxuICAvLyAgICAgY29uc3Qgbm9kZUNvbG9yczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcclxuICAvLyAgICAgICBcIkN1c3RvbWl6YXRpb25cIjogXCIjMWY3N2I0XCIsXHJcbiAgLy8gICAgICAgXCJGb3JtYWwgUGFudHNcIjogXCIjZmY3ZjBlXCIsXHJcbiAgLy8gICAgICAgXCJFbnRyeVwiOiBcIiMyY2EwMmNcIixcclxuICAvLyAgICAgICBcIlBpbiBUdWNrIFBhbnRzXCI6IFwiI2Q2MjcyOFwiLFxyXG4gIC8vICAgICAgIFwiSm9nZ2Vyc1wiOiBcIiM5NDY3YmRcIixcclxuICAvLyAgICAgICBcIlBvd2VyIFN0cmV0Y2hcIjogXCIjOGM1NjRiXCIsXHJcbiAgLy8gICAgICAgXCJFeGl0XCI6IFwiI2UzNzdjMlwiLFxyXG4gIC8vICAgICAgIFwiVHJpYWwgUm9vbVwiOiBcIiMxN2JlY2ZcIixcclxuICAvLyAgICAgICBcIlNob3J0cyB3aXRoIExvdW5nZSB3ZWFyICwgQ2hpbm9zIGFuZCBQaW50dWNrIFBhbnRzXCI6IFwiI2JjYmQyMlwiXHJcbiAgLy8gICAgIH07XHJcblxyXG4gIC8vICAgICBjb25zdCBub2RlQ29sb3JBcnJheSA9IGxhYmVscy5tYXAobCA9PiBub2RlQ29sb3JzW2xdIHx8IFwiIzk5OVwiKTtcclxuICAvLyAgICAgY29uc3QgbGlua0NvbG9yQXJyYXkgPSByYXdEYXRhLm1hcChkID0+IG5vZGVDb2xvcnNbZC5mcm9tXSB8fCBcIiM5OTlcIik7XHJcblxyXG4gIC8vICAgICBjb25zdCBkYXRhOiBhbnkgPSBbe1xyXG4gIC8vICAgICAgIHR5cGU6IFwic2Fua2V5XCIsXHJcbiAgLy8gICAgICAgb3JpZW50YXRpb246IFwiaFwiLFxyXG4gIC8vICAgICAgIG5vZGU6IHtcclxuICAvLyAgICAgICAgIHBhZDogMTUsXHJcbiAgLy8gICAgICAgICB0aGlja25lc3M6IDIwLFxyXG4gIC8vICAgICAgICAgbGluZTogeyBjb2xvcjogXCJibGFja1wiLCB3aWR0aDogMC41IH0sXHJcbiAgLy8gICAgICAgICBsYWJlbDogbGFiZWxzLFxyXG4gIC8vICAgICAgICAgY29sb3I6IG5vZGVDb2xvckFycmF5XHJcbiAgLy8gICAgICAgfSxcclxuICAvLyAgICAgICBsaW5rOiB7XHJcbiAgLy8gICAgICAgICBzb3VyY2UsXHJcbiAgLy8gICAgICAgICB0YXJnZXQsXHJcbiAgLy8gICAgICAgICB2YWx1ZSxcclxuICAvLyAgICAgICAgIGNvbG9yOiBsaW5rQ29sb3JBcnJheVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfV07XHJcblxyXG4gIC8vICAgICBjb25zdCBsYXlvdXQgPSB7XHJcbiAgLy8gICAgICAgdGl0bGU6IHsgdGV4dDogXCJTYW5rZXkgRmxvdyAoUGxvdGx5IHdpdGggQW1DaGFydHMtbGlrZSBDb2xvcnMpXCIgfSxcclxuICAvLyAgICAgICBmb250OiB7IHNpemU6IDEyIH1cclxuICAvLyAgICAgfTtcclxuXHJcbiAgLy8gICAgIFBsb3RseS5uZXdQbG90KHRoaXMuY2hhcnRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGRhdGEsIGxheW91dCk7XHJcbiAgLy8gICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNVwiPlxyXG4gICAgPGRpdiAoY2xpY2spPVwiYmFja05hdmlnYXRpb24oKVwiIGNsYXNzPVwiYnRuIGJ0bi1hbSBidG4tb3V0bGluZSBwLTNcIj5cclxuICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUuODMzMiA5Ljk5OTg0SDQuMTY2NU00LjE2NjUgOS45OTk4NEw5Ljk5OTg0IDE1LjgzMzJNNC4xNjY1IDkuOTk5ODRMOS45OTk4NCA0LjE2NjVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgPC9kaXY+PHNwYW4gY2xhc3M9XCJtcy0yIHRpdGxlLWhlYWRcIj5BdWRpdCBTZXR0aW5nczwvc3Bhbj5cclxuPC9kaXY+XHJcblxyXG5cclxuPGRpdiBjbGFzcz1cInJvdyBtdC01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb24gI2FjY29yZGlvbj1cIm5nYkFjY29yZGlvblwiIFtjbG9zZU90aGVyc109XCJ0cnVlXCIgW2Rlc3Ryb3lPbkhpZGVdPVwidHJ1ZVwiIChzaG93KT1cIm9wZW5JdGVtKCRldmVudClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIFwiICBuZ2JBY2NvcmRpb25JdGVtIFtjb2xsYXBzZWRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+VXNlciBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZWRpdE1vZGVcIiBjbGFzcz1cIiBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRWRpdCgpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGFsaWduLWl0ZW1zLWVuZFwiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjU3OV8yNTEyNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjE2NyAyLjQ5OTkzQzE0LjM4NTkgMi4yODEwNiAxNC42NDU3IDIuMTA3NDQgMTQuOTMxNyAxLjk4ODk5QzE1LjIxNzYgMS44NzA1NCAxNS41MjQxIDEuODA5NTcgMTUuODMzNyAxLjgwOTU3QzE2LjE0MzIgMS44MDk1NyAxNi40NDk3IDEuODcwNTQgMTYuNzM1NyAxLjk4ODk5QzE3LjAyMTYgMi4xMDc0NCAxNy4yODE1IDIuMjgxMDYgMTcuNTAwMyAyLjQ5OTkzQzE3LjcxOTIgMi43MTg4IDE3Ljg5MjggMi45Nzg2MyAxOC4wMTEzIDMuMjY0NkMxOC4xMjk3IDMuNTUwNTcgMTguMTkwNyAzLjg1NzA2IDE4LjE5MDcgNC4xNjY1OUMxOC4xOTA3IDQuNDc2MTIgMTguMTI5NyA0Ljc4MjYyIDE4LjAxMTMgNS4wNjg1OUMxNy44OTI4IDUuMzU0NTUgMTcuNzE5MiA1LjYxNDM5IDE3LjUwMDMgNS44MzMyNkw2LjI1MDMzIDE3LjA4MzNMMS42NjY5OSAxOC4zMzMzTDIuOTE2OTkgMTMuNzQ5OUwxNC4xNjcgMi40OTk5M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yNTc5XzI1MTI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPkVkaXQgRGV0YWlsczwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj4gICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctODBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJteS0yIGZvcm0tbGFiZWwgZnMtNCBmdy1ib2xkXCI+QXNzaWduIEF1ZGl0IFVzZXJzPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlZGl0TW9kZTsgZWxzZSByZWFkb25seVZpZXdcIj5cclxuICA8bGliLWNoaXAtZHJvcGRvd25cclxuICAgIFtkYXRhXT1cInVzZXJDb25maWdMaXN0XCJcclxuICAgIFtzZWxlY3RlZERhdGFdPVwiY29uZmlnRGF0YVwiXHJcbiAgICAoc2VsZWN0ZWRMaXN0KT1cInVwZGF0ZU93bmVyKCRldmVudClcIj5cclxuICA8L2xpYi1jaGlwLWRyb3Bkb3duPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVhZG9ubHlWaWV3PlxyXG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTIgYm9yZGVyLTIgYm9yZGVyLWdyYXktMzAwIHAtMyByb3VuZGVkXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpcCBvZiBjb25maWdEYXRhXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cInAtMSByb3VuZGVkLTUgY2hpcCBweC0yIG15LTMgcHktMSBiZy1ncmF5LTIwMFwiPlxyXG4gICAgICB7eyBjaGlwPy5uYW1lIHx8IGNoaXAgfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHRleHQtZW5kXCIgKm5nSWY9XCJlZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBtZS0yXCIgKGNsaWNrKT1cImNhbmNlbEVkaXQoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic3VibWl0T3duZXJzKClcIj5TYXZlPC9idXR0b24+XHJcbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbXQtNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkVtYWlsIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVkaXRNb2RlMVwiIGNsYXNzPVwiIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZUVkaXQxKCk7XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGFsaWduLWl0ZW1zLWVuZFwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjU3OV8yNTEyNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC4xNjcgMi40OTk5M0MxNC4zODU5IDIuMjgxMDYgMTQuNjQ1NyAyLjEwNzQ0IDE0LjkzMTcgMS45ODg5OUMxNS4yMTc2IDEuODcwNTQgMTUuNTI0MSAxLjgwOTU3IDE1LjgzMzcgMS44MDk1N0MxNi4xNDMyIDEuODA5NTcgMTYuNDQ5NyAxLjg3MDU0IDE2LjczNTcgMS45ODg5OUMxNy4wMjE2IDIuMTA3NDQgMTcuMjgxNSAyLjI4MTA2IDE3LjUwMDMgMi40OTk5M0MxNy43MTkyIDIuNzE4OCAxNy44OTI4IDIuOTc4NjMgMTguMDExMyAzLjI2NDZDMTguMTI5NyAzLjU1MDU3IDE4LjE5MDcgMy44NTcwNiAxOC4xOTA3IDQuMTY2NTlDMTguMTkwNyA0LjQ3NjEyIDE4LjEyOTcgNC43ODI2MiAxOC4wMTEzIDUuMDY4NTlDMTcuODkyOCA1LjM1NDU1IDE3LjcxOTIgNS42MTQzOSAxNy41MDAzIDUuODMzMjZMNi4yNTAzMyAxNy4wODMzTDEuNjY2OTkgMTguMzMzM0wyLjkxNjk5IDEzLjc0OTlMMTQuMTY3IDIuNDk5OTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI1NzlfMjUxMjVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5FZGl0IERldGFpbHM8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LXNlbWlib2xkIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wbGlhbmNlIFRocmVzaG9sZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNvbXBsaWFuY2VGb3JtXCI+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0aHJlc2hvbGRcIiBbZGF0YV09XCJjb21wbGlhbmNlVGhyZXNob2xkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwicGVyY2VudGFnZVwiIFtkYXRhXT1cImNvbXBsaWFuY2VQZXJjZW50YWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWVkaXRNb2RlMVwiIGNsYXNzPVwibXQtMyB0ZXh0LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBtZS0yXCIgKGNsaWNrKT1cImNhbmNlbENvbXBsaWFuY2UoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBcIiAoY2xpY2spPVwic3VibWl0Q29tcGxpYW5jZSgpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LXNlbWlib2xkIG1lLTNcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzc2Ml8xNTQzMClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMDQgMTAuNjY2M1Y3Ljk5OTY3TTguMDAwMDQgNS4zMzMwMUg4LjAwNjcxTTE0LjY2NjcgNy45OTk2N0MxNC42NjY3IDExLjY4MTYgMTEuNjgxOSAxNC42NjYzIDguMDAwMDQgMTQuNjY2M0M0LjMxODE0IDE0LjY2NjMgMS4zMzMzNyAxMS42ODE2IDEuMzMzMzcgNy45OTk2N0MxLjMzMzM3IDQuMzE3NzggNC4zMTgxNCAxLjMzMzAxIDguMDAwMDQgMS4zMzMwMUMxMS42ODE5IDEuMzMzMDEgMTQuNjY2NyA0LjMxNzc4IDE0LjY2NjcgNy45OTk2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF83NjJfMTU0MzBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW1haWwgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbnQgaWYgdGhlIGNvbXBsaWFuY2UgZG9lc27igJl0IG1lZXQgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkXCI+e3tjb21wbGlhbmNlRm9ybS52YWx1ZT8ucGVyY2VudGFnZX19PC9zcGFuPiB0byB0aGUgZ2l2ZW4gRW1haWwgSURzIGFib3ZlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtdC02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkVtYWlsIExvZ3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMTBcIj5cclxuIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cInNlYXJjaERhdGEoKVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHN0eWxlPVwibWluLXdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1wiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkcm9wc109XCInZG93bidcIiBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtyYW5nZXNdPVwicmFuZ2VzXCIgW3Nob3dDdXN0b21SYW5nZUxhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIiBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgW2F1dG9BcHBseV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGxpYi1maWx0ZXJzIFtkYXRhT2JqZWN0XT1cImRhdGFPYmplY3RcIiAoYXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXJzKCRldmVudClcIj48L2xpYi1maWx0ZXJzPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICA8IS0tIFRyaWdnZXIgQnV0dG9uIC0tPlxyXG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuZHJvcGRvd24oKVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIG14LTIgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+RmlsdGVyPC9zcGFuPiA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICA8cGF0aCBkPVwiTTUgMTBIMTVNMi41IDVIMTcuNU03LjUgMTVIMTIuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPC9zdmc+IFxyXG4gIDwvYnV0dG9uPlxyXG5cclxuICA8IS0tIERyb3Bkb3duIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCJPcGVuZHJvcGRvd25cIiBjbGFzcz1cImNhcmQgcC00IGRyb3Bkb3duMiBwb3NpdGlvbi1hYnNvbHV0ZSB6LTEgZW5kLTBcIiAoY2xpY2tPdXRzaWRlKT1cImNsb3NlRHJvcGRvd24oKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXRpdGxlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0zXCI+XHJcbiAgICAgIDxzcGFuPkZpbHRlciBPcHRpb25zPC9zcGFuPlxyXG4gICAgICBcclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gUk0gRHJvcGRvd24gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGFpbmVyIG1iLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGRyb3Bkb3duLWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGVSbURyb3Bkb3duKClcIj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBkcm9wZG93bi1pbnB1dCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRSbXNMYWJlbCgpXCIgcmVhZG9ubHkgcGxhY2Vob2xkZXI9XCJTZWxlY3QgUk1zXCIgLz5cclxuICAgICAgICAgICA8c3BhbiBcclxuICAgICAgKm5nSWY9XCJnZXRTZWxlY3RlZFJtc0NvdW50KCkgPiAwXCIgXHJcbiAgICAgIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwIGVuZC0wIHRyYW5zbGF0ZS1taWRkbGUteSBtZS0yIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgdGV4dC13aGl0ZSB0ZXh0LXhzIHJvdW5kZWQtZnVsbCBweC0yIHB5LTAuNVwiPlxyXG4gICAgICAre3sgZ2V0U2VsZWN0ZWRSbXNDb3VudCgpIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IGN1c3RvbS1kcm9wZG93bi1tZW51XCIgKm5nSWY9XCJybU9wZW5cIj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtYi0yIGRyb3Bkb3duLXNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJNc1wiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFJtVGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlclJtcygpXCIgLz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgcHMtMCBteS01XCI+XHJcbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJzZWxlY3RBbGxSbXNcIiBbY2hlY2tlZF09XCJpc0FsbFJtc1NlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdEFsbFJtcygkZXZlbnQpXCIgLz5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJzZWxlY3RBbGxSbXNcIj5TZWxlY3QgQWxsPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItNSBwcy0wXCIgKm5nRm9yPVwibGV0IHJtIG9mIGZpbHRlcmVkUm1zXCI+XHJcbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgW2lkXT1cInJtLmVtYWlsXCIgWyhuZ01vZGVsKV09XCJybS5jaGVja2VkXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZFJtcygpXCIgLz5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cInJtLmVtYWlsXCI+e3sgcm0udXNlck5hbWUgfX08L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gQ2x1c3RlciBEcm9wZG93biAtLT5cclxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWhlYWRlciBwb3NpdGlvbi1yZWxhdGl2ZVwiIChjbGljayk9XCJ0b2dnbGVDbHVzdGVyRHJvcGRvd24oKVwiPlxyXG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZHJvcGRvd24taW5wdXQgY3Vyc29yLXBvaW50ZXIgcGUtNVwiXHJcbiAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZENsdXN0ZXJzTGFiZWwoKVwiXHJcbiAgICAgIHJlYWRvbmx5XHJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IENsdXN0ZXJzXCIgLz5cclxuXHJcbiAgICA8IS0tIEJhZGdlIGluc2lkZSBpbnB1dCAtLT5cclxuICAgIDxzcGFuICpuZ0lmPVwiZ2V0U2VsZWN0ZWRDbHVzdGVyc0NvdW50KCkgPiAwXCJcclxuICAgICAgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgZW5kLTAgdHJhbnNsYXRlLW1pZGRsZS15IG1lLTIgYmFkZ2UgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCB0ZXh0LXdoaXRlIHJvdW5kZWQtcGlsbCBweC0yIHB5LTBcIj5cclxuICAgICAgK3t7IGdldFNlbGVjdGVkQ2x1c3RlcnNDb3VudCgpIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IGN1c3RvbS1kcm9wZG93bi1tZW51XCIgKm5nSWY9XCJjbHVzdGVyT3BlblwiPlxyXG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWItMiBkcm9wZG93bi1zZWFyY2hcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBjbHVzdGVyc1wiXHJcbiAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoQ2x1c3RlclRleHRcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJDbHVzdGVycygpXCIgLz5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBwcy0wIG15LTVcIj5cclxuICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICBpZD1cInNlbGVjdEFsbENsdXN0ZXJzXCJcclxuICAgICAgICBbY2hlY2tlZF09XCJpc0FsbENsdXN0ZXJzU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGxDbHVzdGVycygkZXZlbnQpXCIgLz5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cInNlbGVjdEFsbENsdXN0ZXJzXCI+U2VsZWN0IEFsbDwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBtYi01IHBzLTBcIiAqbmdGb3I9XCJsZXQgY2x1c3RlciBvZiBmaWx0ZXJlZENsdXN0ZXJzXCI+XHJcbiAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgW2lkXT1cImNsdXN0ZXIuX2lkXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cImNsdXN0ZXIuY2hlY2tlZFwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZENsdXN0ZXJzKClcIiAvPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgW2Zvcl09XCJjbHVzdGVyLl9pZFwiPnt7IGNsdXN0ZXIuY2x1c3Rlck5hbWUgfX08L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgbXQtM1wiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYnRuLXNtIHctNTBcIiAoY2xpY2spPVwiUmVzZXQoKVwiPlJlc2V0PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gdy01MFwiIChjbGljayk9XCJBcHBseSgpXCI+QXBwbHk8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbjwvZGl2PlxyXG5cclxuICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNMTQuMTY2NyA2LjY2NjY3TDEwIDIuNU0xMCAyLjVMNS44MzMzMyA2LjY2NjY3TTEwIDIuNVYxMi41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJtcy0yXCI+RXhwb3J0PC9zcGFuPiA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJub0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGV5ZSB0ZXN0IHRhYmxlPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiIGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVybGVzcyB0YWJsZS1ob3ZlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1ub3dyYXBcIj4gPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3JtTmFtZScpXCI+IFJNIE5hbWUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAncm1OYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3JtTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtbm93cmFwXCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NsdXN0ZXJOYW1lJylcIj4gQ2x1c3RlciBOYW1lIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NsdXN0ZXJOYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NsdXN0ZXJOYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ29wdHVtSWQnKVwiPiBPcHR1bSBJRCA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdvcHR1bUlkJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ29wdHVtSWQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZU5hbWUnKVwiPiBTdG9yZSBOYW1lIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZU5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCd0YW5nb1Njb3JlJylcIj4gVGFuZ28gU2NvcmUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAndGFuZ29TY29yZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICd0YW5nb1Njb3JlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3RydXN0U2NvcmUnKVwiPiBUcnVzdCBTY29yZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICd0cnVzdFNjb3JlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3RydXN0U2NvcmUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPkFjdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZURhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtbm93cmFwXCI+e3tpdGVtLlJNRW1haWx9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPnt7aXRlbS5jbHVzdGVyfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj57e2l0ZW0ub3B0dW1JZH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtbm93cmFwXCI+e3tpdGVtLnN0b3JlTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtbm93cmFwXCI+e3tpdGVtLnRhbmdvU2NvcmUgPz8gXCItLVwiIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtbm93cmFwXCI+e3tpdGVtLnRydXN0U2NvcmV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCIhaXRlbS5hdWRpdGVkSWRcIiAoY2xpY2spPVwiZXllVGVzdFZpZXcoaXRlbSlcIiBjbGFzcz1cImJ0biBidG4tbGluayBwLTAgbS0wIGJvcmRlci0wIGJnLXRyYW5zcGFyZW50XCI+XHJcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICA8cGF0aCBkPVwiTTAuODMzMjUyIDkuOTk5NjdDMC44MzMyNTIgOS45OTk2NyA0LjE2NjU4IDMuMzMzMDEgOS45OTk5MiAzLjMzMzAxQzE1LjgzMzMgMy4zMzMwMSAxOS4xNjY2IDkuOTk5NjcgMTkuMTY2NiA5Ljk5OTY3QzE5LjE2NjYgOS45OTk2NyAxNS44MzMzIDE2LjY2NjMgOS45OTk5MiAxNi42NjYzQzQuMTY2NTggMTYuNjY2MyAwLjgzMzI1MiA5Ljk5OTY3IDAuODMzMjUyIDkuOTk5NjdaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICA8cGF0aCBkPVwiTTkuOTk5OTIgMTIuNDk5N0MxMS4zODA2IDEyLjQ5OTcgMTIuNDk5OSAxMS4zODA0IDEyLjQ5OTkgOS45OTk2N0MxMi40OTk5IDguNjE4OTYgMTEuMzgwNiA3LjQ5OTY3IDkuOTk5OTIgNy40OTk2N0M4LjYxOTIxIDcuNDk5NjcgNy40OTk5MiA4LjYxODk2IDcuNDk5OTIgOS45OTk2N0M3LjQ5OTkyIDExLjM4MDQgOC42MTkyMSAxMi40OTk3IDkuOTk5OTIgMTIuNDk5N1pcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICA8L3N2Zz5cclxuPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyXCIgKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cIm9mZnNldFwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIiBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCIgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuIl19