@lucca-front/ng 9.0.0 → 9.0.1

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.
@@ -100,7 +100,7 @@ export class ALuPopoverTrigger {
100
100
  openPopover() {
101
101
  if (!this._popoverOpen && !this._disabled) {
102
102
  this._createOverlay();
103
- this._overlayRef.attach(this._portal);
103
+ this._attachPortalToOverlay();
104
104
  /** Only subscribe to backdrop if trigger event is click */
105
105
  if (this.triggerEvent === 'click') {
106
106
  this._subscribeToBackdrop();
@@ -150,6 +150,12 @@ export class ALuPopoverTrigger {
150
150
  const position = this.target.position;
151
151
  return position === 'below' || position === 'above';
152
152
  }
153
+ _attachPortalToOverlay() {
154
+ this._overlayRef.attach(this._portal);
155
+ }
156
+ _getPanelScrollStrategy() {
157
+ return this.panel.scrollStrategy;
158
+ }
153
159
  /**
154
160
  * This method ensures that the popover
155
161
  */
@@ -255,7 +261,7 @@ export class ALuPopoverTrigger {
255
261
  overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
256
262
  }
257
263
  overlayState.direction = this.dir;
258
- const scrollStrategy = this.panel.scrollStrategy;
264
+ const scrollStrategy = this._getPanelScrollStrategy();
259
265
  switch (scrollStrategy) {
260
266
  case 'block':
261
267
  overlayState.scrollStrategy = this._overlay.scrollStrategies.block();
@@ -421,4 +427,4 @@ export class ALuPopoverTrigger {
421
427
  }
422
428
  }
423
429
  }
424
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvcG9wb3Zlci9zcmMvbGliL3RyaWdnZXIvcG9wb3Zlci10cmlnZ2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBFLE9BQU8sRUFLTixhQUFhLEdBSWIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQW1CLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQW1DckUsNENBQTRDO0FBQzVDLE1BQU0sT0FBZ0IsaUJBQWlCO0lBbUZ0QyxZQUFzQixRQUFpQixFQUFZLFdBQW9DLEVBQVksaUJBQW1DO1FBQWhILGFBQVEsR0FBUixRQUFRLENBQVM7UUFBWSxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFBWSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBakY1SCxnQkFBVyxHQUFzQixJQUFJLENBQUM7UUFDdEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFPckIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFJcEMsdUVBQXVFO1FBQ3ZFLHlFQUF5RTtRQUMvRCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQW9CdkIsa0JBQWEsR0FBMEIsT0FBTyxDQUFDO1FBYS9DLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBT2pCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBUWpCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFv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LEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QztRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ25DLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3QztJQUNGLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHtcclxuXHRGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXHJcblx0SG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXHJcblx0T3JpZ2luQ29ubmVjdGlvblBvc2l0aW9uLFxyXG5cdE92ZXJsYXksXHJcblx0T3ZlcmxheUNvbmZpZyxcclxuXHRPdmVybGF5Q29ubmVjdGlvblBvc2l0aW9uLFxyXG5cdE92ZXJsYXlSZWYsXHJcblx0VmVydGljYWxDb25uZWN0aW9uUG9zLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdlbmVyYXRlSWQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IElMdVBvcG92ZXJQYW5lbCB9IGZyb20gJy4uL3BhbmVsL2luZGV4JztcclxuaW1wb3J0IHsgSUx1UG9wb3ZlclRhcmdldCB9IGZyb20gJy4uL3RhcmdldC9pbmRleCc7XHJcblxyXG5leHBvcnQgdHlwZSBMdVBvcG92ZXJUcmlnZ2VyRXZlbnQgPSAnY2xpY2snIHwgJ2hvdmVyJyB8ICdub25lJyB8ICdmb2N1cyc7XHJcblxyXG4vKipcclxuICogY29tcG9uZW50IHRoYXQgd2lsbCBkZWNpZGUgd2hlbiB0byBzaG93IHRoZSBwb3BvdmVyIGFuZCBhdHRhY2ggaXQgdG8gdGhlIHRhcmdldFxyXG4gKi9cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCBleHRlbmRzIElMdVBvcG92ZXJQYW5lbCA9IElMdVBvcG92ZXJQYW5lbCwgVFRhcmdldCBleHRlbmRzIElMdVBvcG92ZXJUYXJnZXQgPSBJTHVQb3BvdmVyVGFyZ2V0PiB7XHJcblx0LyoqIHRoZSBwb3BvdmVyIHBhbmVsIHRvIGRpc3BsYXkgKi9cclxuXHRwYW5lbDogVFBhbmVsO1xyXG5cdC8qKiB0aGUgcG9wb3ZlciB0YXJnZXQgdG8gYXR0YWNoIHRoZSBwYW5lbCAqL1xyXG5cdHRhcmdldDogVFRhcmdldDtcclxuXHJcblx0LyoqIHdoZW4gdG8gZGlzcGxheSB0aGUgcG9wb3ZlciAqL1xyXG5cdHRyaWdnZXJFdmVudDogTHVQb3BvdmVyVHJpZ2dlckV2ZW50O1xyXG5cdC8qKiBkZWxheSBiZWZvcmUgcG9wb3ZlciBhcHBhcml0aW9uIHdoZW4gdHJpZ2dlciBpcyAnaG92ZXInICovXHJcblx0ZW50ZXJEZWxheTogbnVtYmVyO1xyXG5cdC8qKiBkZWxheSBiZWZvcmUgcG9wb3ZlciBkaXNwYXJpdGlvbiB3aGVuIHRyaWdnZXIgaXMgJ2hvdmVyJyAqL1xyXG5cdGxlYXZlRGVsYXk6IG51bWJlcjtcclxuXHJcblx0LyoqIGRpc2FibGUgcG9wb3ZlciBhcHBhcml0aW9uICovXHJcblx0ZGlzYWJsZWQ6IGJvb2xlYW47XHJcblx0LyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBwb3BvdmVyIGlzIG9wZW5lZC4gKi9cclxuXHRvbk9wZW46IE9ic2VydmFibGU8dm9pZD47XHJcblx0LyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBwb3BvdmVyIGlzIGNsb3NlZC4gKi9cclxuXHRvbkNsb3NlOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuXHRvcGVuUG9wb3ZlcigpO1xyXG5cdGNsb3NlUG9wb3ZlcigpO1xyXG5cdHRvZ2dsZVBvcG92ZXIoKTtcclxuXHRkZXN0cm95UG9wb3ZlcigpO1xyXG59XHJcblxyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUx1UG9wb3ZlclRyaWdnZXI8VFBhbmVsIGV4dGVuZHMgSUx1UG9wb3ZlclBhbmVsID0gSUx1UG9wb3ZlclBhbmVsLCBUVGFyZ2V0IGV4dGVuZHMgSUx1UG9wb3ZlclRhcmdldCA9IElMdVBvcG92ZXJUYXJnZXQ+IGltcGxlbWVudHMgSUx1UG9wb3ZlclRyaWdnZXI8VFBhbmVsLCBUVGFyZ2V0PiB7XHJcblx0cHJvdGVjdGVkIF9wb3J0YWw6IFRlbXBsYXRlUG9ydGFsPHVua25vd24+IHwgQ29tcG9uZW50UG9ydGFsPHVua25vd24+O1xyXG5cdHByb3RlY3RlZCBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG5cdHByb3RlY3RlZCBfcG9wb3Zlck9wZW4gPSBmYWxzZTtcclxuXHQvLyBwcm90ZWN0ZWQgX2hhbHQgPSBmYWxzZTtcclxuXHRwcm90ZWN0ZWQgX2JhY2tkcm9wU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblx0cHJvdGVjdGVkIF9wb3NpdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHRwcm90ZWN0ZWQgX21vdXNlb3ZlclRpbWVyOiB1bmtub3duO1xyXG5cclxuXHRwcm90ZWN0ZWQgX2hvdmVyZWQkID0gbmV3IFN1YmplY3QoKTtcclxuXHRwcm90ZWN0ZWQgX2hvdmVyZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHRwcm90ZWN0ZWQgX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHQvLyB0cmFja2luZyBpbnB1dCB0eXBlIGlzIG5lY2Vzc2FyeSBzbyBpdCdzIHBvc3NpYmxlIHRvIG9ubHkgYXV0by1mb2N1c1xyXG5cdC8vIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBsaXN0IHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmRcclxuXHRwcm90ZWN0ZWQgX29wZW5lZEJ5TW91c2UgPSBmYWxzZTtcclxuXHJcblx0cHJvdGVjdGVkIF9wYW5lbDogVFBhbmVsO1xyXG5cdC8qKiBSZWZlcmVuY2VzIHRoZSBwb3BvdmVyIGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xyXG5cdGdldCBwYW5lbCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9wYW5lbDtcclxuXHR9XHJcblx0c2V0IHBhbmVsKHA6IFRQYW5lbCkge1xyXG5cdFx0dGhpcy5fcGFuZWwgPSBwO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF90YXJnZXQ6IFRUYXJnZXQ7XHJcblx0LyoqIFJlZmVyZW5jZXMgdGhlIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xyXG5cdGdldCB0YXJnZXQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG5cdH1cclxuXHRzZXQgdGFyZ2V0KHQ6IFRUYXJnZXQpIHtcclxuXHRcdHRoaXMuX3RhcmdldCA9IHQ7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX3RyaWdnZXJFdmVudDogTHVQb3BvdmVyVHJpZ2dlckV2ZW50ID0gJ2NsaWNrJztcclxuXHRnZXQgdHJpZ2dlckV2ZW50KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3RyaWdnZXJFdmVudDtcclxuXHR9XHJcblx0c2V0IHRyaWdnZXJFdmVudCh0ZTogTHVQb3BvdmVyVHJpZ2dlckV2ZW50KSB7XHJcblx0XHR0aGlzLl90cmlnZ2VyRXZlbnQgPSB0ZTtcclxuXHRcdGlmICh0ZSA9PT0gJ2hvdmVyJyB8fCB0ZSA9PT0gJ2ZvY3VzJykge1xyXG5cdFx0XHRpZiAodGhpcy5faG92ZXJlZFN1YnNjcmlwdGlvbikge1xyXG5cdFx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLl9ob3ZlcmVkU3Vic2NyaXB0aW9uID0gdGhpcy5faG92ZXJlZCQucGlwZShkZWJvdW5jZSgoaCkgPT4gKGggPyB0aW1lcih0aGlzLmVudGVyRGVsYXkpIDogdGltZXIodGhpcy5sZWF2ZURlbGF5KSkpKS5zdWJzY3JpYmUoKGgpID0+IChoID8gdGhpcy5vcGVuUG9wb3ZlcigpIDogdGhpcy5jbG9zZVBvcG92ZXIoKSkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2VudGVyRGVsYXkgPSA1MDtcclxuXHRnZXQgZW50ZXJEZWxheSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9lbnRlckRlbGF5O1xyXG5cdH1cclxuXHRzZXQgZW50ZXJEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX2VudGVyRGVsYXkgPSBkO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2xlYXZlRGVsYXkgPSA1MDtcclxuXHRnZXQgbGVhdmVEZWxheSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9sZWF2ZURlbGF5O1xyXG5cdH1cclxuXHRzZXQgbGVhdmVEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX2xlYXZlRGVsYXkgPSBkO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cdGdldCBkaXNhYmxlZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuXHR9XHJcblx0c2V0IGRpc2FibGVkKGQ6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMuX2Rpc2FibGVkID0gZDtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfdHJpZ2dlcklkOiBzdHJpbmc7XHJcblx0cHJvdGVjdGVkIF9wYW5lbElkOiBzdHJpbmc7XHJcblxyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXHJcblx0YWJzdHJhY3Qgb25PcGVuOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXHJcblx0YWJzdHJhY3Qgb25DbG9zZTogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcblx0cHJvdGVjdGVkIGFic3RyYWN0IF9lbWl0T3BlbigpOiB2b2lkO1xyXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBfZW1pdENsb3NlKCk6IHZvaWQ7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfb3ZlcmxheTogT3ZlcmxheSwgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJvdGVjdGVkIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblx0XHR0aGlzLl90cmlnZ2VySWQgPSBgcG9wb3ZlclRyaWdnZXJfJHtnZW5lcmF0ZUlkKCl9YDtcclxuXHRcdHRoaXMuX3BhbmVsSWQgPSBgcG9wb3ZlclBhbmVsXyR7Z2VuZXJhdGVJZCgpfWA7XHJcblx0fVxyXG5cclxuXHRvbkNsaWNrKCkge1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snICYmICF0aGlzLmRpc2FibGVkKSB7XHJcblx0XHRcdHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25Nb3VzZUVudGVyKCkge1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInIHx8IHRoaXMudHJpZ2dlckV2ZW50ID09PSAnZm9jdXMnKSB7XHJcblx0XHRcdHRoaXMuX2hvdmVyZWQkLm5leHQodHJ1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbk1vdXNlTGVhdmUoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChmYWxzZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdG9uRm9jdXMoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5vcGVuUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRvbkJsdXIoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBUb2dnbGVzIHRoZSBwb3BvdmVyIGJldHdlZW4gdGhlIG9wZW4gYW5kIGNsb3NlZCBzdGF0ZXMuICovXHJcblx0dG9nZ2xlUG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdHJldHVybiB0aGlzLl9wb3BvdmVyT3BlbiA/IHRoaXMuY2xvc2VQb3BvdmVyKCkgOiB0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcblx0fVxyXG5cclxuXHQvKiogT3BlbnMgdGhlIHBvcG92ZXIuICovXHJcblx0b3BlblBvcG92ZXIoKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuX3BvcG92ZXJPcGVuICYmICF0aGlzLl9kaXNhYmxlZCkge1xyXG5cdFx0XHR0aGlzLl9jcmVhdGVPdmVybGF5KCk7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3BvcnRhbCk7XHJcblxyXG5cdFx0XHQvKiogT25seSBzdWJzY3JpYmUgdG8gYmFja2Ryb3AgaWYgdHJpZ2dlciBldmVudCBpcyBjbGljayAqL1xyXG5cdFx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycpIHtcclxuXHRcdFx0XHR0aGlzLl9zdWJzY3JpYmVUb0JhY2tkcm9wKCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8qKiBPbmx5IHN1YnNjcmliZSB0byBtb3VzZSBlbnRlci9sZWF2ZSBvZiB0aGUgcGFuZWwgaWYgdHJpZ2dlciA9IGhvdmVyICovXHJcblxyXG5cdFx0XHR0aGlzLl9pbml0UG9wb3ZlcigpO1xyXG5cdFx0XHR0aGlzLl9lbWl0T3BlbigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIENsb3NlcyB0aGUgcG9wb3Zlci4gKi9cclxuXHRjbG9zZVBvcG92ZXIoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuXHJcblx0XHRcdC8qKiB1bnN1YnNjcmliZSB0byBiYWNrZHJvcCBjbGljayBpZiBpdCB3YXMgZGVmaW5lZCAqL1xyXG5cdFx0XHRpZiAodGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0XHQvLyBpZiAodGhpcy5wb3BvdmVyLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xyXG5cdFx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuX3Jlc2V0UG9wb3ZlcigpO1xyXG5cdFx0XHR0aGlzLl9lbWl0Q2xvc2UoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBSZW1vdmVzIHRoZSBwb3BvdmVyIGZyb20gdGhlIERPTS4gKi9cclxuXHRkZXN0cm95UG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpO1xyXG5cdFx0XHR0aGlzLl9vdmVybGF5UmVmID0gbnVsbDtcclxuXHRcdFx0dGhpcy5fY2xlYW5VcFN1YnNjcmlwdGlvbnMoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBGb2N1c2VzIHRoZSBwb3BvdmVyIHRyaWdnZXIuICovXHJcblx0Zm9jdXMoKSB7XHJcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuXHR9XHJcblxyXG5cdF9oYW5kbGVNb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuXHRcdGlmICghaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCkpIHtcclxuXHRcdFx0dGhpcy5fb3BlbmVkQnlNb3VzZSA9IHRydWU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogVGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBjb250YWluaW5nIGFwcC4gKi9cclxuXHRnZXQgZGlyKCk6IERpcmVjdGlvbiB7XHJcblx0XHQvLyByZXR1cm4gdGhpcy5fZGlyICYmIHRoaXMuX2Rpci52YWx1ZSA9PT0gJ3J0bCcgPyAncnRsJyA6ICdsdHInO1xyXG5cdFx0cmV0dXJuICdsdHInO1xyXG5cdH1cclxuXHJcblx0LyoqIFJldHVybiBpZiB0aGUgcG9wb3ZlciBtYWluIHBvc2l0aW9ubmluZyBpcyB2ZXJ0aWNhbCAqL1xyXG5cdGdldCBpc1ZlcnRpY2FsbHlQb3NpdGlvbm5lZCgpOiBib29sZWFuIHtcclxuXHRcdGNvbnN0IHBvc2l0aW9uID0gdGhpcy50YXJnZXQucG9zaXRpb247XHJcblx0XHRyZXR1cm4gcG9zaXRpb24gPT09ICdiZWxvdycgfHwgcG9zaXRpb24gPT09ICdhYm92ZSc7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCBlbnN1cmVzIHRoYXQgdGhlIHBvcG92ZXJcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX3N1YnNjcmliZVRvUGFuZWxFdmVudHMoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG5cdFx0XHR0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblx0XHRcdGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2hvdmVyJyB8fCB0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2ZvY3VzJykge1xyXG5cdFx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXHJcblx0XHRcdFx0XHR0aGlzLnBhbmVsLmhvdmVyZWQuc3Vic2NyaWJlKChob3ZlcmVkKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX2hvdmVyZWQkLm5leHQoaG92ZXJlZCk7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXHJcblx0XHRcdFx0dGhpcy5wYW5lbC5jbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0KTtcclxuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zLmFkZChcclxuXHRcdFx0XHR0aGlzLnBhbmVsLm9wZW4uc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMub3BlblBvcG92ZXIoKTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LyoqXHJcblx0ICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyIGNsb3NlcyB3aGVuIHRoZSBvdmVybGF5IGJhY2tkcm9wIGlzIGNsaWNrZWQuXHJcblx0ICogV2UgZG8gbm90IHVzZSBmaXJzdCgpIGhlcmUgYmVjYXVzZSBkb2luZyBzbyB3b3VsZCBub3QgY2F0Y2ggY2xpY2tzIGZyb20gd2l0aGluXHJcblx0ICogdGhlIHBvcG92ZXIsIGFuZCBpdCB3b3VsZCBmYWlsIHRvIHVuc3Vic2NyaWJlIHByb3Blcmx5LiBJbnN0ZWFkLCB3ZSB1bnN1YnNjcmliZVxyXG5cdCAqIGV4cGxpY2l0bHkgd2hlbiB0aGUgcG9wb3ZlciBpcyBjbG9zZWQgb3IgZGVzdHJveWVkLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfc3Vic2NyaWJlVG9CYWNrZHJvcCgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcblx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uID0gdGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIHNldHMgdGhlIHBvcG92ZXIgc3RhdGUgdG8gb3BlbiBhbmQgZm9jdXNlcyB0aGUgZmlyc3QgaXRlbSBpZlxyXG5cdCAqIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWQgdmlhIHRoZSBrZXlib2FyZC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2luaXRQb3BvdmVyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fc2V0SXNQb3BvdmVyT3Blbih0cnVlKTtcclxuXHRcdHRoaXMucGFuZWwucGFuZWxJZCA9IHRoaXMuX3BhbmVsSWQ7XHJcblx0XHR0aGlzLnBhbmVsLnRyaWdnZXJJZCA9IHRoaXMuX3RyaWdnZXJJZDtcclxuXHRcdHRoaXMucGFuZWwua2V5ZG93bkV2ZW50cyQgPSB0aGlzLl9vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKTtcclxuXHRcdHRoaXMuX3N1YnNjcmliZVRvUGFuZWxFdmVudHMoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIHJlc2V0cyB0aGUgcG9wb3ZlciB3aGVuIGl0J3MgY2xvc2VkLCBtb3N0IGltcG9ydGFudGx5IHJlc3RvcmluZ1xyXG5cdCAqIGZvY3VzIHRvIHRoZSBwb3BvdmVyIHRyaWdnZXIgaWYgdGhlIHBvcG92ZXIgd2FzIG9wZW5lZCB2aWEgdGhlIGtleWJvYXJkLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfcmVzZXRQb3BvdmVyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fc2V0SXNQb3BvdmVyT3BlbihmYWxzZSk7XHJcblxyXG5cdFx0Ly8gRm9jdXMgb25seSBuZWVkcyB0byBiZSByZXNldCB0byB0aGUgaG9zdCBlbGVtZW50IGlmIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWRcclxuXHRcdC8vIGJ5IHRoZSBrZXlib2FyZCBhbmQgbWFudWFsbHkgc2hpZnRlZCB0byB0aGUgZmlyc3QgcG9wb3ZlciBpdGVtLlxyXG5cdFx0aWYgKCF0aGlzLl9vcGVuZWRCeU1vdXNlICYmIHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snKSB7XHJcblx0XHRcdHRoaXMuZm9jdXMoKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuX29wZW5lZEJ5TW91c2UgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdC8qKiBzZXQgc3RhdGUgcmF0aGVyIHRoYW4gdG9nZ2xlIHRvIHN1cHBvcnQgdHJpZ2dlcnMgc2hhcmluZyBhIHBvcG92ZXIgKi9cclxuXHRwcm90ZWN0ZWQgX3NldElzUG9wb3Zlck9wZW4oaXNPcGVuOiBib29sZWFuKTogdm9pZCB7XHJcblx0XHR0aGlzLl9wb3BvdmVyT3BlbiA9IGlzT3BlbjtcclxuXHRcdC8vIHRlbGwgdGhlIHBhbmVsIGl0J3Mgb3BlbmluZy9jbG9zaW5nXHJcblx0XHRpc09wZW4gPyB0aGlzLnBhbmVsLm9uT3BlbigpIDogdGhpcy5wYW5lbC5vbkNsb3NlKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiAgVGhpcyBtZXRob2QgY2hlY2tzIHRoYXQgYSB2YWxpZCBpbnN0YW5jZSBvZiBNZFBvcG92ZXIgaGFzIGJlZW4gcGFzc2VkIGludG9cclxuXHQgKiAgbWRQb3BvdmVyVHJpZ2dlckZvci4gSWYgbm90LCBhbiBleGNlcHRpb24gaXMgdGhyb3duLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfY2hlY2tQYW5lbCgpIHtcclxuXHRcdGlmICghdGhpcy5wYW5lbCkge1xyXG5cdFx0XHR0aHJvdyBFcnJvcihgbHUtcG9wb3Zlci10cmlnZ2VyOiBtdXN0IHBhc3MgaW4gYSBsdS1wb3BvdmVyIGluc3RhbmNlLlxyXG4gICAgICBFeGFtcGxlOlxyXG4gICAgICA8bHUtcG9wb3ZlciAjcG9wb3Zlcj1cIkx1UG9wb3ZlclwiPjwvbHUtcG9wb3Zlcj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2x1UG9wb3Zlcl09XCJwb3BvdmVyXCI+PC9idXR0b24+YCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHByb3RlY3RlZCBfY2hlY2tUYXJnZXQoKSB7XHJcblx0XHRpZiAoIXRoaXMudGFyZ2V0KSB7XHJcblx0XHRcdHRocm93IEVycm9yKGBsdS1wb3BvdmVyLXRyaWdnZXI6IG11c3QgcGFzcyBpbiBhIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlLmApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogIFRoaXMgbWV0aG9kIGNyZWF0ZXMgdGhlIG92ZXJsYXkgZnJvbSB0aGUgcHJvdmlkZWQgcG9wb3ZlcidzIHRlbXBsYXRlIGFuZCBzYXZlcyBpdHNcclxuXHQgKiAgT3ZlcmxheVJlZiBzbyB0aGF0IGl0IGNhbiBiZSBhdHRhY2hlZCB0byB0aGUgRE9NIHdoZW4gb3BlblBvcG92ZXIgaXMgY2FsbGVkLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcclxuXHRcdGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xyXG5cdFx0XHR0aGlzLl9wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5wYW5lbC50ZW1wbGF0ZVJlZiwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XHJcblx0XHRcdGNvbnN0IGNvbmZpZyA9IHRoaXMuX2dldE92ZXJsYXlDb25maWcoKTtcclxuXHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9Qb3NpdGlvbnMoY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKGNvbmZpZyk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuX292ZXJsYXlSZWY7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCBidWlsZHMgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG5lZWRlZCB0byBjcmVhdGUgdGhlIG92ZXJsYXksIHRoZSBPdmVybGF5Q29uZmlnLlxyXG5cdCAqIEByZXR1cm5zIE92ZXJsYXlDb25maWdcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2dldE92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XHJcblx0XHRjb25zdCBvdmVybGF5U3RhdGUgPSBuZXcgT3ZlcmxheUNvbmZpZygpO1xyXG5cdFx0b3ZlcmxheVN0YXRlLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9nZXRQb3NpdGlvbigpO1xyXG5cdFx0LyoqIERpc3BsYXkgb3ZlcmxheSBiYWNrZHJvcCBpZiB0cmlnZ2VyIGV2ZW50IGlzIGNsaWNrICovXHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycpIHtcclxuXHRcdFx0b3ZlcmxheVN0YXRlLmhhc0JhY2tkcm9wID0gdHJ1ZTtcclxuXHRcdFx0b3ZlcmxheVN0YXRlLmJhY2tkcm9wQ2xhc3MgPSAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnO1xyXG5cdFx0fVxyXG5cclxuXHRcdG92ZXJsYXlTdGF0ZS5kaXJlY3Rpb24gPSB0aGlzLmRpcjtcclxuXHRcdGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5wYW5lbC5zY3JvbGxTdHJhdGVneTtcclxuXHRcdHN3aXRjaCAoc2Nyb2xsU3RyYXRlZ3kpIHtcclxuXHRcdFx0Y2FzZSAnYmxvY2snOlxyXG5cdFx0XHRcdG92ZXJsYXlTdGF0ZS5zY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0Y2FzZSAnY2xvc2UnOlxyXG5cdFx0XHRcdG92ZXJsYXlTdGF0ZS5zY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRvdmVybGF5U3RhdGUuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG92ZXJsYXlTdGF0ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpc3RlbnMgdG8gY2hhbmdlcyBpbiB0aGUgcG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Nlc1xyXG5cdCAqIG9uIHRoZSBwb3BvdmVyIGJhc2VkIG9uIHRoZSBuZXcgcG9zaXRpb24uIFRoaXMgZW5zdXJlcyB0aGUgYW5pbWF0aW9uIG9yaWdpbiBpcyBhbHdheXNcclxuXHQgKiBjb3JyZWN0LCBldmVuIGlmIGEgZmFsbGJhY2sgcG9zaXRpb24gaXMgdXNlZCBmb3IgdGhlIG92ZXJsYXkuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9zdWJzY3JpYmVUb1Bvc2l0aW9ucyhwb3NpdGlvbjogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTogdm9pZCB7XHJcblx0XHR0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlc1xyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXAoKGMpID0+IGMuY29ubmVjdGlvblBhaXIpLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoY29ubmVjdGlvblBhaXIpID0+IHtcclxuXHRcdFx0XHR0aGlzLnBhbmVsLnNldFBvc2l0aW9uQ2xhc3Nlcyhjb25uZWN0aW9uUGFpci5vdmVybGF5WCwgY29ubmVjdGlvblBhaXIub3ZlcmxheVkpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIGJ1aWxkcyB0aGUgcG9zaXRpb24gc3RyYXRlZ3kgZm9yIHRoZSBvdmVybGF5LCBzbyB0aGUgcG9wb3ZlciBpcyBwcm9wZXJseSBjb25uZWN0ZWRcclxuXHQgKiB0byB0aGUgdHJpZ2dlci5cclxuXHQgKiBAcmV0dXJucyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2dldFBvc2l0aW9uKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XHJcblx0XHQvKipcclxuXHRcdCAqIEZvciBvdmVycmlkaW5nIHBvc2l0aW9uIGVsZW1lbnQsIHdoZW4gTHVQb3BvdmVyVGFyZ2V0QXQgaGFzIGEgdmFsaWQgZWxlbWVudCByZWZlcmVuY2UuXHJcblx0XHQgKiBVc2VmdWwgZm9yIHN0aWNraW5nIHBvcG92ZXIgdG8gcGFyZW50IGVsZW1lbnQgYW5kIG9mZnNldHRpbmcgYXJyb3cgdG8gdHJpZ2dlciBlbGVtZW50LlxyXG5cdFx0ICogSWYgdW5kZWZpbmVkIGRlZmF1bHRzIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQgcmVmZXJlbmNlLlxyXG5cdFx0ICovXHJcblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy50YXJnZXQuZWxlbWVudFJlZjtcclxuXHRcdC8vIGlmICh0eXBlb2YgdGhpcy50YXJnZXRFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBvcG92ZXIpIHtcclxuXHRcdC8vIFx0dGhpcy5wb3BvdmVyLmNvbnRhaW5lclBvc2l0aW9uaW5nID0gdHJ1ZTtcclxuXHRcdC8vIFx0ZWxlbWVudCA9IHRoaXMudGFyZ2V0RWxlbWVudC5fZWxlbWVudFJlZjtcclxuXHRcdC8vIH1cclxuXHJcblx0XHRjb25zdCBjb25uZWN0aW9uUG9zaXRpb246IE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcclxuXHRcdFx0b3JpZ2luWDogJ3N0YXJ0JyxcclxuXHRcdFx0b3JpZ2luWTogJ3RvcCcsXHJcblx0XHR9O1xyXG5cclxuXHRcdC8vIFBvc2l0aW9uXHJcblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMudGFyZ2V0LnBvc2l0aW9uO1xyXG5cdFx0Y29uc3Qgb3ZlcmxhcCA9IHRoaXMudGFyZ2V0Lm92ZXJsYXA7XHJcblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ2JvdHRvbScgOiAndG9wJztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWxvdycpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ3RvcCcgOiAnYm90dG9tJztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XHJcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gb3ZlcmxhcCA/ICdlbmQnIDogJ3N0YXJ0JztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdhZnRlcicpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSBvdmVybGFwID8gJ3N0YXJ0JyA6ICdlbmQnO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEFsaWdubWVudFxyXG5cdFx0Y29uc3QgYWxpZ25tZW50ID0gdGhpcy50YXJnZXQuYWxpZ25tZW50O1xyXG5cdFx0aWYgKHRoaXMuaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQpIHtcclxuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ2xlZnQnKSB7XHJcblx0XHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnc3RhcnQnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ3JpZ2h0Jykge1xyXG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2VuZCc7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnY2VudGVyJztcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcclxuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICd0b3AnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcclxuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdib3R0b20nO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ2NlbnRlcic7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBvdmVybGF5UG9zaXRpb246IE92ZXJsYXlDb25uZWN0aW9uUG9zaXRpb24gPSB7XHJcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxyXG5cdFx0XHRvdmVybGF5WTogJ3RvcCcsXHJcblx0XHR9O1xyXG5cclxuXHRcdGlmIChvdmVybGFwKSB7XHJcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YO1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5pc1ZlcnRpY2FsbHlQb3NpdGlvbm5lZCkge1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWDtcclxuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gcG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gJ2VuZCcgOiAnc3RhcnQnO1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gdGhpcy5fb3ZlcmxheVxyXG5cdFx0XHQucG9zaXRpb24oKVxyXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50KVxyXG5cdFx0XHQud2l0aFBvc2l0aW9ucyhbXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXHJcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcclxuXHRcdFx0XHRcdG92ZXJsYXlYOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgsXHJcblx0XHRcdFx0XHRvdmVybGF5WTogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXHJcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLl9pbnZlcnRWZXJ0aWNhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSksXHJcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxyXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcclxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxyXG5cdFx0XHRcdFx0b3ZlcmxheVg6IHRoaXMuX2ludmVydEhvcml6b250YWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYKSxcclxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcclxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcclxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXHJcblx0XHRcdFx0XHRvdmVybGF5WTogdGhpcy5faW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRdKVxyXG5cdFx0XHQud2l0aERlZmF1bHRPZmZzZXRYKHRoaXMudGFyZ2V0Lm9mZnNldFgpXHJcblx0XHRcdC53aXRoRGVmYXVsdE9mZnNldFkodGhpcy50YXJnZXQub2Zmc2V0WSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2ludmVydFZlcnRpY2FsUG9zKHk6IFZlcnRpY2FsQ29ubmVjdGlvblBvcykge1xyXG5cdFx0aWYgKHkgPT09ICd0b3AnKSB7XHJcblx0XHRcdHkgPSAnYm90dG9tJztcclxuXHRcdH0gZWxzZSBpZiAoeSA9PT0gJ2JvdHRvbScpIHtcclxuXHRcdFx0eSA9ICd0b3AnO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2ludmVydEhvcml6b250YWxQb3MoeDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MpIHtcclxuXHRcdGlmICh4ID09PSAnZW5kJykge1xyXG5cdFx0XHR4ID0gJ3N0YXJ0JztcclxuXHRcdH0gZWxzZSBpZiAoeCA9PT0gJ3N0YXJ0Jykge1xyXG5cdFx0XHR4ID0gJ2VuZCc7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHg7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2NsZWFuVXBTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0dGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9ob3ZlcmVkU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
430
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvcG9wb3Zlci9zcmMvbGliL3RyaWdnZXIvcG9wb3Zlci10cmlnZ2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBFLE9BQU8sRUFLTixhQUFhLEdBSWIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQW1CLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQW1DckUsNENBQTRDO0FBQzVDLE1BQU0sT0FBZ0IsaUJBQWlCO0lBbUZ0QyxZQUFzQixRQUFpQixFQUFZLFdBQW9DLEVBQVksaUJBQW1DO1FBQWhILGFBQVEsR0FBUixRQUFRLENBQVM7UUFBWSxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFBWSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBakY1SCxnQkFBVyxHQUFzQixJQUFJLENBQUM7UUFDdEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFPckIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFJcEMsdUVBQXVFO1FBQ3ZFLHlFQUF5RTtRQUMvRCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQW9CdkIsa0JBQWEsR0FBMEIsT0FBTyxDQUFDO1FBYS9DLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBT2pCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBUWpCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFv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Q0FBQztTQUNWO1FBRUQsT0FBTyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRVMscUJBQXFCO1FBQzlCLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QztRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ25DLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3QztJQUNGLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHtcclxuXHRGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXHJcblx0SG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXHJcblx0T3JpZ2luQ29ubmVjdGlvblBvc2l0aW9uLFxyXG5cdE92ZXJsYXksXHJcblx0T3ZlcmxheUNvbmZpZyxcclxuXHRPdmVybGF5Q29ubmVjdGlvblBvc2l0aW9uLFxyXG5cdE92ZXJsYXlSZWYsXHJcblx0VmVydGljYWxDb25uZWN0aW9uUG9zLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdlbmVyYXRlSWQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IElMdVBvcG92ZXJQYW5lbCwgTHVQb3BvdmVyU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICcuLi9wYW5lbC9pbmRleCc7XHJcbmltcG9ydCB7IElMdVBvcG92ZXJUYXJnZXQgfSBmcm9tICcuLi90YXJnZXQvaW5kZXgnO1xyXG5cclxuZXhwb3J0IHR5cGUgTHVQb3BvdmVyVHJpZ2dlckV2ZW50ID0gJ2NsaWNrJyB8ICdob3ZlcicgfCAnbm9uZScgfCAnZm9jdXMnO1xyXG5cclxuLyoqXHJcbiAqIGNvbXBvbmVudCB0aGF0IHdpbGwgZGVjaWRlIHdoZW4gdG8gc2hvdyB0aGUgcG9wb3ZlciBhbmQgYXR0YWNoIGl0IHRvIHRoZSB0YXJnZXRcclxuICovXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJTHVQb3BvdmVyVHJpZ2dlcjxUUGFuZWwgZXh0ZW5kcyBJTHVQb3BvdmVyUGFuZWwgPSBJTHVQb3BvdmVyUGFuZWwsIFRUYXJnZXQgZXh0ZW5kcyBJTHVQb3BvdmVyVGFyZ2V0ID0gSUx1UG9wb3ZlclRhcmdldD4ge1xyXG5cdC8qKiB0aGUgcG9wb3ZlciBwYW5lbCB0byBkaXNwbGF5ICovXHJcblx0cGFuZWw6IFRQYW5lbDtcclxuXHQvKiogdGhlIHBvcG92ZXIgdGFyZ2V0IHRvIGF0dGFjaCB0aGUgcGFuZWwgKi9cclxuXHR0YXJnZXQ6IFRUYXJnZXQ7XHJcblxyXG5cdC8qKiB3aGVuIHRvIGRpc3BsYXkgdGhlIHBvcG92ZXIgKi9cclxuXHR0cmlnZ2VyRXZlbnQ6IEx1UG9wb3ZlclRyaWdnZXJFdmVudDtcclxuXHQvKiogZGVsYXkgYmVmb3JlIHBvcG92ZXIgYXBwYXJpdGlvbiB3aGVuIHRyaWdnZXIgaXMgJ2hvdmVyJyAqL1xyXG5cdGVudGVyRGVsYXk6IG51bWJlcjtcclxuXHQvKiogZGVsYXkgYmVmb3JlIHBvcG92ZXIgZGlzcGFyaXRpb24gd2hlbiB0cmlnZ2VyIGlzICdob3ZlcicgKi9cclxuXHRsZWF2ZURlbGF5OiBudW1iZXI7XHJcblxyXG5cdC8qKiBkaXNhYmxlIHBvcG92ZXIgYXBwYXJpdGlvbiAqL1xyXG5cdGRpc2FibGVkOiBib29sZWFuO1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXHJcblx0b25PcGVuOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXHJcblx0b25DbG9zZTogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcblx0b3BlblBvcG92ZXIoKTtcclxuXHRjbG9zZVBvcG92ZXIoKTtcclxuXHR0b2dnbGVQb3BvdmVyKCk7XHJcblx0ZGVzdHJveVBvcG92ZXIoKTtcclxufVxyXG5cclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCBleHRlbmRzIElMdVBvcG92ZXJQYW5lbCA9IElMdVBvcG92ZXJQYW5lbCwgVFRhcmdldCBleHRlbmRzIElMdVBvcG92ZXJUYXJnZXQgPSBJTHVQb3BvdmVyVGFyZ2V0PiBpbXBsZW1lbnRzIElMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCwgVFRhcmdldD4ge1xyXG5cdHByb3RlY3RlZCBfcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDx1bmtub3duPiB8IENvbXBvbmVudFBvcnRhbDxUUGFuZWw+O1xyXG5cdHByb3RlY3RlZCBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG5cdHByb3RlY3RlZCBfcG9wb3Zlck9wZW4gPSBmYWxzZTtcclxuXHQvLyBwcm90ZWN0ZWQgX2hhbHQgPSBmYWxzZTtcclxuXHRwcm90ZWN0ZWQgX2JhY2tkcm9wU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblx0cHJvdGVjdGVkIF9wb3NpdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHRwcm90ZWN0ZWQgX21vdXNlb3ZlclRpbWVyOiB1bmtub3duO1xyXG5cclxuXHRwcm90ZWN0ZWQgX2hvdmVyZWQkID0gbmV3IFN1YmplY3QoKTtcclxuXHRwcm90ZWN0ZWQgX2hvdmVyZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHRwcm90ZWN0ZWQgX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHQvLyB0cmFja2luZyBpbnB1dCB0eXBlIGlzIG5lY2Vzc2FyeSBzbyBpdCdzIHBvc3NpYmxlIHRvIG9ubHkgYXV0by1mb2N1c1xyXG5cdC8vIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBsaXN0IHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmRcclxuXHRwcm90ZWN0ZWQgX29wZW5lZEJ5TW91c2UgPSBmYWxzZTtcclxuXHJcblx0cHJvdGVjdGVkIF9wYW5lbDogVFBhbmVsO1xyXG5cdC8qKiBSZWZlcmVuY2VzIHRoZSBwb3BvdmVyIGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xyXG5cdGdldCBwYW5lbCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9wYW5lbDtcclxuXHR9XHJcblx0c2V0IHBhbmVsKHA6IFRQYW5lbCkge1xyXG5cdFx0dGhpcy5fcGFuZWwgPSBwO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF90YXJnZXQ6IFRUYXJnZXQ7XHJcblx0LyoqIFJlZmVyZW5jZXMgdGhlIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xyXG5cdGdldCB0YXJnZXQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG5cdH1cclxuXHRzZXQgdGFyZ2V0KHQ6IFRUYXJnZXQpIHtcclxuXHRcdHRoaXMuX3RhcmdldCA9IHQ7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX3RyaWdnZXJFdmVudDogTHVQb3BvdmVyVHJpZ2dlckV2ZW50ID0gJ2NsaWNrJztcclxuXHRnZXQgdHJpZ2dlckV2ZW50KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3RyaWdnZXJFdmVudDtcclxuXHR9XHJcblx0c2V0IHRyaWdnZXJFdmVudCh0ZTogTHVQb3BvdmVyVHJpZ2dlckV2ZW50KSB7XHJcblx0XHR0aGlzLl90cmlnZ2VyRXZlbnQgPSB0ZTtcclxuXHRcdGlmICh0ZSA9PT0gJ2hvdmVyJyB8fCB0ZSA9PT0gJ2ZvY3VzJykge1xyXG5cdFx0XHRpZiAodGhpcy5faG92ZXJlZFN1YnNjcmlwdGlvbikge1xyXG5cdFx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLl9ob3ZlcmVkU3Vic2NyaXB0aW9uID0gdGhpcy5faG92ZXJlZCQucGlwZShkZWJvdW5jZSgoaCkgPT4gKGggPyB0aW1lcih0aGlzLmVudGVyRGVsYXkpIDogdGltZXIodGhpcy5sZWF2ZURlbGF5KSkpKS5zdWJzY3JpYmUoKGgpID0+IChoID8gdGhpcy5vcGVuUG9wb3ZlcigpIDogdGhpcy5jbG9zZVBvcG92ZXIoKSkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2VudGVyRGVsYXkgPSA1MDtcclxuXHRnZXQgZW50ZXJEZWxheSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9lbnRlckRlbGF5O1xyXG5cdH1cclxuXHRzZXQgZW50ZXJEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX2VudGVyRGVsYXkgPSBkO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2xlYXZlRGVsYXkgPSA1MDtcclxuXHRnZXQgbGVhdmVEZWxheSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9sZWF2ZURlbGF5O1xyXG5cdH1cclxuXHRzZXQgbGVhdmVEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX2xlYXZlRGVsYXkgPSBkO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cdGdldCBkaXNhYmxlZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuXHR9XHJcblx0c2V0IGRpc2FibGVkKGQ6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMuX2Rpc2FibGVkID0gZDtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfdHJpZ2dlcklkOiBzdHJpbmc7XHJcblx0cHJvdGVjdGVkIF9wYW5lbElkOiBzdHJpbmc7XHJcblxyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXHJcblx0YWJzdHJhY3Qgb25PcGVuOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXHJcblx0YWJzdHJhY3Qgb25DbG9zZTogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcblx0cHJvdGVjdGVkIGFic3RyYWN0IF9lbWl0T3BlbigpOiB2b2lkO1xyXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBfZW1pdENsb3NlKCk6IHZvaWQ7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfb3ZlcmxheTogT3ZlcmxheSwgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJvdGVjdGVkIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblx0XHR0aGlzLl90cmlnZ2VySWQgPSBgcG9wb3ZlclRyaWdnZXJfJHtnZW5lcmF0ZUlkKCl9YDtcclxuXHRcdHRoaXMuX3BhbmVsSWQgPSBgcG9wb3ZlclBhbmVsXyR7Z2VuZXJhdGVJZCgpfWA7XHJcblx0fVxyXG5cclxuXHRvbkNsaWNrKCkge1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snICYmICF0aGlzLmRpc2FibGVkKSB7XHJcblx0XHRcdHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25Nb3VzZUVudGVyKCkge1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInIHx8IHRoaXMudHJpZ2dlckV2ZW50ID09PSAnZm9jdXMnKSB7XHJcblx0XHRcdHRoaXMuX2hvdmVyZWQkLm5leHQodHJ1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbk1vdXNlTGVhdmUoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChmYWxzZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdG9uRm9jdXMoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5vcGVuUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRvbkJsdXIoKSB7XHJcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0dGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBUb2dnbGVzIHRoZSBwb3BvdmVyIGJldHdlZW4gdGhlIG9wZW4gYW5kIGNsb3NlZCBzdGF0ZXMuICovXHJcblx0dG9nZ2xlUG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdHJldHVybiB0aGlzLl9wb3BvdmVyT3BlbiA/IHRoaXMuY2xvc2VQb3BvdmVyKCkgOiB0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcblx0fVxyXG5cclxuXHQvKiogT3BlbnMgdGhlIHBvcG92ZXIuICovXHJcblx0b3BlblBvcG92ZXIoKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuX3BvcG92ZXJPcGVuICYmICF0aGlzLl9kaXNhYmxlZCkge1xyXG5cdFx0XHR0aGlzLl9jcmVhdGVPdmVybGF5KCk7XHJcblx0XHRcdHRoaXMuX2F0dGFjaFBvcnRhbFRvT3ZlcmxheSgpO1xyXG5cclxuXHRcdFx0LyoqIE9ubHkgc3Vic2NyaWJlIHRvIGJhY2tkcm9wIGlmIHRyaWdnZXIgZXZlbnQgaXMgY2xpY2sgKi9cclxuXHRcdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snKSB7XHJcblx0XHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9CYWNrZHJvcCgpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvKiogT25seSBzdWJzY3JpYmUgdG8gbW91c2UgZW50ZXIvbGVhdmUgb2YgdGhlIHBhbmVsIGlmIHRyaWdnZXIgPSBob3ZlciAqL1xyXG5cclxuXHRcdFx0dGhpcy5faW5pdFBvcG92ZXIoKTtcclxuXHRcdFx0dGhpcy5fZW1pdE9wZW4oKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXHJcblx0Y2xvc2VQb3BvdmVyKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcblxyXG5cdFx0XHQvKiogdW5zdWJzY3JpYmUgdG8gYmFja2Ryb3AgY2xpY2sgaWYgaXQgd2FzIGRlZmluZWQgKi9cclxuXHRcdFx0aWYgKHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMucG9wb3Zlci50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycpIHtcclxuXHRcdFx0XHR0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0aGlzLl9yZXNldFBvcG92ZXIoKTtcclxuXHRcdFx0dGhpcy5fZW1pdENsb3NlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogUmVtb3ZlcyB0aGUgcG9wb3ZlciBmcm9tIHRoZSBET00uICovXHJcblx0ZGVzdHJveVBvcG92ZXIoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG5cdFx0XHR0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XHJcblx0XHRcdHRoaXMuX2NsZWFuVXBTdWJzY3JpcHRpb25zKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogRm9jdXNlcyB0aGUgcG9wb3ZlciB0cmlnZ2VyLiAqL1xyXG5cdGZvY3VzKCkge1xyXG5cdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcblx0fVxyXG5cclxuXHRfaGFuZGxlTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcblx0XHRpZiAoIWlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQpKSB7XHJcblx0XHRcdHRoaXMuX29wZW5lZEJ5TW91c2UgPSB0cnVlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIFRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgY29udGFpbmluZyBhcHAuICovXHJcblx0Z2V0IGRpcigpOiBEaXJlY3Rpb24ge1xyXG5cdFx0Ly8gcmV0dXJuIHRoaXMuX2RpciAmJiB0aGlzLl9kaXIudmFsdWUgPT09ICdydGwnID8gJ3J0bCcgOiAnbHRyJztcclxuXHRcdHJldHVybiAnbHRyJztcclxuXHR9XHJcblxyXG5cdC8qKiBSZXR1cm4gaWYgdGhlIHBvcG92ZXIgbWFpbiBwb3NpdGlvbm5pbmcgaXMgdmVydGljYWwgKi9cclxuXHRnZXQgaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQoKTogYm9vbGVhbiB7XHJcblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMudGFyZ2V0LnBvc2l0aW9uO1xyXG5cdFx0cmV0dXJuIHBvc2l0aW9uID09PSAnYmVsb3cnIHx8IHBvc2l0aW9uID09PSAnYWJvdmUnO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9hdHRhY2hQb3J0YWxUb092ZXJsYXkoKTogdm9pZCB7XHJcblx0XHR0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9nZXRQYW5lbFNjcm9sbFN0cmF0ZWd5KCk6IEx1UG9wb3ZlclNjcm9sbFN0cmF0ZWd5IHtcclxuXHRcdHJldHVybiB0aGlzLnBhbmVsLnNjcm9sbFN0cmF0ZWd5O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9zdWJzY3JpYmVUb1BhbmVsRXZlbnRzKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cdFx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcclxuXHRcdFx0XHR0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMuYWRkKFxyXG5cdFx0XHRcdFx0dGhpcy5wYW5lbC5ob3ZlcmVkLnN1YnNjcmliZSgoaG92ZXJlZCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLl9ob3ZlcmVkJC5uZXh0KGhvdmVyZWQpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMuYWRkKFxyXG5cdFx0XHRcdHRoaXMucGFuZWwuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuY2xvc2VQb3BvdmVyKCk7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdCk7XHJcblx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXHJcblx0XHRcdFx0dGhpcy5wYW5lbC5vcGVuLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLm9wZW5Qb3BvdmVyKCk7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIGVuc3VyZXMgdGhhdCB0aGUgcG9wb3ZlciBjbG9zZXMgd2hlbiB0aGUgb3ZlcmxheSBiYWNrZHJvcCBpcyBjbGlja2VkLlxyXG5cdCAqIFdlIGRvIG5vdCB1c2UgZmlyc3QoKSBoZXJlIGJlY2F1c2UgZG9pbmcgc28gd291bGQgbm90IGNhdGNoIGNsaWNrcyBmcm9tIHdpdGhpblxyXG5cdCAqIHRoZSBwb3BvdmVyLCBhbmQgaXQgd291bGQgZmFpbCB0byB1bnN1YnNjcmliZSBwcm9wZXJseS4gSW5zdGVhZCwgd2UgdW5zdWJzY3JpYmVcclxuXHQgKiBleHBsaWNpdGx5IHdoZW4gdGhlIHBvcG92ZXIgaXMgY2xvc2VkIG9yIGRlc3Ryb3llZC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX3N1YnNjcmliZVRvQmFja2Ryb3AoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG5cdFx0XHR0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbiA9IHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCBzZXRzIHRoZSBwb3BvdmVyIHN0YXRlIHRvIG9wZW4gYW5kIGZvY3VzZXMgdGhlIGZpcnN0IGl0ZW0gaWZcclxuXHQgKiB0aGUgcG9wb3ZlciB3YXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmQuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9pbml0UG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3NldElzUG9wb3Zlck9wZW4odHJ1ZSk7XHJcblx0XHR0aGlzLnBhbmVsLnBhbmVsSWQgPSB0aGlzLl9wYW5lbElkO1xyXG5cdFx0dGhpcy5wYW5lbC50cmlnZ2VySWQgPSB0aGlzLl90cmlnZ2VySWQ7XHJcblx0XHR0aGlzLnBhbmVsLmtleWRvd25FdmVudHMkID0gdGhpcy5fb3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCk7XHJcblx0XHR0aGlzLl9zdWJzY3JpYmVUb1BhbmVsRXZlbnRzKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCByZXNldHMgdGhlIHBvcG92ZXIgd2hlbiBpdCdzIGNsb3NlZCwgbW9zdCBpbXBvcnRhbnRseSByZXN0b3JpbmdcclxuXHQgKiBmb2N1cyB0byB0aGUgcG9wb3ZlciB0cmlnZ2VyIGlmIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWQgdmlhIHRoZSBrZXlib2FyZC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX3Jlc2V0UG9wb3ZlcigpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3NldElzUG9wb3Zlck9wZW4oZmFsc2UpO1xyXG5cclxuXHRcdC8vIEZvY3VzIG9ubHkgbmVlZHMgdG8gYmUgcmVzZXQgdG8gdGhlIGhvc3QgZWxlbWVudCBpZiB0aGUgcG9wb3ZlciB3YXMgb3BlbmVkXHJcblx0XHQvLyBieSB0aGUga2V5Ym9hcmQgYW5kIG1hbnVhbGx5IHNoaWZ0ZWQgdG8gdGhlIGZpcnN0IHBvcG92ZXIgaXRlbS5cclxuXHRcdGlmICghdGhpcy5fb3BlbmVkQnlNb3VzZSAmJiB0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xyXG5cdFx0XHR0aGlzLmZvY3VzKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLl9vcGVuZWRCeU1vdXNlID0gZmFsc2U7XHJcblx0fVxyXG5cclxuXHQvKiogc2V0IHN0YXRlIHJhdGhlciB0aGFuIHRvZ2dsZSB0byBzdXBwb3J0IHRyaWdnZXJzIHNoYXJpbmcgYSBwb3BvdmVyICovXHJcblx0cHJvdGVjdGVkIF9zZXRJc1BvcG92ZXJPcGVuKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0dGhpcy5fcG9wb3Zlck9wZW4gPSBpc09wZW47XHJcblx0XHQvLyB0ZWxsIHRoZSBwYW5lbCBpdCdzIG9wZW5pbmcvY2xvc2luZ1xyXG5cdFx0aXNPcGVuID8gdGhpcy5wYW5lbC5vbk9wZW4oKSA6IHRoaXMucGFuZWwub25DbG9zZSgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogIFRoaXMgbWV0aG9kIGNoZWNrcyB0aGF0IGEgdmFsaWQgaW5zdGFuY2Ugb2YgTWRQb3BvdmVyIGhhcyBiZWVuIHBhc3NlZCBpbnRvXHJcblx0ICogIG1kUG9wb3ZlclRyaWdnZXJGb3IuIElmIG5vdCwgYW4gZXhjZXB0aW9uIGlzIHRocm93bi5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2NoZWNrUGFuZWwoKSB7XHJcblx0XHRpZiAoIXRoaXMucGFuZWwpIHtcclxuXHRcdFx0dGhyb3cgRXJyb3IoYGx1LXBvcG92ZXItdHJpZ2dlcjogbXVzdCBwYXNzIGluIGEgbHUtcG9wb3ZlciBpbnN0YW5jZS5cclxuICAgICAgRXhhbXBsZTpcclxuICAgICAgPGx1LXBvcG92ZXIgI3BvcG92ZXI9XCJMdVBvcG92ZXJcIj48L2x1LXBvcG92ZXI+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtsdVBvcG92ZXJdPVwicG9wb3ZlclwiPjwvYnV0dG9uPmApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2NoZWNrVGFyZ2V0KCkge1xyXG5cdFx0aWYgKCF0aGlzLnRhcmdldCkge1xyXG5cdFx0XHR0aHJvdyBFcnJvcihgbHUtcG9wb3Zlci10cmlnZ2VyOiBtdXN0IHBhc3MgaW4gYSBwb3BvdmVyIHRhcmdldCBpbnN0YW5jZS5gKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqICBUaGlzIG1ldGhvZCBjcmVhdGVzIHRoZSBvdmVybGF5IGZyb20gdGhlIHByb3ZpZGVkIHBvcG92ZXIncyB0ZW1wbGF0ZSBhbmQgc2F2ZXMgaXRzXHJcblx0ICogIE92ZXJsYXlSZWYgc28gdGhhdCBpdCBjYW4gYmUgYXR0YWNoZWQgdG8gdGhlIERPTSB3aGVuIG9wZW5Qb3BvdmVyIGlzIGNhbGxlZC5cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2NyZWF0ZU92ZXJsYXkoKTogT3ZlcmxheVJlZiB7XHJcblx0XHRpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcclxuXHRcdFx0dGhpcy5fcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucGFuZWwudGVtcGxhdGVSZWYsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xyXG5cdFx0XHRjb25zdCBjb25maWcgPSB0aGlzLl9nZXRPdmVybGF5Q29uZmlnKCk7XHJcblx0XHRcdHRoaXMuX3N1YnNjcmliZVRvUG9zaXRpb25zKGNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5IGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSk7XHJcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB0aGlzLl9vdmVybGF5UmVmO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVGhpcyBtZXRob2QgYnVpbGRzIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBuZWVkZWQgdG8gY3JlYXRlIHRoZSBvdmVybGF5LCB0aGUgT3ZlcmxheUNvbmZpZy5cclxuXHQgKiBAcmV0dXJucyBPdmVybGF5Q29uZmlnXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9nZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xyXG5cdFx0Y29uc3Qgb3ZlcmxheVN0YXRlID0gbmV3IE92ZXJsYXlDb25maWcoKTtcclxuXHRcdG92ZXJsYXlTdGF0ZS5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fZ2V0UG9zaXRpb24oKTtcclxuXHRcdC8qKiBEaXNwbGF5IG92ZXJsYXkgYmFja2Ryb3AgaWYgdHJpZ2dlciBldmVudCBpcyBjbGljayAqL1xyXG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnY2xpY2snKSB7XHJcblx0XHRcdG92ZXJsYXlTdGF0ZS5oYXNCYWNrZHJvcCA9IHRydWU7XHJcblx0XHRcdG92ZXJsYXlTdGF0ZS5iYWNrZHJvcENsYXNzID0gJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJztcclxuXHRcdH1cclxuXHJcblx0XHRvdmVybGF5U3RhdGUuZGlyZWN0aW9uID0gdGhpcy5kaXI7XHJcblx0XHRjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMuX2dldFBhbmVsU2Nyb2xsU3RyYXRlZ3koKTtcclxuXHRcdHN3aXRjaCAoc2Nyb2xsU3RyYXRlZ3kpIHtcclxuXHRcdFx0Y2FzZSAnYmxvY2snOlxyXG5cdFx0XHRcdG92ZXJsYXlTdGF0ZS5zY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0Y2FzZSAnY2xvc2UnOlxyXG5cdFx0XHRcdG92ZXJsYXlTdGF0ZS5zY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRvdmVybGF5U3RhdGUuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG92ZXJsYXlTdGF0ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpc3RlbnMgdG8gY2hhbmdlcyBpbiB0aGUgcG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Nlc1xyXG5cdCAqIG9uIHRoZSBwb3BvdmVyIGJhc2VkIG9uIHRoZSBuZXcgcG9zaXRpb24uIFRoaXMgZW5zdXJlcyB0aGUgYW5pbWF0aW9uIG9yaWdpbiBpcyBhbHdheXNcclxuXHQgKiBjb3JyZWN0LCBldmVuIGlmIGEgZmFsbGJhY2sgcG9zaXRpb24gaXMgdXNlZCBmb3IgdGhlIG92ZXJsYXkuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9zdWJzY3JpYmVUb1Bvc2l0aW9ucyhwb3NpdGlvbjogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTogdm9pZCB7XHJcblx0XHR0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlc1xyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXAoKGMpID0+IGMuY29ubmVjdGlvblBhaXIpLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoY29ubmVjdGlvblBhaXIpID0+IHtcclxuXHRcdFx0XHR0aGlzLnBhbmVsLnNldFBvc2l0aW9uQ2xhc3Nlcyhjb25uZWN0aW9uUGFpci5vdmVybGF5WCwgY29ubmVjdGlvblBhaXIub3ZlcmxheVkpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgbWV0aG9kIGJ1aWxkcyB0aGUgcG9zaXRpb24gc3RyYXRlZ3kgZm9yIHRoZSBvdmVybGF5LCBzbyB0aGUgcG9wb3ZlciBpcyBwcm9wZXJseSBjb25uZWN0ZWRcclxuXHQgKiB0byB0aGUgdHJpZ2dlci5cclxuXHQgKiBAcmV0dXJucyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2dldFBvc2l0aW9uKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XHJcblx0XHQvKipcclxuXHRcdCAqIEZvciBvdmVycmlkaW5nIHBvc2l0aW9uIGVsZW1lbnQsIHdoZW4gTHVQb3BvdmVyVGFyZ2V0QXQgaGFzIGEgdmFsaWQgZWxlbWVudCByZWZlcmVuY2UuXHJcblx0XHQgKiBVc2VmdWwgZm9yIHN0aWNraW5nIHBvcG92ZXIgdG8gcGFyZW50IGVsZW1lbnQgYW5kIG9mZnNldHRpbmcgYXJyb3cgdG8gdHJpZ2dlciBlbGVtZW50LlxyXG5cdFx0ICogSWYgdW5kZWZpbmVkIGRlZmF1bHRzIHRvIHRoZSB0cmlnZ2VyIGVsZW1lbnQgcmVmZXJlbmNlLlxyXG5cdFx0ICovXHJcblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy50YXJnZXQuZWxlbWVudFJlZjtcclxuXHRcdC8vIGlmICh0eXBlb2YgdGhpcy50YXJnZXRFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBvcG92ZXIpIHtcclxuXHRcdC8vIFx0dGhpcy5wb3BvdmVyLmNvbnRhaW5lclBvc2l0aW9uaW5nID0gdHJ1ZTtcclxuXHRcdC8vIFx0ZWxlbWVudCA9IHRoaXMudGFyZ2V0RWxlbWVudC5fZWxlbWVudFJlZjtcclxuXHRcdC8vIH1cclxuXHJcblx0XHRjb25zdCBjb25uZWN0aW9uUG9zaXRpb246IE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcclxuXHRcdFx0b3JpZ2luWDogJ3N0YXJ0JyxcclxuXHRcdFx0b3JpZ2luWTogJ3RvcCcsXHJcblx0XHR9O1xyXG5cclxuXHRcdC8vIFBvc2l0aW9uXHJcblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMudGFyZ2V0LnBvc2l0aW9uO1xyXG5cdFx0Y29uc3Qgb3ZlcmxhcCA9IHRoaXMudGFyZ2V0Lm92ZXJsYXA7XHJcblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ2JvdHRvbScgOiAndG9wJztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWxvdycpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ3RvcCcgOiAnYm90dG9tJztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XHJcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gb3ZlcmxhcCA/ICdlbmQnIDogJ3N0YXJ0JztcclxuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdhZnRlcicpIHtcclxuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSBvdmVybGFwID8gJ3N0YXJ0JyA6ICdlbmQnO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEFsaWdubWVudFxyXG5cdFx0Y29uc3QgYWxpZ25tZW50ID0gdGhpcy50YXJnZXQuYWxpZ25tZW50O1xyXG5cdFx0aWYgKHRoaXMuaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQpIHtcclxuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ2xlZnQnKSB7XHJcblx0XHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnc3RhcnQnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ3JpZ2h0Jykge1xyXG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2VuZCc7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnY2VudGVyJztcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcclxuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICd0b3AnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcclxuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdib3R0b20nO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ2NlbnRlcic7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBvdmVybGF5UG9zaXRpb246IE92ZXJsYXlDb25uZWN0aW9uUG9zaXRpb24gPSB7XHJcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxyXG5cdFx0XHRvdmVybGF5WTogJ3RvcCcsXHJcblx0XHR9O1xyXG5cclxuXHRcdGlmIChvdmVybGFwKSB7XHJcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YO1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5pc1ZlcnRpY2FsbHlQb3NpdGlvbm5lZCkge1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWDtcclxuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gcG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gJ2VuZCcgOiAnc3RhcnQnO1xyXG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gdGhpcy5fb3ZlcmxheVxyXG5cdFx0XHQucG9zaXRpb24oKVxyXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50KVxyXG5cdFx0XHQud2l0aFBvc2l0aW9ucyhbXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXHJcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcclxuXHRcdFx0XHRcdG92ZXJsYXlYOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgsXHJcblx0XHRcdFx0XHRvdmVybGF5WTogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0b3JpZ2luWDogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgsXHJcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLl9pbnZlcnRWZXJ0aWNhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSksXHJcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxyXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcclxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxyXG5cdFx0XHRcdFx0b3ZlcmxheVg6IHRoaXMuX2ludmVydEhvcml6b250YWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYKSxcclxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcclxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcclxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXHJcblx0XHRcdFx0XHRvdmVybGF5WTogdGhpcy5faW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRdKVxyXG5cdFx0XHQud2l0aERlZmF1bHRPZmZzZXRYKHRoaXMudGFyZ2V0Lm9mZnNldFgpXHJcblx0XHRcdC53aXRoRGVmYXVsdE9mZnNldFkodGhpcy50YXJnZXQub2Zmc2V0WSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2ludmVydFZlcnRpY2FsUG9zKHk6IFZlcnRpY2FsQ29ubmVjdGlvblBvcykge1xyXG5cdFx0aWYgKHkgPT09ICd0b3AnKSB7XHJcblx0XHRcdHkgPSAnYm90dG9tJztcclxuXHRcdH0gZWxzZSBpZiAoeSA9PT0gJ2JvdHRvbScpIHtcclxuXHRcdFx0eSA9ICd0b3AnO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2ludmVydEhvcml6b250YWxQb3MoeDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MpIHtcclxuXHRcdGlmICh4ID09PSAnZW5kJykge1xyXG5cdFx0XHR4ID0gJ3N0YXJ0JztcclxuXHRcdH0gZWxzZSBpZiAoeCA9PT0gJ3N0YXJ0Jykge1xyXG5cdFx0XHR4ID0gJ2VuZCc7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHg7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2NsZWFuVXBTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0dGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9ob3ZlcmVkU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -38,10 +38,10 @@ export class LuTooltipPanelComponent extends ALuPopoverPanel {
38
38
  }
39
39
  }
40
40
  LuTooltipPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuTooltipPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
- LuTooltipPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: LuTooltipPanelComponent, selector: "lu-tooltip-panel", outputs: { close: "close", open: "open", hovered: "hovered" }, host: { properties: { "@transformTooltip": "this.animationState" } }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- <div [ngClass]=\"panelClassesMap\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\" [innerHtml]=\"content | luSafeContent: 'html'\">\r\n</div> -->\r\n<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-tooltip-panel\"\r\n\t\trole=\"tooltip\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t[attr.id]=\"panelId\"\r\n\t\t[@transformTooltip]=\"'enter'\"\r\n\t>\r\n\t\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content | luSafeContent: 'html'\"></div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".lu-tooltip-panel{display:block;background:#131D35;background:var(--components-tooltip-background-color);border-radius:4px;border-radius:var(--commons-border-radius);color:#fff;color:var(--components-tooltip-color);font-size:var(--sizes-small-font-size);font-size:.875rem;font-weight:600;line-height:1rem;max-width:15rem;max-width:var(--components-tooltip-max-width);padding:.25rem .5rem;padding:var(--components-tooltip-padding)}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.LuSafeContentPipe, name: "luSafeContent" }], animations: [luTransformTooltip], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ LuTooltipPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: LuTooltipPanelComponent, selector: "lu-tooltip-panel", outputs: { close: "close", open: "open", hovered: "hovered" }, host: { properties: { "@transformTooltip": "this.animationState" } }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n\tclass=\"lu-tooltip-panel\"\r\n\trole=\"tooltip\"\r\n\t[ngClass]=\"panelClassesMap\"\r\n\t(mouseover)=\"onMouseOver()\"\r\n\t(mouseleave)=\"onMouseLeave()\"\r\n\t[attr.id]=\"panelId\"\r\n\t[@transformTooltip]=\"'enter'\"\r\n>\r\n\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content | luSafeContent: 'html'\"></div>\r\n</div>\r\n", styles: [".lu-tooltip-panel{display:block;background:#131D35;background:var(--components-tooltip-background-color);border-radius:4px;border-radius:var(--commons-border-radius);color:#fff;color:var(--components-tooltip-color);font-size:var(--sizes-small-font-size);font-size:.875rem;font-weight:600;line-height:1rem;max-width:15rem;max-width:var(--components-tooltip-max-width);padding:.25rem .5rem;padding:var(--components-tooltip-padding)}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.LuSafeContentPipe, name: "luSafeContent" }], animations: [luTransformTooltip], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuTooltipPanelComponent, decorators: [{
43
43
  type: Component,
44
- args: [{ selector: 'lu-tooltip-panel', animations: [luTransformTooltip], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <div [ngClass]=\"panelClassesMap\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\" [innerHtml]=\"content | luSafeContent: 'html'\">\r\n</div> -->\r\n<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-tooltip-panel\"\r\n\t\trole=\"tooltip\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t[attr.id]=\"panelId\"\r\n\t\t[@transformTooltip]=\"'enter'\"\r\n\t>\r\n\t\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content | luSafeContent: 'html'\"></div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".lu-tooltip-panel{display:block;background:#131D35;background:var(--components-tooltip-background-color);border-radius:4px;border-radius:var(--commons-border-radius);color:#fff;color:var(--components-tooltip-color);font-size:var(--sizes-small-font-size);font-size:.875rem;font-weight:600;line-height:1rem;max-width:15rem;max-width:var(--components-tooltip-max-width);padding:.25rem .5rem;padding:var(--components-tooltip-padding)}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"] }]
44
+ args: [{ selector: 'lu-tooltip-panel', animations: [luTransformTooltip], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n\tclass=\"lu-tooltip-panel\"\r\n\trole=\"tooltip\"\r\n\t[ngClass]=\"panelClassesMap\"\r\n\t(mouseover)=\"onMouseOver()\"\r\n\t(mouseleave)=\"onMouseLeave()\"\r\n\t[attr.id]=\"panelId\"\r\n\t[@transformTooltip]=\"'enter'\"\r\n>\r\n\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content | luSafeContent: 'html'\"></div>\r\n</div>\r\n", styles: [".lu-tooltip-panel{display:block;background:#131D35;background:var(--components-tooltip-background-color);border-radius:4px;border-radius:var(--commons-border-radius);color:#fff;color:var(--components-tooltip-color);font-size:var(--sizes-small-font-size);font-size:.875rem;font-weight:600;line-height:1rem;max-width:15rem;max-width:var(--components-tooltip-max-width);padding:.25rem .5rem;padding:var(--components-tooltip-padding)}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"] }]
45
45
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { animationState: [{
46
46
  type: HostBinding,
47
47
  args: ['@transformTooltip']
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
55
55
  type: ViewChild,
56
56
  args: [TemplateRef, { static: true }]
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3NyYy9saWIvcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3NyYy9saWIvcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQWU7SUFzQjNELFlBQW9CLGtCQUFxQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURXLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFyQnZCLG1CQUFjLEdBQUcsT0FBTyxDQUFDO1FBVzNELG9CQUFvQjtRQUNwQiw0REFBNEQ7UUFDekMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDcEQsNERBQTREO1FBQ3pDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBT3hELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFyQkQsSUFBSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFRRCxJQUNJLGFBQWEsQ0FBQyxFQUErQjtRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTUQsZUFBZTtRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxPQUFnQjtRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDOztvSEFwQ1csdUJBQXVCO3dHQUF2Qix1QkFBdUIsNE9Ba0J4QixXQUFXLHFGQzdCdkIseWxCQWVBLGs1QkRQYSxDQUFDLGtCQUFrQixDQUFDOzJGQUdwQix1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Msa0JBQWtCLGNBR2hCLENBQUMsa0JBQWtCLENBQUMsbUJBQ2YsdUJBQXVCLENBQUMsTUFBTTt3R0FHYixjQUFjO3NCQUEvQyxXQUFXO3VCQUFDLG1CQUFtQjtnQkFhYixLQUFLO3NCQUF2QixNQUFNO2dCQUVZLElBQUk7c0JBQXRCLE1BQU07Z0JBQ1ksT0FBTztzQkFBekIsTUFBTTtnQkFFSCxhQUFhO3NCQURoQixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFMdVBvcG92ZXJQYW5lbCwgSUx1UG9wb3ZlclBhbmVsIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBsdVRyYW5zZm9ybVRvb2x0aXAgfSBmcm9tICcuLi9hbmltYXRpb24vaW5kZXgnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsdS10b29sdGlwLXBhbmVsJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGFuaW1hdGlvbnM6IFtsdVRyYW5zZm9ybVRvb2x0aXBdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHVUb29sdGlwUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBBTHVQb3BvdmVyUGFuZWwgaW1wbGVtZW50cyBJTHVQb3BvdmVyUGFuZWwge1xyXG5cdEBIb3N0QmluZGluZygnQHRyYW5zZm9ybVRvb2x0aXAnKSBhbmltYXRpb25TdGF0ZSA9ICdlbnRlcic7XHJcblxyXG5cdHByaXZhdGUgX2NvbnRlbnQ6IHN0cmluZztcclxuXHRnZXQgY29udGVudCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9jb250ZW50O1xyXG5cdH1cclxuXHRzZXQgY29udGVudChjKSB7XHJcblx0XHR0aGlzLl9jb250ZW50ID0gYztcclxuXHRcdHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG5cdH1cclxuXHJcblx0Ly9GSVhNRSBvdXRwdXQgZXZlbnRcclxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcclxuXHRAT3V0cHV0KCkgb3ZlcnJpZGUgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXHJcblx0QE91dHB1dCgpIG92ZXJyaWRlIG9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0QE91dHB1dCgpIG92ZXJyaWRlIGhvdmVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblx0QFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRzZXQgdmNUZW1wbGF0ZVJlZih0cjogVGVtcGxhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KSB7XHJcblx0XHR0aGlzLnRlbXBsYXRlUmVmID0gdHI7XHJcblx0fVxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSAnY2xvc2UnO1xyXG5cdH1cclxuXHJcblx0X2VtaXRDbG9zZUV2ZW50KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5jbG9zZS5lbWl0KCk7XHJcblx0fVxyXG5cclxuXHRfZW1pdE9wZW5FdmVudCgpOiB2b2lkIHtcclxuXHRcdHRoaXMub3Blbi5lbWl0KCk7XHJcblx0fVxyXG5cdF9lbWl0SG92ZXJlZEV2ZW50KGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuaG92ZXJlZC5lbWl0KGhvdmVyZWQpO1xyXG5cdH1cclxufVxyXG4iLCI8IS0tIDxkaXYgW25nQ2xhc3NdPVwicGFuZWxDbGFzc2VzTWFwXCIgKG1vdXNlb3Zlcik9XCJvbk1vdXNlT3ZlcigpXCIgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIiBbaW5uZXJIdG1sXT1cImNvbnRlbnQgfCBsdVNhZmVDb250ZW50OiAnaHRtbCdcIj5cclxuPC9kaXY+IC0tPlxyXG48bmctdGVtcGxhdGU+XHJcblx0PGRpdlxyXG5cdFx0Y2xhc3M9XCJsdS10b29sdGlwLXBhbmVsXCJcclxuXHRcdHJvbGU9XCJ0b29sdGlwXCJcclxuXHRcdFtuZ0NsYXNzXT1cInBhbmVsQ2xhc3Nlc01hcFwiXHJcblx0XHQobW91c2VvdmVyKT1cIm9uTW91c2VPdmVyKClcIlxyXG5cdFx0KG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxyXG5cdFx0W2F0dHIuaWRdPVwicGFuZWxJZFwiXHJcblx0XHRbQHRyYW5zZm9ybVRvb2x0aXBdPVwiJ2VudGVyJ1wiXHJcblx0PlxyXG5cdFx0PGRpdiBjbGFzcz1cImx1LXRvb2x0aXAtY29udGVudFwiIFtuZ0NsYXNzXT1cImNvbnRlbnRDbGFzc2VzTWFwXCIgW2lubmVySHRtbF09XCJjb250ZW50IHwgbHVTYWZlQ29udGVudDogJ2h0bWwnXCI+PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3NyYy9saWIvcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3NyYy9saWIvcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQWU7SUFzQjNELFlBQW9CLGtCQUFxQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURXLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFyQnZCLG1CQUFjLEdBQUcsT0FBTyxDQUFDO1FBVzNELG9CQUFvQjtRQUNwQiw0REFBNEQ7UUFDekMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDcEQsNERBQTREO1FBQ3pDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBT3hELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFyQkQsSUFBSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFRRCxJQUNJLGFBQWEsQ0FBQyxFQUErQjtRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTUQsZUFBZTtRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxPQUFnQjtRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDOztvSEFwQ1csdUJBQXVCO3dHQUF2Qix1QkFBdUIsNE9Ba0J4QixXQUFXLHFGQzdCdkIsd1hBV0EsazVCREhhLENBQUMsa0JBQWtCLENBQUM7MkZBR3BCLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDQyxrQkFBa0IsY0FHaEIsQ0FBQyxrQkFBa0IsQ0FBQyxtQkFDZix1QkFBdUIsQ0FBQyxNQUFNO3dHQUdiLGNBQWM7c0JBQS9DLFdBQVc7dUJBQUMsbUJBQW1CO2dCQWFiLEtBQUs7c0JBQXZCLE1BQU07Z0JBRVksSUFBSTtzQkFBdEIsTUFBTTtnQkFDWSxPQUFPO3NCQUF6QixNQUFNO2dCQUVILGFBQWE7c0JBRGhCLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQUx1UG9wb3ZlclBhbmVsLCBJTHVQb3BvdmVyUGFuZWwgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvcG9wb3Zlcic7XHJcbmltcG9ydCB7IGx1VHJhbnNmb3JtVG9vbHRpcCB9IGZyb20gJy4uL2FuaW1hdGlvbi9pbmRleCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2x1LXRvb2x0aXAtcGFuZWwnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi90b29sdGlwLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0YW5pbWF0aW9uczogW2x1VHJhbnNmb3JtVG9vbHRpcF0sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdVRvb2x0aXBQYW5lbENvbXBvbmVudCBleHRlbmRzIEFMdVBvcG92ZXJQYW5lbCBpbXBsZW1lbnRzIElMdVBvcG92ZXJQYW5lbCB7XHJcblx0QEhvc3RCaW5kaW5nKCdAdHJhbnNmb3JtVG9vbHRpcCcpIGFuaW1hdGlvblN0YXRlID0gJ2VudGVyJztcclxuXHJcblx0cHJpdmF0ZSBfY29udGVudDogc3RyaW5nO1xyXG5cdGdldCBjb250ZW50KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvbnRlbnQ7XHJcblx0fVxyXG5cdHNldCBjb250ZW50KGMpIHtcclxuXHRcdHRoaXMuX2NvbnRlbnQgPSBjO1xyXG5cdFx0dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcblx0fVxyXG5cclxuXHQvL0ZJWE1FIG91dHB1dCBldmVudFxyXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxyXG5cdEBPdXRwdXQoKSBvdmVycmlkZSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcclxuXHRAT3V0cHV0KCkgb3ZlcnJpZGUgb3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHRAT3V0cHV0KCkgb3ZlcnJpZGUgaG92ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHRAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG5cdHNldCB2Y1RlbXBsYXRlUmVmKHRyOiBUZW1wbGF0ZVJlZjxIVE1MRGl2RWxlbWVudD4pIHtcclxuXHRcdHRoaXMudGVtcGxhdGVSZWYgPSB0cjtcclxuXHR9XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0dGhpcy5zY3JvbGxTdHJhdGVneSA9ICdjbG9zZSc7XHJcblx0fVxyXG5cclxuXHRfZW1pdENsb3NlRXZlbnQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmNsb3NlLmVtaXQoKTtcclxuXHR9XHJcblxyXG5cdF9lbWl0T3BlbkV2ZW50KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5vcGVuLmVtaXQoKTtcclxuXHR9XHJcblx0X2VtaXRIb3ZlcmVkRXZlbnQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0dGhpcy5ob3ZlcmVkLmVtaXQoaG92ZXJlZCk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXZcclxuXHRjbGFzcz1cImx1LXRvb2x0aXAtcGFuZWxcIlxyXG5cdHJvbGU9XCJ0b29sdGlwXCJcclxuXHRbbmdDbGFzc109XCJwYW5lbENsYXNzZXNNYXBcIlxyXG5cdChtb3VzZW92ZXIpPVwib25Nb3VzZU92ZXIoKVwiXHJcblx0KG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxyXG5cdFthdHRyLmlkXT1cInBhbmVsSWRcIlxyXG5cdFtAdHJhbnNmb3JtVG9vbHRpcF09XCInZW50ZXInXCJcclxuPlxyXG5cdDxkaXYgY2xhc3M9XCJsdS10b29sdGlwLWNvbnRlbnRcIiBbbmdDbGFzc109XCJjb250ZW50Q2xhc3Nlc01hcFwiIFtpbm5lckh0bWxdPVwiY29udGVudCB8IGx1U2FmZUNvbnRlbnQ6ICdodG1sJ1wiPjwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,10 +1,11 @@
1
+ import { ComponentPortal } from '@angular/cdk/portal';
1
2
  import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
2
3
  import { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';
3
4
  import { LuTooltipPanelComponent } from '../panel/tooltip-panel.component';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/cdk/overlay";
6
7
  export class LuTooltipTriggerDirective extends ALuPopoverTrigger {
7
- constructor(_overlay, _elementRef, _viewContainerRef, injector) {
8
+ constructor(_overlay, _elementRef, _viewContainerRef) {
8
9
  super(_overlay, _elementRef, _viewContainerRef);
9
10
  this._overlay = _overlay;
10
11
  this._elementRef = _elementRef;
@@ -17,6 +18,7 @@ export class LuTooltipTriggerDirective extends ALuPopoverTrigger {
17
18
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
18
19
  this.onClose = new EventEmitter();
19
20
  this._handleTabindex = false;
21
+ this._tooltipContent = '';
20
22
  this.target = new LuPopoverTarget();
21
23
  this.target.elementRef = this._elementRef;
22
24
  this._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;
@@ -24,15 +26,16 @@ export class LuTooltipTriggerDirective extends ALuPopoverTrigger {
24
26
  this.target.position = 'above';
25
27
  this.enterDelay = 300;
26
28
  this.leaveDelay = 100;
27
- const componentRef = this._viewContainerRef.createComponent(LuTooltipPanelComponent, { injector });
28
- this.panel = componentRef.instance;
29
29
  this._handleTabindex = this._shouldHandleTabindex();
30
30
  if (this._handleTabindex) {
31
31
  this._setTabindex(0);
32
32
  }
33
33
  }
34
34
  set tooltipContent(c) {
35
- this.panel.content = c;
35
+ if (this.panel) {
36
+ this.panel.content = c;
37
+ }
38
+ this._tooltipContent = c;
36
39
  }
37
40
  /** when trigger = hover, delay before the popover panel appears, default 300ms */
38
41
  set inputEnterDelay(d) {
@@ -91,6 +94,23 @@ export class LuTooltipTriggerDirective extends ALuPopoverTrigger {
91
94
  _emitClose() {
92
95
  this.onClose.emit();
93
96
  }
97
+ _createOverlay() {
98
+ if (!this._overlayRef) {
99
+ this._portal = new ComponentPortal(LuTooltipPanelComponent, this._viewContainerRef);
100
+ const config = this._getOverlayConfig();
101
+ this._subscribeToPositions(config.positionStrategy);
102
+ this._overlayRef = this._overlay.create(config);
103
+ }
104
+ return this._overlayRef;
105
+ }
106
+ _attachPortalToOverlay() {
107
+ const componentRef = this._overlayRef.attach(this._portal);
108
+ this._panel = componentRef.instance;
109
+ this._panel.content = this._tooltipContent;
110
+ }
111
+ _getPanelScrollStrategy() {
112
+ return 'close';
113
+ }
94
114
  _shouldHandleTabindex() {
95
115
  const tag = this._elementRef.nativeElement.tagName?.toLowerCase();
96
116
  // https://allyjs.io/data-tables/focusable.html
@@ -104,14 +124,14 @@ export class LuTooltipTriggerDirective extends ALuPopoverTrigger {
104
124
  this._elementRef.nativeElement.setAttribute('tabindex', `${i}`);
105
125
  }
106
126
  }
107
- LuTooltipTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuTooltipTriggerDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
127
+ LuTooltipTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuTooltipTriggerDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
108
128
  LuTooltipTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: { tooltipContent: ["luTooltip", "tooltipContent"], inputEnterDelay: ["luTooltipEnterDelay", "inputEnterDelay"], inputLeaveDelay: ["luTooltipLeaveDelay", "inputLeaveDelay"], inputDisabled: ["luTooltipDisabled", "inputDisabled"], inputPosition: ["luTooltipPosition", "inputPosition"] }, outputs: { onOpen: "luTooltipOnOpen", onClose: "luTooltipOnClose" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.id": "this._attrId", "attr.aria-describedby": "this._attrAriaDescribedBy" } }, usesInheritance: true, ngImport: i0 });
109
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LuTooltipTriggerDirective, decorators: [{
110
130
  type: Directive,
111
131
  args: [{
112
132
  selector: '[luTooltip]',
113
133
  }]
114
- }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { tooltipContent: [{
134
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { tooltipContent: [{
115
135
  type: Input,
116
136
  args: ['luTooltip']
117
137
  }], inputEnterDelay: [{
@@ -151,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
151
171
  type: HostBinding,
152
172
  args: ['attr.aria-describedby']
153
173
  }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3Rvb2x0aXAvc3JjL2xpYi90cmlnZ2VyL3Rvb2x0aXAtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFhLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDcEssT0FBTyxFQUFFLGlCQUFpQixFQUFxQixlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBSzNFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQkFBMkQ7SUErRHpHLFlBQStCLFFBQWlCLEVBQXFCLFdBQW9DLEVBQXFCLGlCQUFtQyxFQUFFLFFBQWtCO1FBQ3BMLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFEbEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUFxQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFBcUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQXZDakssc0JBQXNCO1FBQ3RCLDJEQUEyRDtRQUMzRCwrREFBK0Q7UUFDcEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDN0QsMkRBQTJEO1FBQzNELCtEQUErRDtRQUNuQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQWtCdkQsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFpQi9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFV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T0FBTztzQkFEZixZQUFZO3VCQUFDLE9BQU87Z0JBS1osTUFBTTtzQkFEZCxZQUFZO3VCQUFDLE1BQU07Z0JBV1EsT0FBTztzQkFBbEMsV0FBVzt1QkFBQyxTQUFTO2dCQUlvQixvQkFBb0I7c0JBQTdELFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQUx1UG9wb3ZlclRyaWdnZXIsIEx1UG9wb3ZlclBvc2l0aW9uLCBMdVBvcG92ZXJUYXJnZXQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvcG9wb3Zlcic7XHJcbmltcG9ydCB7IEx1VG9vbHRpcFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFuZWwvdG9vbHRpcC1wYW5lbC5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcblx0c2VsZWN0b3I6ICdbbHVUb29sdGlwXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMdVRvb2x0aXBUcmlnZ2VyRGlyZWN0aXZlIGV4dGVuZHMgQUx1UG9wb3ZlclRyaWdnZXI8THVUb29sdGlwUGFuZWxDb21wb25lbnQsIEx1UG9wb3ZlclRhcmdldD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dCgnbHVUb29sdGlwJykgc2V0IHRvb2x0aXBDb250ZW50KGM6IHN0cmluZykge1xyXG5cdFx0dGhpcy5wYW5lbC5jb250ZW50ID0gYztcclxuXHR9XHJcblx0LyoqIHdoZW4gdHJpZ2dlciA9IGhvdmVyLCBkZWxheSBiZWZvcmUgdGhlIHBvcG92ZXIgcGFuZWwgYXBwZWFycywgZGVmYXVsdCAzMDBtcyAqL1xyXG5cdEBJbnB1dCgnbHVUb29sdGlwRW50ZXJEZWxheScpIHNldCBpbnB1dEVudGVyRGVsYXkoZDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmVudGVyRGVsYXkgPSBkO1xyXG5cdH1cclxuXHQvKiogd2hlbiB0cmlnZ2VyID0gaG92ZXIsIGRlbGF5IGJlZm9yZSB0aGUgcG9wb3ZlciBwYW5lbCBkaXNhcHBlYXJzLCBkZWZhdWx0IDEwMG1zICovXHJcblx0QElucHV0KCdsdVRvb2x0aXBMZWF2ZURlbGF5Jykgc2V0IGlucHV0TGVhdmVEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMubGVhdmVEZWxheSA9IGQ7XHJcblx0fVxyXG5cdC8qKiBkaXNhYmxlIHBvcG92ZXIgYXBwYXJpdGlvbiAqL1xyXG5cdEBJbnB1dCgnbHVUb29sdGlwRGlzYWJsZWQnKSBzZXQgaW5wdXREaXNhYmxlZChkOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLmRpc2FibGVkID0gZDtcclxuXHRcdGlmICh0aGlzLl9oYW5kbGVUYWJpbmRleCkge1xyXG5cdFx0XHR0aGlzLl9zZXRUYWJpbmRleChkID8gbnVsbCA6IDApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QElucHV0KCdsdVRvb2x0aXBQb3NpdGlvbicpIHNldCBpbnB1dFBvc2l0aW9uKHBvczogTHVQb3BvdmVyUG9zaXRpb24pIHtcclxuXHRcdHRoaXMudGFyZ2V0LnBvc2l0aW9uID0gcG9zO1xyXG5cdH1cclxuXHJcblx0Ly8gRklYTUUgb3V0cHV0IG5hdGl2ZVxyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXHJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XHJcblx0QE91dHB1dCgnbHVUb29sdGlwT25PcGVuJykgb25PcGVuID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXHJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XHJcblx0QE91dHB1dCgnbHVUb29sdGlwT25DbG9zZScpIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxyXG5cdG92ZXJyaWRlIG9uTW91c2VFbnRlcigpIHtcclxuXHRcdHN1cGVyLm9uTW91c2VFbnRlcigpO1xyXG5cdH1cclxuXHRASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcclxuXHRvdmVycmlkZSBvbk1vdXNlTGVhdmUoKSB7XHJcblx0XHRzdXBlci5vbk1vdXNlTGVhdmUoKTtcclxuXHR9XHJcblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnKVxyXG5cdG92ZXJyaWRlIG9uRm9jdXMoKSB7XHJcblx0XHRzdXBlci5vbkZvY3VzKCk7XHJcblx0fVxyXG5cdEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxyXG5cdG92ZXJyaWRlIG9uQmx1cigpIHtcclxuXHRcdHN1cGVyLm9uQmx1cigpO1xyXG5cdH1cclxuXHRwcml2YXRlIF9oYW5kbGVUYWJpbmRleCA9IGZhbHNlO1xyXG5cdC8vIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4O1xyXG5cdC8vIHByaXZhdGUgc2V0IHRhYmluZGV4KGk6IG51bWJlciA9IG51bGwpIHtcclxuXHJcblx0Ly8gfVxyXG5cclxuXHQvKiogYWNjZXNzaWJpbGl0eSBhdHRyaWJ1dGUgLSBkb250IG92ZXJyaWRlICovXHJcblx0QEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgZ2V0IF9hdHRySWQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdHJpZ2dlcklkO1xyXG5cdH1cclxuXHQvKiogYWNjZXNzaWJpbGl0eSBhdHRyaWJ1dGUgLSBkb250IG92ZXJyaWRlICovXHJcblx0QEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBnZXQgX2F0dHJBcmlhRGVzY3JpYmVkQnkoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fcGFuZWxJZDtcclxuXHR9XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvdmVycmlkZSBfb3ZlcmxheTogT3ZlcmxheSwgcHJvdGVjdGVkIG92ZXJyaWRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJvdGVjdGVkIG92ZXJyaWRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHRcdHN1cGVyKF9vdmVybGF5LCBfZWxlbWVudFJlZiwgX3ZpZXdDb250YWluZXJSZWYpO1xyXG5cdFx0dGhpcy50YXJnZXQgPSBuZXcgTHVQb3BvdmVyVGFyZ2V0KCk7XHJcblx0XHR0aGlzLnRhcmdldC5lbGVtZW50UmVmID0gdGhpcy5fZWxlbWVudFJlZjtcclxuXHRcdHRoaXMuX3RyaWdnZXJJZCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2lkJykgfHwgdGhpcy5fdHJpZ2dlcklkO1xyXG5cdFx0dGhpcy50cmlnZ2VyRXZlbnQgPSAnaG92ZXInO1xyXG5cdFx0dGhpcy50YXJnZXQucG9zaXRpb24gPSAnYWJvdmUnO1xyXG5cdFx0dGhpcy5lbnRlckRlbGF5ID0gMzAwO1xyXG5cdFx0dGhpcy5sZWF2ZURlbGF5ID0gMTAwO1xyXG5cclxuXHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEx1VG9vbHRpcFBhbmVsQ29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xyXG5cdFx0dGhpcy5wYW5lbCA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuXHJcblx0XHR0aGlzLl9oYW5kbGVUYWJpbmRleCA9IHRoaXMuX3Nob3VsZEhhbmRsZVRhYmluZGV4KCk7XHJcblxyXG5cdFx0aWYgKHRoaXMuX2hhbmRsZVRhYmluZGV4KSB7XHJcblx0XHRcdHRoaXMuX3NldFRhYmluZGV4KDApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdBZnRlclZpZXdJbml0KCkge1xyXG5cdFx0dGhpcy5fY2hlY2tUYXJnZXQoKTtcclxuXHR9XHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLl9jbGVhblVwU3Vic2NyaXB0aW9ucygpO1xyXG5cdFx0aWYgKHRoaXMuX3BvcG92ZXJPcGVuKSB7XHJcblx0XHRcdHRoaXMuY2xvc2VQb3BvdmVyKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLmRlc3Ryb3lQb3BvdmVyKCk7XHJcblx0fVxyXG5cdHByb3RlY3RlZCBfZW1pdE9wZW4oKTogdm9pZCB7XHJcblx0XHR0aGlzLm9uT3Blbi5lbWl0KCk7XHJcblx0fVxyXG5cdHByb3RlY3RlZCBfZW1pdENsb3NlKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5vbkNsb3NlLmVtaXQoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3Nob3VsZEhhbmRsZVRhYmluZGV4KCk6IGJvb2xlYW4ge1xyXG5cdFx0Y29uc3QgdGFnID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCk7XHJcblx0XHQvLyBodHRwczovL2FsbHlqcy5pby9kYXRhLXRhYmxlcy9mb2N1c2FibGUuaHRtbFxyXG5cdFx0Ly8gaSdtIGNob29zaW5nIHRvIG5vdCBzdXBwb3J0IGFyZWEgYW5kIGlmcmFtZSwgZG9udCBAIG1lXHJcblx0XHRjb25zdCBuYXRpdmVseUZvY3VzYWJsZVRhZ3MgPSBbJ2EnLCAnYnV0dG9uJywgJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddO1xyXG5cdFx0Y29uc3QgaXNOYXRldmVseUZvY3VzYWJsZVRhZyA9IG5hdGl2ZWx5Rm9jdXNhYmxlVGFncy5pbmNsdWRlcyh0YWcpO1xyXG5cclxuXHRcdGNvbnN0IGhhc0FUYWJJbmRleCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykgIT09IG51bGw7XHJcblxyXG5cdFx0cmV0dXJuICFpc05hdGV2ZWx5Rm9jdXNhYmxlVGFnICYmICFoYXNBVGFiSW5kZXg7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9zZXRUYWJpbmRleChpOiBudW1iZXIgPSBudWxsKTogdm9pZCB7XHJcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsIGAke2l9YCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3Rvb2x0aXAvc3JjL2xpYi90cmlnZ2VyL3Rvb2x0aXAtdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxpQkFBaUIsRUFBOEMsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUszRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQTJEO0lBc0V6RyxZQUErQixRQUFpQixFQUFxQixXQUFvQyxFQUFxQixpQkFBbUM7UUFDaEssS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQURsQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQXFCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUFxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBMUNqSyxzQkFBc0I7UUFDdEIsMkRBQTJEO1FBQzNELCtEQUErRDtRQUNwQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM3RCwyREFBMkQ7UUFDM0QsK0RBQStEO1FBQ25DLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBa0J2RCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQWdCdEIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFJOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxN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UUFFdEYsT0FBTyxDQUFDLHNCQUFzQixJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ2pELENBQUM7SUFFTyxZQUFZLENBQUMsSUFBWSxJQUFJO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7O3NIQTNJVyx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxhQUFhO2lCQUN2QjtzSkFFd0IsY0FBYztzQkFBckMsS0FBSzt1QkFBQyxXQUFXO2dCQVFnQixlQUFlO3NCQUFoRCxLQUFLO3VCQUFDLHFCQUFxQjtnQkFJTSxlQUFlO3NCQUFoRCxLQUFLO3VCQUFDLHFCQUFxQjtnQkFJSSxhQUFhO3NCQUE1QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFPTSxhQUFhO3NCQUE1QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFPQyxNQUFNO3NCQUFoQyxNQUFNO3VCQUFDLGlCQUFpQjtnQkFHRyxPQUFPO3NCQUFsQyxNQUFNO3VCQUFDLGtCQUFrQjtnQkFHakIsWUFBWTtzQkFEcEIsWUFBWTt1QkFBQyxZQUFZO2dCQUtqQixZQUFZO3NCQURwQixZQUFZO3VCQUFDLFlBQVk7Z0JBS2pCLE9BQU87c0JBRGYsWUFBWTt1QkFBQyxPQUFPO2dCQUtaLE1BQU07c0JBRGQsWUFBWTt1QkFBQyxNQUFNO2dCQVdRLE9BQU87c0JBQWxDLFdBQVc7dUJBQUMsU0FBUztnQkFJb0Isb0JBQW9CO3NCQUE3RCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQUx1UG9wb3ZlclRyaWdnZXIsIEx1UG9wb3ZlclBvc2l0aW9uLCBMdVBvcG92ZXJTY3JvbGxTdHJhdGVneSwgTHVQb3BvdmVyVGFyZ2V0IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBMdVRvb2x0aXBQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL3BhbmVsL3Rvb2x0aXAtcGFuZWwuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW2x1VG9vbHRpcF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHVUb29sdGlwVHJpZ2dlckRpcmVjdGl2ZSBleHRlbmRzIEFMdVBvcG92ZXJUcmlnZ2VyPEx1VG9vbHRpcFBhbmVsQ29tcG9uZW50LCBMdVBvcG92ZXJUYXJnZXQ+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHRASW5wdXQoJ2x1VG9vbHRpcCcpIHNldCB0b29sdGlwQ29udGVudChjOiBzdHJpbmcpIHtcclxuXHRcdGlmICh0aGlzLnBhbmVsKSB7XHJcblx0XHRcdHRoaXMucGFuZWwuY29udGVudCA9IGM7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5fdG9vbHRpcENvbnRlbnQgPSBjO1xyXG5cdH1cclxuXHQvKiogd2hlbiB0cmlnZ2VyID0gaG92ZXIsIGRlbGF5IGJlZm9yZSB0aGUgcG9wb3ZlciBwYW5lbCBhcHBlYXJzLCBkZWZhdWx0IDMwMG1zICovXHJcblx0QElucHV0KCdsdVRvb2x0aXBFbnRlckRlbGF5Jykgc2V0IGlucHV0RW50ZXJEZWxheShkOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuZW50ZXJEZWxheSA9IGQ7XHJcblx0fVxyXG5cdC8qKiB3aGVuIHRyaWdnZXIgPSBob3ZlciwgZGVsYXkgYmVmb3JlIHRoZSBwb3BvdmVyIHBhbmVsIGRpc2FwcGVhcnMsIGRlZmF1bHQgMTAwbXMgKi9cclxuXHRASW5wdXQoJ2x1VG9vbHRpcExlYXZlRGVsYXknKSBzZXQgaW5wdXRMZWF2ZURlbGF5KGQ6IG51bWJlcikge1xyXG5cdFx0dGhpcy5sZWF2ZURlbGF5ID0gZDtcclxuXHR9XHJcblx0LyoqIGRpc2FibGUgcG9wb3ZlciBhcHBhcml0aW9uICovXHJcblx0QElucHV0KCdsdVRvb2x0aXBEaXNhYmxlZCcpIHNldCBpbnB1dERpc2FibGVkKGQ6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMuZGlzYWJsZWQgPSBkO1xyXG5cdFx0aWYgKHRoaXMuX2hhbmRsZVRhYmluZGV4KSB7XHJcblx0XHRcdHRoaXMuX3NldFRhYmluZGV4KGQgPyBudWxsIDogMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRASW5wdXQoJ2x1VG9vbHRpcFBvc2l0aW9uJykgc2V0IGlucHV0UG9zaXRpb24ocG9zOiBMdVBvcG92ZXJQb3NpdGlvbikge1xyXG5cdFx0dGhpcy50YXJnZXQucG9zaXRpb24gPSBwb3M7XHJcblx0fVxyXG5cclxuXHQvLyBGSVhNRSBvdXRwdXQgbmF0aXZlXHJcblx0LyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBwb3BvdmVyIGlzIG9wZW5lZC4gKi9cclxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcclxuXHRAT3V0cHV0KCdsdVRvb2x0aXBPbk9wZW4nKSBvbk9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0LyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBwb3BvdmVyIGlzIGNsb3NlZC4gKi9cclxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcclxuXHRAT3V0cHV0KCdsdVRvb2x0aXBPbkNsb3NlJykgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcblx0QEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXHJcblx0b3ZlcnJpZGUgb25Nb3VzZUVudGVyKCkge1xyXG5cdFx0c3VwZXIub25Nb3VzZUVudGVyKCk7XHJcblx0fVxyXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxyXG5cdG92ZXJyaWRlIG9uTW91c2VMZWF2ZSgpIHtcclxuXHRcdHN1cGVyLm9uTW91c2VMZWF2ZSgpO1xyXG5cdH1cclxuXHRASG9zdExpc3RlbmVyKCdmb2N1cycpXHJcblx0b3ZlcnJpZGUgb25Gb2N1cygpIHtcclxuXHRcdHN1cGVyLm9uRm9jdXMoKTtcclxuXHR9XHJcblx0QEhvc3RMaXN0ZW5lcignYmx1cicpXHJcblx0b3ZlcnJpZGUgb25CbHVyKCkge1xyXG5cdFx0c3VwZXIub25CbHVyKCk7XHJcblx0fVxyXG5cdHByaXZhdGUgX2hhbmRsZVRhYmluZGV4ID0gZmFsc2U7XHJcblx0Ly8gQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXg7XHJcblx0Ly8gcHJpdmF0ZSBzZXQgdGFiaW5kZXgoaTogbnVtYmVyID0gbnVsbCkge1xyXG5cclxuXHQvLyB9XHJcblxyXG5cdC8qKiBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSAtIGRvbnQgb3ZlcnJpZGUgKi9cclxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBnZXQgX2F0dHJJZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl90cmlnZ2VySWQ7XHJcblx0fVxyXG5cdC8qKiBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZSAtIGRvbnQgb3ZlcnJpZGUgKi9cclxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGdldCBfYXR0ckFyaWFEZXNjcmliZWRCeSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9wYW5lbElkO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIG92ZXJyaWRlIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxMdVRvb2x0aXBQYW5lbENvbXBvbmVudD47XHJcblx0cHJvdGVjdGVkIF90b29sdGlwQ29udGVudCA9ICcnO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcnJpZGUgX292ZXJsYXk6IE92ZXJsYXksIHByb3RlY3RlZCBvdmVycmlkZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByb3RlY3RlZCBvdmVycmlkZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cdFx0c3VwZXIoX292ZXJsYXksIF9lbGVtZW50UmVmLCBfdmlld0NvbnRhaW5lclJlZik7XHJcblx0XHR0aGlzLnRhcmdldCA9IG5ldyBMdVBvcG92ZXJUYXJnZXQoKTtcclxuXHRcdHRoaXMudGFyZ2V0LmVsZW1lbnRSZWYgPSB0aGlzLl9lbGVtZW50UmVmO1xyXG5cdFx0dGhpcy5fdHJpZ2dlcklkID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnaWQnKSB8fCB0aGlzLl90cmlnZ2VySWQ7XHJcblx0XHR0aGlzLnRyaWdnZXJFdmVudCA9ICdob3Zlcic7XHJcblx0XHR0aGlzLnRhcmdldC5wb3NpdGlvbiA9ICdhYm92ZSc7XHJcblx0XHR0aGlzLmVudGVyRGVsYXkgPSAzMDA7XHJcblx0XHR0aGlzLmxlYXZlRGVsYXkgPSAxMDA7XHJcblxyXG5cdFx0dGhpcy5faGFuZGxlVGFiaW5kZXggPSB0aGlzLl9zaG91bGRIYW5kbGVUYWJpbmRleCgpO1xyXG5cclxuXHRcdGlmICh0aGlzLl9oYW5kbGVUYWJpbmRleCkge1xyXG5cdFx0XHR0aGlzLl9zZXRUYWJpbmRleCgwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHRcdHRoaXMuX2NoZWNrVGFyZ2V0KCk7XHJcblx0fVxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy5fY2xlYW5VcFN1YnNjcmlwdGlvbnMoKTtcclxuXHRcdGlmICh0aGlzLl9wb3BvdmVyT3Blbikge1xyXG5cdFx0XHR0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5kZXN0cm95UG9wb3ZlcigpO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2VtaXRPcGVuKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5vbk9wZW4uZW1pdCgpO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2VtaXRDbG9zZSgpOiB2b2lkIHtcclxuXHRcdHRoaXMub25DbG9zZS5lbWl0KCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgX2NyZWF0ZU92ZXJsYXkoKTogT3ZlcmxheVJlZiB7XHJcblx0XHRpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcclxuXHRcdFx0dGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChMdVRvb2x0aXBQYW5lbENvbXBvbmVudCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XHJcblx0XHRcdGNvbnN0IGNvbmZpZyA9IHRoaXMuX2dldE92ZXJsYXlDb25maWcoKTtcclxuXHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9Qb3NpdGlvbnMoY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTtcclxuXHRcdFx0dGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKGNvbmZpZyk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuX292ZXJsYXlSZWY7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgX2F0dGFjaFBvcnRhbFRvT3ZlcmxheSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3BvcnRhbCk7XHJcblx0XHR0aGlzLl9wYW5lbCA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuXHRcdHRoaXMuX3BhbmVsLmNvbnRlbnQgPSB0aGlzLl90b29sdGlwQ29udGVudDtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBvdmVycmlkZSBfZ2V0UGFuZWxTY3JvbGxTdHJhdGVneSgpOiBMdVBvcG92ZXJTY3JvbGxTdHJhdGVneSB7XHJcblx0XHRyZXR1cm4gJ2Nsb3NlJztcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3Nob3VsZEhhbmRsZVRhYmluZGV4KCk6IGJvb2xlYW4ge1xyXG5cdFx0Y29uc3QgdGFnID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCk7XHJcblx0XHQvLyBodHRwczovL2FsbHlqcy5pby9kYXRhLXRhYmxlcy9mb2N1c2FibGUuaHRtbFxyXG5cdFx0Ly8gaSdtIGNob29zaW5nIHRvIG5vdCBzdXBwb3J0IGFyZWEgYW5kIGlmcmFtZSwgZG9udCBAIG1lXHJcblx0XHRjb25zdCBuYXRpdmVseUZvY3VzYWJsZVRhZ3MgPSBbJ2EnLCAnYnV0dG9uJywgJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddO1xyXG5cdFx0Y29uc3QgaXNOYXRldmVseUZvY3VzYWJsZVRhZyA9IG5hdGl2ZWx5Rm9jdXNhYmxlVGFncy5pbmNsdWRlcyh0YWcpO1xyXG5cclxuXHRcdGNvbnN0IGhhc0FUYWJJbmRleCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykgIT09IG51bGw7XHJcblxyXG5cdFx0cmV0dXJuICFpc05hdGV2ZWx5Rm9jdXNhYmxlVGFnICYmICFoYXNBVGFiSW5kZXg7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9zZXRUYWJpbmRleChpOiBudW1iZXIgPSBudWxsKTogdm9pZCB7XHJcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsIGAke2l9YCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -502,7 +502,7 @@ class ALuPopoverTrigger {
502
502
  openPopover() {
503
503
  if (!this._popoverOpen && !this._disabled) {
504
504
  this._createOverlay();
505
- this._overlayRef.attach(this._portal);
505
+ this._attachPortalToOverlay();
506
506
  /** Only subscribe to backdrop if trigger event is click */
507
507
  if (this.triggerEvent === 'click') {
508
508
  this._subscribeToBackdrop();
@@ -552,6 +552,12 @@ class ALuPopoverTrigger {
552
552
  const position = this.target.position;
553
553
  return position === 'below' || position === 'above';
554
554
  }
555
+ _attachPortalToOverlay() {
556
+ this._overlayRef.attach(this._portal);
557
+ }
558
+ _getPanelScrollStrategy() {
559
+ return this.panel.scrollStrategy;
560
+ }
555
561
  /**
556
562
  * This method ensures that the popover
557
563
  */
@@ -657,7 +663,7 @@ class ALuPopoverTrigger {
657
663
  overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
658
664
  }
659
665
  overlayState.direction = this.dir;
660
- const scrollStrategy = this.panel.scrollStrategy;
666
+ const scrollStrategy = this._getPanelScrollStrategy();
661
667
  switch (scrollStrategy) {
662
668
  case 'block':
663
669
  overlayState.scrollStrategy = this._overlay.scrollStrategies.block();