@eo-sdk/client 11.0.0-rc.7 → 11.0.0-rc.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.
Files changed (31) hide show
  1. package/app/eo-client/login/login.component.d.ts +3 -1
  2. package/app/eo-client/login/login.component.d.ts.map +1 -1
  3. package/app/eo-framework/actions/actions/signature-action/signature-action.component.d.ts.map +1 -1
  4. package/app/eo-framework/form-elements/string/string.component.d.ts +1 -0
  5. package/app/eo-framework/form-elements/string/string.component.d.ts.map +1 -1
  6. package/app/eo-framework/frame/frame.component.d.ts +2 -1
  7. package/app/eo-framework/frame/frame.component.d.ts.map +1 -1
  8. package/app/eo-framework/media/media.component.d.ts +9 -20
  9. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  10. package/app/eo-framework/util/services/utilities.service.d.ts +46 -41
  11. package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
  12. package/app/eo-framework-core/api/plugins.service.d.ts +4 -0
  13. package/app/eo-framework-core/api/plugins.service.d.ts.map +1 -1
  14. package/assets/_default/i18n/de.json +6 -6
  15. package/assets/_default/i18n/en.json +14 -14
  16. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  17. package/esm2022/app/eo-client/login/login.component.mjs +14 -11
  18. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +6 -6
  19. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
  20. package/esm2022/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -2
  21. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +2 -2
  22. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +2 -2
  23. package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +7 -4
  24. package/esm2022/app/eo-framework/frame/frame.component.mjs +3 -2
  25. package/esm2022/app/eo-framework/media/media.component.mjs +18 -44
  26. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +3 -3
  27. package/esm2022/app/eo-framework-core/api/plugins.service.mjs +45 -1
  28. package/fesm2022/eo-sdk-client.mjs +95 -67
  29. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  30. package/package.json +2 -2
  31. package/proxy.config.json +15 -0
@@ -19,13 +19,16 @@ export class StringComponent {
19
19
  this.propagateChange = (_) => {
20
20
  };
21
21
  }
22
+ _propagate() {
23
+ this.propagateChange(this.value?.length ? this.value : null);
24
+ }
22
25
  onKeyUpEnter(event) {
23
26
  // applies to multiselect and autocomplete
24
27
  const input = event.target.value.trim();
25
28
  if (input) {
26
29
  this.value = this.value ? this.value : [];
27
30
  this.value = [...this.value, input];
28
- this.propagateChange(this.value);
31
+ this._propagate();
29
32
  event.target.value = '';
30
33
  }
31
34
  }
