@firestitch/html-editor 12.0.1 → 12.0.2

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.
@@ -64,7 +64,7 @@ export class FsHtmlEditorComponent {
64
64
  initialize(options = {}) {
65
65
  const config = this._createConfig();
66
66
  this._initPlugins(config);
67
- // this.el.innerHTML = this._html || '';
67
+ this._initButtons(config);
68
68
  this._editor = new this._fr.FroalaEditor(this.el, this._createOptions(), () => {
69
69
  this._froalaReady$.next({ config, options });
70
70
  });
@@ -77,16 +77,6 @@ export class FsHtmlEditorComponent {
77
77
  return this.config.image.upload(f.file);
78
78
  }));
79
79
  }
80
- _getTextNode(node) {
81
- if (node) {
82
- if (node.nodeType === Node.TEXT_NODE) {
83
- return node;
84
- }
85
- if (node.childNodes) {
86
- return this._getTextNode(node.childNodes[0]);
87
- }
88
- }
89
- }
90
80
  uninitializedClick(event) {
91
81
  if (!event.defaultPrevented) {
92
82
  const target = event.target;
@@ -187,6 +177,41 @@ export class FsHtmlEditorComponent {
187
177
  // this._html = html;
188
178
  this.onChange(html);
189
179
  }
180
+ _initButtons(config) {
181
+ (config.buttons || [])
182
+ .forEach((button) => {
183
+ /*
184
+ Svg Keys:
185
+ ["add", "advancedImageEditor", "alignCenter", "alignJustify", "alignLeft", "alignRight",
186
+ "anchors", "back", "backgroundColor", "blockquote", "bold", "cellBackground",
187
+ "cellBorderColor", "cellOptions", "cellStyle", "clearFormatting", "close", "codeView",
188
+ "cogs", "columns", "editLink", "exitFullscreen", "fontAwesome", "fontFamily",
189
+ "fontSize", "fullscreen", "help", "horizontalLine", "imageAltText", "imageCaption",
190
+ "imageClass", "imageDisplay", "imageManager", "imageSize", "indent", "inlineClass",
191
+ "inlineStyle", "insertEmbed", "insertFile", "insertImage", "insertLink", "insertMore",
192
+ "insertTable", "insertVideo", "upload", "italic", "search", "lineHeight", "linkStyles",
193
+ "mention", "more", "openLink", "orderedList", "outdent", "pageBreaker",
194
+ "paragraphFormat", "paragraphMore", "paragraphStyle", "pdfExport", "print",
195
+ "redo", "removeTable", "remove", "replaceImage", "row", "selectAll", "smile",
196
+ "spellcheck", "star", "strikeThrough", "subscript", "superscript", "symbols", "tags",
197
+ "tableHeader", "tableStyle", "textColor", "textMore", "underline", "undo", "unlink",
198
+ "unorderedList", "verticalAlignBottom", "verticalAlignMiddle", "verticalAlignTop"]
199
+ */
200
+ var _a, _b, _c;
201
+ if (button.svgKey) {
202
+ this._fr.FroalaEditor.DefineIcon(button.name, { SVG_KEY: button.svgKey });
203
+ }
204
+ this._fr.FroalaEditor.RegisterCommand(button.name, {
205
+ title: button.title,
206
+ focus: (_a = button.focus) !== null && _a !== void 0 ? _a : true,
207
+ undo: (_b = button.undo) !== null && _b !== void 0 ? _b : true,
208
+ refreshAfterCallback: (_c = button.refreshAfterCallback) !== null && _c !== void 0 ? _c : true,
209
+ callback: function () {
210
+ button.click(this);
211
+ }
212
+ });
213
+ });
214
+ }
190
215
  _initPlugins(config) {
191
216
  (config.plugins || []).forEach((plugin) => {
192
217
  this._fr.FroalaEditor.PLUGINS[plugin.config.name] = function (editor) {
@@ -400,6 +425,16 @@ export class FsHtmlEditorComponent {
400
425
  this.focus();
401
426
  }
402
427
  }
428
+ _getTextNode(node) {
429
+ if (node) {
430
+ if (node.nodeType === Node.TEXT_NODE) {
431
+ return node;
432
+ }
433
+ if (node.childNodes) {
434
+ return this._getTextNode(node.childNodes[0]);
435
+ }
436
+ }
437
+ }
403
438
  }
404
439
  FsHtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHtmlEditorComponent, deps: [{ token: FS_HTML_EDITOR_CONFIG, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.FsFroalaLoaderService }], target: i0.ɵɵFactoryTarget.Component });
405
440
  FsHtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsHtmlEditorComponent, selector: "fs-html-editor", inputs: { config: "config" }, host: { properties: { "class.focused": "this.classFocused", "class.disabled": "this.classDisabled" } }, providers: [
@@ -451,4 +486,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
451
486
  }], config: [{
452
487
  type: Input
453
488
  }] } });
