@alauda/ui 7.4.1-beta.0 → 7.4.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { AnimationEvent } from '@angular/animations';
2
2
  import { CdkPortalOutlet } from '@angular/cdk/portal';
3
- import { ElementRef, InjectionToken, Injector } from '@angular/core';
3
+ import { ChangeDetectorRef, ElementRef, InjectionToken, Injector } from '@angular/core';
4
4
  import { BehaviorSubject, Subject } from 'rxjs';
5
5
  import { DrawerOptions } from '../../types';
6
6
  import * as i0 from "@angular/core";
@@ -9,6 +9,7 @@ export declare const duration = "300ms";
9
9
  type Step = 'showStart' | 'showDone' | 'hideStart' | 'hideDone';
10
10
  export declare class DrawerInternalComponent<T = unknown, C extends object = object> {
11
11
  private readonly injector;
12
+ private readonly cdr;
12
13
  bodyPortalOutlet: CdkPortalOutlet;
13
14
  mask: ElementRef<HTMLDivElement>;
14
15
  animationStep$: Subject<Step>;
@@ -21,10 +22,11 @@ export declare class DrawerInternalComponent<T = unknown, C extends object = obj
21
22
  $implicit: C;
22
23
  } & C;
23
24
  isTemplateRef: (label: any) => label is import("@angular/core").TemplateRef<unknown>;
24
- constructor(injector: Injector);
25
+ constructor(injector: Injector, cdr: ChangeDetectorRef);
25
26
  ngAfterViewInit(): void;
26
27
  private attachBodyContent;
27
28
  onAnimation(event: AnimationEvent): void;
29
+ updateOptions(options: DrawerOptions<T, C>): void;
28
30
  show(): void;
29
31
  hide(): void;
30
32
  maskClick(): void;
@@ -14,7 +14,7 @@ export declare class DrawerService<T = unknown, C extends object = object, R = u
14
14
  open(options: DrawerOptions<T, C>): DrawerRef<T, C, R>;
15
15
  updateOptions(options: DrawerOptions<T, C>): void;
16
16
  private createOverlay;
17
- private createDrawer;
17
+ private updateDrawer;
18
18
  private getOverlayConfig;
19
19
  private dispose;
20
20
  ngOnDestroy(): void;
@@ -133,8 +133,7 @@ export class DateRangePickerPanelComponent extends CommonFormControl {
133
133
  }
134
134
  }
135
135
  confirmValue(value, closeThen = true) {
136
- const sortValue = value.sort((startDate, endDate) => startDate.isAfter(endDate) ? 1 : -1);
137
- this.emitValue(sortValue);
136
+ this.emitValue(value);
138
137
  closeThen && this.confirm.next();
139
138
  }
