slick-components 17.0.9 → 17.0.10

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.
@@ -26,11 +26,9 @@ export class SlickEmailerComponent {
26
26
  this.spinnerStatus = null;
27
27
  this.propagateChange = (_) => { };
28
28
  this.uuid = SlickUtilsService.newGuid();
29
+ this.tinyMCEUuid = SlickUtilsService.newGuid();
29
30
  }
30
31
  async ngAfterViewInit() {
31
- await this.initTinyMCE();
32
- const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
33
- tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
34
32
  }
35
33
  ngOnDestroy() {
36
34
  this.removeTinyMCE();
@@ -44,13 +42,16 @@ export class SlickEmailerComponent {
44
42
  this.emailerModel.attachments = [];
45
43
  if (!this.emailerModel.toEmailAddresses)
46
44
  this.emailerModel.toEmailAddresses = [];
45
+ await this.initTinyMCE();
46
+ const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
47
+ tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
47
48
  }
48
49
  else {
49
50
  this.emailerModel = null;
51
+ if (this.tinyMCEInitialized)
52
+ tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(null);
53
+ return;
50
54
  }
51
- await this.initTinyMCE();
52
- const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
53
- tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
54
55
  }
55
56
  // registers 'fn' that will be fired when changes are made
56
57
  // this is how we emit the changes back to the form
