ngx-dynamic-entity-builder 1.1.0 → 1.3.0

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.
@@ -1,4 +1,4 @@
1
- import { Component, computed, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { MatButtonModule } from '@angular/material/button';
@@ -151,11 +151,12 @@ export class ReferencedFieldConfigComponent {
151
151
  }
152
152
  </div>
153
153
  }
154
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }] });
154
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
155
155
  }
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReferencedFieldConfigComponent, decorators: [{
157
157
  type: Component,
158
158
  args: [{
159
+ changeDetection: ChangeDetectionStrategy.OnPush,
159
160
  selector: 'ngx-referenced-field-config',
160
161
  standalone: true,
161
162
  imports: [
@@ -231,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
231
232
  `,
232
233
  }]
233
234
  }] });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlZC1maWVsZC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3JlZmVyZW5jZWQtZmllbGQtY29uZmlnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBNkV4RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3RCLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBK0IsQ0FBQztJQUM3RixLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMs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QjtrQkEzRTFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLG9CQUFvQjtxQkFDckI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgQ29uZmlnU291cmNlU2VydmljZSB9IGZyb20gJ25neC1keW5hbWljLWVudGl0eSc7XG5pbXBvcnQgdHlwZSB7IE5lc3RlZEZpZWxkQ29uZmlnIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXJlZmVyZW5jZWQtZmllbGQtY29uZmlnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGZpZWxkKCk7IGFzIGYpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItcmVmZXJlbmNlZC1maWVsZFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTZweDtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1yb3dcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogOHB4O1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXNlY3Rpb24tdGl0bGVcIiBzdHlsZT1cIm1hcmdpbjowO1wiPlJlZmVyZW5jZWQgRmllbGQ8L3NwYW4+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwidG9nZ2xlLXJlZmVyZW5jZWRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiZi5pc1JlZmVyZW5jZWQgPz8gZmFsc2VcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlUmVmZXJlbmNlZChmLCAkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBMaW5rXG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKGYuaXNSZWZlcmVuY2VkKSB7XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDhweDtcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+U291cmNlIEVudGl0eSBLZXk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInJlZmVyZW5jZWQtZW50aXR5LWtleVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImYucmVmZXJlbmNlZEVudGl0eUtleSA/PyAnJ1wiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUVudGl0eUtleShmLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIGluZGl2aWR1YWxzXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1mdWxsXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiA4cHg7XCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlNvdXJjZSBGaWVsZCBJRDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwicmVmZXJlbmNlZC1maWVsZC1pZFwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImYucmVmZXJlbmNlZEZpZWxkSWQgPz8gJydcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVGaWVsZElkKGYsICRldmVudClcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gZmlyc3ROYW1lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIEBpZiAoZi5oYXNEcmlmdCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1kcmlmdC1iYW5uZXJcIiBkYXRhLXRlc3RpZD1cImRyaWZ0LWJhbm5lclwiIHN0eWxlPVwiYmFja2dyb3VuZDogI2ZmZjNlMDsgYm9yZGVyOiAxcHggc29saWQgI2ZmZTBiMjsgcGFkZGluZzogOHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDRweDsgbWFyZ2luLXRvcDogOHB4O1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJvd1wiIHN0eWxlPVwiZ2FwOiA4cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGNvbG9yOiAjZTY1MTAwOyBmb250LXdlaWdodDogNTAwO1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDsgd2lkdGg6MThweDsgaGVpZ2h0OjE4cHg7XCI+d2FybmluZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+U291cmNlIGZpZWxkIGRlZmluaXRpb24gaGFzIGRyaWZ0ZWQhPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW46IDRweCAwIDhweCAwOyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNjY2O1wiPlxuICAgICAgICAgICAgICAgIFRoZSB1cHN0cmVhbSBmaWVsZCBjb25maWd1cmF0aW9uIGluIFwie3sgZi5yZWZlcmVuY2VkRW50aXR5S2V5IH19XCIgaGFzIGV2b2x2ZWQuXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzeW5jLXNvdXJjZS1idG5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzeW5jV2l0aFNvdXJjZShmKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBTeW5jIHdpdGggU291cmNlXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZWRGaWVsZENvbmZpZ0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChCdWlsZGVyU3RvcmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnU291cmNlID0gaW5qZWN0KENvbmZpZ1NvdXJjZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSkgYXMgQ29uZmlnU291cmNlU2VydmljZSB8IG51bGw7XG4gIHByb3RlY3RlZCByZWFkb25seSBmaWVsZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RvcmUuc2VsZWN0ZWRGaWVsZCgpKTtcblxuICBwcm90ZWN0ZWQgdG9nZ2xlUmVmZXJlbmNlZChmaWVsZDogTmVzdGVkRmllbGRDb25maWcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgdGhpcy5zdG9yZS51cGRhdGVGaWVsZChmaWVsZC5pZCwgeyBpc1JlZmVyZW5jZWQ6IHRydWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUudW5saW5rUmVmZXJlbmNlZEZpZWxkKGZpZWxkLmlkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlRW50aXR5S2V5KGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZywga2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmltbWVkID0ga2V5LnRyaW0oKTtcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZUZpZWxkKGZpZWxkLmlkLCB7IHJlZmVyZW5jZWRFbnRpdHlLZXk6IHRyaW1tZWQgfHwgdW5kZWZpbmVkIH0pO1xuICAgIHRoaXMuY2hlY2tEcmlmdEZvckZpZWxkKGZpZWxkLmlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVGaWVsZElkKGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZywgZmllbGRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGZpZWxkSWQudHJpbSgpO1xuICAgIHRoaXMuc3RvcmUudXBkYXRlRmllbGQoZmllbGQuaWQsIHsgcmVmZXJlbmNlZEZpZWxkSWQ6IHRyaW1tZWQgfHwgdW5kZWZpbmVkIH0pO1xuICAgIHRoaXMuY2hlY2tEcmlmdEZvckZpZWxkKGZpZWxkLmlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzeW5jV2l0aFNvdXJjZShmaWVsZDogTmVzdGVkRmllbGRDb25maWcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIWZpZWxkLnJlZmVyZW5jZWRFbnRpdHlLZXkgfHwgIWZpZWxkLnJlZmVyZW5jZWRGaWVsZElkIHx8ICF0aGlzLmNvbmZpZ1NvdXJjZSkgcmV0dXJuO1xuICAgIGNvbnN0IHNvdXJjZUNvbmZpZyA9IGF3YWl0IHRoaXMuY29uZmlnU291cmNlLmdldENvbmZpZyhmaWVsZC5yZWZlcmVuY2VkRW50aXR5S2V5KTtcbiAgICBpZiAoIXNvdXJjZUNvbmZpZykgcmV0dXJuO1xuXG4gICAgY29uc3Qgc291cmNlRmllbGQgPSB0aGlzLmZpbmRGaWVsZChzb3VyY2VDb25maWcudGFicyA/PyBbXSwgZmllbGQucmVmZXJlbmNlZEZpZWxkSWQpO1xuICAgIGlmIChzb3VyY2VGaWVsZCkge1xuICAgICAgdGhpcy5zdG9yZS5zeW5jUmVmZXJlbmNlZEZpZWxkKGZpZWxkLmlkLCBzb3VyY2VGaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJvdGggY2FsbGVycyBwYXNzIHRoZSBpZCBvZiB0aGUgZmllbGQgdGhleSBqdXN0IGVkaXRlZC4gVGhpcyB1c2VkIHRvIGlnbm9yZSB0aGF0XG4gICAqIGFyZ3VtZW50IGFuZCByZWFkIGBzdG9yZS5zZWxlY3RlZEZpZWxkKClgIGluc3RlYWQsIHNvIHdoZW5ldmVyIHRoZSBlZGl0ZWQgZmllbGQgd2FzIG5vdFxuICAgKiB0aGUgc2VsZWN0ZWQgb25lIGl0IGNoZWNrZWQgZHJpZnQgYWdhaW5zdCB0aGUgd3JvbmcgZmllbGQncyBzb3VyY2UgZW50aXR5IOKAlCBvciBiYWlsZWRcbiAgICogb3V0IGVudGlyZWx5IGlmIG5vdGhpbmcgd2FzIHNlbGVjdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0RyaWZ0Rm9yRmllbGQoZmllbGRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZiA9IHRoaXMuc3RvcmUuZmllbGRzKCkuZmluZChmaWVsZCA9PiBmaWVsZC5pZCA9PT0gZmllbGRJZCk7XG4gICAgaWYgKCFmIHx8ICFmLmlzUmVmZXJlbmNlZCB8fCAhZi5yZWZlcmVuY2VkRW50aXR5S2V5IHx8ICFmLnJlZmVyZW5jZWRGaWVsZElkIHx8ICF0aGlzLmNvbmZpZ1NvdXJjZSkgcmV0dXJuO1xuICAgIGNvbnN0IHNvdXJjZUNvbmZpZyA9IGF3YWl0IHRoaXMuY29uZmlnU291cmNlLmdldENvbmZpZyhmLnJlZmVyZW5jZWRFbnRpdHlLZXkpO1xuICAgIGlmIChzb3VyY2VDb25maWcpIHtcbiAgICAgIHRoaXMuc3RvcmUuY2hlY2tEcmlmdCh7IFtmLnJlZmVyZW5jZWRFbnRpdHlLZXldOiBzb3VyY2VDb25maWcgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRmllbGQodGFiczogYW55W10sIGlkOiBzdHJpbmcpOiBOZXN0ZWRGaWVsZENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChjb25zdCB0IG9mIHRhYnMpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiB0LmZpZWxkcyA/PyBbXSkge1xuICAgICAgICBpZiAoZi5pZCA9PT0gaWQpIHJldHVybiBmO1xuICAgICAgICBpZiAoZi5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgcmVzID0gdGhpcy5maW5kRmllbGRJbkxpc3QoZi5jaGlsZHJlbiwgaWQpO1xuICAgICAgICAgIGlmIChyZXMpIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEZpZWxkSW5MaXN0KGZpZWxkczogTmVzdGVkRmllbGRDb25maWdbXSwgaWQ6IHN0cmluZyk6IE5lc3RlZEZpZWxkQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGNvbnN0IGYgb2YgZmllbGRzKSB7XG4gICAgICBpZiAoZi5pZCA9PT0gaWQpIHJldHVybiBmO1xuICAgICAgaWYgKGYuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCByZXMgPSB0aGlzLmZpbmRGaWVsZEluTGlzdChmLmNoaWxkcmVuLCBpZCk7XG4gICAgICAgIGlmIChyZXMpIHJldHVybiByZXM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlZC1maWVsZC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3JlZmVyZW5jZWQtZmllbGQtY29uZmlnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBOEV4RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3RCLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBK0IsQ0FBQztJQUM3RixLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFB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NEZBZ0VYLDhCQUE4QjtrQkE1RTFDLFNBQVM7bUJBQUM7b0JBQ1QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxvQkFBb0I7cUJBQ3JCO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNERUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBDb25maWdTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnbmd4LWR5bmFtaWMtZW50aXR5JztcbmltcG9ydCB0eXBlIHsgTmVzdGVkRmllbGRDb25maWcgfSBmcm9tICdAZHluYW1pYy1lbnRpdHkvY29yZSc7XG5pbXBvcnQgeyBCdWlsZGVyU3RvcmUgfSBmcm9tICcuLi9idWlsZGVyLXN0b3JlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnbmd4LXJlZmVyZW5jZWQtZmllbGQtY29uZmlnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGZpZWxkKCk7IGFzIGYpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItcmVmZXJlbmNlZC1maWVsZFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTZweDtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1yb3dcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogOHB4O1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXNlY3Rpb24tdGl0bGVcIiBzdHlsZT1cIm1hcmdpbjowO1wiPlJlZmVyZW5jZWQgRmllbGQ8L3NwYW4+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwidG9nZ2xlLXJlZmVyZW5jZWRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiZi5pc1JlZmVyZW5jZWQgPz8gZmFsc2VcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlUmVmZXJlbmNlZChmLCAkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBMaW5rXG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKGYuaXNSZWZlcmVuY2VkKSB7XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDhweDtcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+U291cmNlIEVudGl0eSBLZXk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInJlZmVyZW5jZWQtZW50aXR5LWtleVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImYucmVmZXJlbmNlZEVudGl0eUtleSA/PyAnJ1wiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUVudGl0eUtleShmLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIGluZGl2aWR1YWxzXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1mdWxsXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiA4cHg7XCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlNvdXJjZSBGaWVsZCBJRDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwicmVmZXJlbmNlZC1maWVsZC1pZFwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImYucmVmZXJlbmNlZEZpZWxkSWQgPz8gJydcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVGaWVsZElkKGYsICRldmVudClcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gZmlyc3ROYW1lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIEBpZiAoZi5oYXNEcmlmdCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1kcmlmdC1iYW5uZXJcIiBkYXRhLXRlc3RpZD1cImRyaWZ0LWJhbm5lclwiIHN0eWxlPVwiYmFja2dyb3VuZDogI2ZmZjNlMDsgYm9yZGVyOiAxcHggc29saWQgI2ZmZTBiMjsgcGFkZGluZzogOHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDRweDsgbWFyZ2luLXRvcDogOHB4O1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJvd1wiIHN0eWxlPVwiZ2FwOiA4cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGNvbG9yOiAjZTY1MTAwOyBmb250LXdlaWdodDogNTAwO1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDsgd2lkdGg6MThweDsgaGVpZ2h0OjE4cHg7XCI+d2FybmluZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+U291cmNlIGZpZWxkIGRlZmluaXRpb24gaGFzIGRyaWZ0ZWQhPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW46IDRweCAwIDhweCAwOyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNjY2O1wiPlxuICAgICAgICAgICAgICAgIFRoZSB1cHN0cmVhbSBmaWVsZCBjb25maWd1cmF0aW9uIGluIFwie3sgZi5yZWZlcmVuY2VkRW50aXR5S2V5IH19XCIgaGFzIGV2b2x2ZWQuXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzeW5jLXNvdXJjZS1idG5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzeW5jV2l0aFNvdXJjZShmKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBTeW5jIHdpdGggU291cmNlXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZWRGaWVsZENvbmZpZ0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChCdWlsZGVyU3RvcmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnU291cmNlID0gaW5qZWN0KENvbmZpZ1NvdXJjZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSkgYXMgQ29uZmlnU291cmNlU2VydmljZSB8IG51bGw7XG4gIHByb3RlY3RlZCByZWFkb25seSBmaWVsZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RvcmUuc2VsZWN0ZWRGaWVsZCgpKTtcblxuICBwcm90ZWN0ZWQgdG9nZ2xlUmVmZXJlbmNlZChmaWVsZDogTmVzdGVkRmllbGRDb25maWcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgdGhpcy5zdG9yZS51cGRhdGVGaWVsZChmaWVsZC5pZCwgeyBpc1JlZmVyZW5jZWQ6IHRydWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUudW5saW5rUmVmZXJlbmNlZEZpZWxkKGZpZWxkLmlkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlRW50aXR5S2V5KGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZywga2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmltbWVkID0ga2V5LnRyaW0oKTtcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZUZpZWxkKGZpZWxkLmlkLCB7IHJlZmVyZW5jZWRFbnRpdHlLZXk6IHRyaW1tZWQgfHwgdW5kZWZpbmVkIH0pO1xuICAgIHRoaXMuY2hlY2tEcmlmdEZvckZpZWxkKGZpZWxkLmlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVGaWVsZElkKGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZywgZmllbGRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGZpZWxkSWQudHJpbSgpO1xuICAgIHRoaXMuc3RvcmUudXBkYXRlRmllbGQoZmllbGQuaWQsIHsgcmVmZXJlbmNlZEZpZWxkSWQ6IHRyaW1tZWQgfHwgdW5kZWZpbmVkIH0pO1xuICAgIHRoaXMuY2hlY2tEcmlmdEZvckZpZWxkKGZpZWxkLmlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzeW5jV2l0aFNvdXJjZShmaWVsZDogTmVzdGVkRmllbGRDb25maWcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIWZpZWxkLnJlZmVyZW5jZWRFbnRpdHlLZXkgfHwgIWZpZWxkLnJlZmVyZW5jZWRGaWVsZElkIHx8ICF0aGlzLmNvbmZpZ1NvdXJjZSkgcmV0dXJuO1xuICAgIGNvbnN0IHNvdXJjZUNvbmZpZyA9IGF3YWl0IHRoaXMuY29uZmlnU291cmNlLmdldENvbmZpZyhmaWVsZC5yZWZlcmVuY2VkRW50aXR5S2V5KTtcbiAgICBpZiAoIXNvdXJjZUNvbmZpZykgcmV0dXJuO1xuXG4gICAgY29uc3Qgc291cmNlRmllbGQgPSB0aGlzLmZpbmRGaWVsZChzb3VyY2VDb25maWcudGFicyA/PyBbXSwgZmllbGQucmVmZXJlbmNlZEZpZWxkSWQpO1xuICAgIGlmIChzb3VyY2VGaWVsZCkge1xuICAgICAgdGhpcy5zdG9yZS5zeW5jUmVmZXJlbmNlZEZpZWxkKGZpZWxkLmlkLCBzb3VyY2VGaWVsZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJvdGggY2FsbGVycyBwYXNzIHRoZSBpZCBvZiB0aGUgZmllbGQgdGhleSBqdXN0IGVkaXRlZC4gVGhpcyB1c2VkIHRvIGlnbm9yZSB0aGF0XG4gICAqIGFyZ3VtZW50IGFuZCByZWFkIGBzdG9yZS5zZWxlY3RlZEZpZWxkKClgIGluc3RlYWQsIHNvIHdoZW5ldmVyIHRoZSBlZGl0ZWQgZmllbGQgd2FzIG5vdFxuICAgKiB0aGUgc2VsZWN0ZWQgb25lIGl0IGNoZWNrZWQgZHJpZnQgYWdhaW5zdCB0aGUgd3JvbmcgZmllbGQncyBzb3VyY2UgZW50aXR5IOKAlCBvciBiYWlsZWRcbiAgICogb3V0IGVudGlyZWx5IGlmIG5vdGhpbmcgd2FzIHNlbGVjdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0RyaWZ0Rm9yRmllbGQoZmllbGRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZiA9IHRoaXMuc3RvcmUuZmllbGRzKCkuZmluZChmaWVsZCA9PiBmaWVsZC5pZCA9PT0gZmllbGRJZCk7XG4gICAgaWYgKCFmIHx8ICFmLmlzUmVmZXJlbmNlZCB8fCAhZi5yZWZlcmVuY2VkRW50aXR5S2V5IHx8ICFmLnJlZmVyZW5jZWRGaWVsZElkIHx8ICF0aGlzLmNvbmZpZ1NvdXJjZSkgcmV0dXJuO1xuICAgIGNvbnN0IHNvdXJjZUNvbmZpZyA9IGF3YWl0IHRoaXMuY29uZmlnU291cmNlLmdldENvbmZpZyhmLnJlZmVyZW5jZWRFbnRpdHlLZXkpO1xuICAgIGlmIChzb3VyY2VDb25maWcpIHtcbiAgICAgIHRoaXMuc3RvcmUuY2hlY2tEcmlmdCh7IFtmLnJlZmVyZW5jZWRFbnRpdHlLZXldOiBzb3VyY2VDb25maWcgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRmllbGQodGFiczogYW55W10sIGlkOiBzdHJpbmcpOiBOZXN0ZWRGaWVsZENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChjb25zdCB0IG9mIHRhYnMpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiB0LmZpZWxkcyA/PyBbXSkge1xuICAgICAgICBpZiAoZi5pZCA9PT0gaWQpIHJldHVybiBmO1xuICAgICAgICBpZiAoZi5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgcmVzID0gdGhpcy5maW5kRmllbGRJbkxpc3QoZi5jaGlsZHJlbiwgaWQpO1xuICAgICAgICAgIGlmIChyZXMpIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEZpZWxkSW5MaXN0KGZpZWxkczogTmVzdGVkRmllbGRDb25maWdbXSwgaWQ6IHN0cmluZyk6IE5lc3RlZEZpZWxkQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGNvbnN0IGYgb2YgZmllbGRzKSB7XG4gICAgICBpZiAoZi5pZCA9PT0gaWQpIHJldHVybiBmO1xuICAgICAgaWYgKGYuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCByZXMgPSB0aGlzLmZpbmRGaWVsZEluTGlzdChmLmNoaWxkcmVuLCBpZCk7XG4gICAgICAgIGlmIChyZXMpIHJldHVybiByZXM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { MatButtonModule } from '@angular/material/button';
@@ -117,11 +117,11 @@ export class RuleFormComponent {
117
117
  <button mat-raised-button color="primary" type="button" (click)="save.emit(rule)">Save Rule</button>
118
118
  </div>
119
119
  </div>
120
- `, isInline: true, styles: [".deb-rule-form{display:flex;flex-direction:column;gap:12px;background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.deb-rule-form__title{margin:0 0 8px;font-size:16px;font-weight:600}.deb-full{width:100%}.deb-rule-section{display:flex;flex-direction:column;gap:8px}.deb-rule-section h4{margin:0;font-size:13px;font-weight:600;color:#555}.deb-rule-row{display:flex;gap:8px;align-items:center}.deb-rule-row>*{flex:1}.deb-rule-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }] });
120
+ `, isInline: true, styles: [".deb-rule-form{display:flex;flex-direction:column;gap:12px;background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.deb-rule-form__title{margin:0 0 8px;font-size:16px;font-weight:600}.deb-full{width:100%}.deb-rule-section{display:flex;flex-direction:column;gap:8px}.deb-rule-section h4{margin:0;font-size:13px;font-weight:600;color:#555}.deb-rule-row{display:flex;gap:8px;align-items:center}.deb-rule-row>*{flex:1}.deb-rule-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
121
121
  }
122
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RuleFormComponent, decorators: [{
123
123
  type: Component,
124
- args: [{ selector: 'ngx-rule-form', standalone: true, imports: [
124
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ngx-rule-form', standalone: true, imports: [
125
125
  CommonModule,
126
126
  FormsModule,
127
127
  MatButtonModule,
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
198
198
  }], cancel: [{
199
199
  type: Output
200
200
  }] } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ydWxlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQUkzRDs7R0FFRztBQTBISCxNQUFNLE9BQU8saUJBQWlCO0lBQ25CLElBQUksR0FBYTtRQUN4QixZQUFZLEVBQUUsUUFBUTtRQUN0QixPQUFPLEVBQUUsRUFBRTtRQUNYLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNwRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDNUMsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxDQUFDO0tBQ1osQ0FBQztJQUVRLElBQUksR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRW5DLFNBQVMsR0FBbUI7UUFDbkMsT0FBTztRQUNQLFdBQVc7UUFDWCxVQUFVO1FBQ1YsY0FBYztRQUNkLGFBQWE7UUFDYixXQUFXO1FBQ1gsVUFBVTtRQUNWLGNBQWM7UUFDZCxXQUFXO1FBQ1gsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLFlBQVk7UUFDWixJQUFJO1FBQ0osUUFBUTtRQUNSLFdBQVc7UUFDWCxlQUFlO0tBQ2hCLENBQUM7SUFFRixZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBekNVLGlCQUFpQjs0RkFBakIsaUJBQWlCLGdKQTdHbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RFQsaWxCQXJFQyxZQUFZLDhCQUNaLFdBQVcsOG1CQUNYLGVBQWUsd1VBQ2Ysa0JBQWtCLDBTQUNsQixhQUFhLG1MQUNiLGNBQWMsMFdBQ2QsZUFBZTs7NEZBK0dOLGlCQUFpQjtrQkF6SDdCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRUOzhCQWlEUSxJQUFJO3NCQUFaLEtBQUs7Z0JBVUksSUFBSTtzQkFBYixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB0eXBlIHsgRm9ybVJ1bGUsIFJ1bGVPcGVyYXRvciB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcblxuLyoqXG4gKiBSdWxlRm9ybUNvbXBvbmVudCDigJQgZGlhbG9nL3BhbmVsIGZvcm0gZm9yIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBGb3JtUnVsZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXJ1bGUtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtZm9ybVwiPlxuICAgICAgPGgzIGNsYXNzPVwiZGViLXJ1bGUtZm9ybV9fdGl0bGVcIj57eyBydWxlLmlkID8gJ0VkaXQgUnVsZScgOiAnTmV3IEZvcm0gUnVsZScgfX08L2gzPlxuXG4gICAgICA8IS0tIFRyaWdnZXIgRmllbGQgLS0+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICA8bWF0LWxhYmVsPlRyaWdnZXIgRmllbGQgSUQ8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwicnVsZS5maWVsZElkXCIgcGxhY2Vob2xkZXI9XCJlLmcuIHN0YXR1c1wiIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8IS0tIENvbmRpdGlvbnMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtc2VjdGlvblwiPlxuICAgICAgICA8aDQ+Q29uZGl0aW9uczwvaDQ+XG4gICAgICAgIEBmb3IgKGNvbmQgb2YgcnVsZS5jb25kaXRpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtcm93XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+T3BlcmF0b3I8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJjb25kLm9wZXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgQGZvciAob3Agb2Ygb3BlcmF0b3JzOyB0cmFjayBvcCkge1xuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wXCI+e3sgb3AgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlZhbHVlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImNvbmQudmFsdWVcIiBwbGFjZWhvbGRlcj1cIkNvbmRpdGlvbiB2YWx1ZVwiIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJ3YXJuXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZW1vdmVDb25kaXRpb24oJGluZGV4KVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYWRkQ29uZGl0aW9uKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj4gQWRkIENvbmRpdGlvblxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEFjdGlvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItcnVsZS1zZWN0aW9uXCI+XG4gICAgICAgIDxoND5BY3Rpb248L2g0PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtcm93XCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5BY3Rpb24gVHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJydWxlLmFjdGlvbi50eXBlXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwidmlzaWJpbGl0eVwiPlZpc2liaWxpdHkgKFNob3cvSGlkZSk8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwidmFsaWRhdGlvblwiPlZhbGlkYXRpb24gTWVzc2FnZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJpbmZvXCI+SW5mbyBCYW5uZXI8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlZhbHVlIC8gTWVzc2FnZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwicnVsZS5hY3Rpb24udmFsdWVcIiBwbGFjZWhvbGRlcj1cImZhbHNlIHRvIGhpZGUsIG9yIG1lc3NhZ2UgdGV4dFwiIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWZvcm1fX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FuY2VsLmVtaXQoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2F2ZS5lbWl0KHJ1bGUpXCI+U2F2ZSBSdWxlPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRlYi1ydWxlLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1mb3JtX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweCAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgICAuZGViLWZ1bGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtc2VjdGlvbiBoNCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1yb3cgPiAqIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1mb3JtX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSdWxlRm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJ1bGU6IEZvcm1SdWxlID0ge1xuICAgIGZvcm1Db25maWdJZDogJ2Zvcm0tMScsXG4gICAgZmllbGRJZDogJycsXG4gICAgY29uZGl0aW9uczogW3sgb3BlcmF0b3I6ICdFUVVBTCcsIGNvbXBhcmVUeXBlOiAndmFsdWUnLCB2YWx1ZTogJycgfV0sXG4gICAgYWN0aW9uOiB7IHR5cGU6ICd2aXNpYmlsaXR5JywgdmFsdWU6IGZhbHNlIH0sXG4gICAgdGFyZ2V0czogW10sXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBwcmlvcml0eTogMSxcbiAgfTtcblxuICBAT3V0cHV0KCkgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybVJ1bGU+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgb3BlcmF0b3JzOiBSdWxlT3BlcmF0b3JbXSA9IFtcbiAgICAnRVFVQUwnLFxuICAgICdOT1RfRVFVQUwnLFxuICAgICdDT05UQUlOUycsXG4gICAgJ05PVF9DT05UQUlOUycsXG4gICAgJ1NUQVJUU19XSVRIJyxcbiAgICAnRU5EU19XSVRIJyxcbiAgICAnSVNfRU1QVFknLFxuICAgICdJU19OT1RfRU1QVFknLFxuICAgICdMRVNTX1RIQU4nLFxuICAgICdNT1JFX1RIQU4nLFxuICAgICdMRVNTX1RIQU5fRVFVQUwnLFxuICAgICdNT1JFX1RIQU5fRVFVQUwnLFxuICAgICdEQVRFX0JFRk9SRScsXG4gICAgJ0RBVEVfQUZURVInLFxuICAgICdJTicsXG4gICAgJ05PVF9JTicsXG4gICAgJ0hBU19JVEVNUycsXG4gICAgJ1ZBTFVFX0NIQU5HRUQnLFxuICBdO1xuXG4gIGFkZENvbmRpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bGUuY29uZGl0aW9ucy5wdXNoKHsgb3BlcmF0b3I6ICdFUVVBTCcsIGNvbXBhcmVUeXBlOiAndmFsdWUnLCB2YWx1ZTogJycgfSk7XG4gIH1cblxuICByZW1vdmVDb25kaXRpb24oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucnVsZS5jb25kaXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gIH1cbn1cbiJdfQ==
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ydWxlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQUkzRDs7R0FFRztBQTJISCxNQUFNLE9BQU8saUJBQWlCO0lBQ25CLElBQUksR0FBYTtRQUN4QixZQUFZLEVBQUUsUUFBUTtRQUN0QixPQUFPLEVBQUUsRUFBRTtRQUNYLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNwRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDNUMsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFBRSxDQUFDO0tBQ1osQ0FBQztJQUVRLElBQUksR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRW5DLFNBQVMsR0FBbUI7UUFDbkMsT0FBTztRQUNQLFdBQVc7UUFDWCxVQUFVO1FBQ1YsY0FBYztRQUNkLGFBQWE7UUFDYixXQUFXO1FBQ1gsVUFBVTtRQUNWLGNBQWM7UUFDZCxXQUFXO1FBQ1gsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLFlBQVk7UUFDWixJQUFJO1FBQ0osUUFBUTtRQUNSLFdBQVc7UUFDWCxlQUFlO0tBQ2hCLENBQUM7SUFFRixZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBekNVLGlCQUFpQjs0RkFBakIsaUJBQWlCLGdKQTdHbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RFQsaWxCQXJFQyxZQUFZLDhCQUNaLFdBQVcsOG1CQUNYLGVBQWUsd1VBQ2Ysa0JBQWtCLDBTQUNsQixhQUFhLG1MQUNiLGNBQWMsMFdBQ2QsZUFBZTs7NEZBK0dOLGlCQUFpQjtrQkExSDdCLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7cUJBQ2hCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RFQ7OEJBaURRLElBQUk7c0JBQVosS0FBSztnQkFVSSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB0eXBlIHsgRm9ybVJ1bGUsIFJ1bGVPcGVyYXRvciB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcblxuLyoqXG4gKiBSdWxlRm9ybUNvbXBvbmVudCDigJQgZGlhbG9nL3BhbmVsIGZvcm0gZm9yIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBGb3JtUnVsZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ25neC1ydWxlLWZvcm0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWZvcm1cIj5cbiAgICAgIDxoMyBjbGFzcz1cImRlYi1ydWxlLWZvcm1fX3RpdGxlXCI+e3sgcnVsZS5pZCA/ICdFZGl0IFJ1bGUnIDogJ05ldyBGb3JtIFJ1bGUnIH19PC9oMz5cblxuICAgICAgPCEtLSBUcmlnZ2VyIEZpZWxkIC0tPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5UcmlnZ2VyIEZpZWxkIElEPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJ1bGUuZmllbGRJZFwiIHBsYWNlaG9sZGVyPVwiZS5nLiBzdGF0dXNcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPCEtLSBDb25kaXRpb25zIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLXNlY3Rpb25cIj5cbiAgICAgICAgPGg0PkNvbmRpdGlvbnM8L2g0PlxuICAgICAgICBAZm9yIChjb25kIG9mIHJ1bGUuY29uZGl0aW9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLXJvd1wiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPk9wZXJhdG9yPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiY29uZC5vcGVyYXRvclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG9wIG9mIG9wZXJhdG9yczsgdHJhY2sgb3ApIHtcbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcFwiPnt7IG9wIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5WYWx1ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJjb25kLnZhbHVlXCIgcGxhY2Vob2xkZXI9XCJDb25kaXRpb24gdmFsdWVcIiAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwid2FyblwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVtb3ZlQ29uZGl0aW9uKCRpbmRleClcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFkZENvbmRpdGlvbigpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+IEFkZCBDb25kaXRpb25cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBBY3Rpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtc2VjdGlvblwiPlxuICAgICAgICA8aDQ+QWN0aW9uPC9oND5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLXJvd1wiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+QWN0aW9uIFR5cGU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwicnVsZS5hY3Rpb24udHlwZVwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cInZpc2liaWxpdHlcIj5WaXNpYmlsaXR5IChTaG93L0hpZGUpPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cInZhbGlkYXRpb25cIj5WYWxpZGF0aW9uIE1lc3NhZ2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiaW5mb1wiPkluZm8gQmFubmVyPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5WYWx1ZSAvIE1lc3NhZ2U8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJ1bGUuYWN0aW9uLnZhbHVlXCIgcGxhY2Vob2xkZXI9XCJmYWxzZSB0byBoaWRlLCBvciBtZXNzYWdlIHRleHRcIiAvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItcnVsZS1mb3JtX19hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbC5lbWl0KClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNhdmUuZW1pdChydWxlKVwiPlNhdmUgUnVsZTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kZWItcnVsZS1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtZm9ybV9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgICAgLmRlYi1mdWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmRlYi1ydWxlLXNlY3Rpb24gaDQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtcm93ID4gKiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtZm9ybV9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUnVsZUZvcm1Db21wb25lbnQge1xuICBASW5wdXQoKSBydWxlOiBGb3JtUnVsZSA9IHtcbiAgICBmb3JtQ29uZmlnSWQ6ICdmb3JtLTEnLFxuICAgIGZpZWxkSWQ6ICcnLFxuICAgIGNvbmRpdGlvbnM6IFt7IG9wZXJhdG9yOiAnRVFVQUwnLCBjb21wYXJlVHlwZTogJ3ZhbHVlJywgdmFsdWU6ICcnIH1dLFxuICAgIGFjdGlvbjogeyB0eXBlOiAndmlzaWJpbGl0eScsIHZhbHVlOiBmYWxzZSB9LFxuICAgIHRhcmdldHM6IFtdLFxuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgcHJpb3JpdHk6IDEsXG4gIH07XG5cbiAgQE91dHB1dCgpIHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1SdWxlPigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IG9wZXJhdG9yczogUnVsZU9wZXJhdG9yW10gPSBbXG4gICAgJ0VRVUFMJyxcbiAgICAnTk9UX0VRVUFMJyxcbiAgICAnQ09OVEFJTlMnLFxuICAgICdOT1RfQ09OVEFJTlMnLFxuICAgICdTVEFSVFNfV0lUSCcsXG4gICAgJ0VORFNfV0lUSCcsXG4gICAgJ0lTX0VNUFRZJyxcbiAgICAnSVNfTk9UX0VNUFRZJyxcbiAgICAnTEVTU19USEFOJyxcbiAgICAnTU9SRV9USEFOJyxcbiAgICAnTEVTU19USEFOX0VRVUFMJyxcbiAgICAnTU9SRV9USEFOX0VRVUFMJyxcbiAgICAnREFURV9CRUZPUkUnLFxuICAgICdEQVRFX0FGVEVSJyxcbiAgICAnSU4nLFxuICAgICdOT1RfSU4nLFxuICAgICdIQVNfSVRFTVMnLFxuICAgICdWQUxVRV9DSEFOR0VEJyxcbiAgXTtcblxuICBhZGRDb25kaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5ydWxlLmNvbmRpdGlvbnMucHVzaCh7IG9wZXJhdG9yOiAnRVFVQUwnLCBjb21wYXJlVHlwZTogJ3ZhbHVlJywgdmFsdWU6ICcnIH0pO1xuICB9XG5cbiAgcmVtb3ZlQ29uZGl0aW9uKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bGUuY29uZGl0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
2
  import { FormsModule } from '@angular/forms';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatCheckboxModule } from '@angular/material/checkbox';
@@ -82,7 +82,7 @@ export class TabManagerComponent {
82
82
  type="button"
83
83
  [disabled]="i === 0 || !canEditTab(tab)"
84
84
  (click)="store.moveTab(tab.id, -1)"
85
- matTooltip="Move up"
85
+ matTooltip="Move up" aria-label="Move tab up"
86
86
  >
87
87
  <mat-icon>arrow_upward</mat-icon>
88
88
  </button>
@@ -91,7 +91,7 @@ export class TabManagerComponent {
91
91
  type="button"
92
92
  [disabled]="i === count - 1 || !canEditTab(tab)"
93
93
  (click)="store.moveTab(tab.id, 1)"
94
- matTooltip="Move down"
94
+ matTooltip="Move down" aria-label="Move tab down"
95
95
  >
96
96
  <mat-icon>arrow_downward</mat-icon>
97
97
  </button>
@@ -101,7 +101,7 @@ export class TabManagerComponent {
101
101
  color="warn"
102
102
  [disabled]="!canEditTab(tab)"
103
103
  (click)="store.removeTab(tab.id)"
104
- matTooltip="Remove tab"
104
+ matTooltip="Remove tab" aria-label="Remove tab"
105
105
  >
106
106
  <mat-icon>delete</mat-icon>
107
107
  </button>
@@ -183,7 +183,7 @@ export class TabManagerComponent {
183
183
  color="warn"
184
184
  [disabled]="!canEditTab(sub)"
185
185
  (click)="store.removeTab(sub.id)"
186
- matTooltip="Remove sub-tab"
186
+ matTooltip="Remove sub-tab" aria-label="Remove sub-tab"
187
187
  >
188
188
  <mat-icon>delete</mat-icon>
189
189
  </button>
@@ -194,11 +194,11 @@ export class TabManagerComponent {
194
194
  </div>
195
195
  }
196
196
  </div>
197
- `, isInline: true, styles: [".deb-tabs__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.deb-tab-card{border:1px solid var(--deb-border, #e5e7eb);border-radius:8px;padding:10px;margin-bottom:10px;background:var(--deb-bg-surface, #ffffff)}.deb-tab-card--system{border-left:4px solid var(--deb-accent, #6366f1)}.deb-tabs__row{display:flex;align-items:center;gap:4px}.deb-tab-settings{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:8px;font-size:13px}.deb-tab-module{margin-top:8px}.deb-subtabs{margin-top:8px;padding-left:16px;border-left:2px dashed var(--deb-border, #e5e7eb)}.deb-subtabs__title{font-size:12px;font-weight:600;color:var(--deb-muted, #6b7280)}.deb-subtab-row{margin-top:6px}.deb-grow{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
197
+ `, isInline: true, styles: [".deb-tabs__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.deb-tab-card{border:1px solid var(--deb-border, #e5e7eb);border-radius:8px;padding:10px;margin-bottom:10px;background:var(--deb-bg-surface, #ffffff)}.deb-tab-card--system{border-left:4px solid var(--deb-accent, #6366f1)}.deb-tabs__row{display:flex;align-items:center;gap:4px}.deb-tab-settings{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:8px;font-size:13px}.deb-tab-module{margin-top:8px}.deb-subtabs{margin-top:8px;padding-left:16px;border-left:2px dashed var(--deb-border, #e5e7eb)}.deb-subtabs__title{font-size:12px;font-weight:600;color:var(--deb-muted, #6b7280)}.deb-subtab-row{margin-top:6px}.deb-grow{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
198
198
  }
199
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabManagerComponent, decorators: [{
200
200
  type: Component,
201
- args: [{ selector: 'ngx-tab-manager', standalone: true, imports: [
201
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ngx-tab-manager', standalone: true, imports: [
202
202
  FormsModule,
203
203
  MatButtonModule,
204
204
  MatCheckboxModule,
@@ -237,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
237
237
  type="button"
238
238
  [disabled]="i === 0 || !canEditTab(tab)"
239
239
  (click)="store.moveTab(tab.id, -1)"
240
- matTooltip="Move up"
240
+ matTooltip="Move up" aria-label="Move tab up"
241
241
  >
242
242
  <mat-icon>arrow_upward</mat-icon>
243
243
  </button>
@@ -246,7 +246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
246
246
  type="button"
247
247
  [disabled]="i === count - 1 || !canEditTab(tab)"
248
248
  (click)="store.moveTab(tab.id, 1)"
249
- matTooltip="Move down"
249
+ matTooltip="Move down" aria-label="Move tab down"
250
250
  >
251
251
  <mat-icon>arrow_downward</mat-icon>
252
252
  </button>
@@ -256,7 +256,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
256
256
  color="warn"
257
257
  [disabled]="!canEditTab(tab)"
258
258
  (click)="store.removeTab(tab.id)"
259
- matTooltip="Remove tab"
259
+ matTooltip="Remove tab" aria-label="Remove tab"
260
260
  >
261
261
  <mat-icon>delete</mat-icon>
262
262
  </button>
@@ -338,7 +338,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
338
338
  color="warn"
339
339
  [disabled]="!canEditTab(sub)"
340
340
  (click)="store.removeTab(sub.id)"
341
- matTooltip="Remove sub-tab"
341
+ matTooltip="Remove sub-tab" aria-label="Remove sub-tab"
342
342
  >
343
343
  <mat-icon>delete</mat-icon>
344
344
  </button>
@@ -351,4 +351,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
351
351
  </div>
352
352
  `, styles: [".deb-tabs__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.deb-tab-card{border:1px solid var(--deb-border, #e5e7eb);border-radius:8px;padding:10px;margin-bottom:10px;background:var(--deb-bg-surface, #ffffff)}.deb-tab-card--system{border-left:4px solid var(--deb-accent, #6366f1)}.deb-tabs__row{display:flex;align-items:center;gap:4px}.deb-tab-settings{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:8px;font-size:13px}.deb-tab-module{margin-top:8px}.deb-subtabs{margin-top:8px;padding-left:16px;border-left:2px dashed var(--deb-border, #e5e7eb)}.deb-subtabs__title{font-size:12px;font-weight:600;color:var(--deb-muted, #6b7280)}.deb-subtab-row{margin-top:6px}.deb-grow{flex:1}\n"] }]
353
353
  }] });
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RhYi1tYW5hZ2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBRXhEOzs7Ozs7OztHQVFHO0FBQ0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFrTkgsTUFBTSxPQUFPLG1CQUFtQjtJQUNYLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsdUJBQXVCLEdBQUcsTUFBTSxDQUErQix1QkFBdUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRW5ILElBQUk7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVTLFFBQVEsQ0FBQyxHQUFvQjtRQUNyQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUyxVQUFVLENBQUMsR0FBb0I7UUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNqQyxvRkFBb0Y7WUFDcEYsb0ZBQW9GO1lBQ3BGLHlFQUF5RTtZQUN6RSxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0FyQlUsbUJBQW1COzRGQUFuQixtQkFBbUIsMkVBcE1wQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThJVCw4eUJBdkpDLFdBQVcsOG1CQUNYLGVBQWUsd1VBQ2YsaUJBQWlCLDZXQUNqQixrQkFBa0IsMFNBQ2xCLGFBQWEsbUxBQ2IsY0FBYywwV0FDZCxvQkFBb0IsOEJBQ3BCLGdCQUFnQjs7NEZBc01QLG1CQUFtQjtrQkFqTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3FCQUNqQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOElUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB0eXBlIHsgTmVzdGVkVGFiQ29uZmlnIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgcmVzb2x2ZUxhYmVsIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgU1lTVEVNX0RFRkFVTFRfQ0FOX0VESVQgfSBmcm9tICduZ3gtZHluYW1pYy1lbnRpdHknO1xuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcblxuLyoqXG4gKiBSZS1leHBvcnRlZCBzbyBleGlzdGluZyBpbXBvcnRzIGZyb20gdGhpcyBwYWNrYWdlIGtlZXAgd29ya2luZy5cbiAqXG4gKiBUaGlzIGZpbGUgdXNlZCB0byBkZWNsYXJlIGl0cyBvd24gYG5ldyBJbmplY3Rpb25Ub2tlbignU1lTVEVNX0RFRkFVTFRfQ0FOX0VESVQnKWAgd2hpbGVcbiAqIGBuZ3gtZHluYW1pYy1lbnRpdHlgIGV4cG9ydGVkIGFub3RoZXIgdW5kZXIgdGhlIHNhbWUgbmFtZS4gSW5qZWN0aW9uVG9rZW4gaWRlbnRpdHkgaXMgYnlcbiAqIG9iamVjdCByZWZlcmVuY2UsIHNvIGEgY29uc3VtZXIgcHJvdmlkaW5nIHRoZSByZW5kZXJlcidzIOKAlCB0aGUgZG9jdW1lbnRlZCBvbmUg4oCUIHdhc1xuICogcHJvdmlkaW5nIGEgdG9rZW4gbm90aGluZyBpbmplY3RlZCwgYW5kIHRoZSBwcmVkaWNhdGUgc2lsZW50bHkgbmV2ZXIgcmFuLiBPbmUgdG9rZW4gbm93LFxuICogZGVmaW5lZCBpbiB0aGUgbG93ZXItbGV2ZWwgcGFja2FnZSB0aGF0IGJvdGggZGVwZW5kIG9uLlxuICovXG5leHBvcnQgeyBTWVNURU1fREVGQVVMVF9DQU5fRURJVCB9O1xuXG4vKipcbiAqIFRhYk1hbmFnZXJDb21wb25lbnQg4oCUIGFkZCAvIHJlbmFtZSAvIHJlb3JkZXIgLyByZW1vdmUgdGFicyAmIHN1Yi10YWJzIHdpdGggc3lzdGVtRGVmYXVsdCBwcm90ZWN0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtdGFiLW1hbmFnZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRlYi10YWJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXRhYnNfX2hlYWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWItc2VjdGlvbi10aXRsZVwiPlRhYnMgTWFuYWdlcjwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzdG9yZS5hZGRUYWIoKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPiBBZGQgVGFiXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoc3RvcmUudGFicygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8cCBjbGFzcz1cImRlYi1oaW50XCI+Tm8gdGFicyDigJQgYWxsIGZpZWxkcyByZW5kZXIgaW4gYSBzaW5nbGUgc2VjdGlvbi48L3A+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKHRhYiBvZiBzdG9yZS50YWJzKCk7IHRyYWNrIHRhYi5pZDsgbGV0IGkgPSAkaW5kZXgsIGNvdW50ID0gJGNvdW50KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWItdGFiLWNhcmRcIiBbY2xhc3MuZGViLXRhYi1jYXJkLS1zeXN0ZW1dPVwidGFiLnN5c3RlbURlZmF1bHRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXRhYnNfX3Jvd1wiIFthdHRyLmRhdGEtdGVzdGlkXT1cIid0YWItcm93LScgKyB0YWIuaWRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1ncm93XCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgdGFiLmlkIH19IHt7IHRhYi5zeXN0ZW1EZWZhdWx0ID8gJyhTeXN0ZW0pJyA6ICcnIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5FZGl0VGFiKHRhYilcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInRhYkxhYmVsKHRhYilcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInN0b3JlLnNldFRhYkxhYmVsKHRhYi5pZCwgbGFuZygpLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImkgPT09IDAgfHwgIWNhbkVkaXRUYWIodGFiKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdG9yZS5tb3ZlVGFiKHRhYi5pZCwgLTEpXCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vdmUgdXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpID09PSBjb3VudCAtIDEgfHwgIWNhbkVkaXRUYWIodGFiKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdG9yZS5tb3ZlVGFiKHRhYi5pZCwgMSlcIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW92ZSBkb3duXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Rvd253YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRWRpdFRhYih0YWIpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLnJlbW92ZVRhYih0YWIuaWQpXCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlJlbW92ZSB0YWJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBUYWIgc2V0dGluZ3Mgcm93IC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWItdGFiLXNldHRpbmdzXCI+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRWRpdFRhYih0YWIpXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwidGFiLmZsYXREYXRhXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic3RvcmUudXBkYXRlVGFiKHRhYi5pZCwgeyBmbGF0RGF0YTogJGV2ZW50IH0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgRmxhdCBEYXRhXG4gICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5FZGl0VGFiKHRhYilcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ0YWIuaXNQcmltYXJ5VGFiXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiJGV2ZW50ID8gc3RvcmUuc2V0UHJpbWFyeVRhYih0YWIuaWQpIDogc3RvcmUudXBkYXRlVGFiKHRhYi5pZCwgeyBpc1ByaW1hcnlUYWI6IGZhbHNlIH0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUHJpbWFyeSBUYWJcbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkVkaXRUYWIodGFiKVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cInRhYi5tYXNrRGF0YVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInN0b3JlLnVwZGF0ZVRhYih0YWIuaWQsIHsgbWFza0RhdGE6ICRldmVudCB9KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIE1hc2sgVGFiIERhdGFcbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkVkaXRUYWIodGFiKVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cInRhYi5zeXN0ZW1EZWZhdWx0XCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic3RvcmUudXBkYXRlVGFiKHRhYi5pZCwgeyBzeXN0ZW1EZWZhdWx0OiAkZXZlbnQgfSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBTeXN0ZW0gRGVmYXVsdFxuICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRWRpdFRhYih0YWIpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLmFkZFN1YlRhYih0YWIuaWQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgKyBTdWItdGFiXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gTW9kdWxlIHRhYiBjb25maWd1cmF0aW9uIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWItdGFiLW1vZHVsZVwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWdyb3dcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Db25zdW1lciBNb2R1bGUgTmFtZSAoT3B0aW9uYWwpPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIGRvY3VtZW50cy12aWV3XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkVkaXRUYWIodGFiKVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidGFiLm1vZHVsZU5hbWVcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInN0b3JlLnVwZGF0ZVRhYih0YWIuaWQsIHsgbW9kdWxlTmFtZTogJGV2ZW50IHx8IHVuZGVmaW5lZCB9KVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBTdWItdGFicyByZWN1cnNpdmUgcmVuZGVyIChMZXZlbCAyKSAtLT5cbiAgICAgICAgICBAaWYgKHRhYi5jaGlsZHJlbiAmJiB0YWIuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1zdWJ0YWJzXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXN1YnRhYnNfX3RpdGxlXCI+U3ViLXRhYnM6PC9zcGFuPlxuICAgICAgICAgICAgICBAZm9yIChzdWIgb2YgdGFiLmNoaWxkcmVuOyB0cmFjayBzdWIuaWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXRhYnNfX3JvdyBkZWItc3VidGFiLXJvd1wiIFthdHRyLmRhdGEtdGVzdGlkXT1cIidzdWJ0YWItcm93LScgKyBzdWIuaWRcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1ncm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgc3ViLmlkIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5FZGl0VGFiKHN1YilcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInRhYkxhYmVsKHN1YilcIlxuICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInN0b3JlLnNldFRhYkxhYmVsKHN1Yi5pZCwgbGFuZygpLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5FZGl0VGFiKHN1YilcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUucmVtb3ZlVGFiKHN1Yi5pZClcIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiUmVtb3ZlIHN1Yi10YWJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZGViLXRhYnNfX2hlYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAuZGViLXRhYi1jYXJkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGViLWJvcmRlciwgI2U1ZTdlYik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGViLWJnLXN1cmZhY2UsICNmZmZmZmYpO1xuICAgICAgfVxuICAgICAgLmRlYi10YWItY2FyZC0tc3lzdGVtIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1kZWItYWNjZW50LCAjNjM2NmYxKTtcbiAgICAgIH1cbiAgICAgIC5kZWItdGFic19fcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgICB9XG4gICAgICAuZGViLXRhYi1zZXR0aW5ncyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiA4cHggMTZweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG4gICAgICAuZGViLXRhYi1tb2R1bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICB9XG4gICAgICAuZGViLXN1YnRhYnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBkYXNoZWQgdmFyKC0tZGViLWJvcmRlciwgI2U1ZTdlYik7XG4gICAgICB9XG4gICAgICAuZGViLXN1YnRhYnNfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZGViLW11dGVkLCAjNmI3MjgwKTtcbiAgICAgIH1cbiAgICAgIC5kZWItc3VidGFiLXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgIH1cbiAgICAgIC5kZWItZ3JvdyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFiTWFuYWdlckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChCdWlsZGVyU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbkVkaXRTeXN0ZW1EZWZhdWx0c0ZuID0gaW5qZWN0PChyb2xlczogc3RyaW5nW10pID0+IGJvb2xlYW4+KFNZU1RFTV9ERUZBVUxUX0NBTl9FRElULCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByb3RlY3RlZCBsYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuYWN0aXZlTGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YWJMYWJlbCh0YWI6IHsgbGFiZWw/OiBhbnkgfSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJlc29sdmVMYWJlbCh0YWIubGFiZWwsIHRoaXMubGFuZygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYW5FZGl0VGFiKHRhYjogTmVzdGVkVGFiQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0YWIuc3lzdGVtRGVmYXVsdCkgcmV0dXJuIHRydWU7XG4gICAgaWYgKHRoaXMuY2FuRWRpdFN5c3RlbURlZmF1bHRzRm4pIHtcbiAgICAgIC8vIFRoZSBwcmVkaWNhdGUncyBlbnRpcmUgY29udHJhY3QgaXMgKHJvbGVzKSA9PiBib29sZWFuLiBUaGlzIHBhc3NlZCBhIGhhcmRjb2RlZCBbXVxuICAgICAgLy8gcmVnYXJkbGVzcyBvZiB3aG8gd2FzIHVzaW5nIHRoZSBidWlsZGVyLCBzbyBhbnkgcHJlZGljYXRlIHRoYXQgYWN0dWFsbHkgaW5zcGVjdGVkXG4gICAgICAvLyByb2xlcyBhbnN3ZXJlZCBmYWxzZSBmb3IgZXZlcnlvbmUgYW5kIGxvY2tlZCBldmVyeSBzeXN0ZW0tZGVmYXVsdCB0YWIuXG4gICAgICByZXR1cm4gdGhpcy5jYW5FZGl0U3lzdGVtRGVmYXVsdHNGbih0aGlzLnN0b3JlLnVzZXJSb2xlcygpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RhYi1tYW5hZ2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBRXhEOzs7Ozs7OztHQVFHO0FBQ0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFtTkgsTUFBTSxPQUFPLG1CQUFtQjtJQUNYLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsdUJBQXVCLEdBQUcsTUFBTSxDQUErQix1QkFBdUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRW5ILElBQUk7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVTLFFBQVEsQ0FBQyxHQUFvQjtRQUNyQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUyxVQUFVLENBQUMsR0FBb0I7UUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNqQyxvRkFBb0Y7WUFDcEYsb0ZBQW9GO1lBQ3BGLHlFQUF5RTtZQUN6RSxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0FyQlUsbUJBQW1COzRGQUFuQixtQkFBbUIsMkVBcE1wQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThJVCw4eUJBdkpDLFdBQVcsOG1CQUNYLGVBQWUsd1VBQ2YsaUJBQWlCLDZXQUNqQixrQkFBa0IsMFNBQ2xCLGFBQWEsbUxBQ2IsY0FBYywwV0FDZCxvQkFBb0IsOEJBQ3BCLGdCQUFnQjs7NEZBc01QLG1CQUFtQjtrQkFsTi9CLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxpQkFBaUIsY0FDZixJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixnQkFBZ0I7cUJBQ2pCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4SVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB0eXBlIHsgTmVzdGVkVGFiQ29uZmlnIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgcmVzb2x2ZUxhYmVsIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgU1lTVEVNX0RFRkFVTFRfQ0FOX0VESVQgfSBmcm9tICduZ3gtZHluYW1pYy1lbnRpdHknO1xuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcblxuLyoqXG4gKiBSZS1leHBvcnRlZCBzbyBleGlzdGluZyBpbXBvcnRzIGZyb20gdGhpcyBwYWNrYWdlIGtlZXAgd29ya2luZy5cbiAqXG4gKiBUaGlzIGZpbGUgdXNlZCB0byBkZWNsYXJlIGl0cyBvd24gYG5ldyBJbmplY3Rpb25Ub2tlbignU1lTVEVNX0RFRkFVTFRfQ0FOX0VESVQnKWAgd2hpbGVcbiAqIGBuZ3gtZHluYW1pYy1lbnRpdHlgIGV4cG9ydGVkIGFub3RoZXIgdW5kZXIgdGhlIHNhbWUgbmFtZS4gSW5qZWN0aW9uVG9rZW4gaWRlbnRpdHkgaXMgYnlcbiAqIG9iamVjdCByZWZlcmVuY2UsIHNvIGEgY29uc3VtZXIgcHJvdmlkaW5nIHRoZSByZW5kZXJlcidzIOKAlCB0aGUgZG9jdW1lbnRlZCBvbmUg4oCUIHdhc1xuICogcHJvdmlkaW5nIGEgdG9rZW4gbm90aGluZyBpbmplY3RlZCwgYW5kIHRoZSBwcmVkaWNhdGUgc2lsZW50bHkgbmV2ZXIgcmFuLiBPbmUgdG9rZW4gbm93LFxuICogZGVmaW5lZCBpbiB0aGUgbG93ZXItbGV2ZWwgcGFja2FnZSB0aGF0IGJvdGggZGVwZW5kIG9uLlxuICovXG5leHBvcnQgeyBTWVNURU1fREVGQVVMVF9DQU5fRURJVCB9O1xuXG4vKipcbiAqIFRhYk1hbmFnZXJDb21wb25lbnQg4oCUIGFkZCAvIHJlbmFtZSAvIHJlb3JkZXIgLyByZW1vdmUgdGFicyAmIHN1Yi10YWJzIHdpdGggc3lzdGVtRGVmYXVsdCBwcm90ZWN0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnbmd4LXRhYi1tYW5hZ2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkZWItdGFic1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImRlYi10YWJzX19oZWFkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXNlY3Rpb24tdGl0bGVcIj5UYWJzIE1hbmFnZXI8L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic3RvcmUuYWRkVGFiKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj4gQWRkIFRhYlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHN0b3JlLnRhYnMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgPHAgY2xhc3M9XCJkZWItaGludFwiPk5vIHRhYnMg4oCUIGFsbCBmaWVsZHMgcmVuZGVyIGluIGEgc2luZ2xlIHNlY3Rpb24uPC9wPlxuICAgICAgfVxuXG4gICAgICBAZm9yICh0YWIgb2Ygc3RvcmUudGFicygpOyB0cmFjayB0YWIuaWQ7IGxldCBpID0gJGluZGV4LCBjb3VudCA9ICRjb3VudCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXRhYi1jYXJkXCIgW2NsYXNzLmRlYi10YWItY2FyZC0tc3lzdGVtXT1cInRhYi5zeXN0ZW1EZWZhdWx0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi10YWJzX19yb3dcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCIndGFiLXJvdy0nICsgdGFiLmlkXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZ3Jvd1wiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IHRhYi5pZCB9fSB7eyB0YWIuc3lzdGVtRGVmYXVsdCA/ICcoU3lzdGVtKScgOiAnJyB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRWRpdFRhYih0YWIpXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ0YWJMYWJlbCh0YWIpXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzdG9yZS5zZXRUYWJMYWJlbCh0YWIuaWQsIGxhbmcoKSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpID09PSAwIHx8ICFjYW5FZGl0VGFiKHRhYilcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUubW92ZVRhYih0YWIuaWQsIC0xKVwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb3ZlIHVwXCIgYXJpYS1sYWJlbD1cIk1vdmUgdGFiIHVwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X3Vwd2FyZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaSA9PT0gY291bnQgLSAxIHx8ICFjYW5FZGl0VGFiKHRhYilcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUubW92ZVRhYih0YWIuaWQsIDEpXCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vdmUgZG93blwiIGFyaWEtbGFiZWw9XCJNb3ZlIHRhYiBkb3duXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Rvd253YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRWRpdFRhYih0YWIpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLnJlbW92ZVRhYih0YWIuaWQpXCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlJlbW92ZSB0YWJcIiBhcmlhLWxhYmVsPVwiUmVtb3ZlIHRhYlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIFRhYiBzZXR0aW5ncyByb3cgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi10YWItc2V0dGluZ3NcIj5cbiAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5FZGl0VGFiKHRhYilcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ0YWIuZmxhdERhdGFcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzdG9yZS51cGRhdGVUYWIodGFiLmlkLCB7IGZsYXREYXRhOiAkZXZlbnQgfSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBGbGF0IERhdGFcbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkVkaXRUYWIodGFiKVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cInRhYi5pc1ByaW1hcnlUYWJcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCIkZXZlbnQgPyBzdG9yZS5zZXRQcmltYXJ5VGFiKHRhYi5pZCkgOiBzdG9yZS51cGRhdGVUYWIodGFiLmlkLCB7IGlzUHJpbWFyeVRhYjogZmFsc2UgfSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBQcmltYXJ5IFRhYlxuICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRWRpdFRhYih0YWIpXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwidGFiLm1hc2tEYXRhXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic3RvcmUudXBkYXRlVGFiKHRhYi5pZCwgeyBtYXNrRGF0YTogJGV2ZW50IH0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgTWFzayBUYWIgRGF0YVxuICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRWRpdFRhYih0YWIpXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwidGFiLnN5c3RlbURlZmF1bHRcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzdG9yZS51cGRhdGVUYWIodGFiLmlkLCB7IHN5c3RlbURlZmF1bHQ6ICRldmVudCB9KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFN5c3RlbSBEZWZhdWx0XG4gICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5FZGl0VGFiKHRhYilcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUuYWRkU3ViVGFiKHRhYi5pZClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICArIFN1Yi10YWJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBNb2R1bGUgdGFiIGNvbmZpZ3VyYXRpb24gLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi10YWItbW9kdWxlXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZ3Jvd1wiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNvbnN1bWVyIE1vZHVsZSBOYW1lIChPcHRpb25hbCk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gZG9jdW1lbnRzLXZpZXdcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuRWRpdFRhYih0YWIpXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ0YWIubW9kdWxlTmFtZVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic3RvcmUudXBkYXRlVGFiKHRhYi5pZCwgeyBtb2R1bGVOYW1lOiAkZXZlbnQgfHwgdW5kZWZpbmVkIH0pXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIFN1Yi10YWJzIHJlY3Vyc2l2ZSByZW5kZXIgKExldmVsIDIpIC0tPlxuICAgICAgICAgIEBpZiAodGFiLmNoaWxkcmVuICYmIHRhYi5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXN1YnRhYnNcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWItc3VidGFic19fdGl0bGVcIj5TdWItdGFiczo8L3NwYW4+XG4gICAgICAgICAgICAgIEBmb3IgKHN1YiBvZiB0YWIuY2hpbGRyZW47IHRyYWNrIHN1Yi5pZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWItdGFic19fcm93IGRlYi1zdWJ0YWItcm93XCIgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3N1YnRhYi1yb3ctJyArIHN1Yi5pZFwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWdyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBzdWIuaWQgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkVkaXRUYWIoc3ViKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidGFiTGFiZWwoc3ViKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic3RvcmUuc2V0VGFiTGFiZWwoc3ViLmlkLCBsYW5nKCksICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkVkaXRUYWIoc3ViKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdG9yZS5yZW1vdmVUYWIoc3ViLmlkKVwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJSZW1vdmUgc3ViLXRhYlwiIGFyaWEtbGFiZWw9XCJSZW1vdmUgc3ViLXRhYlwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kZWItdGFic19faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cbiAgICAgIC5kZWItdGFiLWNhcmQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWItYm9yZGVyLCAjZTVlN2ViKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWItYmctc3VyZmFjZSwgI2ZmZmZmZik7XG4gICAgICB9XG4gICAgICAuZGViLXRhYi1jYXJkLS1zeXN0ZW0ge1xuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWRlYi1hY2NlbnQsICM2MzY2ZjEpO1xuICAgICAgfVxuICAgICAgLmRlYi10YWJzX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgIH1cbiAgICAgIC5kZWItdGFiLXNldHRpbmdzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDhweCAxNnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIH1cbiAgICAgIC5kZWItdGFiLW1vZHVsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIH1cbiAgICAgIC5kZWItc3VidGFicyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IGRhc2hlZCB2YXIoLS1kZWItYm9yZGVyLCAjZTVlN2ViKTtcbiAgICAgIH1cbiAgICAgIC5kZWItc3VidGFic19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1kZWItbXV0ZWQsICM2YjcyODApO1xuICAgICAgfVxuICAgICAgLmRlYi1zdWJ0YWItcm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgfVxuICAgICAgLmRlYi1ncm93IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJNYW5hZ2VyQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KEJ1aWxkZXJTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FuRWRpdFN5c3RlbURlZmF1bHRzRm4gPSBpbmplY3Q8KHJvbGVzOiBzdHJpbmdbXSkgPT4gYm9vbGVhbj4oU1lTVEVNX0RFRkFVTFRfQ0FOX0VESVQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJvdGVjdGVkIGxhbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5hY3RpdmVMYW5ndWFnZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRhYkxhYmVsKHRhYjogeyBsYWJlbD86IGFueSB9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZUxhYmVsKHRhYi5sYWJlbCwgdGhpcy5sYW5nKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbkVkaXRUYWIodGFiOiBOZXN0ZWRUYWJDb25maWcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRhYi5zeXN0ZW1EZWZhdWx0KSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodGhpcy5jYW5FZGl0U3lzdGVtRGVmYXVsdHNGbikge1xuICAgICAgLy8gVGhlIHByZWRpY2F0ZSdzIGVudGlyZSBjb250cmFjdCBpcyAocm9sZXMpID0+IGJvb2xlYW4uIFRoaXMgcGFzc2VkIGEgaGFyZGNvZGVkIFtdXG4gICAgICAvLyByZWdhcmRsZXNzIG9mIHdobyB3YXMgdXNpbmcgdGhlIGJ1aWxkZXIsIHNvIGFueSBwcmVkaWNhdGUgdGhhdCBhY3R1YWxseSBpbnNwZWN0ZWRcbiAgICAgIC8vIHJvbGVzIGFuc3dlcmVkIGZhbHNlIGZvciBldmVyeW9uZSBhbmQgbG9ja2VkIGV2ZXJ5IHN5c3RlbS1kZWZhdWx0IHRhYi5cbiAgICAgIHJldHVybiB0aGlzLmNhbkVkaXRTeXN0ZW1EZWZhdWx0c0ZuKHRoaXMuc3RvcmUudXNlclJvbGVzKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19