454
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2h0bWwtZWRpdG9yL2h0bWwtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9odG1sLWVkaXRvci9odG1sLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEVBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdw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QUk7U0FDWjtLQUNGLDBIQzFESCx3YkFnQkE7NEZENkNhLHFCQUFxQjtrQkFsQmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3pDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OzBCQW1CSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjtnSEFoQmIsWUFBWTtzQkFBekMsV0FBVzt1QkFBQyxlQUFlO2dCQUNHLGFBQWE7c0JBQTNDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUVGLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsT0FBTztnQkFFRixNQUFNO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3Jcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGaWxlUHJvY2Vzc29yLCBGc0ZpbGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWxlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tRXZlbnRQYXR0ZXJuLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNraXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBQbHVnaW5CdXR0b24gfSBmcm9tICcuLy4uLy4uL2ludGVyZmFjZXMvcGx1Z2luLWJ1dHRvbic7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5pbXBvcnQgeyBSaWNoQnV0dG9ucyB9IGZyb20gJy4vLi4vLi4vY29uc3RzL3JpY2gtYnV0dG9ucy5jb25zdCc7XG5pbXBvcnQgeyBUZXh0QnV0dG9ucyB9IGZyb20gJy4vLi4vLi4vY29uc3RzL3RleHQtYnV0dG9ucy5jb25zdCc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhCdXR0b25zIH0gZnJvbSAnLi8uLi8uLi9jb25zdHMvcGFyYWdyYXBoLWJ1dHRvbnMuY29uc3QnO1xuXG5pbXBvcnQgeyBGU19IVE1MX0VESVRPUl9DT05GSUcgfSBmcm9tICcuLi8uLi9pbmplY3RzL2NvbmZpZy5pbmplY3QnO1xuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi8uLi8uLi9jbGFzc2VzL3BsdWdpbic7XG5cbmltcG9ydCB7IEZzRnJvYWxhTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zyb2FsYS1sb2FkZXIuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtaHRtbC1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJ2h0bWwtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2h0bWwtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNIdG1sRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNIdG1sRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzSHRtbEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25EZXN0cm95IHtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzZWQnKSBjbGFzc0ZvY3VzZWQgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlZCcpIGNsYXNzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdlbFJlZicpIHB1YmxpYyBlbFJlZjogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWcgPSB7fTtcblxuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9lZGl0b3I6IGFueTtcbiAgcHJpdmF0ZSBfaHRtbDogc3RyaW5nO1xuICBwcml2YXRlIF9pbml0aWFsaXplJCA9IG5ldyBSZXBsYXlTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2Zyb2FsYVJlYWR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZTX0hUTUxfRURJVE9SX0NPTkZJRykgcHJpdmF0ZSBfZGVmYXVsdENvbmZpZyxcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZnI6IEZzRnJvYWxhTG9hZGVyU2VydmljZSxcbiAgKSB7IH1cblxuICBwdWJsaWMgb25DaGFuZ2UgPSAoZGF0YTogYW55KSA9PiB7fVxuICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge31cblxuICBwdWJsaWMgZ2V0IGVsKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaHRtbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9odG1sO1xuICB9XG5cbiAgcHVibGljIGdldCBlZGl0b3IoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yO1xuICB9XG5cbiAgcHVibGljIGdldCBmcm9hbGFMb2FkZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9mci5sb2FkZWQkO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy5jb25maWcgfHwge307XG4gICAgdGhpcy5jb25maWcuYXV0b2ZvY3VzID0gdGhpcy5jb25maWcuYXV0b2ZvY3VzICE9PSBmYWxzZSAmJiAhdGhpcy5jb25maWcuZGlzYWJsZWQ7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9ICF0aGlzLmNvbmZpZy5pbml0T25DbGljaztcbiAgICB0aGlzLl9saXN0ZW5MYXp5SW5pdCgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmluaXRPbkNsaWNrIHx8ICF0aGlzLmhhc0NvbnRlbnQoKSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB0aGlzLl9pbml0aWFsaXplJC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc0NvbnRlbnQoKSB7XG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIGlmIChlbC5xdWVyeVNlbGVjdG9yKCdpbWcnKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZWwuaW5uZXJIVE1MID0gdGhpcy5faHRtbDtcbiAgICByZXR1cm4gISFlbC5pbm5lclRleHQubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUob3B0aW9uczogYW55ID0ge30pIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoKTtcblxuICAgIHRoaXMuX2luaXRQbHVnaW5zKGNvbmZpZyk7XG4gICAgLy8gdGhpcy5lbC5pbm5lckhUTUwgPSB0aGlzLl9odG1sIHx8ICcnO1xuXG4gICAgdGhpcy5fZWRpdG9yID0gbmV3IHRoaXMuX2ZyLkZyb2FsYUVkaXRvcih0aGlzLmVsLCB0aGlzLl9jcmVhdGVPcHRpb25zKCksICgpID0+IHtcbiAgICAgIHRoaXMuX2Zyb2FsYVJlYWR5JC5uZXh0KHsgY29uZmlnLCBvcHRpb25zIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJvY2Vzc0ltYWdlVXBsb2FkKGJsb2IpIHtcbiAgICBjb25zdCBwcm9jZXNzb3IgPSBuZXcgRmlsZVByb2Nlc3NvcigpO1xuICAgIGNvbnN0IGZpbGUgPSBuZXcgRnNGaWxlKGJsb2IpO1xuXG4gICAgcmV0dXJuIHByb2Nlc3Nvci5wcm9jZXNzKFtmaWxlXSwgdGhpcy5jb25maWcuaW1hZ2UpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChbZl06IEZzRmlsZVtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmltYWdlLnVwbG9hZChmLmZpbGUpXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFRleHROb2RlKG5vZGUpIHtcbiAgICBpZiAobm9kZSkge1xuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuICAgICAgaWYgKG5vZGUuY2hpbGROb2Rlcykge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VGV4dE5vZGUobm9kZS5jaGlsZE5vZGVzWzBdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdW5pbml0aWFsaXplZENsaWNrKGV2ZW50OiBVSUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICBjb25zdCB0YXJnZXQ6IGFueSA9IGV2ZW50LnRhcmdldDtcbiAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0Lm5vZGVOYW1lID09PSAnQScgJiYgdGFyZ2V0LmdldEF0dHJpYnV0ZSgnaHJlZicpKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldFRhcmdldCA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpO1xuICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCAnX2JsYW5rJyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmICh0YXJnZXRUYXJnZXQpIHtcbiAgICAgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsIHRhcmdldFRhcmdldCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldC5yZW1vdmVBdHRyaWJ1dGUoJ3RhcmdldCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5jb25maWcuaW5pdENsaWNrKSB7XG4gICAgICAgICAgdGhpcy5jb25maWcuaW5pdENsaWNrKGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbml0aWFsaXplJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVTaXplKCkge1xuICAgIC8vIEhhY2s6IFRvIHRyaWdnZXIgdGhlIHRvb2xiYXIgYnV0dG9uIHNpemUgbW9kZXNcbiAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG5cbiAgICBjb25zdCBlcnI6IGFueSA9IHt9O1xuICAgIGlmICh0aGlzLmNvbmZpZy5tYXhMZW5ndGggJiYgdGhpcy5faHRtbCkge1xuICAgICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5jb25maWcubWF4TGVuZ3RoO1xuICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5faHRtbC5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgIGVyci5tYXhMZW5ndGhFcnJvciA9IGBNdXN0IGJlICR7bWF4TGVuZ3RofSBjaGFyYWN0ZXJzIG9yIGZld2VyLiBZb3UgZW50ZXJlZCAke2xlbmd0aH0gY2hhcmFjdGVycy5gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhlcnIpLmxlbmd0aCA/IGVyciA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IHsgY3Vyc29yUG9zaXRpb24/OiAnc3RhcnQnIHwgJ2VuZCcgfSkge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zID8gb3B0aW9ucyA6IHt9O1xuXG4gICAgaWYgKG9wdGlvbnMuY3Vyc29yUG9zaXRpb24gPT09ICdlbmQnKSB7XG4gICAgICB0aGlzLmVkaXRvci5zZWxlY3Rpb24uc2V0QXRFbmQodGhpcy5lZGl0b3IuJGVsLmdldCgwKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWRpdG9yLnNlbGVjdGlvbi5zZXRBdFN0YXJ0KHRoaXMuZWRpdG9yLiRlbC5nZXQoMCkpO1xuICAgIH1cblxuICAgIHRoaXMuZWRpdG9yLnNlbGVjdGlvbi5yZXN0b3JlKCk7XG5cbiAgICBjb25zdCBlbFNlbGVjdGlvbiA9IHRoaXMuZWRpdG9yLnNlbGVjdGlvbi5lbGVtZW50KCk7XG4gICAgaWYgKGVsU2VsZWN0aW9uKSB7XG4gICAgICBlbFNlbGVjdGlvbi5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnY2VudGVyJyB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkge1xuICAgIHRoaXMuY2xhc3NEaXNhYmxlZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgc2V0SHRtbChodG1sKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKGh0bWwpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUoaHRtbDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5faHRtbCA9IGh0bWwgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5lZGl0b3IgJiYgdGhpcy5lZGl0b3IuaHRtbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5lZGl0b3IuaHRtbC5zZXQodGhpcy5faHRtbCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKGRhdGE6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5faW5pdGlhbGl6ZSQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xuICAgIH1cbiAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5lbC5pbm5lckhUTUwgPSAnJztcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbmZpZygpOiBGc0h0bWxFZGl0b3JDb25maWcge1xuICAgIHJldHVybiBtZXJnZSh7IGZyb2FsYUNvbmZpZzoge30gfSwgdGhpcy5fZGVmYXVsdENvbmZpZywgdGhpcy5jb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hhbmdlKGh0bWwpOiB2b2lkIHtcbiAgICAvLyB0aGlzLl9odG1sID0gaHRtbDtcbiAgICB0aGlzLm9uQ2hhbmdlKGh0bWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdFBsdWdpbnMoY29uZmlnKSB7XG5cbiAgICAoY29uZmlnLnBsdWdpbnMgfHwgW10pLmZvckVhY2goKHBsdWdpbjogUGx1Z2luKSA9PiB7XG4gICAgICB0aGlzLl9mci5Gcm9hbGFFZGl0b3IuUExVR0lOU1twbHVnaW4uY29uZmlnLm5hbWVdID0gZnVuY3Rpb24gKGVkaXRvcikge1xuICAgICAgICBwbHVnaW4uZWRpdG9yID0gZWRpdG9yO1xuICAgICAgICBwbHVnaW4uaW5pdGlhbGl6ZSgpO1xuICAgICAgICByZXR1cm4gcGx1Z2luO1xuICAgICAgfTtcblxuICAgICAgKHBsdWdpbi5jb25maWcuYnV0dG9ucyB8fCBbXSkuZm9yRWFjaCgoYnV0dG9uOiBQbHVnaW5CdXR0b24pID0+IHtcbiAgICAgICAgdGhpcy5fZnIuRnJvYWxhRWRpdG9yLkRlZmluZUljb24oYnV0dG9uLm5hbWUsIHtcbiAgICAgICAgICBOQU1FOiBidXR0b24ubmFtZSxcbiAgICAgICAgICBQQVRIOiBidXR0b24uc3ZnUGF0aCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZnIuRnJvYWxhRWRpdG9yLlJlZ2lzdGVyQ29tbWFuZChidXR0b24ubmFtZSwge1xuICAgICAgICAgIGljb246IGJ1dHRvbi5uYW1lLFxuICAgICAgICAgIHRpdGxlOiBidXR0b24udG9vbHRpcCxcbiAgICAgICAgICB1bmRvOiBidXR0b24udW5kbyxcbiAgICAgICAgICBmb2N1czogYnV0dG9uLmZvY3VzLFxuICAgICAgICAgIHNob3dPbk1vYmlsZTogYnV0dG9uLnNob3dPbk1vYmlsZSxcbiAgICAgICAgICByZWZyZXNoQWZ0ZXJDYWxsYmFjazogYnV0dG9uLnJlZnJlc2hBZnRlckNhbGxiYWNrLFxuICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoYnV0dG9uLmNsaWNrKSB7XG4gICAgICAgICAgICAgIGJ1dHRvbi5jbGljayh0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlZnJlc2g6IGZ1bmN0aW9uIChidXR0b24pIHtcbiAgICAgICAgICAgIGlmIChidXR0b24ucmVmcmVzaCkge1xuICAgICAgICAgICAgICBidXR0b24ucmVmcmVzaCh0aGlzLCBidXR0b24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3B0aW9ucygpIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoKTtcblxuICAgIHJldHVybiBtZXJnZShcbiAgICAgIC8vIEZvciBzb21lIHJlYXNvbiBlZGl0b3Igc3RvcmUgc29tZXdoZXJlIHBvaW50ZXIgb24gZGVmYXVsdCBjb25maWcgb2JqZWN0IGFuZCBkdWJsaWNhdGUgb3B0aW9ucyBlYWNoIHRpbWUgb24gaW5pdFxuICAgICAgLy8gRXh0cmEgbWVyZ2UgbGV2ZWwgZml4ZWQgdGhpcyBwcm9ibGVtIGFuZCBhbGxvdyB0byBpbml0IGNvbmZpZyBwcm9wZXJseSB3aXRob3V0IGxlZ2FjeSBkYXRhXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgc2hvcnRjdXRzRW5hYmxlZDogWydzaG93JywgJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZScsICdpbmRlbnQnLCAnb3V0ZGVudCcsICd1bmRvJywgJ3JlZG8nLCAnaW5zZXJ0SW1hZ2UnLCAnY3JlYXRlTGluayddLFxuICAgICAgICBrZXk6IGNvbmZpZy5hY3RpdmF0aW9uS2V5LFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IGNvbmZpZy5wbGFjZWhvbGRlcixcbiAgICAgICAgbGlua0Fsd2F5c0JsYW5rOiB0cnVlLFxuICAgICAgICB0YWJTcGFjZXM6IDIsXG4gICAgICAgIHR5cGluZ1RpbWVyOiAyNTAsXG4gICAgICAgIHRvb2x0aXBzOiBmYWxzZSxcbiAgICAgICAgd29yZFBhc3RlTW9kYWw6IGZhbHNlLFxuICAgICAgICBpbWFnZURlZmF1bHRXaWR0aDogMCxcbiAgICAgICAgaW1hZ2VEZWZhdWx0QWxpZ246ICdsZWZ0JyxcbiAgICAgICAgcXVpY2tJbnNlcnRFbmFibGVkOiBmYWxzZSxcbiAgICAgICAgcGFyYWdyYXBoRGVmYXVsdFNlbGVjdGlvbjogJ0Zvcm1hdCcsXG4gICAgICAgIHZpZGVvVXBsb2FkOiBmYWxzZSxcbiAgICAgICAgcGFyYWdyYXBoRm9ybWF0OiB7XG4gICAgICAgICAgTjogJ05vcm1hbCcsXG4gICAgICAgICAgSDE6ICdIZWFkaW5nIDEnLFxuICAgICAgICAgIEgyOiAnSGVhZGluZyAyJyxcbiAgICAgICAgICBIMzogJ0hlYWRpbmcgMycsXG4gICAgICAgICAgSDQ6ICdIZWFkaW5nIDQnLFxuICAgICAgICAgIEJMT0NLUVVPVEU6ICdRdW90ZScsXG4gICAgICAgIH0sXG4gICAgICAgIHBhcmFncmFwaEZvcm1hdFNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgICAgdG9vbGJhckJ1dHRvbnNYUzoge1xuICAgICAgICAgIG1vcmVUZXh0OiB7XG4gICAgICAgICAgICBidXR0b25zOiBUZXh0QnV0dG9ucyxcbiAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbW9yZVBhcmFncmFwaDoge1xuICAgICAgICAgICAgYnV0dG9uczogUGFyYWdyYXBoQnV0dG9ucyxcbiAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAyLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbW9yZVJpY2g6IHtcbiAgICAgICAgICAgIGJ1dHRvbnM6IFJpY2hCdXR0b25zLFxuICAgICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdG9vbGJhckJ1dHRvbnM6IHtcbiAgICAgICAgICBtb3JlVGV4dDoge1xuICAgICAgICAgICAgYnV0dG9uczogVGV4dEJ1dHRvbnMsXG4gICAgICAgICAgICBidXR0b25zVmlzaWJsZTogMyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1vcmVQYXJhZ3JhcGg6IHtcbiAgICAgICAgICAgIGJ1dHRvbnM6IFBhcmFncmFwaEJ1dHRvbnMsXG4gICAgICAgICAgICBidXR0b25zVmlzaWJsZTogNSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1vcmVSaWNoOiB7XG4gICAgICAgICAgICBidXR0b25zOiBSaWNoQnV0dG9ucyxcbiAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgY29uZmlnLmZyb2FsYUNvbmZpZyxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuTGF6eUluaXQoKSB7XG4gICAgdGhpcy5mcm9hbGFMb2FkZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChyZWFkeSkgPT4gcmVhZHkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5faW5pdGlhbGl6ZSQpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbjogYW55ID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgIGNvbnN0IG9wdGlvbnM6IGFueSA9IHt9O1xuICAgICAgICAgIGlmIChzZWxlY3Rpb24uYmFzZU5vZGUpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuc2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgICBub2RlOiBzZWxlY3Rpb24uYmFzZU5vZGUubm9kZVZhbHVlLFxuICAgICAgICAgICAgICBvZmZzZXQ6IHNlbGVjdGlvbi5iYXNlT2Zmc2V0LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pbml0aWFsaXplKG9wdGlvbnMpO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2Zyb2FsYVJlYWR5JCksXG4gICAgICAgIGZpbHRlcigoZGF0YSkgPT4gISFkYXRhKSxcbiAgICAgICAgdGFwKCh7IGNvbmZpZywgb3B0aW9ucyB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5fc2V0dXBGcm9hbGEoY29uZmlnLCBvcHRpb25zKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbnRlbnRDaGFuZ2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IGVkaXRvckhUTUwgPSB0aGlzLl9lZGl0b3IuaHRtbC5nZXQoKTtcblxuICAgIGlmICh0aGlzLmh0bWwgIT09IGVkaXRvckhUTUwpIHtcbiAgICAgIHRoaXMuX2NoYW5nZShlZGl0b3JIVE1MKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cEZyb2FsYShjb25maWc6IEZzSHRtbEVkaXRvckNvbmZpZywgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG5cbiAgICB0aGlzLnNldEh0bWwodGhpcy5faHRtbCk7XG5cbiAgICBpZiAoY29uZmlnLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmZyb2FsYUNvbmZpZy5ldmVudHMpIHtcbiAgICAgIGlmIChjb25maWcuZnJvYWxhQ29uZmlnLmV2ZW50cy5pbml0aWFsaXplZCkge1xuICAgICAgICBjb25maWcuZnJvYWxhQ29uZmlnLmV2ZW50cy5pbml0aWFsaXplZCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2VkaXRvci5ldmVudHMub24oJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgdGhpcy5jbGFzc0ZvY3VzZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9lZGl0b3IuZXZlbnRzLm9uKCdibHVyJywgKCkgPT4ge1xuICAgICAgdGhpcy5jbGFzc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuXG5cbiAgICBmcm9tRXZlbnRQYXR0ZXJuKFxuICAgICAgKGhhbmRsZXIpID0+IHtcbiAgICAgICAgdGhpcy5fZWRpdG9yLmV2ZW50cy5vbignY29udGVudENoYW5nZWQnLCBoYW5kbGVyKTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7fVxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5faHRtbCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmVkaXRvci5odG1sLmdldCgpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jb250ZW50Q2hhbmdlZCgpO1xuICAgICAgfSk7XG5cbiAgICAvLyB0aGlzLl9lZGl0b3IuZXZlbnRzLm9uKCdjb250ZW50Q2hhbmdlZCcsICgpID0+IHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKCd0ZXN0Jyk7XG4gICAgLy8gICBpZiAoIXRoaXMuX2ZpcnN0Q2hhbmdlKSB7XG4gICAgLy8gICAgIHRoaXMuX2NvbnRlbnRDaGFuZ2VkKCk7XG4gICAgLy8gICB9XG4gICAgLy8gfSk7XG5cbiAgICB0aGlzLl9lZGl0b3IuZXZlbnRzLm9uKCdwYXN0ZS5hZnRlckNsZWFudXAnLCAoaHRtbCkgPT4ge1xuICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgZGl2LmlubmVySFRNTCA9IGh0bWw7XG4gICAgICBkaXYucXVlcnlTZWxlY3RvckFsbCgnKicpXG4gICAgICAgIC5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWwuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGVsLmF0dHJpYnV0ZXNbMF0ubmFtZTtcbiAgICAgICAgICAgIGlmIChuYW1lICE9PSAnaHJlZicpIHtcbiAgICAgICAgICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgICB9KTtcblxuICAgIHRoaXMuX2VkaXRvci5ldmVudHMub24oJ2tleWRvd24nLCAoKSA9PiB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmltYWdlICYmIHRoaXMuY29uZmlnLmltYWdlLnVwbG9hZCkge1xuICAgICAgdGhpcy5fZWRpdG9yLmV2ZW50cy5vbignaW1hZ2UuYmVmb3JlUGFzdGVVcGxvYWQnLCAoaW1hZ2UpID0+IHtcblxuICAgICAgICBmZXRjaChpbWFnZS5nZXRBdHRyaWJ1dGUoJ3NyYycpKVxuICAgICAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIHJlcy5ibG9iKClcbiAgICAgICAgICAgICAgLnRoZW4oKGJsb2IpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9jZXNzSW1hZ2VVcGxvYWQoYmxvYilcbiAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodXJsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGltYWdlLnNldEF0dHJpYnV0ZSgnc3JjJywgdXJsKTtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2UucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWZyLWltYWdlLXBhc3RlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRDaGFuZ2VkKCk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX2VkaXRvci5ldmVudHMub24oJ2ltYWdlLmJlZm9yZVVwbG9hZCcsIChibG9icykgPT4ge1xuICAgICAgICB0aGlzLl9wcm9jZXNzSW1hZ2VVcGxvYWQoYmxvYnNbMF0pXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCh1cmwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLmltYWdlLmluc2VydCh1cmwsIG51bGwsIG51bGwsIHRoaXMuZWRpdG9yLmltYWdlLmdldCgpKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCcuZnItc2Vjb25kLXRvb2xiYXInKSkge1xuICAgICAgdGhpcy5lbC5xdWVyeVNlbGVjdG9yKCcuZnItc2Vjb25kLXRvb2xiYXInKS5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb24gPSBvcHRpb25zLnNlbGVjdGlvbjtcblxuICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgIGNvbnN0IG5vZGU6IGFueSA9IEFycmF5LmZyb20odGhpcy5lbC5xdWVyeVNlbGVjdG9yQWxsKCcuZnItZWxlbWVudCAqJykpLmZpbmQoKG5vZGU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gc2VsZWN0aW9uLm5vZGUgPT09IG5vZGUudGV4dENvbnRlbnQ7XG4gICAgICB9KTtcblxuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgICBjb25zdCBzZWwgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgcmFuZ2Uuc2V0U3RhcnQodGhpcy5fZ2V0VGV4dE5vZGUobm9kZSksIHNlbGVjdGlvbi5vZmZzZXQpO1xuICAgICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKVxuXG4gICAgICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgc2VsLmFkZFJhbmdlKHJhbmdlKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuYXV0b2ZvY3VzKSB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmF1dG9mb2N1cykge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZzLWh0bWwtZWRpdG9yLWRlZmF1bHRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluaXRpYWxpemVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqZnNTa2VsZXRvbj1cIihmcm9hbGFMb2FkZWQkIHwgYXN5bmMpICE9PSBmYWxzZVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2ICNlbFJlZj48L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYm90dG9tLWxpbmVcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpc2FibGVkLWxpbmVcIj48L2Rpdj5cbiAgPGZzLWh0bWwtcmVuZGVyZXJcbiAgICAqbmdJZj1cIiFpbml0aWFsaXplZFwiXG4gICAgW2h0bWxdPVwiaHRtbFwiXG4gICAgKGNsaWNrKT1cInVuaW5pdGlhbGl6ZWRDbGljaygkZXZlbnQpXCI+XG4gIDwvZnMtaHRtbC1yZW5kZXJlcj5cbjwvZGl2PlxuIl19
489
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2h0bWwtZWRpdG9yL2h0bWwtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9odG1sLWVkaXRvci9odG1sLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEVBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdw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QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OzBCQW1CSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjtnSEFoQmIsWUFBWTtzQkFBekMsV0FBVzt1QkFBQyxlQUFlO2dCQUNHLGFBQWE7c0JBQTNDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUVGLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsT0FBTztnQkFFRixNQUFNO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3Jcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGaWxlUHJvY2Vzc29yLCBGc0ZpbGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWxlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tRXZlbnRQYXR0ZXJuLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNraXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBQbHVnaW5CdXR0b24gfSBmcm9tICcuLy4uLy4uL2ludGVyZmFjZXMvcGx1Z2luLWJ1dHRvbic7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5pbXBvcnQgeyBSaWNoQnV0dG9ucyB9IGZyb20gJy4vLi4vLi4vY29uc3RzL3JpY2gtYnV0dG9ucy5jb25zdCc7XG5pbXBvcnQgeyBUZXh0QnV0dG9ucyB9IGZyb20gJy4vLi4vLi4vY29uc3RzL3RleHQtYnV0dG9ucy5jb25zdCc7XG5pbXBvcnQgeyBQYXJhZ3JhcGhCdXR0b25zIH0gZnJvbSAnLi8uLi8uLi9jb25zdHMvcGFyYWdyYXBoLWJ1dHRvbnMuY29uc3QnO1xuXG5pbXBvcnQgeyBGU19IVE1MX0VESVRPUl9DT05GSUcgfSBmcm9tICcuLi8uLi9pbmplY3RzL2NvbmZpZy5pbmplY3QnO1xuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi8uLi8uLi9jbGFzc2VzL3BsdWdpbic7XG5cbmltcG9ydCB7IEZzRnJvYWxhTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zyb2FsYS1sb2FkZXIuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtaHRtbC1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJ2h0bWwtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2h0bWwtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNIdG1sRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNIdG1sRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzSHRtbEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25EZXN0cm95IHtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzZWQnKSBjbGFzc0ZvY3VzZWQgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlZCcpIGNsYXNzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdlbFJlZicpIHB1YmxpYyBlbFJlZjogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWcgPSB7fTtcblxuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9lZGl0b3I6IGFueTtcbiAgcHJpdmF0ZSBfaHRtbDogc3RyaW5nO1xuICBwcml2YXRlIF9pbml0aWFsaXplJCA9IG5ldyBSZXBsYXlTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2Zyb2FsYVJlYWR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZTX0hUTUxfRURJVE9SX0NPTkZJRykgcHJpdmF0ZSBfZGVmYXVsdENvbmZpZyxcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZnI6IEZzRnJvYWxhTG9hZGVyU2VydmljZSxcbiAgKSB7IH1cblxuICBwdWJsaWMgb25DaGFuZ2UgPSAoZGF0YTogYW55KSA9PiB7fVxuICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge31cblxuICBwdWJsaWMgZ2V0IGVsKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaHRtbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9odG1sO1xuICB9XG5cbiAgcHVibGljIGdldCBlZGl0b3IoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yO1xuICB9XG5cbiAgcHVibGljIGdldCBmcm9hbGFMb2FkZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9mci5sb2FkZWQkO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy5jb25maWcgfHwge307XG4gICAgdGhpcy5jb25maWcuYXV0b2ZvY3VzID0gdGhpcy5jb25maWcuYXV0b2ZvY3VzICE9PSBmYWxzZSAmJiAhdGhpcy5jb25maWcuZGlzYWJsZWQ7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9ICF0aGlzLmNvbmZpZy5pbml0T25DbGljaztcbiAgICB0aGlzLl9saXN0ZW5MYXp5SW5pdCgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmluaXRPbkNsaWNrIHx8ICF0aGlzLmhhc0NvbnRlbnQoKSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB0aGlzLl9pbml0aWFsaXplJC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc0NvbnRlbnQoKSB7XG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIGlmIChlbC5xdWVyeVNlbGVjdG9yKCdpbWcnKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZWwuaW5uZXJIVE1MID0gdGhpcy5faHRtbDtcbiAgICByZXR1cm4gISFlbC5pbm5lclRleHQubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUob3B0aW9uczogYW55ID0ge30pIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoKTtcbiAgICB0aGlzLl9pbml0UGx1Z2lucyhjb25maWcpO1xuICAgIHRoaXMuX2luaXRCdXR0b25zKGNvbmZpZyk7XG4gICAgdGhpcy5fZWRpdG9yID0gbmV3IHRoaXMuX2ZyLkZyb2FsYUVkaXRvcih0aGlzLmVsLCB0aGlzLl9jcmVhdGVPcHRpb25zKCksICgpID0+IHtcbiAgICAgIHRoaXMuX2Zyb2FsYVJlYWR5JC5uZXh0KHsgY29uZmlnLCBvcHRpb25zIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJvY2Vzc0ltYWdlVXBsb2FkKGJsb2IpIHtcbiAgICBjb25zdCBwcm9jZXNzb3IgPSBuZXcgRmlsZVByb2Nlc3NvcigpO1xuICAgIGNvbnN0IGZpbGUgPSBuZXcgRnNGaWxlKGJsb2IpO1xuXG4gICAgcmV0dXJuIHByb2Nlc3Nvci5wcm9jZXNzKFtmaWxlXSwgdGhpcy5jb25maWcuaW1hZ2UpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChbZl06IEZzRmlsZVtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmltYWdlLnVwbG9hZChmLmZpbGUpXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1bmluaXRpYWxpemVkQ2xpY2soZXZlbnQ6IFVJRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIGNvbnN0IHRhcmdldDogYW55ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQubm9kZU5hbWUgPT09ICdBJyAmJiB0YXJnZXQuZ2V0QXR0cmlidXRlKCdocmVmJykpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0VGFyZ2V0ID0gdGFyZ2V0LmdldEF0dHJpYnV0ZSgndGFyZ2V0Jyk7XG4gICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsICdfYmxhbmsnKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRhcmdldFRhcmdldCkge1xuICAgICAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgndGFyZ2V0JywgdGFyZ2V0VGFyZ2V0KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0LnJlbW92ZUF0dHJpYnV0ZSgndGFyZ2V0Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5pbml0Q2xpY2spIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5pbml0Q2xpY2soZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVNpemUoKSB7XG4gICAgLy8gSGFjazogVG8gdHJpZ2dlciB0aGUgdG9vbGJhciBidXR0b24gc2l6ZSBtb2Rlc1xuICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVzaXplJykpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcblxuICAgIGNvbnN0IGVycjogYW55ID0ge307XG4gICAgaWYgKHRoaXMuY29uZmlnLm1heExlbmd0aCAmJiB0aGlzLl9odG1sKSB7XG4gICAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLmNvbmZpZy5tYXhMZW5ndGg7XG4gICAgICBjb25zdCBsZW5ndGggPSB0aGlzLl9odG1sLmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgZXJyLm1heExlbmd0aEVycm9yID0gYE11c3QgYmUgJHttYXhMZW5ndGh9IGNoYXJhY3RlcnMgb3IgZmV3ZXIuIFlvdSBlbnRlcmVkICR7bGVuZ3RofSBjaGFyYWN0ZXJzLmA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVycikubGVuZ3RoID8gZXJyIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogeyBjdXJzb3JQb3NpdGlvbj86ICdzdGFydCcgfCAnZW5kJyB9KSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgPyBvcHRpb25zIDoge307XG5cbiAgICBpZiAob3B0aW9ucy5jdXJzb3JQb3NpdGlvbiA9PT0gJ2VuZCcpIHtcbiAgICAgIHRoaXMuZWRpdG9yLnNlbGVjdGlvbi5zZXRBdEVuZCh0aGlzLmVkaXRvci4kZWwuZ2V0KDApKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lZGl0b3Iuc2VsZWN0aW9uLnNldEF0U3RhcnQodGhpcy5lZGl0b3IuJGVsLmdldCgwKSk7XG4gICAgfVxuXG4gICAgdGhpcy5lZGl0b3Iuc2VsZWN0aW9uLnJlc3RvcmUoKTtcblxuICAgIGNvbnN0IGVsU2VsZWN0aW9uID0gdGhpcy5lZGl0b3Iuc2VsZWN0aW9uLmVsZW1lbnQoKTtcbiAgICBpZiAoZWxTZWxlY3Rpb24pIHtcbiAgICAgIGVsU2VsZWN0aW9uLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICdjZW50ZXInIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoJycpO1xuICB9XG5cbiAgcHVibGljIGRpc2FibGUoKSB7XG4gICAgdGhpcy5jbGFzc0Rpc2FibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRIdG1sKGh0bWwpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoaHRtbCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZShodG1sOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9odG1sID0gaHRtbCB8fCAnJztcblxuICAgIGlmICh0aGlzLmVkaXRvciAmJiB0aGlzLmVkaXRvci5odG1sKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmVkaXRvci5odG1sLnNldCh0aGlzLl9odG1sKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoZGF0YTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9pbml0aWFsaXplJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLmVsLmlubmVySFRNTCA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ29uZmlnKCk6IEZzSHRtbEVkaXRvckNvbmZpZyB7XG4gICAgcmV0dXJuIG1lcmdlKHsgZnJvYWxhQ29uZmlnOiB7fSB9LCB0aGlzLl9kZWZhdWx0Q29uZmlnLCB0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIF9jaGFuZ2UoaHRtbCk6IHZvaWQge1xuICAgIC8vIHRoaXMuX2h0bWwgPSBodG1sO1xuICAgIHRoaXMub25DaGFuZ2UoaHRtbCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0QnV0dG9ucyhjb25maWc6IEZzSHRtbEVkaXRvckNvbmZpZykge1xuICAgIChjb25maWcuYnV0dG9ucyB8fCBbXSlcbiAgICAuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICAvKlxuICAgICAgICBTdmcgS2V5czpcbiAgICAgICAgW1wiYWRkXCIsIFwiYWR2YW5jZWRJbWFnZUVkaXRvclwiLCBcImFsaWduQ2VudGVyXCIsIFwiYWxpZ25KdXN0aWZ5XCIsIFwiYWxpZ25MZWZ0XCIsIFwiYWxpZ25SaWdodFwiLCBcbiAgICAgICAgXCJhbmNob3JzXCIsIFwiYmFja1wiLCBcImJhY2tncm91bmRDb2xvclwiLCBcImJsb2NrcXVvdGVcIiwgXCJib2xkXCIsIFwiY2VsbEJhY2tncm91bmRcIiwgXG4gICAgICAgIFwiY2VsbEJvcmRlckNvbG9yXCIsIFwiY2VsbE9wdGlvbnNcIiwgXCJjZWxsU3R5bGVcIiwgXCJjbGVhckZvcm1hdHRpbmdcIiwgXCJjbG9zZVwiLCBcImNvZGVWaWV3XCIsIFxuICAgICAgICBcImNvZ3NcIiwgXCJjb2x1bW5zXCIsIFwiZWRpdExpbmtcIiwgXCJleGl0RnVsbHNjcmVlblwiLCBcImZvbnRBd2Vzb21lXCIsIFwiZm9udEZhbWlseVwiLCBcbiAgICAgICAgXCJmb250U2l6ZVwiLCBcImZ1bGxzY3JlZW5cIiwgXCJoZWxwXCIsIFwiaG9yaXpvbnRhbExpbmVcIiwgXCJpbWFnZUFsdFRleHRcIiwgXCJpbWFnZUNhcHRpb25cIiwgXG4gICAgICAgIFwiaW1hZ2VDbGFzc1wiLCBcImltYWdlRGlzcGxheVwiLCBcImltYWdlTWFuYWdlclwiLCBcImltYWdlU2l6ZVwiLCBcImluZGVudFwiLCBcImlubGluZUNsYXNzXCIsIFxuICAgICAgICBcImlubGluZVN0eWxlXCIsIFwiaW5zZXJ0RW1iZWRcIiwgXCJpbnNlcnRGaWxlXCIsIFwiaW5zZXJ0SW1hZ2VcIiwgXCJpbnNlcnRMaW5rXCIsIFwiaW5zZXJ0TW9yZVwiLCBcbiAgICAgICAgXCJpbnNlcnRUYWJsZVwiLCBcImluc2VydFZpZGVvXCIsIFwidXBsb2FkXCIsIFwiaXRhbGljXCIsIFwic2VhcmNoXCIsIFwibGluZUhlaWdodFwiLCBcImxpbmtTdHlsZXNcIiwgXG4gICAgICAgIFwibWVudGlvblwiLCBcIm1vcmVcIiwgXCJvcGVuTGlua1wiLCBcIm9yZGVyZWRMaXN0XCIsIFwib3V0ZGVudFwiLCBcInBhZ2VCcmVha2VyXCIsIFxuICAgICAgICBcInBhcmFncmFwaEZvcm1hdFwiLCBcInBhcmFncmFwaE1vcmVcIiwgXCJwYXJhZ3JhcGhTdHlsZVwiLCBcInBkZkV4cG9ydFwiLCBcInByaW50XCIsIFxuICAgICAgICBcInJlZG9cIiwgXCJyZW1vdmVUYWJsZVwiLCBcInJlbW92ZVwiLCBcInJlcGxhY2VJbWFnZVwiLCBcInJvd1wiLCBcInNlbGVjdEFsbFwiLCBcInNtaWxlXCIsXG4gICAgICAgIFwic3BlbGxjaGVja1wiLCBcInN0YXJcIiwgXCJzdHJpa2VUaHJvdWdoXCIsIFwic3Vic2NyaXB0XCIsIFwic3VwZXJzY3JpcHRcIiwgXCJzeW1ib2xzXCIsIFwidGFnc1wiLFxuICAgICAgICBcInRhYmxlSGVhZGVyXCIsIFwidGFibGVTdHlsZVwiLCBcInRleHRDb2xvclwiLCBcInRleHRNb3JlXCIsIFwidW5kZXJsaW5lXCIsIFwidW5kb1wiLCBcInVubGlua1wiLCBcbiAgICAgICAgXCJ1bm9yZGVyZWRMaXN0XCIsIFwidmVydGljYWxBbGlnbkJvdHRvbVwiLCBcInZlcnRpY2FsQWxpZ25NaWRkbGVcIiwgXCJ2ZXJ0aWNhbEFsaWduVG9wXCJdXG4gICAgICAqL1xuXG4gICAgICBpZihidXR0b24uc3ZnS2V5KSB7XG4gICAgICAgIHRoaXMuX2ZyLkZyb2FsYUVkaXRvci5EZWZpbmVJY29uKGJ1dHRvbi5uYW1lLCB7IFNWR19LRVk6IGJ1dHRvbi5zdmdLZXkgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2ZyLkZyb2FsYUVkaXRvci5SZWdpc3RlckNvbW1hbmQoYnV0dG9uLm5hbWUsIHtcbiAgICAgICAgdGl0bGU6IGJ1dHRvbi50aXRsZSxcbiAgICAgICAgZm9jdXM6IGJ1dHRvbi5mb2N1cyA/PyB0cnVlLFxuICAgICAgICB1bmRvOiBidXR0b24udW5kbyA/PyB0cnVlLFxuICAgICAgICByZWZyZXNoQWZ0ZXJDYWxsYmFjazogYnV0dG9uLnJlZnJlc2hBZnRlckNhbGxiYWNrID8/IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgYnV0dG9uLmNsaWNrKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRQbHVnaW5zKGNvbmZpZykge1xuICAgIChjb25maWcucGx1Z2lucyB8fCBbXSkuZm9yRWFjaCgocGx1Z2luOiBQbHVnaW4pID0+IHtcbiAgICAgIHRoaXMuX2ZyLkZyb2FsYUVkaXRvci5QTFVHSU5TW3BsdWdpbi5jb25maWcubmFtZV0gPSBmdW5jdGlvbiAoZWRpdG9yKSB7XG4gICAgICAgIHBsdWdpbi5lZGl0b3IgPSBlZGl0b3I7XG4gICAgICAgIHBsdWdpbi5pbml0aWFsaXplKCk7XG4gICAgICAgIHJldHVybiBwbHVnaW47XG4gICAgICB9O1xuXG4gICAgICAocGx1Z2luLmNvbmZpZy5idXR0b25zIHx8IFtdKS5mb3JFYWNoKChidXR0b246IFBsdWdpbkJ1dHRvbikgPT4ge1xuICAgICAgICB0aGlzLl9mci5Gcm9hbGFFZGl0b3IuRGVmaW5lSWNvbihidXR0b24ubmFtZSwge1xuICAgICAgICAgIE5BTUU6IGJ1dHRvbi5uYW1lLFxuICAgICAgICAgIFBBVEg6IGJ1dHRvbi5zdmdQYXRoLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9mci5Gcm9hbGFFZGl0b3IuUmVnaXN0ZXJDb21tYW5kKGJ1dHRvbi5uYW1lLCB7XG4gICAgICAgICAgaWNvbjogYnV0dG9uLm5hbWUsXG4gICAgICAgICAgdGl0bGU6IGJ1dHRvbi50b29sdGlwLFxuICAgICAgICAgIHVuZG86IGJ1dHRvbi51bmRvLFxuICAgICAgICAgIGZvY3VzOiBidXR0b24uZm9jdXMsXG4gICAgICAgICAgc2hvd09uTW9iaWxlOiBidXR0b24uc2hvd09uTW9iaWxlLFxuICAgICAgICAgIHJlZnJlc2hBZnRlckNhbGxiYWNrOiBidXR0b24ucmVmcmVzaEFmdGVyQ2FsbGJhY2ssXG4gICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChidXR0b24uY2xpY2spIHtcbiAgICAgICAgICAgICAgYnV0dG9uLmNsaWNrKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVmcmVzaDogZnVuY3Rpb24gKGJ1dHRvbikge1xuICAgICAgICAgICAgaWYgKGJ1dHRvbi5yZWZyZXNoKSB7XG4gICAgICAgICAgICAgIGJ1dHRvbi5yZWZyZXNoKHRoaXMsIGJ1dHRvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVPcHRpb25zKCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZygpO1xuXG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIGVkaXRvciBzdG9yZSBzb21ld2hlcmUgcG9pbnRlciBvbiBkZWZhdWx0IGNvbmZpZyBvYmplY3QgYW5kIGR1YmxpY2F0ZSBvcHRpb25zIGVhY2ggdGltZSBvbiBpbml0XG4gICAgICAvLyBFeHRyYSBtZXJnZSBsZXZlbCBmaXhlZCB0aGlzIHByb2JsZW0gYW5kIGFsbG93IHRvIGluaXQgY29uZmlnIHByb3Blcmx5IHdpdGhvdXQgbGVnYWN5IGRhdGFcbiAgICAgIHt9LFxuICAgICAge1xuICAgICAgICBzaG9ydGN1dHNFbmFibGVkOiBbJ3Nob3cnLCAnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ2luZGVudCcsICdvdXRkZW50JywgJ3VuZG8nLCAncmVkbycsICdpbnNlcnRJbWFnZScsICdjcmVhdGVMaW5rJ10sXG4gICAgICAgIGtleTogY29uZmlnLmFjdGl2YXRpb25LZXksXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogY29uZmlnLnBsYWNlaG9sZGVyLFxuICAgICAgICBsaW5rQWx3YXlzQmxhbms6IHRydWUsXG4gICAgICAgIHRhYlNwYWNlczogMixcbiAgICAgICAgdHlwaW5nVGltZXI6IDI1MCxcbiAgICAgICAgdG9vbHRpcHM6IGZhbHNlLFxuICAgICAgICB3b3JkUGFzdGVNb2RhbDogZmFsc2UsXG4gICAgICAgIGltYWdlRGVmYXVsdFdpZHRoOiAwLFxuICAgICAgICBpbWFnZURlZmF1bHRBbGlnbjogJ2xlZnQnLFxuICAgICAgICBxdWlja0luc2VydEVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICBwYXJhZ3JhcGhEZWZhdWx0U2VsZWN0aW9uOiAnRm9ybWF0JyxcbiAgICAgICAgdmlkZW9VcGxvYWQ6IGZhbHNlLFxuICAgICAgICBwYXJhZ3JhcGhGb3JtYXQ6IHtcbiAgICAgICAgICBOOiAnTm9ybWFsJyxcbiAgICAgICAgICBIMTogJ0hlYWRpbmcgMScsXG4gICAgICAgICAgSDI6ICdIZWFkaW5nIDInLFxuICAgICAgICAgIEgzOiAnSGVhZGluZyAzJyxcbiAgICAgICAgICBINDogJ0hlYWRpbmcgNCcsXG4gICAgICAgICAgQkxPQ0tRVU9URTogJ1F1b3RlJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGFyYWdyYXBoRm9ybWF0U2VsZWN0aW9uOiB0cnVlLFxuICAgICAgICB0b29sYmFyQnV0dG9uc1hTOiB7XG4gICAgICAgICAgbW9yZVRleHQ6IHtcbiAgICAgICAgICAgIGJ1dHRvbnM6IFRleHRCdXR0b25zLFxuICAgICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtb3JlUGFyYWdyYXBoOiB7XG4gICAgICAgICAgICBidXR0b25zOiBQYXJhZ3JhcGhCdXR0b25zLFxuICAgICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtb3JlUmljaDoge1xuICAgICAgICAgICAgYnV0dG9uczogUmljaEJ1dHRvbnMsXG4gICAgICAgICAgICBidXR0b25zVmlzaWJsZTogMCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0b29sYmFyQnV0dG9uczoge1xuICAgICAgICAgIG1vcmVUZXh0OiB7XG4gICAgICAgICAgICBidXR0b25zOiBUZXh0QnV0dG9ucyxcbiAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbW9yZVBhcmFncmFwaDoge1xuICAgICAgICAgICAgYnV0dG9uczogUGFyYWdyYXBoQnV0dG9ucyxcbiAgICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiA1LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbW9yZVJpY2g6IHtcbiAgICAgICAgICAgIGJ1dHRvbnM6IFJpY2hCdXR0b25zLFxuICAgICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBjb25maWcuZnJvYWxhQ29uZmlnLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5MYXp5SW5pdCgpIHtcbiAgICB0aGlzLmZyb2FsYUxvYWRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHJlYWR5KSA9PiByZWFkeSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9pbml0aWFsaXplJCksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0aW9uOiBhbnkgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uczogYW55ID0ge307XG4gICAgICAgICAgaWYgKHNlbGVjdGlvbi5iYXNlTm9kZSkge1xuICAgICAgICAgICAgb3B0aW9ucy5zZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICAgIG5vZGU6IHNlbGVjdGlvbi5iYXNlTm9kZS5ub2RlVmFsdWUsXG4gICAgICAgICAgICAgIG9mZnNldDogc2VsZWN0aW9uLmJhc2VPZmZzZXQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmluaXRpYWxpemUob3B0aW9ucyk7XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fZnJvYWxhUmVhZHkkKSxcbiAgICAgICAgZmlsdGVyKChkYXRhKSA9PiAhIWRhdGEpLFxuICAgICAgICB0YXAoKHsgY29uZmlnLCBvcHRpb25zIH0pID0+IHtcbiAgICAgICAgICB0aGlzLl9zZXR1cEZyb2FsYShjb25maWcsIG9wdGlvbnMpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29udGVudENoYW5nZWQoKTogdm9pZCB7XG4gICAgY29uc3QgZWRpdG9ySFRNTCA9IHRoaXMuX2VkaXRvci5odG1sLmdldCgpO1xuXG4gICAgaWYgKHRoaXMuaHRtbCAhPT0gZWRpdG9ySFRNTCkge1xuICAgICAgdGhpcy5fY2hhbmdlKGVkaXRvckhUTUwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldHVwRnJvYWxhKGNvbmZpZzogRnNIdG1sRWRpdG9yQ29uZmlnLCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHRoaXMuc2V0SHRtbCh0aGlzLl9odG1sKTtcblxuICAgIGlmIChjb25maWcuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuZnJvYWxhQ29uZmlnLmV2ZW50cykge1xuICAgICAgaWYgKGNvbmZpZy5mcm9hbGFDb25maWcuZXZlbnRzLmluaXRpYWxpemVkKSB7XG4gICAgICAgIGNvbmZpZy5mcm9hbGFDb25maWcuZXZlbnRzLmluaXRpYWxpemVkKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fZWRpdG9yLmV2ZW50cy5vbignZm9jdXMnLCAoKSA9PiB7XG4gICAgICB0aGlzLmNsYXNzRm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2VkaXRvci5ldmVudHMub24oJ2JsdXInLCAoKSA9PiB7XG4gICAgICB0aGlzLmNsYXNzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cblxuICAgIGZyb21FdmVudFBhdHRlcm4oXG4gICAgICAoaGFuZGxlcikgPT4ge1xuICAgICAgICB0aGlzLl9lZGl0b3IuZXZlbnRzLm9uKCdjb250ZW50Q2hhbmdlZCcsIGhhbmRsZXIpO1xuICAgICAgfSxcbiAgICAgICgpID0+IHt9XG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLl9odG1sKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZWRpdG9yLmh0bWwuZ2V0KCkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBza2lwKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnRDaGFuZ2VkKCk7XG4gICAgICB9KTtcblxuICAgIC8vIHRoaXMuX2VkaXRvci5ldmVudHMub24oJ2NvbnRlbnRDaGFuZ2VkJywgKCkgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2coJ3Rlc3QnKTtcbiAgICAvLyAgIGlmICghdGhpcy5fZmlyc3RDaGFuZ2UpIHtcbiAgICAvLyAgICAgdGhpcy5fY29udGVudENoYW5nZWQoKTtcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcblxuICAgIHRoaXMuX2VkaXRvci5ldmVudHMub24oJ3Bhc3RlLmFmdGVyQ2xlYW51cCcsIChodG1sKSA9PiB7XG4gICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBkaXYuaW5uZXJIVE1MID0gaHRtbDtcbiAgICAgIGRpdi5xdWVyeVNlbGVjdG9yQWxsKCcqJylcbiAgICAgICAgLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbC5hdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gZWwuYXR0cmlidXRlc1swXS5uYW1lO1xuICAgICAgICAgICAgaWYgKG5hbWUgIT09ICdocmVmJykge1xuICAgICAgICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHJldHVybiBkaXYuaW5uZXJIVE1MO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fZWRpdG9yLmV2ZW50cy5vbigna2V5ZG93bicsICgpID0+IHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuaW1hZ2UgJiYgdGhpcy5jb25maWcuaW1hZ2UudXBsb2FkKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZXZlbnRzLm9uKCdpbWFnZS5iZWZvcmVQYXN0ZVVwbG9hZCcsIChpbWFnZSkgPT4ge1xuXG4gICAgICAgIGZldGNoKGltYWdlLmdldEF0dHJpYnV0ZSgnc3JjJykpXG4gICAgICAgICAgLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgcmVzLmJsb2IoKVxuICAgICAgICAgICAgICAudGhlbigoYmxvYikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NJbWFnZVVwbG9hZChibG9iKVxuICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Uuc2V0QXR0cmlidXRlKCdzcmMnLCB1cmwpO1xuICAgICAgICAgICAgICAgICAgICBpbWFnZS5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtZnItaW1hZ2UtcGFzdGVkJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29udGVudENoYW5nZWQoKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fZWRpdG9yLmV2ZW50cy5vbignaW1hZ2UuYmVmb3JlVXBsb2FkJywgKGJsb2JzKSA9PiB7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NJbWFnZVVwbG9hZChibG9ic1swXSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHVybCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IuaW1hZ2UuaW5zZXJ0KHVybCwgbnVsbCwgbnVsbCwgdGhpcy5lZGl0b3IuaW1hZ2UuZ2V0KCkpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVsLnF1ZXJ5U2VsZWN0b3IoJy5mci1zZWNvbmQtdG9vbGJhcicpKSB7XG4gICAgICB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3IoJy5mci1zZWNvbmQtdG9vbGJhcicpLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IG9wdGlvbnMuc2VsZWN0aW9uO1xuXG4gICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgY29uc3Qgbm9kZTogYW55ID0gQXJyYXkuZnJvbSh0aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5mci1lbGVtZW50IConKSkuZmluZCgobm9kZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBzZWxlY3Rpb24ubm9kZSA9PT0gbm9kZS50ZXh0Q29udGVudDtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICAgIGNvbnN0IHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcblxuICAgICAgICByYW5nZS5zZXRTdGFydCh0aGlzLl9nZXRUZXh0Tm9kZShub2RlKSwgc2VsZWN0aW9uLm9mZnNldCk7XG4gICAgICAgIHJhbmdlLmNvbGxhcHNlKHRydWUpXG5cbiAgICAgICAgc2VsLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICBzZWwuYWRkUmFuZ2UocmFuZ2UpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5hdXRvZm9jdXMpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuYXV0b2ZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGV4dE5vZGUobm9kZSkge1xuICAgIGlmIChub2RlKSB7XG4gICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRUZXh0Tm9kZShub2RlLmNoaWxkTm9kZXNbMF0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZzLWh0bWwtZWRpdG9yLWRlZmF1bHRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluaXRpYWxpemVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqZnNTa2VsZXRvbj1cIihmcm9hbGFMb2FkZWQkIHwgYXN5bmMpICE9PSBmYWxzZVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2ICNlbFJlZj48L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYm90dG9tLWxpbmVcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpc2FibGVkLWxpbmVcIj48L2Rpdj5cbiAgPGZzLWh0bWwtcmVuZGVyZXJcbiAgICAqbmdJZj1cIiFpbml0aWFsaXplZFwiXG4gICAgW2h0bWxdPVwiaHRtbFwiXG4gICAgKGNsaWNrKT1cInVuaW5pdGlhbGl6ZWRDbGljaygkZXZlbnQpXCI+XG4gIDwvZnMtaHRtbC1yZW5kZXJlcj5cbjwvZGl2PlxuIl19
@@ -16,4 +16,4 @@ export const TextButtons = [
16
16
  'clearFormatting',
17
17
  'quote',
18
18
  ];
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1idXR0b25zLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jb25zdHMvdGV4dC1idXR0b25zLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUNyQixpQkFBaUI7SUFDakIsTUFBTTtJQUNOLE1BQU07SUFDTixRQUFRO0lBQ1IsV0FBVztJQUNYLGVBQWU7SUFDZixXQUFXO0lBQ1gsYUFBYTtJQUNiLFlBQVk7SUFDWixVQUFVO0lBQ1YsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixPQUFPO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUZXh0QnV0dG9ucyA9IFtcbiAgICAgICdwYXJhZ3JhcGhGb3JtYXQnLFxuICAgICAgJ2NvZGUnLFxuICAgICAgJ2JvbGQnLFxuICAgICAgJ2l0YWxpYycsXG4gICAgICAndW5kZXJsaW5lJyxcbiAgICAgICdzdHJpa2VUaHJvdWdoJyxcbiAgICAgICdzdWJzY3JpcHQnLFxuICAgICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAgICdmb250RmFtaWx5JyxcbiAgICAgICdmb250U2l6ZScsXG4gICAgICAndGV4dENvbG9yJyxcbiAgICAgICdiYWNrZ3JvdW5kQ29sb3InLFxuICAgICAgJ2lubGluZUNsYXNzJyxcbiAgICAgICdpbmxpbmVTdHlsZScsXG4gICAgICAnY2xlYXJGb3JtYXR0aW5nJyxcbiAgICAgICdxdW90ZScsXG5dO1xuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1idXR0b25zLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jb25zdHMvdGV4dC1idXR0b25zLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixpQkFBaUI7SUFDakIsTUFBTTtJQUNOLE1BQU07SUFDTixRQUFRO0lBQ1IsV0FBVztJQUNYLGVBQWU7SUFDZixXQUFXO0lBQ1gsYUFBYTtJQUNiLFlBQVk7SUFDWixVQUFVO0lBQ1YsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixPQUFPO0NBQ1IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUZXh0QnV0dG9ucyA9IFtcbiAgJ3BhcmFncmFwaEZvcm1hdCcsXG4gICdjb2RlJyxcbiAgJ2JvbGQnLFxuICAnaXRhbGljJyxcbiAgJ3VuZGVybGluZScsXG4gICdzdHJpa2VUaHJvdWdoJyxcbiAgJ3N1YnNjcmlwdCcsXG4gICdzdXBlcnNjcmlwdCcsXG4gICdmb250RmFtaWx5JyxcbiAgJ2ZvbnRTaXplJyxcbiAgJ3RleHRDb2xvcicsXG4gICdiYWNrZ3JvdW5kQ29sb3InLFxuICAnaW5saW5lQ2xhc3MnLFxuICAnaW5saW5lU3R5bGUnLFxuICAnY2xlYXJGb3JtYXR0aW5nJyxcbiAgJ3F1b3RlJyxcbl07XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wbHVnaW4uZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZW51bXMvZGVmYXVsdC1wbHVnaW4uZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gRGVmYXVsdFBsdWdpbiB7XG4gIEFsaWduID0gJ2FsaWduJyxcbiAgQ29sb3JzID0gJ2NvbG9ycycsXG4gIEltYWdlID0gJ2ltYWdlJyxcbiAgTGluayA9ICdsaW5rJyxcbiAgTGlzdHMgPSAnbGlzdHMnLFxuICBQYXJhZ3JhcGhGb3JtYXQgPSAncGFyYWdyYXBoX2Zvcm1hdCcsXG4gIFRhYmxlID0gJ3RhYmxlJyxcbiAgVXJsID0gJ3VybCcsXG4gIFZpZGVvID0gJ3ZpZGVvJyxcbiAgUXVvdGUgPSAncXVvdGUnLFxuICBEcmFnZ2FibGUgPSAnZHJhZ2dhYmxlJyxcbiAgRm9udFNpemUgPSAnZm9udF9zaXplJyxcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wbHVnaW4uZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZW51bXMvZGVmYXVsdC1wbHVnaW4uZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gRnJvYWxhUGx1Z2luIHtcbiAgQWxpZ24gPSAnYWxpZ24nLFxuICBDb2xvcnMgPSAnY29sb3JzJyxcbiAgSW1hZ2UgPSAnaW1hZ2UnLFxuICBMaW5rID0gJ2xpbmsnLFxuICBMaXN0cyA9ICdsaXN0cycsXG4gIFBhcmFncmFwaEZvcm1hdCA9ICdwYXJhZ3JhcGhfZm9ybWF0JyxcbiAgVGFibGUgPSAndGFibGUnLFxuICBVcmwgPSAndXJsJyxcbiAgVmlkZW8gPSAndmlkZW8nLFxuICBRdW90ZSA9ICdxdW90ZScsXG4gIERyYWdnYWJsZSA9ICdkcmFnZ2FibGUnLFxuICBGb250U2l6ZSA9ICdmb250X3NpemUnLFxuICBRdWlja0luc2VydCA9ICdxdWlja19pbnNlcnQnLFxufVxuIl19
@@ -47,7 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
47
47
  }]
