@magic-xpa/angular 4.1000.0-dev4100.29 → 4.1000.0-dev4100.290

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/esm2020/src/magic.core.module.mjs +7 -9
  2. package/esm2020/src/services/accessor.magic.service.mjs +25 -3
  3. package/esm2020/src/services/magic-color.service.mjs +4 -4
  4. package/esm2020/src/services/subform.magic.service.mjs +1 -1
  5. package/esm2020/src/services/task.magics.service.mjs +7 -4
  6. package/esm2020/src/ui/components/base-magic-alert.component.mjs +3 -7
  7. package/esm2020/src/ui/components/base-magic-confirm.component.mjs +3 -7
  8. package/esm2020/src/ui/components/magic-alert.component.mjs +3 -35
  9. package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +3 -39
  10. package/esm2020/src/ui/directives/NonMagicControlDirective.mjs +6 -6
  11. package/esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs +3 -3
  12. package/esm2020/src/ui/directives/magic.directive.mjs +11 -11
  13. package/esm2020/src/ui/magic-modal/base-magic-overlay-container.mjs +1 -1
  14. package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +4 -18
  15. package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +4 -4
  16. package/esm2020/src/ui/magic-root.component.mjs +4 -38
  17. package/esm2020/src/ui/mgerror.magic.component.mjs +9 -9
  18. package/esm2020/src/ui/router-container.magic.component.mjs +4 -4
  19. package/esm2020/src/ui/subform.magic.component.mjs +4 -4
  20. package/fesm2015/magic-xpa-angular.mjs +87 -188
  21. package/fesm2015/magic-xpa-angular.mjs.map +1 -1
  22. package/fesm2020/magic-xpa-angular.mjs +87 -188
  23. package/fesm2020/magic-xpa-angular.mjs.map +1 -1
  24. package/package.json +8 -8
  25. package/src/ui/components/base-magic-alert.component.d.ts +1 -1
  26. package/src/ui/components/base-magic-confirm.component.d.ts +1 -1
  27. package/src/ui/components/magic-alert.component.d.ts +1 -1
  28. package/src/ui/components/magic-confirmation-box.component.d.ts +1 -1
  29. package/src/ui/directives/NonMagicControlDirective.d.ts +1 -1
  30. package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +1 -1
  31. package/src/ui/directives/magic/checkbox.magic.directive.d.ts +1 -1
  32. package/src/ui/directives/magic/combobox.magic.directive.d.ts +1 -1
  33. package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +1 -1
  34. package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +1 -1
  35. package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +1 -1
  36. package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +1 -1
  37. package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +1 -1
  38. package/src/ui/directives/magic/row.magic.directive.d.ts +1 -1
  39. package/src/ui/directives/magic-focus.directive.d.ts +1 -1
  40. package/src/ui/directives/magic.directive.d.ts +1 -1
  41. package/src/ui/directives/magicViewContainerRef.directive.d.ts +1 -1
  42. package/src/ui/directives/mgformat.magic.directive.d.ts +1 -1
  43. package/src/ui/directives/range-validator.magic.directive.d.ts +1 -1
  44. package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +1 -1
  45. package/src/ui/magic-modal/magic-overlay-container.d.ts +1 -1
  46. package/src/ui/magic-root.component.d.ts +1 -1
  47. package/src/ui/mgerror.magic.component.d.ts +1 -1
  48. package/src/ui/pipes/date.magic.pipe.d.ts +1 -1
  49. package/src/ui/pipes/time.magic.pipe.d.ts +1 -1
  50. package/src/ui/router-container.magic.component.d.ts +1 -1
  51. package/src/ui/subform.magic.component.d.ts +1 -1
  52. package/src/ui/task-base.magic.component.d.ts +1 -1
  53. package/magic-xpa-angular.d.ts +0 -2
@@ -4,6 +4,11 @@ import { TaskMagicService } from '../../services/task.magics.service';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../services/task.magics.service";
6
6
  export class NonMagicControlDirective {
7
+ set magic(val) {
8
+ this.id = val;
9
+ this.selector = 'NonMagicControl';
10
+ }
11
+ ;
7
12
  constructor(_task, element, renderer, vcRef) {
8
13
  this._task = _task;
9
14
  this.element = element;
@@ -13,11 +18,6 @@ export class NonMagicControlDirective {
13
18
  this.eventsOnlyVal = false;
14
19
  this.htmlElement = this.element.nativeElement;
15
20
  }
16
- set magic(val) {
17
- this.id = val;
18
- this.selector = 'NonMagicControl';
19
- }
20
- ;
21
21
  get task() {
22
22
  return this._task;
23
23
  }
@@ -46,4 +46,4 @@ NonMagicControlDirective.ɵdir = i0.ɵɵdefineDirective({ type: NonMagicControlD
46
46
  type: Input,
47
47
  args: ['NonMagicControl']
48
48
  }] }); })();
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9uTWFnaWNDb250cm9sRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9Ob25NYWdpY0NvbnRyb2xEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7OztBQVVwRSxNQUFNLE9BQU8sd0JBQXdCO0lBMkNuQyxZQUFzQixLQUF1QixFQUN2QixPQUFtQixFQUNuQixRQUFtQixFQUNuQixLQUF1QjtRQUh2QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUE1QnJDLGtCQUFhLEdBQW1DLEVBQUUsQ0FBQztRQWVwRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQWUzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ2hELENBQUM7SUFoREQsSUFDSSxLQUFLLENBQUMsR0FBRztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQUNwQyxDQUFDO0lBQUEsQ0FBQztJQWtERixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUtTLFNBQVM7UUFHakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDO0lBS08sT0FBTztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFLRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7O2dHQXJGVSx3QkFBd0I7NkRBQXhCLHdCQUF3Qjt1RkFBeEIsd0JBQXdCO2NBSnBDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2FBQzlCO21KQUlLLEtBQUs7a0JBRFIsS0FBSzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtnZXRHdWlFdmVudE9ian0gZnJvbSAnQG1hZ2ljLXhwYS9lbmdpbmUnO1xyXG5pbXBvcnQge1Rhc2tCYXNlTWFnaWNDb21wb25lbnR9IGZyb20gJy4uL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1Rhc2tNYWdpY1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcblxyXG4vKipcclxuICogUmVzcG9uc2libGUgZm9yIGNvbm5lY3RpbmcgSFRNTCBlbGVtZW50cyB0byB0aGUgTWFnaWMgV2ViQ2xpZW50IGVuZ2luZSBzaG93aW5nIGl0IGlzIG5vdCBNYWdpYyBDb250cm9sIGJ1dCBhIER1bW15IGNvbnRyb2wgd2hpY2ggaXMgdXNlZCB0byBub3RpZnkgb25seSByZWNlZWl2ZSBmb2N1cyBldmVudCBmb3Igbm93XHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tOb25NYWdpY0NvbnRyb2xdJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE5vbk1hZ2ljQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCdOb25NYWdpY0NvbnRyb2wnKVxyXG4gIHNldCBtYWdpYyh2YWwpIHtcclxuICAgIHRoaXMuaWQgPSB2YWw7XHJcbiAgICB0aGlzLnNlbGVjdG9yID0gJ05vbk1hZ2ljQ29udHJvbCc7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIEhUTUwgZWxlbWVudCBjb25uZWN0ZWQgdG8gdGhpcyBkaXJlY3RpdmVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIC8qKlxyXG4gICAqIE1hZ2ljJ3MgY29tcG9uZW50IGhhbmRsaW5nIHRoaXMgY29udHJvbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb21wb25lbnQ6IFRhc2tCYXNlTWFnaWNDb21wb25lbnQ7XHJcbiAgLyoqXHJcbiAgICogQ29sbGVjdGlvbiBvZiBldmVudCBoYW5kbGVycyBmb3IgdGhpcyBlbGVtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBldmVudEhhbmRsZXJzOiB7IFtrZXk6IHN0cmluZ106ICgpID0+IHZvaWQ7IH0gPSB7fTtcclxuICAvKipcclxuICAgKiBJZCBvZiB0aGlzIGVsZW1lbnRcclxuICAgKi9cclxuICBwdWJsaWMgaWQ6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHN1YnNjcmliZVJlZnJlc2hEb206IFN1YnNjcmlwdGlvbjtcclxuXHJcblxyXG4gIHB1YmxpYyBldmVudHNPbmx5VmFsID0gZmFsc2U7XHJcblxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBfdGFzayBUaGUgdGFzayBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgZm9yIHdoaWNoIHRoZSBkaXJlY3RpdmUgaXMgYXBwbGllZFxyXG4gICAqIEBwYXJhbSByZW5kZXJlciBSZW5kZXJlciBmb3IgdGhlIGVsZW1lbnRcclxuICAgKiBAcGFyYW0gdmNSZWZcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3Rhc2s6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblxyXG4gICAgdGhpcy5odG1sRWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSB0YXNrIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCB0YXNrKCk6IFRhc2tNYWdpY1NlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rhc2s7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RlciB0byB0aGUgZXZlbnRzIHRoaXMgZWxlbWVudCBtYXkgbmVlZCB0byBoYW5kbGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVnRXZlbnRzKCkge1xyXG5cclxuICAgIC8vIEhhbmRsZSBldmVudHMgZm9yIHdoaWNoIGV2ZW50IGhhbmRsZXIgbWF5IGJlIHJlbW92ZWQgYW5kIHJlc3RvcmVkXHJcbiAgICB0aGlzLmV2ZW50SGFuZGxlcnNbJ2ZvY3VzaW4nXSA9IHRoaXMuT25Gb2N1cy5iaW5kKHRoaXMpO1xyXG4gICAgT2JqZWN0LmtleXModGhpcy5ldmVudEhhbmRsZXJzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaHRtbEVsZW1lbnQsIGtleSwgdGhpcy5ldmVudEhhbmRsZXJzW2tleV0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGZvY3VzIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBPbkZvY3VzKCkge1xyXG4gICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGdldEd1aUV2ZW50T2JqKCdmb2N1c09uTm9uTWFnaWNDb250cm9sJywgJycsIC0xKSk7XHJcbiAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSB0aGlzIG9iamVjdFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWdFdmVudHMoKTtcclxuICB9XHJcbn1cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9uTWFnaWNDb250cm9sRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9Ob25NYWdpY0NvbnRyb2xEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7OztBQVVwRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLElBQ0ksS0FBSyxDQUFDLEdBQUc7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLENBQUM7SUFDcEMsQ0FBQztJQUFBLENBQUM7SUFzQ0YsWUFBc0IsS0FBdUIsRUFDdkIsT0FBbUIsRUFDbkIsUUFBbUIsRUFDbkIsS0FBdUI7UUFIdkIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBNUJyQyxrQkFBYSxHQUFtQyxFQUFFLENBQUM7UUFlcEQsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFlM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUNoRCxDQUFDO0lBTUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFLUyxTQUFTO1FBR2pCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUtPLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBS0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOztnR0FyRlUsd0JBQXdCOzZEQUF4Qix3QkFBd0I7dUZBQXhCLHdCQUF3QjtjQUpwQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjthQUM5QjttSkFJSyxLQUFLO2tCQURSLEtBQUs7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Z2V0R3VpRXZlbnRPYmp9IGZyb20gJ0BtYWdpYy14cGEvZW5naW5lJztcclxuaW1wb3J0IHtUYXNrQmFzZU1hZ2ljQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLWJhc2UubWFnaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLm1hZ2ljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIFJlc3BvbnNpYmxlIGZvciBjb25uZWN0aW5nIEhUTUwgZWxlbWVudHMgdG8gdGhlIE1hZ2ljIFdlYkNsaWVudCBlbmdpbmUgc2hvd2luZyBpdCBpcyBub3QgTWFnaWMgQ29udHJvbCBidXQgYSBEdW1teSBjb250cm9sIHdoaWNoIGlzIHVzZWQgdG8gbm90aWZ5IG9ubHkgcmVjZWVpdmUgZm9jdXMgZXZlbnQgZm9yIG5vd1xyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbTm9uTWFnaWNDb250cm9sXSdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBOb25NYWdpY0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgnTm9uTWFnaWNDb250cm9sJylcclxuICBzZXQgbWFnaWModmFsKSB7XHJcbiAgICB0aGlzLmlkID0gdmFsO1xyXG4gICAgdGhpcy5zZWxlY3RvciA9ICdOb25NYWdpY0NvbnRyb2wnO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgY29ubmVjdGVkIHRvIHRoaXMgZGlyZWN0aXZlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICAvKipcclxuICAgKiBNYWdpYydzIGNvbXBvbmVudCBoYW5kbGluZyB0aGlzIGNvbnRyb2xcclxuICAgKi9cclxuICBwdWJsaWMgY29tcG9uZW50OiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50O1xyXG4gIC8qKlxyXG4gICAqIENvbGxlY3Rpb24gb2YgZXZlbnQgaGFuZGxlcnMgZm9yIHRoaXMgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZXZlbnRIYW5kbGVyczogeyBba2V5OiBzdHJpbmddOiAoKSA9PiB2b2lkOyB9ID0ge307XHJcbiAgLyoqXHJcbiAgICogSWQgb2YgdGhpcyBlbGVtZW50XHJcbiAgICovXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzZWxlY3Rvcjogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBzdWJzY3JpYmVSZWZyZXNoRG9tOiBTdWJzY3JpcHRpb247XHJcblxyXG5cclxuICBwdWJsaWMgZXZlbnRzT25seVZhbCA9IGZhbHNlO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gX3Rhc2sgVGhlIHRhc2sgc2VydmljZVxyXG4gICAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IGZvciB3aGljaCB0aGUgZGlyZWN0aXZlIGlzIGFwcGxpZWRcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgUmVuZGVyZXIgZm9yIHRoZSBlbGVtZW50XHJcbiAgICogQHBhcmFtIHZjUmVmXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCB2Y1JlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cclxuICAgIHRoaXMuaHRtbEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgdGFzayBzZXJ2aWNlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgdGFzaygpOiBUYXNrTWFnaWNTZXJ2aWNlIHtcclxuICAgIHJldHVybiB0aGlzLl90YXNrO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgdG8gdGhlIGV2ZW50cyB0aGlzIGVsZW1lbnQgbWF5IG5lZWQgdG8gaGFuZGxlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHJlZ0V2ZW50cygpIHtcclxuXHJcbiAgICAvLyBIYW5kbGUgZXZlbnRzIGZvciB3aGljaCBldmVudCBoYW5kbGVyIG1heSBiZSByZW1vdmVkIGFuZCByZXN0b3JlZFxyXG4gICAgdGhpcy5ldmVudEhhbmRsZXJzWydmb2N1c2luJ10gPSB0aGlzLk9uRm9jdXMuYmluZCh0aGlzKTtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZXZlbnRIYW5kbGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmh0bWxFbGVtZW50LCBrZXksIHRoaXMuZXZlbnRIYW5kbGVyc1trZXldKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBmb2N1cyBldmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgT25Gb2N1cygpIHtcclxuICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChnZXRHdWlFdmVudE9iaignZm9jdXNPbk5vbk1hZ2ljQ29udHJvbCcsICcnLCAtMSkpO1xyXG4gICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhpcyBvYmplY3RcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVnRXZlbnRzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -10,11 +10,11 @@ import * as i0 from "@angular/core";
10
10
  import * as i1 from "../../../services/task.magics.service";
11
11
  import * as i2 from "./row.magic.directive";
