chrv-components 1.2.28 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/chrv-components-1.3.2.tgz +0 -0
  2. package/{esm2020 → esm2022}/chrv-components.mjs +4 -4
  3. package/esm2022/lib/chr-breadcrumb/chr-breadcrumb.component.mjs +22 -0
  4. package/esm2022/lib/chr-button/chr-button.component.mjs +55 -0
  5. package/esm2022/lib/chr-checkbox/chr-checkbox.component.mjs +37 -0
  6. package/esm2022/lib/chr-delete-modal/chr-delete-modal.component.mjs +30 -0
  7. package/esm2022/lib/chr-form/chr-form.component.mjs +143 -0
  8. package/esm2022/lib/chr-form/chr-validators/decimal-validator.mjs +59 -0
  9. package/esm2022/lib/chr-form/chr-validators/max-date-validator.mjs +55 -0
  10. package/esm2022/lib/chr-form/chr-validators/type-validator.mjs +53 -0
  11. package/esm2022/lib/chr-paginator/chr-paginator.component.mjs +80 -0
  12. package/esm2022/lib/chr-search-select/chr-search-select.component.mjs +145 -0
  13. package/esm2022/lib/chr-searchbar/chr-searchbar.component.mjs +29 -0
  14. package/esm2022/lib/chr-separator/chr-separator.component.mjs +11 -0
  15. package/esm2022/lib/chr-table/chr-table.component.mjs +93 -0
  16. package/esm2022/lib/chr-table-header-cell/chr-table-header-cell.component.mjs +51 -0
  17. package/{esm2020 → esm2022}/lib/services/dialog.service.mjs +29 -29
  18. package/esm2022/public-api.mjs +20 -0
  19. package/fesm2022/chrv-components.mjs +841 -0
  20. package/fesm2022/chrv-components.mjs.map +1 -0
  21. package/index.d.ts +5 -5
  22. package/lib/chr-breadcrumb/chr-breadcrumb.component.d.ts +15 -15
  23. package/lib/chr-button/chr-button.component.d.ts +19 -19
  24. package/lib/chr-checkbox/chr-checkbox.component.d.ts +13 -13
  25. package/lib/chr-delete-modal/chr-delete-modal.component.d.ts +11 -11
  26. package/lib/chr-form/chr-form.component.d.ts +57 -57
  27. package/lib/chr-form/chr-validators/decimal-validator.d.ts +10 -10
  28. package/lib/chr-form/chr-validators/max-date-validator.d.ts +10 -10
  29. package/lib/chr-form/chr-validators/type-validator.d.ts +10 -10
  30. package/lib/chr-paginator/chr-paginator.component.d.ts +27 -27
  31. package/lib/chr-search-select/chr-search-select.component.d.ts +44 -44
  32. package/lib/chr-searchbar/chr-searchbar.component.d.ts +14 -14
  33. package/lib/chr-separator/chr-separator.component.d.ts +5 -5
  34. package/lib/chr-table/chr-table.component.d.ts +58 -58
  35. package/lib/chr-table-header-cell/chr-table-header-cell.component.d.ts +17 -17
  36. package/lib/services/dialog.service.d.ts +10 -10
  37. package/package.json +11 -16
  38. package/public-api.d.ts +16 -17
  39. package/chrv-components-1.2.28.tgz +0 -0
  40. package/esm2020/lib/chr-breadcrumb/chr-breadcrumb.component.mjs +0 -22
  41. package/esm2020/lib/chr-button/chr-button.component.mjs +0 -51
  42. package/esm2020/lib/chr-checkbox/chr-checkbox.component.mjs +0 -37
  43. package/esm2020/lib/chr-components.module.mjs +0 -126
  44. package/esm2020/lib/chr-delete-modal/chr-delete-modal.component.mjs +0 -22
  45. package/esm2020/lib/chr-form/chr-form.component.mjs +0 -132
  46. package/esm2020/lib/chr-form/chr-validators/decimal-validator.mjs +0 -58
  47. package/esm2020/lib/chr-form/chr-validators/max-date-validator.mjs +0 -54
  48. package/esm2020/lib/chr-form/chr-validators/type-validator.mjs +0 -52
  49. package/esm2020/lib/chr-paginator/chr-paginator.component.mjs +0 -79
  50. package/esm2020/lib/chr-search-select/chr-search-select.component.mjs +0 -136
  51. package/esm2020/lib/chr-searchbar/chr-searchbar.component.mjs +0 -29
  52. package/esm2020/lib/chr-separator/chr-separator.component.mjs +0 -11
  53. package/esm2020/lib/chr-table/chr-table.component.mjs +0 -80
  54. package/esm2020/lib/chr-table-header-cell/chr-table-header-cell.component.mjs +0 -51
  55. package/esm2020/public-api.mjs +0 -21
  56. package/fesm2015/chrv-components.mjs +0 -911
  57. package/fesm2015/chrv-components.mjs.map +0 -1
  58. package/fesm2020/chrv-components.mjs +0 -903
  59. package/fesm2020/chrv-components.mjs.map +0 -1
  60. package/lib/chr-components.module.d.ts +0 -30
