@morozeckiy/dd-lib 0.2.38 → 0.2.71

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 (48) hide show
  1. package/assets/images/svg/preset.svg +11 -0
  2. package/assets/scss/common.scss +14 -20
  3. package/assets/scss/reset.scss +2 -1
  4. package/assets/scss/titles.scss +24 -0
  5. package/assets/scss/vars-dark.scss +4 -2
  6. package/assets/scss/vars-light.scss +2 -0
  7. package/esm2022/lib/common/lib-common-input-text.mjs +7 -2
  8. package/esm2022/lib/core/services/fetcher.service.mjs +2 -2
  9. package/esm2022/lib/core/services/interceptors.service.mjs +1 -1
  10. package/esm2022/lib/core/toast/toast/toast.component.mjs +14 -7
  11. package/esm2022/lib/core/toast/toast.service.mjs +1 -1
  12. package/esm2022/lib/core/tooltip/tooltip.component.mjs +3 -3
  13. package/esm2022/lib/lib-button/lib-button.component.mjs +3 -3
  14. package/esm2022/lib/lib-calendar/lib-calendar.component.mjs +3 -3
  15. package/esm2022/lib/lib-file-loader/lib-file-loader.component.mjs +86 -7
  16. package/esm2022/lib/lib-filter-button/lib-filter-button.component.mjs +3 -3
  17. package/esm2022/lib/lib-input/lib-input.component.mjs +3 -3
  18. package/esm2022/lib/lib-radio/lib-radio.component.mjs +3 -3
  19. package/esm2022/lib/lib-search-input/lib-search-input.component.mjs +3 -5
  20. package/esm2022/lib/lib-select/lib-select.component.mjs +73 -22
  21. package/esm2022/lib/lib-sort/lib-sort.component.mjs +3 -3
  22. package/esm2022/lib/lib-tabs-fragment/lib-tabs-fragment.component.mjs +9 -5
  23. package/esm2022/lib/svg-icons/svg-icon.model.mjs +6 -1
  24. package/fesm2022/morozeckiy-dd-lib.mjs +204 -56
  25. package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -1
  26. package/lib/common/lib-common-input-text.d.ts +3 -1
  27. package/lib/core/services/fetcher.service.d.ts +1 -1
  28. package/lib/core/services/validators.service.d.ts +2 -2
  29. package/lib/core/toast/toast/toast.component.d.ts +4 -3
  30. package/lib/core/toast/toast.service.d.ts +2 -2
  31. package/lib/lib-file-loader/lib-file-loader.component.d.ts +19 -1
  32. package/lib/lib-search-input/lib-search-input.component.d.ts +1 -2
  33. package/lib/lib-select/lib-select.component.d.ts +6 -5
  34. package/lib/lib-tabs-fragment/lib-tabs-fragment.component.d.ts +2 -1
  35. package/lib/svg-icons/svg-icon.model.d.ts +8 -1
  36. package/morozeckiy-dd-lib-0.2.71.tgz +0 -0
  37. package/package.json +1 -1
  38. package/esm2022/lib/core/toast/toast-base/toast-base.component.mjs +0 -48
  39. package/esm2022/lib/core/toast/toast-placeholder/toast-placeholder.component.mjs +0 -29
  40. package/lib/core/toast/toast-base/toast-base.component.d.ts +0 -27
  41. package/lib/core/toast/toast-placeholder/toast-placeholder.component.d.ts +0 -12
  42. package/morozeckiy-dd-lib-0.2.32.tgz +0 -0
  43. package/morozeckiy-dd-lib-0.2.33.tgz +0 -0
  44. package/morozeckiy-dd-lib-0.2.34.tgz +0 -0
  45. package/morozeckiy-dd-lib-0.2.35.tgz +0 -0
  46. package/morozeckiy-dd-lib-0.2.36.tgz +0 -0
  47. package/morozeckiy-dd-lib-0.2.37.tgz +0 -0
  48. package/morozeckiy-dd-lib-0.2.38.tgz +0 -0