12
12
  export class NoControlMagicDirective extends MagicDirective {
13
+ set magic(val) { this.id = val; this.selector = 'magicnc'; }
14
+ ;
13
15
  constructor(_task, element, renderer, vcRef, magicRow) {
14
16
  super(_task, element, renderer, vcRef, magicRow);
15
17
  }
16
- set magic(val) { this.id = val; this.selector = 'magicnc'; }
17
- ;
18
18
  regEvents() {
19
19
  super.regEvents();
20
20
  if (this.htmlElement instanceof HTMLSelectElement) {
@@ -188,4 +188,4 @@ NoControlMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: NoControlMagicDir
188
188
  type: Input,
189
189
  args: ['magicnc']
190
190
  }] }); })();
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWMvbm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTyxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFJekQsWUFDRSxLQUEwQixFQUMxQixPQUFvQixFQUNwQixRQUFtQixFQUNuQixLQUEwQixFQUNkLFFBQTJCO1FBQ3ZDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQVRELElBQXNCLEtBQUssQ0FBQyxHQUFHLElBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFBLENBQUM7SUFBQSxDQUFDO0lBVzdF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QkFBdUI7dUZBQXZCLHVCQUF1QjtjQUpuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7YUFDdEI7O3NCQVdJLFFBQVE7d0JBUFcsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tYW5kVHlwZSwgR3VpQ29tbWFuZH0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7SUd1aUV2ZW50LCBnZXRHdWlFdmVudE9ian0gZnJvbSBcIkBtYWdpYy14cGEvZW5naW5lXCI7XHJcbmltcG9ydCB7Q29udHJvbE1ldGFkYXRhfSBmcm9tIFwiLi4vLi4vLi4vY29udHJvbHMubWV0YWRhdGEubW9kZWxcIjtcclxuaW1wb3J0IHtIdG1sUHJvcGVydGllc30gZnJvbSAgXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi4vbWFnaWMuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdHlsZXNNYXBNYW5hZ2VyfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvU3R5bGVzTWFwTWFuYWdlclwiO1xyXG5pbXBvcnQge1Jvd01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi9yb3cubWFnaWMuZGlyZWN0aXZlXCI7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbWFnaWNuY10nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTm9Db250cm9sTWFnaWNEaXJlY3RpdmUgZXh0ZW5kcyBNYWdpY0RpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgnbWFnaWNuYycpIHNldCBtYWdpYyh2YWwpIHt0aGlzLmlkID0gdmFsOyB0aGlzLnNlbGVjdG9yID0gJ21hZ2ljbmMnO307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX3Rhc2sgICA6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICBlbGVtZW50IDogRWxlbWVudFJlZixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICB2Y1JlZiAgIDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBPcHRpb25hbCgpIG1hZ2ljUm93OiBSb3dNYWdpY0RpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoX3Rhc2ssIGVsZW1lbnQsIHJlbmRlcmVyLCAgdmNSZWYsIG1hZ2ljUm93KTtcclxuICB9XHJcblxyXG4gIHJlZ0V2ZW50cygpIHtcclxuICBzdXBlci5yZWdFdmVudHMoKVxyXG5cclxuICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5odG1sRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4ge1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsIDApO1xyXG4gICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKDxhbnk+KGV2ZW50LnRhcmdldCkpLnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKVxyXG4gICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzUmFkaW8oKSkge1xyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7XHJcbiAgICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcInNlbGVjdGlvbmNoYW5nZWRcIiwgdGhpcy5pZCwgMCk7XHJcbiAgICAgICAgZ3VpRXZlbnQuVmFsdWUgPSAoPGFueT4oZS50YXJnZXQpKS52YWx1ZTtcclxuICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmlzVGFiQ29udHJvbCgpKSB7XHJcbiAgICAgICAgY29uc3QgdGFiQ29udHJvbCA9IHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF07XHJcbiAgICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcInNlbGVjdGlvbmNoYW5nZWRcIiwgdGhpcy5pZCwgMCk7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJDb250cm9sLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICB0YWJDb250cm9sLmNoaWxkcmVuW2ldLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICAgICAgZ3VpRXZlbnQuVmFsdWUgPSAoKDxudW1iZXI+PGFueT4oPEVsZW1lbnQ+ZS5jdXJyZW50VGFyZ2V0KS5nZXRBdHRyaWJ1dGUoJ2xheWVyJykpLTEpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBpcyB0aGUgZGl2IGEgdGFiIGNvbnRyb2xcclxuICBpc1RhYkNvbnRyb2woKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxEaXZFbGVtZW50ICYmXHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF0uZ2V0QXR0cmlidXRlKCdtYWdpY01hcmsnKT09PSBcIm1hZ2ljVGFiQ29udHJvbFwiO1xyXG4gIH1cclxuXHJcbiAgLy8gaXMgdGhlIGRpdiBhIHJhZGlvIGJ1dHRvbnMgd3JhcHBlclxyXG4gIGlzUmFkaW8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxEaXZFbGVtZW50ICYmXHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF0uZ2V0QXR0cmlidXRlKCdtYWdpY01hcmsnKSA9PT0gXCJtYWdpY1JhZGlvXCI7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDb21tYW5kKGNvbW1hbmQ6IEd1aUNvbW1hbmQpIHtcclxuICAgIHN1cGVyLmhhbmRsZUNvbW1hbmQoY29tbWFuZCk7XHJcblxyXG4gICAgc3dpdGNoIChjb21tYW5kLkNvbW1hbmRUeXBlKSB7XHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX0NMQVNTOlxyXG4gICAgICAgIC8vcmVtb3ZlIHRoZSBjbGFzcyB3aGljaCB3YXMgcmVwbGFjZWQgYnkgdGhpcyBuZXcgb25lLCBhcyByZWdpc3RlcmVkIGluIHRoZSBDb250cm9sTWV0YWRhdGFcclxuICAgICAgICBjb25zdCBjb250cm9sTWV0YWRhdGE6Q29udHJvbE1ldGFkYXRhID0gdGhpcy5fdGFzay5SZWNvcmRzLmxpc3RbMF0uZ2V0Q29udHJvbE1ldGFkYXRhKHRoaXMuaWQpO1xyXG4gICAgICAgIGlmKGNvbnRyb2xNZXRhZGF0YS5yZW1vdmVkQ2xhc3MgIT0gJycpIHtcclxuICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjb250cm9sTWV0YWRhdGEucmVtb3ZlZENsYXNzKTtcclxuICAgICAgICAgIGNvbnRyb2xNZXRhZGF0YS5yZW1vdmVkQ2xhc3MgPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICBDb21tYW5kVHlwZS5TRVRfVkFMVUU6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MTGFiZWxFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MTGFiZWxFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmlubmVyVGV4dCA9IGNvbW1hbmQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpXHJcbiAgICAgICAgICAoPEhUTUxTZWxlY3RFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLnZhbHVlID0gY29tbWFuZC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCkgLy9oeXBlci10ZXh0IGJ1dHRvblxyXG4gICAgICAgICAgKDxIVE1MQW5jaG9yRWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS50ZXh0ID0gY29tbWFuZC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlmKCg8SFRNTElucHV0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS50eXBlID09PSBcImNoZWNrYm94XCIpIHtcclxuICAgICAgICAgICAgKDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmNoZWNrZWQgPSBjb21tYW5kLnZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICg8SFRNTElucHV0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS52YWx1ZSA9IGNvbW1hbmQudmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICg8SFRNTEJ1dHRvbkVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkuaW5uZXJIVE1MID0gY29tbWFuZC52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TRVRfUFJPUEVSVFk6XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTZXRQcm9wZXJ0eShjb21tYW5kKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX1NUWUxFOlxyXG4gICAgICAgIGxldCB2YWx1ZTogc3RyaW5nID0gU3R5bGVzTWFwTWFuYWdlci5tYWdpY1ZhbHVlR2V0U3R5bGUoY29tbWFuZC5PcGVyYXRpb24sIGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgbGV0IGF0dHJpYnV0ZTogc3RyaW5nID0gU3R5bGVzTWFwTWFuYWdlci5NYWdpY1Byb3BlcnR5VG9IdG1sQXR0cmlidXRlTWFwLmdldChjb21tYW5kLk9wZXJhdGlvbik7XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBhdHRyaWJ1dGUgKyBcIjpcIiArIHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLyBoYW5kbGUgc2V0LXByb3BlcnR5IGNvbW1hbmRzXHJcbiAgaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZDogR3VpQ29tbWFuZCkge1xyXG4gICAgc3VwZXIuaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZCk7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQuT3BlcmF0aW9uKSB7XHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVGV4dDpcclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxMYWJlbEVsZW1lbnQpXHJcbiAgICAgICAgICAoPEhUTUxMYWJlbEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkuaW5uZXJUZXh0ID0gY29tbWFuZC5vYmoxO1xyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuSW1hZ2U6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MSW1hZ2VFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLnNyYyA9IGNvbW1hbmQub2JqMTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInNyY1wiLCBjb21tYW5kLm9iajEpO1xyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuSXRlbXNMaXN0OlxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuXHJcbiAgICAgICAgICAvLyBjbGVhciB0aGUgbGlzdFxyXG4gICAgICAgICAgdmFyIGxlbiA9IHRoaXMuaHRtbEVsZW1lbnQubGVuZ3RoO1xyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQucmVtb3ZlKGkpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGZvciAobGV0IHMgb2YgY29tbWFuZC5vYmoxKSB7XHJcbiAgICAgICAgICAgIGxldCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm9wdGlvblwiKTtcclxuICAgICAgICAgICAgZWxlbS50ZXh0ID0gcy5kaXNwbGF5VmFsdWU7XHJcbiAgICAgICAgICAgIGVsZW0udmFsdWUgPSBzLmluZGV4O1xyXG4gICAgICAgICAgICAoPEhUTUxTZWxlY3RFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmFkZChlbGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmlzVGFiQ29udHJvbCgpICYmIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdGFiQ29udHJvbCA9IHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF07XHJcblxyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJDb250cm9sLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmKHRhYkNvbnRyb2wuY2hpbGRyZW5baV0gaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+dGFiQ29udHJvbC5jaGlsZHJlbltpXSkuaW5uZXJUZXh0ID0gY29tbWFuZC5vYmoxW2ldLmRpc3BsYXlWYWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVmlzaWJsZTpcclxuICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAndmlzaWJpbGl0eTonICsgKGNvbW1hbmQub2JqMSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLkVuYWJsZWQ6XHJcbiAgICAgICAgaWYgKGNvbW1hbmQub2JqMSA9PT0gZmFsc2UpXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcImRpc2FibGVkXCIsIFwidHJ1ZVwiKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcImRpc2FibGVkXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdG1sUHJvcGVydGllcy5UYWJJbmRleDpcclxuICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShjb21tYW5kLk9wZXJhdGlvbiwgY29tbWFuZC5vYmoxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuU2VsZWN0ZWRWYWx1ZTpcclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MU2VsZWN0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS52YWx1ZSA9IGNvbW1hbmQub2JqMTtcclxuICAgICAgICBlbHNlIGlmKHRoaXMuaXNUYWJDb250cm9sKCkgICYmIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICBjb25zdCB0YWJDb250cm9sID0gdGhpcy5odG1sRWxlbWVudC5jaGlsZHJlblswXTtcclxuXHJcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRhYkNvbnRyb2wuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGNoaWxkID0gdGFiQ29udHJvbC5jaGlsZHJlbltpXTtcclxuICAgICAgICAgICAgY29uc3QgbGF5ZXIgPSAoPG51bWJlcj48YW55PmNoaWxkLmdldEF0dHJpYnV0ZSgnbGF5ZXInKSktMTtcclxuXHJcbiAgICAgICAgICAgIGlmKGNoaWxkIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAvLyBzZXQgYnV0dG9uIHN0eWxlXHJcbiAgICAgICAgICAgICAgaWYgKCBsYXllciA9PSBjb21tYW5kLm9iajEpIHsgLy8gY29tcGFyZSBpbnQgdG8gc3RyaW5nXHJcbiAgICAgICAgICAgICAgICBjaGlsZC5jbGFzc0xpc3QuYWRkKCd0YWJfYnV0dG9uX2FjdGl2ZScpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3RhYl9idXR0b25fYWN0aXZlJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIC8vIG5vdCBhIGJ1dG9uIC0gaGlkZSB1bnNlbGVjdGVkIHRhYnBhZ2VzXHJcbiAgICAgICAgICAgICAgbGV0IHN0eWxlID0gKGxheWVyID09IGNvbW1hbmQub2JqMSkgPyAnZGlzcGxheTogaW5saW5lJyA6ICdkaXNwbGF5OiBub25lJztcclxuICAgICAgICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgIHN0eWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuUGxhY2VIb2xkZXI6XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJwbGFjZWhvbGRlclwiLCBjb21tYW5kLm9iajEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdG1sUHJvcGVydGllcy5Ub29sdGlwOlxyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGl0bGVcIiwgY29tbWFuZC5vYmoxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuUGFzc3dvcmQ6XHJcbiAgICAgICAgaWYgKGNvbW1hbmQub2JqMSA9PT0gZmFsc2UpXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJ0ZXh0XCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcInBhc3N3b3JkXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWMvbm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTyxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFFekQsSUFBc0IsS0FBSyxDQUFDLEdBQUcsSUFBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUEsQ0FBQztJQUFBLENBQUM7SUFFN0UsWUFDRSxLQUEwQixFQUMxQixPQUFvQixFQUNwQixRQUFtQixFQUNuQixLQUEwQixFQUNkLFFBQTJCO1FBQ3ZDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVE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QkFBdUI7dUZBQXZCLHVCQUF1QjtjQUpuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7YUFDdEI7O3NCQVdJLFFBQVE7d0JBUFcsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tYW5kVHlwZSwgR3VpQ29tbWFuZH0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7SUd1aUV2ZW50LCBnZXRHdWlFdmVudE9ian0gZnJvbSBcIkBtYWdpYy14cGEvZW5naW5lXCI7XHJcbmltcG9ydCB7Q29udHJvbE1ldGFkYXRhfSBmcm9tIFwiLi4vLi4vLi4vY29udHJvbHMubWV0YWRhdGEubW9kZWxcIjtcclxuaW1wb3J0IHtIdG1sUHJvcGVydGllc30gZnJvbSAgXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi4vbWFnaWMuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdHlsZXNNYXBNYW5hZ2VyfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvU3R5bGVzTWFwTWFuYWdlclwiO1xyXG5pbXBvcnQge1Jvd01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi9yb3cubWFnaWMuZGlyZWN0aXZlXCI7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbWFnaWNuY10nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTm9Db250cm9sTWFnaWNEaXJlY3RpdmUgZXh0ZW5kcyBNYWdpY0RpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgnbWFnaWNuYycpIHNldCBtYWdpYyh2YWwpIHt0aGlzLmlkID0gdmFsOyB0aGlzLnNlbGVjdG9yID0gJ21hZ2ljbmMnO307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX3Rhc2sgICA6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICBlbGVtZW50IDogRWxlbWVudFJlZixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICB2Y1JlZiAgIDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBPcHRpb25hbCgpIG1hZ2ljUm93OiBSb3dNYWdpY0RpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoX3Rhc2ssIGVsZW1lbnQsIHJlbmRlcmVyLCAgdmNSZWYsIG1hZ2ljUm93KTtcclxuICB9XHJcblxyXG4gIHJlZ0V2ZW50cygpIHtcclxuICBzdXBlci5yZWdFdmVudHMoKVxyXG5cclxuICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5odG1sRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4ge1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsIDApO1xyXG4gICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKDxhbnk+KGV2ZW50LnRhcmdldCkpLnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKVxyXG4gICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzUmFkaW8oKSkge1xyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7XHJcbiAgICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcInNlbGVjdGlvbmNoYW5nZWRcIiwgdGhpcy5pZCwgMCk7XHJcbiAgICAgICAgZ3VpRXZlbnQuVmFsdWUgPSAoPGFueT4oZS50YXJnZXQpKS52YWx1ZTtcclxuICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmlzVGFiQ29udHJvbCgpKSB7XHJcbiAgICAgICAgY29uc3QgdGFiQ29udHJvbCA9IHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF07XHJcbiAgICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcInNlbGVjdGlvbmNoYW5nZWRcIiwgdGhpcy5pZCwgMCk7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJDb250cm9sLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICB0YWJDb250cm9sLmNoaWxkcmVuW2ldLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICAgICAgZ3VpRXZlbnQuVmFsdWUgPSAoKDxudW1iZXI+PGFueT4oPEVsZW1lbnQ+ZS5jdXJyZW50VGFyZ2V0KS5nZXRBdHRyaWJ1dGUoJ2xheWVyJykpLTEpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBpcyB0aGUgZGl2IGEgdGFiIGNvbnRyb2xcclxuICBpc1RhYkNvbnRyb2woKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxEaXZFbGVtZW50ICYmXHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF0uZ2V0QXR0cmlidXRlKCdtYWdpY01hcmsnKT09PSBcIm1hZ2ljVGFiQ29udHJvbFwiO1xyXG4gIH1cclxuXHJcbiAgLy8gaXMgdGhlIGRpdiBhIHJhZGlvIGJ1dHRvbnMgd3JhcHBlclxyXG4gIGlzUmFkaW8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxEaXZFbGVtZW50ICYmXHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF0uZ2V0QXR0cmlidXRlKCdtYWdpY01hcmsnKSA9PT0gXCJtYWdpY1JhZGlvXCI7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDb21tYW5kKGNvbW1hbmQ6IEd1aUNvbW1hbmQpIHtcclxuICAgIHN1cGVyLmhhbmRsZUNvbW1hbmQoY29tbWFuZCk7XHJcblxyXG4gICAgc3dpdGNoIChjb21tYW5kLkNvbW1hbmRUeXBlKSB7XHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX0NMQVNTOlxyXG4gICAgICAgIC8vcmVtb3ZlIHRoZSBjbGFzcyB3aGljaCB3YXMgcmVwbGFjZWQgYnkgdGhpcyBuZXcgb25lLCBhcyByZWdpc3RlcmVkIGluIHRoZSBDb250cm9sTWV0YWRhdGFcclxuICAgICAgICBjb25zdCBjb250cm9sTWV0YWRhdGE6Q29udHJvbE1ldGFkYXRhID0gdGhpcy5fdGFzay5SZWNvcmRzLmxpc3RbMF0uZ2V0Q29udHJvbE1ldGFkYXRhKHRoaXMuaWQpO1xyXG4gICAgICAgIGlmKGNvbnRyb2xNZXRhZGF0YS5yZW1vdmVkQ2xhc3MgIT0gJycpIHtcclxuICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjb250cm9sTWV0YWRhdGEucmVtb3ZlZENsYXNzKTtcclxuICAgICAgICAgIGNvbnRyb2xNZXRhZGF0YS5yZW1vdmVkQ2xhc3MgPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICBDb21tYW5kVHlwZS5TRVRfVkFMVUU6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MTGFiZWxFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MTGFiZWxFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmlubmVyVGV4dCA9IGNvbW1hbmQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpXHJcbiAgICAgICAgICAoPEhUTUxTZWxlY3RFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLnZhbHVlID0gY29tbWFuZC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCkgLy9oeXBlci10ZXh0IGJ1dHRvblxyXG4gICAgICAgICAgKDxIVE1MQW5jaG9yRWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS50ZXh0ID0gY29tbWFuZC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlmKCg8SFRNTElucHV0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS50eXBlID09PSBcImNoZWNrYm94XCIpIHtcclxuICAgICAgICAgICAgKDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmNoZWNrZWQgPSBjb21tYW5kLnZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICg8SFRNTElucHV0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS52YWx1ZSA9IGNvbW1hbmQudmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICg8SFRNTEJ1dHRvbkVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkuaW5uZXJIVE1MID0gY29tbWFuZC52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TRVRfUFJPUEVSVFk6XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTZXRQcm9wZXJ0eShjb21tYW5kKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX1NUWUxFOlxyXG4gICAgICAgIGxldCB2YWx1ZTogc3RyaW5nID0gU3R5bGVzTWFwTWFuYWdlci5tYWdpY1ZhbHVlR2V0U3R5bGUoY29tbWFuZC5PcGVyYXRpb24sIGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgbGV0IGF0dHJpYnV0ZTogc3RyaW5nID0gU3R5bGVzTWFwTWFuYWdlci5NYWdpY1Byb3BlcnR5VG9IdG1sQXR0cmlidXRlTWFwLmdldChjb21tYW5kLk9wZXJhdGlvbik7XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBhdHRyaWJ1dGUgKyBcIjpcIiArIHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLyBoYW5kbGUgc2V0LXByb3BlcnR5IGNvbW1hbmRzXHJcbiAgaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZDogR3VpQ29tbWFuZCkge1xyXG4gICAgc3VwZXIuaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZCk7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQuT3BlcmF0aW9uKSB7XHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVGV4dDpcclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxMYWJlbEVsZW1lbnQpXHJcbiAgICAgICAgICAoPEhUTUxMYWJlbEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkuaW5uZXJUZXh0ID0gY29tbWFuZC5vYmoxO1xyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuSW1hZ2U6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MSW1hZ2VFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLnNyYyA9IGNvbW1hbmQub2JqMTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInNyY1wiLCBjb21tYW5kLm9iajEpO1xyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuSXRlbXNMaXN0OlxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuXHJcbiAgICAgICAgICAvLyBjbGVhciB0aGUgbGlzdFxyXG4gICAgICAgICAgdmFyIGxlbiA9IHRoaXMuaHRtbEVsZW1lbnQubGVuZ3RoO1xyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQucmVtb3ZlKGkpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGZvciAobGV0IHMgb2YgY29tbWFuZC5vYmoxKSB7XHJcbiAgICAgICAgICAgIGxldCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm9wdGlvblwiKTtcclxuICAgICAgICAgICAgZWxlbS50ZXh0ID0gcy5kaXNwbGF5VmFsdWU7XHJcbiAgICAgICAgICAgIGVsZW0udmFsdWUgPSBzLmluZGV4O1xyXG4gICAgICAgICAgICAoPEhUTUxTZWxlY3RFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmFkZChlbGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmlzVGFiQ29udHJvbCgpICYmIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdGFiQ29udHJvbCA9IHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF07XHJcblxyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJDb250cm9sLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmKHRhYkNvbnRyb2wuY2hpbGRyZW5baV0gaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+dGFiQ29udHJvbC5jaGlsZHJlbltpXSkuaW5uZXJUZXh0ID0gY29tbWFuZC5vYmoxW2ldLmRpc3BsYXlWYWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVmlzaWJsZTpcclxuICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAndmlzaWJpbGl0eTonICsgKGNvbW1hbmQub2JqMSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLkVuYWJsZWQ6XHJcbiAgICAgICAgaWYgKGNvbW1hbmQub2JqMSA9PT0gZmFsc2UpXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcImRpc2FibGVkXCIsIFwidHJ1ZVwiKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcImRpc2FibGVkXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdG1sUHJvcGVydGllcy5UYWJJbmRleDpcclxuICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShjb21tYW5kLk9wZXJhdGlvbiwgY29tbWFuZC5vYmoxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuU2VsZWN0ZWRWYWx1ZTpcclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MU2VsZWN0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS52YWx1ZSA9IGNvbW1hbmQub2JqMTtcclxuICAgICAgICBlbHNlIGlmKHRoaXMuaXNUYWJDb250cm9sKCkgICYmIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICBjb25zdCB0YWJDb250cm9sID0gdGhpcy5odG1sRWxlbWVudC5jaGlsZHJlblswXTtcclxuXHJcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRhYkNvbnRyb2wuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGNoaWxkID0gdGFiQ29udHJvbC5jaGlsZHJlbltpXTtcclxuICAgICAgICAgICAgY29uc3QgbGF5ZXIgPSAoPG51bWJlcj48YW55PmNoaWxkLmdldEF0dHJpYnV0ZSgnbGF5ZXInKSktMTtcclxuXHJcbiAgICAgICAgICAgIGlmKGNoaWxkIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAvLyBzZXQgYnV0dG9uIHN0eWxlXHJcbiAgICAgICAgICAgICAgaWYgKCBsYXllciA9PSBjb21tYW5kLm9iajEpIHsgLy8gY29tcGFyZSBpbnQgdG8gc3RyaW5nXHJcbiAgICAgICAgICAgICAgICBjaGlsZC5jbGFzc0xpc3QuYWRkKCd0YWJfYnV0dG9uX2FjdGl2ZScpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3RhYl9idXR0b25fYWN0aXZlJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIC8vIG5vdCBhIGJ1dG9uIC0gaGlkZSB1bnNlbGVjdGVkIHRhYnBhZ2VzXHJcbiAgICAgICAgICAgICAgbGV0IHN0eWxlID0gKGxheWVyID09IGNvbW1hbmQub2JqMSkgPyAnZGlzcGxheTogaW5saW5lJyA6ICdkaXNwbGF5OiBub25lJztcclxuICAgICAgICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgIHN0eWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuUGxhY2VIb2xkZXI6XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJwbGFjZWhvbGRlclwiLCBjb21tYW5kLm9iajEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdG1sUHJvcGVydGllcy5Ub29sdGlwOlxyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGl0bGVcIiwgY29tbWFuZC5vYmoxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuUGFzc3dvcmQ6XHJcbiAgICAgICAgaWYgKGNvbW1hbmQub2JqMSA9PT0gZmFsc2UpXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJ0ZXh0XCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcInBhc3N3b3JkXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -12,6 +12,16 @@ import * as i0 from "@angular/core";
12
12
  import * as i1 from "../../services/task.magics.service";
