@ethlete/cdk 4.3.0 → 4.3.2

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 (20) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/esm2022/lib/components/overlay/components/overlay/services/overlay.service.mjs +2 -2
  3. package/esm2022/lib/components/overlay/components/overlay/types/overlay.types.mjs +1 -1
  4. package/esm2022/lib/components/overlay/components/overlay/utils/overlay-position-builder.mjs +7 -7
  5. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +10 -9
  6. package/esm2022/lib/components/scrollable/directives/public-api.mjs +2 -1
  7. package/esm2022/lib/components/scrollable/directives/scrollable-ignore-child/scrollable-ignore-child.directive.mjs +3 -3
  8. package/esm2022/lib/components/scrollable/directives/scrollable-is-active-child/public-api.mjs +2 -0
  9. package/esm2022/lib/components/scrollable/directives/scrollable-is-active-child/scrollable-is-active-child.directive.mjs +45 -0
  10. package/esm2022/lib/components/scrollable/scrollable.imports.mjs +4 -7
  11. package/fesm2022/ethlete-cdk.mjs +62 -22
  12. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  13. package/lib/components/overlay/components/overlay/types/overlay.types.d.ts +1 -1
  14. package/lib/components/overlay/components/overlay/utils/overlay-position-builder.d.ts +6 -6
  15. package/lib/components/scrollable/components/scrollable/scrollable.component.d.ts +3 -2
  16. package/lib/components/scrollable/directives/public-api.d.ts +1 -0
  17. package/lib/components/scrollable/directives/scrollable-is-active-child/public-api.d.ts +1 -0
  18. package/lib/components/scrollable/directives/scrollable-is-active-child/scrollable-is-active-child.directive.d.ts +17 -0
  19. package/lib/components/scrollable/scrollable.imports.d.ts +2 -2
  20. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 4.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`2d37da99`](https://github.com/ethlete-io/ethdk/commit/2d37da99d930b0e8da1bf5aaf2656a9db80fb33f) Thanks [@TomTomB](https://github.com/TomTomB)! - Fix overlay position breaking if the overlay gets closed and opened rapidly
8
+
9
+ - [`57cecd4c`](https://github.com/ethlete-io/ethdk/commit/57cecd4c6e529c97af730c9280aee1bdaebd7e59) Thanks [@TomTomB](https://github.com/TomTomB)! - Fix ignored scrollable children not being ignored
10
+
11
+ - [`523d7665`](https://github.com/ethlete-io/ethdk/commit/523d7665eb14242647d1bf3f6cb1dc82f68f1eba) Thanks [@TomTomB](https://github.com/TomTomB)! - Disable tab index for scrollable navigation
12
+
13
+ ## 4.3.1
14
+
15
+ ### Patch Changes
16
+
17
+ - [`3827b45f`](https://github.com/ethlete-io/ethdk/commit/3827b45ff923d82bc257896662aee6d1fe150697) Thanks [@TomTomB](https://github.com/TomTomB)! - Replace `etIsActiveElement` usage with `etScrollableIsActiveChild` inside scrollable components
18
+
3
19
  ## 4.3.0
4
20
 
5
21
  ### Minor Changes
@@ -211,7 +211,7 @@ export class OverlayService {
211
211
  overlayRef.updatePosition(currConfig.position);
212
212
  }
213
213
  if (currConfig.positionStrategy) {
214
- cdkRef.overlayRef.updatePositionStrategy(currConfig.positionStrategy);
214
+ cdkRef.overlayRef.updatePositionStrategy(currConfig.positionStrategy());
215
215
  }
216
216
  else {
217
217
  cdkRef.overlayRef.updatePosition();
@@ -285,4 +285,4 @@ export class OverlayService {
285
285
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OverlayService, decorators: [{
286
286
  type: Injectable
287
287
  }] });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5L3NlcnZpY2VzL292ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxJQUFJLFNBQVMsRUFBRSxZQUFZLElBQUksZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0YsT0FBTyxFQUFnQixVQUFVLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUcsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLG1CQUFtQixHQUNwQixNQUFNLFVBQVUsQ0FBQzs7QUFFbEIsSUFBSSxRQUFRLEdBQUcsQ0FB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QUM7Z0JBQUUsT0FBTztZQUV6QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNsQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFXLENBQUM7UUFFbkIsMkRBQTJEO0lBQzdELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFzQjtRQUMzQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBRXhCLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDVixRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUMxQyxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQztJQUNoRixDQUFDOzhHQTlTVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VDc3NQaXhlbFZhbHVlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERpYWxvZyBhcyBDZGtEaWFsb2csIERpYWxvZ0NvbmZpZyBhcyBDZGtEaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSwgVGVtcGxhdGVSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUk9PVF9CT1VOREFSWV9UT0tFTiwgUm9vdEJvdW5kYXJ5RGlyZWN0aXZlLCBWaWV3cG9ydFNlcnZpY2UsIGNyZWF0ZURlc3Ryb3ksIGVxdWFsIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBQcm92aWRlVGhlbWVEaXJlY3RpdmUsIFRIRU1FX1BST1ZJREVSIH0gZnJvbSAnQGV0aGxldGUvdGhlbWluZyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkZWZlciwgbWFwLCBvZiwgcGFpcndpc2UsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IE9WRVJMQVlfQ09ORklHLCBPVkVSTEFZX0RBVEEsIE9WRVJMQVlfREVGQVVMVF9PUFRJT05TLCBPVkVSTEFZX1NDUk9MTF9TVFJBVEVHWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPdmVybGF5Q29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgRVRfT1ZFUkxBWV9CT1RUT01fU0hFRVRfQ0xBU1MsXG4gIEVUX09WRVJMQVlfTEVGVF9TSEVFVF9DTEFTUyxcbiAgRVRfT1ZFUkxBWV9SSUdIVF9TSEVFVF9DTEFTUyxcbiAgRVRfT1ZFUkxBWV9UT1BfU0hFRVRfQ0xBU1MsXG4gIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gIE92ZXJsYXlSZWYsXG4gIGNyZWF0ZU92ZXJsYXlDb25maWcsXG59IGZyb20gJy4uL3V0aWxzJztcblxubGV0IHVuaXF1ZUlkID0gMDtcbmNvbnN0IElEX1BSRUZJWCA9ICdldC1vdmVybGF5LSc7XG5cbmNvbnN0IHNldFN0eWxlID0gKGVsOiBIVE1MRWxlbWVudCwgc3R5bGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpID0+IHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICBlbC5zdHlsZS5yZW1vdmVQcm9wZXJ0eShzdHlsZSk7XG4gIH0gZWxzZSB7XG4gICAgZWwuc3R5bGUuc2V0UHJvcGVydHkoc3R5bGUsIGNvZXJjZUNzc1BpeGVsVmFsdWUodmFsdWUpKTtcbiAgfVxufTtcblxuY29uc3Qgc2V0Q2xhc3MgPSAoZWw6IEhUTUxFbGVtZW50LCBwcmV2Q2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXSwgY3VyckNsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10pID0+IHtcbiAgaWYgKCFlcXVhbChwcmV2Q2xhc3MsIGN1cnJDbGFzcykpIHtcbiAgICBpZiAocHJldkNsYXNzKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShwcmV2Q2xhc3MpKSB7XG4gICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoLi4ucHJldkNsYXNzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUocHJldkNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY3VyckNsYXNzKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjdXJyQ2xhc3MpKSB7XG4gICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoLi4uY3VyckNsYXNzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoY3VyckNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IGlzSHRtbEVsZW1lbnQgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmtub3duKTogZWxlbWVudCBpcyBIVE1MRWxlbWVudCA9PiB7XG4gIHJldHVybiBlbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7XG59O1xuXG5jb25zdCBpc1RvdWNoRXZlbnQgPSAoZXZlbnQ6IEV2ZW50KTogZXZlbnQgaXMgVG91Y2hFdmVudCA9PiB7XG4gIHJldHVybiBldmVudC50eXBlWzBdID09PSAndCc7XG59O1xuXG5jb25zdCBpc1BvaW50ZXJFdmVudCA9IChldmVudDogRXZlbnQpOiBldmVudCBpcyBQb2ludGVyRXZlbnQgPT4ge1xuICByZXR1cm4gZXZlbnQudHlwZVswXSA9PT0gJ2MnO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE92ZXJsYXlTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRPcHRpb25zID0gaW5qZWN0KE9WRVJMQVlfREVGQVVMVF9PUFRJT05TLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zY3JvbGxTdHJhdGVneSA9IGluamVjdChPVkVSTEFZX1NDUk9MTF9TVFJBVEVHWSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudE92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KE92ZXJsYXlTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlLCBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlhbG9nID0gaW5qZWN0KENka0RpYWxvZyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdwb3J0U2VydmljZSA9IGluamVjdChWaWV3cG9ydFNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29wZW5PdmVybGF5c0F0VGhpc0xldmVsOiBPdmVybGF5UmVmW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJBbGxDbG9zZWRBdFRoaXNMZXZlbCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FmdGVyT3BlbmVkQXRUaGlzTGV2ZWwgPSBuZXcgU3ViamVjdDxPdmVybGF5UmVmPigpO1xuXG4gIHJlYWRvbmx5IHBvc2l0aW9ucyA9IG5ldyBPdmVybGF5UG9zaXRpb25CdWlsZGVyKCk7XG5cbiAgcmVhZG9ubHkgYWZ0ZXJBbGxDbG9zZWQgPSBkZWZlcigoKSA9PlxuICAgIHRoaXMub3Blbk92ZXJsYXlzLmxlbmd0aCA/IHRoaXMuX2dldEFmdGVyQWxsQ2xvc2VkKCkgOiB0aGlzLl9nZXRBZnRlckFsbENsb3NlZCgpLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpLFxuICApIGFzIE9ic2VydmFibGU8dm9pZD47XG5cbiAgZ2V0IG9wZW5PdmVybGF5cygpOiBPdmVybGF5UmVmW10ge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnRPdmVybGF5U2VydmljZSA/IHRoaXMuX3BhcmVudE92ZXJsYXlTZXJ2aWNlLm9wZW5PdmVybGF5cyA6IHRoaXMuX29wZW5PdmVybGF5c0F0VGhpc0xldmVsO1xuICB9XG5cbiAgZ2V0IGFmdGVyT3BlbmVkKCk6IFN1YmplY3Q8T3ZlcmxheVJlZj4ge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnRPdmVybGF5U2VydmljZSA/IHRoaXMuX3BhcmVudE92ZXJsYXlTZXJ2aWNlLmFmdGVyT3BlbmVkIDogdGhpcy5fYWZ0ZXJPcGVuZWRBdFRoaXNMZXZlbDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Nsb3NlT3ZlcmxheXModGhpcy5fb3Blbk92ZXJsYXlzQXRUaGlzTGV2ZWwpO1xuICAgIHRoaXMuX2FmdGVyQWxsQ2xvc2VkQXRUaGlzTGV2ZWwuY29tcGxldGUoKTtcbiAgICB0aGlzLl9hZnRlck9wZW5lZEF0VGhpc0xldmVsLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc6IE92ZXJsYXlDb25maWc8RD4pOiBPdmVybGF5UmVmPFQsIFI+O1xuICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4odGVtcGxhdGU6IFRlbXBsYXRlUmVmPFQ+LCBjb25maWc6IE92ZXJsYXlDb25maWc8RD4pOiBPdmVybGF5UmVmPFQsIFI+O1xuICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oXG4gICAgdGVtcGxhdGU6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICBjb25maWc6IE92ZXJsYXlDb25maWc8RD4sXG4gICk6IE92ZXJsYXlSZWY8VCwgUj47XG4gIG9wZW48VCwgRCA9IHVua25vd24sIFIgPSB1bmtub3duPihcbiAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sXG4gICAgY29uZmlnOiBPdmVybGF5Q29uZmlnPEQ+LFxuICApOiBPdmVybGF5UmVmPFQsIFI+IHtcbiAgICBsZXQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjxULCBSPjtcblxuICAgIGNvbnN0IGNvbXBvc2VkQ29uZmlnID0gY3JlYXRlT3ZlcmxheUNvbmZpZzxEPih0aGlzLl9kZWZhdWx0T3B0aW9ucyBhcyBPdmVybGF5Q29uZmlnPEQ+LCBjb25maWcpO1xuICAgIGNvbXBvc2VkQ29uZmlnLmlkID0gY29tcG9zZWRDb25maWcuaWQgfHwgYCR7SURfUFJFRklYfSR7dW5pcXVlSWQrK31gO1xuICAgIGNvbXBvc2VkQ29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gY29tcG9zZWRDb25maWcuc2Nyb2xsU3RyYXRlZ3kgfHwgdGhpcy5fc2Nyb2xsU3RyYXRlZ3koKTtcblxuICAgIGNvbnN0IGNka1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuPFIsIEQsIFQ+KGNvbXBvbmVudE9yVGVtcGxhdGVSZWYsIHtcbiAgICAgIC4uLmNvbXBvc2VkQ29uZmlnLFxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgY2xvc2VPbkRlc3Ryb3k6IGZhbHNlLFxuICAgICAgcGFuZWxDbGFzczogJ2V0LW92ZXJsYXktcGFuZScsXG4gICAgICBjb250YWluZXI6IHtcbiAgICAgICAgdHlwZTogT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgcHJvdmlkZXJzOiAoKSA9PiBbXG4gICAgICAgICAgeyBwcm92aWRlOiBPVkVSTEFZX0NPTkZJRywgdXNlVmFsdWU6IGNvbXBvc2VkQ29uZmlnIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBDZGtEaWFsb2dDb25maWcsIHVzZVZhbHVlOiBjb21wb3NlZENvbmZpZyB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHRlbXBsYXRlQ29udGV4dDogKCkgPT4gKHsgZGlhbG9nUmVmOiBvdmVybGF5UmVmIH0pLFxuICAgICAgcHJvdmlkZXJzOiAocmVmLCBjZGtDb25maWcsIG92ZXJsYXlDb250YWluZXIpID0+IHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gb3ZlcmxheUNvbnRhaW5lciBhcyBPdmVybGF5Q29udGFpbmVyQ29tcG9uZW50O1xuICAgICAgICBvdmVybGF5UmVmID0gbmV3IE92ZXJsYXlSZWYocmVmLCBjb21wb3NlZENvbmZpZywgY29udGFpbmVyKTtcblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHsgcHJvdmlkZTogT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCwgdXNlVmFsdWU6IG92ZXJsYXlDb250YWluZXIgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IFRIRU1FX1BST1ZJREVSLCB1c2VWYWx1ZTogY29udGFpbmVyLl90aGVtZVByb3ZpZGVyIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBQcm92aWRlVGhlbWVEaXJlY3RpdmUsIHVzZVZhbHVlOiBjb250YWluZXIuX3RoZW1lUHJvdmlkZXIgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IFJPT1RfQk9VTkRBUllfVE9LRU4sIHVzZVZhbHVlOiBjb250YWluZXIuX3Jvb3RCb3VuZGFyeSB9LFxuICAgICAgICAgIHsgcHJvdmlkZTogUm9vdEJvdW5kYXJ5RGlyZWN0aXZlLCB1c2VWYWx1ZTogY29udGFpbmVyLl9yb290Qm91bmRhcnkgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IE9WRVJMQVlfREFUQSwgdXNlVmFsdWU6IGNka0NvbmZpZy5kYXRhIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBPdmVybGF5UmVmLCB1c2VWYWx1ZTogb3ZlcmxheVJlZiB9LFxuICAgICAgICAgIHsgcHJvdmlkZTogT3ZlcmxheVJlZiwgdXNlVmFsdWU6IG92ZXJsYXlSZWYgfSxcbiAgICAgICAgICAuLi4oY29tcG9zZWRDb25maWcucHJvdmlkZXJzID8/IFtdKSxcbiAgICAgICAgXTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uKi9cbiAgICAob3ZlcmxheVJlZiEgYXMgeyBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiB9KS5jb21wb25lbnRSZWYgPSBjZGtSZWYuY29tcG9uZW50UmVmITtcbiAgICBvdmVybGF5UmVmIS5jb21wb25lbnRJbnN0YW5jZSA9IGNka1JlZi5jb21wb25lbnRJbnN0YW5jZSE7XG5cbiAgICAoY2RrUmVmLmNvbnRhaW5lckluc3RhbmNlIGFzIE92ZXJsYXlDb250YWluZXJDb21wb25lbnQpLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmITtcblxuICAgIGNvbnN0IGNvbnRhaW5lckVsID0gb3ZlcmxheVJlZiEuX2NvbnRhaW5lckluc3RhbmNlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBvdmVybGF5UGFuZUVsID0gY2RrUmVmLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQ7XG4gICAgY29uc3QgYmFja2Ryb3BFbCA9IGNka1JlZi5vdmVybGF5UmVmLmJhY2tkcm9wRWxlbWVudDtcbiAgICBjb25zdCBvdmVybGF5V3JhcHBlciA9IGNka1JlZi5vdmVybGF5UmVmLmhvc3RFbGVtZW50O1xuICAgIGNvbnN0IGRlZmF1bHRBbmltYXRpb25CdWZmZXIgPSA1MDsgLy8gNTBweCBzaW5jZSB0aGUgZGVmYXVsdCBhbmltYXRpb24gdXNlcyBzcHJpbmcgcGh5c2ljcyBhbmQgdGh1cyB3aWxsIG92ZXJzaG9vdC5cbiAgICBjb25zdCB1c2VEZWZhdWx0QW5pbWF0aW9uID0gY29tcG9zZWRDb25maWcuY3VzdG9tQW5pbWF0ZWQgIT09IHRydWU7XG4gICAgY29uc3Qgb3JpZ2luID0gY29tcG9zZWRDb25maWcub3JpZ2luO1xuXG4gICAgY29tYmluZUxhdGVzdChcbiAgICAgIGNvbXBvc2VkQ29uZmlnLnBvc2l0aW9ucy5tYXAoKGJyZWFrcG9pbnQpID0+XG4gICAgICAgIChicmVha3BvaW50LmJyZWFrcG9pbnQgPyB0aGlzLl92aWV3cG9ydFNlcnZpY2Uub2JzZXJ2ZSh7IG1pbjogYnJlYWtwb2ludC5icmVha3BvaW50IH0pIDogb2YodHJ1ZSkpLnBpcGUoXG4gICAgICAgICAgbWFwKChpc0FjdGl2ZSkgPT4gKHtcbiAgICAgICAgICAgIGlzQWN0aXZlLFxuICAgICAgICAgICAgY29uZmlnOiBicmVha3BvaW50LmNvbmZpZyxcbiAgICAgICAgICAgIHNpemU6XG4gICAgICAgICAgICAgIHR5cGVvZiBicmVha3BvaW50LmJyZWFrcG9pbnQgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgPyBicmVha3BvaW50LmJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICA6IGJyZWFrcG9pbnQuYnJlYWtwb2ludCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgICAgIDogdGhpcy5fdmlld3BvcnRTZXJ2aWNlLmdldEJyZWFrcG9pbnRTaXplKGJyZWFrcG9pbnQuYnJlYWtwb2ludCwgJ21pbicpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbChvdmVybGF5UmVmIS5hZnRlckNsb3NlZCgpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgbWFwKChlbnRyaWVzKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWN0aXZlQnJlYWtwb2ludHMgPSBlbnRyaWVzLmZpbHRlcigoZW50cnkpID0+IGVudHJ5LmlzQWN0aXZlKTtcbiAgICAgICAgICBjb25zdCBoaWdoZXN0QnJlYWtwb2ludCA9IGFjdGl2ZUJyZWFrcG9pbnRzLnJlZHVjZSgocHJldiwgY3VycikgPT4gKHByZXYuc2l6ZSA+IGN1cnIuc2l6ZSA/IHByZXYgOiBjdXJyKSk7XG5cbiAgICAgICAgICByZXR1cm4gaGlnaGVzdEJyZWFrcG9pbnQuY29uZmlnO1xuICAgICAgICB9KSxcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICB0YXAoKFtwcmV2Q29uZmlnLCBjdXJyQ29uZmlnXSkgPT4ge1xuICAgICAgICAgIGlmICghY3VyckNvbmZpZykgcmV0dXJuO1xuXG4gICAgICAgICAgY29uc3QgY29udGFpbmVyQ2xhc3MgPSBjdXJyQ29uZmlnLmNvbnRhaW5lckNsYXNzO1xuXG4gICAgICAgICAgY29uc3QgYXBwbHlEZWZhdWx0TWF4V2lkdGhzID0gKCkgPT4ge1xuICAgICAgICAgICAgc2V0U3R5bGUob3ZlcmxheVBhbmVFbCwgJ21heC13aWR0aCcsIGN1cnJDb25maWcubWF4V2lkdGgpO1xuICAgICAgICAgICAgc2V0U3R5bGUob3ZlcmxheVBhbmVFbCwgJ21heC1oZWlnaHQnLCBjdXJyQ29uZmlnLm1heEhlaWdodCk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGNvbnN0IGNvbWJpbmVPck1ha2VDYWxjID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLCBhcHBlbmQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIGFwcGVuZDtcblxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGBjYWxjKCR7dmFsdWV9cHggKyAke2FwcGVuZH0pYDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUuc3RhcnRzV2l0aCgnY2FsYygnKSkge1xuICAgICAgICAgICAgICByZXR1cm4gYCR7dmFsdWUuc2xpY2UoMCwgdmFsdWUubGVuZ3RoIC0gMSl9ICsgJHthcHBlbmR9KWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBgY2FsYygke3ZhbHVlfSArICR7YXBwZW5kfSlgO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAob3JpZ2luKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBJZiBnZXRCb3VuZGluZ0NsaWVudFJlY3QgaXMgdXNlZCBpdCBzaG91bGQgdXNlIHRoZSBjZW50ZXIgb2YgdGhlIGVsZW1lbnQuXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5YID0gaXNIdG1sRWxlbWVudChvcmlnaW4pXG4gICAgICAgICAgICAgID8gb3JpZ2luLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnRcbiAgICAgICAgICAgICAgOiBpc1RvdWNoRXZlbnQob3JpZ2luKVxuICAgICAgICAgICAgICAgID8gb3JpZ2luLnRhcmdldFRvdWNoZXNbMF0hLmNsaWVudFhcbiAgICAgICAgICAgICAgICA6IGlzUG9pbnRlckV2ZW50KG9yaWdpbilcbiAgICAgICAgICAgICAgICAgID8gb3JpZ2luLmNsaWVudFggIT09IDBcbiAgICAgICAgICAgICAgICAgICAgPyBvcmlnaW4uY2xpZW50WFxuICAgICAgICAgICAgICAgICAgICA6IChvcmlnaW4udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgICAgICAgICAgICAgICA6IC0xO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luWSA9IGlzSHRtbEVsZW1lbnQob3JpZ2luKVxuICAgICAgICAgICAgICA/IG9yaWdpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3BcbiAgICAgICAgICAgICAgOiBpc1RvdWNoRXZlbnQob3JpZ2luKVxuICAgICAgICAgICAgICAgID8gb3JpZ2luLnRhcmdldFRvdWNoZXNbMF0hLmNsaWVudFlcbiAgICAgICAgICAgICAgICA6IGlzUG9pbnRlckV2ZW50KG9yaWdpbilcbiAgICAgICAgICAgICAgICAgID8gb3JpZ2luLmNsaWVudFkgIT09IDBcbiAgICAgICAgICAgICAgICAgICAgPyBvcmlnaW4uY2xpZW50WVxuICAgICAgICAgICAgICAgICAgICA6IChvcmlnaW4udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3BcbiAgICAgICAgICAgICAgICAgIDogLTE7XG5cbiAgICAgICAgICAgIGlmIChvcmlnaW5YICE9PSAtMSAmJiBvcmlnaW5ZICE9PSAtMSAmJiBjdXJyQ29uZmlnLmFwcGx5VHJhbnNmb3JtT3JpZ2luKSB7XG4gICAgICAgICAgICAgIHNldFN0eWxlKGNvbnRhaW5lckVsLCAndHJhbnNmb3JtLW9yaWdpbicsIGAke29yaWdpblh9cHggJHtvcmlnaW5ZfXB4YCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRTdHlsZShjb250YWluZXJFbCwgJ3RyYW5zZm9ybS1vcmlnaW4nLCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodXNlRGVmYXVsdEFuaW1hdGlvbiAmJiBjb250YWluZXJDbGFzcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzPy5pbmNsdWRlcyhFVF9PVkVSTEFZX0xFRlRfU0hFRVRfQ0xBU1MpIHx8XG4gICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzPy5pbmNsdWRlcyhFVF9PVkVSTEFZX1JJR0hUX1NIRUVUX0NMQVNTKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHNldFN0eWxlKFxuICAgICAgICAgICAgICAgIG92ZXJsYXlQYW5lRWwsXG4gICAgICAgICAgICAgICAgJ21heC13aWR0aCcsXG4gICAgICAgICAgICAgICAgY29tYmluZU9yTWFrZUNhbGMoY3VyckNvbmZpZy5tYXhXaWR0aCwgYCR7ZGVmYXVsdEFuaW1hdGlvbkJ1ZmZlcn1weGApLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnbWF4LWhlaWdodCcsIGN1cnJDb25maWcubWF4SGVpZ2h0KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzPy5pbmNsdWRlcyhFVF9PVkVSTEFZX1RPUF9TSEVFVF9DTEFTUykgfHxcbiAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M/LmluY2x1ZGVzKEVUX09WRVJMQVlfQk9UVE9NX1NIRUVUX0NMQVNTKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHNldFN0eWxlKFxuICAgICAgICAgICAgICAgIG92ZXJsYXlQYW5lRWwsXG4gICAgICAgICAgICAgICAgJ21heC1oZWlnaHQnLFxuICAgICAgICAgICAgICAgIGNvbWJpbmVPck1ha2VDYWxjKGN1cnJDb25maWcubWF4SGVpZ2h0LCBgJHtkZWZhdWx0QW5pbWF0aW9uQnVmZmVyfXB4YCksXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgc2V0U3R5bGUob3ZlcmxheVBhbmVFbCwgJ21heC13aWR0aCcsIGN1cnJDb25maWcubWF4V2lkdGgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYXBwbHlEZWZhdWx0TWF4V2lkdGhzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFwcGx5RGVmYXVsdE1heFdpZHRocygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICdtaW4td2lkdGgnLCBjdXJyQ29uZmlnLm1pbldpZHRoKTtcbiAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnbWluLWhlaWdodCcsIGN1cnJDb25maWcubWluSGVpZ2h0KTtcblxuICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICd3aWR0aCcsIGN1cnJDb25maWcud2lkdGgpO1xuICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICdoZWlnaHQnLCBjdXJyQ29uZmlnLmhlaWdodCk7XG5cbiAgICAgICAgICBzZXRDbGFzcyhjb250YWluZXJFbCwgcHJldkNvbmZpZz8uY29udGFpbmVyQ2xhc3MsIGN1cnJDb25maWc/LmNvbnRhaW5lckNsYXNzKTtcbiAgICAgICAgICBzZXRDbGFzcyhvdmVybGF5UGFuZUVsLCBwcmV2Q29uZmlnPy5wYW5lQ2xhc3MsIGN1cnJDb25maWc/LnBhbmVDbGFzcyk7XG4gICAgICAgICAgc2V0Q2xhc3Mob3ZlcmxheVdyYXBwZXIsIHByZXZDb25maWc/Lm92ZXJsYXlDbGFzcywgY3VyckNvbmZpZz8ub3ZlcmxheUNsYXNzKTtcblxuICAgICAgICAgIC8vIEZJWE1FOiBUaGVzZSBjbGFzc2VzIHNob3VsZCBvbmx5IGJlIHJlbW92ZWQgaWYgbm8gb3BlbiBvdmVybGF5cyByZXF1aXJlIHRoZW0gaW5zaWRlIHRoZWlyIGNvbmZpZy5cbiAgICAgICAgICBzZXRDbGFzcyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHByZXZDb25maWc/LmRvY3VtZW50Q2xhc3MsIGN1cnJDb25maWc/LmRvY3VtZW50Q2xhc3MpO1xuICAgICAgICAgIHNldENsYXNzKGRvY3VtZW50LmJvZHksIHByZXZDb25maWc/LmJvZHlDbGFzcywgY3VyckNvbmZpZz8uYm9keUNsYXNzKTtcblxuICAgICAgICAgIGlmIChiYWNrZHJvcEVsKSB7XG4gICAgICAgICAgICBzZXRDbGFzcyhiYWNrZHJvcEVsLCBwcmV2Q29uZmlnPy5iYWNrZHJvcENsYXNzLCBjdXJyQ29uZmlnPy5iYWNrZHJvcENsYXNzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWVxdWFsKHByZXZDb25maWc/LnBvc2l0aW9uLCBjdXJyQ29uZmlnPy5wb3NpdGlvbikpIHtcbiAgICAgICAgICAgIG92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oY3VyckNvbmZpZy5wb3NpdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGN1cnJDb25maWcucG9zaXRpb25TdHJhdGVneSkge1xuICAgICAgICAgICAgY2RrUmVmLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb25TdHJhdGVneShjdXJyQ29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjZGtSZWYub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjdXJyQ29uZmlnLmRyYWdUb0Rpc21pc3MpIHtcbiAgICAgICAgICAgIG92ZXJsYXlSZWYuX2NvbnRhaW5lckluc3RhbmNlLl9lbmFibGVEcmFnVG9EaXNtaXNzKGN1cnJDb25maWcuZHJhZ1RvRGlzbWlzcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG92ZXJsYXlSZWYuX2NvbnRhaW5lckluc3RhbmNlLl9kaXNhYmxlRHJhZ1RvRGlzbWlzcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLm9wZW5PdmVybGF5cy5wdXNoKG92ZXJsYXlSZWYhKTtcbiAgICB0aGlzLmFmdGVyT3BlbmVkLm5leHQob3ZlcmxheVJlZiEpO1xuXG4gICAgb3ZlcmxheVJlZiEuYmVmb3JlQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIC8vIEZJWE1FOiBUaGVzZSBjbGFzc2VzIHNob3VsZCBvbmx5IGJlIHJlbW92ZWQgaWYgbm8gb3BlbiBvdmVybGF5cyByZXF1aXJlIHRoZW0gaW5zaWRlIHRoZWlyIGNvbmZpZy5cbiAgICAgIGNvbnN0IGRvY3VtZW50Q2xhc3NlcyA9IGNvbXBvc2VkQ29uZmlnLnBvc2l0aW9ucy5tYXAoKHBvc2l0aW9uKSA9PiBwb3NpdGlvbi5jb25maWcuZG9jdW1lbnRDbGFzcyk7XG5cbiAgICAgIGZvciAoY29uc3Qga2xhc3Mgb2YgZG9jdW1lbnRDbGFzc2VzKSB7XG4gICAgICAgIGlmICgha2xhc3MpIGNvbnRpbnVlO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGtsYXNzKSkge1xuICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmtsYXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShrbGFzcyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgYm9keUNsYXNzZXMgPSBjb21wb3NlZENvbmZpZy5wb3NpdGlvbnMubWFwKChwb3NpdGlvbikgPT4gcG9zaXRpb24uY29uZmlnLmJvZHlDbGFzcyk7XG5cbiAgICAgIGZvciAoY29uc3Qga2xhc3Mgb2YgYm9keUNsYXNzZXMpIHtcbiAgICAgICAgaWYgKCFrbGFzcykgY29udGludWU7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoa2xhc3MpKSB7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKC4uLmtsYXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoa2xhc3MpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBvdmVybGF5UmVmIS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMub3Blbk92ZXJsYXlzLmluZGV4T2Yob3ZlcmxheVJlZik7XG5cbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHJldHVybjtcblxuICAgICAgdGhpcy5vcGVuT3ZlcmxheXMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgaWYgKCF0aGlzLm9wZW5PdmVybGF5cy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5fZ2V0QWZ0ZXJBbGxDbG9zZWQoKS5uZXh0KCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3ZlcmxheVJlZiE7XG5cbiAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24qL1xuICB9XG5cbiAgY2xvc2VBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2VPdmVybGF5cyh0aGlzLm9wZW5PdmVybGF5cyk7XG4gIH1cblxuICBnZXRPdmVybGF5QnlJZChpZDogc3RyaW5nKTogT3ZlcmxheVJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMub3Blbk92ZXJsYXlzLmZpbmQoKG92ZXJsYXkpID0+IG92ZXJsYXkuaWQgPT09IGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlT3ZlcmxheXMob3ZlcmxheXM6IE92ZXJsYXlSZWZbXSkge1xuICAgIGxldCBpID0gb3ZlcmxheXMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgb3ZlcmxheXNbaV0/LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QWZ0ZXJBbGxDbG9zZWQoKTogU3ViamVjdDx2b2lkPiB7XG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5fcGFyZW50T3ZlcmxheVNlcnZpY2U7XG4gICAgcmV0dXJuIHBhcmVudCA/IHBhcmVudC5fZ2V0QWZ0ZXJBbGxDbG9zZWQoKSA6IHRoaXMuX2FmdGVyQWxsQ2xvc2VkQXRUaGlzTGV2ZWw7XG4gIH1cbn1cbiJdfQ==
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5L3NlcnZpY2VzL292ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxJQUFJLFNBQVMsRUFBRSxZQUFZLElBQUksZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0YsT0FBTyxFQUFnQixVQUFVLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUcsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLG1CQUFtQixHQUNwQixNQUFNLFVBQVUsQ0FBQzs7QUFFbEIsSUFBSSxRQUFRLEdBQUcsQ0FB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QUMsQ0FBQztnQkFBRSxPQUFPO1lBRXpCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVcsQ0FBQztRQUVuQiwyREFBMkQ7SUFDN0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQXNCO1FBQzNDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFeEIsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUNWLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDO0lBQ2hGLENBQUM7OEdBOVNVLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUNzc1BpeGVsVmFsdWUgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGlhbG9nIGFzIENka0RpYWxvZywgRGlhbG9nQ29uZmlnIGFzIENka0RpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBST09UX0JPVU5EQVJZX1RPS0VOLCBSb290Qm91bmRhcnlEaXJlY3RpdmUsIFZpZXdwb3J0U2VydmljZSwgY3JlYXRlRGVzdHJveSwgZXF1YWwgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFByb3ZpZGVUaGVtZURpcmVjdGl2ZSwgVEhFTUVfUFJPVklERVIgfSBmcm9tICdAZXRobGV0ZS90aGVtaW5nJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlZmVyLCBtYXAsIG9mLCBwYWlyd2lzZSwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgT1ZFUkxBWV9DT05GSUcsIE9WRVJMQVlfREFUQSwgT1ZFUkxBWV9ERUZBVUxUX09QVElPTlMsIE9WRVJMQVlfU0NST0xMX1NUUkFURUdZIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE92ZXJsYXlDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge1xuICBFVF9PVkVSTEFZX0JPVFRPTV9TSEVFVF9DTEFTUyxcbiAgRVRfT1ZFUkxBWV9MRUZUX1NIRUVUX0NMQVNTLFxuICBFVF9PVkVSTEFZX1JJR0hUX1NIRUVUX0NMQVNTLFxuICBFVF9PVkVSTEFZX1RPUF9TSEVFVF9DTEFTUyxcbiAgT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgT3ZlcmxheVJlZixcbiAgY3JlYXRlT3ZlcmxheUNvbmZpZyxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuY29uc3QgSURfUFJFRklYID0gJ2V0LW92ZXJsYXktJztcblxuY29uc3Qgc2V0U3R5bGUgPSAoZWw6IEhUTUxFbGVtZW50LCBzdHlsZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4ge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIGVsLnN0eWxlLnJlbW92ZVByb3BlcnR5KHN0eWxlKTtcbiAgfSBlbHNlIHtcbiAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShzdHlsZSwgY29lcmNlQ3NzUGl4ZWxWYWx1ZSh2YWx1ZSkpO1xuICB9XG59O1xuXG5jb25zdCBzZXRDbGFzcyA9IChlbDogSFRNTEVsZW1lbnQsIHByZXZDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdLCBjdXJyQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4ge1xuICBpZiAoIWVxdWFsKHByZXZDbGFzcywgY3VyckNsYXNzKSkge1xuICAgIGlmIChwcmV2Q2xhc3MpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHByZXZDbGFzcykpIHtcbiAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSguLi5wcmV2Q2xhc3MpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShwcmV2Q2xhc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjdXJyQ2xhc3MpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJDbGFzcykpIHtcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZCguLi5jdXJyQ2xhc3MpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZChjdXJyQ2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuY29uc3QgaXNIdG1sRWxlbWVudCA9IChlbGVtZW50OiBIVE1MRWxlbWVudCB8IHVua25vd24pOiBlbGVtZW50IGlzIEhUTUxFbGVtZW50ID0+IHtcbiAgcmV0dXJuIGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDtcbn07XG5cbmNvbnN0IGlzVG91Y2hFdmVudCA9IChldmVudDogRXZlbnQpOiBldmVudCBpcyBUb3VjaEV2ZW50ID0+IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGVbMF0gPT09ICd0Jztcbn07XG5cbmNvbnN0IGlzUG9pbnRlckV2ZW50ID0gKGV2ZW50OiBFdmVudCk6IGV2ZW50IGlzIFBvaW50ZXJFdmVudCA9PiB7XG4gIHJldHVybiBldmVudC50eXBlWzBdID09PSAnYyc7XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3ZlcmxheVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdE9wdGlvbnMgPSBpbmplY3QoT1ZFUkxBWV9ERUZBVUxUX09QVElPTlMsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Njcm9sbFN0cmF0ZWd5ID0gaW5qZWN0KE9WRVJMQVlfU0NST0xMX1NUUkFURUdZKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50T3ZlcmxheVNlcnZpY2UgPSBpbmplY3QoT3ZlcmxheVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUsIHNraXBTZWxmOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWFsb2cgPSBpbmplY3QoQ2RrRGlhbG9nKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmlld3BvcnRTZXJ2aWNlID0gaW5qZWN0KFZpZXdwb3J0U2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb3Blbk92ZXJsYXlzQXRUaGlzTGV2ZWw6IE92ZXJsYXlSZWZbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hZnRlckFsbENsb3NlZEF0VGhpc0xldmVsID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJPcGVuZWRBdFRoaXNMZXZlbCA9IG5ldyBTdWJqZWN0PE92ZXJsYXlSZWY+KCk7XG5cbiAgcmVhZG9ubHkgcG9zaXRpb25zID0gbmV3IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIoKTtcblxuICByZWFkb25seSBhZnRlckFsbENsb3NlZCA9IGRlZmVyKCgpID0+XG4gICAgdGhpcy5vcGVuT3ZlcmxheXMubGVuZ3RoID8gdGhpcy5fZ2V0QWZ0ZXJBbGxDbG9zZWQoKSA6IHRoaXMuX2dldEFmdGVyQWxsQ2xvc2VkKCkucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSksXG4gICkgYXMgT2JzZXJ2YWJsZTx2b2lkPjtcblxuICBnZXQgb3Blbk92ZXJsYXlzKCk6IE92ZXJsYXlSZWZbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudE92ZXJsYXlTZXJ2aWNlID8gdGhpcy5fcGFyZW50T3ZlcmxheVNlcnZpY2Uub3Blbk92ZXJsYXlzIDogdGhpcy5fb3Blbk92ZXJsYXlzQXRUaGlzTGV2ZWw7XG4gIH1cblxuICBnZXQgYWZ0ZXJPcGVuZWQoKTogU3ViamVjdDxPdmVybGF5UmVmPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudE92ZXJsYXlTZXJ2aWNlID8gdGhpcy5fcGFyZW50T3ZlcmxheVNlcnZpY2UuYWZ0ZXJPcGVuZWQgOiB0aGlzLl9hZnRlck9wZW5lZEF0VGhpc0xldmVsO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fY2xvc2VPdmVybGF5cyh0aGlzLl9vcGVuT3ZlcmxheXNBdFRoaXNMZXZlbCk7XG4gICAgdGhpcy5fYWZ0ZXJBbGxDbG9zZWRBdFRoaXNMZXZlbC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2FmdGVyT3BlbmVkQXRUaGlzTGV2ZWwuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9wZW48VCwgRCA9IHVua25vd24sIFIgPSB1bmtub3duPihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGNvbmZpZzogT3ZlcmxheUNvbmZpZzxEPik6IE92ZXJsYXlSZWY8VCwgUj47XG4gIG9wZW48VCwgRCA9IHVua25vd24sIFIgPSB1bmtub3duPih0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8VD4sIGNvbmZpZzogT3ZlcmxheUNvbmZpZzxEPik6IE92ZXJsYXlSZWY8VCwgUj47XG4gIG9wZW48VCwgRCA9IHVua25vd24sIFIgPSB1bmtub3duPihcbiAgICB0ZW1wbGF0ZTogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxuICAgIGNvbmZpZzogT3ZlcmxheUNvbmZpZzxEPixcbiAgKTogT3ZlcmxheVJlZjxULCBSPjtcbiAgb3BlbjxULCBEID0gdW5rbm93biwgUiA9IHVua25vd24+KFxuICAgIGNvbXBvbmVudE9yVGVtcGxhdGVSZWY6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICBjb25maWc6IE92ZXJsYXlDb25maWc8RD4sXG4gICk6IE92ZXJsYXlSZWY8VCwgUj4ge1xuICAgIGxldCBvdmVybGF5UmVmOiBPdmVybGF5UmVmPFQsIFI+O1xuXG4gICAgY29uc3QgY29tcG9zZWRDb25maWcgPSBjcmVhdGVPdmVybGF5Q29uZmlnPEQ+KHRoaXMuX2RlZmF1bHRPcHRpb25zIGFzIE92ZXJsYXlDb25maWc8RD4sIGNvbmZpZyk7XG4gICAgY29tcG9zZWRDb25maWcuaWQgPSBjb21wb3NlZENvbmZpZy5pZCB8fCBgJHtJRF9QUkVGSVh9JHt1bmlxdWVJZCsrfWA7XG4gICAgY29tcG9zZWRDb25maWcuc2Nyb2xsU3RyYXRlZ3kgPSBjb21wb3NlZENvbmZpZy5zY3JvbGxTdHJhdGVneSB8fCB0aGlzLl9zY3JvbGxTdHJhdGVneSgpO1xuXG4gICAgY29uc3QgY2RrUmVmID0gdGhpcy5fZGlhbG9nLm9wZW48UiwgRCwgVD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwge1xuICAgICAgLi4uY29tcG9zZWRDb25maWcsXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICBjbG9zZU9uRGVzdHJveTogZmFsc2UsXG4gICAgICBwYW5lbENsYXNzOiAnZXQtb3ZlcmxheS1wYW5lJyxcbiAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICB0eXBlOiBPdmVybGF5Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBwcm92aWRlcnM6ICgpID0+IFtcbiAgICAgICAgICB7IHByb3ZpZGU6IE9WRVJMQVlfQ09ORklHLCB1c2VWYWx1ZTogY29tcG9zZWRDb25maWcgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IENka0RpYWxvZ0NvbmZpZywgdXNlVmFsdWU6IGNvbXBvc2VkQ29uZmlnIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgdGVtcGxhdGVDb250ZXh0OiAoKSA9PiAoeyBkaWFsb2dSZWY6IG92ZXJsYXlSZWYgfSksXG4gICAgICBwcm92aWRlcnM6IChyZWYsIGNka0NvbmZpZywgb3ZlcmxheUNvbnRhaW5lcikgPT4ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBvdmVybGF5Q29udGFpbmVyIGFzIE92ZXJsYXlDb250YWluZXJDb21wb25lbnQ7XG4gICAgICAgIG92ZXJsYXlSZWYgPSBuZXcgT3ZlcmxheVJlZihyZWYsIGNvbXBvc2VkQ29uZmlnLCBjb250YWluZXIpO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgeyBwcm92aWRlOiBPdmVybGF5Q29udGFpbmVyQ29tcG9uZW50LCB1c2VWYWx1ZTogb3ZlcmxheUNvbnRhaW5lciB9LFxuICAgICAgICAgIHsgcHJvdmlkZTogVEhFTUVfUFJPVklERVIsIHVzZVZhbHVlOiBjb250YWluZXIuX3RoZW1lUHJvdmlkZXIgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IFByb3ZpZGVUaGVtZURpcmVjdGl2ZSwgdXNlVmFsdWU6IGNvbnRhaW5lci5fdGhlbWVQcm92aWRlciB9LFxuICAgICAgICAgIHsgcHJvdmlkZTogUk9PVF9CT1VOREFSWV9UT0tFTiwgdXNlVmFsdWU6IGNvbnRhaW5lci5fcm9vdEJvdW5kYXJ5IH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBSb290Qm91bmRhcnlEaXJlY3RpdmUsIHVzZVZhbHVlOiBjb250YWluZXIuX3Jvb3RCb3VuZGFyeSB9LFxuICAgICAgICAgIHsgcHJvdmlkZTogT1ZFUkxBWV9EQVRBLCB1c2VWYWx1ZTogY2RrQ29uZmlnLmRhdGEgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IE92ZXJsYXlSZWYsIHVzZVZhbHVlOiBvdmVybGF5UmVmIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBPdmVybGF5UmVmLCB1c2VWYWx1ZTogb3ZlcmxheVJlZiB9LFxuICAgICAgICAgIC4uLihjb21wb3NlZENvbmZpZy5wcm92aWRlcnMgPz8gW10pLFxuICAgICAgICBdO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24qL1xuICAgIChvdmVybGF5UmVmISBhcyB7IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+IH0pLmNvbXBvbmVudFJlZiA9IGNka1JlZi5jb21wb25lbnRSZWYhO1xuICAgIG92ZXJsYXlSZWYhLmNvbXBvbmVudEluc3RhbmNlID0gY2RrUmVmLmNvbXBvbmVudEluc3RhbmNlITtcblxuICAgIChjZGtSZWYuY29udGFpbmVySW5zdGFuY2UgYXMgT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCkub3ZlcmxheVJlZiA9IG92ZXJsYXlSZWYhO1xuXG4gICAgY29uc3QgY29udGFpbmVyRWwgPSBvdmVybGF5UmVmIS5fY29udGFpbmVySW5zdGFuY2UuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IG92ZXJsYXlQYW5lRWwgPSBjZGtSZWYub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudDtcbiAgICBjb25zdCBiYWNrZHJvcEVsID0gY2RrUmVmLm92ZXJsYXlSZWYuYmFja2Ryb3BFbGVtZW50O1xuICAgIGNvbnN0IG92ZXJsYXlXcmFwcGVyID0gY2RrUmVmLm92ZXJsYXlSZWYuaG9zdEVsZW1lbnQ7XG4gICAgY29uc3QgZGVmYXVsdEFuaW1hdGlvbkJ1ZmZlciA9IDUwOyAvLyA1MHB4IHNpbmNlIHRoZSBkZWZhdWx0IGFuaW1hdGlvbiB1c2VzIHNwcmluZyBwaHlzaWNzIGFuZCB0aHVzIHdpbGwgb3ZlcnNob290LlxuICAgIGNvbnN0IHVzZURlZmF1bHRBbmltYXRpb24gPSBjb21wb3NlZENvbmZpZy5jdXN0b21BbmltYXRlZCAhPT0gdHJ1ZTtcbiAgICBjb25zdCBvcmlnaW4gPSBjb21wb3NlZENvbmZpZy5vcmlnaW47XG5cbiAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgY29tcG9zZWRDb25maWcucG9zaXRpb25zLm1hcCgoYnJlYWtwb2ludCkgPT5cbiAgICAgICAgKGJyZWFrcG9pbnQuYnJlYWtwb2ludCA/IHRoaXMuX3ZpZXdwb3J0U2VydmljZS5vYnNlcnZlKHsgbWluOiBicmVha3BvaW50LmJyZWFrcG9pbnQgfSkgOiBvZih0cnVlKSkucGlwZShcbiAgICAgICAgICBtYXAoKGlzQWN0aXZlKSA9PiAoe1xuICAgICAgICAgICAgaXNBY3RpdmUsXG4gICAgICAgICAgICBjb25maWc6IGJyZWFrcG9pbnQuY29uZmlnLFxuICAgICAgICAgICAgc2l6ZTpcbiAgICAgICAgICAgICAgdHlwZW9mIGJyZWFrcG9pbnQuYnJlYWtwb2ludCA9PT0gJ251bWJlcidcbiAgICAgICAgICAgICAgICA/IGJyZWFrcG9pbnQuYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgIDogYnJlYWtwb2ludC5icmVha3BvaW50ID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgOiB0aGlzLl92aWV3cG9ydFNlcnZpY2UuZ2V0QnJlYWtwb2ludFNpemUoYnJlYWtwb2ludC5icmVha3BvaW50LCAnbWluJyksXG4gICAgICAgICAgfSkpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKG92ZXJsYXlSZWYhLmFmdGVyQ2xvc2VkKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICBtYXAoKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3RpdmVCcmVha3BvaW50cyA9IGVudHJpZXMuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkuaXNBY3RpdmUpO1xuICAgICAgICAgIGNvbnN0IGhpZ2hlc3RCcmVha3BvaW50ID0gYWN0aXZlQnJlYWtwb2ludHMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiAocHJldi5zaXplID4gY3Vyci5zaXplID8gcHJldiA6IGN1cnIpKTtcblxuICAgICAgICAgIHJldHVybiBoaWdoZXN0QnJlYWtwb2ludC5jb25maWc7XG4gICAgICAgIH0pLFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgIHRhcCgoW3ByZXZDb25maWcsIGN1cnJDb25maWddKSA9PiB7XG4gICAgICAgICAgaWYgKCFjdXJyQ29uZmlnKSByZXR1cm47XG5cbiAgICAgICAgICBjb25zdCBjb250YWluZXJDbGFzcyA9IGN1cnJDb25maWcuY29udGFpbmVyQ2xhc3M7XG5cbiAgICAgICAgICBjb25zdCBhcHBseURlZmF1bHRNYXhXaWR0aHMgPSAoKSA9PiB7XG4gICAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnbWF4LXdpZHRoJywgY3VyckNvbmZpZy5tYXhXaWR0aCk7XG4gICAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnbWF4LWhlaWdodCcsIGN1cnJDb25maWcubWF4SGVpZ2h0KTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY29uc3QgY29tYmluZU9yTWFrZUNhbGMgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQsIGFwcGVuZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm4gYXBwZW5kO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICByZXR1cm4gYGNhbGMoJHt2YWx1ZX1weCArICR7YXBwZW5kfSlgO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5zdGFydHNXaXRoKCdjYWxjKCcpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBgJHt2YWx1ZS5zbGljZSgwLCB2YWx1ZS5sZW5ndGggLSAxKX0gKyAke2FwcGVuZH0pYDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGBjYWxjKCR7dmFsdWV9ICsgJHthcHBlbmR9KWA7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChvcmlnaW4pIHtcbiAgICAgICAgICAgIC8vIFRPRE86IElmIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBpcyB1c2VkIGl0IHNob3VsZCB1c2UgdGhlIGNlbnRlciBvZiB0aGUgZWxlbWVudC5cbiAgICAgICAgICAgIGNvbnN0IG9yaWdpblggPSBpc0h0bWxFbGVtZW50KG9yaWdpbilcbiAgICAgICAgICAgICAgPyBvcmlnaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdFxuICAgICAgICAgICAgICA6IGlzVG91Y2hFdmVudChvcmlnaW4pXG4gICAgICAgICAgICAgICAgPyBvcmlnaW4udGFyZ2V0VG91Y2hlc1swXSEuY2xpZW50WFxuICAgICAgICAgICAgICAgIDogaXNQb2ludGVyRXZlbnQob3JpZ2luKVxuICAgICAgICAgICAgICAgICAgPyBvcmlnaW4uY2xpZW50WCAhPT0gMFxuICAgICAgICAgICAgICAgICAgICA/IG9yaWdpbi5jbGllbnRYXG4gICAgICAgICAgICAgICAgICAgIDogKG9yaWdpbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnRcbiAgICAgICAgICAgICAgICAgIDogLTE7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5ZID0gaXNIdG1sRWxlbWVudChvcmlnaW4pXG4gICAgICAgICAgICAgID8gb3JpZ2luLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcFxuICAgICAgICAgICAgICA6IGlzVG91Y2hFdmVudChvcmlnaW4pXG4gICAgICAgICAgICAgICAgPyBvcmlnaW4udGFyZ2V0VG91Y2hlc1swXSEuY2xpZW50WVxuICAgICAgICAgICAgICAgIDogaXNQb2ludGVyRXZlbnQob3JpZ2luKVxuICAgICAgICAgICAgICAgICAgPyBvcmlnaW4uY2xpZW50WSAhPT0gMFxuICAgICAgICAgICAgICAgICAgICA/IG9yaWdpbi5jbGllbnRZXG4gICAgICAgICAgICAgICAgICAgIDogKG9yaWdpbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcFxuICAgICAgICAgICAgICAgICAgOiAtMTtcblxuICAgICAgICAgICAgaWYgKG9yaWdpblggIT09IC0xICYmIG9yaWdpblkgIT09IC0xICYmIGN1cnJDb25maWcuYXBwbHlUcmFuc2Zvcm1PcmlnaW4pIHtcbiAgICAgICAgICAgICAgc2V0U3R5bGUoY29udGFpbmVyRWwsICd0cmFuc2Zvcm0tb3JpZ2luJywgYCR7b3JpZ2luWH1weCAke29yaWdpbll9cHhgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNldFN0eWxlKGNvbnRhaW5lckVsLCAndHJhbnNmb3JtLW9yaWdpbicsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh1c2VEZWZhdWx0QW5pbWF0aW9uICYmIGNvbnRhaW5lckNsYXNzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M/LmluY2x1ZGVzKEVUX09WRVJMQVlfTEVGVF9TSEVFVF9DTEFTUykgfHxcbiAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M/LmluY2x1ZGVzKEVUX09WRVJMQVlfUklHSFRfU0hFRVRfQ0xBU1MpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc2V0U3R5bGUoXG4gICAgICAgICAgICAgICAgb3ZlcmxheVBhbmVFbCxcbiAgICAgICAgICAgICAgICAnbWF4LXdpZHRoJyxcbiAgICAgICAgICAgICAgICBjb21iaW5lT3JNYWtlQ2FsYyhjdXJyQ29uZmlnLm1heFdpZHRoLCBgJHtkZWZhdWx0QW5pbWF0aW9uQnVmZmVyfXB4YCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICdtYXgtaGVpZ2h0JywgY3VyckNvbmZpZy5tYXhIZWlnaHQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M/LmluY2x1ZGVzKEVUX09WRVJMQVlfVE9QX1NIRUVUX0NMQVNTKSB8fFxuICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz8uaW5jbHVkZXMoRVRfT1ZFUkxBWV9CT1RUT01fU0hFRVRfQ0xBU1MpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc2V0U3R5bGUoXG4gICAgICAgICAgICAgICAgb3ZlcmxheVBhbmVFbCxcbiAgICAgICAgICAgICAgICAnbWF4LWhlaWdodCcsXG4gICAgICAgICAgICAgICAgY29tYmluZU9yTWFrZUNhbGMoY3VyckNvbmZpZy5tYXhIZWlnaHQsIGAke2RlZmF1bHRBbmltYXRpb25CdWZmZXJ9cHhgKSxcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnbWF4LXdpZHRoJywgY3VyckNvbmZpZy5tYXhXaWR0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhcHBseURlZmF1bHRNYXhXaWR0aHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXBwbHlEZWZhdWx0TWF4V2lkdGhzKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2V0U3R5bGUob3ZlcmxheVBhbmVFbCwgJ21pbi13aWR0aCcsIGN1cnJDb25maWcubWluV2lkdGgpO1xuICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICdtaW4taGVpZ2h0JywgY3VyckNvbmZpZy5taW5IZWlnaHQpO1xuXG4gICAgICAgICAgc2V0U3R5bGUob3ZlcmxheVBhbmVFbCwgJ3dpZHRoJywgY3VyckNvbmZpZy53aWR0aCk7XG4gICAgICAgICAgc2V0U3R5bGUob3ZlcmxheVBhbmVFbCwgJ2hlaWdodCcsIGN1cnJDb25maWcuaGVpZ2h0KTtcblxuICAgICAgICAgIHNldENsYXNzKGNvbnRhaW5lckVsLCBwcmV2Q29uZmlnPy5jb250YWluZXJDbGFzcywgY3VyckNvbmZpZz8uY29udGFpbmVyQ2xhc3MpO1xuICAgICAgICAgIHNldENsYXNzKG92ZXJsYXlQYW5lRWwsIHByZXZDb25maWc/LnBhbmVDbGFzcywgY3VyckNvbmZpZz8ucGFuZUNsYXNzKTtcbiAgICAgICAgICBzZXRDbGFzcyhvdmVybGF5V3JhcHBlciwgcHJldkNvbmZpZz8ub3ZlcmxheUNsYXNzLCBjdXJyQ29uZmlnPy5vdmVybGF5Q2xhc3MpO1xuXG4gICAgICAgICAgLy8gRklYTUU6IFRoZXNlIGNsYXNzZXMgc2hvdWxkIG9ubHkgYmUgcmVtb3ZlZCBpZiBubyBvcGVuIG92ZXJsYXlzIHJlcXVpcmUgdGhlbSBpbnNpZGUgdGhlaXIgY29uZmlnLlxuICAgICAgICAgIHNldENsYXNzKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgcHJldkNvbmZpZz8uZG9jdW1lbnRDbGFzcywgY3VyckNvbmZpZz8uZG9jdW1lbnRDbGFzcyk7XG4gICAgICAgICAgc2V0Q2xhc3MoZG9jdW1lbnQuYm9keSwgcHJldkNvbmZpZz8uYm9keUNsYXNzLCBjdXJyQ29uZmlnPy5ib2R5Q2xhc3MpO1xuXG4gICAgICAgICAgaWYgKGJhY2tkcm9wRWwpIHtcbiAgICAgICAgICAgIHNldENsYXNzKGJhY2tkcm9wRWwsIHByZXZDb25maWc/LmJhY2tkcm9wQ2xhc3MsIGN1cnJDb25maWc/LmJhY2tkcm9wQ2xhc3MpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZXF1YWwocHJldkNvbmZpZz8ucG9zaXRpb24sIGN1cnJDb25maWc/LnBvc2l0aW9uKSkge1xuICAgICAgICAgICAgb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbihjdXJyQ29uZmlnLnBvc2l0aW9uKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY3VyckNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgICAgICAgICBjZGtSZWYub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KGN1cnJDb25maWcucG9zaXRpb25TdHJhdGVneSgpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2RrUmVmLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY3VyckNvbmZpZy5kcmFnVG9EaXNtaXNzKSB7XG4gICAgICAgICAgICBvdmVybGF5UmVmLl9jb250YWluZXJJbnN0YW5jZS5fZW5hYmxlRHJhZ1RvRGlzbWlzcyhjdXJyQ29uZmlnLmRyYWdUb0Rpc21pc3MpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvdmVybGF5UmVmLl9jb250YWluZXJJbnN0YW5jZS5fZGlzYWJsZURyYWdUb0Rpc21pc3MoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5vcGVuT3ZlcmxheXMucHVzaChvdmVybGF5UmVmISk7XG4gICAgdGhpcy5hZnRlck9wZW5lZC5uZXh0KG92ZXJsYXlSZWYhKTtcblxuICAgIG92ZXJsYXlSZWYhLmJlZm9yZUNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyBGSVhNRTogVGhlc2UgY2xhc3NlcyBzaG91bGQgb25seSBiZSByZW1vdmVkIGlmIG5vIG9wZW4gb3ZlcmxheXMgcmVxdWlyZSB0aGVtIGluc2lkZSB0aGVpciBjb25maWcuXG4gICAgICBjb25zdCBkb2N1bWVudENsYXNzZXMgPSBjb21wb3NlZENvbmZpZy5wb3NpdGlvbnMubWFwKChwb3NpdGlvbikgPT4gcG9zaXRpb24uY29uZmlnLmRvY3VtZW50Q2xhc3MpO1xuXG4gICAgICBmb3IgKGNvbnN0IGtsYXNzIG9mIGRvY3VtZW50Q2xhc3Nlcykge1xuICAgICAgICBpZiAoIWtsYXNzKSBjb250aW51ZTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShrbGFzcykpIHtcbiAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5rbGFzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoa2xhc3MpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvZHlDbGFzc2VzID0gY29tcG9zZWRDb25maWcucG9zaXRpb25zLm1hcCgocG9zaXRpb24pID0+IHBvc2l0aW9uLmNvbmZpZy5ib2R5Q2xhc3MpO1xuXG4gICAgICBmb3IgKGNvbnN0IGtsYXNzIG9mIGJvZHlDbGFzc2VzKSB7XG4gICAgICAgIGlmICgha2xhc3MpIGNvbnRpbnVlO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGtsYXNzKSkge1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSguLi5rbGFzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKGtsYXNzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgb3ZlcmxheVJlZiEuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm9wZW5PdmVybGF5cy5pbmRleE9mKG92ZXJsYXlSZWYpO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm47XG5cbiAgICAgIHRoaXMub3Blbk92ZXJsYXlzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGlmICghdGhpcy5vcGVuT3ZlcmxheXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX2dldEFmdGVyQWxsQ2xvc2VkKCkubmV4dCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG92ZXJsYXlSZWYhO1xuXG4gICAgLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uKi9cbiAgfVxuXG4gIGNsb3NlQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb3NlT3ZlcmxheXModGhpcy5vcGVuT3ZlcmxheXMpO1xuICB9XG5cbiAgZ2V0T3ZlcmxheUJ5SWQoaWQ6IHN0cmluZyk6IE92ZXJsYXlSZWYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm9wZW5PdmVybGF5cy5maW5kKChvdmVybGF5KSA9PiBvdmVybGF5LmlkID09PSBpZCk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZU92ZXJsYXlzKG92ZXJsYXlzOiBPdmVybGF5UmVmW10pIHtcbiAgICBsZXQgaSA9IG92ZXJsYXlzLmxlbmd0aDtcblxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIG92ZXJsYXlzW2ldPy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldEFmdGVyQWxsQ2xvc2VkKCk6IFN1YmplY3Q8dm9pZD4ge1xuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuX3BhcmVudE92ZXJsYXlTZXJ2aWNlO1xuICAgIHJldHVybiBwYXJlbnQgPyBwYXJlbnQuX2dldEFmdGVyQWxsQ2xvc2VkKCkgOiB0aGlzLl9hZnRlckFsbENsb3NlZEF0VGhpc0xldmVsO1xuICB9XG59XG4iXX0=
@@ -3,4 +3,4 @@ export const OVERLAY_STATE = {
3
3
  CLOSING: 'closing',
4
4
  CLOSED: 'closed',
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvb3ZlcmxheS90eXBlcy9vdmVybGF5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsUUFBUTtDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBQb3NpdGlvblN0cmF0ZWd5LCBTY3JvbGxTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEluamVjdG9yLCBTdGF0aWNQcm92aWRlciwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWtwb2ludCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuXG4vKiogT3B0aW9ucyBmb3Igd2hlcmUgdG8gc2V0IGZvY3VzIHRvIGF1dG9tYXRpY2FsbHkgb24gb3ZlcmxheSBvcGVuICovXG5leHBvcnQgdHlwZSBPdmVybGF5QXV0b0ZvY3VzVGFyZ2V0ID0gJ2RpYWxvZycgfCAnZmlyc3QtdGFiYmFibGUnIHwgJ2ZpcnN0LWhlYWRpbmcnO1xuXG4vKiogVmFsaWQgQVJJQSByb2xlcyBmb3IgYSBvdmVybGF5IGVsZW1lbnQuICovXG5leHBvcnQgdHlwZSBPdmVybGF5Um9sZSA9ICdkaWFsb2cnIHwgJ2FsZXJ0ZGlhbG9nJztcblxuLyoqIFBvc3NpYmxlIG92ZXJyaWRlcyBmb3IgYSBvdmVybGF5J3MgcG9zaXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJsYXlQb3NpdGlvbiB7XG4gIC8qKiBPdmVycmlkZSBmb3IgdGhlIG92ZXJsYXkncyB0b3AgcG9zaXRpb24uICovXG4gIHRvcD86IHN0cmluZztcblxuICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgYm90dG9tIHBvc2l0aW9uLiAqL1xuICBib3R0b20/OiBzdHJpbmc7XG5cbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgb3ZlcmxheSdzIGxlZnQgcG9zaXRpb24uICovXG4gIGxlZnQ/OiBzdHJpbmc7XG5cbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgb3ZlcmxheSdzIHJpZ2h0IHBvc2l0aW9uLiAqL1xuICByaWdodD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE9WRVJMQVlfU1RBVEUgPSB7XG4gIE9QRU46ICdvcGVuJyxcbiAgQ0xPU0lORzogJ2Nsb3NpbmcnLFxuICBDTE9TRUQ6ICdjbG9zZWQnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgT3ZlcmxheVN0YXRlID0gKHR5cGVvZiBPVkVSTEFZX1NUQVRFKVtrZXlvZiB0eXBlb2YgT1ZFUkxBWV9TVEFURV07XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheURyYWdUb0Rpc21pc3NDb25maWcge1xuICAvKiogRGlyZWN0aW9uIGluIHdoaWNoIHRoZSBvdmVybGF5IGNhbiBiZSBkcmFnZ2VkLiAqL1xuICBkaXJlY3Rpb246ICd0by10b3AnIHwgJ3RvLWJvdHRvbScgfCAndG8tbGVmdCcgfCAndG8tcmlnaHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdXNlciBtdXN0IHN3aXBlIHRvIGRpc21pc3MgdGhlIG92ZXJsYXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IDE1MCAvLyAxNTBweFxuICAgKi9cbiAgbWluRGlzdGFuY2VUb0Rpc21pc3M/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHZlbG9jaXR5IGluIHBpeGVscyBwZXIgc2Vjb25kIHRoYXQgdGhlIHVzZXIgbXVzdCBzd2lwZSB0byBkaXNtaXNzIHRoZSBvdmVybGF5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAxNTAgLy8gMTUwcHgvc1xuICAgKi9cbiAgbWluVmVsb2NpdHlUb0Rpc21pc3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheUJyZWFrcG9pbnRDb25maWcge1xuICAvKiogTWluLXdpZHRoIG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgYXNzdW1lcyBwaXhlbCB1bml0cy4gKi9cbiAgbWluV2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIE1heC13aWR0aCBvZiB0aGUgb3ZlcmxheS4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGFzc3VtZXMgcGl4ZWwgdW5pdHMuICovXG4gIG1heFdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBNaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgYXNzdW1lcyBwaXhlbCB1bml0cy4gKi9cbiAgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBNYXgtaGVpZ2h0IG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgYXNzdW1lcyBwaXhlbCB1bml0cy4gKi9cbiAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBXaWR0aCBvZiB0aGUgb3ZlcmxheS4gKi9cbiAgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIEhlaWdodCBvZiB0aGUgb3ZlcmxheS4gKi9cbiAgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBQb3NpdGlvbiBzdHJhdGVneSB0byBiZSB1c2VkIGZvciB0aGUgb3ZlcmxheS4gKi9cbiAgcG9zaXRpb25TdHJhdGVneT86IFBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgLyoqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIG92ZXJsYXkgY29udGFpbmVyLiAqL1xuICBjb250YWluZXJDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBvdmVybGF5IHBhbmUuICovXG4gIHBhbmVDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBFeHRyYSBDU1MgY2xhc3NlcyB0byBiZSBhZGRlZCB0byB0aGUgb3ZlcmxheSBvdmVybGF5IGNvbnRhaW5lci4gKi9cbiAgb3ZlcmxheUNsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGJhY2tkcm9wLiAqL1xuICBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGRvY3VtZW50IChgPGh0bWw+YCBlbGVtZW50KS4gKi9cbiAgZG9jdW1lbnRDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50ICovXG4gIGJvZHlDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBQb3NpdGlvbiBvdmVycmlkZXMuICovXG4gIHBvc2l0aW9uPzogT3ZlcmxheVBvc2l0aW9uO1xuXG4gIC8qKiBEZXRlcm1pbmUgaWYgYW5kIGluIHdoYXQgZGlyZWN0aW9uIHRoZSBvdmVybGF5IHNob3VsZCBiZSBhYmxlIHRvIGJlIGRyYWdnZWQgdG8gZGlzbWlzcyBpdC4gKi9cbiAgZHJhZ1RvRGlzbWlzcz86IE92ZXJsYXlEcmFnVG9EaXNtaXNzQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0cmFuc2Zvcm0gb3JpZ2luIHNob3VsZCBiZSBzZXQgdXNpbmcgdGhlIGNvbmZpZydzIGBvcmlnaW5gIHByb3BlcnR5IHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgYXBwbHlUcmFuc2Zvcm1PcmlnaW4/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnkge1xuICAvKipcbiAgICogQnJlYWtwb2ludCB0byBhcHBseSB0aGUgY29uZmlnIGZvci4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGl0IHdpbGwgYmUgdXNlZCBhcyBhIHBpeGVsIHZhbHVlLlxuICAgKiBBbHdheXMgdXNlcyB0aGUgbWluLXdpZHRoIG1lZGlhIHF1ZXJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAneHMnIC8vIDBweFxuICAgKi9cbiAgYnJlYWtwb2ludD86IEJyZWFrcG9pbnQgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE92ZXJsYXkgY29uZmlndXJhdGlvbiB0byBiZSBhcHBsaWVkIHdoZW4gdGhlIGJyZWFrcG9pbnQgaXMgYWN0aXZlLlxuICAgKi9cbiAgY29uZmlnOiBPdmVybGF5QnJlYWtwb2ludENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdmVybGF5Q29uZmlnPEQgPSB1bmtub3duPiB7XG4gIC8qKlxuICAgKiBDb25kaXRpb25hbGx5IGFwcGxpZWQgb3ZlcmxheSBjb25maWd1cmF0aW9ucyBiYXNlZCBvbiBicmVha3BvaW50cy5cbiAgICovXG4gIHBvc2l0aW9uczogT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeVtdO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgYXR0YWNoZWQgY29tcG9uZW50IHNob3VsZCBsaXZlIGluIEFuZ3VsYXIncyAqbG9naWNhbCogY29tcG9uZW50IHRyZWUuXG4gICAqIFRoaXMgYWZmZWN0cyB3aGF0IGlzIGF2YWlsYWJsZSBmb3IgaW5qZWN0aW9uIGFuZCB0aGUgY2hhbmdlIGRldGVjdGlvbiBvcmRlciBmb3IgdGhlXG4gICAqIGNvbXBvbmVudCBpbnN0YW50aWF0ZWQgaW5zaWRlIG9mIHRoZSBvdmVybGF5LiBUaGlzIGRvZXMgbm90IGFmZmVjdCB3aGVyZSB0aGUgb3ZlcmxheVxuICAgKiBjb250ZW50IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAqL1xuICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcblxuICAvKipcbiAgICogSW5qZWN0b3IgdXNlZCBmb3IgdGhlIGluc3RhbnRpYXRpb24gb2YgdGhlIGNvbXBvbmVudCB0byBiZSBhdHRhY2hlZC4gSWYgcHJvdmlkZWQsXG4gICAqIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgaW5qZWN0b3IgaW5kaXJlY3RseSBwcm92aWRlZCBieSBgVmlld0NvbnRhaW5lclJlZmAuXG4gICAqL1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xuXG4gIC8qKiBJRCBmb3IgdGhlIG92ZXJsYXkuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC4gKi9cbiAgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUklBIHJvbGUgb2YgdGhlIG92ZXJsYXkgZWxlbWVudC5cbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIHJvbGU/OiBPdmVybGF5Um9sZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSBoYXMgYSBiYWNrZHJvcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB1c2VyIGNhbiB1c2UgZXNjYXBlIG9yIGNsaWNraW5nIG9uIHRoZSBiYWNrZHJvcCB0byBjbG9zZSB0aGUgbW9kYWwuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBkaXNhYmxlQ2xvc2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEYXRhIGJlaW5nIGluamVjdGVkIGludG8gdGhlIGNoaWxkIGNvbXBvbmVudC5cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgZGF0YT86IEQgfCBudWxsO1xuXG4gIC8qKiBMYXlvdXQgZGlyZWN0aW9uIGZvciB0aGUgb3ZlcmxheSdzIGNvbnRlbnQuICovXG4gIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcblxuICAvKipcbiAgICogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIG92ZXJsYXkuXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIElEIG9mIHRoZSBlbGVtZW50IHRoYXQgbGFiZWxzIHRoZSBvdmVybGF5LlxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEFyaWEgbGFiZWwgdG8gYXNzaWduIHRvIHRoZSBvdmVybGF5IGVsZW1lbnQuXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBpcyBhIG1vZGFsIG92ZXJsYXkuIFVzZWQgdG8gc2V0IHRoZSBgYXJpYS1tb2RhbGAgYXR0cmlidXRlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBhcmlhTW9kYWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvdmVybGF5IHVzZXMgYSBjdXN0b20gYW5pbWF0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgY3VzdG9tQW5pbWF0ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgb3ZlcmxheSBzaG91bGQgZm9jdXMgb24gb3Blbi5cbiAgICogQ2FuIGJlIG9uZSBvZiBBdXRvRm9jdXNUYXJnZXQsIG9yIGEgY3NzIHNlbGVjdG9yIHN0cmluZy5cbiAgICogQGRlZmF1bHQgJ2ZpcnN0LXRhYmJhYmxlJ1xuICAgKi9cbiAgYXV0b0ZvY3VzPzogT3ZlcmxheUF1dG9Gb2N1c1RhcmdldCB8IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSBzaG91bGQgcmVzdG9yZSBmb2N1cyB0byB0aGVcbiAgICogcHJldmlvdXNseS1mb2N1c2VkIGVsZW1lbnQsIGFmdGVyIGl0J3MgY2xvc2VkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZXN0b3JlRm9jdXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHdhaXQgZm9yIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiB0byBmaW5pc2ggYmVmb3JlIHRyYXBwaW5nIGZvY3VzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkZWxheUZvY3VzVHJhcD86IGJvb2xlYW47XG5cbiAgLyoqIFNjcm9sbCBzdHJhdGVneSB0byBiZSB1c2VkIGZvciB0aGUgb3ZlcmxheS4gKi9cbiAgc2Nyb2xsU3RyYXRlZ3k/OiBTY3JvbGxTdHJhdGVneTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgdXNlciBnb2VzIGJhY2t3YXJkcy9mb3J3YXJkcyBpbiBoaXN0b3J5LlxuICAgKiBOb3RlIHRoYXQgdGhpcyB1c3VhbGx5IGRvZXNuJ3QgaW5jbHVkZSBjbGlja2luZyBvbiBsaW5rcyAodW5sZXNzIHRoZSB1c2VyIGlzIHVzaW5nXG4gICAqIHRoZSBgSGFzaExvY2F0aW9uU3RyYXRlZ3lgKS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgY2xvc2VPbk5hdmlnYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFeHRyYSBwcm92aWRlcnMgdG8gYmUgbWFkZSBhdmFpbGFibGUgdG8gdGhlIG92ZXJsYXkuXG4gICAqL1xuICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdO1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIG92ZXJsYXkncyBvcGVuaW5nLlxuICAgKi9cbiAgb3JpZ2luPzogSFRNTEVsZW1lbnQgfCBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCB8IEtleWJvYXJkRXZlbnQgfCBQb2ludGVyRXZlbnQ7XG59XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvb3ZlcmxheS90eXBlcy9vdmVybGF5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsUUFBUTtDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBQb3NpdGlvblN0cmF0ZWd5LCBTY3JvbGxTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEluamVjdG9yLCBTdGF0aWNQcm92aWRlciwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWtwb2ludCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuXG4vKiogT3B0aW9ucyBmb3Igd2hlcmUgdG8gc2V0IGZvY3VzIHRvIGF1dG9tYXRpY2FsbHkgb24gb3ZlcmxheSBvcGVuICovXG5leHBvcnQgdHlwZSBPdmVybGF5QXV0b0ZvY3VzVGFyZ2V0ID0gJ2RpYWxvZycgfCAnZmlyc3QtdGFiYmFibGUnIHwgJ2ZpcnN0LWhlYWRpbmcnO1xuXG4vKiogVmFsaWQgQVJJQSByb2xlcyBmb3IgYSBvdmVybGF5IGVsZW1lbnQuICovXG5leHBvcnQgdHlwZSBPdmVybGF5Um9sZSA9ICdkaWFsb2cnIHwgJ2FsZXJ0ZGlhbG9nJztcblxuLyoqIFBvc3NpYmxlIG92ZXJyaWRlcyBmb3IgYSBvdmVybGF5J3MgcG9zaXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJsYXlQb3NpdGlvbiB7XG4gIC8qKiBPdmVycmlkZSBmb3IgdGhlIG92ZXJsYXkncyB0b3AgcG9zaXRpb24uICovXG4gIHRvcD86IHN0cmluZztcblxuICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgYm90dG9tIHBvc2l0aW9uLiAqL1xuICBib3R0b20/OiBzdHJpbmc7XG5cbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgb3ZlcmxheSdzIGxlZnQgcG9zaXRpb24uICovXG4gIGxlZnQ/OiBzdHJpbmc7XG5cbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgb3ZlcmxheSdzIHJpZ2h0IHBvc2l0aW9uLiAqL1xuICByaWdodD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE9WRVJMQVlfU1RBVEUgPSB7XG4gIE9QRU46ICdvcGVuJyxcbiAgQ0xPU0lORzogJ2Nsb3NpbmcnLFxuICBDTE9TRUQ6ICdjbG9zZWQnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgT3ZlcmxheVN0YXRlID0gKHR5cGVvZiBPVkVSTEFZX1NUQVRFKVtrZXlvZiB0eXBlb2YgT1ZFUkxBWV9TVEFURV07XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheURyYWdUb0Rpc21pc3NDb25maWcge1xuICAvKiogRGlyZWN0aW9uIGluIHdoaWNoIHRoZSBvdmVybGF5IGNhbiBiZSBkcmFnZ2VkLiAqL1xuICBkaXJlY3Rpb246ICd0by10b3AnIHwgJ3RvLWJvdHRvbScgfCAndG8tbGVmdCcgfCAndG8tcmlnaHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdXNlciBtdXN0IHN3aXBlIHRvIGRpc21pc3MgdGhlIG92ZXJsYXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IDE1MCAvLyAxNTBweFxuICAgKi9cbiAgbWluRGlzdGFuY2VUb0Rpc21pc3M/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHZlbG9jaXR5IGluIHBpeGVscyBwZXIgc2Vjb25kIHRoYXQgdGhlIHVzZXIgbXVzdCBzd2lwZSB0byBkaXNtaXNzIHRoZSBvdmVybGF5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAxNTAgLy8gMTUwcHgvc1xuICAgKi9cbiAgbWluVmVsb2NpdHlUb0Rpc21pc3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheUJyZWFrcG9pbnRDb25maWcge1xuICAvKiogTWluLXdpZHRoIG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgYXNzdW1lcyBwaXhlbCB1bml0cy4gKi9cbiAgbWluV2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIE1heC13aWR0aCBvZiB0aGUgb3ZlcmxheS4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGFzc3VtZXMgcGl4ZWwgdW5pdHMuICovXG4gIG1heFdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBNaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgYXNzdW1lcyBwaXhlbCB1bml0cy4gKi9cbiAgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBNYXgtaGVpZ2h0IG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgYXNzdW1lcyBwaXhlbCB1bml0cy4gKi9cbiAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBXaWR0aCBvZiB0aGUgb3ZlcmxheS4gKi9cbiAgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIEhlaWdodCBvZiB0aGUgb3ZlcmxheS4gKi9cbiAgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBQb3NpdGlvbiBzdHJhdGVneSB0byBiZSB1c2VkIGZvciB0aGUgb3ZlcmxheS4gKi9cbiAgcG9zaXRpb25TdHJhdGVneT86ICgpID0+IFBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgLyoqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIG92ZXJsYXkgY29udGFpbmVyLiAqL1xuICBjb250YWluZXJDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBvdmVybGF5IHBhbmUuICovXG4gIHBhbmVDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBFeHRyYSBDU1MgY2xhc3NlcyB0byBiZSBhZGRlZCB0byB0aGUgb3ZlcmxheSBvdmVybGF5IGNvbnRhaW5lci4gKi9cbiAgb3ZlcmxheUNsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGJhY2tkcm9wLiAqL1xuICBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGRvY3VtZW50IChgPGh0bWw+YCBlbGVtZW50KS4gKi9cbiAgZG9jdW1lbnRDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50ICovXG4gIGJvZHlDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBQb3NpdGlvbiBvdmVycmlkZXMuICovXG4gIHBvc2l0aW9uPzogT3ZlcmxheVBvc2l0aW9uO1xuXG4gIC8qKiBEZXRlcm1pbmUgaWYgYW5kIGluIHdoYXQgZGlyZWN0aW9uIHRoZSBvdmVybGF5IHNob3VsZCBiZSBhYmxlIHRvIGJlIGRyYWdnZWQgdG8gZGlzbWlzcyBpdC4gKi9cbiAgZHJhZ1RvRGlzbWlzcz86IE92ZXJsYXlEcmFnVG9EaXNtaXNzQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0cmFuc2Zvcm0gb3JpZ2luIHNob3VsZCBiZSBzZXQgdXNpbmcgdGhlIGNvbmZpZydzIGBvcmlnaW5gIHByb3BlcnR5IHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgYXBwbHlUcmFuc2Zvcm1PcmlnaW4/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnkge1xuICAvKipcbiAgICogQnJlYWtwb2ludCB0byBhcHBseSB0aGUgY29uZmlnIGZvci4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGl0IHdpbGwgYmUgdXNlZCBhcyBhIHBpeGVsIHZhbHVlLlxuICAgKiBBbHdheXMgdXNlcyB0aGUgbWluLXdpZHRoIG1lZGlhIHF1ZXJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAneHMnIC8vIDBweFxuICAgKi9cbiAgYnJlYWtwb2ludD86IEJyZWFrcG9pbnQgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE92ZXJsYXkgY29uZmlndXJhdGlvbiB0byBiZSBhcHBsaWVkIHdoZW4gdGhlIGJyZWFrcG9pbnQgaXMgYWN0aXZlLlxuICAgKi9cbiAgY29uZmlnOiBPdmVybGF5QnJlYWtwb2ludENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdmVybGF5Q29uZmlnPEQgPSB1bmtub3duPiB7XG4gIC8qKlxuICAgKiBDb25kaXRpb25hbGx5IGFwcGxpZWQgb3ZlcmxheSBjb25maWd1cmF0aW9ucyBiYXNlZCBvbiBicmVha3BvaW50cy5cbiAgICovXG4gIHBvc2l0aW9uczogT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeVtdO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgYXR0YWNoZWQgY29tcG9uZW50IHNob3VsZCBsaXZlIGluIEFuZ3VsYXIncyAqbG9naWNhbCogY29tcG9uZW50IHRyZWUuXG4gICAqIFRoaXMgYWZmZWN0cyB3aGF0IGlzIGF2YWlsYWJsZSBmb3IgaW5qZWN0aW9uIGFuZCB0aGUgY2hhbmdlIGRldGVjdGlvbiBvcmRlciBmb3IgdGhlXG4gICAqIGNvbXBvbmVudCBpbnN0YW50aWF0ZWQgaW5zaWRlIG9mIHRoZSBvdmVybGF5LiBUaGlzIGRvZXMgbm90IGFmZmVjdCB3aGVyZSB0aGUgb3ZlcmxheVxuICAgKiBjb250ZW50IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAqL1xuICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcblxuICAvKipcbiAgICogSW5qZWN0b3IgdXNlZCBmb3IgdGhlIGluc3RhbnRpYXRpb24gb2YgdGhlIGNvbXBvbmVudCB0byBiZSBhdHRhY2hlZC4gSWYgcHJvdmlkZWQsXG4gICAqIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgaW5qZWN0b3IgaW5kaXJlY3RseSBwcm92aWRlZCBieSBgVmlld0NvbnRhaW5lclJlZmAuXG4gICAqL1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xuXG4gIC8qKiBJRCBmb3IgdGhlIG92ZXJsYXkuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC4gKi9cbiAgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUklBIHJvbGUgb2YgdGhlIG92ZXJsYXkgZWxlbWVudC5cbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIHJvbGU/OiBPdmVybGF5Um9sZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSBoYXMgYSBiYWNrZHJvcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB1c2VyIGNhbiB1c2UgZXNjYXBlIG9yIGNsaWNraW5nIG9uIHRoZSBiYWNrZHJvcCB0byBjbG9zZSB0aGUgbW9kYWwuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBkaXNhYmxlQ2xvc2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEYXRhIGJlaW5nIGluamVjdGVkIGludG8gdGhlIGNoaWxkIGNvbXBvbmVudC5cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgZGF0YT86IEQgfCBudWxsO1xuXG4gIC8qKiBMYXlvdXQgZGlyZWN0aW9uIGZvciB0aGUgb3ZlcmxheSdzIGNvbnRlbnQuICovXG4gIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcblxuICAvKipcbiAgICogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIG92ZXJsYXkuXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIElEIG9mIHRoZSBlbGVtZW50IHRoYXQgbGFiZWxzIHRoZSBvdmVybGF5LlxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEFyaWEgbGFiZWwgdG8gYXNzaWduIHRvIHRoZSBvdmVybGF5IGVsZW1lbnQuXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBpcyBhIG1vZGFsIG92ZXJsYXkuIFVzZWQgdG8gc2V0IHRoZSBgYXJpYS1tb2RhbGAgYXR0cmlidXRlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBhcmlhTW9kYWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvdmVybGF5IHVzZXMgYSBjdXN0b20gYW5pbWF0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgY3VzdG9tQW5pbWF0ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgb3ZlcmxheSBzaG91bGQgZm9jdXMgb24gb3Blbi5cbiAgICogQ2FuIGJlIG9uZSBvZiBBdXRvRm9jdXNUYXJnZXQsIG9yIGEgY3NzIHNlbGVjdG9yIHN0cmluZy5cbiAgICogQGRlZmF1bHQgJ2ZpcnN0LXRhYmJhYmxlJ1xuICAgKi9cbiAgYXV0b0ZvY3VzPzogT3ZlcmxheUF1dG9Gb2N1c1RhcmdldCB8IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSBzaG91bGQgcmVzdG9yZSBmb2N1cyB0byB0aGVcbiAgICogcHJldmlvdXNseS1mb2N1c2VkIGVsZW1lbnQsIGFmdGVyIGl0J3MgY2xvc2VkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZXN0b3JlRm9jdXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHdhaXQgZm9yIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiB0byBmaW5pc2ggYmVmb3JlIHRyYXBwaW5nIGZvY3VzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBkZWxheUZvY3VzVHJhcD86IGJvb2xlYW47XG5cbiAgLyoqIFNjcm9sbCBzdHJhdGVneSB0byBiZSB1c2VkIGZvciB0aGUgb3ZlcmxheS4gKi9cbiAgc2Nyb2xsU3RyYXRlZ3k/OiBTY3JvbGxTdHJhdGVneTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgdXNlciBnb2VzIGJhY2t3YXJkcy9mb3J3YXJkcyBpbiBoaXN0b3J5LlxuICAgKiBOb3RlIHRoYXQgdGhpcyB1c3VhbGx5IGRvZXNuJ3QgaW5jbHVkZSBjbGlja2luZyBvbiBsaW5rcyAodW5sZXNzIHRoZSB1c2VyIGlzIHVzaW5nXG4gICAqIHRoZSBgSGFzaExvY2F0aW9uU3RyYXRlZ3lgKS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgY2xvc2VPbk5hdmlnYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFeHRyYSBwcm92aWRlcnMgdG8gYmUgbWFkZSBhdmFpbGFibGUgdG8gdGhlIG92ZXJsYXkuXG4gICAqL1xuICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdO1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIG92ZXJsYXkncyBvcGVuaW5nLlxuICAgKi9cbiAgb3JpZ2luPzogSFRNTEVsZW1lbnQgfCBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCB8IEtleWJvYXJkRXZlbnQgfCBQb2ludGVyRXZlbnQ7XG59XG4iXX0=
@@ -18,7 +18,7 @@ export class OverlayPositionBuilder {
18
18
  minHeight: undefined,
19
19
  minWidth: undefined,
20
20
  containerClass: ET_OVERLAY_DIALOG_CLASS,
21
- positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
21
+ positionStrategy: () => this._overlay.position().global().centerHorizontally().centerVertically(),
22
22
  },
23
23
  fullScreenDialog: {
24
24
  width: '100%',
@@ -28,7 +28,7 @@ export class OverlayPositionBuilder {
28
28
  minHeight: undefined,
29
29
  minWidth: undefined,
30
30
  containerClass: ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS,
31
- positionStrategy: this._overlay.position().global().left('0').top('0').bottom('0').right('0'),
31
+ positionStrategy: () => this._overlay.position().global().left('0').top('0').bottom('0').right('0'),
32
32
  documentClass: 'et-overlay--full-screen-dialog-document',
33
33
  applyTransformOrigin: true,
34
34
  },
@@ -40,7 +40,7 @@ export class OverlayPositionBuilder {
40
40
  minHeight: undefined,
41
41
  minWidth: undefined,
42
42
  containerClass: ET_OVERLAY_BOTTOM_SHEET_CLASS,
43
- positionStrategy: this._overlay.position().global().centerHorizontally().bottom('0'),
43
+ positionStrategy: () => this._overlay.position().global().centerHorizontally().bottom('0'),
44
44
  dragToDismiss: {
45
45
  direction: 'to-bottom',
46
46
  },
@@ -53,7 +53,7 @@ export class OverlayPositionBuilder {
53
53
  minHeight: undefined,
54
54
  minWidth: undefined,
55
55
  containerClass: ET_OVERLAY_TOP_SHEET_CLASS,
56
- positionStrategy: this._overlay.position().global().centerHorizontally().top('0'),
56
+ positionStrategy: () => this._overlay.position().global().centerHorizontally().top('0'),
57
57
  dragToDismiss: {
58
58
  direction: 'to-top',
59
59
  },
@@ -66,7 +66,7 @@ export class OverlayPositionBuilder {
66
66
  minHeight: undefined,
67
67
  minWidth: undefined,
68
68
  containerClass: ET_OVERLAY_LEFT_SHEET_CLASS,
69
- positionStrategy: this._overlay.position().global().left('0').centerVertically(),
69
+ positionStrategy: () => this._overlay.position().global().left('0').centerVertically(),
70
70
  dragToDismiss: {
71
71
  direction: 'to-left',
72
72
  },
@@ -79,7 +79,7 @@ export class OverlayPositionBuilder {
79
79
  minHeight: undefined,
80
80
  minWidth: undefined,
81
81
  containerClass: ET_OVERLAY_RIGHT_SHEET_CLASS,
82
- positionStrategy: this._overlay.position().global().right('0').centerVertically(),
82
+ positionStrategy: () => this._overlay.position().global().right('0').centerVertically(),
83
83
  dragToDismiss: {
84
84
  direction: 'to-right',
85
85
  },
@@ -168,4 +168,4 @@ export class OverlayPositionBuilder {
168
168
  return config;
169
169
  }
170
170
  }
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5L3V0aWxzL292ZXJsYXktcG9zaXRpb24tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyx3QkFBd0IsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyx5QkFBeUIsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRywwQkFBMEIsQ0FBQztBQUN4RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUVwRixNQUFNLE9BQU8sc0JBQXNCO0lBQW5DO1FBQ21CLGFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsYUFBUSxHQUFHO1lBQ2xCLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsU0FBUztnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxNQUFNO2dCQUNqQixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixjQUFjLEVBQUUsdUJBQXVCO2dCQUN2QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFD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LEdBQUcsR0FBRztnQkFDTixHQUFHLElBQUk7YUFDUixDQUFDO1FBQ0osQ0FBQyxFQUFFLEVBQTZCLENBQUMsQ0FBQztRQUVsQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5QnJlYWtwb2ludENvbmZpZywgT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEVUX09WRVJMQVlfTEVGVF9TSEVFVF9DTEFTUyA9ICdldC1vdmVybGF5LS1sZWZ0LXNoZWV0JztcbmV4cG9ydCBjb25zdCBFVF9PVkVSTEFZX1JJR0hUX1NIRUVUX0NMQVNTID0gJ2V0LW92ZXJsYXktLXJpZ2h0LXNoZWV0JztcbmV4cG9ydCBjb25zdCBFVF9PVkVSTEFZX1RPUF9TSEVFVF9DTEFTUyA9ICdldC1vdmVybGF5LS10b3Atc2hlZXQnO1xuZXhwb3J0IGNvbnN0IEVUX09WRVJMQVlfQk9UVE9NX1NIRUVUX0NMQVNTID0gJ2V0LW92ZXJsYXktLWJvdHRvbS1zaGVldCc7XG5leHBvcnQgY29uc3QgRVRfT1ZFUkxBWV9ESUFMT0dfQ0xBU1MgPSAnZXQtb3ZlcmxheS0tZGlhbG9nJztcbmV4cG9ydCBjb25zdCBFVF9PVkVSTEFZX0ZVTExfU0NSRUVOX0RJQUxPR19DTEFTUyA9ICdldC1vdmVybGF5LS1mdWxsLXNjcmVlbi1kaWFsb2cnO1xuXG5leHBvcnQgY2xhc3MgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX292ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB7XG4gICAgZGlhbG9nOiB7XG4gICAgICB3aWR0aDogdW5kZWZpbmVkLFxuICAgICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtYXhIZWlnaHQ6ICc4MHZoJyxcbiAgICAgIG1heFdpZHRoOiAnODB2dycsXG4gICAgICBtaW5IZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1pbldpZHRoOiB1bmRlZmluZWQsXG4gICAgICBjb250YWluZXJDbGFzczogRVRfT1ZFUkxBWV9ESUFMT0dfQ0xBU1MsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxuICAgIH0sXG4gICAgZnVsbFNjcmVlbkRpYWxvZzoge1xuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbWF4SGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtYXhXaWR0aDogdW5kZWZpbmVkLFxuICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgY29udGFpbmVyQ2xhc3M6IEVUX09WRVJMQVlfRlVMTF9TQ1JFRU5fRElBTE9HX0NMQVNTLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmxlZnQoJzAnKS50b3AoJzAnKS5ib3R0b20oJzAnKS5yaWdodCgnMCcpLFxuICAgICAgZG9jdW1lbnRDbGFzczogJ2V0LW92ZXJsYXktLWZ1bGwtc2NyZWVuLWRpYWxvZy1kb2N1bWVudCcsXG4gICAgICBhcHBseVRyYW5zZm9ybU9yaWdpbjogdHJ1ZSxcbiAgICB9LFxuICAgIGJvdHRvbVNoZWV0OiB7XG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtYXhIZWlnaHQ6ICdjYWxjKDEwMCUgLSA3MnB4KScsXG4gICAgICBtYXhXaWR0aDogJzY0MHB4JyxcbiAgICAgIG1pbkhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgbWluV2lkdGg6IHVuZGVmaW5lZCxcbiAgICAgIGNvbnRhaW5lckNsYXNzOiBFVF9PVkVSTEFZX0JPVFRPTV9TSEVFVF9DTEFTUyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5ib3R0b20oJzAnKSxcbiAgICAgIGRyYWdUb0Rpc21pc3M6IHtcbiAgICAgICAgZGlyZWN0aW9uOiAndG8tYm90dG9tJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB0b3BTaGVldDoge1xuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgbWF4SGVpZ2h0OiAnY2FsYygxMDAlIC0gNzJweCknLFxuICAgICAgbWF4V2lkdGg6ICc2NDBweCcsXG4gICAgICBtaW5IZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1pbldpZHRoOiB1bmRlZmluZWQsXG4gICAgICBjb250YWluZXJDbGFzczogRVRfT1ZFUkxBWV9UT1BfU0hFRVRfQ0xBU1MsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkudG9wKCcwJyksXG4gICAgICBkcmFnVG9EaXNtaXNzOiB7XG4gICAgICAgIGRpcmVjdGlvbjogJ3RvLXRvcCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgbGVmdFNoZWV0OiB7XG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBtYXhIZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1heFdpZHRoOiAnNjQwcHgnLFxuICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgY29udGFpbmVyQ2xhc3M6IEVUX09WRVJMQVlfTEVGVF9TSEVFVF9DTEFTUyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5sZWZ0KCcwJykuY2VudGVyVmVydGljYWxseSgpLFxuICAgICAgZHJhZ1RvRGlzbWlzczoge1xuICAgICAgICBkaXJlY3Rpb246ICd0by1sZWZ0JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByaWdodFNoZWV0OiB7XG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBtYXhIZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1heFdpZHRoOiAnNjQwcHgnLFxuICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgY29udGFpbmVyQ2xhc3M6IEVUX09WRVJMQVlfUklHSFRfU0hFRVRfQ0xBU1MsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkucmlnaHQoJzAnKS5jZW50ZXJWZXJ0aWNhbGx5KCksXG4gICAgICBkcmFnVG9EaXNtaXNzOiB7XG4gICAgICAgIGRpcmVjdGlvbjogJ3RvLXJpZ2h0JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSBzYXRpc2ZpZXMgUmVjb3JkPHN0cmluZywgT3ZlcmxheUJyZWFrcG9pbnRDb25maWc+O1xuXG4gIHRyYW5zZm9ybWluZ0JvdHRvbVNoZWV0VG9EaWFsb2coY3VzdG9tQ29uZmlnPzoge1xuICAgIGJvdHRvbVNoZWV0PzogT3ZlcmxheUJyZWFrcG9pbnRDb25maWc7XG4gICAgZGlhbG9nPzogT3ZlcmxheUJyZWFrcG9pbnRDb25maWc7XG4gIH0pIHtcbiAgICBjb25zdCBkYXRhOiBPdmVybGF5QnJlYWtwb2ludENvbmZpZ0VudHJ5W10gPSBbXG4gICAgICB7XG4gICAgICAgIGNvbmZpZzogdGhpcy5tZXJnZUNvbmZpZ3ModGhpcy5ERUZBVUxUUy5ib3R0b21TaGVldCwgY3VzdG9tQ29uZmlnPy5ib3R0b21TaGVldCA/PyB7fSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBicmVha3BvaW50OiAnbWQnLFxuICAgICAgICBjb25maWc6IHRoaXMubWVyZ2VDb25maWdzKHRoaXMuREVGQVVMVFMuZGlhbG9nLCBjdXN0b21Db25maWc/LmRpYWxvZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHRyYW5zZm9ybWluZ0Z1bGxTY3JlZW5EaWFsb2dUb1JpZ2h0U2hlZXQoY3VzdG9tQ29uZmlnPzoge1xuICAgIGZ1bGxTY3JlZW5EaWFsb2c/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZztcbiAgICByaWdodFNoZWV0PzogT3ZlcmxheUJyZWFrcG9pbnRDb25maWc7XG4gIH0pIHtcbiAgICBjb25zdCBkYXRhOiBPdmVybGF5QnJlYWtwb2ludENvbmZpZ0VudHJ5W10gPSBbXG4gICAgICB7XG4gICAgICAgIGNvbmZpZzogdGhpcy5tZXJnZUNvbmZpZ3ModGhpcy5ERUZBVUxUUy5mdWxsU2NyZWVuRGlhbG9nLCBjdXN0b21Db25maWc/LmZ1bGxTY3JlZW5EaWFsb2cgPz8ge30pLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJ21kJyxcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLnJpZ2h0U2hlZXQsIGN1c3RvbUNvbmZpZz8ucmlnaHRTaGVldCA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGRpYWxvZyhjdXN0b21Db25maWc/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZykge1xuICAgIGNvbnN0IGRhdGE6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLmRpYWxvZywgY3VzdG9tQ29uZmlnID8/IHt9KSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZnVsbFNjcmVlbkRpYWxvZyhjdXN0b21Db25maWc/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZykge1xuICAgIGNvbnN0IGRhdGE6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLmZ1bGxTY3JlZW5EaWFsb2csIGN1c3RvbUNvbmZpZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGJvdHRvbVNoZWV0KGN1c3RvbUNvbmZpZz86IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnKSB7XG4gICAgY29uc3QgZGF0YTogT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeVtdID0gW1xuICAgICAge1xuICAgICAgICBjb25maWc6IHRoaXMubWVyZ2VDb25maWdzKHRoaXMuREVGQVVMVFMuYm90dG9tU2hlZXQsIGN1c3RvbUNvbmZpZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHRvcFNoZWV0KGN1c3RvbUNvbmZpZz86IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnKSB7XG4gICAgY29uc3QgZGF0YTogT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeVtdID0gW1xuICAgICAge1xuICAgICAgICBjb25maWc6IHRoaXMubWVyZ2VDb25maWdzKHRoaXMuREVGQVVMVFMudG9wU2hlZXQsIGN1c3RvbUNvbmZpZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGxlZnRTaGVldChjdXN0b21Db25maWc/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZykge1xuICAgIGNvbnN0IGRhdGE6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLmxlZnRTaGVldCwgY3VzdG9tQ29uZmlnID8/IHt9KSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcmlnaHRTaGVldChjdXN0b21Db25maWc/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZykge1xuICAgIGNvbnN0IGRhdGE6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLnJpZ2h0U2hlZXQsIGN1c3RvbUNvbmZpZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIG1lcmdlQ29uZmlncyguLi5jb25maWdzOiBPdmVybGF5QnJlYWtwb2ludENvbmZpZ1tdKSB7XG4gICAgY29uc3QgY29uZmlnID0gY29uZmlncy5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5jdXJyLFxuICAgICAgfTtcbiAgICB9LCB7fSBhcyBPdmVybGF5QnJlYWtwb2ludENvbmZpZyk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG59XG4iXX0=
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5L3V0aWxzL292ZXJsYXktcG9zaXRpb24tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyx3QkFBd0IsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyx5QkFBeUIsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRywwQkFBMEIsQ0FBQztBQUN4RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUVwRixNQUFNLE9BQU8sc0JBQXNCO0lBQW5DO1FBQ21CLGFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsYUFBUSxHQUFHO1lBQ2xCLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsU0FBUztnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxNQUFNO2dCQUNqQixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixjQUFjLEVBQUUsdUJBQXVCO2dCQUN2QyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFD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a0M7UUFDaEQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUMxQyxPQUFPO2dCQUNMLEdBQUcsR0FBRztnQkFDTixHQUFHLElBQUk7YUFDUixDQUFDO1FBQ0osQ0FBQyxFQUFFLEVBQTZCLENBQUMsQ0FBQztRQUVsQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5QnJlYWtwb2ludENvbmZpZywgT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEVUX09WRVJMQVlfTEVGVF9TSEVFVF9DTEFTUyA9ICdldC1vdmVybGF5LS1sZWZ0LXNoZWV0JztcbmV4cG9ydCBjb25zdCBFVF9PVkVSTEFZX1JJR0hUX1NIRUVUX0NMQVNTID0gJ2V0LW92ZXJsYXktLXJpZ2h0LXNoZWV0JztcbmV4cG9ydCBjb25zdCBFVF9PVkVSTEFZX1RPUF9TSEVFVF9DTEFTUyA9ICdldC1vdmVybGF5LS10b3Atc2hlZXQnO1xuZXhwb3J0IGNvbnN0IEVUX09WRVJMQVlfQk9UVE9NX1NIRUVUX0NMQVNTID0gJ2V0LW92ZXJsYXktLWJvdHRvbS1zaGVldCc7XG5leHBvcnQgY29uc3QgRVRfT1ZFUkxBWV9ESUFMT0dfQ0xBU1MgPSAnZXQtb3ZlcmxheS0tZGlhbG9nJztcbmV4cG9ydCBjb25zdCBFVF9PVkVSTEFZX0ZVTExfU0NSRUVOX0RJQUxPR19DTEFTUyA9ICdldC1vdmVybGF5LS1mdWxsLXNjcmVlbi1kaWFsb2cnO1xuXG5leHBvcnQgY2xhc3MgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX292ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB7XG4gICAgZGlhbG9nOiB7XG4gICAgICB3aWR0aDogdW5kZWZpbmVkLFxuICAgICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtYXhIZWlnaHQ6ICc4MHZoJyxcbiAgICAgIG1heFdpZHRoOiAnODB2dycsXG4gICAgICBtaW5IZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1pbldpZHRoOiB1bmRlZmluZWQsXG4gICAgICBjb250YWluZXJDbGFzczogRVRfT1ZFUkxBWV9ESUFMT0dfQ0xBU1MsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiAoKSA9PiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxuICAgIH0sXG4gICAgZnVsbFNjcmVlbkRpYWxvZzoge1xuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbWF4SGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtYXhXaWR0aDogdW5kZWZpbmVkLFxuICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgY29udGFpbmVyQ2xhc3M6IEVUX09WRVJMQVlfRlVMTF9TQ1JFRU5fRElBTE9HX0NMQVNTLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogKCkgPT4gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmxlZnQoJzAnKS50b3AoJzAnKS5ib3R0b20oJzAnKS5yaWdodCgnMCcpLFxuICAgICAgZG9jdW1lbnRDbGFzczogJ2V0LW92ZXJsYXktLWZ1bGwtc2NyZWVuLWRpYWxvZy1kb2N1bWVudCcsXG4gICAgICBhcHBseVRyYW5zZm9ybU9yaWdpbjogdHJ1ZSxcbiAgICB9LFxuICAgIGJvdHRvbVNoZWV0OiB7XG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtYXhIZWlnaHQ6ICdjYWxjKDEwMCUgLSA3MnB4KScsXG4gICAgICBtYXhXaWR0aDogJzY0MHB4JyxcbiAgICAgIG1pbkhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgbWluV2lkdGg6IHVuZGVmaW5lZCxcbiAgICAgIGNvbnRhaW5lckNsYXNzOiBFVF9PVkVSTEFZX0JPVFRPTV9TSEVFVF9DTEFTUyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6ICgpID0+IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5ib3R0b20oJzAnKSxcbiAgICAgIGRyYWdUb0Rpc21pc3M6IHtcbiAgICAgICAgZGlyZWN0aW9uOiAndG8tYm90dG9tJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB0b3BTaGVldDoge1xuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgbWF4SGVpZ2h0OiAnY2FsYygxMDAlIC0gNzJweCknLFxuICAgICAgbWF4V2lkdGg6ICc2NDBweCcsXG4gICAgICBtaW5IZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1pbldpZHRoOiB1bmRlZmluZWQsXG4gICAgICBjb250YWluZXJDbGFzczogRVRfT1ZFUkxBWV9UT1BfU0hFRVRfQ0xBU1MsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiAoKSA9PiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkudG9wKCcwJyksXG4gICAgICBkcmFnVG9EaXNtaXNzOiB7XG4gICAgICAgIGRpcmVjdGlvbjogJ3RvLXRvcCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgbGVmdFNoZWV0OiB7XG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBtYXhIZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1heFdpZHRoOiAnNjQwcHgnLFxuICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgY29udGFpbmVyQ2xhc3M6IEVUX09WRVJMQVlfTEVGVF9TSEVFVF9DTEFTUyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6ICgpID0+IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5sZWZ0KCcwJykuY2VudGVyVmVydGljYWxseSgpLFxuICAgICAgZHJhZ1RvRGlzbWlzczoge1xuICAgICAgICBkaXJlY3Rpb246ICd0by1sZWZ0JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByaWdodFNoZWV0OiB7XG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBtYXhIZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1heFdpZHRoOiAnNjQwcHgnLFxuICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgY29udGFpbmVyQ2xhc3M6IEVUX09WRVJMQVlfUklHSFRfU0hFRVRfQ0xBU1MsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiAoKSA9PiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkucmlnaHQoJzAnKS5jZW50ZXJWZXJ0aWNhbGx5KCksXG4gICAgICBkcmFnVG9EaXNtaXNzOiB7XG4gICAgICAgIGRpcmVjdGlvbjogJ3RvLXJpZ2h0JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSBzYXRpc2ZpZXMgUmVjb3JkPHN0cmluZywgT3ZlcmxheUJyZWFrcG9pbnRDb25maWc+O1xuXG4gIHRyYW5zZm9ybWluZ0JvdHRvbVNoZWV0VG9EaWFsb2coY3VzdG9tQ29uZmlnPzoge1xuICAgIGJvdHRvbVNoZWV0PzogT3ZlcmxheUJyZWFrcG9pbnRDb25maWc7XG4gICAgZGlhbG9nPzogT3ZlcmxheUJyZWFrcG9pbnRDb25maWc7XG4gIH0pIHtcbiAgICBjb25zdCBkYXRhOiBPdmVybGF5QnJlYWtwb2ludENvbmZpZ0VudHJ5W10gPSBbXG4gICAgICB7XG4gICAgICAgIGNvbmZpZzogdGhpcy5tZXJnZUNvbmZpZ3ModGhpcy5ERUZBVUxUUy5ib3R0b21TaGVldCwgY3VzdG9tQ29uZmlnPy5ib3R0b21TaGVldCA/PyB7fSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBicmVha3BvaW50OiAnbWQnLFxuICAgICAgICBjb25maWc6IHRoaXMubWVyZ2VDb25maWdzKHRoaXMuREVGQVVMVFMuZGlhbG9nLCBjdXN0b21Db25maWc/LmRpYWxvZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHRyYW5zZm9ybWluZ0Z1bGxTY3JlZW5EaWFsb2dUb1JpZ2h0U2hlZXQoY3VzdG9tQ29uZmlnPzoge1xuICAgIGZ1bGxTY3JlZW5EaWFsb2c/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZztcbiAgICByaWdodFNoZWV0PzogT3ZlcmxheUJyZWFrcG9pbnRDb25maWc7XG4gIH0pIHtcbiAgICBjb25zdCBkYXRhOiBPdmVybGF5QnJlYWtwb2ludENvbmZpZ0VudHJ5W10gPSBbXG4gICAgICB7XG4gICAgICAgIGNvbmZpZzogdGhpcy5tZXJnZUNvbmZpZ3ModGhpcy5ERUZBVUxUUy5mdWxsU2NyZWVuRGlhbG9nLCBjdXN0b21Db25maWc/LmZ1bGxTY3JlZW5EaWFsb2cgPz8ge30pLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJ21kJyxcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLnJpZ2h0U2hlZXQsIGN1c3RvbUNvbmZpZz8ucmlnaHRTaGVldCA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGRpYWxvZyhjdXN0b21Db25maWc/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZykge1xuICAgIGNvbnN0IGRhdGE6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLmRpYWxvZywgY3VzdG9tQ29uZmlnID8/IHt9KSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZnVsbFNjcmVlbkRpYWxvZyhjdXN0b21Db25maWc/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZykge1xuICAgIGNvbnN0IGRhdGE6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLmZ1bGxTY3JlZW5EaWFsb2csIGN1c3RvbUNvbmZpZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGJvdHRvbVNoZWV0KGN1c3RvbUNvbmZpZz86IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnKSB7XG4gICAgY29uc3QgZGF0YTogT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeVtdID0gW1xuICAgICAge1xuICAgICAgICBjb25maWc6IHRoaXMubWVyZ2VDb25maWdzKHRoaXMuREVGQVVMVFMuYm90dG9tU2hlZXQsIGN1c3RvbUNvbmZpZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHRvcFNoZWV0KGN1c3RvbUNvbmZpZz86IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnKSB7XG4gICAgY29uc3QgZGF0YTogT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeVtdID0gW1xuICAgICAge1xuICAgICAgICBjb25maWc6IHRoaXMubWVyZ2VDb25maWdzKHRoaXMuREVGQVVMVFMudG9wU2hlZXQsIGN1c3RvbUNvbmZpZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGxlZnRTaGVldChjdXN0b21Db25maWc/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZykge1xuICAgIGNvbnN0IGRhdGE6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLmxlZnRTaGVldCwgY3VzdG9tQ29uZmlnID8/IHt9KSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcmlnaHRTaGVldChjdXN0b21Db25maWc/OiBPdmVybGF5QnJlYWtwb2ludENvbmZpZykge1xuICAgIGNvbnN0IGRhdGE6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1lcmdlQ29uZmlncyh0aGlzLkRFRkFVTFRTLnJpZ2h0U2hlZXQsIGN1c3RvbUNvbmZpZyA/PyB7fSksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIG1lcmdlQ29uZmlncyguLi5jb25maWdzOiBPdmVybGF5QnJlYWtwb2ludENvbmZpZ1tdKSB7XG4gICAgY29uc3QgY29uZmlnID0gY29uZmlncy5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5jdXJyLFxuICAgICAgfTtcbiAgICB9LCB7fSBhcyBPdmVybGF5QnJlYWtwb2ludENvbmZpZyk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG59XG4iXX0=