@@ -17,14 +17,14 @@ export class LibButtonComponent extends LibCommonButtonComponent {
17
17
  }
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibButtonComponent, isStandalone: true, selector: "dd-lib-button", inputs: { noPadding: "noPadding", loaderColor: "loaderColor" }, usesInheritance: true, ngImport: i0, template: "<div (click)=\"onClick($event)\" [ngStyle]=\"{width, height}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [class.active]=\"active\"\r\n [class.disabled]=\"disabled\"\r\n [class.green]=\"btnColor === 'green'\"\r\n [class.loader]=\"showLoader\"\r\n [class.no-padding]=\"noPadding\"\r\n [class.red]=\"btnColor === 'red'\"\r\n [class.transparent]=\"btnColor === 'transparent'\"\r\n [class.white]=\"btnColor === 'white'\"\r\n [class.dark]=\"btnColor === 'dark'\"\r\n [disabled]=\"disabled\"\r\n [ngStyle]=\"{width, height}\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <dd-lib-loader [color]=\"loaderColor\"></dd-lib-loader>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n <span #contentData><ng-content></ng-content></span>\r\n</ng-template>\r\n", styles: [".button-container{display:inline-block}.button-container button{display:flex;align-items:center;justify-content:center;height:40px;padding:0 32px;font-size:14px;line-height:24px;font-weight:var(--font-wheit-big);border-radius:12px;outline:none;cursor:pointer;white-space:nowrap;border:none;background-color:var(--btn-green-bgc);color:#fff}@media screen and (max-width: 840px){.button-container button{height:48px}}.button-container button:hover,.button-container button:focus{background-color:var(--btn-green-hover)}.button-container button:active,.button-container button.active{background-color:var(--btn-green-hover)}.button-container button.disabled{color:var(--disabled-color);background-color:var(--btn-disabled-bgc);pointer-events:none;cursor:default}.button-container button.loader{min-width:100px}.button-container button.white{background-color:var(--btn-light-green-bgc);color:var(--btn-white-color)}.button-container button.white:hover{color:var(--btn-white-hover-color)}.button-container button.transparent{background-color:transparent;color:var(--btn-white-color);border:none}.button-container button.transparent:hover{color:var(--btn-white-hover-color)}.button-container button.red{background-color:var(--btn-red-bgc);color:var(--btn-red-color)}.button-container button.red:hover{color:var(--btn-red-hover-color)}.button-container button.dark{background-color:var(--btn-dark-bgc);color:var(--btn-dark-color)}.button-container button.dark:hover{background-color:var(--btn-dark-hover-color)}.button-container button.no-padding{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibButtonComponent, isStandalone: true, selector: "dd-lib-button", inputs: { noPadding: "noPadding", loaderColor: "loaderColor" }, usesInheritance: true, ngImport: i0, template: "<div (click)=\"onClick($event)\" [ngStyle]=\"{width, height}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [class.active]=\"active\"\r\n [class.disabled]=\"disabled\"\r\n [class.green]=\"btnColor === 'green'\"\r\n [class.loader]=\"showLoader\"\r\n [class.no-padding]=\"noPadding\"\r\n [class.red]=\"btnColor === 'red'\"\r\n [class.transparent]=\"btnColor === 'transparent'\"\r\n [class.white]=\"btnColor === 'white'\"\r\n [class.dark]=\"btnColor === 'dark'\"\r\n [disabled]=\"disabled\"\r\n [ngStyle]=\"{width, height}\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <dd-lib-loader [color]=\"loaderColor\"></dd-lib-loader>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n <span #contentData><ng-content></ng-content></span>\r\n</ng-template>\r\n", styles: [".button-container{display:inline-block}.button-container button{display:flex;align-items:center;justify-content:center;height:40px;padding:0 32px;font-size:14px;line-height:24px;font-weight:var(--font-wheit-big);border-radius:12px;outline:none;cursor:pointer;white-space:nowrap;border:1px solid transparent;background-color:var(--btn-green-bgc);color:#fff}@media screen and (max-width: 840px){.button-container button{height:48px}}.button-container button:hover,.button-container button:focus{background-color:var(--btn-green-hover)}.button-container button:active,.button-container button.active{background-color:var(--btn-green-hover)}.button-container button.disabled{color:var(--disabled-color);background-color:var(--btn-disabled-bgc);pointer-events:none;cursor:default}.button-container button.loader{min-width:100px}.button-container button.white{background-color:var(--btn-light-green-bgc);color:var(--btn-white-color)}.button-container button.white:hover{color:var(--btn-white-hover-color)}.button-container button.transparent{background-color:transparent;color:var(--btn-white-color);border-color:var(--gray-color-200)}.button-container button.transparent:hover{color:var(--btn-white-hover-color)}.button-container button.red{background-color:var(--btn-red-bgc);color:var(--btn-red-color)}.button-container button.red:hover{color:var(--btn-red-hover-color)}.button-container button.dark{background-color:var(--btn-dark-bgc);color:var(--btn-dark-color)}.button-container button.dark:hover{background-color:var(--btn-dark-hover-color)}.button-container button.no-padding{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibButtonComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'dd-lib-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, LibLoaderComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], template: "<div (click)=\"onClick($event)\" [ngStyle]=\"{width, height}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [class.active]=\"active\"\r\n [class.disabled]=\"disabled\"\r\n [class.green]=\"btnColor === 'green'\"\r\n [class.loader]=\"showLoader\"\r\n [class.no-padding]=\"noPadding\"\r\n [class.red]=\"btnColor === 'red'\"\r\n [class.transparent]=\"btnColor === 'transparent'\"\r\n [class.white]=\"btnColor === 'white'\"\r\n [class.dark]=\"btnColor === 'dark'\"\r\n [disabled]=\"disabled\"\r\n [ngStyle]=\"{width, height}\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <dd-lib-loader [color]=\"loaderColor\"></dd-lib-loader>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n <span #contentData><ng-content></ng-content></span>\r\n</ng-template>\r\n", styles: [".button-container{display:inline-block}.button-container button{display:flex;align-items:center;justify-content:center;height:40px;padding:0 32px;font-size:14px;line-height:24px;font-weight:var(--font-wheit-big);border-radius:12px;outline:none;cursor:pointer;white-space:nowrap;border:none;background-color:var(--btn-green-bgc);color:#fff}@media screen and (max-width: 840px){.button-container button{height:48px}}.button-container button:hover,.button-container button:focus{background-color:var(--btn-green-hover)}.button-container button:active,.button-container button.active{background-color:var(--btn-green-hover)}.button-container button.disabled{color:var(--disabled-color);background-color:var(--btn-disabled-bgc);pointer-events:none;cursor:default}.button-container button.loader{min-width:100px}.button-container button.white{background-color:var(--btn-light-green-bgc);color:var(--btn-white-color)}.button-container button.white:hover{color:var(--btn-white-hover-color)}.button-container button.transparent{background-color:transparent;color:var(--btn-white-color);border:none}.button-container button.transparent:hover{color:var(--btn-white-hover-color)}.button-container button.red{background-color:var(--btn-red-bgc);color:var(--btn-red-color)}.button-container button.red:hover{color:var(--btn-red-hover-color)}.button-container button.dark{background-color:var(--btn-dark-bgc);color:var(--btn-dark-color)}.button-container button.dark:hover{background-color:var(--btn-dark-hover-color)}.button-container button.no-padding{padding:0}\n"] }]
24
+ args: [{ selector: 'dd-lib-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, LibLoaderComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], template: "<div (click)=\"onClick($event)\" [ngStyle]=\"{width, height}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [class.active]=\"active\"\r\n [class.disabled]=\"disabled\"\r\n [class.green]=\"btnColor === 'green'\"\r\n [class.loader]=\"showLoader\"\r\n [class.no-padding]=\"noPadding\"\r\n [class.red]=\"btnColor === 'red'\"\r\n [class.transparent]=\"btnColor === 'transparent'\"\r\n [class.white]=\"btnColor === 'white'\"\r\n [class.dark]=\"btnColor === 'dark'\"\r\n [disabled]=\"disabled\"\r\n [ngStyle]=\"{width, height}\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <dd-lib-loader [color]=\"loaderColor\"></dd-lib-loader>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n <span #contentData><ng-content></ng-content></span>\r\n</ng-template>\r\n", styles: [".button-container{display:inline-block}.button-container button{display:flex;align-items:center;justify-content:center;height:40px;padding:0 32px;font-size:14px;line-height:24px;font-weight:var(--font-wheit-big);border-radius:12px;outline:none;cursor:pointer;white-space:nowrap;border:1px solid transparent;background-color:var(--btn-green-bgc);color:#fff}@media screen and (max-width: 840px){.button-container button{height:48px}}.button-container button:hover,.button-container button:focus{background-color:var(--btn-green-hover)}.button-container button:active,.button-container button.active{background-color:var(--btn-green-hover)}.button-container button.disabled{color:var(--disabled-color);background-color:var(--btn-disabled-bgc);pointer-events:none;cursor:default}.button-container button.loader{min-width:100px}.button-container button.white{background-color:var(--btn-light-green-bgc);color:var(--btn-white-color)}.button-container button.white:hover{color:var(--btn-white-hover-color)}.button-container button.transparent{background-color:transparent;color:var(--btn-white-color);border-color:var(--gray-color-200)}.button-container button.transparent:hover{color:var(--btn-white-hover-color)}.button-container button.red{background-color:var(--btn-red-bgc);color:var(--btn-red-color)}.button-container button.red:hover{color:var(--btn-red-hover-color)}.button-container button.dark{background-color:var(--btn-dark-bgc);color:var(--btn-dark-color)}.button-container button.dark:hover{background-color:var(--btn-dark-hover-color)}.button-container button.no-padding{padding:0}\n"] }]
25
25
  }], propDecorators: { noPadding: [{
26
26
  type: Input
27
27
  }], loaderColor: [{
28
28
  type: Input
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItYnV0dG9uL2xpYi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWJ1dHRvbi9saWItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHNCQUFzQixFQUN0QixLQUFLLEVBQ0wsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQVd4RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsd0JBQXdCO0lBVGhFOztRQVdrQixnQkFBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQVF2RTtJQU5RLGVBQWU7UUFDcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDdkMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNyQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzs4R0FUVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixnS0N0Qi9CLHFoQ0E4QkEsd2tERFhZLFlBQVksMFJBQUUsV0FBVywrQkFBRSxrQkFBa0I7OzJGQUc1QyxrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsa0JBQWtCLENBQUMsV0FDL0MsQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFHbkMsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxyXG4gIElucHV0LFxyXG4gIE5PX0VSUk9SU19TQ0hFTUEsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMaWJDb21tb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vbGliLWNvbW1vbi1idXR0b24nO1xyXG5pbXBvcnQgeyBMaWJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9saWItbG9hZGVyL2xpYi1sb2FkZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLWJ1dHRvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGliLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBMaWJMb2FkZXJDb21wb25lbnRdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYkJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIExpYkNvbW1vbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBub1BhZGRpbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGxvYWRlckNvbG9yID0gdGhpcy5idG5Db2xvciA9PT0gJ2dyZWVuJyA/ICcjZmZmJyA6ICcnO1xyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgY29uc3QgYnRuID0gdGhpcy5idXR0b24/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBpZiAoYnRuICYmIGJ0bi5hdHRyaWJ1dGVzPy5hdXRvZm9jdXMpIHtcclxuICAgICAgYnRuLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiIFtuZ1N0eWxlXT1cInt3aWR0aCwgaGVpZ2h0fVwiIGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxyXG4gIDxidXR0b25cclxuICAgICNidG5cclxuICAgIFthdHRyLnRhYkluZGV4XT1cImRpc2FibGVkID8gLTEgOiAwXCJcclxuICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcclxuICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlXCJcclxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbY2xhc3MuZ3JlZW5dPVwiYnRuQ29sb3IgPT09ICdncmVlbidcIlxyXG4gICAgW2NsYXNzLmxvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cIm5vUGFkZGluZ1wiXHJcbiAgICBbY2xhc3MucmVkXT1cImJ0bkNvbG9yID09PSAncmVkJ1wiXHJcbiAgICBbY2xhc3MudHJhbnNwYXJlbnRdPVwiYnRuQ29sb3IgPT09ICd0cmFuc3BhcmVudCdcIlxyXG4gICAgW2NsYXNzLndoaXRlXT1cImJ0bkNvbG9yID09PSAnd2hpdGUnXCJcclxuICAgIFtjbGFzcy5kYXJrXT1cImJ0bkNvbG9yID09PSAnZGFyaydcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFtuZ1N0eWxlXT1cInt3aWR0aCwgaGVpZ2h0fVwiXHJcbiAgICBbdHlwZV09XCJidXR0b25UeXBlXCJcclxuICAgIGNsYXNzPVwiXCJcclxuICAgIHJvbGU9XCJidXR0b25cIj5cclxuICAgIEBpZiAoIXNob3dMb2FkZXIpIHtcclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICB9IEBpZiAoc2hvd0xvYWRlcikge1xyXG4gICAgPGRkLWxpYi1sb2FkZXIgW2NvbG9yXT1cImxvYWRlckNvbG9yXCI+PC9kZC1saWItbG9hZGVyPlxyXG4gICAgfVxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cclxuICA8c3BhbiAjY29udGVudERhdGE+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItYnV0dG9uL2xpYi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWJ1dHRvbi9saWItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHNCQUFzQixFQUN0QixLQUFLLEVBQ0wsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQVd4RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsd0JBQXdCO0lBVGhFOztRQVdrQixnQkFBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQVF2RTtJQU5RLGVBQWU7UUFDcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDdkMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNyQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzs4R0FUVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixnS0N0Qi9CLHFoQ0E4QkEsZ25ERFhZLFlBQVksMFJBQUUsV0FBVywrQkFBRSxrQkFBa0I7OzJGQUc1QyxrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsa0JBQWtCLENBQUMsV0FDL0MsQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFHbkMsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxyXG4gIElucHV0LFxyXG4gIE5PX0VSUk9SU19TQ0hFTUEsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMaWJDb21tb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vbGliLWNvbW1vbi1idXR0b24nO1xyXG5pbXBvcnQgeyBMaWJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9saWItbG9hZGVyL2xpYi1sb2FkZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLWJ1dHRvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGliLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBMaWJMb2FkZXJDb21wb25lbnRdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYkJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIExpYkNvbW1vbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBub1BhZGRpbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGxvYWRlckNvbG9yID0gdGhpcy5idG5Db2xvciA9PT0gJ2dyZWVuJyA/ICcjZmZmJyA6ICcnO1xyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgY29uc3QgYnRuID0gdGhpcy5idXR0b24/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBpZiAoYnRuICYmIGJ0bi5hdHRyaWJ1dGVzPy5hdXRvZm9jdXMpIHtcclxuICAgICAgYnRuLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiIFtuZ1N0eWxlXT1cInt3aWR0aCwgaGVpZ2h0fVwiIGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxyXG4gIDxidXR0b25cclxuICAgICNidG5cclxuICAgIFthdHRyLnRhYkluZGV4XT1cImRpc2FibGVkID8gLTEgOiAwXCJcclxuICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcclxuICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlXCJcclxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbY2xhc3MuZ3JlZW5dPVwiYnRuQ29sb3IgPT09ICdncmVlbidcIlxyXG4gICAgW2NsYXNzLmxvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cIm5vUGFkZGluZ1wiXHJcbiAgICBbY2xhc3MucmVkXT1cImJ0bkNvbG9yID09PSAncmVkJ1wiXHJcbiAgICBbY2xhc3MudHJhbnNwYXJlbnRdPVwiYnRuQ29sb3IgPT09ICd0cmFuc3BhcmVudCdcIlxyXG4gICAgW2NsYXNzLndoaXRlXT1cImJ0bkNvbG9yID09PSAnd2hpdGUnXCJcclxuICAgIFtjbGFzcy5kYXJrXT1cImJ0bkNvbG9yID09PSAnZGFyaydcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFtuZ1N0eWxlXT1cInt3aWR0aCwgaGVpZ2h0fVwiXHJcbiAgICBbdHlwZV09XCJidXR0b25UeXBlXCJcclxuICAgIGNsYXNzPVwiXCJcclxuICAgIHJvbGU9XCJidXR0b25cIj5cclxuICAgIEBpZiAoIXNob3dMb2FkZXIpIHtcclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICB9IEBpZiAoc2hvd0xvYWRlcikge1xyXG4gICAgPGRkLWxpYi1sb2FkZXIgW2NvbG9yXT1cImxvYWRlckNvbG9yXCI+PC9kZC1saWItbG9hZGVyPlxyXG4gICAgfVxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cclxuICA8c3BhbiAjY29udGVudERhdGE+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -255,7 +255,7 @@ export class LibCalendarComponent {
255
255
  useExisting: forwardRef(() => LibCalendarComponent),
256
256
  multi: true,
257
257
  },
258
- ], ngImport: i0, template: "@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"checkActiveDay(day)\"\r\n\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\"\r\n [disabled]=\"(!dateValue && !rangeMode) || (rangeMode && (!dateStart || !dateEnd))\"\r\n class=\"calendar-block__footer_btn\"\r\n >\u0412\u044B\u0431\u0440\u0430\u0442\u044C\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}.calendar-block{z-index:1100;display:block}@media screen and (max-width: 840px){.calendar-block{height:100%}}.calendar-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--calendar-gray-color);font-size:14px;font-weight:400;line-height:24px}.calendar-block__header_arrow{cursor:pointer}.calendar-block__week{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;color:var(--primary-green-color);font-size:10px;font-weight:400;line-height:12px;letter-spacing:1.5px;margin-bottom:22px}.calendar-block__week_day{display:flex;align-items:center;justify-content:space-around}.calendar-block__days{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;margin-bottom:22px}.calendar-block__days_day{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:29px}.calendar-block__days_day.current{border:1px solid var(--primary-green-color)}.calendar-block__days_day.active,.calendar-block__days_day.normal:hover{background-color:var(--primary-green-color);color:var(--white-color)}.calendar-block__days_day.hide{pointer-events:none;cursor:default;color:var(--calendar-gray-hide-color)}.calendar-block__footer{display:flex;align-items:center;justify-content:space-between}.calendar-abs-wrapper{position:absolute;box-shadow:var(--main-card-shadow);top:0;right:0;z-index:1111}\n"], dependencies: [{ kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "component", type: LibButtonComponent, selector: "dd-lib-button", inputs: ["noPadding", "loaderColor"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
258
+ ], ngImport: i0, template: "@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"checkActiveDay(day)\"\r\n\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\"\r\n [disabled]=\"(!dateValue && !rangeMode) || (rangeMode && (!dateStart || !dateEnd))\"\r\n class=\"calendar-block__footer_btn\"\r\n >\u0412\u044B\u0431\u0440\u0430\u0442\u044C\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}.calendar-block{z-index:1100;display:block}@media screen and (max-width: 840px){.calendar-block{height:100%}}.calendar-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--calendar-gray-color);font-size:14px;font-weight:400;line-height:24px}.calendar-block__header_arrow{cursor:pointer}.calendar-block__week{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;color:var(--primary-green-color);font-size:10px;font-weight:400;line-height:12px;letter-spacing:1.5px;margin-bottom:22px}.calendar-block__week_day{display:flex;align-items:center;justify-content:space-around}.calendar-block__days{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;margin-bottom:22px}.calendar-block__days_day{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:29px;color:var(--light-black-color)}.calendar-block__days_day.current{border:1px solid var(--primary-green-color)}.calendar-block__days_day.active,.calendar-block__days_day.normal:hover{background-color:var(--primary-green-color);color:var(--white-color)}.calendar-block__days_day.hide{pointer-events:none;cursor:default;color:var(--calendar-gray-hide-color)}.calendar-block__footer{display:flex;align-items:center;justify-content:space-between}.calendar-abs-wrapper{position:absolute;box-shadow:var(--main-card-shadow);top:0;right:0;z-index:1111}\n"], dependencies: [{ kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "component", type: LibButtonComponent, selector: "dd-lib-button", inputs: ["noPadding", "loaderColor"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
259
259
  }
260
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibCalendarComponent, decorators: [{
261
261
  type: Component,
@@ -273,7 +273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
273
273
  useExisting: forwardRef(() => LibCalendarComponent),
274
274
  multi: true,
275
275
  },
276
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"checkActiveDay(day)\"\r\n\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\"\r\n [disabled]=\"(!dateValue && !rangeMode) || (rangeMode && (!dateStart || !dateEnd))\"\r\n class=\"calendar-block__footer_btn\"\r\n >\u0412\u044B\u0431\u0440\u0430\u0442\u044C\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}.calendar-block{z-index:1100;display:block}@media screen and (max-width: 840px){.calendar-block{height:100%}}.calendar-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--calendar-gray-color);font-size:14px;font-weight:400;line-height:24px}.calendar-block__header_arrow{cursor:pointer}.calendar-block__week{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;color:var(--primary-green-color);font-size:10px;font-weight:400;line-height:12px;letter-spacing:1.5px;margin-bottom:22px}.calendar-block__week_day{display:flex;align-items:center;justify-content:space-around}.calendar-block__days{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;margin-bottom:22px}.calendar-block__days_day{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:29px}.calendar-block__days_day.current{border:1px solid var(--primary-green-color)}.calendar-block__days_day.active,.calendar-block__days_day.normal:hover{background-color:var(--primary-green-color);color:var(--white-color)}.calendar-block__days_day.hide{pointer-events:none;cursor:default;color:var(--calendar-gray-hide-color)}.calendar-block__footer{display:flex;align-items:center;justify-content:space-between}.calendar-abs-wrapper{position:absolute;box-shadow:var(--main-card-shadow);top:0;right:0;z-index:1111}\n"] }]
276
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"checkActiveDay(day)\"\r\n\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\"\r\n [disabled]=\"(!dateValue && !rangeMode) || (rangeMode && (!dateStart || !dateEnd))\"\r\n class=\"calendar-block__footer_btn\"\r\n >\u0412\u044B\u0431\u0440\u0430\u0442\u044C\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}.calendar-block{z-index:1100;display:block}@media screen and (max-width: 840px){.calendar-block{height:100%}}.calendar-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--calendar-gray-color);font-size:14px;font-weight:400;line-height:24px}.calendar-block__header_arrow{cursor:pointer}.calendar-block__week{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;color:var(--primary-green-color);font-size:10px;font-weight:400;line-height:12px;letter-spacing:1.5px;margin-bottom:22px}.calendar-block__week_day{display:flex;align-items:center;justify-content:space-around}.calendar-block__days{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;margin-bottom:22px}.calendar-block__days_day{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:29px;color:var(--light-black-color)}.calendar-block__days_day.current{border:1px solid var(--primary-green-color)}.calendar-block__days_day.active,.calendar-block__days_day.normal:hover{background-color:var(--primary-green-color);color:var(--white-color)}.calendar-block__days_day.hide{pointer-events:none;cursor:default;color:var(--calendar-gray-hide-color)}.calendar-block__footer{display:flex;align-items:center;justify-content:space-between}.calendar-abs-wrapper{position:absolute;box-shadow:var(--main-card-shadow);top:0;right:0;z-index:1111}\n"] }]
277
277
  }], ctorParameters: () => [{ type: i1.DateService }], propDecorators: { type: [{
278
278
  type: Input
279
279
  }], formatDate: [{
@@ -293,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
293
293
  }], minDate: [{
294
294
  type: Input
295
295
  }] } });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1jYWxlbmRhci9saWItY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWNhbGVuZGFyL2xpYi1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sR0FBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUUzRSxNQUFNLE1BQU0sR0FBRztJQUNiLFFBQVE7SUFDUixTQUFTO0lBQ1QsTUFBTTtJQUNOLFFBQVE7SUFDUixLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixRQUFRO0lBQ1IsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUM7QUFPRjs7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RSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7OEdBbE5VLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHVSQVhwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNuRkgsdXZGQWlFQSxvZ0RES0ksZ0JBQWdCLHlMQUVoQixZQUFZLHlQQUNaLGtCQUFrQixnR0FFbEIsbUJBQW1COzsyRkFhVixvQkFBb0I7a0JBdkJoQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCx3QkFBd0I7d0JBQ3hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNO2dGQUcvQixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1csUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxVQUFVO3NCQUExQixNQUFNO2dCQUVJLE9BQU87c0JBRGpCLEtBQUs7Z0JBZ0JLLE9BQU87c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TGliRmlsdGVyQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuLi9saWItZmlsdGVyLWJ1dHRvbi9saWItZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGliUmFkaW9Db21wb25lbnR9IGZyb20gJy4uL2xpYi1yYWRpby9saWItcmFkaW8uY29tcG9uZW50JztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TGliQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuLi9saWItYnV0dG9uL2xpYi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtpc0FmdGVyLCBpc0JlZm9yZSwgcGFyc2V9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHtEYXRlU2VydmljZSwgSURheXNJbk1vbnRofSBmcm9tIFwiLi4vY29yZVwiO1xyXG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xyXG5cclxuY29uc3QgTW9udGhzID0gW1xyXG4gICfQr9C90LLQsNGA0YwnLFxyXG4gICfQpNC10LLRgNCw0LvRjCcsXHJcbiAgJ9Cc0LDRgNGCJyxcclxuICAn0JDQv9GA0LXQu9GMJyxcclxuICAn0JzQsNC5JyxcclxuICAn0JjRjtC90YwnLFxyXG4gICfQmNGO0LvRjCcsXHJcbiAgJ9CQ0LLQs9GD0YHRgicsXHJcbiAgJ9Ch0LXQvdGC0Y/QsdGA0YwnLFxyXG4gICfQntC60YLRj9Cx0YDRjCcsXHJcbiAgJ9Cd0L7Rj9Cx0YDRjCcsXHJcbiAgJ9CU0LXQutCw0LHRgNGMJyxcclxuXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVQZXJpb2Qge1xyXG4gIHN0YXJ0OiBEYXRlIHwgdW5kZWZpbmVkO1xyXG4gIGVuZDogRGF0ZSB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiDQrdGC0L7RgiDQutC+0LzQv9C+0L3QtdC90YIg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60LDQu9C10L3QtNCw0YDRjyDRgSDQstC+0LfQvNC+0LbQvdC+0YHRgtGM0Y4g0LLRi9Cx0L7RgNCwINC00LDRgtGLLlxyXG4g0J3QuNC20LUg0L/RgNC40LLQtdC00LXQvdC+INC+0L/QuNGB0LDQvdC40LUg0YHQstC+0LnRgdGC0LIg0Lgg0LzQtdGC0L7QtNC+0LIg0LTQsNC90L3QvtCz0L4g0LrQvtC80L/QvtC90LXQvdGC0LA6XHJcblxyXG4g0KHQstC+0LnRgdGC0LLQsDpcclxuIC0gQElucHV0KCkgcHVibGljIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZScgPSAnc3RyaW5nJzsgLSDRgtC40L8g0LTQsNC90L3Ri9GFINC00LvRjyDQstGL0LHQvtGA0LAg0LTQsNGC0YsuXHJcbiAtIEBJbnB1dCgpIHB1YmxpYyBmb3JtYXQgPSAnZGQuTU0ueXl5eSBISDptbSc7IC0g0YTQvtGA0LzQsNGCINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LTQsNGC0YsuXHJcbiAtIEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlID0gbmV3IERhdGUoKTsgLSDQvNCw0LrRgdC40LzQsNC70YzQvdCw0Y8g0LTQsNGC0LAsINC60L7RgtC+0YDRg9GOINC80L7QttC90L4g0LLRi9Cx0YDQsNGC0YwuXHJcbiAtIEBPdXRwdXQoKSBwdWJsaWMgZW1pdERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGRhdGUgfCB1bmRlZmluZWQ+KCk7IC0g0YHQvtCx0YvRgtC40LUsINGB0YDQsNCx0LDRgtGL0LLQsNGO0YnQtdC1INC/0YDQuCDQstGL0LHQvtGA0LUg0LTQsNGC0YsuXHJcbiAtIHB1YmxpYyBkYXRlVmFsdWU6IERhdGUgfCB1bmRlZmluZWQ7IC0g0LLRi9Cx0YDQsNC90L3QsNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC8INC00LDRgtCwLlxyXG4gLSBwdWJsaWMgbW9udGhzID0gTW9udGhzOyAtINC80LDRgdGB0LjQsiDRgSDQvdCw0LfQstCw0L3QuNGP0LzQuCDQvNC10YHRj9GG0LXQsi5cclxuIC0gcHVibGljIHdlZWsgPSBbJ9Cf0J0nLCAn0JLQoicsICfQodCgJywgJ9Cn0KInLCAn0J/QoicsICfQodCRJywgJ9CS0KEnXTsgLSDQvNCw0YHRgdC40LIg0YEg0L3QsNC30LLQsNC90LjRj9C80Lgg0LTQvdC10Lkg0L3QtdC00LXQu9C4LlxyXG4gLSBwdWJsaWMgeWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsgLSDRgtC10LrRg9GJ0LjQuSDQs9C+0LQuXHJcbiAtIHB1YmxpYyBtb250aCA9IG5ldyBEYXRlKCkuZ2V0TW9udGgoKTsgLSDRgtC10LrRg9GJ0LjQuSDQvNC10YHRj9GGLlxyXG4gLSBwdWJsaWMgZGF5ID0gbmV3IERhdGUoKS5nZXREYXkoKTsgLSDRgtC10LrRg9GJ0LjQuSDQtNC10L3RjCDQvdC10LTQtdC70LguXHJcbiAtIHB1YmxpYyBkYXlzSW5Nb250aDogSURheXNJbk1vbnRoOyAtINC60L7Qu9C40YfQtdGB0YLQstC+INC00L3QtdC5INCyINGC0LXQutGD0YnQtdC8INC80LXRgdGP0YbQtS5cclxuIC0gcHVibGljIGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTsgLSDRgtC10LrRg9GJ0LDRjyDQstGL0LHRgNCw0L3QvdCw0Y8g0LTQsNGC0LAuXHJcbiAtIHB1YmxpYyBkYXRlTm93ID0gbmV3IERhdGUoKTsgLSDRgtC10LrRg9GJ0LDRjyDQtNCw0YLQsC5cclxuIC0gcHVibGljIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkOyAtINGE0YPQvdC60YbQuNGPINC+0LHRgNCw0YLQvdC+0LPQviDQstGL0LfQvtCy0LAg0L/RgNC4INC60LDRgdCw0L3QuNC4LlxyXG5cclxuINCc0LXRgtC+0LTRizpcclxuIC0gcHVibGljIHByb3BhZ2F0ZUNoYW5nZShfdmFsdWU6IERhdGUpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0L7QsdC90L7QstC70LXQvdC40Y8g0LfQvdCw0YfQtdC90LjRjyDQstGL0LHRgNCw0L3QvdC+0Lkg0LTQsNGC0YsuXHJcbiAtIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQttC40LfQvdC10L3QvdC+0LPQviDRhtC40LrQu9CwINC60L7QvNC/0L7QvdC10L3RgtCwLCDQstGL0LfRi9Cy0LDQtdC80YvQuSDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXHJcbiAtIHB1YmxpYyBzZXREYXlJbk1vbnRoKCk6IHZvaWQge30gLSDQvNC10YLQvtC0INC00LvRjyDRg9GB0YLQsNC90L7QstC60Lgg0LrQvtC70LjRh9C10YHRgtCy0LAg0LTQvdC10Lkg0LIg0YLQtdC60YPRidC10Lwg0LzQtdGB0Y/RhtC1LlxyXG4gLSBwdWJsaWMgY2hhbmdlTW9udGgobnVtYmVyOiBudW1iZXIpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0LjQt9C80LXQvdC10L3QuNGPINC80LXRgdGP0YbQsCDQsiDQutCw0LvQtdC90LTQsNGA0LUuXHJcbiAtIHB1YmxpYyBnZXRNb250aCgpOiBzdHJpbmcge30gLSDQvNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L3QsNC30LLQsNC90LjRjyDRgtC10LrRg9GJ0LXQs9C+INC80LXRgdGP0YbQsC5cclxuIC0gcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge30gLSDQvNC10YLQvtC0INC00LvRjyDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INGE0YPQvdC60YbQuNC4INC+0LHRgNCw0YLQvdC+0LPQviDQstGL0LfQvtCy0LAg0L/RgNC4INC40LfQvNC10L3QtdC90LjQuCDQt9C90LDRh9C10L3QuNGPLlxyXG4gLSBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge30gLSDQvNC10YLQvtC0INC00LvRjyDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INGE0YPQvdC60YbQuNC4INC+0LHRgNCw0YLQvdC+0LPQviDQstGL0LfQvtCy0LAg0L/RgNC4INC60LDRgdCw0L3QuNC4LlxyXG4gLSBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IERhdGUpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INC30L3QsNGH0LXQvdC40Y8g0LTQsNGC0YsuXHJcbiAtIHB1YmxpYyBzZWxlY3REYXkoZGF5OiBudW1iZXIpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0LLRi9Cx0L7RgNCwINC60L7QvdC60YDQtdGC0L3QvtCz0L4g0LTQvdGPINCyINC60LDQu9C10L3QtNCw0YDQtS5cclxuIC0gcHVibGljIHNlbGVjdERhdGUoKTogdm9pZCB7fSAtINC80LXRgtC+0LQg0LTQu9GPINCy0YvQsdC+0YDQsCDQtNCw0YLRiyDQuCDQv9C10YDQtdC00LDRh9C4INC30L3QsNGH0LXQvdC40Y8g0YfQtdGA0LXQtyBwcm9wYWdhdGVDaGFuZ2Ug0LggZW1pdERhdGUuXHJcbiAtIHB1YmxpYyBjaGVja0hpZGVEYXkoZGF5OiBudW1iZXIpOiBib29sZWFuIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0L/RgNC+0LLQtdGA0LrQuCDRgdC60YDRi9GC0LjRjyDQvtC/0YDQtdC00LXQu9C10L3QvdC+0LPQviDQtNC90Y8g0LIg0LrQsNC70LXQvdC00LDRgNC1LlxyXG4gLSBwdWJsaWMgY2Fuc2VsRGF0ZSgpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0L7RgtC80LXQvdGLINCy0YvQsdGA0LDQvdC90L7QuSDQtNCw0YLRiyDQuCDRgdCx0YDQvtGB0LAg0LfQvdCw0YfQtdC90LjQuS5cclxuICoqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1jYWxlbmRhcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBMaWJGaWx0ZXJCdXR0b25Db21wb25lbnQsXHJcbiAgICBMaWJDYXJkQ29tcG9uZW50LFxyXG4gICAgTGliUmFkaW9Db21wb25lbnQsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBMaWJCdXR0b25Db21wb25lbnQsXHJcbiAgICBOZ09wdGltaXplZEltYWdlLFxyXG4gICAgTGliU3ZnSWNvbkNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliQ2FsZW5kYXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYkNhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZScgPSAnc3RyaW5nJztcclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybWF0RGF0ZSA9ICdkZC5NTS55eXl5JztcclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybWF0VGltZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByYW5nZU1vZGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbW9kZTogJ2ljb24nIHwgJ2Z1bGwnID0gJ2Z1bGwnO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZW1pdERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCB1bmRlZmluZWQ+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBlbWl0UGVyaW9kID0gbmV3IEV2ZW50RW1pdHRlcjxJRGF0ZVBlcmlvZCB8IHVuZGVmaW5lZD4oKTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbWF4RGF0ZShkYXRlOiBhbnkpIHtcclxuICAgIGlmIChkYXRlID09PSAnY3VycmVudCcpIHtcclxuICAgICAgdGhpcy5fbWF4RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICB0aGlzLl9tYXhEYXRlID0gZGF0ZTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuX21heERhdGUgPSBwYXJzZShcclxuICAgICAgICBkYXRlLFxyXG4gICAgICAgIGAke3RoaXMuZm9ybWF0RGF0ZX0ke3RoaXMuZm9ybWF0VGltZSA/ICcgJyArIHRoaXMuZm9ybWF0VGltZSA6ICcnfWAsXHJcbiAgICAgICAgbmV3IERhdGUoKSxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtaW5EYXRlKGRhdGU6IGFueSkge1xyXG4gICAgaWYgKGRhdGUgPT09ICdjdXJyZW50Jykge1xyXG4gICAgICB0aGlzLl9taW5EYXRlID0gbmV3IERhdGUoKTtcclxuICAgIH0gZWxzZSBpZiAoZGF0ZSA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMuX21pbkRhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldEZ1bGxZZWFyKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIDEpKTtcclxuICAgIH0gZWxzZSBpZiAoZGF0ZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLl9taW5EYXRlID0gbmV3IERhdGUobmV3IERhdGUoKS5zZXRNb250aChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgLSAxKSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICB0aGlzLl9taW5EYXRlID0gZGF0ZTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuX21pbkRhdGUgPSBwYXJzZShcclxuICAgICAgICBkYXRlLFxyXG4gICAgICAgIGAke3RoaXMuZm9ybWF0RGF0ZX0ke3RoaXMuZm9ybWF0VGltZSA/ICcgJyArIHRoaXMuZm9ybWF0VGltZSA6ICcnfWAsXHJcbiAgICAgICAgbmV3IERhdGUoKSxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21heERhdGU6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfbWluRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgZGF0ZVZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBkYXRlU3RhcnQ6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGRhdGVFbmQ6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIG1vbnRocyA9IE1vbnRocztcclxuICBwdWJsaWMgd2VlayA9IFsn0J/QnScsICfQktCiJywgJ9Ch0KAnLCAn0KfQoicsICfQn9CiJywgJ9Ch0JEnLCAn0JLQoSddO1xyXG4gIHB1YmxpYyB5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xyXG4gIHB1YmxpYyBtb250aCA9IG5ldyBEYXRlKCkuZ2V0TW9udGgoKTtcclxuICBwdWJsaWMgZGF5ID0gbmV3IERhdGUoKS5nZXREYXkoKTtcclxuICBwdWJsaWMgZGF5c0luTW9udGg6IElEYXlzSW5Nb250aCB8IHVuZGVmaW5lZDtcclxuICAvLyBtaW5EYXRlID0gc2V0TWluRGF0ZSgpO1xyXG4gIHB1YmxpYyBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgcHVibGljIGRhdGVOb3cgPSBuZXcgRGF0ZSgpO1xyXG4gIHB1YmxpYyBvblRvdWNoZWRDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzaG93Q2FsZW5kYXI6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZVNlcnZpY2U6IERhdGVTZXJ2aWNlKSB7fVxyXG5cclxuICBwdWJsaWMgcHJvcGFnYXRlQ2hhbmdlKF92YWx1ZTogRGF0ZSB8IElEYXRlUGVyaW9kKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldERheUluTW9udGgoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREYXlJbk1vbnRoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXlzSW5Nb250aCA9IHRoaXMuZGF0ZVNlcnZpY2UuZ2V0RGF5c0luTW9udGgodGhpcy5tb250aCwgdGhpcy55ZWFyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VNb250aChudW1iZXI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgdGVtcCA9IG5ldyBEYXRlKHRoaXMuY3VycmVudERhdGUpO1xyXG4gICAgdGVtcC5zZXRNb250aCh0ZW1wLmdldE1vbnRoKCkgKyBudW1iZXIpO1xyXG4gICAgdGhpcy5tb250aCA9IHRlbXAuZ2V0TW9udGgoKTtcclxuICAgIHRoaXMueWVhciA9IHRlbXAuZ2V0RnVsbFllYXIoKTtcclxuICAgIHRoaXMuY3VycmVudERhdGUgPSB0ZW1wO1xyXG4gICAgdGhpcy5zZXREYXlJbk1vbnRoKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TW9udGgoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnREYXRlICYmICEodGhpcy5kYXRlVmFsdWUgfHwgdGhpcy5kYXRlU3RhcnQpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1vbnRoc1t0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubW9udGhzW3RoaXMubW9udGhdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VNb2RlKSB7XHJcbiAgICAgIHRoaXMuZGF0ZVN0YXJ0ID0gdmFsPy5zdGFydDtcclxuICAgICAgdGhpcy5kYXRlRW5kID0gdmFsPy5lbmQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGVWYWx1ZSA9IHZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGVWYWx1ZSB8fCB0aGlzLmRhdGVTdGFydCkge1xyXG4gICAgICB0aGlzLnNob3dDdXJyZW5TZWxlY3REYXkodGhpcy5kYXRlVmFsdWUgfHwgdGhpcy5kYXRlU3RhcnQhKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dDdXJyZW5TZWxlY3REYXkoZGF0ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXkgPSBkYXRlLmdldERhdGUoKVxyXG4gICAgdGhpcy5tb250aCA9IGRhdGUuZ2V0TW9udGgoKVxyXG4gICAgdGhpcy55ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpXHJcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUodGhpcy5kYXRlVmFsdWUgfHwgdGhpcy5kYXRlU3RhcnQhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3REYXkoZGF5OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jaGVja0hpZGVEYXkoZGF5KSkge1xyXG4gICAgICBpZiAodGhpcy5yYW5nZU1vZGUpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0ZVN0YXJ0KSB7XHJcbiAgICAgICAgICB0aGlzLmRhdGVTdGFydCA9IG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgZGF5KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgZURhdGUgPSBuZXcgRGF0ZSh0aGlzLnllYXIsIHRoaXMubW9udGgsIGRheSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5kYXRlU3RhcnQgPiBlRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGVFbmQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZVN0YXJ0ID0gZURhdGU7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGVFbmQgPSBlRGF0ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnllYXIsIHRoaXMubW9udGgsIGRheSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3REYXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VNb2RlKSB7XHJcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHtzdGFydDogdGhpcy5kYXRlU3RhcnQhLCBlbmQ6IHRoaXMuZGF0ZUVuZCF9KTtcclxuICAgICAgdGhpcy5lbWl0UGVyaW9kLmVtaXQoe3N0YXJ0OiB0aGlzLmRhdGVTdGFydCEsIGVuZDogdGhpcy5kYXRlRW5kIX0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5kYXRlVmFsdWUgYXMgRGF0ZSk7XHJcbiAgICAgIHRoaXMuZW1pdERhdGUuZW1pdCh0aGlzLmRhdGVWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dDYWxlbmRhciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrSGlkZURheShkYXk6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgbGV0IG1vcmVEYXkgPSBmYWxzZTtcclxuICAgICAgbGV0IG1vcmVNb250aCA9IGZhbHNlO1xyXG4gICAgICBsZXQgbW9yZVllYXIgPSBmYWxzZTtcclxuICAgIGNvbnN0IGxlc3NEYXkgPSBmYWxzZTtcclxuICAgICAgY29uc3QgbGVzc01vbnRoID0gZmFsc2U7XHJcbiAgICAgIGNvbnN0IGxlc3NZZWFyID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5fbWF4RGF0ZSkge1xyXG4gICAgICBjb25zdCBbbWF4WWVhciwgbWF4TW9udGgsIG1heERheV0gPSBbXHJcbiAgICAgICAgdGhpcy5fbWF4RGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICAgIHRoaXMuX21heERhdGUuZ2V0TW9udGgoKSxcclxuICAgICAgICB0aGlzLl9tYXhEYXRlLmdldERhdGUoKSxcclxuICAgICAgXTtcclxuICAgICAgbW9yZURheSA9IHRoaXMueWVhciA+PSBtYXhZZWFyICYmIHRoaXMubW9udGggPj0gbWF4TW9udGggJiYgZGF5ID4gbWF4RGF5O1xyXG4gICAgICBtb3JlTW9udGggPSB0aGlzLnllYXIgPj0gbWF4WWVhciAmJiB0aGlzLm1vbnRoID4gbWF4TW9udGg7XHJcbiAgICAgIG1vcmVZZWFyID0gdGhpcy55ZWFyID4gbWF4WWVhcjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9taW5EYXRlKSB7XHJcbiAgICAgIGNvbnN0IFttaW5ZZWFyLCBtaW5Nb250aCwgbWluRGF5XSA9IFtcclxuICAgICAgICB0aGlzLl9taW5EYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgICAgdGhpcy5fbWluRGF0ZS5nZXRNb250aCgpLFxyXG4gICAgICAgIHRoaXMuX21pbkRhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICBdO1xyXG4gICAgICBtb3JlRGF5ID0gdGhpcy55ZWFyIDw9IG1pblllYXIgJiYgdGhpcy5tb250aCA8PSBtaW5Nb250aCAmJiBkYXkgPCBtaW5EYXk7XHJcbiAgICAgIG1vcmVNb250aCA9IHRoaXMueWVhciA8PSBtaW5ZZWFyICYmIHRoaXMubW9udGggPCBtaW5Nb250aDtcclxuICAgICAgbW9yZVllYXIgPSB0aGlzLnllYXIgPCBtaW5ZZWFyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vcmVEYXkgfHwgbW9yZU1vbnRoIHx8IG1vcmVZZWFyIHx8IGxlc3NEYXkgfHwgbGVzc01vbnRoIHx8IGxlc3NZZWFyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbnNlbERhdGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVtaXREYXRlLmVtaXQoKTtcclxuICAgIHRoaXMuZW1pdFBlcmlvZC5lbWl0KCk7XHJcbiAgICB0aGlzLmRhdGVWYWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGF0ZVN0YXJ0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kYXRlRW5kID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93Q2FsZW5kYXIgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNoZWNrQWN0aXZlRGF5KGRheTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5yYW5nZU1vZGUpIHtcclxuICAgICAgY29uc3Qgc0RheSA9IHRoaXMuZGF0ZVN0YXJ0Py5nZXREYXRlKClcclxuICAgICAgY29uc3QgZURheSA9IHRoaXMuZGF0ZUVuZD8uZ2V0RGF0ZSgpXHJcbiAgICAgIGNvbnN0IHNNb250aCA9IHRoaXMuZGF0ZVN0YXJ0Py5nZXRNb250aCgpXHJcbiAgICAgIGNvbnN0IGVNb250aCA9IHRoaXMuZGF0ZUVuZD8uZ2V0TW9udGgoKVxyXG4gICAgICBjb25zdCBzWWVhciA9IHRoaXMuZGF0ZVN0YXJ0Py5nZXRGdWxsWWVhcigpXHJcbiAgICAgIGNvbnN0IGVZZWFyID0gdGhpcy5kYXRlRW5kPy5nZXRGdWxsWWVhcigpXHJcbiAgICAgIGNvbnN0IHN0YXJ0RGF5ID0gc0RheSA9PT0gZGF5ICYmIHNNb250aCA9PT0gdGhpcy5tb250aCAmJiBzWWVhciA9PT0gdGhpcy55ZWFyO1xyXG4gICAgICBjb25zdCBlbmREYXkgPSBlRGF5ID09PSBkYXkgJiYgZU1vbnRoID09PSB0aGlzLm1vbnRoICYmIGVZZWFyID09PSB0aGlzLnllYXI7XHJcbiAgICAgIGlmICh0aGlzLmRhdGVTdGFydCAmJiB0aGlzLmRhdGVFbmQpIHtcclxuICAgICAgICBjb25zdCBjaGVja2VkRGF0ZSA9IG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgZGF5KVxyXG5cclxuICAgICAgICBjb25zdCBhZnRlciA9IGlzQWZ0ZXIodGhpcy5kYXRlRW5kLCBjaGVja2VkRGF0ZSlcclxuICAgICAgICBjb25zdCBiZWZvcmUgPSBpc0JlZm9yZSh0aGlzLmRhdGVTdGFydCwgY2hlY2tlZERhdGUpXHJcbiAgICAgICAgcmV0dXJuIGFmdGVyICYmIGJlZm9yZSB8fCBzdGFydERheSB8fCBlbmREYXk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHN0YXJ0RGF5IHx8IGVuZERheTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVZhbHVlPy5nZXREYXRlKCkgPT09IGRheVxyXG4gICAgICAgICYmIHRoaXMuZGF0ZVZhbHVlPy5nZXRNb250aCgpID09PSB0aGlzLm1vbnRoXHJcbiAgICAgICAgJiYgdGhpcy5kYXRlVmFsdWU/LmdldEZ1bGxZZWFyKCkgPT09IHRoaXMueWVhcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGlmIChtb2RlID09PSAnaWNvbicpIHtcclxuPGRpdiBjbGFzcz1cInBvcy1yZWxhdGl2ZSBkLWZsZXggYWxpZ24tY2VudGVyXCI+XHJcbiAgQGlmIChkYXRlVmFsdWUpIHtcclxuICA8c3BhbiBjbGFzcz1cIm1yLTEyIGdyZWVuXCI+e3sgZGF0ZVZhbHVlIHwgZGF0ZTogJ2RkLk1NLnl5eXknIH19PC9zcGFuPlxyXG4gIH1cclxuICA8ZGQtbGliLXN2Zy1pY29uIGNsYXNzPVwiY3VwXCIgKGNsaWNrKT1cInNob3dDYWxlbmRhciA9ICFzaG93Q2FsZW5kYXJcIiBpY29uPVwiY2FsZW5kYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICBAaWYgKGRhdGVWYWx1ZSkge1xyXG4gICAgPGRkLWxpYi1zdmctaWNvbiBjbGFzcz1cImN1cFwiIChjbGljayk9XCJjYW5zZWxEYXRlKClcIiBpY29uPVwiY2xlYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICB9IEBpZiAoc2hvd0NhbGVuZGFyKSB7XHJcbiAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWFicy13cmFwcGVyXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FsZW5kYXJcIj48L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbn0gQGlmIChtb2RlID09PSAnZnVsbCcpIHtcclxuPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNhbGVuZGFyXCI+PC9uZy10ZW1wbGF0ZT5cclxufVxyXG5cclxuPG5nLXRlbXBsYXRlICNjYWxlbmRhcj5cclxuICA8ZGQtbGliLWNhcmQgY2xhc3M9XCJjYWxlbmRhci1ibG9ja1wiIHR5cGU9XCJzbWFsbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19oZWFkZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19oZWFkZXJfYXJyb3dcIj5cclxuICAgICAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJjaGFuZ2VNb250aCgtMSlcIiBpY29uPVwibGVmdF9jaGV2cm9uXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX2hlYWRlcl95ZWFyXCI+e3sgZ2V0TW9udGgoKSArICcgJyArIHllYXIgfX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19oZWFkZXJfYXJyb3dcIj5cclxuICAgICAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJjaGFuZ2VNb250aCgxKVwiIGljb249XCJyaWdodF9jaGV2cm9uXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX3dlZWtcIj5cclxuICAgICAgQGZvciAoZGF5IG9mIHdlZWs7IHRyYWNrIGRheSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX3dlZWtfZGF5XCI+e3sgZGF5IH19PC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19kYXlzXCI+XHJcbiAgICAgIEBmb3IgKGRheSBvZiBkYXlzSW5Nb250aD8ucHJldkRheXM7IHRyYWNrIGRheSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX2RheXNfZGF5IGhpZGVcIj57eyBkYXkgfX08L2Rpdj5cclxuICAgICAgfSBAZm9yIChkYXkgb2YgZGF5c0luTW9udGg/LmRheXM7IHRyYWNrIGRheSkge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdERheShkYXkpXCJcclxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImNoZWNrQWN0aXZlRGF5KGRheSlcIlxyXG5cclxuICAgICAgICBbY2xhc3MuY3VycmVudF09XCJcclxuICAgICAgICAgIGRhdGVOb3cuZ2V0RGF0ZSgpID09PSBkYXkgJiYgZGF0ZU5vdy5nZXRNb250aCgpID09PSBtb250aCAmJiBkYXRlTm93LmdldEZ1bGxZZWFyKCkgPT09IHllYXJcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtjbGFzcy5oaWRlXT1cImNoZWNrSGlkZURheShkYXkpXCJcclxuICAgICAgICBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19kYXlzX2RheSBub3JtYWxcIj5cclxuICAgICAgICB7eyBkYXkgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGZvciAoZGF5IG9mIGRheXNJbk1vbnRoPy5sYXN0RGF5czsgdHJhY2sgZGF5KSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ibG9ja19fZGF5c19kYXkgaGlkZVwiPnt7IGRheSB9fTwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ibG9ja19fZm9vdGVyXCI+XHJcbiAgICAgIDxkZC1saWItYnV0dG9uIChjbGljayk9XCJjYW5zZWxEYXRlKClcIiBbYnRuQ29sb3JdPVwiJ3RyYW5zcGFyZW50J1wiIGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX2Zvb3Rlcl9idG5cIlxyXG4gICAgICAgID7QntGC0LzQtdC90LjRgtGMXHJcbiAgICAgIDwvZGQtbGliLWJ1dHRvbj5cclxuICAgICAgPGRkLWxpYi1idXR0b24gKGNsaWNrKT1cInNlbGVjdERhdGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIoIWRhdGVWYWx1ZSAmJiAhcmFuZ2VNb2RlKSB8fCAocmFuZ2VNb2RlICYmICghZGF0ZVN0YXJ0IHx8ICFkYXRlRW5kKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19mb290ZXJfYnRuXCJcclxuICAgICAgICA+0JLRi9Cx0YDQsNGC0YxcclxuICAgICAgPC9kZC1saWItYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kZC1saWItY2FyZD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1jYWxlbmRhci9saWItY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWNhbGVuZGFyL2xpYi1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sR0FBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUUzRSxNQUFNLE1BQU0sR0FBRztJQUNiLFFBQVE7SUFDUixTQUFTO0lBQ1QsTUFBTTtJQUNOLFFBQVE7SUFDUixLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixRQUFRO0lBQ1IsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUM7QUFPRjs7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RSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7OEdBbE5VLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHVSQVhwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNuRkgsdXZGQWlFQSxtaURES0ksZ0JBQWdCLHlMQUVoQixZQUFZLHlQQUNaLGtCQUFrQixnR0FFbEIsbUJBQW1COzsyRkFhVixvQkFBb0I7a0JBdkJoQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCx3QkFBd0I7d0JBQ3hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNO2dGQUcvQixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1csUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxVQUFVO3NCQUExQixNQUFNO2dCQUVJLE9BQU87c0JBRGpCLEtBQUs7Z0JBZ0JLLE9BQU87c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TGliRmlsdGVyQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuLi9saWItZmlsdGVyLWJ1dHRvbi9saWItZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGliUmFkaW9Db21wb25lbnR9IGZyb20gJy4uL2xpYi1yYWRpby9saWItcmFkaW8uY29tcG9uZW50JztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TGliQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuLi9saWItYnV0dG9uL2xpYi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtpc0FmdGVyLCBpc0JlZm9yZSwgcGFyc2V9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHtEYXRlU2VydmljZSwgSURheXNJbk1vbnRofSBmcm9tIFwiLi4vY29yZVwiO1xyXG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xyXG5cclxuY29uc3QgTW9udGhzID0gW1xyXG4gICfQr9C90LLQsNGA0YwnLFxyXG4gICfQpNC10LLRgNCw0LvRjCcsXHJcbiAgJ9Cc0LDRgNGCJyxcclxuICAn0JDQv9GA0LXQu9GMJyxcclxuICAn0JzQsNC5JyxcclxuICAn0JjRjtC90YwnLFxyXG4gICfQmNGO0LvRjCcsXHJcbiAgJ9CQ0LLQs9GD0YHRgicsXHJcbiAgJ9Ch0LXQvdGC0Y/QsdGA0YwnLFxyXG4gICfQntC60YLRj9Cx0YDRjCcsXHJcbiAgJ9Cd0L7Rj9Cx0YDRjCcsXHJcbiAgJ9CU0LXQutCw0LHRgNGMJyxcclxuXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVQZXJpb2Qge1xyXG4gIHN0YXJ0OiBEYXRlIHwgdW5kZWZpbmVkO1xyXG4gIGVuZDogRGF0ZSB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiDQrdGC0L7RgiDQutC+0LzQv9C+0L3QtdC90YIg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60LDQu9C10L3QtNCw0YDRjyDRgSDQstC+0LfQvNC+0LbQvdC+0YHRgtGM0Y4g0LLRi9Cx0L7RgNCwINC00LDRgtGLLlxyXG4g0J3QuNC20LUg0L/RgNC40LLQtdC00LXQvdC+INC+0L/QuNGB0LDQvdC40LUg0YHQstC+0LnRgdGC0LIg0Lgg0LzQtdGC0L7QtNC+0LIg0LTQsNC90L3QvtCz0L4g0LrQvtC80L/QvtC90LXQvdGC0LA6XHJcblxyXG4g0KHQstC+0LnRgdGC0LLQsDpcclxuIC0gQElucHV0KCkgcHVibGljIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZScgPSAnc3RyaW5nJzsgLSDRgtC40L8g0LTQsNC90L3Ri9GFINC00LvRjyDQstGL0LHQvtGA0LAg0LTQsNGC0YsuXHJcbiAtIEBJbnB1dCgpIHB1YmxpYyBmb3JtYXQgPSAnZGQuTU0ueXl5eSBISDptbSc7IC0g0YTQvtGA0LzQsNGCINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LTQsNGC0YsuXHJcbiAtIEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlID0gbmV3IERhdGUoKTsgLSDQvNCw0LrRgdC40LzQsNC70YzQvdCw0Y8g0LTQsNGC0LAsINC60L7RgtC+0YDRg9GOINC80L7QttC90L4g0LLRi9Cx0YDQsNGC0YwuXHJcbiAtIEBPdXRwdXQoKSBwdWJsaWMgZW1pdERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGRhdGUgfCB1bmRlZmluZWQ+KCk7IC0g0YHQvtCx0YvRgtC40LUsINGB0YDQsNCx0LDRgtGL0LLQsNGO0YnQtdC1INC/0YDQuCDQstGL0LHQvtGA0LUg0LTQsNGC0YsuXHJcbiAtIHB1YmxpYyBkYXRlVmFsdWU6IERhdGUgfCB1bmRlZmluZWQ7IC0g0LLRi9Cx0YDQsNC90L3QsNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC8INC00LDRgtCwLlxyXG4gLSBwdWJsaWMgbW9udGhzID0gTW9udGhzOyAtINC80LDRgdGB0LjQsiDRgSDQvdCw0LfQstCw0L3QuNGP0LzQuCDQvNC10YHRj9GG0LXQsi5cclxuIC0gcHVibGljIHdlZWsgPSBbJ9Cf0J0nLCAn0JLQoicsICfQodCgJywgJ9Cn0KInLCAn0J/QoicsICfQodCRJywgJ9CS0KEnXTsgLSDQvNCw0YHRgdC40LIg0YEg0L3QsNC30LLQsNC90LjRj9C80Lgg0LTQvdC10Lkg0L3QtdC00LXQu9C4LlxyXG4gLSBwdWJsaWMgeWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsgLSDRgtC10LrRg9GJ0LjQuSDQs9C+0LQuXHJcbiAtIHB1YmxpYyBtb250aCA9IG5ldyBEYXRlKCkuZ2V0TW9udGgoKTsgLSDRgtC10LrRg9GJ0LjQuSDQvNC10YHRj9GGLlxyXG4gLSBwdWJsaWMgZGF5ID0gbmV3IERhdGUoKS5nZXREYXkoKTsgLSDRgtC10LrRg9GJ0LjQuSDQtNC10L3RjCDQvdC10LTQtdC70LguXHJcbiAtIHB1YmxpYyBkYXlzSW5Nb250aDogSURheXNJbk1vbnRoOyAtINC60L7Qu9C40YfQtdGB0YLQstC+INC00L3QtdC5INCyINGC0LXQutGD0YnQtdC8INC80LXRgdGP0YbQtS5cclxuIC0gcHVibGljIGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTsgLSDRgtC10LrRg9GJ0LDRjyDQstGL0LHRgNCw0L3QvdCw0Y8g0LTQsNGC0LAuXHJcbiAtIHB1YmxpYyBkYXRlTm93ID0gbmV3IERhdGUoKTsgLSDRgtC10LrRg9GJ0LDRjyDQtNCw0YLQsC5cclxuIC0gcHVibGljIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkOyAtINGE0YPQvdC60YbQuNGPINC+0LHRgNCw0YLQvdC+0LPQviDQstGL0LfQvtCy0LAg0L/RgNC4INC60LDRgdCw0L3QuNC4LlxyXG5cclxuINCc0LXRgtC+0LTRizpcclxuIC0gcHVibGljIHByb3BhZ2F0ZUNoYW5nZShfdmFsdWU6IERhdGUpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0L7QsdC90L7QstC70LXQvdC40Y8g0LfQvdCw0YfQtdC90LjRjyDQstGL0LHRgNCw0L3QvdC+0Lkg0LTQsNGC0YsuXHJcbiAtIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQttC40LfQvdC10L3QvdC+0LPQviDRhtC40LrQu9CwINC60L7QvNC/0L7QvdC10L3RgtCwLCDQstGL0LfRi9Cy0LDQtdC80YvQuSDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXHJcbiAtIHB1YmxpYyBzZXREYXlJbk1vbnRoKCk6IHZvaWQge30gLSDQvNC10YLQvtC0INC00LvRjyDRg9GB0YLQsNC90L7QstC60Lgg0LrQvtC70LjRh9C10YHRgtCy0LAg0LTQvdC10Lkg0LIg0YLQtdC60YPRidC10Lwg0LzQtdGB0Y/RhtC1LlxyXG4gLSBwdWJsaWMgY2hhbmdlTW9udGgobnVtYmVyOiBudW1iZXIpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0LjQt9C80LXQvdC10L3QuNGPINC80LXRgdGP0YbQsCDQsiDQutCw0LvQtdC90LTQsNGA0LUuXHJcbiAtIHB1YmxpYyBnZXRNb250aCgpOiBzdHJpbmcge30gLSDQvNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L3QsNC30LLQsNC90LjRjyDRgtC10LrRg9GJ0LXQs9C+INC80LXRgdGP0YbQsC5cclxuIC0gcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge30gLSDQvNC10YLQvtC0INC00LvRjyDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INGE0YPQvdC60YbQuNC4INC+0LHRgNCw0YLQvdC+0LPQviDQstGL0LfQvtCy0LAg0L/RgNC4INC40LfQvNC10L3QtdC90LjQuCDQt9C90LDRh9C10L3QuNGPLlxyXG4gLSBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge30gLSDQvNC10YLQvtC0INC00LvRjyDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INGE0YPQvdC60YbQuNC4INC+0LHRgNCw0YLQvdC+0LPQviDQstGL0LfQvtCy0LAg0L/RgNC4INC60LDRgdCw0L3QuNC4LlxyXG4gLSBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IERhdGUpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INC30L3QsNGH0LXQvdC40Y8g0LTQsNGC0YsuXHJcbiAtIHB1YmxpYyBzZWxlY3REYXkoZGF5OiBudW1iZXIpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0LLRi9Cx0L7RgNCwINC60L7QvdC60YDQtdGC0L3QvtCz0L4g0LTQvdGPINCyINC60LDQu9C10L3QtNCw0YDQtS5cclxuIC0gcHVibGljIHNlbGVjdERhdGUoKTogdm9pZCB7fSAtINC80LXRgtC+0LQg0LTQu9GPINCy0YvQsdC+0YDQsCDQtNCw0YLRiyDQuCDQv9C10YDQtdC00LDRh9C4INC30L3QsNGH0LXQvdC40Y8g0YfQtdGA0LXQtyBwcm9wYWdhdGVDaGFuZ2Ug0LggZW1pdERhdGUuXHJcbiAtIHB1YmxpYyBjaGVja0hpZGVEYXkoZGF5OiBudW1iZXIpOiBib29sZWFuIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0L/RgNC+0LLQtdGA0LrQuCDRgdC60YDRi9GC0LjRjyDQvtC/0YDQtdC00LXQu9C10L3QvdC+0LPQviDQtNC90Y8g0LIg0LrQsNC70LXQvdC00LDRgNC1LlxyXG4gLSBwdWJsaWMgY2Fuc2VsRGF0ZSgpOiB2b2lkIHt9IC0g0LzQtdGC0L7QtCDQtNC70Y8g0L7RgtC80LXQvdGLINCy0YvQsdGA0LDQvdC90L7QuSDQtNCw0YLRiyDQuCDRgdCx0YDQvtGB0LAg0LfQvdCw0YfQtdC90LjQuS5cclxuICoqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1jYWxlbmRhcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBMaWJGaWx0ZXJCdXR0b25Db21wb25lbnQsXHJcbiAgICBMaWJDYXJkQ29tcG9uZW50LFxyXG4gICAgTGliUmFkaW9Db21wb25lbnQsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBMaWJCdXR0b25Db21wb25lbnQsXHJcbiAgICBOZ09wdGltaXplZEltYWdlLFxyXG4gICAgTGliU3ZnSWNvbkNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliQ2FsZW5kYXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYkNhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZScgPSAnc3RyaW5nJztcclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybWF0RGF0ZSA9ICdkZC5NTS55eXl5JztcclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybWF0VGltZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByYW5nZU1vZGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbW9kZTogJ2ljb24nIHwgJ2Z1bGwnID0gJ2Z1bGwnO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZW1pdERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCB1bmRlZmluZWQ+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBlbWl0UGVyaW9kID0gbmV3IEV2ZW50RW1pdHRlcjxJRGF0ZVBlcmlvZCB8IHVuZGVmaW5lZD4oKTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbWF4RGF0ZShkYXRlOiBhbnkpIHtcclxuICAgIGlmIChkYXRlID09PSAnY3VycmVudCcpIHtcclxuICAgICAgdGhpcy5fbWF4RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICB0aGlzLl9tYXhEYXRlID0gZGF0ZTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuX21heERhdGUgPSBwYXJzZShcclxuICAgICAgICBkYXRlLFxyXG4gICAgICAgIGAke3RoaXMuZm9ybWF0RGF0ZX0ke3RoaXMuZm9ybWF0VGltZSA/ICcgJyArIHRoaXMuZm9ybWF0VGltZSA6ICcnfWAsXHJcbiAgICAgICAgbmV3IERhdGUoKSxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtaW5EYXRlKGRhdGU6IGFueSkge1xyXG4gICAgaWYgKGRhdGUgPT09ICdjdXJyZW50Jykge1xyXG4gICAgICB0aGlzLl9taW5EYXRlID0gbmV3IERhdGUoKTtcclxuICAgIH0gZWxzZSBpZiAoZGF0ZSA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMuX21pbkRhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldEZ1bGxZZWFyKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIDEpKTtcclxuICAgIH0gZWxzZSBpZiAoZGF0ZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLl9taW5EYXRlID0gbmV3IERhdGUobmV3IERhdGUoKS5zZXRNb250aChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgLSAxKSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICB0aGlzLl9taW5EYXRlID0gZGF0ZTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuX21pbkRhdGUgPSBwYXJzZShcclxuICAgICAgICBkYXRlLFxyXG4gICAgICAgIGAke3RoaXMuZm9ybWF0RGF0ZX0ke3RoaXMuZm9ybWF0VGltZSA/ICcgJyArIHRoaXMuZm9ybWF0VGltZSA6ICcnfWAsXHJcbiAgICAgICAgbmV3IERhdGUoKSxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21heERhdGU6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfbWluRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgZGF0ZVZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBkYXRlU3RhcnQ6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGRhdGVFbmQ6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIG1vbnRocyA9IE1vbnRocztcclxuICBwdWJsaWMgd2VlayA9IFsn0J/QnScsICfQktCiJywgJ9Ch0KAnLCAn0KfQoicsICfQn9CiJywgJ9Ch0JEnLCAn0JLQoSddO1xyXG4gIHB1YmxpYyB5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xyXG4gIHB1YmxpYyBtb250aCA9IG5ldyBEYXRlKCkuZ2V0TW9udGgoKTtcclxuICBwdWJsaWMgZGF5ID0gbmV3IERhdGUoKS5nZXREYXkoKTtcclxuICBwdWJsaWMgZGF5c0luTW9udGg6IElEYXlzSW5Nb250aCB8IHVuZGVmaW5lZDtcclxuICAvLyBtaW5EYXRlID0gc2V0TWluRGF0ZSgpO1xyXG4gIHB1YmxpYyBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgcHVibGljIGRhdGVOb3cgPSBuZXcgRGF0ZSgpO1xyXG4gIHB1YmxpYyBvblRvdWNoZWRDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzaG93Q2FsZW5kYXI6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZVNlcnZpY2U6IERhdGVTZXJ2aWNlKSB7fVxyXG5cclxuICBwdWJsaWMgcHJvcGFnYXRlQ2hhbmdlKF92YWx1ZTogRGF0ZSB8IElEYXRlUGVyaW9kKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldERheUluTW9udGgoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREYXlJbk1vbnRoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXlzSW5Nb250aCA9IHRoaXMuZGF0ZVNlcnZpY2UuZ2V0RGF5c0luTW9udGgodGhpcy5tb250aCwgdGhpcy55ZWFyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VNb250aChudW1iZXI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgdGVtcCA9IG5ldyBEYXRlKHRoaXMuY3VycmVudERhdGUpO1xyXG4gICAgdGVtcC5zZXRNb250aCh0ZW1wLmdldE1vbnRoKCkgKyBudW1iZXIpO1xyXG4gICAgdGhpcy5tb250aCA9IHRlbXAuZ2V0TW9udGgoKTtcclxuICAgIHRoaXMueWVhciA9IHRlbXAuZ2V0RnVsbFllYXIoKTtcclxuICAgIHRoaXMuY3VycmVudERhdGUgPSB0ZW1wO1xyXG4gICAgdGhpcy5zZXREYXlJbk1vbnRoKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TW9udGgoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnREYXRlICYmICEodGhpcy5kYXRlVmFsdWUgfHwgdGhpcy5kYXRlU3RhcnQpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1vbnRoc1t0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubW9udGhzW3RoaXMubW9udGhdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VNb2RlKSB7XHJcbiAgICAgIHRoaXMuZGF0ZVN0YXJ0ID0gdmFsPy5zdGFydDtcclxuICAgICAgdGhpcy5kYXRlRW5kID0gdmFsPy5lbmQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGVWYWx1ZSA9IHZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGVWYWx1ZSB8fCB0aGlzLmRhdGVTdGFydCkge1xyXG4gICAgICB0aGlzLnNob3dDdXJyZW5TZWxlY3REYXkodGhpcy5kYXRlVmFsdWUgfHwgdGhpcy5kYXRlU3RhcnQhKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dDdXJyZW5TZWxlY3REYXkoZGF0ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXkgPSBkYXRlLmdldERhdGUoKVxyXG4gICAgdGhpcy5tb250aCA9IGRhdGUuZ2V0TW9udGgoKVxyXG4gICAgdGhpcy55ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpXHJcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUodGhpcy5kYXRlVmFsdWUgfHwgdGhpcy5kYXRlU3RhcnQhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3REYXkoZGF5OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jaGVja0hpZGVEYXkoZGF5KSkge1xyXG4gICAgICBpZiAodGhpcy5yYW5nZU1vZGUpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0ZVN0YXJ0KSB7XHJcbiAgICAgICAgICB0aGlzLmRhdGVTdGFydCA9IG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgZGF5KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgZURhdGUgPSBuZXcgRGF0ZSh0aGlzLnllYXIsIHRoaXMubW9udGgsIGRheSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5kYXRlU3RhcnQgPiBlRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGVFbmQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZVN0YXJ0ID0gZURhdGU7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGVFbmQgPSBlRGF0ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnllYXIsIHRoaXMubW9udGgsIGRheSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3REYXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VNb2RlKSB7XHJcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHtzdGFydDogdGhpcy5kYXRlU3RhcnQhLCBlbmQ6IHRoaXMuZGF0ZUVuZCF9KTtcclxuICAgICAgdGhpcy5lbWl0UGVyaW9kLmVtaXQoe3N0YXJ0OiB0aGlzLmRhdGVTdGFydCEsIGVuZDogdGhpcy5kYXRlRW5kIX0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5kYXRlVmFsdWUgYXMgRGF0ZSk7XHJcbiAgICAgIHRoaXMuZW1pdERhdGUuZW1pdCh0aGlzLmRhdGVWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dDYWxlbmRhciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrSGlkZURheShkYXk6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgbGV0IG1vcmVEYXkgPSBmYWxzZTtcclxuICAgICAgbGV0IG1vcmVNb250aCA9IGZhbHNlO1xyXG4gICAgICBsZXQgbW9yZVllYXIgPSBmYWxzZTtcclxuICAgIGNvbnN0IGxlc3NEYXkgPSBmYWxzZTtcclxuICAgICAgY29uc3QgbGVzc01vbnRoID0gZmFsc2U7XHJcbiAgICAgIGNvbnN0IGxlc3NZZWFyID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5fbWF4RGF0ZSkge1xyXG4gICAgICBjb25zdCBbbWF4WWVhciwgbWF4TW9udGgsIG1heERheV0gPSBbXHJcbiAgICAgICAgdGhpcy5fbWF4RGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICAgIHRoaXMuX21heERhdGUuZ2V0TW9udGgoKSxcclxuICAgICAgICB0aGlzLl9tYXhEYXRlLmdldERhdGUoKSxcclxuICAgICAgXTtcclxuICAgICAgbW9yZURheSA9IHRoaXMueWVhciA+PSBtYXhZZWFyICYmIHRoaXMubW9udGggPj0gbWF4TW9udGggJiYgZGF5ID4gbWF4RGF5O1xyXG4gICAgICBtb3JlTW9udGggPSB0aGlzLnllYXIgPj0gbWF4WWVhciAmJiB0aGlzLm1vbnRoID4gbWF4TW9udGg7XHJcbiAgICAgIG1vcmVZZWFyID0gdGhpcy55ZWFyID4gbWF4WWVhcjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9taW5EYXRlKSB7XHJcbiAgICAgIGNvbnN0IFttaW5ZZWFyLCBtaW5Nb250aCwgbWluRGF5XSA9IFtcclxuICAgICAgICB0aGlzLl9taW5EYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgICAgdGhpcy5fbWluRGF0ZS5nZXRNb250aCgpLFxyXG4gICAgICAgIHRoaXMuX21pbkRhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICBdO1xyXG4gICAgICBtb3JlRGF5ID0gdGhpcy55ZWFyIDw9IG1pblllYXIgJiYgdGhpcy5tb250aCA8PSBtaW5Nb250aCAmJiBkYXkgPCBtaW5EYXk7XHJcbiAgICAgIG1vcmVNb250aCA9IHRoaXMueWVhciA8PSBtaW5ZZWFyICYmIHRoaXMubW9udGggPCBtaW5Nb250aDtcclxuICAgICAgbW9yZVllYXIgPSB0aGlzLnllYXIgPCBtaW5ZZWFyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vcmVEYXkgfHwgbW9yZU1vbnRoIHx8IG1vcmVZZWFyIHx8IGxlc3NEYXkgfHwgbGVzc01vbnRoIHx8IGxlc3NZZWFyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbnNlbERhdGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVtaXREYXRlLmVtaXQoKTtcclxuICAgIHRoaXMuZW1pdFBlcmlvZC5lbWl0KCk7XHJcbiAgICB0aGlzLmRhdGVWYWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGF0ZVN0YXJ0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kYXRlRW5kID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93Q2FsZW5kYXIgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNoZWNrQWN0aXZlRGF5KGRheTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5yYW5nZU1vZGUpIHtcclxuICAgICAgY29uc3Qgc0RheSA9IHRoaXMuZGF0ZVN0YXJ0Py5nZXREYXRlKClcclxuICAgICAgY29uc3QgZURheSA9IHRoaXMuZGF0ZUVuZD8uZ2V0RGF0ZSgpXHJcbiAgICAgIGNvbnN0IHNNb250aCA9IHRoaXMuZGF0ZVN0YXJ0Py5nZXRNb250aCgpXHJcbiAgICAgIGNvbnN0IGVNb250aCA9IHRoaXMuZGF0ZUVuZD8uZ2V0TW9udGgoKVxyXG4gICAgICBjb25zdCBzWWVhciA9IHRoaXMuZGF0ZVN0YXJ0Py5nZXRGdWxsWWVhcigpXHJcbiAgICAgIGNvbnN0IGVZZWFyID0gdGhpcy5kYXRlRW5kPy5nZXRGdWxsWWVhcigpXHJcbiAgICAgIGNvbnN0IHN0YXJ0RGF5ID0gc0RheSA9PT0gZGF5ICYmIHNNb250aCA9PT0gdGhpcy5tb250aCAmJiBzWWVhciA9PT0gdGhpcy55ZWFyO1xyXG4gICAgICBjb25zdCBlbmREYXkgPSBlRGF5ID09PSBkYXkgJiYgZU1vbnRoID09PSB0aGlzLm1vbnRoICYmIGVZZWFyID09PSB0aGlzLnllYXI7XHJcbiAgICAgIGlmICh0aGlzLmRhdGVTdGFydCAmJiB0aGlzLmRhdGVFbmQpIHtcclxuICAgICAgICBjb25zdCBjaGVja2VkRGF0ZSA9IG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgZGF5KVxyXG5cclxuICAgICAgICBjb25zdCBhZnRlciA9IGlzQWZ0ZXIodGhpcy5kYXRlRW5kLCBjaGVja2VkRGF0ZSlcclxuICAgICAgICBjb25zdCBiZWZvcmUgPSBpc0JlZm9yZSh0aGlzLmRhdGVTdGFydCwgY2hlY2tlZERhdGUpXHJcbiAgICAgICAgcmV0dXJuIGFmdGVyICYmIGJlZm9yZSB8fCBzdGFydERheSB8fCBlbmREYXk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHN0YXJ0RGF5IHx8IGVuZERheTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVZhbHVlPy5nZXREYXRlKCkgPT09IGRheVxyXG4gICAgICAgICYmIHRoaXMuZGF0ZVZhbHVlPy5nZXRNb250aCgpID09PSB0aGlzLm1vbnRoXHJcbiAgICAgICAgJiYgdGhpcy5kYXRlVmFsdWU/LmdldEZ1bGxZZWFyKCkgPT09IHRoaXMueWVhcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGlmIChtb2RlID09PSAnaWNvbicpIHtcclxuPGRpdiBjbGFzcz1cInBvcy1yZWxhdGl2ZSBkLWZsZXggYWxpZ24tY2VudGVyXCI+XHJcbiAgQGlmIChkYXRlVmFsdWUpIHtcclxuICA8c3BhbiBjbGFzcz1cIm1yLTEyIGdyZWVuXCI+e3sgZGF0ZVZhbHVlIHwgZGF0ZTogJ2RkLk1NLnl5eXknIH19PC9zcGFuPlxyXG4gIH1cclxuICA8ZGQtbGliLXN2Zy1pY29uIGNsYXNzPVwiY3VwXCIgKGNsaWNrKT1cInNob3dDYWxlbmRhciA9ICFzaG93Q2FsZW5kYXJcIiBpY29uPVwiY2FsZW5kYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICBAaWYgKGRhdGVWYWx1ZSkge1xyXG4gICAgPGRkLWxpYi1zdmctaWNvbiBjbGFzcz1cImN1cFwiIChjbGljayk9XCJjYW5zZWxEYXRlKClcIiBpY29uPVwiY2xlYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICB9IEBpZiAoc2hvd0NhbGVuZGFyKSB7XHJcbiAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWFicy13cmFwcGVyXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FsZW5kYXJcIj48L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbn0gQGlmIChtb2RlID09PSAnZnVsbCcpIHtcclxuPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNhbGVuZGFyXCI+PC9uZy10ZW1wbGF0ZT5cclxufVxyXG5cclxuPG5nLXRlbXBsYXRlICNjYWxlbmRhcj5cclxuICA8ZGQtbGliLWNhcmQgY2xhc3M9XCJjYWxlbmRhci1ibG9ja1wiIHR5cGU9XCJzbWFsbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19oZWFkZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19oZWFkZXJfYXJyb3dcIj5cclxuICAgICAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJjaGFuZ2VNb250aCgtMSlcIiBpY29uPVwibGVmdF9jaGV2cm9uXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX2hlYWRlcl95ZWFyXCI+e3sgZ2V0TW9udGgoKSArICcgJyArIHllYXIgfX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19oZWFkZXJfYXJyb3dcIj5cclxuICAgICAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJjaGFuZ2VNb250aCgxKVwiIGljb249XCJyaWdodF9jaGV2cm9uXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX3dlZWtcIj5cclxuICAgICAgQGZvciAoZGF5IG9mIHdlZWs7IHRyYWNrIGRheSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX3dlZWtfZGF5XCI+e3sgZGF5IH19PC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19kYXlzXCI+XHJcbiAgICAgIEBmb3IgKGRheSBvZiBkYXlzSW5Nb250aD8ucHJldkRheXM7IHRyYWNrIGRheSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX2RheXNfZGF5IGhpZGVcIj57eyBkYXkgfX08L2Rpdj5cclxuICAgICAgfSBAZm9yIChkYXkgb2YgZGF5c0luTW9udGg/LmRheXM7IHRyYWNrIGRheSkge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdERheShkYXkpXCJcclxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImNoZWNrQWN0aXZlRGF5KGRheSlcIlxyXG5cclxuICAgICAgICBbY2xhc3MuY3VycmVudF09XCJcclxuICAgICAgICAgIGRhdGVOb3cuZ2V0RGF0ZSgpID09PSBkYXkgJiYgZGF0ZU5vdy5nZXRNb250aCgpID09PSBtb250aCAmJiBkYXRlTm93LmdldEZ1bGxZZWFyKCkgPT09IHllYXJcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtjbGFzcy5oaWRlXT1cImNoZWNrSGlkZURheShkYXkpXCJcclxuICAgICAgICBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19kYXlzX2RheSBub3JtYWxcIj5cclxuICAgICAgICB7eyBkYXkgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGZvciAoZGF5IG9mIGRheXNJbk1vbnRoPy5sYXN0RGF5czsgdHJhY2sgZGF5KSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ibG9ja19fZGF5c19kYXkgaGlkZVwiPnt7IGRheSB9fTwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ibG9ja19fZm9vdGVyXCI+XHJcbiAgICAgIDxkZC1saWItYnV0dG9uIChjbGljayk9XCJjYW5zZWxEYXRlKClcIiBbYnRuQ29sb3JdPVwiJ3RyYW5zcGFyZW50J1wiIGNsYXNzPVwiY2FsZW5kYXItYmxvY2tfX2Zvb3Rlcl9idG5cIlxyXG4gICAgICAgID7QntGC0LzQtdC90LjRgtGMXHJcbiAgICAgIDwvZGQtbGliLWJ1dHRvbj5cclxuICAgICAgPGRkLWxpYi1idXR0b24gKGNsaWNrKT1cInNlbGVjdERhdGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIoIWRhdGVWYWx1ZSAmJiAhcmFuZ2VNb2RlKSB8fCAocmFuZ2VNb2RlICYmICghZGF0ZVN0YXJ0IHx8ICFkYXRlRW5kKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbGVuZGFyLWJsb2NrX19mb290ZXJfYnRuXCJcclxuICAgICAgICA+0JLRi9Cx0YDQsNGC0YxcclxuICAgICAgPC9kZC1saWItYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kZC1saWItY2FyZD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,14 +1,93 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { LibButtonComponent } from '../lib-button/lib-button.component';