13
13
  import * as i2 from "./magic/row.magic.directive";
14
14
  export class MagicDirective {
15
+ set magic(val) {
16
+ this.id = val;
17
+ this.selector = "magic";
18
+ }
19
+ ;
20
+ set eventsOnly(val) {
21
+ console.log("eventsOnly");
22
+ this.eventsOnlyVal = true;
23
+ }
24
+ ;
15
25
  constructor(_task, element, renderer, vcRef, magicRow) {
16
26
  this._task = _task;
17
27
  this.element = element;
@@ -24,16 +34,6 @@ export class MagicDirective {
24
34
  if (!(typeof magicRow === "undefined" || magicRow === null))
25
35
  this.rowId = magicRow.rowId;
26
36
  }
27
- set magic(val) {
28
- this.id = val;
29
- this.selector = "magic";
30
- }
31
- ;
32
- set eventsOnly(val) {
33
- console.log("eventsOnly");
34
- this.eventsOnlyVal = true;
35
- }
36
- ;
37
37
  get task() {
38
38
  return this._task;
39
39
  }
@@ -207,4 +207,4 @@ MagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MagicDirective, selectors:
207
207
  }], rowId: [{
208
208
  type: Input
209
209
  }] }); })();
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFDTCxXQUFXLEVBRVgsWUFBWSxFQUVaLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRTlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFVckYsTUFBTSxPQUFPLGNBQWM7SUFtRXpCLFlBQ1ksS0FBdUIsRUFDdkIsT0FBbUIsRUFDbkIsUUFBbUIsRUFDbkIsS0FBdUIsRUFDWCxRQUEyQjtRQUp2QyxVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixR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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgQ29tbWFuZFR5cGUsXHJcbiAgR3VpQ29tbWFuZCxcclxuICBHdWlDb25zdGFudHMsXHJcbiAgR3VpSW50ZXJhY3RpdmUsXHJcbiAgSHRtbFByb3BlcnRpZXMsXHJcbiAgSW50ZXJhY3RpdmVDb21tYW5kVHlwZSxcclxuICBNb2RpZmllcnNcclxufSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHsgZ2V0R3VpRXZlbnRPYmosIElHdWlFdmVudCB9IGZyb20gXCJAbWFnaWMteHBhL2VuZ2luZVwiO1xyXG5cclxuaW1wb3J0IHsgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCB9IGZyb20gXCIuLi90YXNrLWJhc2UubWFnaWMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRhc2tNYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFJvd01hZ2ljRGlyZWN0aXZlIH0gZnJvbSBcIi4vbWFnaWMvcm93Lm1hZ2ljLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEJpbmRpbmdMZXZlbCwgTWdDb250cm9sVHlwZSwgU3RvcmFnZUF0dHJpYnV0ZVR5cGUgfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDb25uZWN0cyBIVE1MIGVsZW1lbnRzIHRvIHRoZSBNYWdpYyBXZWIgQ2xpZW50IGVuZ2luZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW21hZ2ljXVwiXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTWFnaWNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KFwibWFnaWNcIikgc2V0IG1hZ2ljKHZhbCkge1xyXG4gICAgdGhpcy5pZCA9IHZhbDtcclxuICAgIHRoaXMuc2VsZWN0b3IgPSBcIm1hZ2ljXCI7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBmbGFnIGlzIHVzZWQgd2hlbiB3ZSBvbmx5IHdhbnQgdG8gcmVnaXN0ZXIgdG8gZXZlbnRzLCBidXQgZG8gbm90IHdhbnQgdG8gZXhlY3V0ZSBjb21tYW5kcyBzZW50IGZyb20gc2VydmVyXHJcbiAgICovXHJcbiAgQElucHV0KFwiZXZlbnRzT25seVwiKSBzZXQgZXZlbnRzT25seSh2YWwpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZXZlbnRzT25seVwiKTtcclxuICAgIHRoaXMuZXZlbnRzT25seVZhbCA9IHRydWU7XHJcblxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFJvdyBpZCBvZiB0aGUgY29udHJvbCwgZm9yIHdoZW4gaXQgaXMgb24gYSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByb3dJZDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgLy9ASW5wdXQoKSBldmVudHM6IGFueVtdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgY29ubmVjdGVkIHRvIHRoaXMgZGlyZWN0aXZlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICAvKipcclxuICAgKiBNYWdpYydzIGNvbXBvbmVudCBoYW5kbGluZyB0aGlzIGNvbnRyb2xcclxuICAgKi9cclxuICBwdWJsaWMgY29tcG9uZW50OiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50O1xyXG4gIC8qKlxyXG4gICAqIENvbGxlY3Rpb24gb2YgZXZlbnQgaGFuZGxlcnMgZm9yIHRoaXMgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZXZlbnRIYW5kbGVyczogeyBba2V5OiBzdHJpbmddOiAoKSA9PiB2b2lkOyB9ID0ge307XHJcbiAgLyoqXHJcbiAgICogSWQgb2YgdGhpcyBlbGVtZW50XHJcbiAgICovXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzZWxlY3Rvcjogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBzdWJzY3JpYmVSZWZyZXNoRG9tOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgZm9jdXNVbmxpc3RlbmVyOiAoKCkgPT4gdm9pZCk7XHJcblxyXG4gIHB1YmxpYyBldmVudHNPbmx5VmFsID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgb3BlbmVkID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbm9PZkF1dG9Db21wbGV0ZUJveGVzT3BlbmVkID0wO1xyXG5cclxuICBzdWJzY3JpYmVJbnRlcmFjdGl2ZUNvbW1hbmRzOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIF90YXNrIFRoZSB0YXNrIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBmb3Igd2hpY2ggdGhlIGRpcmVjdGl2ZSBpcyBhcHBsaWVkXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIFJlbmRlcmVyIGZvciB0aGUgZWxlbWVudFxyXG4gICAqIEBwYXJhbSB2Y1JlZlxyXG4gICAqIEBwYXJhbSBtYWdpY1Jvd1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIF90YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByb3RlY3RlZCB2Y1JlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBtYWdpY1JvdzogUm93TWFnaWNEaXJlY3RpdmUpIHtcclxuXHJcbiAgICB0aGlzLmh0bWxFbGVtZW50ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAvL2xldCBjID0gKDxhbnk+dGhpcy52Y1JlZikuX3ZpZXc7XHJcbiAgICAvL3doaWxlICghKGMgaW5zdGFuY2VvZiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50KSkge1xyXG4gICAgLy8gIGMgPSBjLmNvbXBvbmVudDtcclxuICAgIC8vfVxyXG4gICAgLy90aGlzLmNvbXBvbmVudCA9IGM7XHJcbiAgICBpZiAoISh0eXBlb2YgbWFnaWNSb3cgPT09IFwidW5kZWZpbmVkXCIgfHwgbWFnaWNSb3cgPT09IG51bGwpKVxyXG4gICAgICB0aGlzLnJvd0lkID0gbWFnaWNSb3cucm93SWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHRhc2sgc2VydmljZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0IHRhc2soKTogVGFza01hZ2ljU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFzaztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdGVyIHRvIHRoZSBldmVudHMgdGhpcyBlbGVtZW50IG1heSBuZWVkIHRvIGhhbmRsZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZWdFdmVudHMoKSB7XHJcbiAgICAvLyBIYW5kbGUgZXZlbnRzIGZvciB3aGljaCBldmVudCBoYW5kbGVyIG1heSBiZSByZW1vdmVkIGFuZCByZXN0b3JlZFxyXG4gICAgdGhpcy5ldmVudEhhbmRsZXJzW1wiZm9jdXNpblwiXSA9IHRoaXMuT25Gb2N1cy5iaW5kKHRoaXMpO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZXZlbnRIYW5kbGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIHRoaXMuZm9jdXNVbmxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwga2V5LCB0aGlzLmV2ZW50SGFuZGxlcnNba2V5XSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBIYW5kbGUgZXZlbnRzIHdpdGggYW5vbnltb3VzICBldmVudCBoYW5kbGVyc1xyXG4gICAgbGV0IGV2ZW50czogc3RyaW5nW10gPSBbXCJjbGlja1wiLCBcIm1vdXNlZG93blwiLCBcImRibGNsaWNrXCJdOy8vICwncmVzaXplJywgJ2xvYWQnLCAndW5sb2FkJ1xyXG4gICAgZXZlbnRzLmZvckVhY2goZXZlbnQgPT4ge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmh0bWxFbGVtZW50LCBldmVudCwgKGUpID0+IHtcclxuICAgICAgICBcclxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSBldmVudCBpcyBmaXJlZCBmcm9tIHpvb20gYnV0dG9uICggdG8gaWRlbnRpZnkgdGhlIGNvbm5lY3RlZCB6b29tIGJ1dHRvbiBpbiBlbmdpbmUpXHJcbiAgICAgICAgbGV0IGZyb21CdXR0b24gPSBmYWxzZTsgXHJcbiAgICAgICAgaWYodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KVxyXG4gICAgICAgICAgZnJvbUJ1dHRvbiA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChnZXRHdWlFdmVudE9iaihldmVudCwgdGhpcy5pZCwgK3RoaXMucm93SWQsIGZyb21CdXR0b24pKTtcclxuICAgICAgICBpZiAoTWFnaWNEaXJlY3RpdmUubm9PZkF1dG9Db21wbGV0ZUJveGVzT3BlbmVkPCAxKVxyXG4gICAgICAgICAgZS5jYW5jZWxCdWJibGUgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmh0bWxFbGVtZW50LCBcImNoYW5nZVwiLCAoZSkgPT4ge1xyXG4gICAgICBsZXQgZ3VpRXZlbnQ6IElHdWlFdmVudCA9IGdldEd1aUV2ZW50T2JqKFwic2VsZWN0aW9uY2hhbmdlZFwiLCB0aGlzLmlkLCArdGhpcy5yb3dJZCk7XHJcblxyXG4gICAgICBpZiAoKDxhbnk+KGV2ZW50LnRhcmdldCkpLnNlbGVjdGVkSW5kZXggIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKDxhbnk+KGV2ZW50LnRhcmdldCkpLnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKTtcclxuICAgICAgICBlLmNhbmNlbEJ1YmJsZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICAgICAgfVxyXG4gXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBoYW5kbGUgdGhlIGlucHV0IGV2ZW50XHJcbiAgICBmcm9tRXZlbnQodGhpcy5odG1sRWxlbWVudCwgXCJpbnB1dFwiKS5waXBlKFxyXG4gICAgICBtYXAoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgICB9KSxcclxuICAgICAgZGVib3VuY2VUaW1lKDIwMCkgLy8gdGltZSBhZnRlciB3aGljaCB2YWx1ZSB3aWxsIGJlIHNlbnQgdG8gbWFnaWNcclxuICAgICkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudGFzay5nZXRQcm9wZXJ0eSh0aGlzLmlkLCBIdG1sUHJvcGVydGllcy5CaW5kaW5nTGV2ZWwsIHRoaXMucm93SWQpID09PSBCaW5kaW5nTGV2ZWwuQ2hhcmFjdGVyKSB7XHJcbiAgICAgICAgICAvLyBEb24ndCBzdXBwb3J0IGNoYXJhY3RlciBiaW5kaW5nIGZvciBkYXRlL3RpbWUgdmFsdWVzXHJcbiAgICAgICAgIGxldCBhdHRyaWJ1dGUgOiBTdG9yYWdlQXR0cmlidXRlVHlwZSA9ICB0aGlzLnRhc2suUmVjb3Jkcy5saXN0WzBdLmdldENvbnRyb2xNZXRhZGF0YSh0aGlzLmlkKS5kYXRhVHlwZTtcclxuICAgICAgICAgaWYoYXR0cmlidXRlICE9PSBTdG9yYWdlQXR0cmlidXRlVHlwZS5EYXRlICYmIGF0dHJpYnV0ZSAhPSBTdG9yYWdlQXR0cmlidXRlVHlwZS5UaW1lKVxyXG4gICAgICAgICAgICB0aGlzLnRhc2subWdBY2Nlc3NvclNlcnZpY2Uuc2V0VmFsdWVUb0NvbnRyb2wodGhpcy5pZCwgeCwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwgXCJrZXlkb3duXCIsIChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcImtleWRvd25cIiwgdGhpcy5pZCwgK3RoaXMucm93SWQpO1xyXG4gICAgICAgIGd1aUV2ZW50Lm1vZGlmaWVycyA9IE1vZGlmaWVycy5NT0RJRklFUl9OT05FO1xyXG5cclxuICAgICAgICBpZiAoZS5hbHRLZXkgJiYgZS5rZXlDb2RlICE9PSBHdWlDb25zdGFudHMuS0VZX0FMVClcclxuICAgICAgICAgICAgZ3VpRXZlbnQubW9kaWZpZXJzID0gTW9kaWZpZXJzLk1PRElGSUVSX0FMVDtcclxuXHJcbiAgICAgICAgZWxzZSBpZiAoZS5jdHJsS2V5ICYmIGUua2V5Q29kZSAhPT0gR3VpQ29uc3RhbnRzLktFWV9DVFJMKVxyXG4gICAgICAgICAgICBndWlFdmVudC5tb2RpZmllcnMgPSBNb2RpZmllcnMuTU9ESUZJRVJfQ1RSTDtcclxuXHJcbiAgICAgICAgbGV0IHN1cHBvcnRlZEtleSA9IGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9QR19VUCB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfUEdfRE9XTiB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfTEVGVCB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfUklHSFQgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX1VQIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9ET1dOIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9FU0MgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX0hPTUUgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX0VORCB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfUkVUVVJOIHx8XHJcbiAgICAgICAgICAgIChlLmtleUNvZGUgPj0gR3VpQ29uc3RhbnRzLktFWV9GMSAmJiBlLmtleUNvZGUgPD0gR3VpQ29uc3RhbnRzLktFWV9GMTIpO1xyXG5cclxuICAgICAgICBpZiAoZ3VpRXZlbnQubW9kaWZpZXJzICE9PSBNb2RpZmllcnMuTU9ESUZJRVJfTk9ORSB8fCBzdXBwb3J0ZWRLZXkpIHtcclxuICAgICAgICAgICAgZ3VpRXZlbnQua2V5Q29kZSA9IGUua2V5Q29kZTtcclxuXHJcbiAgICAgICAgICAgIC8vIERlZmVjdCAxNjAwMjEgZml4ZWQgLSBkb24ndCBzZXQgZS5jYW5jZWxCdWJibGUgd2hlbiBjb21ib2JveCBpcyBvcGVuZWQgYW5kIGVzYyBrZXkgaXMgcHJlc3NlZFxyXG4gICAgICAgICAgICBpZiAoZS5rZXlDb2RlICE9PSBHdWlDb25zdGFudHMuS0VZX0VTQyB8fCBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfRVNDICYmICghTWFnaWNEaXJlY3RpdmUub3BlbmVkICYmIE1hZ2ljRGlyZWN0aXZlLm5vT2ZBdXRvQ29tcGxldGVCb3hlc09wZW5lZCA8IDEpKVxyXG4gICAgICAgICAgICAgICAgZS5jYW5jZWxCdWJibGUgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgZm9jdXMgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIE9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ2V0R3VpRXZlbnRPYmooXCJmb2N1c1wiLCB0aGlzLmlkLCArdGhpcy5yb3dJZCkpO1xyXG4gICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElzIHRoZSBjb21tYW5kJ3MgZWxlbWVudCB0aGUgc2FtZSBhcyB0aGlzIGRpcmVjdGl2ZSdzIGVsZW1lbnRcclxuICAgKiBAcGFyYW0gY29tbWFuZFxyXG4gICAqIEByZXR1cm5zIHRydWUvZmFsc2VcclxuICAgKi9cclxuICBwcml2YXRlIElzU2FtZUVsZW1lbnQoY29tbWFuZCkge1xyXG4gICAgbGV0IGxpbmU6IG51bWJlciA9IGNvbW1hbmQubGluZTtcclxuXHJcbiAgICBpZiAodGhpcy50YXNrLmlzVGFibGVDb250cm9sKGNvbW1hbmQuQ3RybE5hbWUpKVxyXG4gICAgICBsaW5lID0gdGhpcy50YXNrLmdldEd1aVJvd0lkKGxpbmUsIHRydWUpO1xyXG5cclxuICAgIHJldHVybiAoY29tbWFuZC5DdHJsTmFtZSA9PT0gdGhpcy5pZCAmJlxyXG4gICAgICAobGluZSA9PT0gK3RoaXMucm93SWQgfHxcclxuICAgICAgICAobGluZSA9PT0gMCAmJiBpc051bGxPclVuZGVmaW5lZCh0aGlzLnJvd0lkKSkpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElzIHRoZSBjb21tYW5kJ3MgZWxlbWVudCB0aGUgc2FtZSBhcyB0aGlzIGRpcmVjdGl2ZSdzIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb21tYW5kXHJcbiAgICogQHJldHVybnMgdHJ1ZS9mYWxzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgSXNTYW1lQ29tcG9uZW50KGNvbW1hbmQ6IEd1aUludGVyYWN0aXZlKSB7XHJcbiAgICByZXR1cm4gKGNvbW1hbmQuY29udHJvbE5hbWUgPT09IHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVnVXBkYXRlc1VJKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVSZWZyZXNoRG9tID0gdGhpcy50YXNrXHJcbiAgICAgIC5yZWZyZXNoRG9tLnBpcGUoZmlsdGVyKGMgPT4gdGhpcy5Jc1NhbWVFbGVtZW50KGMpKSlcclxuICAgICAgLnN1YnNjcmliZShhID0+IHtcclxuICAgICAgICAgIGxldCBjb21tYW5kOiBHdWlDb21tYW5kID0gYTtcclxuICAgICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLnJvd0lkKSlcclxuICAgICAgICAgICAgdGhpcy5yb3dJZCA9IFwiMFwiO1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmV2ZW50c09ubHlWYWwpXHJcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDb21tYW5kKGNvbW1hbmQpO1xyXG4gICAgICAgICAgfSBjYXRjaCAoZXgpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kaXIoZXgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmliZUludGVyYWN0aXZlQ29tbWFuZHMgPSB0aGlzLnRhc2suaW50ZXJhY3RpdmVDb21tYW5kc1xyXG4gICAgICAucGlwZShmaWx0ZXIoYyA9PiB0aGlzLklzU2FtZUNvbXBvbmVudChjKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoY29tbWFuZCA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVJbnRlcmFjdGl2ZUNvbW1hbmRzKGNvbW1hbmQpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHRoaXMgb2JqZWN0XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ0V2ZW50cygpO1xyXG4gICAgdGhpcy5yZWdVcGRhdGVzVUkoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIGNvbW1hbmRzIHJlY2VpdmVkIGZyb20gdGhlIE1hZ2ljIFdlYkNsaWVudCBlbmdpbmVcclxuICAgKiBAcGFyYW0gY29tbWFuZFxyXG4gICAqL1xyXG4gIGhhbmRsZUNvbW1hbmQoY29tbWFuZDogR3VpQ29tbWFuZCkge1xyXG4gICAgc3dpdGNoIChjb21tYW5kLkNvbW1hbmRUeXBlKSB7XHJcblxyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLlNFVF9QUk9QRVJUWTpcclxuICAgICAgICB0aGlzLmhhbmRsZVNldFByb3BlcnR5KGNvbW1hbmQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TRVRfRk9DVVM6XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXNVbmxpc3RlbmVyKCk7XHJcbiAgICAgICAvLyBEbyBub3Qgc2V0IGZvY3VzIG9uIGNvbm5lY3RlZCB6b29tICBidXR0b25cclxuICAgICAgICBpZiAoIShjb21tYW5kLm9iai5Db25uZWN0ZWRDb250cm9sICYmIHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkpXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgdGhpcy5mb2N1c1VubGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmh0bWxFbGVtZW50LCBcImZvY3VzaW5cIiwgdGhpcy5ldmVudEhhbmRsZXJzW1wiZm9jdXNpblwiXSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGhhbmRsZSB0aGUgaW50ZXJhY3RpdmUgY29tbWFuZHMgbGlrZSBDYWxsSlNcclxuICAgKi9cclxuICBoYW5kbGVJbnRlcmFjdGl2ZUNvbW1hbmRzKGNvbW1hbmQ6IEd1aUludGVyYWN0aXZlKSB7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQuX2NvbW1hbmRUeXBlKSB7XHJcbiAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DQUxMX0pTOlxyXG4gICAgICAgIGxldCBtZXRob2ROYW1lOiBzdHJpbmcgPSBjb21tYW5kLl9zdHI7XHJcbiAgICAgICAgbGV0IGFyZ3M6IEFycmF5PGFueT4gPSBjb21tYW5kLmFyZ3VtZW50cztcclxuICAgICAgICBsZXQgbWFnaWNDb21wb25lbnQ6IFRhc2tCYXNlTWFnaWNDb21wb25lbnQgPSAoKDxhbnk+dGhpcy52Y1JlZikuX2hvc3RMVmlldykuZmluZCh2ID0+IHYgaW5zdGFuY2VvZiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50KTtcclxuICAgICAgICBsZXQgcmVzdWx0U3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQobWFnaWNDb21wb25lbnRbbWV0aG9kTmFtZV0pKSB7XHJcbiAgICAgICAgICAgIC8vIGludm9rZSB0aGUgbWV0aG9kIG9uIGluc3RhbmNlIG9mIG1hZ2ljIGNvbXBvbmVuZXRcclxuICAgICAgICAgICAgcmVzdWx0U3RyaW5nID0gbWFnaWNDb21wb25lbnRbbWV0aG9kTmFtZV0uYXBwbHkobWFnaWNDb21wb25lbnQsIGFyZ3MpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiSW5zdGFuY2UgbWV0aG9kIFwiICsgbWV0aG9kTmFtZSArIFwiIGRvZXMgbm90IGV4aXN0c1wiKTsgLy8gd2hlbiBtZXRob2QgaXMgbm90IGZvdW5kXHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgLy8gYW55IG90aGVyIGV4Y2VwdGlvblxyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb21tYW5kLnJlc3VsdFN0cmluZyA9IHJlc3VsdFN0cmluZzsgLy8gdXBkYXRlIHRoZSByZXR1cm4gdmFsdWVcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgdGhlIE1hZ2ljIHNldC1wcm9wZXJ0eSBjb21tYW5kXHJcbiAgICogQHBhcmFtIGNvbW1hbmRcclxuICAgKi9cclxuICBoYW5kbGVTZXRQcm9wZXJ0eShjb21tYW5kOiBHdWlDb21tYW5kKSB7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQuT3BlcmF0aW9uKSB7XHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuUmVhZE9ubHk6IHtcclxuICAgICAgICBpZihjb21tYW5kLm9iai5UeXBlID09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1RFWFQpXHJcbiAgICAgICAgaWYgKGNvbW1hbmQub2JqMSAhPSB0cnVlKVxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5odG1sRWxlbWVudCwgY29tbWFuZC5PcGVyYXRpb24pO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaHRtbEVsZW1lbnQsIGNvbW1hbmQuT3BlcmF0aW9uLCBjb21tYW5kLnN0cik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhbnVwXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVSZWZyZXNoRG9tLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFDTCxXQUFXLEVBRVgsWUFBWSxFQUVaLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRTlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFVckYsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFBb0IsS0FBSyxDQUFDLEdBQUc7UUFDM0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBQUEsQ0FBQztJQUtGLElBQXlCLFVBQVUs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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbW1hbmRUeXBlLFxyXG4gIEd1aUNvbW1hbmQsXHJcbiAgR3VpQ29uc3RhbnRzLFxyXG4gIEd1aUludGVyYWN0aXZlLFxyXG4gIEh0bWxQcm9wZXJ0aWVzLFxyXG4gIEludGVyYWN0aXZlQ29tbWFuZFR5cGUsXHJcbiAgTW9kaWZpZXJzXHJcbn0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7IGdldEd1aUV2ZW50T2JqLCBJR3VpRXZlbnQgfSBmcm9tIFwiQG1hZ2ljLXhwYS9lbmdpbmVcIjtcclxuXHJcbmltcG9ydCB7IFRhc2tCYXNlTWFnaWNDb21wb25lbnQgfSBmcm9tIFwiLi4vdGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBUYXNrTWFnaWNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBSb3dNYWdpY0RpcmVjdGl2ZSB9IGZyb20gXCIuL21hZ2ljL3Jvdy5tYWdpYy5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBCaW5kaW5nTGV2ZWwsIE1nQ29udHJvbFR5cGUsIFN0b3JhZ2VBdHRyaWJ1dGVUeXBlIH0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuXHJcblxyXG4vKipcclxuICogQ29ubmVjdHMgSFRNTCBlbGVtZW50cyB0byB0aGUgTWFnaWMgV2ViIENsaWVudCBlbmdpbmVcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiBcIlttYWdpY11cIlxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE1hZ2ljRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dChcIm1hZ2ljXCIpIHNldCBtYWdpYyh2YWwpIHtcclxuICAgIHRoaXMuaWQgPSB2YWw7XHJcbiAgICB0aGlzLnNlbGVjdG9yID0gXCJtYWdpY1wiO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgZmxhZyBpcyB1c2VkIHdoZW4gd2Ugb25seSB3YW50IHRvIHJlZ2lzdGVyIHRvIGV2ZW50cywgYnV0IGRvIG5vdCB3YW50IHRvIGV4ZWN1dGUgY29tbWFuZHMgc2VudCBmcm9tIHNlcnZlclxyXG4gICAqL1xyXG4gIEBJbnB1dChcImV2ZW50c09ubHlcIikgc2V0IGV2ZW50c09ubHkodmFsKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImV2ZW50c09ubHlcIik7XHJcbiAgICB0aGlzLmV2ZW50c09ubHlWYWwgPSB0cnVlO1xyXG5cclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSb3cgaWQgb2YgdGhlIGNvbnRyb2wsIGZvciB3aGVuIGl0IGlzIG9uIGEgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcm93SWQ6IHN0cmluZztcclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIC8vQElucHV0KCkgZXZlbnRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgSFRNTCBlbGVtZW50IGNvbm5lY3RlZCB0byB0aGlzIGRpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogTWFnaWMncyBjb21wb25lbnQgaGFuZGxpbmcgdGhpcyBjb250cm9sXHJcbiAgICovXHJcbiAgcHVibGljIGNvbXBvbmVudDogVGFza0Jhc2VNYWdpY0NvbXBvbmVudDtcclxuICAvKipcclxuICAgKiBDb2xsZWN0aW9uIG9mIGV2ZW50IGhhbmRsZXJzIGZvciB0aGlzIGVsZW1lbnRcclxuICAgKi9cclxuICBwcml2YXRlIGV2ZW50SGFuZGxlcnM6IHsgW2tleTogc3RyaW5nXTogKCkgPT4gdm9pZDsgfSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIElkIG9mIHRoaXMgZWxlbWVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2VsZWN0b3I6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgc3Vic2NyaWJlUmVmcmVzaERvbTogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIGZvY3VzVW5saXN0ZW5lcjogKCgpID0+IHZvaWQpO1xyXG5cclxuICBwdWJsaWMgZXZlbnRzT25seVZhbCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIG9wZW5lZCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIG5vT2ZBdXRvQ29tcGxldGVCb3hlc09wZW5lZCA9MDtcclxuXHJcbiAgc3Vic2NyaWJlSW50ZXJhY3RpdmVDb21tYW5kczogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBfdGFzayBUaGUgdGFzayBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgZm9yIHdoaWNoIHRoZSBkaXJlY3RpdmUgaXMgYXBwbGllZFxyXG4gICAqIEBwYXJhbSByZW5kZXJlciBSZW5kZXJlciBmb3IgdGhlIGVsZW1lbnRcclxuICAgKiBAcGFyYW0gdmNSZWZcclxuICAgKiBAcGFyYW0gbWFnaWNSb3dcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBfdGFzazogVGFza01hZ2ljU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcm90ZWN0ZWQgdmNSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbWFnaWNSb3c6IFJvd01hZ2ljRGlyZWN0aXZlKSB7XHJcblxyXG4gICAgdGhpcy5odG1sRWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgLy9sZXQgYyA9ICg8YW55PnRoaXMudmNSZWYpLl92aWV3O1xyXG4gICAgLy93aGlsZSAoIShjIGluc3RhbmNlb2YgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCkpIHtcclxuICAgIC8vICBjID0gYy5jb21wb25lbnQ7XHJcbiAgICAvL31cclxuICAgIC8vdGhpcy5jb21wb25lbnQgPSBjO1xyXG4gICAgaWYgKCEodHlwZW9mIG1hZ2ljUm93ID09PSBcInVuZGVmaW5lZFwiIHx8IG1hZ2ljUm93ID09PSBudWxsKSlcclxuICAgICAgdGhpcy5yb3dJZCA9IG1hZ2ljUm93LnJvd0lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSB0YXNrIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCB0YXNrKCk6IFRhc2tNYWdpY1NlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rhc2s7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RlciB0byB0aGUgZXZlbnRzIHRoaXMgZWxlbWVudCBtYXkgbmVlZCB0byBoYW5kbGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVnRXZlbnRzKCkge1xyXG4gICAgLy8gSGFuZGxlIGV2ZW50cyBmb3Igd2hpY2ggZXZlbnQgaGFuZGxlciBtYXkgYmUgcmVtb3ZlZCBhbmQgcmVzdG9yZWRcclxuICAgIHRoaXMuZXZlbnRIYW5kbGVyc1tcImZvY3VzaW5cIl0gPSB0aGlzLk9uRm9jdXMuYmluZCh0aGlzKTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLmV2ZW50SGFuZGxlcnMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzVW5saXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaHRtbEVsZW1lbnQsIGtleSwgdGhpcy5ldmVudEhhbmRsZXJzW2tleV0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gSGFuZGxlIGV2ZW50cyB3aXRoIGFub255bW91cyAgZXZlbnQgaGFuZGxlcnNcclxuICAgIGxldCBldmVudHM6IHN0cmluZ1tdID0gW1wiY2xpY2tcIiwgXCJtb3VzZWRvd25cIiwgXCJkYmxjbGlja1wiXTsvLyAsJ3Jlc2l6ZScsICdsb2FkJywgJ3VubG9hZCdcclxuICAgIGV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwgZXZlbnQsIChlKSA9PiB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAvLyBjaGVjayBpZiB0aGUgZXZlbnQgaXMgZmlyZWQgZnJvbSB6b29tIGJ1dHRvbiAoIHRvIGlkZW50aWZ5IHRoZSBjb25uZWN0ZWQgem9vbSBidXR0b24gaW4gZW5naW5lKVxyXG4gICAgICAgIGxldCBmcm9tQnV0dG9uID0gZmFsc2U7IFxyXG4gICAgICAgIGlmKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudClcclxuICAgICAgICAgIGZyb21CdXR0b24gPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ2V0R3VpRXZlbnRPYmooZXZlbnQsIHRoaXMuaWQsICt0aGlzLnJvd0lkLCBmcm9tQnV0dG9uKSk7XHJcbiAgICAgICAgaWYgKE1hZ2ljRGlyZWN0aXZlLm5vT2ZBdXRvQ29tcGxldGVCb3hlc09wZW5lZDwgMSlcclxuICAgICAgICAgIGUuY2FuY2VsQnViYmxlID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwgXCJjaGFuZ2VcIiwgKGUpID0+IHtcclxuICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcInNlbGVjdGlvbmNoYW5nZWRcIiwgdGhpcy5pZCwgK3RoaXMucm93SWQpO1xyXG5cclxuICAgICAgaWYgKCg8YW55PihldmVudC50YXJnZXQpKS5zZWxlY3RlZEluZGV4ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBndWlFdmVudC5WYWx1ZSA9ICg8YW55PihldmVudC50YXJnZXQpKS5zZWxlY3RlZEluZGV4LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgZS5jYW5jZWxCdWJibGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgIH1cclxuIFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gaGFuZGxlIHRoZSBpbnB1dCBldmVudFxyXG4gICAgZnJvbUV2ZW50KHRoaXMuaHRtbEVsZW1lbnQsIFwiaW5wdXRcIikucGlwZShcclxuICAgICAgbWFwKChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgICAgfSksXHJcbiAgICAgIGRlYm91bmNlVGltZSgyMDApIC8vIHRpbWUgYWZ0ZXIgd2hpY2ggdmFsdWUgd2lsbCBiZSBzZW50IHRvIG1hZ2ljXHJcbiAgICApLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRhc2suZ2V0UHJvcGVydHkodGhpcy5pZCwgSHRtbFByb3BlcnRpZXMuQmluZGluZ0xldmVsLCB0aGlzLnJvd0lkKSA9PT0gQmluZGluZ0xldmVsLkNoYXJhY3Rlcikge1xyXG4gICAgICAgICAgLy8gRG9uJ3Qgc3VwcG9ydCBjaGFyYWN0ZXIgYmluZGluZyBmb3IgZGF0ZS90aW1lIHZhbHVlc1xyXG4gICAgICAgICBsZXQgYXR0cmlidXRlIDogU3RvcmFnZUF0dHJpYnV0ZVR5cGUgPSAgdGhpcy50YXNrLlJlY29yZHMubGlzdFswXS5nZXRDb250cm9sTWV0YWRhdGEodGhpcy5pZCkuZGF0YVR5cGU7XHJcbiAgICAgICAgIGlmKGF0dHJpYnV0ZSAhPT0gU3RvcmFnZUF0dHJpYnV0ZVR5cGUuRGF0ZSAmJiBhdHRyaWJ1dGUgIT0gU3RvcmFnZUF0dHJpYnV0ZVR5cGUuVGltZSlcclxuICAgICAgICAgICAgdGhpcy50YXNrLm1nQWNjZXNzb3JTZXJ2aWNlLnNldFZhbHVlVG9Db250cm9sKHRoaXMuaWQsIHgsIHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaHRtbEVsZW1lbnQsIFwia2V5ZG93blwiLCAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJrZXlkb3duXCIsIHRoaXMuaWQsICt0aGlzLnJvd0lkKTtcclxuICAgICAgICBndWlFdmVudC5tb2RpZmllcnMgPSBNb2RpZmllcnMuTU9ESUZJRVJfTk9ORTtcclxuXHJcbiAgICAgICAgaWYgKGUuYWx0S2V5ICYmIGUua2V5Q29kZSAhPT0gR3VpQ29uc3RhbnRzLktFWV9BTFQpXHJcbiAgICAgICAgICAgIGd1aUV2ZW50Lm1vZGlmaWVycyA9IE1vZGlmaWVycy5NT0RJRklFUl9BTFQ7XHJcblxyXG4gICAgICAgIGVsc2UgaWYgKGUuY3RybEtleSAmJiBlLmtleUNvZGUgIT09IEd1aUNvbnN0YW50cy5LRVlfQ1RSTClcclxuICAgICAgICAgICAgZ3VpRXZlbnQubW9kaWZpZXJzID0gTW9kaWZpZXJzLk1PRElGSUVSX0NUUkw7XHJcblxyXG4gICAgICAgIGxldCBzdXBwb3J0ZWRLZXkgPSBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfUEdfVVAgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX1BHX0RPV04gfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX0xFRlQgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX1JJR0hUIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9VUCB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfRE9XTiB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfRVNDIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9IT01FIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9FTkQgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX1JFVFVSTiB8fFxyXG4gICAgICAgICAgICAoZS5rZXlDb2RlID49IEd1aUNvbnN0YW50cy5LRVlfRjEgJiYgZS5rZXlDb2RlIDw9IEd1aUNvbnN0YW50cy5LRVlfRjEyKTtcclxuXHJcbiAgICAgICAgaWYgKGd1aUV2ZW50Lm1vZGlmaWVycyAhPT0gTW9kaWZpZXJzLk1PRElGSUVSX05PTkUgfHwgc3VwcG9ydGVkS2V5KSB7XHJcbiAgICAgICAgICAgIGd1aUV2ZW50LmtleUNvZGUgPSBlLmtleUNvZGU7XHJcblxyXG4gICAgICAgICAgICAvLyBEZWZlY3QgMTYwMDIxIGZpeGVkIC0gZG9uJ3Qgc2V0IGUuY2FuY2VsQnViYmxlIHdoZW4gY29tYm9ib3ggaXMgb3BlbmVkIGFuZCBlc2Mga2V5IGlzIHByZXNzZWRcclxuICAgICAgICAgICAgaWYgKGUua2V5Q29kZSAhPT0gR3VpQ29uc3RhbnRzLktFWV9FU0MgfHwgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX0VTQyAmJiAoIU1hZ2ljRGlyZWN0aXZlLm9wZW5lZCAmJiBNYWdpY0RpcmVjdGl2ZS5ub09mQXV0b0NvbXBsZXRlQm94ZXNPcGVuZWQgPCAxKSlcclxuICAgICAgICAgICAgICAgIGUuY2FuY2VsQnViYmxlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGZvY3VzIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBPbkZvY3VzKCkge1xyXG4gICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGdldEd1aUV2ZW50T2JqKFwiZm9jdXNcIiwgdGhpcy5pZCwgK3RoaXMucm93SWQpKTtcclxuICAgIGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyB0aGUgY29tbWFuZCdzIGVsZW1lbnQgdGhlIHNhbWUgYXMgdGhpcyBkaXJlY3RpdmUncyBlbGVtZW50XHJcbiAgICogQHBhcmFtIGNvbW1hbmRcclxuICAgKiBAcmV0dXJucyB0cnVlL2ZhbHNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBJc1NhbWVFbGVtZW50KGNvbW1hbmQpIHtcclxuICAgIGxldCBsaW5lOiBudW1iZXIgPSBjb21tYW5kLmxpbmU7XHJcblxyXG4gICAgaWYgKHRoaXMudGFzay5pc1RhYmxlQ29udHJvbChjb21tYW5kLkN0cmxOYW1lKSlcclxuICAgICAgbGluZSA9IHRoaXMudGFzay5nZXRHdWlSb3dJZChsaW5lLCB0cnVlKTtcclxuXHJcbiAgICByZXR1cm4gKGNvbW1hbmQuQ3RybE5hbWUgPT09IHRoaXMuaWQgJiZcclxuICAgICAgKGxpbmUgPT09ICt0aGlzLnJvd0lkIHx8XHJcbiAgICAgICAgKGxpbmUgPT09IDAgJiYgaXNOdWxsT3JVbmRlZmluZWQodGhpcy5yb3dJZCkpKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyB0aGUgY29tbWFuZCdzIGVsZW1lbnQgdGhlIHNhbWUgYXMgdGhpcyBkaXJlY3RpdmUncyBjb21wb25lbnRcclxuICAgKiBAcGFyYW0gY29tbWFuZFxyXG4gICAqIEByZXR1cm5zIHRydWUvZmFsc2VcclxuICAgKi9cclxuICBwcml2YXRlIElzU2FtZUNvbXBvbmVudChjb21tYW5kOiBHdWlJbnRlcmFjdGl2ZSkge1xyXG4gICAgcmV0dXJuIChjb21tYW5kLmNvbnRyb2xOYW1lID09PSB0aGlzLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBwcml2YXRlIHJlZ1VwZGF0ZXNVSSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlUmVmcmVzaERvbSA9IHRoaXMudGFza1xyXG4gICAgICAucmVmcmVzaERvbS5waXBlKGZpbHRlcihjID0+IHRoaXMuSXNTYW1lRWxlbWVudChjKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoYSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29tbWFuZDogR3VpQ29tbWFuZCA9IGE7XHJcbiAgICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5yb3dJZCkpXHJcbiAgICAgICAgICAgIHRoaXMucm93SWQgPSBcIjBcIjtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ldmVudHNPbmx5VmFsKVxyXG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29tbWFuZChjb21tYW5kKTtcclxuICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGlyKGV4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVJbnRlcmFjdGl2ZUNvbW1hbmRzID0gdGhpcy50YXNrLmludGVyYWN0aXZlQ29tbWFuZHNcclxuICAgICAgLnBpcGUoZmlsdGVyKGMgPT4gdGhpcy5Jc1NhbWVDb21wb25lbnQoYykpKVxyXG4gICAgICAuc3Vic2NyaWJlKGNvbW1hbmQgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlSW50ZXJhY3RpdmVDb21tYW5kcyhjb21tYW5kKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplcyB0aGlzIG9iamVjdFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWdFdmVudHMoKTtcclxuICAgIHRoaXMucmVnVXBkYXRlc1VJKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBjb21tYW5kcyByZWNlaXZlZCBmcm9tIHRoZSBNYWdpYyBXZWJDbGllbnQgZW5naW5lXHJcbiAgICogQHBhcmFtIGNvbW1hbmRcclxuICAgKi9cclxuICBoYW5kbGVDb21tYW5kKGNvbW1hbmQ6IEd1aUNvbW1hbmQpIHtcclxuICAgIHN3aXRjaCAoY29tbWFuZC5Db21tYW5kVHlwZSkge1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TRVRfUFJPUEVSVFk6XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTZXRQcm9wZXJ0eShjb21tYW5kKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX0ZPQ1VTOlxyXG4gICAgICAgICAgICB0aGlzLmZvY3VzVW5saXN0ZW5lcigpO1xyXG4gICAgICAgLy8gRG8gbm90IHNldCBmb2N1cyBvbiBjb25uZWN0ZWQgem9vbSAgYnV0dG9uXHJcbiAgICAgICAgaWYgKCEoY29tbWFuZC5vYmouQ29ubmVjdGVkQ29udHJvbCAmJiB0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpKVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgIHRoaXMuZm9jdXNVbmxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwgXCJmb2N1c2luXCIsIHRoaXMuZXZlbnRIYW5kbGVyc1tcImZvY3VzaW5cIl0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBoYW5kbGUgdGhlIGludGVyYWN0aXZlIGNvbW1hbmRzIGxpa2UgQ2FsbEpTXHJcbiAgICovXHJcbiAgaGFuZGxlSW50ZXJhY3RpdmVDb21tYW5kcyhjb21tYW5kOiBHdWlJbnRlcmFjdGl2ZSkge1xyXG4gICAgc3dpdGNoIChjb21tYW5kLl9jb21tYW5kVHlwZSkge1xyXG4gICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuQ0FMTF9KUzpcclxuICAgICAgICBsZXQgbWV0aG9kTmFtZTogc3RyaW5nID0gY29tbWFuZC5fc3RyO1xyXG4gICAgICAgIGxldCBhcmdzOiBBcnJheTxhbnk+ID0gY29tbWFuZC5hcmd1bWVudHM7XHJcbiAgICAgICAgbGV0IG1hZ2ljQ29tcG9uZW50OiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50ID0gKCg8YW55PnRoaXMudmNSZWYpLl9ob3N0TFZpZXcpLmZpbmQodiA9PiB2IGluc3RhbmNlb2YgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCk7XHJcbiAgICAgICAgbGV0IHJlc3VsdFN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKG1hZ2ljQ29tcG9uZW50W21ldGhvZE5hbWVdKSkge1xyXG4gICAgICAgICAgICAvLyBpbnZva2UgdGhlIG1ldGhvZCBvbiBpbnN0YW5jZSBvZiBtYWdpYyBjb21wb25lbmV0XHJcbiAgICAgICAgICAgIHJlc3VsdFN0cmluZyA9IG1hZ2ljQ29tcG9uZW50W21ldGhvZE5hbWVdLmFwcGx5KG1hZ2ljQ29tcG9uZW50LCBhcmdzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkluc3RhbmNlIG1ldGhvZCBcIiArIG1ldGhvZE5hbWUgKyBcIiBkb2VzIG5vdCBleGlzdHNcIik7IC8vIHdoZW4gbWV0aG9kIGlzIG5vdCBmb3VuZFxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgIC8vIGFueSBvdGhlciBleGNlcHRpb25cclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29tbWFuZC5yZXN1bHRTdHJpbmcgPSByZXN1bHRTdHJpbmc7IC8vIHVwZGF0ZSB0aGUgcmV0dXJuIHZhbHVlXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIHRoZSBNYWdpYyBzZXQtcHJvcGVydHkgY29tbWFuZFxyXG4gICAqIEBwYXJhbSBjb21tYW5kXHJcbiAgICovXHJcbiAgaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZDogR3VpQ29tbWFuZCkge1xyXG4gICAgc3dpdGNoIChjb21tYW5kLk9wZXJhdGlvbikge1xyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlJlYWRPbmx5OiB7XHJcbiAgICAgICAgaWYoY29tbWFuZC5vYmouVHlwZSA9PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9URVhUKVxyXG4gICAgICAgIGlmIChjb21tYW5kLm9iajEgIT0gdHJ1ZSlcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuaHRtbEVsZW1lbnQsIGNvbW1hbmQuT3BlcmF0aW9uKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmh0bWxFbGVtZW50LCBjb21tYW5kLk9wZXJhdGlvbiwgY29tbWFuZC5zdHIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYW51cFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaWJlUmVmcmVzaERvbS51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -19,4 +19,4 @@ BaseMagicOverlayContainer = __decorate([
19
19
  Output()
20
20
  ], BaseMagicOverlayContainer);