140
139
  timeChange(time) {
@@ -218,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
218
217
  }], confirm: [{
219
218
  type: Output
220
219
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3JhbmdlLXBpY2tlci1wYW5lbC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvcmFuZ2UtcGlja2VyLXBhbmVsL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFckUsT0FBTyxFQUFFLFlBQVksRUFBa0IsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFB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RixpRENqREgsNDRIQXNIQSw2bUNEbEVJLHVCQUF1Qix5S0FDdkIsb0JBQW9CLHlNQUNwQixJQUFJLDZGQUNKLHVCQUF1QixtSkFDdkIsZ0JBQWdCLG9KQUNoQixtQkFBbUIseVFBQ25CLFdBQVcsMFZBQ1gsUUFBUSx3Q0FDUixRQUFROzsyRkFHQyw2QkFBNkI7a0JBMUJ6QyxTQUFTOytCQUNFLDZCQUE2QixpQkFHeEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLElBQUk7d0JBQ0osdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxRQUFRO3dCQUNSLFFBQVE7cUJBQ1Q7OEJBSUQsU0FBUztzQkFEUixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFRTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sS0FBSztzQkFESixNQUFNO2dCQUlQLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2Zvcm0vY29tbW9uLWZvcm0nO1xuaW1wb3J0IHsgSTE4blBpcGUgfSBmcm9tICcuLi8uLi8uLi9pMThuL2kxOG4ucGlwZSc7XG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFsL3V0aWxzJztcbmltcG9ydCB7IFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi90aW1lLXBpY2tlci9jb21wb25lbnQnO1xuaW1wb3J0IHsgVGltZVBpY2tlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBEYXRlTmF2UmFuZ2UsIERpc2FibGVkVGltZUZuLCBTaWRlIH0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyVHlwZSwgTU9OVEgsIFlFQVIgfSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQgeyBDYWxlbmRhckZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvb3Rlci9jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9oZWFkZXIvY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFuZWwvcGlja2VyLXBhbmVsJztcbmltcG9ydCB7XG4gIGNvbXBvc2VEaXNhYmxlZERhdGVGbixcbiAgZ2V0VGltZVBpY2tlck1vZGVsLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgbWF4RGF0ZSxcbiAgbWluRGF0ZSxcbiAgbmV4dE5hdlJhbmdlVHlwZSxcbiAgc29ydERhdGVzLFxuICB1cGRhdGVEYXRlLFxuICB1cGRhdGVEYXRlQnlUaW1lTW9kZWwsXG59IGZyb20gJy4uL3V0aWwnO1xuXG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLWRhdGUtcmFuZ2UtcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsXG4gICAgUGlja2VyUGFuZWxDb21wb25lbnQsXG4gICAgTmdJZixcbiAgICBDYWxlbmRhckZvb3RlckNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRGF0ZVBpcGUsXG4gICAgSTE4blBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZVBpY2tlclBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uRm9ybUNvbnRyb2w8RGF5anNbXT4ge1xuICBASW5wdXQoKVxuICBjbGVhcmFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGNsZWFyVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzaG93Rm9vdGVyID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZERhdGU6IChcbiAgICBkYXRlOiBEYXlqcyxcbiAgICBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlLFxuICAgIHN0YXJ0RGF0ZTogRGF5anMsXG4gICkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkVGltZTogeyBsZWZ0OiBEaXNhYmxlZFRpbWVGbjsgcmlnaHQ6IERpc2FibGVkVGltZUZuIH0gPSB7XG4gICAgbGVmdDogKCkgPT4gbnVsbCxcbiAgICByaWdodDogKCkgPT4gbnVsbCxcbiAgfTtcblxuICBASW5wdXQoKVxuICB3ZWVrU3RhcnREYXkgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIG1pbkRhdGU6IERheWpzO1xuXG4gIEBJbnB1dCgpXG4gIG1heERhdGU6IERheWpzO1xuXG4gIEBPdXRwdXQoKVxuICBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgY29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBiZW0gPSBiZW07XG4gIFNpZGUgPSBTaWRlO1xuICBEYXRlUGlja2VyVHlwZSA9IERhdGVQaWNrZXJUeXBlO1xuICBsZWZ0RGF0ZVJhbmdlID0gRGF0ZU5hdlJhbmdlLk1vbnRoO1xuICByaWdodERhdGVSYW5nZSA9IERhdGVOYXZSYW5nZS5Nb250aDtcblxuICBGT09URVJfREFURV9GT1JNQVQgPSAnWVlZWS1NTS1kZCc7XG5cbiAgbGVmdEFuY2hvciA9IGRheWpzKCk7XG4gIHJpZ2h0QW5jaG9yID0gZGF5anMoKS5hZGQoMSwgTU9OVEgpO1xuXG4gIGdldCBtYXhIZWFkZXJBdmFpbCgpIHtcbiAgICByZXR1cm4gbWluRGF0ZSh0aGlzLnJpZ2h0QW5jaG9yLCB0aGlzLm1heERhdGUpO1xuICB9XG5cbiAgZ2V0IG1pbkhlYWRlckF2YWlsKCkge1xuICAgIHJldHVybiBtYXhEYXRlKHRoaXMubWluRGF0ZSwgdGhpcy5sZWZ0QW5jaG9yKTtcbiAgfVxuXG4gIC8vIOeUqOS6juWtmOaUviByYW5nZSBkYXRhIOW6j+WIl++8jOaVsOmHj+S4uiAyIOaXtua4hemZpFxuICByYW5nZVZhbHVlOiBEYXlqc1tdID0gW107XG5cbiAgLy8g55So5LqO57uE6KOF5Yy56YWN5pel5pyf5bqP5YiXXG4gIG1hdGNoVmFsdWVzOiBEYXlqc1tdO1xuXG4gIHN0YXJ0VGltZTogVGltZVBpY2tlck1vZGVsO1xuICBlbmRUaW1lOiBUaW1lUGlja2VyTW9kZWw7XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZShvYmo6IERheWpzW10pIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XG4gICAgdGhpcy5yYW5nZVZhbHVlID0gb2JqIHx8IFtdO1xuICAgIHRoaXMubWF0Y2hWYWx1ZXMgPSBbLi4udGhpcy5yYW5nZVZhbHVlXTtcbiAgICB0aGlzLnN0YXJ0VGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbChvYmo/LlswXSk7XG4gICAgdGhpcy5lbmRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKG9iaj8uWzFdKTtcbiAgICBpZiAob2JqPy5sZW5ndGggPT09IDIpIHtcbiAgICAgIHRoaXMucmVvcmRlcihzb3J0RGF0ZXMob2JqKSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgY2FsZW5kYXJSYW5nZUNoYW5nZSh0eXBlOiBEYXRlTmF2UmFuZ2UsIHNpZGU6IFNpZGUpIHtcbiAgICBpZiAoc2lkZSA9PT0gU2lkZS5MZWZ0KSB7XG4gICAgICB0aGlzLmxlZnREYXRlUmFuZ2UgPSB0eXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJpZ2h0RGF0ZVJhbmdlID0gdHlwZTtcbiAgICB9XG4gIH1cblxuICAvLyByYW5nZSDnu4Tku7bojIPlm7Tlj5fmjqdcbiAgZ2V0RGF0ZURpc2FibGVkRm4oc2lkZTogU2lkZSwgY29uc3RyYWluVmFsdWU6IERheWpzKSB7XG4gICAgcmV0dXJuIGNvbXBvc2VEaXNhYmxlZERhdGVGbihcbiAgICAgIChkYXRlOiBEYXlqcywgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZSkgPT4ge1xuICAgICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGUpIHtcbiAgICAgICAgICByZXR1cm4gZGF0ZVtzaWRlID09PSBTaWRlLkxlZnQgPyAnaXNBZnRlcicgOiAnaXNCZWZvcmUnXShcbiAgICAgICAgICAgIGNvbnN0cmFpblZhbHVlLFxuICAgICAgICAgICAgWUVBUixcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhZGF0ZVtzaWRlID09PSBTaWRlLkxlZnQgPyAnaXNCZWZvcmUnIDogJ2lzQWZ0ZXInXShcbiAgICAgICAgICBjb25zdHJhaW5WYWx1ZSxcbiAgICAgICAgICBNT05USCxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICAoLi4uYXJnKSA9PiB0aGlzLmRpc2FibGVkRGF0ZSguLi5hcmcsIHRoaXMucmFuZ2VWYWx1ZVswXSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlzYWJsZWRUaW1lQ2FjaGVkRm4oc2lkZTogU2lkZSkge1xuICAgIGxldCBjYWNoZVNlbGVjdGVkRGF0ZTogRGF5anM7XG4gICAgbGV0IGNhY2hlRGlzYWJsZWRUaW1lRm46IFJldHVyblR5cGU8RGlzYWJsZWRUaW1lRm4+O1xuICAgIHJldHVybiAodmFsdWU6IERheWpzLCBrZXk6IGtleW9mIFJldHVyblR5cGU8RGlzYWJsZWRUaW1lRm4+KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IGNhY2hlU2VsZWN0ZWREYXRlKSB7XG4gICAgICAgIGNhY2hlRGlzYWJsZWRUaW1lRm4gPSAodGhpcy5kaXNhYmxlZFRpbWU/LltzaWRlXSB8fCAoKCkgPT4gbnVsbCkpKFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICApO1xuICAgICAgICBjYWNoZVNlbGVjdGVkRGF0ZSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNhY2hlRGlzYWJsZWRUaW1lRm4/LltrZXldO1xuICAgIH07XG4gIH1cblxuICBsZWZ0RGlzYWJsZWRUaW1lRm4gPSB0aGlzLmdldERpc2FibGVkVGltZUNhY2hlZEZuKFNpZGUuTGVmdCk7XG4gIHJpZ2h0RGlzYWJsZWRUaW1lRm4gPSB0aGlzLmdldERpc2FibGVkVGltZUNhY2hlZEZuKFNpZGUuUmlnaHQpO1xuXG4gIHNlbGVjdFBpY2tlclBhbmVsKHZhbHVlOiBEYXlqcywgc2lkZTogU2lkZSkge1xuICAgIGNvbnN0IG5hdlJhbmdlID1cbiAgICAgIHNpZGUgPT09IFNpZGUuTGVmdCA/IHRoaXMubGVmdERhdGVSYW5nZSA6IHRoaXMucmlnaHREYXRlUmFuZ2U7XG4gICAgY29uc3QgdHlwZSA9IGdldFR5cGVCeU5hdlJhbmdlKG5hdlJhbmdlKTtcbiAgICBjb25zdCBkYXRlVmFsdWUgPSB1cGRhdGVEYXRlKFxuICAgICAgc2lkZSA9PT0gU2lkZS5MZWZ0ID8gdGhpcy5sZWZ0QW5jaG9yIDogdGhpcy5yaWdodEFuY2hvcixcbiAgICAgIHZhbHVlLFxuICAgICAgdHlwZSxcbiAgICApO1xuICAgIGNvbnN0IG5leHRSYW5nZSA9IG5leHROYXZSYW5nZVR5cGUobmF2UmFuZ2UsIERhdGVOYXZSYW5nZS5Nb250aCk7XG5cbiAgICBpZiAoc2lkZSA9PT0gU2lkZS5MZWZ0KSB7XG4gICAgICB0aGlzLmxlZnRBbmNob3IgPSBkYXRlVmFsdWU7XG4gICAgICB0aGlzLmxlZnREYXRlUmFuZ2UgPSBuZXh0UmFuZ2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmlnaHRBbmNob3IgPSBkYXRlVmFsdWU7XG4gICAgICB0aGlzLnJpZ2h0RGF0ZVJhbmdlID0gbmV4dFJhbmdlO1xuICAgIH1cblxuICAgIGlmIChuYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLk1vbnRoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGVmdEFuY2hvci5pc1NhbWUodGhpcy5yaWdodEFuY2hvciwgTU9OVEgpKSB7XG4gICAgICB0aGlzLnJpZ2h0QW5jaG9yID0gdGhpcy5yaWdodEFuY2hvci5hZGQoMSwgTU9OVEgpO1xuICAgIH1cblxuICAgIHRoaXMucmFuZ2VWYWx1ZSA9XG4gICAgICB0aGlzLnJhbmdlVmFsdWUubGVuZ3RoID09PSAyXG4gICAgICAgID8gW2RhdGVWYWx1ZV1cbiAgICAgICAgOiBzb3J0RGF0ZXMoWy4uLnRoaXMucmFuZ2VWYWx1ZSwgZGF0ZVZhbHVlXSk7XG4gICAgdGhpcy5tYXRjaFZhbHVlcyA9IFsuLi50aGlzLnJhbmdlVmFsdWVdO1xuICAgIHRoaXMuc3luY1RpbWUoKTtcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA9PT0gMikge1xuICAgICAgdGhpcy5yZW9yZGVyKHRoaXMucmFuZ2VWYWx1ZSk7XG4gICAgICB0aGlzLmNvbmZpcm1WYWx1ZSh0aGlzLnJhbmdlVmFsdWUsICF0aGlzLnNob3dUaW1lKTtcbiAgICB9XG4gIH1cblxuICByZW9yZGVyKHNvcnRlZERhdGU6IERheWpzW10pIHtcbiAgICBpZiAoIXNvcnRlZERhdGVbMF0uaXNTYW1lKHNvcnRlZERhdGVbMV0sIE1PTlRIKSkge1xuICAgICAgdGhpcy5sZWZ0QW5jaG9yID0gdXBkYXRlRGF0ZShcbiAgICAgICAgdGhpcy5sZWZ0QW5jaG9yLFxuICAgICAgICBzb3J0ZWREYXRlWzBdLFxuICAgICAgICBEYXRlUGlja2VyVHlwZS5EYXksXG4gICAgICApO1xuICAgICAgdGhpcy5yaWdodEFuY2hvciA9IHVwZGF0ZURhdGUoXG4gICAgICAgIHRoaXMubGVmdEFuY2hvcixcbiAgICAgICAgc29ydGVkRGF0ZVsxXSxcbiAgICAgICAgRGF0ZVBpY2tlclR5cGUuRGF5LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBob3Zlckl0ZW0oZGF0ZTogRGF5anMpIHtcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5tYXRjaFZhbHVlc1sxXSA9IGRhdGU7XG4gICAgfVxuICB9XG5cbiAgY29uZmlybVZhbHVlKHZhbHVlOiBEYXlqc1tdLCBjbG9zZVRoZW4gPSB0cnVlKSB7XG4gICAgY29uc3Qgc29ydFZhbHVlID0gdmFsdWUuc29ydCgoc3RhcnREYXRlLCBlbmREYXRlKSA9PlxuICAgICAgc3RhcnREYXRlLmlzQWZ0ZXIoZW5kRGF0ZSkgPyAxIDogLTEsXG4gICAgKTtcbiAgICB0aGlzLmVtaXRWYWx1ZShzb3J0VmFsdWUpO1xuICAgIGNsb3NlVGhlbiAmJiB0aGlzLmNvbmZpcm0ubmV4dCgpO1xuICB9XG5cbiAgdGltZUNoYW5nZSh0aW1lOiBUaW1lUGlja2VyTW9kZWwpIHtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zeW5jVGltZSgpO1xuICAgIGlmICghdGhpcy5yYW5nZVZhbHVlPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB1cGRhdGVEYXRlQnlUaW1lTW9kZWwoZGF5anMoKSwgdGltZSk7XG4gICAgICB0aGlzLnJhbmdlVmFsdWUgPSBbZGF0ZSwgZGF0ZV07XG4gICAgICB0aGlzLm1hdGNoVmFsdWVzID0gWy4uLnRoaXMucmFuZ2VWYWx1ZV07XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHRoaXMuZW5kVGltZSA9IHRpbWU7XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMucmFuZ2VWYWx1ZSk7XG4gIH1cblxuICBzeW5jVGltZSgpIHtcbiAgICBpZiAodGhpcy5zaG93VGltZSAmJiAhIXRoaXMucmFuZ2VWYWx1ZT8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLnJhbmdlVmFsdWVbMF1cbiAgICAgICAgPyB1cGRhdGVEYXRlQnlUaW1lTW9kZWwodGhpcy5yYW5nZVZhbHVlWzBdLCB0aGlzLnN0YXJ0VGltZSlcbiAgICAgICAgOiBudWxsO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMucmFuZ2VWYWx1ZVsxXVxuICAgICAgICA/IHVwZGF0ZURhdGVCeVRpbWVNb2RlbCh0aGlzLnJhbmdlVmFsdWVbMV0sIHRoaXMuZW5kVGltZSlcbiAgICAgICAgOiBudWxsO1xuICAgICAgaWYgKCF0aGlzLnN0YXJ0VGltZSAmJiBzdGFydERhdGUpIHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwodGhpcy5yYW5nZVZhbHVlWzBdKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5lbmRUaW1lICYmIGVuZERhdGUpIHtcbiAgICAgICAgdGhpcy5lbmRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKHRoaXMucmFuZ2VWYWx1ZVsxXSk7XG4gICAgICB9XG4gICAgICB0aGlzLnJhbmdlVmFsdWUgPSBbc3RhcnREYXRlLCBlbmREYXRlXS5maWx0ZXIoaSA9PiAhIWkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbnRhaW5lcicpXCI+XG4gIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdoZWFkZXInKVwiPlxuICAgIDxhdWktY2FsZW5kYXItaGVhZGVyXG4gICAgICBbZGF0ZU5hdlJhbmdlXT1cImxlZnREYXRlUmFuZ2VcIlxuICAgICAgW2FuY2hvcl09XCJsZWZ0QW5jaG9yXCJcbiAgICAgIChuYXZSYW5nZUNoYW5nZSk9XCJjYWxlbmRhclJhbmdlQ2hhbmdlKCRldmVudCwgU2lkZS5MZWZ0KVwiXG4gICAgICAoYW5jaG9yQ2hhbmdlKT1cImxlZnRBbmNob3IgPSAkZXZlbnRcIlxuICAgICAgW21heEF2YWlsXT1cIm1heEhlYWRlckF2YWlsXCJcbiAgICAgIFttaW5BdmFpbF09XCJtaW5EYXRlXCJcbiAgICA+PC9hdWktY2FsZW5kYXItaGVhZGVyPlxuICAgIDxhdWktY2FsZW5kYXItaGVhZGVyXG4gICAgICBbZGF0ZU5hdlJhbmdlXT1cInJpZ2h0RGF0ZVJhbmdlXCJcbiAgICAgIFthbmNob3JdPVwicmlnaHRBbmNob3JcIlxuICAgICAgKG5hdlJhbmdlQ2hhbmdlKT1cImNhbGVuZGFyUmFuZ2VDaGFuZ2UoJGV2ZW50LCBTaWRlLlJpZ2h0KVwiXG4gICAgICAoYW5jaG9yQ2hhbmdlKT1cInJpZ2h0QW5jaG9yID0gJGV2ZW50XCJcbiAgICAgIFttaW5BdmFpbF09XCJtaW5IZWFkZXJBdmFpbFwiXG4gICAgICBbbWF4QXZhaWxdPVwibWF4RGF0ZVwiXG4gICAgPjwvYXVpLWNhbGVuZGFyLWhlYWRlcj5cbiAgPC9kaXY+XG4gIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdib2R5JylcIj5cbiAgICA8YXVpLXBpY2tlci1wYW5lbFxuICAgICAgY2xhc3M9XCJwYW5lbF9fd3JhcHBlclwiXG4gICAgICBbbmF2UmFuZ2VdPVwibGVmdERhdGVSYW5nZVwiXG4gICAgICBbdHlwZV09XCJEYXRlUGlja2VyVHlwZS5EYXlcIlxuICAgICAgW2FuY2hvcl09XCJsZWZ0QW5jaG9yXCJcbiAgICAgIFttYXRjaERhdGVzXT1cIm1hdGNoVmFsdWVzXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbZGlzYWJsZWREYXRlXT1cImdldERhdGVEaXNhYmxlZEZuKFNpZGUuTGVmdCwgcmlnaHRBbmNob3IpXCJcbiAgICAgIFt3ZWVrU3RhcnREYXldPVwid2Vla1N0YXJ0RGF5XCJcbiAgICAgIChob3ZlcmVkKT1cImhvdmVySXRlbSgkZXZlbnQpXCJcbiAgICAgIChzZWxlY3QpPVwic2VsZWN0UGlja2VyUGFuZWwoJGV2ZW50LCBTaWRlLkxlZnQpXCJcbiAgICA+PC9hdWktcGlja2VyLXBhbmVsPlxuICAgIDxhdWktcGlja2VyLXBhbmVsXG4gICAgICBjbGFzcz1cInBhbmVsX193cmFwcGVyXCJcbiAgICAgIFtuYXZSYW5nZV09XCJyaWdodERhdGVSYW5nZVwiXG4gICAgICBbdHlwZV09XCJEYXRlUGlja2VyVHlwZS5EYXlcIlxuICAgICAgW2FuY2hvcl09XCJyaWdodEFuY2hvclwiXG4gICAgICBbd2Vla1N0YXJ0RGF5XT1cIndlZWtTdGFydERheVwiXG4gICAgICBbbWF0Y2hEYXRlc109XCJtYXRjaFZhbHVlc1wiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2Rpc2FibGVkRGF0ZV09XCJnZXREYXRlRGlzYWJsZWRGbihTaWRlLlJpZ2h0LCBsZWZ0QW5jaG9yKVwiXG4gICAgICAoaG92ZXJlZCk9XCJob3Zlckl0ZW0oJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdFBpY2tlclBhbmVsKCRldmVudCwgU2lkZS5SaWdodClcIlxuICAgID48L2F1aS1waWNrZXItcGFuZWw+XG4gIDwvZGl2PlxuXG4gIDxhdWktY2FsZW5kYXItZm9vdGVyXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdmb290ZXInKVwiXG4gICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuICAgIFtjbGVhclRleHRdPVwiY2xlYXJUZXh0XCJcbiAgICAoY2xlYXIpPVwiY2xlYXIubmV4dCgpXCJcbiAgICAoY29uZmlybSk9XCJjb25maXJtVmFsdWUocmFuZ2VWYWx1ZSlcIlxuICAgICpuZ0lmPVwic2hvd0Zvb3RlciAmJiBzaG93VGltZVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zvb3Rlci1jb250ZW50JylcIlxuICAgICAgKm5nSWY9XCJzaG93VGltZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXRlUGxhY2Vob2xkZXJcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgIHBsYWNlaG9sZGVyOiAnc3RhcnRfZGF0ZScgfCBhdWlJMThuLFxuICAgICAgICAgIHZhbHVlOiByYW5nZVZhbHVlWzBdXG4gICAgICAgIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPGF1aS10aW1lLXBpY2tlclxuICAgICAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInN0YXJ0VGltZVwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRpbWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlSG91cnNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdob3VycycpXCJcbiAgICAgICAgW2Rpc2FibGVNaW51dGVzXT1cImxlZnREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzBdLCAnbWludXRlcycpXCJcbiAgICAgICAgW2Rpc2FibGVTZWNvbmRzXT1cImxlZnREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzBdLCAnc2Vjb25kcycpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWxlY3RfdGltZScgfCBhdWlJMThuXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wIHN0YXJ0XCJcbiAgICAgID48L2F1aS10aW1lLXBpY2tlcj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJwbGFjZWhvbGRlciBzZXBhcmF0b3JcIj57eyAndG8nIHwgYXVpSTE4biB9fTwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF0ZVBsYWNlaG9sZGVyXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICBwbGFjZWhvbGRlcjogJ2VuZF9kYXRlJyB8IGF1aUkxOG4sXG4gICAgICAgICAgdmFsdWU6IHJhbmdlVmFsdWVbMV1cbiAgICAgICAgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8YXVpLXRpbWUtcGlja2VyXG4gICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZW5kVGltZVwiXG4gICAgICAgIFtkaXNhYmxlSG91cnNdPVwicmlnaHREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzFdLCAnaG91cnMnKVwiXG4gICAgICAgIFtkaXNhYmxlTWludXRlc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdtaW51dGVzJylcIlxuICAgICAgICBbZGlzYWJsZVNlY29uZHNdPVwicmlnaHREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzFdLCAnc2Vjb25kcycpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGltZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWxlY3RfdGltZScgfCBhdWlJMThuXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wIHN0YXJ0XCJcbiAgICAgID48L2F1aS10aW1lLXBpY2tlcj5cbiAgICA8L2Rpdj5cbiAgPC9hdWktY2FsZW5kYXItZm9vdGVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGF0ZVBsYWNlaG9sZGVyXG4gIGxldC1wbGFjZWhvbGRlcj1cInBsYWNlaG9sZGVyXCJcbiAgbGV0LXZhbHVlPVwidmFsdWVcIlxuPlxuICA8c3BhblxuICAgICpuZ0lmPVwiIXZhbHVlXCJcbiAgICBjbGFzcz1cInBsYWNlaG9sZGVyIGRhdGUtaG9sZGVyXCJcbiAgICA+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW5cbiAgPlxuICA8c3BhblxuICAgICpuZ0lmPVwidmFsdWVcIlxuICAgIGNsYXNzPVwiZGF0ZS12YWx1ZSBkYXRlLWhvbGRlclwiXG4gICAgPnt7IHZhbHVlIHwgZGF0ZSA6IEZPT1RFUl9EQVRFX0ZPUk1BVCB9fTwvc3BhblxuICA+XG48L25nLXRlbXBsYXRlPlxuIl19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3JhbmdlLXBpY2tlci1wYW5lbC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvcmFuZ2UtcGlja2VyLXBhbmVsL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFckUsT0FBTyxFQUFFLFlBQVksRUFBa0IsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFB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QUNFLDZCQUE2QixpQkFHeEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLElBQUk7d0JBQ0osdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxRQUFRO3dCQUNSLFFBQVE7cUJBQ1Q7OEJBSUQsU0FBUztzQkFEUixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFRTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sS0FBSztzQkFESixNQUFNO2dCQUlQLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2Zvcm0vY29tbW9uLWZvcm0nO1xuaW1wb3J0IHsgSTE4blBpcGUgfSBmcm9tICcuLi8uLi8uLi9pMThuL2kxOG4ucGlwZSc7XG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVybmFsL3V0aWxzJztcbmltcG9ydCB7IFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi90aW1lLXBpY2tlci9jb21wb25lbnQnO1xuaW1wb3J0IHsgVGltZVBpY2tlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBEYXRlTmF2UmFuZ2UsIERpc2FibGVkVGltZUZuLCBTaWRlIH0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyVHlwZSwgTU9OVEgsIFlFQVIgfSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQgeyBDYWxlbmRhckZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvb3Rlci9jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9oZWFkZXIvY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFuZWwvcGlja2VyLXBhbmVsJztcbmltcG9ydCB7XG4gIGNvbXBvc2VEaXNhYmxlZERhdGVGbixcbiAgZ2V0VGltZVBpY2tlck1vZGVsLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgbWF4RGF0ZSxcbiAgbWluRGF0ZSxcbiAgbmV4dE5hdlJhbmdlVHlwZSxcbiAgc29ydERhdGVzLFxuICB1cGRhdGVEYXRlLFxuICB1cGRhdGVEYXRlQnlUaW1lTW9kZWwsXG59IGZyb20gJy4uL3V0aWwnO1xuXG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLWRhdGUtcmFuZ2UtcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsXG4gICAgUGlja2VyUGFuZWxDb21wb25lbnQsXG4gICAgTmdJZixcbiAgICBDYWxlbmRhckZvb3RlckNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRGF0ZVBpcGUsXG4gICAgSTE4blBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZVBpY2tlclBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uRm9ybUNvbnRyb2w8RGF5anNbXT4ge1xuICBASW5wdXQoKVxuICBjbGVhcmFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGNsZWFyVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzaG93Rm9vdGVyID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZERhdGU6IChcbiAgICBkYXRlOiBEYXlqcyxcbiAgICBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlLFxuICAgIHN0YXJ0RGF0ZTogRGF5anMsXG4gICkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkVGltZTogeyBsZWZ0OiBEaXNhYmxlZFRpbWVGbjsgcmlnaHQ6IERpc2FibGVkVGltZUZuIH0gPSB7XG4gICAgbGVmdDogKCkgPT4gbnVsbCxcbiAgICByaWdodDogKCkgPT4gbnVsbCxcbiAgfTtcblxuICBASW5wdXQoKVxuICB3ZWVrU3RhcnREYXkgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIG1pbkRhdGU6IERheWpzO1xuXG4gIEBJbnB1dCgpXG4gIG1heERhdGU6IERheWpzO1xuXG4gIEBPdXRwdXQoKVxuICBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgY29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBiZW0gPSBiZW07XG4gIFNpZGUgPSBTaWRlO1xuICBEYXRlUGlja2VyVHlwZSA9IERhdGVQaWNrZXJUeXBlO1xuICBsZWZ0RGF0ZVJhbmdlID0gRGF0ZU5hdlJhbmdlLk1vbnRoO1xuICByaWdodERhdGVSYW5nZSA9IERhdGVOYXZSYW5nZS5Nb250aDtcblxuICBGT09URVJfREFURV9GT1JNQVQgPSAnWVlZWS1NTS1kZCc7XG5cbiAgbGVmdEFuY2hvciA9IGRheWpzKCk7XG4gIHJpZ2h0QW5jaG9yID0gZGF5anMoKS5hZGQoMSwgTU9OVEgpO1xuXG4gIGdldCBtYXhIZWFkZXJBdmFpbCgpIHtcbiAgICByZXR1cm4gbWluRGF0ZSh0aGlzLnJpZ2h0QW5jaG9yLCB0aGlzLm1heERhdGUpO1xuICB9XG5cbiAgZ2V0IG1pbkhlYWRlckF2YWlsKCkge1xuICAgIHJldHVybiBtYXhEYXRlKHRoaXMubWluRGF0ZSwgdGhpcy5sZWZ0QW5jaG9yKTtcbiAgfVxuXG4gIC8vIOeUqOS6juWtmOaUviByYW5nZSBkYXRhIOW6j+WIl++8jOaVsOmHj+S4uiAyIOaXtua4hemZpFxuICByYW5nZVZhbHVlOiBEYXlqc1tdID0gW107XG5cbiAgLy8g55So5LqO57uE6KOF5Yy56YWN5pel5pyf5bqP5YiXXG4gIG1hdGNoVmFsdWVzOiBEYXlqc1tdO1xuXG4gIHN0YXJ0VGltZTogVGltZVBpY2tlck1vZGVsO1xuICBlbmRUaW1lOiBUaW1lUGlja2VyTW9kZWw7XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZShvYmo6IERheWpzW10pIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XG4gICAgdGhpcy5yYW5nZVZhbHVlID0gb2JqIHx8IFtdO1xuICAgIHRoaXMubWF0Y2hWYWx1ZXMgPSBbLi4udGhpcy5yYW5nZVZhbHVlXTtcbiAgICB0aGlzLnN0YXJ0VGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbChvYmo/LlswXSk7XG4gICAgdGhpcy5lbmRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKG9iaj8uWzFdKTtcbiAgICBpZiAob2JqPy5sZW5ndGggPT09IDIpIHtcbiAgICAgIHRoaXMucmVvcmRlcihzb3J0RGF0ZXMob2JqKSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgY2FsZW5kYXJSYW5nZUNoYW5nZSh0eXBlOiBEYXRlTmF2UmFuZ2UsIHNpZGU6IFNpZGUpIHtcbiAgICBpZiAoc2lkZSA9PT0gU2lkZS5MZWZ0KSB7XG4gICAgICB0aGlzLmxlZnREYXRlUmFuZ2UgPSB0eXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJpZ2h0RGF0ZVJhbmdlID0gdHlwZTtcbiAgICB9XG4gIH1cblxuICAvLyByYW5nZSDnu4Tku7bojIPlm7Tlj5fmjqdcbiAgZ2V0RGF0ZURpc2FibGVkRm4oc2lkZTogU2lkZSwgY29uc3RyYWluVmFsdWU6IERheWpzKSB7XG4gICAgcmV0dXJuIGNvbXBvc2VEaXNhYmxlZERhdGVGbihcbiAgICAgIChkYXRlOiBEYXlqcywgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZSkgPT4ge1xuICAgICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGUpIHtcbiAgICAgICAgICByZXR1cm4gZGF0ZVtzaWRlID09PSBTaWRlLkxlZnQgPyAnaXNBZnRlcicgOiAnaXNCZWZvcmUnXShcbiAgICAgICAgICAgIGNvbnN0cmFpblZhbHVlLFxuICAgICAgICAgICAgWUVBUixcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhZGF0ZVtzaWRlID09PSBTaWRlLkxlZnQgPyAnaXNCZWZvcmUnIDogJ2lzQWZ0ZXInXShcbiAgICAgICAgICBjb25zdHJhaW5WYWx1ZSxcbiAgICAgICAgICBNT05USCxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICAoLi4uYXJnKSA9PiB0aGlzLmRpc2FibGVkRGF0ZSguLi5hcmcsIHRoaXMucmFuZ2VWYWx1ZVswXSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlzYWJsZWRUaW1lQ2FjaGVkRm4oc2lkZTogU2lkZSkge1xuICAgIGxldCBjYWNoZVNlbGVjdGVkRGF0ZTogRGF5anM7XG4gICAgbGV0IGNhY2hlRGlzYWJsZWRUaW1lRm46IFJldHVyblR5cGU8RGlzYWJsZWRUaW1lRm4+O1xuICAgIHJldHVybiAodmFsdWU6IERheWpzLCBrZXk6IGtleW9mIFJldHVyblR5cGU8RGlzYWJsZWRUaW1lRm4+KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IGNhY2hlU2VsZWN0ZWREYXRlKSB7XG4gICAgICAgIGNhY2hlRGlzYWJsZWRUaW1lRm4gPSAodGhpcy5kaXNhYmxlZFRpbWU/LltzaWRlXSB8fCAoKCkgPT4gbnVsbCkpKFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICApO1xuICAgICAgICBjYWNoZVNlbGVjdGVkRGF0ZSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNhY2hlRGlzYWJsZWRUaW1lRm4/LltrZXldO1xuICAgIH07XG4gIH1cblxuICBsZWZ0RGlzYWJsZWRUaW1lRm4gPSB0aGlzLmdldERpc2FibGVkVGltZUNhY2hlZEZuKFNpZGUuTGVmdCk7XG4gIHJpZ2h0RGlzYWJsZWRUaW1lRm4gPSB0aGlzLmdldERpc2FibGVkVGltZUNhY2hlZEZuKFNpZGUuUmlnaHQpO1xuXG4gIHNlbGVjdFBpY2tlclBhbmVsKHZhbHVlOiBEYXlqcywgc2lkZTogU2lkZSkge1xuICAgIGNvbnN0IG5hdlJhbmdlID1cbiAgICAgIHNpZGUgPT09IFNpZGUuTGVmdCA/IHRoaXMubGVmdERhdGVSYW5nZSA6IHRoaXMucmlnaHREYXRlUmFuZ2U7XG4gICAgY29uc3QgdHlwZSA9IGdldFR5cGVCeU5hdlJhbmdlKG5hdlJhbmdlKTtcbiAgICBjb25zdCBkYXRlVmFsdWUgPSB1cGRhdGVEYXRlKFxuICAgICAgc2lkZSA9PT0gU2lkZS5MZWZ0ID8gdGhpcy5sZWZ0QW5jaG9yIDogdGhpcy5yaWdodEFuY2hvcixcbiAgICAgIHZhbHVlLFxuICAgICAgdHlwZSxcbiAgICApO1xuICAgIGNvbnN0IG5leHRSYW5nZSA9IG5leHROYXZSYW5nZVR5cGUobmF2UmFuZ2UsIERhdGVOYXZSYW5nZS5Nb250aCk7XG5cbiAgICBpZiAoc2lkZSA9PT0gU2lkZS5MZWZ0KSB7XG4gICAgICB0aGlzLmxlZnRBbmNob3IgPSBkYXRlVmFsdWU7XG4gICAgICB0aGlzLmxlZnREYXRlUmFuZ2UgPSBuZXh0UmFuZ2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmlnaHRBbmNob3IgPSBkYXRlVmFsdWU7XG4gICAgICB0aGlzLnJpZ2h0RGF0ZVJhbmdlID0gbmV4dFJhbmdlO1xuICAgIH1cblxuICAgIGlmIChuYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLk1vbnRoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGVmdEFuY2hvci5pc1NhbWUodGhpcy5yaWdodEFuY2hvciwgTU9OVEgpKSB7XG4gICAgICB0aGlzLnJpZ2h0QW5jaG9yID0gdGhpcy5yaWdodEFuY2hvci5hZGQoMSwgTU9OVEgpO1xuICAgIH1cblxuICAgIHRoaXMucmFuZ2VWYWx1ZSA9XG4gICAgICB0aGlzLnJhbmdlVmFsdWUubGVuZ3RoID09PSAyXG4gICAgICAgID8gW2RhdGVWYWx1ZV1cbiAgICAgICAgOiBzb3J0RGF0ZXMoWy4uLnRoaXMucmFuZ2VWYWx1ZSwgZGF0ZVZhbHVlXSk7XG4gICAgdGhpcy5tYXRjaFZhbHVlcyA9IFsuLi50aGlzLnJhbmdlVmFsdWVdO1xuICAgIHRoaXMuc3luY1RpbWUoKTtcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA9PT0gMikge1xuICAgICAgdGhpcy5yZW9yZGVyKHRoaXMucmFuZ2VWYWx1ZSk7XG4gICAgICB0aGlzLmNvbmZpcm1WYWx1ZSh0aGlzLnJhbmdlVmFsdWUsICF0aGlzLnNob3dUaW1lKTtcbiAgICB9XG4gIH1cblxuICByZW9yZGVyKHNvcnRlZERhdGU6IERheWpzW10pIHtcbiAgICBpZiAoIXNvcnRlZERhdGVbMF0uaXNTYW1lKHNvcnRlZERhdGVbMV0sIE1PTlRIKSkge1xuICAgICAgdGhpcy5sZWZ0QW5jaG9yID0gdXBkYXRlRGF0ZShcbiAgICAgICAgdGhpcy5sZWZ0QW5jaG9yLFxuICAgICAgICBzb3J0ZWREYXRlWzBdLFxuICAgICAgICBEYXRlUGlja2VyVHlwZS5EYXksXG4gICAgICApO1xuICAgICAgdGhpcy5yaWdodEFuY2hvciA9IHVwZGF0ZURhdGUoXG4gICAgICAgIHRoaXMubGVmdEFuY2hvcixcbiAgICAgICAgc29ydGVkRGF0ZVsxXSxcbiAgICAgICAgRGF0ZVBpY2tlclR5cGUuRGF5LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBob3Zlckl0ZW0oZGF0ZTogRGF5anMpIHtcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5tYXRjaFZhbHVlc1sxXSA9IGRhdGU7XG4gICAgfVxuICB9XG5cbiAgY29uZmlybVZhbHVlKHZhbHVlOiBEYXlqc1tdLCBjbG9zZVRoZW4gPSB0cnVlKSB7XG4gICAgdGhpcy5lbWl0VmFsdWUodmFsdWUpO1xuICAgIGNsb3NlVGhlbiAmJiB0aGlzLmNvbmZpcm0ubmV4dCgpO1xuICB9XG5cbiAgdGltZUNoYW5nZSh0aW1lOiBUaW1lUGlja2VyTW9kZWwpIHtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zeW5jVGltZSgpO1xuICAgIGlmICghdGhpcy5yYW5nZVZhbHVlPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB1cGRhdGVEYXRlQnlUaW1lTW9kZWwoZGF5anMoKSwgdGltZSk7XG4gICAgICB0aGlzLnJhbmdlVmFsdWUgPSBbZGF0ZSwgZGF0ZV07XG4gICAgICB0aGlzLm1hdGNoVmFsdWVzID0gWy4uLnRoaXMucmFuZ2VWYWx1ZV07XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IHRoaXMuZW5kVGltZSA9IHRpbWU7XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMucmFuZ2VWYWx1ZSk7XG4gIH1cblxuICBzeW5jVGltZSgpIHtcbiAgICBpZiAodGhpcy5zaG93VGltZSAmJiAhIXRoaXMucmFuZ2VWYWx1ZT8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLnJhbmdlVmFsdWVbMF1cbiAgICAgICAgPyB1cGRhdGVEYXRlQnlUaW1lTW9kZWwodGhpcy5yYW5nZVZhbHVlWzBdLCB0aGlzLnN0YXJ0VGltZSlcbiAgICAgICAgOiBudWxsO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMucmFuZ2VWYWx1ZVsxXVxuICAgICAgICA/IHVwZGF0ZURhdGVCeVRpbWVNb2RlbCh0aGlzLnJhbmdlVmFsdWVbMV0sIHRoaXMuZW5kVGltZSlcbiAgICAgICAgOiBudWxsO1xuICAgICAgaWYgKCF0aGlzLnN0YXJ0VGltZSAmJiBzdGFydERhdGUpIHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwodGhpcy5yYW5nZVZhbHVlWzBdKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5lbmRUaW1lICYmIGVuZERhdGUpIHtcbiAgICAgICAgdGhpcy5lbmRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKHRoaXMucmFuZ2VWYWx1ZVsxXSk7XG4gICAgICB9XG4gICAgICB0aGlzLnJhbmdlVmFsdWUgPSBbc3RhcnREYXRlLCBlbmREYXRlXS5maWx0ZXIoaSA9PiAhIWkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbnRhaW5lcicpXCI+XG4gIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdoZWFkZXInKVwiPlxuICAgIDxhdWktY2FsZW5kYXItaGVhZGVyXG4gICAgICBbZGF0ZU5hdlJhbmdlXT1cImxlZnREYXRlUmFuZ2VcIlxuICAgICAgW2FuY2hvcl09XCJsZWZ0QW5jaG9yXCJcbiAgICAgIChuYXZSYW5nZUNoYW5nZSk9XCJjYWxlbmRhclJhbmdlQ2hhbmdlKCRldmVudCwgU2lkZS5MZWZ0KVwiXG4gICAgICAoYW5jaG9yQ2hhbmdlKT1cImxlZnRBbmNob3IgPSAkZXZlbnRcIlxuICAgICAgW21heEF2YWlsXT1cIm1heEhlYWRlckF2YWlsXCJcbiAgICAgIFttaW5BdmFpbF09XCJtaW5EYXRlXCJcbiAgICA+PC9hdWktY2FsZW5kYXItaGVhZGVyPlxuICAgIDxhdWktY2FsZW5kYXItaGVhZGVyXG4gICAgICBbZGF0ZU5hdlJhbmdlXT1cInJpZ2h0RGF0ZVJhbmdlXCJcbiAgICAgIFthbmNob3JdPVwicmlnaHRBbmNob3JcIlxuICAgICAgKG5hdlJhbmdlQ2hhbmdlKT1cImNhbGVuZGFyUmFuZ2VDaGFuZ2UoJGV2ZW50LCBTaWRlLlJpZ2h0KVwiXG4gICAgICAoYW5jaG9yQ2hhbmdlKT1cInJpZ2h0QW5jaG9yID0gJGV2ZW50XCJcbiAgICAgIFttaW5BdmFpbF09XCJtaW5IZWFkZXJBdmFpbFwiXG4gICAgICBbbWF4QXZhaWxdPVwibWF4RGF0ZVwiXG4gICAgPjwvYXVpLWNhbGVuZGFyLWhlYWRlcj5cbiAgPC9kaXY+XG4gIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdib2R5JylcIj5cbiAgICA8YXVpLXBpY2tlci1wYW5lbFxuICAgICAgY2xhc3M9XCJwYW5lbF9fd3JhcHBlclwiXG4gICAgICBbbmF2UmFuZ2VdPVwibGVmdERhdGVSYW5nZVwiXG4gICAgICBbdHlwZV09XCJEYXRlUGlja2VyVHlwZS5EYXlcIlxuICAgICAgW2FuY2hvcl09XCJsZWZ0QW5jaG9yXCJcbiAgICAgIFttYXRjaERhdGVzXT1cIm1hdGNoVmFsdWVzXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbZGlzYWJsZWREYXRlXT1cImdldERhdGVEaXNhYmxlZEZuKFNpZGUuTGVmdCwgcmlnaHRBbmNob3IpXCJcbiAgICAgIFt3ZWVrU3RhcnREYXldPVwid2Vla1N0YXJ0RGF5XCJcbiAgICAgIChob3ZlcmVkKT1cImhvdmVySXRlbSgkZXZlbnQpXCJcbiAgICAgIChzZWxlY3QpPVwic2VsZWN0UGlja2VyUGFuZWwoJGV2ZW50LCBTaWRlLkxlZnQpXCJcbiAgICA+PC9hdWktcGlja2VyLXBhbmVsPlxuICAgIDxhdWktcGlja2VyLXBhbmVsXG4gICAgICBjbGFzcz1cInBhbmVsX193cmFwcGVyXCJcbiAgICAgIFtuYXZSYW5nZV09XCJyaWdodERhdGVSYW5nZVwiXG4gICAgICBbdHlwZV09XCJEYXRlUGlja2VyVHlwZS5EYXlcIlxuICAgICAgW2FuY2hvcl09XCJyaWdodEFuY2hvclwiXG4gICAgICBbd2Vla1N0YXJ0RGF5XT1cIndlZWtTdGFydERheVwiXG4gICAgICBbbWF0Y2hEYXRlc109XCJtYXRjaFZhbHVlc1wiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2Rpc2FibGVkRGF0ZV09XCJnZXREYXRlRGlzYWJsZWRGbihTaWRlLlJpZ2h0LCBsZWZ0QW5jaG9yKVwiXG4gICAgICAoaG92ZXJlZCk9XCJob3Zlckl0ZW0oJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdFBpY2tlclBhbmVsKCRldmVudCwgU2lkZS5SaWdodClcIlxuICAgID48L2F1aS1waWNrZXItcGFuZWw+XG4gIDwvZGl2PlxuXG4gIDxhdWktY2FsZW5kYXItZm9vdGVyXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdmb290ZXInKVwiXG4gICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuICAgIFtjbGVhclRleHRdPVwiY2xlYXJUZXh0XCJcbiAgICAoY2xlYXIpPVwiY2xlYXIubmV4dCgpXCJcbiAgICAoY29uZmlybSk9XCJjb25maXJtVmFsdWUocmFuZ2VWYWx1ZSlcIlxuICAgICpuZ0lmPVwic2hvd0Zvb3RlciAmJiBzaG93VGltZVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zvb3Rlci1jb250ZW50JylcIlxuICAgICAgKm5nSWY9XCJzaG93VGltZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXRlUGxhY2Vob2xkZXJcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgIHBsYWNlaG9sZGVyOiAnc3RhcnRfZGF0ZScgfCBhdWlJMThuLFxuICAgICAgICAgIHZhbHVlOiByYW5nZVZhbHVlWzBdXG4gICAgICAgIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPGF1aS10aW1lLXBpY2tlclxuICAgICAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInN0YXJ0VGltZVwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRpbWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlSG91cnNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdob3VycycpXCJcbiAgICAgICAgW2Rpc2FibGVNaW51dGVzXT1cImxlZnREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzBdLCAnbWludXRlcycpXCJcbiAgICAgICAgW2Rpc2FibGVTZWNvbmRzXT1cImxlZnREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzBdLCAnc2Vjb25kcycpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWxlY3RfdGltZScgfCBhdWlJMThuXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wIHN0YXJ0XCJcbiAgICAgID48L2F1aS10aW1lLXBpY2tlcj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJwbGFjZWhvbGRlciBzZXBhcmF0b3JcIj57eyAndG8nIHwgYXVpSTE4biB9fTwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF0ZVBsYWNlaG9sZGVyXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICBwbGFjZWhvbGRlcjogJ2VuZF9kYXRlJyB8IGF1aUkxOG4sXG4gICAgICAgICAgdmFsdWU6IHJhbmdlVmFsdWVbMV1cbiAgICAgICAgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8YXVpLXRpbWUtcGlja2VyXG4gICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZW5kVGltZVwiXG4gICAgICAgIFtkaXNhYmxlSG91cnNdPVwicmlnaHREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzFdLCAnaG91cnMnKVwiXG4gICAgICAgIFtkaXNhYmxlTWludXRlc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdtaW51dGVzJylcIlxuICAgICAgICBbZGlzYWJsZVNlY29uZHNdPVwicmlnaHREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzFdLCAnc2Vjb25kcycpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGltZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWxlY3RfdGltZScgfCBhdWlJMThuXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wIHN0YXJ0XCJcbiAgICAgID48L2F1aS10aW1lLXBpY2tlcj5cbiAgICA8L2Rpdj5cbiAgPC9hdWktY2FsZW5kYXItZm9vdGVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGF0ZVBsYWNlaG9sZGVyXG4gIGxldC1wbGFjZWhvbGRlcj1cInBsYWNlaG9sZGVyXCJcbiAgbGV0LXZhbHVlPVwidmFsdWVcIlxuPlxuICA8c3BhblxuICAgICpuZ0lmPVwiIXZhbHVlXCJcbiAgICBjbGFzcz1cInBsYWNlaG9sZGVyIGRhdGUtaG9sZGVyXCJcbiAgICA+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW5cbiAgPlxuICA8c3BhblxuICAgICpuZ0lmPVwidmFsdWVcIlxuICAgIGNsYXNzPVwiZGF0ZS12YWx1ZSBkYXRlLWhvbGRlclwiXG4gICAgPnt7IHZhbHVlIHwgZGF0ZSA6IEZPT1RFUl9EQVRFX0ZPUk1BVCB9fTwvc3BhblxuICA+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -20,6 +20,7 @@ const DRAWER_OVERLAY_BACKDROP_CLASS = 'aui-drawer-mask';
20
20
  export const duration = '300ms';
21
21
  export class DrawerInternalComponent {
22
22
  injector;
23
+ cdr;
23
24
  bodyPortalOutlet;
24
25
  mask;
25
26
  animationStep$ = new Subject();
@@ -45,8 +46,9 @@ export class DrawerInternalComponent {
45
46
  };
46
47
  }
47
48
  isTemplateRef = isTemplateRef;
48
- constructor(injector) {
49
+ constructor(injector, cdr) {
49
50
  this.injector = injector;
51
+ this.cdr = cdr;
50
52
  }
51
53
  ngAfterViewInit() {
52
54
  this.attachBodyContent();
@@ -113,6 +115,10 @@ export class DrawerInternalComponent {
113
115
  }
114
116
  }
115
117
  }
118
+ updateOptions(options) {
119
+ this.options = options;
120
+ this.cdr.markForCheck();
121
+ }
116
122
  show() {
117
123
  this.showHide$$.next('show');
118
124
  }
@@ -124,7 +130,7 @@ export class DrawerInternalComponent {
124
130
  this.hide();
125
131
  }
126
132
  }
127
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
128
134
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: DrawerInternalComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "bodyPortalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }, { propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [
129
135
  trigger('showHide', [
130
136
  state('show', style({
@@ -173,11 +179,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
173
179
  ]),
174
180
  ]),
175
181
  ], template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"] }]
176
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { bodyPortalOutlet: [{
182
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { bodyPortalOutlet: [{
177
183
  type: ViewChild,
178
184
  args: [CdkPortalOutlet, { static: false }]
179
185
  }], mask: [{
180
186
  type: ViewChild,
181
187
  args: ['mask']
182
188
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFFUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixZQUFZLEdBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxjQUFjLEVBQ2QsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRXhELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxhQUFh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QUUsQ0FBQztpQkFDbkQsQ0FBQzthQUNILENBQUM7U0FDSDs7MkZBRVUsdUJBQXVCO2tCQXpDbkMsU0FBUztvQ0FHTyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFNBQVM7cUJBQ1YsY0FDVzt3QkFDVixPQUFPLENBQUMsVUFBVSxFQUFFOzRCQUNsQixLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixTQUFTLEVBQUUsZUFBZTs2QkFDM0IsQ0FBQyxDQUNIOzRCQUNELEtBQUssQ0FDSCxZQUFZLEVBQ1osS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLFNBQVMsRUFBRSxrQkFBa0I7NkJBQzlCLENBQUMsQ0FDSDs0QkFDRCxVQUFVLENBQUMsNEJBQTRCLEVBQUU7Z0NBQ3ZDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsSUFBSSxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7NkJBQ2pELENBQUM7NEJBQ0YsVUFBVSxDQUFDLDRCQUE0QixFQUFFO2dDQUN2QyxPQUFPLENBQUMsR0FBRyxRQUFRLElBQUksY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDOzZCQUNuRCxDQUFDO3lCQUNILENBQUM7cUJBQ0g7K0ZBSUQsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJN0MsSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBBbmltYXRpb25FdmVudCxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENka1BvcnRhbE91dGxldCxcbiAgQ29tcG9uZW50UG9ydGFsLFxuICBQb3J0YWxNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0NsYXNzLFxuICBOZ0lmLFxuICBOZ1N0eWxlLFxuICBOZ1RlbXBsYXRlT3V0bGV0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUaW1pbmdGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvcmUvYW5pbWF0aW9uL2FuaW1hdGlvbi1jb25zdHMnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgaGFuZGxlUGl4ZWwsIGlzVGVtcGxhdGVSZWYgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbC91dGlscyc7XG5pbXBvcnQgeyBEcmF3ZXJPcHRpb25zLCBEcmF3ZXJTaXplIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbignZHJhd2VyLWRhdGEnKTtcblxuY29uc3QgU0laRV9NQVBQRVIgPSB7XG4gIFtEcmF3ZXJTaXplLlNtYWxsXTogNDAwLFxuICBbRHJhd2VyU2l6ZS5NZWRpdW1dOiA2MDAsXG4gIFtEcmF3ZXJTaXplLkJpZ106IDgwMCxcbn07XG5jb25zdCBEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTUyA9ICdhdWktZHJhd2VyLW1hc2snO1xuXG5leHBvcnQgY29uc3QgZHVyYXRpb24gPSAnMzAwbXMnO1xuXG50eXBlIFN0ZXAgPSAnc2hvd1N0YXJ0JyB8ICdzaG93RG9uZScgfCAnaGlkZVN0YXJ0JyB8ICdoaWRlRG9uZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJuYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmdDbGFzcyxcbiAgICBOZ1N0eWxlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBDZGtTY3JvbGxhYmxlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzaG93SGlkZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAnc2hvdycsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2hpZGUsIHZvaWQnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbignaGlkZSA9PiBzaG93LCB2b2lkID0+IHNob3cnLCBbXG4gICAgICAgIGFuaW1hdGUoYCR7ZHVyYXRpb259ICR7VGltaW5nRnVuY3Rpb24uZWFzZU91dH1gKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignc2hvdyA9PiBoaWRlLCBzaG93ID0+IHZvaWQnLCBbXG4gICAgICAgIGFuaW1hdGUoYCR7ZHVyYXRpb259ICR7VGltaW5nRnVuY3Rpb24uZWFzZUluT3V0fWApLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckludGVybmFsQ29tcG9uZW50PFQgPSB1bmtub3duLCBDIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiB7XG4gIEBWaWV3Q2hpbGQoQ2RrUG9ydGFsT3V0bGV0LCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgYm9keVBvcnRhbE91dGxldDogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gIEBWaWV3Q2hpbGQoJ21hc2snKVxuICBtYXNrOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBhbmltYXRpb25TdGVwJCA9IG5ldyBTdWJqZWN0PFN0ZXA+KCk7XG5cbiAgb3B0aW9uczogRHJhd2VyT3B0aW9uczxULCBDPjtcbiAgc2hvd0hpZGUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8J3Nob3cnIHwgJ2hpZGUnPignaGlkZScpO1xuICBtYXNrVmlzaWJsZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGdldCBkcmF3ZXJDbGFzc2VzKCk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2F1aS1kcmF3ZXInOiB0cnVlLFxuICAgICAgaGFzRGl2aWRlcjogdGhpcy5vcHRpb25zLmRpdmlkZXIsXG4gICAgICAuLi4odGhpcy5vcHRpb25zLmRyYXdlckNsYXNzXG4gICAgICAgID8geyBbdGhpcy5vcHRpb25zLmRyYXdlckNsYXNzXTogdHJ1ZSB9XG4gICAgICAgIDogbnVsbCksXG4gICAgfTtcbiAgfVxuXG4gIGdldCB3aWR0aCgpIHtcbiAgICByZXR1cm4gaGFuZGxlUGl4ZWwoXG4gICAgICB0aGlzLm9wdGlvbnMud2lkdGggfHwgU0laRV9NQVBQRVJbdGhpcy5vcHRpb25zLnNpemUgfHwgRHJhd2VyU2l6ZS5NZWRpdW1dLFxuICAgICk7XG4gIH1cblxuICBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJGltcGxpY2l0OiB0aGlzLm9wdGlvbnMuY29udGVudFBhcmFtcyxcbiAgICAgIC4uLnRoaXMub3B0aW9ucy5jb250ZW50UGFyYW1zLFxuICAgIH07XG4gIH1cblxuICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hdHRhY2hCb2R5Q29udGVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hCb2R5Q29udGVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmJvZHlQb3J0YWxPdXRsZXQ/LmRpc3Bvc2UoKTtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5vcHRpb25zLmNvbnRlbnQ7XG4gICAgaWYgKCEoY29udGVudCBpbnN0YW5jZW9mIFR5cGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8VD4oXG4gICAgICBjb250ZW50LFxuICAgICAgbnVsbCxcbiAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERBVEEsXG4gICAgICAgICAgICB1c2VWYWx1ZTogdGhpcy5vcHRpb25zLmNvbnRlbnRQYXJhbXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgfSksXG4gICAgKTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPVxuICAgICAgdGhpcy5ib2R5UG9ydGFsT3V0bGV0Py5hdHRhY2hDb21wb25lbnRQb3J0YWwoY29tcG9uZW50UG9ydGFsKTtcbiAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwgdGhpcy5vcHRpb25zLmNvbnRlbnRQYXJhbXMpO1xuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkFuaW1hdGlvbihldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBjb25zdCB7IHBoYXNlTmFtZSwgdG9TdGF0ZSB9ID0gZXZlbnQ7XG4gICAgaWYgKCFbJ3Nob3cnLCAnaGlkZSddLmluY2x1ZGVzKHRvU3RhdGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3RlcCA9IFtcbiAgICAgIHRvU3RhdGUsXG4gICAgICBwaGFzZU5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwaGFzZU5hbWUuc2xpY2UoMSksXG4gICAgXS5qb2luKCcnKSBhcyBTdGVwO1xuICAgIHRoaXMuYW5pbWF0aW9uU3RlcCQubmV4dChzdGVwKTtcblxuICAgIGNvbnN0IGJhY2tkcm9wRWxlbWVudCA9IHRoaXMubWFzaz8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIWJhY2tkcm9wRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVudGVycyA9IFtcbiAgICAgIGAke0RSQVdFUl9PVkVSTEFZX0JBQ0tEUk9QX0NMQVNTfS1lbnRlcmAsXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tZW50ZXItYWN0aXZlYCxcbiAgICBdO1xuICAgIGNvbnN0IGxlYXZlcyA9IFtcbiAgICAgIGAke0RSQVdFUl9PVkVSTEFZX0JBQ0tEUk9QX0NMQVNTfS1sZWF2ZWAsXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tbGVhdmUtYWN0aXZlYCxcbiAgICBdO1xuICAgIHN3aXRjaCAoc3RlcCkge1xuICAgICAgY2FzZSAnc2hvd1N0YXJ0Jzoge1xuICAgICAgICBiYWNrZHJvcEVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5lbnRlcnMpO1xuICAgICAgICB0aGlzLm1hc2tWaXNpYmxlJC5uZXh0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2hpZGVTdGFydCc6IHtcbiAgICAgICAgYmFja2Ryb3BFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4ubGVhdmVzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdzaG93RG9uZSc6IHtcbiAgICAgICAgYmFja2Ryb3BFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoLi4uZW50ZXJzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdoaWRlRG9uZSc6IHtcbiAgICAgICAgdGhpcy5tYXNrVmlzaWJsZSQubmV4dChmYWxzZSk7XG4gICAgICAgIGJhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmxlYXZlcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNob3coKSB7XG4gICAgdGhpcy5zaG93SGlkZSQkLm5leHQoJ3Nob3cnKTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5zaG93SGlkZSQkLm5leHQoJ2hpZGUnKTtcbiAgfVxuXG4gIG1hc2tDbGljaygpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLm1hc2tDbG9zYWJsZSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICNtYXNrXG4gIGNsYXNzPVwiYXVpLWRyYXdlci1tYXNrXCJcbiAgKm5nSWY9XCJvcHRpb25zLm1hc2tcIlxuICBbY2xhc3MuaXNPcGVuXT1cIm1hc2tWaXNpYmxlJCB8IGFzeW5jXCJcbiAgKGNsaWNrKT1cIm1hc2tDbGljaygpXCJcbj48L2Rpdj5cbjxkaXZcbiAgW3N0eWxlLm1hcmdpblRvcF09XCJvcHRpb25zLm9mZnNldFlcIlxuICBbbmdDbGFzc109XCJkcmF3ZXJDbGFzc2VzXCJcbiAgW0BzaG93SGlkZV09XCJzaG93SGlkZSQkIHwgYXN5bmNcIlxuICAoQHNob3dIaWRlLnN0YXJ0KT1cIm9uQW5pbWF0aW9uKCRldmVudClcIlxuICAoQHNob3dIaWRlLmRvbmUpPVwib25BbmltYXRpb24oJGV2ZW50KVwiXG4gIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhdWktZHJhd2VyX19jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX2JvZHktd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX2hlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVpLWRyYXdlcl9fdGl0bGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYob3B0aW9ucy50aXRsZSk7IGVsc2Ugbm9ybWFsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbnMudGl0bGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vcm1hbD5cbiAgICAgICAgICAgIHt7IG9wdGlvbnMudGl0bGUgfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgKm5nSWY9XCJvcHRpb25zLnNob3dDbG9zZVwiXG4gICAgICAgICAgY2xhc3M9XCJhdWktZHJhd2VyX19jbG9zZVwiXG4gICAgICAgICAgaWNvbj1cInhtYXJrXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGlkZSgpXCJcbiAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImF1aS1kcmF3ZXJfX2JvZHlcIlxuICAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBjZGtQb3J0YWxPdXRsZXQ+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb25zLmNvbnRlbnQpXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25zLmNvbnRlbnRcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwib3B0aW9ucy5mb290ZXJcIlxuICAgICAgICBjbGFzcz1cImF1aS1kcmF3ZXJfX2Zvb3RlclwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYob3B0aW9ucy5mb290ZXIpOyBlbHNlIG5vcm1hbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9ucy5mb290ZXJcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vcm1hbD5cbiAgICAgICAgICB7eyBvcHRpb25zLmZvb3RlciB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFFUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixZQUFZLEdBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxjQUFjLEVBQ2QsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRXhELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV0RCxNQUFNLFdBQVcsR0FBRztJQUNsQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHO0lBQ3ZCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUc7SUFDeEIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRztDQUN0QixDQUFDO0FBQ0YsTUFBTSw2QkFBNkIsR0FBRyxpQkFBaUIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBNkNoQyxNQUFNLE9BQU8sdUJBQXVCO0lBdUNmO0lBQ0E7SUF0Q25CLGdCQUFnQixDQUFrQjtJQUdsQyxJQUFJLENBQTZCO0lBRWpDLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXJDLE9BQU8sQ0FBc0I7SUFDN0IsVUFBVSxHQUFHLElBQUksZUFBZSxDQUFrQixNQUFNLENBQUMsQ0FBQztJQUMxRCxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUV0QyxJQUFJLGFBQWE7UUFDZixPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUNoQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUMxQixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFO2dCQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLFdBQVcsQ0FDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtZQUNyQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsR0FBRyxhQUFhLENBQUM7SUFFOUIsWUFDbUIsUUFBa0IsRUFDbEIsR0FBc0I7UUFEdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUN0QyxDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxDQUFDLE9BQU8sWUFBWSxJQUFJLENBQUMsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FDekMsT0FBTyxFQUNQLElBQUksRUFDSixRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ2QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxJQUFJO29CQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7aUJBQ3JDO2FBQ0Y7WUFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxDQUNILENBQUM7UUFDRixNQUFNLFlBQVksR0FDaEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pFLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXFCO1FBQy9CLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkMsT0FBTztTQUNSO1FBRUQsTUFBTSxJQUFJLEdBQUc7WUFDWCxPQUFPO1lBQ1AsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN2RCxDQUFDLElBQUksQ0FBQyxFQUFFLENBQVMsQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3BCLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyw2QkFBNkIsUUFBUTtZQUN4QyxHQUFHLDZCQUE2QixlQUFlO1NBQ2hELENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRztZQUNiLEdBQUcsNkJBQTZCLFFBQVE7WUFDeEMsR0FBRyw2QkFBNkIsZUFBZTtTQUNoRCxDQUFDO1FBQ0YsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLFdBQVcsQ0FBQyxDQUFDO2dCQUNoQixlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsTUFBTTthQUNQO1lBQ0QsS0FBSyxXQUFXLENBQUMsQ0FBQztnQkFDaEIsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztnQkFDekMsTUFBTTthQUNQO1lBQ0QsS0FBSyxVQUFVLENBQUMsQ0FBQztnQkFDZixlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QyxNQUFNO2FBQ1A7WUFDRCxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QixlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QyxNQUFNO2FBQ1A7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsT0FBNEI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzt1R0F4SVUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsMEhBQ3ZCLGVBQWUsK0hDOUY1Qiw0MERBaUVBLHc5R0ROSSxJQUFJLDZGQUNKLE9BQU8sb0ZBRVAsZ0JBQWdCLG9KQUNoQixhQUFhLDRKQUNiLGFBQWEsNkVBQ2IsWUFBWSw2TEFDWixTQUFTLGdDQUVDO1lBQ1YsT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDbEIsS0FBSyxDQUNILE1BQU0sRUFDTixLQUFLLENBQUM7b0JBQ0osT0FBTyxFQUFFLENBQUM7b0JBQ1YsU0FBUyxFQUFFLGVBQWU7aUJBQzNCLENBQUMsQ0FDSDtnQkFDRCxLQUFLLENBQ0gsWUFBWSxFQUNaLEtBQUssQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztvQkFDVixTQUFTLEVBQUUsa0JBQWtCO2lCQUM5QixDQUFDLENBQ0g7Z0JBQ0QsVUFBVSxDQUFDLDRCQUE0QixFQUFFO29CQUN2QyxPQUFPLENBQUMsR0FBRyxRQUFRLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUNqRCxDQUFDO2dCQUNGLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRTtvQkFDdkMsT0FBTyxDQUFDLEdBQUcsUUFBUSxJQUFJLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztpQkFDbkQsQ0FBQzthQUNILENBQUM7U0FDSDs7MkZBRVUsdUJBQXVCO2tCQXpDbkMsU0FBUztvQ0FHTyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFNBQVM7cUJBQ1YsY0FDVzt3QkFDVixPQUFPLENBQUMsVUFBVSxFQUFFOzRCQUNsQixLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixTQUFTLEVBQUUsZUFBZTs2QkFDM0IsQ0FBQyxDQUNIOzRCQUNELEtBQUssQ0FDSCxZQUFZLEVBQ1osS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLFNBQVMsRUFBRSxrQkFBa0I7NkJBQzlCLENBQUMsQ0FDSDs0QkFDRCxVQUFVLENBQUMsNEJBQTRCLEVBQUU7Z0NBQ3ZDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsSUFBSSxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7NkJBQ2pELENBQUM7NEJBQ0YsVUFBVSxDQUFDLDRCQUE0QixFQUFFO2dDQUN2QyxPQUFPLENBQUMsR0FBRyxRQUFRLElBQUksY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDOzZCQUNuRCxDQUFDO3lCQUNILENBQUM7cUJBQ0g7K0hBSUQsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJN0MsSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBBbmltYXRpb25FdmVudCxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENka1BvcnRhbE91dGxldCxcbiAgQ29tcG9uZW50UG9ydGFsLFxuICBQb3J0YWxNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0NsYXNzLFxuICBOZ0lmLFxuICBOZ1N0eWxlLFxuICBOZ1RlbXBsYXRlT3V0bGV0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVGltaW5nRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb3JlL2FuaW1hdGlvbi9hbmltYXRpb24tY29uc3RzJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IGhhbmRsZVBpeGVsLCBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWwvdXRpbHMnO1xuaW1wb3J0IHsgRHJhd2VyT3B0aW9ucywgRHJhd2VyU2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IERBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2RyYXdlci1kYXRhJyk7XG5cbmNvbnN0IFNJWkVfTUFQUEVSID0ge1xuICBbRHJhd2VyU2l6ZS5TbWFsbF06IDQwMCxcbiAgW0RyYXdlclNpemUuTWVkaXVtXTogNjAwLFxuICBbRHJhd2VyU2l6ZS5CaWddOiA4MDAsXG59O1xuY29uc3QgRFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1MgPSAnYXVpLWRyYXdlci1tYXNrJztcblxuZXhwb3J0IGNvbnN0IGR1cmF0aW9uID0gJzMwMG1zJztcblxudHlwZSBTdGVwID0gJ3Nob3dTdGFydCcgfCAnc2hvd0RvbmUnIHwgJ2hpZGVTdGFydCcgfCAnaGlkZURvbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJuYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE5nQ2xhc3MsXG4gICAgTmdTdHlsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgQ2RrU2Nyb2xsYWJsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Nob3cnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRlLCB2b2lkJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ2hpZGUgPT4gc2hvdywgdm9pZCA9PiBzaG93JywgW1xuICAgICAgICBhbmltYXRlKGAke2R1cmF0aW9ufSAke1RpbWluZ0Z1bmN0aW9uLmVhc2VPdXR9YCksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Nob3cgPT4gaGlkZSwgc2hvdyA9PiB2b2lkJywgW1xuICAgICAgICBhbmltYXRlKGAke2R1cmF0aW9ufSAke1RpbWluZ0Z1bmN0aW9uLmVhc2VJbk91dH1gKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJJbnRlcm5hbENvbXBvbmVudDxUID0gdW5rbm93biwgQyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4ge1xuICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGJvZHlQb3J0YWxPdXRsZXQ6IENka1BvcnRhbE91dGxldDtcblxuICBAVmlld0NoaWxkKCdtYXNrJylcbiAgbWFzazogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgYW5pbWF0aW9uU3RlcCQgPSBuZXcgU3ViamVjdDxTdGVwPigpO1xuXG4gIG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz47XG4gIHNob3dIaWRlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdzaG93JyB8ICdoaWRlJz4oJ2hpZGUnKTtcbiAgbWFza1Zpc2libGUkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBnZXQgZHJhd2VyQ2xhc3NlcygpOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdhdWktZHJhd2VyJzogdHJ1ZSxcbiAgICAgIGhhc0RpdmlkZXI6IHRoaXMub3B0aW9ucy5kaXZpZGVyLFxuICAgICAgLi4uKHRoaXMub3B0aW9ucy5kcmF3ZXJDbGFzc1xuICAgICAgICA/IHsgW3RoaXMub3B0aW9ucy5kcmF3ZXJDbGFzc106IHRydWUgfVxuICAgICAgICA6IG51bGwpLFxuICAgIH07XG4gIH1cblxuICBnZXQgd2lkdGgoKSB7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKFxuICAgICAgdGhpcy5vcHRpb25zLndpZHRoIHx8IFNJWkVfTUFQUEVSW3RoaXMub3B0aW9ucy5zaXplIHx8IERyYXdlclNpemUuTWVkaXVtXSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogdGhpcy5vcHRpb25zLmNvbnRlbnRQYXJhbXMsXG4gICAgICAuLi50aGlzLm9wdGlvbnMuY29udGVudFBhcmFtcyxcbiAgICB9O1xuICB9XG5cbiAgaXNUZW1wbGF0ZVJlZiA9IGlzVGVtcGxhdGVSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYXR0YWNoQm9keUNvbnRlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoQm9keUNvbnRlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5ib2R5UG9ydGFsT3V0bGV0Py5kaXNwb3NlKCk7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMub3B0aW9ucy5jb250ZW50O1xuICAgIGlmICghKGNvbnRlbnQgaW5zdGFuY2VvZiBUeXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPFQ+KFxuICAgICAgY29udGVudCxcbiAgICAgIG51bGwsXG4gICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEQVRBLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMub3B0aW9ucy5jb250ZW50UGFyYW1zLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgIH0pLFxuICAgICk7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID1cbiAgICAgIHRoaXMuYm9keVBvcnRhbE91dGxldD8uYXR0YWNoQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudFBvcnRhbCk7XG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMub3B0aW9ucy5jb250ZW50UGFyYW1zKTtcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25BbmltYXRpb24oZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgY29uc3QgeyBwaGFzZU5hbWUsIHRvU3RhdGUgfSA9IGV2ZW50O1xuICAgIGlmICghWydzaG93JywgJ2hpZGUnXS5pbmNsdWRlcyh0b1N0YXRlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0ZXAgPSBbXG4gICAgICB0b1N0YXRlLFxuICAgICAgcGhhc2VOYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcGhhc2VOYW1lLnNsaWNlKDEpLFxuICAgIF0uam9pbignJykgYXMgU3RlcDtcbiAgICB0aGlzLmFuaW1hdGlvblN0ZXAkLm5leHQoc3RlcCk7XG5cbiAgICBjb25zdCBiYWNrZHJvcEVsZW1lbnQgPSB0aGlzLm1hc2s/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFiYWNrZHJvcEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRlcnMgPSBbXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tZW50ZXJgLFxuICAgICAgYCR7RFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1N9LWVudGVyLWFjdGl2ZWAsXG4gICAgXTtcbiAgICBjb25zdCBsZWF2ZXMgPSBbXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tbGVhdmVgLFxuICAgICAgYCR7RFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1N9LWxlYXZlLWFjdGl2ZWAsXG4gICAgXTtcbiAgICBzd2l0Y2ggKHN0ZXApIHtcbiAgICAgIGNhc2UgJ3Nob3dTdGFydCc6IHtcbiAgICAgICAgYmFja2Ryb3BFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uZW50ZXJzKTtcbiAgICAgICAgdGhpcy5tYXNrVmlzaWJsZSQubmV4dCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdoaWRlU3RhcnQnOiB7XG4gICAgICAgIGJhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKC4uLmxlYXZlcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnc2hvd0RvbmUnOiB7XG4gICAgICAgIGJhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmVudGVycyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnaGlkZURvbmUnOiB7XG4gICAgICAgIHRoaXMubWFza1Zpc2libGUkLm5leHQoZmFsc2UpO1xuICAgICAgICBiYWNrZHJvcEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5sZWF2ZXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVPcHRpb25zKG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz4pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgc2hvdygpIHtcbiAgICB0aGlzLnNob3dIaWRlJCQubmV4dCgnc2hvdycpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLnNob3dIaWRlJCQubmV4dCgnaGlkZScpO1xuICB9XG5cbiAgbWFza0NsaWNrKCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMubWFza0Nsb3NhYmxlKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgI21hc2tcbiAgY2xhc3M9XCJhdWktZHJhd2VyLW1hc2tcIlxuICAqbmdJZj1cIm9wdGlvbnMubWFza1wiXG4gIFtjbGFzcy5pc09wZW5dPVwibWFza1Zpc2libGUkIHwgYXN5bmNcIlxuICAoY2xpY2spPVwibWFza0NsaWNrKClcIlxuPjwvZGl2PlxuPGRpdlxuICBbc3R5bGUubWFyZ2luVG9wXT1cIm9wdGlvbnMub2Zmc2V0WVwiXG4gIFtuZ0NsYXNzXT1cImRyYXdlckNsYXNzZXNcIlxuICBbQHNob3dIaWRlXT1cInNob3dIaWRlJCQgfCBhc3luY1wiXG4gIChAc2hvd0hpZGUuc3RhcnQpPVwib25BbmltYXRpb24oJGV2ZW50KVwiXG4gIChAc2hvd0hpZGUuZG9uZSk9XCJvbkFuaW1hdGlvbigkZXZlbnQpXCJcbiAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcbj5cbiAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVpLWRyYXdlcl9fYm9keS13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVpLWRyYXdlcl9faGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdWktZHJhd2VyX190aXRsZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb25zLnRpdGxlKTsgZWxzZSBub3JtYWxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9ucy50aXRsZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9ybWFsPlxuICAgICAgICAgICAge3sgb3B0aW9ucy50aXRsZSB9fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAqbmdJZj1cIm9wdGlvbnMuc2hvd0Nsb3NlXCJcbiAgICAgICAgICBjbGFzcz1cImF1aS1kcmF3ZXJfX2Nsb3NlXCJcbiAgICAgICAgICBpY29uPVwieG1hcmtcIlxuICAgICAgICAgIChjbGljayk9XCJoaWRlKClcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYXVpLWRyYXdlcl9fYm9keVwiXG4gICAgICAgIGNka1Njcm9sbGFibGVcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKG9wdGlvbnMuY29udGVudClcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbnMuY29udGVudFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJvcHRpb25zLmZvb3RlclwiXG4gICAgICAgIGNsYXNzPVwiYXVpLWRyYXdlcl9fZm9vdGVyXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb25zLmZvb3Rlcik7IGVsc2Ugbm9ybWFsXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25zLmZvb3RlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9ybWFsPlxuICAgICAgICAgIHt7IG9wdGlvbnMuZm9vdGVyIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -29,7 +29,7 @@ export class DrawerService {
29
29
  open(options) {
30
30
  this.updateOptions(options);
31
31
  this.createOverlay();
32
- this.createDrawer();
32
+ this.updateDrawer();
33
33
  this.drawerRef = new DrawerRef(this.drawerInternalComponentRef.instance);
34
34
  this.drawerRef.open();
35
35
  return this.drawerRef;
@@ -63,12 +63,13 @@ export class DrawerService {
63
63
  });
64
64
  }
65
65
  }
66
- createDrawer() {
66
+ updateDrawer() {
67
+ const drawerInternalComponentRef = this.drawerInternalComponentRef ||
68
+ this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
69
+ drawerInternalComponentRef.instance.updateOptions(this.options);
67
70
  if (this.drawerInternalComponentRef) {
68
71
  return;
69
72
  }
70
- const drawerInternalComponentRef = this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
71
- drawerInternalComponentRef.instance.options = this.options;
72
73
  drawerInternalComponentRef.instance.animationStep$.subscribe(step => {
73
74
  if (step === 'hideDone') {
74
75
  this.invisible$.next();
@@ -116,4 +117,4 @@ function merge(target, source) {
116
117
  ...target,
117
118
  });
118
119
  }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2RyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXBELE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNO0lBQ3ZCLE9BQU8sRUFBRSxHQUFHO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLElBQUk7Q0FDVyxDQUFDO0FBR25DLE1BQU0sT0FBTyxhQUFhO0lBYUs7SUFSckIsVUFBVSxDQUFhO0lBQy9CLE9BQU8sQ0FBc0I7SUFDN0IsU0FBUyxDQUFxQjtJQUM5QixVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUN6QiwwQkFBMEIsQ0FFaEM7SUFFRixZQUE2QixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUcsQ0FBQztJQUVqRCxJQUFJLENBQUMsT0FBNEI7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FB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RTtRQUNaLE1BQU0sR0FBRyxHQUFHLElBQWUsQ0FBQztRQUM1QixJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDN0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNEO1FBQ0UsR0FBRyxNQUFNO0tBQ1YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIGZyb21FdmVudCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERyYXdlckludGVybmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50JztcbmltcG9ydCB7IERyYXdlclJlZiB9IGZyb20gJy4vZHJhd2VyLXJlZic7XG5pbXBvcnQgeyBEcmF3ZXJPcHRpb25zLCBEcmF3ZXJTaXplIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IERSQVdFUl9PVkVSTEFZX0NMQVNTID0gJ2F1aS1kcmF3ZXItb3ZlcmxheSc7XG5jb25zdCBERUZBVUxUX09QVElPTlMgPSB7XG4gIHNpemU6IERyYXdlclNpemUuTWVkaXVtLFxuICBvZmZzZXRZOiAnMCcsXG4gIHNob3dDbG9zZTogdHJ1ZSxcbiAgaGlkZU9uQ2xpY2tPdXRzaWRlOiBmYWxzZSxcbiAgZGl2aWRlcjogdHJ1ZSxcbiAgZGlzcG9zZVdoZW5IaWRlOiB0cnVlLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgRHJhd2VyT3B0aW9ucztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERyYXdlclNlcnZpY2U8XG4gIFQgPSB1bmtub3duLFxuICBDIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0LFxuICBSID0gdW5rbm93bixcbj4ge1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz47XG4gIGRyYXdlclJlZjogRHJhd2VyUmVmPFQsIEMsIFI+O1xuICBpbnZpc2libGUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFxuICAgIERyYXdlckludGVybmFsQ29tcG9uZW50PFQsIEM+XG4gID47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIG9wZW4ob3B0aW9uczogRHJhd2VyT3B0aW9uczxULCBDPikge1xuICAgIHRoaXMudXBkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmNyZWF0ZURyYXdlcigpO1xuICAgIHRoaXMuZHJhd2VyUmVmID0gbmV3IERyYXdlclJlZjxULCBDLCBSPihcbiAgICAgIHRoaXMuZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYuaW5zdGFuY2UsXG4gICAgKTtcbiAgICB0aGlzLmRyYXdlclJlZi5vcGVuKCk7XG5cbiAgICByZXR1cm4gdGhpcy5kcmF3ZXJSZWY7XG4gIH1cblxuICB1cGRhdGVPcHRpb25zKG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz4pOiB2b2lkIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBtZXJnZTxEcmF3ZXJPcHRpb25zPFQsIEM+PihERUZBVUxUX09QVElPTlMsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCkge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMuZ2V0T3ZlcmxheUNvbmZpZygpKTtcbiAgICB9XG5cbiAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgIC5vdXRzaWRlUG9pbnRlckV2ZW50cygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5pbnZpc2libGUkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAvLyDliKTmlq3pvKDmoIfngrnlh7vkuovku7bnmoQgdGFyZ2V0IOaYr+WQpuS4uiBvdmVybGF5LWNvbnRhaW5lciDnmoTlrZDoioLngrnvvIzlpoLmnpzmmK/vvIzliJnkuI3lhbPpl60gZHJhd2Vy44CCXG4gICAgICAgIC8vIOS4uuS6humBv+WFjeeCueWHuyBkcmF3ZXIg6YeM55qEIHRvb2x0aXAg5ZCOIGRyYXdlciDooqvlhbPpl63jgIJcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiAmJlxuICAgICAgICAgIHRoaXMub3B0aW9ucy5oaWRlT25DbGlja091dHNpZGUgJiZcbiAgICAgICAgICBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBOb2RlICYmXG4gICAgICAgICAgIXRoaXMub3ZlcmxheVJlZi5ob3N0RWxlbWVudD8ucGFyZW50Tm9kZT8uY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuZHJhd2VyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnNjcm9sbFN0cmF0ZWd5LmVuYWJsZSgpO1xuICAgIGlmICh0aGlzLm9wdGlvbnMubWFzaykge1xuICAgICAgLy8gSXNzdWVzOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy8xMDg0MVxuICAgICAgLy8gc2Nyb2xsU3RyYXRlZ3kg5Li6IEJsb2NrIOaXtu+8jOiLpeWIm+W7uiBPdmVybGF5IOaXtu+8jOmrmOW6puS4jei2s+S7peWHuueOsOa7muWKqO+8jOWImSBzY3JvbGxTdHJhdGVneSDkuI3kvJrnlJ/mlYhcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAoKSA9PiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0LFxuICAgICAgICAgICksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuaW52aXNpYmxlJCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnNjcm9sbFN0cmF0ZWd5LmVuYWJsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURyYXdlcigpIHtcbiAgICBpZiAodGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2goXG4gICAgICBuZXcgQ29tcG9uZW50UG9ydGFsKERyYXdlckludGVybmFsQ29tcG9uZW50PFQsIEM+KSxcbiAgICApO1xuICAgIGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmLmluc3RhbmNlLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYuaW5zdGFuY2UuYW5pbWF0aW9uU3RlcCQuc3Vic2NyaWJlKHN0ZXAgPT4ge1xuICAgICAgaWYgKHN0ZXAgPT09ICdoaWRlRG9uZScpIHtcbiAgICAgICAgdGhpcy5pbnZpc2libGUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5vcHRpb25zLmRpc3Bvc2VXaGVuSGlkZSAmJiB0aGlzLmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5nZXRDb25maWcoKS5zY3JvbGxTdHJhdGVneS5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZiA9IGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBwYW5lbENsYXNzOiBEUkFXRVJfT1ZFUkxBWV9DTEFTUyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3B0aW9ucy5tYXNrXG4gICAgICAgID8gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKVxuICAgICAgICA6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLm5vb3AoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZSgpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkuc2Nyb2xsU3RyYXRlZ3kuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYgPSBudWxsO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pbnZpc2libGUkLm5leHQoKTtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtZXJnZTxUIGV4dGVuZHMgb2JqZWN0Pih0YXJnZXQ6IFQsIHNvdXJjZTogVCkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoXG4gICAgKGFjYywgX2tleSkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gX2tleSBhcyBrZXlvZiBUO1xuICAgICAgaWYgKHNvdXJjZVtrZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYWNjW2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7XG4gICAgICAuLi50YXJnZXQsXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2RyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXBELE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNO0lBQ3ZCLE9BQU8sRUFBRSxHQUFHO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLElBQUk7Q0FDVyxDQUFDO0FBR25DLE1BQU0sT0FBTyxhQUFhO0lBYUs7SUFSckIsVUFBVSxDQUFhO0lBQy9CLE9BQU8sQ0FBc0I7SUFDN0IsU0FBUyxDQUFxQjtJQUM5QixVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUN6QiwwQkFBMEIsQ0FFaEM7SUFFRixZQUE2QixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUcsQ0FBQztJQUVqRCxJQUFJLENBQUMsT0FBNEI7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FB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LENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ1osTUFBTSxHQUFHLEdBQUcsSUFBZSxDQUFDO1FBQzVCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUM3QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0Q7UUFDRSxHQUFHLE1BQU07S0FDVixDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRHJhd2VySW50ZXJuYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9pbnRlcm5hbC9pbnRlcm5hbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhd2VyUmVmIH0gZnJvbSAnLi9kcmF3ZXItcmVmJztcbmltcG9ydCB7IERyYXdlck9wdGlvbnMsIERyYXdlclNpemUgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgRFJBV0VSX09WRVJMQVlfQ0xBU1MgPSAnYXVpLWRyYXdlci1vdmVybGF5JztcbmNvbnN0IERFRkFVTFRfT1BUSU9OUyA9IHtcbiAgc2l6ZTogRHJhd2VyU2l6ZS5NZWRpdW0sXG4gIG9mZnNldFk6ICcwJyxcbiAgc2hvd0Nsb3NlOiB0cnVlLFxuICBoaWRlT25DbGlja091dHNpZGU6IGZhbHNlLFxuICBkaXZpZGVyOiB0cnVlLFxuICBkaXNwb3NlV2hlbkhpZGU6IHRydWUsXG59IGFzIGNvbnN0IHNhdGlzZmllcyBEcmF3ZXJPcHRpb25zO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHJhd2VyU2VydmljZTxcbiAgVCA9IHVua25vd24sXG4gIEMgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3QsXG4gIFIgPSB1bmtub3duLFxuPiB7XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgb3B0aW9uczogRHJhd2VyT3B0aW9uczxULCBDPjtcbiAgZHJhd2VyUmVmOiBEcmF3ZXJSZWY8VCwgQywgUj47XG4gIGludmlzaWJsZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8XG4gICAgRHJhd2VySW50ZXJuYWxDb21wb25lbnQ8VCwgQz5cbiAgPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXkpIHt9XG5cbiAgb3BlbihvcHRpb25zOiBEcmF3ZXJPcHRpb25zPFQsIEM+KSB7XG4gICAgdGhpcy51cGRhdGVPcHRpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgIHRoaXMudXBkYXRlRHJhd2VyKCk7XG4gICAgdGhpcy5kcmF3ZXJSZWYgPSBuZXcgRHJhd2VyUmVmPFQsIEMsIFI+KFxuICAgICAgdGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZi5pbnN0YW5jZSxcbiAgICApO1xuICAgIHRoaXMuZHJhd2VyUmVmLm9wZW4oKTtcblxuICAgIHJldHVybiB0aGlzLmRyYXdlclJlZjtcbiAgfVxuXG4gIHVwZGF0ZU9wdGlvbnMob3B0aW9uczogRHJhd2VyT3B0aW9uczxULCBDPik6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IG1lcmdlPERyYXdlck9wdGlvbnM8VCwgQz4+KERFRkFVTFRfT1BUSU9OUywgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKSB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUodGhpcy5nZXRPdmVybGF5Q29uZmlnKCkpO1xuICAgIH1cblxuICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgLm91dHNpZGVQb2ludGVyRXZlbnRzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmludmlzaWJsZSQpKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIC8vIOWIpOaWrem8oOagh+eCueWHu+S6i+S7tueahCB0YXJnZXQg5piv5ZCm5Li6IG92ZXJsYXktY29udGFpbmVyIOeahOWtkOiKgueCue+8jOWmguaenOaYr++8jOWImeS4jeWFs+mXrSBkcmF3ZXLjgIJcbiAgICAgICAgLy8g5Li65LqG6YG/5YWN54K55Ye7IGRyYXdlciDph4znmoQgdG9vbHRpcCDlkI4gZHJhd2VyIOiiq+WFs+mXreOAglxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmICYmXG4gICAgICAgICAgdGhpcy5vcHRpb25zLmhpZGVPbkNsaWNrT3V0c2lkZSAmJlxuICAgICAgICAgIGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUgJiZcbiAgICAgICAgICAhdGhpcy5vdmVybGF5UmVmLmhvc3RFbGVtZW50Py5wYXJlbnROb2RlPy5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAgICkge1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5kcmF3ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkuc2Nyb2xsU3RyYXRlZ3kuZW5hYmxlKCk7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5tYXNrKSB7XG4gICAgICAvLyBJc3N1ZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzEwODQxXG4gICAgICAvLyBzY3JvbGxTdHJhdGVneSDkuLogQmxvY2sg5pe277yM6Iul5Yib5bu6IE92ZXJsYXkg5pe277yM6auY5bqm5LiN6Laz5Lul5Ye6546w5rua5Yqo77yM5YiZIHNjcm9sbFN0cmF0ZWd5IOS4jeS8mueUn+aViFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICgpID0+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5pbnZpc2libGUkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkuc2Nyb2xsU3RyYXRlZ3kuZW5hYmxlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRHJhd2VyKCkge1xuICAgIGNvbnN0IGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmID1cbiAgICAgIHRoaXMuZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYgfHxcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2goXG4gICAgICAgIG5ldyBDb21wb25lbnRQb3J0YWwoRHJhd2VySW50ZXJuYWxDb21wb25lbnQ8VCwgQz4pLFxuICAgICAgKTtcbiAgICBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZi5pbnN0YW5jZS51cGRhdGVPcHRpb25zKHRoaXMub3B0aW9ucyk7XG5cbiAgICBpZiAodGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZi5pbnN0YW5jZS5hbmltYXRpb25TdGVwJC5zdWJzY3JpYmUoc3RlcCA9PiB7XG4gICAgICBpZiAoc3RlcCA9PT0gJ2hpZGVEb25lJykge1xuICAgICAgICB0aGlzLmludmlzaWJsZSQubmV4dCgpO1xuICAgICAgICB0aGlzLm9wdGlvbnMuZGlzcG9zZVdoZW5IaWRlICYmIHRoaXMuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmdldENvbmZpZygpLnNjcm9sbFN0cmF0ZWd5LmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmRyYXdlckludGVybmFsQ29tcG9uZW50UmVmID0gZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHBhbmVsQ2xhc3M6IERSQVdFUl9PVkVSTEFZX0NMQVNTLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vcHRpb25zLm1hc2tcbiAgICAgICAgPyB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpXG4gICAgICAgIDogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCkge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5zY3JvbGxTdHJhdGVneS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZiA9IG51bGw7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmludmlzaWJsZSQubmV4dCgpO1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1lcmdlPFQgZXh0ZW5kcyBvYmplY3Q+KHRhcmdldDogVCwgc291cmNlOiBUKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZShcbiAgICAoYWNjLCBfa2V5KSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBfa2V5IGFzIGtleW9mIFQ7XG4gICAgICBpZiAoc291cmNlW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhY2Nba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LFxuICAgIHtcbiAgICAgIC4uLnRhcmdldCxcbiAgICB9LFxuICApO1xufVxuIl19
@@ -5736,8 +5736,7 @@ class DateRangePickerPanelComponent extends CommonFormControl {
5736
5736
  }
5737
5737
  }
5738
5738
  confirmValue(value, closeThen = true) {
5739
- const sortValue = value.sort((startDate, endDate) => startDate.isAfter(endDate) ? 1 : -1);
5740
- this.emitValue(sortValue);
5739
+ this.emitValue(value);
5741
5740
  closeThen && this.confirm.next();
5742
5741
  }
5743
5742
  timeChange(time) {
@@ -6828,6 +6827,7 @@ const DRAWER_OVERLAY_BACKDROP_CLASS = 'aui-drawer-mask';
6828
6827
  const duration = '300ms';
6829
6828
  class DrawerInternalComponent {
6830
6829
  injector;
6830
+ cdr;
6831
6831
  bodyPortalOutlet;
6832
6832
  mask;
6833
6833
  animationStep$ = new Subject();
@@ -6853,8 +6853,9 @@ class DrawerInternalComponent {
6853
6853
  };
6854
6854
  }
6855
6855
  isTemplateRef = isTemplateRef;
6856
- constructor(injector) {
6856
+ constructor(injector, cdr) {
6857
6857
  this.injector = injector;
6858
+ this.cdr = cdr;
6858
6859
  }
6859
6860
  ngAfterViewInit() {
6860
6861
  this.attachBodyContent();
@@ -6921,6 +6922,10 @@ class DrawerInternalComponent {
6921
6922
  }
6922
6923
  }
6923
6924
  }
6925
+ updateOptions(options) {
6926
+ this.options = options;
6927
+ this.cdr.markForCheck();
6928
+ }
6924
6929
  show() {
6925
6930
  this.showHide$$.next('show');
6926
6931
  }
@@ -6932,7 +6937,7 @@ class DrawerInternalComponent {
6932
6937
  this.hide();
6933
6938
  }
6934
6939
  }
6935
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
6940
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6936
6941
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: DrawerInternalComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "bodyPortalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }, { propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: CdkScrollable$1, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [
6937
6942
  trigger('showHide', [
6938
6943
  state('show', style({
@@ -6981,7 +6986,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
6981
6986
  ]),
6982
6987
  ]),
6983
6988
  ], template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"] }]
6984
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { bodyPortalOutlet: [{
6989
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { bodyPortalOutlet: [{
6985
6990
  type: ViewChild,
6986
6991
  args: [CdkPortalOutlet, { static: false }]
6987
6992
  }], mask: [{
@@ -7040,7 +7045,7 @@ class DrawerService {
7040
7045
  open(options) {
7041
7046
  this.updateOptions(options);
7042
7047
  this.createOverlay();
7043
- this.createDrawer();
7048
+ this.updateDrawer();
7044
7049
  this.drawerRef = new DrawerRef(this.drawerInternalComponentRef.instance);
7045
7050
  this.drawerRef.open();
7046
7051
  return this.drawerRef;
@@ -7074,12 +7079,13 @@ class DrawerService {
7074
7079
  });
7075
7080
  }
7076
7081
  }
7077
- createDrawer() {
7082
+ updateDrawer() {
7083
+ const drawerInternalComponentRef = this.drawerInternalComponentRef ||
7084
+ this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
7085
+ drawerInternalComponentRef.instance.updateOptions(this.options);
7078
7086
  if (this.drawerInternalComponentRef) {
7079
7087
  return;
7080
7088
  }
7081
- const drawerInternalComponentRef = this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
7082
- drawerInternalComponentRef.instance.options = this.options;
7083
7089
  drawerInternalComponentRef.instance.animationStep$.subscribe(step => {
7084
7090
  if (step === 'hideDone') {
7085
7091
  this.invisible$.next();