@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,11 +1,6 @@
1
1
  import { createComponent, Injectable } from '@angular/core';
2
2
  import { BaseEditorAdapter } from '../editor/base-editor-adapter';
3
- import { HotCellRendererComponent } from '../renderer/hot-cell-renderer.component';
4
- import { HotCellEditorComponent } from '../editor/hot-cell-editor.component';
5
3
  import Handsontable from 'handsontable/base';
6
- import { FactoryEditorAdapter } from '../editor/editor-factory-adapter';
7
- import { HotCellRendererAdvancedComponent } from '../renderer/hot-cell-renderer-advanced.component';
8
- import { HotCellEditorAdvancedComponent } from '../editor/hot-cell-editor-advanced.component';
9
4
  import * as i0 from "@angular/core";
10
5
  import * as i1 from "../renderer/hot-dynamic-renderer-component.service";
11
6
  const AVAILABLE_OPTIONS = Object.keys(Handsontable.DefaultSettings);
@@ -42,7 +37,7 @@ export class HotSettingsResolver {
42
37
  */
43
38
  wrapHooksInNgZone(settings, ngZone) {
44
39
  const options = AVAILABLE_HOOKS.concat(AVAILABLE_OPTIONS);
45
- options.forEach((key) => {
40
+ options.forEach(key => {
46
41
  const isHook = AVAILABLE_HOOKS.indexOf(key) > -1;
47
42
  let option;
48
43
  if (isHook) {
@@ -51,7 +46,7 @@ export class HotSettingsResolver {
51
46
  if (option === void 0) {
52
47
  return;
53
48
  }
54
- else if (!!ngZone && typeof option === 'function' && isHook) {
49
+ else if (!!ngZone && (typeof option === 'function' && isHook)) {
55
50
  settings[key] = function (...args) {
56
51
  return ngZone.run(() => option.apply(this, args));
57
52
  };
@@ -70,16 +65,13 @@ export class HotSettingsResolver {
70
65
  return;
71
66
  }
72
67
  mergedSettings?.columns
73
- ?.filter((settings) => this.isCustomRenderer(settings.renderer))
68
+ ?.filter((settings) => this.isRendererComponentRefType(settings.renderer) || this.isTemplateRef(settings.renderer))
74
69
  ?.forEach((cellSettings) => {
75
- const renderer = cellSettings.renderer;
70
+ const renderer = this.isTemplateRef(cellSettings.renderer)
71
+ ? cellSettings.renderer
72
+ : cellSettings.renderer;
76
73
  const props = cellSettings.rendererProps ?? {};
77
- if (this.isAdvancedRendererComponentRefType(renderer)) {
78
- cellSettings.renderer = this.dynamicComponentService.createRendererWithFactory(renderer, props);
79
- }
80
- else if (this.isRendererComponentRefType(renderer) || this.isTemplateRef(renderer)) {
81
- cellSettings.renderer = this.dynamicComponentService.createRendererFromComponent(renderer, props);
82
- }
74
+ cellSettings.renderer = this.dynamicComponentService.createRendererFromComponent(renderer, props);
83
75
  });
84
76
  }
85
77
  /**
@@ -91,22 +83,14 @@ export class HotSettingsResolver {
91
83
  return;
92
84
  }
93
85
  mergedSettings?.columns
94
- ?.filter((settings) => this.isEditorComponentRefType(settings.editor) || this.isAdvancedEditorComponentRefType(settings.editor))
86
+ ?.filter((settings) => this.isEditorComponentRefType(settings.editor))
95
87
  ?.forEach((cellSettings) => {
96
- if (this.isAdvancedEditorComponentRefType(cellSettings.editor)) {
97
- const component = createComponent(cellSettings.editor, {
98
- environmentInjector: this.environmentInjector,
99
- });
100
- cellSettings.editor = FactoryEditorAdapter(component);
101
- }
102
- else {
103
- const component = createComponent(cellSettings.editor, {
104
- environmentInjector: this.environmentInjector,
105
- });
106
- cellSettings['_editorComponentReference'] = component;
107
- cellSettings['_environmentInjector'] = this.environmentInjector;
108
- cellSettings.editor = BaseEditorAdapter;
109
- }
88
+ const customEditor = cellSettings.editor;
89
+ cellSettings['_editorComponentReference'] = createComponent(customEditor, {
90
+ environmentInjector: this.environmentInjector,
91
+ });
92
+ cellSettings['_environmentInjector'] = this.environmentInjector;
93
+ cellSettings.editor = BaseEditorAdapter;
110
94
  });
111
95
  }
112
96
  /**
@@ -131,40 +115,19 @@ export class HotSettingsResolver {
131
115
  }
132
116
  isEditorComponentRefType(editor) {
133
117
  // ecmp - we need it to check if the editor is a component
134
- return typeof editor === 'function' &&
135
- !!editor?.ɵcmp &&
136
- editor?.EDITOR_MARKER === HotCellEditorComponent.EDITOR_MARKER;
137
- }
138
- isAdvancedEditorComponentRefType(editor) {
139
- // ecmp - we need it to check if the editor is a component
140
- return typeof editor === 'function' &&
141
- !!editor?.ɵcmp &&
142
- editor?.EDITOR_MARKER === HotCellEditorAdvancedComponent.EDITOR_MARKER;
118
+ return typeof editor === 'function' && !!editor?.ɵcmp;
143
119
  }
144
120
  isRendererComponentRefType(renderer) {
145
121
  // ecmp - we need it to check if the renderer is a component
146
- return typeof renderer === 'function' &&
147
- !!renderer?.ɵcmp &&
148
- renderer?.RENDERER_MARKER === HotCellRendererComponent.RENDERER_MARKER;
149
- }
150
- isAdvancedRendererComponentRefType(renderer) {
151
- // ecmp - we need it to check if the renderer is a component
152
- return typeof renderer === 'function' &&
153
- !!renderer?.ɵcmp &&
154
- renderer?.RENDERER_MARKER === HotCellRendererAdvancedComponent.RENDERER_MARKER;
122
+ return typeof renderer === 'function' && !!renderer?.ɵcmp;
155
123
  }
156
124
  isTemplateRef(renderer) {
157
125
  return renderer && typeof renderer.createEmbeddedView === 'function';
158
126
  }
159
- isCustomRenderer(renderer) {
160
- return this.isRendererComponentRefType(renderer) ||
161
- this.isTemplateRef(renderer) ||
162
- this.isAdvancedRendererComponentRefType(renderer);
163
- }
164
127
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotSettingsResolver, deps: [{ token: i1.DynamicComponentService }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
165
128
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotSettingsResolver });
166
129
  }
167
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotSettingsResolver, decorators: [{
168
131
  type: Injectable
169
132
  }], ctorParameters: function () { return [{ type: i1.DynamicComponentService }, { type: i0.EnvironmentInjector }]; } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXNldHRpbmdzLXJlc29sdmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9zZXJ2aWNlcy9ob3Qtc2V0dGluZ3MtcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUF1QixVQUFVLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBRTVHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sWUFBWSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFFOUYsTUFBTSxpQkFBaUIsR0FBYSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM5RSxNQUFNLGVBQWUsR0FBYSxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBRXJFOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUNWO0lBQW1FO0lBQXZGLFlBQW9CLHVCQUFnRCxFQUFtQixtQkFBd0M7UUFBM0csNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUFtQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUVuSTs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFDLFFBQXNCLEVBQUUsTUFBYztRQUN4RCxNQUFNLGNBQWMsR0FBaUIsUUFBUSxD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LGVBQWUsQ0FBQztJQUM1RixDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWE7UUFDakMsT0FBTyxRQUFRLElBQUksT0FBTyxRQUFRLENBQUMsa0JBQWtCLEtBQUssVUFBVSxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUFhO1FBR3BDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQztZQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztZQUM1QixJQUFJLENBQUMsa0NBQWtDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQzt3R0FuS1UsbUJBQW1COzRHQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb21wb25lbnQsIEVudmlyb25tZW50SW5qZWN0b3IsIEluamVjdGFibGUsIE5nWm9uZSwgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vcmVuZGVyZXIvaG90LWR5bmFtaWMtcmVuZGVyZXItY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZUVkaXRvckFkYXB0ZXIgfSBmcm9tICcuLi9lZGl0b3IvYmFzZS1lZGl0b3ItYWRhcHRlcic7XG5pbXBvcnQgeyBHcmlkU2V0dGluZ3MsIEdyaWRTZXR0aW5nc0ludGVybmFsIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtc2V0dGluZ3MnO1xuaW1wb3J0IHsgQ3VzdG9tVmFsaWRhdG9yRm4sIENvbHVtblNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL2NvbHVtbi1zZXR0aW5ncyc7XG5pbXBvcnQgeyBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi9yZW5kZXJlci9ob3QtY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG90Q2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCBIYW5kc29udGFibGUgZnJvbSAnaGFuZHNvbnRhYmxlL2Jhc2UnO1xuaW1wb3J0IHsgRmFjdG9yeUVkaXRvckFkYXB0ZXIgfSBmcm9tICcuLi9lZGl0b3IvZWRpdG9yLWZhY3RvcnktYWRhcHRlcic7XG5pbXBvcnQgeyBIb3RDZWxsUmVuZGVyZXJBZHZhbmNlZENvbXBvbmVudCB9IGZyb20gJy4uL3JlbmRlcmVyL2hvdC1jZWxsLXJlbmRlcmVyLWFkdmFuY2VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb3RDZWxsRWRpdG9yQWR2YW5jZWRDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0b3IvaG90LWNlbGwtZWRpdG9yLWFkdmFuY2VkLmNvbXBvbmVudCc7XG5cbmNvbnN0IEFWQUlMQUJMRV9PUFRJT05TOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKEhhbmRzb250YWJsZS5EZWZhdWx0U2V0dGluZ3MpO1xuY29uc3QgQVZBSUxBQkxFX0hPT0tTOiBzdHJpbmdbXSA9IEhhbmRzb250YWJsZS5ob29rcy5nZXRSZWdpc3RlcmVkKCk7XG5cbi8qKlxuICogU2VydmljZSB0byByZXNvbHZlIGFuZCBhcHBseSBjdXN0b20gc2V0dGluZ3MgZm9yIEhhbmRzb250YWJsZSBzZXR0aW5ncyBvYmplY3QuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIb3RTZXR0aW5nc1Jlc29sdmVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50U2VydmljZTogRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcikge31cblxuICAvKipcbiAgICogQXBwbGllcyBjdXN0b20gc2V0dGluZ3MgdG8gdGhlIHByb3ZpZGVkIEdyaWRTZXR0aW5ncy5cbiAgICogQHBhcmFtIHNldHRpbmdzIFRoZSBvcmlnaW5hbCBncmlkIHNldHRpbmdzLlxuICAgKiBAcGFyYW0gbmdab25lIFRoZSBOZ1pvbmUgaW5zdGFuY2UgdG8gcnVuIGhvb2tzIGluc2lkZSB0aGUgem9uZSBjb250ZXh0LlxuICAgKiBAcmV0dXJucyBUaGUgbWVyZ2VkIGdyaWQgc2V0dGluZ3Mgd2l0aCBjdXN0b20gc2V0dGluZ3MgYXBwbGllZC5cbiAgICovXG4gIGFwcGx5Q3VzdG9tU2V0dGluZ3Moc2V0dGluZ3M6IEdyaWRTZXR0aW5ncywgbmdab25lOiBOZ1pvbmUpOiBHcmlkU2V0dGluZ3NJbnRlcm5hbCB7XG4gICAgY29uc3QgbWVyZ2VkU2V0dGluZ3M6IEdyaWRTZXR0aW5ncyA9IHNldHRpbmdzO1xuXG4gICAgdGhpcy51cGRhdGVDb2x1bW5SZW5kZXJlckZvckdpdmVuQ3VzdG9tUmVuZGVyZXIobWVyZ2VkU2V0dGluZ3MpO1xuICAgIHRoaXMudXBkYXRlQ29sdW1uRWRpdG9yRm9yR2l2ZW5DdXN0b21FZGl0b3IobWVyZ2VkU2V0dGluZ3MpO1xuICAgIHRoaXMudXBkYXRlQ29sdW1uVmFsaWRhdG9yRm9yR2l2ZW5DdXN0b21WYWxpZGF0b3IobWVyZ2VkU2V0dGluZ3MpO1xuXG4gICAgdGhpcy53cmFwSG9va3NJbk5nWm9uZShtZXJnZWRTZXR0aW5ncywgbmdab25lKTtcblxuICAgIHJldHVybiAobWVyZ2VkU2V0dGluZ3MgYXMgR3JpZFNldHRpbmdzSW50ZXJuYWwpID8/IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhhdCBob29rIGNhbGxiYWNrcyBpbiB0aGUgcHJvdmlkZWQgZ3JpZCBzZXR0aW5ncyBydW4gaW5zaWRlIEFuZ3VsYXIncyB6b25lLlxuICAgKlxuICAgKiBAcGFyYW0gc2V0dGluZ3MgVGhlIG9yaWdpbmFsIGdyaWQgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBuZ1pvbmUgVGhlIE5nWm9uZSBpbnN0YW5jZSB0byBydW4gaG9va3MgaW5zaWRlIHRoZSB6b25lIGNvbnRleHQuXG4gICAqL1xuICBwcml2YXRlIHdyYXBIb29rc0luTmdab25lKHNldHRpbmdzOiBHcmlkU2V0dGluZ3MsIG5nWm9uZTogTmdab25lKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IEFWQUlMQUJMRV9IT09LUy5jb25jYXQoQVZBSUxBQkxFX09QVElPTlMpO1xuXG4gICAgb3B0aW9ucy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGlzSG9vayA9IEFWQUlMQUJMRV9IT09LUy5pbmRleE9mKGtleSkgPiAtMTtcbiAgICAgIGxldCBvcHRpb247XG5cbiAgICAgIGlmIChpc0hvb2spIHtcbiAgICAgICAgb3B0aW9uID0gc2V0dGluZ3Nba2V5XTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbiA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAoISFuZ1pvbmUgJiYgdHlwZW9mIG9wdGlvbiA9PT0gJ2Z1bmN0aW9uJyAmJiBpc0hvb2spIHtcbiAgICAgICAgc2V0dGluZ3Nba2V5XSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnkpIHtcbiAgICAgICAgICByZXR1cm4gbmdab25lLnJ1bigoKSA9PiBvcHRpb24uYXBwbHkodGhpcywgYXJncykpO1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0dGluZ3Nba2V5XSA9IG9wdGlvbjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBjb2x1bW4gcmVuZGVyZXIgZm9yIGNvbHVtbnMgd2l0aCBhIGN1c3RvbSByZW5kZXJlci5cbiAgICogQHBhcmFtIG1lcmdlZFNldHRpbmdzIFRoZSBtZXJnZWQgZ3JpZCBzZXR0aW5ncy5cbiAgICovXG4gIHByaXZhdGUgdXBkYXRlQ29sdW1uUmVuZGVyZXJGb3JHaXZlbkN1c3RvbVJlbmRlcmVyKG1lcmdlZFNldHRpbmdzOiBHcmlkU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobWVyZ2VkU2V0dGluZ3M/LmNvbHVtbnMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgKG1lcmdlZFNldHRpbmdzPy5jb2x1bW5zIGFzIENvbHVtblNldHRpbmdzW10pXG4gICAgICA/LmZpbHRlcigoc2V0dGluZ3MpID0+IHRoaXMuaXNDdXN0b21SZW5kZXJlcihzZXR0aW5ncy5yZW5kZXJlcikpXG4gICAgICA/LmZvckVhY2goKGNlbGxTZXR0aW5ncykgPT4ge1xuICAgICAgICBjb25zdCByZW5kZXJlciA9IGNlbGxTZXR0aW5ncy5yZW5kZXJlcjtcbiAgICAgICAgY29uc3QgcHJvcHM6IGFueSA9IGNlbGxTZXR0aW5ncy5yZW5kZXJlclByb3BzID8/IHt9O1xuXG4gICAgICAgIGlmICh0aGlzLmlzQWR2YW5jZWRSZW5kZXJlckNvbXBvbmVudFJlZlR5cGUocmVuZGVyZXIpKSB7XG4gICAgICAgICAgY2VsbFNldHRpbmdzLnJlbmRlcmVyID0gdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVSZW5kZXJlcldpdGhGYWN0b3J5KHJlbmRlcmVyLCBwcm9wcyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1JlbmRlcmVyQ29tcG9uZW50UmVmVHlwZShyZW5kZXJlcikgfHwgdGhpcy5pc1RlbXBsYXRlUmVmKHJlbmRlcmVyKSkge1xuICAgICAgICAgIGNlbGxTZXR0aW5ncy5yZW5kZXJlciA9IHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlUmVuZGVyZXJGcm9tQ29tcG9uZW50KHJlbmRlcmVyLCBwcm9wcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGNvbHVtbiBlZGl0b3IgZm9yIGNvbHVtbnMgd2l0aCBhIGN1c3RvbSBlZGl0b3IuXG4gICAqIEBwYXJhbSBtZXJnZWRTZXR0aW5ncyBUaGUgbWVyZ2VkIGdyaWQgc2V0dGluZ3MuXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNvbHVtbkVkaXRvckZvckdpdmVuQ3VzdG9tRWRpdG9yKG1lcmdlZFNldHRpbmdzOiBHcmlkU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobWVyZ2VkU2V0dGluZ3M/LmNvbHVtbnMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgKG1lcmdlZFNldHRpbmdzPy5jb2x1bW5zIGFzIENvbHVtblNldHRpbmdzW10pXG4gICAgICA/LmZpbHRlcigoc2V0dGluZ3MpID0+IHRoaXMuaXNFZGl0b3JDb21wb25lbnRSZWZUeXBlKHNldHRpbmdzLmVkaXRvcikgfHwgdGhpcy5pc0FkdmFuY2VkRWRpdG9yQ29tcG9uZW50UmVmVHlwZShzZXR0aW5ncy5lZGl0b3IpKVxuICAgICAgPy5mb3JFYWNoKChjZWxsU2V0dGluZ3MpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNBZHZhbmNlZEVkaXRvckNvbXBvbmVudFJlZlR5cGUoY2VsbFNldHRpbmdzLmVkaXRvcikpIHtcbiAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBjcmVhdGVDb21wb25lbnQoY2VsbFNldHRpbmdzLmVkaXRvciwge1xuICAgICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNlbGxTZXR0aW5ncy5lZGl0b3IgPSBGYWN0b3J5RWRpdG9yQWRhcHRlcihjb21wb25lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNyZWF0ZUNvbXBvbmVudChjZWxsU2V0dGluZ3MuZWRpdG9yIGFzIFR5cGU8SG90Q2VsbEVkaXRvckNvbXBvbmVudDxhbnk+Piwge1xuICAgICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNlbGxTZXR0aW5nc1snX2VkaXRvckNvbXBvbmVudFJlZmVyZW5jZSddID0gY29tcG9uZW50O1xuICAgICAgICAgIGNlbGxTZXR0aW5nc1snX2Vudmlyb25tZW50SW5qZWN0b3InXSA9IHRoaXMuZW52aXJvbm1lbnRJbmplY3RvcjtcbiAgICAgICAgICBjZWxsU2V0dGluZ3MuZWRpdG9yID0gQmFzZUVkaXRvckFkYXB0ZXI7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGNvbHVtbiB2YWxpZGF0b3IgZm9yIGNvbHVtbnMgd2l0aCBhIGN1c3RvbSB2YWxpZGF0b3IuXG4gICAqIEBwYXJhbSBtZXJnZWRTZXR0aW5ncyBUaGUgbWVyZ2VkIGdyaWQgc2V0dGluZ3MuXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNvbHVtblZhbGlkYXRvckZvckdpdmVuQ3VzdG9tVmFsaWRhdG9yKG1lcmdlZFNldHRpbmdzOiBHcmlkU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobWVyZ2VkU2V0dGluZ3M/LmNvbHVtbnMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgKG1lcmdlZFNldHRpbmdzPy5jb2x1bW5zIGFzIENvbHVtblNldHRpbmdzW10pXG4gICAgICA/LmZpbHRlcigoc2V0dGluZ3MpID0+IHRoaXMuaXNDdXN0b21WYWxpZGF0b3JGbihzZXR0aW5ncy52YWxpZGF0b3IpKVxuICAgICAgPy5mb3JFYWNoKChjZWxsU2V0dGluZ3MpID0+IHtcbiAgICAgICAgY29uc3QgY3VzdG9tVmFsaWRhdG9yRm4gPSBjZWxsU2V0dGluZ3MudmFsaWRhdG9yIGFzIEN1c3RvbVZhbGlkYXRvckZuPGFueT47XG5cbiAgICAgICAgY2VsbFNldHRpbmdzLnZhbGlkYXRvciA9ICh2YWx1ZTogYW55LCBjYWxsYmFjazogKHJlc3VsdDogYm9vbGVhbikgPT4gdm9pZCkgPT4ge1xuICAgICAgICAgIGNhbGxiYWNrKGN1c3RvbVZhbGlkYXRvckZuKHZhbHVlKSk7XG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDdXN0b21WYWxpZGF0b3JGbih2YWxpZGF0b3I6IHVua25vd24pOiB2YWxpZGF0b3IgaXMgQ3VzdG9tVmFsaWRhdG9yRm48YW55PiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWxpZGF0b3IgPT09ICdmdW5jdGlvbicgJiYgdmFsaWRhdG9yLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgaXNFZGl0b3JDb21wb25lbnRSZWZUeXBlKGVkaXRvcjogYW55KTogZWRpdG9yIGlzIFR5cGU8SG90Q2VsbEVkaXRvckNvbXBvbmVudDxhbnk+PiB7XG4gICAgLy8gZWNtcCAtIHdlIG5lZWQgaXQgdG8gY2hlY2sgaWYgdGhlIGVkaXRvciBpcyBhIGNvbXBvbmVudFxuICAgIHJldHVybiB0eXBlb2YgZWRpdG9yID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAhIShlZGl0b3IgYXMgYW55KT8uybVjbXAgJiZcbiAgICAgIChlZGl0b3IgYXMgYW55KT8uRURJVE9SX01BUktFUiA9PT0gSG90Q2VsbEVkaXRvckNvbXBvbmVudC5FRElUT1JfTUFSS0VSO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FkdmFuY2VkRWRpdG9yQ29tcG9uZW50UmVmVHlwZShlZGl0b3I6IGFueSk6IGVkaXRvciBpcyBUeXBlPEhvdENlbGxFZGl0b3JBZHZhbmNlZENvbXBvbmVudDxhbnk+PiB7XG4gICAgLy8gZWNtcCAtIHdlIG5lZWQgaXQgdG8gY2hlY2sgaWYgdGhlIGVkaXRvciBpcyBhIGNvbXBvbmVudFxuICAgIHJldHVybiB0eXBlb2YgZWRpdG9yID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAhIShlZGl0b3IgYXMgYW55KT8uybVjbXAgJiZcbiAgICAgIChlZGl0b3IgYXMgYW55KT8uRURJVE9SX01BUktFUiA9PT0gSG90Q2VsbEVkaXRvckFkdmFuY2VkQ29tcG9uZW50LkVESVRPUl9NQVJLRVI7XG4gIH1cblxuICBwcml2YXRlIGlzUmVuZGVyZXJDb21wb25lbnRSZWZUeXBlKHJlbmRlcmVyOiBhbnkpOiByZW5kZXJlciBpcyBUeXBlPEhvdENlbGxSZW5kZXJlckNvbXBvbmVudDxhbnksIGFueT4+IHtcbiAgICAvLyBlY21wIC0gd2UgbmVlZCBpdCB0byBjaGVjayBpZiB0aGUgcmVuZGVyZXIgaXMgYSBjb21wb25lbnRcbiAgICByZXR1cm4gdHlwZW9mIHJlbmRlcmVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAhIShyZW5kZXJlciBhcyBhbnkpPy7JtWNtcCAmJlxuICAgICAgKHJlbmRlcmVyIGFzIGFueSk/LlJFTkRFUkVSX01BUktFUiA9PT0gSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50LlJFTkRFUkVSX01BUktFUjtcbiAgfVxuXG4gIHByaXZhdGUgaXNBZHZhbmNlZFJlbmRlcmVyQ29tcG9uZW50UmVmVHlwZShyZW5kZXJlcjogYW55KTogcmVuZGVyZXIgaXMgVHlwZTxIb3RDZWxsUmVuZGVyZXJBZHZhbmNlZENvbXBvbmVudDxhbnksIGFueT4+IHtcbiAgICAvLyBlY21wIC0gd2UgbmVlZCBpdCB0byBjaGVjayBpZiB0aGUgcmVuZGVyZXIgaXMgYSBjb21wb25lbnRcbiAgICByZXR1cm4gdHlwZW9mIHJlbmRlcmVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAhIShyZW5kZXJlciBhcyBhbnkpPy7JtWNtcCAmJlxuICAgICAgKHJlbmRlcmVyIGFzIGFueSk/LlJFTkRFUkVSX01BUktFUiA9PT0gSG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQuUkVOREVSRVJfTUFSS0VSO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1RlbXBsYXRlUmVmKHJlbmRlcmVyOiBhbnkpOiByZW5kZXJlciBpcyBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gcmVuZGVyZXIgJiYgdHlwZW9mIHJlbmRlcmVyLmNyZWF0ZUVtYmVkZGVkVmlldyA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIHByaXZhdGUgaXNDdXN0b21SZW5kZXJlcihyZW5kZXJlcjogYW55KTogcmVuZGVyZXIgaXMgVHlwZTxIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQ8YW55LCBhbnk+PiB8XG4gICAgVGVtcGxhdGVSZWY8YW55PiB8XG4gICAgVHlwZTxIb3RDZWxsUmVuZGVyZXJBZHZhbmNlZENvbXBvbmVudDxhbnksIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5pc1JlbmRlcmVyQ29tcG9uZW50UmVmVHlwZShyZW5kZXJlcikgfHxcbiAgICAgIHRoaXMuaXNUZW1wbGF0ZVJlZihyZW5kZXJlcikgfHxcbiAgICAgIHRoaXMuaXNBZHZhbmNlZFJlbmRlcmVyQ29tcG9uZW50UmVmVHlwZShyZW5kZXJlcik7XG4gIH1cbn1cbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXNldHRpbmdzLXJlc29sdmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9zZXJ2aWNlcy9ob3Qtc2V0dGluZ3MtcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUF1QixVQUFVLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBS2xFLE9BQU8sWUFBWSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFN0MsTUFBTSxpQkFBaUIsR0FBYSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM5RSxNQUFNLGVBQWUsR0FBYSxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBRXJFOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUNWO0lBQW1FO0lBQXZGLFlBQW9CLHVCQUFnRCxFQUFtQixtQkFBd0M7UUFBM0csNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUFtQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUVuSTs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFDLFFBQXNCLEVBQUUsTUFBYztRQUN4RCxNQUFNLGNBQWMsR0FBaUIsUUFBUSxDQUFDO1FBRTlDLElBQUksQ0FBQywwQ0FBMEMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsc0NBQXNDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWxFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFL0MsT0FBUSxjQUF1QyxJQUFJLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxpQkFBaUIsQ0FBQyxRQUFzQixFQUFFLE1BQWM7UUFDOUQsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFELE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEIsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLE1BQU0sQ0FBQztZQUVYLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEI7WUFFRCxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDckIsT0FBTzthQUVSO2lCQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sTUFBTSxLQUFLLFVBQVUsSUFBSSxNQUFNLENBQUMsRUFBRTtnQkFDL0QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVMsR0FBRyxJQUFTO29CQUNuQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDcEQsQ0FBQyxDQUFDO2FBRUg7aUJBQU07Z0JBQ0wsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLDBDQUEwQyxDQUFDLGNBQTRCO1FBQzdFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUMzQyxPQUFPO1NBQ1I7UUFFQSxjQUFjLEVBQUUsT0FBNEI7WUFDM0MsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkgsRUFBRSxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUN6QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ3hELENBQUMsQ0FBRSxZQUFZLENBQUMsUUFBNkI7Z0JBQzdDLENBQUMsQ0FBRSxZQUFZLENBQUMsUUFBcUQsQ0FBQztZQUN4RSxNQUFNLEtBQUssR0FBUSxZQUFZLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUNwRCxZQUFZLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssc0NBQXNDLENBQUMsY0FBNEI7UUFDekUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQzNDLE9BQU87U0FDUjtRQUVBLGNBQWMsRUFBRSxPQUE0QjtZQUMzQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUEyQyxDQUFDO1lBQzlFLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3hFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7YUFDOUMsQ0FBQyxDQUFDO1lBQ0gsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQ2hFLFlBQVksQ0FBQyxNQUFNLEdBQUcsaUJBQWlCLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssNENBQTRDLENBQUMsY0FBNEI7UUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQzNDLE9BQU87U0FDUjtRQUVBLGNBQWMsRUFBRSxPQUE0QjtZQUMzQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3pCLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLFNBQW1DLENBQUM7WUFFM0UsWUFBWSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQVUsRUFBRSxRQUFtQyxFQUFFLEVBQUU7Z0JBQzNFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFNBQWtCO1FBQzVDLE9BQU8sT0FBTyxTQUFTLEtBQUssVUFBVSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxNQUFXO1FBQzFDLDBEQUEwRDtRQUMxRCxPQUFPLE9BQU8sTUFBTSxLQUFLLFVBQVUsSUFBSSxDQUFDLENBQUUsTUFBYyxFQUFFLElBQUksQ0FBQztJQUNqRSxDQUFDO0lBRU8sMEJBQTBCLENBQUMsUUFBYTtRQUM5Qyw0REFBNEQ7UUFDNUQsT0FBTyxPQUFPLFFBQVEsS0FBSyxVQUFVLElBQUksQ0FBQyxDQUFFLFFBQWdCLEVBQUUsSUFBSSxDQUFDO0lBQ3JFLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBYTtRQUNqQyxPQUFPLFFBQVEsSUFBSSxPQUFPLFFBQVEsQ0FBQyxrQkFBa0IsS0FBSyxVQUFVLENBQUM7SUFDdkUsQ0FBQzt3R0FqSVUsbUJBQW1COzRHQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUNvbXBvbmVudCwgRW52aXJvbm1lbnRJbmplY3RvciwgSW5qZWN0YWJsZSwgTmdab25lLCBUZW1wbGF0ZVJlZiwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uL3JlbmRlcmVyL2hvdC1keW5hbWljLXJlbmRlcmVyLWNvbXBvbmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VFZGl0b3JBZGFwdGVyIH0gZnJvbSAnLi4vZWRpdG9yL2Jhc2UtZWRpdG9yLWFkYXB0ZXInO1xuaW1wb3J0IHsgR3JpZFNldHRpbmdzLCBHcmlkU2V0dGluZ3NJbnRlcm5hbCB9IGZyb20gJy4uL21vZGVscy9ncmlkLXNldHRpbmdzJztcbmltcG9ydCB7IEN1c3RvbVZhbGlkYXRvckZuLCBDb2x1bW5TZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscy9jb2x1bW4tc2V0dGluZ3MnO1xuaW1wb3J0IHsgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVuZGVyZXIvaG90LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhvdENlbGxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0b3IvaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgSGFuZHNvbnRhYmxlIGZyb20gJ2hhbmRzb250YWJsZS9iYXNlJztcblxuY29uc3QgQVZBSUxBQkxFX09QVElPTlM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoSGFuZHNvbnRhYmxlLkRlZmF1bHRTZXR0aW5ncyk7XG5jb25zdCBBVkFJTEFCTEVfSE9PS1M6IHN0cmluZ1tdID0gSGFuZHNvbnRhYmxlLmhvb2tzLmdldFJlZ2lzdGVyZWQoKTtcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHJlc29sdmUgYW5kIGFwcGx5IGN1c3RvbSBzZXR0aW5ncyBmb3IgSGFuZHNvbnRhYmxlIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhvdFNldHRpbmdzUmVzb2x2ZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yKSB7fVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGN1c3RvbSBzZXR0aW5ncyB0byB0aGUgcHJvdmlkZWQgR3JpZFNldHRpbmdzLlxuICAgKiBAcGFyYW0gc2V0dGluZ3MgVGhlIG9yaWdpbmFsIGdyaWQgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBuZ1pvbmUgVGhlIE5nWm9uZSBpbnN0YW5jZSB0byBydW4gaG9va3MgaW5zaWRlIHRoZSB6b25lIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIFRoZSBtZXJnZWQgZ3JpZCBzZXR0aW5ncyB3aXRoIGN1c3RvbSBzZXR0aW5ncyBhcHBsaWVkLlxuICAgKi9cbiAgYXBwbHlDdXN0b21TZXR0aW5ncyhzZXR0aW5nczogR3JpZFNldHRpbmdzLCBuZ1pvbmU6IE5nWm9uZSk6IEdyaWRTZXR0aW5nc0ludGVybmFsIHtcbiAgICBjb25zdCBtZXJnZWRTZXR0aW5nczogR3JpZFNldHRpbmdzID0gc2V0dGluZ3M7XG5cbiAgICB0aGlzLnVwZGF0ZUNvbHVtblJlbmRlcmVyRm9yR2l2ZW5DdXN0b21SZW5kZXJlcihtZXJnZWRTZXR0aW5ncyk7XG4gICAgdGhpcy51cGRhdGVDb2x1bW5FZGl0b3JGb3JHaXZlbkN1c3RvbUVkaXRvcihtZXJnZWRTZXR0aW5ncyk7XG4gICAgdGhpcy51cGRhdGVDb2x1bW5WYWxpZGF0b3JGb3JHaXZlbkN1c3RvbVZhbGlkYXRvcihtZXJnZWRTZXR0aW5ncyk7XG5cbiAgICB0aGlzLndyYXBIb29rc0luTmdab25lKG1lcmdlZFNldHRpbmdzLCBuZ1pvbmUpO1xuXG4gICAgcmV0dXJuIChtZXJnZWRTZXR0aW5ncyBhcyBHcmlkU2V0dGluZ3NJbnRlcm5hbCkgPz8ge307XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGF0IGhvb2sgY2FsbGJhY2tzIGluIHRoZSBwcm92aWRlZCBncmlkIHNldHRpbmdzIHJ1biBpbnNpZGUgQW5ndWxhcidzIHpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzZXR0aW5ncyBUaGUgb3JpZ2luYWwgZ3JpZCBzZXR0aW5ncy5cbiAgICogQHBhcmFtIG5nWm9uZSBUaGUgTmdab25lIGluc3RhbmNlIHRvIHJ1biBob29rcyBpbnNpZGUgdGhlIHpvbmUgY29udGV4dC5cbiAgICovXG4gIHByaXZhdGUgd3JhcEhvb2tzSW5OZ1pvbmUoc2V0dGluZ3M6IEdyaWRTZXR0aW5ncywgbmdab25lOiBOZ1pvbmUpIHtcbiAgICBjb25zdCBvcHRpb25zID0gQVZBSUxBQkxFX0hPT0tTLmNvbmNhdChBVkFJTEFCTEVfT1BUSU9OUyk7XG5cbiAgICBvcHRpb25zLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGlzSG9vayA9IEFWQUlMQUJMRV9IT09LUy5pbmRleE9mKGtleSkgPiAtMTtcbiAgICAgIGxldCBvcHRpb247XG5cbiAgICAgIGlmIChpc0hvb2spIHtcbiAgICAgICAgb3B0aW9uID0gc2V0dGluZ3Nba2V5XTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbiA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHJldHVybjtcblxuICAgICAgfSBlbHNlIGlmICghIW5nWm9uZSAmJiAodHlwZW9mIG9wdGlvbiA9PT0gJ2Z1bmN0aW9uJyAmJiBpc0hvb2spKSB7XG4gICAgICAgIHNldHRpbmdzW2tleV0gPSBmdW5jdGlvbiguLi5hcmdzOiBhbnkpIHtcbiAgICAgICAgICByZXR1cm4gbmdab25lLnJ1bigoKSA9PiBvcHRpb24uYXBwbHkodGhpcywgYXJncykpO1xuICAgICAgICB9O1xuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXR0aW5nc1trZXldID0gb3B0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGNvbHVtbiByZW5kZXJlciBmb3IgY29sdW1ucyB3aXRoIGEgY3VzdG9tIHJlbmRlcmVyLlxuICAgKiBAcGFyYW0gbWVyZ2VkU2V0dGluZ3MgVGhlIG1lcmdlZCBncmlkIHNldHRpbmdzLlxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDb2x1bW5SZW5kZXJlckZvckdpdmVuQ3VzdG9tUmVuZGVyZXIobWVyZ2VkU2V0dGluZ3M6IEdyaWRTZXR0aW5ncyk6IHZvaWQge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShtZXJnZWRTZXR0aW5ncz8uY29sdW1ucykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAobWVyZ2VkU2V0dGluZ3M/LmNvbHVtbnMgYXMgQ29sdW1uU2V0dGluZ3NbXSlcbiAgICAgID8uZmlsdGVyKChzZXR0aW5ncykgPT4gdGhpcy5pc1JlbmRlcmVyQ29tcG9uZW50UmVmVHlwZShzZXR0aW5ncy5yZW5kZXJlcikgfHwgdGhpcy5pc1RlbXBsYXRlUmVmKHNldHRpbmdzLnJlbmRlcmVyKSlcbiAgICAgID8uZm9yRWFjaCgoY2VsbFNldHRpbmdzKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5pc1RlbXBsYXRlUmVmKGNlbGxTZXR0aW5ncy5yZW5kZXJlcilcbiAgICAgICAgICA/IChjZWxsU2V0dGluZ3MucmVuZGVyZXIgYXMgVGVtcGxhdGVSZWY8YW55PilcbiAgICAgICAgICA6IChjZWxsU2V0dGluZ3MucmVuZGVyZXIgYXMgVHlwZTxIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQ8YW55LCBhbnk+Pik7XG4gICAgICAgIGNvbnN0IHByb3BzOiBhbnkgPSBjZWxsU2V0dGluZ3MucmVuZGVyZXJQcm9wcyA/PyB7fTtcbiAgICAgICAgY2VsbFNldHRpbmdzLnJlbmRlcmVyID0gdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVSZW5kZXJlckZyb21Db21wb25lbnQocmVuZGVyZXIsIHByb3BzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGNvbHVtbiBlZGl0b3IgZm9yIGNvbHVtbnMgd2l0aCBhIGN1c3RvbSBlZGl0b3IuXG4gICAqIEBwYXJhbSBtZXJnZWRTZXR0aW5ncyBUaGUgbWVyZ2VkIGdyaWQgc2V0dGluZ3MuXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNvbHVtbkVkaXRvckZvckdpdmVuQ3VzdG9tRWRpdG9yKG1lcmdlZFNldHRpbmdzOiBHcmlkU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobWVyZ2VkU2V0dGluZ3M/LmNvbHVtbnMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgKG1lcmdlZFNldHRpbmdzPy5jb2x1bW5zIGFzIENvbHVtblNldHRpbmdzW10pXG4gICAgICA/LmZpbHRlcigoc2V0dGluZ3MpID0+IHRoaXMuaXNFZGl0b3JDb21wb25lbnRSZWZUeXBlKHNldHRpbmdzLmVkaXRvcikpXG4gICAgICA/LmZvckVhY2goKGNlbGxTZXR0aW5ncykgPT4ge1xuICAgICAgICBjb25zdCBjdXN0b21FZGl0b3IgPSBjZWxsU2V0dGluZ3MuZWRpdG9yIGFzIFR5cGU8SG90Q2VsbEVkaXRvckNvbXBvbmVudDxhbnk+PjtcbiAgICAgICAgY2VsbFNldHRpbmdzWydfZWRpdG9yQ29tcG9uZW50UmVmZXJlbmNlJ10gPSBjcmVhdGVDb21wb25lbnQoY3VzdG9tRWRpdG9yLCB7XG4gICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICB9KTtcbiAgICAgICAgY2VsbFNldHRpbmdzWydfZW52aXJvbm1lbnRJbmplY3RvciddID0gdGhpcy5lbnZpcm9ubWVudEluamVjdG9yO1xuICAgICAgICBjZWxsU2V0dGluZ3MuZWRpdG9yID0gQmFzZUVkaXRvckFkYXB0ZXI7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBjb2x1bW4gdmFsaWRhdG9yIGZvciBjb2x1bW5zIHdpdGggYSBjdXN0b20gdmFsaWRhdG9yLlxuICAgKiBAcGFyYW0gbWVyZ2VkU2V0dGluZ3MgVGhlIG1lcmdlZCBncmlkIHNldHRpbmdzLlxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDb2x1bW5WYWxpZGF0b3JGb3JHaXZlbkN1c3RvbVZhbGlkYXRvcihtZXJnZWRTZXR0aW5nczogR3JpZFNldHRpbmdzKTogdm9pZCB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG1lcmdlZFNldHRpbmdzPy5jb2x1bW5zKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIChtZXJnZWRTZXR0aW5ncz8uY29sdW1ucyBhcyBDb2x1bW5TZXR0aW5nc1tdKVxuICAgICAgPy5maWx0ZXIoKHNldHRpbmdzKSA9PiB0aGlzLmlzQ3VzdG9tVmFsaWRhdG9yRm4oc2V0dGluZ3MudmFsaWRhdG9yKSlcbiAgICAgID8uZm9yRWFjaCgoY2VsbFNldHRpbmdzKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1c3RvbVZhbGlkYXRvckZuID0gY2VsbFNldHRpbmdzLnZhbGlkYXRvciBhcyBDdXN0b21WYWxpZGF0b3JGbjxhbnk+O1xuXG4gICAgICAgIGNlbGxTZXR0aW5ncy52YWxpZGF0b3IgPSAodmFsdWU6IGFueSwgY2FsbGJhY2s6IChyZXN1bHQ6IGJvb2xlYW4pID0+IHZvaWQpID0+IHtcbiAgICAgICAgICBjYWxsYmFjayhjdXN0b21WYWxpZGF0b3JGbih2YWx1ZSkpO1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzQ3VzdG9tVmFsaWRhdG9yRm4odmFsaWRhdG9yOiB1bmtub3duKTogdmFsaWRhdG9yIGlzIEN1c3RvbVZhbGlkYXRvckZuPGFueT4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsaWRhdG9yID09PSAnZnVuY3Rpb24nICYmIHZhbGlkYXRvci5sZW5ndGggPT09IDE7XG4gIH1cblxuICBwcml2YXRlIGlzRWRpdG9yQ29tcG9uZW50UmVmVHlwZShlZGl0b3I6IGFueSk6IGVkaXRvciBpcyBUeXBlPEhvdENlbGxFZGl0b3JDb21wb25lbnQ8YW55Pj4ge1xuICAgIC8vIGVjbXAgLSB3ZSBuZWVkIGl0IHRvIGNoZWNrIGlmIHRoZSBlZGl0b3IgaXMgYSBjb21wb25lbnRcbiAgICByZXR1cm4gdHlwZW9mIGVkaXRvciA9PT0gJ2Z1bmN0aW9uJyAmJiAhIShlZGl0b3IgYXMgYW55KT8uybVjbXA7XG4gIH1cblxuICBwcml2YXRlIGlzUmVuZGVyZXJDb21wb25lbnRSZWZUeXBlKHJlbmRlcmVyOiBhbnkpOiByZW5kZXJlciBpcyBUeXBlPEhvdENlbGxSZW5kZXJlckNvbXBvbmVudDxhbnksIGFueT4+IHtcbiAgICAvLyBlY21wIC0gd2UgbmVlZCBpdCB0byBjaGVjayBpZiB0aGUgcmVuZGVyZXIgaXMgYSBjb21wb25lbnRcbiAgICByZXR1cm4gdHlwZW9mIHJlbmRlcmVyID09PSAnZnVuY3Rpb24nICYmICEhKHJlbmRlcmVyIGFzIGFueSk/Lsm1Y21wO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1RlbXBsYXRlUmVmKHJlbmRlcmVyOiBhbnkpOiByZW5kZXJlciBpcyBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gcmVuZGVyZXIgJiYgdHlwZW9mIHJlbmRlcmVyLmNyZWF0ZUVtYmVkZGVkVmlldyA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxufVxuIl19
@@ -8,7 +8,4 @@ export * from './lib/services/hot-global-config.service';
8
8
  export * from './lib/renderer/hot-dynamic-renderer-component.service';
9
9
  export * from './lib/renderer/hot-cell-renderer.component';
10
10
  export * from './lib/editor/hot-cell-editor.component';
11
- export * from './lib/renderer/hot-cell-renderer-advanced.component';
12
- export * from './lib/editor/hot-cell-editor-advanced.component';
13
- export * from './lib/editor/models/keyboard-shortcut-config';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsOENBQThDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGhvdC10YWJsZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hvdC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaG90LXNldHRpbmdzLXJlc29sdmVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaG90LXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ob3QtZ2xvYmFsLWNvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlcmVyL2hvdC1keW5hbWljLXJlbmRlcmVyLWNvbXBvbmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlcmVyL2hvdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0b3IvaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZW5kZXJlci9ob3QtY2VsbC1yZW5kZXJlci1hZHZhbmNlZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWRpdG9yL2hvdC1jZWxsLWVkaXRvci1hZHZhbmNlZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWRpdG9yL21vZGVscy9rZXlib2FyZC1zaG9ydGN1dC1jb25maWcnO1xuZXhwb3J0IHsgR3JpZFNldHRpbmdzIH0gZnJvbSAnLi9saWIvbW9kZWxzL2dyaWQtc2V0dGluZ3MnO1xuZXhwb3J0IHsgQ29sdW1uU2V0dGluZ3MsIEN1c3RvbVZhbGlkYXRvckZuIH0gZnJvbSAnLi9saWIvbW9kZWxzL2NvbHVtbi1zZXR0aW5ncyc7XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGhvdC10YWJsZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2hvdC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaG90LXNldHRpbmdzLXJlc29sdmVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaG90LXRhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ob3QtZ2xvYmFsLWNvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlcmVyL2hvdC1keW5hbWljLXJlbmRlcmVyLWNvbXBvbmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlcmVyL2hvdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0b3IvaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgeyBHcmlkU2V0dGluZ3MgfSBmcm9tICcuL2xpYi9tb2RlbHMvZ3JpZC1zZXR0aW5ncyc7XG5leHBvcnQgeyBDb2x1bW5TZXR0aW5ncywgQ3VzdG9tVmFsaWRhdG9yRm4gfSBmcm9tICcuL2xpYi9tb2RlbHMvY29sdW1uLXNldHRpbmdzJztcbiJdfQ==