21
21
  export { BaseMagicOverlayContainer };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tYWdpYy1vdmVybGF5LWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL21hZ2ljLW1vZGFsL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlDLElBQXNCLHlCQUF5QixHQUEvQyxNQUFzQix5QkFBeUI7Q0FlOUMsQ0FBQTtBQVhVO0lBQVIsS0FBSyxFQUFFOzs0REFBb0I7QUFLbkI7SUFBUixLQUFLLEVBQUU7O3NFQUFtQztBQUtqQztJQUFULE1BQU0sRUFBRTs7MERBQWtCO0FBZFAseUJBQXlCO0lBRjlDLEtBQUssRUFBRTtJQUNQLE1BQU0sRUFBRTtHQUNhLHlCQUF5QixDQWU5QztTQWZxQix5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuQElucHV0KClcclxuQE91dHB1dCgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTWFnaWNPdmVybGF5Q29udGFpbmVyIHtcclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFic3RyYWN0IE1vZGFsQ29tcDtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBASW5wdXQoKSBhYnN0cmFjdCBNb2RhbENvbXBQYXJhbWV0ZXJzOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFic3RyYWN0IG9uQ2xvc2U7XHJcbn1cclxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tYWdpYy1vdmVybGF5LWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL21hZ2ljLW1vZGFsL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZDLElBQWUseUJBQXlCLEdBQXhDLE1BQWUseUJBQXlCO0NBZTlDLENBQUE7QUFYQztJQUFDLEtBQUssRUFBRTs7NERBQW9CO0FBSzVCO0lBQUMsS0FBSyxFQUFFOztzRUFBbUM7QUFLM0M7SUFBQyxNQUFNLEVBQUU7OzBEQUFrQjtBQWRQLHlCQUF5QjtJQUY5QyxLQUFLLEVBQUU7SUFDUCxNQUFNLEVBQUU7R0FDYSx5QkFBeUIsQ0FlOUM7U0FmcUIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbkBJbnB1dCgpXHJcbkBPdXRwdXQoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1hZ2ljT3ZlcmxheUNvbnRhaW5lciB7XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBASW5wdXQoKSBhYnN0cmFjdCBNb2RhbENvbXA7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWJzdHJhY3QgTW9kYWxDb21wUGFyYW1ldGVyczogYW55O1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhYnN0cmFjdCBvbkNsb3NlO1xyXG59XHJcbiJdfQ==
