@handsontable/angular-wrapper 0.0.0-next-c573c90-20260210 → 0.0.0-next-a4c3bb2-20260211

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/esm2022/lib/editor/custom-editor-placeholder.component.mjs +5 -8
  2. package/esm2022/lib/editor/hot-cell-editor.component.mjs +1 -2
  3. package/esm2022/lib/hot-table.component.mjs +4 -7
  4. package/esm2022/lib/hot-table.module.mjs +2 -2
  5. package/esm2022/lib/models/column-settings.mjs +1 -1
  6. package/esm2022/lib/renderer/hot-dynamic-renderer-component.service.mjs +10 -62
  7. package/esm2022/lib/services/hot-settings-resolver.service.mjs +17 -54
  8. package/esm2022/public-api.mjs +1 -4
  9. package/fesm2022/handsontable-angular-wrapper.mjs +126 -496
  10. package/fesm2022/handsontable-angular-wrapper.mjs.map +1 -1
  11. package/lib/editor/custom-editor-placeholder.component.d.ts +2 -4
  12. package/lib/editor/hot-cell-editor.component.d.ts +0 -1
  13. package/lib/hot-table.component.d.ts +2 -3
  14. package/lib/models/column-settings.d.ts +2 -7
  15. package/lib/renderer/hot-dynamic-renderer-component.service.d.ts +0 -19
  16. package/lib/services/hot-settings-resolver.service.d.ts +0 -3
  17. package/package.json +1 -1
  18. package/public-api.d.ts +0 -3
  19. package/esm2022/lib/editor/editor-factory-adapter.mjs +0 -140
  20. package/esm2022/lib/editor/hot-cell-editor-advanced.component.mjs +0 -92
  21. package/esm2022/lib/editor/models/factory-editor-properties.mjs +0 -2
  22. package/esm2022/lib/editor/models/keyboard-shortcut-config.mjs +0 -2
  23. package/esm2022/lib/renderer/hot-cell-renderer-advanced.component.mjs +0 -55
  24. package/lib/editor/editor-factory-adapter.d.ts +0 -13
  25. package/lib/editor/hot-cell-editor-advanced.component.d.ts +0 -74
  26. package/lib/editor/models/factory-editor-properties.d.ts +0 -24
  27. package/lib/editor/models/keyboard-shortcut-config.d.ts +0 -13
  28. package/lib/renderer/hot-cell-renderer-advanced.component.d.ts +0 -33
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewContainerRef, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Component representing a placeholder for a custom editor in Handsontable.
@@ -16,7 +16,6 @@ export class CustomEditorPlaceholderComponent {
16
16
  set isVisible(value) {
17
17
  this._isVisible = value;
18
18
  }
19
- placeholderCustomClass = 'handsontableInputHolder ht_clone_master';
20
19
  /** The reference to the component instance of the editor. */
21
20
  set componentRef(hotEditorComponentRef) {
22
21
  if (hotEditorComponentRef) {
@@ -37,8 +36,8 @@ export class CustomEditorPlaceholderComponent {
37
36
  this.container.detach();
38
37
  }
39
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomEditorPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomEditorPlaceholderComponent, selector: "ng-component", inputs: { top: "top", left: "left", height: "height", width: "width", isVisible: "isVisible", placeholderCustomClass: "placeholderCustomClass", componentRef: "componentRef" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["inputPlaceholder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: ` <div
41
- [class]="placeholderCustomClass"
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomEditorPlaceholderComponent, selector: "ng-component", inputs: { top: "top", left: "left", height: "height", width: "width", isVisible: "isVisible", componentRef: "componentRef" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["inputPlaceholder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: ` <div
40
+ class="handsontableInputHolder ht_clone_master"
42
41
  [style.display]="display"
43
42
  [style.width.px]="width"
44
43
  [style.height.px]="height"
@@ -54,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
54
53
  type: Component,
55
54
  args: [{
56
55
  template: ` <div
57
- [class]="placeholderCustomClass"
56
+ class="handsontableInputHolder ht_clone_master"
58
57
  [style.display]="display"
59
58
  [style.width.px]="width"
60
59
  [style.height.px]="height"
@@ -78,12 +77,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
78
77
  type: Input
79
78
  }], isVisible: [{
80
79
  type: Input
81
- }], placeholderCustomClass: [{
82
- type: Input
83
80
  }], componentRef: [{
84
81
  type: Input
85
82
  }], container: [{
86
83
  type: ViewChild,
87
84
  args: ['inputPlaceholder', { read: ViewContainerRef, static: true }]
88
85
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJckg7OztHQUdHO0FBaUJILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDM0Msc0NBQXNDO0lBQzdCLEdBQUcsQ0FBUztJQUVyQix1Q0FBdUM7SUFDOUIsSUFBSSxDQUFTO0lBRXRCLGdDQUFnQztJQUN2QixNQUFNLENBQVM7SUFFeEIsK0JBQStCO0lBQ3RCLEtBQUssQ0FBUztJQUV2QixJQUNJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFUSxzQkFBc0IsR0FBRyx5Q0FBeUMsQ0FBQztJQUU1RSw2REFBNkQ7SUFDN0QsSUFBYSxZQUFZLENBQ3ZCLHFCQUNpRDtRQUNqRCxJQUFJLHFCQUFxQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELHdEQUF3RDtJQUNpQixTQUFTLENBQW1CO0lBRXJHLHVDQUF1QztJQUN2QyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFTyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRTNCOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt3R0E1Q1UsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0MsOFRBOEJKLGdCQUFnQiwyQ0E3QzdDOzs7Ozs7Ozs7OztTQVdIOzs0RkFJSSxnQ0FBZ0M7a0JBaEI1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7U0FXSDtvQkFDUCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOzhCQUdVLEdBQUc7c0JBQVgsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7Z0JBS0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBU21FLFNBQVM7c0JBQWpGLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSG90Q2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb3RDZWxsRWRpdG9yQWR2YW5jZWRDb21wb25lbnQgfSBmcm9tICcuL2hvdC1jZWxsLWVkaXRvci1hZHZhbmNlZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZXByZXNlbnRpbmcgYSBwbGFjZWhvbGRlciBmb3IgYSBjdXN0b20gZWRpdG9yIGluIEhhbmRzb250YWJsZS5cbiAqIEl0IGlzIHVzZWQgb25seSB3aXRoaW4gdGhlIHdyYXBwZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYCA8ZGl2XG4gICAgW2NsYXNzXT1cInBsYWNlaG9sZGVyQ3VzdG9tQ2xhc3NcIlxuICAgIFtzdHlsZS5kaXNwbGF5XT1cImRpc3BsYXlcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxuICAgIFtzdHlsZS5tYXhXaWR0aC5weF09XCJ3aWR0aFwiXG4gICAgW3N0eWxlLm1heEhlaWdodC5weF09XCJoZWlnaHRcIlxuICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICBbc3R5bGUubGVmdC5weF09XCJsZWZ0XCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRQbGFjZWhvbGRlcj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUVkaXRvclBsYWNlaG9sZGVyQ29tcG9uZW50IHtcbiAgLyoqIFRoZSB0b3AgcG9zaXRpb24gb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgdG9wOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBsZWZ0IHBvc2l0aW9uIG9mIHRoZSBlZGl0b3IuICovXG4gIEBJbnB1dCgpIGxlZnQ6IG51bWJlcjtcblxuICAvKiogVGhlIGhlaWdodCBvZiB0aGUgZWRpdG9yLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBlZGl0b3IuICovXG4gIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgc2V0IGlzVmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzVmlzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXJDdXN0b21DbGFzcyA9ICdoYW5kc29udGFibGVJbnB1dEhvbGRlciBodF9jbG9uZV9tYXN0ZXInO1xuXG4gIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgc2V0IGNvbXBvbmVudFJlZihcbiAgICBob3RFZGl0b3JDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxIb3RDZWxsRWRpdG9yQ29tcG9uZW50PGFueT4+IHxcbiAgICBDb21wb25lbnRSZWY8SG90Q2VsbEVkaXRvckFkdmFuY2VkQ29tcG9uZW50PGFueT4+KSB7XG4gICAgaWYgKGhvdEVkaXRvckNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb250YWluZXIuaW5zZXJ0KGhvdEVkaXRvckNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRoZSBjb250YWluZXIgZm9yIHRoZSBlZGl0b3IncyBpbnB1dCBwbGFjZWhvbGRlci4gKi9cbiAgQFZpZXdDaGlsZCgnaW5wdXRQbGFjZWhvbGRlcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcblxuICAvKiogVGhlIGRpc3BsYXkgc3R5bGUgb2YgdGhlIGVkaXRvci4gKi9cbiAgZ2V0IGRpc3BsYXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faXNWaXNpYmxlID8gJ2Jsb2NrJyA6ICdub25lJztcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmlzaWJsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRhY2hlcyB0aGUgY29udGFpbmVyIGZyb20gdGhlIEhhbmRzb250YWJsZS5cbiAgICovXG4gIGRldGFjaEVkaXRvcigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRhaW5lci5kZXRhY2goKTtcbiAgfVxufVxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7O0FBR3ZCOzs7R0FHRztBQWlCSCxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLHNDQUFzQztJQUM3QixHQUFHLENBQVM7SUFFckIsdUNBQXVDO0lBQzlCLElBQUksQ0FBUztJQUV0QixnQ0FBZ0M7SUFDdkIsTUFBTSxDQUFTO0lBRXhCLCtCQUErQjtJQUN0QixLQUFLLENBQVM7SUFFdkIsSUFDSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELElBQWEsWUFBWSxDQUN2QixxQkFBZ0U7UUFFaEUsSUFBSSxxQkFBcUIsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCx3REFBd0Q7SUFDaUIsU0FBUyxDQUFtQjtJQUVyRyx1Q0FBdUM7SUFDdkMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBRU8sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUUzQjs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBMUNVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDLDRRQTRCSixnQkFBZ0IsMkNBM0M3Qzs7Ozs7Ozs7Ozs7U0FXSDs7NEZBSUksZ0NBQWdDO2tCQWhCNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O1NBV0g7b0JBQ1AsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs4QkFHVSxHQUFHO3NCQUFYLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsU0FBUztzQkFEWixLQUFLO2dCQU1PLFlBQVk7c0JBQXhCLEtBQUs7Z0JBU21FLFNBQVM7c0JBQWpGLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIb3RDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVwcmVzZW50aW5nIGEgcGxhY2Vob2xkZXIgZm9yIGEgY3VzdG9tIGVkaXRvciBpbiBIYW5kc29udGFibGUuXG4gKiBJdCBpcyB1c2VkIG9ubHkgd2l0aGluIHRoZSB3cmFwcGVyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGAgPGRpdlxuICAgIGNsYXNzPVwiaGFuZHNvbnRhYmxlSW5wdXRIb2xkZXIgaHRfY2xvbmVfbWFzdGVyXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5XCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICBbc3R5bGUubWF4V2lkdGgucHhdPVwid2lkdGhcIlxuICAgIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICBbc3R5bGUudG9wLnB4XT1cInRvcFwiXG4gICAgW3N0eWxlLmxlZnQucHhdPVwibGVmdFwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgI2lucHV0UGxhY2Vob2xkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21FZGl0b3JQbGFjZWhvbGRlckNvbXBvbmVudCB7XG4gIC8qKiBUaGUgdG9wIHBvc2l0aW9uIG9mIHRoZSBlZGl0b3IuICovXG4gIEBJbnB1dCgpIHRvcDogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbGVmdCBwb3NpdGlvbiBvZiB0aGUgZWRpdG9yLiAqL1xuICBASW5wdXQoKSBsZWZ0OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBoZWlnaHQgb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG5cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgZWRpdG9yLiAqL1xuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpc1Zpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc1Zpc2libGUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgc2V0IGNvbXBvbmVudFJlZihcbiAgICBob3RFZGl0b3JDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxIb3RDZWxsRWRpdG9yQ29tcG9uZW50PGFueT4+XG4gICkge1xuICAgIGlmIChob3RFZGl0b3JDb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyLmluc2VydChob3RFZGl0b3JDb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaGUgY29udGFpbmVyIGZvciB0aGUgZWRpdG9yJ3MgaW5wdXQgcGxhY2Vob2xkZXIuICovXG4gIEBWaWV3Q2hpbGQoJ2lucHV0UGxhY2Vob2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgLyoqIFRoZSBkaXNwbGF5IHN0eWxlIG9mIHRoZSBlZGl0b3IuICovXG4gIGdldCBkaXNwbGF5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lzVmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZSc7XG4gIH1cblxuICBwcml2YXRlIF9pc1Zpc2libGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0YWNoZXMgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSBIYW5kc29udGFibGUuXG4gICAqL1xuICBkZXRhY2hFZGl0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXIuZGV0YWNoKCk7XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,6 @@ import * as i0 from "@angular/core";
4
4
  * Abstract class representing a Handsontable editor in angular.
5
5
  */
6
6
  export class HotCellEditorComponent {
7
- static EDITOR_MARKER = Symbol('HotCellEditorComponent');
8
7
  /** The tabindex attribute for the editor. */
9
8
  tabindex = -1;
10
9
  /** The data-hot-input attribute for the editor. */
@@ -92,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
91
  }], cancelEdit: [{
93
92
  type: Output
94
93
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdwRjs7R0FFRztBQUVILE1BQU0sT0FBZ0Isc0JBQXNCO0lBQzFDLE1BQU0sQ0FBVSxhQUFhLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFakUsNkNBQTZDO0lBQ0wsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXRELG1EQUFtRDtJQUNMLFlBQVksR0FBRyxFQUFFLENBQUM7SUFFaEUsa0RBQWtEO0lBQ0Esc0JBQXNCLEdBQUcsSUFBSSxDQUFDO0lBRWhGLHdFQUF3RTtJQUMvQix3QkFBd0IsR0FBRyxHQUFHLENBQUM7SUFFeEUsdUVBQXVFO0lBQy9CLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztJQUV0RSw4Q0FBOEM7SUFDckMsR0FBRyxDQUFTO0lBRXJCLGlEQUFpRDtJQUN4QyxNQUFNLENBQVM7SUFFeEIsa0RBQWtEO0lBQ3pDLElBQUksQ0FBa0I7SUFFL0IsbURBQW1EO0lBQzFDLGFBQWEsQ0FBSTtJQUUxQixvREFBb0Q7SUFDM0MsY0FBYyxDQUFpQjtJQUV4Qzs7T0FFRztJQUNPLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhEOztPQUVHO0lBQ08sVUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFaEQsdUNBQXVDO0lBQy9CLE1BQU0sQ0FBSTtJQUVsQjs7OERBRTBEO0lBQzFELE9BQU8sS0FBVSxDQUFDO0lBRWxCOzs4REFFMEQ7SUFDMUQsTUFBTSxDQUFDLEtBQWEsSUFBUyxDQUFDO0lBb0I5Qjs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBUTtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7d0dBeEZtQixzQkFBc0I7NEZBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEM0MsU0FBUzs4QkFLZ0MsUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxlQUFlO2dCQUdrQixZQUFZO3NCQUF6RCxXQUFXO3VCQUFDLHFCQUFxQjtnQkFHZ0Isc0JBQXNCO3NCQUF2RSxXQUFXO3VCQUFDLHlCQUF5QjtnQkFHRyx3QkFBd0I7c0JBQWhFLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUdXLHVCQUF1QjtzQkFBOUQsV0FBVzt1QkFBQyxlQUFlO2dCQUduQixHQUFHO3NCQUFYLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZWxsUHJvcGVydGllcyB9IGZyb20gJ2hhbmRzb250YWJsZS9zZXR0aW5ncyc7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgcmVwcmVzZW50aW5nIGEgSGFuZHNvbnRhYmxlIGVkaXRvciBpbiBhbmd1bGFyLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIb3RDZWxsRWRpdG9yQ29tcG9uZW50PFQgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB7XG4gIHN0YXRpYyByZWFkb25seSBFRElUT1JfTUFSS0VSID0gU3ltYm9sKCdIb3RDZWxsRWRpdG9yQ29tcG9uZW50Jyk7XG5cbiAgLyoqIFRoZSB0YWJpbmRleCBhdHRyaWJ1dGUgZm9yIHRoZSBlZGl0b3IuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHByb3RlY3RlZCB0YWJpbmRleCA9IC0xO1xuXG4gIC8qKiBUaGUgZGF0YS1ob3QtaW5wdXQgYXR0cmlidXRlIGZvciB0aGUgZWRpdG9yLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1ob3QtaW5wdXQnKSBwcm90ZWN0ZWQgZGF0YUhvdElucHV0ID0gJyc7XG5cbiAgLyoqIFRoZSBoYW5kc29udGFibGVJbnB1dCBjbGFzcyBmb3IgdGhlIGVkaXRvci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYW5kc29udGFibGVJbnB1dCcpIHByb3RlY3RlZCBoYW5kc29udGFibGVJbnB1dENsYXNzID0gdHJ1ZTtcblxuICAvKiogVGhlIGhlaWdodCBvZiB0aGUgZWRpdG9yIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgcGFyZW50IGNvbnRhaW5lci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQuJScpIHByb3RlY3RlZCBoZWlnaHRGaXRQYXJlbnRDb250YWluZXIgPSAxMDA7XG5cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgZWRpdG9yIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgcGFyZW50IGNvbnRhaW5lci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC4lJykgcHJvdGVjdGVkIHdpZHRoRml0UGFyZW50Q29udGFpbmVyID0gMTAwO1xuXG4gIC8qKiBUaGUgcm93IGluZGV4IG9mIHRoZSBjZWxsIGJlaW5nIGVkaXRlZC4gKi9cbiAgQElucHV0KCkgcm93OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBjb2x1bW4gaW5kZXggb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSBjb2x1bW46IG51bWJlcjtcblxuICAvKiogVGhlIHByb3BlcnR5IG5hbWUgb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSBwcm9wOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqIFRoZSBvcmlnaW5hbCB2YWx1ZSBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIG9yaWdpbmFsVmFsdWU6IFQ7XG5cbiAgLyoqIFRoZSBjZWxsIHByb3BlcnRpZXMgb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSBjZWxsUHJvcGVydGllczogQ2VsbFByb3BlcnRpZXM7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZWRpdCBpcyBmaW5pc2hlZC5cbiAgICogVGhlIGRhdGEgd2lsbCBiZSBzYXZlZCB0byB0aGUgbW9kZWwuXG4gICAqL1xuICBAT3V0cHV0KCkgZmluaXNoRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlZGl0IGlzIGNhbmNlbGVkLlxuICAgKiBUaGUgZW50ZXJlZCBkYXRhIHdpbGwgYmUgcmV2ZXJ0ZWQgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLlxuICAgKi9cbiAgQE91dHB1dCgpIGNhbmNlbEVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuICovXG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xuXG4gIC8qKiBFdmVudCB0cmlnZ2VyZWQgYnkgSGFuZHNvbnRhYmxlIG9uIGNsb3NpbmcgdGhlIGVkaXRvci5cbiAgICogVGhlIHVzZXIgY2FuIGRlZmluZSB0aGVpciBvd24gYWN0aW9ucyBmb3JcbiAgICogdGhlIGN1c3RvbSBlZGl0b3IgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBiYXNlIGxvZ2ljLiAqL1xuICBvbkNsb3NlKCk6IHZvaWQge31cblxuICAvKiogRXZlbnQgdHJpZ2dlcmVkIGJ5IEhhbmRzb250YWJsZSBvbiBvcGVuIHRoZSBlZGl0b3IuXG4gICAqIFRoZSB1c2VyIGNhbiBkZWZpbmUgdGhlaXIgb3duIGFjdGlvbnMgZm9yXG4gICAqIHRoZSBjdXN0b20gZWRpdG9yIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgYmFzZSBsb2dpYy4gKi9cbiAgb25PcGVuKGV2ZW50PzogRXZlbnQpOiB2b2lkIHt9XG5cbiAgLyoqIEV2ZW50IHRyaWdnZXJlZCBieSBIYW5kc29udGFibGUgb24gZm9jdXMgdGhlIGVkaXRvci5cbiAgICogVGhlIHVzZXIgaGF2ZSB0byBkZWZpbmUgZm9jdXMgbG9naWMuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29tcG9uZW50KHtcbiAgICogIHRlbXBsYXRlOiBgPGlucHV0ICNpbnB1dEVsZW1lbnQ+YFxuICAgKiB9KVxuICAgKiBjbGFzcyBDdXN0b21FZGl0b3IgZXh0ZW5kcyBIb3RFZGl0b3I8c3RyaW5nPiB7XG4gICAqICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JykgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcbiAgICpcbiAgICogICBvbkZvY3VzKCk6IHZvaWQge1xuICAgKiAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFic3RyYWN0IG9uRm9jdXMoKTogdm9pZDtcblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZWRpdG9yLlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZWRpdG9yLlxuICAgKi9cbiAgZ2V0VmFsdWUoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGVkaXRvci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdwRjs7R0FFRztBQUVILE1BQU0sT0FBZ0Isc0JBQXNCO0lBQzFDLDZDQUE2QztJQUNMLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV0RCxtREFBbUQ7SUFDTCxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRWhFLGtEQUFrRDtJQUNBLHNCQUFzQixHQUFHLElBQUksQ0FBQztJQUVoRix3RUFBd0U7SUFDL0Isd0JBQXdCLEdBQUcsR0FBRyxDQUFDO0lBRXhFLHVFQUF1RTtJQUMvQix1QkFBdUIsR0FBRyxHQUFHLENBQUM7SUFFdEUsOENBQThDO0lBQ3JDLEdBQUcsQ0FBUztJQUVyQixpREFBaUQ7SUFDeEMsTUFBTSxDQUFTO0lBRXhCLGtEQUFrRDtJQUN6QyxJQUFJLENBQWtCO0lBRS9CLG1EQUFtRDtJQUMxQyxhQUFhLENBQUk7SUFFMUIsb0RBQW9EO0lBQzNDLGNBQWMsQ0FBaUI7SUFFeEM7O09BRUc7SUFDTyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVoRDs7T0FFRztJQUNPLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhELHVDQUF1QztJQUMvQixNQUFNLENBQUk7SUFFbEI7OzhEQUUwRDtJQUMxRCxPQUFPLEtBQVUsQ0FBQztJQUVsQjs7OERBRTBEO0lBQzFELE1BQU0sQ0FBQyxLQUFhLElBQVMsQ0FBQztJQW9COUI7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQVE7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO3dHQXRGbUIsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVM7OEJBR2dDLFFBQVE7c0JBQS9DLFdBQVc7dUJBQUMsZUFBZTtnQkFHa0IsWUFBWTtzQkFBekQsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBR2dCLHNCQUFzQjtzQkFBdkUsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBR0csd0JBQXdCO3NCQUFoRSxXQUFXO3VCQUFDLGdCQUFnQjtnQkFHVyx1QkFBdUI7c0JBQTlELFdBQVc7dUJBQUMsZUFBZTtnQkFHbkIsR0FBRztzQkFBWCxLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtJLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2VsbFByb3BlcnRpZXMgfSBmcm9tICdoYW5kc29udGFibGUvc2V0dGluZ3MnO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhIEhhbmRzb250YWJsZSBlZGl0b3IgaW4gYW5ndWxhci5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSG90Q2VsbEVkaXRvckNvbXBvbmVudDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4ge1xuICAvKiogVGhlIHRhYmluZGV4IGF0dHJpYnV0ZSBmb3IgdGhlIGVkaXRvci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgcHJvdGVjdGVkIHRhYmluZGV4ID0gLTE7XG5cbiAgLyoqIFRoZSBkYXRhLWhvdC1pbnB1dCBhdHRyaWJ1dGUgZm9yIHRoZSBlZGl0b3IuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWhvdC1pbnB1dCcpIHByb3RlY3RlZCBkYXRhSG90SW5wdXQgPSAnJztcblxuICAvKiogVGhlIGhhbmRzb250YWJsZUlucHV0IGNsYXNzIGZvciB0aGUgZWRpdG9yLiAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhbmRzb250YWJsZUlucHV0JykgcHJvdGVjdGVkIGhhbmRzb250YWJsZUlucHV0Q2xhc3MgPSB0cnVlO1xuXG4gIC8qKiBUaGUgaGVpZ2h0IG9mIHRoZSBlZGl0b3IgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyLiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC4lJykgcHJvdGVjdGVkIGhlaWdodEZpdFBhcmVudENvbnRhaW5lciA9IDEwMDtcblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBlZGl0b3IgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyLiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLiUnKSBwcm90ZWN0ZWQgd2lkdGhGaXRQYXJlbnRDb250YWluZXIgPSAxMDA7XG5cbiAgLyoqIFRoZSByb3cgaW5kZXggb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSByb3c6IG51bWJlcjtcblxuICAvKiogVGhlIGNvbHVtbiBpbmRleCBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIGNvbHVtbjogbnVtYmVyO1xuXG4gIC8qKiBUaGUgcHJvcGVydHkgbmFtZSBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIHByb3A6IHN0cmluZyB8IG51bWJlcjtcblxuICAvKiogVGhlIG9yaWdpbmFsIHZhbHVlIG9mIHRoZSBjZWxsIGJlaW5nIGVkaXRlZC4gKi9cbiAgQElucHV0KCkgb3JpZ2luYWxWYWx1ZTogVDtcblxuICAvKiogVGhlIGNlbGwgcHJvcGVydGllcyBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIGNlbGxQcm9wZXJ0aWVzOiBDZWxsUHJvcGVydGllcztcblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlZGl0IGlzIGZpbmlzaGVkLlxuICAgKiBUaGUgZGF0YSB3aWxsIGJlIHNhdmVkIHRvIHRoZSBtb2RlbC5cbiAgICovXG4gIEBPdXRwdXQoKSBmaW5pc2hFZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGVkaXQgaXMgY2FuY2VsZWQuXG4gICAqIFRoZSBlbnRlcmVkIGRhdGEgd2lsbCBiZSByZXZlcnRlZCB0byB0aGUgb3JpZ2luYWwgdmFsdWUuXG4gICAqL1xuICBAT3V0cHV0KCkgY2FuY2VsRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGVkaXRvci4gKi9cbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XG5cbiAgLyoqIEV2ZW50IHRyaWdnZXJlZCBieSBIYW5kc29udGFibGUgb24gY2xvc2luZyB0aGUgZWRpdG9yLlxuICAgKiBUaGUgdXNlciBjYW4gZGVmaW5lIHRoZWlyIG93biBhY3Rpb25zIGZvclxuICAgKiB0aGUgY3VzdG9tIGVkaXRvciB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGJhc2UgbG9naWMuICovXG4gIG9uQ2xvc2UoKTogdm9pZCB7fVxuXG4gIC8qKiBFdmVudCB0cmlnZ2VyZWQgYnkgSGFuZHNvbnRhYmxlIG9uIG9wZW4gdGhlIGVkaXRvci5cbiAgICogVGhlIHVzZXIgY2FuIGRlZmluZSB0aGVpciBvd24gYWN0aW9ucyBmb3JcbiAgICogdGhlIGN1c3RvbSBlZGl0b3IgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBiYXNlIGxvZ2ljLiAqL1xuICBvbk9wZW4oZXZlbnQ/OiBFdmVudCk6IHZvaWQge31cblxuICAvKiogRXZlbnQgdHJpZ2dlcmVkIGJ5IEhhbmRzb250YWJsZSBvbiBmb2N1cyB0aGUgZWRpdG9yLlxuICAgKiBUaGUgdXNlciBoYXZlIHRvIGRlZmluZSBmb2N1cyBsb2dpYy5cbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb21wb25lbnQoe1xuICAgKiAgdGVtcGxhdGU6IGA8aW5wdXQgI2lucHV0RWxlbWVudD5gXG4gICAqIH0pXG4gICAqIGNsYXNzIEN1c3RvbUVkaXRvciBleHRlbmRzIEhvdEVkaXRvcjxzdHJpbmc+IHtcbiAgICogICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuICAgKlxuICAgKiAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAqICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3Qgb25Gb2N1cygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqL1xuICBnZXRWYWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZWRpdG9yLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICovXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxufVxuIl19
@@ -9,7 +9,6 @@ export class HotTableComponent {
9
9
  _hotSettingsResolver;
10
10
  _hotConfig;
11
11
  ngZone;
12
- environmentInjector;
13
12
  // component inputs
14
13
  /** The data for the Handsontable instance. */
15
14
  data = null;
@@ -20,11 +19,10 @@ export class HotTableComponent {
20
19
  /** The Handsontable instance. */
21
20
  __hotInstance = null;
22
21
  configSubscription;
23
- constructor(_hotSettingsResolver, _hotConfig, ngZone, environmentInjector) {
22
+ constructor(_hotSettingsResolver, _hotConfig, ngZone) {
24
23
  this._hotSettingsResolver = _hotSettingsResolver;
25
24
  this._hotConfig = _hotConfig;
26
25
  this.ngZone = ngZone;
27
- this.environmentInjector = environmentInjector;
28
26
  }
29
27
  /**
30
28
  * Gets the Handsontable instance.
@@ -57,7 +55,6 @@ export class HotTableComponent {
57
55
  options = { ...options, ...negotiatedSettings, data: this.data };
58
56
  this.ngZone.runOutsideAngular(() => {
59
57
  this.hotInstance = new Handsontable.Core(this.container.nativeElement, options);
60
- this.hotInstance._angularEnvironmentInjector = this.environmentInjector;
61
58
  this.hotInstance.init();
62
59
  });
63
60
  this.configSubscription = this._hotConfig.config$.subscribe((config) => {
@@ -140,13 +137,13 @@ export class HotTableComponent {
140
137
  }
141
138
  return negotiatedSettings;
142
139
  }
143
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotTableComponent, deps: [{ token: i1.HotSettingsResolver }, { token: i2.HotGlobalConfigService }, { token: i0.NgZone }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Component });
140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotTableComponent, deps: [{ token: i1.HotSettingsResolver }, { token: i2.HotGlobalConfigService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
144
141
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HotTableComponent, selector: "hot-table", inputs: { data: "data", settings: "settings" }, providers: [HotSettingsResolver], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container></div>', isInline: true, styles: [":host{display:block}\n"], encapsulation: i0.ViewEncapsulation.None });
145
142
  }
146
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotTableComponent, decorators: [{
147
144
  type: Component,
148
145
  args: [{ selector: 'hot-table', template: '<div #container></div>', encapsulation: ViewEncapsulation.None, providers: [HotSettingsResolver], styles: [":host{display:block}\n"] }]
149
- }], ctorParameters: function () { return [{ type: i1.HotSettingsResolver }, { type: i2.HotGlobalConfigService }, { type: i0.NgZone }, { type: i0.EnvironmentInjector }]; }, propDecorators: { data: [{
146
+ }], ctorParameters: function () { return [{ type: i1.HotSettingsResolver }, { type: i2.HotGlobalConfigService }, { type: i0.NgZone }]; }, propDecorators: { data: [{
150
147
  type: Input
151
148
  }], settings: [{
152
149
  type: Input
@@ -154,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
154
151
  type: ViewChild,
155
152
  args: ['container', { static: false }]
156
153
  }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUsvRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRywrRUFBK0UsR0FBRyxpQkFBaUIsQ0FBQztBQWV6SSxNQUFNLE9BQU8saUJBQWlCO0lBZ0JsQjtJQUNBO0lBQ0Q7SUFDVTtJQWxCbkIsbUJBQW1CO0lBQ25CLDhDQUE4QztJQUNyQyxJQUFJLEdBQTZDLElBQUksQ0FBQztJQUMvRCxrREFBa0Q7SUFDekMsUUFBUSxHQUFpQixFQUFFLENBQUM7SUFFckMsMkRBQTJEO0lBRXBELFNBQVMsQ0FBNkI7SUFFN0MsaUNBQWlDO0lBQ3pCLGFBQWEsR0FBd0IsSUFBSSxDQUFDO0lBQzFDLGtCQUFrQixDQUFlO0lBRXpDLFlBQ1Usb0JBQXlDLEVBQ3pDLFVBQWtDLEVBQ25DLE1BQWMsRUFDSixtQkFBd0M7UUFIakQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0osd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUN4RCxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFD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LEVBQUU7WUFDcEIsa0JBQWtCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUMxQztRQUVELGdGQUFnRjtRQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixrQkFBa0IsQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLGVBQWUsSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDO1NBQzVGO1FBRUQsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO3dHQWhLVSxpQkFBaUI7NEZBQWpCLGlCQUFpQixvRkFUakIsQ0FBQyxtQkFBbUIsQ0FBQyx1SkFGdEIsd0JBQXdCOzs0RkFXdkIsaUJBQWlCO2tCQWI3QixTQUFTOytCQUNFLFdBQVcsWUFDWCx3QkFBd0IsaUJBQ25CLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxtQkFBbUIsQ0FBQztzTUFZdkIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVudmlyb25tZW50SW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEhhbmRzb250YWJsZSBmcm9tICdoYW5kc29udGFibGUvYmFzZSc7XG5pbXBvcnQgeyBIb3RTZXR0aW5nc1Jlc29sdmVyIH0gZnJvbSAnLi9zZXJ2aWNlcy9ob3Qtc2V0dGluZ3MtcmVzb2x2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBIb3RHbG9iYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ob3QtZ2xvYmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRTZXR0aW5ncyB9IGZyb20gJy4vbW9kZWxzL2dyaWQtc2V0dGluZ3MnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBIT1RfREVTVFJPWUVEX1dBUk5JTkcgPSAnVGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSBib3VuZCB0byB0aGlzIGNvbXBvbmVudCB3YXMgZGVzdHJveWVkIGFuZCBjYW5ub3QgYmUnICsgJyB1c2VkIHByb3Blcmx5Lic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hvdC10YWJsZScsXG4gIHRlbXBsYXRlOiAnPGRpdiAjY29udGFpbmVyPjwvZGl2PicsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW0hvdFNldHRpbmdzUmVzb2x2ZXJdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEhvdFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvLyBjb21wb25lbnQgaW5wdXRzXG4gIC8qKiBUaGUgZGF0YSBmb3IgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS4gKi9cbiAgQElucHV0KCkgZGF0YTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5nc1snZGF0YSddIHwgbnVsbCA9IG51bGw7XG4gIC8qKiBUaGUgc2V0dGluZ3MgZm9yIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuICovXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBHcmlkU2V0dGluZ3MgPSB7fTtcblxuICAvKiogVGhlIGNvbnRhaW5lciBlbGVtZW50IGZvciB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLiAqL1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgLyoqIFRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuICovXG4gIHByaXZhdGUgX19ob3RJbnN0YW5jZTogSGFuZHNvbnRhYmxlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY29uZmlnU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaG90U2V0dGluZ3NSZXNvbHZlcjogSG90U2V0dGluZ3NSZXNvbHZlcixcbiAgICBwcml2YXRlIF9ob3RDb25maWc6IEhvdEdsb2JhbENvbmZpZ1NlcnZpY2UsXG4gICAgcHVibGljIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvclxuICApIHt9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS5cbiAgICogQHJldHVybnMgVGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSBvciBgbnVsbGAgaWYgaXQncyBub3QgeWV0IGJlZW4gY3JlYXRlZCBvciBoYXMgYmVlbiBkZXN0cm95ZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhvdEluc3RhbmNlKCk6IEhhbmRzb250YWJsZSB8IG51bGwge1xuICAgIGlmICghdGhpcy5fX2hvdEluc3RhbmNlIHx8ICh0aGlzLl9faG90SW5zdGFuY2UgJiYgIXRoaXMuX19ob3RJbnN0YW5jZS5pc0Rlc3Ryb3llZCkpIHtcbiAgICAgIC8vIFdpbGwgcmV0dXJuIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2Ugb3IgYG51bGxgIGlmIGl0J3Mgbm90IHlldCBiZWVuIGNyZWF0ZWQuXG4gICAgICByZXR1cm4gdGhpcy5fX2hvdEluc3RhbmNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oSE9UX0RFU1RST1lFRF9XQVJOSU5HKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBob3RJbnN0YW5jZSBUaGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIHRvIHNldC5cbiAgICovXG4gIHByaXZhdGUgc2V0IGhvdEluc3RhbmNlKGhvdEluc3RhbmNlKSB7XG4gICAgdGhpcy5fX2hvdEluc3RhbmNlID0gaG90SW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiBpbml0aWFsaXplZC5cbiAgICogVGhlIGluaXRpYWwgc2V0dGluZ3Mgb2YgdGhlIHRhYmxlIGFyZSBhbHNvIHByZXBhcmVkIGhlcmVcbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyA9IHRoaXMuX2hvdFNldHRpbmdzUmVzb2x2ZXIuYXBwbHlDdXN0b21TZXR0aW5ncyh0aGlzLnNldHRpbmdzLCB0aGlzLm5nWm9uZSk7XG5cbiAgICBjb25zdCBuZWdvdGlhdGVkU2V0dGluZ3MgPSB0aGlzLmdldE5lZ290aWF0ZWRTZXR0aW5ncyhvcHRpb25zKTtcbiAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCAuLi5uZWdvdGlhdGVkU2V0dGluZ3MsIGRhdGE6IHRoaXMuZGF0YSB9O1xuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5ob3RJbnN0YW5jZSA9IG5ldyBIYW5kc29udGFibGUuQ29yZSh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcblxuICAgICAgKHRoaXMuaG90SW5zdGFuY2UgYXMgYW55KS5fYW5ndWxhckVudmlyb25tZW50SW5qZWN0b3IgPSB0aGlzLmVudmlyb25tZW50SW5qZWN0b3I7XG5cbiAgICAgIHRoaXMuaG90SW5zdGFuY2UuaW5pdCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb25maWdTdWJzY3JpcHRpb24gPSB0aGlzLl9ob3RDb25maWcuY29uZmlnJC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgaWYgKHRoaXMuaG90SW5zdGFuY2UpIHtcbiAgICAgICAgY29uc3QgbmVnb3RpYXRlZFNldHRpbmdzID0gdGhpcy5nZXROZWdvdGlhdGVkU2V0dGluZ3ModGhpcy5zZXR0aW5ncyk7XG4gICAgICAgIHRoaXMudXBkYXRlSG90VGFibGUobmVnb3RpYXRlZFNldHRpbmdzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3RJbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnNldHRpbmdzICYmICFjaGFuZ2VzLnNldHRpbmdzLmZpcnN0Q2hhbmdlKSB7XG4gICAgICBjb25zdCBuZXdPcHRpb25zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzID0gdGhpcy5faG90U2V0dGluZ3NSZXNvbHZlci5hcHBseUN1c3RvbVNldHRpbmdzKFxuICAgICAgICBjaGFuZ2VzLnNldHRpbmdzLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgdGhpcy5uZ1pvbmVcbiAgICAgICk7XG5cbiAgICAgIHRoaXMudXBkYXRlSG90VGFibGUobmV3T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuZGF0YSAmJiAhY2hhbmdlcy5kYXRhLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLmhvdEluc3RhbmNlPy51cGRhdGVEYXRhKGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIGFuZCBjbGVhcnMgdGhlIGNvbHVtbnMgZnJvbSBjdXN0b20gZWRpdG9ycy5cbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5ob3RJbnN0YW5jZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmhvdEluc3RhbmNlLmdldFNldHRpbmdzKCkuY29sdW1ucztcblxuICAgICAgaWYgKGNvbHVtbnMgJiYgQXJyYXkuaXNBcnJheShjb2x1bW5zKSkge1xuICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgIGlmIChjb2x1bW4uX2VkaXRvckNvbXBvbmVudFJlZmVyZW5jZSkge1xuICAgICAgICAgICAgY29sdW1uLl9lZGl0b3JDb21wb25lbnRSZWZlcmVuY2UuZGVzdHJveSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaG90SW5zdGFuY2UuZGVzdHJveSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb25maWdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2Ugd2l0aCBuZXcgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBuZXdTZXR0aW5ncyBUaGUgbmV3IHNldHRpbmdzIHRvIGFwcGx5IHRvIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUhvdFRhYmxlKG5ld1NldHRpbmdzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhvdEluc3RhbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5ob3RJbnN0YW5jZT8udXBkYXRlU2V0dGluZ3MobmV3U2V0dGluZ3MsIGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZXMgdGhlIHByb3ZpZGVkIEhhbmRzb250YWJsZSBncmlkIHNldHRpbmdzIHdpdGggdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCByZXRyaWV2ZXMgdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIGZyb20gdGhlIEhvdEdsb2JhbENvbmZpZ1NlcnZpY2UgYW5kIG5lZ290aWF0ZXMgdGhlIGZpbmFsXG4gICAqIEhhbmRzb250YWJsZSBzZXR0aW5ncyBieSBnaXZpbmcgcHJlY2VkZW5jZSB0byB0aGUgcHJvdmlkZWQgc2V0dGluZ3MuXG4gICAqIEFkZGl0aW9uYWxseSwgdGhlIGBsYXlvdXREaXJlY3Rpb25gIGlzIG9ubHkgbWVyZ2VkIGlmIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZC5cbiAgICpcbiAgICogQHBhcmFtIHNldHRpbmdzIC0gVGhlIGdyaWQgc2V0dGluZ3MgcHJvdmlkZWQgYnkgdGhlIHVzZXIgb3IgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgZmluYWwgbmVnb3RpYXRlZCBncmlkIHNldHRpbmdzIGFmdGVyIG1lcmdpbmcgd2l0aCBnbG9iYWwgZGVmYXVsdHMuXG4gICAqL1xuICBwcml2YXRlIGdldE5lZ290aWF0ZWRTZXR0aW5ncyhzZXR0aW5nczogR3JpZFNldHRpbmdzKTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyB7XG4gICAgY29uc3QgaG90Q29uZmlnID0gdGhpcy5faG90Q29uZmlnLmdldENvbmZpZygpO1xuICAgIGNvbnN0IG5lZ290aWF0ZWRTZXR0aW5nczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyA9IHt9O1xuXG4gICAgbmVnb3RpYXRlZFNldHRpbmdzLmxpY2Vuc2VLZXkgPSBzZXR0aW5ncy5saWNlbnNlS2V5ID8/IGhvdENvbmZpZy5saWNlbnNlO1xuICAgIG5lZ290aWF0ZWRTZXR0aW5ncy5sYW5ndWFnZSA9IHNldHRpbmdzLmxhbmd1YWdlID8/IGhvdENvbmZpZy5sYW5ndWFnZTtcblxuICAgIGNvbnN0IHRoZW1lID0gc2V0dGluZ3MudGhlbWUgPz8gaG90Q29uZmlnLnRoZW1lO1xuICAgIGNvbnN0IHRoZW1lTmFtZSA9IHNldHRpbmdzLnRoZW1lTmFtZSA/PyBob3RDb25maWcudGhlbWVOYW1lO1xuXG4gICAgaWYgKHRoZW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG5lZ290aWF0ZWRTZXR0aW5ncy50aGVtZSA9IHRoZW1lIGFzIEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3RoZW1lJ107XG4gICAgfSBlbHNlIGlmICh0aGVtZU5hbWUpIHtcbiAgICAgIG5lZ290aWF0ZWRTZXR0aW5ncy50aGVtZU5hbWUgPSB0aGVtZU5hbWU7XG4gICAgfVxuXG4gICAgLy8gc2V0dGluZ3MgdGhhdCBjYW4gYmUgc2V0IG9ubHkgYmVmb3JlIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgaXMgaW5pdGlhbGl6ZWRcbiAgICBpZiAoIXRoaXMuX19ob3RJbnN0YW5jZSkge1xuICAgICAgbmVnb3RpYXRlZFNldHRpbmdzLmxheW91dERpcmVjdGlvbiA9IHNldHRpbmdzLmxheW91dERpcmVjdGlvbiA/PyBob3RDb25maWcubGF5b3V0RGlyZWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBuZWdvdGlhdGVkU2V0dGluZ3M7XG4gIH1cbn1cbiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUsvRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRywrRUFBK0UsR0FBRyxpQkFBaUIsQ0FBQztBQWV6SSxNQUFNLE9BQU8saUJBQWlCO0lBZVI7SUFBbUQ7SUFBMkM7SUFkbEgsbUJBQW1CO0lBQ25CLDhDQUE4QztJQUNyQyxJQUFJLEdBQTZDLElBQUksQ0FBQztJQUMvRCxrREFBa0Q7SUFDekMsUUFBUSxHQUFpQixFQUFFLENBQUM7SUFFckMsMkRBQTJEO0lBRXBELFNBQVMsQ0FBNkI7SUFFN0MsaUNBQWlDO0lBQ3pCLGFBQWEsR0FBd0IsSUFBSSxDQUFDO0lBQzFDLGtCQUFrQixDQUFlO0lBRXpDLFlBQW9CLG9CQUF5QyxFQUFVLFVBQWtDLEVBQVMsTUFBYztRQUE1Ryx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUVwSTs7O09BR0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNsRixnRkFBZ0Y7WUFDaEYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NB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QUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLElBQUksU0FBUyxDQUFDLGVBQWUsQ0FBQztTQUM1RjtRQUVELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQzt3R0F6SlUsaUJBQWlCOzRGQUFqQixpQkFBaUIsb0ZBVGpCLENBQUMsbUJBQW1CLENBQUMsdUpBRnRCLHdCQUF3Qjs7NEZBV3ZCLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDRSxXQUFXLFlBQ1gsd0JBQXdCLGlCQUNuQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsbUJBQW1CLENBQUM7b0tBWXZCLElBQUk7c0JBQVosS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBIYW5kc29udGFibGUgZnJvbSAnaGFuZHNvbnRhYmxlL2Jhc2UnO1xuaW1wb3J0IHsgSG90U2V0dGluZ3NSZXNvbHZlciB9IGZyb20gJy4vc2VydmljZXMvaG90LXNldHRpbmdzLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSG90R2xvYmFsQ29uZmlnU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaG90LWdsb2JhbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBHcmlkU2V0dGluZ3MgfSBmcm9tICcuL21vZGVscy9ncmlkLXNldHRpbmdzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgSE9UX0RFU1RST1lFRF9XQVJOSU5HID0gJ1RoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgYm91bmQgdG8gdGhpcyBjb21wb25lbnQgd2FzIGRlc3Ryb3llZCBhbmQgY2Fubm90IGJlJyArICcgdXNlZCBwcm9wZXJseS4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdob3QtdGFibGUnLFxuICB0ZW1wbGF0ZTogJzxkaXYgI2NvbnRhaW5lcj48L2Rpdj4nLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtIb3RTZXR0aW5nc1Jlc29sdmVyXSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIb3RUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLy8gY29tcG9uZW50IGlucHV0c1xuICAvKiogVGhlIGRhdGEgZm9yIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuICovXG4gIEBJbnB1dCgpIGRhdGE6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ2RhdGEnXSB8IG51bGwgPSBudWxsO1xuICAvKiogVGhlIHNldHRpbmdzIGZvciB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLiAqL1xuICBASW5wdXQoKSBzZXR0aW5nczogR3JpZFNldHRpbmdzID0ge307XG5cbiAgLyoqIFRoZSBjb250YWluZXIgZWxlbWVudCBmb3IgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS4gKi9cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIC8qKiBUaGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLiAqL1xuICBwcml2YXRlIF9faG90SW5zdGFuY2U6IEhhbmRzb250YWJsZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNvbmZpZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvdFNldHRpbmdzUmVzb2x2ZXI6IEhvdFNldHRpbmdzUmVzb2x2ZXIsIHByaXZhdGUgX2hvdENvbmZpZzogSG90R2xvYmFsQ29uZmlnU2VydmljZSwgcHVibGljIG5nWm9uZTogTmdab25lKSB7fVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuXG4gICAqIEByZXR1cm5zIFRoZSBIYW5kc29udGFibGUgaW5zdGFuY2Ugb3IgYG51bGxgIGlmIGl0J3Mgbm90IHlldCBiZWVuIGNyZWF0ZWQgb3IgaGFzIGJlZW4gZGVzdHJveWVkLlxuICAgKi9cbiAgcHVibGljIGdldCBob3RJbnN0YW5jZSgpOiBIYW5kc29udGFibGUgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuX19ob3RJbnN0YW5jZSB8fCAodGhpcy5fX2hvdEluc3RhbmNlICYmICF0aGlzLl9faG90SW5zdGFuY2UuaXNEZXN0cm95ZWQpKSB7XG4gICAgICAvLyBXaWxsIHJldHVybiB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIG9yIGBudWxsYCBpZiBpdCdzIG5vdCB5ZXQgYmVlbiBjcmVhdGVkLlxuICAgICAgcmV0dXJuIHRoaXMuX19ob3RJbnN0YW5jZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKEhPVF9ERVNUUk9ZRURfV0FSTklORyk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gaG90SW5zdGFuY2UgVGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSB0byBzZXQuXG4gICAqL1xuICBwcml2YXRlIHNldCBob3RJbnN0YW5jZShob3RJbnN0YW5jZSkge1xuICAgIHRoaXMuX19ob3RJbnN0YW5jZSA9IGhvdEluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAqIFRoZSBpbml0aWFsIHNldHRpbmdzIG9mIHRoZSB0YWJsZSBhcmUgYWxzbyBwcmVwYXJlZCBoZXJlXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3MgPSB0aGlzLl9ob3RTZXR0aW5nc1Jlc29sdmVyLmFwcGx5Q3VzdG9tU2V0dGluZ3ModGhpcy5zZXR0aW5ncywgdGhpcy5uZ1pvbmUpO1xuXG4gICAgY29uc3QgbmVnb3RpYXRlZFNldHRpbmdzID0gdGhpcy5nZXROZWdvdGlhdGVkU2V0dGluZ3Mob3B0aW9ucyk7XG4gICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgLi4ubmVnb3RpYXRlZFNldHRpbmdzLCBkYXRhOiB0aGlzLmRhdGEgfTtcblxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuaG90SW5zdGFuY2UgPSBuZXcgSGFuZHNvbnRhYmxlLkNvcmUodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cbiAgICAgIHRoaXMuaG90SW5zdGFuY2UuaW5pdCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb25maWdTdWJzY3JpcHRpb24gPSB0aGlzLl9ob3RDb25maWcuY29uZmlnJC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgaWYgKHRoaXMuaG90SW5zdGFuY2UpIHtcbiAgICAgICAgY29uc3QgbmVnb3RpYXRlZFNldHRpbmdzID0gdGhpcy5nZXROZWdvdGlhdGVkU2V0dGluZ3ModGhpcy5zZXR0aW5ncyk7XG4gICAgICAgIHRoaXMudXBkYXRlSG90VGFibGUobmVnb3RpYXRlZFNldHRpbmdzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3RJbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnNldHRpbmdzICYmICFjaGFuZ2VzLnNldHRpbmdzLmZpcnN0Q2hhbmdlKSB7XG4gICAgICBjb25zdCBuZXdPcHRpb25zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzID0gdGhpcy5faG90U2V0dGluZ3NSZXNvbHZlci5hcHBseUN1c3RvbVNldHRpbmdzKFxuICAgICAgICBjaGFuZ2VzLnNldHRpbmdzLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgdGhpcy5uZ1pvbmVcbiAgICAgICk7XG5cbiAgICAgIHRoaXMudXBkYXRlSG90VGFibGUobmV3T3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuZGF0YSAmJiAhY2hhbmdlcy5kYXRhLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLmhvdEluc3RhbmNlPy51cGRhdGVEYXRhKGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIGFuZCBjbGVhcnMgdGhlIGNvbHVtbnMgZnJvbSBjdXN0b20gZWRpdG9ycy5cbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5ob3RJbnN0YW5jZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmhvdEluc3RhbmNlLmdldFNldHRpbmdzKCkuY29sdW1ucztcblxuICAgICAgaWYgKGNvbHVtbnMgJiYgQXJyYXkuaXNBcnJheShjb2x1bW5zKSkge1xuICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgIGlmIChjb2x1bW4uX2VkaXRvckNvbXBvbmVudFJlZmVyZW5jZSkge1xuICAgICAgICAgICAgY29sdW1uLl9lZGl0b3JDb21wb25lbnRSZWZlcmVuY2UuZGVzdHJveSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaG90SW5zdGFuY2UuZGVzdHJveSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb25maWdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2Ugd2l0aCBuZXcgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBuZXdTZXR0aW5ncyBUaGUgbmV3IHNldHRpbmdzIHRvIGFwcGx5IHRvIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUhvdFRhYmxlKG5ld1NldHRpbmdzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhvdEluc3RhbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5ob3RJbnN0YW5jZT8udXBkYXRlU2V0dGluZ3MobmV3U2V0dGluZ3MsIGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZXMgdGhlIHByb3ZpZGVkIEhhbmRzb250YWJsZSBncmlkIHNldHRpbmdzIHdpdGggdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCByZXRyaWV2ZXMgdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIGZyb20gdGhlIEhvdEdsb2JhbENvbmZpZ1NlcnZpY2UgYW5kIG5lZ290aWF0ZXMgdGhlIGZpbmFsXG4gICAqIEhhbmRzb250YWJsZSBzZXR0aW5ncyBieSBnaXZpbmcgcHJlY2VkZW5jZSB0byB0aGUgcHJvdmlkZWQgc2V0dGluZ3MuXG4gICAqIEFkZGl0aW9uYWxseSwgdGhlIGBsYXlvdXREaXJlY3Rpb25gIGlzIG9ubHkgbWVyZ2VkIGlmIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZC5cbiAgICpcbiAgICogQHBhcmFtIHNldHRpbmdzIC0gVGhlIGdyaWQgc2V0dGluZ3MgcHJvdmlkZWQgYnkgdGhlIHVzZXIgb3IgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgZmluYWwgbmVnb3RpYXRlZCBncmlkIHNldHRpbmdzIGFmdGVyIG1lcmdpbmcgd2l0aCBnbG9iYWwgZGVmYXVsdHMuXG4gICAqL1xuICBwcml2YXRlIGdldE5lZ290aWF0ZWRTZXR0aW5ncyhzZXR0aW5nczogR3JpZFNldHRpbmdzKTogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyB7XG4gICAgY29uc3QgaG90Q29uZmlnID0gdGhpcy5faG90Q29uZmlnLmdldENvbmZpZygpO1xuICAgIGNvbnN0IG5lZ290aWF0ZWRTZXR0aW5nczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyA9IHt9O1xuXG4gICAgbmVnb3RpYXRlZFNldHRpbmdzLmxpY2Vuc2VLZXkgPSBzZXR0aW5ncy5saWNlbnNlS2V5ID8/IGhvdENvbmZpZy5saWNlbnNlO1xuICAgIG5lZ290aWF0ZWRTZXR0aW5ncy5sYW5ndWFnZSA9IHNldHRpbmdzLmxhbmd1YWdlID8/IGhvdENvbmZpZy5sYW5ndWFnZTtcblxuICAgIGNvbnN0IHRoZW1lID0gc2V0dGluZ3MudGhlbWUgPz8gaG90Q29uZmlnLnRoZW1lO1xuICAgIGNvbnN0IHRoZW1lTmFtZSA9IHNldHRpbmdzLnRoZW1lTmFtZSA/PyBob3RDb25maWcudGhlbWVOYW1lO1xuXG4gICAgaWYgKHRoZW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG5lZ290aWF0ZWRTZXR0aW5ncy50aGVtZSA9IHRoZW1lIGFzIEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3NbJ3RoZW1lJ107XG4gICAgfSBlbHNlIGlmICh0aGVtZU5hbWUpIHtcbiAgICAgIG5lZ290aWF0ZWRTZXR0aW5ncy50aGVtZU5hbWUgPSB0aGVtZU5hbWU7XG4gICAgfVxuXG4gICAgLy8gc2V0dGluZ3MgdGhhdCBjYW4gYmUgc2V0IG9ubHkgYmVmb3JlIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgaXMgaW5pdGlhbGl6ZWRcbiAgICBpZiAoIXRoaXMuX19ob3RJbnN0YW5jZSkge1xuICAgICAgbmVnb3RpYXRlZFNldHRpbmdzLmxheW91dERpcmVjdGlvbiA9IHNldHRpbmdzLmxheW91dERpcmVjdGlvbiA/PyBob3RDb25maWcubGF5b3V0RGlyZWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBuZWdvdGlhdGVkU2V0dGluZ3M7XG4gIH1cbn1cbiJdfQ==
@@ -7,7 +7,7 @@ export class HotTableModule {
7
7
  * Placeholder for the library version.
8
8
  * Replaced automatically during the pre-build/post-build process.
9
9
  */
10
- static version = '0.0.0-next-c573c90-20260210';
10
+ static version = '0.0.0-next-a4c3bb2-20260211';
11
11
  constructor() { }
12
12
  static forRoot() {
13
13
  return {
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
26
26
  exports: [HotTableComponent],
27
27
  }]
28
28
  }], ctorParameters: function () { return []; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBT2hHLE1BQU0sT0FBTyxjQUFjO0lBQ3pCOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxPQUFPLEdBQUcsNkJBQTZCLENBQUM7SUFFL0MsZ0JBQWUsQ0FBQztJQUVULE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzt3R0FiVSxjQUFjO3lHQUFkLGNBQWMsaUJBSlYsaUJBQWlCLEVBQUUsZ0NBQWdDLGFBRXhELGlCQUFpQjt5R0FFaEIsY0FBYzs7NEZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQ0FBZ0MsQ0FBQztvQkFDbkUsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhvdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUVkaXRvclBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtIb3RUYWJsZUNvbXBvbmVudCwgQ3VzdG9tRWRpdG9yUGxhY2Vob2xkZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW0hvdFRhYmxlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSG90VGFibGVNb2R1bGUge1xuICAvKipcbiAgICogUGxhY2Vob2xkZXIgZm9yIHRoZSBsaWJyYXJ5IHZlcnNpb24uXG4gICAqIFJlcGxhY2VkIGF1dG9tYXRpY2FsbHkgZHVyaW5nIHRoZSBwcmUtYnVpbGQvcG9zdC1idWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgc3RhdGljIHZlcnNpb24gPSAnMC4wLjAtbmV4dC1jNTczYzkwLTIwMjYwMjEwJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SG90VGFibGVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEhvdFRhYmxlTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBT2hHLE1BQU0sT0FBTyxjQUFjO0lBQ3pCOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxPQUFPLEdBQUcsNkJBQTZCLENBQUM7SUFFL0MsZ0JBQWUsQ0FBQztJQUVULE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzt3R0FiVSxjQUFjO3lHQUFkLGNBQWMsaUJBSlYsaUJBQWlCLEVBQUUsZ0NBQWdDLGFBRXhELGlCQUFpQjt5R0FFaEIsY0FBYzs7NEZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQ0FBZ0MsQ0FBQztvQkFDbkUsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhvdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUVkaXRvclBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtIb3RUYWJsZUNvbXBvbmVudCwgQ3VzdG9tRWRpdG9yUGxhY2Vob2xkZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW0hvdFRhYmxlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSG90VGFibGVNb2R1bGUge1xuICAvKipcbiAgICogUGxhY2Vob2xkZXIgZm9yIHRoZSBsaWJyYXJ5IHZlcnNpb24uXG4gICAqIFJlcGxhY2VkIGF1dG9tYXRpY2FsbHkgZHVyaW5nIHRoZSBwcmUtYnVpbGQvcG9zdC1idWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgc3RhdGljIHZlcnNpb24gPSAnMC4wLjAtbmV4dC1hNGMzYmIyLTIwMjYwMjExJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SG90VGFibGVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEhvdFRhYmxlTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG90LXRhYmxlL3NyYy9saWIvbW9kZWxzL2NvbHVtbi1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBFbnZpcm9ubWVudEluamVjdG9yLCBUeXBlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEhhbmRzb250YWJsZSBmcm9tICdoYW5kc29udGFibGUvYmFzZSc7XG5pbXBvcnQgeyBFeHRlbmRlZEVkaXRvciB9IGZyb20gJ2hhbmRzb250YWJsZS9lZGl0b3JzL2ZhY3RvcnknO1xuaW1wb3J0IHsgQ2VsbFByb3BlcnRpZXMgfSBmcm9tICdoYW5kc29udGFibGUvc2V0dGluZ3MnO1xuaW1wb3J0IENvcmUgZnJvbSAnaGFuZHNvbnRhYmxlL2NvcmUnO1xuaW1wb3J0IHsgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVuZGVyZXIvaG90LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhvdENlbGxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0b3IvaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb3RDZWxsUmVuZGVyZXJBZHZhbmNlZENvbXBvbmVudCB9IGZyb20gJy4uL3JlbmRlcmVyL2hvdC1jZWxsLXJlbmRlcmVyLWFkdmFuY2VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb3RDZWxsRWRpdG9yQWR2YW5jZWRDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0b3IvaG90LWNlbGwtZWRpdG9yLWFkdmFuY2VkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEN1c3RvbVZhbGlkYXRvckZuPFQ+ID0gKHZhbHVlOiBUKSA9PiBib29sZWFuO1xuXG5leHBvcnQgdHlwZSBDb2x1bW5TZXR0aW5ncyA9XG4gIHwgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzXG4gIHwge1xuICAgICAgZWRpdG9yPzogVHlwZTxIb3RDZWxsRWRpdG9yQ29tcG9uZW50PGFueT4+IHxcbiAgICAgICAgVHlwZTxIb3RDZWxsRWRpdG9yQWR2YW5jZWRDb21wb25lbnQ8YW55Pj4gfFxuICAgICAgICBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NbJ2VkaXRvciddIHxcbiAgICAgICAgRXh0ZW5kZWRFZGl0b3I8YW55PjtcbiAgICAgIHJlbmRlcmVyPzogVHlwZTxIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQ8YW55LCBhbnk+PiB8XG4gICAgICAgIFR5cGU8SG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQ8YW55LCBhbnk+PiB8XG4gICAgICAgIFRlbXBsYXRlUmVmPGFueT4gfFxuICAgICAgICBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NbJ3JlbmRlcmVyJ10gfFxuICAgICAgICAoXG4gICAgICAgICAgKGluc3RhbmNlOiBDb3JlLFxuICAgICAgICAgICAgdGQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50LFxuICAgICAgICAgICAgcm93OiBudW1iZXIsIGNvbHVtbjogbnVtYmVyLFxuICAgICAgICAgICAgcHJvcDogc3RyaW5nIHwgbnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IGFueSxcbiAgICAgICAgICAgIGNlbGxQcm9wZXJ0aWVzOiBDZWxsUHJvcGVydGllc1xuICAgICAgICAgICkgPT4gdm9pZCk7XG4gICAgICB2YWxpZGF0b3I/OiBDdXN0b21WYWxpZGF0b3JGbjxhbnk+IHwgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzWyd2YWxpZGF0b3InXTtcbiAgICAgIHJlbmRlcmVyUHJvcHM/OiBhbnk7XG4gICAgfTtcblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JSZWZlcmVuY2VJbnRlcm5hbCB7XG4gIF9lZGl0b3JDb21wb25lbnRSZWZlcmVuY2U/OiBDb21wb25lbnRSZWY8SG90Q2VsbEVkaXRvckNvbXBvbmVudDxhbnk+PjtcbiAgX2Vudmlyb25tZW50SW5qZWN0b3I/OiBFbnZpcm9ubWVudEluamVjdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblNldHRpbmdzSW50ZXJuYWwgZXh0ZW5kcyBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3MsIEVkaXRvclJlZmVyZW5jZUludGVybmFsIHt9XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG90LXRhYmxlL3NyYy9saWIvbW9kZWxzL2NvbHVtbi1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBFbnZpcm9ubWVudEluamVjdG9yLCBUeXBlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEhhbmRzb250YWJsZSBmcm9tICdoYW5kc29udGFibGUvYmFzZSc7XG5pbXBvcnQgeyBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi9yZW5kZXJlci9ob3QtY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG90Q2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQ3VzdG9tVmFsaWRhdG9yRm48VD4gPSAodmFsdWU6IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIENvbHVtblNldHRpbmdzID1cbiAgfCBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NcbiAgfCB7XG4gICAgICBlZGl0b3I/OiBUeXBlPEhvdENlbGxFZGl0b3JDb21wb25lbnQ8YW55Pj4gfCAgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzWydlZGl0b3InXTtcbiAgICAgIHJlbmRlcmVyPzogVHlwZTxIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQ8YW55LCBhbnk+PiB8IFRlbXBsYXRlUmVmPGFueT4gfCBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NbJ3JlbmRlcmVyJ107XG4gICAgICB2YWxpZGF0b3I/OiBDdXN0b21WYWxpZGF0b3JGbjxhbnk+IHwgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzWyd2YWxpZGF0b3InXTtcbiAgICAgIHJlbmRlcmVyUHJvcHM/OiBhbnk7XG4gICAgfTtcblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JSZWZlcmVuY2VJbnRlcm5hbCB7XG4gIF9lZGl0b3JDb21wb25lbnRSZWZlcmVuY2U/OiBDb21wb25lbnRSZWY8SG90Q2VsbEVkaXRvckNvbXBvbmVudDxhbnk+PjtcbiAgX2Vudmlyb25tZW50SW5qZWN0b3I/OiBFbnZpcm9ubWVudEluamVjdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblNldHRpbmdzSW50ZXJuYWwgZXh0ZW5kcyBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3MsIEVkaXRvclJlZmVyZW5jZUludGVybmFsIHt9XG4iXX0=
@@ -1,15 +1,11 @@
1
1
  import { createComponent, Injectable } from '@angular/core';
2
- import { baseRenderer, registerRenderer, rendererFactory } from 'handsontable/renderers';
2
+ import { baseRenderer } from 'handsontable/renderers';
3
3
  import Handsontable from 'handsontable/base';
4
4
  import { HotCellRendererComponent } from './hot-cell-renderer.component';
5
- import { HotCellRendererAdvancedComponent } from './hot-cell-renderer-advanced.component';
6
5
  import * as i0 from "@angular/core";
7
6
  export const INVALID_RENDERER_WARNING = 'The provided renderer component was not recognized as a valid custom renderer. ' +
8
7
  'It must either extend HotCellRendererComponent or be a valid TemplateRef. ' +
9
8
  'Please ensure that your custom renderer is implemented correctly and imported from the proper source.';
10
- export const INVALID_ADVANCED_RENDERER_WARNING = 'The provided renderer component was not recognized as a valid custom renderer. ' +
11
- 'It must either extend HotCellRendererAdvancedComponent. ' +
12
- 'Please ensure that your custom renderer is implemented correctly and imported from the proper source.';
13
9
  /**
14
10
  * Type guard that checks if the given object is a TemplateRef.
15
11
  *
@@ -28,15 +24,6 @@ export function isTemplateRef(obj) {
28
24
  export function isHotCellRendererComponent(obj) {
29
25
  return obj?.RENDERER_MARKER === HotCellRendererComponent.RENDERER_MARKER;
30
26
  }
31
- /**
32
- * Type guard to check if an object is an instance of HotCellRendererAdvancedComponent.
33
- *
34
- * @param obj - The object to check.
35
- * @returns True if the object is a HotCellRendererAdvancedComponent, false otherwise.
36
- */
37
- export function isAdvancedHotCellRendererComponent(obj) {
38
- return obj?.RENDERER_MARKER === HotCellRendererAdvancedComponent.RENDERER_MARKER;
39
- }
40
27
  /**
41
28
  * Service for dynamically creating Angular components or templates as custom renderers for Handsontable.
42
29
  *
@@ -66,18 +53,14 @@ export class DynamicComponentService {
66
53
  createRendererFromComponent(component, componentProps = {}, register = false) {
67
54
  return (instance, td, row, col, prop, value, cellProperties) => {
68
55
  const properties = {
69
- value,
70
- instance,
71
- td,
72
- row,
73
- col,
74
- prop,
75
- cellProperties,
56
+ value, instance, td, row, col, prop, cellProperties
76
57
  };
77
58
  if (componentProps) {
78
59
  Object.assign(cellProperties, { rendererProps: componentProps });
79
60
  }
80
- const rendererParameters = [instance, td, row, col, prop, value, cellProperties];
61
+ const rendererParameters = [
62
+ instance, td, row, col, prop, value, cellProperties
63
+ ];
81
64
  baseRenderer.apply(this, rendererParameters);
82
65
  td.innerHTML = '';
83
66
  if (isTemplateRef(component)) {
@@ -96,42 +79,6 @@ export class DynamicComponentService {
96
79
  return td;
97
80
  };
98
81
  }
99
- /**
100
- * Creates a custom renderer function using rendererFactory from Handsontable.
101
- * This is an alternative implementation that uses the factory pattern.
102
- *
103
- * @param component - The Angular component type to use as renderer.
104
- * @param componentProps - An object containing additional properties to use by the renderer.
105
- * @param register - If true, registers the renderer with Handsontable using the component's name.
106
- * @returns A renderer function that can be used in Handsontable's configuration.
107
- */
108
- createRendererWithFactory(component, componentProps = {}, register = false) {
109
- return rendererFactory(({ instance, td, row, column, prop, value, cellProperties }) => {
110
- const properties = {
111
- value,
112
- instance,
113
- td,
114
- row,
115
- col: column,
116
- prop,
117
- cellProperties,
118
- };
119
- if (componentProps) {
120
- Object.assign(cellProperties, { rendererProps: componentProps });
121
- }
122
- td.innerHTML = '';
123
- if (isAdvancedHotCellRendererComponent(component)) {
124
- const componentRef = this.createComponent(component, properties);
125
- this.attachComponentToElement(componentRef, td);
126
- }
127
- else {
128
- console.warn(INVALID_ADVANCED_RENDERER_WARNING);
129
- }
130
- if (register && isAdvancedHotCellRendererComponent(component)) {
131
- registerRenderer(component.constructor.name, component);
132
- }
133
- });
134
- }
135
82
  /**
136
83
  * Attaches an embedded view created from a TemplateRef to a given DOM element.
137
84
  *
@@ -158,9 +105,9 @@ export class DynamicComponentService {
158
105
  */
159
106
  createComponent(component, rendererParameters) {
160
107
  const componentRef = createComponent(component, {
161
- environmentInjector: this.environmentInjector,
108
+ environmentInjector: this.environmentInjector
162
109
  });
163
- Object.keys(rendererParameters).forEach((key) => {
110
+ Object.keys(rendererParameters).forEach(key => {
164
111
  if (rendererParameters.hasOwnProperty(key)) {
165
112
  componentRef.setInput(key, rendererParameters[key]);
166
113
  }
@@ -179,7 +126,8 @@ export class DynamicComponentService {
179
126
  * @param container - The target DOM element to which the component's root node will be appended.
180
127
  */
181
128
  attachComponentToElement(componentRef, container) {
182
- const domElem = componentRef.hostView.rootNodes[0];
129
+ const domElem = componentRef.hostView
130
+ .rootNodes[0];
183
131
  container.appendChild(domElem);
184
132
  }
185
133
  /**
@@ -200,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
200
148
  providedIn: 'root',
201
149
  }]
202
150
  }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }]; } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWR5bmFtaWMtcmVuZGVyZXItY29tcG9uZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9yZW5kZXJlci9ob3QtZHluYW1pYy1yZW5kZXJlci1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZUFBZSxFQUdmLFVBQVUsRUFHWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFnQixnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RyxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFJMUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQ25DLGlGQUFpRjtJQUNqRiw0RUFBNEU7SUFDNUUsdUdBQXVHLENBQUM7QUFFMUcsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQzVDLGlGQUFpRjtJQUNqRiwwREFBMEQ7SUFDMUQsdUdBQXVHLENBQUM7QUFlMUc7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLEdBQVE7SUFDdkMsT0FBTyxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsa0JBQWtCLEtBQUssVUFBVSxDQUFDO0FBQzdELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxHQUFRO0lBQ2pELE9BQU8sR0FBRyxFQUFFLGVBQWUsS0FBSyx3QkFBd0IsQ0FBQyxlQUFlLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLEdBQVE7SUFDekQsT0FBTyxHQUFHLEVBQUUsZUFBZSxLQUFLLGdDQUFn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QUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDckQ7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRywyQ0FBMkMsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7YUFDbkc7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssd0JBQXdCLENBQUksWUFBNkIsRUFBRSxTQUFzQjtRQUN2RixNQUFNLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBQzFGLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBSSxZQUE2QjtRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBdExVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBjcmVhdGVDb21wb25lbnQsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgSW5qZWN0YWJsZSxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBiYXNlUmVuZGVyZXIsIEJhc2VSZW5kZXJlciwgcmVnaXN0ZXJSZW5kZXJlciwgcmVuZGVyZXJGYWN0b3J5IH0gZnJvbSAnaGFuZHNvbnRhYmxlL3JlbmRlcmVycyc7XG5pbXBvcnQgSGFuZHNvbnRhYmxlIGZyb20gJ2hhbmRzb250YWJsZS9iYXNlJztcbmltcG9ydCB7IEhvdENlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vaG90LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhvdENlbGxSZW5kZXJlckFkdmFuY2VkQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtY2VsbC1yZW5kZXJlci1hZHZhbmNlZC5jb21wb25lbnQnO1xuXG50eXBlIEJhc2VSZW5kZXJlclBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzPEJhc2VSZW5kZXJlcj47XG5cbmV4cG9ydCBjb25zdCBJTlZBTElEX1JFTkRFUkVSX1dBUk5JTkcgPVxuICAnVGhlIHByb3ZpZGVkIHJlbmRlcmVyIGNvbXBvbmVudCB3YXMgbm90IHJlY29nbml6ZWQgYXMgYSB2YWxpZCBjdXN0b20gcmVuZGVyZXIuICcgK1xuICAnSXQgbXVzdCBlaXRoZXIgZXh0ZW5kIEhvdENlbGxSZW5kZXJlckNvbXBvbmVudCBvciBiZSBhIHZhbGlkIFRlbXBsYXRlUmVmLiAnICtcbiAgJ1BsZWFzZSBlbnN1cmUgdGhhdCB5b3VyIGN1c3RvbSByZW5kZXJlciBpcyBpbXBsZW1lbnRlZCBjb3JyZWN0bHkgYW5kIGltcG9ydGVkIGZyb20gdGhlIHByb3BlciBzb3VyY2UuJztcblxuZXhwb3J0IGNvbnN0IElOVkFMSURfQURWQU5DRURfUkVOREVSRVJfV0FSTklORyA9XG4gICdUaGUgcHJvdmlkZWQgcmVuZGVyZXIgY29tcG9uZW50IHdhcyBub3QgcmVjb2duaXplZCBhcyBhIHZhbGlkIGN1c3RvbSByZW5kZXJlci4gJyArXG4gICdJdCBtdXN0IGVpdGhlciBleHRlbmQgSG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQuICcgK1xuICAnUGxlYXNlIGVuc3VyZSB0aGF0IHlvdXIgY3VzdG9tIHJlbmRlcmVyIGlzIGltcGxlbWVudGVkIGNvcnJlY3RseSBhbmQgaW1wb3J0ZWQgZnJvbSB0aGUgcHJvcGVyIHNvdXJjZS4nO1xuXG4vKipcbiAqIEFuIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHBhcmFtZXRlcnMgcGFzc2VkIHRvIGEgSGFuZHNvbnRhYmxlIHJlbmRlcmVyLlxuICovXG5pbnRlcmZhY2UgQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdCB7XG4gIGluc3RhbmNlOiBIYW5kc29udGFibGUuQ29yZTtcbiAgdGQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50O1xuICByb3c6IG51bWJlcjtcbiAgY29sOiBudW1iZXI7XG4gIHByb3A6IHN0cmluZyB8IG51bWJlcjtcbiAgdmFsdWU6IGFueTtcbiAgY2VsbFByb3BlcnRpZXM6IEhhbmRzb250YWJsZS5DZWxsUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRoYXQgY2hlY2tzIGlmIHRoZSBnaXZlbiBvYmplY3QgaXMgYSBUZW1wbGF0ZVJlZi5cbiAqXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG9iamVjdCBpcyBhIFRlbXBsYXRlUmVmOyBvdGhlcndpc2UsIGZhbHNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNUZW1wbGF0ZVJlZjxUPihvYmo6IGFueSk6IG9iaiBpcyBUZW1wbGF0ZVJlZjxUPiB7XG4gIHJldHVybiBvYmogJiYgdHlwZW9mIG9iai5jcmVhdGVFbWJlZGRlZFZpZXcgPT09ICdmdW5jdGlvbic7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0hvdENlbGxSZW5kZXJlckNvbXBvbmVudChvYmo6IGFueSk6IG9iaiBpcyBUeXBlPEhvdENlbGxSZW5kZXJlckNvbXBvbmVudD4ge1xuICByZXR1cm4gb2JqPy5SRU5ERVJFUl9NQVJLRVIgPT09IEhvdENlbGxSZW5kZXJlckNvbXBvbmVudC5SRU5ERVJFUl9NQVJLRVI7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgSG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvYmplY3QgaXMgYSBIb3RDZWxsUmVuZGVyZXJBZHZhbmNlZENvbXBvbmVudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBZHZhbmNlZEhvdENlbGxSZW5kZXJlckNvbXBvbmVudChvYmo6IGFueSk6IG9iaiBpcyBUeXBlPEhvdENlbGxSZW5kZXJlckFkdmFuY2VkQ29tcG9uZW50PiB7XG4gIHJldHVybiBvYmo/LlJFTkRFUkVSX01BUktFUiA9PT0gSG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQuUkVOREVSRVJfTUFSS0VSO1xufVxuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGR5bmFtaWNhbGx5IGNyZWF0aW5nIEFuZ3VsYXIgY29tcG9uZW50cyBvciB0ZW1wbGF0ZXMgYXMgY3VzdG9tIHJlbmRlcmVycyBmb3IgSGFuZHNvbnRhYmxlLlxuICpcbiAqIFRoaXMgc2VydmljZSBhbGxvd3MgeW91IHRvIGNyZWF0ZSBhIHJlbmRlcmVyIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYSBnaXZlbiBBbmd1bGFyIGNvbXBvbmVudCBvciBUZW1wbGF0ZVJlZlxuICogc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBhcyBhIEhhbmRzb250YWJsZSByZW5kZXJlci5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgY3VzdG9tUmVuZGVyZXIgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVSZW5kZXJlckZyb21Db21wb25lbnQoTXlSZW5kZXJlckNvbXBvbmVudCwgeyBzb21lUHJvcDogdmFsdWUgfSk7XG4gKiAvLyBVc2UgY3VzdG9tUmVuZGVyZXIgaW4geW91ciBIYW5kc29udGFibGUgY29uZmlndXJhdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcikge31cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGN1c3RvbSByZW5kZXJlciBmdW5jdGlvbiBmb3IgSGFuZHNvbnRhYmxlIGZyb20gYW4gQW5ndWxhciBjb21wb25lbnQgb3IgVGVtcGxhdGVSZWYuXG4gICAqIFRoZSBnZW5lcmF0ZWQgcmVuZGVyZXIgZnVuY3Rpb24gd2lsbCBiZSB1c2VkIGJ5IEhhbmRzb250YWJsZSB0byByZW5kZXIgY2VsbCBjb250ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIEFuZ3VsYXIgY29tcG9uZW50IHR5cGUgb3IgVGVtcGxhdGVSZWYgdG8gdXNlIGFzIHJlbmRlcmVyLlxuICAgKiBAcGFyYW0gY29tcG9uZW50UHJvcHMgLSBBbiBvYmplY3QgY29udGFpbmluZyBhZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gdXNlIGJ5IHRoZSByZW5kZXJlci5cbiAgICogQHBhcmFtIHJlZ2lzdGVyIC0gSWYgdHJ1ZSwgcmVnaXN0ZXJzIHRoZSByZW5kZXJlciB3aXRoIEhhbmRzb250YWJsZSB1c2luZyB0aGUgY29tcG9uZW50J3MgbmFtZS5cbiAgICogQHJldHVybnMgQSByZW5kZXJlciBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIGluIEhhbmRzb250YWJsZSdzIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBjcmVhdGVSZW5kZXJlckZyb21Db21wb25lbnQoXG4gICAgY29tcG9uZW50OiBUeXBlPEhvdENlbGxSZW5kZXJlckNvbXBvbmVudD4gfCBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIGNvbXBvbmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXG4gICAgcmVnaXN0ZXI6IGJvb2xlYW4gPSBmYWxzZVxuICApIHtcbiAgICByZXR1cm4gKFxuICAgICAgaW5zdGFuY2U6IEhhbmRzb250YWJsZS5Db3JlLFxuICAgICAgdGQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50LFxuICAgICAgcm93OiBudW1iZXIsXG4gICAgICBjb2w6IG51bWJlcixcbiAgICAgIHByb3A6IHN0cmluZyB8IG51bWJlcixcbiAgICAgIHZhbHVlOiBhbnksXG4gICAgICBjZWxsUHJvcGVydGllczogSGFuZHNvbnRhYmxlLkNlbGxQcm9wZXJ0aWVzXG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzT2JqZWN0ID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgaW5zdGFuY2UsXG4gICAgICAgIHRkLFxuICAgICAgICByb3csXG4gICAgICAgIGNvbCxcbiAgICAgICAgcHJvcCxcbiAgICAgICAgY2VsbFByb3BlcnRpZXMsXG4gICAgICB9O1xuXG4gICAgICBpZiAoY29tcG9uZW50UHJvcHMpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjZWxsUHJvcGVydGllcywgeyByZW5kZXJlclByb3BzOiBjb21wb25lbnRQcm9wcyB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVuZGVyZXJQYXJhbWV0ZXJzOiBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzID0gW2luc3RhbmNlLCB0ZCwgcm93LCBjb2wsIHByb3AsIHZhbHVlLCBjZWxsUHJvcGVydGllc107XG5cbiAgICAgIGJhc2VSZW5kZXJlci5hcHBseSh0aGlzLCByZW5kZXJlclBhcmFtZXRlcnMpO1xuXG4gICAgICB0ZC5pbm5lckhUTUwgPSAnJztcblxuICAgICAgaWYgKGlzVGVtcGxhdGVSZWYoY29tcG9uZW50KSkge1xuICAgICAgICB0aGlzLmF0dGFjaFRlbXBsYXRlVG9FbGVtZW50KGNvbXBvbmVudCwgdGQsIHByb3BlcnRpZXMpO1xuICAgICAgfSBlbHNlIGlmIChpc0hvdENlbGxSZW5kZXJlckNvbXBvbmVudChjb21wb25lbnQpKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgcHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuYXR0YWNoQ29tcG9uZW50VG9FbGVtZW50KGNvbXBvbmVudFJlZiwgdGQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKElOVkFMSURfUkVOREVSRVJfV0FSTklORyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWdpc3RlciAmJiBpc0hvdENlbGxSZW5kZXJlckNvbXBvbmVudChjb21wb25lbnQpKSB7XG4gICAgICAgIEhhbmRzb250YWJsZS5yZW5kZXJlcnMucmVnaXN0ZXJSZW5kZXJlcihjb21wb25lbnQuY29uc3RydWN0b3IubmFtZSwgY29tcG9uZW50IGFzIGFueSBhcyBCYXNlUmVuZGVyZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGQ7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgY3VzdG9tIHJlbmRlcmVyIGZ1bmN0aW9uIHVzaW5nIHJlbmRlcmVyRmFjdG9yeSBmcm9tIEhhbmRzb250YWJsZS5cbiAgICogVGhpcyBpcyBhbiBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgdGhlIGZhY3RvcnkgcGF0dGVybi5cbiAgICpcbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBBbmd1bGFyIGNvbXBvbmVudCB0eXBlIHRvIHVzZSBhcyByZW5kZXJlci5cbiAgICogQHBhcmFtIGNvbXBvbmVudFByb3BzIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHVzZSBieSB0aGUgcmVuZGVyZXIuXG4gICAqIEBwYXJhbSByZWdpc3RlciAtIElmIHRydWUsIHJlZ2lzdGVycyB0aGUgcmVuZGVyZXIgd2l0aCBIYW5kc29udGFibGUgdXNpbmcgdGhlIGNvbXBvbmVudCdzIG5hbWUuXG4gICAqIEByZXR1cm5zIEEgcmVuZGVyZXIgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCBpbiBIYW5kc29udGFibGUncyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgY3JlYXRlUmVuZGVyZXJXaXRoRmFjdG9yeShcbiAgICBjb21wb25lbnQ6IFR5cGU8SG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQ+LFxuICAgIGNvbXBvbmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXG4gICAgcmVnaXN0ZXI6IGJvb2xlYW4gPSBmYWxzZVxuICApIHtcbiAgICByZXR1cm4gcmVuZGVyZXJGYWN0b3J5KCh7XG4gICAgICBpbnN0YW5jZSxcbiAgICAgIHRkLFxuICAgICAgcm93LFxuICAgICAgY29sdW1uLFxuICAgICAgcHJvcCxcbiAgICAgIHZhbHVlLFxuICAgICAgY2VsbFByb3BlcnRpZXNcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzT2JqZWN0ID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgaW5zdGFuY2UsXG4gICAgICAgIHRkLFxuICAgICAgICByb3csXG4gICAgICAgIGNvbDogY29sdW1uLFxuICAgICAgICBwcm9wLFxuICAgICAgICBjZWxsUHJvcGVydGllcyxcbiAgICAgIH07XG5cbiAgICAgIGlmIChjb21wb25lbnRQcm9wcykge1xuICAgICAgICBPYmplY3QuYXNzaWduKGNlbGxQcm9wZXJ0aWVzLCB7IHJlbmRlcmVyUHJvcHM6IGNvbXBvbmVudFByb3BzIH0pO1xuICAgICAgfVxuXG4gICAgICB0ZC5pbm5lckhUTUwgPSAnJztcblxuICAgICAgaWYgKGlzQWR2YW5jZWRIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQoY29tcG9uZW50KSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHByb3BlcnRpZXMpO1xuICAgICAgICB0aGlzLmF0dGFjaENvbXBvbmVudFRvRWxlbWVudChjb21wb25lbnRSZWYsIHRkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihJTlZBTElEX0FEVkFOQ0VEX1JFTkRFUkVSX1dBUk5JTkcpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVnaXN0ZXIgJiYgaXNBZHZhbmNlZEhvdENlbGxSZW5kZXJlckNvbXBvbmVudChjb21wb25lbnQpKSB7XG4gICAgICAgIHJlZ2lzdGVyUmVuZGVyZXIoY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWUsIGNvbXBvbmVudCBhcyBhbnkgYXMgQmFzZVJlbmRlcmVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhbiBlbWJlZGRlZCB2aWV3IGNyZWF0ZWQgZnJvbSBhIFRlbXBsYXRlUmVmIHRvIGEgZ2l2ZW4gRE9NIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB0ZW1wbGF0ZSAtIFRoZSBUZW1wbGF0ZVJlZiB0byBjcmVhdGUgYW4gZW1iZWRkZWQgdmlldyBmcm9tLlxuICAgKiBAcGFyYW0gdGRFbCAtIFRoZSB0YXJnZXQgRE9NIGVsZW1lbnQgKGEgdGFibGUgY2VsbCkgdG8gd2hpY2ggdGhlIHZpZXcgd2lsbCBiZSBhcHBlbmRlZC5cbiAgICogQHBhcmFtIHByb3BlcnRpZXMgLSBDb250ZXh0IG9iamVjdCBwcm92aWRpbmcgcHJvcGVydGllcyB0byBiZSB1c2VkIHdpdGhpbiB0aGUgdGVtcGxhdGUuXG4gICAqL1xuICBwcml2YXRlIGF0dGFjaFRlbXBsYXRlVG9FbGVtZW50KHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0ZEVsOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgcHJvcGVydGllczogQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdCkge1xuICAgIGNvbnN0IGVtYmVkZGVkVmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT4gPSB0ZW1wbGF0ZS5jcmVhdGVFbWJlZGRlZFZpZXcoe1xuICAgICAgJGltcGxpY2l0OiBwcm9wZXJ0aWVzLnZhbHVlLFxuICAgICAgLi4ucHJvcGVydGllcyxcbiAgICB9KTtcbiAgICBlbWJlZGRlZFZpZXcuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgZW1iZWRkZWRWaWV3LnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICB0ZEVsLmFwcGVuZENoaWxkKG5vZGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIER5bmFtaWNhbGx5IGNyZWF0ZXMgYW4gQW5ndWxhciBjb21wb25lbnQgb2YgdGhlIGdpdmVuIHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgQW5ndWxhciBjb21wb25lbnQgdHlwZSB0byBiZSBjcmVhdGVkLlxuICAgKiBAcGFyYW0gcmVuZGVyZXJQYXJhbWV0ZXJzIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgaW5wdXQgcHJvcGVydGllcyB0byBhc3NpZ24gdG8gdGhlIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICogQHJldHVybnMgVGhlIENvbXBvbmVudFJlZiBvZiB0aGUgZHluYW1pY2FsbHkgY3JlYXRlZCBjb21wb25lbnQuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUNvbXBvbmVudDxUIGV4dGVuZHMgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50PihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgcmVuZGVyZXJQYXJhbWV0ZXJzOiBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzT2JqZWN0XG4gICk6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwge1xuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnZpcm9ubWVudEluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmtleXMocmVuZGVyZXJQYXJhbWV0ZXJzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChyZW5kZXJlclBhcmFtZXRlcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoa2V5LCByZW5kZXJlclBhcmFtZXRlcnNba2V5XSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oYElucHV0IHByb3BlcnR5IFwiJHtrZXl9XCIgZG9lcyBub3QgZXhpc3Qgb24gY29tcG9uZW50IGluc3RhbmNlOiAke2NvbXBvbmVudD8ubmFtZX0uYCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgYSBkeW5hbWljYWxseSBjcmVhdGVkIGNvbXBvbmVudCdzIHZpZXcgdG8gYSBzcGVjaWZpZWQgRE9NIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50UmVmIC0gVGhlIHJlZmVyZW5jZSB0byB0aGUgZHluYW1pY2FsbHkgY3JlYXRlZCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb250YWluZXIgLSBUaGUgdGFyZ2V0IERPTSBlbGVtZW50IHRvIHdoaWNoIHRoZSBjb21wb25lbnQncyByb290IG5vZGUgd2lsbCBiZSBhcHBlbmRlZC5cbiAgICovXG4gIHByaXZhdGUgYXR0YWNoQ29tcG9uZW50VG9FbGVtZW50PFQ+KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+LCBjb250YWluZXI6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPFQ+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIGEgZHluYW1pY2FsbHkgY3JlYXRlZCBjb21wb25lbnQgYW5kIGRldGFjaGVzIGl0cyB2aWV3IGZyb20gdGhlIEFuZ3VsYXIgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnRSZWYgLSBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgdG8gYmUgZGVzdHJveWVkLlxuICAgKi9cbiAgZGVzdHJveUNvbXBvbmVudDxUPihjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPik6IHZvaWQge1xuICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWR5bmFtaWMtcmVuZGVyZXItY29tcG9uZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9yZW5kZXJlci9ob3QtZHluYW1pYy1yZW5kZXJlci1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ3lCLGVBQWUsRUFDUCxVQUFVLEVBRWpELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQWUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJdkUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQ25DLGlGQUFpRjtJQUNqRiw0RUFBNEU7SUFDNUUsdUdBQXVHLENBQUM7QUFlMUc7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLEdBQVE7SUFDdkMsT0FBTyxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsa0JBQWtCLEtBQUssVUFBVSxDQUFDO0FBQzdELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxHQUFRO0lBQ2pELE9BQU8sR0FBRyxFQUFFLGVBQWUsS0FBSyx3QkFBd0IsQ0FBQyxlQUFlLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFFeEI7SUFDQTtJQUZWLFlBQ1UsTUFBc0IsRUFDdEIsbUJBQXdDO1FBRHhDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDL0MsQ0FBQztJQUVKOzs7Ozs7OztPQVFHO0lBQ0gsMkJBQTJCLENBQ3pCLFNBQTRELEVBQzVELGlCQUFzQyxFQUFFLEVBQ3hDLFdBQW9C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Q0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssd0JBQXdCLENBQzlCLFlBQTZCLEVBQzdCLFNBQXNCO1FBRXRCLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUErQjthQUMxRCxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBQy9CLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBSSxZQUE2QjtRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBNUlVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBjcmVhdGVDb21wb25lbnQsXG4gIEVtYmVkZGVkVmlld1JlZiwgRW52aXJvbm1lbnRJbmplY3RvciwgSW5qZWN0YWJsZSxcbiAgVGVtcGxhdGVSZWYsIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Jhc2VSZW5kZXJlciwgQmFzZVJlbmRlcmVyfSBmcm9tICdoYW5kc29udGFibGUvcmVuZGVyZXJzJztcbmltcG9ydCBIYW5kc29udGFibGUgZnJvbSAnaGFuZHNvbnRhYmxlL2Jhc2UnO1xuaW1wb3J0IHtIb3RDZWxsUmVuZGVyZXJDb21wb25lbnR9IGZyb20gJy4vaG90LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcblxudHlwZSBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzID0gUGFyYW1ldGVyczxCYXNlUmVuZGVyZXI+O1xuXG5leHBvcnQgY29uc3QgSU5WQUxJRF9SRU5ERVJFUl9XQVJOSU5HID1cbiAgJ1RoZSBwcm92aWRlZCByZW5kZXJlciBjb21wb25lbnQgd2FzIG5vdCByZWNvZ25pemVkIGFzIGEgdmFsaWQgY3VzdG9tIHJlbmRlcmVyLiAnICtcbiAgJ0l0IG11c3QgZWl0aGVyIGV4dGVuZCBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQgb3IgYmUgYSB2YWxpZCBUZW1wbGF0ZVJlZi4gJyArXG4gICdQbGVhc2UgZW5zdXJlIHRoYXQgeW91ciBjdXN0b20gcmVuZGVyZXIgaXMgaW1wbGVtZW50ZWQgY29ycmVjdGx5IGFuZCBpbXBvcnRlZCBmcm9tIHRoZSBwcm9wZXIgc291cmNlLic7XG5cbi8qKlxuICogQW4gb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcGFyYW1ldGVycyBwYXNzZWQgdG8gYSBIYW5kc29udGFibGUgcmVuZGVyZXIuXG4gKi9cbmludGVyZmFjZSBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzT2JqZWN0IHtcbiAgaW5zdGFuY2U6IEhhbmRzb250YWJsZS5Db3JlO1xuICB0ZDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XG4gIHJvdzogbnVtYmVyO1xuICBjb2w6IG51bWJlcjtcbiAgcHJvcDogc3RyaW5nIHwgbnVtYmVyO1xuICB2YWx1ZTogYW55O1xuICBjZWxsUHJvcGVydGllczogSGFuZHNvbnRhYmxlLkNlbGxQcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdGhhdCBjaGVja3MgaWYgdGhlIGdpdmVuIG9iamVjdCBpcyBhIFRlbXBsYXRlUmVmLlxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgVGVtcGxhdGVSZWY7IG90aGVyd2lzZSwgZmFsc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1RlbXBsYXRlUmVmPFQ+KG9iajogYW55KTogb2JqIGlzIFRlbXBsYXRlUmVmPFQ+IHtcbiAgcmV0dXJuIG9iaiAmJiB0eXBlb2Ygb2JqLmNyZWF0ZUVtYmVkZGVkVmlldyA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGFuIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvYmplY3QgaXMgYSBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50KG9iajogYW55KTogb2JqIGlzIFR5cGU8SG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50PiB7XG4gIHJldHVybiBvYmo/LlJFTkRFUkVSX01BUktFUiA9PT0gSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50LlJFTkRFUkVSX01BUktFUjtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBkeW5hbWljYWxseSBjcmVhdGluZyBBbmd1bGFyIGNvbXBvbmVudHMgb3IgdGVtcGxhdGVzIGFzIGN1c3RvbSByZW5kZXJlcnMgZm9yIEhhbmRzb250YWJsZS5cbiAqXG4gKiBUaGlzIHNlcnZpY2UgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSByZW5kZXJlciBmdW5jdGlvbiB0aGF0IHdyYXBzIGEgZ2l2ZW4gQW5ndWxhciBjb21wb25lbnQgb3IgVGVtcGxhdGVSZWZcbiAqIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgYSBIYW5kc29udGFibGUgcmVuZGVyZXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IGN1c3RvbVJlbmRlcmVyID0gZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlUmVuZGVyZXJGcm9tQ29tcG9uZW50KE15UmVuZGVyZXJDb21wb25lbnQsIHsgc29tZVByb3A6IHZhbHVlIH0pO1xuICogLy8gVXNlIGN1c3RvbVJlbmRlcmVyIGluIHlvdXIgSGFuZHNvbnRhYmxlIGNvbmZpZ3VyYXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvclxuICApIHt9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjdXN0b20gcmVuZGVyZXIgZnVuY3Rpb24gZm9yIEhhbmRzb250YWJsZSBmcm9tIGFuIEFuZ3VsYXIgY29tcG9uZW50IG9yIFRlbXBsYXRlUmVmLlxuICAgKiBUaGUgZ2VuZXJhdGVkIHJlbmRlcmVyIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCBieSBIYW5kc29udGFibGUgdG8gcmVuZGVyIGNlbGwgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBBbmd1bGFyIGNvbXBvbmVudCB0eXBlIG9yIFRlbXBsYXRlUmVmIHRvIHVzZSBhcyByZW5kZXJlci5cbiAgICogQHBhcmFtIGNvbXBvbmVudFByb3BzIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHVzZSBieSB0aGUgcmVuZGVyZXIuXG4gICAqIEBwYXJhbSByZWdpc3RlciAtIElmIHRydWUsIHJlZ2lzdGVycyB0aGUgcmVuZGVyZXIgd2l0aCBIYW5kc29udGFibGUgdXNpbmcgdGhlIGNvbXBvbmVudCdzIG5hbWUuXG4gICAqIEByZXR1cm5zIEEgcmVuZGVyZXIgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCBpbiBIYW5kc29udGFibGUncyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgY3JlYXRlUmVuZGVyZXJGcm9tQ29tcG9uZW50KFxuICAgIGNvbXBvbmVudDogVHlwZTxIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQ+IHwgVGVtcGxhdGVSZWY8YW55PixcbiAgICBjb21wb25lbnRQcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxuICAgIHJlZ2lzdGVyOiBib29sZWFuID0gZmFsc2VcbiAgKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGluc3RhbmNlOiBIYW5kc29udGFibGUuQ29yZSxcbiAgICAgIHRkOiBIVE1MVGFibGVDZWxsRWxlbWVudCxcbiAgICAgIHJvdzogbnVtYmVyLFxuICAgICAgY29sOiBudW1iZXIsXG4gICAgICBwcm9wOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgICB2YWx1ZTogYW55LFxuICAgICAgY2VsbFByb3BlcnRpZXM6IEhhbmRzb250YWJsZS5DZWxsUHJvcGVydGllc1xuICAgICkgPT4ge1xuICAgICAgY29uc3QgcHJvcGVydGllczogQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdCA9IHtcbiAgICAgICAgdmFsdWUsIGluc3RhbmNlLCB0ZCwgcm93LCBjb2wsIHByb3AsIGNlbGxQcm9wZXJ0aWVzXG4gICAgICB9O1xuXG4gICAgICBpZiAoY29tcG9uZW50UHJvcHMpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjZWxsUHJvcGVydGllcywge3JlbmRlcmVyUHJvcHM6IGNvbXBvbmVudFByb3BzfSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbmRlcmVyUGFyYW1ldGVyczogQmFzZVJlbmRlcmVyUGFyYW1ldGVycyA9IFtcbiAgICAgICAgaW5zdGFuY2UsIHRkLCByb3csIGNvbCwgcHJvcCwgdmFsdWUsIGNlbGxQcm9wZXJ0aWVzXG4gICAgICBdO1xuXG4gICAgICBiYXNlUmVuZGVyZXIuYXBwbHkodGhpcywgcmVuZGVyZXJQYXJhbWV0ZXJzKTtcblxuICAgICAgdGQuaW5uZXJIVE1MID0gJyc7XG5cbiAgICAgIGlmIChpc1RlbXBsYXRlUmVmKGNvbXBvbmVudCkpIHtcbiAgICAgICAgdGhpcy5hdHRhY2hUZW1wbGF0ZVRvRWxlbWVudChjb21wb25lbnQsIHRkLCBwcm9wZXJ0aWVzKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQoY29tcG9uZW50KSl7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgcHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuYXR0YWNoQ29tcG9uZW50VG9FbGVtZW50KGNvbXBvbmVudFJlZiwgdGQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKElOVkFMSURfUkVOREVSRVJfV0FSTklORylcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZ2lzdGVyICYmIGlzSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50KGNvbXBvbmVudCkpIHtcbiAgICAgICAgSGFuZHNvbnRhYmxlLnJlbmRlcmVycy5yZWdpc3RlclJlbmRlcmVyKFxuICAgICAgICAgIGNvbXBvbmVudC5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgICAgIGNvbXBvbmVudCBhcyBhbnkgYXMgQmFzZVJlbmRlcmVyXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0ZDtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGFuIGVtYmVkZGVkIHZpZXcgY3JlYXRlZCBmcm9tIGEgVGVtcGxhdGVSZWYgdG8gYSBnaXZlbiBET00gZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIHRlbXBsYXRlIC0gVGhlIFRlbXBsYXRlUmVmIHRvIGNyZWF0ZSBhbiBlbWJlZGRlZCB2aWV3IGZyb20uXG4gICAqIEBwYXJhbSB0ZEVsIC0gVGhlIHRhcmdldCBET00gZWxlbWVudCAoYSB0YWJsZSBjZWxsKSB0byB3aGljaCB0aGUgdmlldyB3aWxsIGJlIGFwcGVuZGVkLlxuICAgKiBAcGFyYW0gcHJvcGVydGllcyAtIENvbnRleHQgb2JqZWN0IHByb3ZpZGluZyBwcm9wZXJ0aWVzIHRvIGJlIHVzZWQgd2l0aGluIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIHByaXZhdGUgYXR0YWNoVGVtcGxhdGVUb0VsZW1lbnQoXG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgdGRFbDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQsXG4gICAgcHJvcGVydGllczogQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdFxuICApIHtcbiAgICBjb25zdCBlbWJlZGRlZFZpZXc6IEVtYmVkZGVkVmlld1JlZjxhbnk+ID0gdGVtcGxhdGUuY3JlYXRlRW1iZWRkZWRWaWV3KHtcbiAgICAgICRpbXBsaWNpdDogcHJvcGVydGllcy52YWx1ZSxcbiAgICAgIC4uLnByb3BlcnRpZXMsXG4gICAgfSk7XG4gICAgZW1iZWRkZWRWaWV3LmRldGVjdENoYW5nZXMoKTtcblxuICAgIGVtYmVkZGVkVmlldy5yb290Tm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgdGRFbC5hcHBlbmRDaGlsZChub2RlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljYWxseSBjcmVhdGVzIGFuIEFuZ3VsYXIgY29tcG9uZW50IG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIEFuZ3VsYXIgY29tcG9uZW50IHR5cGUgdG8gYmUgY3JlYXRlZC5cbiAgICogQHBhcmFtIHJlbmRlcmVyUGFyYW1ldGVycyAtIEFuIG9iamVjdCBjb250YWluaW5nIGlucHV0IHByb3BlcnRpZXMgdG8gYXNzaWduIHRvIHRoZSBjb21wb25lbnQgaW5zdGFuY2UuXG4gICAqIEByZXR1cm5zIFRoZSBDb21wb25lbnRSZWYgb2YgdGhlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnQ8VCBleHRlbmRzIEhvdENlbGxSZW5kZXJlckNvbXBvbmVudD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIHJlbmRlcmVyUGFyYW1ldGVyczogQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdFxuICApOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHtcbiAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuZW52aXJvbm1lbnRJbmplY3RvclxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmtleXMocmVuZGVyZXJQYXJhbWV0ZXJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAocmVuZGVyZXJQYXJhbWV0ZXJzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29tcG9uZW50UmVmLnNldElucHV0KGtleSwgcmVuZGVyZXJQYXJhbWV0ZXJzW2tleV0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oYElucHV0IHByb3BlcnR5IFwiJHtrZXl9XCIgZG9lcyBub3QgZXhpc3Qgb24gY29tcG9uZW50IGluc3RhbmNlOiAke2NvbXBvbmVudD8ubmFtZX0uYCk7XG4gICAgICB9XG4gICAgfSlcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50J3MgdmlldyB0byBhIHNwZWNpZmllZCBET00gY29udGFpbmVyIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnRSZWYgLSBUaGUgcmVmZXJlbmNlIHRvIHRoZSBkeW5hbWljYWxseSBjcmVhdGVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbnRhaW5lciAtIFRoZSB0YXJnZXQgRE9NIGVsZW1lbnQgdG8gd2hpY2ggdGhlIGNvbXBvbmVudCdzIHJvb3Qgbm9kZSB3aWxsIGJlIGFwcGVuZGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBhdHRhY2hDb21wb25lbnRUb0VsZW1lbnQ8VD4oXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4sXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8VD4pXG4gICAgICAucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyBhIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50IGFuZCBkZXRhY2hlcyBpdHMgdmlldyBmcm9tIHRoZSBBbmd1bGFyIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50UmVmIC0gVGhlIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50IHRvIGJlIGRlc3Ryb3llZC5cbiAgICovXG4gIGRlc3Ryb3lDb21wb25lbnQ8VD4oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4pOiB2b2lkIHtcbiAgICB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19