@syncfusion/ej2-angular-richtexteditor 32.1.20-ngcc → 32.1.20

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 (92) hide show
  1. package/CHANGELOG.md +2972 -0
  2. package/README.md +89 -37
  3. package/esm2020/public_api.mjs +2 -0
  4. package/esm2020/src/index.mjs +5 -0
  5. package/esm2020/src/rich-text-editor/richtexteditor-all.module.mjs +89 -0
  6. package/esm2020/src/rich-text-editor/richtexteditor.component.mjs +245 -0
  7. package/esm2020/src/rich-text-editor/richtexteditor.module.mjs +25 -0
  8. package/esm2020/syncfusion-ej2-angular-richtexteditor.mjs +5 -0
  9. package/fesm2015/syncfusion-ej2-angular-richtexteditor.mjs +357 -0
  10. package/fesm2015/syncfusion-ej2-angular-richtexteditor.mjs.map +1 -0
  11. package/fesm2020/syncfusion-ej2-angular-richtexteditor.mjs +357 -0
  12. package/fesm2020/syncfusion-ej2-angular-richtexteditor.mjs.map +1 -0
  13. package/package.json +28 -46
  14. package/src/index.d.ts +1 -1
  15. package/src/rich-text-editor/richtexteditor-all.module.d.ts +9 -0
  16. package/src/rich-text-editor/richtexteditor.component.d.ts +14 -0
  17. package/src/rich-text-editor/richtexteditor.module.d.ts +6 -0
  18. package/styles/bds-lite.scss +1 -1
  19. package/styles/bds.scss +1 -1
  20. package/styles/bootstrap-dark-lite.scss +1 -1
  21. package/styles/bootstrap-dark.scss +1 -1
  22. package/styles/bootstrap-lite.scss +1 -1
  23. package/styles/bootstrap.scss +1 -1
  24. package/styles/bootstrap4-lite.scss +1 -1
  25. package/styles/bootstrap4.scss +1 -1
  26. package/styles/bootstrap5-dark-lite.scss +1 -1
  27. package/styles/bootstrap5-dark.scss +1 -1
  28. package/styles/bootstrap5-lite.scss +1 -1
  29. package/styles/bootstrap5.3-lite.scss +1 -1
  30. package/styles/bootstrap5.3.scss +1 -1
  31. package/styles/bootstrap5.scss +1 -1
  32. package/styles/fabric-dark-lite.scss +1 -1
  33. package/styles/fabric-dark.scss +1 -1
  34. package/styles/fabric-lite.scss +1 -1
  35. package/styles/fabric.scss +1 -1
  36. package/styles/fluent-dark-lite.scss +1 -1
  37. package/styles/fluent-dark.scss +1 -1
  38. package/styles/fluent-lite.scss +1 -1
  39. package/styles/fluent.scss +1 -1
  40. package/styles/fluent2-lite.scss +1 -1
  41. package/styles/fluent2.scss +1 -1
  42. package/styles/highcontrast-light-lite.scss +1 -1
  43. package/styles/highcontrast-light.scss +1 -1
  44. package/styles/highcontrast-lite.scss +1 -1
  45. package/styles/highcontrast.scss +1 -1
  46. package/styles/material-dark-lite.scss +1 -1
  47. package/styles/material-dark.scss +1 -1
  48. package/styles/material-lite.scss +1 -1
  49. package/styles/material.scss +1 -1
  50. package/styles/material3-dark-lite.scss +1 -1
  51. package/styles/material3-dark.scss +1 -2
  52. package/styles/material3-lite.scss +1 -1
  53. package/styles/material3.scss +1 -2
  54. package/styles/rich-text-editor/bds.scss +1 -1
  55. package/styles/rich-text-editor/bootstrap-dark.scss +1 -1
  56. package/styles/rich-text-editor/bootstrap.scss +1 -1
  57. package/styles/rich-text-editor/bootstrap4.scss +1 -1
  58. package/styles/rich-text-editor/bootstrap5-dark.scss +1 -1
  59. package/styles/rich-text-editor/bootstrap5.3.scss +1 -1
  60. package/styles/rich-text-editor/bootstrap5.scss +1 -1
  61. package/styles/rich-text-editor/fabric-dark.scss +1 -1
  62. package/styles/rich-text-editor/fabric.scss +1 -1
  63. package/styles/rich-text-editor/fluent-dark.scss +1 -1
  64. package/styles/rich-text-editor/fluent.scss +1 -1
  65. package/styles/rich-text-editor/fluent2.scss +1 -1
  66. package/styles/rich-text-editor/highcontrast-light.scss +1 -1
  67. package/styles/rich-text-editor/highcontrast.scss +1 -1
  68. package/styles/rich-text-editor/material-dark.scss +1 -1
  69. package/styles/rich-text-editor/material.scss +1 -1
  70. package/styles/rich-text-editor/material3-dark.scss +1 -2
  71. package/styles/rich-text-editor/material3.scss +1 -2
  72. package/styles/rich-text-editor/tailwind-dark.scss +1 -1
  73. package/styles/rich-text-editor/tailwind.scss +1 -1
  74. package/styles/rich-text-editor/tailwind3.scss +1 -1
  75. package/styles/tailwind-dark-lite.scss +1 -1
  76. package/styles/tailwind-dark.scss +1 -1
  77. package/styles/tailwind-lite.scss +1 -1
  78. package/styles/tailwind.scss +1 -1
  79. package/styles/tailwind3-lite.scss +1 -1
  80. package/styles/tailwind3.scss +1 -1
  81. package/syncfusion-ej2-angular-richtexteditor.d.ts +5 -0
  82. package/@syncfusion/ej2-angular-richtexteditor.es5.js +0 -370
  83. package/@syncfusion/ej2-angular-richtexteditor.es5.js.map +0 -1
  84. package/@syncfusion/ej2-angular-richtexteditor.js +0 -351
  85. package/@syncfusion/ej2-angular-richtexteditor.js.map +0 -1
  86. package/dist/ej2-angular-richtexteditor.umd.js +0 -910
  87. package/dist/ej2-angular-richtexteditor.umd.js.map +0 -1
  88. package/dist/ej2-angular-richtexteditor.umd.min.js +0 -11
  89. package/dist/ej2-angular-richtexteditor.umd.min.js.map +0 -1
  90. package/ej2-angular-richtexteditor.d.ts +0 -5
  91. package/ej2-angular-richtexteditor.metadata.json +0 -1
  92. package/license +0 -10
