@morozeckiy/dd-lib 0.2.38 → 0.2.70

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 (46) hide show
  1. package/assets/images/svg/preset.svg +11 -0
  2. package/assets/scss/common.scss +14 -20
  3. package/assets/scss/titles.scss +20 -0
  4. package/assets/scss/vars-dark.scss +3 -2
  5. package/assets/scss/vars-light.scss +1 -0
  6. package/esm2022/lib/common/lib-common-input-text.mjs +7 -2
  7. package/esm2022/lib/core/services/fetcher.service.mjs +2 -2
  8. package/esm2022/lib/core/services/interceptors.service.mjs +1 -1
  9. package/esm2022/lib/core/toast/toast/toast.component.mjs +14 -7
  10. package/esm2022/lib/core/toast/toast.service.mjs +1 -1
  11. package/esm2022/lib/lib-button/lib-button.component.mjs +3 -3
  12. package/esm2022/lib/lib-calendar/lib-calendar.component.mjs +3 -3
  13. package/esm2022/lib/lib-file-loader/lib-file-loader.component.mjs +86 -7
  14. package/esm2022/lib/lib-filter-button/lib-filter-button.component.mjs +3 -3
  15. package/esm2022/lib/lib-input/lib-input.component.mjs +3 -3
  16. package/esm2022/lib/lib-radio/lib-radio.component.mjs +3 -3
  17. package/esm2022/lib/lib-search-input/lib-search-input.component.mjs +3 -5
  18. package/esm2022/lib/lib-select/lib-select.component.mjs +73 -22
  19. package/esm2022/lib/lib-sort/lib-sort.component.mjs +3 -3
  20. package/esm2022/lib/lib-tabs-fragment/lib-tabs-fragment.component.mjs +9 -5
  21. package/esm2022/lib/svg-icons/svg-icon.model.mjs +6 -1
  22. package/fesm2022/morozeckiy-dd-lib.mjs +202 -54
  23. package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -1
  24. package/lib/common/lib-common-input-text.d.ts +3 -1
  25. package/lib/core/services/fetcher.service.d.ts +1 -1
  26. package/lib/core/services/validators.service.d.ts +2 -2
  27. package/lib/core/toast/toast/toast.component.d.ts +4 -3
  28. package/lib/core/toast/toast.service.d.ts +2 -2
  29. package/lib/lib-file-loader/lib-file-loader.component.d.ts +19 -1
  30. package/lib/lib-search-input/lib-search-input.component.d.ts +1 -2
  31. package/lib/lib-select/lib-select.component.d.ts +6 -5
  32. package/lib/lib-tabs-fragment/lib-tabs-fragment.component.d.ts +2 -1
  33. package/lib/svg-icons/svg-icon.model.d.ts +8 -1
  34. package/morozeckiy-dd-lib-0.2.70.tgz +0 -0
  35. package/package.json +1 -1
  36. package/esm2022/lib/core/toast/toast-base/toast-base.component.mjs +0 -48
  37. package/esm2022/lib/core/toast/toast-placeholder/toast-placeholder.component.mjs +0 -29
  38. package/lib/core/toast/toast-base/toast-base.component.d.ts +0 -27
  39. package/lib/core/toast/toast-placeholder/toast-placeholder.component.d.ts +0 -12
  40. package/morozeckiy-dd-lib-0.2.32.tgz +0 -0
  41. package/morozeckiy-dd-lib-0.2.33.tgz +0 -0
  42. package/morozeckiy-dd-lib-0.2.34.tgz +0 -0
  43. package/morozeckiy-dd-lib-0.2.35.tgz +0 -0
  44. package/morozeckiy-dd-lib-0.2.36.tgz +0 -0
  45. package/morozeckiy-dd-lib-0.2.37.tgz +0 -0
  46. package/morozeckiy-dd-lib-0.2.38.tgz +0 -0
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWZpbGUtbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1maWxlLWxvYWRlci9saWItZmlsZS1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbGUtbG9hZGVyL2xpYi1maWxlLWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFXM0MsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQyxZQUFvQixLQUFtQjtRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBVHZCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBSWhCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQTtRQUNwRSxVQUFLLEdBQVcsRUFBRSxDQUFDO0lBRzFCLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3ZDLENBQUM7SUFFTSxRQUFRLENBQUMsTUFBYTtRQUMzQixNQUFNLEtBQUssR0FBSSxNQUFNLENBQUMs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QUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxtQkFHekUsdUJBQXVCLENBQUMsTUFBTTtpRkFHZixVQUFVO3NCQUF6QyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ1AsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDVyxVQUFVO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TGliQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuLi9saWItYnV0dG9uL2xpYi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtOZ09wdGltaXplZEltYWdlLCBOZ1N0eWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtUb2FzdFNlcnZpY2V9IGZyb20gXCIuLi9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1maWxlLWxvYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTGliQnV0dG9uQ29tcG9uZW50LCBOZ09wdGltaXplZEltYWdlLCBMaWJTdmdJY29uQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgTmdTdHlsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1maWxlLWxvYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1maWxlLWxvYWRlci5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJGaWxlTG9hZGVyQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdmaWxlTG9hZGVyJykgcHVibGljIGZpbGVMb2FkZXIhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+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: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}@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: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}@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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbHRlci1idXR0b24vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWZpbHRlci1idXR0b24vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBVzNFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx3QkFBd0I7SUFUdEU7O1FBV21CLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBZXZEO0lBWlEsT0FBTyxDQUFDLE1BQWtCO1FBQy9CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWtCO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQWpCVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixvT0N4QnJDLDYvQ0EyQ0EsMDNGRHRCWSxZQUFZLHdYQUFFLFdBQVcsK0JBQW9CLGdCQUFnQiw0RkFBRSxtQkFBbUI7OzJGQUdqRix3QkFBd0I7a0JBVHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsV0FDcEYsQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFHbkMsUUFBUTtzQkFBdkIsS0FBSztnQkFDVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1MsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE5PX0VSUk9SU19TQ0hFTUEsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25CdXR0b25Db21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWJ1dHRvbic7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtUb29sdGlwRGF0YSwgVG9vbHRpcERpcmVjdGl2ZX0gZnJvbSBcIi4uL2NvcmVcIjtcclxuaW1wb3J0IHtMaWJTdmdJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLXN2Zy1pY29uL2xpYi1zdmctaWNvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLWZpbHRlci1idXR0b24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBUb29sdGlwRGlyZWN0aXZlLCBMaWJTdmdJY29uQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJGaWx0ZXJCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBMaWJDb21tb25CdXR0b25Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBidG5UaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGhpbnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcclxuICBASW5wdXQoKSBwdWJsaWMgaGludENvbnRlbnQ6IFRvb2x0aXBEYXRhIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgb25DbGVhcigkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xlYXJFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGludENsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmhpbnRFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtuZ1N0eWxlXT1cInt3aWR0aH1cIiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cclxuICA8YnV0dG9uXHJcbiAgICAjYnRuXHJcbiAgICBbYXR0ci50YWJJbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXHJcbiAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgIGxvYWRlcjogc2hvd0xvYWRlcixcclxuICAgICAgYWN0aXZlOiBhY3RpdmUsXHJcbiAgICAgIHdoaXRlOiBidG5Db2xvciA9PT0gJ3doaXRlJyxcclxuICAgICAgdHJhbnNwYXJlbnQ6IGJ0bkNvbG9yID09PSAndHJhbnNwYXJlbnQnLFxyXG4gICAgfVwiXHJcbiAgICBbdHlwZV09XCJidXR0b25UeXBlXCJcclxuICAgIGNsYXNzPVwiXCJcclxuICAgIHJvbGU9XCJidXR0b25cIj5cclxuICAgIEBpZiAoIXNob3dMb2FkZXIpIHtcclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIH0gQGlmIChzaG93TG9hZGVyKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGVyXCI+PC9kaXY+XHJcbiAgfVxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cclxuICBAaWYgKGJ0blRpdGxlKSB7XHJcbiAgPHNwYW4gY2xhc3M9XCJidG4tdGl0bGVcIj57eyBidG5UaXRsZSB9fTwvc3Bhbj5cclxuICB9XHJcbiAgPHNwYW4gI2NvbnRlbnREYXRhPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XHJcbiAgPHNwYW4gY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgIEBpZiAoaGludENvbnRlbnQpIHtcclxuICAgICAgPGRkLWxpYi1zdmctaWNvbiAoY2xpY2spPVwiaGludENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkZFRvb2x0aXBdPVwiaGludENvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt3aXRoQ2xpY2tdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC04XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicXVlc3Rpb257eyBhY3RpdmUgPyAnLXdoaXRlLWcnIDogJycgfX1cIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIH1cclxuICAgIEBpZiAoYWN0aXZlKSB7XHJcbiAgICAgIDxkZC1saWItc3ZnLWljb24gKGNsaWNrKT1cIm9uQ2xlYXIoJGV2ZW50KVwiIGNvbG9yPVwid2hpdGVcIiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cIm1sLTggY3VwXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJ0b2dnbGVfYXJyb3dfcmlnaHRcIiBjbGFzcz1cImFycm93IHNob3ctdGFibGV0IG1sLTEyXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -34,7 +34,7 @@ export class LibInputComponent extends LibCommonInputTextComponent {
34
34
  useExisting: forwardRef(() => LibInputComponent),
35
35
  multi: true,
36
36
  },