@@ -93,12 +93,10 @@ MagicOverlayContainerWrapper.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlay
93
93
  i0.ɵɵelementEnd();
94
94
  i0.ɵɵelement(6, "div", 5);
95
95
  i0.ɵɵelementEnd();
96
- } }, directives: [i3.MagicFocusDirective, i4.MagicViewContainerRef], styles: [".overlay-container-wrapper-background[_ngcontent-%COMP%]{position:fixed;z-index:999;inset:0}"] });
96
+ } }, dependencies: [i3.MagicFocusDirective, i4.MagicViewContainerRef], styles: [".overlay-container-wrapper-background[_ngcontent-%COMP%]{position:fixed;z-index:999;inset:0}"] });
97
97
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainerWrapper, [{
98
98
  type: Component,
99
- args: [{
100
- selector: 'app-magic-overlay-container-wrapper',
101
- template: `
99
+ args: [{ selector: 'app-magic-overlay-container-wrapper', template: `
102
100
  <div>
103
101
  <div class="overlay-container-wrapper-background" tabIndex="0" style="width: 0px; height: 0px;" magicFocus></div>
104
102
  <div class="overlay-container-wrapper-background" #overlayContainerWrapper>
@@ -107,19 +105,7 @@ MagicOverlayContainerWrapper.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlay
107
105
  </div>
108
106
  <div class="overlay-container-wrapper-background" tabIndex="0" style="width: 0px; height: 0px;" ></div>
109
107
  </div>
110
- `,
111
- styles: [`
112
- .overlay-container-wrapper-background {
113
- /* modal background fixed across whole screen */
114
- position: fixed;
115
- top: 0;
116
- z-index: 999;
117
- right: 0;
118
- bottom: 0;
119
- left: 0;
120
- }
121
- `]
122
- }]
108
+ `, styles: [".overlay-container-wrapper-background{position:fixed;z-index:999;inset:0}\n"] }]
123
109
  }], function () { return [{ type: i1.ComponentListMagicService }, { type: i2.MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }, { type: i0.Compiler }]; }, { Component: [{
124
110
  type: Input
125
111
  }], Parameters: [{
@@ -132,4 +118,4 @@ MagicOverlayContainerWrapper.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlay
132
118
  type: ViewChild,
133
119
  args: ['overlayContainerWrapper', { static: true }]
134
120
  }] }); })();
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtb3ZlcmxheS1jb250YWluZXItd3JhcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL21hZ2ljLW1vZGFsL21hZ2ljLW92ZXJsYXktY29udGFpbmVyLXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBRVQsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixRQUFRLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUN0QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFjLE1BQU0sNkNBQTZDLENBQUM7QUFFcEcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUEyQmxGLE1BQU0sT0FBTyw0QkFBNEI7SUFrQ3ZDLFlBQW9CLHlCQUFvRCxFQUNwRCxxQkFBNkMsRUFDN0MsUUFBa0IsRUFDNUIsd0JBQWtELEVBQ3hDLGlCQUFtQyxFQUNuQyxRQUFrQjtRQUxsQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDN0MsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM1Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ3hDLHNCQUFpQixH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TUFBTTtZQU9pRCxpQ0FBaUM7a0JBQXhGLFNBQVM7bUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRWxlbWVudFJlZiwgTmdNb2R1bGVSZWYsXHJcbiAgSW5qZWN0b3IsIENoYW5nZURldGVjdG9yUmVmLCBDb21waWxlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlTWFnaWNPdmVybGF5Q29udGFpbmVyIH0gZnJvbSBcIi4vYmFzZS1tYWdpYy1vdmVybGF5LWNvbnRhaW5lclwiO1xyXG5pbXBvcnQgeyBCYXNlTWFnaWNDb25maXJtQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvYmFzZS1tYWdpYy1jb25maXJtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCYXNlTWFnaWNBbGVydENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2Jhc2UtbWFnaWMtYWxlcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE92ZXJsYXlUeXBlIH0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsIE1vZHVsZURhdGEgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJTWFnaWNWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIi4uLy4uLy4uXCI7XHJcbmltcG9ydCB7aXNOdWxsT3JVbmRlZmluZWR9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHsgTWFnaWNMYXp5TG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21hZ2ljLmxhenkubG9hZGVyLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW1hZ2ljLW92ZXJsYXktY29udGFpbmVyLXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1jb250YWluZXItd3JhcHBlci1iYWNrZ3JvdW5kXCIgdGFiSW5kZXg9XCIwXCIgc3R5bGU9XCJ3aWR0aDogMHB4OyBoZWlnaHQ6IDBweDtcIiBtYWdpY0ZvY3VzPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1jb250YWluZXItd3JhcHBlci1iYWNrZ3JvdW5kXCIgI292ZXJsYXlDb250YWluZXJXcmFwcGVyPlxyXG4gICAgICAgIDxkaXYgI292ZXJsYXlDb250ZW50IG1hZ2ljVmlld0NvbnRhaW5lclJlZj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5LWNvbnRhaW5lci13cmFwcGVyLWJhY2tncm91bmRcIiB0YWJJbmRleD1cIjBcIiBzdHlsZT1cIndpZHRoOiAwcHg7IGhlaWdodDogMHB4O1wiID48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gICAgLm92ZXJsYXktY29udGFpbmVyLXdyYXBwZXItYmFja2dyb3VuZCB7XHJcbiAgICAgIC8qIG1vZGFsIGJhY2tncm91bmQgZml4ZWQgYWNyb3NzIHdob2xlIHNjcmVlbiAqL1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWdpY092ZXJsYXlDb250YWluZXJXcmFwcGVyICBpbXBsZW1lbnRzIElNYWdpY1ZpZXdDb250YWluZXJSZWYge1xyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIENvbXBvbmVudCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgUGFyYW1ldGVyczogYW55ID0ge307XHJcblxyXG4gIEBJbnB1dCgpIHByaXZhdGUgT3ZlcmxheVR5cGVQYXJhbTogT3ZlcmxheVR5cGU7XHJcblxyXG4gIEBPdXRwdXQoKSBwcml2YXRlIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhUTUwgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBtb2RhbCB3aW5kb3dcclxuICAgKi9cclxuICBvdmVybGF5Q29udGVudFZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlDb250YWluZXJXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgb3ZlcmxheUNvbnRhaW5lcldyYXBwZXJFbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICogY29udGFpcyBkYXRhIG9mIGFsbG93ZWQgYmFzZSBjb21wb25lbnRzIHRvIHVzZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBhbGxvd2VkQmFzZUNvbXBzID0gbmV3IE1hcDxudW1iZXIsIHtjb21wOiBhbnksIGVycm9yOiBzdHJpbmd9PihbXHJcbiAgICBbT3ZlcmxheVR5cGUuT3ZlcmxheSwge2NvbXA6IEJhc2VNYWdpY092ZXJsYXlDb250YWluZXIsIGVycm9yOidCYXNlTWFnaWNPdmVybGF5Q29udGFpbmVyIC4gT3ZlcmxheSAnfV0sXHJcbiAgICBbT3ZlcmxheVR5cGUuQWxlcnQsIHtjb21wOiBCYXNlTWFnaWNBbGVydENvbXBvbmVudCwgZXJyb3I6J0Jhc2VNYWdpY0FsZXJ0Q29tcG9uZW50LiBBbGVydCAnfV0sXHJcbiAgICBbT3ZlcmxheVR5cGUuQ29uZmlybWF0aW9uQm94LCAge2NvbXA6IEJhc2VNYWdpY0NvbmZpcm1Db21wb25lbnQsIGVycm9yIDonQmFzZU1hZ2ljQ29uZmlybUNvbXBvbmVudC4gQ29uZmlybWF0aW9uICd9XVxyXG4gIF0pO1xyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcG9uZW50TGlzdE1hZ2ljU2VydmljZTogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIG1hZ2ljTGF6eU1vZHVsZUxvYWRlcjogTWFnaWNMYXp5TG9hZGVyU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjpDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlcikge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4gPSB0aGlzLmNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UuZ2V0TW9kdWxlUmVmKHRoaXMuUGFyYW1ldGVycy5NYWdpY0Zvcm1OYW1lKTtcclxuXHJcbiAgICBpZiAobW9kdWxlUmVmID09IG51bGwpIHtcclxuICAgICAgbGV0IGxhenlMb2FkTW9kdWxlOiBNb2R1bGVEYXRhID0gdGhpcy5jb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLmdldExhenlMb2FkTW9kdWxlRGF0YSh0aGlzLlBhcmFtZXRlcnMuTWFnaWNGb3JtTmFtZSk7XHJcblxyXG4gICAgICBpZiAobGF6eUxvYWRNb2R1bGUgIT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBtb2R1bGVOYW1lID0gbGF6eUxvYWRNb2R1bGUubW9kdWxlTmFtZS5yZXBsYWNlKFwiTWFnaWNcIiwgXCJcIik7XHJcbiAgICAgICAgbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWUucmVwbGFjZShcIk1vZHVsZVwiLCBcIlwiKTtcclxuICAgICAgICB0aGlzLm1hZ2ljTGF6eU1vZHVsZUxvYWRlci5Mb2FkKG1vZHVsZU5hbWUpLnRoZW4obSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb21waWxlZCA9IHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jKDxhbnk+bVtsYXp5TG9hZE1vZHVsZS5tb2R1bGVOYW1lXSk7XHJcbiAgICAgICAgICBtb2R1bGVSZWYgPSBjb21waWxlZC5uZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KG1vZHVsZVJlZik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KG51bGwpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2VcclxuICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KG1vZHVsZVJlZik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDb21wb25lbnQobW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+KSB7XHJcbiAgICB0aGlzLlBhcmFtZXRlcnMuTW9kYWxDb21wID0gdGhpcy5jb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLmdldENvbXBvbmVudCh0aGlzLlBhcmFtZXRlcnMuTWFnaWNGb3JtTmFtZSwgIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuUGFyYW1ldGVycy5NYWdpY0Zvcm1OYW1lKSk7XHJcblxyXG4gICAgbGV0IGZhY3Rvcnk7XHJcbiAgICBpZiAobW9kdWxlUmVmICE9IG51bGwpXHJcbiAgICAgIGZhY3RvcnkgPSBtb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuQ29tcG9uZW50KTtcclxuICAgIGVsc2VcclxuICAgICAgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuQ29tcG9uZW50KTtcclxuXHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5vdmVybGF5Q29udGVudFZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgbGV0IGFsbG93ZWRCYXNlQ29tcCA9IE1hZ2ljT3ZlcmxheUNvbnRhaW5lcldyYXBwZXIuYWxsb3dlZEJhc2VDb21wcy5nZXQodGhpcy5PdmVybGF5VHlwZVBhcmFtKTtcclxuXHJcblxyXG4gICAgaWYgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBpbnN0YW5jZW9mIGFsbG93ZWRCYXNlQ29tcC5jb21wKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLlBhcmFtZXRlcnMpO1xyXG4gICAgICAoPGFueT5jb21wb25lbnRSZWYuaW5zdGFuY2UpLm9uQ2xvc2Uuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdChyZXMpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBtc2cgPSBcIlByb3ZpZGVkICB3aW5kb3cgY29udGFpbmVyIHNob3VsZCBzdWJjbGFzcyBvZiA6IFwiICsgYWxsb3dlZEJhc2VDb21wLmVycm9yICsgXCJ3aW5kb3cgd2lsbCBub3Qgd29yayBwcm9wZXJseS5cIjtcclxuICAgICAgYWxlcnQobXNnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFZpZXdDb250YWluZXJSZWYodmNSZWY6IFZpZXdDb250YWluZXJSZWYpe1xyXG4gICAgdGhpcy5vdmVybGF5Q29udGVudFZpZXdDb250YWluZXJSZWYgPSB2Y1JlZjtcclxuICB9XHJcblxyXG4gIEdldFJvb3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlDb250YWluZXJXcmFwcGVyRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgRGV0ZWN0Q2hhbmdlcygpXHJcbiAge1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtb3ZlcmxheS1jb250YWluZXItd3JhcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL21hZ2ljLW1vZGFsL21hZ2ljLW92ZXJsYXktY29udGFpbmVyLXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBRVQsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixRQUFRLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUN0QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFjLE1BQU0sNkNBQTZDLENBQUM7QUFFcEcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUEyQmxGLE1BQU0sT0FBTyw0QkFBNEI7SUFrQ3ZDLFlBQW9CLHlCQUFvRCxFQUNwRCxxQkFBNkMsRUFDN0MsUUFBa0IsRUFDNUIsd0JBQWtELEVBQ3hDLGlCQUFtQyxFQUNuQyxRQUFrQjtRQUxsQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDN0MsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM1Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ3hDLHNCQUFpQixH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RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEVsZW1lbnRSZWYsIE5nTW9kdWxlUmVmLFxyXG4gIEluamVjdG9yLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcGlsZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZU1hZ2ljT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gXCIuL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXJcIjtcclxuaW1wb3J0IHsgQmFzZU1hZ2ljQ29uZmlybUNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2Jhc2UtbWFnaWMtY29uZmlybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQmFzZU1hZ2ljQWxlcnRDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9iYXNlLW1hZ2ljLWFsZXJ0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPdmVybGF5VHlwZSB9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLCBNb2R1bGVEYXRhIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2NvbXBvbmVudC1saXN0Lm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSU1hZ2ljVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCIuLi8uLi8uLlwiO1xyXG5pbXBvcnQge2lzTnVsbE9yVW5kZWZpbmVkfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWdpYy5sYXp5LmxvYWRlci5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1tYWdpYy1vdmVybGF5LWNvbnRhaW5lci13cmFwcGVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGFpbmVyLXdyYXBwZXItYmFja2dyb3VuZFwiIHRhYkluZGV4PVwiMFwiIHN0eWxlPVwid2lkdGg6IDBweDsgaGVpZ2h0OiAwcHg7XCIgbWFnaWNGb2N1cz48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGFpbmVyLXdyYXBwZXItYmFja2dyb3VuZFwiICNvdmVybGF5Q29udGFpbmVyV3JhcHBlcj5cclxuICAgICAgICA8ZGl2ICNvdmVybGF5Q29udGVudCBtYWdpY1ZpZXdDb250YWluZXJSZWY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1jb250YWluZXItd3JhcHBlci1iYWNrZ3JvdW5kXCIgdGFiSW5kZXg9XCIwXCIgc3R5bGU9XCJ3aWR0aDogMHB4OyBoZWlnaHQ6IDBweDtcIiA+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIC5vdmVybGF5LWNvbnRhaW5lci13cmFwcGVyLWJhY2tncm91bmQge1xyXG4gICAgICAvKiBtb2RhbCBiYWNrZ3JvdW5kIGZpeGVkIGFjcm9zcyB3aG9sZSBzY3JlZW4gKi9cclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICBgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFnaWNPdmVybGF5Q29udGFpbmVyV3JhcHBlciAgaW1wbGVtZW50cyBJTWFnaWNWaWV3Q29udGFpbmVyUmVmIHtcclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBDb21wb25lbnQgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIFBhcmFtZXRlcnM6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoKSBwcml2YXRlIE92ZXJsYXlUeXBlUGFyYW06IE92ZXJsYXlUeXBlO1xyXG5cclxuICBAT3V0cHV0KCkgcHJpdmF0ZSBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAvKipcclxuICAgKiBIVE1MIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgbW9kYWwgd2luZG93XHJcbiAgICovXHJcbiAgb3ZlcmxheUNvbnRlbnRWaWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIG92ZXJsYXlDb250YWluZXJXcmFwcGVyRWxlbWVudFJlZjogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqIGNvbnRhaXMgZGF0YSBvZiBhbGxvd2VkIGJhc2UgY29tcG9uZW50cyB0byB1c2VcclxuICAgKi9cclxuICBzdGF0aWMgYWxsb3dlZEJhc2VDb21wcyA9IG5ldyBNYXA8bnVtYmVyLCB7Y29tcDogYW55LCBlcnJvcjogc3RyaW5nfT4oW1xyXG4gICAgW092ZXJsYXlUeXBlLk92ZXJsYXksIHtjb21wOiBCYXNlTWFnaWNPdmVybGF5Q29udGFpbmVyLCBlcnJvcjonQmFzZU1hZ2ljT3ZlcmxheUNvbnRhaW5lciAuIE92ZXJsYXkgJ31dLFxyXG4gICAgW092ZXJsYXlUeXBlLkFsZXJ0LCB7Y29tcDogQmFzZU1hZ2ljQWxlcnRDb21wb25lbnQsIGVycm9yOidCYXNlTWFnaWNBbGVydENvbXBvbmVudC4gQWxlcnQgJ31dLFxyXG4gICAgW092ZXJsYXlUeXBlLkNvbmZpcm1hdGlvbkJveCwgIHtjb21wOiBCYXNlTWFnaWNDb25maXJtQ29tcG9uZW50LCBlcnJvciA6J0Jhc2VNYWdpY0NvbmZpcm1Db21wb25lbnQuIENvbmZpcm1hdGlvbiAnfV1cclxuICBdKTtcclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2U6IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtYWdpY0xhenlNb2R1bGVMb2FkZXI6IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIpIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBsZXQgbW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+ID0gdGhpcy5jb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLmdldE1vZHVsZVJlZih0aGlzLlBhcmFtZXRlcnMuTWFnaWNGb3JtTmFtZSk7XHJcblxyXG4gICAgaWYgKG1vZHVsZVJlZiA9PSBudWxsKSB7XHJcbiAgICAgIGxldCBsYXp5TG9hZE1vZHVsZTogTW9kdWxlRGF0YSA9IHRoaXMuY29tcG9uZW50TGlzdE1hZ2ljU2VydmljZS5nZXRMYXp5TG9hZE1vZHVsZURhdGEodGhpcy5QYXJhbWV0ZXJzLk1hZ2ljRm9ybU5hbWUpO1xyXG5cclxuICAgICAgaWYgKGxhenlMb2FkTW9kdWxlICE9IG51bGwpIHtcclxuICAgICAgICBsZXQgbW9kdWxlTmFtZSA9IGxhenlMb2FkTW9kdWxlLm1vZHVsZU5hbWUucmVwbGFjZShcIk1hZ2ljXCIsIFwiXCIpO1xyXG4gICAgICAgIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lLnJlcGxhY2UoXCJNb2R1bGVcIiwgXCJcIik7XHJcbiAgICAgICAgdGhpcy5tYWdpY0xhenlNb2R1bGVMb2FkZXIuTG9hZChtb2R1bGVOYW1lKS50aGVuKG0gPT4ge1xyXG4gICAgICAgICAgY29uc3QgY29tcGlsZWQgPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyg8YW55Pm1bbGF6eUxvYWRNb2R1bGUubW9kdWxlTmFtZV0pO1xyXG4gICAgICAgICAgbW9kdWxlUmVmID0gY29tcGlsZWQubmdNb2R1bGVGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgICAgICAgIHRoaXMubG9hZENvbXBvbmVudChtb2R1bGVSZWYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMubG9hZENvbXBvbmVudChudWxsKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlXHJcbiAgICAgIHRoaXMubG9hZENvbXBvbmVudChtb2R1bGVSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ29tcG9uZW50KG1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55Pikge1xyXG4gICAgdGhpcy5QYXJhbWV0ZXJzLk1vZGFsQ29tcCA9IHRoaXMuY29tcG9uZW50TGlzdE1hZ2ljU2VydmljZS5nZXRDb21wb25lbnQodGhpcy5QYXJhbWV0ZXJzLk1hZ2ljRm9ybU5hbWUsICFpc051bGxPclVuZGVmaW5lZCh0aGlzLlBhcmFtZXRlcnMuTWFnaWNGb3JtTmFtZSkpO1xyXG5cclxuICAgIGxldCBmYWN0b3J5O1xyXG4gICAgaWYgKG1vZHVsZVJlZiAhPSBudWxsKVxyXG4gICAgICBmYWN0b3J5ID0gbW9kdWxlUmVmLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLkNvbXBvbmVudCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLkNvbXBvbmVudCk7XHJcblxyXG4gICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMub3ZlcmxheUNvbnRlbnRWaWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgIGxldCBhbGxvd2VkQmFzZUNvbXAgPSBNYWdpY092ZXJsYXlDb250YWluZXJXcmFwcGVyLmFsbG93ZWRCYXNlQ29tcHMuZ2V0KHRoaXMuT3ZlcmxheVR5cGVQYXJhbSk7XHJcblxyXG5cclxuICAgIGlmIChjb21wb25lbnRSZWYuaW5zdGFuY2UgaW5zdGFuY2VvZiBhbGxvd2VkQmFzZUNvbXAuY29tcCkge1xyXG4gICAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwgdGhpcy5QYXJhbWV0ZXJzKTtcclxuICAgICAgKDxhbnk+Y29tcG9uZW50UmVmLmluc3RhbmNlKS5vbkNsb3NlLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQocmVzKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgbXNnID0gXCJQcm92aWRlZCAgd2luZG93IGNvbnRhaW5lciBzaG91bGQgc3ViY2xhc3Mgb2YgOiBcIiArIGFsbG93ZWRCYXNlQ29tcC5lcnJvciArIFwid2luZG93IHdpbGwgbm90IHdvcmsgcHJvcGVybHkuXCI7XHJcbiAgICAgIGFsZXJ0KG1zZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWaWV3Q29udGFpbmVyUmVmKHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmKXtcclxuICAgIHRoaXMub3ZlcmxheUNvbnRlbnRWaWV3Q29udGFpbmVyUmVmID0gdmNSZWY7XHJcbiAgfVxyXG5cclxuICBHZXRSb290RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5Q29udGFpbmVyV3JhcHBlckVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIERldGVjdENoYW5nZXMoKVxyXG4gIHtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -9,7 +9,7 @@ const _c1 = ["modalForeground"];
9
9
  function MagicOverlayContainer_button_2_Template(rf, ctx) { if (rf & 1) {
10
10
  const _r5 = i0.ɵɵgetCurrentView();
11
11
  i0.ɵɵelementStart(0, "button", 8);
12
- i0.ɵɵlistener("click", function MagicOverlayContainer_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.OnClose(); });
12
+ i0.ɵɵlistener("click", function MagicOverlayContainer_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.OnClose()); });
13
13
  i0.ɵɵtext(1, "X");
