@cqa-lib/cqa-ui 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/esm2020/lib/button/button.component.mjs +10 -10
  2. package/esm2020/lib/dashboards/chart-card/chart-card.component.mjs +3 -3
  3. package/esm2020/lib/dashboards/coverage-module-card/coverage-module-card.component.mjs +3 -3
  4. package/esm2020/lib/dashboards/failed-test-cases-card/failed-test-cases-card.component.mjs +4 -4
  5. package/esm2020/lib/dashboards/insight-card/insight-card.component.mjs +3 -3
  6. package/esm2020/lib/dashboards/progress-text-card/progress-text-card.component.mjs +7 -7
  7. package/esm2020/lib/dashboards/test-distribution-card/test-distribution-card.component.mjs +29 -4
  8. package/esm2020/lib/empty-state/empty-state-presets.constants.mjs +54 -0
  9. package/esm2020/lib/empty-state/empty-state.component.mjs +39 -4
  10. package/esm2020/lib/search-bar/search-bar.component.mjs +3 -3
  11. package/esm2020/lib/table/dynamic-table/dynamic-table.component.mjs +3 -3
  12. package/esm2020/lib/templates/table-template.component.mjs +1 -1
  13. package/esm2020/public-api.mjs +2 -1
  14. package/fesm2015/cqa-lib-cqa-ui.mjs +174 -63
  15. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
  16. package/fesm2020/cqa-lib-cqa-ui.mjs +174 -63
  17. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
  18. package/lib/dashboards/test-distribution-card/test-distribution-card.component.d.ts +2 -0
  19. package/lib/empty-state/empty-state-presets.constants.d.ts +15 -0
  20. package/lib/empty-state/empty-state.component.d.ts +14 -3
  21. package/package.json +1 -1
  22. package/public-api.d.ts +1 -0
  23. package/storybook-static/assets/images/README.md +66 -0
  24. package/styles.css +1 -1
