tango-app-ui-analyse-traffic 3.4.0-beta.6 → 3.4.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -141,8 +141,8 @@ export class AddNobComponent {
141
141
  }
142
142
  },
143
143
  error: (err) => {
144
- console.error('API Error:', err);
145
- this.ts.getErrorToast('An error occurred while fetching data');
144
+ // console.error('API Error:', err);
145
+ this.ts.getErrorToast(err.error.error);
146
146
  },
147
147
  });
148
148
  }
@@ -244,8 +244,7 @@ export class AddNobComponent {
244
244
  }
245
245
  },
246
246
  error: (err) => {
247
- console.error('API Error:', err);
248
- this.ts.getErrorToast('An error occurred while fetching data');
247
+ this.ts.getErrorToast(err.error.error);
249
248
  },
250
249
  });
251
250
  }
@@ -261,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
261
260
  type: ViewChild,
262
261
  args: ["inputFile"]
263
262
  }] } });
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5vYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2FkZC1ub2IvYWRkLW5vYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2FkZC1ub2IvYWRkLW5vYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBS1I7SUFBdUI7SUFBK0I7SUFBb0M7SUFBeUI7SUFBNkI7SUFKM0osSUFBSSxDQUFLO0lBRWxCLE9BQU8sQ0FBWTtJQUNGLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFlBQW9CLEVBQWMsRUFBUyxPQUFzQixFQUFTLFdBQTJCLEVBQVMsRUFBZ0IsRUFBUyxFQUFvQixFQUFTLFFBQWtCO1FBQWxLLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFTLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV0TCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElB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cG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyYWZmaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhZmZpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFkZC1ub2InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbm9iLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWRkLW5vYi5jb21wb25lbnQuc2NzcycsXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGROb2JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuQElucHV0KCkgdHlwZTphbnk7XHJcblxyXG5ub2JGb3JtOiBGb3JtR3JvdXA7XHJcbnByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5jb25zdHJ1Y3Rvcihwcml2YXRlIGZiOkZvcm1CdWlsZGVyLHByaXZhdGUgc2VydmljZTpUcmFmZmljU2VydmljZSxwcml2YXRlIGFjdGl2ZU1vZGFsIDpOZ2JBY3RpdmVNb2RhbCxwcml2YXRlIHRzOiBUb2FzdFNlcnZpY2UscHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSl7XHJcblxyXG59XHJcbm5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbn1cclxuY2xpZW50SWQ6YW55O1xyXG5tYXhEYXRlOiBzdHJpbmcgPSAnJztcclxubmdPbkluaXQoKTogdm9pZCB7XHJcbmxldCBkYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJcIik7XHJcbnRoaXMuY2xpZW50SWQgPWRhdGEuY2xpZW50XHJcbnRoaXMuZ2V0Tm9iU3RvcmVMaXN0KGRhdGEuY2xpZW50KTtcclxudGhpcy5zZXRNYXhEYXRlKCk7XHJcbn1cclxuXHJcblxyXG5zdG9yZUxpc3Q6YW55W109W107XHJcbmdldE5vYlN0b3JlTGlzdChjbGllbnQ6YW55KXtcclxuICB0aGlzLnNlcnZpY2UuZ2V0Tk9CU3RvcmVMaXN0KGNsaWVudCk/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gIC5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKXtcclxuICAgICAgICB0aGlzLnN0b3JlTGlzdCA9cmVzLmRhdGEucmVzdWx0XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICBcclxuICAgIH1cclxuICB9KVxyXG59XHJcblxyXG5zdG9yZU5hbWU6YW55O1xyXG5zdG9yZUlkOmFueTtcclxuZGF0ZVZhbHVlOmFueTtcclxuc3RvcmVDb2RlOmFueTtcclxubm9iQ291bnQ6YW55O1xyXG5vbk5PQlN0b3JlU2VsZWN0KGV2ZW50OiBhbnksIHR5cGU6ICdzdG9yZU5hbWUnIHwgJ3N0b3JlSWQnKTogdm9pZCB7XHJcbiAgaWYgKCFldmVudCkge1xyXG4gICAgY29uc29sZS5lcnJvcignRXZlbnQgaXMgdW5kZWZpbmVkIG9yIGludmFsaWQnKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgaWYgKHR5cGUgPT09ICdzdG9yZU5hbWUnKSB7XHJcbiAgICB0aGlzLnN0b3JlTmFtZSA9IGV2ZW50LnN0b3JlTmFtZTtcclxuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5zdG9yZUxpc3QuZmluZChzdG9yZSA9PiBzdG9yZS5zdG9yZU5hbWUgPT09IGV2ZW50LnN0b3JlTmFtZSk7XHJcbiAgICBpZiAoc3RvcmUpIHtcclxuICAgICAgdGhpcy5zdG9yZUlkID0gc3RvcmUuc3RvcmVJZDtcclxuICAgICAgdGhpcy5zdG9yZUNvZGUgPSBzdG9yZS5zdG9yZUNvZGU7IFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdG9yZUlkID0gJyc7XHJcbiAgICAgIHRoaXMuc3RvcmVDb2RlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbHNlIGlmICh0eXBlID09PSAnc3RvcmVJZCcpIHtcclxuICAgIHRoaXMuc3RvcmVJZCA9IGV2ZW50LnN0b3JlSWQ7XHJcbiAgICBjb25zdCBzdG9yZSA9IHRoaXMuc3RvcmVMaXN0LmZpbmQoc3RvcmUgPT4gc3RvcmUuc3RvcmVJZCA9PT0gZXZlbnQuc3RvcmVJZCk7XHJcbiAgICBpZiAoc3RvcmUpIHtcclxuICAgICAgdGhpcy5zdG9yZU5hbWUgPSBzdG9yZS5zdG9yZU5hbWU7XHJcbiAgICAgIHRoaXMuc3RvcmVDb2RlID0gc3RvcmUuc3RvcmVDb2RlOyBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RvcmVOYW1lID0gJyc7XHJcbiAgICAgIHRoaXMuc3RvcmVDb2RlID0gJyc7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcbn1cclxub21pdF9zcGVjaWFsX2NoYXIoZXZlbnQ6IGFueSkge1xyXG4gIHZhciBrO1xyXG4gIGsgPSBldmVudC5jaGFyQ29kZTsgLy8gICAgICAgICBrID0gZXZlbnQua2V5Q29kZTsgIChCb3RoIGNhbiBiZSB1c2VkKVxyXG4gIHJldHVybiBrID09IDggfHwgayA9PSAzMiB8fCAoayA+PSA0OCAmJiBrIDw9IDU3KTtcclxufVxyXG5zZXRNYXhEYXRlKCk6IHZvaWQge1xyXG4gIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICBjb25zdCB5ZXN0ZXJkYXkgPSBuZXcgRGF0ZSh0b2RheSk7XHJcbiAgeWVzdGVyZGF5LnNldERhdGUodG9kYXkuZ2V0RGF0ZSgpIC0gMSk7IC8vIFNldCB0aGUgbWF4IGRhdGUgdG8geWVzdGVyZGF5XHJcbiAgdGhpcy5kYXRlVmFsdWUgPSB5ZXN0ZXJkYXkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xyXG4gIC8vIEZvcm1hdCB0aGUgZGF0ZSBhcyB5eXl5LU1NLWRkXHJcbiAgdGhpcy5tYXhEYXRlID0geWVzdGVyZGF5LnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcclxufVxyXG5vbkRhdGVDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICBpZiAoc2VsZWN0ZWREYXRlID4gdGhpcy5tYXhEYXRlKSB7XHJcbiAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoJ0ludmFsaWQgZGF0ZSBzZWxlY3RlZCEnKTtcclxuICB9XHJcbn1cclxuY2FuY2VsKCl7XHJcbiAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgnY2xvc2UnKTtcclxufVxyXG5vblN1Ym1pdCgpe1xyXG4gIGxldCBvYmogPXtcclxuICAgIGJpbGxzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICAvLyBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsXHJcbiAgICAgICAgc3RvcmVDb2RlOiB0aGlzLnN0b3JlQ29kZSxcclxuICAgICAgICAvLyBzdG9yZU5hbWU6IHRoaXMuc3RvcmVOYW1lLFxyXG4gICAgICAgIG5vYkRhdGU6IHRoaXMuZGF0ZVZhbHVlLFxyXG4gICAgICAgIG5vYkNvdW50OiBOdW1iZXIodGhpcy5ub2JDb3VudClcclxuICAgICAgfVxyXG4gICAgXSxcclxuICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkXHJcbiAgfVxyXG50aGlzLnNlcnZpY2UuZ2V0Tk9CRGF0YUxpc3Qob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbi5zdWJzY3JpYmUoe1xyXG4gIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzLmNvZGUgPT09IDIwMCAmJiByZXMpIHtcclxuICAgICAgICBjb25zdCBhbGxNZXNzYWdlcyA9IHJlcy5tZXNzYWdlXHJcbiAgICAgICAgICAvLyAubWFwKChpdGVtOmFueSkgPT4ge1xyXG4gICAgICAgICAgLy8gICBjb25zdCBzdGF0dXMgPSBpdGVtLmNvZGUgPT09IDIwMCA/ICfinIUnIDogJ+KdjCc7IFxyXG4gICAgICAgICAgLy8gICBjb25zdCBzdG9yZUluZm8gPSBpdGVtLnN0b3JlSWQgPyBgJHtpdGVtLnN0b3JlSWR9YCA6ICcnO1xyXG4gICAgICAgICAgLy8gICByZXR1cm4gYCR7c3RhdHVzfSAke3N0b3JlSW5mb306ICR7aXRlbS5tZXNzYWdlfWA7XHJcbiAgICAgICAgICAvLyB9KVxyXG4gICAgICAgICAgLy8gLmpvaW4oJzxicj4nKTsgXHJcbiAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoYWxsTWVzc2FnZXMpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoJ3N1Ym1pdCcpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdCgnVW5leHBlY3RlZCByZXNwb25zZSBmb3JtYXQnKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcignQVBJIEVycm9yOicsIGVycik7XHJcbiAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdCgnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZmV0Y2hpbmcgZGF0YScpO1xyXG4gICAgfSxcclxuXHJcbn0pXHJcbn1cclxuXHJcblxyXG50eXBlTk9CID0nc2luZ2xlJ1xyXG5ub2JTdG9yZSh0eXBlOmFueSl7XHJcbiAgdGhpcy50eXBlTk9CID10eXBlXHJcbn1cclxuZGF0YVRhYmxlU2hvdyA9ZmFsc2U7XHJcbmRhdGFUYWJsZVNob3cxID1mYWxzZTtcclxudGFibGVIZWFkZXJzOmFueTtcclxuY29udmVydGVkRGF0YTphbnk7XHJcbkBWaWV3Q2hpbGQoXCJpbnB1dEZpbGVcIikgaW5wdXRGaWxlOiBFbGVtZW50UmVmO1xyXG5vblVwbG9hZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICBjb25zdCBiaW5hcnlEYXRhOiBzdHJpbmcgPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB3b3JrYm9vazogWExTWC5Xb3JrQm9vayA9IFhMU1gucmVhZChiaW5hcnlEYXRhLCB7IHR5cGU6ICdiaW5hcnknIH0pO1xyXG4gICAgICBjb25zdCBzaGVldE5hbWU6IHN0cmluZyA9IHdvcmtib29rLlNoZWV0TmFtZXNbMF07XHJcblxyXG4gICAgICBpZiAoc2hlZXROYW1lICE9PSAnTk9CJykge1xyXG4gICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcIlBsZWFzZSB1cGxvYWQgYSB2YWxpZCBmaWxlLlwiKTtcclxuICAgICAgICB0aGlzLnJlc2V0RmlsZUlucHV0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzaGVldDogWExTWC5Xb3JrU2hlZXQgPSB3b3JrYm9vay5TaGVldHNbc2hlZXROYW1lXTtcclxuICAgICAgY29uc3QganNvbkRhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24oc2hlZXQsIHsgaGVhZGVyOiAxIH0pO1xyXG4gICAgICBpZiAoanNvbkRhdGEubGVuZ3RoID4gMTAwKSB7IFxyXG4gICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcIkZpbGUgY29udGFpbnMgdG9vIG1hbnkgcm93cy4gUGxlYXNlIGxpbWl0IHRvIDEwMCByb3dzLlwiKTtcclxuICAgICAgICB0aGlzLnJlc2V0RmlsZUlucHV0KCk7XHJcbiAgICAgICAgdGhpcy5kYXRhVGFibGVTaG93MSA9IHRydWU7IFxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGFUYWJsZVNob3cgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGF0YVRhYmxlU2hvdzEgPSBmYWxzZTsgXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaGVhZGVyczogYW55ID0ganNvbkRhdGFbMF07XHJcbiAgICAgIHRoaXMudGFibGVIZWFkZXJzID0gaGVhZGVycztcclxuICAgICAgY29uc3QgZGF0YVJvd3MgPSBqc29uRGF0YS5zbGljZSgxKTtcclxuICAgICAgdGhpcy5jb252ZXJ0ZWREYXRhID0ge1xyXG4gICAgICAgIGJpbGxzOiBkYXRhUm93cy5tYXAoKHJvdzogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xyXG4gICAgICAgICAgaGVhZGVycy5mb3JFYWNoKChoZWFkZXI6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgY2VsbFZhbHVlID0gcm93W2luZGV4XTtcclxuICAgICAgICAgICAgaWYgKGhlYWRlciA9PT0gXCJOT0JEYXRlXCIgJiYgdHlwZW9mIGNlbGxWYWx1ZSA9PT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgICAgICAgIGNlbGxWYWx1ZSA9IHRoaXMuY29udmVydEV4Y2VsRGF0ZShjZWxsVmFsdWUpOyBcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoYFBsZWFzZSB1cGxvYWQgYSB2YWxpZCBOT0IgRGF0ZSBGb3JtYXRgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaGVhZGVyID09PSBcIlN0b3JlSWRcIiAmJiBjZWxsVmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIGNlbGxWYWx1ZSA9IGNlbGxWYWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ialtoZWFkZXJdID0gY2VsbFZhbHVlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIHN0b3JlQ29kZTogb2JqW1wiU3RvcmVJZFwiXSxcclxuICAgICAgICAgICAgICBub2JEYXRlOiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShvYmpbXCJOT0JEYXRlXCJdLCBcInl5eXktTU0tZGRcIiksXHJcbiAgICAgICAgICAgICAgbm9iQ291bnQ6IE51bWJlcihvYmpbXCJOT0JDb3VudFwiXSksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KGBGaWxlIGhhcyBiZWVuIHVwbG9hZGVkYCk7XHJcbiAgICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChgUGxlYXNlIHVwbG9hZCBhIHZhbGlkIGZpbGU6ICR7ZXJyb3J9YCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc2V0RmlsZUlucHV0KCk7XHJcbiAgfTtcclxuXHJcbiAgLy8gUmVhZCB0aGUgdXBsb2FkZWQgZmlsZSBhcyBiaW5hcnkgc3RyaW5nXHJcbiAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyhmaWxlKTtcclxufVxyXG5yZXNldEZpbGVJbnB1dCgpOiB2b2lkIHtcclxuICBpZiAodGhpcy5pbnB1dEZpbGUgJiYgdGhpcy5pbnB1dEZpbGUubmF0aXZlRWxlbWVudCkge1xyXG4gICAgdGhpcy5pbnB1dEZpbGUubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gIH1cclxufVxyXG5cclxuY29udmVydEV4Y2VsRGF0ZShleGNlbERhdGU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgY29uc3QgYmFzZURhdGUgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTsgXHJcbiAgY29uc3QgY29ycmVjdGVkRGF0ZSA9IG5ldyBEYXRlKGJhc2VEYXRlLmdldFRpbWUoKSArIChleGNlbERhdGUgLSAxKSAqIDg2NDAwMDAwKTtcclxuICByZXR1cm4gY29ycmVjdGVkRGF0ZS50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXTsgXHJcbn1cclxuXHJcbnByb2NlZWQoKXtcclxuICB0aGlzLnNlcnZpY2UuZ2V0Tk9CRGF0YUxpc3QodGhpcy5jb252ZXJ0ZWREYXRhKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT09IDIwMCAmJiByZXMpIHtcclxuICAgICAgICAgIGNvbnN0IGFsbE1lc3NhZ2VzID0gcmVzLm1lc3NhZ2VcclxuICAgICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KGFsbE1lc3NhZ2VzKTtcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoJ3N1Ym1pdCcpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdCgnVW5leHBlY3RlZCByZXNwb25zZSBmb3JtYXQnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdBUEkgRXJyb3I6JywgZXJyKTtcclxuICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGZldGNoaW5nIGRhdGEnKTtcclxuICAgICAgfSxcclxuICBcclxuICB9KVxyXG59XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgcHQtMCBwYi0zIHNjcm9sbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIGQtZmxleCBmbGV4LXN0YXJ0IGZsZXgtY29sdW1uIHAtOSBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXktNSBkLWZsZXhcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInR5cGUgPT09J2FkZCdcIiBjbGFzcz1cInN5bWJvbCBzeW1ib2wtNzVweCBzeW1ib2wtY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGFsdD1cIlBpY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL2FkZC1zdG9yZS1pY29uLnN2Z1wiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInR5cGUgPT09J3JldXBsb2FkJ1wiIGNsYXNzPVwic3ltYm9sIHN5bWJvbC03NXB4IHN5bWJvbC1jaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCA1NiA1NlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgZmlsbD1cIiNEQUYxRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTM3IDMxVjM1QzM3IDM1LjUzMDQgMzYuNzg5MyAzNi4wMzkxIDM2LjQxNDIgMzYuNDE0MkMzNi4wMzkxIDM2Ljc4OTMgMzUuNTMwNCAzNyAzNSAzN0gyMUMyMC40Njk2IDM3IDE5Ljk2MDkgMzYuNzg5MyAxOS41ODU4IDM2LjQxNDJDMTkuMjEwNyAzNi4wMzkxIDE5IDM1LjUzMDQgMTkgMzVWMzFNMzMgMjRMMjggMTlNMjggMTlMMjMgMjRNMjggMTlWMzFcIiBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyB3LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0nYWRkJ1wiIGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZCBtYi0wIHRpdGxlIGN1cnNvci1wb2ludGVyXCI+QWRkIFNpbmdsZSBOb0I8L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0ncmV1cGxvYWQnXCIgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZnMtNCB0ZXh0LWdyYXktODAwIHRleHQtaG92ZXItcHJpbWFyeSBmdy1ib2xkIG1iLTAgdGl0bGUgY3Vyc29yLXBvaW50ZXJcIj5VcGxvYWQgTm9CIGZvcjwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbjxkaXYgICpuZ0lmPVwidHlwZSA9PT0ncmV1cGxvYWQnXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG10LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgdy01MCBjdXJzb3ItcG9pbnRlciBwcy01XCIgKGNsaWNrKT1cIm5vYlN0b3JlKCdzaW5nbGUnKVwiIFtuZ0NsYXNzXT1cInR5cGVOT0IgPT09J3NpbmdsZScgPyAnZm9ybS1jaGVjay1pbmxpbmUnOidmb3JtLWNoZWNrLWlubGluZS1ub25lJ1wiID5cclxuICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJ0eXBlTk9CID09PSdzaW5nbGUnXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAtNXB4ICFpbXBvcnRhbnQ7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgcng9XCI3LjVcIiBmaWxsPVwiI0VBRjhGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCIzXCIgZmlsbD1cIiMwMEEzRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInR5cGVOT0IgIT09J3NpbmdsZSdcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC01cHggIWltcG9ydGFudDtcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtcy0xMFwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJpbmxpbmVSYWRpb09wdGlvbnNcIiBpZD1cImlubGluZVJhZGlvMVwiIHZhbHVlPVwib3B0aW9uMVwiPiAtLT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyBwdC0xMlwiIFtuZ0NsYXNzXT1cInR5cGVOT0IgPT09J3NpbmdsZScgPyAnZm9ybS10ZXh0LXByaW1hcnkgJzonZm9ybS1kZWZ1bHQnXCI+U2luZ2xlIFN0b3JlPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgIHctNTAgY3Vyc29yLXBvaW50ZXIgcHMtNVwiIChjbGljayk9XCJub2JTdG9yZSgnbXVsdGlwbGUnKVwiIFtuZ0NsYXNzXT1cInR5cGVOT0IgPT09J211bHRpcGxlJyA/ICdmb3JtLWNoZWNrLWlubGluZSc6J2Zvcm0tY2hlY2staW5saW5lLW5vbmUnXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwidHlwZU5PQiA9PT0nbXVsdGlwbGUnXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAtNXB4ICFpbXBvcnRhbnQ7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgcng9XCI3LjVcIiBmaWxsPVwiI0VBRjhGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCIzXCIgZmlsbD1cIiMwMEEzRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInR5cGVOT0IgIT09J211bHRpcGxlJ1wiIHN0eWxlPVwibWFyZ2luLXRvcDogLTVweCAhaW1wb3J0YW50O1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyBwdC0xMlwiIFtuZ0NsYXNzXT1cInR5cGVOT0IgPT09J211bHRpcGxlJyA/ICdmb3JtLXRleHQtcHJpbWFyeSc6J2Zvcm0tZGVmdWx0J1wiPk11bHRpcGxlIFN0b3Jlczwvc3Bhbj5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZU5PQiA9PT0nc2luZ2xlJ1wiIGNsYXNzPVwidy0xMDAgaC0wcHggc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtMCBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdG9yZU5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdG9yZSBOYW1lPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZCB0ZXh0LWRhbmdlclwiPiAqPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWN1c3RvbS1zZWxlY3QgW2l0ZW1zXT1cInN0b3JlTGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInc3RvcmVOYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3N0b3JlTmFtZSdcIiAoc2VsZWN0ZWQpPVwib25OT0JTdG9yZVNlbGVjdCgkZXZlbnQsICdzdG9yZU5hbWUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cIlt7IHN0b3JlTmFtZTogc3RvcmVOYW1lIH1dXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1jdXN0b20tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdG9yZUlEXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U3RvcmUgSUQgLzxzcGFuICpuZ0lmPVwidHlwZSAhPT0nYWRkJ1wiPiBTdG9yZSBDb2RlPC9zcGFuPjxzcGFuICpuZ0lmPVwidHlwZSA9PT0nYWRkJ1wiPiBSZWZlcmVuY2UgQ29kZTwvc3Bhbj4gIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWQgdGV4dC1kYW5nZXJcIj4gKjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1jdXN0b20tc2VsZWN0IFtpdGVtc109XCJzdG9yZUxpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ3N0b3JlSWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCInc3RvcmVJZCdcIiAoc2VsZWN0ZWQpPVwib25OT0JTdG9yZVNlbGVjdCgkZXZlbnQsICdzdG9yZUlkJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlc109XCJbeyBzdG9yZUlkOiBzdG9yZUlkIH1dXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1jdXN0b20tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJEYXRlXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U2VsZWN0IERhdGUgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZCB0ZXh0LWRhbmdlclwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZGF0ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJteURhdGVcIiBbKG5nTW9kZWwpXT1cImRhdGVWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiICBbbWF4XT1cIm1heERhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb3VudFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPk5PQiBDb3VudCA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkIHRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cIm5vYkNvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0zIG1iLTEwXCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMTAwIG1lLTNcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDAgbXMtM1wiIGlkPVwiYWxlcnQtdG9hc3RcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFkYXRlVmFsdWUgfHwgIW5vYkNvdW50IHx8ICFzdG9yZUlkIHx8ICFzdG9yZU5hbWVcIj48c3BhbiAqbmdJZj1cInR5cGUgIT09J2FkZCdcIj5Qcm9jZWVkPC9zcGFuPjxzcGFuICpuZ0lmPVwidHlwZSA9PT0nYWRkJ1wiPkFkZDwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZU5PQiA9PT0nbXVsdGlwbGUnXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNTAwIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0ZXh0LWdyYXktNDAwIGZ3LWJvbGQgZnMtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ1c2VyLXRleHRcIj5Vc2UgdGhlIHRlbXBsYXRlIHRvIHVwbG9hZCBtdWx0aXBsZSBOb0LigJlzIGF0IG9uY2UuPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidXNlci10ZXh0IFwiPkRvd25sb2FkIHRoZSB0ZW1wbGF0ZSBoZXJlIC0gICA8YSBocmVmPVwiLi4vLi4vYXNzZXRzL2ZpbGVzL25vYlVwbG9hZFRlbXBsYXRlLnhsc3hcIiBkb3dubG9hZD48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNSAxM1YxNi4zMzMzQzE3LjUgMTYuNzc1NCAxNy4zMjQ0IDE3LjE5OTMgMTcuMDExOCAxNy41MTE4QzE2LjY5OTMgMTcuODI0NCAxNi4yNzU0IDE4IDE1LjgzMzMgMThINC4xNjY2N0MzLjcyNDY0IDE4IDMuMzAwNzIgMTcuODI0NCAyLjk4ODE2IDE3LjUxMThDMi42NzU1OSAxNy4xOTkzIDIuNSAxNi43NzU0IDIuNSAxNi4zMzMzVjEzTTUuODMzMzMgOC44MzMzM0wxMCAxM00xMCAxM0wxNC4xNjY3IDguODMzMzNNMTAgMTNWM1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LWRvd25sb2FkXCI+RG93bmxvYWQgVGVtcGxhdGU8L3NwYW4+PC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInVzZXItdGV4dCBcIj5BZGQgeW91ciBkYXRhIHRvIHRoZSBUZW1wbGF0ZSBGaWxlPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidXNlci10ZXh0XCI+VXBsb2FkIGl0IGJlbG93IGZvciBwcm9jZXNzaW5nPC9saT5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZU5PQiA9PT0nbXVsdGlwbGUnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMyBtcy0zIHJpZ2h0LWJhciBweS0xMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiYWNjb3VudFR5cGVcIiB0eXBlPVwicmFkaW9cIiBpZD1cImt0X2NyZWF0ZV9hY2NvdW50X2Zvcm1fYWNjb3VudF90eXBlX3BlcnNvbmFsXCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInBlcnNvbmFsXCIgY2xhc3M9XCJidG4tY2hlY2tcIiBuZy1yZWZsZWN0LW5hbWU9XCJhY2NvdW50VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmctcmVmbGVjdC1mb3JtLWNvbnRyb2wtbmFtZT1cImFjY291bnRUeXBlXCIgICAoY2hhbmdlKT1cIm9uVXBsb2FkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5nLXJlZmxlY3QtdmFsdWU9XCJwZXJzb25hbFwiIHR5cGU9XCJmaWxlXCIgI2lucHV0RmlsZSAvPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImt0X2NyZWF0ZV9hY2NvdW50X2Zvcm1fYWNjb3VudF90eXBlX3BlcnNvbmFsXCIgY2xhc3M9XCIgdy01MCBwLTQgbXQtNVwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWNlbnRlciB3LTEwMCBmcy00XCI+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQ2XCIgaGVpZ2h0PVwiNDZcIiB2aWV3Qm94PVwiMCAwIDQ2IDQ2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjNcIiB5PVwiM1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIHN0cm9rZT1cIiNGOUZBRkJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80MDQ3XzQwNTY2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjYuMzMzMyAyNi4zMzM0TDIzIDIzTTIzIDIzTDE5LjY2NjYgMjYuMzMzNE0yMyAyM1YzMC41TTI5Ljk5MTYgMjguMzI1QzMwLjgwNDQgMjcuODgxOSAzMS40NDY1IDI3LjE4MDggMzEuODE2NSAyNi4zMzIyQzMyLjE4NjYgMjUuNDgzNyAzMi4yNjM1IDI0LjUzNjEgMzIuMDM1MSAyMy42Mzg5QzMxLjgwNjggMjIuNzQxOCAzMS4yODYyIDIxLjk0NjMgMzAuNTU1NSAyMS4zNzc5QzI5LjgyNDggMjAuODA5NSAyOC45MjU3IDIwLjUwMDYgMjggMjAuNUgyNi45NUMyNi42OTc3IDE5LjUyNDQgMjYuMjI3NiAxOC42MTg2IDI1LjU3NDkgMTcuODUwOUMyNC45MjIyIDE3LjA4MzEgMjQuMTA0IDE2LjQ3MzIgMjMuMTgxNyAxNi4wNjcyQzIyLjI1OTQgMTUuNjYxMiAyMS4yNTcxIDE1LjQ2OTUgMjAuMjUwMSAxNS41MDY2QzE5LjI0MyAxNS41NDM3IDE4LjI1NzUgMTUuODA4NiAxNy4zNjc2IDE2LjI4MTRDMTYuNDc3NyAxNi43NTQyIDE1LjcwNjYgMTcuNDIyNiAxNS4xMTIyIDE4LjIzNjNDMTQuNTE3NyAxOS4wNTAxIDE0LjExNTUgMTkuOTg4IDEzLjkzNTggMjAuOTc5NUMxMy43NTYgMjEuOTcxMSAxMy44MDM0IDIyLjk5MDUgMTQuMDc0MyAyMy45NjExQzE0LjM0NTIgMjQuOTMxNyAxNC44MzI3IDI1LjgyODIgMTUuNSAyNi41ODM0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDA0N180MDU2NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEzIDEzKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj48c3BhbiBjbGFzcz1cImNsaWNrLXVwbG9hZCBjdXJzb3ItcG9pbnRlclwiPkNsaWNrIHRvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBsb2FkIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiZHJhZy1kcm9wXCI+IG9yIGRyYWcgYW5kIGRyb3AgdGhlIHRlbXBsYXRlPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJ0eXBlTk9CID09PSdtdWx0aXBsZSdcIiBjbGFzcz1cImQtZmxleCBtdC0zIG1iLTEwXCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMTAwIG1lLTNcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDAgbXMtM1wiIGlkPVwiYWxlcnQtdG9hc3RcIiAoY2xpY2spPVwicHJvY2VlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgPlByb2NlZWQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5vYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2FkZC1ub2IvYWRkLW5vYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2FkZC1ub2IvYWRkLW5vYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBS1I7SUFBdUI7SUFBK0I7SUFBb0M7SUFBeUI7SUFBNkI7SUFKM0osSUFBSSxDQUFLO0lBRWxCLE9BQU8sQ0FBWTtJQUNGLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFlBQW9CLEVBQWMsRUFBUyxPQUFzQixFQUFTLFdBQTJCLEVBQVMsRUFBZ0IsRUFBUyxFQUFvQixFQUFTLFFBQWtCO1FBQWxLLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFTLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV0TCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElB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LEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUUsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUU7b0JBQzNCLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUE7b0JBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtpQkFDM0I7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztpQkFDckQ7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsQ0FBQztTQUVKLENBQUMsQ0FBQTtJQUNKLENBQUM7d0dBN09ZLGVBQWU7NEZBQWYsZUFBZSxnRUFGZixDQUFDLFFBQVEsQ0FBQyxrSUNadkIsNjBZQXdKTTs7NEZEMUlPLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUMsUUFBUSxDQUFDOzROQUdkLElBQUk7c0JBQVosS0FBSztnQkE2SWtCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyYWZmaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhZmZpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFkZC1ub2InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbm9iLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWRkLW5vYi5jb21wb25lbnQuc2NzcycsXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGROb2JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuQElucHV0KCkgdHlwZTphbnk7XHJcblxyXG5ub2JGb3JtOiBGb3JtR3JvdXA7XHJcbnByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5jb25zdHJ1Y3Rvcihwcml2YXRlIGZiOkZvcm1CdWlsZGVyLHByaXZhdGUgc2VydmljZTpUcmFmZmljU2VydmljZSxwcml2YXRlIGFjdGl2ZU1vZGFsIDpOZ2JBY3RpdmVNb2RhbCxwcml2YXRlIHRzOiBUb2FzdFNlcnZpY2UscHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSl7XHJcblxyXG59XHJcbm5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbn1cclxuY2xpZW50SWQ6YW55O1xyXG5tYXhEYXRlOiBzdHJpbmcgPSAnJztcclxubmdPbkluaXQoKTogdm9pZCB7XHJcbmxldCBkYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJcIik7XHJcbnRoaXMuY2xpZW50SWQgPWRhdGEuY2xpZW50XHJcbnRoaXMuZ2V0Tm9iU3RvcmVMaXN0KGRhdGEuY2xpZW50KTtcclxudGhpcy5zZXRNYXhEYXRlKCk7XHJcbn1cclxuXHJcblxyXG5zdG9yZUxpc3Q6YW55W109W107XHJcbmdldE5vYlN0b3JlTGlzdChjbGllbnQ6YW55KXtcclxuICB0aGlzLnNlcnZpY2UuZ2V0Tk9CU3RvcmVMaXN0KGNsaWVudCk/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gIC5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKXtcclxuICAgICAgICB0aGlzLnN0b3JlTGlzdCA9cmVzLmRhdGEucmVzdWx0XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICBcclxuICAgIH1cclxuICB9KVxyXG59XHJcblxyXG5zdG9yZU5hbWU6YW55O1xyXG5zdG9yZUlkOmFueTtcclxuZGF0ZVZhbHVlOmFueTtcclxuc3RvcmVDb2RlOmFueTtcclxubm9iQ291bnQ6YW55O1xyXG5vbk5PQlN0b3JlU2VsZWN0KGV2ZW50OiBhbnksIHR5cGU6ICdzdG9yZU5hbWUnIHwgJ3N0b3JlSWQnKTogdm9pZCB7XHJcbiAgaWYgKCFldmVudCkge1xyXG4gICAgY29uc29sZS5lcnJvcignRXZlbnQgaXMgdW5kZWZpbmVkIG9yIGludmFsaWQnKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgaWYgKHR5cGUgPT09ICdzdG9yZU5hbWUnKSB7XHJcbiAgICB0aGlzLnN0b3JlTmFtZSA9IGV2ZW50LnN0b3JlTmFtZTtcclxuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5zdG9yZUxpc3QuZmluZChzdG9yZSA9PiBzdG9yZS5zdG9yZU5hbWUgPT09IGV2ZW50LnN0b3JlTmFtZSk7XHJcbiAgICBpZiAoc3RvcmUpIHtcclxuICAgICAgdGhpcy5zdG9yZUlkID0gc3RvcmUuc3RvcmVJZDtcclxuICAgICAgdGhpcy5zdG9yZUNvZGUgPSBzdG9yZS5zdG9yZUNvZGU7IFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdG9yZUlkID0gJyc7XHJcbiAgICAgIHRoaXMuc3RvcmVDb2RlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbHNlIGlmICh0eXBlID09PSAnc3RvcmVJZCcpIHtcclxuICAgIHRoaXMuc3RvcmVJZCA9IGV2ZW50LnN0b3JlSWQ7XHJcbiAgICBjb25zdCBzdG9yZSA9IHRoaXMuc3RvcmVMaXN0LmZpbmQoc3RvcmUgPT4gc3RvcmUuc3RvcmVJZCA9PT0gZXZlbnQuc3RvcmVJZCk7XHJcbiAgICBpZiAoc3RvcmUpIHtcclxuICAgICAgdGhpcy5zdG9yZU5hbWUgPSBzdG9yZS5zdG9yZU5hbWU7XHJcbiAgICAgIHRoaXMuc3RvcmVDb2RlID0gc3RvcmUuc3RvcmVDb2RlOyBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RvcmVOYW1lID0gJyc7XHJcbiAgICAgIHRoaXMuc3RvcmVDb2RlID0gJyc7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcbn1cclxub21pdF9zcGVjaWFsX2NoYXIoZXZlbnQ6IGFueSkge1xyXG4gIHZhciBrO1xyXG4gIGsgPSBldmVudC5jaGFyQ29kZTsgLy8gICAgICAgICBrID0gZXZlbnQua2V5Q29kZTsgIChCb3RoIGNhbiBiZSB1c2VkKVxyXG4gIHJldHVybiBrID09IDggfHwgayA9PSAzMiB8fCAoayA+PSA0OCAmJiBrIDw9IDU3KTtcclxufVxyXG5zZXRNYXhEYXRlKCk6IHZvaWQge1xyXG4gIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICBjb25zdCB5ZXN0ZXJkYXkgPSBuZXcgRGF0ZSh0b2RheSk7XHJcbiAgeWVzdGVyZGF5LnNldERhdGUodG9kYXkuZ2V0RGF0ZSgpIC0gMSk7IC8vIFNldCB0aGUgbWF4IGRhdGUgdG8geWVzdGVyZGF5XHJcbiAgdGhpcy5kYXRlVmFsdWUgPSB5ZXN0ZXJkYXkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xyXG4gIC8vIEZvcm1hdCB0aGUgZGF0ZSBhcyB5eXl5LU1NLWRkXHJcbiAgdGhpcy5tYXhEYXRlID0geWVzdGVyZGF5LnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcclxufVxyXG5vbkRhdGVDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICBpZiAoc2VsZWN0ZWREYXRlID4gdGhpcy5tYXhEYXRlKSB7XHJcbiAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoJ0ludmFsaWQgZGF0ZSBzZWxlY3RlZCEnKTtcclxuICB9XHJcbn1cclxuY2FuY2VsKCl7XHJcbiAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgnY2xvc2UnKTtcclxufVxyXG5vblN1Ym1pdCgpe1xyXG4gIGxldCBvYmogPXtcclxuICAgIGJpbGxzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICAvLyBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsXHJcbiAgICAgICAgc3RvcmVDb2RlOiB0aGlzLnN0b3JlQ29kZSxcclxuICAgICAgICAvLyBzdG9yZU5hbWU6IHRoaXMuc3RvcmVOYW1lLFxyXG4gICAgICAgIG5vYkRhdGU6IHRoaXMuZGF0ZVZhbHVlLFxyXG4gICAgICAgIG5vYkNvdW50OiBOdW1iZXIodGhpcy5ub2JDb3VudClcclxuICAgICAgfVxyXG4gICAgXSxcclxuICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkXHJcbiAgfVxyXG50aGlzLnNlcnZpY2UuZ2V0Tk9CRGF0YUxpc3Qob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbi5zdWJzY3JpYmUoe1xyXG4gIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzLmNvZGUgPT09IDIwMCAmJiByZXMpIHtcclxuICAgICAgICBjb25zdCBhbGxNZXNzYWdlcyA9IHJlcy5tZXNzYWdlXHJcbiAgICAgICAgICAvLyAubWFwKChpdGVtOmFueSkgPT4ge1xyXG4gICAgICAgICAgLy8gICBjb25zdCBzdGF0dXMgPSBpdGVtLmNvZGUgPT09IDIwMCA/ICfinIUnIDogJ+KdjCc7IFxyXG4gICAgICAgICAgLy8gICBjb25zdCBzdG9yZUluZm8gPSBpdGVtLnN0b3JlSWQgPyBgJHtpdGVtLnN0b3JlSWR9YCA6ICcnO1xyXG4gICAgICAgICAgLy8gICByZXR1cm4gYCR7c3RhdHVzfSAke3N0b3JlSW5mb306ICR7aXRlbS5tZXNzYWdlfWA7XHJcbiAgICAgICAgICAvLyB9KVxyXG4gICAgICAgICAgLy8gLmpvaW4oJzxicj4nKTsgXHJcbiAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoYWxsTWVzc2FnZXMpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoJ3N1Ym1pdCcpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdCgnVW5leHBlY3RlZCByZXNwb25zZSBmb3JtYXQnKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgLy8gY29uc29sZS5lcnJvcignQVBJIEVycm9yOicsIGVycik7XHJcbiAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnIuZXJyb3IuZXJyb3IpO1xyXG4gICAgfSxcclxuXHJcbn0pXHJcbn1cclxuXHJcblxyXG50eXBlTk9CID0nc2luZ2xlJ1xyXG5ub2JTdG9yZSh0eXBlOmFueSl7XHJcbiAgdGhpcy50eXBlTk9CID10eXBlXHJcbn1cclxuZGF0YVRhYmxlU2hvdyA9ZmFsc2U7XHJcbmRhdGFUYWJsZVNob3cxID1mYWxzZTtcclxudGFibGVIZWFkZXJzOmFueTtcclxuY29udmVydGVkRGF0YTphbnk7XHJcbkBWaWV3Q2hpbGQoXCJpbnB1dEZpbGVcIikgaW5wdXRGaWxlOiBFbGVtZW50UmVmO1xyXG5vblVwbG9hZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICBjb25zdCBiaW5hcnlEYXRhOiBzdHJpbmcgPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB3b3JrYm9vazogWExTWC5Xb3JrQm9vayA9IFhMU1gucmVhZChiaW5hcnlEYXRhLCB7IHR5cGU6ICdiaW5hcnknIH0pO1xyXG4gICAgICBjb25zdCBzaGVldE5hbWU6IHN0cmluZyA9IHdvcmtib29rLlNoZWV0TmFtZXNbMF07XHJcblxyXG4gICAgICBpZiAoc2hlZXROYW1lICE9PSAnTk9CJykge1xyXG4gICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcIlBsZWFzZSB1cGxvYWQgYSB2YWxpZCBmaWxlLlwiKTtcclxuICAgICAgICB0aGlzLnJlc2V0RmlsZUlucHV0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzaGVldDogWExTWC5Xb3JrU2hlZXQgPSB3b3JrYm9vay5TaGVldHNbc2hlZXROYW1lXTtcclxuICAgICAgY29uc3QganNvbkRhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24oc2hlZXQsIHsgaGVhZGVyOiAxIH0pO1xyXG4gICAgICBpZiAoanNvbkRhdGEubGVuZ3RoID4gMTAwKSB7IFxyXG4gICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcIkZpbGUgY29udGFpbnMgdG9vIG1hbnkgcm93cy4gUGxlYXNlIGxpbWl0IHRvIDEwMCByb3dzLlwiKTtcclxuICAgICAgICB0aGlzLnJlc2V0RmlsZUlucHV0KCk7XHJcbiAgICAgICAgdGhpcy5kYXRhVGFibGVTaG93MSA9IHRydWU7IFxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGFUYWJsZVNob3cgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGF0YVRhYmxlU2hvdzEgPSBmYWxzZTsgXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaGVhZGVyczogYW55ID0ganNvbkRhdGFbMF07XHJcbiAgICAgIHRoaXMudGFibGVIZWFkZXJzID0gaGVhZGVycztcclxuICAgICAgY29uc3QgZGF0YVJvd3MgPSBqc29uRGF0YS5zbGljZSgxKTtcclxuICAgICAgdGhpcy5jb252ZXJ0ZWREYXRhID0ge1xyXG4gICAgICAgIGJpbGxzOiBkYXRhUm93cy5tYXAoKHJvdzogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xyXG4gICAgICAgICAgaGVhZGVycy5mb3JFYWNoKChoZWFkZXI6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgY2VsbFZhbHVlID0gcm93W2luZGV4XTtcclxuICAgICAgICAgICAgaWYgKGhlYWRlciA9PT0gXCJOT0JEYXRlXCIgJiYgdHlwZW9mIGNlbGxWYWx1ZSA9PT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgICAgICAgIGNlbGxWYWx1ZSA9IHRoaXMuY29udmVydEV4Y2VsRGF0ZShjZWxsVmFsdWUpOyBcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoYFBsZWFzZSB1cGxvYWQgYSB2YWxpZCBOT0IgRGF0ZSBGb3JtYXRgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaGVhZGVyID09PSBcIlN0b3JlSWRcIiAmJiBjZWxsVmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIGNlbGxWYWx1ZSA9IGNlbGxWYWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ialtoZWFkZXJdID0gY2VsbFZhbHVlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIHN0b3JlQ29kZTogb2JqW1wiU3RvcmVJZFwiXSxcclxuICAgICAgICAgICAgICBub2JEYXRlOiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShvYmpbXCJOT0JEYXRlXCJdLCBcInl5eXktTU0tZGRcIiksXHJcbiAgICAgICAgICAgICAgbm9iQ291bnQ6IE51bWJlcihvYmpbXCJOT0JDb3VudFwiXSksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KGBGaWxlIGhhcyBiZWVuIHVwbG9hZGVkYCk7XHJcbiAgICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChgUGxlYXNlIHVwbG9hZCBhIHZhbGlkIGZpbGU6ICR7ZXJyb3J9YCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc2V0RmlsZUlucHV0KCk7XHJcbiAgfTtcclxuXHJcbiAgLy8gUmVhZCB0aGUgdXBsb2FkZWQgZmlsZSBhcyBiaW5hcnkgc3RyaW5nXHJcbiAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyhmaWxlKTtcclxufVxyXG5yZXNldEZpbGVJbnB1dCgpOiB2b2lkIHtcclxuICBpZiAodGhpcy5pbnB1dEZpbGUgJiYgdGhpcy5pbnB1dEZpbGUubmF0aXZlRWxlbWVudCkge1xyXG4gICAgdGhpcy5pbnB1dEZpbGUubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gIH1cclxufVxyXG5cclxuY29udmVydEV4Y2VsRGF0ZShleGNlbERhdGU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgY29uc3QgYmFzZURhdGUgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTsgXHJcbiAgY29uc3QgY29ycmVjdGVkRGF0ZSA9IG5ldyBEYXRlKGJhc2VEYXRlLmdldFRpbWUoKSArIChleGNlbERhdGUgLSAxKSAqIDg2NDAwMDAwKTtcclxuICByZXR1cm4gY29ycmVjdGVkRGF0ZS50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXTsgXHJcbn1cclxuXHJcbnByb2NlZWQoKXtcclxuICB0aGlzLnNlcnZpY2UuZ2V0Tk9CRGF0YUxpc3QodGhpcy5jb252ZXJ0ZWREYXRhKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT09IDIwMCAmJiByZXMpIHtcclxuICAgICAgICAgIGNvbnN0IGFsbE1lc3NhZ2VzID0gcmVzLm1lc3NhZ2VcclxuICAgICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KGFsbE1lc3NhZ2VzKTtcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoJ3N1Ym1pdCcpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdCgnVW5leHBlY3RlZCByZXNwb25zZSBmb3JtYXQnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyLmVycm9yLmVycm9yKTtcclxuICAgICAgfSxcclxuICBcclxuICB9KVxyXG59XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgcHQtMCBwYi0zIHNjcm9sbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIGQtZmxleCBmbGV4LXN0YXJ0IGZsZXgtY29sdW1uIHAtOSBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXktNSBkLWZsZXhcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInR5cGUgPT09J2FkZCdcIiBjbGFzcz1cInN5bWJvbCBzeW1ib2wtNzVweCBzeW1ib2wtY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGFsdD1cIlBpY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL2FkZC1zdG9yZS1pY29uLnN2Z1wiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInR5cGUgPT09J3JldXBsb2FkJ1wiIGNsYXNzPVwic3ltYm9sIHN5bWJvbC03NXB4IHN5bWJvbC1jaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCA1NiA1NlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgZmlsbD1cIiNEQUYxRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTM3IDMxVjM1QzM3IDM1LjUzMDQgMzYuNzg5MyAzNi4wMzkxIDM2LjQxNDIgMzYuNDE0MkMzNi4wMzkxIDM2Ljc4OTMgMzUuNTMwNCAzNyAzNSAzN0gyMUMyMC40Njk2IDM3IDE5Ljk2MDkgMzYuNzg5MyAxOS41ODU4IDM2LjQxNDJDMTkuMjEwNyAzNi4wMzkxIDE5IDM1LjUzMDQgMTkgMzVWMzFNMzMgMjRMMjggMTlNMjggMTlMMjMgMjRNMjggMTlWMzFcIiBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyB3LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0nYWRkJ1wiIGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZCBtYi0wIHRpdGxlIGN1cnNvci1wb2ludGVyXCI+QWRkIFNpbmdsZSBOb0I8L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0ncmV1cGxvYWQnXCIgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZnMtNCB0ZXh0LWdyYXktODAwIHRleHQtaG92ZXItcHJpbWFyeSBmdy1ib2xkIG1iLTAgdGl0bGUgY3Vyc29yLXBvaW50ZXJcIj5VcGxvYWQgTm9CIGZvcjwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbjxkaXYgICpuZ0lmPVwidHlwZSA9PT0ncmV1cGxvYWQnXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG10LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgdy01MCBjdXJzb3ItcG9pbnRlciBwcy01XCIgKGNsaWNrKT1cIm5vYlN0b3JlKCdzaW5nbGUnKVwiIFtuZ0NsYXNzXT1cInR5cGVOT0IgPT09J3NpbmdsZScgPyAnZm9ybS1jaGVjay1pbmxpbmUnOidmb3JtLWNoZWNrLWlubGluZS1ub25lJ1wiID5cclxuICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJ0eXBlTk9CID09PSdzaW5nbGUnXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAtNXB4ICFpbXBvcnRhbnQ7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgcng9XCI3LjVcIiBmaWxsPVwiI0VBRjhGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCIzXCIgZmlsbD1cIiMwMEEzRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInR5cGVOT0IgIT09J3NpbmdsZSdcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC01cHggIWltcG9ydGFudDtcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiByeD1cIjcuNVwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtcy0xMFwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJpbmxpbmVSYWRpb09wdGlvbnNcIiBpZD1cImlubGluZVJhZGlvMVwiIHZhbHVlPVwib3B0aW9uMVwiPiAtLT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyBwdC0xMlwiIFtuZ0NsYXNzXT1cInR5cGVOT0IgPT09J3NpbmdsZScgPyAnZm9ybS10ZXh0LXByaW1hcnkgJzonZm9ybS1kZWZ1bHQnXCI+U2luZ2xlIFN0b3JlPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgIHctNTAgY3Vyc29yLXBvaW50ZXIgcHMtNVwiIChjbGljayk9XCJub2JTdG9yZSgnbXVsdGlwbGUnKVwiIFtuZ0NsYXNzXT1cInR5cGVOT0IgPT09J211bHRpcGxlJyA/ICdmb3JtLWNoZWNrLWlubGluZSc6J2Zvcm0tY2hlY2staW5saW5lLW5vbmUnXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwidHlwZU5PQiA9PT0nbXVsdGlwbGUnXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAtNXB4ICFpbXBvcnRhbnQ7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgcng9XCI3LjVcIiBmaWxsPVwiI0VBRjhGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCIzXCIgZmlsbD1cIiMwMEEzRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInR5cGVOT0IgIT09J211bHRpcGxlJ1wiIHN0eWxlPVwibWFyZ2luLXRvcDogLTVweCAhaW1wb3J0YW50O1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNVwiIHJ4PVwiNy41XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyBwdC0xMlwiIFtuZ0NsYXNzXT1cInR5cGVOT0IgPT09J211bHRpcGxlJyA/ICdmb3JtLXRleHQtcHJpbWFyeSc6J2Zvcm0tZGVmdWx0J1wiPk11bHRpcGxlIFN0b3Jlczwvc3Bhbj5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZU5PQiA9PT0nc2luZ2xlJ1wiIGNsYXNzPVwidy0xMDAgaC0wcHggc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtMCBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdG9yZU5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdG9yZSBOYW1lPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZCB0ZXh0LWRhbmdlclwiPiAqPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWN1c3RvbS1zZWxlY3QgW2l0ZW1zXT1cInN0b3JlTGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInc3RvcmVOYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3N0b3JlTmFtZSdcIiAoc2VsZWN0ZWQpPVwib25OT0JTdG9yZVNlbGVjdCgkZXZlbnQsICdzdG9yZU5hbWUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cIlt7IHN0b3JlTmFtZTogc3RvcmVOYW1lIH1dXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1jdXN0b20tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdG9yZUlEXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U3RvcmUgSUQgLzxzcGFuICpuZ0lmPVwidHlwZSAhPT0nYWRkJ1wiPiBTdG9yZSBDb2RlPC9zcGFuPjxzcGFuICpuZ0lmPVwidHlwZSA9PT0nYWRkJ1wiPiBSZWZlcmVuY2UgQ29kZTwvc3Bhbj4gIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWQgdGV4dC1kYW5nZXJcIj4gKjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1jdXN0b20tc2VsZWN0IFtpdGVtc109XCJzdG9yZUxpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ3N0b3JlSWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCInc3RvcmVJZCdcIiAoc2VsZWN0ZWQpPVwib25OT0JTdG9yZVNlbGVjdCgkZXZlbnQsICdzdG9yZUlkJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlc109XCJbeyBzdG9yZUlkOiBzdG9yZUlkIH1dXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1jdXN0b20tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJEYXRlXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U2VsZWN0IERhdGUgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZCB0ZXh0LWRhbmdlclwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZGF0ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJteURhdGVcIiBbKG5nTW9kZWwpXT1cImRhdGVWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiICBbbWF4XT1cIm1heERhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb3VudFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPk5PQiBDb3VudCA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkIHRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cIm5vYkNvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0zIG1iLTEwXCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMTAwIG1lLTNcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDAgbXMtM1wiIGlkPVwiYWxlcnQtdG9hc3RcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFkYXRlVmFsdWUgfHwgIW5vYkNvdW50IHx8ICFzdG9yZUlkIHx8ICFzdG9yZU5hbWVcIj48c3BhbiAqbmdJZj1cInR5cGUgIT09J2FkZCdcIj5Qcm9jZWVkPC9zcGFuPjxzcGFuICpuZ0lmPVwidHlwZSA9PT0nYWRkJ1wiPkFkZDwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZU5PQiA9PT0nbXVsdGlwbGUnXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNTAwIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0ZXh0LWdyYXktNDAwIGZ3LWJvbGQgZnMtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ1c2VyLXRleHRcIj5Vc2UgdGhlIHRlbXBsYXRlIHRvIHVwbG9hZCBtdWx0aXBsZSBOb0LigJlzIGF0IG9uY2UuPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidXNlci10ZXh0IFwiPkRvd25sb2FkIHRoZSB0ZW1wbGF0ZSBoZXJlIC0gICA8YSBocmVmPVwiLi4vLi4vYXNzZXRzL2ZpbGVzL25vYlVwbG9hZFRlbXBsYXRlLnhsc3hcIiBkb3dubG9hZD48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNSAxM1YxNi4zMzMzQzE3LjUgMTYuNzc1NCAxNy4zMjQ0IDE3LjE5OTMgMTcuMDExOCAxNy41MTE4QzE2LjY5OTMgMTcuODI0NCAxNi4yNzU0IDE4IDE1LjgzMzMgMThINC4xNjY2N0MzLjcyNDY0IDE4IDMuMzAwNzIgMTcuODI0NCAyLjk4ODE2IDE3LjUxMThDMi42NzU1OSAxNy4xOTkzIDIuNSAxNi43NzU0IDIuNSAxNi4zMzMzVjEzTTUuODMzMzMgOC44MzMzM0wxMCAxM00xMCAxM0wxNC4xNjY3IDguODMzMzNNMTAgMTNWM1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LWRvd25sb2FkXCI+RG93bmxvYWQgVGVtcGxhdGU8L3NwYW4+PC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInVzZXItdGV4dCBcIj5BZGQgeW91ciBkYXRhIHRvIHRoZSBUZW1wbGF0ZSBGaWxlPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidXNlci10ZXh0XCI+VXBsb2FkIGl0IGJlbG93IGZvciBwcm9jZXNzaW5nPC9saT5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZU5PQiA9PT0nbXVsdGlwbGUnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMyBtcy0zIHJpZ2h0LWJhciBweS0xMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiYWNjb3VudFR5cGVcIiB0eXBlPVwicmFkaW9cIiBpZD1cImt0X2NyZWF0ZV9hY2NvdW50X2Zvcm1fYWNjb3VudF90eXBlX3BlcnNvbmFsXCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInBlcnNvbmFsXCIgY2xhc3M9XCJidG4tY2hlY2tcIiBuZy1yZWZsZWN0LW5hbWU9XCJhY2NvdW50VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmctcmVmbGVjdC1mb3JtLWNvbnRyb2wtbmFtZT1cImFjY291bnRUeXBlXCIgICAoY2hhbmdlKT1cIm9uVXBsb2FkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5nLXJlZmxlY3QtdmFsdWU9XCJwZXJzb25hbFwiIHR5cGU9XCJmaWxlXCIgI2lucHV0RmlsZSAvPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImt0X2NyZWF0ZV9hY2NvdW50X2Zvcm1fYWNjb3VudF90eXBlX3BlcnNvbmFsXCIgY2xhc3M9XCIgdy01MCBwLTQgbXQtNVwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWNlbnRlciB3LTEwMCBmcy00XCI+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQ2XCIgaGVpZ2h0PVwiNDZcIiB2aWV3Qm94PVwiMCAwIDQ2IDQ2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjNcIiB5PVwiM1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIHN0cm9rZT1cIiNGOUZBRkJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80MDQ3XzQwNTY2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjYuMzMzMyAyNi4zMzM0TDIzIDIzTTIzIDIzTDE5LjY2NjYgMjYuMzMzNE0yMyAyM1YzMC41TTI5Ljk5MTYgMjguMzI1QzMwLjgwNDQgMjcuODgxOSAzMS40NDY1IDI3LjE4MDggMzEuODE2NSAyNi4zMzIyQzMyLjE4NjYgMjUuNDgzNyAzMi4yNjM1IDI0LjUzNjEgMzIuMDM1MSAyMy42Mzg5QzMxLjgwNjggMjIuNzQxOCAzMS4yODYyIDIxLjk0NjMgMzAuNTU1NSAyMS4zNzc5QzI5LjgyNDggMjAuODA5NSAyOC45MjU3IDIwLjUwMDYgMjggMjAuNUgyNi45NUMyNi42OTc3IDE5LjUyNDQgMjYuMjI3NiAxOC42MTg2IDI1LjU3NDkgMTcuODUwOUMyNC45MjIyIDE3LjA4MzEgMjQuMTA0IDE2LjQ3MzIgMjMuMTgxNyAxNi4wNjcyQzIyLjI1OTQgMTUuNjYxMiAyMS4yNTcxIDE1LjQ2OTUgMjAuMjUwMSAxNS41MDY2QzE5LjI0MyAxNS41NDM3IDE4LjI1NzUgMTUuODA4NiAxNy4zNjc2IDE2LjI4MTRDMTYuNDc3NyAxNi43NTQyIDE1LjcwNjYgMTcuNDIyNiAxNS4xMTIyIDE4LjIzNjNDMTQuNTE3NyAxOS4wNTAxIDE0LjExNTUgMTkuOTg4IDEzLjkzNTggMjAuOTc5NUMxMy43NTYgMjEuOTcxMSAxMy44MDM0IDIyLjk5MDUgMTQuMDc0MyAyMy45NjExQzE0LjM0NTIgMjQuOTMxNyAxNC44MzI3IDI1LjgyODIgMTUuNSAyNi41ODM0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDA0N180MDU2NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEzIDEzKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj48c3BhbiBjbGFzcz1cImNsaWNrLXVwbG9hZCBjdXJzb3ItcG9pbnRlclwiPkNsaWNrIHRvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBsb2FkIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiZHJhZy1kcm9wXCI+IG9yIGRyYWcgYW5kIGRyb3AgdGhlIHRlbXBsYXRlPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJ0eXBlTk9CID09PSdtdWx0aXBsZSdcIiBjbGFzcz1cImQtZmxleCBtdC0zIG1iLTEwXCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMTAwIG1lLTNcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDAgbXMtM1wiIGlkPVwiYWxlcnQtdG9hc3RcIiAoY2xpY2spPVwicHJvY2VlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgPlByb2NlZWQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==