@sumaris-net/ngx-components 18.9.2 → 18.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/doc/changelog.md CHANGED
@@ -1368,3 +1368,13 @@ enh: Environment: add useHash property to configure Angular router to use hash U
1368
1368
 
1369
1369
  # 18.9.2
1370
1370
  - fix(EntitiesTableDataSource) Fix function `waitIdle()`
1371
+ - fix(EntitiesTableDataSource) Remove some deprecated feature: `close()` and `serviceOptions`
1372
+
1373
+ # 18.9.3
1374
+ - fix(AppTable, AppAsyncTable) Make sure to call table.markAsDirty() when the editing row is dirty
1375
+
1376
+ # 18.9.4
1377
+ - fix(MatBooleanField) Fix alignment when floatLabel="never", on styles 'checkbox' and 'button'
1378
+ - fix(MatBooleanField) Exclude more blur internal events (e.g. when the hidden input is the target)
1379
+ - fix(AppFormField) Make sure to pass readonly input to all internal input/field (was ignored in style 'enums' and 'color')
1380
+
@@ -13,6 +13,15 @@ import * as i7 from "../../../shared/pipes/arrays.pipe";
13
13
  export class TextPopover {
14
14
  popoverController;
15
15
  translate;
16
+ /**
17
+ * Displays a popover using the provided controller, event, and options.
18
+ *
19
+ * @param {PopoverController} ctrl - The popover controller used to create and manage the popover.
20
+ * @param {Event} event - The event that triggers the display of the popover.
21
+ * @param {TextPopoverOptions} opts - The options specific to the text popover component.
22
+ * @param {Partial<PopoverOptions>} [popoverOpts] - Optional additional options for the popover.
23
+ * @return {Promise<OverlayEventDetail>} A promise that resolves with the details of the overlay event once the popover is dismissed.
24
+ */
16
25
  static async show(ctrl, event, opts, popoverOpts) {
17
26
  const modal = await ctrl.create({
18
27
  event,
@@ -149,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
149
158
  }], mobile: [{
150
159
  type: Input
151
160
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3RleHQtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBb0N4RixNQUFNLE9BQU8sV0FBVztJQXNEVjtJQUNBO0lBdERaLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNmLElBQXVCLEVBQ3ZCLEtBQVksRUFDWixJQUF3QixFQUN4QixXQUFxQztRQUVyQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDOUIsS0FBSztZQUNMLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLEdBQUcsV0FBVztTQUNmLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE9BQU8sTUFBTSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVvQyxJQUFJLENBQVc7SUFFM0MsVUFBVSxDQUFVO0lBQ3BCLFdBQVcsR0FBVSxJQUFJLENBQUM7SUFDMUIsVUFBVSxDQUFVO0lBQ3BCLEtBQUss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LEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciwgUG9wb3Zlck9wdGlvbnMgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRleHRGb3JtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21hdGVyaWFsL3RleHQvdGV4dC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBsb2dGb3JtRXJyb3JzLCB3YWl0V2hpbGVQZW5kaW5nIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sb3IsIE92ZXJsYXlFdmVudERldGFpbCB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IGlzTm90RW1wdHlBcnJheSwgaXNOb3ROaWxPckJsYW5rLCB0b0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0UG9wb3Zlck9wdGlvbnMge1xuICB0aXRsZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGVkaXRpbmc/OiBib29sZWFuO1xuICBtdWx0aWxpbmU/OiBib29sZWFuO1xuICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBhdXRvZm9jdXM/OiBib29sZWFuO1xuICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbjtcbiAgLy8gSGVhZGVyIHN0dWZmXG4gIHNob3dIZWFkZXI/OiBib29sZWFuO1xuICBoZWFkZXJDb2xvcj86IENvbG9yO1xuICBoZWFkZXJCdXR0b25zPzogVGV4dFBvcG92ZXJCdXR0b25bXTtcbiAgLy8gRm9vdGVyIHN0dWZmXG4gIHNob3dGb290ZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRQb3BvdmVyQnV0dG9uIHtcbiAgdGV4dD86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgY29sb3I/OiBDb2xvcjtcbiAgZmlsbD86ICdvdXRsaW5lJyB8ICdjbGVhcicgfCAnc29saWQnO1xuICBzaWRlPzogJ3N0YXJ0JyB8ICdlbmQnO1xuICByb2xlPzogJ2NhbmNlbCcgfCBzdHJpbmc7XG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGhhbmRsZXI/OiAodmFsdWU6IHN0cmluZykgPT4gYm9vbGVhbiB8IHZvaWQgfCBQcm9taXNlPGJvb2xlYW4gfCB2b2lkPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRleHQtcG9wb3ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LXBvcG92ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dFBvcG92ZXIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgVGV4dFBvcG92ZXJPcHRpb25zIHtcbiAgc3RhdGljIGFzeW5jIHNob3coXG4gICAgY3RybDogUG9wb3ZlckNvbnRyb2xsZXIsXG4gICAgZXZlbnQ6IEV2ZW50LFxuICAgIG9wdHM6IFRleHRQb3BvdmVyT3B0aW9ucyxcbiAgICBwb3BvdmVyT3B0cz86IFBhcnRpYWw8UG9wb3Zlck9wdGlvbnM+XG4gICk6IFByb21pc2U8T3ZlcmxheUV2ZW50RGV0YWlsPiB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCBjdHJsLmNyZWF0ZSh7XG4gICAgICBldmVudCxcbiAgICAgIGNvbXBvbmVudDogVGV4dFBvcG92ZXIsXG4gICAgICBjb21wb25lbnRQcm9wczogb3B0cyxcbiAgICAgIC4uLnBvcG92ZXJPcHRzLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgbW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb3JtOiBUZXh0Rm9ybTtcblxuICBASW5wdXQoKSBzaG93SGVhZGVyOiBib29sZWFuO1xuICBASW5wdXQoKSBoZWFkZXJDb2xvcjogQ29sb3IgPSBudWxsO1xuICBASW5wdXQoKSBzaG93Rm9vdGVyOiBib29sZWFuO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gbnVsbDtcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBlZGl0aW5nID0gdHJ1ZTtcbiAgQElucHV0KCkgbXVsdGlsaW5lID0gdHJ1ZTtcbiAgQElucHV0KCkgYXV0b0hlaWdodCA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhMZW5ndGggPSAyMDAwO1xuICBASW5wdXQoKSBhdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IG51bGw7XG4gIEBJbnB1dCgpIGhlYWRlckJ1dHRvbnM6IFRleHRQb3BvdmVyQnV0dG9uW10gPSBudWxsO1xuICBASW5wdXQoKSBtb2JpbGUgPSBmYWxzZTtcblxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZGlzYWJsZWQ7XG4gIH1cblxuICBnZXQgZW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmVuYWJsZWQ7XG4gIH1cblxuICBnZXQgdmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8udmFsaWQgfHwgZmFsc2U7XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8udmFsdWUudGV4dDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBwb3BvdmVyQ29udHJvbGxlcjogUG9wb3ZlckNvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93SGVhZGVyID0gdG9Cb29sZWFuKHRoaXMuc2hvd0hlYWRlciwgaXNOb3ROaWxPckJsYW5rKHRoaXMudGl0bGUpIHx8IGlzTm90RW1wdHlBcnJheSh0aGlzLmhlYWRlckJ1dHRvbnMpKTtcbiAgICB0aGlzLnNob3dGb290ZXIgPSB0b0Jvb2xlYW4odGhpcy5zaG93Rm9vdGVyLCAhdGhpcy5tb2JpbGUpO1xuICAgIHRoaXMuZW5hYmxlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvcm0uc2V0VmFsdWUoeyB0ZXh0OiB0aGlzLnRleHQgfSksIDApO1xuICB9XG5cbiAgYXN5bmMgb25WYWxpZGF0ZShldmVudDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBhd2FpdCB3YWl0V2hpbGVQZW5kaW5nKHRoaXMuZm9ybSk7XG5cbiAgICBpZiAoIXRoaXMudmFsaWQpIHtcbiAgICAgIGxvZ0Zvcm1FcnJvcnModGhpcy5mb3JtLnRleHRDb250cm9sKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmZvcm0uZXJyb3IgPSBudWxsO1xuICAgICAgYXdhaXQgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZm9ybS5lcnJvciA9IChlcnIgJiYgZXJyLm1lc3NhZ2UpIHx8IGVycjtcbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICB9XG5cbiAgZW5hYmxlKCkge1xuICAgIGlmICh0aGlzLmVkaXRpbmcpIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2xpY2tCdXR0b24oYnV0dG9uOiBUZXh0UG9wb3ZlckJ1dHRvbikge1xuICAgIGlmICh0eXBlb2YgYnV0dG9uLmhhbmRsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJ1dHRvbi5oYW5kbGVyKHRoaXMudmFsdWUpO1xuICAgICAgLy8gVE9ETyBjb21tZW50IGludGVycHJldGVyIGxlIHRydWUgPz8gPT4gZmVybWVyIG91IGFubnVsZXIgbCdhY3Rpb24gP1xuICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKHRoaXMudmFsdWUsIGJ1dHRvbi5yb2xlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuZGlzbWlzcyh0aGlzLnZhbHVlLCBidXR0b24ucm9sZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlzU3RhcnRTaWRlKGJ1dHRvbjogVGV4dFBvcG92ZXJCdXR0b24pIHtcbiAgICByZXR1cm4gYnV0dG9uPy5zaWRlID09PSAnc3RhcnQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRW5kU2lkZShidXR0b246IFRleHRQb3BvdmVyQnV0dG9uKSB7XG4gICAgcmV0dXJuIGJ1dHRvbj8uc2lkZSAhPT0gJ3N0YXJ0JztcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XG4gIDxpb24tdG9vbGJhciBbY29sb3JdPVwiaGVhZGVyQ29sb3JcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cIm1vYmlsZSAmJiBlZGl0aW5nXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgW3RpdGxlXT1cIidDT01NT04uQlROX0NBTkNFTCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiYXJyb3ctYmFja1wiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGhlYWRlckJ1dHRvbnMgfCBhcnJheUZpbHRlcjogaXNTdGFydFNpZGVcIlxuICAgICAgICBbZmlsbF09XCJidXR0b24uZmlsbFwiXG4gICAgICAgIFtjb2xvcl09XCJidXR0b24uY29sb3JcIlxuICAgICAgICAoY2xpY2spPVwiY2xpY2tCdXR0b24oYnV0dG9uKVwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiAqbmdJZj1cImJ1dHRvbi5pY29uXCIgW3Nsb3RdPVwiYnV0dG9uLnRleHQgPyAnc3RhcnQnIDogJ2ljb24tb25seSdcIiBbbmFtZV09XCJidXR0b24uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cImJ1dHRvbi50ZXh0XCI+e3sgYnV0dG9uLnRleHQgfCB0cmFuc2xhdGUgfX08L2lvbi10ZXh0PlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlICpuZ0lmPVwidGl0bGVcIj57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvaW9uLXRpdGxlPlxuXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgaGVhZGVyQnV0dG9ucyB8IGFycmF5RmlsdGVyOiBpc0VuZFNpZGVcIlxuICAgICAgICBbZmlsbF09XCJidXR0b24uZmlsbFwiXG4gICAgICAgIFtjb2xvcl09XCJidXR0b24uY29sb3JcIlxuICAgICAgICAoY2xpY2spPVwiY2xpY2tCdXR0b24oYnV0dG9uKVwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiAqbmdJZj1cImJ1dHRvbi5pY29uXCIgW3Nsb3RdPVwiYnV0dG9uLnRleHQgPyAnc3RhcnQnIDogJ2ljb24tb25seSdcIiBbbmFtZV09XCJidXR0b24uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cImJ1dHRvbi50ZXh0XCI+e3sgYnV0dG9uLnRleHQgfCB0cmFuc2xhdGUgfX08L2lvbi10ZXh0PlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9iaWxlXCI+XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJlZGl0aW5nXCJcbiAgICAgICAgICAoY2xpY2spPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9WQUxJREFURV9XSVRIX1NIT1JUQ1VUX0hFTFAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNoZWNrbWFya1wiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCIhZWRpdGluZ1wiIChjbGljayk9XCJjYW5jZWwoKVwiIFt0aXRsZV09XCInQ09NTU9OLkJUTl9DTE9TRScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgW2NsYXNzLmhhcy1oZWFkZXJdPVwic2hvd0hlYWRlclwiIGNka1RyYXBGb2N1cyBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiPlxuICA8aW9uLWl0ZW0gKm5nSWY9XCJmb3JtLmVycm9yXCIgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlIGxpbmVzPVwibm9uZVwiPlxuICAgIDxpb24taWNvbiBjb2xvcj1cImRhbmdlclwiIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIj48L2lvbi1pY29uPlxuICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImVycm9yXCIgW2lubmVySFRNTF09XCJmb3JtLmVycm9yIHwgdHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG5cbiAgPGFwcC10ZXh0LWZvcm1cbiAgICAjZm9ybVxuICAgIFtzdGFuZGFsb25lXT1cInRydWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW211bHRpbGluZV09XCJtdWx0aWxpbmVcIlxuICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbYXV0b0hlaWdodF09XCJhdXRvSGVpZ2h0XCJcbiAgICBbYXV0b2ZvY3VzXT1cImVkaXRpbmcgJiYgYXV0b2ZvY3VzXCJcbiAgICBbdmFsaWRhdG9yXT1cInZhbGlkYXRvclwiXG4gICAgKG9uU3VibWl0KT1cIm9uVmFsaWRhdGUoJGV2ZW50KVwiXG4gID48L2FwcC10ZXh0LWZvcm0+XG48L2lvbi1jb250ZW50PlxuXG48aW9uLWZvb3RlciAqbmdJZj1cInNob3dGb290ZXJcIj5cbiAgPGlvbi10b29sYmFyPlxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIiBub3dyYXA+XG4gICAgICA8aW9uLWNvbD48L2lvbi1jb2w+XG5cbiAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fQ0FOQ0VMPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBbZmlsbF09XCJkaXNhYmxlZCA/ICdjbGVhcicgOiAnc29saWQnXCJcbiAgICAgICAgICAoY2xpY2spPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICBjb2xvcj1cInRlcnRpYXJ5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9WQUxJREFURV9XSVRIX1NIT1JUQ1VUX0hFTFAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fVkFMSURBVEU8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3RleHQtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBb0N4RixNQUFNLE9BQU8sV0FBVztJQStEVjtJQUNBO0lBL0RaOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2YsSUFBdUIsRUFDdkIsS0FBWSxFQUNaLElBQXdCLEVBQ3hCLFdBQXFDO1FBRXJDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUM5QixLQUFLO1lBQ0wsU0FBUyxFQUFFLFdBQVc7WUFDdEIsY0FBYyxFQUFFLElBQUk7WUFDcEIsR0FBRyxXQUFXO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsT0FBTyxNQUFNLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRW9DLElBQUksQ0FBVztJQUUzQyxVQUFVLENBQVU7SUFDcEIsV0FBVyxHQUFVLElBQUksQ0FBQztJQUMxQixVQUFV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Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvcG92ZXJDb250cm9sbGVyLCBQb3BvdmVyT3B0aW9ucyB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVGV4dEZvcm0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbWF0ZXJpYWwvdGV4dC90ZXh0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IGxvZ0Zvcm1FcnJvcnMsIHdhaXRXaGlsZVBlbmRpbmcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybXMnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2xvciwgT3ZlcmxheUV2ZW50RGV0YWlsIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgaXNOb3RFbXB0eUFycmF5LCBpc05vdE5pbE9yQmxhbmssIHRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRQb3BvdmVyT3B0aW9ucyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgZWRpdGluZz86IGJvb2xlYW47XG4gIG11bHRpbGluZT86IGJvb2xlYW47XG4gIGF1dG9IZWlnaHQ/OiBib29sZWFuO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIGF1dG9mb2N1cz86IGJvb2xlYW47XG4gIHZhbGlkYXRvcj86IFZhbGlkYXRvckZuO1xuICAvLyBIZWFkZXIgc3R1ZmZcbiAgc2hvd0hlYWRlcj86IGJvb2xlYW47XG4gIGhlYWRlckNvbG9yPzogQ29sb3I7XG4gIGhlYWRlckJ1dHRvbnM/OiBUZXh0UG9wb3ZlckJ1dHRvbltdO1xuICAvLyBGb290ZXIgc3R1ZmZcbiAgc2hvd0Zvb3Rlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFBvcG92ZXJCdXR0b24ge1xuICB0ZXh0Pzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBjb2xvcj86IENvbG9yO1xuICBmaWxsPzogJ291dGxpbmUnIHwgJ2NsZWFyJyB8ICdzb2xpZCc7XG4gIHNpZGU/OiAnc3RhcnQnIHwgJ2VuZCc7XG4gIHJvbGU/OiAnY2FuY2VsJyB8IHN0cmluZztcbiAgY3NzQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgaGFuZGxlcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBib29sZWFuIHwgdm9pZCB8IFByb21pc2U8Ym9vbGVhbiB8IHZvaWQ+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGV4dC1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0UG9wb3ZlciBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBUZXh0UG9wb3Zlck9wdGlvbnMge1xuICAvKipcbiAgICogRGlzcGxheXMgYSBwb3BvdmVyIHVzaW5nIHRoZSBwcm92aWRlZCBjb250cm9sbGVyLCBldmVudCwgYW5kIG9wdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9wb3ZlckNvbnRyb2xsZXJ9IGN0cmwgLSBUaGUgcG9wb3ZlciBjb250cm9sbGVyIHVzZWQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgdGhlIHBvcG92ZXIuXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IHRoYXQgdHJpZ2dlcnMgdGhlIGRpc3BsYXkgb2YgdGhlIHBvcG92ZXIuXG4gICAqIEBwYXJhbSB7VGV4dFBvcG92ZXJPcHRpb25zfSBvcHRzIC0gVGhlIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIHRleHQgcG9wb3ZlciBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB7UGFydGlhbDxQb3BvdmVyT3B0aW9ucz59IFtwb3BvdmVyT3B0c10gLSBPcHRpb25hbCBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSBwb3BvdmVyLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPE92ZXJsYXlFdmVudERldGFpbD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGRldGFpbHMgb2YgdGhlIG92ZXJsYXkgZXZlbnQgb25jZSB0aGUgcG9wb3ZlciBpcyBkaXNtaXNzZWQuXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgc2hvdyhcbiAgICBjdHJsOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBldmVudDogRXZlbnQsXG4gICAgb3B0czogVGV4dFBvcG92ZXJPcHRpb25zLFxuICAgIHBvcG92ZXJPcHRzPzogUGFydGlhbDxQb3BvdmVyT3B0aW9ucz5cbiAgKTogUHJvbWlzZTxPdmVybGF5RXZlbnREZXRhaWw+IHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IGN0cmwuY3JlYXRlKHtcbiAgICAgIGV2ZW50LFxuICAgICAgY29tcG9uZW50OiBUZXh0UG9wb3ZlcixcbiAgICAgIGNvbXBvbmVudFByb3BzOiBvcHRzLFxuICAgICAgLi4ucG9wb3Zlck9wdHMsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG4gICAgcmV0dXJuIGF3YWl0IG1vZGFsLm9uRGlkRGlzbWlzcygpO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIGZvcm06IFRleHRGb3JtO1xuXG4gIEBJbnB1dCgpIHNob3dIZWFkZXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhlYWRlckNvbG9yOiBDb2xvciA9IG51bGw7XG4gIEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGVkaXRpbmcgPSB0cnVlO1xuICBASW5wdXQoKSBtdWx0aWxpbmUgPSB0cnVlO1xuICBASW5wdXQoKSBhdXRvSGVpZ2h0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1heExlbmd0aCA9IDIwMDA7XG4gIEBJbnB1dCgpIGF1dG9mb2N1cyA9IGZhbHNlO1xuICBASW5wdXQoKSB2YWxpZGF0b3I6IFZhbGlkYXRvckZuID0gbnVsbDtcbiAgQElucHV0KCkgaGVhZGVyQnV0dG9uczogVGV4dFBvcG92ZXJCdXR0b25bXSA9IG51bGw7XG4gIEBJbnB1dCgpIG1vYmlsZSA9IGZhbHNlO1xuXG4gIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5kaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBlbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZW5hYmxlZDtcbiAgfVxuXG4gIGdldCB2YWxpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtPy52YWxpZCB8fCBmYWxzZTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtPy52YWx1ZS50ZXh0O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dIZWFkZXIgPSB0b0Jvb2xlYW4odGhpcy5zaG93SGVhZGVyLCBpc05vdE5pbE9yQmxhbmsodGhpcy50aXRsZSkgfHwgaXNOb3RFbXB0eUFycmF5KHRoaXMuaGVhZGVyQnV0dG9ucykpO1xuICAgIHRoaXMuc2hvd0Zvb3RlciA9IHRvQm9vbGVhbih0aGlzLnNob3dGb290ZXIsICF0aGlzLm1vYmlsZSk7XG4gICAgdGhpcy5lbmFibGUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9ybS5zZXRWYWx1ZSh7IHRleHQ6IHRoaXMudGV4dCB9KSwgMCk7XG4gIH1cblxuICBhc3luYyBvblZhbGlkYXRlKGV2ZW50OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGF3YWl0IHdhaXRXaGlsZVBlbmRpbmcodGhpcy5mb3JtKTtcblxuICAgIGlmICghdGhpcy52YWxpZCkge1xuICAgICAgbG9nRm9ybUVycm9ycyh0aGlzLmZvcm0udGV4dENvbnRyb2wpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICAgIHRoaXMuZm9ybS5lcnJvciA9IG51bGw7XG4gICAgICBhd2FpdCB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmRpc21pc3ModmFsdWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5mb3JtLmVycm9yID0gKGVyciAmJiBlcnIubWVzc2FnZSkgfHwgZXJyO1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlKCkge1xuICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgaWYgKHRoaXMuZWRpdGluZykgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuZGlzbWlzcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjbGlja0J1dHRvbihidXR0b246IFRleHRQb3BvdmVyQnV0dG9uKSB7XG4gICAgaWYgKHR5cGVvZiBidXR0b24uaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnV0dG9uLmhhbmRsZXIodGhpcy52YWx1ZSk7XG4gICAgICAvLyBUT0RPIGNvbW1lbnQgaW50ZXJwcmV0ZXIgbGUgdHJ1ZSA/PyA9PiBmZXJtZXIgb3UgYW5udWxlciBsJ2FjdGlvbiA/XG4gICAgICBpZiAocmVzdWx0ID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmRpc21pc3ModGhpcy52YWx1ZSwgYnV0dG9uLnJvbGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKHRoaXMudmFsdWUsIGJ1dHRvbi5yb2xlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNTdGFydFNpZGUoYnV0dG9uOiBUZXh0UG9wb3ZlckJ1dHRvbikge1xuICAgIHJldHVybiBidXR0b24/LnNpZGUgPT09ICdzdGFydCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNFbmRTaWRlKGJ1dHRvbjogVGV4dFBvcG92ZXJCdXR0b24pIHtcbiAgICByZXR1cm4gYnV0dG9uPy5zaWRlICE9PSAnc3RhcnQnO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlciAqbmdJZj1cInNob3dIZWFkZXJcIj5cbiAgPGlvbi10b29sYmFyIFtjb2xvcl09XCJoZWFkZXJDb2xvclwiPlxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwibW9iaWxlICYmIGVkaXRpbmdcIiAoY2xpY2spPVwiY2FuY2VsKClcIiBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fQ0FOQ0VMJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJhcnJvdy1iYWNrXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgaGVhZGVyQnV0dG9ucyB8IGFycmF5RmlsdGVyOiBpc1N0YXJ0U2lkZVwiXG4gICAgICAgIFtmaWxsXT1cImJ1dHRvbi5maWxsXCJcbiAgICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvclwiXG4gICAgICAgIChjbGljayk9XCJjbGlja0J1dHRvbihidXR0b24pXCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1pY29uICpuZ0lmPVwiYnV0dG9uLmljb25cIiBbc2xvdF09XCJidXR0b24udGV4dCA/ICdzdGFydCcgOiAnaWNvbi1vbmx5J1wiIFtuYW1lXT1cImJ1dHRvbi5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgPGlvbi10ZXh0ICpuZ0lmPVwiYnV0dG9uLnRleHRcIj57eyBidXR0b24udGV4dCB8IHRyYW5zbGF0ZSB9fTwvaW9uLXRleHQ+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cblxuICAgIDxpb24tdGl0bGUgKm5nSWY9XCJ0aXRsZVwiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9pb24tdGl0bGU+XG5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBoZWFkZXJCdXR0b25zIHwgYXJyYXlGaWx0ZXI6IGlzRW5kU2lkZVwiXG4gICAgICAgIFtmaWxsXT1cImJ1dHRvbi5maWxsXCJcbiAgICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvclwiXG4gICAgICAgIChjbGljayk9XCJjbGlja0J1dHRvbihidXR0b24pXCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1pY29uICpuZ0lmPVwiYnV0dG9uLmljb25cIiBbc2xvdF09XCJidXR0b24udGV4dCA/ICdzdGFydCcgOiAnaWNvbi1vbmx5J1wiIFtuYW1lXT1cImJ1dHRvbi5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgPGlvbi10ZXh0ICpuZ0lmPVwiYnV0dG9uLnRleHRcIj57eyBidXR0b24udGV4dCB8IHRyYW5zbGF0ZSB9fTwvaW9uLXRleHQ+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2JpbGVcIj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImVkaXRpbmdcIlxuICAgICAgICAgIChjbGljayk9XCJvblZhbGlkYXRlKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW3RpdGxlXT1cIidDT01NT04uQlROX1ZBTElEQVRFX1dJVEhfU0hPUlRDVVRfSEVMUCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2hlY2ttYXJrXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cIiFlZGl0aW5nXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgW3RpdGxlXT1cIidDT01NT04uQlROX0NMT1NFJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBbY2xhc3MuaGFzLWhlYWRlcl09XCJzaG93SGVhZGVyXCIgY2RrVHJhcEZvY3VzIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCI+XG4gIDxpb24taXRlbSAqbmdJZj1cImZvcm0uZXJyb3JcIiB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGUgbGluZXM9XCJub25lXCI+XG4gICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgPGlvbi1sYWJlbCBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwiZXJyb3JcIiBbaW5uZXJIVE1MXT1cImZvcm0uZXJyb3IgfCB0cmFuc2xhdGVcIj48L2lvbi1sYWJlbD5cbiAgPC9pb24taXRlbT5cblxuICA8YXBwLXRleHQtZm9ybVxuICAgICNmb3JtXG4gICAgW3N0YW5kYWxvbmVdPVwidHJ1ZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbbXVsdGlsaW5lXT1cIm11bHRpbGluZVwiXG4gICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgIFthdXRvSGVpZ2h0XT1cImF1dG9IZWlnaHRcIlxuICAgIFthdXRvZm9jdXNdPVwiZWRpdGluZyAmJiBhdXRvZm9jdXNcIlxuICAgIFt2YWxpZGF0b3JdPVwidmFsaWRhdG9yXCJcbiAgICAob25TdWJtaXQpPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgPjwvYXBwLXRleHQtZm9ybT5cbjwvaW9uLWNvbnRlbnQ+XG5cbjxpb24tZm9vdGVyICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiIG5vd3JhcD5cbiAgICAgIDxpb24tY29sPjwvaW9uLWNvbD5cblxuICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICAgICAgPGlvbi1sYWJlbCB0cmFuc2xhdGU+Q09NTU9OLkJUTl9DQU5DRUw8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIFtmaWxsXT1cImRpc2FibGVkID8gJ2NsZWFyJyA6ICdzb2xpZCdcIlxuICAgICAgICAgIChjbGljayk9XCJvblZhbGlkYXRlKCRldmVudClcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJvblZhbGlkYXRlKCRldmVudClcIlxuICAgICAgICAgIGNvbG9yPVwidGVydGlhcnlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW3RpdGxlXT1cIidDT01NT04uQlROX1ZBTElEQVRFX1dJVEhfU0hPUlRDVVRfSEVMUCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1sYWJlbCB0cmFuc2xhdGU+Q09NTU9OLkJUTl9WQUxJREFURTwvaW9uLWxhYmVsPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2lvbi1jb2w+XG4gICAgPC9pb24tcm93PlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24tZm9vdGVyPlxuIl19