Binary file
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hydi1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY2hydi1jb21wb25lbnRzL3NyYy9jaHJ2LWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { MatButton } from '@angular/material/button';
3
+ import { NgFor } from '@angular/common';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ export class BreadcrumbComponent {
7
+ constructor(router) {
8
+ this.router = router;
9
+ this.navigateTo = (uri, data) => {
10
+ this.router.navigate([uri], { state: data });
11
+ };
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: BreadcrumbComponent, isStandalone: true, selector: "app-chr-breadcrumb", inputs: { crumbs: "crumbs" }, ngImport: i0, template: "<div class=\"w-full flex flex-row flex-wrap dark:!text-gray-400\">\n <div *ngFor=\"let crumb of crumbs\" class=\"w-fit min-w-fit\">\n <button class=\"dark:!text-gray-400\" [disabled]=\"!crumb.link && !crumb.callback\" mat-button\n (click)=\"crumb.callback?.() || crumb.link && navigateTo(crumb.link)\">\n {{ crumb.display }}\n </button>\n {{ (crumb.link || crumb.callback) && \">\" }}\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BreadcrumbComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'app-chr-breadcrumb', standalone: true, imports: [NgFor, MatButton], template: "<div class=\"w-full flex flex-row flex-wrap dark:!text-gray-400\">\n <div *ngFor=\"let crumb of crumbs\" class=\"w-fit min-w-fit\">\n <button class=\"dark:!text-gray-400\" [disabled]=\"!crumb.link && !crumb.callback\" mat-button\n (click)=\"crumb.callback?.() || crumb.link && navigateTo(crumb.link)\">\n {{ crumb.display }}\n </button>\n {{ (crumb.link || crumb.callback) && \">\" }}\n </div>\n</div>" }]
19
+ }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { crumbs: [{
20
+ type: Input
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hydi1jb21wb25lbnRzL3NyYy9saWIvY2hyLWJyZWFkY3J1bWIvY2hyLWJyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hydi1jb21wb25lbnRzL3NyYy9saWIvY2hyLWJyZWFkY3J1bWIvY2hyLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBZXhDLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFBbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFakMsZUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLElBQVUsRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7SUFKa0MsQ0FBQzs4R0FIMUIsbUJBQW1CO2tHQUFuQixtQkFBbUIsNEdDbEJoQyx3YUFRTSwwRERRTSxLQUFLLG1IQUFFLFNBQVM7OzJGQUVmLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxvQkFBb0IsY0FHbEIsSUFBSSxXQUNQLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQzsyRUFHbEIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IHN0cmluZztcbiAgbGluaz86IHN0cmluZztcbiAgY2FsbGJhY2s/OiBGdW5jdGlvbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoci1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Noci1icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hyLWJyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yLCBNYXRCdXR0b25dLFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY3J1bWJzPzogQnJlYWRjcnVtYltdO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge31cblxuICBuYXZpZ2F0ZVRvID0gKHVyaTogc3RyaW5nLCBkYXRhPzogYW55KSA9PiB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VyaV0sIHsgc3RhdGU6IGRhdGEgfSk7XG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXggZmxleC1yb3cgZmxleC13cmFwIGRhcms6IXRleHQtZ3JheS00MDBcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgY3J1bWIgb2YgY3J1bWJzXCIgY2xhc3M9XCJ3LWZpdCBtaW4tdy1maXRcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiZGFyazohdGV4dC1ncmF5LTQwMFwiIFtkaXNhYmxlZF09XCIhY3J1bWIubGluayAmJiAhY3J1bWIuY2FsbGJhY2tcIiBtYXQtYnV0dG9uXG4gICAgICAoY2xpY2spPVwiY3J1bWIuY2FsbGJhY2s/LigpIHx8IGNydW1iLmxpbmsgJiYgbmF2aWdhdGVUbyhjcnVtYi5saW5rKVwiPlxuICAgICAge3sgY3J1bWIuZGlzcGxheSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIHt7IChjcnVtYi5saW5rIHx8IGNydW1iLmNhbGxiYWNrKSAmJiBcIj5cIiB9fVxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,55 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { MatIconModule } from '@angular/material/icon';
3
+ import { MatTooltipModule } from '@angular/material/tooltip';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { CommonModule } from '@angular/common';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/tooltip";
8
+ import * as i2 from "@angular/material/icon";
9
+ import * as i3 from "@angular/material/button";
10
+ import * as i4 from "@angular/common";
11
+ export class ChrButtonComponent {
12
+ constructor() {
13
+ this.display = '';
14
+ this.icon = '';
15
+ this.color = 'none';
16
+ this.predicate = true;
17
+ this.type = 'none';
18
+ this.disabled = false;
19
+ this.setDisabled = (is) => {
20
+ this.disabled = is;
21
+ };
22
+ this.doClick = () => {
23
+ this.click?.();
24
+ };
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ChrButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ChrButtonComponent, isStandalone: true, selector: "app-chr-button", inputs: { display: "display", icon: "icon", click: "click", color: "color", predicate: "predicate", type: "type", href: "href", target: "target", disabled: "disabled", tooltip: "tooltip", tooltipPosition: "tooltipPosition" }, ngImport: i0, template: "<div [ngClass]=\"type == 'full'\n ? 'grid grid-cols-1 flex-1 self-end content-end items-center justify-center !w-full'\n : ' '\" [ngClass]=\"type == 'table' ? 'h-14 grid grid-cols-1' : ''\"\n [ngClass]=\"type == 'fixed' ? 'h-14 grid grid-cols-1 !w-36' : ''\"\n [ngClass]=\"type == 'responsive' ? 'h-14 grid grid-cols-1 w-full sm:!w-36': ''\">\n <a mat-button mat-flat-button *ngIf=\"predicate\" [disabled]=\"disabled\" class=\"w-full\" color=\"{{ color }}\"\n (click)=\"click?.()\" [attr.href]=\"href && href\" [attr.target]=\"target && target\" [matTooltip]=\"tooltip||''\"\n [matTooltipPosition]=\"tooltipPosition||'above'\">\n {{ display }}\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n </a>\n</div>\n<!--\n IF\n Click\n color\n type: table : full \n icon\n-->", styles: [""], dependencies: [{ kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ChrButtonComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'app-chr-button', standalone: true, imports: [MatTooltipModule, MatIconModule, MatButtonModule, CommonModule], template: "<div [ngClass]=\"type == 'full'\n ? 'grid grid-cols-1 flex-1 self-end content-end items-center justify-center !w-full'\n : ' '\" [ngClass]=\"type == 'table' ? 'h-14 grid grid-cols-1' : ''\"\n [ngClass]=\"type == 'fixed' ? 'h-14 grid grid-cols-1 !w-36' : ''\"\n [ngClass]=\"type == 'responsive' ? 'h-14 grid grid-cols-1 w-full sm:!w-36': ''\">\n <a mat-button mat-flat-button *ngIf=\"predicate\" [disabled]=\"disabled\" class=\"w-full\" color=\"{{ color }}\"\n (click)=\"click?.()\" [attr.href]=\"href && href\" [attr.target]=\"target && target\" [matTooltip]=\"tooltip||''\"\n [matTooltipPosition]=\"tooltipPosition||'above'\">\n {{ display }}\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n </a>\n</div>\n<!--\n IF\n Click\n color\n type: table : full \n icon\n-->" }]
32
+ }], ctorParameters: () => [], propDecorators: { display: [{
33
+ type: Input
34
+ }], icon: [{
35
+ type: Input
36
+ }], click: [{
37
+ type: Input
38
+ }], color: [{
39
+ type: Input
40
+ }], predicate: [{
41
+ type: Input
42
+ }], type: [{
43
+ type: Input
44
+ }], href: [{
45
+ type: Input
46
+ }], target: [{
47
+ type: Input
48
+ }], disabled: [{
49
+ type: Input
50
+ }], tooltip: [{
51
+ type: Input
52
+ }], tooltipPosition: [{
53
+ type: Input
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaHJ2LWNvbXBvbmVudHMvc3JjL2xpYi9jaHItYnV0dG9uL2Noci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hydi1jb21wb25lbnRzL3NyYy9saWIvY2hyLWJ1dHRvbi9jaHItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFTL0MsTUFBTSxPQUFPLGtCQUFrQjtJQW1CN0I7UUFsQlMsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLFVBQUssR0FBMkMsTUFBTSxDQUFDO1FBQ3ZELGNBQVMsR0FBYSxJQUFJLENBQUM7UUFDM0IsU0FBSSxHQUF1RCxNQUFNLENBQUM7UUFHbEUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVluQyxnQkFBVyxHQUFHLENBQUMsRUFBVyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDO1FBRUYsWUFBTyxHQUFHLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQVJhLENBQUM7OEdBbkJMLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDRTQ2IvQixnekJBa0JHLHlERFBTLGdCQUFnQiw0VEFBRSxhQUFhLG1MQUFFLGVBQWUsMk1BQUUsWUFBWTs7MkZBRTdELGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFlBQVksQ0FBQzt3REFHaEUsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2hyLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaHItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hyLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0VG9vbHRpcE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDaHJCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBkaXNwbGF5OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNsaWNrPzogRnVuY3Rpb247XG4gIEBJbnB1dCgpIGNvbG9yOiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyB8ICdub25lJyA9ICdub25lJztcbiAgQElucHV0KCkgcHJlZGljYXRlPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHR5cGU6ICdyZXNwb25zaXZlJyB8ICd0YWJsZScgfCAnZnVsbCcgfCAnZml4ZWQnIHwgJ25vbmUnID0gJ25vbmUnO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiAnX2JsYW5rJyB8ICdfcGFyZW50JyB8ICdfc2VsZicgfCAnX3RvcCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbj86XG4gICAgfCAnYWJvdmUnXG4gICAgfCAnYmVsb3cnXG4gICAgfCAnbGVmdCdcbiAgICB8ICdyaWdodCdcbiAgICB8ICdiZWZvcmUnXG4gICAgfCAnYWZ0ZXInO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBzZXREaXNhYmxlZCA9IChpczogYm9vbGVhbikgPT4ge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpcztcbiAgfTtcblxuICBkb0NsaWNrID0gKCkgPT4ge1xuICAgIHRoaXMuY2xpY2s/LigpO1xuICB9O1xufVxuIiwiPGRpdiBbbmdDbGFzc109XCJ0eXBlID09ICdmdWxsJ1xuICAgICAgICA/ICdncmlkIGdyaWQtY29scy0xIGZsZXgtMSBzZWxmLWVuZCBjb250ZW50LWVuZCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgIXctZnVsbCdcbiAgICAgICAgOiAnICdcIiBbbmdDbGFzc109XCJ0eXBlID09ICd0YWJsZScgPyAnaC0xNCBncmlkIGdyaWQtY29scy0xJyA6ICcnXCJcbiAgW25nQ2xhc3NdPVwidHlwZSA9PSAnZml4ZWQnID8gJ2gtMTQgZ3JpZCBncmlkLWNvbHMtMSAhdy0zNicgOiAnJ1wiXG4gIFtuZ0NsYXNzXT1cInR5cGUgPT0gJ3Jlc3BvbnNpdmUnID8gJ2gtMTQgZ3JpZCBncmlkLWNvbHMtMSB3LWZ1bGwgc206IXctMzYnOiAnJ1wiPlxuICA8YSBtYXQtYnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAqbmdJZj1cInByZWRpY2F0ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGNsYXNzPVwidy1mdWxsXCIgY29sb3I9XCJ7eyBjb2xvciB9fVwiXG4gICAgKGNsaWNrKT1cImNsaWNrPy4oKVwiIFthdHRyLmhyZWZdPVwiaHJlZiAmJiBocmVmXCIgW2F0dHIudGFyZ2V0XT1cInRhcmdldCAmJiB0YXJnZXRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwfHwnJ1wiXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb258fCdhYm92ZSdcIj5cbiAgICB7eyBkaXNwbGF5IH19XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiPnt7IGljb24gfX08L21hdC1pY29uPlxuICA8L2E+XG48L2Rpdj5cbjwhLS1cbiAgICBJRlxuICAgIENsaWNrXG4gICAgY29sb3JcbiAgICB0eXBlOiB0YWJsZSA6IGZ1bGwgIFxuICAgIGljb25cbi0tPiJdfQ==