14
14
  i0.ɵɵelementEnd();
15
15
  } }
@@ -18,7 +18,7 @@ function MagicOverlayContainer_div_5_Template(rf, ctx) { if (rf & 1) {
18
18
  i0.ɵɵelementStart(0, "div", 9, 10);
19
19
  i0.ɵɵtext(2);
20
20
  i0.ɵɵelementStart(3, "button", 11);
21
- i0.ɵɵlistener("click", function MagicOverlayContainer_div_5_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.OnClose(); });
21
+ i0.ɵɵlistener("click", function MagicOverlayContainer_div_5_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.OnClose()); });
22
22
  i0.ɵɵtext(4, "X");
23
23
  i0.ɵɵelementEnd()();
24
24
  } if (rf & 2) {
@@ -123,7 +123,7 @@ MagicOverlayContainer.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContain
123
123
  i0.ɵɵproperty("ngIf", ctx.getShowTitleBar());
124
124
  i0.ɵɵadvance(1);
125
125
  i0.ɵɵproperty("ngStyle", ctx.getClientAreaStyles());
126
- } }, directives: [i1.NgIf, i1.NgStyle, i2.MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#fff}.modal-background[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header[_ngcontent-%COMP%]{background-color:beige;border-bottom:2px solid red}"] });
126
+ } }, dependencies: [i1.NgIf, i1.NgStyle, i2.MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#fff}.modal-background[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header[_ngcontent-%COMP%]{background-color:beige;border-bottom:2px solid red}"] });
127
127
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainer, [{
128
128
  type: Component,
129
129
  args: [{ selector: 'app-magic-overlay-container', template: `
@@ -156,4 +156,4 @@ MagicOverlayContainer.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContain
156
156
  }], onClose: [{
157
157
  type: Output
158
158
  }] }); })();
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9tYWdpYy1tb2RhbC9tYWdpYy1vdmVybGF5LWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7OztJQVduRSxpQ0FBbUs7SUFBM0oscUtBQVMsZ0JBQVMsSUFBQztJQUF3SSxpQkFBQztJQUFBLGlCQUFTOzs7O0lBRzdLLGtDQUFpRTtJQUMvRCxZQUNBO0lBQUEsa0NBQThEO0lBQXRELGtLQUFTLGdCQUFTLElBQUM7SUFBbUMsaUJBQUM7SUFBQSxpQkFBUyxFQUFBOzs7SUFEeEUsZUFDQTtJQURBLGlEQUNBOztBQVdWLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFvQ2xFLFlBQ1Usd0JBQWtEO1FBQzFELEtBQUssRUFBRSxDQUFDO1FBREEsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQW5CbkQsY0FBUyxHQUFHLElBQUksQ0FBQztRQUlqQix3QkFBbUIsR0FBUSxFQUFFLENBQUM7UUFFN0IsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFLckMsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFVNUIsQ0FBQztJQUtELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxZ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RCxpQkFBaUI7UUFDZixJQUFJLElBQUksR0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUErQixDQUFDO1FBRWxGLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3JDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDOzswRkExSVUscUJBQXFCOzBEQUFyQixxQkFBcUI7Ozs7Ozs7O1FBbEI5QiwyQkFBSyxhQUFBO1FBQzJCLCtGQUFTLHVCQUFtQixJQUFDO1FBQ3pELDRFQUE2SztRQUMvSyxpQkFBTTtRQUNOLGlDQUFzRTtRQUNwRSxzRUFHTTtRQUNOLDhCQUF1QztRQUNyQyw0QkFDTTtRQUNSLGlCQUFNLEVBQUEsRUFBQTs7UUFWbUksZUFBd0I7UUFBeEIsNkNBQXdCO1FBRXBILGVBQXNCO1FBQXRCLHdDQUFzQjtRQUMzQixlQUF1QjtRQUF2Qiw0Q0FBdUI7UUFJMUQsZUFBaUM7UUFBakMsbURBQWlDOzt1RkFTakMscUJBQXFCO2NBckJqQyxTQUFTOzJCQUNFLDZCQUE2QixZQUM3Qjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDsyRUFZNEMsZ0JBQWdCO2tCQUE1RCxTQUFTO21CQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFJTSxvQkFBb0I7a0JBQXBFLFNBQVM7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBS3RDLFNBQVM7a0JBQWpCLEtBQUs7WUFJRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFFSSxPQUFPO2tCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWFnaWNNb2RhbEludGVyZmFjZSB9IGZyb20gJy4vbWFnaWMtbW9kYWwtaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IEJhc2VNYWdpY092ZXJsYXlDb250YWluZXIgfSBmcm9tICcuL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXInO1xyXG5pbXBvcnQgeyBJTWFnaWNWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnLi4vLi4vLi4nO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSBtb2RhbCB3aW5kb3cgZm9yIE1hZ2ljIG1vZGFsIHdpbmRvdyBjb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1tYWdpYy1vdmVybGF5LWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1iYWNrZ3JvdW5kXCIgKGNsaWNrKT1cIk9uQmFja2dyb3VuZENsaWNrKClcIj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJPbkNsb3NlKClcIiB0YWJpbmRleD1cIi0xXCIgc3R5bGU9XCJmbG9hdDpyaWdodDsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgb3V0bGluZTogbm9uZTsgY29sb3I6IHdoaXRlXCIgKm5nSWY9XCIhZ2V0U2hvd1RpdGxlQmFyKClcIj5YPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICNtb2RhbEZvcmVncm91bmQgY2xhc3M9XCJtb2RhbC1mb3JlZ3JvdW5kXCIgW25nU3R5bGVdPVwiZ2V0U3R5bGUoKVwiPlxyXG4gICAgICAgIDxkaXYgI21vZGFsaGVhZGVyIGNsYXNzPVwibW9kYWwtaGVhZGVyXCIgKm5nSWY9XCJnZXRTaG93VGl0bGVCYXIoKVwiPlxyXG4gICAgICAgICAge3tnZXRUZXh0KCl9fVxyXG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiT25DbG9zZSgpXCIgc3R5bGU9XCJmbG9hdDpyaWdodFwiIHRhYmluZGV4PVwiLTFcIj5YPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBbbmdTdHlsZV09XCJnZXRDbGllbnRBcmVhU3R5bGVzKClcIj5cclxuICAgICAgICAgIDxkaXYgI21vZGFsYm9keSBtYWdpY1ZpZXdDb250YWluZXJSZWY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL21hZ2ljLW92ZXJsYXktY29udGFpbmVyLmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWdpY092ZXJsYXlDb250YWluZXIgZXh0ZW5kcyBCYXNlTWFnaWNPdmVybGF5Q29udGFpbmVyIGltcGxlbWVudHMgT25Jbml0ICwgSU1hZ2ljVmlld0NvbnRhaW5lclJlZntcclxuICAvKipcclxuICAgKiBIVE1MIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgbW9kYWwgd2luZG93XHJcbiAgICovXHJcbiAgbW9kYWxib2R5Vmlld0NvbnRhaW5lclJlZiA6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhlYWRlciBvZiB0aGUgbW9kYWwgd2luZG93XHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnbW9kYWxoZWFkZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgaGVhZGVyRWxlbWVudFJlZjogRWxlbWVudFJlZjtcclxuICAvKipcclxuICAgKiBGb3JlZ3JvdW5kIG9mIHRoZSBtb2RhbCB3aW5kb3dcclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdtb2RhbEZvcmVncm91bmQnLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9yZWdyb3VuZEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgTW9kYWxDb21wID0gbnVsbDtcclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIE1vZGFsQ29tcFBhcmFtZXRlcnM6IGFueSA9IHt9O1xyXG5cclxuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBwcml2YXRlIGNvbXBvbmVudFJlZiA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGluamVjdG9yXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5Nb2RhbENvbXApO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLm1vZGFsYm9keVZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSwgdGhpcy5Nb2RhbENvbXBQYXJhbWV0ZXJzKTtcclxuICB9XHJcblxyXG5cclxuICBzZXRWaWV3Q29udGFpbmVyUmVmKHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmKXtcclxuICAgIHRoaXMubW9kYWxib2R5Vmlld0NvbnRhaW5lclJlZiA9IHZjUmVmO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGZvcm0gbmFtZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0VGV4dCgpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xyXG4gICAgICBsZXQgY29tcDogTWFnaWNNb2RhbEludGVyZmFjZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIE1hZ2ljTW9kYWxJbnRlcmZhY2U7XHJcbiAgICAgIHJldHVybiBjb21wLkZvcm1OYW1lKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgQ1NTIHN0eWxlcyBmb3IgdGhlIHdpbmRvd1xyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0U3R5bGUoKSB7XHJcbiAgICBsZXQgc3R5bGVzID0ge307XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxldCBjb21wOiBNYWdpY01vZGFsSW50ZXJmYWNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgTWFnaWNNb2RhbEludGVyZmFjZTtcclxuXHJcbiAgICAgIHN0eWxlc1snd2lkdGgnXSA9IGNvbXAuV2lkdGgoKTtcclxuICAgICAgc3R5bGVzWydoZWlnaHQnXSA9IGNvbXAuSGVpZ2h0KCk7XHJcblxyXG4gICAgICBpZiAoY29tcC5Jc0NlbnRlcmVkVG9XaW5kb3coKSkge1xyXG4gICAgICAgIHN0eWxlc1snbWFyZ2luJ10gPSAnYXV0byc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc3R5bGVzWydtYXJnaW4tbGVmdCddID0gY29tcC5YKCkgKyAncHgnO1xyXG4gICAgICAgIHN0eWxlc1snbWFyZ2luLXRvcCddID0gY29tcC5ZKCkgKyAncHgnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3R5bGVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgQ1NTIHN0eWxlcyBmb3IgdGhlIGNsaWVudCBhcmVhXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXRDbGllbnRBcmVhU3R5bGVzKCkge1xyXG4gICAgbGV0IHN0eWxlcyA9IHt9O1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBoZWFkZXJIZWlnaHQgPSB0aGlzLmdldFNob3dUaXRsZUJhcigpICYmICFpc051bGxPclVuZGVmaW5lZCh0aGlzLmhlYWRlckVsZW1lbnRSZWYpID8gKHRoaXMuaGVhZGVyRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIDEpIDogMDtcclxuICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh0aGlzLmZvcmVncm91bmRFbGVtZW50UmVmKSkge1xyXG4gICAgICAgIGNvbnN0IGZvcmVncm91bmRIZWlnaHQgPSB0aGlzLmZvcmVncm91bmRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgICAgIHN0eWxlc1snaGVpZ2h0J10gPSAoZm9yZWdyb3VuZEhlaWdodCAtIGhlYWRlckhlaWdodCkgKyAncHgnO1xyXG5cclxuICAgICAgICBjb25zdCBmb3JlZ3JvdW5kV2lkdGggPSB0aGlzLmZvcmVncm91bmRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgc3R5bGVzWyd3aWR0aCddID0gKGZvcmVncm91bmRXaWR0aCkgKyAncHgnO1xyXG4gICAgICB9XHJcbiAgICAgIHN0eWxlc1snb3ZlcmZsb3cnXSA9ICdhdXRvJztcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaG91bGQgdGhlIHRpdGxlIGJhciBiZSBkaXNwbGF5ZWRcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldFNob3dUaXRsZUJhcigpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgbGV0IGNvbXA6IE1hZ2ljTW9kYWxJbnRlcmZhY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBNYWdpY01vZGFsSW50ZXJmYWNlO1xyXG4gICAgICByZXR1cm4gY29tcC5TaG93VGl0bGVCYXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgT25DbG9zZSgpIHtcclxuICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGNsaWNrIGluIHRoZSBiYWNrZ3JvdW5kIHdpbmRvd1xyXG4gICAqL1xyXG4gIE9uQmFja2dyb3VuZENsaWNrKCkge1xyXG4gICAgbGV0IGNvbXA6IE1hZ2ljTW9kYWxJbnRlcmZhY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBNYWdpY01vZGFsSW50ZXJmYWNlO1xyXG5cclxuICAgIGlmIChjb21wLlNob3VsZENsb3NlT25CYWNrZ3JvdW5kQ2xpY2soKSlcclxuICAgICAgdGhpcy5PbkNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9tYWdpYy1tb2RhbC9tYWdpYy1vdmVybGF5LWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7OztJQVduRSxpQ0FBbUs7SUFBM0oscUtBQVMsZUFBQSxnQkFBUyxDQUFBLElBQUM7SUFBd0ksaUJBQUM7SUFBQSxpQkFBUzs7OztJQUc3SyxrQ0FBaUU7SUFDL0QsWUFDQTtJQUFBLGtDQUE4RDtJQUF0RCxrS0FBUyxlQUFBLGdCQUFTLENBQUEsSUFBQztJQUFtQyxpQkFBQztJQUFBLGlCQUFTLEVBQUE7OztJQUR4RSxlQUNBO0lBREEsaURBQ0E7O0FBV1YsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHlCQUF5QjtJQW9DbEUsWUFDVSx3QkFBa0Q7UUFDMUQsS0FBSyxFQUFFLENBQUM7UUFEQSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBbkJuRCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBSWpCLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUU3QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUtyQyxpQkFBWSxHQUFHLElBQUksQ0FBQztJQVU1QixDQUFDO0lBS0QsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENB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LENBQUM7SUFDdEIsQ0FBQztJQUtELGlCQUFpQjtRQUNmLElBQUksSUFBSSxHQUF3QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQStCLENBQUM7UUFFbEYsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDckMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7OzBGQTFJVSxxQkFBcUI7MERBQXJCLHFCQUFxQjs7Ozs7Ozs7UUFsQjlCLDJCQUFLLGFBQUE7UUFDMkIsK0ZBQVMsdUJBQW1CLElBQUM7UUFDekQsNEVBQTZLO1FBQy9LLGlCQUFNO1FBQ04saUNBQXNFO1FBQ3BFLHNFQUdNO1FBQ04sOEJBQXVDO1FBQ3JDLDRCQUNNO1FBQ1IsaUJBQU0sRUFBQSxFQUFBOztRQVZtSSxlQUF3QjtRQUF4Qiw2Q0FBd0I7UUFFcEgsZUFBc0I7UUFBdEIsd0NBQXNCO1FBQzNCLGVBQXVCO1FBQXZCLDRDQUF1QjtRQUkxRCxlQUFpQztRQUFqQyxtREFBaUM7O3VGQVNqQyxxQkFBcUI7Y0FyQmpDLFNBQVM7MkJBQ0UsNkJBQTZCLFlBQzdCOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JUOzJFQVk0QyxnQkFBZ0I7a0JBQTVELFNBQVM7bUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUlNLG9CQUFvQjtrQkFBcEUsU0FBUzttQkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFLdEMsU0FBUztrQkFBakIsS0FBSztZQUlHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUVJLE9BQU87a0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYWdpY01vZGFsSW50ZXJmYWNlIH0gZnJvbSAnLi9tYWdpYy1tb2RhbC1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHsgQmFzZU1hZ2ljT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJy4vYmFzZS1tYWdpYy1vdmVybGF5LWNvbnRhaW5lcic7XHJcbmltcG9ydCB7IElNYWdpY1ZpZXdDb250YWluZXJSZWYgfSBmcm9tICcuLi8uLi8uLic7XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIG1vZGFsIHdpbmRvdyBmb3IgTWFnaWMgbW9kYWwgd2luZG93IGNvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW1hZ2ljLW92ZXJsYXktY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJhY2tncm91bmRcIiAoY2xpY2spPVwiT25CYWNrZ3JvdW5kQ2xpY2soKVwiPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cIk9uQ2xvc2UoKVwiIHRhYmluZGV4PVwiLTFcIiBzdHlsZT1cImZsb2F0OnJpZ2h0OyBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBvdXRsaW5lOiBub25lOyBjb2xvcjogd2hpdGVcIiAqbmdJZj1cIiFnZXRTaG93VGl0bGVCYXIoKVwiPlg8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgI21vZGFsRm9yZWdyb3VuZCBjbGFzcz1cIm1vZGFsLWZvcmVncm91bmRcIiBbbmdTdHlsZV09XCJnZXRTdHlsZSgpXCI+XHJcbiAgICAgICAgPGRpdiAjbW9kYWxoZWFkZXIgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIiAqbmdJZj1cImdldFNob3dUaXRsZUJhcigpXCI+XHJcbiAgICAgICAgICB7e2dldFRleHQoKX19XHJcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJPbkNsb3NlKClcIiBzdHlsZT1cImZsb2F0OnJpZ2h0XCIgdGFiaW5kZXg9XCItMVwiPlg8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cImdldENsaWVudEFyZWFTdHlsZXMoKVwiPlxyXG4gICAgICAgICAgPGRpdiAjbW9kYWxib2R5IG1hZ2ljVmlld0NvbnRhaW5lclJlZj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFnaWMtb3ZlcmxheS1jb250YWluZXIuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hZ2ljT3ZlcmxheUNvbnRhaW5lciBleHRlbmRzIEJhc2VNYWdpY092ZXJsYXlDb250YWluZXIgaW1wbGVtZW50cyBPbkluaXQgLCBJTWFnaWNWaWV3Q29udGFpbmVyUmVme1xyXG4gIC8qKlxyXG4gICAqIEhUTUwgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBtb2RhbCB3aW5kb3dcclxuICAgKi9cclxuICBtb2RhbGJvZHlWaWV3Q29udGFpbmVyUmVmIDogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICogSGVhZGVyIG9mIHRoZSBtb2RhbCB3aW5kb3dcclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdtb2RhbGhlYWRlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBoZWFkZXJFbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG4gIC8qKlxyXG4gICAqIEZvcmVncm91bmQgb2YgdGhlIG1vZGFsIHdpbmRvd1xyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoJ21vZGFsRm9yZWdyb3VuZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JlZ3JvdW5kRWxlbWVudFJlZjogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBASW5wdXQoKSBNb2RhbENvbXAgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgTW9kYWxDb21wUGFyYW1ldGVyczogYW55ID0ge307XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaW5qZWN0b3JcclxuICAgKiBAcGFyYW0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLk1vZGFsQ29tcCk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMubW9kYWxib2R5Vmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLk1vZGFsQ29tcFBhcmFtZXRlcnMpO1xyXG4gIH1cclxuXHJcblxyXG4gIHNldFZpZXdDb250YWluZXJSZWYodmNSZWY6IFZpZXdDb250YWluZXJSZWYpe1xyXG4gICAgdGhpcy5tb2RhbGJvZHlWaWV3Q29udGFpbmVyUmVmID0gdmNSZWY7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgZm9ybSBuYW1lXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXRUZXh0KCkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICE9PSBudWxsKSB7XHJcbiAgICAgIGxldCBjb21wOiBNYWdpY01vZGFsSW50ZXJmYWNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgTWFnaWNNb2RhbEludGVyZmFjZTtcclxuICAgICAgcmV0dXJuIGNvbXAuRm9ybU5hbWUoKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBDU1Mgc3R5bGVzIGZvciB0aGUgd2luZG93XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXRTdHlsZSgpIHtcclxuICAgIGxldCBzdHlsZXMgPSB7fTtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgbGV0IGNvbXA6IE1hZ2ljTW9kYWxJbnRlcmZhY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBNYWdpY01vZGFsSW50ZXJmYWNlO1xyXG5cclxuICAgICAgc3R5bGVzWyd3aWR0aCddID0gY29tcC5XaWR0aCgpO1xyXG4gICAgICBzdHlsZXNbJ2hlaWdodCddID0gY29tcC5IZWlnaHQoKTtcclxuXHJcbiAgICAgIGlmIChjb21wLklzQ2VudGVyZWRUb1dpbmRvdygpKSB7XHJcbiAgICAgICAgc3R5bGVzWydtYXJnaW4nXSA9ICdhdXRvJztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBzdHlsZXNbJ21hcmdpbi1sZWZ0J10gPSBjb21wLlgoKSArICdweCc7XHJcbiAgICAgICAgc3R5bGVzWydtYXJnaW4tdG9wJ10gPSBjb21wLlkoKSArICdweCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBDU1Mgc3R5bGVzIGZvciB0aGUgY2xpZW50IGFyZWFcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldENsaWVudEFyZWFTdHlsZXMoKSB7XHJcbiAgICBsZXQgc3R5bGVzID0ge307XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMuZ2V0U2hvd1RpdGxlQmFyKCkgJiYgIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuaGVhZGVyRWxlbWVudFJlZikgPyAodGhpcy5oZWFkZXJFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgMSkgOiAwO1xyXG4gICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuZm9yZWdyb3VuZEVsZW1lbnRSZWYpKSB7XHJcbiAgICAgICAgY29uc3QgZm9yZWdyb3VuZEhlaWdodCA9IHRoaXMuZm9yZWdyb3VuZEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgICAgc3R5bGVzWydoZWlnaHQnXSA9IChmb3JlZ3JvdW5kSGVpZ2h0IC0gaGVhZGVySGVpZ2h0KSArICdweCc7XHJcblxyXG4gICAgICAgIGNvbnN0IGZvcmVncm91bmRXaWR0aCA9IHRoaXMuZm9yZWdyb3VuZEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgICAgICBzdHlsZXNbJ3dpZHRoJ10gPSAoZm9yZWdyb3VuZFdpZHRoKSArICdweCc7XHJcbiAgICAgIH1cclxuICAgICAgc3R5bGVzWydvdmVyZmxvdyddID0gJ2F1dG8nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3VsZCB0aGUgdGl0bGUgYmFyIGJlIGRpc3BsYXllZFxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0U2hvd1RpdGxlQmFyKCkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICBsZXQgY29tcDogTWFnaWNNb2RhbEludGVyZmFjZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIE1hZ2ljTW9kYWxJbnRlcmZhY2U7XHJcbiAgICAgIHJldHVybiBjb21wLlNob3dUaXRsZUJhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBPbkNsb3NlKCkge1xyXG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgY2xpY2sgaW4gdGhlIGJhY2tncm91bmQgd2luZG93XHJcbiAgICovXHJcbiAgT25CYWNrZ3JvdW5kQ2xpY2soKSB7XHJcbiAgICBsZXQgY29tcDogTWFnaWNNb2RhbEludGVyZmFjZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIE1hZ2ljTW9kYWxJbnRlcmZhY2U7XHJcblxyXG4gICAgaWYgKGNvbXAuU2hvdWxkQ2xvc2VPbkJhY2tncm91bmRDbGljaygpKVxyXG4gICAgICB0aGlzLk9uQ2xvc2UoKTtcclxuICB9XHJcbn1cclxuIl19