37
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"notifyFocusEvent($event)\"\n (change)=\"handleChange()\"\n (focus)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [(ngModel)]=\"value\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorText && invalid) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n", styles: [":host{display:block}.lib-input{position:relative}.lib-input input{width:100%;height:48px;padding:15px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-input input:hover{border-color:var(--input-active-border-colort)}.lib-input input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-input input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-input input:disabled::placeholder{color:var(--input-placeholder)}.lib-input input.invalid,.lib-input input.invalid:hover{border-color:var(--input-error-border-color)}.lib-input input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-input__error{color:var(--primary-red-color);font-size:14px;font-weight:400;line-height:20px;margin-top:4px}.lib-input .password-eye{position:absolute;right:16px;top:40px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"notifyFocusEvent($event)\"\n (change)=\"handleChange()\"\n (focus)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [(ngModel)]=\"value\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorText && invalid) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n", styles: [":host{display:block}.lib-input{position:relative}.lib-input input{width:100%;height:48px;padding:15px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative;color:var(--light-black-color)}.lib-input input:hover{border-color:var(--input-active-border-colort)}.lib-input input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-input input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-input input:disabled::placeholder{color:var(--input-placeholder)}.lib-input input.invalid,.lib-input input.invalid:hover{border-color:var(--input-error-border-color)}.lib-input input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-input__error{color:var(--primary-red-color);font-size:14px;font-weight:400;line-height:20px;margin-top:4px}.lib-input .password-eye{position:absolute;right:16px;top:40px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibInputComponent, decorators: [{
40
40
  type: Component,
@@ -44,7 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
44
44
  useExisting: forwardRef(() => LibInputComponent),
45
45
  multi: true,
46
46
  },
47
- ], changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, NgOptimizedImage, LibCardComponent, LibSvgIconComponent], template: "<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"notifyFocusEvent($event)\"\n (change)=\"handleChange()\"\n (focus)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [(ngModel)]=\"value\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorText && invalid) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n", styles: [":host{display:block}.lib-input{position:relative}.lib-input input{width:100%;height:48px;padding:15px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-input input:hover{border-color:var(--input-active-border-colort)}.lib-input input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-input input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-input input:disabled::placeholder{color:var(--input-placeholder)}.lib-input input.invalid,.lib-input input.invalid:hover{border-color:var(--input-error-border-color)}.lib-input input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-input__error{color:var(--primary-red-color);font-size:14px;font-weight:400;line-height:20px;margin-top:4px}.lib-input .password-eye{position:absolute;right:16px;top:40px;cursor:pointer}\n"] }]
47
+ ], changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, NgOptimizedImage, LibCardComponent, LibSvgIconComponent], template: "<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"notifyFocusEvent($event)\"\n (change)=\"handleChange()\"\n (focus)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [(ngModel)]=\"value\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorText && invalid) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n", styles: [":host{display:block}.lib-input{position:relative}.lib-input input{width:100%;height:48px;padding:15px 16px;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative;color:var(--light-black-color)}.lib-input input:hover{border-color:var(--input-active-border-colort)}.lib-input input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-input input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-input input:disabled::placeholder{color:var(--input-placeholder)}.lib-input input.invalid,.lib-input input.invalid:hover{border-color:var(--input-error-border-color)}.lib-input input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-input__error{color:var(--primary-red-color);font-size:14px;font-weight:400;line-height:20px;margin-top:4px}.lib-input .password-eye{position:absolute;right:16px;top:40px;cursor:pointer}\n"] }]
48
48
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ControlContainer, decorators: [{
49
49
  type: Optional
50
50
  }, {
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
52
52
  }, {
53
53
  type: SkipSelf
54
54
  }] }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1pbnB1dC9saWItaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWlucHV0L2xpYi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUdKLFFBQVEsRUFDUixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF5QyxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBaUIzRSxNQUFNLE9BQU8saUJBQ1gsU0FBUSwyQkFBMkI7SUFHbkMsWUFDRSxlQUFrQyxFQUNNLGdCQUFrQztRQUUxRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFGaUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUc1RSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPO1lBQ1YsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxlQUFlO2dCQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztnQkFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNiLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBNkI7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLHNDQUFzQztJQUN4QyxDQUFDOzhHQTVCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyREFWakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDNUJILHUvQkFnQ0EsMHBDREZZLFdBQVcsK21CQUFzQyxtQkFBbUI7OzJGQUVuRSxpQkFBaUI7a0JBZjdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksYUFHTDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7OzBCQVE1RSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3QsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2tpcFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0xpYkNvbW1vbklucHV0VGV4dENvbXBvbmVudH0gZnJvbSAnLi4vY29tbW9uL2xpYi1jb21tb24taW5wdXQtdGV4dCc7XG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZC1saWItaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGliLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSwgTGliQ2FyZENvbXBvbmVudCwgTGliU3ZnSWNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIExpYklucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgTGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICkge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sID1cbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lciAmJiB0aGlzLmZvcm1Db250cm9sTmFtZVxuICAgICAgICA/IHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKVxuICAgICAgICA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gJycgOiAnJyArIHZhbHVlO1xuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIHRoaXMuZm9jdXNNYW5hZ2VyLnVucmVnaXN0ZXIodGhpcyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsaWItaW5wdXRcIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1pbnB1dF9fdGl0bGVcIj5cbiAgICB7eyBsYWJlbCB9fVxuICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgIDxkZC1saWItc3ZnLWljb24gaWNvbj1cImVycm9yX2hpbnRcIj48L2RkLWxpYi1zdmctaWNvbj5cbiAgICB9XG4gIDwvbGFiZWw+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIChibHVyKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoKVwiXG4gICAgKGZvY3VzKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlID09PSB1bmRlZmluZWQgPyBudWxsIDogYXV0b2NvbXBsZXRlXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2F0dHIudGFiSW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxuICAgIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIlxuICAgIFtjbGFzcy5pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBjbGFzcz1cInRleHQtaW5wdXRcIiAvPlxuICBAaWYgKGVycm9yVGV4dCAmJiBpbnZhbGlkKSB7XG4gIDxkaXYgY2xhc3M9XCJsaWItaW5wdXRfX2Vycm9yXCI+e3sgZXJyb3JUZXh0IH19PC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1pbnB1dC9saWItaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLWlucHV0L2xpYi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUdKLFFBQVEsRUFDUixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF5QyxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBaUIzRSxNQUFNLE9BQU8saUJBQ1gsU0FBUSwyQkFBMkI7SUFHbkMsWUFDRSxlQUFrQyxFQUNNLGdCQUFrQztRQUUxRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFGaUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUc1RSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPO1lBQ1YsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxlQUFlO2dCQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztnQkFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNiLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBNkI7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLHNDQUFzQztJQUN4QyxDQUFDOzhHQTVCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyREFWakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDNUJILHUvQkFnQ0Esd3RDREZZLFdBQVcsK21CQUFzQyxtQkFBbUI7OzJGQUVuRSxpQkFBaUI7a0JBZjdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksYUFHTDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7OzBCQVE1RSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3QsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2tpcFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nT3B0aW1pemVkSW1hZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0xpYkNvbW1vbklucHV0VGV4dENvbXBvbmVudH0gZnJvbSAnLi4vY29tbW9uL2xpYi1jb21tb24taW5wdXQtdGV4dCc7XG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpYlN2Z0ljb25Db21wb25lbnR9IGZyb20gXCIuLi9saWItc3ZnLWljb24vbGliLXN2Zy1pY29uLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZC1saWItaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vbGliLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGliLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSwgTGliQ2FyZENvbXBvbmVudCwgTGliU3ZnSWNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIExpYklucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgTGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICkge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sID1cbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lciAmJiB0aGlzLmZvcm1Db250cm9sTmFtZVxuICAgICAgICA/IHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKVxuICAgICAgICA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gJycgOiAnJyArIHZhbHVlO1xuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIHRoaXMuZm9jdXNNYW5hZ2VyLnVucmVnaXN0ZXIodGhpcyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsaWItaW5wdXRcIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1pbnB1dF9fdGl0bGVcIj5cbiAgICB7eyBsYWJlbCB9fVxuICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgIDxkZC1saWItc3ZnLWljb24gaWNvbj1cImVycm9yX2hpbnRcIj48L2RkLWxpYi1zdmctaWNvbj5cbiAgICB9XG4gIDwvbGFiZWw+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIChibHVyKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoKVwiXG4gICAgKGZvY3VzKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlID09PSB1bmRlZmluZWQgPyBudWxsIDogYXV0b2NvbXBsZXRlXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2F0dHIudGFiSW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxuICAgIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIlxuICAgIFtjbGFzcy5pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBjbGFzcz1cInRleHQtaW5wdXRcIiAvPlxuICBAaWYgKGVycm9yVGV4dCAmJiBpbnZhbGlkKSB7XG4gIDxkaXYgY2xhc3M9XCJsaWItaW5wdXRfX2Vycm9yXCI+e3sgZXJyb3JUZXh0IH19PC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19