@@ -0,0 +1,245 @@
1
+ var RichTextEditorComponent_1;
2
+ import { __decorate } from "tslib";
3
+ import { Component, ChangeDetectionStrategy, forwardRef, ContentChild } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { ComponentBase, ComponentMixins, FormBase, setValue } from '@syncfusion/ej2-angular-base';
6
+ import { RichTextEditor } from '@syncfusion/ej2-richtexteditor';
7
+ import { Template } from '@syncfusion/ej2-angular-base';
8
+ import * as i0 from "@angular/core";
9
+ export const inputs = ['aiAssistantSettings', 'autoSaveOnIdle', 'backgroundColor', 'bulletFormatList', 'codeBlockSettings', 'cssClass', 'editorMode', 'emojiPickerSettings', 'enableAutoUrl', 'enableClipboardCleanup', 'enableHtmlEncode', 'enableHtmlSanitizer', 'enableMarkdownAutoFormat', 'enablePersistence', 'enableResize', 'enableRtl', 'enableTabKey', 'enableXhtml', 'enabled', 'enterKey', 'exportPdf', 'exportWord', 'fileManagerSettings', 'floatingToolbarOffset', 'fontColor', 'fontFamily', 'fontSize', 'format', 'formatPainterSettings', 'formatter', 'height', 'htmlAttributes', 'iframeSettings', 'importWord', 'inlineMode', 'insertAudioSettings', 'insertImageSettings', 'insertVideoSettings', 'keyConfig', 'lineHeight', 'locale', 'maxLength', 'numberFormatList', 'pasteCleanupSettings', 'placeholder', 'quickToolbarSettings', 'readonly', 'saveInterval', 'shiftEnterKey', 'showCharCount', 'showTooltip', 'slashMenuSettings', 'tableSettings', 'toolbarSettings', 'undoRedoSteps', 'undoRedoTimer', 'value', 'valueTemplate', 'width'];
10
+ export const outputs = ['actionBegin', 'actionComplete', 'afterImageDelete', 'afterMediaDelete', 'afterPasteCleanup', 'aiAssistantPromptRequest', 'aiAssistantStopRespondingClick', 'aiAssistantToolbarClick', 'beforeClipboardWrite', 'beforeDialogClose', 'beforeDialogOpen', 'beforeFileUpload', 'beforeImageDrop', 'beforeImageUpload', 'beforeMediaDrop', 'beforePasteCleanup', 'beforePopupClose', 'beforePopupOpen', 'beforeQuickToolbarOpen', 'beforeSanitizeHtml', 'blur', 'change', 'created', 'destroyed', 'dialogClose', 'dialogOpen', 'documentExporting', 'fileRemoving', 'fileSelected', 'fileUploadFailed', 'fileUploadSuccess', 'fileUploading', 'focus', 'imageRemoving', 'imageSelected', 'imageUploadFailed', 'imageUploadSuccess', 'imageUploading', 'quickToolbarClose', 'quickToolbarOpen', 'resizeStart', 'resizeStop', 'resizing', 'selectionChanged', 'slashMenuItemSelect', 'toolbarClick', 'toolbarStatusUpdate', 'updatedToolbarStatus', 'wordImporting', 'valueChange'];
11
+ export const twoWays = ['value'];
12
+ /**
13
+ * `ejs-richtexteditor` represents the Angular richtexteditor Component.
14
+ * ```html
15
+ * <ejs-richtexteditor></ejs-richtexteditor>
16
+ * ```
17
+ */
18
+ let RichTextEditorComponent = RichTextEditorComponent_1 = class RichTextEditorComponent extends RichTextEditor {
19
+ constructor(ngEle, srenderer, viewContainerRef, injector, cdr) {
20
+ super();
21
+ this.ngEle = ngEle;
22
+ this.srenderer = srenderer;
23
+ this.viewContainerRef = viewContainerRef;
24
+ this.injector = injector;
25
+ this.cdr = cdr;
26
+ this.skipFromEvent = true;
27
+ this.element = this.ngEle.nativeElement;
28
+ this.injectedModules = this.injectedModules || [];
29
+ try {
30
+ let mod = this.injector.get('RichTextEditorToolbar');
31
+ if (this.injectedModules.indexOf(mod) === -1) {
32
+ this.injectedModules.push(mod);
33
+ }
34
+ }
35
+ catch { }
36
+ try {
37
+ let mod = this.injector.get('RichTextEditorLink');
38
+ if (this.injectedModules.indexOf(mod) === -1) {
39
+ this.injectedModules.push(mod);
40
+ }
41
+ }
42
+ catch { }
43
+ try {
44
+ let mod = this.injector.get('RichTextEditorImage');
45
+ if (this.injectedModules.indexOf(mod) === -1) {
46
+ this.injectedModules.push(mod);
47
+ }
48
+ }
49
+ catch { }
50
+ try {
51
+ let mod = this.injector.get('RichTextEditorImportExport');
52
+ if (this.injectedModules.indexOf(mod) === -1) {
53
+ this.injectedModules.push(mod);
54
+ }
55
+ }
56
+ catch { }
57
+ try {
58
+ let mod = this.injector.get('RichTextEditorAudio');
59
+ if (this.injectedModules.indexOf(mod) === -1) {
60
+ this.injectedModules.push(mod);
61
+ }
62
+ }
63
+ catch { }
64
+ try {
65
+ let mod = this.injector.get('RichTextEditorVideo');
66
+ if (this.injectedModules.indexOf(mod) === -1) {
67
+ this.injectedModules.push(mod);
68
+ }
69
+ }
70
+ catch { }
71
+ try {
72
+ let mod = this.injector.get('RichTextEditorCount');
73
+ if (this.injectedModules.indexOf(mod) === -1) {
74
+ this.injectedModules.push(mod);
75
+ }
76
+ }
77
+ catch { }
78
+ try {
79
+ let mod = this.injector.get('RichTextEditorQuickToolbar');
80
+ if (this.injectedModules.indexOf(mod) === -1) {
81
+ this.injectedModules.push(mod);
82
+ }
83
+ }
84
+ catch { }
85
+ try {
86
+ let mod = this.injector.get('RichTextEditorHtmlEditor');
87
+ if (this.injectedModules.indexOf(mod) === -1) {
88
+ this.injectedModules.push(mod);
89
+ }
90
+ }
91
+ catch { }
92
+ try {
93
+ let mod = this.injector.get('RichTextEditorMarkdownEditor');
94
+ if (this.injectedModules.indexOf(mod) === -1) {
95
+ this.injectedModules.push(mod);
96
+ }
97
+ }
98
+ catch { }
99
+ try {
100
+ let mod = this.injector.get('RichTextEditorTable');
101
+ if (this.injectedModules.indexOf(mod) === -1) {
102
+ this.injectedModules.push(mod);
103
+ }
104
+ }
105
+ catch { }
106
+ try {
107
+ let mod = this.injector.get('RichTextEditorPasteCleanup');
108
+ if (this.injectedModules.indexOf(mod) === -1) {
109
+ this.injectedModules.push(mod);
110
+ }
111
+ }
112
+ catch { }
113
+ try {
114
+ let mod = this.injector.get('RichTextEditorResize');
115
+ if (this.injectedModules.indexOf(mod) === -1) {
116
+ this.injectedModules.push(mod);
117
+ }
118
+ }
119
+ catch { }
120
+ try {
121
+ let mod = this.injector.get('RichTextEditorFileManager');
122
+ if (this.injectedModules.indexOf(mod) === -1) {
123
+ this.injectedModules.push(mod);
124
+ }
125
+ }
126
+ catch { }
127
+ try {
128
+ let mod = this.injector.get('RichTextEditorFormatPainter');
129
+ if (this.injectedModules.indexOf(mod) === -1) {
130
+ this.injectedModules.push(mod);
131
+ }
132
+ }
133
+ catch { }
134
+ try {
135
+ let mod = this.injector.get('RichTextEditorEmojiPicker');
136
+ if (this.injectedModules.indexOf(mod) === -1) {
137
+ this.injectedModules.push(mod);
138
+ }
139
+ }
140
+ catch { }
141
+ try {
142
+ let mod = this.injector.get('RichTextEditorSlashMenu');
143
+ if (this.injectedModules.indexOf(mod) === -1) {
144
+ this.injectedModules.push(mod);
145
+ }
146
+ }
147
+ catch { }
148
+ try {
149
+ let mod = this.injector.get('RichTextEditorCodeBlock');
150
+ if (this.injectedModules.indexOf(mod) === -1) {
151
+ this.injectedModules.push(mod);
152
+ }
153
+ }
154
+ catch { }
155
+ try {
156
+ let mod = this.injector.get('RichTextEditorClipBoardCleanup');
157
+ if (this.injectedModules.indexOf(mod) === -1) {
158
+ this.injectedModules.push(mod);
159
+ }
160
+ }
161
+ catch { }
162
+ try {
163
+ let mod = this.injector.get('RichTextEditorAutoFormat');
164
+ if (this.injectedModules.indexOf(mod) === -1) {
165
+ this.injectedModules.push(mod);
166
+ }
167
+ }
168
+ catch { }
169
+ try {
170
+ let mod = this.injector.get('RichTextEditorAIAssistant');
171
+ if (this.injectedModules.indexOf(mod) === -1) {
172
+ this.injectedModules.push(mod);
173
+ }
174
+ }
175
+ catch { }
176
+ this.registerEvents(outputs);
177
+ this.addTwoWay.call(this, twoWays);
178
+ setValue('currentInstance', this, this.viewContainerRef);
179
+ this.formContext = new FormBase();
180
+ this.formCompContext = new ComponentBase();
181
+ }
182
+ registerOnChange(registerFunction) {
183
+ }
184
+ registerOnTouched(registerFunction) {
185
+ }
186
+ writeValue(value) {
187
+ }
188
+ setDisabledState(disabled) {
189
+ }
190
+ ngOnInit() {
191
+ this.formCompContext.ngOnInit(this);
192
+ }
193
+ ngAfterViewInit() {
194
+ this.formContext.ngAfterViewInit(this);
195
+ }
196
+ ngOnDestroy() {
197
+ this.formCompContext.ngOnDestroy(this);
198
+ }
199
+ ngAfterContentChecked() {
200
+ this.formCompContext.ngAfterContentChecked(this);
201
+ }
202
+ };
203
+ RichTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RichTextEditorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
204
+ RichTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: RichTextEditorComponent, selector: "ejs-richtexteditor", inputs: { aiAssistantSettings: "aiAssistantSettings", autoSaveOnIdle: "autoSaveOnIdle", backgroundColor: "backgroundColor", bulletFormatList: "bulletFormatList", codeBlockSettings: "codeBlockSettings", cssClass: "cssClass", editorMode: "editorMode", emojiPickerSettings: "emojiPickerSettings", enableAutoUrl: "enableAutoUrl", enableClipboardCleanup: "enableClipboardCleanup", enableHtmlEncode: "enableHtmlEncode", enableHtmlSanitizer: "enableHtmlSanitizer", enableMarkdownAutoFormat: "enableMarkdownAutoFormat", enablePersistence: "enablePersistence", enableResize: "enableResize", enableRtl: "enableRtl", enableTabKey: "enableTabKey", enableXhtml: "enableXhtml", enabled: "enabled", enterKey: "enterKey", exportPdf: "exportPdf", exportWord: "exportWord", fileManagerSettings: "fileManagerSettings", floatingToolbarOffset: "floatingToolbarOffset", fontColor: "fontColor", fontFamily: "fontFamily", fontSize: "fontSize", format: "format", formatPainterSettings: "formatPainterSettings", formatter: "formatter", height: "height", htmlAttributes: "htmlAttributes", iframeSettings: "iframeSettings", importWord: "importWord", inlineMode: "inlineMode", insertAudioSettings: "insertAudioSettings", insertImageSettings: "insertImageSettings", insertVideoSettings: "insertVideoSettings", keyConfig: "keyConfig", lineHeight: "lineHeight", locale: "locale", maxLength: "maxLength", numberFormatList: "numberFormatList", pasteCleanupSettings: "pasteCleanupSettings", placeholder: "placeholder", quickToolbarSettings: "quickToolbarSettings", readonly: "readonly", saveInterval: "saveInterval", shiftEnterKey: "shiftEnterKey", showCharCount: "showCharCount", showTooltip: "showTooltip", slashMenuSettings: "slashMenuSettings", tableSettings: "tableSettings", toolbarSettings: "toolbarSettings", undoRedoSteps: "undoRedoSteps", undoRedoTimer: "undoRedoTimer", value: "value", valueTemplate: "valueTemplate", width: "width" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", afterImageDelete: "afterImageDelete", afterMediaDelete: "afterMediaDelete", afterPasteCleanup: "afterPasteCleanup", aiAssistantPromptRequest: "aiAssistantPromptRequest", aiAssistantStopRespondingClick: "aiAssistantStopRespondingClick", aiAssistantToolbarClick: "aiAssistantToolbarClick", beforeClipboardWrite: "beforeClipboardWrite", beforeDialogClose: "beforeDialogClose", beforeDialogOpen: "beforeDialogOpen", beforeFileUpload: "beforeFileUpload", beforeImageDrop: "beforeImageDrop", beforeImageUpload: "beforeImageUpload", beforeMediaDrop: "beforeMediaDrop", beforePasteCleanup: "beforePasteCleanup", beforePopupClose: "beforePopupClose", beforePopupOpen: "beforePopupOpen", beforeQuickToolbarOpen: "beforeQuickToolbarOpen", beforeSanitizeHtml: "beforeSanitizeHtml", blur: "blur", change: "change", created: "created", destroyed: "destroyed", dialogClose: "dialogClose", dialogOpen: "dialogOpen", documentExporting: "documentExporting", fileRemoving: "fileRemoving", fileSelected: "fileSelected", fileUploadFailed: "fileUploadFailed", fileUploadSuccess: "fileUploadSuccess", fileUploading: "fileUploading", focus: "focus", imageRemoving: "imageRemoving", imageSelected: "imageSelected", imageUploadFailed: "imageUploadFailed", imageUploadSuccess: "imageUploadSuccess", imageUploading: "imageUploading", quickToolbarClose: "quickToolbarClose", quickToolbarOpen: "quickToolbarOpen", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", selectionChanged: "selectionChanged", slashMenuItemSelect: "slashMenuItemSelect", toolbarClick: "toolbarClick", toolbarStatusUpdate: "toolbarStatusUpdate", updatedToolbarStatus: "updatedToolbarStatus", wordImporting: "wordImporting", valueChange: "valueChange" }, providers: [
205
+ {
206
+ provide: NG_VALUE_ACCESSOR,
207
+ useExisting: forwardRef(() => RichTextEditorComponent_1),
208
+ multi: true
209
+ }
210
+ ], queries: [{ propertyName: "valueTemplate", first: true, predicate: ["valueTemplate"], descendants: true }, { propertyName: "aiAssistantSettings_bannerTemplate", first: true, predicate: ["aiAssistantSettingsBannerTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
211
+ __decorate([
212
+ Template()
213
+ ], RichTextEditorComponent.prototype, "valueTemplate", void 0);
214
+ __decorate([
215
+ Template()
216
+ ], RichTextEditorComponent.prototype, "aiAssistantSettings_bannerTemplate", void 0);
217
+ RichTextEditorComponent = RichTextEditorComponent_1 = __decorate([
218
+ ComponentMixins([ComponentBase, FormBase])
219
+ ], RichTextEditorComponent);
220
+ export { RichTextEditorComponent };
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RichTextEditorComponent, decorators: [{
222
+ type: Component,
223
+ args: [{
224
+ selector: 'ejs-richtexteditor',
225
+ inputs: inputs,
226
+ outputs: outputs,
227
+ template: '',
228
+ changeDetection: ChangeDetectionStrategy.OnPush,
229
+ providers: [
230
+ {
231
+ provide: NG_VALUE_ACCESSOR,
232
+ useExisting: forwardRef(() => RichTextEditorComponent),
233
+ multi: true
234
+ }
235
+ ],
236
+ queries: {}
237
+ }]
238
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { valueTemplate: [{
239
+ type: ContentChild,
240
+ args: ['valueTemplate']
241
+ }], aiAssistantSettings_bannerTemplate: [{
242
+ type: ContentChild,
243
+ args: ['aiAssistantSettingsBannerTemplate']
244
+ }] } });
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHRlZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3JpY2gtdGV4dC1lZGl0b3IvcmljaHRleHRlZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0UsdUJBQXVCLEVBQXFCLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEwsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBK0IsZUFBZSxFQUEwQixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFHeEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFhLENBQUMscUJBQXFCLEVBQUMsZ0JBQWdCLEVBQUMsaUJBQWlCLEVBQUMsa0JBQWtCLEVBQUMsbUJBQW1CLEVBQUMsVUFBVSxFQUFDLFlBQVksRUFBQyxxQkFBcUIsRUFBQyxlQUFlLEVBQUMsd0JBQXdCLEVBQUMsa0JBQWtCLEVBQUMscUJBQXFCLEVBQUMsMEJBQTBCLEVBQUMsbUJBQW1CLEVBQUMsY0FBYyxFQUFDLFdBQVcsRUFBQyxjQUFjLEVBQUMsYUFBYSxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsV0FBVyxFQUFDLFlBQVksRUFBQyxxQkFBcUIsRUFBQyx1QkFBdUIsRUFBQyxXQUFXLEVBQUMsWUFBWSxFQUFDLFVBQVUsRUFBQyxRQUFRLEVBQUMsdUJBQXVCLEVBQUMsV0FBVyxFQUFDLFFBQVEsRUFBQyxnQkFBZ0IsRUFBQyxnQkFBZ0IsRUFBQyxZQUFZLEVBQUMsWUFBWSxFQUFDLHFCQUFxQixFQUFDLHFCQUFxQixFQUFDLHFCQUFxQixFQUFD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O29CQUMvQyxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELE9BQU8sRUFBRSxFQUVSO2lCQUNKOytNQXNFVSxhQUFhO3NCQUZuQixZQUFZO3VCQUFDLGVBQWU7Z0JBS3RCLGtDQUFrQztzQkFGeEMsWUFBWTt1QkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIFZhbHVlUHJvdmlkZXIsIFJlbmRlcmVyMiwgSW5qZWN0b3IsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgZm9yd2FyZFJlZiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBGb3JtQmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFJpY2hUZXh0RWRpdG9yIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLXJpY2h0ZXh0ZWRpdG9yJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxuZXhwb3J0IGNvbnN0IGlucHV0czogc3RyaW5nW10gPSBbJ2FpQXNzaXN0YW50U2V0dGluZ3MnLCdhdXRvU2F2ZU9uSWRsZScsJ2JhY2tncm91bmRDb2xvcicsJ2J1bGxldEZvcm1hdExpc3QnLCdjb2RlQmxvY2tTZXR0aW5ncycsJ2Nzc0NsYXNzJywnZWRpdG9yTW9kZScsJ2Vtb2ppUGlja2VyU2V0dGluZ3MnLCdlbmFibGVBdXRvVXJsJywnZW5hYmxlQ2xpcGJvYXJkQ2xlYW51cCcsJ2VuYWJsZUh0bWxFbmNvZGUnLCdlbmFibGVIdG1sU2FuaXRpemVyJywnZW5hYmxlTWFya2Rvd25BdXRvRm9ybWF0JywnZW5hYmxlUGVyc2lzdGVuY2UnLCdlbmFibGVSZXNpemUnLCdlbmFibGVSdGwnLCdlbmFibGVUYWJLZXknLCdlbmFibGVYaHRtbCcsJ2VuYWJsZWQnLCdlbnRlcktleScsJ2V4cG9ydFBkZicsJ2V4cG9ydFdvcmQnLCdmaWxlTWFuYWdlclNldHRpbmdzJywnZmxvYXRpbmdUb29sYmFyT2Zmc2V0JywnZm9udENvbG9yJywnZm9udEZhbWlseScsJ2ZvbnRTaXplJywnZm9ybWF0JywnZm9ybWF0UGFpbnRlclNldHRpbmdzJywnZm9ybWF0dGVyJywnaGVpZ2h0JywnaHRtbEF0dHJpYnV0ZXMnLCdpZnJhbWVTZXR0aW5ncycsJ2ltcG9ydFdvcmQnLCdpbmxpbmVNb2RlJywnaW5zZXJ0QXVkaW9TZXR0aW5ncycsJ2luc2VydEltYWdlU2V0dGluZ3MnLCdpbnNlcnRWaWRlb1NldHRpbmdzJywna2V5Q29uZmlnJywnbGluZUhlaWdodCcsJ2xvY2FsZScsJ21heExlbmd0aCcsJ251bWJlckZvcm1hdExpc3QnLCdwYXN0ZUNsZWFudXBTZXR0aW5ncycsJ3BsYWNlaG9sZGVyJywncXVpY2tUb29sYmFyU2V0dGluZ3MnLCdyZWFkb25seScsJ3NhdmVJbnRlcnZhbCcsJ3NoaWZ0RW50ZXJLZXknLCdzaG93Q2hhckNvdW50Jywnc2hvd1Rvb2x0aXAnLCdzbGFzaE1lbnVTZXR0aW5ncycsJ3RhYmxlU2V0dGluZ3MnLCd0b29sYmFyU2V0dGluZ3MnLCd1bmRvUmVkb1N0ZXBzJywndW5kb1JlZG9UaW1lcicsJ3ZhbHVlJywndmFsdWVUZW1wbGF0ZScsJ3dpZHRoJ107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2FjdGlvbkJlZ2luJywnYWN0aW9uQ29tcGxldGUnLCdhZnRlckltYWdlRGVsZXRlJywnYWZ0ZXJNZWRpYURlbGV0ZScsJ2FmdGVyUGFzdGVDbGVhbnVwJywnYWlBc3Npc3RhbnRQcm9tcHRSZXF1ZXN0JywnYWlBc3Npc3RhbnRTdG9wUmVzcG9uZGluZ0NsaWNrJywnYWlBc3Npc3RhbnRUb29sYmFyQ2xpY2snLCdiZWZvcmVDbGlwYm9hcmRXcml0ZScsJ2JlZm9yZURpYWxvZ0Nsb3NlJywnYmVmb3JlRGlhbG9nT3BlbicsJ2JlZm9yZUZpbGVVcGxvYWQnLCdiZWZvcmVJbWFnZURyb3AnLCdiZWZvcmVJbWFnZVVwbG9hZCcsJ2JlZm9yZU1lZGlhRHJvcCcsJ2JlZm9yZVBhc3RlQ2xlYW51cCcsJ2JlZm9yZVBvcHVwQ2xvc2UnLCdiZWZvcmVQb3B1cE9wZW4nLCdiZWZvcmVRdWlja1Rvb2xiYXJPcGVuJywnYmVmb3JlU2FuaXRpemVIdG1sJywnYmx1cicsJ2NoYW5nZScsJ2NyZWF0ZWQnLCdkZXN0cm95ZWQnLCdkaWFsb2dDbG9zZScsJ2RpYWxvZ09wZW4nLCdkb2N1bWVudEV4cG9ydGluZycsJ2ZpbGVSZW1vdmluZycsJ2ZpbGVTZWxlY3RlZCcsJ2ZpbGVVcGxvYWRGYWlsZWQnLCdmaWxlVXBsb2FkU3VjY2VzcycsJ2ZpbGVVcGxvYWRpbmcnLCdmb2N1cycsJ2ltYWdlUmVtb3ZpbmcnLCdpbWFnZVNlbGVjdGVkJywnaW1hZ2VVcGxvYWRGYWlsZWQnLCdpbWFnZVVwbG9hZFN1Y2Nlc3MnLCdpbWFnZVVwbG9hZGluZycsJ3F1aWNrVG9vbGJhckNsb3NlJywncXVpY2tUb29sYmFyT3BlbicsJ3Jlc2l6ZVN0YXJ0JywncmVzaXplU3RvcCcsJ3Jlc2l6aW5nJywnc2VsZWN0aW9uQ2hhbmdlZCcsJ3NsYXNoTWVudUl0ZW1TZWxlY3QnLCd0b29sYmFyQ2xpY2snLCd0b29sYmFyU3RhdHVzVXBkYXRlJywndXBkYXRlZFRvb2xiYXJTdGF0dXMnLCd3b3JkSW1wb3J0aW5nJywndmFsdWVDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsndmFsdWUnXTtcblxuLyoqXG4gKiBgZWpzLXJpY2h0ZXh0ZWRpdG9yYCByZXByZXNlbnRzIHRoZSBBbmd1bGFyIHJpY2h0ZXh0ZWRpdG9yIENvbXBvbmVudC5cbiAqIGBgYGh0bWxcbiAqIDxlanMtcmljaHRleHRlZGl0b3I+PC9lanMtcmljaHRleHRlZGl0b3I+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlanMtcmljaHRleHRlZGl0b3InLFxuICAgIGlucHV0czogaW5wdXRzLFxuICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIHF1ZXJpZXM6IHtcblxuICAgIH1cbn0pXG5AQ29tcG9uZW50TWl4aW5zKFtDb21wb25lbnRCYXNlLCBGb3JtQmFzZV0pXG5leHBvcnQgY2xhc3MgUmljaFRleHRFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBSaWNoVGV4dEVkaXRvciBpbXBsZW1lbnRzIElDb21wb25lbnRCYXNlIHtcbiAgICBwdWJsaWMgZm9ybUNvbXBDb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyBmb3JtQ29udGV4dCA6IGFueTtcbiAgICBwdWJsaWMgdGFnT2JqZWN0czogYW55O1xuXHRhY3Rpb25CZWdpbjogYW55O1xuXHRhY3Rpb25Db21wbGV0ZTogYW55O1xuXHRhZnRlckltYWdlRGVsZXRlOiBhbnk7XG5cdGFmdGVyTWVkaWFEZWxldGU6IGFueTtcblx0YWZ0ZXJQYXN0ZUNsZWFudXA6IGFueTtcblx0YWlBc3Npc3RhbnRQcm9tcHRSZXF1ZXN0OiBhbnk7XG5cdGFpQXNzaXN0YW50U3RvcFJlc3BvbmRpbmdDbGljazogYW55O1xuXHRhaUFzc2lzdGFudFRvb2xiYXJDbGljazogYW55O1xuXHRiZWZvcmVDbGlwYm9hcmRXcml0ZTogYW55O1xuXHRiZWZvcmVEaWFsb2dDbG9zZTogYW55O1xuXHRiZWZvcmVEaWFsb2dPcGVuOiBhbnk7XG5cdGJlZm9yZUZpbGVVcGxvYWQ6IGFueTtcblx0YmVmb3JlSW1hZ2VEcm9wOiBhbnk7XG5cdGJlZm9yZUltYWdlVXBsb2FkOiBhbnk7XG5cdGJlZm9yZU1lZGlhRHJvcDogYW55O1xuXHRiZWZvcmVQYXN0ZUNsZWFudXA6IGFueTtcblx0YmVmb3JlUG9wdXBDbG9zZTogYW55O1xuXHRiZWZvcmVQb3B1cE9wZW46IGFueTtcblx0YmVmb3JlUXVpY2tUb29sYmFyT3BlbjogYW55O1xuXHRiZWZvcmVTYW5pdGl6ZUh0bWw6IGFueTtcblx0Ymx1cjogYW55O1xuXHRjaGFuZ2U6IGFueTtcblx0Y3JlYXRlZDogYW55O1xuXHRkZXN0cm95ZWQ6IGFueTtcblx0ZGlhbG9nQ2xvc2U6IGFueTtcblx0ZGlhbG9nT3BlbjogYW55O1xuXHRkb2N1bWVudEV4cG9ydGluZzogYW55O1xuXHRmaWxlUmVtb3Zpbmc6IGFueTtcblx0ZmlsZVNlbGVjdGVkOiBhbnk7XG5cdGZpbGVVcGxvYWRGYWlsZWQ6IGFueTtcblx0ZmlsZVVwbG9hZFN1Y2Nlc3M6IGFueTtcblx0ZmlsZVVwbG9hZGluZzogYW55O1xuXHRmb2N1czogYW55O1xuXHRpbWFnZVJlbW92aW5nOiBhbnk7XG5cdGltYWdlU2VsZWN0ZWQ6IGFueTtcblx0aW1hZ2VVcGxvYWRGYWlsZWQ6IGFueTtcblx0aW1hZ2VVcGxvYWRTdWNjZXNzOiBhbnk7XG5cdGltYWdlVXBsb2FkaW5nOiBhbnk7XG5cdHF1aWNrVG9vbGJhckNsb3NlOiBhbnk7XG5cdHF1aWNrVG9vbGJhck9wZW46IGFueTtcblx0cmVzaXplU3RhcnQ6IGFueTtcblx0cmVzaXplU3RvcDogYW55O1xuXHRyZXNpemluZzogYW55O1xuXHRzZWxlY3Rpb25DaGFuZ2VkOiBhbnk7XG5cdHNsYXNoTWVudUl0ZW1TZWxlY3Q6IGFueTtcblx0dG9vbGJhckNsaWNrOiBhbnk7XG5cdHRvb2xiYXJTdGF0dXNVcGRhdGU6IGFueTtcblx0dXBkYXRlZFRvb2xiYXJTdGF0dXM6IGFueTtcblx0d29yZEltcG9ydGluZzogYW55O1xuXHRwdWJsaWMgdmFsdWVDaGFuZ2U6IGFueTtcblxuXG4gICAgLyoqIFxuICAgICAqIEFjY2VwdHMgYSB0ZW1wbGF0ZSBkZXNpZ24gYW5kIGFzc2lnbnMgaXQgYXMgdGhlIGNvbnRlbnQgb2YgdGhlIFJpY2ggVGV4dCBFZGl0b3IuIFxuICAgICAqIFRoZSBidWlsdC1pbiB0ZW1wbGF0ZSBlbmdpbmUgcHJvdmlkZXMgb3B0aW9ucyB0byBjb21waWxlIGEgdGVtcGxhdGUgc3RyaW5nIGludG8gYW4gZXhlY3V0YWJsZSBmdW5jdGlvbi4gXG4gICAgICogRm9yIGV4YW1wbGUsIGl0IHN1cHBvcnRzIGV4cHJlc3Npb24gZXZhbHVhdGlvbiBzaW1pbGFyIHRvIEVTNiB0ZW1wbGF0ZSBzdHJpbmcgbGl0ZXJhbHMuXG4gICAgICogXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0ncmljaC10ZXh0LWVkaXRvci92YWx1ZS10ZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3ZhbHVlVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHZhbHVlVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdhaUFzc2lzdGFudFNldHRpbmdzQmFubmVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGFpQXNzaXN0YW50U2V0dGluZ3NfYmFubmVyVGVtcGxhdGU6IGFueTtcblxuICAgIHByaXZhdGUgc2tpcEZyb21FdmVudDpib29sZWFuID0gdHJ1ZTtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nRWxlOiBFbGVtZW50UmVmLCBwcml2YXRlIHNyZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLm5nRWxlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzID0gdGhpcy5pbmplY3RlZE1vZHVsZXMgfHwgW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdSaWNoVGV4dEVkaXRvclRvb2xiYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yTGluaycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnUmljaFRleHRFZGl0b3JJbWFnZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnUmljaFRleHRFZGl0b3JJbXBvcnRFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yQXVkaW8nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yVmlkZW8nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yQ291bnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yUXVpY2tUb29sYmFyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdSaWNoVGV4dEVkaXRvckh0bWxFZGl0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yTWFya2Rvd25FZGl0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yVGFibGUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yUGFzdGVDbGVhbnVwJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdSaWNoVGV4dEVkaXRvclJlc2l6ZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnUmljaFRleHRFZGl0b3JGaWxlTWFuYWdlcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnUmljaFRleHRFZGl0b3JGb3JtYXRQYWludGVyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdSaWNoVGV4dEVkaXRvckVtb2ppUGlja2VyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdSaWNoVGV4dEVkaXRvclNsYXNoTWVudScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnUmljaFRleHRFZGl0b3JDb2RlQmxvY2snKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1JpY2hUZXh0RWRpdG9yQ2xpcEJvYXJkQ2xlYW51cCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnUmljaFRleHRFZGl0b3JBdXRvRm9ybWF0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdSaWNoVGV4dEVkaXRvckFJQXNzaXN0YW50Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5hZGRUd29XYXkuY2FsbCh0aGlzLCB0d29XYXlzKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRleHQgID0gbmV3IEZvcm1CYXNlKCk7XG4gICAgICAgIHRoaXMuZm9ybUNvbXBDb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UocmVnaXN0ZXJGdW5jdGlvbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChyZWdpc3RlckZ1bmN0aW9uOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIH1cbiAgICBcbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29tcENvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udGV4dC5uZ0FmdGVyVmlld0luaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Db21wQ29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBcbiAgICAgICAgdGhpcy5mb3JtQ29tcENvbnRleHQubmdBZnRlckNvbnRlbnRDaGVja2VkKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckV2ZW50czogKGV2ZW50TGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG4gICAgcHVibGljIGFkZFR3b1dheTogKHByb3BMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuIl19
@@ -0,0 +1,25 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { RichTextEditorComponent } from './richtexteditor.component';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * NgModule definition for the RichTextEditor component.
7
+ */
8
+ export class RichTextEditorModule {
9
+ }
10
+ RichTextEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RichTextEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ RichTextEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RichTextEditorModule, declarations: [RichTextEditorComponent], imports: [CommonModule], exports: [RichTextEditorComponent] });
12
+ RichTextEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RichTextEditorModule, imports: [[CommonModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RichTextEditorModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [CommonModule],
17
+ declarations: [
18
+ RichTextEditorComponent
19
+ ],
20
+ exports: [
21
+ RichTextEditorComponent
22
+ ]
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHRlZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3JpY2gtdGV4dC1lZGl0b3IvcmljaHRleHRlZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVyRTs7R0FFRztBQVVILE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFOekIsdUJBQXVCLGFBRmpCLFlBQVksYUFLbEIsdUJBQXVCO2tIQUdsQixvQkFBb0IsWUFScEIsQ0FBQyxZQUFZLENBQUM7MkZBUWQsb0JBQW9CO2tCQVRoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFO3dCQUNWLHVCQUF1QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHVCQUF1QjtxQkFDMUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9yaWNodGV4dGVkaXRvci5jb21wb25lbnQnO1xuXG4vKipcbiAqIE5nTW9kdWxlIGRlZmluaXRpb24gZm9yIHRoZSBSaWNoVGV4dEVkaXRvciBjb21wb25lbnQuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSaWNoVGV4dEVkaXRvck1vZHVsZSB7IH0iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2Z1c2lvbi1lajItYW5ndWxhci1yaWNodGV4dGVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3N5bmNmdXNpb24tZWoyLWFuZ3VsYXItcmljaHRleHRlZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==