@@ -42,11 +45,11 @@ export class StringComponent {
42
45
  onValueChange(evt) {
43
46
  this.formatedValue = Utils.formatMailTo(evt, this.classification === 'email');
44
47
  this.value = evt;
45
- this.propagateChange(this.value);
48
+ this._propagate();
46
49
  }
47
50
  onBlur() {
48
51
  if (this.trimValue()) {
49
- this.propagateChange(this.value);
52
+ this._propagate();
50
53
  }
51
54
  }
52
55
  /**
@@ -251,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
251
254
  }], maxLength: [{
252
255
  type: Input
253
256
  }] } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvc3RyaW5nL3N0cmluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL3N0cmluZy9zdHJpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFJTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBb0JuRSxNQUFNLE9BQU8sZUFBZTtJQUcxQixJQUNJLFlBQVksQ0FBQyxPQUFnQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFzQkQsWUFBb0IsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFHM0Msb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQzdCLENBQUMsQ0FBQztJQUhGLENBQUM7SUFLRCxZQUFZLENBQUMsS0FBSztRQUNoQiwwQ0FBMEM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFD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QUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIFZhbGlkYXRvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIE5HX1ZBTElEQVRPUlNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZSwgVXRpbHMsIEZvcm1hdGVkTWFpbFRvfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXN0cmluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHJpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHJpbmcuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdHJpbmdDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdHJpbmdDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG5cbiAgcHJpdmF0ZSBfYXV0b2NvbXBsZXRlOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBzZXQgYXV0b2NvbXBsZXRlKGF1dG9Db206IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hdXRvY29tcGxldGUgPSBhdXRvQ29tO1xuICB9XG5cbiAgZ2V0IGF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlO1xuICB9XG5cbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG11bHRpbGluZTogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGF1dG9mb2N1czogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjbGFzc2lmaWNhdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBzaXR1YXRpb246IHN0cmluZztcbiAgQElucHV0KCkgcmVnZXg6IHN0cmluZztcbiAgQElucHV0KCkgcW5hbWU6IHN0cmluZztcbiAgLy8gY291bGQgYmUgc21hbGwsIG1lZGl1bSwgbGFyZ2VcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xuICBASW5wdXQoKSBtaW5MZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXI7XG5cbiAgYXV0b2NvbXBsZXRlUmVzOiBhbnlbXTtcbiAgZm9ybWF0ZWRWYWx1ZTogRm9ybWF0ZWRNYWlsVG87XG4gIC8vIG1vZGVsIHZhbHVlXG4gIHZhbHVlO1xuICB2YWxpZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlKSB7XG4gIH1cblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH07XG5cbiAgb25LZXlVcEVudGVyKGV2ZW50KSB7XG4gICAgLy8gYXBwbGllcyB0byBtdWx0aXNlbGVjdCBhbmQgYXV0b2NvbXBsZXRlXG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQudmFsdWUudHJpbSgpO1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogW107XG4gICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIGlucHV0XTtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtYXRlZFZhbHVlID0gVXRpbHMuZm9ybWF0TWFpbFRvKHZhbHVlLCB0aGlzLmNsYXNzaWZpY2F0aW9uID09PSAnZW1haWwnKTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgbnVsbDtcbiAgICB0aGlzLl92YWxpZGF0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UoZXZ0KSB7XG4gICAgdGhpcy5mb3JtYXRlZFZhbHVlID0gVXRpbHMuZm9ybWF0TWFpbFRvKGV2dCwgdGhpcy5jbGFzc2lmaWNhdGlvbiA9PT0gJ2VtYWlsJyk7XG4gICAgdGhpcy52YWx1ZSA9IGV2dDtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy50cmltVmFsdWUoKSkge1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyaW1zIHRoZSBjdXJyZW50IHZhbHVlIGFuZCByZXR1cm5zIHdldGhlciBvciBub3QgaXQgaGFzIGJlZW4gdHJpbW1lZFxuICAgKi9cbiAgcHJpdmF0ZSB0cmltVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aEJlZm9yZSA9IHRoaXMudmFsdWUuam9pbignJykubGVuZ3RoO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5tYXAodiA9PiB2LnRyaW0oKSk7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmpvaW4oJycpLmxlbmd0aCAhPT0gbGVuZ3RoQmVmb3JlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGhpcy52YWx1ZS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRyaW0oKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoICE9PSBsZW5ndGhCZWZvcmU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuICAgIGNvbnN0IHVyaSA9IGAvYXV0b2NvbXBsZXRlL2VsZW1lbnQ/cHJlZml4PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHRlcm0pfSZxbmFtZT0ke3RoaXMucW5hbWV9YDtcbiAgICBjb25zdCBiYXNlID0gdGhpcy5iYWNrZW5kLmdldFNlYXJjaEJhc2UoKTtcbiAgICB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKHVyaSwgYmFzZSlcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgbGV0IHIgPSBbXTtcbiAgICAgICAgcmVzLmZvckVhY2goaSA9PiB7XG4gICAgICAgICAgaWYgKCghQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlICE9PSBpLnZhbHVlKSB8fCAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSAmJiAhdGhpcy52YWx1ZS5maW5kKHYgPT4gdiA9PT0gaS52YWx1ZSkpKSB7XG4gICAgICAgICAgICByLnB1c2goaS52YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSByLnNsaWNlKDAsIDEwKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUNsYXNzaWZpY2F0aW9uKHN0cmluZyk6IGJvb2xlYW4ge1xuXG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBwYXR0ZXJuO1xuICAgICAgaWYgKHRoaXMuY2xhc3NpZmljYXRpb24gPT09ICdlbWFpbCcpIHtcbiAgICAgICAgcGF0dGVybiA9IC9eKD86KC4rPylcXHMqPChcXHcrKShbXFwtKy5dW1xcd10rKSpAKFxcd1tcXC1cXHddKlxcLil7MSw1fShbQS1aYS16XXsyLDZ9KT58W1wiJ117MX0oLis/KVtcIiddezF9XFxzKjwoXFx3KykoW1xcLSsuXVtcXHddKykqQChcXHdbXFwtXFx3XSpcXC4pezEsNX0oW0EtWmEtel17Miw2fSk+fChcXHcrKShbXFwtKy5dW1xcd10rKSpAKFxcd1tcXC1cXHddKlxcLil7MSw1fShbQS1aYS16XXsyLDZ9KSkkLztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jbGFzc2lmaWNhdGlvbiA9PT0gJ3VybCcpIHtcbiAgICAgICAgcGF0dGVybiA9IC8oaHR0cHxmdHB8aHR0cHMpOlxcL1xcL1tcXHctXSsoXFwuW1xcdy1dKykrKFtcXHcuLEA/Xj0lJmFtcDs6XFwvfisjLV0qW1xcd0A/Xj0lJmFtcDtcXC9+KyMtXSk/LztcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXR0ZXJuID8gcGF0dGVybi50ZXN0KHN0cmluZykgOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3ZhbGlkYXRlKCkge1xuICAgIGxldCBlcnI7XG4gICAgLy8gdmFsaWRhdGUgcmVndWxhciBleHByZXNzaW9uXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5yZWdleCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiAhIXRoaXMudmFsdWUuZmluZCh2ID0+ICFSZWdFeHAodGhpcy5yZWdleCkudGVzdCh2KSkpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ3JlZ2V4J10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghUmVnRXhwKHRoaXMucmVnZXgpLnRlc3QodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ3JlZ2V4J10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdmFsaWRhdGUgY2xhc3NpZmljYXRpb24gc2V0dGluZ3NcbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLmNsYXNzaWZpY2F0aW9uKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICBmb3IgKGxldCB2IG9mIHRoaXMudmFsdWUpIHtcbiAgICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGVDbGFzc2lmaWNhdGlvbih2KSkge1xuICAgICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgICBlcnJbJ2NsYXNzaWZpY2F0aW9uJyArIHRoaXMuY2xhc3NpZmljYXRpb25dID0ge1xuICAgICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGVDbGFzc2lmaWNhdGlvbih0aGlzLnZhbHVlKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnY2xhc3NpZmljYXRpb24nICsgdGhpcy5jbGFzc2lmaWNhdGlvbl0gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHZhbGlkYXRlIGxlbmd0aCBoZXJlIHdoZW4gbXVsdGlzZWxlY3RcbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlICE9PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmICEhdGhpcy52YWx1ZS5maW5kKHYgPT4gdi5sZW5ndGggPCB0aGlzLm1pbkxlbmd0aCkpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ21pbmxlbmd0aCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgISF0aGlzLnZhbHVlLmZpbmQodiA9PiB2Lmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWF4bGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgdGhpcy52YWx1ZS5sZW5ndGggPCB0aGlzLm1pbkxlbmd0aCkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWlubGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ21heGxlbmd0aCddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHZhbGlkYXRlIGludmFsaWQgaWYgb25seSB3aGl0ZXNwYWNlc1xuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGZvciAobGV0IHYgb2YgdGhpcy52YWx1ZSkge1xuICAgICAgICAgIGlmICh2Lmxlbmd0aCAmJiAhdi50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICAgIGVyclsnb25seVdoaXRlc3BhY2VzJ10gPSB7XG4gICAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoICYmICF0aGlzLnZhbHVlLnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICBlcnJbJ29ubHlXaGl0ZXNwYWNlcyddID0ge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudmFsaWQgPSAhZXJyO1xuICAgIHJldHVybiBlcnIgfHwgbnVsbDtcbiAgfVxuXG4gIC8vIHJldHVybnMgbnVsbCB3aGVuIHZhbGlkIGVsc2UgdGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWZvcm0tc3RyaW5nXCI+XG5cbiAgPGlucHV0ICpuZ0lmPVwiIW11bHRpbGluZSAmJiAhbXVsdGlzZWxlY3QgJiYgIWF1dG9jb21wbGV0ZVwiIHR5cGU9XCJ0ZXh0XCIgKGJsdXIpPVwib25CbHVyKClcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxuXG4gIDwhLS0gc2luZ2xlIGxpbmUgaW5wdXQgd2l0aCBhdXRvY29tcGxldGUgLS0+XG4gIDx5dmMtYXV0b2NvbXBsZXRlICpuZ0lmPVwiIW11bHRpbGluZSAmJiAhbXVsdGlzZWxlY3QgJiYgYXV0b2NvbXBsZXRlXCIgI2F1dG9jb21wbGV0ZSBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiBbYXV0b2NvbXBsZXRlVmFsdWVzXT1cImF1dG9jb21wbGV0ZVJlc1wiIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAoc3VnZ2VzdGlvblNlbGVjdCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiPlxuICA8L3l2Yy1hdXRvY29tcGxldGU+XG5cbiAgPCEtLSBzaW5nbGUgbGluZSBpbnB1dCB3aXRoIG11bHRpc2VsZWN0LS0+XG4gIDx5dmMtY2hpcHMgKm5nSWY9XCIhbXVsdGlsaW5lICYmIG11bHRpc2VsZWN0ICYmICFhdXRvY29tcGxldGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAoYmx1cik9XCJvbkJsdXIoKVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICA8L3l2Yy1jaGlwcz5cblxuICA8IS0tIHNpbmdsZSBsaW5lIGlucHV0IHdpdGggbXVsdGlzZWxlY3QgYW5kIGF1dG9jb21wbGV0ZSAtLT5cbiAgPHl2Yy1hdXRvY29tcGxldGUgKm5nSWY9XCIhbXVsdGlsaW5lICYmIG11bHRpc2VsZWN0ICYmIGF1dG9jb21wbGV0ZVwiIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCJcbiAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIChibHVyKT1cIm9uQmx1cigpXCIgKGF1dG9jb21wbGV0ZUZuYyk9XCJhdXRvY29tcGxldGVGbigkZXZlbnQpXCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cblxuICA8IS0tIG11bHRpIGxpbmUgdGV4dCBpbnB1dHMgLS0+XG4gIDx0ZXh0YXJlYSBjbGFzcz1cImlucHV0LXRleHRhcmVhIHNpemUte3tzaXplfX1cIiAqbmdJZj1cIm11bHRpbGluZVwiIChibHVyKT1cIm9uQmx1cigpXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+PC90ZXh0YXJlYT5cblxuICA8ZGl2IGNsYXNzPVwiY2xhc3NpZnlcIiBbbmdDbGFzc109XCJ7ZW1wdHk6ICF2YWx1ZSB8fCBzaXR1YXRpb24gPT09ICdTRUFSQ0gnfVwiPlxuICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJtYWlsdG86e3tmb3JtYXRlZFZhbHVlfX1cIiAqbmdJZj1cImNsYXNzaWZpY2F0aW9uID09PSAnZW1haWwnICYmIHZhbGlkXCI+XG4gICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE4MC4zMDktMjEyLjAwMXEtMjcuMDA4IDAtNDUuNjU4LTE4LjY2Mi0xOC42NS0xOC42NjItMTguNjUtNDUuNjg2di00MDcuNjI2cTAtMjcuMDI0IDE4LjY1LTQ1LjUyNHQ0NS42NTgtMTguNWg1OTkuMzgycTI3LjAwOCAwIDQ1LjY1OCAxOC42NjIgMTguNjUgMTguNjYyIDE4LjY1IDQ1LjY4NnY0MDcuNjI2cTAgMjcuMDI0LTE4LjY1IDQ1LjUyNHQtNDUuNjU4IDE4LjVIMTgwLjMwOVpNNDgwLTQ0OS42OTQgMTY4LTYzMy4zMDl2MzU3cTAgNS4zODUgMy40NjIgOC44NDcgMy40NjIgMy40NjIgOC44NDcgMy40NjJoNTk5LjM4MnE1LjM4NSAwIDguODQ3LTMuNDYyIDMuNDYyLTMuNDYyIDMuNDYyLTguODQ3di0zNTdMNDgwLTQ0OS42OTRaTTQ4MC01MTdsMzA1Ljg0Ni0xNzlIMTc0LjE1NEw0ODAtNTE3Wk0xNjgtNjMzLjMwOVYtNjk2LTI3Ni4zMDlxMCA1LjM4NSAzLjQ2MiA4Ljg0NyAzLjQ2MiAzLjQ2MiA4Ljg0NyAzLjQ2MkgxNjh2LTM2OS4zMDlaXCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYT5cbiAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwie3t2YWx1ZX19XCIgKm5nSWY9XCJjbGFzc2lmaWNhdGlvbiA9PT0gJ3VybCcgJiYgdmFsaWRcIj5cbiAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyMFwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNNDgwLTExNi4wMDFxLTc1LjE1NCAwLTE0MS40OTktMjguNDYyLTY2LjM0Ni0yOC40NjEtMTE1Ljk2Mi03OC4wNzYtNDkuNjE1LTQ5LjYxNi03OC4wNzYtMTE1Ljk2MlExMTYuMDAxLTQwNC44NDYgMTE2LjAwMS00ODBxMC03NS43NjkgMjguNDYyLTE0MS44MDcgMjguNDYxLTY2LjAzOCA3OC4wNzYtMTE1LjY1NCA0OS42MTYtNDkuNjE1IDExNS45NjItNzguMDc2UTQwNC44NDYtODQzLjk5OSA0ODAtODQzLjk5OXE3NS43NjkgMCAxNDEuODA3IDI4LjQ2MiA2Ni4wMzggMjguNDYxIDExNS42NTQgNzguMDc2IDQ5LjYxNSA0OS42MTYgNzguMDc2IDExNS42NTRRODQzLjk5OS01NTUuNzY5IDg0My45OTktNDgwcTAgNzUuMTU0LTI4LjQ2MiAxNDEuNDk5LTI4LjQ2MSA2Ni4zNDYtNzguMDc2IDExNS45NjItNDkuNjE2IDQ5LjYxNS0xMTUuNjU0IDc4LjA3NlE1NTUuNzY5LTExNi4wMDEgNDgwLTExNi4wMDFabTAtNTMuODQ1cTIxLjYxNi0yMS42MTYgNDAuNTM5LTcwLjQyNCAxOC45MjMtNDguODA4IDI5LjA3Ny0xMDguODA4SDQxMC4zODRxMTAuOTIzIDYxLjUzOSAyOS40NjIgMTEwLjM0NyAxOC41MzggNDguODA4IDQwLjE1NCA2OC44ODVabS02NC40Ni01cS0xOS0zMC0zNC4zMDgtNzUuNTM5dC0yMy40NjItOTguNjkzSDE5Ny4wNzZxMzEuNjkzIDY5LjMwOSA4OS41MDEgMTE1LjE5NCA1Ny44MDkgNDUuODg1IDEyOC45NjMgNTkuMDM4Wm0xMjguOTIgMHE3MS4xNTQtMTMuMTUzIDEyOC45NjMtNTkuMDM4IDU3LjgwOC00NS44ODUgODkuNTAxLTExNS4xOTRINjAyLjIzUTU5Mi4xNTMtMjk1LjUzOSA1NzYuODQ1LTI1MHEtMTUuMzA4IDQ1LjUzOS0zMi4zODUgNzUuMTU0Wm03OS40NjMtMjI2LjIzaDE3My42OTNxNC4yMzEtMjEuMzA4IDYuMDM5LTQwLjczMSAxLjgwOC0xOS40MjQgMS44MDgtMzguMTkzdC0xLjgwOC0zOC42OTNxLTEuODA4LTE5LjkyMy02LjAzOS00MC4yMzFINjIzLjkyM3ExLjIzMSAxOS4zODUgMS4xNTQgNDAuMzg1LS4wNzcgMjEtLjA3NyA0MC41Mzl0LjA3NyAzOS41MzlxLjA3NyAyMC0xLjE1NCAzNy4zODVabS0yMTguMzA4IDBoMTQ4Ljc3cTIuNzY5LTIyLjMwOCAzLjQ2Mi00MS4zNDcuNjkyLTE5LjAzOC42OTItMzcuNTc3IDAtMTguNTM5LS42OTItMzguMDc3LS42OTMtMTkuNTM5LTMuNDYyLTQwLjg0N2gtMTQ4Ljc3cS0yLjc2OSAyMS4zMDgtMy40NjIgNDAuODQ3LS42OTIgMTkuNTM4LS42OTIgMzguMDc3IDAgMTguNTM5LjY5MiAzOC4wNzcuNjkzIDE5LjUzOSAzLjQ2MiA0MC44NDdabS0yNDMuMjMxIDBoMTczLjY5M3EtMS4yMzEtMTkuMzg1LTEuMTU0LTQwLjM4NS4wNzctMjEgLjA3Ny00MC41Mzl0LS4wNzctMzkuNTM5cS0uMDc3LTIwIDEuMTU0LTM3LjM4NUgxNjIuMzg0cS00LjIzMSAyMS4zMDgtNi4wMzkgNDAuNzMxLTEuODA4IDE5LjQyNC0xLjgwOCAzOC4xOTN0MS44MDggMzguMTkzcTEuODA4IDE5LjQyMyA2LjAzOSA0MC43MzFaTTYwMi4yMy02MTAuOTIyaDE2MC42OTRRNzMwLjg0Ni02ODEgNjc0LTcyNi4xMTZxLTU2Ljg0Ny00NS4xMTUtMTI5LjU0LTU5LjQyMyAxOSAzMS45MjMgMzMuOTIzIDc2Ljg4NSAxNC45MjQgNDQuOTYyIDIzLjg0NyA5Ny43MzJabS0xOTEuODQ2IDBoMTM5LjIzMnEtMTAuOTIzLTYxLjE1NC0zMC4wMzktMTEwLjkyNC0xOS4xMTUtNDkuNzY5LTM5LjU3Ny02OC4zMDgtMjAuNDYyIDE4LjUzOS0zOS41NzcgNjguMzA4LTE5LjExNiA0OS43Ny0zMC4wMzkgMTEwLjkyNFptLTIxMy4zMDggMEgzNTcuNzdxOC45MjMtNTIuNzcgMjMuODQ3LTk3LjczMiAxNC45MjMtNDQuOTYyIDMzLjkyMy03Ni44ODUtNzMuMDc3IDE0LjMwOC0xMjkuNzMyIDU5LjYxNi01Ni42NTQgNDUuMzA4LTg4LjczMiAxMTUuMDAxWlwiIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2E+XG4gIDwvZGl2PlxuXG48L2Rpdj4iXX0=
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvc3RyaW5nL3N0cmluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL3N0cmluZy9zdHJpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFJTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBb0JuRSxNQUFNLE9BQU8sZUFBZTtJQUcxQixJQUNJLFlBQVksQ0FBQyxPQUFnQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFzQkQsWUFBb0IsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFPM0Msb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQzdCLENBQUMsQ0FBQztJQVBGLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFLRCxZQUFZLENBQUMsS0FBSztRQUNoQiwwQ0FBMEM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FB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QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIFZhbGlkYXRvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIE5HX1ZBTElEQVRPUlNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZSwgVXRpbHMsIEZvcm1hdGVkTWFpbFRvfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXN0cmluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHJpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHJpbmcuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdHJpbmdDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdHJpbmdDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG5cbiAgcHJpdmF0ZSBfYXV0b2NvbXBsZXRlOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBzZXQgYXV0b2NvbXBsZXRlKGF1dG9Db206IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hdXRvY29tcGxldGUgPSBhdXRvQ29tO1xuICB9XG5cbiAgZ2V0IGF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlO1xuICB9XG5cbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG11bHRpbGluZTogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGF1dG9mb2N1czogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjbGFzc2lmaWNhdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBzaXR1YXRpb246IHN0cmluZztcbiAgQElucHV0KCkgcmVnZXg6IHN0cmluZztcbiAgQElucHV0KCkgcW5hbWU6IHN0cmluZztcbiAgLy8gY291bGQgYmUgc21hbGwsIG1lZGl1bSwgbGFyZ2VcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xuICBASW5wdXQoKSBtaW5MZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXI7XG5cbiAgYXV0b2NvbXBsZXRlUmVzOiBhbnlbXTtcbiAgZm9ybWF0ZWRWYWx1ZTogRm9ybWF0ZWRNYWlsVG87XG4gIC8vIG1vZGVsIHZhbHVlXG4gIHZhbHVlO1xuICB2YWxpZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlKSB7XG4gIH1cblxuICBwcml2YXRlIF9wcm9wYWdhdGUoKSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZT8ubGVuZ3RoID8gdGhpcy52YWx1ZSA6IG51bGwpO1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9O1xuXG4gIG9uS2V5VXBFbnRlcihldmVudCkge1xuICAgIC8vIGFwcGxpZXMgdG8gbXVsdGlzZWxlY3QgYW5kIGF1dG9jb21wbGV0ZVxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRyaW0oKTtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IFtdO1xuICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlLCBpbnB1dF07XG4gICAgICB0aGlzLl9wcm9wYWdhdGUoKTtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybWF0ZWRWYWx1ZSA9IFV0aWxzLmZvcm1hdE1haWxUbyh2YWx1ZSwgdGhpcy5jbGFzc2lmaWNhdGlvbiA9PT0gJ2VtYWlsJyk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlIHx8IG51bGw7XG4gICAgdGhpcy5fdmFsaWRhdGUoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2dCkge1xuICAgIHRoaXMuZm9ybWF0ZWRWYWx1ZSA9IFV0aWxzLmZvcm1hdE1haWxUbyhldnQsIHRoaXMuY2xhc3NpZmljYXRpb24gPT09ICdlbWFpbCcpO1xuICAgIHRoaXMudmFsdWUgPSBldnQ7XG4gICAgdGhpcy5fcHJvcGFnYXRlKClcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy50cmltVmFsdWUoKSkge1xuICAgICAgdGhpcy5fcHJvcGFnYXRlKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpbXMgdGhlIGN1cnJlbnQgdmFsdWUgYW5kIHJldHVybnMgd2V0aGVyIG9yIG5vdCBpdCBoYXMgYmVlbiB0cmltbWVkXG4gICAqL1xuICBwcml2YXRlIHRyaW1WYWx1ZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGhpcy52YWx1ZS5qb2luKCcnKS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLm1hcCh2ID0+IHYudHJpbSgpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuam9pbignJykubGVuZ3RoICE9PSBsZW5ndGhCZWZvcmU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBsZW5ndGhCZWZvcmUgPSB0aGlzLnZhbHVlLmxlbmd0aDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUudHJpbSgpO1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggIT09IGxlbmd0aEJlZm9yZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJpID0gYC9hdXRvY29tcGxldGUvZWxlbWVudD9wcmVmaXg9JHtlbmNvZGVVUklDb21wb25lbnQodGVybSl9JnFuYW1lPSR7dGhpcy5xbmFtZX1gO1xuICAgIGNvbnN0IGJhc2UgPSB0aGlzLmJhY2tlbmQuZ2V0U2VhcmNoQmFzZSgpO1xuICAgIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24odXJpLCBiYXNlKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICBsZXQgciA9IFtdO1xuICAgICAgICByZXMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgICBpZiAoKCFBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUgIT09IGkudmFsdWUpIHx8IChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpICYmICF0aGlzLnZhbHVlLmZpbmQodiA9PiB2ID09PSBpLnZhbHVlKSkpIHtcbiAgICAgICAgICAgIHIucHVzaChpLnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHIuc2xpY2UoMCwgMTApO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQ2xhc3NpZmljYXRpb24oc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHBhdHRlcm47XG4gICAgICBpZiAodGhpcy5jbGFzc2lmaWNhdGlvbiA9PT0gJ2VtYWlsJykge1xuICAgICAgICBwYXR0ZXJuID0gL14oPzooLis/KVxccyo8KFxcdyspKFtcXC0rLl1bXFx3XSspKkAoXFx3W1xcLVxcd10qXFwuKXsxLDV9KFtBLVphLXpdezIsNn0pPnxbXCInXXsxfSguKz8pW1wiJ117MX1cXHMqPChcXHcrKShbXFwtKy5dW1xcd10rKSpAKFxcd1tcXC1cXHddKlxcLil7MSw1fShbQS1aYS16XXsyLDZ9KT58KFxcdyspKFtcXC0rLl1bXFx3XSspKkAoXFx3W1xcLVxcd10qXFwuKXsxLDV9KFtBLVphLXpdezIsNn0pKSQvO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNsYXNzaWZpY2F0aW9uID09PSAndXJsJykge1xuICAgICAgICBwYXR0ZXJuID0gLyhodHRwfGZ0cHxodHRwcyk6XFwvXFwvW1xcdy1dKyhcXC5bXFx3LV0rKSsoW1xcdy4sQD9ePSUmYW1wOzpcXC9+KyMtXSpbXFx3QD9ePSUmYW1wO1xcL34rIy1dKT8vO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhdHRlcm4gPyBwYXR0ZXJuLnRlc3Qoc3RyaW5nKSA6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdmFsaWRhdGUoKSB7XG4gICAgbGV0IGVycjtcbiAgICAvLyB2YWxpZGF0ZSByZWd1bGFyIGV4cHJlc3Npb25cbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnJlZ2V4KSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAwICYmICEhdGhpcy52YWx1ZS5maW5kKHYgPT4gIVJlZ0V4cCh0aGlzLnJlZ2V4KS50ZXN0KHYpKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsncmVnZXgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFSZWdFeHAodGhpcy5yZWdleCkudGVzdCh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsncmVnZXgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB2YWxpZGF0ZSBjbGFzc2lmaWNhdGlvbiBzZXR0aW5nc1xuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuY2xhc3NpZmljYXRpb24pIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGZvciAobGV0IHYgb2YgdGhpcy52YWx1ZSkge1xuICAgICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUNsYXNzaWZpY2F0aW9uKHYpKSB7XG4gICAgICAgICAgICBlcnIgPSB7fTtcbiAgICAgICAgICAgIGVyclsnY2xhc3NpZmljYXRpb24nICsgdGhpcy5jbGFzc2lmaWNhdGlvbl0gPSB7XG4gICAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUNsYXNzaWZpY2F0aW9uKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydjbGFzc2lmaWNhdGlvbicgKyB0aGlzLmNsYXNzaWZpY2F0aW9uXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdmFsaWRhdGUgbGVuZ3RoIGhlcmUgd2hlbiBtdWx0aXNlbGVjdFxuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgISF0aGlzLnZhbHVlLmZpbmQodiA9PiB2Lmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWlubGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiAhIXRoaXMudmFsdWUuZmluZCh2ID0+IHYubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtYXhsZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgICAgZXJyID0ge307XG4gICAgICAgICAgZXJyWydtaW5sZW5ndGgnXSA9IHtcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnbWF4bGVuZ3RoJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdmFsaWRhdGUgaW52YWxpZCBpZiBvbmx5IHdoaXRlc3BhY2VzXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgZm9yIChsZXQgdiBvZiB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKHYubGVuZ3RoICYmICF2LnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgICAgZXJyWydvbmx5V2hpdGVzcGFjZXMnXSA9IHtcbiAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggJiYgIXRoaXMudmFsdWUudHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAgIGVyciA9IHt9O1xuICAgICAgICAgIGVyclsnb25seVdoaXRlc3BhY2VzJ10gPSB7XG4gICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy52YWxpZCA9ICFlcnI7XG4gICAgcmV0dXJuIGVyciB8fCBudWxsO1xuICB9XG5cbiAgLy8gcmV0dXJucyBudWxsIHdoZW4gdmFsaWQgZWxzZSB0aGUgdmFsaWRhdGlvbiBvYmplY3RcbiAgcHVibGljIHZhbGlkYXRlKGM6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuICAgIHJldHVybiB0aGlzLl92YWxpZGF0ZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tZm9ybS1zdHJpbmdcIj5cblxuICA8aW5wdXQgKm5nSWY9XCIhbXVsdGlsaW5lICYmICFtdWx0aXNlbGVjdCAmJiAhYXV0b2NvbXBsZXRlXCIgdHlwZT1cInRleHRcIiAoYmx1cik9XCJvbkJsdXIoKVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XG5cbiAgPCEtLSBzaW5nbGUgbGluZSBpbnB1dCB3aXRoIGF1dG9jb21wbGV0ZSAtLT5cbiAgPHl2Yy1hdXRvY29tcGxldGUgKm5nSWY9XCIhbXVsdGlsaW5lICYmICFtdWx0aXNlbGVjdCAmJiBhdXRvY29tcGxldGVcIiAjYXV0b2NvbXBsZXRlIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgKGJsdXIpPVwib25CbHVyKClcIlxuICAgIChzdWdnZXN0aW9uU2VsZWN0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGF1dG9jb21wbGV0ZUZuYyk9XCJhdXRvY29tcGxldGVGbigkZXZlbnQpXCI+XG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cblxuICA8IS0tIHNpbmdsZSBsaW5lIGlucHV0IHdpdGggbXVsdGlzZWxlY3QtLT5cbiAgPHl2Yy1jaGlwcyAqbmdJZj1cIiFtdWx0aWxpbmUgJiYgbXVsdGlzZWxlY3QgJiYgIWF1dG9jb21wbGV0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XG4gIDwveXZjLWNoaXBzPlxuXG4gIDwhLS0gc2luZ2xlIGxpbmUgaW5wdXQgd2l0aCBtdWx0aXNlbGVjdCBhbmQgYXV0b2NvbXBsZXRlIC0tPlxuICA8eXZjLWF1dG9jb21wbGV0ZSAqbmdJZj1cIiFtdWx0aWxpbmUgJiYgbXVsdGlzZWxlY3QgJiYgYXV0b2NvbXBsZXRlXCIgW2F1dG9jb21wbGV0ZVZhbHVlc109XCJhdXRvY29tcGxldGVSZXNcIlxuICAgIFttdWx0aXBsZV09XCJ0cnVlXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgKGJsdXIpPVwib25CbHVyKClcIiAoYXV0b2NvbXBsZXRlRm5jKT1cImF1dG9jb21wbGV0ZUZuKCRldmVudClcIlxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cbiAgPC95dmMtYXV0b2NvbXBsZXRlPlxuXG4gIDwhLS0gbXVsdGkgbGluZSB0ZXh0IGlucHV0cyAtLT5cbiAgPHRleHRhcmVhIGNsYXNzPVwiaW5wdXQtdGV4dGFyZWEgc2l6ZS17e3NpemV9fVwiICpuZ0lmPVwibXVsdGlsaW5lXCIgKGJsdXIpPVwib25CbHVyKClcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj48L3RleHRhcmVhPlxuXG4gIDxkaXYgY2xhc3M9XCJjbGFzc2lmeVwiIFtuZ0NsYXNzXT1cIntlbXB0eTogIXZhbHVlIHx8IHNpdHVhdGlvbiA9PT0gJ1NFQVJDSCd9XCI+XG4gICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIm1haWx0bzp7e2Zvcm1hdGVkVmFsdWV9fVwiICpuZ0lmPVwiY2xhc3NpZmljYXRpb24gPT09ICdlbWFpbCcgJiYgdmFsaWRcIj5cbiAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyMFwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMTgwLjMwOS0yMTIuMDAxcS0yNy4wMDggMC00NS42NTgtMTguNjYyLTE4LjY1LTE4LjY2Mi0xOC42NS00NS42ODZ2LTQwNy42MjZxMC0yNy4wMjQgMTguNjUtNDUuNTI0dDQ1LjY1OC0xOC41aDU5OS4zODJxMjcuMDA4IDAgNDUuNjU4IDE4LjY2MiAxOC42NSAxOC42NjIgMTguNjUgNDUuNjg2djQwNy42MjZxMCAyNy4wMjQtMTguNjUgNDUuNTI0dC00NS42NTggMTguNUgxODAuMzA5Wk00ODAtNDQ5LjY5NCAxNjgtNjMzLjMwOXYzNTdxMCA1LjM4NSAzLjQ2MiA4Ljg0NyAzLjQ2MiAzLjQ2MiA4Ljg0NyAzLjQ2Mmg1OTkuMzgycTUuMzg1IDAgOC44NDctMy40NjIgMy40NjItMy40NjIgMy40NjItOC44NDd2LTM1N0w0ODAtNDQ5LjY5NFpNNDgwLTUxN2wzMDUuODQ2LTE3OUgxNzQuMTU0TDQ4MC01MTdaTTE2OC02MzMuMzA5Vi02OTYtMjc2LjMwOXEwIDUuMzg1IDMuNDYyIDguODQ3IDMuNDYyIDMuNDYyIDguODQ3IDMuNDYySDE2OHYtMzY5LjMwOVpcIiAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9hPlxuICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7e3ZhbHVlfX1cIiAqbmdJZj1cImNsYXNzaWZpY2F0aW9uID09PSAndXJsJyAmJiB2YWxpZFwiPlxuICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjIwXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk00ODAtMTE2LjAwMXEtNzUuMTU0IDAtMTQxLjQ5OS0yOC40NjItNjYuMzQ2LTI4LjQ2MS0xMTUuOTYyLTc4LjA3Ni00OS42MTUtNDkuNjE2LTc4LjA3Ni0xMTUuOTYyUTExNi4wMDEtNDA0Ljg0NiAxMTYuMDAxLTQ4MHEwLTc1Ljc2OSAyOC40NjItMTQxLjgwNyAyOC40NjEtNjYuMDM4IDc4LjA3Ni0xMTUuNjU0IDQ5LjYxNi00OS42MTUgMTE1Ljk2Mi03OC4wNzZRNDA0Ljg0Ni04NDMuOTk5IDQ4MC04NDMuOTk5cTc1Ljc2OSAwIDE0MS44MDcgMjguNDYyIDY2LjAzOCAyOC40NjEgMTE1LjY1NCA3OC4wNzYgNDkuNjE1IDQ5LjYxNiA3OC4wNzYgMTE1LjY1NFE4NDMuOTk5LTU1NS43NjkgODQzLjk5OS00ODBxMCA3NS4xNTQtMjguNDYyIDE0MS40OTktMjguNDYxIDY2LjM0Ni03OC4wNzYgMTE1Ljk2Mi00OS42MTYgNDkuNjE1LTExNS42NTQgNzguMDc2UTU1NS43NjktMTE2LjAwMSA0ODAtMTE2LjAwMVptMC01My44NDVxMjEuNjE2LTIxLjYxNiA0MC41MzktNzAuNDI0IDE4LjkyMy00OC44MDggMjkuMDc3LTEwOC44MDhINDEwLjM4NHExMC45MjMgNjEuNTM5IDI5LjQ2MiAxMTAuMzQ3IDE4LjUzOCA0OC44MDggNDAuMTU0IDY4Ljg4NVptLTY0LjQ2LTVxLTE5LTMwLTM0LjMwOC03NS41Mzl0LTIzLjQ2Mi05OC42OTNIMTk3LjA3NnEzMS42OTMgNjkuMzA5IDg5LjUwMSAxMTUuMTk0IDU3LjgwOSA0NS44ODUgMTI4Ljk2MyA1OS4wMzhabTEyOC45MiAwcTcxLjE1NC0xMy4xNTMgMTI4Ljk2My01OS4wMzggNTcuODA4LTQ1Ljg4NSA4OS41MDEtMTE1LjE5NEg2MDIuMjNRNTkyLjE1My0yOTUuNTM5IDU3Ni44NDUtMjUwcS0xNS4zMDggNDUuNTM5LTMyLjM4NSA3NS4xNTRabTc5LjQ2My0yMjYuMjNoMTczLjY5M3E0LjIzMS0yMS4zMDggNi4wMzktNDAuNzMxIDEuODA4LTE5LjQyNCAxLjgwOC0zOC4xOTN0LTEuODA4LTM4LjY5M3EtMS44MDgtMTkuOTIzLTYuMDM5LTQwLjIzMUg2MjMuOTIzcTEuMjMxIDE5LjM4NSAxLjE1NCA0MC4zODUtLjA3NyAyMS0uMDc3IDQwLjUzOXQuMDc3IDM5LjUzOXEuMDc3IDIwLTEuMTU0IDM3LjM4NVptLTIxOC4zMDggMGgxNDguNzdxMi43NjktMjIuMzA4IDMuNDYyLTQxLjM0Ny42OTItMTkuMDM4LjY5Mi0zNy41NzcgMC0xOC41MzktLjY5Mi0zOC4wNzctLjY5My0xOS41MzktMy40NjItNDAuODQ3aC0xNDguNzdxLTIuNzY5IDIxLjMwOC0zLjQ2MiA0MC44NDctLjY5MiAxOS41MzgtLjY5MiAzOC4wNzcgMCAxOC41MzkuNjkyIDM4LjA3Ny42OTMgMTkuNTM5IDMuNDYyIDQwLjg0N1ptLTI0My4yMzEgMGgxNzMuNjkzcS0xLjIzMS0xOS4zODUtMS4xNTQtNDAuMzg1LjA3Ny0yMSAuMDc3LTQwLjUzOXQtLjA3Ny0zOS41MzlxLS4wNzctMjAgMS4xNTQtMzcuMzg1SDE2Mi4zODRxLTQuMjMxIDIxLjMwOC02LjAzOSA0MC43MzEtMS44MDggMTkuNDI0LTEuODA4IDM4LjE5M3QxLjgwOCAzOC4xOTNxMS44MDggMTkuNDIzIDYuMDM5IDQwLjczMVpNNjAyLjIzLTYxMC45MjJoMTYwLjY5NFE3MzAuODQ2LTY4MSA2NzQtNzI2LjExNnEtNTYuODQ3LTQ1LjExNS0xMjkuNTQtNTkuNDIzIDE5IDMxLjkyMyAzMy45MjMgNzYuODg1IDE0LjkyNCA0NC45NjIgMjMuODQ3IDk3LjczMlptLTE5MS44NDYgMGgxMzkuMjMycS0xMC45MjMtNjEuMTU0LTMwLjAzOS0xMTAuOTI0LTE5LjExNS00OS43NjktMzkuNTc3LTY4LjMwOC0yMC40NjIgMTguNTM5LTM5LjU3NyA2OC4zMDgtMTkuMTE2IDQ5Ljc3LTMwLjAzOSAxMTAuOTI0Wm0tMjEzLjMwOCAwSDM1Ny43N3E4LjkyMy01Mi43NyAyMy44NDctOTcuNzMyIDE0LjkyMy00NC45NjIgMzMuOTIzLTc2Ljg4NS03My4wNzcgMTQuMzA4LTEyOS43MzIgNTkuNjE2LTU2LjY1NCA0NS4zMDgtODguNzMyIDExNS4wMDFaXCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYT5cbiAgPC9kaXY+XG5cbjwvZGl2PiJdfQ==
@@ -192,6 +192,7 @@ export class FrameComponent {
192
192
  .subscribe((user) => {
193
193
  this.dir = user ? user.uiDirection : 'ltr';
194
194
  this.roles = user?.roles?.map(r => r.name).join(';') || '';
195
+ this.user = user;
195
196
  });
196
197
  this.router
197
198
  .events
@@ -220,7 +221,7 @@ export class FrameComponent {
220
221
  .user$
221
222
  .subscribe(data => {
222
223
  const docu = this.config.getRaw('about.docu');
223
- const link = docu.link.replace('###userLang###', data?.userSettings?.clientlocale.substring(0, 2));
224
+ const link = docu.link.replace('###userLang###', data?.userSettings?.clientlocale?.substring(0, 2) || this.user.getClientLocale());
224
225
  this.docu = { ...docu, link };
225
226
  });
226
227
  }
@@ -260,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
260
261
  type: HostBinding,
261
262
  args: ['attr.data-roles']
262
263
  }] } });
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZnJhbWUvZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZnJhbWUvZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBUyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd0RCxPQUFPLEVBSUwsWUFBWSxFQU1NLGdCQUFnQixFQUNuQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRdEIsTUFBTSxPQUFPLGNBQWM7SUE4SnpCLDZFQUE2RTtJQUU3RSxrQkFBa0IsQ0FBQyxNQUFXO1FBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFJRCxZQUFvQixNQUE0QixFQUM1QixXQUF3QixFQUN4QixNQUFjLEVBQ2QsTUFBYyxFQUNkLFFBQWtCLEVBQ25CLFNBQTJCLEVBQzFCLFdBQXdCLEVBQ3hCLGNBQXFDLEVBQ3JDLG1CQUF3QyxFQUN4QyxjQUFxQztRQUV2RCxrRUFBa0U7UUFYaEQsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFC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c0JBQXRDLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNLLFFBQVE7c0JBQTVDLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNBLGFBQWE7c0JBQS9DLFdBQVc7dUJBQUMsb0JBQW9CO2dCQTBKakMsa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUtmLEtBQUs7c0JBQXBDLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlciwgTmF2aWdhdGlvbkVuZH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0dsb2JhbFNob3J0Y3V0Q29tcG9uZW50fSBmcm9tICcuLi9zaG9ydGN1dHMvZ2xvYmFsLXNob3J0Y3V0LWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgVXBsb2FkUmVnaXN0cnlTZXJ2aWNlLFxuICBDYXBhYmlsaXRpZXMsXG4gIENhcGFiaWxpdGllc1NlcnZpY2UsXG4gIFVwbG9hZFRhcmdldCxcbiAgVXNlclNlcnZpY2UsXG4gIEF1dGhTZXJ2aWNlLFxuICBFb1VzZXIsXG4gIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICBDb25maWcsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsIEVudmlyb25tZW50RW5haW9cbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7IFBlbmRpbmdDaGFuZ2VzU2VydmljZSB9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWZyYW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyYW1lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnJhbWUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGcmFtZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhc2hib2FyZCcpIHRyYW5zcGFyZW50QmFyID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mudmlldy1uby1iYXInKSBub0JhciA9IDA7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mudmlldy1uby1oZWFkZXInKSBub0hlYWRlciA9IDA7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mub2JqZWN0LXN0YXRlJykgaXNPYmplY3RTdGF0ZSA9IHRydWU7XG5cbiAgaW5pdEVycm9yOiBhbnk7XG4gIGF1dGhlbnRpY2F0ZWQgPSBmYWxzZTtcbiAgZGlyID0gJ2x0cic7IC8vIGRlZmF1bHQgZGlyZWN0aW9uIC0gTGVmdCBUbyBSaWdodFxuICBpc01vYmlsZUVudjogYm9vbGVhbiA9IEVudmlyb25tZW50RW5haW8uaXNNb2JpbGVFbnZpcm9ubWVudCgpO1xuICBjYXBhYmlsaXRpZXM6IENhcGFiaWxpdGllcztcbiAgZG9jdToge2xpbms6IHN0cmluZywgbGFiZWw6IHN0cmluZ307XG5cbiAgLy8gc2hvcnRjdXQgYWN0aW9uc1xuICBzaG9ydGN1dHM6IEdsb2JhbFNob3J0Y3V0Q29tcG9uZW50ID0ge1xuICAgIGlkOiAnZW8uYXBwJyxcbiAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmdlbmVyYWwudGl0bGUnKSxcbiAgICBsYWJlbEtleTogJ2VvLnNob3J0Y3V0cy5nZW5lcmFsLnRpdGxlJyxcbiAgICBhY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uYWRkJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLmFkZCcsXG4gICAgICAgIHNob3J0Y3V0OiAnQycsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnYWRkJ319XSk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzID8gIXRoaXMuY2FwYWJpbGl0aWVzLmludHJheSA6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uc2VhcmNoJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLnNlYXJjaCcsXG4gICAgICAgIHNob3J0Y3V0OiAnRicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24ubG9nb3V0JyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLmxvZ291dCcsXG4gICAgICAgIHNob3J0Y3V0OiAnTCcsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiBudWxsLCBwcmltYXJ5OiBbJ2VudGVyJywge2xvZ291dDogdHJ1ZX1dfX1dKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmFjdGlvbi5hZGp1c3QudmlldycpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uc2hvcnRjdXRzLmFjdGlvbi5hZGp1c3QudmlldycsXG4gICAgICAgIHNob3J0Y3V0OiAnVicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4gdGhpcy5hZGp1c3RWaWV3KCksXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNwYXJlbnRCYXI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNpZGViYXIuaGVscC5tYW51YWwnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnNpZGViYXIuaGVscC5tYW51YWwnLFxuICAgICAgICBzaG9ydGN1dDogJ0QnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cub3Blbih0aGlzLmRvY3UubGluayk7XG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgXVxuICB9O1xuICAvLyBuYXZpZ2F0aW9uIHNob3J0Y3V0c1xuICBuYXZTaG9ydGN1dHM6IEdsb2JhbFNob3J0Y3V0Q29tcG9uZW50ID0ge1xuICAgIGlkOiAnZW8uYXBwLm5hdicsXG4gICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi50aXRsZScpLFxuICAgIGxhYmVsS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLnRpdGxlJyxcbiAgICBhY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uZGFzaGJvYXJkJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLmRhc2hib2FyZCcsXG4gICAgICAgIHNob3J0Y3V0OiAnMCcsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9kYXNoYm9hcmQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLmluYm94JyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24uaW5ib3gnLFxuICAgICAgICBzaG9ydGN1dDogJzEnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaW5ib3gnKTtcbiAgICAgICAgfSxcbiAgICAgICAgaXNIaWRkZW46ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXBhYmlsaXRpZXMgPyAhdGhpcy5jYXBhYmlsaXRpZXMuaW5ib3ggOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24ucHJlcGFyZScpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLnByZXBhcmUnLFxuICAgICAgICBzaG9ydGN1dDogJzInLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvcHJlcGFyZScpO1xuICAgICAgICB9LFxuICAgICAgICBpc0hpZGRlbjogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllcyA/ICF0aGlzLmNhcGFiaWxpdGllcy5pbnRyYXkgOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24uZmF2b3JpdGVzJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24uZmF2b3JpdGVzJyxcbiAgICAgICAgc2hvcnRjdXQ6ICczJyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2Zhdm9yaXRlcycpO1xuICAgICAgICB9LFxuICAgICAgICBpc0hpZGRlbjogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllcyA/ICF0aGlzLmNhcGFiaWxpdGllcy5mYXZvcml0ZXMgOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5iYXIuYnV0dG9uLnNldHRpbmdzLnRpdGxlJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5iYXIuYnV0dG9uLnNldHRpbmdzLnRpdGxlJyxcbiAgICAgICAgc2hvcnRjdXQ6ICc0JyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL3NldHRpbmdzJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5wcm9jZXNzJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24ucHJvY2VzcycsXG4gICAgICAgIHNob3J0Y3V0OiAnNScsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9wcm9jZXNzJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5ub3RpZmljYXRpb25zJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24ubm90aWZpY2F0aW9ucycsXG4gICAgICAgIHNob3J0Y3V0OiAnNicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ub3RpZmljYXRpb25zJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5zdG9yZWRxdWVyaWVzJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24uc3RvcmVkcXVlcmllcycsXG4gICAgICAgIHNob3J0Y3V0OiAnNycsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9zdG9yZWQtcXVlcmllcycpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24ucmVjeWNsZWJpbicpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLnJlY3ljbGViaW4nLFxuICAgICAgICBzaG9ydGN1dDogJzgnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvcmVjeWNsZWJpbicpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIF1cbiAgfTtcblxuXG4gIC8vIEBIb3N0TGlzdGVuZXIgYWxsb3dzIHVzIHRvIGFsc28gZ3VhcmQgYWdhaW5zdCBicm93c2VyIHJlZnJlc2gsIGNsb3NlLCBldGMuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnLCBbJyRldmVudCddKVxuICB1bmxvYWROb3RpZmljYXRpb24oJGV2ZW50OiBhbnkpIHtcbiAgICByZXR1cm4gIXRoaXMucGVuZGluZ0NoYW5nZXMuY2hlY2soKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXJvbGVzJykgcm9sZXMgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vdGlmeTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgICAgICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHVwbG9hZFJlZ2lzdHJ5OiBVcGxvYWRSZWdpc3RyeVNlcnZpY2UpIHtcblxuICAgIC8vIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuXG4gICAgLy8gSW5pdGlhbGl6YXRpb24gb2YgdGhlIGNvcmUgY29tcG9uZW50cyBpcyBkb25lLCBzbyB3ZSBjaGVjayBpdHMgc3RhdGVcbiAgICAvLyBBbnkgZXJyb3JzIGR1cmluZyBnbG9iYWwgaW5pdGlhbGl6YXRpb24/XG4gICAgLy8gaWYgKHRoaXMuaW5pdC5nZXRTdGF0ZSgpLmVycm9yICE9PSBudWxsKSB7XG4gICAgLy8gICB0aGlzLmluaXRFcnJvciA9IHtcbiAgICAvLyAgICAgY2F1c2U6IHRoaXMuaW5pdC5nZXRTdGF0ZSgpLmVycm9yXG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKCh1c2VyOiBFb1VzZXIpID0+IHtcbiAgICAgICAgdGhpcy5kaXIgPSB1c2VyID8gdXNlci51aURpcmVjdGlvbiA6ICdsdHInO1xuICAgICAgICB0aGlzLnJvbGVzID0gdXNlcj8ucm9sZXM/Lm1hcChyID0+IHIubmFtZSkuam9pbignOycpIHx8ICcnO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlclxuICAgICAgLmV2ZW50c1xuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICB0aGlzLnNldFN0eWxlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hdXRoU2VydmljZVxuICAgICAgLmF1dGhlbnRpY2F0ZWQkXG4gICAgICAuc3Vic2NyaWJlKGF1dGhlbnRpY2F0ZWQgPT4gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYXV0aGVudGljYXRlZCA9IGF1dGhlbnRpY2F0ZWQ7XG4gICAgICAgIC8vIGZldGNoIGNhcGFiaWxpdGllcyBhZ2FpbiBvbmNlIGEgdXNlciBpcyBhdXRoZW50aWNhdGVkXG4gICAgICAgIGlmIChhdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgdGhpcy5jYXBhYmlsaXRpZXMgPSB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcblxuICAgIC8vIGFkZCByb290IHVwbG9hZCB0YXJnZXRcbiAgICBsZXQgcm9vdFRhcmdldCA9IG5ldyBVcGxvYWRUYXJnZXQoJ3Jvb3QnLCBVcGxvYWRUYXJnZXQuUk9PVCk7XG4gICAgcm9vdFRhcmdldC5vblVwbG9hZFN1Y2Nlc3MgPSAoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcmVwYXJlJ10pO1xuICAgIHRoaXMudXBsb2FkUmVnaXN0cnkucmVnaXN0ZXIocm9vdFRhcmdldCk7XG5cbiAgICB0aGlzLnNldFN0eWxlKCk7XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgY29uc3QgZG9jdSA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuZG9jdScpO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgZGF0YT8udXNlclNldHRpbmdzPy5jbGllbnRsb2NhbGUuc3Vic3RyaW5nKDAsIDIpKTtcbiAgICAgICAgdGhpcy5kb2N1ID0gey4uLmRvY3UsIGxpbmt9O1xuICAgICAgfSlcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdHlsZSgpIHtcbiAgICB0aGlzLnRyYW5zcGFyZW50QmFyID0gISF0aGlzLmxvY2F0aW9uLnBhdGgoKS5tYXRjaCgvXFwvZGFzaGJvYXJkfFxcL2VudGVyLyk7XG4gICAgdGhpcy5pc09iamVjdFN0YXRlID0gISF0aGlzLmxvY2F0aW9uLnBhdGgoKS5tYXRjaCgvXFwvb2JqZWN0XFwvLyk7XG4gIH1cblxuICBhZGp1c3RWaWV3KCkge1xuICAgIHRoaXMubm9CYXIgPSAodGhpcy5ub0JhciArIDEpICUgMztcbiAgICB0aGlzLm5vSGVhZGVyID0gdGhpcy5ub0JhciA9PT0gMiA/IDEgOiAwO1xuICB9XG59XG5cbiIsIjwhLS0gZ2xvYmFsIHVwbG9hZCBjb21wb25lbnQgLS0+XG48ZW8tdXBsb2FkLW92ZXJsYXkgKm5nSWY9XCJhdXRoZW50aWNhdGVkICYmIGNhcGFiaWxpdGllcz8uaW50cmF5XCI+PC9lby11cGxvYWQtb3ZlcmxheT5cblxuPCEtLSBtYWluIGFwcGxpY2F0aW9uIHNrZWxldG9uIC0tPlxuPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uXCIgW2Rpcl09XCJkaXJcIiBbZW9TaG9ydGN1dHNdPVwibmF2U2hvcnRjdXRzXCI+XG5cbiAgPGRpdiBjbGFzcz1cImFwcFwiICpuZ0lmPVwiIWluaXRFcnJvclwiIFtlb1Nob3J0Y3V0c109XCJzaG9ydGN1dHNcIj5cbiAgICA8ZW8tYXBwLWJhciBbdHJhbnNwYXJlbnRdPVwidHJhbnNwYXJlbnRCYXJcIiAqbmdJZj1cImF1dGhlbnRpY2F0ZWRcIj5cbiAgICAgIDxlby1zaWRlYmFyLXBsdWdpbiBjbGFzcz1cIm5hdmlcIiBbdHlwZV09XCInc2lkZWJhci1uYXZpZ2F0aW9uJ1wiPjwvZW8tc2lkZWJhci1wbHVnaW4+XG4gICAgICA8ZW8tc2lkZWJhci1wbHVnaW4gY2xhc3M9XCJoZWxwXCIgW3R5cGVdPVwiJ3NpZGViYXItaGVscCdcIj48L2VvLXNpZGViYXItcGx1Z2luPlxuICAgICAgPGVvLXNpZGViYXItcGx1Z2luIGNsYXNzPVwicHJvZmlsZVwiIFt0eXBlXT1cIidzaWRlYmFyLXByb2ZpbGUnXCI+PC9lby1zaWRlYmFyLXBsdWdpbj5cbiAgICA8L2VvLWFwcC1iYXI+XG4gICAgPGRpdiBjbGFzcz1cImVvLWFwcC1jb250ZW50XCI+XG4gICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gYXBwIGluaXQgZmFpbGVkIG5vdGlmaWNhdGlvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImluaXQtZXJyb3JcIiAqbmdJZj1cImluaXRFcnJvclwiPlxuICAgIDxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Vycm9yLnN2ZydcIj48L2VvLWljb24+XG4gICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIj5cbiAgICAgIDxkaXYgdHJhbnNsYXRlPmVvLmFwcC5pbml0LmZhaWwudGl0bGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXVzZVwiIHRyYW5zbGF0ZT5lby5hcHAuaW5pdC5mYWlsLm1lc3NhZ2U8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXVzZSBlcnJvclwiPnt7aW5pdEVycm9yLmNhdXNlfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm92ZXJsYXlcIj5cbiAgICA8IS0tPG5nLXByb2dyZXNzIFtwb3NpdGlvblVzaW5nXT1cIidtYXJnaW5MZWZ0J1wiIFttaW5pbXVtXT1cIjAuM1wiIFttYXhpbXVtXT1cIjFcIi0tPlxuICAgIDwhLS1bc3BlZWRdPVwiMzAwXCIgW3Nob3dTcGlubmVyXT1cImZhbHNlXCItLT5cbiAgICA8IS0tW2RpcmVjdGlvbl09XCJkaXIgPT09ICdydGwnID8gJ3JpZ2h0VG9MZWZ0SW5jcmVhc2VkJyA6ICdsZWZ0VG9SaWdodEluY3JlYXNlZCdcIi0tPlxuICAgIDwhLS1bY29sb3JdPVwiJyNiYjNmNWEnXCIgW3RyaWNrbGVTcGVlZF09XCIzMDBcIiBbdGhpY2tdPVwidHJ1ZVwiIFtlYXNlXT1cIidsaW5lYXInXCItLT5cbiAgICA8IS0tJmd0OzwvbmctcHJvZ3Jlc3M+LS0+XG4gIDwvZGl2PlxuICA8cm91dGVyLW91dGxldCBuYW1lPVwibW9kYWxcIj48L3JvdXRlci1vdXRsZXQ+XG4gIDxlby1nbG9iYWwtc2hvcnRjdXRzICpuZ0lmPVwiYXV0aGVudGljYXRlZCAmJiAhaXNNb2JpbGVFbnZcIj48L2VvLWdsb2JhbC1zaG9ydGN1dHM+XG4gIDxlby1hY3Rpb24tbWVudT48L2VvLWFjdGlvbi1tZW51PlxuICA8c2VjdGlvbiAjZXh0ZXJuYWxEaWFsb2c+PC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZnJhbWUvZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZnJhbWUvZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBUyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd0RCxPQUFPLEVBSUwsWUFBWSxFQU1NLGdCQUFnQixFQUNuQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRdEIsTUFBTSxPQUFPLGNBQWM7SUErSnpCLDZFQUE2RTtJQUU3RSxrQkFBa0IsQ0FBQyxNQUFXO1FBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFJRCxZQUFvQixNQUE0QixFQUM1QixXQUF3QixFQUN4QixNQUFjLEVBQ2QsTUFBYyxFQUNkLFFBQWtCLEVBQ25CLFNBQTJCLEVBQzFCLFdBQXdCLEVBQ3hCLGNBQXFDLEVBQ3JDLG1CQUF3QyxFQUN4QyxjQUFxQztRQUV2RCxrRUFBa0U7UUFYaEQsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFC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O2tCQUwxQixTQUFTOytCQUNFLFVBQVU7dVZBT1ksY0FBYztzQkFBN0MsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBQ0ksS0FBSztzQkFBdEMsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBQ0ssUUFBUTtzQkFBNUMsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0EsYUFBYTtzQkFBL0MsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBMkpqQyxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBS2YsS0FBSztzQkFBcEMsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyLCBOYXZpZ2F0aW9uRW5kfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7R2xvYmFsU2hvcnRjdXRDb21wb25lbnR9IGZyb20gJy4uL3Nob3J0Y3V0cy9nbG9iYWwtc2hvcnRjdXQtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBVcGxvYWRSZWdpc3RyeVNlcnZpY2UsXG4gIENhcGFiaWxpdGllcyxcbiAgQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgVXBsb2FkVGFyZ2V0LFxuICBVc2VyU2VydmljZSxcbiAgQXV0aFNlcnZpY2UsXG4gIEVvVXNlcixcbiAgTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gIENvbmZpZyxcbiAgVHJhbnNsYXRlU2VydmljZSwgRW52aXJvbm1lbnRFbmFpb1xufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHsgUGVuZGluZ0NoYW5nZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZnJhbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnJhbWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mcmFtZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZyYW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGFzaGJvYXJkJykgdHJhbnNwYXJlbnRCYXIgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy52aWV3LW5vLWJhcicpIG5vQmFyID0gMDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy52aWV3LW5vLWhlYWRlcicpIG5vSGVhZGVyID0gMDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vYmplY3Qtc3RhdGUnKSBpc09iamVjdFN0YXRlID0gdHJ1ZTtcblxuICBpbml0RXJyb3I6IGFueTtcbiAgYXV0aGVudGljYXRlZCA9IGZhbHNlO1xuICBkaXIgPSAnbHRyJzsgLy8gZGVmYXVsdCBkaXJlY3Rpb24gLSBMZWZ0IFRvIFJpZ2h0XG4gIGlzTW9iaWxlRW52OiBib29sZWFuID0gRW52aXJvbm1lbnRFbmFpby5pc01vYmlsZUVudmlyb25tZW50KCk7XG4gIGNhcGFiaWxpdGllczogQ2FwYWJpbGl0aWVzO1xuICBkb2N1OiB7bGluazogc3RyaW5nLCBsYWJlbDogc3RyaW5nfTtcbiAgdXNlcjogRW9Vc2VyXG5cbiAgLy8gc2hvcnRjdXQgYWN0aW9uc1xuICBzaG9ydGN1dHM6IEdsb2JhbFNob3J0Y3V0Q29tcG9uZW50ID0ge1xuICAgIGlkOiAnZW8uYXBwJyxcbiAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmdlbmVyYWwudGl0bGUnKSxcbiAgICBsYWJlbEtleTogJ2VvLnNob3J0Y3V0cy5nZW5lcmFsLnRpdGxlJyxcbiAgICBhY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uYWRkJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLmFkZCcsXG4gICAgICAgIHNob3J0Y3V0OiAnQycsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnYWRkJ319XSk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzID8gIXRoaXMuY2FwYWJpbGl0aWVzLmludHJheSA6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uc2VhcmNoJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLnNlYXJjaCcsXG4gICAgICAgIHNob3J0Y3V0OiAnRicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24ubG9nb3V0JyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLmxvZ291dCcsXG4gICAgICAgIHNob3J0Y3V0OiAnTCcsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiBudWxsLCBwcmltYXJ5OiBbJ2VudGVyJywge2xvZ291dDogdHJ1ZX1dfX1dKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmFjdGlvbi5hZGp1c3QudmlldycpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uc2hvcnRjdXRzLmFjdGlvbi5hZGp1c3QudmlldycsXG4gICAgICAgIHNob3J0Y3V0OiAnVicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4gdGhpcy5hZGp1c3RWaWV3KCksXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNwYXJlbnRCYXI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNpZGViYXIuaGVscC5tYW51YWwnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnNpZGViYXIuaGVscC5tYW51YWwnLFxuICAgICAgICBzaG9ydGN1dDogJ0QnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cub3Blbih0aGlzLmRvY3UubGluayk7XG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgXVxuICB9O1xuICAvLyBuYXZpZ2F0aW9uIHNob3J0Y3V0c1xuICBuYXZTaG9ydGN1dHM6IEdsb2JhbFNob3J0Y3V0Q29tcG9uZW50ID0ge1xuICAgIGlkOiAnZW8uYXBwLm5hdicsXG4gICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi50aXRsZScpLFxuICAgIGxhYmVsS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLnRpdGxlJyxcbiAgICBhY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uZGFzaGJvYXJkJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLmRhc2hib2FyZCcsXG4gICAgICAgIHNob3J0Y3V0OiAnMCcsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9kYXNoYm9hcmQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLmluYm94JyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24uaW5ib3gnLFxuICAgICAgICBzaG9ydGN1dDogJzEnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaW5ib3gnKTtcbiAgICAgICAgfSxcbiAgICAgICAgaXNIaWRkZW46ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXBhYmlsaXRpZXMgPyAhdGhpcy5jYXBhYmlsaXRpZXMuaW5ib3ggOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24ucHJlcGFyZScpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLnByZXBhcmUnLFxuICAgICAgICBzaG9ydGN1dDogJzInLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvcHJlcGFyZScpO1xuICAgICAgICB9LFxuICAgICAgICBpc0hpZGRlbjogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllcyA/ICF0aGlzLmNhcGFiaWxpdGllcy5pbnRyYXkgOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24uZmF2b3JpdGVzJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24uZmF2b3JpdGVzJyxcbiAgICAgICAgc2hvcnRjdXQ6ICczJyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2Zhdm9yaXRlcycpO1xuICAgICAgICB9LFxuICAgICAgICBpc0hpZGRlbjogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllcyA/ICF0aGlzLmNhcGFiaWxpdGllcy5mYXZvcml0ZXMgOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5iYXIuYnV0dG9uLnNldHRpbmdzLnRpdGxlJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5iYXIuYnV0dG9uLnNldHRpbmdzLnRpdGxlJyxcbiAgICAgICAgc2hvcnRjdXQ6ICc0JyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL3NldHRpbmdzJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5wcm9jZXNzJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24ucHJvY2VzcycsXG4gICAgICAgIHNob3J0Y3V0OiAnNScsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9wcm9jZXNzJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5ub3RpZmljYXRpb25zJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24ubm90aWZpY2F0aW9ucycsXG4gICAgICAgIHNob3J0Y3V0OiAnNicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ub3RpZmljYXRpb25zJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5zdG9yZWRxdWVyaWVzJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24uc3RvcmVkcXVlcmllcycsXG4gICAgICAgIHNob3J0Y3V0OiAnNycsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9zdG9yZWQtcXVlcmllcycpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24ucmVjeWNsZWJpbicpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLnJlY3ljbGViaW4nLFxuICAgICAgICBzaG9ydGN1dDogJzgnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvcmVjeWNsZWJpbicpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIF1cbiAgfTtcblxuXG4gIC8vIEBIb3N0TGlzdGVuZXIgYWxsb3dzIHVzIHRvIGFsc28gZ3VhcmQgYWdhaW5zdCBicm93c2VyIHJlZnJlc2gsIGNsb3NlLCBldGMuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnLCBbJyRldmVudCddKVxuICB1bmxvYWROb3RpZmljYXRpb24oJGV2ZW50OiBhbnkpIHtcbiAgICByZXR1cm4gIXRoaXMucGVuZGluZ0NoYW5nZXMuY2hlY2soKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXJvbGVzJykgcm9sZXMgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vdGlmeTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgICAgICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHVwbG9hZFJlZ2lzdHJ5OiBVcGxvYWRSZWdpc3RyeVNlcnZpY2UpIHtcblxuICAgIC8vIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuXG4gICAgLy8gSW5pdGlhbGl6YXRpb24gb2YgdGhlIGNvcmUgY29tcG9uZW50cyBpcyBkb25lLCBzbyB3ZSBjaGVjayBpdHMgc3RhdGVcbiAgICAvLyBBbnkgZXJyb3JzIGR1cmluZyBnbG9iYWwgaW5pdGlhbGl6YXRpb24/XG4gICAgLy8gaWYgKHRoaXMuaW5pdC5nZXRTdGF0ZSgpLmVycm9yICE9PSBudWxsKSB7XG4gICAgLy8gICB0aGlzLmluaXRFcnJvciA9IHtcbiAgICAvLyAgICAgY2F1c2U6IHRoaXMuaW5pdC5nZXRTdGF0ZSgpLmVycm9yXG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKCh1c2VyOiBFb1VzZXIpID0+IHtcbiAgICAgICAgdGhpcy5kaXIgPSB1c2VyID8gdXNlci51aURpcmVjdGlvbiA6ICdsdHInO1xuICAgICAgICB0aGlzLnJvbGVzID0gdXNlcj8ucm9sZXM/Lm1hcChyID0+IHIubmFtZSkuam9pbignOycpIHx8ICcnO1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlclxuICAgICAgLmV2ZW50c1xuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICB0aGlzLnNldFN0eWxlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hdXRoU2VydmljZVxuICAgICAgLmF1dGhlbnRpY2F0ZWQkXG4gICAgICAuc3Vic2NyaWJlKGF1dGhlbnRpY2F0ZWQgPT4gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYXV0aGVudGljYXRlZCA9IGF1dGhlbnRpY2F0ZWQ7XG4gICAgICAgIC8vIGZldGNoIGNhcGFiaWxpdGllcyBhZ2FpbiBvbmNlIGEgdXNlciBpcyBhdXRoZW50aWNhdGVkXG4gICAgICAgIGlmIChhdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgdGhpcy5jYXBhYmlsaXRpZXMgPSB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcblxuICAgIC8vIGFkZCByb290IHVwbG9hZCB0YXJnZXRcbiAgICBsZXQgcm9vdFRhcmdldCA9IG5ldyBVcGxvYWRUYXJnZXQoJ3Jvb3QnLCBVcGxvYWRUYXJnZXQuUk9PVCk7XG4gICAgcm9vdFRhcmdldC5vblVwbG9hZFN1Y2Nlc3MgPSAoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcmVwYXJlJ10pO1xuICAgIHRoaXMudXBsb2FkUmVnaXN0cnkucmVnaXN0ZXIocm9vdFRhcmdldCk7XG5cbiAgICB0aGlzLnNldFN0eWxlKCk7XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgY29uc3QgZG9jdSA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuZG9jdScpO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgZGF0YT8udXNlclNldHRpbmdzPy5jbGllbnRsb2NhbGU/LnN1YnN0cmluZygwLCAyKSB8fCB0aGlzLnVzZXIuZ2V0Q2xpZW50TG9jYWxlKCkpO1xuICAgICAgICB0aGlzLmRvY3UgPSB7Li4uZG9jdSwgbGlua307XG4gICAgICB9KVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXREb2N1bWVudGF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFN0eWxlKCkge1xuICAgIHRoaXMudHJhbnNwYXJlbnRCYXIgPSAhIXRoaXMubG9jYXRpb24ucGF0aCgpLm1hdGNoKC9cXC9kYXNoYm9hcmR8XFwvZW50ZXIvKTtcbiAgICB0aGlzLmlzT2JqZWN0U3RhdGUgPSAhIXRoaXMubG9jYXRpb24ucGF0aCgpLm1hdGNoKC9cXC9vYmplY3RcXC8vKTtcbiAgfVxuXG4gIGFkanVzdFZpZXcoKSB7XG4gICAgdGhpcy5ub0JhciA9ICh0aGlzLm5vQmFyICsgMSkgJSAzO1xuICAgIHRoaXMubm9IZWFkZXIgPSB0aGlzLm5vQmFyID09PSAyID8gMSA6IDA7XG4gIH1cbn1cblxuIiwiPCEtLSBnbG9iYWwgdXBsb2FkIGNvbXBvbmVudCAtLT5cbjxlby11cGxvYWQtb3ZlcmxheSAqbmdJZj1cImF1dGhlbnRpY2F0ZWQgJiYgY2FwYWJpbGl0aWVzPy5pbnRyYXlcIj48L2VvLXVwbG9hZC1vdmVybGF5PlxuXG48IS0tIG1haW4gYXBwbGljYXRpb24gc2tlbGV0b24gLS0+XG48ZGl2IGNsYXNzPVwiYXBwbGljYXRpb25cIiBbZGlyXT1cImRpclwiIFtlb1Nob3J0Y3V0c109XCJuYXZTaG9ydGN1dHNcIj5cblxuICA8ZGl2IGNsYXNzPVwiYXBwXCIgKm5nSWY9XCIhaW5pdEVycm9yXCIgW2VvU2hvcnRjdXRzXT1cInNob3J0Y3V0c1wiPlxuICAgIDxlby1hcHAtYmFyIFt0cmFuc3BhcmVudF09XCJ0cmFuc3BhcmVudEJhclwiICpuZ0lmPVwiYXV0aGVudGljYXRlZFwiPlxuICAgICAgPGVvLXNpZGViYXItcGx1Z2luIGNsYXNzPVwibmF2aVwiIFt0eXBlXT1cIidzaWRlYmFyLW5hdmlnYXRpb24nXCI+PC9lby1zaWRlYmFyLXBsdWdpbj5cbiAgICAgIDxlby1zaWRlYmFyLXBsdWdpbiBjbGFzcz1cImhlbHBcIiBbdHlwZV09XCInc2lkZWJhci1oZWxwJ1wiPjwvZW8tc2lkZWJhci1wbHVnaW4+XG4gICAgICA8ZW8tc2lkZWJhci1wbHVnaW4gY2xhc3M9XCJwcm9maWxlXCIgW3R5cGVdPVwiJ3NpZGViYXItcHJvZmlsZSdcIj48L2VvLXNpZGViYXItcGx1Z2luPlxuICAgIDwvZW8tYXBwLWJhcj5cbiAgICA8ZGl2IGNsYXNzPVwiZW8tYXBwLWNvbnRlbnRcIj5cbiAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBhcHAgaW5pdCBmYWlsZWQgbm90aWZpY2F0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiaW5pdC1lcnJvclwiICpuZ0lmPVwiaW5pdEVycm9yXCI+XG4gICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZXJyb3Iuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiPlxuICAgICAgPGRpdiB0cmFuc2xhdGU+ZW8uYXBwLmluaXQuZmFpbC50aXRsZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNhdXNlXCIgdHJhbnNsYXRlPmVvLmFwcC5pbml0LmZhaWwubWVzc2FnZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNhdXNlIGVycm9yXCI+e3tpbml0RXJyb3IuY2F1c2V9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwib3ZlcmxheVwiPlxuICAgIDwhLS08bmctcHJvZ3Jlc3MgW3Bvc2l0aW9uVXNpbmddPVwiJ21hcmdpbkxlZnQnXCIgW21pbmltdW1dPVwiMC4zXCIgW21heGltdW1dPVwiMVwiLS0+XG4gICAgPCEtLVtzcGVlZF09XCIzMDBcIiBbc2hvd1NwaW5uZXJdPVwiZmFsc2VcIi0tPlxuICAgIDwhLS1bZGlyZWN0aW9uXT1cImRpciA9PT0gJ3J0bCcgPyAncmlnaHRUb0xlZnRJbmNyZWFzZWQnIDogJ2xlZnRUb1JpZ2h0SW5jcmVhc2VkJ1wiLS0+XG4gICAgPCEtLVtjb2xvcl09XCInI2JiM2Y1YSdcIiBbdHJpY2tsZVNwZWVkXT1cIjMwMFwiIFt0aGlja109XCJ0cnVlXCIgW2Vhc2VdPVwiJ2xpbmVhcidcIi0tPlxuICAgIDwhLS0mZ3Q7PC9uZy1wcm9ncmVzcz4tLT5cbiAgPC9kaXY+XG4gIDxyb3V0ZXItb3V0bGV0IG5hbWU9XCJtb2RhbFwiPjwvcm91dGVyLW91dGxldD5cbiAgPGVvLWdsb2JhbC1zaG9ydGN1dHMgKm5nSWY9XCJhdXRoZW50aWNhdGVkICYmICFpc01vYmlsZUVudlwiPjwvZW8tZ2xvYmFsLXNob3J0Y3V0cz5cbiAgPGVvLWFjdGlvbi1tZW51PjwvZW8tYWN0aW9uLW1lbnU+XG4gIDxzZWN0aW9uICNleHRlcm5hbERpYWxvZz48L3NlY3Rpb24+XG48L2Rpdj5cbiJdfQ==