48
48
  }] });
49
49
  export function FsHtmlEditorConfigFactory(config) {
50
- return Object.assign({ defaultPlugins: [
50
+ return Object.assign({ froalaPlugins: [
51
51
  "align" /* Align */,
52
52
  "colors" /* Colors */,
53
53
  "image" /* Image */,
@@ -62,4 +62,4 @@ export function FsHtmlEditorConfigFactory(config) {
62
62
  "font_size" /* FontSize */,
63
63
  ] }, config);
64
64
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtaHRtbC1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9mcy1odG1sLWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWtCL0YsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQTZCLEVBQUU7UUFDNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQzVEO29CQUNFLE9BQU8sRUFBRSxxQkFBcUI7b0JBQzlCLFVBQVUsRUFBRSx5QkFBeUI7b0JBQ3JDLElBQUksRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUN0QzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2dIQWJVLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQUozQixxQkFBcUI7UUFDckIsdUJBQXVCLGFBVHZCLFlBQVk7UUFDWixnQkFBZ0IsYUFHaEIscUJBQXFCO1FBQ3JCLHVCQUF1QjtpSEFPZCxrQkFBa0IsWUFicEI7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1NBQ2pCOzRGQVVVLGtCQUFrQjtrQkFkOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsdUJBQXVCO3FCQUN4QjtpQkFDRjs7QUFpQkQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQTBCO0lBQ2xFLHVCQUNFLGNBQWMsRUFBRTs7Ozs7Ozs7Ozs7OztTQWFmLElBQ0UsTUFBTSxFQUNUO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGc1NrZWxldG9uTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc2tlbGV0b24nO1xuXG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaHRtbC1lZGl0b3IvaHRtbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZzSHRtbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2h0bWwtcmVuZGVyZXIvaHRtbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnNIdG1sRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5pbXBvcnQgeyBGU19IVE1MX0VESVRPUl9DT05GSUcsIEZTX0hUTUxfRURJVE9SX0RFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi9pbmplY3RzL2NvbmZpZy5pbmplY3QnO1xuaW1wb3J0IHsgRGVmYXVsdFBsdWdpbiB9IGZyb20gJy4vZW51bXMvZGVmYXVsdC1wbHVnaW4uZW51bSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGc1NrZWxldG9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRnNIdG1sRWRpdG9yQ29tcG9uZW50LFxuICAgIEZzSHRtbFJlbmRlcmVyQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGc0h0bWxFZGl0b3JDb21wb25lbnQsXG4gICAgRnNIdG1sUmVuZGVyZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzSHRtbEVkaXRvck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogRnNIdG1sRWRpdG9yQ29uZmlnID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZzSHRtbEVkaXRvck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnNIdG1sRWRpdG9yTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRlNfSFRNTF9FRElUT1JfREVGQVVMVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEZTX0hUTUxfRURJVE9SX0NPTkZJRyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBGc0h0bWxFZGl0b3JDb25maWdGYWN0b3J5LFxuICAgICAgICAgIGRlcHM6IFtGU19IVE1MX0VESVRPUl9ERUZBVUxUX0NPTkZJR11cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZzSHRtbEVkaXRvckNvbmZpZ0ZhY3RvcnkoY29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWcpIHtcbiAgcmV0dXJuIHtcbiAgICBkZWZhdWx0UGx1Z2luczogW1xuICAgICAgRGVmYXVsdFBsdWdpbi5BbGlnbixcbiAgICAgIERlZmF1bHRQbHVnaW4uQ29sb3JzLFxuICAgICAgRGVmYXVsdFBsdWdpbi5JbWFnZSxcbiAgICAgIERlZmF1bHRQbHVnaW4uTGluayxcbiAgICAgIERlZmF1bHRQbHVnaW4uTGlzdHMsXG4gICAgICBEZWZhdWx0UGx1Z2luLlBhcmFncmFwaEZvcm1hdCxcbiAgICAgIERlZmF1bHRQbHVnaW4uUXVvdGUsXG4gICAgICBEZWZhdWx0UGx1Z2luLlRhYmxlLFxuICAgICAgRGVmYXVsdFBsdWdpbi5VcmwsXG4gICAgICBEZWZhdWx0UGx1Z2luLlZpZGVvLFxuICAgICAgRGVmYXVsdFBsdWdpbi5EcmFnZ2FibGUsXG4gICAgICBEZWZhdWx0UGx1Z2luLkZvbnRTaXplLFxuICAgIF0sXG4gICAgLi4uY29uZmlnXG4gIH07XG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtaHRtbC1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9mcy1odG1sLWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWtCL0YsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQTZCLEVBQUU7UUFDNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQzVEO29CQUNFLE9BQU8sRUFBRSxxQkFBcUI7b0JBQzlCLFVBQVUsRUFBRSx5QkFBeUI7b0JBQ3JDLElBQUksRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUN0QzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2dIQWJVLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQUozQixxQkFBcUI7UUFDckIsdUJBQXVCLGFBVHZCLFlBQVk7UUFDWixnQkFBZ0IsYUFHaEIscUJBQXFCO1FBQ3JCLHVCQUF1QjtpSEFPZCxrQkFBa0IsWUFicEI7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1NBQ2pCOzRGQVVVLGtCQUFrQjtrQkFkOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsdUJBQXVCO3FCQUN4QjtpQkFDRjs7QUFpQkQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQTBCO0lBQ2xFLHVCQUNFLGFBQWEsRUFBRTs7Ozs7Ozs7Ozs7OztTQWFkLElBQ0UsTUFBTSxFQUNUO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGc1NrZWxldG9uTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc2tlbGV0b24nO1xuXG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaHRtbC1lZGl0b3IvaHRtbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZzSHRtbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2h0bWwtcmVuZGVyZXIvaHRtbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnNIdG1sRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5pbXBvcnQgeyBGU19IVE1MX0VESVRPUl9DT05GSUcsIEZTX0hUTUxfRURJVE9SX0RFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi9pbmplY3RzL2NvbmZpZy5pbmplY3QnO1xuaW1wb3J0IHsgRnJvYWxhUGx1Z2luIH0gZnJvbSAnLi9lbnVtcy9kZWZhdWx0LXBsdWdpbi5lbnVtJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZzU2tlbGV0b25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGc0h0bWxFZGl0b3JDb21wb25lbnQsXG4gICAgRnNIdG1sUmVuZGVyZXJDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZzSHRtbEVkaXRvckNvbXBvbmVudCxcbiAgICBGc0h0bWxSZW5kZXJlckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNIdG1sRWRpdG9yTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWcgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnNIdG1sRWRpdG9yTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBGc0h0bWxFZGl0b3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBGU19IVE1MX0VESVRPUl9ERUZBVUxUX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogRlNfSFRNTF9FRElUT1JfQ09ORklHLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IEZzSHRtbEVkaXRvckNvbmZpZ0ZhY3RvcnksXG4gICAgICAgICAgZGVwczogW0ZTX0hUTUxfRURJVE9SX0RFRkFVTFRfQ09ORklHXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gRnNIdG1sRWRpdG9yQ29uZmlnRmFjdG9yeShjb25maWc6IEZzSHRtbEVkaXRvckNvbmZpZykge1xuICByZXR1cm4ge1xuICAgIGZyb2FsYVBsdWdpbnM6IFtcbiAgICAgIEZyb2FsYVBsdWdpbi5BbGlnbixcbiAgICAgIEZyb2FsYVBsdWdpbi5Db2xvcnMsXG4gICAgICBGcm9hbGFQbHVnaW4uSW1hZ2UsXG4gICAgICBGcm9hbGFQbHVnaW4uTGluayxcbiAgICAgIEZyb2FsYVBsdWdpbi5MaXN0cyxcbiAgICAgIEZyb2FsYVBsdWdpbi5QYXJhZ3JhcGhGb3JtYXQsXG4gICAgICBGcm9hbGFQbHVnaW4uUXVvdGUsXG4gICAgICBGcm9hbGFQbHVnaW4uVGFibGUsXG4gICAgICBGcm9hbGFQbHVnaW4uVXJsLFxuICAgICAgRnJvYWxhUGx1Z2luLlZpZGVvLFxuICAgICAgRnJvYWxhUGx1Z2luLkRyYWdnYWJsZSxcbiAgICAgIEZyb2FsYVBsdWdpbi5Gb250U2l6ZSxcbiAgICBdLFxuICAgIC4uLmNvbmZpZ1xuICB9O1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3ItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9jbGFzc2VzL3BsdWdpbic7XG5pbXBvcnQgeyBEZWZhdWx0UGx1Z2luIH0gZnJvbSAnLi4vZW51bXMvZGVmYXVsdC1wbHVnaW4uZW51bSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBGc0h0bWxFZGl0b3JDb25maWcge1xuICBpbWFnZT86IEZzSHRtbEVkaXRvclVwbG9hZENvbmZpZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIGNoYW5nZT86IEZ1bmN0aW9uO1xuICBpbml0T25DbGljaz86IGJvb2xlYW47XG4gIGluaXRDbGljaz86IChldmVudD86IFVJRXZlbnQpID0+IHZvaWQ7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIGF1dG9mb2N1cz86IGJvb2xlYW47XG4gIGZyb2FsYUNvbmZpZz86IGFueTtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBhY3RpdmF0aW9uS2V5PzogYW55O1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBwbHVnaW5zPzogUGx1Z2luW107XG4gIGRlZmF1bHRQbHVnaW5zPzogRGVmYXVsdFBsdWdpbltdO1xuICBhc3NldHNKU1BhdGg/OiBzdHJpbmc7XG4gIGFzc2V0c0NTU1BhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNIdG1sRWRpdG9yVXBsb2FkQ29uZmlnIHtcbiAgd2lkdGg/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGhlaWdodD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcXVhbGl0eT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgZm9ybWF0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBtaW5XaWR0aD86IG51bWJlcjtcbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICB1cGxvYWQ/OiAoZmlsZTogQmxvYikgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3ItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9jbGFzc2VzL3BsdWdpbic7XG5pbXBvcnQgeyBGcm9hbGFQbHVnaW4gfSBmcm9tICcuLi9lbnVtcy9kZWZhdWx0LXBsdWdpbi5lbnVtJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEZzSHRtbEVkaXRvckNvbmZpZyB7XG4gIGltYWdlPzogRnNIdG1sRWRpdG9yVXBsb2FkQ29uZmlnO1xuICBsYWJlbD86IHN0cmluZztcbiAgaGludD86IHN0cmluZztcbiAgY2hhbmdlPzogRnVuY3Rpb247XG4gIGluaXRPbkNsaWNrPzogYm9vbGVhbjtcbiAgaW5pdENsaWNrPzogKGV2ZW50PzogVUlFdmVudCkgPT4gdm9pZDtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgYXV0b2ZvY3VzPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBhY3RpdmF0aW9uS2V5PzogYW55O1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBwbHVnaW5zPzogUGx1Z2luW107XG4gIGZyb2FsYVBsdWdpbnM/OiBGcm9hbGFQbHVnaW5bXTtcbiAgZnJvYWxhQ29uZmlnPzogYW55O1xuICBhc3NldHNKU1BhdGg/OiBzdHJpbmc7XG4gIGFzc2V0c0NTU1BhdGg/OiBzdHJpbmc7XG4gIGJ1dHRvbnM/OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHN2Z0tleT86IHN0cmluZztcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBmb2N1cz86IGJvb2xlYW47XG4gICAgdW5kbz86IGJvb2xlYW47XG4gICAgcmVmcmVzaEFmdGVyQ2FsbGJhY2s/OiBib29sZWFuO1xuICAgIGNsaWNrOiAoZWRpdG9yOiBhbnkpID0+IHZvaWQ7XG4gIH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGc0h0bWxFZGl0b3JVcGxvYWRDb25maWcge1xuICB3aWR0aD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgaGVpZ2h0PzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBxdWFsaXR5PzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBmb3JtYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIHVwbG9hZD86IChmaWxlOiBCbG9iKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG59XG4iXX0=
@@ -8,8 +8,8 @@ export class FsFroalaLoaderService {
8
8
  constructor(_defaultConfig) {
9
9
  this._defaultConfig = _defaultConfig;
10
10
  this._froalaLoaded = new BehaviorSubject(false);
11
- this._defaultPluginsLoaded = new BehaviorSubject(false);
12
- this._loaded$ = combineLatest([this._froalaLoaded, this._defaultPluginsLoaded])
11
+ this._froalaPluginsLoaded = new BehaviorSubject(false);
12
+ this._loaded$ = combineLatest([this._froalaLoaded, this._froalaPluginsLoaded])
13
13
  .pipe(map(([FroalaReady, pluginsRead]) => {
14
14
  return pluginsRead && FroalaReady;
15
15
  }), shareReplay(1));
@@ -27,7 +27,7 @@ export class FsFroalaLoaderService {
27
27
  return this._loaded$;
28
28
  }
29
29
  get ready() {
30
- return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();
30
+ return this._froalaLoaded.getValue() && this._froalaPluginsLoaded.getValue();
31
31
  }
32
32
  get FroalaEditor() {
33
33
  return this._FroalaEditor;
@@ -43,13 +43,13 @@ export class FsFroalaLoaderService {
43
43
  }), concatMap(() => {
44
44
  return this._loadPlugins();
45
45
  }), tap(() => {
46
- this._defaultPluginsDone();
46
+ this._froalaPluginsDone();
47
47
  }))
48
48
  .subscribe();
49
49
  }
50
50
  _loadPlugins() {
51
51
  const imports = this._defaultConfig
52
- .defaultPlugins
52
+ .froalaPlugins
53
53
  .reduce((acc, pluginName) => {
54
54
  const import$ = ResourceLoader.loadResource(pluginName);
55
55
  acc.push(import$);
@@ -60,8 +60,8 @@ export class FsFroalaLoaderService {
60
60
  _froalaDone() {
61
61
  this._froalaLoaded.next(true);
62
62
  }
63
- _defaultPluginsDone() {
64
- this._defaultPluginsLoaded.next(true);
63
+ _froalaPluginsDone() {
64
+ this._froalaPluginsLoaded.next(true);
65
65
  }
66
66
  }
67
67
  FsFroalaLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFroalaLoaderService, deps: [{ token: FS_HTML_EDITOR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
77
77
  type: Inject,
78
78
  args: [FS_HTML_EDITOR_CONFIG]
79
79
  }] }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvYWxhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9mcm9hbGEtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTWpELE1BQU0sT0FBTyxxQkFBcUI7SUFlaEMsWUFDcUQsY0FBa0M7UUFBbEMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBWi9FLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsYUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7YUFDL0UsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDakMsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBS0YsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQTthQUNqRTtZQUVELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3JDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQTthQUNoRTtTQUNGO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVPLEtBQUs7UUFDWCxhQUFhLENBQUM7WUFDWixjQUFjLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUNyQyxjQUFjLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwQyxDQUFDO2FBQ0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsYUFBYSxHQUFJLE1BQWMsQ0FBQyxZQUFZLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYzthQUNoQyxjQUFjO2FBQ2QsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQzFCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFeEQsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVULE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOzttSEFuRlUscUJBQXFCLGtCQWdCVixxQkFBcUI7dUhBaEJoQyxxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFpQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBtYXAsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZTX0hUTUxfRURJVE9SX0NPTkZJRyB9IGZyb20gJy4uL2luamVjdHMvY29uZmlnLmluamVjdCc7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5cbmltcG9ydCB7IFJlc291cmNlTG9hZGVyIH0gZnJvbSAnLi4vdXRpbHMvbG9hZGVyJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnNGcm9hbGFMb2FkZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9Gcm9hbGFFZGl0b3I6IHVua25vd247XG5cbiAgcHJpdmF0ZSBfZnJvYWxhTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2RlZmF1bHRQbHVnaW5zTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBfbG9hZGVkJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2Zyb2FsYUxvYWRlZCwgdGhpcy5fZGVmYXVsdFBsdWdpbnNMb2FkZWRdKVxuICAgIC5waXBlKFxuICAgICAgbWFwKChbRnJvYWxhUmVhZHksIHBsdWdpbnNSZWFkXSkgPT4ge1xuICAgICAgICByZXR1cm4gcGx1Z2luc1JlYWQgJiYgRnJvYWxhUmVhZHk7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGU19IVE1MX0VESVRPUl9DT05GSUcpIHByaXZhdGUgX2RlZmF1bHRDb25maWc6IEZzSHRtbEVkaXRvckNvbmZpZyxcbiAgKSB7XG4gICAgaWYgKHRoaXMuX2RlZmF1bHRDb25maWcpIHtcbiAgICAgIGlmICh0aGlzLl9kZWZhdWx0Q29uZmlnLmFzc2V0c0pTUGF0aCkge1xuICAgICAgICBSZXNvdXJjZUxvYWRlci5zZXRSZXNvdXJjZUJhc2UodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNKU1BhdGgpXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9kZWZhdWx0Q29uZmlnLmFzc2V0c0NTU1BhdGgpIHtcbiAgICAgICAgUmVzb3VyY2VMb2FkZXIuc2V0U3R5bGVzQmFzZSh0aGlzLl9kZWZhdWx0Q29uZmlnLmFzc2V0c0NTU1BhdGgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fbG9hZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkZWQkO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFkeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnJvYWxhTG9hZGVkLmdldFZhbHVlKCkgJiYgdGhpcy5fZGVmYXVsdFBsdWdpbnNMb2FkZWQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRnJvYWxhRWRpdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX0Zyb2FsYUVkaXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWQoKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICBSZXNvdXJjZUxvYWRlci5sb2FkUmVzb3VyY2UoJ2Zyb2FsYScpLFxuICAgICAgUmVzb3VyY2VMb2FkZXIubG9hZFN0eWxlcygnZnJvYWxhJylcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fRnJvYWxhRWRpdG9yID0gKHdpbmRvdyBhcyBhbnkpLkZyb2FsYUVkaXRvcjtcbiAgICAgICAgICB0aGlzLl9mcm9hbGFEb25lKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9sb2FkUGx1Z2lucygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9kZWZhdWx0UGx1Z2luc0RvbmUoKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbiAgXG4gIHByaXZhdGUgX2xvYWRQbHVnaW5zKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIGNvbnN0IGltcG9ydHMgPSB0aGlzLl9kZWZhdWx0Q29uZmlnXG4gICAgICAuZGVmYXVsdFBsdWdpbnNcbiAgICAgIC5yZWR1Y2UoKGFjYywgcGx1Z2luTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBpbXBvcnQkID0gUmVzb3VyY2VMb2FkZXIubG9hZFJlc291cmNlKHBsdWdpbk5hbWUpO1xuXG4gICAgICAgIGFjYy5wdXNoKGltcG9ydCQpO1xuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChpbXBvcnRzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Zyb2FsYURvbmUoKSB7XG4gICAgdGhpcy5fZnJvYWxhTG9hZGVkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9kZWZhdWx0UGx1Z2luc0RvbmUoKSB7XG4gICAgdGhpcy5fZGVmYXVsdFBsdWdpbnNMb2FkZWQubmV4dCh0cnVlKTtcbiAgfVxufVxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvYWxhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9mcm9hbGEtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTWpELE1BQU0sT0FBTyxxQkFBcUI7SUFlaEMsWUFDcUQsY0FBa0M7UUFBbEMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBWi9FLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEQsYUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDOUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDakMsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBS0YsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQTthQUNqRTtZQUVELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3JDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQTthQUNoRTtTQUNGO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVPLEtBQUs7UUFDWCxhQUFhLENBQUM7WUFDWixjQUFjLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUNyQyxjQUFjLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwQyxDQUFDO2FBQ0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsYUFBYSxHQUFJLE1BQWMsQ0FBQyxZQUFZLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYzthQUNoQyxhQUFhO2FBQ2IsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQzFCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFeEQsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVULE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOzttSEFuRlUscUJBQXFCLGtCQWdCVixxQkFBcUI7dUhBaEJoQyxxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFpQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBtYXAsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZTX0hUTUxfRURJVE9SX0NPTkZJRyB9IGZyb20gJy4uL2luamVjdHMvY29uZmlnLmluamVjdCc7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5cbmltcG9ydCB7IFJlc291cmNlTG9hZGVyIH0gZnJvbSAnLi4vdXRpbHMvbG9hZGVyJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnNGcm9hbGFMb2FkZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9Gcm9hbGFFZGl0b3I6IHVua25vd247XG5cbiAgcHJpdmF0ZSBfZnJvYWxhTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2Zyb2FsYVBsdWdpbnNMb2FkZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwcml2YXRlIF9sb2FkZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5fZnJvYWxhTG9hZGVkLCB0aGlzLl9mcm9hbGFQbHVnaW5zTG9hZGVkXSlcbiAgICAucGlwZShcbiAgICAgIG1hcCgoW0Zyb2FsYVJlYWR5LCBwbHVnaW5zUmVhZF0pID0+IHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbnNSZWFkICYmIEZyb2FsYVJlYWR5O1xuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfSFRNTF9FRElUT1JfQ09ORklHKSBwcml2YXRlIF9kZWZhdWx0Q29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWcsXG4gICkge1xuICAgIGlmICh0aGlzLl9kZWZhdWx0Q29uZmlnKSB7XG4gICAgICBpZiAodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNKU1BhdGgpIHtcbiAgICAgICAgUmVzb3VyY2VMb2FkZXIuc2V0UmVzb3VyY2VCYXNlKHRoaXMuX2RlZmF1bHRDb25maWcuYXNzZXRzSlNQYXRoKVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNDU1NQYXRoKSB7XG4gICAgICAgIFJlc291cmNlTG9hZGVyLnNldFN0eWxlc0Jhc2UodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNDU1NQYXRoKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2xvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGVkJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVhZHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Zyb2FsYUxvYWRlZC5nZXRWYWx1ZSgpICYmIHRoaXMuX2Zyb2FsYVBsdWdpbnNMb2FkZWQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRnJvYWxhRWRpdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX0Zyb2FsYUVkaXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWQoKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICBSZXNvdXJjZUxvYWRlci5sb2FkUmVzb3VyY2UoJ2Zyb2FsYScpLFxuICAgICAgUmVzb3VyY2VMb2FkZXIubG9hZFN0eWxlcygnZnJvYWxhJylcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fRnJvYWxhRWRpdG9yID0gKHdpbmRvdyBhcyBhbnkpLkZyb2FsYUVkaXRvcjtcbiAgICAgICAgICB0aGlzLl9mcm9hbGFEb25lKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9sb2FkUGx1Z2lucygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9mcm9hbGFQbHVnaW5zRG9uZSgpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuICBcbiAgcHJpdmF0ZSBfbG9hZFBsdWdpbnMoKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgY29uc3QgaW1wb3J0cyA9IHRoaXMuX2RlZmF1bHRDb25maWdcbiAgICAgIC5mcm9hbGFQbHVnaW5zXG4gICAgICAucmVkdWNlKChhY2MsIHBsdWdpbk5hbWUpID0+IHtcbiAgICAgICAgY29uc3QgaW1wb3J0JCA9IFJlc291cmNlTG9hZGVyLmxvYWRSZXNvdXJjZShwbHVnaW5OYW1lKTtcblxuICAgICAgICBhY2MucHVzaChpbXBvcnQkKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoaW1wb3J0cyk7XG4gIH1cblxuICBwcml2YXRlIF9mcm9hbGFEb25lKCkge1xuICAgIHRoaXMuX2Zyb2FsYUxvYWRlZC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZnJvYWxhUGx1Z2luc0RvbmUoKSB7XG4gICAgdGhpcy5fZnJvYWxhUGx1Z2luc0xvYWRlZC5uZXh0KHRydWUpO1xuICB9XG59XG4iXX0=
@@ -19,6 +19,7 @@ function resourceLoaderFactory() {
19
19
  quote: 'plugins/quote.min.js',
20
20
  draggable: 'plugins/draggable.min.js',
21
21
  font_size: 'plugins/font_size.min.js',
22
+ quick_insert: 'plugins/quick_insert.min.js',
22
23
  };
23
24
  const stylesPaths = {
24
25
  froala: 'froala_editor.pkgd.min.css',
@@ -80,4 +81,4 @@ function resourceLoaderFactory() {
80
81
  };
81
82
  }
82
83
  export const ResourceLoader = resourceLoaderFactory();
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC91dGlscy9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsU0FBUyxxQkFBcUI7SUFDNUIsSUFBSSxZQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFDeEMsSUFBSSxVQUFVLEdBQUcsY0FBYyxDQUFDO0lBRWhDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBK0IsQ0FBQztJQUVyRCxNQUFNLGFBQWEsR0FBRztRQUNwQixNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLEtBQUssRUFBRSxzQkFBc0I7UUFDN0IsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixLQUFLLEVBQUUsc0JBQXNCO1FBQzdCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsS0FBSyxFQUFFLHNCQUFzQjtRQUM3QixnQkFBZ0IsRUFBRSxpQ0FBaUM7UUFDbkQsS0FBSyxFQUFFLHNCQUFzQjtRQUM3QixHQUFHLEVBQUUsb0JBQW9CO1FBQ3pCLEtBQUssRUFBRSxzQkFBc0I7UUFDN0IsS0FBSyxFQUFFLHNCQUFzQjtRQUM3QixTQUFTLEVBQUUsMEJBQTBCO1FBQ3JDLFNBQVMsRUFBRSwwQkFBMEI7S0FDdEMsQ0FBQTtJQUVELE1BQU0sV0FBVyxHQUFHO1FBQ2xCLE1BQU0sRUFBRSw0QkFBNEI7S0FDckMsQ0FBQTtJQUVELE1BQU0sWUFBWSxHQUFHLFVBQVUsVUFBa0I7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFV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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmZ1bmN0aW9uIHJlc291cmNlTG9hZGVyRmFjdG9yeSgpIHtcbiAgbGV0IHJlc291cmNlQmFzZSA9ICcvYXNzZXRzL2pzL2Zyb2FsYS8nO1xuICBsZXQgc3R5bGVzQmFzZSA9ICcvYXNzZXRzL2Nzcy8nO1xuXG4gIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICBjb25zdCBmaWxlcyA9IG5ldyBNYXA8c3RyaW5nLCBPYnNlcnZhYmxlPHVua25vd24+PigpO1xuXG4gIGNvbnN0IHJlc291cmNlUGF0aHMgPSB7XG4gICAgZnJvYWxhOiAnZnJvYWxhX2VkaXRvci5taW4uanMnLFxuICAgIGFsaWduOiAncGx1Z2lucy9hbGlnbi5taW4uanMnLFxuICAgIGNvbG9yczogJ3BsdWdpbnMvY29sb3JzLm1pbi5qcycsXG4gICAgaW1hZ2U6ICdwbHVnaW5zL2ltYWdlLm1pbi5qcycsXG4gICAgbGluazogJ3BsdWdpbnMvbGluay5taW4uanMnLFxuICAgIGxpc3RzOiAncGx1Z2lucy9saXN0cy5taW4uanMnLFxuICAgIHBhcmFncmFwaF9mb3JtYXQ6ICdwbHVnaW5zL3BhcmFncmFwaF9mb3JtYXQubWluLmpzJyxcbiAgICB0YWJsZTogJ3BsdWdpbnMvdGFibGUubWluLmpzJyxcbiAgICB1cmw6ICdwbHVnaW5zL3VybC5taW4uanMnLFxuICAgIHZpZGVvOiAncGx1Z2lucy92aWRlby5taW4uanMnLFxuICAgIHF1b3RlOiAncGx1Z2lucy9xdW90ZS5taW4uanMnLFxuICAgIGRyYWdnYWJsZTogJ3BsdWdpbnMvZHJhZ2dhYmxlLm1pbi5qcycsXG4gICAgZm9udF9zaXplOiAncGx1Z2lucy9mb250X3NpemUubWluLmpzJyxcbiAgfVxuXG4gIGNvbnN0IHN0eWxlc1BhdGhzID0ge1xuICAgIGZyb2FsYTogJ2Zyb2FsYV9lZGl0b3IucGtnZC5taW4uY3NzJyxcbiAgfVxuXG4gIGNvbnN0IGxvYWRSZXNvdXJjZSA9IGZ1bmN0aW9uIChzY3JpcHRQYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICBpZiAoIWZpbGVzLmhhcyhzY3JpcHRQYXRoKSkge1xuICAgICAgY29uc3Qgb2JzJCA9IG5ldyBPYnNlcnZhYmxlKChvYnMpID0+IHtcblxuICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgc2NyaXB0LnNyYyA9IHNjcmlwdFBhdGg7XG5cbiAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuXG4gICAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgb2JzLm5leHQoKTtcbiAgICAgICAgICBvYnMuY29tcGxldGUoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBzY3JpcHQub25lcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgICBvYnMuZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgICAgICk7XG5cbiAgICAgIGZpbGVzLnNldChzY3JpcHRQYXRoLCBvYnMkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmlsZXMuZ2V0KHNjcmlwdFBhdGgpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRTdHlsZXMgPSBmdW5jdGlvbiAoc3R5bGVQYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICBpZiAoIWZpbGVzLmhhcyhzdHlsZVBhdGgpKSB7XG4gICAgICBjb25zdCBvYnMkID0gbmV3IE9ic2VydmFibGUoKG9icykgPT4ge1xuICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgc3R5bGUuaWQgPSBzdHlsZVBhdGg7XG4gICAgICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgc3R5bGUuaHJlZiA9IGAke3N0eWxlUGF0aH1gO1xuXG4gICAgICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXG4gICAgICAgIHN0eWxlLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICBvYnMubmV4dCgpO1xuICAgICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHN0eWxlLm9uZXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgICAgb2JzLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBmaWxlcy5zZXQoc3R5bGVQYXRoLCBvYnMkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmlsZXMuZ2V0KHN0eWxlUGF0aCk7XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBzZXRSZXNvdXJjZUJhc2U6IChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgIHJlc291cmNlQmFzZSA9IHBhdGg7XG4gICAgfSxcbiAgICBzZXRTdHlsZXNCYXNlOiAocGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICBzdHlsZXNCYXNlID0gcGF0aDtcbiAgICB9LFxuICAgIGxvYWRSZXNvdXJjZTogKHJlc291cmNlTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwYXRoID0gcmVzb3VyY2VQYXRoc1tyZXNvdXJjZU5hbWVdIHx8IHJlc291cmNlTmFtZTtcblxuICAgICAgcmV0dXJuIGxvYWRSZXNvdXJjZShyZXNvdXJjZUJhc2UgKyBwYXRoKTtcbiAgICB9LFxuICAgIGxvYWRTdHlsZXM6IChyZXNvdXJjZU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgcGF0aCA9IHN0eWxlc1BhdGhzW3Jlc291cmNlTmFtZV0gfHwgcmVzb3VyY2VOYW1lO1xuXG4gICAgICByZXR1cm4gbG9hZFN0eWxlcyhzdHlsZXNCYXNlICsgcGF0aCk7XG4gICAgfVxuICB9XG59XG5cblxuZXhwb3J0IGNvbnN0IFJlc291cmNlTG9hZGVyID0gcmVzb3VyY2VMb2FkZXJGYWN0b3J5KCk7XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC91dGlscy9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsU0FBUyxxQkFBcUI7SUFDNUIsSUFBSSxZQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFDeEMsSUFBSSxVQUFVLEdBQUcsY0FBYyxDQUFDO0lBRWhDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBK0IsQ0FBQztJQUVyRCxNQUFNLGFBQWEsR0FBRztRQUNwQixNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLEtBQUssRUFBRSxzQkFBc0I7UUFDN0IsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixLQUFLLEVBQUUsc0JBQXNCO1FBQzdCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsS0FBSyxFQUFFLHNCQUFzQjtRQUM3QixnQkFBZ0IsRUFBRSxpQ0FBaUM7UUFDbkQsS0FBSyxFQUFFLHNCQUFzQjtRQUM3QixHQUFHLEVBQUUsb0JBQW9CO1FBQ3pCLEtBQUssRUFBRSxzQkFBc0I7UUFDN0IsS0FBSyxFQUFFLHNCQUFzQjtRQUM3QixTQUFTLEVBQUUsMEJBQTBCO1FBQ3JDLFNBQVMsRUFBRSwwQkFBMEI7UUFDckMsWUFBWSxFQUFFLDZCQUE2QjtLQUM1QyxDQUFBO0lBRUQsTUFBTSxXQUFXLEdBQUc7UUFDbEIsTUFBTSxFQUFFLDRCQUE0QjtLQUNyQyxDQUFBO0lBRUQsTUFBTSxZQUFZLEdBQUcsVUFBVSxVQUFrQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMxQixN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QUFHLHFCQUFxQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZnVuY3Rpb24gcmVzb3VyY2VMb2FkZXJGYWN0b3J5KCkge1xuICBsZXQgcmVzb3VyY2VCYXNlID0gJy9hc3NldHMvanMvZnJvYWxhLyc7XG4gIGxldCBzdHlsZXNCYXNlID0gJy9hc3NldHMvY3NzLyc7XG5cbiAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gIGNvbnN0IGZpbGVzID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8dW5rbm93bj4+KCk7XG5cbiAgY29uc3QgcmVzb3VyY2VQYXRocyA9IHtcbiAgICBmcm9hbGE6ICdmcm9hbGFfZWRpdG9yLm1pbi5qcycsXG4gICAgYWxpZ246ICdwbHVnaW5zL2FsaWduLm1pbi5qcycsXG4gICAgY29sb3JzOiAncGx1Z2lucy9jb2xvcnMubWluLmpzJyxcbiAgICBpbWFnZTogJ3BsdWdpbnMvaW1hZ2UubWluLmpzJyxcbiAgICBsaW5rOiAncGx1Z2lucy9saW5rLm1pbi5qcycsXG4gICAgbGlzdHM6ICdwbHVnaW5zL2xpc3RzLm1pbi5qcycsXG4gICAgcGFyYWdyYXBoX2Zvcm1hdDogJ3BsdWdpbnMvcGFyYWdyYXBoX2Zvcm1hdC5taW4uanMnLFxuICAgIHRhYmxlOiAncGx1Z2lucy90YWJsZS5taW4uanMnLFxuICAgIHVybDogJ3BsdWdpbnMvdXJsLm1pbi5qcycsXG4gICAgdmlkZW86ICdwbHVnaW5zL3ZpZGVvLm1pbi5qcycsXG4gICAgcXVvdGU6ICdwbHVnaW5zL3F1b3RlLm1pbi5qcycsXG4gICAgZHJhZ2dhYmxlOiAncGx1Z2lucy9kcmFnZ2FibGUubWluLmpzJyxcbiAgICBmb250X3NpemU6ICdwbHVnaW5zL2ZvbnRfc2l6ZS5taW4uanMnLFxuICAgIHF1aWNrX2luc2VydDogJ3BsdWdpbnMvcXVpY2tfaW5zZXJ0Lm1pbi5qcycsXG4gIH1cblxuICBjb25zdCBzdHlsZXNQYXRocyA9IHtcbiAgICBmcm9hbGE6ICdmcm9hbGFfZWRpdG9yLnBrZ2QubWluLmNzcycsXG4gIH1cblxuICBjb25zdCBsb2FkUmVzb3VyY2UgPSBmdW5jdGlvbiAoc2NyaXB0UGF0aDogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgaWYgKCFmaWxlcy5oYXMoc2NyaXB0UGF0aCkpIHtcbiAgICAgIGNvbnN0IG9icyQgPSBuZXcgT2JzZXJ2YWJsZSgob2JzKSA9PiB7XG5cbiAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIHNjcmlwdC5zcmMgPSBzY3JpcHRQYXRoO1xuXG4gICAgICAgIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblxuICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIG9icy5uZXh0KCk7XG4gICAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgc2NyaXB0Lm9uZXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgICAgb2JzLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgICApO1xuXG4gICAgICBmaWxlcy5zZXQoc2NyaXB0UGF0aCwgb2JzJCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVzLmdldChzY3JpcHRQYXRoKTtcbiAgfTtcblxuICBjb25zdCBsb2FkU3R5bGVzID0gZnVuY3Rpb24gKHN0eWxlUGF0aDogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgaWYgKCFmaWxlcy5oYXMoc3R5bGVQYXRoKSkge1xuICAgICAgY29uc3Qgb2JzJCA9IG5ldyBPYnNlcnZhYmxlKChvYnMpID0+IHtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHN0eWxlLmlkID0gc3R5bGVQYXRoO1xuICAgICAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIHN0eWxlLmhyZWYgPSBgJHtzdHlsZVBhdGh9YDtcblxuICAgICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcblxuICAgICAgICBzdHlsZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgb2JzLm5leHQoKTtcbiAgICAgICAgICBvYnMuY29tcGxldGUoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBzdHlsZS5vbmVycm9yID0gKGVycikgPT4ge1xuICAgICAgICAgIG9icy5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgZmlsZXMuc2V0KHN0eWxlUGF0aCwgb2JzJCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVzLmdldChzdHlsZVBhdGgpO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc2V0UmVzb3VyY2VCYXNlOiAocGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICByZXNvdXJjZUJhc2UgPSBwYXRoO1xuICAgIH0sXG4gICAgc2V0U3R5bGVzQmFzZTogKHBhdGg6IHN0cmluZykgPT4ge1xuICAgICAgc3R5bGVzQmFzZSA9IHBhdGg7XG4gICAgfSxcbiAgICBsb2FkUmVzb3VyY2U6IChyZXNvdXJjZU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgcGF0aCA9IHJlc291cmNlUGF0aHNbcmVzb3VyY2VOYW1lXSB8fCByZXNvdXJjZU5hbWU7XG5cbiAgICAgIHJldHVybiBsb2FkUmVzb3VyY2UocmVzb3VyY2VCYXNlICsgcGF0aCk7XG4gICAgfSxcbiAgICBsb2FkU3R5bGVzOiAocmVzb3VyY2VOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHBhdGggPSBzdHlsZXNQYXRoc1tyZXNvdXJjZU5hbWVdIHx8IHJlc291cmNlTmFtZTtcblxuICAgICAgcmV0dXJuIGxvYWRTdHlsZXMoc3R5bGVzQmFzZSArIHBhdGgpO1xuICAgIH1cbiAgfVxufVxuXG5cbmV4cG9ydCBjb25zdCBSZXNvdXJjZUxvYWRlciA9IHJlc291cmNlTG9hZGVyRmFjdG9yeSgpO1xuIl19
@@ -71,6 +71,7 @@ function resourceLoaderFactory() {
71
71
  quote: 'plugins/quote.min.js',
72
72
  draggable: 'plugins/draggable.min.js',
73
73
  font_size: 'plugins/font_size.min.js',
74
+ quick_insert: 'plugins/quick_insert.min.js',
74
75
  };
75
76
  const stylesPaths = {
76
77
  froala: 'froala_editor.pkgd.min.css',
@@ -137,8 +138,8 @@ class FsFroalaLoaderService {
137
138
  constructor(_defaultConfig) {
138
139
  this._defaultConfig = _defaultConfig;
139
140
  this._froalaLoaded = new BehaviorSubject(false);
140
- this._defaultPluginsLoaded = new BehaviorSubject(false);
141
- this._loaded$ = combineLatest([this._froalaLoaded, this._defaultPluginsLoaded])
141
+ this._froalaPluginsLoaded = new BehaviorSubject(false);
142
+ this._loaded$ = combineLatest([this._froalaLoaded, this._froalaPluginsLoaded])
142
143
  .pipe(map(([FroalaReady, pluginsRead]) => {
143
144
  return pluginsRead && FroalaReady;
144
145
  }), shareReplay(1));
@@ -156,7 +157,7 @@ class FsFroalaLoaderService {
156
157
  return this._loaded$;
157
158
  }
158
159
  get ready() {
159
- return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();
160
+ return this._froalaLoaded.getValue() && this._froalaPluginsLoaded.getValue();
160
161
  }
161
162
  get FroalaEditor() {
162
163
  return this._FroalaEditor;
@@ -172,13 +173,13 @@ class FsFroalaLoaderService {
172
173
  }), concatMap(() => {
173
174
  return this._loadPlugins();
174
175
  }), tap(() => {
175
- this._defaultPluginsDone();
176
+ this._froalaPluginsDone();
176
177
  }))
177
178
  .subscribe();
178
179
  }
179
180
  _loadPlugins() {
180
181
  const imports = this._defaultConfig
181
- .defaultPlugins
182
+ .froalaPlugins
182
183
  .reduce((acc, pluginName) => {
183
184
  const import$ = ResourceLoader.loadResource(pluginName);
184
185
  acc.push(import$);
@@ -189,8 +190,8 @@ class FsFroalaLoaderService {
189
190
  _froalaDone() {
190
191
  this._froalaLoaded.next(true);
191
192
  }
192
- _defaultPluginsDone() {
193
- this._defaultPluginsLoaded.next(true);
193
+ _froalaPluginsDone() {
194
+ this._froalaPluginsLoaded.next(true);
194
195
  }
195
196
  }
196
197
  FsFroalaLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFroalaLoaderService, deps: [{ token: FS_HTML_EDITOR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -282,7 +283,7 @@ class FsHtmlEditorComponent {
282
283
  initialize(options = {}) {
283
284
  const config = this._createConfig();
284
285
  this._initPlugins(config);
285
- // this.el.innerHTML = this._html || '';
286
+ this._initButtons(config);
286
287
  this._editor = new this._fr.FroalaEditor(this.el, this._createOptions(), () => {
287
288
  this._froalaReady$.next({ config, options });
288
289
  });
@@ -295,16 +296,6 @@ class FsHtmlEditorComponent {
295
296
  return this.config.image.upload(f.file);
296
297
  }));
297
298
  }
298
- _getTextNode(node) {
299
- if (node) {
300
- if (node.nodeType === Node.TEXT_NODE) {
301
- return node;
302
- }
303
- if (node.childNodes) {
304
- return this._getTextNode(node.childNodes[0]);
305
- }
306
- }
307
- }
308
299
  uninitializedClick(event) {
309
300
  if (!event.defaultPrevented) {
310
301
  const target = event.target;
@@ -405,6 +396,41 @@ class FsHtmlEditorComponent {
405
396
  // this._html = html;
406
397
  this.onChange(html);
407
398
  }
399
+ _initButtons(config) {
400
+ (config.buttons || [])
401
+ .forEach((button) => {
402
+ /*
403
+ Svg Keys:
404
+ ["add", "advancedImageEditor", "alignCenter", "alignJustify", "alignLeft", "alignRight",
405
+ "anchors", "back", "backgroundColor", "blockquote", "bold", "cellBackground",
406
+ "cellBorderColor", "cellOptions", "cellStyle", "clearFormatting", "close", "codeView",
407
+ "cogs", "columns", "editLink", "exitFullscreen", "fontAwesome", "fontFamily",
408
+ "fontSize", "fullscreen", "help", "horizontalLine", "imageAltText", "imageCaption",
409
+ "imageClass", "imageDisplay", "imageManager", "imageSize", "indent", "inlineClass",
410
+ "inlineStyle", "insertEmbed", "insertFile", "insertImage", "insertLink", "insertMore",
411
+ "insertTable", "insertVideo", "upload", "italic", "search", "lineHeight", "linkStyles",
412
+ "mention", "more", "openLink", "orderedList", "outdent", "pageBreaker",
413
+ "paragraphFormat", "paragraphMore", "paragraphStyle", "pdfExport", "print",
414
+ "redo", "removeTable", "remove", "replaceImage", "row", "selectAll", "smile",
415
+ "spellcheck", "star", "strikeThrough", "subscript", "superscript", "symbols", "tags",
416
+ "tableHeader", "tableStyle", "textColor", "textMore", "underline", "undo", "unlink",
417
+ "unorderedList", "verticalAlignBottom", "verticalAlignMiddle", "verticalAlignTop"]
418
+ */
419
+ var _a, _b, _c;
420
+ if (button.svgKey) {
421
+ this._fr.FroalaEditor.DefineIcon(button.name, { SVG_KEY: button.svgKey });
422
+ }
423
+ this._fr.FroalaEditor.RegisterCommand(button.name, {
424
+ title: button.title,
425
+ focus: (_a = button.focus) !== null && _a !== void 0 ? _a : true,
426
+ undo: (_b = button.undo) !== null && _b !== void 0 ? _b : true,
427
+ refreshAfterCallback: (_c = button.refreshAfterCallback) !== null && _c !== void 0 ? _c : true,
428
+ callback: function () {
429
+ button.click(this);
430
+ }
431
+ });
432
+ });
433
+ }
408
434
  _initPlugins(config) {
409
435
  (config.plugins || []).forEach((plugin) => {
410
436
  this._fr.FroalaEditor.PLUGINS[plugin.config.name] = function (editor) {
@@ -618,6 +644,16 @@ class FsHtmlEditorComponent {
618
644
  this.focus();
619
645
  }
620
646
  }
647
+ _getTextNode(node) {
648
+ if (node) {
649
+ if (node.nodeType === Node.TEXT_NODE) {
650
+ return node;
651
+ }
652
+ if (node.childNodes) {
653
+ return this._getTextNode(node.childNodes[0]);
654
+ }
655
+ }
656
+ }
621
657
  }
622
658
  FsHtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHtmlEditorComponent, deps: [{ token: FS_HTML_EDITOR_CONFIG, optional: true }, { token: i0.ChangeDetectorRef }, { token: FsFroalaLoaderService }], target: i0.ɵɵFactoryTarget.Component });
623
659
  FsHtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsHtmlEditorComponent, selector: "fs-html-editor", inputs: { config: "config" }, host: { properties: { "class.focused": "this.classFocused", "class.disabled": "this.classDisabled" } }, providers: [
@@ -712,7 +748,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
712
748
  }]
713
749
  }] });
714
750
  function FsHtmlEditorConfigFactory(config) {
715
- return Object.assign({ defaultPlugins: [
751
+ return Object.assign({ froalaPlugins: [
716
752
  "align" /* Align */,
717
753
  "colors" /* Colors */,
718
754
  "image" /* Image */,