@@ -146,37 +147,33 @@ export class SlickEmailerComponent {
146
147
  async initTinyMCE() {
147
148
  return new Promise(async (resolve) => {
148
149
  await this.slickFunctionLockService.lock("SLICK_EMAILER_INIT_TINY_MCE");
149
- if (this.tinyMCEUuid) {
150
- this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
151
- resolve();
152
- }
153
- else {
154
- this.tinyMCEUuid = SlickUtilsService.newGuid();
150
+ tinymce.remove();
151
+ if (!this.tinyMCEInitialized) {
155
152
  const tinyMCEContainer = this.tinyMCEContainerRef.nativeElement;
156
153
  const tinyMCETextarea = document.createElement("textarea");
157
154
  tinyMCETextarea.id = `emailer_tinymce_${this.tinyMCEUuid}`;
158
155
  tinyMCETextarea.style.minHeight = "300px";
159
156
  tinyMCETextarea.style.maxHeight = "300px";
160
157
  tinyMCEContainer.appendChild(tinyMCETextarea);
161
- tinymce.init({
162
- selector: `#emailer_tinymce_${this.tinyMCEUuid}`,
163
- branding: false,
164
- menubar: 'edit insert format tools',
165
- plugins: 'link image imagetools code',
166
- toolbar: 'fontselect | fontsizeselect | styleselect | bold italic underline | indent outdent | bullist | alignleft aligncenter alignright | code | image',
167
- fontsize_formats: "8px 10px 12px 14px 18px 24px 36px",
168
- height: this.bodyHeight,
169
- convert_urls: false,
170
- setup: (ed) => {
171
- ed.on('init', (args) => {
172
- ed.setContent((this.emailerModel) ? (this.emailerModel.body || '') : '');
173
- this.tinyMCEInitialized = true;
174
- this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
175
- resolve();
176
- });
177
- }
178
- });
179
158
  }
159
+ tinymce.init({
160
+ selector: `#emailer_tinymce_${this.tinyMCEUuid}`,
161
+ branding: false,
162
+ menubar: 'edit insert format tools',
163
+ plugins: 'link image imagetools code',
164
+ toolbar: 'fontselect | fontsizeselect | styleselect | bold italic underline | indent outdent | bullist | alignleft aligncenter alignright | code | image',
165
+ fontsize_formats: "8px 10px 12px 14px 18px 24px 36px",
166
+ height: this.bodyHeight,
167
+ convert_urls: false,
168
+ setup: (ed) => {
169
+ ed.on('init', (args) => {
170
+ ed.setContent((this.emailerModel) ? (this.emailerModel.body || '') : '');
171
+ this.tinyMCEInitialized = true;
172
+ this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
173
+ resolve();
174
+ });
175
+ }
176
+ });
180
177
  });
181
178
  }
182
179
  async removeTinyMCE() {
@@ -232,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
232
229
  type: ViewChild,
233
230
  args: ["tinyMCEContainerRef"]
234
231
  }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZW1haWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1lbWFpbGVyL3NsaWNrLWVtYWlsZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZW1haWxlci9zbGljay1lbWFpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUErQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEYsT0FBTyxFQUE2Qix3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBZ0JwRyxNQUFNLE9BQU8scUJBQXFCO0lBb0JqQyxZQUFvQix3QkFBa0QsRUFBVSxjQUFpQztRQUE3Riw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBbEIzRixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM3QixlQUFVLEdBQVcsT0FBTyxDQUFDO1FBQ3ZCLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25FLDBCQUFxQixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNFLDRCQUF1QixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBS25HLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBSTdCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUdwQyxrQkFBYSxHQUFXLElB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b0JBQW9CO2dCQUNMLFdBQVc7c0JBQWhDLEtBQUs7dUJBQUMsYUFBYTtnQkFDQyxVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1Esc0JBQXNCO3NCQUFoRCxNQUFNO3VCQUFDLGlCQUFpQjtnQkFDQyxxQkFBcUI7c0JBQTlDLE1BQU07dUJBQUMsZ0JBQWdCO2dCQUNJLHVCQUF1QjtzQkFBbEQsTUFBTTt1QkFBQyxrQkFBa0I7Z0JBRVEsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLWZ1bmN0aW9uLWxvY2suc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJU2xpY2tGaWxlTW9kZWwgfSBmcm9tIFwiLi4vc2xpY2stZmlsZS1tb2RlbC9zbGljay1maWxlLm1vZGVsXCI7XHJcbmltcG9ydCB7IElTbGlja0VtYWlsZXJNb2RlbCwgfSBmcm9tIFwiLi9zbGljay1lbWFpbGVyLm1vZGVsXCI7XHJcbmltcG9ydCB7IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwsIFNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCB9IGZyb20gXCIuL3NsaWNrLWVtYWlsZXItYWRkcmVzcy5tb2RlbFwiO1xyXG5cclxuZGVjbGFyZSBjb25zdCB0aW55bWNlOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3NsaWNrLWVtYWlsZXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stZW1haWxlci5jb21wb25lbnQuaHRtbCcsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0VtYWlsZXJDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH0sXHJcblx0XHRTbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2VcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0VtYWlsZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dChcInRvRW1haWxBZGRyZXNzTGlzdFwiKSB0b0VtYWlsQWRkcmVzc0xpc3Q6IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWxbXTtcclxuXHRASW5wdXQoXCJzaG93QnV0dG9uc1wiKSBzaG93QnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblx0QElucHV0KFwiYm9keUhlaWdodFwiKSBib2R5SGVpZ2h0OiBzdHJpbmcgPSBcIjE4MHB4XCI7XHJcblx0QE91dHB1dChcInRvQWRkcmVzc1NlYXJjaFwiKSB0b0FkZHJlc3NTZWFyY2hFbWl0dGVyOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwic2VuZEVtYWlsQ2xpY2tcIikgc2VuZEVtYWlsQ2xpY2tFbWl0dGVyOiBFdmVudEVtaXR0ZXI8SVNsaWNrRW1haWxlck1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiY2FuY2VsRW1haWxDbGlja1wiKSBjYW5jZWxFbWFpbENsaWNrRW1pdHRlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuXHRAVmlld0NoaWxkKFwidGlueU1DRUNvbnRhaW5lclJlZlwiKSB0aW55TUNFQ29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xyXG5cclxuXHRlbWFpbGVyTW9kZWw6IElTbGlja0VtYWlsZXJNb2RlbDtcclxuXHRpc1N1Ym1pdHRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHR1dWlkOiBzdHJpbmc7XHJcblx0dGlueU1DRVV1aWQ6IHN0cmluZztcclxuXHR0aW55TUNFSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHR0b0VtYWlsQWRkcmVzczogc3RyaW5nO1xyXG5cdGVkaXRvcjogYW55O1xyXG5cdHNwaW5uZXJTdGF0dXM6IHN0cmluZyA9IG51bGw7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlOiBTbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblx0XHR0aGlzLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblxyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cdFx0YXdhaXQgdGhpcy5pbml0VGlueU1DRSgpO1xyXG5cdFx0Y29uc3QgYm9keSA9ICh0aGlzLmVtYWlsZXJNb2RlbCkgPyAodGhpcy5lbWFpbGVyTW9kZWwuYm9keSB8fCAnJykgOiAnJztcclxuXHRcdHRpbnltY2UuZ2V0KGBlbWFpbGVyX3RpbnltY2VfJHt0aGlzLnRpbnlNQ0VVdWlkfWApLnNldENvbnRlbnQoYm9keSk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMucmVtb3ZlVGlueU1DRSgpO1xyXG5cdH1cclxuXHJcblx0cHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuXHQvLyB0aGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XHJcblx0cHVibGljIGFzeW5jIHdyaXRlVmFsdWUob2JqOiBJU2xpY2tFbWFpbGVyTW9kZWwpIHtcclxuXHRcdGlmIChvYmopIHtcclxuXHRcdFx0dGhpcy5zcGlubmVyU3RhdHVzID0gXCJyZXNldFwiO1xyXG5cdFx0XHR0aGlzLmVtYWlsZXJNb2RlbCA9IG9iajtcclxuXHJcblx0XHRcdGlmICghdGhpcy5lbWFpbGVyTW9kZWwuYXR0YWNobWVudHMpXHJcblx0XHRcdFx0dGhpcy5lbWFpbGVyTW9kZWwuYXR0YWNobWVudHMgPSBbXTtcclxuXHJcblx0XHRcdGlmICghdGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3NlcylcclxuXHRcdFx0XHR0aGlzLmVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzID0gW107XHRcdFx0XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0dGhpcy5lbWFpbGVyTW9kZWwgPSBudWxsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGF3YWl0IHRoaXMuaW5pdFRpbnlNQ0UoKTtcclxuXHRcdGNvbnN0IGJvZHkgPSAodGhpcy5lbWFpbGVyTW9kZWwpID8gKHRoaXMuZW1haWxlck1vZGVsLmJvZHkgfHwgJycpIDogJyc7XHJcblx0XHR0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5zZXRDb250ZW50KGJvZHkpO1xyXG5cdH1cclxuXHJcblx0Ly8gcmVnaXN0ZXJzICdmbicgdGhhdCB3aWxsIGJlIGZpcmVkIHdoZW4gY2hhbmdlcyBhcmUgbWFkZVxyXG5cdC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxyXG5cdHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuXHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cclxuXHQvLyBub3QgdXNlZCwgdXNlZCBmb3IgdG91Y2ggaW5wdXRcclxuXHRwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7IH1cclxuXHJcblx0dG9BZGRyZXNzU2VhcmNoKHNlYXJjaFRleHQpIHtcclxuXHRcdHRoaXMudG9BZGRyZXNzU2VhcmNoRW1pdHRlci5lbWl0KHNlYXJjaFRleHQpO1xyXG5cdH1cclxuXHJcblx0b25TZWxlY3RFbWFpbEFkZHJlc3MoZW1haWxlckFkZHJlc3NNb2RlbDogSVNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCkge1xyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3Nlcy5wdXNoKGVtYWlsZXJBZGRyZXNzTW9kZWwpO1xyXG5cclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cdH1cclxuXHJcblx0b25GcmVlZm9ybVRleHRTZWxlY3QodGV4dDogc3RyaW5nKSB7XHJcblx0XHRjb25zdCBmcmVlZm9ybUVtYWlsQWRkcmVzcyA9IG5ldyBTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwoKTtcclxuXHRcdGZyZWVmb3JtRW1haWxBZGRyZXNzLmRpc3BsYXlOYW1lID0gdGV4dDtcclxuXHRcdGZyZWVmb3JtRW1haWxBZGRyZXNzLmVtYWlsQWRkcmVzcyA9IHRleHQ7XHJcblxyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3Nlcy5wdXNoKGZyZWVmb3JtRW1haWxBZGRyZXNzKTtcclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cdH1cclxuXHJcblx0ZGVsZXRlRW1haWxBZGRyZXNzKGlkeDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzLnNwbGljZShpZHgsIDEpO1xyXG5cdH1cclxuXHJcblx0b25BdHRhY2htZW50c0NoYW5nZWQoYXR0YWNobWVudHM6IElTbGlja0ZpbGVNb2RlbFtdKSB7XHJcblx0XHR0aGlzLmVtYWlsZXJNb2RlbC5hdHRhY2htZW50cyA9IHRoaXMuZW1haWxlck1vZGVsLmF0dGFjaG1lbnRzLmNvbmNhdChhdHRhY2htZW50cyk7XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZSgpIHtcclxuXHRcdHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlO1xyXG5cdFx0aWYgKHRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMubGVuZ3RoID09PSAwKVxyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblxyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fVxyXG5cclxuXHRnZXRFbWFpbEFkZHJlc3NlcyhlbWFpbGVyTW9kZWw6IElTbGlja0VtYWlsZXJNb2RlbCk6IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWxbXSB7XHJcblx0XHRsZXQgc2xpY2tFbWFpbGVyQWRkcmVzc2VzID0gZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMgfHwgW107XHJcblxyXG5cdFx0aWYgKHRoaXMudG9FbWFpbEFkZHJlc3MpIHtcclxuXHRcdFx0Y29uc3Qgc2NydWJiZWRUb0VtYWlsQWRkcmVzcyA9IHRoaXMudG9FbWFpbEFkZHJlc3MucmVwbGFjZShcIixcIiwgXCI7XCIpLnJlcGxhY2UoL1xccy9nLCBcIjtcIik7XHJcblx0XHRcdGNvbnN0IGVtYWlsQWRkcmVzc2VzVG9BZGRTdHJpbmdzID0gc2NydWJiZWRUb0VtYWlsQWRkcmVzcy5zcGxpdChcIjtcIikuZmlsdGVyKHggPT4geCAhPT0gJycpO1xyXG5cdFx0XHRjb25zdCBlbWFpbEFkZHJlc3Nlc1RvQWRkID0gZW1haWxBZGRyZXNzZXNUb0FkZFN0cmluZ3MubWFwKHggPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCA9IG5ldyBTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwoKTtcclxuXHRcdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwuY29udGFjdElkID0gMDtcclxuXHRcdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwuZGlzcGxheU5hbWUgPSB4O1xyXG5cdFx0XHRcdHNsaWNrRW1haWxlckFkZHJlc3NNb2RlbC5lbWFpbEFkZHJlc3MgPSB4O1xyXG5cdFx0XHRcdHJldHVybiBzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWw7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzZXMgPSBzbGlja0VtYWlsZXJBZGRyZXNzZXMuY29uY2F0KGVtYWlsQWRkcmVzc2VzVG9BZGQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cclxuXHRcdHJldHVybiBzbGlja0VtYWlsZXJBZGRyZXNzZXM7XHJcblx0fVxyXG5cclxuXHRhc3luYyBzZXRCb2R5KGJvZHk6IHN0cmluZykge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0YXdhaXQgdGhpcy5zbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2UubG9jayhcIlNMSUNLX0VNQUlMRVJfU0VUX0JPRFlcIik7XHJcblxyXG5cdFx0XHRhd2FpdCB0aGlzLmluaXRUaW55TUNFKCk7XHJcblx0XHRcdGNvbnN0IHRpbnlNQ0UgPSB0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKTtcclxuXHJcblx0XHRcdGlmICghdGlueU1DRSlcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKFwidGlueU1DRSBub3QgaW5pdGlhbGl6ZWRcIik7XHJcblxyXG5cdFx0XHR0aW55TUNFLnNldENvbnRlbnQoYm9keSk7XHJcblxyXG5cdFx0fVxyXG5cdFx0ZmluYWxseSB7XHJcblx0XHRcdHRoaXMuc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLnJlbGVhc2UoXCJTTElDS19FTUFJTEVSX1NFVF9CT0RZXCIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0Qm9keSgpIHtcclxuXHRcdHJldHVybiB0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5nZXRDb250ZW50KCk7XHJcblx0fVxyXG5cclxuXHRvblNlbmRFbWFpbCgpIHtcclxuXHRcdHRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMgPSB0aGlzLmdldEVtYWlsQWRkcmVzc2VzKHRoaXMuZW1haWxlck1vZGVsKTtcclxuXHJcblx0XHRpZiAodGhpcy52YWxpZGF0ZSgpID09PSBmYWxzZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuZW1haWxlck1vZGVsLmJvZHkgPSB0aGlzLmdldEJvZHkoKTtcclxuXHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwic3BpblwiO1xyXG5cdFx0aWYgKHRoaXMuc2VuZEVtYWlsQ2xpY2tFbWl0dGVyKVxyXG5cdFx0XHR0aGlzLnNlbmRFbWFpbENsaWNrRW1pdHRlci5lbWl0KHRoaXMuZW1haWxlck1vZGVsKTtcclxuXHR9XHJcblxyXG5cdGVtYWlsU2VudCgpIHtcclxuXHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwib2tcIjtcclxuXHR9XHJcblxyXG5cdGVtYWlsRXJyb3IoKSB7XHJcblx0XHR0aGlzLnNwaW5uZXJTdGF0dXMgPSBcImVycm9yXCI7XHJcblx0fVxyXG5cclxuXHRvbkNhbmNlbEVtYWlsKCkge1xyXG5cdFx0aWYgKHRoaXMuY2FuY2VsRW1haWxDbGlja0VtaXR0ZXIpXHJcblx0XHRcdHRoaXMuY2FuY2VsRW1haWxDbGlja0VtaXR0ZXIuZW1pdCgpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZGlhbG9nSW5pdCgpIHtcclxuXHRcdHRoaXMucmVtb3ZlVGlueU1DRSgpO1xyXG5cclxuXHRcdGF3YWl0IHRoaXMuaW5pdFRpbnlNQ0UoKTtcclxuXHRcdGNvbnN0IGJvZHkgPSAodGhpcy5lbWFpbGVyTW9kZWwpID8gKHRoaXMuZW1haWxlck1vZGVsLmJvZHkgfHwgJycpIDogJyc7XHJcblx0XHR0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5zZXRDb250ZW50KGJvZHkpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgaW5pdFRpbnlNQ0UoKTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KGFzeW5jIChyZXNvbHZlKSA9PiB7XHJcblx0XHRcdGF3YWl0IHRoaXMuc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLmxvY2soXCJTTElDS19FTUFJTEVSX0lOSVRfVElOWV9NQ0VcIik7XHJcblxyXG5cdFx0XHRpZiAodGhpcy50aW55TUNFVXVpZCkge1xyXG5cdFx0XHRcdHRoaXMuc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLnJlbGVhc2UoXCJTTElDS19FTUFJTEVSX0lOSVRfVElOWV9NQ0VcIik7XHJcblx0XHRcdFx0cmVzb2x2ZSgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMudGlueU1DRVV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblxyXG5cdFx0XHRcdGNvbnN0IHRpbnlNQ0VDb250YWluZXIgPSA8SFRNTERpdkVsZW1lbnQ+dGhpcy50aW55TUNFQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHRcdFx0Y29uc3QgdGlueU1DRVRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRleHRhcmVhXCIpO1xyXG5cdFx0XHRcdHRpbnlNQ0VUZXh0YXJlYS5pZCA9IGBlbWFpbGVyX3RpbnltY2VfJHt0aGlzLnRpbnlNQ0VVdWlkfWA7XHJcblx0XHRcdFx0dGlueU1DRVRleHRhcmVhLnN0eWxlLm1pbkhlaWdodCA9IFwiMzAwcHhcIjtcclxuXHRcdFx0XHR0aW55TUNFVGV4dGFyZWEuc3R5bGUubWF4SGVpZ2h0ID0gXCIzMDBweFwiO1xyXG5cdFx0XHRcdHRpbnlNQ0VDb250YWluZXIuYXBwZW5kQ2hpbGQodGlueU1DRVRleHRhcmVhKTtcclxuXHJcblx0XHRcdFx0dGlueW1jZS5pbml0KHtcclxuXHRcdFx0XHRcdHNlbGVjdG9yOiBgI2VtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YCxcclxuXHRcdFx0XHRcdGJyYW5kaW5nOiBmYWxzZSxcclxuXHRcdFx0XHRcdG1lbnViYXI6ICdlZGl0IGluc2VydCBmb3JtYXQgdG9vbHMnLFxyXG5cdFx0XHRcdFx0cGx1Z2luczogJ2xpbmsgaW1hZ2UgaW1hZ2V0b29scyBjb2RlJyxcclxuXHRcdFx0XHRcdHRvb2xiYXI6ICdmb250c2VsZWN0IHwgZm9udHNpemVzZWxlY3QgfCBzdHlsZXNlbGVjdCB8IGJvbGQgaXRhbGljIHVuZGVybGluZSB8IGluZGVudCBvdXRkZW50IHwgYnVsbGlzdCB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IHwgY29kZSB8IGltYWdlJyxcclxuXHRcdFx0XHRcdGZvbnRzaXplX2Zvcm1hdHM6IFwiOHB4IDEwcHggMTJweCAxNHB4IDE4cHggMjRweCAzNnB4XCIsXHJcblx0XHRcdFx0XHRoZWlnaHQ6IHRoaXMuYm9keUhlaWdodCxcclxuXHRcdFx0XHRcdGNvbnZlcnRfdXJsczogZmFsc2UsXHJcblx0XHRcdFx0XHRzZXR1cDogKGVkKSA9PiB7XHJcblx0XHRcdFx0XHRcdGVkLm9uKCdpbml0JywgKGFyZ3MpID0+IHtcclxuXHJcblx0XHRcdFx0XHRcdFx0ZWQuc2V0Q29udGVudCgodGhpcy5lbWFpbGVyTW9kZWwpID8gKHRoaXMuZW1haWxlck1vZGVsLmJvZHkgfHwgJycpIDogJycpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudGlueU1DRUluaXRpYWxpemVkID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnNsaWNrRnVuY3Rpb25Mb2NrU2VydmljZS5yZWxlYXNlKFwiU0xJQ0tfRU1BSUxFUl9JTklUX1RJTllfTUNFXCIpO1xyXG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoKTtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRhc3luYyByZW1vdmVUaW55TUNFKCkge1xyXG5cdFx0aWYgKHRoaXMudGlueU1DRVV1aWQpIHtcclxuXHRcdFx0Y29uc3QgdGlueU1DRSA9IHRpbnltY2UuZ2V0KGBlbWFpbGVyX3RpbnltY2VfJHt0aGlzLnRpbnlNQ0VVdWlkfWApO1xyXG5cclxuXHRcdFx0aWYgKHRpbnlNQ0UpXHJcblx0XHRcdFx0dGlueU1DRS5yZW1vdmUoKTtcclxuXHJcblx0XHRcdGNvbnN0IHRpbnlNQ0VDb250YWluZXIgPSA8SFRNTERpdkVsZW1lbnQ+dGhpcy50aW55TUNFQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHRcdHRpbnlNQ0VDb250YWluZXIuaW5uZXJIVE1MID0gXCJcIjtcclxuXHJcblx0XHRcdHRoaXMudGlueU1DRUluaXRpYWxpemVkID0gZmFsc2U7XHJcblxyXG5cdFx0XHR0aGlzLnRpbnlNQ0VVdWlkID0gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImVtYWlsZXJNb2RlbFwiIGlkPVwic2xpY2stZW1haWxlcl97e3V1aWR9fVwiIGNsYXNzPVwic2xpY2stZW1haWxlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNTdWJtaXR0ZWQgPT09IHRydWUgJiYgZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJlcnJvcldyYXBwZXIgc2hvd0ljb25zXCI+PGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+RW1haWwgbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBlbWFpbCBhZGRyZXNzPC9kaXY+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+PHNwYW4gY2xhc3M9XCJmYXMgZmEtc2VhcmNoXCI+PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiICNlbWFpbEFkZHJlc3NBdXRvY29tcGxldGUgWyhuZ01vZGVsKV09XCJ0b0VtYWlsQWRkcmVzc1wiIHBsYWNlaG9sZGVyPVwiRW1haWwgU2VhcmNoLi4uXCIgYXV0b2ZvY3VzIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c2xpY2stYXV0by1jb21wbGV0ZSBbaW5wdXRSZWZdPVwiZW1haWxBZGRyZXNzQXV0b2NvbXBsZXRlXCIgdGV4dEZpZWxkPVwiZW1haWxEaXNwbGF5XCIgW2l0ZW1zXT1cInRvRW1haWxBZGRyZXNzTGlzdFwiIChvblJlZnJlc2gpPVwidG9BZGRyZXNzU2VhcmNoKCRldmVudClcIiAob25TZWxlY3QpPVwib25TZWxlY3RFbWFpbEFkZHJlc3MoJGV2ZW50KVwiIChvbkZyZWVmb3JtVGV4dFNlbGVjdCk9XCJvbkZyZWVmb3JtVGV4dFNlbGVjdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWVtYWlsRGlzcGxheSBbc2xpY2tBdXRvQ29tcGxldGVMaXN0SXRlbVRlbXBsYXRlXT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSdsaW5lLWhlaWdodDogMS4xZW07IGZvbnQtc2l6ZTogMTJweDsnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2VtYWlsRGlzcGxheS5kaXNwbGF5TmFtZX19IFt7e2VtYWlsRGlzcGxheS5lbWFpbEFkZHJlc3N9fV1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvc2xpY2stYXV0by1jb21wbGV0ZT5cclxuXHJcbiAgICAgICAgICAgIDxsYWJlbD5UbzombmJzcDs8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbWFpbEFkZHJlc3Mgb2YgZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXM7IGxldCBpZHggPSBpbmRleDtcIiBjbGFzcz1cInNsaWNrLWVtYWlsZXJfZW1haWwtYWRkcmVzcyBhbGVydCBhbGVydC1zZWNvbmRhcnlcIj57e2VtYWlsQWRkcmVzcy5kaXNwbGF5TmFtZX19IFt7e2VtYWlsQWRkcmVzcy5lbWFpbEFkZHJlc3N9fV08aSAoY2xpY2spPVwiZGVsZXRlRW1haWxBZGRyZXNzKGlkeClcIiBjbGFzcz1cImZhcyBmYS10aW1lcy1jaXJjbGUgYmctd2hpdGUgdGV4dC1kYW5nZXIgbXMtMVwiPjwvaT48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICA8bGFiZWw+U3ViamVjdDo8L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiZW1haWxlck1vZGVsLnN1YmplY3RcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICA8bGFiZWw+Qm9keTo8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2ICN0aW55TUNFQ29udGFpbmVyUmVmPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICA8bGFiZWw+QXR0YWNobWVudHM6PC9sYWJlbD5cclxuICAgICAgICAgICAgPHNsaWNrLWZpbGUtZHJvcCAoZmlsZXNDaGFuZ2VkKT1cIm9uQXR0YWNobWVudHNDaGFuZ2VkKCRldmVudClcIj48L3NsaWNrLWZpbGUtZHJvcD5cclxuICAgICAgICAgICAgPHNsaWNrLWZpbGUtbGlzdCBbKGZpbGVzKV09XCJlbWFpbGVyTW9kZWwuYXR0YWNobWVudHNcIj48L3NsaWNrLWZpbGUtbGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93QnV0dG9uc1wiIGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwid2lkdGg6IDEyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7XCIgW3NsaWNrLWJ1dHRvbi1zcGlubmVyXT1cInNwaW5uZXJTdGF0dXNcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5XCIgKGNsaWNrKT1cIm9uU2VuZEVtYWlsKClcIj48aSBjbGFzcz1cImZhciBmYS1lbnZlbG9wZVwiPjwvaT4mbmJzcDtTZW5kPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwid2lkdGg6IDEyMHB4O1wiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRhbmdlclwiIChjbGljayk9XCJvbkNhbmNlbEVtYWlsKClcIj48aSBjbGFzcz1cImZhciBmYS10aW1lc1wiPjwvaT4mbmJzcDtDYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZW1haWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1lbWFpbGVyL3NsaWNrLWVtYWlsZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZW1haWxlci9zbGljay1lbWFpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUErQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEYsT0FBTyxFQUE2Qix3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBZ0JwRyxNQUFNLE9BQU8scUJBQXFCO0lBb0JqQyxZQUFvQix3QkFBa0QsRUFBVSxjQUFpQztRQUE3Riw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBbEIzRixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM3QixlQUFVLEdBQVcsT0FBTyxDQUFDO1FBQ3ZCLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25FLDBCQUFxQixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNFLDRCQUF1QixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBS25HLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBSTdCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUdwQyxrQkFBYSxHQUFXLElB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RVEsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLWZ1bmN0aW9uLWxvY2suc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJU2xpY2tGaWxlTW9kZWwgfSBmcm9tIFwiLi4vc2xpY2stZmlsZS1tb2RlbC9zbGljay1maWxlLm1vZGVsXCI7XHJcbmltcG9ydCB7IElTbGlja0VtYWlsZXJNb2RlbCwgfSBmcm9tIFwiLi9zbGljay1lbWFpbGVyLm1vZGVsXCI7XHJcbmltcG9ydCB7IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwsIFNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCB9IGZyb20gXCIuL3NsaWNrLWVtYWlsZXItYWRkcmVzcy5tb2RlbFwiO1xyXG5cclxuZGVjbGFyZSBjb25zdCB0aW55bWNlOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3NsaWNrLWVtYWlsZXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stZW1haWxlci5jb21wb25lbnQuaHRtbCcsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0VtYWlsZXJDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH0sXHJcblx0XHRTbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2VcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0VtYWlsZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dChcInRvRW1haWxBZGRyZXNzTGlzdFwiKSB0b0VtYWlsQWRkcmVzc0xpc3Q6IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWxbXTtcclxuXHRASW5wdXQoXCJzaG93QnV0dG9uc1wiKSBzaG93QnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblx0QElucHV0KFwiYm9keUhlaWdodFwiKSBib2R5SGVpZ2h0OiBzdHJpbmcgPSBcIjE4MHB4XCI7XHJcblx0QE91dHB1dChcInRvQWRkcmVzc1NlYXJjaFwiKSB0b0FkZHJlc3NTZWFyY2hFbWl0dGVyOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwic2VuZEVtYWlsQ2xpY2tcIikgc2VuZEVtYWlsQ2xpY2tFbWl0dGVyOiBFdmVudEVtaXR0ZXI8SVNsaWNrRW1haWxlck1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiY2FuY2VsRW1haWxDbGlja1wiKSBjYW5jZWxFbWFpbENsaWNrRW1pdHRlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuXHRAVmlld0NoaWxkKFwidGlueU1DRUNvbnRhaW5lclJlZlwiKSB0aW55TUNFQ29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xyXG5cclxuXHRlbWFpbGVyTW9kZWw6IElTbGlja0VtYWlsZXJNb2RlbDtcclxuXHRpc1N1Ym1pdHRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHR1dWlkOiBzdHJpbmc7XHJcblx0dGlueU1DRVV1aWQ6IHN0cmluZztcclxuXHR0aW55TUNFSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHR0b0VtYWlsQWRkcmVzczogc3RyaW5nO1xyXG5cdGVkaXRvcjogYW55O1xyXG5cdHNwaW5uZXJTdGF0dXM6IHN0cmluZyA9IG51bGw7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlOiBTbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblx0XHR0aGlzLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblx0XHR0aGlzLnRpbnlNQ0VVdWlkID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLnJlbW92ZVRpbnlNQ0UoKTtcclxuXHR9XHJcblxyXG5cdHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuXHJcblx0Ly8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxyXG5cdHB1YmxpYyBhc3luYyB3cml0ZVZhbHVlKG9iajogSVNsaWNrRW1haWxlck1vZGVsKSB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwicmVzZXRcIjtcclxuXHRcdFx0dGhpcy5lbWFpbGVyTW9kZWwgPSBvYmo7XHJcblxyXG5cdFx0XHRpZiAoIXRoaXMuZW1haWxlck1vZGVsLmF0dGFjaG1lbnRzKVxyXG5cdFx0XHRcdHRoaXMuZW1haWxlck1vZGVsLmF0dGFjaG1lbnRzID0gW107XHJcblxyXG5cdFx0XHRpZiAoIXRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMpXHJcblx0XHRcdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3NlcyA9IFtdO1xyXG5cclxuXHRcdFx0YXdhaXQgdGhpcy5pbml0VGlueU1DRSgpO1xyXG5cdFx0XHRjb25zdCBib2R5ID0gKHRoaXMuZW1haWxlck1vZGVsKSA/ICh0aGlzLmVtYWlsZXJNb2RlbC5ib2R5IHx8ICcnKSA6ICcnO1xyXG5cdFx0XHR0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5zZXRDb250ZW50KGJvZHkpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdHRoaXMuZW1haWxlck1vZGVsID0gbnVsbDtcclxuXHRcdFx0aWYgKHRoaXMudGlueU1DRUluaXRpYWxpemVkKVxyXG5cdFx0XHRcdHRpbnltY2UuZ2V0KGBlbWFpbGVyX3RpbnltY2VfJHt0aGlzLnRpbnlNQ0VVdWlkfWApLnNldENvbnRlbnQobnVsbCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblxyXG5cdH1cclxuXHJcblx0Ly8gcmVnaXN0ZXJzICdmbicgdGhhdCB3aWxsIGJlIGZpcmVkIHdoZW4gY2hhbmdlcyBhcmUgbWFkZVxyXG5cdC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxyXG5cdHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuXHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cclxuXHQvLyBub3QgdXNlZCwgdXNlZCBmb3IgdG91Y2ggaW5wdXRcclxuXHRwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7IH1cclxuXHJcblx0dG9BZGRyZXNzU2VhcmNoKHNlYXJjaFRleHQpIHtcclxuXHRcdHRoaXMudG9BZGRyZXNzU2VhcmNoRW1pdHRlci5lbWl0KHNlYXJjaFRleHQpO1xyXG5cdH1cclxuXHJcblx0b25TZWxlY3RFbWFpbEFkZHJlc3MoZW1haWxlckFkZHJlc3NNb2RlbDogSVNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCkge1xyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3Nlcy5wdXNoKGVtYWlsZXJBZGRyZXNzTW9kZWwpO1xyXG5cclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cdH1cclxuXHJcblx0b25GcmVlZm9ybVRleHRTZWxlY3QodGV4dDogc3RyaW5nKSB7XHJcblx0XHRjb25zdCBmcmVlZm9ybUVtYWlsQWRkcmVzcyA9IG5ldyBTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwoKTtcclxuXHRcdGZyZWVmb3JtRW1haWxBZGRyZXNzLmRpc3BsYXlOYW1lID0gdGV4dDtcclxuXHRcdGZyZWVmb3JtRW1haWxBZGRyZXNzLmVtYWlsQWRkcmVzcyA9IHRleHQ7XHJcblxyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3Nlcy5wdXNoKGZyZWVmb3JtRW1haWxBZGRyZXNzKTtcclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cdH1cclxuXHJcblx0ZGVsZXRlRW1haWxBZGRyZXNzKGlkeDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzLnNwbGljZShpZHgsIDEpO1xyXG5cdH1cclxuXHJcblx0b25BdHRhY2htZW50c0NoYW5nZWQoYXR0YWNobWVudHM6IElTbGlja0ZpbGVNb2RlbFtdKSB7XHJcblx0XHR0aGlzLmVtYWlsZXJNb2RlbC5hdHRhY2htZW50cyA9IHRoaXMuZW1haWxlck1vZGVsLmF0dGFjaG1lbnRzLmNvbmNhdChhdHRhY2htZW50cyk7XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZSgpIHtcclxuXHRcdHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlO1xyXG5cdFx0aWYgKHRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMubGVuZ3RoID09PSAwKVxyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblxyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fVxyXG5cclxuXHRnZXRFbWFpbEFkZHJlc3NlcyhlbWFpbGVyTW9kZWw6IElTbGlja0VtYWlsZXJNb2RlbCk6IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWxbXSB7XHJcblx0XHRsZXQgc2xpY2tFbWFpbGVyQWRkcmVzc2VzID0gZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMgfHwgW107XHJcblxyXG5cdFx0aWYgKHRoaXMudG9FbWFpbEFkZHJlc3MpIHtcclxuXHRcdFx0Y29uc3Qgc2NydWJiZWRUb0VtYWlsQWRkcmVzcyA9IHRoaXMudG9FbWFpbEFkZHJlc3MucmVwbGFjZShcIixcIiwgXCI7XCIpLnJlcGxhY2UoL1xccy9nLCBcIjtcIik7XHJcblx0XHRcdGNvbnN0IGVtYWlsQWRkcmVzc2VzVG9BZGRTdHJpbmdzID0gc2NydWJiZWRUb0VtYWlsQWRkcmVzcy5zcGxpdChcIjtcIikuZmlsdGVyKHggPT4geCAhPT0gJycpO1xyXG5cdFx0XHRjb25zdCBlbWFpbEFkZHJlc3Nlc1RvQWRkID0gZW1haWxBZGRyZXNzZXNUb0FkZFN0cmluZ3MubWFwKHggPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCA9IG5ldyBTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwoKTtcclxuXHRcdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwuY29udGFjdElkID0gMDtcclxuXHRcdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwuZGlzcGxheU5hbWUgPSB4O1xyXG5cdFx0XHRcdHNsaWNrRW1haWxlckFkZHJlc3NNb2RlbC5lbWFpbEFkZHJlc3MgPSB4O1xyXG5cdFx0XHRcdHJldHVybiBzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWw7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzZXMgPSBzbGlja0VtYWlsZXJBZGRyZXNzZXMuY29uY2F0KGVtYWlsQWRkcmVzc2VzVG9BZGQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cclxuXHRcdHJldHVybiBzbGlja0VtYWlsZXJBZGRyZXNzZXM7XHJcblx0fVxyXG5cclxuXHRhc3luYyBzZXRCb2R5KGJvZHk6IHN0cmluZykge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0YXdhaXQgdGhpcy5zbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2UubG9jayhcIlNMSUNLX0VNQUlMRVJfU0VUX0JPRFlcIik7XHJcblxyXG5cdFx0XHRhd2FpdCB0aGlzLmluaXRUaW55TUNFKCk7XHJcblx0XHRcdGNvbnN0IHRpbnlNQ0UgPSB0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKTtcclxuXHJcblx0XHRcdGlmICghdGlueU1DRSlcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKFwidGlueU1DRSBub3QgaW5pdGlhbGl6ZWRcIik7XHJcblxyXG5cdFx0XHR0aW55TUNFLnNldENvbnRlbnQoYm9keSk7XHJcblxyXG5cdFx0fVxyXG5cdFx0ZmluYWxseSB7XHJcblx0XHRcdHRoaXMuc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLnJlbGVhc2UoXCJTTElDS19FTUFJTEVSX1NFVF9CT0RZXCIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0Qm9keSgpIHtcclxuXHRcdHJldHVybiB0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5nZXRDb250ZW50KCk7XHJcblx0fVxyXG5cclxuXHRvblNlbmRFbWFpbCgpIHtcclxuXHRcdHRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMgPSB0aGlzLmdldEVtYWlsQWRkcmVzc2VzKHRoaXMuZW1haWxlck1vZGVsKTtcclxuXHJcblx0XHRpZiAodGhpcy52YWxpZGF0ZSgpID09PSBmYWxzZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuZW1haWxlck1vZGVsLmJvZHkgPSB0aGlzLmdldEJvZHkoKTtcclxuXHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwic3BpblwiO1xyXG5cdFx0aWYgKHRoaXMuc2VuZEVtYWlsQ2xpY2tFbWl0dGVyKVxyXG5cdFx0XHR0aGlzLnNlbmRFbWFpbENsaWNrRW1pdHRlci5lbWl0KHRoaXMuZW1haWxlck1vZGVsKTtcclxuXHR9XHJcblxyXG5cdGVtYWlsU2VudCgpIHtcclxuXHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwib2tcIjtcclxuXHR9XHJcblxyXG5cdGVtYWlsRXJyb3IoKSB7XHJcblx0XHR0aGlzLnNwaW5uZXJTdGF0dXMgPSBcImVycm9yXCI7XHJcblx0fVxyXG5cclxuXHRvbkNhbmNlbEVtYWlsKCkge1xyXG5cdFx0aWYgKHRoaXMuY2FuY2VsRW1haWxDbGlja0VtaXR0ZXIpXHJcblx0XHRcdHRoaXMuY2FuY2VsRW1haWxDbGlja0VtaXR0ZXIuZW1pdCgpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZGlhbG9nSW5pdCgpIHtcclxuXHRcdHRoaXMucmVtb3ZlVGlueU1DRSgpO1xyXG5cclxuXHRcdGF3YWl0IHRoaXMuaW5pdFRpbnlNQ0UoKTtcclxuXHRcdGNvbnN0IGJvZHkgPSAodGhpcy5lbWFpbGVyTW9kZWwpID8gKHRoaXMuZW1haWxlck1vZGVsLmJvZHkgfHwgJycpIDogJyc7XHJcblx0XHR0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5zZXRDb250ZW50KGJvZHkpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgaW5pdFRpbnlNQ0UoKTogUHJvbWlzZTx2b2lkPiB7XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oYXN5bmMgKHJlc29sdmUpID0+IHtcclxuXHRcdFx0YXdhaXQgdGhpcy5zbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2UubG9jayhcIlNMSUNLX0VNQUlMRVJfSU5JVF9USU5ZX01DRVwiKTtcclxuXHJcblx0XHRcdHRpbnltY2UucmVtb3ZlKCk7XHJcblxyXG5cdFx0XHRpZiAoIXRoaXMudGlueU1DRUluaXRpYWxpemVkKSB7XHJcblx0XHRcdFx0Y29uc3QgdGlueU1DRUNvbnRhaW5lciA9IDxIVE1MRGl2RWxlbWVudD50aGlzLnRpbnlNQ0VDb250YWluZXJSZWYubmF0aXZlRWxlbWVudDtcclxuXHRcdFx0XHRjb25zdCB0aW55TUNFVGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGV4dGFyZWFcIik7XHJcblx0XHRcdFx0dGlueU1DRVRleHRhcmVhLmlkID0gYGVtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YDtcclxuXHRcdFx0XHR0aW55TUNFVGV4dGFyZWEuc3R5bGUubWluSGVpZ2h0ID0gXCIzMDBweFwiO1xyXG5cdFx0XHRcdHRpbnlNQ0VUZXh0YXJlYS5zdHlsZS5tYXhIZWlnaHQgPSBcIjMwMHB4XCI7XHJcblx0XHRcdFx0dGlueU1DRUNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aW55TUNFVGV4dGFyZWEpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0aW55bWNlLmluaXQoe1xyXG5cdFx0XHRcdHNlbGVjdG9yOiBgI2VtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YCxcclxuXHRcdFx0XHRicmFuZGluZzogZmFsc2UsXHJcblx0XHRcdFx0bWVudWJhcjogJ2VkaXQgaW5zZXJ0IGZvcm1hdCB0b29scycsXHJcblx0XHRcdFx0cGx1Z2luczogJ2xpbmsgaW1hZ2UgaW1hZ2V0b29scyBjb2RlJyxcclxuXHRcdFx0XHR0b29sYmFyOiAnZm9udHNlbGVjdCB8IGZvbnRzaXplc2VsZWN0IHwgc3R5bGVzZWxlY3QgfCBib2xkIGl0YWxpYyB1bmRlcmxpbmUgfCBpbmRlbnQgb3V0ZGVudCB8IGJ1bGxpc3QgfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCB8IGNvZGUgfCBpbWFnZScsXHJcblx0XHRcdFx0Zm9udHNpemVfZm9ybWF0czogXCI4cHggMTBweCAxMnB4IDE0cHggMThweCAyNHB4IDM2cHhcIixcclxuXHRcdFx0XHRoZWlnaHQ6IHRoaXMuYm9keUhlaWdodCxcclxuXHRcdFx0XHRjb252ZXJ0X3VybHM6IGZhbHNlLFxyXG5cdFx0XHRcdHNldHVwOiAoZWQpID0+IHtcclxuXHRcdFx0XHRcdGVkLm9uKCdpbml0JywgKGFyZ3MpID0+IHtcclxuXHJcblx0XHRcdFx0XHRcdGVkLnNldENvbnRlbnQoKHRoaXMuZW1haWxlck1vZGVsKSA/ICh0aGlzLmVtYWlsZXJNb2RlbC5ib2R5IHx8ICcnKSA6ICcnKTtcclxuXHRcdFx0XHRcdFx0dGhpcy50aW55TUNFSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNsaWNrRnVuY3Rpb25Mb2NrU2VydmljZS5yZWxlYXNlKFwiU0xJQ0tfRU1BSUxFUl9JTklUX1RJTllfTUNFXCIpO1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKCk7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIHJlbW92ZVRpbnlNQ0UoKSB7XHJcblx0XHRpZiAodGhpcy50aW55TUNFVXVpZCkge1xyXG5cdFx0XHRjb25zdCB0aW55TUNFID0gdGlueW1jZS5nZXQoYGVtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YCk7XHJcblxyXG5cdFx0XHRpZiAodGlueU1DRSlcclxuXHRcdFx0XHR0aW55TUNFLnJlbW92ZSgpO1xyXG5cclxuXHRcdFx0Y29uc3QgdGlueU1DRUNvbnRhaW5lciA9IDxIVE1MRGl2RWxlbWVudD50aGlzLnRpbnlNQ0VDb250YWluZXJSZWYubmF0aXZlRWxlbWVudDtcclxuXHRcdFx0dGlueU1DRUNvbnRhaW5lci5pbm5lckhUTUwgPSBcIlwiO1xyXG5cclxuXHRcdFx0dGhpcy50aW55TUNFSW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcblx0XHRcdHRoaXMudGlueU1DRVV1aWQgPSBudWxsO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiZW1haWxlck1vZGVsXCIgaWQ9XCJzbGljay1lbWFpbGVyX3t7dXVpZH19XCIgY2xhc3M9XCJzbGljay1lbWFpbGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc1N1Ym1pdHRlZCA9PT0gdHJ1ZSAmJiBlbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3Nlcy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImVycm9yV3JhcHBlciBzaG93SWNvbnNcIj48ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIj5FbWFpbCBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGVtYWlsIGFkZHJlc3M8L2Rpdj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHRcIj48c3BhbiBjbGFzcz1cImZhcyBmYS1zZWFyY2hcIj48L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgI2VtYWlsQWRkcmVzc0F1dG9jb21wbGV0ZSBbKG5nTW9kZWwpXT1cInRvRW1haWxBZGRyZXNzXCIgcGxhY2Vob2xkZXI9XCJFbWFpbCBTZWFyY2guLi5cIiBhdXRvZm9jdXMgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzbGljay1hdXRvLWNvbXBsZXRlIFtpbnB1dFJlZl09XCJlbWFpbEFkZHJlc3NBdXRvY29tcGxldGVcIiB0ZXh0RmllbGQ9XCJlbWFpbERpc3BsYXlcIiBbaXRlbXNdPVwidG9FbWFpbEFkZHJlc3NMaXN0XCIgKG9uUmVmcmVzaCk9XCJ0b0FkZHJlc3NTZWFyY2goJGV2ZW50KVwiIChvblNlbGVjdCk9XCJvblNlbGVjdEVtYWlsQWRkcmVzcygkZXZlbnQpXCIgKG9uRnJlZWZvcm1UZXh0U2VsZWN0KT1cIm9uRnJlZWZvcm1UZXh0U2VsZWN0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtZW1haWxEaXNwbGF5IFtzbGlja0F1dG9Db21wbGV0ZUxpc3RJdGVtVGVtcGxhdGVdPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9J2xpbmUtaGVpZ2h0OiAxLjFlbTsgZm9udC1zaXplOiAxMnB4Oyc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZW1haWxEaXNwbGF5LmRpc3BsYXlOYW1lfX0gW3t7ZW1haWxEaXNwbGF5LmVtYWlsQWRkcmVzc319XVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9zbGljay1hdXRvLWNvbXBsZXRlPlxyXG5cclxuICAgICAgICAgICAgPGxhYmVsPlRvOiZuYnNwOzwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVtYWlsQWRkcmVzcyBvZiBlbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3NlczsgbGV0IGlkeCA9IGluZGV4O1wiIGNsYXNzPVwic2xpY2stZW1haWxlcl9lbWFpbC1hZGRyZXNzIGFsZXJ0IGFsZXJ0LXNlY29uZGFyeVwiPnt7ZW1haWxBZGRyZXNzLmRpc3BsYXlOYW1lfX0gW3t7ZW1haWxBZGRyZXNzLmVtYWlsQWRkcmVzc319XTxpIChjbGljayk9XCJkZWxldGVFbWFpbEFkZHJlc3MoaWR4KVwiIGNsYXNzPVwiZmFzIGZhLXRpbWVzLWNpcmNsZSBiZy13aGl0ZSB0ZXh0LWRhbmdlciBtcy0xXCI+PC9pPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD5TdWJqZWN0OjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJlbWFpbGVyTW9kZWwuc3ViamVjdFwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD5Cb2R5OjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXYgI3RpbnlNQ0VDb250YWluZXJSZWY+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD5BdHRhY2htZW50czo8L2xhYmVsPlxyXG4gICAgICAgICAgICA8c2xpY2stZmlsZS1kcm9wIChmaWxlc0NoYW5nZWQpPVwib25BdHRhY2htZW50c0NoYW5nZWQoJGV2ZW50KVwiPjwvc2xpY2stZmlsZS1kcm9wPlxyXG4gICAgICAgICAgICA8c2xpY2stZmlsZS1saXN0IFsoZmlsZXMpXT1cImVtYWlsZXJNb2RlbC5hdHRhY2htZW50c1wiPjwvc2xpY2stZmlsZS1saXN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dCdXR0b25zXCIgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgc3R5bGU9XCJ3aWR0aDogMTIwcHg7IG1hcmdpbi1yaWdodDogMTBweDtcIiBbc2xpY2stYnV0dG9uLXNwaW5uZXJdPVwic3Bpbm5lclN0YXR1c1wiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIiAoY2xpY2spPVwib25TZW5kRW1haWwoKVwiPjxpIGNsYXNzPVwiZmFyIGZhLWVudmVsb3BlXCI+PC9pPiZuYnNwO1NlbmQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgc3R5bGU9XCJ3aWR0aDogMTIwcHg7XCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGFuZ2VyXCIgKGNsaWNrKT1cIm9uQ2FuY2VsRW1haWwoKVwiPjxpIGNsYXNzPVwiZmFyIGZhLXRpbWVzXCI+PC9pPiZuYnNwO0NhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -6,7 +6,7 @@ export class SlickInitParams {
6
6
  }
7
7
  }
8
8
  export class SlickInitService {
9
- static { this.version = "17.0.9"; }
9
+ static { this.version = "17.0.10"; }
10
10
  constructor() { }
11
11
  static init(initParams) {
12
12
  console.info(`Slick Components Version ${SlickInitService.version}`);
@@ -46,4 +46,4 @@ export class SlickInitService {
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SlickInitService, decorators: [{
47
47
  type: Injectable
48
48
  }], ctorParameters: () => [] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvdXRpbHMvc2xpY2staW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBR0MsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQUc5QixDQUFDO0NBQUE7QUFHRCxNQUFNLE9BQU8sZ0JBQWdCO2FBQ3JCLFlBQU8sR0FBRyxRQUFRLEFBQVgsQ0FBWTtJQUUxQixnQkFBZ0IsQ0FBQztJQUdqQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQTJCO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckUsVUFBVSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDeEMsTUFBTyxDQUFDLHFCQUFxQixHQUFHLFVBQVUsQ0FBQztRQUVqRCxPQUFhLE1BQU8sQ0FBQyxxQkFBcUIsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZixJQUFJLENBQU8sTUFBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDMUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM1QyxhQUFhLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUMxQixNQUFPLENBQUMscUJBQXFCLEdBQUcsYUFBYSxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUE4QixNQUFPLENBQUMscUJBQXFCLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLGVBQXVCO1FBQ3pDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztpSUE5Q1csZ0JBQWdCO3FJQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTbGlja0luaXRQYXJhbXMge1xyXG5cdGF0dGFjaFRvOiBzdHJpbmc7XHJcblx0cGxhdGZvcm06IHN0cmluZztcclxuXHRlcnJvckxvZzogc3RyaW5nID0gXCJtaW5pbWFsXCI7XHJcblx0dmVyc2lvbjogc3RyaW5nO1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0U2VydmljZSB7XHRcclxuXHRzdGF0aWMgdmVyc2lvbiA9IFwiMTcuMC45XCI7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cclxuXHRzdGF0aWMgaW5pdChpbml0UGFyYW1zOiBTbGlja0luaXRQYXJhbXMpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0Y29uc29sZS5pbmZvKGBTbGljayBDb21wb25lbnRzIFZlcnNpb24gJHtTbGlja0luaXRTZXJ2aWNlLnZlcnNpb259YCk7XHJcblx0XHRpbml0UGFyYW1zLnZlcnNpb24gPSBTbGlja0luaXRTZXJ2aWNlLnZlcnNpb247XHJcblx0XHQoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcyA9IGluaXRQYXJhbXM7XHJcblxyXG5cdFx0cmV0dXJuICg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGdldFBhcmFtcygpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0aWYgKCEoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcykge1xyXG5cdFx0XHRjb25zdCBkZWZhdWx0UGFyYW1zID0gbmV3IFNsaWNrSW5pdFBhcmFtcygpO1xyXG5cdFx0XHRkZWZhdWx0UGFyYW1zLmF0dGFjaFRvID0gXCJib2R5XCI7XHJcblx0XHRcdCg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zID0gZGVmYXVsdFBhcmFtcztcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gPFNsaWNrSW5pdFBhcmFtcz4oPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcztcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRBdHRhY2hUbygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG87XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0QXR0YWNoVG8oYXR0YWNoVG9FbGVtZW50OiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG8gPSBhdHRhY2hUb0VsZW1lbnQ7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgZ2V0UGxhdGZvcm0oKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLnBsYXRmb3JtO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIHNldFBsYXRmb3JtKHBsYXRmb3JtOiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkucGxhdGZvcm0gPSBwbGF0Zm9ybTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRFcnJvckxvZygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuZXJyb3JMb2c7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0RXJyb3JMb2coZXJyb3JMb2c6IHN0cmluZykge1xyXG5cdFx0U2xpY2tJbml0U2VydmljZS5nZXRQYXJhbXMoKS5lcnJvckxvZyA9IGVycm9yTG9nO1xyXG5cdH1cclxufVxyXG5cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvdXRpbHMvc2xpY2staW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBR0MsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQUc5QixDQUFDO0NBQUE7QUFHRCxNQUFNLE9BQU8sZ0JBQWdCO2FBQ3JCLFlBQU8sR0FBRyxTQUFTLEFBQVosQ0FBYTtJQUUzQixnQkFBZ0IsQ0FBQztJQUdqQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQTJCO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckUsVUFBVSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFDeEMsTUFBTyxDQUFDLHFCQUFxQixHQUFHLFVBQVUsQ0FBQztRQUVqRCxPQUFhLE1BQU8sQ0FBQyxxQkFBcUIsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZixJQUFJLENBQU8sTUFBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDMUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM1QyxhQUFhLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUMxQixNQUFPLENBQUMscUJBQXFCLEdBQUcsYUFBYSxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUE4QixNQUFPLENBQUMscUJBQXFCLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLGVBQXVCO1FBQ3pDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztpSUE5Q1csZ0JBQWdCO3FJQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTbGlja0luaXRQYXJhbXMge1xyXG5cdGF0dGFjaFRvOiBzdHJpbmc7XHJcblx0cGxhdGZvcm06IHN0cmluZztcclxuXHRlcnJvckxvZzogc3RyaW5nID0gXCJtaW5pbWFsXCI7XHJcblx0dmVyc2lvbjogc3RyaW5nO1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0U2VydmljZSB7XHRcclxuXHRzdGF0aWMgdmVyc2lvbiA9IFwiMTcuMC4xMFwiO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuXHJcblx0c3RhdGljIGluaXQoaW5pdFBhcmFtczogU2xpY2tJbml0UGFyYW1zKTogU2xpY2tJbml0UGFyYW1zIHtcclxuXHRcdGNvbnNvbGUuaW5mbyhgU2xpY2sgQ29tcG9uZW50cyBWZXJzaW9uICR7U2xpY2tJbml0U2VydmljZS52ZXJzaW9ufWApO1xyXG5cdFx0aW5pdFBhcmFtcy52ZXJzaW9uID0gU2xpY2tJbml0U2VydmljZS52ZXJzaW9uO1xyXG5cdFx0KDxhbnk+d2luZG93KS5zbGlja0NvbXBvbmVudHNQYXJhbXMgPSBpbml0UGFyYW1zO1xyXG5cclxuXHRcdHJldHVybiAoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcztcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRQYXJhbXMoKTogU2xpY2tJbml0UGFyYW1zIHtcclxuXHRcdGlmICghKDxhbnk+d2luZG93KS5zbGlja0NvbXBvbmVudHNQYXJhbXMpIHtcclxuXHRcdFx0Y29uc3QgZGVmYXVsdFBhcmFtcyA9IG5ldyBTbGlja0luaXRQYXJhbXMoKTtcclxuXHRcdFx0ZGVmYXVsdFBhcmFtcy5hdHRhY2hUbyA9IFwiYm9keVwiO1xyXG5cdFx0XHQoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcyA9IGRlZmF1bHRQYXJhbXM7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIDxTbGlja0luaXRQYXJhbXM+KDxhbnk+d2luZG93KS5zbGlja0NvbXBvbmVudHNQYXJhbXM7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgZ2V0QXR0YWNoVG8oKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLmF0dGFjaFRvO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIHNldEF0dGFjaFRvKGF0dGFjaFRvRWxlbWVudDogc3RyaW5nKSB7XHJcblx0XHRTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLmF0dGFjaFRvID0gYXR0YWNoVG9FbGVtZW50O1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGdldFBsYXRmb3JtKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gU2xpY2tJbml0U2VydmljZS5nZXRQYXJhbXMoKS5wbGF0Zm9ybTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBzZXRQbGF0Zm9ybShwbGF0Zm9ybTogc3RyaW5nKSB7XHJcblx0XHRTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLnBsYXRmb3JtID0gcGxhdGZvcm07XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgZ2V0RXJyb3JMb2coKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLmVycm9yTG9nO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIHNldEVycm9yTG9nKGVycm9yTG9nOiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuZXJyb3JMb2cgPSBlcnJvckxvZztcclxuXHR9XHJcbn1cclxuXHJcbiJdfQ==
@@ -22,7 +22,7 @@ class SlickInitParams {
22
22
  }
23
23
  }
24
24
  class SlickInitService {
25
- static { this.version = "17.0.9"; }
25
+ static { this.version = "17.0.10"; }
26
26
  constructor() { }
27
27
  static init(initParams) {
28
28
  console.info(`Slick Components Version ${SlickInitService.version}`);
@@ -4304,11 +4304,9 @@ class SlickEmailerComponent {
4304
4304
  this.spinnerStatus = null;
4305
4305
  this.propagateChange = (_) => { };
4306
4306
  this.uuid = SlickUtilsService.newGuid();
4307
+ this.tinyMCEUuid = SlickUtilsService.newGuid();
4307
4308
  }
4308
4309
  async ngAfterViewInit() {
4309
- await this.initTinyMCE();
4310
- const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
4311
- tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
4312
4310
  }
4313
4311
  ngOnDestroy() {
4314
4312
  this.removeTinyMCE();
@@ -4322,13 +4320,16 @@ class SlickEmailerComponent {
4322
4320
  this.emailerModel.attachments = [];
4323
4321
  if (!this.emailerModel.toEmailAddresses)
4324
4322
  this.emailerModel.toEmailAddresses = [];
4323
+ await this.initTinyMCE();
4324
+ const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
4325
+ tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
4325
4326
  }
4326
4327
  else {
4327
4328
  this.emailerModel = null;
4329
+ if (this.tinyMCEInitialized)
4330
+ tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(null);
4331
+ return;
4328
4332
  }
4329
- await this.initTinyMCE();
4330
- const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
4331
- tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
4332
4333
  }
4333
4334
  // registers 'fn' that will be fired when changes are made
4334
4335
  // this is how we emit the changes back to the form
@@ -4424,37 +4425,33 @@ class SlickEmailerComponent {
4424
4425
  async initTinyMCE() {
4425
4426
  return new Promise(async (resolve) => {
4426
4427
  await this.slickFunctionLockService.lock("SLICK_EMAILER_INIT_TINY_MCE");
4427
- if (this.tinyMCEUuid) {
4428
- this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
4429
- resolve();
4430
- }
4431
- else {
4432
- this.tinyMCEUuid = SlickUtilsService.newGuid();
4428
+ tinymce.remove();
4429
+ if (!this.tinyMCEInitialized) {
4433
4430
  const tinyMCEContainer = this.tinyMCEContainerRef.nativeElement;
4434
4431
  const tinyMCETextarea = document.createElement("textarea");
4435
4432
  tinyMCETextarea.id = `emailer_tinymce_${this.tinyMCEUuid}`;
4436
4433
  tinyMCETextarea.style.minHeight = "300px";
4437
4434
  tinyMCETextarea.style.maxHeight = "300px";
4438
4435
  tinyMCEContainer.appendChild(tinyMCETextarea);
4439
- tinymce.init({
4440
- selector: `#emailer_tinymce_${this.tinyMCEUuid}`,
4441
- branding: false,
4442
- menubar: 'edit insert format tools',
4443
- plugins: 'link image imagetools code',
4444
- toolbar: 'fontselect | fontsizeselect | styleselect | bold italic underline | indent outdent | bullist | alignleft aligncenter alignright | code | image',
4445
- fontsize_formats: "8px 10px 12px 14px 18px 24px 36px",
4446
- height: this.bodyHeight,
4447
- convert_urls: false,
4448
- setup: (ed) => {
4449
- ed.on('init', (args) => {
4450
- ed.setContent((this.emailerModel) ? (this.emailerModel.body || '') : '');
4451
- this.tinyMCEInitialized = true;
4452
- this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
4453
- resolve();
4454
- });
4455
- }
4456
- });
4457
4436
  }
4437
+ tinymce.init({
4438
+ selector: `#emailer_tinymce_${this.tinyMCEUuid}`,
4439
+ branding: false,
4440
+ menubar: 'edit insert format tools',
4441
+ plugins: 'link image imagetools code',
4442
+ toolbar: 'fontselect | fontsizeselect | styleselect | bold italic underline | indent outdent | bullist | alignleft aligncenter alignright | code | image',
4443
+ fontsize_formats: "8px 10px 12px 14px 18px 24px 36px",
4444
+ height: this.bodyHeight,
4445
+ convert_urls: false,
4446
+ setup: (ed) => {
4447
+ ed.on('init', (args) => {
4448
+ ed.setContent((this.emailerModel) ? (this.emailerModel.body || '') : '');
4449
+ this.tinyMCEInitialized = true;
4450
+ this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
4451
+ resolve();
4452
+ });
4453
+ }
4454
+ });
4458
4455
  });
4459
4456
  }
4460
4457
  async removeTinyMCE() {