@@ -57,10 +57,10 @@ export class ButtonComponent {
57
57
  else if (this.variant === 'grey-solid') {
58
58
  // Neutral grey solid style
59
59
  if (this.disabled) {
60
- classes.push('cqa-bg-grey-400', 'cqa-border', 'cqa-border-primary-muted');
60
+ classes.push('cqa-bg-grey-400', 'cqa-border', 'cqa-border-solid', 'cqa-border-primary-muted');
61
61
  }
62
62
  else {
63
- classes.push('cqa-bg-grey-400', 'cqa-border', 'cqa-border-primary-muted');
63
+ classes.push('cqa-bg-grey-400', 'cqa-border', 'cqa-border-solid', 'cqa-border-primary-muted');
64
64
  if (this.isHovered) {
65
65
  classes.push('cqa-bg-grey-200');
66
66
  }
@@ -68,17 +68,17 @@ export class ButtonComponent {
68
68
  }
69
69
  else if (this.variant === 'outlined') {
70
70
  if (this.disabled) {
71
- classes.push('cqa-bg-transparent', 'cqa-border', 'cqa-border-primary-muted');
71
+ classes.push('cqa-bg-transparent', 'cqa-border', 'cqa-border-solid', 'cqa-border-primary-muted');
72
72
  }
73
73
  else {
74
74
  if (this.isFocused) {
75
- classes.push('cqa-bg-primary-surface-alt', 'cqa-border', 'cqa-border-primary-hover', 'cqa-shadow-[0px_4px_4px_rgba(0,0,0,0.25)]');
75
+ classes.push('cqa-bg-primary-surface-alt', 'cqa-border', 'cqa-border-solid', '!cqa-border-primary-hover', 'cqa-shadow-[0px_4px_4px_rgba(0,0,0,0.25)]');
76
76
  }
77
77
  else if (this.isHovered || this.isPressed) {
78
- classes.push('cqa-bg-primary-surface', 'cqa-border', 'cqa-border-primary');
78
+ classes.push('cqa-bg-primary-surface', 'cqa-border', 'cqa-border-solid', '!cqa-border-primary');
79
79
  }
80
80
  else {
81
- classes.push('cqa-bg-transparent', 'cqa-border', 'cqa-border-slate');
81
+ classes.push('cqa-bg-transparent', 'cqa-border', 'cqa-border-solid', 'cqa-border-slate');
82
82
  }
83
83
  }
84
84
  }
@@ -141,7 +141,7 @@ export class ButtonComponent {
141
141
  return 'cqa-text-black-100';
142
142
  case 'outlined':
143
143
  if (this.isFocused || this.isHovered || this.isPressed) {
144
- return 'cqa-text-primary-hover';
144
+ return '!cqa-text-primary-hover';
145
145
  }
146
146
  return 'cqa-text-slate';
147
147
  case 'text':
@@ -186,10 +186,10 @@ export class ButtonComponent {
186
186
  }
187
187
  }
188
188
  ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
189
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ButtonComponent, selector: "cqa-button", inputs: { variant: "variant", disabled: "disabled", icon: "icon", iconPosition: "iconPosition", fullWidth: "fullWidth", iconColor: "iconColor", type: "type", text: "text", customClass: "customClass" }, outputs: { clicked: "clicked" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <button\n [ngClass]=\"\n text && icon && iconPosition === 'start' ? 'cqa-pr-[24px] cqa-pl-[16px]' :\n text && icon && iconPosition === 'end' ? 'cqa-pl-[24px] cqa-pr-[16px]' :\n text && !icon ? 'cqa-px-[24px]' : !text && icon ? 'cqa-px-[12px]' : 'cqa-px-[24px]'\"\n [type]=\"type\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [class]=\"buttonClasses\"\n (click)=\"onClick($event)\"\n >\n\n <mat-icon *ngIf=\"icon && iconPosition === 'start'\" class=\"!cqa-w-[18px] !cqa-h-[18px] !cqa-text-[18px]\" [style.color]=\"iconColor\">\n {{ icon }}\n </mat-icon>\n\n <!-- Dynamic text support -->\n <span *ngIf=\"text\">{{text}}</span>\n\n <ng-content *ngIf=\"!text\" ></ng-content>\n\n <mat-icon *ngIf=\"icon && iconPosition === 'end'\" class=\"!cqa-w-[18px] !cqa-h-[18px] !cqa-text-[18px]\" [style.color]=\"iconColor\">\n {{ icon }}\n </mat-icon>\n\n </button>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
189
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ButtonComponent, selector: "cqa-button", inputs: { variant: "variant", disabled: "disabled", icon: "icon", iconPosition: "iconPosition", fullWidth: "fullWidth", iconColor: "iconColor", type: "type", text: "text", customClass: "customClass" }, outputs: { clicked: "clicked" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <button\n [ngClass]=\"[\n text && icon && iconPosition === 'start' ? 'cqa-pr-[24px] cqa-pl-[16px]' :\n text && icon && iconPosition === 'end' ? 'cqa-pl-[24px] cqa-pr-[16px]' :\n text && !icon ? 'cqa-px-[24px]' : !text && icon ? 'cqa-px-[12px]' : 'cqa-px-[24px]',\n buttonClasses,\n textClass\n ]\"\n [type]=\"type\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"onClick($event)\"\n >\n\n <mat-icon *ngIf=\"icon && iconPosition === 'start'\" class=\"!cqa-w-[18px] !cqa-h-[18px] !cqa-text-[18px]\" [style.color]=\"iconColor\">\n {{ icon }}\n </mat-icon>\n\n <!-- Dynamic text support -->\n <span *ngIf=\"text\">{{text}}</span>\n\n <ng-content *ngIf=\"!text\"></ng-content>\n\n <mat-icon *ngIf=\"icon && iconPosition === 'end'\" class=\"!cqa-w-[18px] !cqa-h-[18px] !cqa-text-[18px]\" [style.color]=\"iconColor\">\n {{ icon }}\n </mat-icon>\n\n </button>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
190
190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ButtonComponent, decorators: [{
191
191
  type: Component,
192
- args: [{ selector: 'cqa-button', template: "<div id=\"cqa-ui-root\">\n <button\n [ngClass]=\"\n text && icon && iconPosition === 'start' ? 'cqa-pr-[24px] cqa-pl-[16px]' :\n text && icon && iconPosition === 'end' ? 'cqa-pl-[24px] cqa-pr-[16px]' :\n text && !icon ? 'cqa-px-[24px]' : !text && icon ? 'cqa-px-[12px]' : 'cqa-px-[24px]'\"\n [type]=\"type\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [class]=\"buttonClasses\"\n (click)=\"onClick($event)\"\n >\n\n <mat-icon *ngIf=\"icon && iconPosition === 'start'\" class=\"!cqa-w-[18px] !cqa-h-[18px] !cqa-text-[18px]\" [style.color]=\"iconColor\">\n {{ icon }}\n </mat-icon>\n\n <!-- Dynamic text support -->\n <span *ngIf=\"text\">{{text}}</span>\n\n <ng-content *ngIf=\"!text\" ></ng-content>\n\n <mat-icon *ngIf=\"icon && iconPosition === 'end'\" class=\"!cqa-w-[18px] !cqa-h-[18px] !cqa-text-[18px]\" [style.color]=\"iconColor\">\n {{ icon }}\n </mat-icon>\n\n </button>\n</div>", styles: [] }]
192
+ args: [{ selector: 'cqa-button', template: "<div id=\"cqa-ui-root\">\n <button\n [ngClass]=\"[\n text && icon && iconPosition === 'start' ? 'cqa-pr-[24px] cqa-pl-[16px]' :\n text && icon && iconPosition === 'end' ? 'cqa-pl-[24px] cqa-pr-[16px]' :\n text && !icon ? 'cqa-px-[24px]' : !text && icon ? 'cqa-px-[12px]' : 'cqa-px-[24px]',\n buttonClasses,\n textClass\n ]\"\n [type]=\"type\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"onClick($event)\"\n >\n\n <mat-icon *ngIf=\"icon && iconPosition === 'start'\" class=\"!cqa-w-[18px] !cqa-h-[18px] !cqa-text-[18px]\" [style.color]=\"iconColor\">\n {{ icon }}\n </mat-icon>\n\n <!-- Dynamic text support -->\n <span *ngIf=\"text\">{{text}}</span>\n\n <ng-content *ngIf=\"!text\"></ng-content>\n\n <mat-icon *ngIf=\"icon && iconPosition === 'end'\" class=\"!cqa-w-[18px] !cqa-h-[18px] !cqa-text-[18px]\" [style.color]=\"iconColor\">\n {{ icon }}\n </mat-icon>\n\n </button>\n</div>", styles: [] }]
193
193
  }], propDecorators: { variant: [{
194
194
  type: Input
195
195
  }], disabled: [{
@@ -229,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
229
229
  type: HostListener,
230
230
  args: ['blur']
231
231
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTckYsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFNVyxZQUFPLEdBQWtCLFFBQVEsQ0FBQztRQUNsQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRXRCLGlCQUFZLEdBQW9CLE9BQU8sQ0FBQztRQUN4QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRS9CLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBRzlDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRW5ELDBCQUEwQjtRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztLQWlMNUI7SUEvS0MsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsTUFBTSxXQUFXLEdBQUc7WUFDbEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixpQkFBaUI7WUFDakIsWUFBWTtTQUNiLENBQUM7UUFFRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDckIsV0FBVyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzVDO1FBRUcsSUFBSSxJ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QUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7NEdBL0xVLGVBQWU7Z0dBQWYsZUFBZSx3ZENUNUIsMDhCQTJCTTsyRkRsQk8sZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZOzhCQUtiLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDTyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0QsU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkE0SVAsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQU8xQixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkFRekIsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVM7Z0JBTXZCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQVFyQixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQnV0dG9uVmFyaWFudCA9ICdmaWxsZWQnIHwgJ291dGxpbmVkJyB8ICd0ZXh0JyB8ICdlbGV2YXRlZCcgfCAndG9uYWwnIHwgJ2dyZXktc29saWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFyaWFudDogQnV0dG9uVmFyaWFudCA9ICdmaWxsZWQnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xuICAgICAgQElucHV0KCkgaWNvblBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xuICAgICAgQElucHV0KCkgZnVsbFdpZHRoOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGljb25Db2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcgPSAnYnV0dG9uJztcbiAgQElucHV0KCkgdGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIC8vIEludGVybmFsIHN0YXRlIHRyYWNraW5nXG4gIGlzSG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNQcmVzc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGhhc0ljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pY29uO1xuICB9XG5cbiAgZ2V0IGJ1dHRvbkNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFtcbiAgICAgICdjcWEtaW5saW5lLWZsZXgnLFxuICAgICAgJ2NxYS1pdGVtcy1jZW50ZXInLFxuICAgICAgJ2NxYS1qdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnY3FhLWdhcC0yJyxcbiAgICAgICdjcWEtcHktWzEwcHhdJyxcbiAgICAgICdjcWEtcm91bmRlZC1bOHB4XScsXG4gICAgICAnY3FhLXRleHQtWzEyLjNweF0nLFxuICAgICAgJ2NxYS1sZWFkaW5nLVsxNy41cHhdJyxcbiAgICAgICdjcWEtZm9udC1tZWRpdW0nLFxuICAgICAgJ2NxYS1ib3JkZXInLFxuICAgIF07XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGJhc2VDbGFzc2VzLnB1c2goJ2NxYS1jdXJzb3Itbm90LWFsbG93ZWQnKTtcbiAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZnVsbFdpZHRoKSB7XG4gICAgICAgICAgYmFzZUNsYXNzZXMucHVzaCgnY3FhLXctZnVsbCcpO1xuICAgICAgICB9XG5cbiAgICAvLyBBZGQgdmFyaWFudCBhbmQgc3RhdGUgc3BlY2lmaWMgY2xhc3Nlc1xuICAgIGNvbnN0IHZhcmlhbnRDbGFzc2VzID0gdGhpcy5nZXRWYXJpYW50Q2xhc3NlcygpO1xuICAgIFxuICAgIHJldHVybiBbLi4uYmFzZUNsYXNzZXMsIC4uLnZhcmlhbnRDbGFzc2VzLCAuLi4odGhpcy5jdXN0b21DbGFzcyA/IFt0aGlzLmN1c3RvbUNsYXNzXSA6IFtdKV0uam9pbignICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXJpYW50Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdmaWxsZWQnKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5LW11dGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5IGNxYS10ZXh0LXdoaXRlJyk7XG4gICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktaG92ZXInKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAnZ3JleS1zb2xpZCcpIHtcbiAgICAgIC8vIE5ldXRyYWwgZ3JleSBzb2xpZCBzdHlsZVxuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctZ3JleS00MDAnLCAnY3FhLWJvcmRlcicsICdjcWEtYm9yZGVyLXByaW1hcnktbXV0ZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLWdyZXktNDAwJywgJ2NxYS1ib3JkZXInLCAnY3FhLWJvcmRlci1wcmltYXJ5LW11dGVkJyk7XG4gICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLWdyZXktMjAwJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ291dGxpbmVkJykge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctdHJhbnNwYXJlbnQnLCAnY3FhLWJvcmRlcicsICdjcWEtYm9yZGVyLXByaW1hcnktbXV0ZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmlzRm9jdXNlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZS1hbHQnLCAnY3FhLWJvcmRlcicsICdjcWEtYm9yZGVyLXByaW1hcnktaG92ZXInLCAnY3FhLXNoYWRvdy1bMHB4XzRweF80cHhfcmdiYSgwLDAsMCwwLjI1KV0nKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSG92ZXJlZCB8fCB0aGlzLmlzUHJlc3NlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZScsICdjcWEtYm9yZGVyJywgJ2NxYS1ib3JkZXItcHJpbWFyeScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXRyYW5zcGFyZW50JywgJ2NxYS1ib3JkZXInLCAnY3FhLWJvcmRlci1zbGF0ZScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhbnQgPT09ICd0ZXh0Jykge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctdHJhbnNwYXJlbnQnLCAnY3FhLWJvcmRlci1ub25lJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy10cmFuc3BhcmVudCcsICdjcWEtYm9yZGVyLW5vbmUnKTtcbiAgICAgICAgaWYgKHRoaXMuaXNIb3ZlcmVkIHx8IHRoaXMuaXNGb2N1c2VkIHx8IHRoaXMuaXNQcmVzc2VkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctcHJpbWFyeS1zdXJmYWNlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2VsZXZhdGVkJykge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctcHJpbWFyeS1tdXRlZCcsICdjcWEtc2hhZG93LW5vbmUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmlzRm9jdXNlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZS1hbHQnLCAnY3FhLXNoYWRvdy1bMHB4XzRweF80cHhfcmdiYSgwLDAsMCwwLjI1KV0nKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzUHJlc3NlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZScsICdjcWEtc2hhZG93LVswcHhfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMyksMHB4XzFweF8zcHhfMXB4X3JnYmEoMCwwLDAsMC4xNSldJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0hvdmVyZWQpIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5LXN1cmZhY2UtYWx0JywgJ2NxYS1zaGFkb3ctWzBweF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4zKSwwcHhfMnB4XzZweF8ycHhfcmdiYSgwLDAsMCwwLjE1KV0nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5LXN1cmZhY2UnLCAnY3FhLXNoYWRvdy1bMHB4XzFweF8ycHhfcmdiYSgwLDAsMCwwLjMpLDBweF8xcHhfM3B4XzFweF9yZ2JhKDAsMCwwLDAuMTUpXScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhbnQgPT09ICd0b25hbCcpIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktbXV0ZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXRvbmFsLWhvdmVyJywgJ2NxYS1zaGFkb3ctWzBweF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4zKSwwcHhfMXB4XzNweF8xcHhfcmdiYSgwLDAsMCwwLjE1KV0nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5LXN1cmZhY2UtYWx0Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIGdldCB0ZXh0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ291dGxpbmVkJyB8fCB0aGlzLnZhcmlhbnQgPT09ICd0ZXh0Jykge1xuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LWluayc7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ2NxYS10ZXh0LWluay1tdXRlZCc7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0aGlzLnZhcmlhbnQpIHtcbiAgICAgIGNhc2UgJ2ZpbGxlZCc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtc3VyZmFjZS1kZWZhdWx0JztcbiAgICAgIGNhc2UgJ2dyZXktc29saWQnOlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LWJsYWNrLTEwMCc7XG4gICAgICBjYXNlICdvdXRsaW5lZCc6XG4gICAgICAgIGlmICh0aGlzLmlzRm9jdXNlZCB8fCB0aGlzLmlzSG92ZXJlZCB8fCB0aGlzLmlzUHJlc3NlZCkge1xuICAgICAgICAgIHJldHVybiAnY3FhLXRleHQtcHJpbWFyeS1ob3Zlcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1zbGF0ZSc7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgIGNhc2UgJ2VsZXZhdGVkJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1wcmltYXJ5LWhvdmVyJztcbiAgICAgIGNhc2UgJ3RvbmFsJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1pbmsnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzSG92ZXJlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIG9uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmlzSG92ZXJlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNQcmVzc2VkID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nKVxuICBvbk1vdXNlRG93bigpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaXNQcmVzc2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZXVwJylcbiAgb25Nb3VzZVVwKCkge1xuICAgIHRoaXMuaXNQcmVzc2VkID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIG9uRm9jdXMoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIG9uQmx1cigpIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNQcmVzc2VkID0gZmFsc2U7XG4gIH1cblxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG59XG5cbiIsIjxkaXYgaWQ9XCJjcWEtdWktcm9vdFwiPlxuICA8YnV0dG9uXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgdGV4dCAmJiBpY29uICYmIGljb25Qb3NpdGlvbiA9PT0gJ3N0YXJ0JyA/ICdjcWEtcHItWzI0cHhdIGNxYS1wbC1bMTZweF0nIDpcbiAgICB0ZXh0ICYmIGljb24gJiYgaWNvblBvc2l0aW9uID09PSAnZW5kJyA/ICdjcWEtcGwtWzI0cHhdIGNxYS1wci1bMTZweF0nIDpcbiAgICB0ZXh0ICYmICFpY29uID8gJ2NxYS1weC1bMjRweF0nIDogIXRleHQgJiYgaWNvbiA/ICdjcWEtcHgtWzEycHhdJyA6ICdjcWEtcHgtWzI0cHhdJ1wiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbY2xhc3NdPVwiYnV0dG9uQ2xhc3Nlc1wiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gID5cblxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb24gJiYgaWNvblBvc2l0aW9uID09PSAnc3RhcnQnXCIgY2xhc3M9XCIhY3FhLXctWzE4cHhdICFjcWEtaC1bMThweF0gIWNxYS10ZXh0LVsxOHB4XVwiIFtzdHlsZS5jb2xvcl09XCJpY29uQ29sb3JcIj5cbiAgICAgIHt7IGljb24gfX1cbiAgICA8L21hdC1pY29uPlxuXG4gICAgPCEtLSBEeW5hbWljIHRleHQgc3VwcG9ydCAtLT5cbiAgICA8c3BhbiAqbmdJZj1cInRleHRcIj57e3RleHR9fTwvc3Bhbj5cblxuICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiIXRleHRcIiA+PC9uZy1jb250ZW50PlxuXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICdlbmQnXCIgY2xhc3M9XCIhY3FhLXctWzE4cHhdICFjcWEtaC1bMThweF0gIWNxYS10ZXh0LVsxOHB4XVwiIFtzdHlsZS5jb2xvcl09XCJpY29uQ29sb3JcIj5cbiAgICAgIHt7IGljb24gfX1cbiAgICA8L21hdC1pY29uPlxuXG4gIDwvYnV0dG9uPlxuPC9kaXY+Il19
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTckYsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFNVyxZQUFPLEdBQWtCLFFBQVEsQ0FBQztRQUNsQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRXRCLGlCQUFZLEdBQW9CLE9BQU8sQ0FBQztRQUN4QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRS9CLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBRzlDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRW5ELDBCQUEwQjtRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztLQWlMNUI7SUEvS0MsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsTUFBTSxXQUFXLEdBQUc7WUFDbEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixpQkFBaUI7WUFDakIsWUFBWTtTQUNiLENBQUM7UUFFRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDckIsV0FBVyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzVDO1FBRUcsSUFBSSxJ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SUFBSSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUdELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7NEdBL0xVLGVBQWU7Z0dBQWYsZUFBZSx3ZENUNUIsZytCQTZCTTsyRkRwQk8sZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZOzhCQUtiLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDTyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0QsU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkE0SVAsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQU8xQixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkFRekIsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVM7Z0JBTXZCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQVFyQixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQnV0dG9uVmFyaWFudCA9ICdmaWxsZWQnIHwgJ291dGxpbmVkJyB8ICd0ZXh0JyB8ICdlbGV2YXRlZCcgfCAndG9uYWwnIHwgJ2dyZXktc29saWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFyaWFudDogQnV0dG9uVmFyaWFudCA9ICdmaWxsZWQnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xuICAgICAgQElucHV0KCkgaWNvblBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xuICAgICAgQElucHV0KCkgZnVsbFdpZHRoOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGljb25Db2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcgPSAnYnV0dG9uJztcbiAgQElucHV0KCkgdGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIC8vIEludGVybmFsIHN0YXRlIHRyYWNraW5nXG4gIGlzSG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNQcmVzc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGhhc0ljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pY29uO1xuICB9XG5cbiAgZ2V0IGJ1dHRvbkNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFtcbiAgICAgICdjcWEtaW5saW5lLWZsZXgnLFxuICAgICAgJ2NxYS1pdGVtcy1jZW50ZXInLFxuICAgICAgJ2NxYS1qdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnY3FhLWdhcC0yJyxcbiAgICAgICdjcWEtcHktWzEwcHhdJyxcbiAgICAgICdjcWEtcm91bmRlZC1bOHB4XScsXG4gICAgICAnY3FhLXRleHQtWzEyLjNweF0nLFxuICAgICAgJ2NxYS1sZWFkaW5nLVsxNy41cHhdJyxcbiAgICAgICdjcWEtZm9udC1tZWRpdW0nLFxuICAgICAgJ2NxYS1ib3JkZXInLFxuICAgIF07XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGJhc2VDbGFzc2VzLnB1c2goJ2NxYS1jdXJzb3Itbm90LWFsbG93ZWQnKTtcbiAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZnVsbFdpZHRoKSB7XG4gICAgICAgICAgYmFzZUNsYXNzZXMucHVzaCgnY3FhLXctZnVsbCcpO1xuICAgICAgICB9XG5cbiAgICAvLyBBZGQgdmFyaWFudCBhbmQgc3RhdGUgc3BlY2lmaWMgY2xhc3Nlc1xuICAgIGNvbnN0IHZhcmlhbnRDbGFzc2VzID0gdGhpcy5nZXRWYXJpYW50Q2xhc3NlcygpO1xuICAgIFxuICAgIHJldHVybiBbLi4uYmFzZUNsYXNzZXMsIC4uLnZhcmlhbnRDbGFzc2VzLCAuLi4odGhpcy5jdXN0b21DbGFzcyA/IFt0aGlzLmN1c3RvbUNsYXNzXSA6IFtdKV0uam9pbignICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXJpYW50Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdmaWxsZWQnKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5LW11dGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5IGNxYS10ZXh0LXdoaXRlJyk7XG4gICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktaG92ZXInKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAnZ3JleS1zb2xpZCcpIHtcbiAgICAgIC8vIE5ldXRyYWwgZ3JleSBzb2xpZCBzdHlsZVxuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctZ3JleS00MDAnLCAnY3FhLWJvcmRlcicsICdjcWEtYm9yZGVyLXNvbGlkJywgJ2NxYS1ib3JkZXItcHJpbWFyeS1tdXRlZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctZ3JleS00MDAnLCAnY3FhLWJvcmRlcicsICdjcWEtYm9yZGVyLXNvbGlkJywgJ2NxYS1ib3JkZXItcHJpbWFyeS1tdXRlZCcpO1xuICAgICAgICBpZiAodGhpcy5pc0hvdmVyZWQpIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1ncmV5LTIwMCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhbnQgPT09ICdvdXRsaW5lZCcpIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXRyYW5zcGFyZW50JywgJ2NxYS1ib3JkZXInLCAnY3FhLWJvcmRlci1zb2xpZCcsICdjcWEtYm9yZGVyLXByaW1hcnktbXV0ZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmlzRm9jdXNlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZS1hbHQnLCAnY3FhLWJvcmRlcicsICdjcWEtYm9yZGVyLXNvbGlkJywgJyFjcWEtYm9yZGVyLXByaW1hcnktaG92ZXInLCAnY3FhLXNoYWRvdy1bMHB4XzRweF80cHhfcmdiYSgwLDAsMCwwLjI1KV0nKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSG92ZXJlZCB8fCB0aGlzLmlzUHJlc3NlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZScsICdjcWEtYm9yZGVyJywgJ2NxYS1ib3JkZXItc29saWQnLCAnIWNxYS1ib3JkZXItcHJpbWFyeScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXRyYW5zcGFyZW50JywgJ2NxYS1ib3JkZXInLCAnY3FhLWJvcmRlci1zb2xpZCcsICdjcWEtYm9yZGVyLXNsYXRlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy10cmFuc3BhcmVudCcsICdjcWEtYm9yZGVyLW5vbmUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXRyYW5zcGFyZW50JywgJ2NxYS1ib3JkZXItbm9uZScpO1xuICAgICAgICBpZiAodGhpcy5pc0hvdmVyZWQgfHwgdGhpcy5pc0ZvY3VzZWQgfHwgdGhpcy5pc1ByZXNzZWQpIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5LXN1cmZhY2UnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAnZWxldmF0ZWQnKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2NxYS1iZy1wcmltYXJ5LW11dGVkJywgJ2NxYS1zaGFkb3ctbm9uZScpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctcHJpbWFyeS1zdXJmYWNlLWFsdCcsICdjcWEtc2hhZG93LVswcHhfNHB4XzRweF9yZ2JhKDAsMCwwLDAuMjUpXScpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNQcmVzc2VkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctcHJpbWFyeS1zdXJmYWNlJywgJ2NxYS1zaGFkb3ctWzBweF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4zKSwwcHhfMXB4XzNweF8xcHhfcmdiYSgwLDAsMCwwLjE1KV0nKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZS1hbHQnLCAnY3FhLXNoYWRvdy1bMHB4XzFweF8ycHhfcmdiYSgwLDAsMCwwLjMpLDBweF8ycHhfNnB4XzJweF9yZ2JhKDAsMCwwLDAuMTUpXScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZScsICdjcWEtc2hhZG93LVswcHhfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMyksMHB4XzFweF8zcHhfMXB4X3JnYmEoMCwwLDAsMC4xNSldJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ3RvbmFsJykge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctcHJpbWFyeS1tdXRlZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaXNIb3ZlcmVkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdjcWEtYmctdG9uYWwtaG92ZXInLCAnY3FhLXNoYWRvdy1bMHB4XzFweF8ycHhfcmdiYSgwLDAsMCwwLjMpLDBweF8xcHhfM3B4XzFweF9yZ2JhKDAsMCwwLDAuMTUpXScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnY3FhLWJnLXByaW1hcnktc3VyZmFjZS1hbHQnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgZ2V0IHRleHRDbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodGhpcy52YXJpYW50ID09PSAnb3V0bGluZWQnIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSB7XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtaW5rJztcbiAgICAgIH1cbiAgICAgIHJldHVybiAnY3FhLXRleHQtaW5rLW11dGVkJztcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMudmFyaWFudCkge1xuICAgICAgY2FzZSAnZmlsbGVkJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1zdXJmYWNlLWRlZmF1bHQnO1xuICAgICAgY2FzZSAnZ3JleS1zb2xpZCc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtYmxhY2stMTAwJztcbiAgICAgIGNhc2UgJ291dGxpbmVkJzpcbiAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkIHx8IHRoaXMuaXNIb3ZlcmVkIHx8IHRoaXMuaXNQcmVzc2VkKSB7XG4gICAgICAgICAgcmV0dXJuICchY3FhLXRleHQtcHJpbWFyeS1ob3Zlcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1zbGF0ZSc7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgIGNhc2UgJ2VsZXZhdGVkJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1wcmltYXJ5LWhvdmVyJztcbiAgICAgIGNhc2UgJ3RvbmFsJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1pbmsnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzSG92ZXJlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIG9uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmlzSG92ZXJlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNQcmVzc2VkID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nKVxuICBvbk1vdXNlRG93bigpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaXNQcmVzc2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZXVwJylcbiAgb25Nb3VzZVVwKCkge1xuICAgIHRoaXMuaXNQcmVzc2VkID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIG9uRm9jdXMoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIG9uQmx1cigpIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNQcmVzc2VkID0gZmFsc2U7XG4gIH1cblxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG59XG5cbiIsIjxkaXYgaWQ9XCJjcWEtdWktcm9vdFwiPlxuICA8YnV0dG9uXG4gICAgW25nQ2xhc3NdPVwiW1xuICAgICAgdGV4dCAmJiBpY29uICYmIGljb25Qb3NpdGlvbiA9PT0gJ3N0YXJ0JyA/ICdjcWEtcHItWzI0cHhdIGNxYS1wbC1bMTZweF0nIDpcbiAgICAgIHRleHQgJiYgaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICdlbmQnID8gJ2NxYS1wbC1bMjRweF0gY3FhLXByLVsxNnB4XScgOlxuICAgICAgdGV4dCAmJiAhaWNvbiA/ICdjcWEtcHgtWzI0cHhdJyA6ICF0ZXh0ICYmIGljb24gPyAnY3FhLXB4LVsxMnB4XScgOiAnY3FhLXB4LVsyNHB4XScsXG4gICAgICBidXR0b25DbGFzc2VzLFxuICAgICAgdGV4dENsYXNzXG4gICAgXVwiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgPlxuXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICdzdGFydCdcIiBjbGFzcz1cIiFjcWEtdy1bMThweF0gIWNxYS1oLVsxOHB4XSAhY3FhLXRleHQtWzE4cHhdXCIgW3N0eWxlLmNvbG9yXT1cImljb25Db2xvclwiPlxuICAgICAge3sgaWNvbiB9fVxuICAgIDwvbWF0LWljb24+XG5cbiAgICA8IS0tIER5bmFtaWMgdGV4dCBzdXBwb3J0IC0tPlxuICAgIDxzcGFuICpuZ0lmPVwidGV4dFwiPnt7dGV4dH19PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhdGV4dFwiPjwvbmctY29udGVudD5cblxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb24gJiYgaWNvblBvc2l0aW9uID09PSAnZW5kJ1wiIGNsYXNzPVwiIWNxYS13LVsxOHB4XSAhY3FhLWgtWzE4cHhdICFjcWEtdGV4dC1bMThweF1cIiBbc3R5bGUuY29sb3JdPVwiaWNvbkNvbG9yXCI+XG4gICAgICB7eyBpY29uIH19XG4gICAgPC9tYXQtaWNvbj5cblxuICA8L2J1dHRvbj5cbjwvZGl2PiJdfQ==
@@ -8,10 +8,10 @@ export class ChartCardComponent {
8
8
  }
9
9
  }
10
10
  ChartCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ChartCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- ChartCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ChartCardComponent, selector: "cqa-chart-card", inputs: { title: "title", subtitle: "subtitle", cardClass: "cardClass" }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-border cqa-border-border-default cqa-rounded-[8px] cqa-shadow-card\"\n [ngClass]=\"cardClass\">\n <!-- Header -->\n <div\n class=\"cqa-flex cqa-items-center cqa-justify-between cqa-flex-wrap cqa-px-[13px] cqa-py-[6px]\">\n <div class=\"cqa-flex cqa-flex-col\">\n <div class=\"cqa-text-[16px] cqa-leading-6 cqa-text-[#111827]\">{{ title }}</div>\n <div *ngIf=\"subtitle\" class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-mt-0.5\">{{ subtitle }}</div>\n </div>\n <!-- Right-side actions slot -->\n <ng-content select=\"[chart-actions]\"></ng-content>\n </div>\n\n <!-- Chart/content area -->\n <div class=\"cqa-px-[13px]\">\n <div class=\"cqa-w-full cqa-min-h-[220px]\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ ChartCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ChartCardComponent, selector: "cqa-chart-card", inputs: { title: "title", subtitle: "subtitle", cardClass: "cardClass" }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-border cqa-border-solid cqa-border-border-default cqa-rounded-[8px] cqa-shadow-card\"\n [ngClass]=\"cardClass\">\n <!-- Header -->\n <div\n class=\"cqa-flex cqa-items-center cqa-justify-between cqa-flex-wrap cqa-px-[13px] cqa-py-[6px]\">\n <div class=\"cqa-flex cqa-flex-col\">\n <div class=\"cqa-text-[16px] cqa-leading-6 cqa-text-[#111827]\">{{ title }}</div>\n <div *ngIf=\"subtitle\" class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-mt-0.5\">{{ subtitle }}</div>\n </div>\n <!-- Right-side actions slot -->\n <ng-content select=\"[chart-actions]\"></ng-content>\n </div>\n\n <!-- Chart/content area -->\n <div class=\"cqa-px-[13px]\">\n <div class=\"cqa-w-full cqa-min-h-[220px]\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ChartCardComponent, decorators: [{
13
13
  type: Component,
14
- args: [{ selector: 'cqa-chart-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-border cqa-border-border-default cqa-rounded-[8px] cqa-shadow-card\"\n [ngClass]=\"cardClass\">\n <!-- Header -->\n <div\n class=\"cqa-flex cqa-items-center cqa-justify-between cqa-flex-wrap cqa-px-[13px] cqa-py-[6px]\">\n <div class=\"cqa-flex cqa-flex-col\">\n <div class=\"cqa-text-[16px] cqa-leading-6 cqa-text-[#111827]\">{{ title }}</div>\n <div *ngIf=\"subtitle\" class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-mt-0.5\">{{ subtitle }}</div>\n </div>\n <!-- Right-side actions slot -->\n <ng-content select=\"[chart-actions]\"></ng-content>\n </div>\n\n <!-- Chart/content area -->\n <div class=\"cqa-px-[13px]\">\n <div class=\"cqa-w-full cqa-min-h-[220px]\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
14
+ args: [{ selector: 'cqa-chart-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-border cqa-border-solid cqa-border-border-default cqa-rounded-[8px] cqa-shadow-card\"\n [ngClass]=\"cardClass\">\n <!-- Header -->\n <div\n class=\"cqa-flex cqa-items-center cqa-justify-between cqa-flex-wrap cqa-px-[13px] cqa-py-[6px]\">\n <div class=\"cqa-flex cqa-flex-col\">\n <div class=\"cqa-text-[16px] cqa-leading-6 cqa-text-[#111827]\">{{ title }}</div>\n <div *ngIf=\"subtitle\" class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-mt-0.5\">{{ subtitle }}</div>\n </div>\n <!-- Right-side actions slot -->\n <ng-content select=\"[chart-actions]\"></ng-content>\n </div>\n\n <!-- Chart/content area -->\n <div class=\"cqa-px-[13px]\">\n <div class=\"cqa-w-full cqa-min-h-[220px]\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
15
15
  }], propDecorators: { title: [{
16
16
  type: Input
17
17
  }], subtitle: [{
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
19
19
  }], cardClass: [{
20
20
  type: Input
21
21
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvY2hhcnQtY2FyZC9jaGFydC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9jaGFydC1jYXJkL2NoYXJ0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExRSxNQUFNLE9BQU8sa0JBQWtCO0lBTi9CO1FBT1csVUFBSyxHQUFXLE9BQU8sQ0FBQztRQUV4QixjQUFTLEdBQVcsRUFBRSxDQUFDO0tBQ2pDOzsrR0FKWSxrQkFBa0I7bUdBQWxCLGtCQUFrQixnSUNSL0IsMjJCQXNCTTsyRkRkTyxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtY2hhcnQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0Q2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnQ2hhcnQnO1xuICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgY2FyZENsYXNzOiBzdHJpbmcgPSAnJztcbn1cblxuXG4iLCI8ZGl2IGlkPVwiY3FhLXVpLXJvb3RcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLWJvcmRlciBjcWEtYm9yZGVyLWJvcmRlci1kZWZhdWx0IGNxYS1yb3VuZGVkLVs4cHhdIGNxYS1zaGFkb3ctY2FyZFwiXG4gICAgW25nQ2xhc3NdPVwiY2FyZENsYXNzXCI+XG4gICAgPCEtLSBIZWFkZXIgLS0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWJldHdlZW4gY3FhLWZsZXgtd3JhcCBjcWEtcHgtWzEzcHhdIGNxYS1weS1bNnB4XVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzE2cHhdIGNxYS1sZWFkaW5nLTYgY3FhLXRleHQtWyMxMTE4MjddXCI+e3sgdGl0bGUgfX08L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInN1YnRpdGxlXCIgY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNCBjcWEtdGV4dC1bIzZBNzI4Ml0gY3FhLW10LTAuNVwiPnt7IHN1YnRpdGxlIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gUmlnaHQtc2lkZSBhY3Rpb25zIHNsb3QgLS0+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjaGFydC1hY3Rpb25zXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQ2hhcnQvY29udGVudCBhcmVhIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtcHgtWzEzcHhdXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtbWluLWgtWzIyMHB4XVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvY2hhcnQtY2FyZC9jaGFydC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9jaGFydC1jYXJkL2NoYXJ0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExRSxNQUFNLE9BQU8sa0JBQWtCO0lBTi9CO1FBT1csVUFBSyxHQUFXLE9BQU8sQ0FBQztRQUV4QixjQUFTLEdBQVcsRUFBRSxDQUFDO0tBQ2pDOzsrR0FKWSxrQkFBa0I7bUdBQWxCLGtCQUFrQixnSUNSL0IsNDNCQXNCTTsyRkRkTyxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtY2hhcnQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0Q2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnQ2hhcnQnO1xuICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgY2FyZENsYXNzOiBzdHJpbmcgPSAnJztcbn1cblxuXG4iLCI8ZGl2IGlkPVwiY3FhLXVpLXJvb3RcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItYm9yZGVyLWRlZmF1bHQgY3FhLXJvdW5kZWQtWzhweF0gY3FhLXNoYWRvdy1jYXJkXCJcbiAgICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIj5cbiAgICA8IS0tIEhlYWRlciAtLT5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtZmxleC13cmFwIGNxYS1weC1bMTNweF0gY3FhLXB5LVs2cHhdXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTZweF0gY3FhLWxlYWRpbmctNiBjcWEtdGV4dC1bIzExMTgyN11cIj57eyB0aXRsZSB9fTwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic3VidGl0bGVcIiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy00IGNxYS10ZXh0LVsjNkE3MjgyXSBjcWEtbXQtMC41XCI+e3sgc3VidGl0bGUgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBSaWdodC1zaWRlIGFjdGlvbnMgc2xvdCAtLT5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NoYXJ0LWFjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDaGFydC9jb250ZW50IGFyZWEgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1weC1bMTNweF1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1taW4taC1bMjIwcHhdXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -96,10 +96,10 @@ export class CoverageModuleCardComponent {
96
96
  }
97
97
  }
98
98
  CoverageModuleCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CoverageModuleCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
99
- CoverageModuleCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CoverageModuleCardComponent, selector: "cqa-coverage-module-card", inputs: { title: "title", issues: "issues", showViewAction: "showViewAction", positiveCount: "positiveCount", negativeCount: "negativeCount", edgeCaseCount: "edgeCaseCount", positiveLabel: "positiveLabel", negativeLabel: "negativeLabel", edgeCaseLabel: "edgeCaseLabel", aiCount: "aiCount", humanCount: "humanCount", aiLabel: "aiLabel", humanLabel: "humanLabel", items: "items", ctaText: "ctaText", ctaDisabled: "ctaDisabled", generationMs: "generationMs" }, outputs: { view: "view", issuesClicked: "issuesClicked", ctaClicked: "ctaClicked", aiCoverageClick: "aiCoverageClick" }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-bg-white cqa-rounded-[8px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-py-[10px] md:cqa-px-[17px] cqa-px-3 cqa-shadow-card\">\n <!-- Header -->\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-mb-3\">\n <h3 class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-dialog\">{{ title }}</h3>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <span (click)=\"issuesClicked.emit()\"\n class=\"cqa-cursor-pointer cqa-px-[10px] cqa-py-[4px] cqa-text-[12px] cqa-leading-[16px] cqa-flex cqa-items-center cqa-gap-1 cqa-rounded-full cqa-bg-warning-light cqa-text-danger\">\n {{ issues }} {{ issues === 1 ? 'issue' : 'issues' }}\n </span>\n <button type=\"button\"\n class=\"cqa-text-[14px] cqa-leading-[20px] cqa-text-primary cqa-flex cqa-items-center cqa-gap-1\"\n *ngIf=\"showViewAction\" (click)=\"view.emit()\">\n View\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 12L10 8L6 4\" stroke=\"#4F46E5\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n\n <!-- Middle metrics row -->\n <div class=\"cqa-grid md:cqa-grid-cols-4 cqa-grid-cols-2 cqa-gap-3 cqa-mb-4 cqa-border-t cqa-border-b cqa-border-surface-[#F3F4F6] cqa-py-2\">\n <!-- Left: Positive / Negative / Edge Case -->\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#059669]\">{{ positiveCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ positiveLabel }}</div>\n </div>\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#EF4444]\">{{ negativeCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ negativeLabel }}</div>\n </div>\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#F59E0B]\">{{ edgeCaseCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ edgeCaseLabel }}</div>\n </div>\n\n <!-- Right: AI / Human -->\n <div class=\"cqa-text-center cqa-flex cqa-items-center cqa-justify-center cqa-flex-col\">\n <div class=\"cqa-flex cqa-items-center cqa-justify-center\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-items-center cqa-justify-center cqa-w-[60px] cqa-cursor-pointer\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-bold cqa-text-primary cqa-flex cqa-items-center cqa-gap-[2px]\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_7415_11751)\"><path d=\"M4.9685 7.75012C4.92386 7.57709 4.83367 7.41918 4.70731 7.29282C4.58095 7.16646 4.42304 7.07626 4.25 7.03162L1.1825 6.24062C1.13017 6.22577 1.08411 6.19425 1.05131 6.15085C1.01851 6.10744 1.00076 6.05453 1.00076 6.00012C1.00076 5.94572 1.01851 5.89281 1.05131 5.8494C1.08411 5.806 1.13017 5.77448 1.1825 5.75962L4.25 4.96812C4.42298 4.92353 4.58085 4.83341 4.7072 4.70714C4.83356 4.58088 4.92378 4.42307 4.9685 4.25012L5.7595 1.18262C5.7742 1.13008 5.80569 1.0838 5.84916 1.05082C5.89263 1.01785 5.94569 1 6.00025 1C6.05481 1 6.10787 1.01785 6.15134 1.05082C6.19481 1.0838 6.2263 1.13008 6.241 1.18262L7.0315 4.25012C7.07614 4.42316 7.16633 4.58107 7.29269 4.70743C7.41905 4.83379 7.57696 4.92399 7.75 4.96862L10.8175 5.75912C10.8703 5.77367 10.9168 5.80513 10.9499 5.84866C10.9831 5.8922 11.001 5.94541 11.001 6.00012C11.001 6.05484 10.9831 6.10805 10.9499 6.15159C10.9168 6.19512 10.8703 6.22657 10.8175 6.24112L7.75 7.03162C7.57696 7.07626 7.41905 7.16646 7.29269 7.29282C7.16633 7.41918 7.07614 7.57709 7.0315 7.75012L6.2405 10.8176C6.2258 10.8702 6.19431 10.9165 6.15084 10.9494C6.10737 10.9824 6.05431 11.0002 5.99975 11.0002C5.94519 11.0002 5.89213 10.9824 5.84866 10.9494C5.80519 10.9165 5.7737 10.8702 5.759 10.8176L4.9685 7.75012Z\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 1.5V3.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 2.5H9\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 8.5V9.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.5 9H1.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_7415_11751\"><rect width=\"12\" height=\"12\" fill=\"white\"/></clipPath></defs></svg>\n {{ aiLabel }}\n </span>\n <span class=\"cqa-text-[14px] cqa-leading-[20px] cqa-font-bold cqa-text-dialog\">{{ aiCount }}</span>\n </div>\n <div class=\"cqa-bg-primary-surface cqa-w-[2px] cqa-h-full cqa-mx-[3.5px]\"></div>\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-items-center cqa-justify-center cqa-w-[60px]\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-bold cqa-text-dialog-secondary cqa-flex cqa-items-center cqa-gap-[2px]\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.5 10.5V9.5C9.5 8.96957 9.28929 8.46086 8.91421 8.08579C8.53914 7.71071 8.03043 7.5 7.5 7.5H4.5C3.96957 7.5 3.46086 7.71071 3.08579 8.08579C2.71071 8.46086 2.5 8.96957 2.5 9.5V10.5\" stroke=\"#3F43EE\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 5.5C7.10457 5.5 8 4.60457 8 3.5C8 2.39543 7.10457 1.5 6 1.5C4.89543 1.5 4 2.39543 4 3.5C4 4.60457 4.89543 5.5 6 5.5Z\" stroke=\"#3F43EE\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ humanLabel }}\n </span>\n <span class=\"cqa-text-[14px] cqa-leading-[20px] cqa-font-bold cqa-text-dialog\">{{ humanCount }}</span>\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted cqa-pt-[2px] cqa-pb-1\">Coverage</div>\n </div>\n </div>\n\n <!-- Body -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-mb-3\">\n <div *ngFor=\"let it of items\" class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <span class=\"md:cqa-w-full md:cqa-max-w-[216px] cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-secondary cqa-flex cqa-items-center cqa-gap-2\">\n <svg *ngIf=\"it.status=='success'\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.8333 6.46309V6.99976C12.8326 8.25767 12.4253 9.48165 11.6721 10.4892C10.9189 11.4967 9.86025 12.2337 8.65396 12.5904C7.44767 12.947 6.1584 12.9042 4.97844 12.4683C3.79848 12.0323 2.79105 11.2266 2.10639 10.1714C1.42174 9.11611 1.09654 7.8678 1.17931 6.61261C1.26208 5.35742 1.74837 4.16262 2.56566 3.20638C3.38295 2.25015 4.48746 1.58373 5.71444 1.30651C6.94143 1.02929 8.22515 1.15612 9.37417 1.66809\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 6.41634L7 8.16634L12.8333 2.33301\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <svg *ngIf=\"it.status=='error'\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 12.8337C10.2217 12.8337 12.8333 10.222 12.8333 7.00033C12.8333 3.77866 10.2217 1.16699 7 1.16699C3.77834 1.16699 1.16666 3.77866 1.16666 7.00033C1.16666 10.222 3.77834 12.8337 7 12.8337Z\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 4.66699V7.00033\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 9.33301H7.00583\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ it.label }}\n </span>\n <div class=\"cqa-flex-1 cqa-h-[6px] cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"statusColorClass(it)\"\n [style.width]=\"formatPercent(it.percent)\"></div>\n </div>\n <span class=\"cqa-min-w-[40px] cqa-text-[12px] cqa-leading-[16px] cqa-font-bold\" [ngClass]=\"textColorClass(it)\">{{\n formatPercent(it.percent) }}</span>\n </div>\n </div>\n\n <!-- Footer -->\n <cqa-button variant=\"filled\" [customClass]=\"ctaButtonClass\" (click)=\"onAiCoverageClick()\">\n <ng-container *ngIf=\"!isGenerating; else generatingTpl\">\n <svg *ngIf=\"!isGenerating && !isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n <svg *ngIf=\"isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.8333 6.46309V6.99976C12.8326 8.25767 12.4253 9.48165 11.6721 10.4892C10.9189 11.4967 9.86025 12.2337 8.65396 12.5904C7.44767 12.947 6.1584 12.9042 4.97844 12.4683C3.79848 12.0323 2.79105 11.2266 2.10639 10.1714C1.42174 9.11611 1.09654 7.8678 1.17931 6.61261C1.26208 5.35742 1.74837 4.16262 2.56566 3.20638C3.38295 2.25015 4.48746 1.58373 5.71444 1.30651C6.94143 1.02929 8.22515 1.15612 9.37417 1.66809\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 6.41634L7 8.16634L12.8333 2.33301\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ ctaText }}\n </ng-container>\n <ng-template #generatingTpl>\n <span class=\"cqa-inline-flex cqa-items-center cqa-gap-2\">\n <svg *ngIf=\"!isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\">\n <circle cx=\"9\" cy=\"9\" r=\"7\" stroke-width=\"2\" stroke-opacity=\"0.25\"/>\n <path d=\"M16 9a7 7 0 0 1-7 7\" stroke-width=\"2\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 9 9\" to=\"360 9 9\" dur=\"0.8s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n <svg *ngIf=\"isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\">\n <circle cx=\"9\" cy=\"9\" r=\"7\" stroke-width=\"2\" stroke-opacity=\"0.25\"/>\n <path d=\"M16 9a7 7 0 0 1-7 7\" stroke-width=\"2\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 9 9\" to=\"360 9 9\" dur=\"0.8s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n Generating\n </span>\n </ng-template>\n </cqa-button>\n </div>\n</div>", components: [{ type: i1.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass"], outputs: ["clicked"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
+ CoverageModuleCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CoverageModuleCardComponent, selector: "cqa-coverage-module-card", inputs: { title: "title", issues: "issues", showViewAction: "showViewAction", positiveCount: "positiveCount", negativeCount: "negativeCount", edgeCaseCount: "edgeCaseCount", positiveLabel: "positiveLabel", negativeLabel: "negativeLabel", edgeCaseLabel: "edgeCaseLabel", aiCount: "aiCount", humanCount: "humanCount", aiLabel: "aiLabel", humanLabel: "humanLabel", items: "items", ctaText: "ctaText", ctaDisabled: "ctaDisabled", generationMs: "generationMs" }, outputs: { view: "view", issuesClicked: "issuesClicked", ctaClicked: "ctaClicked", aiCoverageClick: "aiCoverageClick" }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-bg-white cqa-rounded-[8px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-py-[10px] md:cqa-px-[17px] cqa-px-3 cqa-shadow-card\">\n <!-- Header -->\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-mb-3\">\n <h3 class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-dialog\">{{ title }}</h3>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <span (click)=\"issuesClicked.emit()\"\n class=\"cqa-cursor-pointer cqa-px-[10px] cqa-py-[4px] cqa-text-[12px] cqa-leading-[16px] cqa-flex cqa-items-center cqa-gap-1 cqa-rounded-full cqa-bg-warning-light cqa-text-danger\">\n {{ issues }} {{ issues === 1 ? 'issue' : 'issues' }}\n </span>\n <button type=\"button\"\n class=\"cqa-text-[14px] cqa-leading-[20px] cqa-text-primary cqa-flex cqa-items-center cqa-gap-1\"\n *ngIf=\"showViewAction\" (click)=\"view.emit()\">\n View\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 12L10 8L6 4\" stroke=\"#4F46E5\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n\n <!-- Middle metrics row -->\n <div class=\"cqa-grid md:cqa-grid-cols-4 cqa-grid-cols-2 cqa-gap-3 cqa-mb-4 cqa-py-2\" style=\"border-top: 1px solid #F3F4F6; border-bottom: 1px solid #F3F4F6; border-left: none; border-right: none;\">\n <!-- Left: Positive / Negative / Edge Case -->\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#059669]\">{{ positiveCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ positiveLabel }}</div>\n </div>\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#EF4444]\">{{ negativeCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ negativeLabel }}</div>\n </div>\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#F59E0B]\">{{ edgeCaseCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ edgeCaseLabel }}</div>\n </div>\n\n <!-- Right: AI / Human -->\n <div class=\"cqa-text-center cqa-flex cqa-items-center cqa-justify-center cqa-flex-col\">\n <div class=\"cqa-flex cqa-items-center cqa-justify-center\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-items-center cqa-justify-center cqa-w-[60px] cqa-cursor-pointer\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-bold cqa-text-primary cqa-flex cqa-items-center cqa-gap-[2px]\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_7415_11751)\"><path d=\"M4.9685 7.75012C4.92386 7.57709 4.83367 7.41918 4.70731 7.29282C4.58095 7.16646 4.42304 7.07626 4.25 7.03162L1.1825 6.24062C1.13017 6.22577 1.08411 6.19425 1.05131 6.15085C1.01851 6.10744 1.00076 6.05453 1.00076 6.00012C1.00076 5.94572 1.01851 5.89281 1.05131 5.8494C1.08411 5.806 1.13017 5.77448 1.1825 5.75962L4.25 4.96812C4.42298 4.92353 4.58085 4.83341 4.7072 4.70714C4.83356 4.58088 4.92378 4.42307 4.9685 4.25012L5.7595 1.18262C5.7742 1.13008 5.80569 1.0838 5.84916 1.05082C5.89263 1.01785 5.94569 1 6.00025 1C6.05481 1 6.10787 1.01785 6.15134 1.05082C6.19481 1.0838 6.2263 1.13008 6.241 1.18262L7.0315 4.25012C7.07614 4.42316 7.16633 4.58107 7.29269 4.70743C7.41905 4.83379 7.57696 4.92399 7.75 4.96862L10.8175 5.75912C10.8703 5.77367 10.9168 5.80513 10.9499 5.84866C10.9831 5.8922 11.001 5.94541 11.001 6.00012C11.001 6.05484 10.9831 6.10805 10.9499 6.15159C10.9168 6.19512 10.8703 6.22657 10.8175 6.24112L7.75 7.03162C7.57696 7.07626 7.41905 7.16646 7.29269 7.29282C7.16633 7.41918 7.07614 7.57709 7.0315 7.75012L6.2405 10.8176C6.2258 10.8702 6.19431 10.9165 6.15084 10.9494C6.10737 10.9824 6.05431 11.0002 5.99975 11.0002C5.94519 11.0002 5.89213 10.9824 5.84866 10.9494C5.80519 10.9165 5.7737 10.8702 5.759 10.8176L4.9685 7.75012Z\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 1.5V3.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 2.5H9\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 8.5V9.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.5 9H1.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_7415_11751\"><rect width=\"12\" height=\"12\" fill=\"white\"/></clipPath></defs></svg>\n {{ aiLabel }}\n </span>\n <span class=\"cqa-text-[14px] cqa-leading-[20px] cqa-font-bold cqa-text-dialog\">{{ aiCount }}</span>\n </div>\n <div class=\"cqa-bg-primary-surface cqa-w-[2px] cqa-h-full cqa-mx-[3.5px]\"></div>\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-items-center cqa-justify-center cqa-w-[60px]\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-bold cqa-text-dialog-secondary cqa-flex cqa-items-center cqa-gap-[2px]\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.5 10.5V9.5C9.5 8.96957 9.28929 8.46086 8.91421 8.08579C8.53914 7.71071 8.03043 7.5 7.5 7.5H4.5C3.96957 7.5 3.46086 7.71071 3.08579 8.08579C2.71071 8.46086 2.5 8.96957 2.5 9.5V10.5\" stroke=\"#3F43EE\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 5.5C7.10457 5.5 8 4.60457 8 3.5C8 2.39543 7.10457 1.5 6 1.5C4.89543 1.5 4 2.39543 4 3.5C4 4.60457 4.89543 5.5 6 5.5Z\" stroke=\"#3F43EE\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ humanLabel }}\n </span>\n <span class=\"cqa-text-[14px] cqa-leading-[20px] cqa-font-bold cqa-text-dialog\">{{ humanCount }}</span>\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted cqa-pt-[2px] cqa-pb-1\">Coverage</div>\n </div>\n </div>\n\n <!-- Body -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-mb-3\">\n <div *ngFor=\"let it of items\" class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <span class=\"md:cqa-w-full md:cqa-max-w-[216px] cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-secondary cqa-flex cqa-items-center cqa-gap-2\">\n <svg *ngIf=\"it.status=='success'\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.8333 6.46309V6.99976C12.8326 8.25767 12.4253 9.48165 11.6721 10.4892C10.9189 11.4967 9.86025 12.2337 8.65396 12.5904C7.44767 12.947 6.1584 12.9042 4.97844 12.4683C3.79848 12.0323 2.79105 11.2266 2.10639 10.1714C1.42174 9.11611 1.09654 7.8678 1.17931 6.61261C1.26208 5.35742 1.74837 4.16262 2.56566 3.20638C3.38295 2.25015 4.48746 1.58373 5.71444 1.30651C6.94143 1.02929 8.22515 1.15612 9.37417 1.66809\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 6.41634L7 8.16634L12.8333 2.33301\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <svg *ngIf=\"it.status=='error'\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 12.8337C10.2217 12.8337 12.8333 10.222 12.8333 7.00033C12.8333 3.77866 10.2217 1.16699 7 1.16699C3.77834 1.16699 1.16666 3.77866 1.16666 7.00033C1.16666 10.222 3.77834 12.8337 7 12.8337Z\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 4.66699V7.00033\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 9.33301H7.00583\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ it.label }}\n </span>\n <div class=\"cqa-flex-1 cqa-h-[6px] cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"statusColorClass(it)\"\n [style.width]=\"formatPercent(it.percent)\"></div>\n </div>\n <span class=\"cqa-min-w-[40px] cqa-text-[12px] cqa-leading-[16px] cqa-font-bold\" [ngClass]=\"textColorClass(it)\">{{\n formatPercent(it.percent) }}</span>\n </div>\n </div>\n\n <!-- Footer -->\n <cqa-button variant=\"filled\" [customClass]=\"ctaButtonClass\" (click)=\"onAiCoverageClick()\">\n <ng-container *ngIf=\"!isGenerating; else generatingTpl\">\n <svg *ngIf=\"!isGenerating && !isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n <svg *ngIf=\"isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.8333 6.46309V6.99976C12.8326 8.25767 12.4253 9.48165 11.6721 10.4892C10.9189 11.4967 9.86025 12.2337 8.65396 12.5904C7.44767 12.947 6.1584 12.9042 4.97844 12.4683C3.79848 12.0323 2.79105 11.2266 2.10639 10.1714C1.42174 9.11611 1.09654 7.8678 1.17931 6.61261C1.26208 5.35742 1.74837 4.16262 2.56566 3.20638C3.38295 2.25015 4.48746 1.58373 5.71444 1.30651C6.94143 1.02929 8.22515 1.15612 9.37417 1.66809\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 6.41634L7 8.16634L12.8333 2.33301\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ ctaText }}\n </ng-container>\n <ng-template #generatingTpl>\n <span class=\"cqa-inline-flex cqa-items-center cqa-gap-2\">\n <svg *ngIf=\"!isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\">\n <circle cx=\"9\" cy=\"9\" r=\"7\" stroke-width=\"2\" stroke-opacity=\"0.25\"/>\n <path d=\"M16 9a7 7 0 0 1-7 7\" stroke-width=\"2\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 9 9\" to=\"360 9 9\" dur=\"0.8s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n <svg *ngIf=\"isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\">\n <circle cx=\"9\" cy=\"9\" r=\"7\" stroke-width=\"2\" stroke-opacity=\"0.25\"/>\n <path d=\"M16 9a7 7 0 0 1-7 7\" stroke-width=\"2\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 9 9\" to=\"360 9 9\" dur=\"0.8s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n Generating\n </span>\n </ng-template>\n </cqa-button>\n </div>\n</div>", components: [{ type: i1.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass"], outputs: ["clicked"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CoverageModuleCardComponent, decorators: [{
101
101
  type: Component,
102
- args: [{ selector: 'cqa-coverage-module-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-bg-white cqa-rounded-[8px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-py-[10px] md:cqa-px-[17px] cqa-px-3 cqa-shadow-card\">\n <!-- Header -->\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-mb-3\">\n <h3 class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-dialog\">{{ title }}</h3>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <span (click)=\"issuesClicked.emit()\"\n class=\"cqa-cursor-pointer cqa-px-[10px] cqa-py-[4px] cqa-text-[12px] cqa-leading-[16px] cqa-flex cqa-items-center cqa-gap-1 cqa-rounded-full cqa-bg-warning-light cqa-text-danger\">\n {{ issues }} {{ issues === 1 ? 'issue' : 'issues' }}\n </span>\n <button type=\"button\"\n class=\"cqa-text-[14px] cqa-leading-[20px] cqa-text-primary cqa-flex cqa-items-center cqa-gap-1\"\n *ngIf=\"showViewAction\" (click)=\"view.emit()\">\n View\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 12L10 8L6 4\" stroke=\"#4F46E5\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n\n <!-- Middle metrics row -->\n <div class=\"cqa-grid md:cqa-grid-cols-4 cqa-grid-cols-2 cqa-gap-3 cqa-mb-4 cqa-border-t cqa-border-b cqa-border-surface-[#F3F4F6] cqa-py-2\">\n <!-- Left: Positive / Negative / Edge Case -->\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#059669]\">{{ positiveCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ positiveLabel }}</div>\n </div>\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#EF4444]\">{{ negativeCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ negativeLabel }}</div>\n </div>\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#F59E0B]\">{{ edgeCaseCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ edgeCaseLabel }}</div>\n </div>\n\n <!-- Right: AI / Human -->\n <div class=\"cqa-text-center cqa-flex cqa-items-center cqa-justify-center cqa-flex-col\">\n <div class=\"cqa-flex cqa-items-center cqa-justify-center\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-items-center cqa-justify-center cqa-w-[60px] cqa-cursor-pointer\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-bold cqa-text-primary cqa-flex cqa-items-center cqa-gap-[2px]\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_7415_11751)\"><path d=\"M4.9685 7.75012C4.92386 7.57709 4.83367 7.41918 4.70731 7.29282C4.58095 7.16646 4.42304 7.07626 4.25 7.03162L1.1825 6.24062C1.13017 6.22577 1.08411 6.19425 1.05131 6.15085C1.01851 6.10744 1.00076 6.05453 1.00076 6.00012C1.00076 5.94572 1.01851 5.89281 1.05131 5.8494C1.08411 5.806 1.13017 5.77448 1.1825 5.75962L4.25 4.96812C4.42298 4.92353 4.58085 4.83341 4.7072 4.70714C4.83356 4.58088 4.92378 4.42307 4.9685 4.25012L5.7595 1.18262C5.7742 1.13008 5.80569 1.0838 5.84916 1.05082C5.89263 1.01785 5.94569 1 6.00025 1C6.05481 1 6.10787 1.01785 6.15134 1.05082C6.19481 1.0838 6.2263 1.13008 6.241 1.18262L7.0315 4.25012C7.07614 4.42316 7.16633 4.58107 7.29269 4.70743C7.41905 4.83379 7.57696 4.92399 7.75 4.96862L10.8175 5.75912C10.8703 5.77367 10.9168 5.80513 10.9499 5.84866C10.9831 5.8922 11.001 5.94541 11.001 6.00012C11.001 6.05484 10.9831 6.10805 10.9499 6.15159C10.9168 6.19512 10.8703 6.22657 10.8175 6.24112L7.75 7.03162C7.57696 7.07626 7.41905 7.16646 7.29269 7.29282C7.16633 7.41918 7.07614 7.57709 7.0315 7.75012L6.2405 10.8176C6.2258 10.8702 6.19431 10.9165 6.15084 10.9494C6.10737 10.9824 6.05431 11.0002 5.99975 11.0002C5.94519 11.0002 5.89213 10.9824 5.84866 10.9494C5.80519 10.9165 5.7737 10.8702 5.759 10.8176L4.9685 7.75012Z\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 1.5V3.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 2.5H9\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 8.5V9.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.5 9H1.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_7415_11751\"><rect width=\"12\" height=\"12\" fill=\"white\"/></clipPath></defs></svg>\n {{ aiLabel }}\n </span>\n <span class=\"cqa-text-[14px] cqa-leading-[20px] cqa-font-bold cqa-text-dialog\">{{ aiCount }}</span>\n </div>\n <div class=\"cqa-bg-primary-surface cqa-w-[2px] cqa-h-full cqa-mx-[3.5px]\"></div>\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-items-center cqa-justify-center cqa-w-[60px]\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-bold cqa-text-dialog-secondary cqa-flex cqa-items-center cqa-gap-[2px]\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.5 10.5V9.5C9.5 8.96957 9.28929 8.46086 8.91421 8.08579C8.53914 7.71071 8.03043 7.5 7.5 7.5H4.5C3.96957 7.5 3.46086 7.71071 3.08579 8.08579C2.71071 8.46086 2.5 8.96957 2.5 9.5V10.5\" stroke=\"#3F43EE\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 5.5C7.10457 5.5 8 4.60457 8 3.5C8 2.39543 7.10457 1.5 6 1.5C4.89543 1.5 4 2.39543 4 3.5C4 4.60457 4.89543 5.5 6 5.5Z\" stroke=\"#3F43EE\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ humanLabel }}\n </span>\n <span class=\"cqa-text-[14px] cqa-leading-[20px] cqa-font-bold cqa-text-dialog\">{{ humanCount }}</span>\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted cqa-pt-[2px] cqa-pb-1\">Coverage</div>\n </div>\n </div>\n\n <!-- Body -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-mb-3\">\n <div *ngFor=\"let it of items\" class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <span class=\"md:cqa-w-full md:cqa-max-w-[216px] cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-secondary cqa-flex cqa-items-center cqa-gap-2\">\n <svg *ngIf=\"it.status=='success'\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.8333 6.46309V6.99976C12.8326 8.25767 12.4253 9.48165 11.6721 10.4892C10.9189 11.4967 9.86025 12.2337 8.65396 12.5904C7.44767 12.947 6.1584 12.9042 4.97844 12.4683C3.79848 12.0323 2.79105 11.2266 2.10639 10.1714C1.42174 9.11611 1.09654 7.8678 1.17931 6.61261C1.26208 5.35742 1.74837 4.16262 2.56566 3.20638C3.38295 2.25015 4.48746 1.58373 5.71444 1.30651C6.94143 1.02929 8.22515 1.15612 9.37417 1.66809\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 6.41634L7 8.16634L12.8333 2.33301\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <svg *ngIf=\"it.status=='error'\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 12.8337C10.2217 12.8337 12.8333 10.222 12.8333 7.00033C12.8333 3.77866 10.2217 1.16699 7 1.16699C3.77834 1.16699 1.16666 3.77866 1.16666 7.00033C1.16666 10.222 3.77834 12.8337 7 12.8337Z\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 4.66699V7.00033\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 9.33301H7.00583\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ it.label }}\n </span>\n <div class=\"cqa-flex-1 cqa-h-[6px] cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"statusColorClass(it)\"\n [style.width]=\"formatPercent(it.percent)\"></div>\n </div>\n <span class=\"cqa-min-w-[40px] cqa-text-[12px] cqa-leading-[16px] cqa-font-bold\" [ngClass]=\"textColorClass(it)\">{{\n formatPercent(it.percent) }}</span>\n </div>\n </div>\n\n <!-- Footer -->\n <cqa-button variant=\"filled\" [customClass]=\"ctaButtonClass\" (click)=\"onAiCoverageClick()\">\n <ng-container *ngIf=\"!isGenerating; else generatingTpl\">\n <svg *ngIf=\"!isGenerating && !isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n <svg *ngIf=\"isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.8333 6.46309V6.99976C12.8326 8.25767 12.4253 9.48165 11.6721 10.4892C10.9189 11.4967 9.86025 12.2337 8.65396 12.5904C7.44767 12.947 6.1584 12.9042 4.97844 12.4683C3.79848 12.0323 2.79105 11.2266 2.10639 10.1714C1.42174 9.11611 1.09654 7.8678 1.17931 6.61261C1.26208 5.35742 1.74837 4.16262 2.56566 3.20638C3.38295 2.25015 4.48746 1.58373 5.71444 1.30651C6.94143 1.02929 8.22515 1.15612 9.37417 1.66809\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 6.41634L7 8.16634L12.8333 2.33301\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ ctaText }}\n </ng-container>\n <ng-template #generatingTpl>\n <span class=\"cqa-inline-flex cqa-items-center cqa-gap-2\">\n <svg *ngIf=\"!isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\">\n <circle cx=\"9\" cy=\"9\" r=\"7\" stroke-width=\"2\" stroke-opacity=\"0.25\"/>\n <path d=\"M16 9a7 7 0 0 1-7 7\" stroke-width=\"2\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 9 9\" to=\"360 9 9\" dur=\"0.8s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n <svg *ngIf=\"isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\">\n <circle cx=\"9\" cy=\"9\" r=\"7\" stroke-width=\"2\" stroke-opacity=\"0.25\"/>\n <path d=\"M16 9a7 7 0 0 1-7 7\" stroke-width=\"2\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 9 9\" to=\"360 9 9\" dur=\"0.8s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n Generating\n </span>\n </ng-template>\n </cqa-button>\n </div>\n</div>", styles: [] }]
102
+ args: [{ selector: 'cqa-coverage-module-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-bg-white cqa-rounded-[8px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-py-[10px] md:cqa-px-[17px] cqa-px-3 cqa-shadow-card\">\n <!-- Header -->\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-mb-3\">\n <h3 class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-dialog\">{{ title }}</h3>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <span (click)=\"issuesClicked.emit()\"\n class=\"cqa-cursor-pointer cqa-px-[10px] cqa-py-[4px] cqa-text-[12px] cqa-leading-[16px] cqa-flex cqa-items-center cqa-gap-1 cqa-rounded-full cqa-bg-warning-light cqa-text-danger\">\n {{ issues }} {{ issues === 1 ? 'issue' : 'issues' }}\n </span>\n <button type=\"button\"\n class=\"cqa-text-[14px] cqa-leading-[20px] cqa-text-primary cqa-flex cqa-items-center cqa-gap-1\"\n *ngIf=\"showViewAction\" (click)=\"view.emit()\">\n View\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 12L10 8L6 4\" stroke=\"#4F46E5\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n\n <!-- Middle metrics row -->\n <div class=\"cqa-grid md:cqa-grid-cols-4 cqa-grid-cols-2 cqa-gap-3 cqa-mb-4 cqa-py-2\" style=\"border-top: 1px solid #F3F4F6; border-bottom: 1px solid #F3F4F6; border-left: none; border-right: none;\">\n <!-- Left: Positive / Negative / Edge Case -->\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#059669]\">{{ positiveCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ positiveLabel }}</div>\n </div>\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#EF4444]\">{{ negativeCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ negativeLabel }}</div>\n </div>\n <div class=\"cqa-text-center\">\n <div class=\"cqa-text-[18px] cqa-leading-[28px] cqa-font-bold cqa-text-[#F59E0B]\">{{ edgeCaseCount }}</div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted\">{{ edgeCaseLabel }}</div>\n </div>\n\n <!-- Right: AI / Human -->\n <div class=\"cqa-text-center cqa-flex cqa-items-center cqa-justify-center cqa-flex-col\">\n <div class=\"cqa-flex cqa-items-center cqa-justify-center\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-items-center cqa-justify-center cqa-w-[60px] cqa-cursor-pointer\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-bold cqa-text-primary cqa-flex cqa-items-center cqa-gap-[2px]\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_7415_11751)\"><path d=\"M4.9685 7.75012C4.92386 7.57709 4.83367 7.41918 4.70731 7.29282C4.58095 7.16646 4.42304 7.07626 4.25 7.03162L1.1825 6.24062C1.13017 6.22577 1.08411 6.19425 1.05131 6.15085C1.01851 6.10744 1.00076 6.05453 1.00076 6.00012C1.00076 5.94572 1.01851 5.89281 1.05131 5.8494C1.08411 5.806 1.13017 5.77448 1.1825 5.75962L4.25 4.96812C4.42298 4.92353 4.58085 4.83341 4.7072 4.70714C4.83356 4.58088 4.92378 4.42307 4.9685 4.25012L5.7595 1.18262C5.7742 1.13008 5.80569 1.0838 5.84916 1.05082C5.89263 1.01785 5.94569 1 6.00025 1C6.05481 1 6.10787 1.01785 6.15134 1.05082C6.19481 1.0838 6.2263 1.13008 6.241 1.18262L7.0315 4.25012C7.07614 4.42316 7.16633 4.58107 7.29269 4.70743C7.41905 4.83379 7.57696 4.92399 7.75 4.96862L10.8175 5.75912C10.8703 5.77367 10.9168 5.80513 10.9499 5.84866C10.9831 5.8922 11.001 5.94541 11.001 6.00012C11.001 6.05484 10.9831 6.10805 10.9499 6.15159C10.9168 6.19512 10.8703 6.22657 10.8175 6.24112L7.75 7.03162C7.57696 7.07626 7.41905 7.16646 7.29269 7.29282C7.16633 7.41918 7.07614 7.57709 7.0315 7.75012L6.2405 10.8176C6.2258 10.8702 6.19431 10.9165 6.15084 10.9494C6.10737 10.9824 6.05431 11.0002 5.99975 11.0002C5.94519 11.0002 5.89213 10.9824 5.84866 10.9494C5.80519 10.9165 5.7737 10.8702 5.759 10.8176L4.9685 7.75012Z\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 1.5V3.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 2.5H9\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 8.5V9.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.5 9H1.5\" stroke=\"#7C3AED\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_7415_11751\"><rect width=\"12\" height=\"12\" fill=\"white\"/></clipPath></defs></svg>\n {{ aiLabel }}\n </span>\n <span class=\"cqa-text-[14px] cqa-leading-[20px] cqa-font-bold cqa-text-dialog\">{{ aiCount }}</span>\n </div>\n <div class=\"cqa-bg-primary-surface cqa-w-[2px] cqa-h-full cqa-mx-[3.5px]\"></div>\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-items-center cqa-justify-center cqa-w-[60px]\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-bold cqa-text-dialog-secondary cqa-flex cqa-items-center cqa-gap-[2px]\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.5 10.5V9.5C9.5 8.96957 9.28929 8.46086 8.91421 8.08579C8.53914 7.71071 8.03043 7.5 7.5 7.5H4.5C3.96957 7.5 3.46086 7.71071 3.08579 8.08579C2.71071 8.46086 2.5 8.96957 2.5 9.5V10.5\" stroke=\"#3F43EE\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 5.5C7.10457 5.5 8 4.60457 8 3.5C8 2.39543 7.10457 1.5 6 1.5C4.89543 1.5 4 2.39543 4 3.5C4 4.60457 4.89543 5.5 6 5.5Z\" stroke=\"#3F43EE\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ humanLabel }}\n </span>\n <span class=\"cqa-text-[14px] cqa-leading-[20px] cqa-font-bold cqa-text-dialog\">{{ humanCount }}</span>\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-muted cqa-pt-[2px] cqa-pb-1\">Coverage</div>\n </div>\n </div>\n\n <!-- Body -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-mb-3\">\n <div *ngFor=\"let it of items\" class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <span class=\"md:cqa-w-full md:cqa-max-w-[216px] cqa-text-[12px] cqa-leading-[16px] cqa-text-dialog-secondary cqa-flex cqa-items-center cqa-gap-2\">\n <svg *ngIf=\"it.status=='success'\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.8333 6.46309V6.99976C12.8326 8.25767 12.4253 9.48165 11.6721 10.4892C10.9189 11.4967 9.86025 12.2337 8.65396 12.5904C7.44767 12.947 6.1584 12.9042 4.97844 12.4683C3.79848 12.0323 2.79105 11.2266 2.10639 10.1714C1.42174 9.11611 1.09654 7.8678 1.17931 6.61261C1.26208 5.35742 1.74837 4.16262 2.56566 3.20638C3.38295 2.25015 4.48746 1.58373 5.71444 1.30651C6.94143 1.02929 8.22515 1.15612 9.37417 1.66809\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 6.41634L7 8.16634L12.8333 2.33301\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <svg *ngIf=\"it.status=='error'\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 12.8337C10.2217 12.8337 12.8333 10.222 12.8333 7.00033C12.8333 3.77866 10.2217 1.16699 7 1.16699C3.77834 1.16699 1.16666 3.77866 1.16666 7.00033C1.16666 10.222 3.77834 12.8337 7 12.8337Z\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 4.66699V7.00033\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 9.33301H7.00583\" stroke=\"#EF4444\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ it.label }}\n </span>\n <div class=\"cqa-flex-1 cqa-h-[6px] cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"statusColorClass(it)\"\n [style.width]=\"formatPercent(it.percent)\"></div>\n </div>\n <span class=\"cqa-min-w-[40px] cqa-text-[12px] cqa-leading-[16px] cqa-font-bold\" [ngClass]=\"textColorClass(it)\">{{\n formatPercent(it.percent) }}</span>\n </div>\n </div>\n\n <!-- Footer -->\n <cqa-button variant=\"filled\" [customClass]=\"ctaButtonClass\" (click)=\"onAiCoverageClick()\">\n <ng-container *ngIf=\"!isGenerating; else generatingTpl\">\n <svg *ngIf=\"!isGenerating && !isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n <svg *ngIf=\"isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.8333 6.46309V6.99976C12.8326 8.25767 12.4253 9.48165 11.6721 10.4892C10.9189 11.4967 9.86025 12.2337 8.65396 12.5904C7.44767 12.947 6.1584 12.9042 4.97844 12.4683C3.79848 12.0323 2.79105 11.2266 2.10639 10.1714C1.42174 9.11611 1.09654 7.8678 1.17931 6.61261C1.26208 5.35742 1.74837 4.16262 2.56566 3.20638C3.38295 2.25015 4.48746 1.58373 5.71444 1.30651C6.94143 1.02929 8.22515 1.15612 9.37417 1.66809\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 6.41634L7 8.16634L12.8333 2.33301\" stroke=\"#10B981\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n {{ ctaText }}\n </ng-container>\n <ng-template #generatingTpl>\n <span class=\"cqa-inline-flex cqa-items-center cqa-gap-2\">\n <svg *ngIf=\"!isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\">\n <circle cx=\"9\" cy=\"9\" r=\"7\" stroke-width=\"2\" stroke-opacity=\"0.25\"/>\n <path d=\"M16 9a7 7 0 0 1-7 7\" stroke-width=\"2\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 9 9\" to=\"360 9 9\" dur=\"0.8s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n <svg *ngIf=\"isGenerated\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\">\n <circle cx=\"9\" cy=\"9\" r=\"7\" stroke-width=\"2\" stroke-opacity=\"0.25\"/>\n <path d=\"M16 9a7 7 0 0 1-7 7\" stroke-width=\"2\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 9 9\" to=\"360 9 9\" dur=\"0.8s\" repeatCount=\"indefinite\"/>\n </path>\n </svg>\n Generating\n </span>\n </ng-template>\n </cqa-button>\n </div>\n</div>", styles: [] }]
103
103
  }], propDecorators: { title: [{
104
104
  type: Input
105
105
  }], issues: [{
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
143
143
  }], aiCoverageClick: [{
144
144
  type: Output
145
145
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292ZXJhZ2UtbW9kdWxlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXNoYm9hcmRzL2NvdmVyYWdlLW1vZHVsZS1jYXJkL2NvdmVyYWdlLW1vZHVsZS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9jb3ZlcmFnZS1tb2R1bGUtY2FyZC9jb3ZlcmFnZS1tb2R1bGUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7O0FBbUIzRyxNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBT0UsZ0NBQWdDO1FBQ3ZCLFVBQUssR0FBVyxVQUFVLENBQUM7UUFDcEMsZ0RBQWdEO1FBQ3ZDLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDNUIsd0NBQXdDO1FBQy9CLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQ3hDLGlDQUFpQztRQUN4QixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLFVBQVUsQ0FBQztRQUNuQyxrQkFBYSxHQUFXLFVBQVUsQ0FBQztRQUNuQyxrQkFBYSxHQUFXLFdBQVcsQ0FBQztRQUM3QyxrQ0FBa0M7UUFDekIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFDdkIsZUFBVSxHQUFXLE9BQU8sQ0FBQztRQUN0Qyw0Q0FBNEM7UUFDbkMsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFDcEMsdUJBQXVCO1FBQ2QsWUFBTyxHQUFXLGFBQWEsQ0FBQztR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c0JBQWQsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIENvdmVyYWdlU3RhdHVzID0gJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICduZXV0cmFsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb3ZlcmFnZUl0ZW0ge1xuICAvKiogUm93IGxhYmVsLCBlLmcuIFwiSW5wdXQgVmFsaWRhdGlvblwiICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBWYWx1ZSBpbiBwZXJjZW50ICgwLTEwMCkgKi9cbiAgcGVyY2VudDogbnVtYmVyO1xuICAvKiogVmlzdWFsIHN0YXR1cyB0byBjb2xvcml6ZSB0aGUgYmFyL3RleHQgKi9cbiAgc3RhdHVzPzogQ292ZXJhZ2VTdGF0dXM7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1jb3ZlcmFnZS1tb2R1bGUtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3ZlcmFnZS1tb2R1bGUtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQge1xuICAvKiogQ2FyZCB0aXRsZSwgZS5nLiBcIkFJIEFza1wiICovXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnQ292ZXJhZ2UnO1xuICAvKiogTnVtYmVyIG9mIGlzc3VlcyB0byBkaXNwbGF5IG5leHQgdG8gdGl0bGUgKi9cbiAgQElucHV0KCkgaXNzdWVzOiBudW1iZXIgPSAwO1xuICAvKiogT3B0aW9uYWwgXCJWaWV3XCIgYWN0aW9uIHZpc2liaWxpdHkgKi9cbiAgQElucHV0KCkgc2hvd1ZpZXdBY3Rpb246IGJvb2xlYW4gPSB0cnVlO1xuICAvKiogTWlkZGxlIG1ldHJpY3M6IGxlZnQgZ3JvdXAgKi9cbiAgQElucHV0KCkgcG9zaXRpdmVDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbmVnYXRpdmVDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgZWRnZUNhc2VDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcG9zaXRpdmVMYWJlbDogc3RyaW5nID0gJ1Bvc2l0aXZlJztcbiAgQElucHV0KCkgbmVnYXRpdmVMYWJlbDogc3RyaW5nID0gJ05lZ2F0aXZlJztcbiAgQElucHV0KCkgZWRnZUNhc2VMYWJlbDogc3RyaW5nID0gJ0VkZ2UgQ2FzZSc7XG4gIC8qKiBNaWRkbGUgbWV0cmljczogcmlnaHQgZ3JvdXAgKi9cbiAgQElucHV0KCkgYWlDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgaHVtYW5Db3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgYWlMYWJlbDogc3RyaW5nID0gJ0FJJztcbiAgQElucHV0KCkgaHVtYW5MYWJlbDogc3RyaW5nID0gJ0h1bWFuJztcbiAgLyoqIFJvd3Mgb2YgY292ZXJhZ2Ugd2l0aCBwZXJjZW50YWdlIGJhcnMgKi9cbiAgQElucHV0KCkgaXRlbXM6IENvdmVyYWdlSXRlbVtdID0gW107XG4gIC8qKiBDVEEgYnV0dG9uIGxhYmVsICovXG4gIEBJbnB1dCgpIGN0YVRleHQ6IHN0cmluZyA9ICdBSSBDb3ZlcmFnZSc7XG4gIC8qKiBEaXNhYmxlIENUQSAqL1xuICBASW5wdXQoKSBjdGFEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogR2VuZXJhdGlvbiBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQgfjEycykgKi9cbiAgQElucHV0KCkgZ2VuZXJhdGlvbk1zOiBudW1iZXIgPSAyMDA7XG5cbiAgQE91dHB1dCgpIHZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBpc3N1ZXNDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY3RhQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqIEVtaXRzIHdoZW4gdGhlIEFJIGNvdmVyYWdlIGFyZWEgaXMgY2xpY2tlZCAqL1xuICBAT3V0cHV0KCkgYWlDb3ZlcmFnZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBJbnRlcm5hbCBnZW5lcmF0aW9uIHN0YXRlICovXG4gIGlzR2VuZXJhdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0dlbmVyYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGdlbmVyYXRpb25UaW1lcklkPzogbnVtYmVyO1xuXG4gIHN0YXR1c0NvbG9yQ2xhc3MoaXRlbTogQ292ZXJhZ2VJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0dXMgPSBpdGVtLnN0YXR1cyA/PyAnbmV1dHJhbCc7XG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICByZXR1cm4gJ2NxYS1iZy1bIzEwQjk4MV0nOyAvLyBncmVlblxuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gJ2NxYS1iZy1bI0VGNDQ0NF0nOyAvLyByZWRcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLWJnLVsjM0I4MkY2XSc7IC8vIGJsdWVcbiAgICB9XG4gIH1cblxuICB0ZXh0Q29sb3JDbGFzcyhpdGVtOiBDb3ZlcmFnZUl0ZW0pOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YXR1cyA9IGl0ZW0uc3RhdHVzID8/ICduZXV0cmFsJztcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtWyMxMEI5ODFdJztcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1bIzM3NDE1MV0nO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdFBlcmNlbnQocGN0OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChwY3QgPT09IHVuZGVmaW5lZCB8fCBwY3QgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHBjdCkpIHJldHVybiAnMCUnO1xuICAgIGNvbnN0IGNsYW1wZWQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHBjdCkpO1xuICAgIHJldHVybiBgJHtjbGFtcGVkfSVgO1xuICB9XG5cbiAgLyoqIENvbXB1dGVkIENUQSBidXR0b24gY2xhc3MgdG8gc3dpdGNoIHRvIGxpZ2h0IGdyZWVuIGFmdGVyIGdlbmVyYXRpb24gKi9cbiAgZ2V0IGN0YUJ1dHRvbkNsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZSA9ICdjcWEtdy1mdWxsIGNxYS10ZXh0LVsxNHB4XSBjcWEtbGVhZGluZy1bMjBweF0gY3FhLWZvbnQtc2VtaWJvbGQnO1xuICAgIGlmICh0aGlzLmlzR2VuZXJhdGVkKSB7XG4gICAgICAvLyBsaWdodCBncmVlbiBiYWNrZ3JvdW5kLCBkYXJrIGdyZWVuIHRleHQsIHN1YnRsZSBncmVlbiBib3JkZXJcbiAgICAgIHJldHVybiBgJHtiYXNlfSBjcWEtYmctWyNEMUZBRTVdIGNxYS10ZXh0LVsjMDY1RjQ2XSBjcWEtYm9yZGVyLVsjQTdGM0QwXWA7XG4gICAgfVxuICAgIGlmKHRoaXMuaXNHZW5lcmF0aW5nKSB7XG4gICAgICByZXR1cm4gYCR7YmFzZX0gY3FhLWJnLXByaW1hcnktc3VyZmFjZSBjcWEtdGV4dC1wcmltYXJ5YDtcbiAgICB9XG4gICAgcmV0dXJuIGJhc2U7XG4gIH1cblxuICBvbkFpQ292ZXJhZ2VDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0dlbmVyYXRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jdGFDbGlja2VkLmVtaXQoKTtcbiAgICB0aGlzLmFpQ292ZXJhZ2VDbGljay5lbWl0KCk7XG5cbiAgICAvLyBTdGFydCBnZW5lcmF0aW5nIHN0YXRlIGZvciB+MTIgc2Vjb25kc1xuICAgIHRoaXMuaXNHZW5lcmF0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzR2VuZXJhdGluZyA9IHRydWU7XG5cbiAgICAvLyBDbGVhciBhbnkgZXhpc3RpbmcgdGltZXIgZGVmZW5zaXZlbHlcbiAgICBcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNHZW5lcmF0aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmlzR2VuZXJhdGVkID0gdHJ1ZTtcbiAgICB9LCAyMDApO1xuICB9XG59XG5cblxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWJnLXdoaXRlIGNxYS1yb3VuZGVkLVs4cHhdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtcHktWzEwcHhdIG1kOmNxYS1weC1bMTdweF0gY3FhLXB4LTMgY3FhLXNoYWRvdy1jYXJkXCI+XG4gICAgPCEtLSBIZWFkZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1tYi0zXCI+XG4gICAgICA8aDMgY2xhc3M9XCJjcWEtdGV4dC1bMThweF0gY3FhLWxlYWRpbmctWzI4cHhdIGNxYS1mb250LWJvbGQgY3FhLXRleHQtZGlhbG9nXCI+e3sgdGl0bGUgfX08L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yXCI+XG4gICAgICAgIDxzcGFuIChjbGljayk9XCJpc3N1ZXNDbGlja2VkLmVtaXQoKVwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXB4LVsxMHB4XSBjcWEtcHktWzRweF0gY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxNnB4XSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy13YXJuaW5nLWxpZ2h0IGNxYS10ZXh0LWRhbmdlclwiPlxuICAgICAgICAgIHt7IGlzc3VlcyB9fSB7eyBpc3N1ZXMgPT09IDEgPyAnaXNzdWUnIDogJ2lzc3VlcycgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsyMHB4XSBjcWEtdGV4dC1wcmltYXJ5IGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0xXCJcbiAgICAgICAgICAqbmdJZj1cInNob3dWaWV3QWN0aW9uXCIgKGNsaWNrKT1cInZpZXcuZW1pdCgpXCI+XG4gICAgICAgICAgVmlld1xuICAgICAgICAgIDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzRGNDZFNVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBNaWRkbGUgbWV0cmljcyByb3cgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1ncmlkIG1kOmNxYS1ncmlkLWNvbHMtNCBjcWEtZ3JpZC1jb2xzLTIgY3FhLWdhcC0zIGNxYS1tYi00IGNxYS1ib3JkZXItdCBjcWEtYm9yZGVyLWIgY3FhLWJvcmRlci1zdXJmYWNlLVsjRjNGNEY2XSBjcWEtcHktMlwiPlxuICAgICAgPCEtLSBMZWZ0OiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIC8gRWRnZSBDYXNlIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzE4cHhdIGNxYS1sZWFkaW5nLVsyOHB4XSBjcWEtZm9udC1ib2xkIGNxYS10ZXh0LVsjMDU5NjY5XVwiPnt7IHBvc2l0aXZlQ291bnQgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLXRleHQtZGlhbG9nLW11dGVkXCI+e3sgcG9zaXRpdmVMYWJlbCB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMThweF0gY3FhLWxlYWRpbmctWzI4cHhdIGNxYS1mb250LWJvbGQgY3FhLXRleHQtWyNFRjQ0NDRdXCI+e3sgbmVnYXRpdmVDb3VudCB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxNnB4XSBjcWEtdGV4dC1kaWFsb2ctbXV0ZWRcIj57eyBuZWdhdGl2ZUxhYmVsIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxOHB4XSBjcWEtbGVhZGluZy1bMjhweF0gY3FhLWZvbnQtYm9sZCBjcWEtdGV4dC1bI0Y1OUUwQl1cIj57eyBlZGdlQ2FzZUNvdW50IH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE2cHhdIGNxYS10ZXh0LWRpYWxvZy1tdXRlZFwiPnt7IGVkZ2VDYXNlTGFiZWwgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFJpZ2h0OiBBSSAvIEh1bWFuIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LWNlbnRlciBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtZmxleC1jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTEgY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXctWzYwcHhdIGNxYS1jdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE2cHhdIGNxYS1mb250LWJvbGQgY3FhLXRleHQtcHJpbWFyeSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtWzJweF1cIj5cbiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF83NDE1XzExNzUxKVwiPjxwYXRoIGQ9XCJNNC45Njg1IDcuNzUwMTJDNC45MjM4NiA3LjU3NzA5IDQuODMzNjcgNy40MTkxOCA0LjcwNzMxIDcuMjkyODJDNC41ODA5NSA3LjE2NjQ2IDQuNDIzMDQgNy4wNzYyNiA0LjI1IDcuMDMxNjJMMS4xODI1IDYuMjQwNjJDMS4xMzAxNyA2LjIyNTc3IDEuMDg0MTEgNi4xOTQyNSAxLjA1MTMxIDYuMTUwODVDMS4wMTg1MSA2LjEwNzQ0IDEuMDAwNzYgNi4wNTQ1MyAxLjAwMDc2IDYuMDAwMTJDMS4wMDA3NiA1Ljk0NTcyIDEuMDE4NTEgNS44OTI4MSAxLjA1MTMxIDUuODQ5NEMxLjA4NDExIDUuODA2IDEuMTMwMTcgNS43NzQ0OCAxLjE4MjUgNS43NTk2Mkw0LjI1IDQuOTY4MTJDNC40MjI5OCA0LjkyMzUzIDQuNTgwODUgNC44MzM0MSA0LjcwNzIgNC43MDcxNEM0LjgzMzU2IDQuNTgwODggNC45MjM3OCA0LjQyMzA3IDQuOTY4NSA0LjI1MDEyTDUuNzU5NSAxLjE4MjYyQzUuNzc0MiAxLjEzMDA4IDUuODA1NjkgMS4wODM4IDUuODQ5MTYgMS4wNTA4MkM1Ljg5MjYzIDEuMDE3ODUgNS45NDU2OSAxIDYuMDAwMjUgMUM2LjA1NDgxIDEgNi4xMDc4NyAxLjAxNzg1IDYuMTUxMzQgMS4wNTA4MkM2LjE5NDgxIDEuMDgzOCA2LjIyNjMgMS4xMzAwOCA2LjI0MSAxLjE4MjYyTDcuMDMxNSA0LjI1MDEyQzcuMDc2MTQgNC40MjMxNiA3LjE2NjMzIDQuNTgxMDcgNy4yOTI2OSA0LjcwNzQzQzcuNDE5MDUgNC44MzM3OSA3LjU3Njk2IDQuOTIzOTkgNy43NSA0Ljk2ODYyTDEwLjgxNzUgNS43NTkxMkMxMC44NzAzIDUuNzczNjcgMTAuOTE2OCA1LjgwNTEzIDEwLjk0OTkgNS44NDg2NkMxMC45ODMxIDUuODkyMiAxMS4wMDEgNS45NDU0MSAxMS4wMDEgNi4wMDAxMkMxMS4wMDEgNi4wNTQ4NCAxMC45ODMxIDYuMTA4MDUgMTAuOTQ5OSA2LjE1MTU5QzEwLjkxNjggNi4xOTUxMiAxMC44NzAzIDYuMjI2NTcgMTAuODE3NSA2LjI0MTEyTDcuNzUgNy4wMzE2MkM3LjU3Njk2IDcuMDc2MjYgNy40MTkwNSA3LjE2NjQ2IDcuMjkyNjkgNy4yOTI4MkM3LjE2NjMzIDcuNDE5MTggNy4wNzYxNCA3LjU3NzA5IDcuMDMxNSA3Ljc1MDEyTDYuMjQwNSAxMC44MTc2QzYuMjI1OCAxMC44NzAyIDYuMTk0MzEgMTAuOTE2NSA2LjE1MDg0IDEwLjk0OTRDNi4xMDczNyAxMC45ODI0IDYuMDU0MzEgMTEuMDAwMiA1Ljk5OTc1IDExLjAwMDJDNS45NDUxOSAxMS4wMDAyIDUuODkyMTMgMTAuOTgyNCA1Ljg0ODY2IDEwLjk0OTRDNS44MDUxOSAxMC45MTY1IDUuNzczNyAxMC44NzAyIDUuNzU5IDEwLjgxNzZMNC45Njg1IDcuNzUwMTJaXCIgc3Ryb2tlPVwiIzdDM0FFRFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTEwIDEuNVYzLjVcIiBzdHJva2U9XCIjN0MzQUVEXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMTEgMi41SDlcIiBzdHJva2U9XCIjN0MzQUVEXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMiA4LjVWOS41XCIgc3Ryb2tlPVwiIzdDM0FFRFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTIuNSA5SDEuNVwiIHN0cm9rZT1cIiM3QzNBRURcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD1cImNsaXAwXzc0MTVfMTE3NTFcIj48cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+XG4gICAgICAgICAgICAgIHt7IGFpTGFiZWwgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsyMHB4XSBjcWEtZm9udC1ib2xkIGNxYS10ZXh0LWRpYWxvZ1wiPnt7IGFpQ291bnQgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1iZy1wcmltYXJ5LXN1cmZhY2UgY3FhLXctWzJweF0gY3FhLWgtZnVsbCBjcWEtbXgtWzMuNXB4XVwiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0xIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LVs2MHB4XVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE2cHhdIGNxYS1mb250LWJvbGQgY3FhLXRleHQtZGlhbG9nLXNlY29uZGFyeSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtWzJweF1cIj5cbiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk05LjUgMTAuNVY5LjVDOS41IDguOTY5NTcgOS4yODkyOSA4LjQ2MDg2IDguOTE0MjEgOC4wODU3OUM4LjUzOTE0IDcuNzEwNzEgOC4wMzA0MyA3LjUgNy41IDcuNUg0LjVDMy45Njk1NyA3LjUgMy40NjA4NiA3LjcxMDcxIDMuMDg1NzkgOC4wODU3OUMyLjcxMDcxIDguNDYwODYgMi41IDguOTY5NTcgMi41IDkuNVYxMC41XCIgc3Ryb2tlPVwiIzNGNDNFRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTYgNS41QzcuMTA0NTcgNS41IDggNC42MDQ1NyA4IDMuNUM4IDIuMzk1NDMgNy4xMDQ1NyAxLjUgNiAxLjVDNC44OTU0MyAxLjUgNCAyLjM5NTQzIDQgMy41QzQgNC42MDQ1NyA0Ljg5NTQzIDUuNSA2IDUuNVpcIiBzdHJva2U9XCIjM0Y0M0VFXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgICAgICAgICB7eyBodW1hbkxhYmVsIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxNHB4XSBjcWEtbGVhZGluZy1bMjBweF0gY3FhLWZvbnQtYm9sZCBjcWEtdGV4dC1kaWFsb2dcIj57eyBodW1hbkNvdW50IH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLXRleHQtZGlhbG9nLW11dGVkIGNxYS1wdC1bMnB4XSBjcWEtcGItMVwiPkNvdmVyYWdlPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQm9keSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMiBjcWEtbWItM1wiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXQgb2YgaXRlbXNcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWQ6Y3FhLXctZnVsbCBtZDpjcWEtbWF4LXctWzIxNnB4XSBjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE2cHhdIGNxYS10ZXh0LWRpYWxvZy1zZWNvbmRhcnkgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTJcIj5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXQuc3RhdHVzPT0nc3VjY2VzcydcIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMi44MzMzIDYuNDYzMDlWNi45OTk3NkMxMi44MzI2IDguMjU3NjcgMTIuNDI1MyA5LjQ4MTY1IDExLjY3MjEgMTAuNDg5MkMxMC45MTg5IDExLjQ5NjcgOS44NjAyNSAxMi4yMzM3IDguNjUzOTYgMTIuNTkwNEM3LjQ0NzY3IDEyLjk0NyA2LjE1ODQgMTIuOTA0MiA0Ljk3ODQ0IDEyLjQ2ODNDMy43OTg0OCAxMi4wMzIzIDIuNzkxMDUgMTEuMjI2NiAyLjEwNjM5IDEwLjE3MTRDMS40MjE3NCA5LjExNjExIDEuMDk2NTQgNy44Njc4IDEuMTc5MzEgNi42MTI2MUMxLjI2MjA4IDUuMzU3NDIgMS43NDgzNyA0LjE2MjYyIDIuNTY1NjYgMy4yMDYzOEMzLjM4Mjk1IDIuMjUwMTUgNC40ODc0NiAxLjU4MzczIDUuNzE0NDQgMS4zMDY1MUM2Ljk0MTQzIDEuMDI5MjkgOC4yMjUxNSAxLjE1NjEyIDkuMzc0MTcgMS42NjgwOVwiIHN0cm9rZT1cIiMxMEI5ODFcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNS4yNSA2LjQxNjM0TDcgOC4xNjYzNEwxMi44MzMzIDIuMzMzMDFcIiBzdHJva2U9XCIjMTBCOTgxXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXQuc3RhdHVzPT0nZXJyb3InXCIgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNNyAxMi44MzM3QzEwLjIyMTcgMTIuODMzNyAxMi44MzMzIDEwLjIyMiAxMi44MzMzIDcuMDAwMzNDMTIuODMzMyAzLjc3ODY2IDEwLjIyMTcgMS4xNjY5OSA3IDEuMTY2OTlDMy43NzgzNCAxLjE2Njk5IDEuMTY2NjYgMy43Nzg2NiAxLjE2NjY2IDcuMDAwMzNDMS4xNjY2NiAxMC4yMjIgMy43NzgzNCAxMi44MzM3IDcgMTIuODMzN1pcIiBzdHJva2U9XCIjRUY0NDQ0XCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTcgNC42NjY5OVY3LjAwMDMzXCIgc3Ryb2tlPVwiI0VGNDQ0NFwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk03IDkuMzMzMDFINy4wMDU4M1wiIHN0cm9rZT1cIiNFRjQ0NDRcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgICAgIHt7IGl0LmxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4LTEgY3FhLWgtWzZweF0gY3FhLXJvdW5kZWQtZnVsbCBjcWEtYmctWyNGM0Y0RjZdIGNxYS1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtcm91bmRlZC1mdWxsXCIgW25nQ2xhc3NdPVwic3RhdHVzQ29sb3JDbGFzcyhpdClcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImZvcm1hdFBlcmNlbnQoaXQucGVyY2VudClcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW1pbi13LVs0MHB4XSBjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE2cHhdIGNxYS1mb250LWJvbGRcIiBbbmdDbGFzc109XCJ0ZXh0Q29sb3JDbGFzcyhpdClcIj57e1xuICAgICAgICAgIGZvcm1hdFBlcmNlbnQoaXQucGVyY2VudCkgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gRm9vdGVyIC0tPlxuICAgICA8Y3FhLWJ1dHRvbiB2YXJpYW50PVwiZmlsbGVkXCIgW2N1c3RvbUNsYXNzXT1cImN0YUJ1dHRvbkNsYXNzXCIgKGNsaWNrKT1cIm9uQWlDb3ZlcmFnZUNsaWNrKClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNHZW5lcmF0aW5nOyBlbHNlIGdlbmVyYXRpbmdUcGxcIj5cbiAgICAgICAgPHN2ZyAqbmdJZj1cIiFpc0dlbmVyYXRpbmcgJiYgIWlzR2VuZXJhdGVkXCIgIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTkuMDE4ODIgMEM5LjEyOTc5IDAuMDQ1NDc2NyA5LjE3NzE4IDAuMTU2NTMgOS4yMjI2MSAwLjI1OTY5MUM5LjI0NTM5IDAuMzE5Nzk5IDkuMjY2MjggMC4zODAyMzQgOS4yODY1NyAwLjQ0MTE1QzkuMjk0NTIgMC40NjQ0OTMgOS4zMDI0NiAwLjQ4NzgzNiA5LjMxMDY1IDAuNTExODg2QzkuNDE2MTMgMC44MjYwMDkgOS41MTAwOCAxLjE0MzUgOS42MDQ1NyAxLjQ2MDc2QzkuNjI1OTMgMS41MzIzOCA5LjY0NzM5IDEuNjAzOTcgOS42Njg4NSAxLjY3NTU3QzkuNzc4MSAyLjA0MDA3IDkuODg2NTQgMi40MDQ4IDkuOTk0MzggMi43Njk2OUMxMC4wMDk1IDIuODIwOTMgMTAuMDI0NyAyLjg3MjE4IDEwLjAzOTggMi45MjM0MkMxMC4wODI2IDMuMDY3OSAxMC4xMjUyIDMuMjEyMzkgMTAuMTY3NyAzLjM1Njk0QzEwLjI1NzMgMy42NjIzOSAxMC4zNDk1IDMuOTY2OTUgMTAuNDQ3NiA0LjI3MDAyQzEwLjQ1NjEgNC4yOTY1MyAxMC40NjQ3IDQuMzIzMDUgMTAuNDczNSA0LjM1MDM2QzEwLjcyODQgNS4xMjk5OSAxMS4wODk2IDUuODI4NzUgMTEuNjgxOCA2LjQyMzkzQzExLjY5NjUgNi40Mzk0IDExLjcxMTEgNi40NTQ4OCAxMS43MjYyIDYuNDcwODNDMTEuOTc5IDYuNzI4NzUgMTIuMzAzNCA2LjkzNTQxIDEyLjYyNzYgNy4xMDIyMUMxMi42NDQxIDcuMTEwODUgMTIuNjYwNiA3LjExOTQ4IDEyLjY3NzYgNy4xMjgzOEMxMy42MzE3IDcuNjE4NTEgMTQuNzc5IDcuODM0MDcgMTUuODEyNCA4LjEyMTAxQzE2LjI2NTIgOC4yNDY4MSAxNi43MTY2IDguMzc2NTggMTcuMTY2MyA4LjUxMjA2QzE3LjE5NzkgOC41MjE1NyAxNy4yMjk2IDguNTMxMDcgMTcuMjYxMiA4LjU0MDU1QzE3LjM1NTcgOC41Njg5IDE3LjQ1IDguNTk3NzQgMTcuNTQ0MiA4LjYyNjk0QzE3LjU2NjIgOC42MzM1OCAxNy41ODgyIDguNjQwMjMgMTcuNjEwOCA4LjY0NzA3QzE3Ljc0MDYgOC42ODgxMiAxNy44NjQ4IDguNzM2NTggMTcuOTcxMyA4LjgyMDU0QzE4LjAwMzggOC44ODgzNyAxOC4wMDM4IDguODg4MzcgMTcuOTk1IDguOTU2MTlDMTcuODkxMyA5LjA1NDcyIDE3Ljc4ODQgOS4xMDA5MiAxNy42NTE2IDkuMTQ1OTlDMTcuNjMyIDkuMTUyNjQgMTcuNjEyNCA5LjE1OTMgMTcuNTkyMyA5LjE2NjE1QzE3LjM2MTIgOS4yNDM2NiAxNy4xMjcgOS4zMTE0OSAxNi44OTI1IDkuMzc4NzFDMTYuODQ0NCA5LjM5MjYxIDE2Ljc5NjMgOS40MDY1MSAxNi43NDgyIDkuNDIwNDJDMTYuNDUxNCA5LjUwNjAzIDE2LjE1NDIgOS41ODk4IDE1Ljg1NjYgOS42NzI2M0MxNS40NjQ2IDkuNzgxNzUgMTUuMDczMyA5Ljg5MjY4IDE0LjY4MjMgMTAuMDA0OUMxNC42MTgyIDEwLjAyMzIgMTQuNTU0MSAxMC4wNDE2IDE0LjQ5IDEwLjA1OThDMTQuMTUzNCAxMC4xNTU3IDEzLjgxODUgMTAuMjU1MSAxMy40ODYzIDEwLjM2NDJDMTMuNDU4NyAxMC4zNzMyIDEzLjQzMTIgMTAuMzgyMiAxMy40MDI4IDEwLjM5MTVDMTIuMjkwMiAxMC43NjE2IDExLjQ0MjIgMTEuNDUyMiAxMC45MTE0IDEyLjQ2MkMxMC42MjUzIDEzLjAyOTUgMTAuNDU2NSAxMy42NDMyIDEwLjI4NDMgMTQuMjQ4OUMxMC4yMzc3IDE0LjQxMjQgMTAuMTg4MiAxNC41NzQ5IDEwLjEzODEgMTQuNzM3NEMxMC4wOTg4IDE0Ljg2NTIgMTAuMDYwNCAxNC45OTMzIDEwLjAyMyAxNS4xMjE2QzEwLjAxODUgMTUuMTM2OSAxMC4wMTQxIDE1LjE1MjIgMTAuMDA5NSAxNS4xNjc5QzkuOTg3ODggMTUuMjQxOSA5Ljk2NjM4IDE1LjMxNTkgOS45NDUwMyAxNS4zODk5QzkuODkwMzkgMTUuNTc3NiA5LjgzMTU2IDE1Ljc2MzcgOS43NzExMSAxNS45NDk4QzkuNjYzODMgMTYuMjgwNCA5LjU2NjIgMTYuNjEzNSA5LjQ2OTE3IDE2Ljk0N0M5LjMyMjg4IDE3LjQ0OTEgOS4zMjI4OCAxNy40NDkxIDkuMjM5OTMgMTcuNjkwNUM5LjIzNDQzIDE3LjcwNjcgOS4yMjg5MyAxNy43MjI5IDkuMjIzMjYgMTcuNzM5NkM5LjE5Mjk4IDE3LjgyNTYgOS4xNjE4MyAxNy45MDQ3IDkuMTA0NTMgMTcuOTc3NEM5LjAxNzM0IDE3Ljk5NTggOS4wMTczNCAxNy45OTU4IDguOTM5MDEgMThDOC44NDk0NiAxNy44NzUyIDguNzkwMTYgMTcuNzU0MiA4Ljc0MjY1IDE3LjYxMDJDOC43MzU3NCAxNy41ODk3IDguNzI4ODIgMTcuNTY5MyA4LjcyMTcgMTcuNTQ4M0M4LjYzMzY4IDE3LjI4NSA4LjU1NTAyIDE3LjAxODkgOC40NzYzNCAxNi43NTI5QzguNDU4MzIgMTYuNjkyMSA4LjQ0MDIyIDE2LjYzMTMgOC40MjIxMSAxNi41NzA1QzguMjg3MiAxNi4xMTczIDguMTU0NTEgMTUuNjYzNSA4LjAyMjAyIDE1LjIwOTZDNy40NzAxNCAxMi45NjQ1IDcuNDcwMTQgMTIuOTY0NSA2LjA3OCAxMS4xNDkzQzYuMDU1NjkgMTEuMTMxOSA2LjAzMzM4IDExLjExNDUgNi4wMTAzOSAxMS4wOTY2QzUuMDk4MjYgMTAuMzk4IDMuODk2NjcgMTAuMTM5NCAyLjc5NjMgOS44MzYyN0MyLjUyNDE1IDkuNzYxMjQgMi4yNTIxIDkuNjg1ODcgMS45ODAwNiA5LjYxMDQ2QzEuOTU2MjggOS42MDM4NiAxLjk1NjI4IDkuNjAzODYgMS45MzIwMSA5LjU5NzE0QzEuNTM5NjIgOS40ODgzNCAxLjE0NzM1IDkuMzc5MjUgMC43NTY0NDggOS4yNjU2NkMwLjczOTkxMSA5LjI2MDg5IDAuNzIzMzc1IDkuMjU2MTIgMC43MDYzMzggOS4yNTEyMUMwLjEwNTc5OCA5LjA3NzY3IDAuMTA1Nzk4IDkuMDc3NjcgMC4wMDEyOTMwNyA4Ljk1NjE5Qy0wLjAwMTY2MjUyIDguOTAxMDggLTAuMDAxNjYyNTIgOC45MDEwOCAwLjAyNDkzNzggOC44NDMxNUMwLjEzNDE2NyA4Ljc0MDggMC4yNDAxNTMgOC42OTY5NiAwLjM4NDMyIDguNjUyMzhDMC40MDUxOTQgOC42NDU2NyAwLjQyNjA2OCA4LjYzODk3IDAuNDQ3NTc0IDguNjMyMDZDMC41MTE1MDYgOC42MTE2NCAwLjU3NTU3NyA4LjU5MTY5IDAuNjM5NzAyIDguNTcxODNDMC42NTgwMDEgOC41NjYwOSAwLjY3NjMwMSA4LjU2MDM1IDAuNjk1MTU1IDguNTU0NDNDMC44MjQ1NyA4LjUxMzg1IDAuOTU0NDUgOC40NzQ3OSAxLjA4NDUyIDguNDM2MThDMS4xMTY0OCA4LjQyNjY1IDEuMTE2NDggOC40MjY2NSAxLjE0OTA5IDguNDE2OTNDMS43MDQ1NCA4LjI1MTc0IDIuMjYzNjEgOC4wOTgwMSAyLjgyMjUyIDcuOTQzOTJDMy4yMzg5OSA3LjgyOTA5IDMuNjU0NzYgNy43MTIzNiA0LjA2OTIxIDcuNTkwOTdDNC4wODgyNSA3LjU4NTQyIDQuMTA3MyA3LjU3OTg3IDQuMTI2OTIgNy41NzQxNUM1LjA4NyA3LjI5MzkzIDYuMDI1NTcgNi44OTYzMiA2LjY0NTQ3IDYuMTA3NEM2LjY1NDc1IDYuMDk1NjkgNi42NjQwMyA2LjA4Mzk5IDYuNjczNiA2LjA3MTk0QzcuMzYzOTUgNS4xOTYzIDcuNjMzMTUgNC4xMzE0NSA3LjkzMzkxIDMuMDkyNDFDOC4wMzI4NSAyLjc1MDY5IDguMTMyOTggMi40MDkyOSA4LjIzMzQ1IDIuMDY3OThDOC4yNjEyNyAxLjk3MzQ3IDguMjg5MDYgMS44Nzg5NCA4LjMxNjczIDEuNzg0MzlDOC40Mjc4OCAxLjQwNDU4IDguNTQwNyAxLjAyNTI4IDguNjYgMC42NDc3MjdDOC42NzExNiAwLjYxMjM3MiA4LjY4MjI3IDAuNTc3MDAxIDguNjkzMzMgMC41NDE2MTRDOC44NjAzNSAwLjAwNzk3NTIyIDguODYwMzUgMC4wMDc5NzUyMiA5LjAxODgyIDBaXCIgZmlsbD1cIiNGQkZDRkZcIi8+PHBhdGggZD1cIk0xNC40NzE5IDEuMTEwNjlDMTQuNTgwNSAxLjIyODE3IDE0LjYwMjIgMS4zNjYyNCAxNC42MzYgMS41MTYyNUMxNC43NDg3IDEuOTg3NTEgMTQuODc4NiAyLjQyMDg0IDE1LjMyOTMgMi42OTQ2QzE1LjYwNzQgMi44NDE2NyAxNS45Mzg5IDIuOTA4NTkgMTYuMjQ3IDIuOTcxOEMxNi4zNzcxIDIuOTk5MDIgMTYuNDg2OSAzLjAzNTE1IDE2LjU5ODUgMy4xMDc0QzE2LjYyMzYgMy4xNDU1NSAxNi42MjM2IDMuMTQ1NTUgMTYuNjIyMSAzLjIxMTk3QzE2LjU5NjMgMy4yOTI3MyAxNi41NzM2IDMuMzE4NzggMTYuNTA1NCAzLjM3MTY1QzE2LjQzMDggMy4zOTU0OSAxNi40MzA4IDMuMzk1NDkgMTYuMzQxMyAzLjQxNDA0QzE2LjMwNzUgMy40MjE0NyAxNi4yNzM2IDMuNDI4OTggMTYuMjM5OCAzLjQzNjU2QzE2LjIyMTcgMy40NDA1OCAxNi4yMDM2IDMuNDQ0NiAxNi4xODQ5IDMuNDQ4NzRDMTUuNjMzOSAzLjU3MDYyIDE1LjYzMzkgMy41NzA2MiAxNS4xNTc2IDMuODQ2NDVDMTUuMTQyMSAzLjg1ODM3IDE1LjEyNjcgMy44NzAyOSAxNS4xMTA3IDMuODgyNTdDMTQuNzcwMyA0LjE2OTU5IDE0LjY5ODMgNC42NDcwMyAxNC41OTU4IDUuMDQ2OTlDMTQuNTkgNS4wNjg5NiAxNC41ODQxIDUuMDkwOTIgMTQuNTc4IDUuMTEzNTVDMTQuNTczIDUuMTMzIDE0LjU2NzkgNS4xNTI0NCAxNC41NjI3IDUuMTcyNDhDMTQuNTQwNSA1LjIzMTg1IDE0LjUxNzYgNS4yNzA1NyAxNC40NzE5IDUuMzE2MDdDMTQuMzQ0NyA1LjMzMTUyIDE0LjM0NDcgNS4zMzE1MiAxNC4yODI4IDUuMzE2MDdDMTQuMTg0MyA1LjI0MzA5IDE0LjE2MjMgNS4xNTk5NyAxNC4xMzY2IDUuMDQ4MjhDMTQuMTMyMiA1LjAzMDk5IDE0LjEyNzkgNS4wMTM2OSAxNC4xMjM1IDQuOTk1ODdDMTQuMTA5OCA0Ljk0MDY0IDE0LjA5NjUgNC44ODUzMSAxNC4wODMzIDQuODI5OTZDMTMuOTc5NiA0LjM5ODkxIDEzLjg2MjUgMy45NzYgMTMuNDQ5IDMuNzIzMzNDMTMuMTI1OCAzLjU1MTAxIDEyLjczMjkgMy40Njk1MSAxMi4zNzE3IDMuNDAzN0MxMi4yNzI3IDMuMzgzOTkgMTIuMjE2IDMuMzU5MiAxMi4xNTQ3IDMuMjgxMjFDMTIuMTQxNCAzLjIwMjA4IDEyLjE0MTQgMy4yMDIwOCAxMi4xNTQ3IDMuMTIyOTRDMTIuMjQ4OSAzLjAyOTcxIDEyLjM0OCAzLjAwNjk2IDEyLjQ3NTQgMi45Nzg4MUMxMi41MTU2IDIuOTY5MyAxMi41NTU3IDIuOTU5NzMgMTIuNTk1OCAyLjk1MDFDMTIuNjE2NSAyLjk0NTE2IDEyLjYzNzIgMi45NDAyMiAxMi42NTg2IDIuOTM1MTJDMTIuNzY0MiAyLjkwOTExIDEyLjg2ODkgMi44Nzk5NSAxMi45NzM0IDIuODUwMjFDMTIuOTkyNCAyLjg0NDk0IDEzLjAxMTQgMi44Mzk2NyAxMy4wMzEgMi44MzQyNEMxMy4yNDM2IDIuNzczNDYgMTMuNDI3MSAyLjY5NTcxIDEzLjU5NzEgMi41NTc3QzEzLjYxMjkgMi41NDUyMyAxMy42Mjg4IDIuNTMyNzYgMTMuNjQ1MSAyLjUxOTlDMTMuOTA5NiAyLjI5MjI4IDEzLjk5OTUgMS45NTAzMiAxNC4wODEgMS42MzEyNEMxNC4wODczIDEuNjA3MDIgMTQuMDkzNSAxLjU4MjggMTQuMDk5OSAxLjU1Nzg0QzE0LjExMjMgMS41MDkxOCAxNC4xMjQ0IDEuNDYwNDYgMTQuMTM2MyAxLjQxMTdDMTQuMTQ0OSAxLjM3Nzc2IDE0LjE0NDkgMS4zNzc3NiAxNC4xNTM1IDEuMzQzMTVDMTQuMTU4NSAxLjMyMjg4IDE0LjE2MzUgMS4zMDI2MSAxNC4xNjg2IDEuMjgxNzJDMTQuMTkwNCAxLjIxNzE5IDE0LjIxOSAxLjE2NjUyIDE0LjI1OTEgMS4xMTA2OUMxNC4zMzYyIDEuMDczODUgMTQuMzkwMyAxLjA5MDUgMTQuNDcxOSAxLjExMDY5WlwiIGZpbGw9XCIjRkJGQ0ZGXCIvPjxwYXRoIGQ9XCJNMy41OTA4OSAxMi40OTQyQzMuNjE5MDIgMTIuNDk0NCAzLjYxOTAyIDEyLjQ5NDQgMy42NDc3MiAxMi40OTQ2QzMuODQ5NTQgMTIuNTAwNCAzLjk4NjA5IDEyLjU2MjMgNC4xMzQ3MiAxMi42OTJDNC4zMDc2NyAxMi44NzA3IDQuMzg3NTMgMTMuMDcyMiA0LjM4Mjk5IDEzLjMxM0M0LjM2MzU3IDEzLjUwODIgNC4yNDMxNiAxMy42Nzg3IDQuMDk1NDcgMTMuODEwN0MzLjkyMTYzIDEzLjk0NDggMy43NDYyNiAxMy45ODkyIDMuNTI0MTEgMTMuOTgzQzMuMzM2ODEgMTMuOTYyMSAzLjE2MDYgMTMuODc3IDMuMDI3ODUgMTMuNzQ5QzIuODYyNzYgMTMuNTMzNiAyLjgxNDUgMTMuMzM2MSAyLjgzODY5IDEzLjA3MDdDMi44ODg2NyAxMi44NjE4IDMuMDMyNzQgMTIuNjkyMyAzLjIxNzAxIDEyLjU3MzNDMy4zNDUwMiAxMi41MTEzIDMuNDQ3OTggMTIuNDkzIDMuNTkwODkgMTIuNDk0MlpcIiBmaWxsPVwiI0ZCRkNGRlwiLz48L3N2Zz5cbiAgICAgICAgPHN2ZyAqbmdJZj1cImlzR2VuZXJhdGVkXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMTIuODMzMyA2LjQ2MzA5VjYuOTk5NzZDMTIuODMyNiA4LjI1NzY3IDEyLjQyNTMgOS40ODE2NSAxMS42NzIxIDEwLjQ4OTJDMTAuOTE4OSAxMS40OTY3IDkuODYwMjUgMTIuMjMzNyA4LjY1Mzk2IDEyLjU5MDRDNy40NDc2NyAxMi45NDcgNi4xNTg0IDEyLjkwNDIgNC45Nzg0NCAxMi40NjgzQzMuNzk4NDggMTIuMDMyMyAyLjc5MTA1IDExLjIyNjYgMi4xMDYzOSAxMC4xNzE0QzEuNDIxNzQgOS4xMTYxMSAxLjA5NjU0IDcuODY3OCAxLjE3OTMxIDYuNjEyNjFDMS4yNjIwOCA1LjM1NzQyIDEuNzQ4MzcgNC4xNjI2MiAyLjU2NTY2IDMuMjA2MzhDMy4zODI5NSAyLjI1MDE1IDQuNDg3NDYgMS41ODM3MyA1LjcxNDQ0IDEuMzA2NTFDNi45NDE0MyAxLjAyOTI5IDguMjI1MTUgMS4xNTYxMiA5LjM3NDE3IDEuNjY4MDlcIiBzdHJva2U9XCIjMTBCOTgxXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTUuMjUgNi40MTYzNEw3IDguMTY2MzRMMTIuODMzMyAyLjMzMzAxXCIgc3Ryb2tlPVwiIzEwQjk4MVwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgICAgIHt7IGN0YVRleHQgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNnZW5lcmF0aW5nVHBsPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1pbmxpbmUtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMlwiPlxuICAgICAgICAgIDxzdmcgKm5nSWY9XCIhaXNHZW5lcmF0ZWRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCI+XG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiOVwiIGN5PVwiOVwiIHI9XCI3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1vcGFjaXR5PVwiMC4yNVwiLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTYgOWE3IDcgMCAwIDEtNyA3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiPlxuICAgICAgICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPVwidHJhbnNmb3JtXCIgdHlwZT1cInJvdGF0ZVwiIGZyb209XCIwIDkgOVwiIHRvPVwiMzYwIDkgOVwiIGR1cj1cIjAuOHNcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIi8+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPHN2ZyAqbmdJZj1cImlzR2VuZXJhdGVkXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiPlxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjlcIiBjeT1cIjlcIiByPVwiN1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2Utb3BhY2l0eT1cIjAuMjVcIi8+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTE2IDlhNyA3IDAgMCAxLTcgN1wiIHN0cm9rZS13aWR0aD1cIjJcIj5cbiAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiIHR5cGU9XCJyb3RhdGVcIiBmcm9tPVwiMCA5IDlcIiB0bz1cIjM2MCA5IDlcIiBkdXI9XCIwLjhzXCIgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCIvPlxuICAgICAgICAgICAgPC9wYXRoPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIEdlbmVyYXRpbmdcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2NxYS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+Il19
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292ZXJhZ2UtbW9kdWxlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXNoYm9hcmRzL2NvdmVyYWdlLW1vZHVsZS1jYXJkL2NvdmVyYWdlLW1vZHVsZS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9jb3ZlcmFnZS1tb2R1bGUtY2FyZC9jb3ZlcmFnZS1tb2R1bGUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7O0FBbUIzRyxNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBT0UsZ0NBQWdDO1FBQ3ZCLFVBQUssR0FBVyxVQUFVLENBQUM7UUFDcEMsZ0RBQWdEO1FBQ3ZDLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDNUIsd0NBQXdDO1FBQy9CLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQ3hDLGlDQUFpQztRQUN4QixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLFVBQVUsQ0FBQztRQUNuQyxrQkFBYSxHQUFXLFVBQVUsQ0FBQztRQUNuQyxrQkFBYSxHQUFXLFdBQVcsQ0FBQztRQUM3QyxrQ0FBa0M7UUFDekIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFDdkIsZUFBVSxHQUFXLE9BQU8sQ0FBQztRQUN0Qyw0Q0FBNEM7UUFDbkMsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFDcEMsdUJBQXVCO1FBQ2QsWUFBTyxHQUFXLGFBQWEsQ0FBQztR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c0JBQWQsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIENvdmVyYWdlU3RhdHVzID0gJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICduZXV0cmFsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb3ZlcmFnZUl0ZW0ge1xuICAvKiogUm93IGxhYmVsLCBlLmcuIFwiSW5wdXQgVmFsaWRhdGlvblwiICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBWYWx1ZSBpbiBwZXJjZW50ICgwLTEwMCkgKi9cbiAgcGVyY2VudDogbnVtYmVyO1xuICAvKiogVmlzdWFsIHN0YXR1cyB0byBjb2xvcml6ZSB0aGUgYmFyL3RleHQgKi9cbiAgc3RhdHVzPzogQ292ZXJhZ2VTdGF0dXM7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1jb3ZlcmFnZS1tb2R1bGUtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3ZlcmFnZS1tb2R1bGUtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQge1xuICAvKiogQ2FyZCB0aXRsZSwgZS5nLiBcIkFJIEFza1wiICovXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnQ292ZXJhZ2UnO1xuICAvKiogTnVtYmVyIG9mIGlzc3VlcyB0byBkaXNwbGF5IG5leHQgdG8gdGl0bGUgKi9cbiAgQElucHV0KCkgaXNzdWVzOiBudW1iZXIgPSAwO1xuICAvKiogT3B0aW9uYWwgXCJWaWV3XCIgYWN0aW9uIHZpc2liaWxpdHkgKi9cbiAgQElucHV0KCkgc2hvd1ZpZXdBY3Rpb246IGJvb2xlYW4gPSB0cnVlO1xuICAvKiogTWlkZGxlIG1ldHJpY3M6IGxlZnQgZ3JvdXAgKi9cbiAgQElucHV0KCkgcG9zaXRpdmVDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbmVnYXRpdmVDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgZWRnZUNhc2VDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcG9zaXRpdmVMYWJlbDogc3RyaW5nID0gJ1Bvc2l0aXZlJztcbiAgQElucHV0KCkgbmVnYXRpdmVMYWJlbDogc3RyaW5nID0gJ05lZ2F0aXZlJztcbiAgQElucHV0KCkgZWRnZUNhc2VMYWJlbDogc3RyaW5nID0gJ0VkZ2UgQ2FzZSc7XG4gIC8qKiBNaWRkbGUgbWV0cmljczogcmlnaHQgZ3JvdXAgKi9cbiAgQElucHV0KCkgYWlDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgaHVtYW5Db3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgYWlMYWJlbDogc3RyaW5nID0gJ0FJJztcbiAgQElucHV0KCkgaHVtYW5MYWJlbDogc3RyaW5nID0gJ0h1bWFuJztcbiAgLyoqIFJvd3Mgb2YgY292ZXJhZ2Ugd2l0aCBwZXJjZW50YWdlIGJhcnMgKi9cbiAgQElucHV0KCkgaXRlbXM6IENvdmVyYWdlSXRlbVtdID0gW107XG4gIC8qKiBDVEEgYnV0dG9uIGxhYmVsICovXG4gIEBJbnB1dCgpIGN0YVRleHQ6IHN0cmluZyA9ICdBSSBDb3ZlcmFnZSc7XG4gIC8qKiBEaXNhYmxlIENUQSAqL1xuICBASW5wdXQoKSBjdGFEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogR2VuZXJhdGlvbiBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQgfjEycykgKi9cbiAgQElucHV0KCkgZ2VuZXJhdGlvbk1zOiBudW1iZXIgPSAyMDA7XG5cbiAgQE91dHB1dCgpIHZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBpc3N1ZXNDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY3RhQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqIEVtaXRzIHdoZW4gdGhlIEFJIGNvdmVyYWdlIGFyZWEgaXMgY2xpY2tlZCAqL1xuICBAT3V0cHV0KCkgYWlDb3ZlcmFnZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBJbnRlcm5hbCBnZW5lcmF0aW9uIHN0YXRlICovXG4gIGlzR2VuZXJhdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0dlbmVyYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGdlbmVyYXRpb25UaW1lcklkPzogbnVtYmVyO1xuXG4gIHN0YXR1c0NvbG9yQ2xhc3MoaXRlbTogQ292ZXJhZ2VJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0dXMgPSBpdGVtLnN0YXR1cyA/PyAnbmV1dHJhbCc7XG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICByZXR1cm4gJ2NxYS1iZy1bIzEwQjk4MV0nOyAvLyBncmVlblxuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gJ2NxYS1iZy1bI0VGNDQ0NF0nOyAvLyByZWRcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLWJnLVsjM0I4MkY2XSc7IC8vIGJsdWVcbiAgICB9XG4gIH1cblxuICB0ZXh0Q29sb3JDbGFzcyhpdGVtOiBDb3ZlcmFnZUl0ZW0pOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YXR1cyA9IGl0ZW0uc3RhdHVzID8/ICduZXV0cmFsJztcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtWyMxMEI5ODFdJztcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1bIzM3NDE1MV0nO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdFBlcmNlbnQocGN0OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChwY3QgPT09IHVuZGVmaW5lZCB8fCBwY3QgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHBjdCkpIHJldHVybiAnMCUnO1xuICAgIGNvbnN0IGNsYW1wZWQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHBjdCkpO1xuICAgIHJldHVybiBgJHtjbGFtcGVkfSVgO1xuICB9XG5cbiAgLyoqIENvbXB1dGVkIENUQSBidXR0b24gY2xhc3MgdG8gc3dpdGNoIHRvIGxpZ2h0IGdyZWVuIGFmdGVyIGdlbmVyYXRpb24gKi9cbiAgZ2V0IGN0YUJ1dHRvbkNsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZSA9ICdjcWEtdy1mdWxsIGNxYS10ZXh0LVsxNHB4XSBjcWEtbGVhZGluZy1bMjBweF0gY3FhLWZvbnQtc2VtaWJvbGQnO1xuICAgIGlmICh0aGlzLmlzR2VuZXJhdGVkKSB7XG4gICAgICAvLyBsaWdodCBncmVlbiBiYWNrZ3JvdW5kLCBkYXJrIGdyZWVuIHRleHQsIHN1YnRsZSBncmVlbiBib3JkZXJcbiAgICAgIHJldHVybiBgJHtiYXNlfSBjcWEtYmctWyNEMUZBRTVdIGNxYS10ZXh0LVsjMDY1RjQ2XSBjcWEtYm9yZGVyLVsjQTdGM0QwXWA7XG4gICAgfVxuICAgIGlmKHRoaXMuaXNHZW5lcmF0aW5nKSB7XG4gICAgICByZXR1cm4gYCR7YmFzZX0gY3FhLWJnLXByaW1hcnktc3VyZmFjZSBjcWEtdGV4dC1wcmltYXJ5YDtcbiAgICB9XG4gICAgcmV0dXJuIGJhc2U7XG4gIH1cblxuICBvbkFpQ292ZXJhZ2VDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0dlbmVyYXRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jdGFDbGlja2VkLmVtaXQoKTtcbiAgICB0aGlzLmFpQ292ZXJhZ2VDbGljay5lbWl0KCk7XG5cbiAgICAvLyBTdGFydCBnZW5lcmF0aW5nIHN0YXRlIGZvciB+MTIgc2Vjb25kc1xuICAgIHRoaXMuaXNHZW5lcmF0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzR2VuZXJhdGluZyA9IHRydWU7XG5cbiAgICAvLyBDbGVhciBhbnkgZXhpc3RpbmcgdGltZXIgZGVmZW5zaXZlbHlcbiAgICBcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNHZW5lcmF0aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmlzR2VuZXJhdGVkID0gdHJ1ZTtcbiAgICB9LCAyMDApO1xuICB9XG59XG5cblxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWJnLXdoaXRlIGNxYS1yb3VuZGVkLVs4cHhdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtcHktWzEwcHhdIG1kOmNxYS1weC1bMTdweF0gY3FhLXB4LTMgY3FhLXNoYWRvdy1jYXJkXCI+XG4gICAgPCEtLSBIZWFkZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1tYi0zXCI+XG4gICAgICA8aDMgY2xhc3M9XCJjcWEtdGV4dC1bMThweF0gY3FhLWxlYWRpbmctWzI4cHhdIGNxYS1mb250LWJvbGQgY3FhLXRleHQtZGlhbG9nXCI+e3sgdGl0bGUgfX08L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yXCI+XG4gICAgICAgIDxzcGFuIChjbGljayk9XCJpc3N1ZXNDbGlja2VkLmVtaXQoKVwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXB4LVsxMHB4XSBjcWEtcHktWzRweF0gY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxNnB4XSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy13YXJuaW5nLWxpZ2h0IGNxYS10ZXh0LWRhbmdlclwiPlxuICAgICAgICAgIHt7IGlzc3VlcyB9fSB7eyBpc3N1ZXMgPT09IDEgPyAnaXNzdWUnIDogJ2lzc3VlcycgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsyMHB4XSBjcWEtdGV4dC1wcmltYXJ5IGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0xXCJcbiAgICAgICAgICAqbmdJZj1cInNob3dWaWV3QWN0aW9uXCIgKGNsaWNrKT1cInZpZXcuZW1pdCgpXCI+XG4gICAgICAgICAgVmlld1xuICAgICAgICAgIDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzRGNDZFNVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBNaWRkbGUgbWV0cmljcyByb3cgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1ncmlkIG1kOmNxYS1ncmlkLWNvbHMtNCBjcWEtZ3JpZC1jb2xzLTIgY3FhLWdhcC0zIGNxYS1tYi00IGNxYS1weS0yXCIgc3R5bGU9XCJib3JkZXItdG9wOiAxcHggc29saWQgI0YzRjRGNjsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGM0Y0RjY7IGJvcmRlci1sZWZ0OiBub25lOyBib3JkZXItcmlnaHQ6IG5vbmU7XCI+XG4gICAgICA8IS0tIExlZnQ6IFBvc2l0aXZlIC8gTmVnYXRpdmUgLyBFZGdlIENhc2UgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMThweF0gY3FhLWxlYWRpbmctWzI4cHhdIGNxYS1mb250LWJvbGQgY3FhLXRleHQtWyMwNTk2NjldXCI+e3sgcG9zaXRpdmVDb3VudCB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxNnB4XSBjcWEtdGV4dC1kaWFsb2ctbXV0ZWRcIj57eyBwb3NpdGl2ZUxhYmVsIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxOHB4XSBjcWEtbGVhZGluZy1bMjhweF0gY3FhLWZvbnQtYm9sZCBjcWEtdGV4dC1bI0VGNDQ0NF1cIj57eyBuZWdhdGl2ZUNvdW50IH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE2cHhdIGNxYS10ZXh0LWRpYWxvZy1tdXRlZFwiPnt7IG5lZ2F0aXZlTGFiZWwgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzE4cHhdIGNxYS1sZWFkaW5nLVsyOHB4XSBjcWEtZm9udC1ib2xkIGNxYS10ZXh0LVsjRjU5RTBCXVwiPnt7IGVkZ2VDYXNlQ291bnQgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLXRleHQtZGlhbG9nLW11dGVkXCI+e3sgZWRnZUNhc2VMYWJlbCB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gUmlnaHQ6IEFJIC8gSHVtYW4gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtY2VudGVyIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1mbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMSBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtdy1bNjBweF0gY3FhLWN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLWZvbnQtYm9sZCBjcWEtdGV4dC1wcmltYXJ5IGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC1bMnB4XVwiPlxuICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzc0MTVfMTE3NTEpXCI+PHBhdGggZD1cIk00Ljk2ODUgNy43NTAxMkM0LjkyMzg2IDcuNTc3MDkgNC44MzM2NyA3LjQxOTE4IDQuNzA3MzEgNy4yOTI4MkM0LjU4MDk1IDcuMTY2NDYgNC40MjMwNCA3LjA3NjI2IDQuMjUgNy4wMzE2MkwxLjE4MjUgNi4yNDA2MkMxLjEzMDE3IDYuMjI1NzcgMS4wODQxMSA2LjE5NDI1IDEuMDUxMzEgNi4xNTA4NUMxLjAxODUxIDYuMTA3NDQgMS4wMDA3NiA2LjA1NDUzIDEuMDAwNzYgNi4wMDAxMkMxLjAwMDc2IDUuOTQ1NzIgMS4wMTg1MSA1Ljg5MjgxIDEuMDUxMzEgNS44NDk0QzEuMDg0MTEgNS44MDYgMS4xMzAxNyA1Ljc3NDQ4IDEuMTgyNSA1Ljc1OTYyTDQuMjUgNC45NjgxMkM0LjQyMjk4IDQuOTIzNTMgNC41ODA4NSA0LjgzMzQxIDQuNzA3MiA0LjcwNzE0QzQuODMzNTYgNC41ODA4OCA0LjkyMzc4IDQuNDIzMDcgNC45Njg1IDQuMjUwMTJMNS43NTk1IDEuMTgyNjJDNS43NzQyIDEuMTMwMDggNS44MDU2OSAxLjA4MzggNS44NDkxNiAxLjA1MDgyQzUuODkyNjMgMS4wMTc4NSA1Ljk0NTY5IDEgNi4wMDAyNSAxQzYuMDU0ODEgMSA2LjEwNzg3IDEuMDE3ODUgNi4xNTEzNCAxLjA1MDgyQzYuMTk0ODEgMS4wODM4IDYuMjI2MyAxLjEzMDA4IDYuMjQxIDEuMTgyNjJMNy4wMzE1IDQuMjUwMTJDNy4wNzYxNCA0LjQyMzE2IDcuMTY2MzMgNC41ODEwNyA3LjI5MjY5IDQuNzA3NDNDNy40MTkwNSA0LjgzMzc5IDcuNTc2OTYgNC45MjM5OSA3Ljc1IDQuOTY4NjJMMTAuODE3NSA1Ljc1OTEyQzEwLjg3MDMgNS43NzM2NyAxMC45MTY4IDUuODA1MTMgMTAuOTQ5OSA1Ljg0ODY2QzEwLjk4MzEgNS44OTIyIDExLjAwMSA1Ljk0NTQxIDExLjAwMSA2LjAwMDEyQzExLjAwMSA2LjA1NDg0IDEwLjk4MzEgNi4xMDgwNSAxMC45NDk5IDYuMTUxNTlDMTAuOTE2OCA2LjE5NTEyIDEwLjg3MDMgNi4yMjY1NyAxMC44MTc1IDYuMjQxMTJMNy43NSA3LjAzMTYyQzcuNTc2OTYgNy4wNzYyNiA3LjQxOTA1IDcuMTY2NDYgNy4yOTI2OSA3LjI5MjgyQzcuMTY2MzMgNy40MTkxOCA3LjA3NjE0IDcuNTc3MDkgNy4wMzE1IDcuNzUwMTJMNi4yNDA1IDEwLjgxNzZDNi4yMjU4IDEwLjg3MDIgNi4xOTQzMSAxMC45MTY1IDYuMTUwODQgMTAuOTQ5NEM2LjEwNzM3IDEwLjk4MjQgNi4wNTQzMSAxMS4wMDAyIDUuOTk5NzUgMTEuMDAwMkM1Ljk0NTE5IDExLjAwMDIgNS44OTIxMyAxMC45ODI0IDUuODQ4NjYgMTAuOTQ5NEM1LjgwNTE5IDEwLjkxNjUgNS43NzM3IDEwLjg3MDIgNS43NTkgMTAuODE3Nkw0Ljk2ODUgNy43NTAxMlpcIiBzdHJva2U9XCIjN0MzQUVEXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMTAgMS41VjMuNVwiIHN0cm9rZT1cIiM3QzNBRURcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk0xMSAyLjVIOVwiIHN0cm9rZT1cIiM3QzNBRURcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk0yIDguNVY5LjVcIiBzdHJva2U9XCIjN0MzQUVEXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMi41IDlIMS41XCIgc3Ryb2tlPVwiIzdDM0FFRFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPVwiY2xpcDBfNzQxNV8xMTc1MVwiPjxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz5cbiAgICAgICAgICAgICAge3sgYWlMYWJlbCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctWzIwcHhdIGNxYS1mb250LWJvbGQgY3FhLXRleHQtZGlhbG9nXCI+e3sgYWlDb3VudCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWJnLXByaW1hcnktc3VyZmFjZSBjcWEtdy1bMnB4XSBjcWEtaC1mdWxsIGNxYS1teC1bMy41cHhdXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTEgY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXctWzYwcHhdXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLWZvbnQtYm9sZCBjcWEtdGV4dC1kaWFsb2ctc2Vjb25kYXJ5IGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC1bMnB4XVwiPlxuICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTkuNSAxMC41VjkuNUM5LjUgOC45Njk1NyA5LjI4OTI5IDguNDYwODYgOC45MTQyMSA4LjA4NTc5QzguNTM5MTQgNy43MTA3MSA4LjAzMDQzIDcuNSA3LjUgNy41SDQuNUMzLjk2OTU3IDcuNSAzLjQ2MDg2IDcuNzEwNzEgMy4wODU3OSA4LjA4NTc5QzIuNzEwNzEgOC40NjA4NiAyLjUgOC45Njk1NyAyLjUgOS41VjEwLjVcIiBzdHJva2U9XCIjM0Y0M0VFXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNiA1LjVDNy4xMDQ1NyA1LjUgOCA0LjYwNDU3IDggMy41QzggMi4zOTU0MyA3LjEwNDU3IDEuNSA2IDEuNUM0Ljg5NTQzIDEuNSA0IDIuMzk1NDMgNCAzLjVDNCA0LjYwNDU3IDQuODk1NDMgNS41IDYgNS41WlwiIHN0cm9rZT1cIiMzRjQzRUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgICAgICAgICAgIHt7IGh1bWFuTGFiZWwgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsyMHB4XSBjcWEtZm9udC1ib2xkIGNxYS10ZXh0LWRpYWxvZ1wiPnt7IGh1bWFuQ291bnQgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxNnB4XSBjcWEtdGV4dC1kaWFsb2ctbXV0ZWQgY3FhLXB0LVsycHhdIGNxYS1wYi0xXCI+Q292ZXJhZ2U8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBCb2R5IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1tYi0zXCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdCBvZiBpdGVtc1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZDpjcWEtdy1mdWxsIG1kOmNxYS1tYXgtdy1bMjE2cHhdIGNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLXRleHQtZGlhbG9nLXNlY29uZGFyeSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMlwiPlxuICAgICAgICAgIDxzdmcgKm5nSWY9XCJpdC5zdGF0dXM9PSdzdWNjZXNzJ1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEyLjgzMzMgNi40NjMwOVY2Ljk5OTc2QzEyLjgzMjYgOC4yNTc2NyAxMi40MjUzIDkuNDgxNjUgMTEuNjcyMSAxMC40ODkyQzEwLjkxODkgMTEuNDk2NyA5Ljg2MDI1IDEyLjIzMzcgOC42NTM5NiAxMi41OTA0QzcuNDQ3NjcgMTIuOTQ3IDYuMTU4NCAxMi45MDQyIDQuOTc4NDQgMTIuNDY4M0MzLjc5ODQ4IDEyLjAzMjMgMi43OTEwNSAxMS4yMjY2IDIuMTA2MzkgMTAuMTcxNEMxLjQyMTc0IDkuMTE2MTEgMS4wOTY1NCA3Ljg2NzggMS4xNzkzMSA2LjYxMjYxQzEuMjYyMDggNS4zNTc0MiAxLjc0ODM3IDQuMTYyNjIgMi41NjU2NiAzLjIwNjM4QzMuMzgyOTUgMi4yNTAxNSA0LjQ4NzQ2IDEuNTgzNzMgNS43MTQ0NCAxLjMwNjUxQzYuOTQxNDMgMS4wMjkyOSA4LjIyNTE1IDEuMTU2MTIgOS4zNzQxNyAxLjY2ODA5XCIgc3Ryb2tlPVwiIzEwQjk4MVwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk01LjI1IDYuNDE2MzRMNyA4LjE2NjM0TDEyLjgzMzMgMi4zMzMwMVwiIHN0cm9rZT1cIiMxMEI5ODFcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgICAgIDxzdmcgKm5nSWY9XCJpdC5zdGF0dXM9PSdlcnJvcidcIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk03IDEyLjgzMzdDMTAuMjIxNyAxMi44MzM3IDEyLjgzMzMgMTAuMjIyIDEyLjgzMzMgNy4wMDAzM0MxMi44MzMzIDMuNzc4NjYgMTAuMjIxNyAxLjE2Njk5IDcgMS4xNjY5OUMzLjc3ODM0IDEuMTY2OTkgMS4xNjY2NiAzLjc3ODY2IDEuMTY2NjYgNy4wMDAzM0MxLjE2NjY2IDEwLjIyMiAzLjc3ODM0IDEyLjgzMzcgNyAxMi44MzM3WlwiIHN0cm9rZT1cIiNFRjQ0NDRcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNyA0LjY2Njk5VjcuMDAwMzNcIiBzdHJva2U9XCIjRUY0NDQ0XCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTcgOS4zMzMwMUg3LjAwNTgzXCIgc3Ryb2tlPVwiI0VGNDQ0NFwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgICAgICAge3sgaXQubGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXgtMSBjcWEtaC1bNnB4XSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy1bI0YzRjRGNl0gY3FhLW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtaC1mdWxsIGNxYS1yb3VuZGVkLWZ1bGxcIiBbbmdDbGFzc109XCJzdGF0dXNDb2xvckNsYXNzKGl0KVwiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiZm9ybWF0UGVyY2VudChpdC5wZXJjZW50KVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtbWluLXctWzQwcHhdIGNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLWZvbnQtYm9sZFwiIFtuZ0NsYXNzXT1cInRleHRDb2xvckNsYXNzKGl0KVwiPnt7XG4gICAgICAgICAgZm9ybWF0UGVyY2VudChpdC5wZXJjZW50KSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBGb290ZXIgLS0+XG4gICAgIDxjcWEtYnV0dG9uIHZhcmlhbnQ9XCJmaWxsZWRcIiBbY3VzdG9tQ2xhc3NdPVwiY3RhQnV0dG9uQ2xhc3NcIiAoY2xpY2spPVwib25BaUNvdmVyYWdlQ2xpY2soKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0dlbmVyYXRpbmc7IGVsc2UgZ2VuZXJhdGluZ1RwbFwiPlxuICAgICAgICA8c3ZnICpuZ0lmPVwiIWlzR2VuZXJhdGluZyAmJiAhaXNHZW5lcmF0ZWRcIiAgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNOS4wMTg4MiAwQzkuMTI5NzkgMC4wNDU0NzY3IDkuMTc3MTggMC4xNTY1MyA5LjIyMjYxIDAuMjU5NjkxQzkuMjQ1MzkgMC4zMTk3OTkgOS4yNjYyOCAwLjM4MDIzNCA5LjI4NjU3IDAuNDQxMTVDOS4yOTQ1MiAwLjQ2NDQ5MyA5LjMwMjQ2IDAuNDg3ODM2IDkuMzEwNjUgMC41MTE4ODZDOS40MTYxMyAwLjgyNjAwOSA5LjUxMDA4IDEuMTQzNSA5LjYwNDU3IDEuNDYwNzZDOS42MjU5MyAxLjUzMjM4IDkuNjQ3MzkgMS42MDM5NyA5LjY2ODg1IDEuNjc1NTdDOS43NzgxIDIuMDQwMDcgOS44ODY1NCAyLjQwNDggOS45OTQzOCAyLjc2OTY5QzEwLjAwOTUgMi44MjA5MyAxMC4wMjQ3IDIuODcyMTggMTAuMDM5OCAyLjkyMzQyQzEwLjA4MjYgMy4wNjc5IDEwLjEyNTIgMy4yMTIzOSAxMC4xNjc3IDMuMzU2OTRDMTAuMjU3MyAzLjY2MjM5IDEwLjM0OTUgMy45NjY5NSAxMC40NDc2IDQuMjcwMDJDMTAuNDU2MSA0LjI5NjUzIDEwLjQ2NDcgNC4zMjMwNSAxMC40NzM1IDQuMzUwMzZDMTAuNzI4NCA1LjEyOTk5IDExLjA4OTYgNS44Mjg3NSAxMS42ODE4IDYuNDIzOTNDMTEuNjk2NSA2LjQzOTQgMTEuNzExMSA2LjQ1NDg4IDExLjcyNjIgNi40NzA4M0MxMS45NzkgNi43Mjg3NSAxMi4zMDM0IDYuOTM1NDEgMTIuNjI3NiA3LjEwMjIxQzEyLjY0NDEgNy4xMTA4NSAxMi42NjA2IDcuMTE5NDggMTIuNjc3NiA3LjEyODM4QzEzLjYzMTcgNy42MTg1MSAxNC43NzkgNy44MzQwNyAxNS44MTI0IDguMTIxMDFDMTYuMjY1MiA4LjI0NjgxIDE2LjcxNjYgOC4zNzY1OCAxNy4xNjYzIDguNTEyMDZDMTcuMTk3OSA4LjUyMTU3IDE3LjIyOTYgOC41MzEwNyAxNy4yNjEyIDguNTQwNTVDMTcuMzU1NyA4LjU2ODkgMTcuNDUgOC41OTc3NCAxNy41NDQyIDguNjI2OTRDMTcuNTY2MiA4LjYzMzU4IDE3LjU4ODIgOC42NDAyMyAxNy42MTA4IDguNjQ3MDdDMTcuNzQwNiA4LjY4ODEyIDE3Ljg2NDggOC43MzY1OCAxNy45NzEzIDguODIwNTRDMTguMDAzOCA4Ljg4ODM3IDE4LjAwMzggOC44ODgzNyAxNy45OTUgOC45NTYxOUMxNy44OTEzIDkuMDU0NzIgMTcuNzg4NCA5LjEwMDkyIDE3LjY1MTYgOS4xNDU5OUMxNy42MzIgOS4xNTI2NCAxNy42MTI0IDkuMTU5MyAxNy41OTIzIDkuMTY2MTVDMTcuMzYxMiA5LjI0MzY2IDE3LjEyNyA5LjMxMTQ5IDE2Ljg5MjUgOS4zNzg3MUMxNi44NDQ0IDkuMzkyNjEgMTYuNzk2MyA5LjQwNjUxIDE2Ljc0ODIgOS40MjA0MkMxNi40NTE0IDkuNTA2MDMgMTYuMTU0MiA5LjU4OTggMTUuODU2NiA5LjY3MjYzQzE1LjQ2NDYgOS43ODE3NSAxNS4wNzMzIDkuODkyNjggMTQuNjgyMyAxMC4wMDQ5QzE0LjYxODIgMTAuMDIzMiAxNC41NTQxIDEwLjA0MTYgMTQuNDkgMTAuMDU5OEMxNC4xNTM0IDEwLjE1NTcgMTMuODE4NSAxMC4yNTUxIDEzLjQ4NjMgMTAuMzY0MkMxMy40NTg3IDEwLjM3MzIgMTMuNDMxMiAxMC4zODIyIDEzLjQwMjggMTAuMzkxNUMxMi4yOTAyIDEwLjc2MTYgMTEuNDQyMiAxMS40NTIyIDEwLjkxMTQgMTIuNDYyQzEwLjYyNTMgMTMuMDI5NSAxMC40NTY1IDEzLjY0MzIgMTAuMjg0MyAxNC4yNDg5QzEwLjIzNzcgMTQuNDEyNCAxMC4xODgyIDE0LjU3NDkgMTAuMTM4MSAxNC43Mzc0QzEwLjA5ODggMTQuODY1MiAxMC4wNjA0IDE0Ljk5MzMgMTAuMDIzIDE1LjEyMTZDMTAuMDE4NSAxNS4xMzY5IDEwLjAxNDEgMTUuMTUyMiAxMC4wMDk1IDE1LjE2NzlDOS45ODc4OCAxNS4yNDE5IDkuOTY2MzggMTUuMzE1OSA5Ljk0NTAzIDE1LjM4OTlDOS44OTAzOSAxNS41Nzc2IDkuODMxNTYgMTUuNzYzNyA5Ljc3MTExIDE1Ljk0OThDOS42NjM4MyAxNi4yODA0IDkuNTY2MiAxNi42MTM1IDkuNDY5MTcgMTYuOTQ3QzkuMzIyODggMTcuNDQ5MSA5LjMyMjg4IDE3LjQ0OTEgOS4yMzk5MyAxNy42OTA1QzkuMjM0NDMgMTcuNzA2NyA5LjIyODkzIDE3LjcyMjkgOS4yMjMyNiAxNy43Mzk2QzkuMTkyOTggMTcuODI1NiA5LjE2MTgzIDE3LjkwNDcgOS4xMDQ1MyAxNy45Nzc0QzkuMDE3MzQgMTcuOTk1OCA5LjAxNzM0IDE3Ljk5NTggOC45MzkwMSAxOEM4Ljg0OTQ2IDE3Ljg3NTIgOC43OTAxNiAxNy43NTQyIDguNzQyNjUgMTcuNjEwMkM4LjczNTc0IDE3LjU4OTcgOC43Mjg4MiAxNy41NjkzIDguNzIxNyAxNy41NDgzQzguNjMzNjggMTcuMjg1IDguNTU1MDIgMTcuMDE4OSA4LjQ3NjM0IDE2Ljc1MjlDOC40NTgzMiAxNi42OTIxIDguNDQwMjIgMTYuNjMxMyA4LjQyMjExIDE2LjU3MDVDOC4yODcyIDE2LjExNzMgOC4xNTQ1MSAxNS42NjM1IDguMDIyMDIgMTUuMjA5NkM3LjQ3MDE0IDEyLjk2NDUgNy40NzAxNCAxMi45NjQ1IDYuMDc4IDExLjE0OTNDNi4wNTU2OSAxMS4xMzE5IDYuMDMzMzggMTEuMTE0NSA2LjAxMDM5IDExLjA5NjZDNS4wOTgyNiAxMC4zOTggMy44OTY2NyAxMC4xMzk0IDIuNzk2MyA5LjgzNjI3QzIuNTI0MTUgOS43NjEyNCAyLjI1MjEgOS42ODU4NyAxLjk4MDA2IDkuNjEwNDZDMS45NTYyOCA5LjYwMzg2IDEuOTU2MjggOS42MDM4NiAxLjkzMjAxIDkuNTk3MTRDMS41Mzk2MiA5LjQ4ODM0IDEuMTQ3MzUgOS4zNzkyNSAwLjc1NjQ0OCA5LjI2NTY2QzAuNzM5OTExIDkuMjYwODkgMC43MjMzNzUgOS4yNTYxMiAwLjcwNjMzOCA5LjI1MTIxQzAuMTA1Nzk4IDkuMDc3NjcgMC4xMDU3OTggOS4wNzc2NyAwLjAwMTI5MzA3IDguOTU2MTlDLTAuMDAxNjYyNTIgOC45MDEwOCAtMC4wMDE2NjI1MiA4LjkwMTA4IDAuMDI0OTM3OCA4Ljg0MzE1QzAuMTM0MTY3IDguNzQwOCAwLjI0MDE1MyA4LjY5Njk2IDAuMzg0MzIgOC42NTIzOEMwLjQwNTE5NCA4LjY0NTY3IDAuNDI2MDY4IDguNjM4OTcgMC40NDc1NzQgOC42MzIwNkMwLjUxMTUwNiA4LjYxMTY0IDAuNTc1NTc3IDguNTkxNjkgMC42Mzk3MDIgOC41NzE4M0MwLjY1ODAwMSA4LjU2NjA5IDAuNjc2MzAxIDguNTYwMzUgMC42OTUxNTUgOC41NTQ0M0MwLjgyNDU3IDguNTEzODUgMC45NTQ0NSA4LjQ3NDc5IDEuMDg0NTIgOC40MzYxOEMxLjExNjQ4IDguNDI2NjUgMS4xMTY0OCA4LjQyNjY1IDEuMTQ5MDkgOC40MTY5M0MxLjcwNDU0IDguMjUxNzQgMi4yNjM2MSA4LjA5ODAxIDIuODIyNTIgNy45NDM5MkMzLjIzODk5IDcuODI5MDkgMy42NTQ3NiA3LjcxMjM2IDQuMDY5MjEgNy41OTA5N0M0LjA4ODI1IDcuNTg1NDIgNC4xMDczIDcuNTc5ODcgNC4xMjY5MiA3LjU3NDE1QzUuMDg3IDcuMjkzOTMgNi4wMjU1NyA2Ljg5NjMyIDYuNjQ1NDcgNi4xMDc0QzYuNjU0NzUgNi4wOTU2OSA2LjY2NDAzIDYuMDgzOTkgNi42NzM2IDYuMDcxOTRDNy4zNjM5NSA1LjE5NjMgNy42MzMxNSA0LjEzMTQ1IDcuOTMzOTEgMy4wOTI0MUM4LjAzMjg1IDIuNzUwNjkgOC4xMzI5OCAyLjQwOTI5IDguMjMzNDUgMi4wNjc5OEM4LjI2MTI3IDEuOTczNDcgOC4yODkwNiAxLjg3ODk0IDguMzE2NzMgMS43ODQzOUM4LjQyNzg4IDEuNDA0NTggOC41NDA3IDEuMDI1MjggOC42NiAwLjY0NzcyN0M4LjY3MTE2IDAuNjEyMzcyIDguNjgyMjcgMC41NzcwMDEgOC42OTMzMyAwLjU0MTYxNEM4Ljg2MDM1IDAuMDA3OTc1MjIgOC44NjAzNSAwLjAwNzk3NTIyIDkuMDE4ODIgMFpcIiBmaWxsPVwiI0ZCRkNGRlwiLz48cGF0aCBkPVwiTTE0LjQ3MTkgMS4xMTA2OUMxNC41ODA1IDEuMjI4MTcgMTQuNjAyMiAxLjM2NjI0IDE0LjYzNiAxLjUxNjI1QzE0Ljc0ODcgMS45ODc1MSAxNC44Nzg2IDIuNDIwODQgMTUuMzI5MyAyLjY5NDZDMTUuNjA3NCAyLjg0MTY3IDE1LjkzODkgMi45MDg1OSAxNi4yNDcgMi45NzE4QzE2LjM3NzEgMi45OTkwMiAxNi40ODY5IDMuMDM1MTUgMTYuNTk4NSAzLjEwNzRDMTYuNjIzNiAzLjE0NTU1IDE2LjYyMzYgMy4xNDU1NSAxNi42MjIxIDMuMjExOTdDMTYuNTk2MyAzLjI5MjczIDE2LjU3MzYgMy4zMTg3OCAxNi41MDU0IDMuMzcxNjVDMTYuNDMwOCAzLjM5NTQ5IDE2LjQzMDggMy4zOTU0OSAxNi4zNDEzIDMuNDE0MDRDMTYuMzA3NSAzLjQyMTQ3IDE2LjI3MzYgMy40Mjg5OCAxNi4yMzk4IDMuNDM2NTZDMTYuMjIxNyAzLjQ0MDU4IDE2LjIwMzYgMy40NDQ2IDE2LjE4NDkgMy40NDg3NEMxNS42MzM5IDMuNTcwNjIgMTUuNjMzOSAzLjU3MDYyIDE1LjE1NzYgMy44NDY0NUMxNS4xNDIxIDMuODU4MzcgMTUuMTI2NyAzLjg3MDI5IDE1LjExMDcgMy44ODI1N0MxNC43NzAzIDQuMTY5NTkgMTQuNjk4MyA0LjY0NzAzIDE0LjU5NTggNS4wNDY5OUMxNC41OSA1LjA2ODk2IDE0LjU4NDEgNS4wOTA5MiAxNC41NzggNS4xMTM1NUMxNC41NzMgNS4xMzMgMTQuNTY3OSA1LjE1MjQ0IDE0LjU2MjcgNS4xNzI0OEMxNC41NDA1IDUuMjMxODUgMTQuNTE3NiA1LjI3MDU3IDE0LjQ3MTkgNS4zMTYwN0MxNC4zNDQ3IDUuMzMxNTIgMTQuMzQ0NyA1LjMzMTUyIDE0LjI4MjggNS4zMTYwN0MxNC4xODQzIDUuMjQzMDkgMTQuMTYyMyA1LjE1OTk3IDE0LjEzNjYgNS4wNDgyOEMxNC4xMzIyIDUuMDMwOTkgMTQuMTI3OSA1LjAxMzY5IDE0LjEyMzUgNC45OTU4N0MxNC4xMDk4IDQuOTQwNjQgMTQuMDk2NSA0Ljg4NTMxIDE0LjA4MzMgNC44Mjk5NkMxMy45Nzk2IDQuMzk4OTEgMTMuODYyNSAzLjk3NiAxMy40NDkgMy43MjMzM0MxMy4xMjU4IDMuNTUxMDEgMTIuNzMyOSAzLjQ2OTUxIDEyLjM3MTcgMy40MDM3QzEyLjI3MjcgMy4zODM5OSAxMi4yMTYgMy4zNTkyIDEyLjE1NDcgMy4yODEyMUMxMi4xNDE0IDMuMjAyMDggMTIuMTQxNCAzLjIwMjA4IDEyLjE1NDcgMy4xMjI5NEMxMi4yNDg5IDMuMDI5NzEgMTIuMzQ4IDMuMDA2OTYgMTIuNDc1NCAyLjk3ODgxQzEyLjUxNTYgMi45NjkzIDEyLjU1NTcgMi45NTk3MyAxMi41OTU4IDIuOTUwMUMxMi42MTY1IDIuOTQ1MTYgMTIuNjM3MiAyLjk0MDIyIDEyLjY1ODYgMi45MzUxMkMxMi43NjQyIDIuOTA5MTEgMTIuODY4OSAyLjg3OTk1IDEyLjk3MzQgMi44NTAyMUMxMi45OTI0IDIuODQ0OTQgMTMuMDExNCAyLjgzOTY3IDEzLjAzMSAyLjgzNDI0QzEzLjI0MzYgMi43NzM0NiAxMy40MjcxIDIuNjk1NzEgMTMuNTk3MSAyLjU1NzdDMTMuNjEyOSAyLjU0NTIzIDEzLjYyODggMi41MzI3NiAxMy42NDUxIDIuNTE5OUMxMy45MDk2IDIuMjkyMjggMTMuOTk5NSAxLjk1MDMyIDE0LjA4MSAxLjYzMTI0QzE0LjA4NzMgMS42MDcwMiAxNC4wOTM1IDEuNTgyOCAxNC4wOTk5IDEuNTU3ODRDMTQuMTEyMyAxLjUwOTE4IDE0LjEyNDQgMS40NjA0NiAxNC4xMzYzIDEuNDExN0MxNC4xNDQ5IDEuMzc3NzYgMTQuMTQ0OSAxLjM3Nzc2IDE0LjE1MzUgMS4zNDMxNUMxNC4xNTg1IDEuMzIyODggMTQuMTYzNSAxLjMwMjYxIDE0LjE2ODYgMS4yODE3MkMxNC4xOTA0IDEuMjE3MTkgMTQuMjE5IDEuMTY2NTIgMTQuMjU5MSAxLjExMDY5QzE0LjMzNjIgMS4wNzM4NSAxNC4zOTAzIDEuMDkwNSAxNC40NzE5IDEuMTEwNjlaXCIgZmlsbD1cIiNGQkZDRkZcIi8+PHBhdGggZD1cIk0zLjU5MDg5IDEyLjQ5NDJDMy42MTkwMiAxMi40OTQ0IDMuNjE5MDIgMTIuNDk0NCAzLjY0NzcyIDEyLjQ5NDZDMy44NDk1NCAxMi41MDA0IDMuOTg2MDkgMTIuNTYyMyA0LjEzNDcyIDEyLjY5MkM0LjMwNzY3IDEyLjg3MDcgNC4zODc1MyAxMy4wNzIyIDQuMzgyOTkgMTMuMzEzQzQuMzYzNTcgMTMuNTA4MiA0LjI0MzE2IDEzLjY3ODcgNC4wOTU0NyAxMy44MTA3QzMuOTIxNjMgMTMuOTQ0OCAzLjc0NjI2IDEzLjk4OTIgMy41MjQxMSAxMy45ODNDMy4zMzY4MSAxMy45NjIxIDMuMTYwNiAxMy44NzcgMy4wMjc4NSAxMy43NDlDMi44NjI3NiAxMy41MzM2IDIuODE0NSAxMy4zMzYxIDIuODM4NjkgMTMuMDcwN0MyLjg4ODY3IDEyLjg2MTggMy4wMzI3NCAxMi42OTIzIDMuMjE3MDEgMTIuNTczM0MzLjM0NTAyIDEyLjUxMTMgMy40NDc5OCAxMi40OTMgMy41OTA4OSAxMi40OTQyWlwiIGZpbGw9XCIjRkJGQ0ZGXCIvPjwvc3ZnPlxuICAgICAgICA8c3ZnICpuZ0lmPVwiaXNHZW5lcmF0ZWRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMi44MzMzIDYuNDYzMDlWNi45OTk3NkMxMi44MzI2IDguMjU3NjcgMTIuNDI1MyA5LjQ4MTY1IDExLjY3MjEgMTAuNDg5MkMxMC45MTg5IDExLjQ5NjcgOS44NjAyNSAxMi4yMzM3IDguNjUzOTYgMTIuNTkwNEM3LjQ0NzY3IDEyLjk0NyA2LjE1ODQgMTIuOTA0MiA0Ljk3ODQ0IDEyLjQ2ODNDMy43OTg0OCAxMi4wMzIzIDIuNzkxMDUgMTEuMjI2NiAyLjEwNjM5IDEwLjE3MTRDMS40MjE3NCA5LjExNjExIDEuMDk2NTQgNy44Njc4IDEuMTc5MzEgNi42MTI2MUMxLjI2MjA4IDUuMzU3NDIgMS43NDgzNyA0LjE2MjYyIDIuNTY1NjYgMy4yMDYzOEMzLjM4Mjk1IDIuMjUwMTUgNC40ODc0NiAxLjU4MzczIDUuNzE0NDQgMS4zMDY1MUM2Ljk0MTQzIDEuMDI5MjkgOC4yMjUxNSAxLjE1NjEyIDkuMzc0MTcgMS42NjgwOVwiIHN0cm9rZT1cIiMxMEI5ODFcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNS4yNSA2LjQxNjM0TDcgOC4xNjYzNEwxMi44MzMzIDIuMzMzMDFcIiBzdHJva2U9XCIjMTBCOTgxXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz5cbiAgICAgICAge3sgY3RhVGV4dCB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2dlbmVyYXRpbmdUcGw+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLWlubGluZS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yXCI+XG4gICAgICAgICAgPHN2ZyAqbmdJZj1cIiFpc0dlbmVyYXRlZFwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIj5cbiAgICAgICAgICAgIDxjaXJjbGUgY3g9XCI5XCIgY3k9XCI5XCIgcj1cIjdcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjI1XCIvPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNiA5YTcgNyAwIDAgMS03IDdcIiBzdHJva2Utd2lkdGg9XCIyXCI+XG4gICAgICAgICAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9XCJ0cmFuc2Zvcm1cIiB0eXBlPVwicm90YXRlXCIgZnJvbT1cIjAgOSA5XCIgdG89XCIzNjAgOSA5XCIgZHVyPVwiMC44c1wiIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiLz5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXNHZW5lcmF0ZWRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCI+XG4gICAgICAgICAgICA8Y2lyY2xlIGN4PVwiOVwiIGN5PVwiOVwiIHI9XCI3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1vcGFjaXR5PVwiMC4yNVwiLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTYgOWE3IDcgMCAwIDEtNyA3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiPlxuICAgICAgICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPVwidHJhbnNmb3JtXCIgdHlwZT1cInJvdGF0ZVwiIGZyb209XCIwIDkgOVwiIHRvPVwiMzYwIDkgOVwiIGR1cj1cIjAuOHNcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIi8+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgR2VuZXJhdGluZ1xuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvY3FhLWJ1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=