3
- import { NgOptimizedImage } from '@angular/common';
3
+ import { NgOptimizedImage, NgStyle } from '@angular/common';
4
4
  import { LibSvgIconComponent } from "../lib-svg-icon/lib-svg-icon.component";
5
+ import { FormsModule } from "@angular/forms";
5
6
  import * as i0 from "@angular/core";
7
+ import * as i1 from "../core";
6
8
  export class LibFileLoaderComponent {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibFileLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LibFileLoaderComponent, isStandalone: true, selector: "dd-lib-file-loader", ngImport: i0, template: "<dd-lib-button btnColor=\"white\">\r\n <div class=\"d-flex align-center\">\r\n <div class=\"mr-8\">\r\n <dd-lib-svg-icon icon=\"paperclip\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"title-soc-btn\">\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B</div>\r\n </div>\r\n</dd-lib-button>\r\n", styles: [""], dependencies: [{ kind: "component", type: LibButtonComponent, selector: "dd-lib-button", inputs: ["noPadding", "loaderColor"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ constructor(toast) {
10
+ this.toast = toast;
11
+ this.multiple = false;
12
+ this.maxFiles = 5;
13
+ this.maxFileSize = 50;
14
+ this.inputFiles = new EventEmitter();
15
+ this.files = [];
16
+ }
17
+ openFileLoader() {
18
+ this.fileLoader.nativeElement.click();
19
+ }
20
+ loadFile($event) {
21
+ const files = $event.target?.files;
22
+ for (let i = 0; i < files.length; i++) {
23
+ let error = false;
24
+ if (!this.validateFileSize(files[i])) {
25
+ this.toast.show({
26
+ type: 'warning',
27
+ title: `Размер файла ${files[i].name} превышает ${this.maxFileSize}Мб!`
28
+ });
29
+ error = true;
30
+ }
31
+ if (!this.validateExtension(files[i]) && this.extensions) {
32
+ this.toast.show({
33
+ type: 'warning',
34
+ title: 'Недопустимый формат файла!'
35
+ });
36
+ error = true;
37
+ }
38
+ if (this.maxFiles && this.maxFiles === this.files.length) {
39
+ this.toast.show({
40
+ type: 'warning',
41
+ title: 'Превышено допустимое колличество файлов'
42
+ });
43
+ error = true;
44
+ this.inputFiles.emit(this.files);
45
+ return;
46
+ }
47
+ if (!error) {
48
+ this.files.push(files[i]);
49
+ }
50
+ }
51
+ this.inputFiles.emit(this.files);
52
+ }
53
+ clear(_file) {
54
+ if (this.multiple) {
55
+ }
56
+ else {
57
+ this.files = [];
58
+ this.fileLoader.nativeElement.value = '';
59
+ this.fileLoader.nativeElement.files = null;
60
+ }
61
+ }
62
+ validateExtension(file) {
63
+ const extension = file.type.split('/')[1];
64
+ return this.extensions?.includes(extension);
65
+ }
66
+ validateFileSize(file) {
67
+ return file.size / 1048576 <= this.maxFileSize;
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibFileLoaderComponent, deps: [{ token: i1.ToastService }], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LibFileLoaderComponent, isStandalone: true, selector: "dd-lib-file-loader", inputs: { multiple: "multiple", maxFiles: "maxFiles", maxFileSize: "maxFileSize", style: "style", extensions: "extensions", disabled: "disabled" }, outputs: { inputFiles: "inputFiles" }, viewQueries: [{ propertyName: "fileLoader", first: true, predicate: ["fileLoader"], descendants: true }], ngImport: i0, template: "<dd-lib-button btnColor=\"white\" [ngStyle]=\"style\" (click)=\"openFileLoader()\">\r\n <div class=\"d-flex align-center\">\r\n <div class=\"mr-8\">\r\n <dd-lib-svg-icon icon=\"paperclip\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"title-soc-btn\">\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B</div>\r\n </div>\r\n</dd-lib-button>\r\n<input type=\"file\"\r\n [multiple]=\"multiple\"\r\n [hidden]=\"true\" #fileLoader\r\n (change)=\"loadFile($event)\">\r\n", styles: [""], dependencies: [{ kind: "component", type: LibButtonComponent, selector: "dd-lib-button", inputs: ["noPadding", "loaderColor"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
71
  }
10
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibFileLoaderComponent, decorators: [{
11
73
  type: Component,
12
- args: [{ selector: 'dd-lib-file-loader', standalone: true, imports: [LibButtonComponent, NgOptimizedImage, LibSvgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dd-lib-button btnColor=\"white\">\r\n <div class=\"d-flex align-center\">\r\n <div class=\"mr-8\">\r\n <dd-lib-svg-icon icon=\"paperclip\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"title-soc-btn\">\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B</div>\r\n </div>\r\n</dd-lib-button>\r\n" }]
13
- }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWZpbGUtbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1maWxlLWxvYWRlci9saWItZmlsZS1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbGUtbG9hZGVyL2xpYi1maWxlLWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDOztBQVUzRSxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQiw4RUNibkMscVZBUUEsMEREQVksa0JBQWtCLGdHQUFvQixtQkFBbUI7OzJGQUt4RCxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLG1CQUduRCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMaWJCdXR0b25Db21wb25lbnR9IGZyb20gJy4uL2xpYi1idXR0b24vbGliLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge05nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1maWxlLWxvYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTGliQnV0dG9uQ29tcG9uZW50LCBOZ09wdGltaXplZEltYWdlLCBMaWJTdmdJY29uQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWZpbGUtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLWZpbGUtbG9hZGVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYkZpbGVMb2FkZXJDb21wb25lbnQge31cclxuIiwiPGRkLWxpYi1idXR0b24gYnRuQ29sb3I9XCJ3aGl0ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24tY2VudGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXItOFwiPlxyXG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJwYXBlcmNsaXBcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpdGxlLXNvYy1idG5cIj7QlNC+0LHQsNCy0LjRgtGMINGE0LDQudC70Ys8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kZC1saWItYnV0dG9uPlxyXG4iXX0=
74
+ args: [{ selector: 'dd-lib-file-loader', standalone: true, imports: [LibButtonComponent, NgOptimizedImage, LibSvgIconComponent, FormsModule, NgStyle], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dd-lib-button btnColor=\"white\" [ngStyle]=\"style\" (click)=\"openFileLoader()\">\r\n <div class=\"d-flex align-center\">\r\n <div class=\"mr-8\">\r\n <dd-lib-svg-icon icon=\"paperclip\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"title-soc-btn\">\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B</div>\r\n </div>\r\n</dd-lib-button>\r\n<input type=\"file\"\r\n [multiple]=\"multiple\"\r\n [hidden]=\"true\" #fileLoader\r\n (change)=\"loadFile($event)\">\r\n" }]
75
+ }], ctorParameters: () => [{ type: i1.ToastService }], propDecorators: { fileLoader: [{
76
+ type: ViewChild,
77
+ args: ['fileLoader']
78
+ }], multiple: [{
79
+ type: Input
80
+ }], maxFiles: [{
81
+ type: Input
82
+ }], maxFileSize: [{
83
+ type: Input
84
+ }], style: [{
85
+ type: Input
86
+ }], extensions: [{
87
+ type: Input
88
+ }], disabled: [{
89
+ type: Input
90
+ }], inputFiles: [{
91
+ type: Output
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWZpbGUtbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1maWxlLWxvYWRlci9saWItZmlsZS1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbGUtbG9hZGVyL2xpYi1maWxlLWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFXM0MsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQyxZQUFvQixLQUFtQjtRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBVHZCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBSWhCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQTtRQUNwRSxVQUFLLEdBQVcsRUFBRSxDQUFDO0lBRzFCLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3ZDLENBQUM7SUFFTSxRQUFRLENBQUMsTUFBYTtRQUMzQixNQUFNLEtBQUssR0FBSSxNQUFNLENBQUMsTUFBMkIsRUFBRSxLQUFNLENBQUM7UUFFMUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN0QyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUE7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDZCxJQUFJLEVBQUUsU0FBUztvQkFDZixLQUFLLEVBQUUsZ0JBQWdCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsSUFBSSxDQUFDLFdBQVcsS0FBSztpQkFDeEUsQ0FBQyxDQUFDO2dCQUNILEtBQUssR0FBRyxJQUFJLENBQUM7WUFDZixDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNkLElBQUksRUFBRSxTQUFTO29CQUNmLEtBQUssRUFBRSw0QkFBNEI7aUJBQ3BDLENBQUMsQ0FBQztnQkFDSCxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2YsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNkLElBQUksRUFBRSxTQUFTO29CQUNmLEtBQUssRUFBRSx5Q0FBeUM7aUJBQ2pELENBQUMsQ0FBQztnQkFDSCxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDaEMsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDM0IsQ0FBQztRQUVILENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFZO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBVTtRQUNsQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNqRCxDQUFDOzhHQXRFVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixtWENmbkMsaWhCQVlBLDBEREZZLGtCQUFrQixnR0FBb0IsbUJBQW1CLHlHQUFFLFdBQVcsK0JBQUUsT0FBTzs7MkZBSzlFLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxtQkFHekUsdUJBQXVCLENBQUMsTUFBTTtpRkFHZixVQUFVO3NCQUF6QyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ1AsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDVyxVQUFVO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TGliQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuLi9saWItYnV0dG9uL2xpYi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtOZ09wdGltaXplZEltYWdlLCBOZ1N0eWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtUb2FzdFNlcnZpY2V9IGZyb20gXCIuLi9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1maWxlLWxvYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTGliQnV0dG9uQ29tcG9uZW50LCBOZ09wdGltaXplZEltYWdlLCBMaWJTdmdJY29uQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgTmdTdHlsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1maWxlLWxvYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1maWxlLWxvYWRlci5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJGaWxlTG9hZGVyQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdmaWxlTG9hZGVyJykgcHVibGljIGZpbGVMb2FkZXIhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XHJcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG1heEZpbGVzID0gNTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4RmlsZVNpemUgPSA1MDtcclxuICBASW5wdXQoKSBzdHlsZTogb2JqZWN0IHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGV4dGVuc2lvbnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaW5wdXRGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdIHwgdW5kZWZpbmVkIHwgbnVsbD4oKVxyXG4gIHB1YmxpYyBmaWxlczogRmlsZVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3Q6IFRvYXN0U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5GaWxlTG9hZGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlTG9hZGVyLm5hdGl2ZUVsZW1lbnQuY2xpY2soKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRGaWxlKCRldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGZpbGVzID0gKCRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LmZpbGVzITtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBlcnJvciA9IGZhbHNlXHJcbiAgICAgIGlmICghdGhpcy52YWxpZGF0ZUZpbGVTaXplKGZpbGVzW2ldKSkge1xyXG4gICAgICAgIHRoaXMudG9hc3Quc2hvdyh7XHJcbiAgICAgICAgICB0eXBlOiAnd2FybmluZycsXHJcbiAgICAgICAgICB0aXRsZTogYNCg0LDQt9C80LXRgCDRhNCw0LnQu9CwICR7ZmlsZXNbaV0ubmFtZX0g0L/RgNC10LLRi9GI0LDQtdGCICR7dGhpcy5tYXhGaWxlU2l6ZX3QnNCxIWBcclxuICAgICAgICB9KTtcclxuICAgICAgICBlcnJvciA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlRXh0ZW5zaW9uKGZpbGVzW2ldKSAmJiB0aGlzLmV4dGVuc2lvbnMpIHtcclxuICAgICAgICB0aGlzLnRvYXN0LnNob3coe1xyXG4gICAgICAgICAgdHlwZTogJ3dhcm5pbmcnLFxyXG4gICAgICAgICAgdGl0bGU6ICfQndC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0YTQvtGA0LzQsNGCINGE0LDQudC70LAhJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGVycm9yID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5tYXhGaWxlcyAmJiB0aGlzLm1heEZpbGVzID09PSB0aGlzLmZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMudG9hc3Quc2hvdyh7XHJcbiAgICAgICAgICB0eXBlOiAnd2FybmluZycsXHJcbiAgICAgICAgICB0aXRsZTogJ9Cf0YDQtdCy0YvRiNC10L3QviDQtNC+0L/Rg9GB0YLQuNC80L7QtSDQutC+0LvQu9C40YfQtdGB0YLQstC+INGE0LDQudC70L7QsidcclxuICAgICAgICB9KTtcclxuICAgICAgICBlcnJvciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pbnB1dEZpbGVzLmVtaXQodGhpcy5maWxlcylcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFlcnJvcikge1xyXG4gICAgICAgIHRoaXMuZmlsZXMucHVzaChmaWxlc1tpXSlcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRGaWxlcy5lbWl0KHRoaXMuZmlsZXMpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXIoX2ZpbGU/OiBGaWxlKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maWxlcyA9IFtdO1xyXG4gICAgICB0aGlzLmZpbGVMb2FkZXIubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICB0aGlzLmZpbGVMb2FkZXIubmF0aXZlRWxlbWVudC5maWxlcyA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlRXh0ZW5zaW9uKGZpbGU6IEZpbGUpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGUudHlwZS5zcGxpdCgnLycpWzFdO1xyXG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5zaW9ucz8uaW5jbHVkZXMoZXh0ZW5zaW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVGaWxlU2l6ZShmaWxlOiBGaWxlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmlsZS5zaXplIC8gMTA0ODU3NiA8PSB0aGlzLm1heEZpbGVTaXplO1xyXG4gIH1cclxufVxyXG4iLCI8ZGQtbGliLWJ1dHRvbiBidG5Db2xvcj1cIndoaXRlXCIgW25nU3R5bGVdPVwic3R5bGVcIiAoY2xpY2spPVwib3BlbkZpbGVMb2FkZXIoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24tY2VudGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXItOFwiPlxyXG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJwYXBlcmNsaXBcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpdGxlLXNvYy1idG5cIj7QlNC+0LHQsNCy0LjRgtGMINGE0LDQudC70Ys8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kZC1saWItYnV0dG9uPlxyXG48aW5wdXQgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICAgICAgIFtoaWRkZW5dPVwidHJ1ZVwiICNmaWxlTG9hZGVyXHJcbiAgICAgICAoY2hhbmdlKT1cImxvYWRGaWxlKCRldmVudClcIj5cclxuIl19
@@ -24,11 +24,11 @@ export class LibFilterButtonComponent extends LibCommonButtonComponent {
24
24
  this.hintEvent.emit();
25
25
  }
26
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibFilterButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibFilterButtonComponent, isStandalone: true, selector: "dd-lib-filter-button", inputs: { btnTitle: "btnTitle", hintContent: "hintContent" }, outputs: { clearEvent: "clearEvent", hintEvent: "hintEvent" }, usesInheritance: true, ngImport: i0, template: "<div (click)=\"onClick($event)\" [class.disabled]=\"disabled\" [ngStyle]=\"{width}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n loader: showLoader,\r\n active: active,\r\n white: btnColor === 'white',\r\n transparent: btnColor === 'transparent',\r\n }\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <div class=\"loader\"></div>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n @if (btnTitle) {\r\n <span class=\"btn-title\">{{ btnTitle }}</span>\r\n }\r\n <span #contentData><ng-content></ng-content></span>\r\n <span class=\"d-flex\">\r\n @if (hintContent) {\r\n <dd-lib-svg-icon (click)=\"hintClick($event)\"\r\n [ddTooltip]=\"hintContent\"\r\n [withClick]=\"true\"\r\n class=\"ml-8\"\r\n icon=\"question{{ active ? '-white-g' : '' }}\"></dd-lib-svg-icon>\r\n }\r\n @if (active) {\r\n <dd-lib-svg-icon (click)=\"onClear($event)\" color=\"white\" icon=\"close\" class=\"ml-8 cup\"></dd-lib-svg-icon>\r\n }\r\n <dd-lib-svg-icon icon=\"toggle_arrow_right\" class=\"arrow show-tablet ml-12\"></dd-lib-svg-icon>\r\n </span>\r\n</ng-template>\r\n", styles: [":host{display:block}.button-container{display:inline-block}@media screen and (max-width: 840px){.button-container{display:block}}.button-container button{display:flex;align-items:center;justify-content:center;height:40px;font-size:14px;line-height:24px;outline:none;cursor:pointer;white-space:nowrap;color:var(--black-color);background-color:var(--btn-white-bgc);border:1px solid var(--gray-color-200);border-radius:24px;padding:8px 16px;font-weight:var(--font-wheit-small)}@media screen and (max-width: 840px){.button-container button{width:100%;justify-content:space-between;border-top-color:transparent;border-left:none;border-right:none;border-radius:0;padding:35px 0;font-size:16px;font-weight:500}}.button-container button:hover{color:var(--btn-white-hover-color)}.button-container button.loader{min-width:100px}.button-container button.transparent{background-color:transparent}.button-container button.active{color:var(--white-color);background-color:var(--primary-green-color)}.button-container button.active:hover{background-color:var(--btn-green-hover)}.button-container button.disabled{color:var(--disabled-color);background-color:var(--btn-disabled-bgc);pointer-events:none;cursor:default}.button-container button .loader{width:24px;height:24px;background:url('data:image/svg+xml,<svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A <path%0D%0A d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\"%0D%0A stroke=\"%23306030E8\" stroke-width=\"4\"/>%0D%0A <mask height=\"24\" id=\"mask0\" mask-type=\"alpha\" maskUnits=\"userSpaceOnUse\" width=\"24\" x=\"0\" y=\"0\">%0D%0A <path%0D%0A d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\"%0D%0A stroke=\"%23FAFCFF\" stroke-width=\"4\"/>%0D%0A </mask>%0D%0A <g mask=\"url(%23mask0)\">%0D%0A <path d=\"M24.5621 -0.445973L12.0781 -0.00292969L12.9376 24.2163L25.4216 23.7733L24.5621 -0.445973Z\" fill=\"white\"/>%0D%0A <path%0D%0A d=\"M12.2578 4C13.3624 4 14.2578 3.10457 14.2578 2C14.2578 0.89543 13.3624 0 12.2578 0C11.1532 0 10.2578 0.89543 10.2578 2C10.2578 3.10457 11.1532 4 12.2578 4Z\"%0D%0A fill=\"white\"/>%0D%0A <path%0D%0A d=\"M12.916 23.9609C14.0206 23.9609 14.916 23.0655 14.916 21.9609C14.916 20.8564 14.0206 19.9609 12.916 19.9609C11.8114 19.9609 10.916 20.8564 10.916 21.9609C10.916 23.0655 11.8114 23.9609 12.916 23.9609Z\"%0D%0A fill=\"white\"/>%0D%0A </g>%0D%0A</svg>%0D%0A') center no-repeat;animation:rotate 1.5s linear infinite}.button-container button .arrow::ng-deep svg path{stroke:var(--menu-arr-color)}@keyframes rotate{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: TooltipDirective, selector: "[ddTooltip]", inputs: ["ddTooltip", "withClick"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibFilterButtonComponent, isStandalone: true, selector: "dd-lib-filter-button", inputs: { btnTitle: "btnTitle", hintContent: "hintContent" }, outputs: { clearEvent: "clearEvent", hintEvent: "hintEvent" }, usesInheritance: true, ngImport: i0, template: "<div (click)=\"onClick($event)\" [class.disabled]=\"disabled\" [ngStyle]=\"{width}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n loader: showLoader,\r\n active: active,\r\n white: btnColor === 'white',\r\n transparent: btnColor === 'transparent',\r\n }\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <div class=\"loader\"></div>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n @if (btnTitle) {\r\n <span class=\"btn-title\">{{ btnTitle }}</span>\r\n }\r\n <span #contentData><ng-content></ng-content></span>\r\n <span class=\"d-flex\">\r\n @if (hintContent) {\r\n <dd-lib-svg-icon (click)=\"hintClick($event)\"\r\n [ddTooltip]=\"hintContent\"\r\n [withClick]=\"true\"\r\n class=\"ml-8\"\r\n icon=\"question{{ active ? '-white-g' : '' }}\"></dd-lib-svg-icon>\r\n }\r\n @if (active) {\r\n <dd-lib-svg-icon (click)=\"onClear($event)\" color=\"white\" icon=\"close\" class=\"ml-8 cup\"></dd-lib-svg-icon>\r\n }\r\n <dd-lib-svg-icon icon=\"toggle_arrow_right\" class=\"arrow show-tablet ml-12\"></dd-lib-svg-icon>\r\n </span>\r\n</ng-template>\r\n", styles: [":host{display:block}.button-container{display:inline-block}@media screen and (max-width: 840px){.button-container{display:block}}.button-container button{display:flex;align-items:center;justify-content:center;height:40px;font-size:14px;line-height:24px;outline:none;cursor:pointer;white-space:nowrap;color:var(--black-color);background-color:var(--btn-white-bgc);border:1px solid var(--gray-color-200);border-radius:24px;padding:8px 16px;font-weight:var(--font-wheit-small)}@media screen and (max-width: 840px){.button-container button{width:100%;justify-content:space-between;border-top-color:transparent;border-left:none;border-right:none;border-radius:0;padding:35px 0;font-size:16px;font-weight:500}}.button-container button:hover{color:var(--btn-white-hover-color)}.button-container button.loader{min-width:100px}.button-container button.transparent{background-color:transparent}.button-container button.active{color:#fff;background-color:var(--primary-green-color)}.button-container button.active:hover{background-color:var(--btn-green-hover)}.button-container button.disabled{color:var(--disabled-color);background-color:var(--btn-disabled-bgc);pointer-events:none;cursor:default}@media screen and (max-width: 840px){.button-container button.disabled{background-color:transparent}}.button-container button .loader{width:24px;height:24px;background:url('data:image/svg+xml,<svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A <path%0D%0A d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\"%0D%0A stroke=\"%23306030E8\" stroke-width=\"4\"/>%0D%0A <mask height=\"24\" id=\"mask0\" mask-type=\"alpha\" maskUnits=\"userSpaceOnUse\" width=\"24\" x=\"0\" y=\"0\">%0D%0A <path%0D%0A d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\"%0D%0A stroke=\"%23FAFCFF\" stroke-width=\"4\"/>%0D%0A </mask>%0D%0A <g mask=\"url(%23mask0)\">%0D%0A <path d=\"M24.5621 -0.445973L12.0781 -0.00292969L12.9376 24.2163L25.4216 23.7733L24.5621 -0.445973Z\" fill=\"white\"/>%0D%0A <path%0D%0A d=\"M12.2578 4C13.3624 4 14.2578 3.10457 14.2578 2C14.2578 0.89543 13.3624 0 12.2578 0C11.1532 0 10.2578 0.89543 10.2578 2C10.2578 3.10457 11.1532 4 12.2578 4Z\"%0D%0A fill=\"white\"/>%0D%0A <path%0D%0A d=\"M12.916 23.9609C14.0206 23.9609 14.916 23.0655 14.916 21.9609C14.916 20.8564 14.0206 19.9609 12.916 19.9609C11.8114 19.9609 10.916 20.8564 10.916 21.9609C10.916 23.0655 11.8114 23.9609 12.916 23.9609Z\"%0D%0A fill=\"white\"/>%0D%0A </g>%0D%0A</svg>%0D%0A') center no-repeat;animation:rotate 1.5s linear infinite}.button-container button .arrow::ng-deep svg path{stroke:var(--menu-arr-color)}@keyframes rotate{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: TooltipDirective, selector: "[ddTooltip]", inputs: ["ddTooltip", "withClick"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
28
  }
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibFilterButtonComponent, decorators: [{
30
30
  type: Component,
31
- args: [{ selector: 'dd-lib-filter-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, NgOptimizedImage, TooltipDirective, LibSvgIconComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], template: "<div (click)=\"onClick($event)\" [class.disabled]=\"disabled\" [ngStyle]=\"{width}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n loader: showLoader,\r\n active: active,\r\n white: btnColor === 'white',\r\n transparent: btnColor === 'transparent',\r\n }\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <div class=\"loader\"></div>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n @if (btnTitle) {\r\n <span class=\"btn-title\">{{ btnTitle }}</span>\r\n }\r\n <span #contentData><ng-content></ng-content></span>\r\n <span class=\"d-flex\">\r\n @if (hintContent) {\r\n <dd-lib-svg-icon (click)=\"hintClick($event)\"\r\n [ddTooltip]=\"hintContent\"\r\n [withClick]=\"true\"\r\n class=\"ml-8\"\r\n icon=\"question{{ active ? '-white-g' : '' }}\"></dd-lib-svg-icon>\r\n }\r\n @if (active) {\r\n <dd-lib-svg-icon (click)=\"onClear($event)\" color=\"white\" icon=\"close\" class=\"ml-8 cup\"></dd-lib-svg-icon>\r\n }\r\n <dd-lib-svg-icon icon=\"toggle_arrow_right\" class=\"arrow show-tablet ml-12\"></dd-lib-svg-icon>\r\n </span>\r\n</ng-template>\r\n", styles: [":host{display:block}.button-container{display:inline-block}@media screen and (max-width: 840px){.button-container{display:block}}.button-container button{display:flex;align-items:center;justify-content:center;height:40px;font-size:14px;line-height:24px;outline:none;cursor:pointer;white-space:nowrap;color:var(--black-color);background-color:var(--btn-white-bgc);border:1px solid var(--gray-color-200);border-radius:24px;padding:8px 16px;font-weight:var(--font-wheit-small)}@media screen and (max-width: 840px){.button-container button{width:100%;justify-content:space-between;border-top-color:transparent;border-left:none;border-right:none;border-radius:0;padding:35px 0;font-size:16px;font-weight:500}}.button-container button:hover{color:var(--btn-white-hover-color)}.button-container button.loader{min-width:100px}.button-container button.transparent{background-color:transparent}.button-container button.active{color:var(--white-color);background-color:var(--primary-green-color)}.button-container button.active:hover{background-color:var(--btn-green-hover)}.button-container button.disabled{color:var(--disabled-color);background-color:var(--btn-disabled-bgc);pointer-events:none;cursor:default}.button-container button .loader{width:24px;height:24px;background:url('data:image/svg+xml,<svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A <path%0D%0A d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\"%0D%0A stroke=\"%23306030E8\" stroke-width=\"4\"/>%0D%0A <mask height=\"24\" id=\"mask0\" mask-type=\"alpha\" maskUnits=\"userSpaceOnUse\" width=\"24\" x=\"0\" y=\"0\">%0D%0A <path%0D%0A d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\"%0D%0A stroke=\"%23FAFCFF\" stroke-width=\"4\"/>%0D%0A </mask>%0D%0A <g mask=\"url(%23mask0)\">%0D%0A <path d=\"M24.5621 -0.445973L12.0781 -0.00292969L12.9376 24.2163L25.4216 23.7733L24.5621 -0.445973Z\" fill=\"white\"/>%0D%0A <path%0D%0A d=\"M12.2578 4C13.3624 4 14.2578 3.10457 14.2578 2C14.2578 0.89543 13.3624 0 12.2578 0C11.1532 0 10.2578 0.89543 10.2578 2C10.2578 3.10457 11.1532 4 12.2578 4Z\"%0D%0A fill=\"white\"/>%0D%0A <path%0D%0A d=\"M12.916 23.9609C14.0206 23.9609 14.916 23.0655 14.916 21.9609C14.916 20.8564 14.0206 19.9609 12.916 19.9609C11.8114 19.9609 10.916 20.8564 10.916 21.9609C10.916 23.0655 11.8114 23.9609 12.916 23.9609Z\"%0D%0A fill=\"white\"/>%0D%0A </g>%0D%0A</svg>%0D%0A') center no-repeat;animation:rotate 1.5s linear infinite}.button-container button .arrow::ng-deep svg path{stroke:var(--menu-arr-color)}@keyframes rotate{to{transform:rotate(360deg)}}\n"] }]
31
+ args: [{ selector: 'dd-lib-filter-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, NgOptimizedImage, TooltipDirective, LibSvgIconComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], template: "<div (click)=\"onClick($event)\" [class.disabled]=\"disabled\" [ngStyle]=\"{width}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n loader: showLoader,\r\n active: active,\r\n white: btnColor === 'white',\r\n transparent: btnColor === 'transparent',\r\n }\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <div class=\"loader\"></div>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n @if (btnTitle) {\r\n <span class=\"btn-title\">{{ btnTitle }}</span>\r\n }\r\n <span #contentData><ng-content></ng-content></span>\r\n <span class=\"d-flex\">\r\n @if (hintContent) {\r\n <dd-lib-svg-icon (click)=\"hintClick($event)\"\r\n [ddTooltip]=\"hintContent\"\r\n [withClick]=\"true\"\r\n class=\"ml-8\"\r\n icon=\"question{{ active ? '-white-g' : '' }}\"></dd-lib-svg-icon>\r\n }\r\n @if (active) {\r\n <dd-lib-svg-icon (click)=\"onClear($event)\" color=\"white\" icon=\"close\" class=\"ml-8 cup\"></dd-lib-svg-icon>\r\n }\r\n <dd-lib-svg-icon icon=\"toggle_arrow_right\" class=\"arrow show-tablet ml-12\"></dd-lib-svg-icon>\r\n </span>\r\n</ng-template>\r\n", styles: [":host{display:block}.button-container{display:inline-block}@media screen and (max-width: 840px){.button-container{display:block}}.button-container button{display:flex;align-items:center;justify-content:center;height:40px;font-size:14px;line-height:24px;outline:none;cursor:pointer;white-space:nowrap;color:var(--black-color);background-color:var(--btn-white-bgc);border:1px solid var(--gray-color-200);border-radius:24px;padding:8px 16px;font-weight:var(--font-wheit-small)}@media screen and (max-width: 840px){.button-container button{width:100%;justify-content:space-between;border-top-color:transparent;border-left:none;border-right:none;border-radius:0;padding:35px 0;font-size:16px;font-weight:500}}.button-container button:hover{color:var(--btn-white-hover-color)}.button-container button.loader{min-width:100px}.button-container button.transparent{background-color:transparent}.button-container button.active{color:#fff;background-color:var(--primary-green-color)}.button-container button.active:hover{background-color:var(--btn-green-hover)}.button-container button.disabled{color:var(--disabled-color);background-color:var(--btn-disabled-bgc);pointer-events:none;cursor:default}@media screen and (max-width: 840px){.button-container button.disabled{background-color:transparent}}.button-container button .loader{width:24px;height:24px;background:url('data:image/svg+xml,<svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A <path%0D%0A d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\"%0D%0A stroke=\"%23306030E8\" stroke-width=\"4\"/>%0D%0A <mask height=\"24\" id=\"mask0\" mask-type=\"alpha\" maskUnits=\"userSpaceOnUse\" width=\"24\" x=\"0\" y=\"0\">%0D%0A <path%0D%0A d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\"%0D%0A stroke=\"%23FAFCFF\" stroke-width=\"4\"/>%0D%0A </mask>%0D%0A <g mask=\"url(%23mask0)\">%0D%0A <path d=\"M24.5621 -0.445973L12.0781 -0.00292969L12.9376 24.2163L25.4216 23.7733L24.5621 -0.445973Z\" fill=\"white\"/>%0D%0A <path%0D%0A d=\"M12.2578 4C13.3624 4 14.2578 3.10457 14.2578 2C14.2578 0.89543 13.3624 0 12.2578 0C11.1532 0 10.2578 0.89543 10.2578 2C10.2578 3.10457 11.1532 4 12.2578 4Z\"%0D%0A fill=\"white\"/>%0D%0A <path%0D%0A d=\"M12.916 23.9609C14.0206 23.9609 14.916 23.0655 14.916 21.9609C14.916 20.8564 14.0206 19.9609 12.916 19.9609C11.8114 19.9609 10.916 20.8564 10.916 21.9609C10.916 23.0655 11.8114 23.9609 12.916 23.9609Z\"%0D%0A fill=\"white\"/>%0D%0A </g>%0D%0A</svg>%0D%0A') center no-repeat;animation:rotate 1.5s linear infinite}.button-container button .arrow::ng-deep svg path{stroke:var(--menu-arr-color)}@keyframes rotate{to{transform:rotate(360deg)}}\n"] }]
32
32
  }], propDecorators: { btnTitle: [{
33
33
  type: Input
34
34
  }], clearEvent: [{
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
38
38
  }], hintContent: [{
39
39
  type: Input
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbHRlci1idXR0b24vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbHRlci1idXR0b24vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBVzNFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx3QkFBd0I7SUFUdEU7O1FBV21CLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBZXZEO0lBWlEsT0FBTyxDQUFDLE1BQWtCO1FBQy9CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWtCO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQWpCVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixvT0N4QnJDLDYvQ0EyQ0EscXhGRHRCWSxZQUFZLHdYQUFFLFdBQVcsK0JBQW9CLGdCQUFnQiw0RkFBRSxtQkFBbUI7OzJGQUdqRix3QkFBd0I7a0JBVHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsV0FDcEYsQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFHbkMsUUFBUTtzQkFBdkIsS0FBSztnQkFDVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1MsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE5PX0VSUk9SU19TQ0hFTUEsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25CdXR0b25Db21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWJ1dHRvbic7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtUb29sdGlwRGF0YSwgVG9vbHRpcERpcmVjdGl2ZX0gZnJvbSBcIi4uL2NvcmVcIjtcclxuaW1wb3J0IHtMaWJTdmdJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLXN2Zy1pY29uL2xpYi1zdmctaWNvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLWZpbHRlci1idXR0b24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBUb29sdGlwRGlyZWN0aXZlLCBMaWJTdmdJY29uQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJGaWx0ZXJCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBMaWJDb21tb25CdXR0b25Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBidG5UaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGhpbnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcclxuICBASW5wdXQoKSBwdWJsaWMgaGludENvbnRlbnQ6IFRvb2x0aXBEYXRhIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgb25DbGVhcigkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xlYXJFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGludENsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmhpbnRFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtuZ1N0eWxlXT1cInt3aWR0aH1cIiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cclxuICA8YnV0dG9uXHJcbiAgICAjYnRuXHJcbiAgICBbYXR0ci50YWJJbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXHJcbiAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgIGxvYWRlcjogc2hvd0xvYWRlcixcclxuICAgICAgYWN0aXZlOiBhY3RpdmUsXHJcbiAgICAgIHdoaXRlOiBidG5Db2xvciA9PT0gJ3doaXRlJyxcclxuICAgICAgdHJhbnNwYXJlbnQ6IGJ0bkNvbG9yID09PSAndHJhbnNwYXJlbnQnLFxyXG4gICAgfVwiXHJcbiAgICBbdHlwZV09XCJidXR0b25UeXBlXCJcclxuICAgIGNsYXNzPVwiXCJcclxuICAgIHJvbGU9XCJidXR0b25cIj5cclxuICAgIEBpZiAoIXNob3dMb2FkZXIpIHtcclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIH0gQGlmIChzaG93TG9hZGVyKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGVyXCI+PC9kaXY+XHJcbiAgfVxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cclxuICBAaWYgKGJ0blRpdGxlKSB7XHJcbiAgPHNwYW4gY2xhc3M9XCJidG4tdGl0bGVcIj57eyBidG5UaXRsZSB9fTwvc3Bhbj5cclxuICB9XHJcbiAgPHNwYW4gI2NvbnRlbnREYXRhPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XHJcbiAgPHNwYW4gY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgIEBpZiAoaGludENvbnRlbnQpIHtcclxuICAgICAgPGRkLWxpYi1zdmctaWNvbiAoY2xpY2spPVwiaGludENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkZFRvb2x0aXBdPVwiaGludENvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt3aXRoQ2xpY2tdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC04XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicXVlc3Rpb257eyBhY3RpdmUgPyAnLXdoaXRlLWcnIDogJycgfX1cIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIH1cclxuICAgIEBpZiAoYWN0aXZlKSB7XHJcbiAgICAgIDxkZC1saWItc3ZnLWljb24gKGNsaWNrKT1cIm9uQ2xlYXIoJGV2ZW50KVwiIGNvbG9yPVwid2hpdGVcIiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cIm1sLTggY3VwXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJ0b2dnbGVfYXJyb3dfcmlnaHRcIiBjbGFzcz1cImFycm93IHNob3ctdGFibGV0IG1sLTEyXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbHRlci1idXR0b24vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbHRlci1idXR0b24vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBVzNFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx3QkFBd0I7SUFUdEU7O1FBV21CLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBZXZEO0lBWlEsT0FBTyxDQUFDLE1BQWtCO1FBQy9CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWtCO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQWpCVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixvT0N4QnJDLDYvQ0EyQ0EsNDJGRHRCWSxZQUFZLHdYQUFFLFdBQVcsK0JBQW9CLGdCQUFnQiw0RkFBRSxtQkFBbUI7OzJGQUdqRix3QkFBd0I7a0JBVHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsV0FDcEYsQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFHbkMsUUFBUTtzQkFBdkIsS0FBSztnQkFDVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1MsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE5PX0VSUk9SU19TQ0hFTUEsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25CdXR0b25Db21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWJ1dHRvbic7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtUb29sdGlwRGF0YSwgVG9vbHRpcERpcmVjdGl2ZX0gZnJvbSBcIi4uL2NvcmVcIjtcclxuaW1wb3J0IHtMaWJTdmdJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLXN2Zy1pY29uL2xpYi1zdmctaWNvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLWZpbHRlci1idXR0b24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBUb29sdGlwRGlyZWN0aXZlLCBMaWJTdmdJY29uQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJGaWx0ZXJCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBMaWJDb21tb25CdXR0b25Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBidG5UaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGhpbnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcclxuICBASW5wdXQoKSBwdWJsaWMgaGludENvbnRlbnQ6IFRvb2x0aXBEYXRhIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgb25DbGVhcigkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xlYXJFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGludENsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmhpbnRFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtuZ1N0eWxlXT1cInt3aWR0aH1cIiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cclxuICA8YnV0dG9uXHJcbiAgICAjYnRuXHJcbiAgICBbYXR0ci50YWJJbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXHJcbiAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgIGxvYWRlcjogc2hvd0xvYWRlcixcclxuICAgICAgYWN0aXZlOiBhY3RpdmUsXHJcbiAgICAgIHdoaXRlOiBidG5Db2xvciA9PT0gJ3doaXRlJyxcclxuICAgICAgdHJhbnNwYXJlbnQ6IGJ0bkNvbG9yID09PSAndHJhbnNwYXJlbnQnLFxyXG4gICAgfVwiXHJcbiAgICBbdHlwZV09XCJidXR0b25UeXBlXCJcclxuICAgIGNsYXNzPVwiXCJcclxuICAgIHJvbGU9XCJidXR0b25cIj5cclxuICAgIEBpZiAoIXNob3dMb2FkZXIpIHtcclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIH0gQGlmIChzaG93TG9hZGVyKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGVyXCI+PC9kaXY+XHJcbiAgfVxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cclxuICBAaWYgKGJ0blRpdGxlKSB7XHJcbiAgPHNwYW4gY2xhc3M9XCJidG4tdGl0bGVcIj57eyBidG5UaXRsZSB9fTwvc3Bhbj5cclxuICB9XHJcbiAgPHNwYW4gI2NvbnRlbnREYXRhPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XHJcbiAgPHNwYW4gY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgIEBpZiAoaGludENvbnRlbnQpIHtcclxuICAgICAgPGRkLWxpYi1zdmctaWNvbiAoY2xpY2spPVwiaGludENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkZFRvb2x0aXBdPVwiaGludENvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt3aXRoQ2xpY2tdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC04XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicXVlc3Rpb257eyBhY3RpdmUgPyAnLXdoaXRlLWcnIDogJycgfX1cIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIH1cclxuICAgIEBpZiAoYWN0aXZlKSB7XHJcbiAgICAgIDxkZC1saWItc3ZnLWljb24gKGNsaWNrKT1cIm9uQ2xlYXIoJGV2ZW50KVwiIGNvbG9yPVwid2hpdGVcIiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cIm1sLTggY3VwXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJ0b2dnbGVfYXJyb3dfcmlnaHRcIiBjbGFzcz1cImFycm93IHNob3ctdGFibGV0IG1sLTEyXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=