master-control 0.4.7 → 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master-control.mjs","sources":["../../../projects/master-control/src/lib/master-control.service.ts","../../../projects/master-control/src/lib/textbox/textbox.component.ts","../../../projects/master-control/src/lib/textbox/textbox.component.html","../../../projects/master-control/src/lib/button/button.component.ts","../../../projects/master-control/src/lib/button/button.component.html","../../../projects/master-control/src/lib/directives/customized.tooltip.directive.ts","../../../projects/master-control/src/lib/select/select.component.ts","../../../projects/master-control/src/lib/select/select.component.html","../../../projects/master-control/src/lib/radio/radio.component.ts","../../../projects/master-control/src/lib/radio/radio.component.html","../../../projects/master-control/src/lib/toggle/toggle.component.ts","../../../projects/master-control/src/lib/toggle/toggle.component.html","../../../projects/master-control/src/lib/file-preview/file-preview.component.ts","../../../projects/master-control/src/lib/file-preview/file-preview.component.html","../../../projects/master-control/src/lib/upload/upload.component.ts","../../../projects/master-control/src/lib/upload/upload.component.html","../../../projects/master-control/src/lib/dob/dob.component.ts","../../../projects/master-control/src/lib/dob/dob.component.html","../../../projects/master-control/src/lib/mob-number/mob-number.component.ts","../../../projects/master-control/src/lib/mob-number/mob-number.component.html","../../../projects/master-control/src/lib/info/info.component.ts","../../../projects/master-control/src/lib/info/info.component.html","../../../projects/master-control/src/lib/checkbox/checkbox.component.ts","../../../projects/master-control/src/lib/checkbox/checkbox.component.html","../../../projects/master-control/src/lib/textarea/textarea.component.ts","../../../projects/master-control/src/lib/textarea/textarea.component.html","../../../projects/master-control/src/lib/tab/tab.component.ts","../../../projects/master-control/src/lib/tab/tab.component.html","../../../projects/master-control/src/lib/autocomplete/autocomplete.component.ts","../../../projects/master-control/src/lib/autocomplete/autocomplete.component.html","../../../projects/master-control/src/lib/multiple-select/multiple-select.component.ts","../../../projects/master-control/src/lib/multiple-select/multiple-select.component.html","../../../projects/master-control/src/lib/select-textbox/select-textbox.component.ts","../../../projects/master-control/src/lib/select-textbox/select-textbox.component.html","../../../projects/master-control/src/lib/otp-textbox/otp-textbox.component.ts","../../../projects/master-control/src/lib/otp-textbox/otp-textbox.component.html","../../../projects/master-control/src/lib/amount-textbox/amount-textbox.component.ts","../../../projects/master-control/src/lib/amount-textbox/amount-textbox.component.html","../../../projects/master-control/src/lib/suffix-textbox/suffix-textbox.component.ts","../../../projects/master-control/src/lib/suffix-textbox/suffix-textbox.component.html","../../../projects/master-control/src/lib/otp-mob-number/otp-mob-number.component.ts","../../../projects/master-control/src/lib/otp-mob-number/otp-mob-number.component.html","../../../projects/master-control/src/lib/tag-mob-number/tag-mob-number.component.ts","../../../projects/master-control/src/lib/tag-mob-number/tag-mob-number.component.html","../../../projects/master-control/src/lib/age-date/age-date.component.ts","../../../projects/master-control/src/lib/age-date/age-date.component.html","../../../projects/master-control/src/lib/addition-button/addition-button.component.ts","../../../projects/master-control/src/lib/addition-button/addition-button.component.html","../../../projects/master-control/src/lib/info-textbox/info-textbox.component.ts","../../../projects/master-control/src/lib/info-textbox/info-textbox.component.html","../../../projects/master-control/src/lib/textbox-with-image/textbox-with-image.component.ts","../../../projects/master-control/src/lib/textbox-with-image/textbox-with-image.component.html","../../../projects/master-control/src/lib/email-with-domain/email-with-domain.component.ts","../../../projects/master-control/src/lib/email-with-domain/email-with-domain.component.html","../../../projects/master-control/src/lib/image-upload/image-upload.component.ts","../../../projects/master-control/src/lib/image-upload/image-upload.component.html","../../../projects/master-control/src/lib/download-document/download-document.component.ts","../../../projects/master-control/src/lib/download-document/download-document.component.html","../../../projects/master-control/src/lib/add-document/add-document.component.ts","../../../projects/master-control/src/lib/add-document/add-document.component.html","../../../projects/master-control/src/lib/hyperlink/hyperlink.component.ts","../../../projects/master-control/src/lib/hyperlink/hyperlink.component.html","../../../projects/master-control/src/lib/textbox-with-underscore/textbox-with-underscore.component.ts","../../../projects/master-control/src/lib/textbox-with-underscore/textbox-with-underscore.component.html","../../../projects/master-control/src/lib/underscore-mob-number/underscore-mob-number.component.ts","../../../projects/master-control/src/lib/underscore-mob-number/underscore-mob-number.component.html","../../../projects/master-control/src/lib/icon-button/icon-button.component.ts","../../../projects/master-control/src/lib/icon-button/icon-button.component.html","../../../projects/master-control/src/lib/image/image.component.ts","../../../projects/master-control/src/lib/image/image.component.html","../../../projects/master-control/src/lib/stepper/stepper.component.ts","../../../projects/master-control/src/lib/stepper/stepper.component.html","../../../projects/master-control/src/lib/card/card.component.ts","../../../projects/master-control/src/lib/card/card.component.html","../../../projects/master-control/src/lib/hr-line/hr-line.component.ts","../../../projects/master-control/src/lib/hr-line/hr-line.component.html","../../../projects/master-control/src/lib/search-multi-select/search-multi-select.component.ts","../../../projects/master-control/src/lib/search-multi-select/search-multi-select.component.html","../../../projects/master-control/src/lib/subscript-textbox/subscript-textbox.component.ts","../../../projects/master-control/src/lib/subscript-textbox/subscript-textbox.component.html","../../../projects/master-control/src/lib/label/label.component.ts","../../../projects/master-control/src/lib/label/label.component.html","../../../projects/master-control/src/lib/sub-header/sub-header.component.ts","../../../projects/master-control/src/lib/sub-header/sub-header.component.html","../../../projects/master-control/src/lib/header/header.component.ts","../../../projects/master-control/src/lib/header/header.component.html","../../../projects/master-control/src/lib/table/table.component.ts","../../../projects/master-control/src/lib/table/table.component.html","../../../projects/master-control/src/lib/textbox-with-text/textbox-with-text.component.ts","../../../projects/master-control/src/lib/textbox-with-text/textbox-with-text.component.html","../../../projects/master-control/src/lib/discount/discount.component.ts","../../../projects/master-control/src/lib/discount/discount.component.html","../../../projects/master-control/src/lib/benefit-card/benefit-card.component.ts","../../../projects/master-control/src/lib/benefit-card/benefit-card.component.html","../../../projects/master-control/src/lib/loader/loader.component.ts","../../../projects/master-control/src/lib/loader/loader.component.html","../../../projects/master-control/src/lib/warning-snackbar/warning-snackbar.component.ts","../../../projects/master-control/src/lib/warning-snackbar/warning-snackbar.component.html","../../../projects/master-control/src/lib/success-snackbar/success-snackbar.component.ts","../../../projects/master-control/src/lib/success-snackbar/success-snackbar.component.html","../../../projects/master-control/src/lib/neutral-snackbar/neutral-snackbar.component.ts","../../../projects/master-control/src/lib/neutral-snackbar/neutral-snackbar.component.html","../../../projects/master-control/src/lib/error-snackbar/error-snackbar.component.ts","../../../projects/master-control/src/lib/error-snackbar/error-snackbar.component.html","../../../projects/master-control/src/lib/grey-label/grey-label.component.ts","../../../projects/master-control/src/lib/grey-label/grey-label.component.html","../../../projects/master-control/src/lib/iframe/iframe.component.ts","../../../projects/master-control/src/lib/iframe/iframe.component.html","../../../projects/master-control/src/lib/toggle-button/toggle-button.component.ts","../../../projects/master-control/src/lib/toggle-button/toggle-button.component.html","../../../projects/master-control/src/lib/pay-get-card/pay-get-card.component.ts","../../../projects/master-control/src/lib/pay-get-card/pay-get-card.component.html","../../../projects/master-control/src/lib/in-built-benefit/in-built-benefit.component.ts","../../../projects/master-control/src/lib/in-built-benefit/in-built-benefit.component.html","../../../projects/master-control/src/lib/other-benefits/other-benefits.component.ts","../../../projects/master-control/src/lib/other-benefits/other-benefits.component.html","../../../projects/master-control/src/lib/annuity-rate-logo/annuity-rate-logo.component.ts","../../../projects/master-control/src/lib/annuity-rate-logo/annuity-rate-logo.component.html","../../../projects/master-control/src/lib/discount-v2/discount-v2.component.ts","../../../projects/master-control/src/lib/discount-v2/discount-v2.component.html","../../../projects/master-control/src/lib/label-value-card/label-value-card.component.ts","../../../projects/master-control/src/lib/label-value-card/label-value-card.component.html","../../../projects/master-control/src/lib/master.service.ts","../../../projects/master-control/src/lib/medial-questions/medial-questions.component.ts","../../../projects/master-control/src/lib/medial-questions/medial-questions.component.html","../../../projects/master-control/src/lib/page-nudge/page-nudge.component.ts","../../../projects/master-control/src/lib/page-nudge/page-nudge.component.html","../../../projects/master-control/src/lib/progress-bar/progress-bar.component.ts","../../../projects/master-control/src/lib/progress-bar/progress-bar.component.html","../../../projects/master-control/src/lib/accordian/accordian.component.ts","../../../projects/master-control/src/lib/accordian/accordian.component.html","../../../projects/master-control/src/lib/miscellaneous-info-bar/miscellaneous-info-bar.component.ts","../../../projects/master-control/src/lib/miscellaneous-info-bar/miscellaneous-info-bar.component.html","../../../projects/master-control/src/lib/plain-text/plain-text.component.ts","../../../projects/master-control/src/lib/plain-text/plain-text.component.html","../../../projects/master-control/src/lib/menu/menu.component.ts","../../../projects/master-control/src/lib/menu/menu.component.html","../../../projects/master-control/src/lib/stepper-with-arrow/stepper-with-arrow.component.ts","../../../projects/master-control/src/lib/stepper-with-arrow/stepper-with-arrow.component.html","../../../projects/master-control/src/lib/label-with-image/label-with-image.component.ts","../../../projects/master-control/src/lib/label-with-image/label-with-image.component.html","../../../projects/master-control/src/lib/top-header/top-header.component.ts","../../../projects/master-control/src/lib/top-header/top-header.component.html","../../../projects/master-control/src/lib/footer/footer.component.ts","../../../projects/master-control/src/lib/footer/footer.component.html","../../../projects/master-control/src/lib/footer-with-buttons/footer-with-buttons.component.ts","../../../projects/master-control/src/lib/footer-with-buttons/footer-with-buttons.component.html","../../../projects/master-control/src/lib/motor-glow-plan-details/motor-glow-plan-details.component.ts","../../../projects/master-control/src/lib/motor-glow-plan-details/motor-glow-plan-details.component.html","../../../projects/master-control/src/lib/annuity-premium-calculator/annuity-premium-calculator.component.ts","../../../projects/master-control/src/lib/annuity-premium-calculator/annuity-premium-calculator.component.html","../../../projects/master-control/src/lib/footer-design/footer-design.component.ts","../../../projects/master-control/src/lib/footer-design/footer-design.component.html","../../../projects/master-control/src/lib/master-control.component.ts","../../../projects/master-control/src/lib/master-control.component.html","../../../projects/master-control/src/public-api.ts","../../../projects/master-control/src/master-control.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MasterControlService {\r\n\r\n configData: any = {\r\n \"iframe\": {\r\n \"URLForIframe\": \"N\"\r\n },\r\n \"loader\": {\r\n \"imageURL\": \"\",\r\n \"imageAltText\": \"\",\r\n \"text\": \"\",\r\n \"imageCSS\": {\r\n \"width\": \"\",\r\n \"height\": \"\",\r\n \"borderRadius\": \"\",\r\n \"boxShadow\": \"\"\r\n },\r\n \"cardCSS\": {\r\n \"width\": \"100%\",\r\n \"height\": \"100%\",\r\n \"backgroundColor\": \"#ffffff\",\r\n \"borderRadius\": \"0px\",\r\n \"boxShadow\": \"0px 0px 0px 0px rgba(0, 0, 0, 0)\",\r\n \"alignItems\": \"center\"\r\n },\r\n \"textCSS\": {\r\n \"fontSize\": \"\",\r\n \"color\": \"\",\r\n \"textAlign\": \"\",\r\n \"fontWeight\": \"\"\r\n },\r\n \"loaderCSS\": {\r\n \"display\": \"flex\",\r\n \"justifyContent\": \"center\",\r\n \"alignItems\": \"center\",\r\n \"height\": \"60px\",\r\n \"gap\": \"8px\",\r\n \"dot\": {\r\n \"width\": \"16px\",\r\n \"height\": \"16px\",\r\n \"background\": \"#1976d2\",\r\n \"borderRadius\": \"50%\",\r\n \"display\": \"inline-block\",\r\n \"animation\": \"bounce 0.6s infinite alternate\"\r\n },\r\n \"dot2\": {\r\n \"animationDelay\": \"0.2s\"\r\n },\r\n \"dot3\": {\r\n \"animationDelay\": \"0.4s\"\r\n },\r\n \"@keyframes bounce\": {\r\n \"to\": {\r\n \"opacity\": 0.3,\r\n \"transform\": \"translateY(-16px)\"\r\n }\r\n }\r\n }\r\n },\r\n \"table\": {\r\n \"showCheckBox\": true,\r\n \"tableHeaders\": [],\r\n \"tdData\": [],\r\n \"showActions\": true,\r\n \"actionOptions\": [\r\n {\r\n \"matIconName\": \"edit\",\r\n \"displayTitle\": \"Edit\",\r\n \"toolTip\": \"Edit\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"info\",\r\n \"displayTitle\": \"Info\",\r\n \"toolTip\": \"Information\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"download\",\r\n \"displayTitle\": \"Download Documents\",\r\n \"toolTip\": \"Download Document\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"notifications_active\",\r\n \"displayTitle\": \"Send Reminder\",\r\n \"toolTip\": \"Send Reminder\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"link\",\r\n \"displayTitle\": \"Send Payment Link\",\r\n \"toolTip\": \"Payment Link\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"download\",\r\n \"displayTitle\": \"Download Policy Document\",\r\n \"toolTip\": \"Download Policy\",\r\n \"isSelected\": false\r\n }, {\r\n \"matIconName\": \"visibility\",\r\n \"displayTitle\": \"View Policy Document\",\r\n \"toolTip\": \"View Policy\",\r\n \"isSelected\": false\r\n }, {\r\n \"matIconName\": \"visibility\",\r\n \"displayTitle\": \"View new BI\",\r\n \"toolTip\": \"View new BI\",\r\n \"isSelected\": false\r\n }\r\n\r\n ],\r\n \"userSelectedOptions\": {},\r\n \"showPagination\": true,\r\n \"rowlength\": 3,\r\n \"columnlength\": 4,\r\n \"totalItems\": 1,\r\n \"paginationSize\": 10,\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0\r\n },\r\n \"stepper\": {\r\n \"stepperData\": [\r\n {\r\n \"defaultId\": 1,\r\n \"displayLabel\": \"stepper-1\",\r\n \"imgIconUrl\": 'https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/check_circle.svg'\r\n },\r\n {\r\n \"defaultId\": 2,\r\n \"displayLabel\": \"stepper-2\",\r\n \"imgIconUrl\": 'https://cdn.godigit.com/retail-life/check_circle_Endorsment.svg'\r\n },\r\n {\r\n \"defaultId\": 3,\r\n \"displayLabel\": \"stepper-3\",\r\n \"imgIconUrl\": 'https://cdn.godigit.com/retail-life/Endorsement_pending.svg'\r\n }\r\n ]\r\n },\r\n \"policyDisplayCard\": {\r\n \"policyDetails\":[{\r\n \"policyHolderName\":\"XYZ\",\r\n \"policyType\":\"Glow Plus\",\r\n \"policyNumber\":\"L1234694934\"\r\n }\r\n ]\r\n }\r\n }\r\n\r\n snackbars: any = [\r\n {\r\n \"type\": \"Error\",\r\n \"imageURL\": \"https://cdn.godigit.com/retail-life/alert-icon-lib.svg\",\r\n \"imageCSS\": \"toaster-img\",\r\n \"isShowLabel\": true,\r\n \"labelCSS\": \"toaster-label\",\r\n \"messageCSS\": \"toaster-msg\",\r\n \"horizontalPosition\": \"\",\r\n \"verticalPosition\": \"\",\r\n \"duration\": 3000,\r\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\r\n \"closeIconCSS\": \"cross\",\r\n \"labelText\":\"A error toast\",\r\n \"messageText\":\"Error message here\",\r\n 'toasterCSS':\"error-snackbar-card\"\r\n },{\r\n \"type\": \"Warning\",\r\n \"imageURL\": \"https://cdn.godigit.com/retail-life/nudge-icon-lib.svg\",\r\n \"imageCSS\": \"toaster-img\",\r\n \"isShowLabel\": true,\r\n \"labelCSS\": \"toaster-label\",\r\n \"messageCSS\": \"toaster-msg\",\r\n \"horizontalPosition\": \"\",\r\n \"verticalPosition\": \"\",\r\n \"duration\": 3000,\r\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\r\n \"closeIconCSS\": \"cross\",\r\n \"labelText\":\"A warning toast\",\r\n \"messageText\":\"Warning message here\",\r\n \"toasterCSS\":\"warning-snackbar-card\"\r\n },{\r\n \"type\": \"Success\",\r\n \"imageURL\": \"https://cdn.godigit.com/retail-life/success-info-lib.svg\",\r\n \"imageCSS\": \"toaster-img\",\r\n \"isShowLabel\": true,\r\n \"labelCSS\": \"toaster-label\",\r\n \"messageCSS\": \"toaster-msg\",\r\n \"horizontalPosition\": \"\",\r\n \"verticalPosition\": \"\",\r\n \"duration\": 3000,\r\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\r\n \"closeIconCSS\": \"cross\",\r\n \"labelText\":\"A success toast\",\r\n \"messageText\":\"Success message here\",\r\n \"toasterCSS\":\"success-snackbar-card\"\r\n },{\r\n \"type\": \"Neutral\",\r\n \"imageURL\": \"https://cdn.godigit.com/retail-life/neutral-star-lib-icon.svg\",\r\n \"imageCSS\": \"neutral-image\",\r\n \"isShowLabel\": true,\r\n \"labelCSS\": \"neutral-toaster-label\",\r\n \"messageCSS\": \"neutral-toaster-msg\",\r\n \"horizontalPosition\": \"\",\r\n \"verticalPosition\": \"\",\r\n \"duration\": 3000,\r\n \"closeIconImageURL\": \"https://cdn.godigit.com/retail-life/neutral-cross-lib-icon.svg\",\r\n \"closeIconCSS\": \"cross\",\r\n \"labelText\":\"A neutral toast\",\r\n \"messageText\":\"Neutral message here\",\r\n \"toasterCSS\":\"neutral-snackbar-card\"\r\n }\r\n ];\r\n constructor() { }\r\n\r\n checkIfValueIsEmpty(value: any) {\r\n if (typeof value === 'string') {\r\n value = value.trim();\r\n }\r\n return (\r\n value === undefined ||\r\n value === null ||\r\n value === '' ||\r\n (value instanceof Array && value.length === 0) ||\r\n JSON.stringify(value) === '{}'\r\n );\r\n }\r\n\r\n saveTableFieldState(tableField: any, key: any = 'tableField') {\r\n localStorage.setItem(key, JSON.stringify(tableField));\r\n }\r\n\r\n restoreTableFieldState(key: any = 'tableField'): any | null {\r\n const data = localStorage.getItem(key);\r\n return data ? JSON.parse(data) : null;\r\n }\r\n\r\n addComasToNumberValues(value: any, isRemoveRupeeSymbol : any = false) {\r\n let newVal: any = value;\r\n if (!this.checkIfValueIsEmpty(value)) {\r\n if (\r\n Number(\r\n value\r\n\r\n .toString()\r\n\r\n .replace(\r\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\r\n\r\n ''\r\n )\r\n\r\n .replaceAll(',', '')\r\n\r\n .replaceAll('₹', '')\r\n )\r\n ) {\r\n newVal = Number(\r\n value\r\n\r\n .toString()\r\n\r\n .replace(\r\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\r\n\r\n ''\r\n )\r\n\r\n .replaceAll('₹', '')\r\n\r\n .replaceAll(',', '')\r\n )\r\n .toLocaleString('en-IN', {\r\n style: 'currency',\r\n\r\n currency: 'INR',\r\n\r\n minimumFractionDigits: 0,\r\n\r\n maximumFractionDigits: 0,\r\n })\r\n\r\n .split('₹')[1];\r\n }\r\n }\r\n return isRemoveRupeeSymbol ? newVal?.replaceAll('₹', '').trim() : newVal;\r\n }\r\n\r\n removeComasAndCurrencySymbolFromNumberValues(value: any) {\r\n if (!this.checkIfValueIsEmpty(value)) {\r\n return value\r\n\r\n .toString()\r\n\r\n .replace(\r\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\r\n\r\n ''\r\n )\r\n\r\n .replaceAll('₹', '')\r\n\r\n .replaceAll(',', '');\r\n } else {\r\n return value;\r\n }\r\n }\r\n}\r\n","import { Component, forwardRef, input, Output, EventEmitter } from '@angular/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-textbox',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule ,\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './textbox.component.html',\r\n styleUrl: './textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TextboxComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n inputValue: any = null;\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n maskEnabled: any = true;\r\n inputValueDeepCopy:any = null;\r\n\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n ngOnInit() {\r\n if(!this.field().isInputMasked){\r\n this.field().isInputMasked = false;\r\n }\r\n if(this.field()?.configData?.isTextCapitalized && this.field().isInputMasked){\r\n this.inputValue = this.field()?.configData?.isTextCapitalized;\r\n this.checkinputMasked();\r\n }\r\n }\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=!this.masterService.checkIfValueIsEmpty(obj) ? obj : '';\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any) : any {\r\n let min : any = null;\r\n let max : any= null;\r\n let value = event.target.value;\r\n if(!this.masterService.checkIfValueIsEmpty(this.field()?.configData) && !this.masterService.checkIfValueIsEmpty(this.field()?.configData?.minValue) && !this.masterService.checkIfValueIsEmpty(this.field()?.configData?.maxValue)) {\r\n min = parseInt(this.field()?.configData?.minValue);\r\n max = parseInt(this.field()?.configData?.maxValue);\r\n }\r\n\r\n if (!this.masterService.checkIfValueIsEmpty(this.field()?.configData?.inputType) && this.field()?.configData?.inputType === 'number' && !this.masterService.checkIfValueIsEmpty(max) && !this.masterService.checkIfValueIsEmpty(min)) {\r\n if(parseInt(value) < min || parseInt(value) > max) {\r\n event.target.value = parseInt(event.target.value.toString().slice(0, -1));\r\n }\r\n }\r\n if(this.field()?.configData?.isAllowNumbersInTextFields) {\r\n // Remove any non-numeric characters from the input\r\n let numericValue = value.replace(/[^0-9]/g, '');\r\n event.target.value = numericValue;\r\n value = numericValue;\r\n }\r\n\r\n this.inputValue = this.field()?.configData?.isTextCapitalized ? value.toUpperCase() : value;\r\n this.inputValueDeepCopy = JSON.parse(JSON.stringify(this.inputValue));\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event?: any): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n this.checkinputMasked();\r\n }\r\n\r\n checkinputMasked() {\r\n if(!this.field().isInputMasked){\r\n this.inputValue = this.inputValueDeepCopy;\r\n }\r\n return this.field().isInputMasked ? this.maskInput(this.inputValue) : this.inputValue;\r\n }\r\n\r\n maskInput(value: any) {\r\n if (value.length > 3){\r\n this.inputValue = value[0] + 'X'.repeat(value.length - 2) + value[value.length - 1];\r\n }\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n'--custom-width': field()?.controlStyle?.width ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n <mat-hint *ngIf=\"field()?.configData?.helperText\">{{field()?.configData?.helperText}}</mat-hint>\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n <!-- <mat-error *ngIf=\"field()?.configData?.isInvalidPattern && !masterService.checkIfValueIsEmpty(field()?.validators?.patternMessage)\">\r\n {{ field()?.validators?.patternMessage }}\r\n </mat-error> -->\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n\r\n@Component({\r\n selector: 'lib-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.css'\r\n})\r\nexport class ButtonComponent {\r\n constructor(public masterService : MasterControlService){}\r\n field: any = input.required<any>();\r\n}\r\n","<Button\r\n class=\"button\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [disabled]=\"field()?.isDisable\"\r\n [ngStyle]=\"\r\n {\r\n '--button-border-width': field()?.controlStyle?.borderWidth ,\r\n '--button-border-color': field()?.controlStyle?.borderColor ,\r\n '--button-border-style': field()?.controlStyle?.borderStyle ,\r\n '--button-width': field()?.controlStyle?.width ,\r\n '--button-font-size': field()?.controlStyle?.fontSize ,\r\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--button-background': field()?.controlStyle?.background ,\r\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--button-text-color': field()?.controlStyle?.color ,\r\n '--button-margin': field()?.controlStyle?.margin ,\r\n }\"\r\n [ngClass]=\"field()?.isDisable ? 'button-disable' : 'button'\"\r\n>\r\n<span class=\"button-text\">\r\n<img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl'>\r\n<span>{{field()?.label}}</span>\r\n</span>\r\n</Button>\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnDestroy,\r\n Inject,\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[appTooltipTemplate]',\r\n standalone: true,\r\n})\r\nexport class CustomizedTooltipDirective implements OnDestroy {\r\n @Input('appTooltipTemplate') template!: TemplateRef<any>;\r\n\r\n private tooltipElement: HTMLElement | null = null;\r\n private showTimeout: any = null;\r\n private hideTimeout: any = null;\r\n private static styleInjected = false;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private vcr: ViewContainerRef,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {\r\n this.injectStyles();\r\n }\r\n\r\n private injectStyles() {\r\n // Only inject styles once per application\r\n if (CustomizedTooltipDirective.styleInjected) {\r\n return;\r\n }\r\n\r\n const style = this.document.createElement('style');\r\n style.id = 'tooltip-styles';\r\n style.textContent = `\r\n .tooltip-container {\r\n position: relative;\r\n display: inline-block;\r\n}\r\n\r\n.tooltip-text-msg {\r\n max-width: 328px !important;\r\n min-height: auto !important;\r\n background-color: white;\r\n border: 1px solid #ffaa013d !important;\r\n color: #444444 !important;\r\n text-align: left;\r\n border-radius: 8px;\r\n padding: 12px;\r\n font-size: 12px;\r\n position: absolute;\r\n z-index: 1;\r\n top: 100%;\r\n left: 50%;\r\n transform: translateX(-10%);\r\n transition: opacity 0.3s;\r\n box-shadow: 0px 2px 15px 2px #e3e6ec99;\r\n letter-spacing: 0px;\r\n line-height: 150%;\r\n}\r\n.tooltip-text-msg, p {\r\n font-weight: 400 !important;\r\n}\r\n\r\n.tooltip-container:hover .tooltip-text-msg {\r\n visibility: visible;\r\n opacity: 1;\r\n}\r\n\r\n.tooltip-text-msg::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 100%;\r\n left: var(--arrow-left-position, 10%);\r\n transform: translateX(-50%);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent #ffaa013d transparent;\r\n z-index: 2;\r\n}\r\n\r\n.tooltip-text-msg::before {\r\n content: \"\";\r\n position: absolute;\r\n bottom: calc(100% - 0px);\r\n left: var(--arrow-left-position, 10%);\r\n transform: translateX(-50%);\r\n border-width: 9px;\r\n border-style: solid;\r\n border-color: transparent transparent #fff transparent;\r\n z-index: 3;\r\n}\r\n `;\r\n\r\n this.document.head.appendChild(style);\r\n CustomizedTooltipDirective.styleInjected = true;\r\n }\r\n\r\n @HostListener('mouseenter')\r\n showTooltip() {\r\n // Clear any existing hide timeout\r\n if (this.hideTimeout) {\r\n clearTimeout(this.hideTimeout);\r\n this.hideTimeout = null;\r\n }\r\n\r\n // If tooltip already exists, don't create another\r\n if (this.tooltipElement) {\r\n return;\r\n }\r\n\r\n // Small delay to prevent flickering\r\n this.showTimeout = setTimeout(() => {\r\n if (!this.tooltipElement && this.template) {\r\n // Create tooltip container\r\n this.tooltipElement = this.document.createElement('div');\r\n this.tooltipElement.className = 'tooltip-text-msg';\r\n\r\n // Add pointer-events none to prevent mouse interference\r\n this.tooltipElement.style.pointerEvents = 'none';\r\n\r\n // Render the template content\r\n const embeddedView = this.vcr.createEmbeddedView(this.template);\r\n embeddedView.detectChanges();\r\n embeddedView.rootNodes.forEach((node: any) => {\r\n this.tooltipElement?.appendChild(node);\r\n });\r\n\r\n // Position the tooltip\r\n this.document.body.appendChild(this.tooltipElement);\r\n const rect = this.el.nativeElement.getBoundingClientRect();\r\n this.tooltipElement.style.position = 'absolute';\r\n this.tooltipElement.style.top = (rect.bottom + 10) + 'px';\r\n this.tooltipElement.style.left = (rect.left - 10) + 'px';\r\n this.tooltipElement.style.visibility = 'visible';\r\n this.tooltipElement.style.opacity = '1';\r\n\r\n // Wait a frame for the tooltip to be fully rendered with its content\r\n requestAnimationFrame(() => {\r\n if (this.tooltipElement) {\r\n // Find the image element inside the span to get its actual dimensions\r\n const imgElement = this.el.nativeElement.querySelector('img');\r\n let iconCenterX: number;\r\n\r\n if (imgElement) {\r\n const imgRect = imgElement.getBoundingClientRect();\r\n iconCenterX = imgRect.left + (imgRect.width / 2);\r\n } else {\r\n // Fallback to span center if no image found\r\n iconCenterX = rect.left + (rect.width / 2);\r\n }\r\n\r\n // Get the actual tooltip position after it's rendered\r\n const tooltipRect = this.tooltipElement.getBoundingClientRect();\r\n const arrowPosition = iconCenterX - tooltipRect.left;\r\n this.tooltipElement.style.setProperty('--arrow-left-position', `${arrowPosition}px`);\r\n }\r\n });\r\n }\r\n }, 100);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n hideTooltip() {\r\n // Clear any existing show timeout\r\n if (this.showTimeout) {\r\n clearTimeout(this.showTimeout);\r\n this.showTimeout = null;\r\n }\r\n\r\n // Small delay before hiding to prevent flickering\r\n this.hideTimeout = setTimeout(() => {\r\n if (this.tooltipElement) {\r\n this.document.body.removeChild(this.tooltipElement);\r\n this.tooltipElement = null;\r\n this.vcr.clear();\r\n }\r\n }, 50);\r\n }\r\n\r\n ngOnDestroy() {\r\n // Clean up timeouts\r\n if (this.showTimeout) {\r\n clearTimeout(this.showTimeout);\r\n }\r\n if (this.hideTimeout) {\r\n clearTimeout(this.hideTimeout);\r\n }\r\n // Clean up tooltip\r\n if (this.tooltipElement) {\r\n this.document.body.removeChild(this.tooltipElement);\r\n this.tooltipElement = null;\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\r\n\r\n@Component({\r\n selector: 'lib-select',\r\n standalone: true,\r\n imports: [\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatInputModule,\r\n FormsModule,\r\n MatOptionModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n CustomizedTooltipDirective\r\n ],\r\n templateUrl: './select.component.html',\r\n styleUrl: './select.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SelectComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SelectComponent implements ControlValueAccessor {\r\n\r\nconstructor(public masterService : MasterControlService){}\r\n field : any = input.required<any>();\r\n\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n configData : any = {\r\n isInfoMsgVisible: true,\r\n };\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n @Output() selectionChange = new EventEmitter<any>();\r\n @Output() infoClick = new EventEmitter<any>();\r\n // @Output() change = new EventEmitter<any>();\r\n\r\n // ngOnInit(): void {\r\n // // Initialize inputValue with a default or initial value if needed\r\n // }\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n selectionChanged(event: MatSelectChange) {\r\n this.inputValue = event.value;\r\n this.onChange(event.value);\r\n this.onTouched();\r\n this.selectionChange.emit(event.value);\r\n }\r\n\r\n handleWhereToFindClick(): void {\r\n this.infoClick.emit({ field: this.field });\r\n }\r\n\r\n onSelectOpened(opened: boolean) {\r\n const css = this.field()?.controlStyle;\r\n if (opened) {\r\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\r\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\r\n } else {\r\n document.body.style.removeProperty('--custom-select-option-background-color');\r\n document.body.style.removeProperty('--custom-select-option-font-color');\r\n document.body.style.removeProperty('--custom-select-option-font-weight');\r\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\r\n }\r\n}\r\n}\r\n","<label class=\"field-lable info-label\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">\r\n <span>{{ field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></span>\r\n <!-- <span style=\"justify-content: end;\" *ngIf=\"field() && field()?.configData?.infoMessage\">\r\n <img class=\"mx-1\" src=\"https://cdn.godigit.com/retail-life/question-mark.svg\" alt=\"\">\r\n <u>{{field()?.configData?.infoMessage}} ></u>\r\n </span>\\ -->\r\n <span class=\"info-content\" *ngIf=\"configData.isInfoMsgVisible\">\r\n <img class=\"mx-1\" *ngIf=\"field()?.configData?.imageURL\" [src]=\"field()?.configData?.imageURL\" alt=\"\">\r\n <u style=\"cursor: pointer;\" (click)=\"handleWhereToFindClick()\">{{field()?.configData?.infoMsg}}</u>\r\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\r\n <img [src]=\"field().imageUrl\" class=\"toggle-img mx-1\" />\r\n </span>\r\n </span>\r\n <ng-template #HtmlContent>\r\n <span [innerHTML]=\"field().configData?.infoMessage\"></span>\r\n </ng-template>\r\n\r\n</label>\r\n\r\n<mat-form-field appearance=\"outline\" class=\"input-full-width full-width w-100\" *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\">\r\n @if(reactiveFormControlobject()) {\r\n <mat-select [id]=\"field()?.fieldName\" [attr.name]=\"field()?.fieldName\" [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\" [disabled]=\"field()?.isDisable\" (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\" (selectionChange)=\"selectionChanged($event)\" [formControl]=\"reactiveFormControlobject()\">\r\n <mat-option *ngFor=\"let data of field()?.options\" [value]=\"data.value\">{{\r\n data.label\r\n }}</mat-option>\r\n </mat-select>\r\n }@else {\r\n <mat-select [id]=\"field()?.fieldName\" [attr.name]=\"field()?.fieldName\" [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\" [disabled]=\"field()?.isDisable\" (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\" (selectionChange)=\"selectionChanged($event)\">\r\n <mat-option *ngFor=\"let data of field()?.options\" [value]=\"data.value\">{{\r\n data.label\r\n }}</mat-option>\r\n </mat-select>\r\n }\r\n\r\n <!-- selectField.invalid && (selectField.dirty || selectField.touched) -->\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message mt-2\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, forwardRef, Input, input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MatRadioModule, MatRadioChange } from '@angular/material/radio';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-radio',\r\n standalone: true,\r\n imports: [\r\n MatRadioModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule\r\n ],\r\n templateUrl: './radio.component.html',\r\n styleUrl: './radio.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: RadioComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class RadioComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n reactiveFormControlobject : any = input<any>();\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n @Output() change = new EventEmitter<any>();\r\n\r\n ngOnInit(): void {\r\n // Initialize inputValue with a default or initial value if needed\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n this.change.emit(newValue);\r\n }\r\n\r\n onRadioGroupChange(event: MatRadioChange): void {\r\n const newValue = event.value;\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n this.change.emit(newValue);\r\n console.log('Radio group changed:', newValue);\r\n }\r\n\r\n toggleRadio(value: any, event: Event): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.inputValue = value;\r\n if (this.reactiveFormControlobject && this.reactiveFormControlobject.setValue) {\r\n this.reactiveFormControlobject.setValue(value);\r\n }\r\n this.onRadioGroupChange({ source: {} as any, value: value });\r\n }\r\n\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\r\n }\">{{field()?.label}}<span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span></label>\r\n @if(reactiveFormControlobject()) {\r\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\r\n class=\"radio-btn-group radio-btn-gender\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n (change)=\"onRadioGroupChange($event)\"\r\n >\r\n <div\r\n class=\"card radio-card-gender py-auto px-1\"\r\n *ngFor=\"let data of field()?.options\"\r\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || reactiveFormControlobject?.disabled, 'two-options': field()?.options?.length === 2}\"\r\n (click)=\"toggleRadio(data.value, $event)\"\r\n [ngStyle]=\"{\r\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\r\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\r\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\r\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\r\n }\"\r\n >\r\n <mat-radio-button\r\n style=\"min-width: 72px; text-align: center;\"\r\n class=\"radioButtonGender\"\r\n [value]=\"data.value\"\r\n >\r\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\r\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\r\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\r\n '--radio-button-font-color': field()?.controlStyle?.color,\r\n }\">{{ data.label }}\r\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n </mat-radio-group>\r\n }@else {\r\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\r\n class=\"radio-btn-group radio-btn-gender\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [value]=\"inputValue\"\r\n (change)=\"onRadioGroupChange($event)\"\r\n >\r\n <div\r\n class=\"card radio-card-gender py-auto px-1\"\r\n *ngFor=\"let data of field()?.options\"\r\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable, 'two-options': field()?.options?.length === 2}\"\r\n (click)=\"toggleRadio(data.value, $event)\"\r\n [ngStyle]=\"{\r\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\r\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\r\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\r\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\r\n }\"\r\n >\r\n <mat-radio-button\r\n style=\"min-width: 72px; text-align: center;\"\r\n class=\"radioButtonGender\"\r\n [value]=\"data.value\"\r\n >\r\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\r\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\r\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\r\n '--radio-button-font-color': field()?.controlStyle?.color,\r\n }\">{{ data.label }}\r\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n </mat-radio-group>\r\n }\r\n <div class=\"error-message\" *ngIf=\"false\">\r\n {{field()?.validators?.patternMessage}}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output,EventEmitter, forwardRef } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-toggle',\r\n standalone: true,\r\n imports: [CommonModule, ReactiveFormsModule],\r\n templateUrl: './toggle.component.html',\r\n styleUrl: './toggle.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ToggleComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ToggleComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n field : any = input.required<any>();\r\n inputValue: any = false;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue: any) => {};\r\n _onTouched: any = () => {};\r\n\r\n // Declare Output event emitters here (class level)\r\n @Output() change = new EventEmitter<any>();\r\n\r\n writeValue(obj: any): void {\r\n this.inputValue = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // Handle disabled state if needed\r\n }\r\n\r\n onToggleChange(event: any): void {\r\n this.inputValue = event.target.checked;\r\n this._onChange(this.inputValue);\r\n this._onTouched();\r\n // Emit the change event to parent component\r\n this.change.emit(this.inputValue);\r\n }\r\n}\r\n","<div class=\"\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\r\n '--custom-toggle-bg-color': field()?.controlStyle?.background,\r\n '--custom-toggle-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-toggle-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-toggle-border-radius': field()?.controlStyle?.borderRadius,\r\n '--custom-toggle-width': field()?.controlStyle?.width,\r\n }\"\r\n class=\"card toggle-background mt-2\"\r\n >\r\n <div class=\"toggle_switch mt-2\">\r\n <div *ngIf=\"field().configData?.leftLabel\" [ngStyle]=\"{\r\n '--custom-toggle-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-toggle-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-toggle-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-toggle-font-color': field()?.controlStyle?.color ,\r\n }\" class=\"toggle-text\">\r\n <div>{{field().configData?.leftLabel}}</div>\r\n </div>\r\n <div class=\"mt-1\">\r\n <label class=\"switch\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n type=\"checkbox\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [checked]=\"inputValue\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n (change)=\"onToggleChange($event)\"\r\n />\r\n }@else {\r\n <input\r\n type=\"checkbox\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [checked]=\"inputValue\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n (change)=\"onToggleChange($event)\"\r\n />\r\n }\r\n <span class=\"slider round\"></span>\r\n </label>\r\n </div>\r\n <div [ngStyle]=\"{\r\n '--custom-toggle-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-toggle-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-toggle-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-toggle-font-color': field()?.controlStyle?.color ,\r\n }\" class=\"toggle-text mb-2\">\r\n <div>{{field()?.label}}</div>\r\n <div style=\"font-size: 10px; font-weight: 400;\" *ngIf=\"field().configData?.subLabel\">{{field()?.configData?.subLabel}} <img alt=\"\" [src]=\"field()?.imageUrl\" *ngIf=\"field()?.imageUrl\" /> </div>\r\n </div>\r\n </div>\r\n </div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'lib-file-preview',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './file-preview.component.html',\r\n styleUrl: './file-preview.component.css'\r\n})\r\nexport class FilePreviewComponent implements OnInit, OnDestroy {\r\n field = input.required<any>();\r\n file = input<File | null>(null);\r\n \r\n @Output() closed = new EventEmitter<void>();\r\n\r\n fileDataUrl: any = '';\r\n fileObjectUrl: any = '';\r\n textContent: any = '';\r\n safeFileUrl: SafeResourceUrl | null = null; \r\n constructor(private sanitizer: DomSanitizer) {}\r\n isImage(): any {\r\n return this.file()?.type.startsWith('image/') || false;\r\n }\r\n\r\n isPdf(): any {\r\n return this.file()?.type === 'application/pdf' || false;\r\n }\r\n\r\n isText(): any {\r\n return this.file()?.type.startsWith('text/') || false;\r\n }\r\n\r\n isUnsupported(): any {\r\n return !this.isImage() && !this.isPdf() && !this.isText(); // ✅ Correct\r\n }\r\n\r\n ngOnInit() {\r\n document.body.style.overflow = 'hidden';\r\n this.loadFileContent();\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.style.overflow = '';\r\n if (this.fileObjectUrl) {\r\n URL.revokeObjectURL(this.fileObjectUrl);\r\n }\r\n }\r\n\r\n loadFileContent() {\r\n const currentFile = this.file();\r\n if (!currentFile) return;\r\n\r\n if (this.isImage()) {\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n this.fileDataUrl = e.target?.result as any;\r\n };\r\n reader.readAsDataURL(currentFile);\r\n } else if (this.isPdf()) {\r\n this.fileObjectUrl = URL.createObjectURL(currentFile);\r\n this.safeFileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.fileObjectUrl);\r\n } else if (this.isText()) {\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n this.textContent = e.target?.result as any;\r\n };\r\n reader.readAsText(currentFile);\r\n }\r\n}\r\n\r\n onBackdropClick(event: Event) {\r\n if (event.target === event.currentTarget) {\r\n this.closePreview();\r\n }\r\n }\r\n\r\n closePreview() {\r\n this.closed.emit();\r\n }\r\n\r\n downloadFile() {\r\n const currentFile = this.file();\r\n if (!currentFile) return;\r\n\r\n const url = URL.createObjectURL(currentFile);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = currentFile.name;\r\n link.style.display = 'none';\r\n \r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n \r\n setTimeout(() => URL.revokeObjectURL(url), 100);\r\n }\r\n}","<div class=\"file-preview-modal\" \r\n *ngIf=\"field() && field()?.isVisible\"\r\n [id]=\"field()?.fieldName + '_preview'\"\r\n (click)=\"onBackdropClick($event)\"\r\n (keydown.escape)=\"closePreview()\"\r\n [ngStyle]=\"{\r\n '--modal-background': field()?.previewStyle?.modalBackground || 'rgba(0, 0, 0, 0.9)',\r\n '--modal-z-index': field()?.previewStyle?.zIndex || '10000',\r\n '--modal-width': field()?.previewStyle?.width || '100%',\r\n '--modal-height': field()?.previewStyle?.height || '100%'\r\n }\">\r\n \r\n <!-- Image Preview -->\r\n <div *ngIf=\"isImage()\" \r\n class=\"preview-container image-container\"\r\n [id]=\"field()?.fieldName + '_image_container'\"\r\n [ngStyle]=\"{\r\n '--image-container-background': field()?.previewStyle?.imageContainerBackground || 'transparent',\r\n '--image-container-border-radius': field()?.previewStyle?.imageContainerBorderRadius || '8px',\r\n '--image-container-padding': field()?.previewStyle?.imageContainerPadding || '20px',\r\n '--image-container-margin': field()?.previewStyle?.imageContainerMargin || '0'\r\n }\">\r\n \r\n <button class=\"close-btn\" \r\n type=\"button\"\r\n [id]=\"field()?.fieldName + '_close_btn'\"\r\n (click)=\"closePreview()\" \r\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\r\n [ngStyle]=\"{\r\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\r\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\r\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\r\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\r\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\r\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\r\n }\">×</button>\r\n \r\n <h3 class=\"file-title\"\r\n [ngStyle]=\"{\r\n '--title-color': field()?.previewStyle?.titleColor || '#fff',\r\n '--title-font-family': field()?.previewStyle?.titleFontFamily || 'Mulish',\r\n '--title-font-size': field()?.previewStyle?.titleFontSize || '18px',\r\n '--title-font-weight': field()?.previewStyle?.titleFontWeight || '600',\r\n '--title-margin': field()?.previewStyle?.titleMargin || '0 0 10px 0',\r\n '--title-padding': field()?.previewStyle?.titlePadding || '0 10px'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <img [src]=\"fileDataUrl\" \r\n [alt]=\"file()?.name\" \r\n [id]=\"field()?.fieldName + '_preview_image'\"\r\n class=\"preview-image\"\r\n [ngStyle]=\"{\r\n '--image-max-width': field()?.previewStyle?.imageMaxWidth || '100%',\r\n '--image-max-height': field()?.previewStyle?.imageMaxHeight || '80vh',\r\n '--image-border-radius': field()?.previewStyle?.imageBorderRadius || '8px',\r\n '--image-box-shadow': field()?.previewStyle?.imageBoxShadow || '0 4px 20px rgba(0,0,0,0.5)',\r\n '--image-object-fit': field()?.previewStyle?.imageObjectFit || 'contain'\r\n }\" />\r\n </div>\r\n\r\n <!-- PDF Preview -->\r\n <div *ngIf=\"isPdf()\" \r\n class=\"preview-container pdf-container\"\r\n [id]=\"field()?.fieldName + '_pdf_container'\"\r\n [ngStyle]=\"{\r\n '--pdf-container-background': field()?.previewStyle?.pdfContainerBackground || '#fff',\r\n '--pdf-container-border-radius': field()?.previewStyle?.pdfContainerBorderRadius || '8px',\r\n '--pdf-container-width': field()?.previewStyle?.pdfContainerWidth || '95vw',\r\n '--pdf-container-height': field()?.previewStyle?.pdfContainerHeight || '95vh'\r\n }\">\r\n \r\n <!-- Top-right action buttons -->\r\n <div class=\"pdf-actions-top-right\"\r\n [ngStyle]=\"{\r\n '--actions-top': field()?.previewStyle?.actionsTop || '15px',\r\n '--actions-right': field()?.previewStyle?.actionsRight || '15px',\r\n '--actions-gap': field()?.previewStyle?.actionsGap || '10px'\r\n }\">\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"action-icon-btn close-btn\"\r\n [id]=\"field()?.fieldName + '_close_pdf'\"\r\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\r\n [ngStyle]=\"{\r\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\r\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\r\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\r\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\r\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\r\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\r\n }\">×</button>\r\n </div>\r\n \r\n <!-- File title -->\r\n <h3 class=\"file-title pdf-title\"\r\n [ngStyle]=\"{\r\n '--pdf-title-color': field()?.previewStyle?.pdfTitleColor || '#333',\r\n '--pdf-title-font-family': field()?.previewStyle?.pdfTitleFontFamily || 'Mulish',\r\n '--pdf-title-font-size': field()?.previewStyle?.pdfTitleFontSize || '16px',\r\n '--pdf-title-font-weight': field()?.previewStyle?.pdfTitleFontWeight || '600',\r\n '--pdf-title-margin': field()?.previewStyle?.pdfTitleMargin || '0px 20px 10px 20px',\r\n '--pdf-title-padding': field()?.previewStyle?.pdfTitlePadding || '0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <iframe [src]=\"safeFileUrl\" \r\n [title]=\"file()?.name\" \r\n [id]=\"field()?.fieldName + '_pdf_iframe'\"\r\n class=\"pdf-iframe\"\r\n [ngStyle]=\"{\r\n '--iframe-border': field()?.previewStyle?.iframeBorder || 'none',\r\n '--iframe-border-radius': field()?.previewStyle?.iframeBorderRadius || '0',\r\n '--iframe-width': field()?.previewStyle?.iframeWidth || '100%',\r\n '--iframe-height': field()?.previewStyle?.iframeHeight || 'calc(100% - 80px)',\r\n '--iframe-min-height': field()?.previewStyle?.iframeMinHeight || '600px'\r\n }\"></iframe>\r\n </div>\r\n\r\n <!-- Text Preview -->\r\n <div *ngIf=\"isText()\" \r\n class=\"preview-container text-container\"\r\n [id]=\"field()?.fieldName + '_text_container'\"\r\n [ngStyle]=\"{\r\n '--text-container-background': field()?.previewStyle?.textContainerBackground || '#fff',\r\n '--text-container-border-radius': field()?.previewStyle?.textContainerBorderRadius || '8px',\r\n '--text-container-width': field()?.previewStyle?.textContainerWidth || '95vw',\r\n '--text-container-height': field()?.previewStyle?.textContainerHeight || '95vh'\r\n }\">\r\n \r\n <div class=\"text-header\"\r\n [id]=\"field()?.fieldName + '_text_header'\"\r\n [ngStyle]=\"{\r\n '--text-header-background': field()?.previewStyle?.textHeaderBackground || '#f8f9fa',\r\n '--text-header-border-color': field()?.previewStyle?.textHeaderBorderColor || '#dee2e6',\r\n '--text-header-padding': field()?.previewStyle?.textHeaderPadding || '15px 20px'\r\n }\">\r\n \r\n <h3 class=\"file-title\"\r\n [ngStyle]=\"{\r\n '--text-title-color': field()?.previewStyle?.textTitleColor || '#333',\r\n '--text-title-font-family': field()?.previewStyle?.textTitleFontFamily || 'Mulish',\r\n '--text-title-font-size': field()?.previewStyle?.textTitleFontSize || '16px',\r\n '--text-title-font-weight': field()?.previewStyle?.textTitleFontWeight || '600',\r\n '--text-title-margin': field()?.previewStyle?.textTitleMargin || '0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"btn btn-danger\"\r\n [id]=\"field()?.fieldName + '_close_text'\"\r\n [ngStyle]=\"{\r\n '--btn-danger-background': field()?.previewStyle?.btnDangerBackground || '#dc3545',\r\n '--btn-danger-color': field()?.previewStyle?.btnDangerColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\r\n </div>\r\n \r\n <pre class=\"text-content\"\r\n [id]=\"field()?.fieldName + '_text_content'\"\r\n [ngStyle]=\"{\r\n '--text-content-background': field()?.previewStyle?.textContentBackground || '#fff',\r\n '--text-content-color': field()?.previewStyle?.textContentColor || '#333',\r\n '--text-content-font-family': field()?.previewStyle?.textContentFontFamily || 'Consolas, Monaco, Courier New, monospace',\r\n '--text-content-font-size': field()?.previewStyle?.textContentFontSize || '14px',\r\n '--text-content-line-height': field()?.previewStyle?.textContentLineHeight || '1.5',\r\n '--text-content-padding': field()?.previewStyle?.textContentPadding || '20px',\r\n '--text-content-margin': field()?.previewStyle?.textContentMargin || '0'\r\n }\">{{ textContent }}</pre>\r\n </div>\r\n\r\n <!-- Unsupported File -->\r\n <div *ngIf=\"isUnsupported()\" \r\n class=\"preview-container unsupported-container\"\r\n [id]=\"field()?.fieldName + '_unsupported_container'\"\r\n [ngStyle]=\"{\r\n '--unsupported-background': field()?.previewStyle?.unsupportedBackground || '#fff',\r\n '--unsupported-border-radius': field()?.previewStyle?.unsupportedBorderRadius || '8px',\r\n '--unsupported-padding': field()?.previewStyle?.unsupportedPadding || '40px',\r\n '--unsupported-min-width': field()?.previewStyle?.unsupportedMinWidth || '300px'\r\n }\">\r\n \r\n <div class=\"unsupported-content\">\r\n <h3 [ngStyle]=\"{\r\n '--unsupported-title-color': field()?.previewStyle?.unsupportedTitleColor || '#333',\r\n '--unsupported-title-font-family': field()?.previewStyle?.unsupportedTitleFontFamily || 'Mulish',\r\n '--unsupported-title-font-size': field()?.previewStyle?.unsupportedTitleFontSize || '18px',\r\n '--unsupported-title-font-weight': field()?.previewStyle?.unsupportedTitleFontWeight || '600',\r\n '--unsupported-title-margin': field()?.previewStyle?.unsupportedTitleMargin || '0 0 20px 0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <p [ngStyle]=\"{\r\n '--unsupported-text-color': field()?.previewStyle?.unsupportedTextColor || '#666',\r\n '--unsupported-text-font-size': field()?.previewStyle?.unsupportedTextFontSize || '14px',\r\n '--unsupported-text-margin': field()?.previewStyle?.unsupportedTextMargin || '0 0 30px 0'\r\n }\">{{ field()?.previewStyle?.unsupportedMessage || 'Preview not available for this file type' }}</p>\r\n \r\n <div class=\"unsupported-actions\"\r\n [ngStyle]=\"{\r\n '--actions-gap': field()?.previewStyle?.actionsGap || '15px',\r\n '--actions-justify': field()?.previewStyle?.actionsJustify || 'center'\r\n }\">\r\n \r\n <button (click)=\"downloadFile()\" \r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [id]=\"field()?.fieldName + '_download'\"\r\n [ngStyle]=\"{\r\n '--btn-primary-background': field()?.previewStyle?.btnPrimaryBackground || '#007bff',\r\n '--btn-primary-color': field()?.previewStyle?.btnPrimaryColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.downloadText || 'Download' }}</button>\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n [id]=\"field()?.fieldName + '_close_unsupported'\"\r\n [ngStyle]=\"{\r\n '--btn-secondary-background': field()?.previewStyle?.btnSecondaryBackground || '#6c757d',\r\n '--btn-secondary-color': field()?.previewStyle?.btnSecondaryColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input, ViewChild, ElementRef, Output, EventEmitter, ComponentRef, EnvironmentInjector, ApplicationRef, createComponent, OnInit } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { FilePreviewComponent } from '../file-preview/file-preview.component';\r\n\r\n@Component({\r\n selector: 'lib-upload',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './upload.component.html',\r\n styleUrl: './upload.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: UploadComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class UploadComponent implements ControlValueAccessor {\r\n documentUploaderField = input<any>();\r\n constructor(public masterService : MasterControlService, public appRef: ApplicationRef,\r\n public injector: EnvironmentInjector){}\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n @ViewChild('fileInput') fileInput!: ElementRef<HTMLInputElement>;\r\n\r\n @Output() filesChanged = new EventEmitter<File[]>();\r\n @Output() fileRemoved = new EventEmitter<{ file: File, index: number }>();\r\n @Output() filePreview = new EventEmitter<{ file: File, index: number }>();\r\n public filePreviewRef: ComponentRef<FilePreviewComponent> | null = null;\r\n // ControlValueAccessor properties\r\n uploadedFiles: File[] = [];\r\n value: any = null;\r\n _onChange: any = (value: any) => {};\r\n _onTouched: any = () => {};\r\n disabled: any = false;\r\n\r\n // ControlValueAccessor implementation\r\n writeValue(obj: any) {\r\n this.value = obj;\r\n if (obj && Array.isArray(obj)) {\r\n this.uploadedFiles = obj;\r\n } else if (obj) {\r\n this.uploadedFiles = [obj];\r\n } else {\r\n this.uploadedFiles = [];\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: any) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n // File upload handling\r\n onFileSelected(event: any) {\r\n const files = event.target.files;\r\n if (files && files.length > 0) {\r\n if (this.field()?.multiple) {\r\n this.uploadedFiles = Array.from(files);\r\n this.value = this.uploadedFiles;\r\n } else {\r\n this.uploadedFiles = [files[0]];\r\n this.value = files[0];\r\n }\r\n this._onChange(this.value);\r\n this._onTouched();\r\n }\r\n this.filesChanged.emit(this.uploadedFiles);\r\n }\r\n\r\n removeFile(index: any, event?: Event) {\r\n if (event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n const removedFile = this.uploadedFiles[index];\r\n this.uploadedFiles.splice(index, 1);\r\n if (this.field()?.multiple) {\r\n this.value = [...this.uploadedFiles];\r\n } else {\r\n this.value = this.uploadedFiles.length > 0 ? this.uploadedFiles[0] : null;\r\n }\r\n this._onChange(this.value);\r\n this.fileRemoved.emit({ file: removedFile, index });\r\n this.filesChanged.emit(this.uploadedFiles);\r\n }\r\n\r\n hasFiles(): any {\r\n return this.uploadedFiles.length > 0;\r\n }\r\n\r\n triggerFileInput(): void {\r\n if (this.fileInput) {\r\n this.fileInput.nativeElement.click();\r\n }\r\n }\r\n\r\npreviewFile(file: File, index: number): void {\r\n this.filePreviewRef = createComponent(FilePreviewComponent, {\r\n environmentInjector: this.injector\r\n });\r\n this.filePreviewRef.setInput('field', this.field());\r\n this.filePreviewRef.setInput('file', file);\r\n this.filePreviewRef.instance.closed.subscribe(() => {\r\n this.closeFilePreview();\r\n });\r\n document.body.appendChild(this.filePreviewRef.location.nativeElement);\r\n this.appRef.attachView(this.filePreviewRef.hostView);\r\n }\r\n\r\n closeFilePreview(): void {\r\n if (this.filePreviewRef) {\r\n const element = this.filePreviewRef.location.nativeElement;\r\n if (element.parentNode) {\r\n element.parentNode.removeChild(element);\r\n }\r\n this.appRef.detachView(this.filePreviewRef.hostView);\r\n this.filePreviewRef.destroy();\r\n this.filePreviewRef = null;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.closeFilePreview();\r\n }\r\n}\r\n","<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n />\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn\"\r\n (click)=\"triggerFileInput()\"\r\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [disabled]=\"field()?.isDisable\"\r\n [ngStyle]=\"{\r\n'--upload-width': field()?.controlStyle?.width ,\r\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--upload-border-color': field()?.controlStyle?.borderColor ,\r\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\r\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\r\n'--upload-background-color': field()?.controlStyle?.background ,\r\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\r\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\r\n}\"\r\n >\r\n <ng-container *ngIf=\"field()?.label && !hasFiles(); else fileUploadedTemplate\">\r\n <span class=\"upload-icon\">\r\n <span\r\n ><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.placeHolder }} <span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></span>\r\n </span>\r\n </ng-container>\r\n <ng-template #fileUploadedTemplate>\r\n <div *ngFor=\"let file of uploadedFiles; let i = index\" class=\"uploaded-file d-flex gap-4\" style=\"transform: translate(0px, -3px);\">\r\n <span class=\"mt-2 right-icon\" style=\" white-space: nowrap !important;\r\n overflow: hidden !important;\r\n text-overflow: ellipsis !important;\">\r\n <span><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\r\n <span [title]=\"file.name\">{{ file.name }}</span>\r\n </span>\r\n <div class=\"mt-2 left-icon\">\r\n <span (click)=\"previewFile(file, i);$event.stopPropagation()\"><img src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\" alt=\"\"/></span>\r\n <span (click)=\"removeFile(i, $event);$event.stopPropagation()\" style=\"cursor: pointer;\">\r\n <img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"/>\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </button>\r\n <div class=\"upload-info\" *ngIf=\"field() && field()?.isVisible && field()?.configData?.subText\">{{field()?.configData?.subText}}</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MomentDateAdapter, MomentDateModule } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n\r\nexport const MY_DATE_FORMAT = {\r\n parse: {\r\n dateInput: [\r\n 'DD-MM-YYYY',\r\n 'MM/DD/YYYY',\r\n 'YYYY/MM/DD',\r\n 'DD/MM/YYYY',\r\n 'DD MMM YYYY',\r\n 'DD MMMM YYYY',\r\n 'DD-MMM-YYYY'\r\n ]\r\n },\r\n display: {\r\n dateInput: 'DD-MMM-YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'DD-MMM-YYYY',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'lib-dob',\r\n standalone: true,\r\n imports: [MatInputModule, MatFormFieldModule, CommonModule, MatDatepickerModule, MomentDateModule, ReactiveFormsModule],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DobComponent,\r\n multi: true\r\n },\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: []\r\n },\r\n { provide: MAT_DATE_FORMATS, useValue: MY_DATE_FORMAT }\r\n ],\r\n templateUrl: './dob.component.html',\r\n styleUrl: './dob.component.css',\r\n})\r\nexport class DobComponent implements ControlValueAccessor {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n @Output() blur = new EventEmitter<any>();\r\n @Output() valueChange = new EventEmitter<any>();\r\n @Output() dateSelected = new EventEmitter<any>();\r\n @Output() invalidDate = new EventEmitter<any>();\r\n\r\n constructor(public service : MasterControlService) {}\r\n\r\n dateDivisionFormat(event: any) {\r\n let evt = event.target;\r\n if (evt.value.length > 2 && !evt.value.substr(2, 1).includes('-')) {\r\n evt.value = [evt.value.slice(0, 2), '-', evt.value.slice(2)].join('');\r\n } else if (\r\n evt.value.length > 5 &&\r\n Number(evt.value.substr(3, 2)) &&\r\n !evt.value.substr(5, 1).includes('-')\r\n ) {\r\n evt.value = [evt.value.slice(0, 5), '-', evt.value.slice(5)].join('');\r\n } else if (\r\n evt.value.length > 6 &&\r\n !Number(evt.value.substr(3, 2)) &&\r\n !evt.value.substr(6, 1).includes('-')\r\n ) {\r\n evt.value = [evt.value.slice(0, 6), '-', evt.value.slice(6)].join('');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event? : any): void {\r\n if (!this.service.checkIfValueIsEmpty(event.target.value)) {\r\n if (isNaN(Date.parse(event.target.value))) {\r\n event.target.value = '';\r\n }\r\n }\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n\r\n\r\n // Handle datepicker selection\r\n onDateChange(event: any): void {\r\n if (event.value) {\r\n const selectedDate = event.value;\r\n this.inputValue = selectedDate;\r\n this._onChange(this.inputValue);\r\n \r\n // Emit date selection event\r\n this.dateSelected.emit({\r\n formattedValue: this.inputValue,\r\n dateObject: selectedDate,\r\n isValid: true,\r\n source: 'datepicker'\r\n });\r\n \r\n this.valueChange.emit(this.inputValue);\r\n }\r\n }\r\n\r\n}\r\n","<label\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n class=\"field-lable\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n '--custom-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-font-color': field()?.controlStyle?.color ,\r\n '--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n '--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n '--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n }\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n type=\"text\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder || 'DD-MM-YYYY'\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n [matDatepicker]=\"picker\"\r\n (keyup)=\"dateDivisionFormat($event)\"\r\n [min]=\"field()?.configData?.min\"\r\n [max]=\"field()?.configData?.max\"\r\n [disabled]=\"field()?.isDisable\"\r\n (dateChange)=\"onDateChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n type=\"text\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n [matDatepicker]=\"picker\"\r\n (keyup)=\"dateDivisionFormat($event)\"\r\n [min]=\"field()?.configData?.min\"\r\n [max]=\"field()?.configData?.max\"\r\n [disabled]=\"field()?.isDisable\"\r\n (dateChange)=\"onDateChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\r\n <img\r\n src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/date_picker_icon.svg\"\r\n style=\"width: 16px\"\r\n matDatepickerToggleIcon\r\n />\r\n </mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"field()?.configData?.isInvalid\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-mob-number',\r\n standalone: true,\r\n imports: [CommonModule, MatInputModule, MatFormFieldModule, MatSelectModule, MatOptionModule, ReactiveFormsModule, FormsModule],\r\n templateUrl: './mob-number.component.html',\r\n styleUrl: './mob-number.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: MobNumberComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class MobNumberComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n CountryCode: any = '+91';\r\n selectedOption: any = null;\r\n inputValue: any = null;\r\n searchInputValue: any = null;\r\n filteredOptions:any=[];\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n // Declare Output event emitters here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n ngOnInit(): void {\r\n this.CountryCode = '+91';\r\n this.filteredOptions = this.field().options || [];\r\n }\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event?:any): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n searchInputChange(event: any): void {\r\n this.searchInputValue = event.target.value;\r\n this.filterOptions();\r\n }\r\n\r\n filterOptions(): void {\r\n if (!this.searchInputValue || this.searchInputValue.trim() === '') {\r\n this.filteredOptions = this.field().options || [];\r\n return;\r\n }\r\n const filterValue = this.searchInputValue.toLowerCase();\r\n this.filteredOptions = (this.field().options || []).filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n //clear search input if typed value not found and selected value should be first option\r\n clearSearch(): void {\r\n if (this.filteredOptions.length === 0) {\r\n this.searchInputValue = null;\r\n this.filteredOptions = this.field().options || [];\r\n }\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n<mat-form-field\r\n class=\"w-100 mobile-field\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n '--custom-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-font-color': field()?.controlStyle?.color ,\r\n '--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\"\r\n>\r\n <div matTextPrefix class=\"prefix_alternate_mobile primary\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"d-flex countryCode\">\r\n <mat-select class=\"country_code_input\" [(value)]=\"CountryCode\" (click)=\"$event.stopPropagation()\">\r\n <mat-select-trigger>\r\n {{ CountryCode }}\r\n </mat-select-trigger>\r\n <mat-option (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <div class=\"search-input-wrapper\">\r\n <img src=\"https://cdn.godigit.com/retail-life/search.svg\" alt=\"search\" class=\"search-icon\" />\r\n <input\r\n type=\"text\"\r\n placeholder=\"Search...\"\r\n [(ngModel)]=\"searchInputValue\"\r\n (click)=\"$event.stopPropagation()\"\r\n (input)=\"searchInputChange($event)\"\r\n (blur)=\"clearSearch()\"\r\n class=\"country-code-search-input\"\r\n />\r\n </div>\r\n </mat-option>\r\n @for (option of filteredOptions; track option.value) {\r\n <mat-option [value]=\"option.value\">{{ option.label }}</mat-option>\r\n }\r\n </mat-select>\r\n </div>\r\n <!-- <span class=\"seperation_line\" *ngIf=\"true\"></span> -->\r\n </div>\r\n\r\n <div (click)=\"$event.stopPropagation()\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n </div>\r\n\r\n\r\n <span matSuffix class=\"p-3\" *ngIf=\"false\">\r\n <img src=\"https://cdn.godigit.com/retail-life/edit-icon.svg\" alt=\"\" />\r\n </span>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-info',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './info.component.html',\r\n styleUrl: './info.component.css'\r\n})\r\nexport class InfoComponent {\r\n constructor(public masterService : MasterControlService){}\r\n field: any = input.required<any>();\r\n}\r\n","<div class=\"info-background\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\r\n '--custom-info-bg-color': field()?.controlStyle?.background ,\r\n '--custom-info-border-radius': field()?.controlStyle?.borderRadius,\r\n '--custom-info-border-width': field()?.controlStyle?.borderWidth,\r\n '--custom-info-border-color': field()?.controlStyle?.borderColor,\r\n '--custom-info-border-style': field()?.controlStyle?.borderStyle,\r\n }\">\r\n <span style=\"display: flex; align-items: flex-start; gap: 16px; padding-top: 16px; padding-bottom: 16px;\">\r\n <img\r\n class=\"info-nudge-image mb-1\"\r\n [src]=\"field()?.controlStyle?.nudgeDisplayImage\"\r\n alt=\"\"\r\n />\r\n <span class=\"info-nudge-text\" [ngStyle]=\"{\r\n '--custom-info-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-info-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-info-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-info-font-color': field()?.controlStyle?.color ,\r\n }\">{{ field()?.label }}</span>\r\n </span>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\r\n\r\n\r\n@Component({\r\n selector: 'lib-checkbox',\r\n standalone: true,\r\n imports: [CommonModule , MatCheckboxModule, ReactiveFormsModule, CustomizedTooltipDirective],\r\n templateUrl: './checkbox.component.html',\r\n styleUrl: './checkbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: CheckboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n field: any = input.required<any>();\r\n\r\n inputValue: any = false;\r\n reactiveFormControlobject : any = input<any>();\r\n @Output() change = new EventEmitter<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onCheckboxChange(event: any): void {\r\n // const target = event.target as HTMLInputElement;\r\n this.inputValue = event.checked;\r\n this._onChange(this.inputValue);\r\n this._unTouched();\r\n // this.change.emit({ event, field: this.field() });\r\n this.change.emit(this.inputValue);\r\n const css = this.field()?.controlStyle;\r\n if (event.checked) {\r\n document.body.style.setProperty('--custom-checkbox-border-focus', css?.focusBorderColor || '#ffbb00');\r\n document.body.style.setProperty('--custom-checkbox-bg-color-focus', css?.focusBackground || '#ffbb00');\r\n document.body.style.setProperty('--custom-checkbox-border-radius-checkbox', css?.borderRadius || '4px');\r\n document.body.style.setProperty('--custom-font-size', css?.fontSize || '16px');\r\n document.body.style.setProperty('--custom-font-weight', css?.fontWeight || '400');\r\n document.body.style.setProperty('--custom-font-family', css?.fontFamily || 'Mulish');\r\n document.body.style.setProperty('--custom-font-color', css?.color || '#444');\r\n } else {\r\n document.body.style.setProperty('--custom-border-color-focus', css?.focusBorderColor || '#ddd');\r\n document.body.style.setProperty('--custom-bg-color-focus', css?.focusBackground || '#999');\r\n document.body.style.setProperty('--custom-border-radius-checkbox', css?.borderRadius || '4px');\r\n }\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","@if(reactiveFormControlobject()) {\r\n<mat-checkbox *ngIf=\"field() && field()?.isVisible\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\r\n [disabled]=\"field()?.isDisable\" [required]=\"field()?.validators?.isRequired\" [checked]=\"inputValue\" (keydown.enter)=\"$event.preventDefault()\"\r\n [formControl]=\"reactiveFormControlobject()\" (change)=\"onCheckboxChange($event)\" [ngStyle]=\"{\r\n '--checkbox-border-radius': field()?.controlStyle?.borderRadius,\r\n '--checkbox-bg-color': field()?.controlStyle?.background,\r\n '--checkbox-border-color': field()?.controlStyle?.borderColor,\r\n '--checkbox-border-color-focus': field()?.controlStyle?.focusBorderColor,\r\n '--checkbox-bg-color-focus': field()?.controlStyle?.focusBackground,\r\n '--checkbox-font-size': field()?.controlStyle?.fontSize,\r\n '--checkbox-font-weight': field()?.controlStyle?.fontWeight,\r\n '--checkbox-font-color': field()?.controlStyle?.color,\r\n '--checkbox-font-family': field()?.controlStyle?.fontFamily,\r\n '--checkbox-border-width': field()?.controlStyle?.borderWidth,\r\n '--checkbox-border-color-hover': field()?.controlStyle?.hoverBorderColor,\r\n '--checkbox-border-color-error': field()?.controlStyle?.errorBorderColor,\r\n '--checkbox-font-color-disabled': field()?.controlStyle?.disableColor,\r\n '--checkbox-bg-color-disabled': field()?.controlStyle?.disableBackground\r\n }\">\r\n {{ field()?.label }}\r\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\r\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\r\n <img [src]=\"field().imageUrl\" class=\"toggle-img mx-1\" />\r\n </span>\r\n <ng-template #HtmlContent>\r\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\r\n </ng-template>\r\n</mat-checkbox>\r\n}@else {\r\n<mat-checkbox *ngIf=\"field() && field()?.isVisible\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\r\n [disabled]=\"field()?.isDisable\" [required]=\"field()?.validators?.isRequired\" [checked]=\"inputValue\"\r\n (change)=\"onCheckboxChange($event)\" [ngStyle]=\"{\r\n '--checkbox-border-radius': field()?.controlStyle?.borderRadius,\r\n '--checkbox-bg-color': field()?.controlStyle?.background,\r\n '--checkbox-border-color': field()?.controlStyle?.borderColor,\r\n '--checkbox-border-color-focus': field()?.controlStyle?.focusBorderColor,\r\n '--checkbox-bg-color-focus': field()?.controlStyle?.focusBackground,\r\n '--checkbox-font-size': field()?.controlStyle?.fontSize,\r\n '--checkbox-font-weight': field()?.controlStyle?.fontWeight,\r\n '--checkbox-font-color': field()?.controlStyle?.color,\r\n '--checkbox-font-family': field()?.controlStyle?.fontFamily,\r\n '--checkbox-border-width': field()?.controlStyle?.borderWidth,\r\n '--checkbox-border-color-hover': field()?.controlStyle?.hoverBorderColor,\r\n '--checkbox-border-color-error': field()?.controlStyle?.errorBorderColor,\r\n '--checkbox-font-color-disabled': field()?.controlStyle?.disableColor,\r\n '--checkbox-bg-color-disabled': field()?.controlStyle?.disableBackground\r\n }\">\r\n {{ field()?.label }}\r\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\r\n</mat-checkbox>\r\n}\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{field()?.validators?.isRequiredMessage}}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-textarea',\r\n standalone: true,\r\n imports: [\r\n CommonModule, \r\n ReactiveFormsModule,\r\n FormsModule\r\n ],\r\n templateUrl: './textarea.component.html',\r\n styleUrl: './textarea.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextareaComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TextareaComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n // ControlValueAccessor properties\r\n textareaValue: any = null;\r\n _onChange: any = (textareaValue: any) => {};\r\n _onTouched: any = () => {};\r\n\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n // ControlValueAccessor implementation\r\n writeValue(obj: any): void {\r\n this.textareaValue = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {}\r\n\r\n onTextareaChange(event: any): void {\r\n this.textareaValue = event.target.value;\r\n this._onChange(this.textareaValue);\r\n }\r\n\r\n onTextareaBlur(event?: any): void {\r\n this._onTouched();\r\n this.blur.emit(event);\r\n }\r\n}\r\n","@if(reactiveFormControlobject()) {\r\n<textarea\r\n[ngStyle]=\"{\r\n '--custom-textarea-width': field()?.controlStyle?.width ,\r\n '--custom-textarea-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-textarea-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-textarea-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-textarea-border-width-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-textarea-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-textarea-caret-color': field()?.controlStyle?.caretColor ,\r\n '--custom-textarea-font-color': field()?.controlStyle?.color ,\r\n }\"\r\n*ngIf=\"field() && field()?.isVisible\"\r\n cols=\"40\"\r\n rows=\"3\"\r\n autocomplete=\"nope\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n (input)=\"onTextareaChange($event)\"\r\n (blur)=\"onTextareaBlur($event)\"\r\n [value]=\"textareaValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n></textarea>\r\n}@else {\r\n<textarea\r\n[ngStyle]=\"{\r\n '--custom-textarea-width': field()?.controlStyle?.width ,\r\n '--custom-textarea-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-textarea-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-textarea-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-textarea-border-width-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-textarea-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-textarea-caret-color': field()?.controlStyle?.caretColor ,\r\n '--custom-textarea-font-color': field()?.controlStyle?.color ,\r\n }\"\r\n*ngIf=\"field() && field()?.isVisible\"\r\n cols=\"40\"\r\n rows=\"3\"\r\n autocomplete=\"nope\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n (input)=\"onTextareaChange($event)\"\r\n (blur)=\"onTextareaBlur($event)\"\r\n [value]=\"textareaValue\"\r\n></textarea>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { MatTabChangeEvent, MatTabsModule } from '@angular/material/tabs';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-tab',\r\n standalone: true,\r\n imports: [MatTabsModule,CommonModule],\r\n templateUrl: './tab.component.html',\r\n styleUrl: './tab.component.css'\r\n})\r\nexport class TabComponent {\r\nfield : any = input.required<any>();\r\n@Output() selectedIndexChange = new EventEmitter<number>();\r\nselectedIndex = 0;\r\n\r\nconstructor(public masterService : MasterControlService){}\r\n\r\nngOnInit(){\r\n this.field().selectedIndex = this.selectedIndex;\r\n}\r\n onTabChange(event: number) {\r\n this.selectedIndex = event;\r\n this.field().selectedIndex = this.selectedIndex;\r\n}\r\n}\r\n","<mat-tab-group *ngIf=\"field() && field()?.isVisible\" class=\"vertical-tab-indicator\"\r\n[ngClass]=\"{'vertical-class': field()?.configData?.isVerticalTab && field()?.configData?.isVerticalTab === 'true'}\"\r\n[ngStyle]=\"{\r\n '--tab-border-color': field()?.controlStyle?.borderColor ,\r\n '--tab-border-width': field()?.controlStyle?.borderWidth,\r\n '--tab-font-size': field()?.controlStyle?.fontSize,\r\n '--tab-font-weight': field()?.controlStyle?.fontWeight,\r\n '--tab-font-color': field()?.controlStyle?.color,\r\n }\"\r\n[(selectedIndex)]=\"selectedIndex\" (selectedIndexChange)=\"onTabChange($event)\">\r\n <mat-tab *ngFor=\"let data of field()?.options; let i = index\">\r\n <ng-template mat-tab-label>\r\n <img [src]=\"data.value\" alt=\"\" class=\"mx-2\">\r\n {{ data.label }}\r\n </ng-template>\r\n <ng-content select=\"tab[i]\"></ng-content>\r\n </mat-tab>\r\n</mat-tab-group>\r\n","import { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, ControlValueAccessor } from '@angular/forms';\r\nimport { MatSelectChange } from '@angular/material/select';\r\n@Component({\r\n selector: 'lib-autocomplete',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatInputModule,\r\n MatAutocompleteModule,\r\n MatOptionModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './autocomplete.component.html',\r\n styleUrl: './autocomplete.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: AutocompleteComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AutocompleteComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService) {}\r\n field: any = input.required<any>();\r\n selectedOption: any = null;\r\n filteredOptions:any=[];\r\n inputValue: any = '';\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n // Output events for parent component communication\r\n @Output() blur = new EventEmitter<any>();\r\n @Output() selectionChanged = new EventEmitter<any>();\r\n @Output() valueChanged = new EventEmitter<any>();\r\n @Output() optionSelected = new EventEmitter<any>();\r\n\r\n\r\n ngOnInit() {\r\n this.filteredOptions = this.field().options || [];\r\n // Subscribe to valueChanges if using reactive forms\r\n if (this.reactiveFormControlobject && this.reactiveFormControlobject.valueChanges) {\r\n this.reactiveFormControlobject.valueChanges.subscribe((value: any) => {\r\n this.onInputChange(value);\r\n });\r\n }\r\n }\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n if (value !== undefined && value !== null) {\r\n // If value is an object, extract the label\r\n if (typeof value === 'object' && value.label) {\r\n this.inputValue = value.label;\r\n this.selectedOption = value;\r\n }\r\n else {\r\n let option = this.field().options?.find((opt: any) =>\r\n opt.value === value\r\n );\r\n if (!option) {\r\n option = this.field().options?.find((opt: any) =>\r\n opt.label === value\r\n );\r\n }\r\n if (option) {\r\n this.inputValue = option.label;\r\n this.selectedOption = option;\r\n } else {\r\n this.inputValue = value.toString();\r\n this.selectedOption = { label: value.toString(), value: value };\r\n }\r\n }\r\n } else {\r\n this.inputValue = '';\r\n this.selectedOption = null;\r\n }\r\n if(typeof this.inputValue === 'string' && value !== null) {\r\n this.filterOptions();\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // Handle disabled state if needed\r\n }\r\n\r\n onInputChange(value: any): void {\r\n\r\n this.inputValue = value;\r\n if(typeof this.inputValue === 'string' && value !== null) {\r\n this.filterOptions();\r\n }\r\n\r\n // Find matching option\r\n const matchingOption = this.field().options?.find((option: any) =>\r\n option.label.toLowerCase() === value.toLowerCase()\r\n );\r\n\r\n if (matchingOption) {\r\n this.selectedOption = matchingOption;\r\n this.onChange(matchingOption.value);\r\n } else {\r\n this.selectedOption = null;\r\n this.onChange(value);\r\n }\r\n\r\n this.onTouched();\r\n this.valueChanged.emit(value);\r\n this.selectionChanged.emit(this.selectedOption);\r\n }\r\n\r\n onOptionSelected(option: any): void {\r\n this.selectedOption = option;\r\n this.inputValue = option.label;\r\n this.onChange(option.value);\r\n this.onTouched();\r\n\r\n // Emit events for parent component\r\n this.optionSelected.emit(option);\r\n this.selectionChanged.emit(option);\r\n this.valueChanged.emit(option.label);\r\n }\r\n\r\n onBlur(event?: any): void {\r\n this.onTouched();\r\n this.blur.emit(event);\r\n }\r\n\r\n filterOptions(): void {\r\n if (!this.inputValue || this.inputValue.trim() === '') {\r\n this.filteredOptions = this.field().options || [];\r\n return;\r\n }\r\n\r\n const filterValue = this.inputValue.toLowerCase();\r\n this.filteredOptions = (this.field().options || []).filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n displayFn = (option: any): string => {\r\n return option && typeof option === 'object' ? option.label : option || '';\r\n }\r\n\r\n // Utility method to get the current selected value\r\n getCurrentValue(): any {\r\n return this.selectedOption ? this.selectedOption.value : this.inputValue;\r\n }\r\n\r\n // Utility method to get the current selected option\r\n getCurrentOption(): any {\r\n return this.selectedOption;\r\n }\r\n\r\n // Method to set value programmatically (useful for parent components)\r\n setValue(value: any): void {\r\n this.writeValue(value);\r\n this.onChange(this.getCurrentValue());\r\n }\r\n\r\n onInputChangeForReactiveForms(event : any) {\r\n this.inputValue = event?.target?.value;\r\n if(typeof this.inputValue === 'string' && event?.target?.value !== null) {\r\n this.filterOptions();\r\n }\r\n\r\n // Find matching option\r\n const matchingOption = this.field().options?.find((option: any) =>\r\n option.label.toLowerCase() === event?.target?.value.toLowerCase()\r\n );\r\n\r\n if (matchingOption) {\r\n this.selectedOption = matchingOption;\r\n this.onChange(matchingOption.value);\r\n } else {\r\n this.selectedOption = null;\r\n this.onChange(event?.target?.value);\r\n }\r\n\r\n this.onTouched();\r\n this.valueChanged.emit(event?.target?.value);\r\n this.selectionChanged.emit(this.selectedOption);\r\n }\r\n\r\n onFocus(): void {\r\n this.filterOptions();\r\n }\r\n}\r\n"," <label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n <mat-form-field class=\"w-100 show-arrow\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n type=\"text\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [matAutocomplete]=\"auto\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n (input)=\"onInputChangeForReactiveForms($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n type=\"text\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [matAutocomplete]=\"auto\"\r\n [ngModel]=\"inputValue\"\r\n (ngModelChange)=\"onInputChange($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur($event)\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n />\r\n }\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"onOptionSelected($event.option.value)\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{ option.label }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error>\r\n {{ field().validators.requiredMessage }}\r\n </mat-error>\r\n </mat-form-field>\r\n <div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n </div>\r\n <div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n </div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-multiple-select',\r\n standalone: true,\r\n imports: [\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatChipsModule,\r\n MatIconModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './multiple-select.component.html',\r\n styleUrl: './multiple-select.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: MultipleSelectComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class MultipleSelectComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService) {}\r\n field: any = input.required<any>();\r\n selectedValues: any = [];\r\n visibleChip: any = [];\r\n remainingCount: any = 0;\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n // Output events for parent component communication\r\n @Output() selectionChange = new EventEmitter<any>();\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n ngOnInit(): void {\r\n // Initialize inputValue with a default or initial value if needed\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n selectionChanged(event: MatSelectChange) {\r\n this.inputValue = event.value;\r\n this.visibleChip = event.value;\r\n this.onChange(event.value);\r\n this.onTouched();\r\n this.onSelectionChange();\r\n this.selectionChange.emit(event.value);\r\n }\r\n\r\n removeItem(item: any) {\r\n const maxVisible = 2;\r\n this.visibleChip = this.visibleChip.filter(\r\n (element: any) => element !== item\r\n );\r\n this.selectedValues = this.selectedValues.filter(\r\n (element: any) => element !== item\r\n );\r\n this.inputValue = this.inputValue.filter(\r\n (element: any) => element !== item\r\n );\r\n const found = this.field().options.find((i:any) => i.label === item);\r\n if (found) {\r\n found.value = false;\r\n }\r\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\r\n this.remainingCount = this.selectedValues.length - maxVisible;\r\n this.onChange(this.inputValue);\r\n this.onTouched();\r\n }\r\n onSelectionChange() {\r\n const maxVisible = 2;\r\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\r\n this.remainingCount = this.selectedValues.length - maxVisible;\r\n }\r\n onSelectOpened(opened: boolean) {\r\n const css = this.field()?.controlStyle;\r\n if (opened) {\r\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\r\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\r\n } else {\r\n document.body.style.removeProperty('--custom-select-option-background-color');\r\n document.body.style.removeProperty('--custom-select-option-font-color');\r\n document.body.style.removeProperty('--custom-select-option-font-weight');\r\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\r\n }\r\n}\r\n\r\n showLabel(option : any) {\r\n let selectedLabel : any = option;\r\n if(!this.masterService.checkIfValueIsEmpty(this.field()?.options)) {\r\n let filteredArr : any = this.field()?.options.filter((singleObj : any) => singleObj['value'] === option);\r\n if(!this.masterService.checkIfValueIsEmpty(filteredArr) && !this.masterService.checkIfValueIsEmpty(filteredArr[0]?.label)) {\r\n selectedLabel = filteredArr[0].label\r\n }\r\n }\r\n return selectedLabel;\r\n }\r\n\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n<mat-form-field\r\n appearance=\"outline\"\r\n class=\"input-full-width full-width w-100 multi-select\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [value]=\"inputValue\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-grid>\r\n @for (option of inputValue; track option) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ showLabel(option) }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip-row>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-grid>\r\n </mat-select-trigger>\r\n @for (option of field()?.options; track option.label) {\r\n <mat-option [value]=\"option.value\">\r\n {{ option.label }} <img *ngIf=\"option.image\" [src]=\"option.image\" alt=\"\" style=\"width:20px; height:20px; float: inline-end;\" />\r\n </mat-option>\r\n }\r\n </mat-select>\r\n }@else {\r\n <mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [value]=\"inputValue\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-grid>\r\n @for (option of inputValue; track option) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ showLabel(option) }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip-row>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-grid>\r\n </mat-select-trigger>\r\n @for (option of field()?.options; track option.label) {\r\n <mat-option [value]=\"option.value\">\r\n {{ option.label }} <img *ngIf=\"option.image\" [src]=\"option.image\" alt=\"\" style=\"width:20px; height:20px; float: inline-end;\" />\r\n </mat-option>\r\n }\r\n </mat-select>\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-select-textbox',\r\n standalone: true,\r\n imports: [MatInputModule, MatSelectModule, MatFormFieldModule, CommonModule, MatInputModule, ReactiveFormsModule],\r\n templateUrl: './select-textbox.component.html',\r\n styleUrl: './select-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SelectTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SelectTextboxComponent {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n selectValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n constructor(public masterControlService : MasterControlService) {}\r\n\r\n writeValue(obj: any): void{\r\n if (obj && typeof obj === 'object') {\r\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(obj.textValue, true) : (obj.textValue || null);\r\n this.selectValue = obj.selectValue || null;\r\n } else {\r\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(obj, true) : (obj || null);;\r\n }\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n if(this.field()?.configData?.isAllowNumbersInTextFields) {\r\n // Remove any non-numeric characters from the input\r\n let numericValue = event.target.value.replace(/[^0-9]/g, '');\r\n event.target.value = numericValue;\r\n event.target.value = numericValue;\r\n }\r\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(event.target.value, true) : event.target.value;\r\n this.emitValue();\r\n }\r\n\r\n onSelectChange(event: MatSelectChange): void {\r\n this.selectValue = event.value;\r\n this.emitValue();\r\n }\r\n\r\n private emitValue(): void {\r\n const value = {\r\n textValue: this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(this.inputValue, true) : this.inputValue,\r\n selectValue: this.selectValue\r\n };\r\n this._onChange(value);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n\r\n onSelectOpened(opened: boolean) {\r\n const css = this.field()?.controlStyle;\r\n if (opened) {\r\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\r\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\r\n } else {\r\n document.body.style.removeProperty('--custom-select-option-background-color');\r\n document.body.style.removeProperty('--custom-select-option-font-color');\r\n document.body.style.removeProperty('--custom-select-option-font-weight');\r\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\r\n }\r\n}\r\n\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 auto-width\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n@if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n class=\"vertically-align-middle\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n}@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n class=\"vertically-align-middle\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n}\r\n <span matPrefix class=\"rupee-symbol\">₹</span>\r\n <div matSuffix class=\"input-select\">\r\n <!-- <mat-form-field> -->\r\n <mat-select\r\n [value]=\"selectValue\"\r\n [disabled]=\"field()?.configData?.isDisableDropdown\"\r\n (selectionChange)=\"onSelectChange($event)\"\r\n (openedChange)=\"onSelectOpened($event)\">\r\n <mat-option *ngFor=\"let options of field()?.options\" [value]=\"options.value\">\r\n {{ options.label }}\r\n </mat-option>\r\n </mat-select>\r\n <!-- </mat-form-field> -->\r\n </div>\r\n <!-- <span matSuffix class=\"mx-3 right-amount-text\"> ₹ 3.50 L </span> -->\r\n</mat-form-field>\r\n","import { Component, input } from '@angular/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-otp-textbox',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatCheckboxModule,\r\n MatSelectModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './otp-textbox.component.html',\r\n styleUrl: './otp-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: OtpTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class OtpTextboxComponent {\r\nconstructor(){}\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n <div matSuffix class=\"get-otp mx-2\">\r\n <span class=\"mt-2\">Get OTP</span>\r\n </div>\r\n <div matSuffix class=\"verity-otp mx-2\" *ngIf=\"false\">\r\n <span class=\"mx-1\">Verify</span>\r\n </div>\r\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\r\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\r\n </span>\r\n</mat-form-field>\r\n<div >\r\n <span class=\"checkbox-tag\">Tag as:</span>\r\n <span *ngFor=\"let options of field()?.options\" class=\"checkbox\">\r\n <mat-checkbox class=\"optional-checkbox\">\r\n {{options.label}}\r\n </mat-checkbox>\r\n </span>\r\n</div>\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-amount-textbox',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatInputModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './amount-textbox.component.html',\r\n styleUrl: './amount-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: AmountTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AmountTextboxComponent implements ControlValueAccessor {\r\n constructor(public sharedService : MasterControlService){}\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n get isCommaAdded(): any {\r\n return this.field()?.configData?.isCommaAllowed !== undefined ?\r\n this.field()?.configData?.isCommaAllowed : true;\r\n }\r\n\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n // ControlValueAccessor implementation\r\n writeValue(obj: any): void {\r\n if (obj !== null && obj !== undefined) {\r\n const rawValue = obj.toString();\r\n this.inputValue = rawValue;\r\n } else {\r\n this.inputValue = null;\r\n }\r\n }\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n const inputElement = event.target;\r\n const cursorPosition = inputElement.selectionStart;\r\n const oldValue = inputElement.value;\r\n const rawValue = oldValue.replace(/,/g, '');\r\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\r\n this.inputValue = rawValue;\r\n if (this.isCommaAdded && rawValue && !isNaN(parseFloat(rawValue))) {\r\n const formattedValue = this.sharedService.addComasToNumberValues(rawValue);\r\n const newCursorPosition = this.calculateNewCursorPosition(\r\n oldValue,\r\n formattedValue,\r\n cursorPosition\r\n );\r\n inputElement.value = formattedValue;\r\n setTimeout(() => {\r\n inputElement.setSelectionRange(newCursorPosition, newCursorPosition);\r\n }, 0);\r\n }\r\n this._onChange(this.inputValue);\r\n } else {\r\n const revertValue = this.isCommaAdded && this.inputValue ?\r\n this.sharedService.addComasToNumberValues(this.inputValue) : this.inputValue || '';\r\n inputElement.value = revertValue;\r\n setTimeout(() => {\r\n const safeCursorPos = Math.min(cursorPosition, revertValue.length);\r\n inputElement.setSelectionRange(safeCursorPos, safeCursorPos);\r\n }, 0);\r\n }\r\n }\r\n\r\n onInputBlur(event?: any): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n onKeyDown(event: KeyboardEvent): void {\r\n const inputElement = event.target as HTMLInputElement;\r\n const cursorPosition = inputElement.selectionStart || 0;\r\n const value = inputElement.value;\r\n if (event.key === 'Backspace' && cursorPosition > 0) {\r\n if (value[cursorPosition - 1] === ',') {\r\n event.preventDefault();\r\n const newValue = value.substring(0, cursorPosition - 2) + value.substring(cursorPosition);\r\n const rawValue = newValue.replace(/,/g, '');\r\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\r\n this.inputValue = rawValue;\r\n const formattedValue = this.isCommaAdded && rawValue ? this.sharedService.addComasToNumberValues(rawValue) : rawValue;\r\n inputElement.value = formattedValue;\r\n setTimeout(() => {\r\n const newCursorPos = Math.max(0, cursorPosition - 2);\r\n inputElement.setSelectionRange(newCursorPos, newCursorPos);\r\n }, 0);\r\n\r\n this._onChange(this.inputValue);\r\n }\r\n }\r\n }\r\n if (event.key === 'Delete' && cursorPosition < value.length) {\r\n if (value[cursorPosition] === ',') {\r\n event.preventDefault();\r\n if (cursorPosition + 1 < value.length) {\r\n const newValue = value.substring(0, cursorPosition) + value.substring(cursorPosition + 2);\r\n const rawValue = newValue.replace(/,/g, '');\r\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\r\n this.inputValue = rawValue;\r\n const formattedValue = this.isCommaAdded && rawValue ? this.sharedService.addComasToNumberValues(rawValue) : rawValue;\r\n inputElement.value = formattedValue;\r\n setTimeout(() => {\r\n inputElement.setSelectionRange(cursorPosition, cursorPosition);\r\n }, 0);\r\n this._onChange(this.inputValue);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Add commas to number for Indian format\r\n // addCommasToNumber(value: any | number): any {\r\n // if (!value || value === '') return '';\r\n // const stringValue = value.toString();\r\n // const parts = stringValue.split('.');\r\n // let integerPart = parts[0];\r\n // if (integerPart.length > 3) {\r\n // const lastThreeDigits = integerPart.slice(-3);\r\n // const remainingDigits = integerPart.slice(0, -3);\r\n // const formattedRemaining = remainingDigits.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',');\r\n // integerPart = formattedRemaining + ',' + lastThreeDigits;\r\n // }\r\n\r\n // return parts[1] ? integerPart + '.' + parts[1] : integerPart;\r\n // }\r\n calculateNewCursorPosition(oldValue: string, newValue: string, oldCursorPosition: number): number {\r\n if (oldCursorPosition === 0) {\r\n return 0;\r\n }\r\n if (oldCursorPosition >= oldValue.length) {\r\n return newValue.length;\r\n }\r\n let digitsBeforeCursor = 0;\r\n for (let i = 0; i < oldCursorPosition; i++) {\r\n const char = oldValue[i];\r\n if (char !== ',') {\r\n digitsBeforeCursor++;\r\n }\r\n }\r\n let digitCount = 0;\r\n let newPosition = 0;\r\n for (let i = 0; i < newValue.length; i++) {\r\n const char = newValue[i];\r\n if (char !== ',') {\r\n digitCount++;\r\n if (digitCount === digitsBeforeCursor) {\r\n newPosition = i + 1;\r\n break;\r\n }\r\n }\r\n if (digitCount < digitsBeforeCursor) {\r\n newPosition = i + 1;\r\n }\r\n }\r\n return Math.min(newPosition, newValue.length);\r\n }\r\n\r\n // Get the display value with commas if enabled\r\n getDisplayValue(): any {\r\n if (!this.inputValue) return '';\r\n if (this.isCommaAdded && !isNaN(parseFloat(this.inputValue))) {\r\n return this.sharedService.addComasToNumberValues(this.inputValue);\r\n }\r\n return this.inputValue;\r\n }\r\n\r\n // Format amount to Indian currency format\r\n formatIndianCurrency(amount: number | string): string {\r\n if (!amount || amount === '') return '';\r\n\r\n const numAmount = typeof amount === 'string' ? parseFloat(amount.replace(/,/g, '')) : amount;\r\n if (isNaN(numAmount) || numAmount === 0) return '₹';\r\n if (numAmount >= 10000000) {\r\n const crores = (numAmount / 10000000).toFixed(2);\r\n return `₹ ${crores} Cr`;\r\n } else if (numAmount >= 100000) {\r\n const lakhs = (numAmount / 100000).toFixed(2);\r\n return `₹ ${lakhs} L`;\r\n } else if (numAmount >= 1000) {\r\n const thousands = (numAmount / 1000).toFixed(2);\r\n return `₹ ${thousands} K`;\r\n } else {\r\n return `₹ ${numAmount.toFixed(2)}`;\r\n }\r\n }\r\n\r\n // Get formatted display value\r\n getFormattedAmount(): string {\r\n return this.formatIndianCurrency(this.sharedService.removeComasAndCurrencySymbolFromNumberValues(this.inputValue));\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\"\r\n >{{ field().label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n <mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n<input\r\n matInput\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"getDisplayValue()\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"getDisplayValue()\"\r\n />\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n <span matPrefix class=\"rupee-symbol px-2\">₹</span>\r\n <span matSuffix class=\"me-2 right-amount-text\" *ngIf=\"inputValue\">{{ getFormattedAmount() }}</span>\r\n </mat-form-field>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\r\n\r\n@Component({\r\n selector: 'lib-suffix-textbox',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n ReactiveFormsModule,\r\n CustomizedTooltipDirective\r\n ],\r\n templateUrl: './suffix-textbox.component.html',\r\n styleUrl: './suffix-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SuffixTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SuffixTextboxComponent {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span>\r\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\r\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\r\n </span>\r\n <ng-template #HtmlContent>\r\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\r\n </ng-template>\r\n</label>\r\n<mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n <input matInput autocomplete=\"none\" [type]=\"field()?.controlType\" [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\" [placeholder]=\"field()?.placeHolder\" [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\" [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\" [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\" (blur)=\"onInputBlur()\" [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\" />\r\n }@else {\r\n <input matInput autocomplete=\"none\" [type]=\"field()?.controlType\" [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\" [placeholder]=\"field()?.placeHolder\" [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\" [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\" [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\" (blur)=\"onInputBlur()\" [value]=\"inputValue\" />\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\r\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\r\n </span>\r\n <span matSuffix class=\"mx-3 right-input-text\" *ngIf=\"field().configData?.suffix\"> {{field().configData?.suffix}}\r\n </span>\r\n</mat-form-field>\r\n<div *ngIf=\"field().configData?.isShowTagAs\">\r\n <span class=\"checkbox-tag\">Tag as:</span>\r\n <span *ngFor=\"let option of field()?.options\" class=\"checkbox\">\r\n <mat-checkbox class=\"optional-checkbox\">\r\n {{ option.label }}\r\n </mat-checkbox>\r\n </span>\r\n</div>\r\n<div *ngIf=\"field().configData?.infoMessage\">\r\n <span class=\"below-input-text\">{{field().configData?.infoMessage}}</span>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-otp-mob-number',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './otp-mob-number.component.html',\r\n styleUrl: './otp-mob-number.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: OtpMobNumberComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class OtpMobNumberComponent {\r\n CountryCode: any = '+91';\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 mobile-field\"\r\n appearance=\"outline\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\r\n <div class=\"d-flex countryCode\">\r\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\r\n /></span>\r\n </div>\r\n </div>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n}\r\n \r\n <div matSuffix class=\"get-otp mx-2\">\r\n <span class=\"mt-2\">Get OTP</span>\r\n </div>\r\n <div matSuffix class=\"verity-otp mx-2\" *ngIf=\"false\">\r\n <span class=\"mx-1\">Verify</span>\r\n </div>\r\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\r\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\r\n </span>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<span class=\"success-text\" *ngIf=\"false\">Phone Number Verified</span>\r\n<span class=\"success-text\">\r\n <img src=\"https://cdn.godigit.com/retail-life/otp-circle-oui.svg\" alt=\"\" />\r\n OTP Sent\r\n</span>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-tag-mob-number',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatCheckboxModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './tag-mob-number.component.html',\r\n styleUrl: './tag-mob-number.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TagMobNumberComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TagMobNumberComponent {\r\n CountryCode: any = '+91';\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 mobile-field\"\r\n appearance=\"outline\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\r\n <div class=\"d-flex countryCode\">\r\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\r\n /></span>\r\n </div>\r\n </div>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n}\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div>\r\n <span class=\"checkbox-tag\">Tag as:</span>\r\n <span *ngFor=\"let option of field()?.options\" class=\"checkbox\">\r\n <mat-checkbox class=\"optional-checkbox\">\r\n {{ option.label }}\r\n </mat-checkbox>\r\n </span>\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, AfterViewChecked, Output, EventEmitter } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MomentDateModule } from '@angular/material-moment-adapter';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-age-date',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatDatepickerModule,\r\n MomentDateModule,\r\n ReactiveFormsModule\r\n ],\r\n providers: [{ provide: MAT_DATE_FORMATS, useValue: {\r\n parse: {\r\n dateInput: [\r\n 'DD-MM-YYYY',\r\n 'DD/MM/YYYY',\r\n 'YYYY/MM/DD',\r\n 'MM/DD/YYYY',\r\n 'DD MMM YYYY',\r\n 'DD MMMM YYYY',\r\n 'DD-MMM-YYYY',\r\n ],\r\n },\r\n display: {\r\n dateInput: 'DD/MMM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'DD/MMM/YYYY',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n }\r\n },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: AgeDateComponent,\r\n multi: true\r\n },\r\n],\r\n templateUrl: './age-date.component.html',\r\n styleUrl: './age-date.component.css',\r\n})\r\nexport class AgeDateComponent implements AfterViewChecked {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n age : any = null;\r\n @Output() blur = new EventEmitter<any>();\r\n @Output() valueChange = new EventEmitter<any>();\r\n @Output() dateSelected = new EventEmitter<any>();\r\n @Output() invalidDate = new EventEmitter<any>();\r\n constructor(public service : MasterControlService) {}\r\n\r\n ngAfterViewChecked(): void {\r\n if (this.inputValue) {\r\n this.calculateAge(this.inputValue);\r\n }\r\n }\r\n\r\n dateDivisionFormat(event: any) {\r\n let value = event.target.value;\r\n let evt = event.target;\r\n if (evt.value.length > 2 && !evt.value.substr(2, 1).includes('/')) {\r\n evt.value = [evt.value.slice(0, 2), '/', evt.value.slice(2)].join('');\r\n } else if (\r\n evt.value.length > 5 &&\r\n Number(evt.value.substr(3, 2)) &&\r\n !evt.value.substr(5, 1).includes('/')\r\n ) {\r\n evt.value = [evt.value.slice(0, 5), '/', evt.value.slice(5)].join('');\r\n } else if (\r\n evt.value.length > 6 &&\r\n !Number(evt.value.substr(3, 2)) &&\r\n !evt.value.substr(6, 1).includes('/')\r\n ) {\r\n evt.value = [evt.value.slice(0, 6), '/', evt.value.slice(6)].join('');\r\n }\r\n\r\n // value = value.replace(/[^a-zA-Z0-9]/g, '');\r\n\r\n // if (value.length > 2 && value.indexOf('/') === -1) {\r\n // value = value.substring(0, 2) + '/' + value.substring(2);\r\n // }\r\n // if (value.length > 6 && value.indexOf('/', 3) === -1) {\r\n // value = value.substring(0, 6) + '/' + value.substring(6);\r\n // }\r\n\r\n // event.target.value = value;\r\n }\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n if (event.value) {\r\n this.inputValue = event.value;\r\n this._onChange(this.inputValue);\r\n this.calculateAge(event.value);\r\n } else {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n this.dateSelected.emit({\r\n formattedValue: this.inputValue,\r\n dateObject: this.inputValue,\r\n isValid: true,\r\n source: 'datepicker'\r\n });\r\n this.valueChange.emit(this.inputValue);\r\n }\r\n\r\n onInputBlur(event : any): void {\r\n if (!this.service.checkIfValueIsEmpty(event.target.value)) {\r\n if (isNaN(Date.parse(event.target.value))) {\r\n event.target.value = '';\r\n } else {\r\n this.calculateAge(event.target.value);\r\n }\r\n }\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n\r\n calculateAge(birthDate: Date) {\r\n const today = new Date();\r\n const birthdate = new Date(birthDate);\r\n let age = today.getFullYear() - birthdate.getFullYear();\r\n const monthDiff = today.getMonth() - birthdate.getMonth();\r\n const days_difference = today.getDate() - birthdate.getDate();\r\n if (monthDiff < 0 || (monthDiff === 0 && days_difference < 0)) {\r\n age = age - 1;\r\n }\r\n this.age = age;\r\n }\r\n\r\n\r\n}\r\n","<label *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n [matDatepicker]=\"picker\"\r\n (keyup)=\"dateDivisionFormat($event)\"\r\n [disabled]=\"field()?.isDisable\"\r\n [min]=\"field()?.configData?.min\"\r\n [max]=\"field()?.configData?.max\"\r\n (dateChange)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else{\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"field()?.configData?.min\"\r\n [max]=\"field()?.configData?.max\"\r\n (keyup)=\"dateDivisionFormat($event)\"\r\n [disabled]=\"field()?.isDisable\"\r\n (dateChange)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n <span matSuffix class=\"right-date-text\" *ngIf=\"!this.service.checkIfValueIsEmpty(age) && !this.service.checkIfValueIsEmpty(inputValue) && age >= 0\">\r\n ({{ age }}) yrs\r\n </span>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" *ngIf=\"true\">\r\n <img\r\n src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/date_picker_icon.svg\"\r\n style=\"width: 16px\"\r\n matDatepickerToggleIcon\r\n />\r\n </mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-addition-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './addition-button.component.html',\r\n styleUrl: './addition-button.component.css'\r\n})\r\nexport class AdditionButtonComponent {\r\nfield: any = input.required<any>();\r\n}\r\n","<Button class=\"additional-button\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"\r\n{\r\n '--button-border': field()?.controlStyle?.borderWidth ,\r\n '--button-width': field()?.controlStyle?.width ,\r\n '--button-font-size': field()?.controlStyle?.fontSize ,\r\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--button-background': field()?.controlStyle?.background ,\r\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--button-text-color': field()?.controlStyle?.color ,\r\n}\">\r\n <span class=\"additional-button-text\">\r\n <img\r\n class=\"additional-button-img\"\r\n [src]=\"field()?.imageUrl\"\r\n />\r\n <span\r\n ><u>{{ field()?.label }}</u></span\r\n >\r\n </span>\r\n</Button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-info-textbox',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatInputModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './info-textbox.component.html',\r\n styleUrl: './info-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InfoTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoTextboxComponent implements ControlValueAccessor {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n @Input() fields: any;\r\n @Output() infoClick = new EventEmitter<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n handleWhereToFindClick(): void {\r\n this.infoClick.emit({ field: this.field });\r\n }\r\n}\r\n","<label class=\"field-lable info-label\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}\r\n <!-- <span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n > -->\r\n <span style=\"justify-content: end;\">\r\n <img class=\"mx-1\" *ngIf=\"field()?.configData?.imageURL\" [src]=\"field()?.configData?.imageURL\" alt=\"\">\r\n <u style=\"cursor: pointer;\" (click)=\"handleWhereToFindClick()\">{{field()?.configData?.infoMsg}}</u></span>\r\n </label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n<input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n \r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-textbox-with-image',\r\n standalone: true,\r\n imports: [MatInputModule, MatFormFieldModule, CommonModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './textbox-with-image.component.html',\r\n styleUrl: './textbox-with-image.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextboxWithImageComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TextboxWithImageComponent {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n \r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = this.field()?.configData?.isTextCapitalized ? (event.target.value).toUpperCase() : event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event?: any): void {\r\n this._unTouched();\r\n // Emit the blur event to parent component\r\n this.blur.emit(event);\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n@if(reactiveFormControlobject()) {\r\n<input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n}@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n}\r\n \r\n <span matSuffix class=\"mx-3\">\r\n <img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl' alt=\"\" />\r\n <!-- \"https://cdn.godigit.com/retail-life/location.svg\" -->\r\n </span>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-email-with-domain',\r\n standalone: true,\r\n imports: [CommonModule, MatInputModule, MatFormFieldModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './email-with-domain.component.html',\r\n styleUrl: './email-with-domain.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EmailWithDomainComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class EmailWithDomainComponent {\r\npincode: any = '';\r\n emailUser:any='';\r\n emailDomain:any='';\r\n\r\n field: any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n inputValue: any = null;\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n <mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n class=\"email-left-side\"\r\n [name]=\"field()?.fieldName + '_1'\"\r\n [id]=\"field()?.fieldName + '_1'\"\r\n [type]=\"field()?.controlType\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n class=\"email-left-side\"\r\n [name]=\"field()?.fieldName + '_1'\"\r\n [id]=\"field()?.fieldName + '_1'\"\r\n [type]=\"field()?.controlType\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n <span class=\"email-between\">@</span>\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [name]=\"field()?.fieldName + '_2'\"\r\n [id]=\"field()?.fieldName + '_2'\"\r\n placeholder=\"domain.com\"\r\n class=\"email-right-side\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n />\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n </mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-image-upload',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './image-upload.component.html',\r\n styleUrl: './image-upload.component.css'\r\n})\r\nexport class ImageUploadComponent {\r\n field : any = input.required<any>();\r\n}\r\n","\r\n<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}</label>\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n #fileInput\r\n (click)=\"(fileInput.value)\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn\"\r\n (click)=\"fileInput.click()\"\r\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--upload-width': field()?.controlStyle?.width ,\r\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--upload-border-color': field()?.controlStyle?.borderColor ,\r\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\r\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\r\n'--upload-background-color': field()?.controlStyle?.background ,\r\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\r\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\r\n}\"\r\n >\r\n <ng-container *ngIf=\"field()?.label; else policyHolderPanFileNotEmpty\">\r\n <span class=\"upload-icon\">\r\n <span\r\n ><img\r\n src=\"https://cdn.godigit.com/retail-life/Upload_Icon.svg\"\r\n alt=\"\"\r\n class=\"mb-1\"\r\n /></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.label }}</span>\r\n </span>\r\n </ng-container>\r\n <ng-template #policyHolderPanFileNotEmpty>\r\n <span class=\"mt-2 right-icon\">\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/Tickmark.svg\" alt=\"\"\r\n /></span>\r\n <span title=\"uploaded file\">uploaded file</span>\r\n </span>\r\n <div class=\"mt-2 left-icon\">\r\n <span\r\n ><img\r\n src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\"\r\n alt=\"\"\r\n /></span>\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"\r\n /></span>\r\n </div>\r\n </ng-template>\r\n </button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-download-document',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './download-document.component.html',\r\n styleUrl: './download-document.component.css'\r\n})\r\nexport class DownloadDocumentComponent {\r\n field : any = input.required<any>();\r\n}\r\n","<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}</label>\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n #fileInput\r\n (click)=\"(fileInput.value)\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn lightbackground\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--upload-width': field()?.controlStyle?.width ,\r\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--upload-border-color': field()?.controlStyle?.borderColor ,\r\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\r\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\r\n'--upload-background-color': field()?.controlStyle?.background ,\r\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\r\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\r\n}\"\r\n >\r\n <span class=\"upload-icon\">\r\n <span\r\n ><img\r\n src=\"https://cdn.godigit.com/retail-life/Download_Icon.svg\"\r\n alt=\"\"\r\n class=\"mb-1\"\r\n /></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.label }}</span>\r\n </span>\r\n </button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-add-document',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './add-document.component.html',\r\n styleUrl: './add-document.component.css'\r\n})\r\nexport class AddDocumentComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field().label}}</label>\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n #fileInput\r\n (click)=\"(fileInput.value)\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn add-document-btn\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--add-doc-border-color': field()?.controlStyle?.borderColor ,\r\n'--add-doc-border-width': field()?.controlStyle?.borderWidth ,\r\n'--add-doc-border-style': field()?.controlStyle?.borderStyle ,\r\n'--add-doc-background': field()?.controlStyle?.background \r\n}\"\r\n >\r\n <span class=\"add-icon\">\r\n <span\r\n ><img class=\"mb-1\" src=\"https://cdn.godigit.com/retail-life/add.svg\"></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.label }}</span>\r\n <span class=\"light-font\">(optional)</span>\r\n </span>\r\n </button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-hyperlink',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './hyperlink.component.html',\r\n styleUrl: './hyperlink.component.css'\r\n})\r\nexport class HyperlinkComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<u *ngIf=\"field() && field()?.isVisible\" class=\"hyperlink\" [ngStyle]=\"{\r\n'--hyperlink-font-color': field()?.controlStyle?.color,\r\n'--hyperlink-font-size': field()?.controlStyle?.fontSize,\r\n'--hyperlink-font-weight': field()?.controlStyle?.fontWeight\r\n}\">\r\n <a href=\"Hyper_link\" *ngIf=\"field()?.label && field()?.isShowLabel\">{{field()?.label}}</a></u\r\n>\r\n<img *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-textbox-with-underscore',\r\n standalone: true,\r\n imports: [CommonModule, MatInputModule, MatFormFieldModule, ReactiveFormsModule],\r\n templateUrl: './textbox-with-underscore.component.html',\r\n styleUrl: './textbox-with-underscore.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextboxWithUnderscoreComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TextboxWithUnderscoreComponent {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n\r\n changeFormat(event: any) {\r\n let digits = event.target.value.replace(/[^0-9]/g, '').slice(0, this.field().validators.maxLength);\r\n let padded = digits.padEnd(this.field().validators.maxLength, '_');\r\n event.target.value = padded;\r\n\r\n setTimeout(() => {\r\n let pos = digits.length;\r\n if (pos > this.field().validators.maxLength) pos = this.field().validators.maxLength;\r\n event.target.setSelectionRange(pos, pos);\r\n });\r\n }\r\n getUnderscorePlaceholder() {\r\n return '_'.repeat(this.field().validators.maxLength);\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 hyphen-input\"\r\n appearance=\"outline\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [placeholder]=\"getUnderscorePlaceholder()\"\r\n (keyup)=\"changeFormat($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [placeholder]=\"getUnderscorePlaceholder()\"\r\n (keyup)=\"changeFormat($event)\"\r\n />\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\n\r\n@Component({\r\n selector: 'lib-underscore-mob-number',\r\n standalone: true,\r\n imports: [CommonModule, MatInputModule, MatFormFieldModule, MatSelectModule, MatOptionModule, ReactiveFormsModule],\r\n templateUrl: './underscore-mob-number.component.html',\r\n styleUrl: './underscore-mob-number.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: UnderscoreMobNumberComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class UnderscoreMobNumberComponent {\r\nCountryCode: any = '+91';\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n \r\n changeFormat(event: any) {\r\n let digits = event.target.value.replace(/[^0-9]/g, '').slice(0, this.field().validators.maxLength);\r\n let padded = digits.padEnd(this.field().validators.maxLength, '_');\r\n event.target.value = padded;\r\n\r\n setTimeout(() => {\r\n let pos = digits.length;\r\n if (pos > this.field().validators.maxLength) pos = this.field().validators.maxLength;\r\n event.target.setSelectionRange(pos, pos);\r\n });\r\n }\r\n getUnderscorePlaceholder() {\r\n return '_'.repeat(this.field().validators.maxLength);\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 mobile-field hyphen-input\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\r\n <div class=\"d-flex countryCode\">\r\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\r\n /></span>\r\n </div>\r\n </div>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [placeholder]=\"getUnderscorePlaceholder()\"\r\n (keyup)=\"changeFormat($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [placeholder]=\"getUnderscorePlaceholder()\"\r\n (keyup)=\"changeFormat($event)\"\r\n />\r\n }\r\n\r\n <span matSuffix class=\"p-3\">\r\n <img src=\"https://cdn.godigit.com/retail-life/edit-icon.svg\" alt=\"\" />\r\n </span>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-icon-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './icon-button.component.html',\r\n styleUrl: './icon-button.component.css',\r\n})\r\nexport class IconButtonComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<Button\r\nclass=\"icon-button\"\r\n*ngIf=\"field() && field()?.isVisible\"\r\n[ngStyle]=\"\r\n{\r\n '--icon-button-border-width': field()?.controlStyle?.borderWidth ,\r\n '--icon-button-border-style': field()?.controlStyle?.borderStyle ,\r\n '--icon-button-border-color': field()?.controlStyle?.borderColor ,\r\n '--icon-button-width': field()?.controlStyle?.width ,\r\n '--icon-button-background': field()?.controlStyle?.background ,\r\n '--icon-button-border-radius': field()?.controlStyle?.borderRadius ,\r\n}\"\r\n>\r\n<span>\r\n<img [src]=\"field()?.imageUrl ? field()?.imageUrl : 'https://cdn.godigit.com/retail-life/Download_Icon.svg'\"/>\r\n</span>\r\n</Button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-image',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './image.component.html',\r\n styleUrl: './image.component.css'\r\n})\r\nexport class ImageComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<div *ngIf=\"field() && field()?.isVisible\">\r\n <img [src]=\"field()['imageUrl']\" class=\"image-width\" [ngStyle]=\"{'--image-width' : field()?.controlStyle?.width}\"/>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-stepper',\r\n standalone: true,\r\n imports: [MatStepperModule,CommonModule],\r\n templateUrl: './stepper.component.html',\r\n styleUrl: './stepper.component.css'\r\n})\r\nexport class StepperComponent {\r\nfield: any = input.required<any>();\r\nmasterStepper:any;\r\nconstructor(public masterSharedService:MasterControlService){}\r\nngOnInit(){\r\n this.field().editStepper = this.field().configData.stepperData ? this.field().configData.stepperData : this.masterSharedService?.configData?.stepper?.stepperData;\r\n}\r\n}\r\n","<div *ngIf=\"field() && field()?.isVisible\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step>\r\n <ng-template matStepLabel>\r\n <img\r\n class=\"step-img\"\r\n [src]=\"steps.imgIconUrl\"\r\n alt=\"\"\r\n />\r\n <span class=\"step-label mx-2\">{{steps?.displayLabel}}</span>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './card.component.html',\r\n styleUrl: './card.component.css'\r\n})\r\nexport class CardComponent {\r\n field: any = input.required<any>();\r\n @Output() cardDetailsClicked = new EventEmitter<any>();\r\n constructor(public masterSharedService: MasterControlService) { }\r\n\r\n ngOnInit() {\r\n this.field().cardDetails = this.field().configData?.cardDetails ? this.field().configData?.cardDetails : this.masterSharedService?.configData?.policyDisplayCard?.policyDetails;\r\n }\r\n\r\n activeCard(emitData: any) {\r\n const cards = document.querySelectorAll('.endorsement-card');\r\n cards.forEach(card => {\r\n card.addEventListener('click', () => {\r\n cards.forEach(c => c.classList.remove('active'));\r\n card.classList.add('active');\r\n });\r\n });\r\n let passcardData: any = {\r\n \"cardData\": emitData,\r\n \"filedData\": this.field()\r\n }\r\n this.cardDetailsClicked.emit(passcardData);\r\n }\r\n\r\n}\r\n","<div class=\"grid-container-card\" *ngIf=\"field() && field()?.isVisible\">\r\n <div class=\"endorsement-card\" [ngStyle]=\"{\r\n '--card-border-color': field()?.controlStyle?.borderColor ,\r\n '--card-border-width': field()?.controlStyle?.borderWidth ,\r\n '--card-border-style': field()?.controlStyle?.borderStyle ,\r\n '--card-border-radius': field()?.controlStyle?.borderRadius \r\n }\" *ngFor=\"let policyDetails of field().cardDetails; let i = index\" (click)=\"activeCard(policyDetails)\">\r\n <p class=\"m-0 card-label\" [ngStyle]=\"{\r\n '--card-font-size': field()?.controlStyle?.fontSize ,\r\n '--card-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--card-font-color': field()?.controlStyle?.color ,}\">{{policyDetails?.policyHolderName}}</p>\r\n <hr class=\"m-0 hr-line mt-1\" />\r\n <div class=\"d-flex gap-2 mt-1\">\r\n <span>\r\n <img src=\"https://cdn.godigit.com/retail-life/Endorsement-add-ons.svg\" alt=\"\" />\r\n </span>\r\n <span>\r\n <p class=\"m-0 card-label\">{{policyDetails?.policyType}}</p>\r\n <span class=\"below-card-text\">{{policyDetails?.policyNumber}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-hr-line',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './hr-line.component.html',\r\n styleUrl: './hr-line.component.css'\r\n})\r\nexport class HrLineComponent {\r\nfield: any = input.required<any>();\r\n}\r\n","<div class=\"\">\r\n <div class=\"hr-with-text\" [ngStyle]=\"{\r\n '--hr-line-border-width': field()?.controlStyle?.borderWidth,\r\n '--hr-line-border-color': field()?.controlStyle?.borderColor,\r\n '--hr-line-border-style': field()?.controlStyle?.borderStyle\r\n}\">\r\n <span class=\"hr-text\" [ngStyle]=\"{\r\n '--hr-text-color': field()?.controlStyle?.color,\r\n '--hr-text-weight': field()?.controlStyle?.fontWeight,\r\n '--hr-text-size': field()?.controlStyle?.fontSize\r\n}\"\r\n*ngIf=\"field()?.configData?.hrText\">{{field()?.configData?.hrText}}</span>\r\n</div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\n\r\n@Component({\r\n selector: 'lib-search-multi-select',\r\n standalone: true,\r\n imports: [\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatChipsModule,\r\n MatIconModule,\r\n FormsModule,\r\n MatInputModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './search-multi-select.component.html',\r\n styleUrl: './search-multi-select.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SearchMultiSelectComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SearchMultiSelectComponent {\r\n field: any = input.required<any>();\r\n selectedValues: any = [];\r\n visibleChip: any = [];\r\n remainingCount: any = 0;\r\n searchText: any = '';\r\n filteredOptions: any = [];\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n ngOnInit() {\r\n this.filteredOptions = this.field().options;\r\n }\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n selectionChanged(event: MatSelectChange) {\r\n this.inputValue = event.value;\r\n this.onChange(event.value);\r\n this.onTouched();\r\n }\r\n setDisabledState?(isDisabled: boolean): void {}\r\n\r\n removeItem(item: any) {\r\n const maxVisible = 2;\r\n this.visibleChip = this.visibleChip.filter(\r\n (element: any) => element !== item\r\n );\r\n this.selectedValues = this.selectedValues.filter(\r\n (element: any) => element !== item\r\n );\r\n const found = this.field().options.find((i: any) => i.label === item);\r\n if (found) {\r\n found.value = false;\r\n }\r\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\r\n this.remainingCount = this.selectedValues.length - maxVisible;\r\n }\r\n onSelectionChange() {\r\n const maxVisible = 2;\r\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\r\n this.remainingCount = this.selectedValues.length - maxVisible;\r\n }\r\n\r\n filterOptions() {\r\n if (!this.searchText) {\r\n this.filteredOptions = this.field().options;\r\n return;\r\n }\r\n const filterValue = this.searchText.toLowerCase();\r\n this.filteredOptions = this.field().options.filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n onSelectOpened(opened: boolean) {\r\n const css = this.field()?.controlStyle;\r\n if (opened) {\r\n document.body.style.setProperty(\r\n '--custom-select-option-background-color',\r\n css?.dropdownOptionBgColor || '#fff'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-font-color',\r\n css?.dropdownOptionColor || '#444'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-font-weight',\r\n css?.dropdownOptionFontWeight || '400'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-background-color-focus',\r\n css?.focusDropdownOptionBgColor || '#fff'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-font-color-focus',\r\n css?.focusDropdownOptionColor || '#444'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-font-weight-focus',\r\n css?.focusDropdownOptionFontWeight || '400'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-border-left-focus',\r\n css?.focusDropdownOptionBorderLeft || '#ffbb00'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-border-radius-focus',\r\n css?.focusDropdownOptionBorderRadius || '#ffbb00'\r\n );\r\n } else {\r\n document.body.style.removeProperty(\r\n '--custom-select-option-background-color'\r\n );\r\n document.body.style.removeProperty('--custom-select-option-font-color');\r\n document.body.style.removeProperty('--custom-select-option-font-weight');\r\n document.body.style.removeProperty(\r\n '--custom-select-option-background-color-focus'\r\n );\r\n document.body.style.removeProperty(\r\n '--custom-select-option-font-color-focus'\r\n );\r\n document.body.style.removeProperty(\r\n '--custom-select-option-font-weight-focus'\r\n );\r\n document.body.style.removeProperty(\r\n '--custom-select-option-border-left-focus'\r\n );\r\n document.body.style.removeProperty(\r\n '--custom-select-option-border-radius-focus'\r\n );\r\n }\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n appearance=\"outline\"\r\n class=\"input-full-width full-width w-100 multi-select\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\"\r\n>\r\n@if(reactiveFormControlobject()) {\r\n<mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [(value)]=\"selectedValues\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-listbox>\r\n @for (option of visibleChip; track option) {\r\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ option }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-listbox>\r\n </mat-select-trigger>\r\n <div class=\"select-container\">\r\n <mat-optgroup>\r\n <mat-form-field\r\n class=\"input-full-width full-width w-100 multiselect-search\"\r\n >\r\n <input\r\n matInput\r\n #search\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filterOptions()\"\r\n />\r\n </mat-form-field>\r\n </mat-optgroup>\r\n @for (option of filteredOptions; track option.label) {\r\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </div>\r\n </mat-select>\r\n}@else {\r\n <mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [(value)]=\"selectedValues\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-listbox>\r\n @for (option of visibleChip; track option) {\r\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ option }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-listbox>\r\n </mat-select-trigger>\r\n <div class=\"select-container\">\r\n <mat-optgroup>\r\n <mat-form-field\r\n class=\"input-full-width full-width w-100 multiselect-search\"\r\n >\r\n <input\r\n matInput\r\n #search\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filterOptions()\"\r\n />\r\n </mat-form-field>\r\n </mat-optgroup>\r\n @for (option of filteredOptions; track option.label) {\r\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </div>\r\n </mat-select>\r\n}\r\n \r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-subscript-textbox',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule ,\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './subscript-textbox.component.html',\r\n styleUrl: './subscript-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SubscriptTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SubscriptTextboxComponent {\r\n inputValue: any = null;\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n\r\n <p class=\"years-text\" *ngIf=\"inputValue\">Years</p>\r\n <p class=\"textbox-subscript\">till 2026</p>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div>\r\n <span class=\"below-input-text\">{{field()?.configData?.subscriptText}}</span>\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'lib-label',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './label.component.html',\r\n styleUrl: './label.component.css'\r\n})\r\nexport class LabelComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div *ngIf=\"field()?.isVisible\">\r\n<span class=\"master-label\" [ngStyle]=\"{\r\n'--master-heading-font-color': field()?.controlStyle?.color,\r\n'--master-heading-font-size': field()?.controlStyle?.fontSize,\r\n'--master-heading-font-weight': field()?.controlStyle?.fontWeight\r\n}\">{{field()?.label}}</span>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-sub-header',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './sub-header.component.html',\r\n styleUrl: './sub-header.component.css'\r\n})\r\nexport class SubHeaderComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div>\r\n <span class=\"sub-heading\" [ngStyle]=\"{\r\n'--sub-heading-font-color': field()?.controlStyle?.color,\r\n'--sub-heading-font-size': field()?.controlStyle?.fontSize,\r\n'--sub-heading-font-weight': field()?.controlStyle?.fontWeight\r\n}\">{{field()?.label}}\r\n<img [src]=\"field()?.imageUrl\" *ngIf=\"field()?.imageUrl\" alt=\"\">\r\n</span>\r\n</div>","import { Component, input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@Component({\r\n selector: 'lib-header',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './header.component.html',\r\n styleUrl: './header.component.css'\r\n})\r\nexport class HeaderComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div>\r\n <span class=\"heading\" [ngStyle]=\"{\r\n'--heading-font-color': field()?.controlStyle?.color,\r\n'--heading-font-size': field()?.controlStyle?.fontSize,\r\n'--heading-font-weight': field()?.controlStyle?.fontWeight\r\n}\">\r\n {{field()?.label}}\r\n </span>\r\n</div>","import { Component, EventEmitter, HostListener, input, Output } from '@angular/core';\r\nimport { CommonModule, NgFor, NgIf } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { MatPaginatorModule, PageEvent } from '@angular/material/paginator';\r\n@Component({\r\n selector: 'lib-table',\r\n standalone: true,\r\n imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule],\r\n templateUrl: './table.component.html',\r\n styleUrl: './table.component.css'\r\n})\r\nexport class TableComponent {\r\n field: any = input.required<any>();\r\n readonly = input(false);\r\n showActionsPopup = false;\r\n popupPosition = { top: 0, left: 0 };\r\n selectedRow: any = 0;\r\n highlightedIndex = -1;\r\n paginationSize: any = 10;\r\n pageNumber: any = 0;\r\n pageSize: any = 10;\r\n @Output() actionItemClicked = new EventEmitter<any>();\r\n @Output() tablePaginationClicked = new EventEmitter<any>();\r\n constructor(public masterControlService: MasterControlService) { }\r\n\r\n ngOnInit() {\r\n this.setColumns();\r\n }\r\n trackByIndex(index: any, item: any) {\r\n return index;\r\n }\r\n\r\n setColumns() {\r\n let checkConfigData = this.field().configData;\r\n if (Object?.keys(checkConfigData)?.length > 0) {\r\n this.masterControlService.configData.table = checkConfigData;\r\n }\r\n if (this.masterControlService.configData.table.rowlength > 0 && this.masterControlService.configData.table.columnlength > 0) {\r\n this.field().tableData = this.masterControlService.configData.table;\r\n for (let i = 0; i < this.masterControlService.configData.table.columnlength; i++) {\r\n if (Object.keys(checkConfigData).length <= 0) {\r\n let headerObj = {\r\n \"columnName\": `${'Name - ' + i}`,\r\n \"isSortingNeeded\": \"Y\",\r\n \"toolTip\": `${'tooltip - ' + i}`\r\n }\r\n const exists = this.field().tableData.tableHeaders.some(\r\n (header: any) => header.columnName === headerObj.columnName\r\n );\r\n if (!exists && this.field().tableData.tableHeaders.length < this.masterControlService.configData.table.columnlength) {\r\n this.field().tableData.tableHeaders.push(headerObj);\r\n }\r\n }\r\n }\r\n this.field().tableData.tdData = Array(this.masterControlService.configData.table.rowlength).fill(null).map((_, rowIdx) =>\r\n Array(this.masterControlService.configData.table.columnlength).fill('').map((_, colIdx) => `Dummy Row ${rowIdx + 1}`)\r\n );\r\n\r\n this.masterControlService.saveTableFieldState(this.field());\r\n this.field().configData = this.field().tableData\r\n }\r\n }\r\n\r\n openActionsPopup(event: MouseEvent, rowIndex: number) {\r\n event.stopPropagation();\r\n this.selectedRow = rowIndex;\r\n this.showActionsPopup = true;\r\n this.highlightedIndex = 1;\r\n const rect = (event.target as HTMLElement).getBoundingClientRect();\r\n this.popupPosition = {\r\n top: rect.bottom + window.scrollY - 30,\r\n left: rect.left + window.scrollX - 280,\r\n };\r\n }\r\n\r\n closeActionsPopup() {\r\n this.showActionsPopup = false;\r\n this.field().tableData.userSelectedOptions[this.selectedRow].forEach((checkIcon: any) => {\r\n checkIcon.isSelected = false;\r\n });\r\n this.selectedRow = 0;\r\n this.highlightedIndex = -1;\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onEscKey(event: KeyboardEvent) {\r\n this.closeActionsPopup();\r\n }\r\n\r\n pageChanged(event: PageEvent) {\r\n this.field().tableData.pageNumber = event.pageIndex;\r\n this.field().tableData.pageSize = event.pageSize;\r\n this.tablePaginationClicked.emit(this.field().tableData);\r\n }\r\n\r\n actionClicked(actionSelected: any, actionIndex: any) {\r\n this.field()?.tableData?.userSelectedOptions[this.selectedRow]?.forEach((checkIcon: any, selectedIndex: any) => {\r\n if (checkIcon.matIconName === actionSelected.matIconName && actionIndex === selectedIndex) {\r\n checkIcon.isSelected = true;\r\n }\r\n });\r\n let emitOBJ = {\r\n userSelectedOptions : this.field()?.tableData?.userSelectedOptions,\r\n selectedRowIndex: this.selectedRow,\r\n selectedActionsIndex: actionIndex,\r\n }\r\n this.actionItemClicked.emit(emitOBJ);\r\n }\r\n}\r\n","<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container>{{ header?.columnName }}</ng-container>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-textbox-with-text',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './textbox-with-text.component.html',\r\n styleUrl: './textbox-with-text.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextboxWithTextComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TextboxWithTextComponent {\r\n inputValue: any = null;\r\n reactiveFormControlobject: any = input<any>();\r\n field: any = input.required<any>();\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n _onChange: any = (inputValue: any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void {\r\n this.inputValue = obj;\r\n }\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this._unTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {}\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event?: any): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div>\r\n <span class=\"below-input-text\">{{field()?.configData?.subscriptText}}</span>\r\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-discount',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './discount.component.html',\r\n styleUrl: './discount.component.css'\r\n})\r\nexport class DiscountComponent {\r\n field: any = input.required<any>();\r\n\r\n}\r\n","<p\r\n class=\"discount-label b2-bold px-1\"\r\n *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\"\r\n>\r\n {{ field()?.label }}\r\n</p>\r\n<div \r\nclass=\"discount-card\" \r\n*ngIf=\"field() && field()?.isVisible\"\r\n[ngStyle]=\"\r\n{\r\n '--discount-border-width': field()?.controlStyle?.borderWidth,\r\n '--discount-card-width': field()?.controlStyle?.width ,\r\n '--discount-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--discount-border-color': field()?.controlStyle?.borderColor ,\r\n}\"\r\n>\r\n <div class=\"d-flex justify-content-between\">\r\n <div>\r\n <img\r\n src=\"https://cdn.godigit.com/retail-life/discount-img-lib.svg\"\r\n alt=\"\"\r\n class=\"mx-1\"\r\n />\r\n <span class=\"h2-extrabold\">5% </span>\r\n <span class=\"b3-regular\">off</span>\r\n </div>\r\n <div>\r\n <button class=\"apply-btn\">\r\n <span class=\"my-1\">\r\n Apply\r\n <img\r\n src=\"https://cdn.godigit.com/retail-life/arrow_forward_lib.svg\"\r\n alt=\"\"\r\n />\r\n </span>\r\n </button>\r\n </div>\r\n <div *ngIf=\"false\">\r\n <button class=\"remove-btn\">\r\n <span> Remove x </span>\r\n </button>\r\n </div>\r\n </div>\r\n <div>\r\n <p class=\"b2-bold m-0\">Good Health Discount</p>\r\n <p class=\"b3-regular\">\r\n Get extra 5% discount for keeping a healthy lifestyle!\r\n </p>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-benefit-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './benefit-card.component.html',\r\n styleUrl: './benefit-card.component.css',\r\n})\r\nexport class BenefitCardComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<div\r\n class=\"benefit-card\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"\r\n{\r\n '--benefit-border-width': field()?.controlStyle?.borderWidth,\r\n '--benefit-card-width': field()?.controlStyle?.width ,\r\n '--benefit-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--benefit-border-color': field()?.controlStyle?.borderColor ,\r\n}\"\r\n>\r\n <div class=\"d-flex justify-content-between\">\r\n <span class=\"b1-bold\" *ngIf=\"field()?.isShowLabel\">{{ field()?.label }}</span>\r\n <button class=\"add-card-button\">+ Add</button>\r\n <button class=\"remove-card-button\" *ngIf=\"false\">x Remove</button>\r\n </div>\r\n <div class=\"mt-2\">\r\n <img\r\n src=\"https://cdn.godigit.com/retail-life/tabler_wheelchair.png\"\r\n alt=\"\"\r\n />\r\n <span class=\"b3-regular mx-2\">Policy Continuance Benefit on Death</span>\r\n <img src=\"https://cdn.godigit.com/retail-life/info-button-lib.svg\" alt=\"\" />\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-loader',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './loader.component.html',\r\n styleUrl: './loader.component.css'\r\n})\r\nexport class LoaderComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<div\r\n class=\"loader-overlay\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"field()?.configData?.loaderCSS\"\r\n>\r\n <div\r\n class=\"loader-card\"\r\n [ngStyle]=\"field()?.configData?.cardCSS\"\r\n >\r\n <ng-container *ngIf=\"field()?.configData?.imageURL; else defaultLoader\">\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n [ngStyle]=\"field()?.configData?.imageCSS\"\r\n alt=\"Loader\"\r\n />\r\n <div\r\n class=\"loader-text\"\r\n [ngStyle]=\"field()?.configData?.textCSS\"\r\n >\r\n {{ field()?.configData?.text }}\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultLoader>\r\n <div class=\"loader\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n <div\r\n class=\"loader-text\"\r\n [ngStyle]=\"field()?.configData?.textCSS\"\r\n >\r\n {{ field()?.configData?.text }}\r\n </div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-warning-snackbar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './warning-snackbar.component.html',\r\n styleUrl: './warning-snackbar.component.css'\r\n})\r\nexport class WarningSnackbarComponent {\r\nfield : any = input.required<any>();\r\nwarningObj:any;\r\n\r\nconstructor(public masterService : MasterControlService) {\r\n this.warningObj = this.masterService.snackbars.find((item: any) => item.type === 'Warning');\r\n}\r\n}\r\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex gap-3\">\r\n <span>\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n alt=\"\"\r\n class=\"mt-1\"\r\n [ngClass]=\"field()?.configData?.imageCSS\"\r\n />\r\n </span>\r\n <span class=\"mb-2\">\r\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\r\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\r\n </span>\r\n </div>\r\n <div >\r\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\r\n </div>\r\n </div>\r\n</div>","import { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-success-snackbar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './success-snackbar.component.html',\r\n styleUrl: './success-snackbar.component.css'\r\n})\r\nexport class SuccessSnackbarComponent {\r\nfield : any = input.required<any>();\r\nsuccessObj:any;\r\n\r\nconstructor(public masterService : MasterControlService) {\r\n this.successObj = this.masterService.snackbars.find((item: any) => item.type === 'Success');\r\n}\r\n}\r\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex gap-3\">\r\n <span>\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n alt=\"\"\r\n class=\"mt-1\"\r\n [ngClass]=\"field()?.configData?.imageCSS\"\r\n />\r\n </span>\r\n <span class=\"mb-2\">\r\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\r\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\r\n </span>\r\n </div>\r\n <div >\r\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-neutral-snackbar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './neutral-snackbar.component.html',\r\n styleUrl: './neutral-snackbar.component.css'\r\n})\r\nexport class NeutralSnackbarComponent {\r\nfield : any = input.required<any>();\r\nneutralObj:any;\r\n\r\nconstructor(public masterService : MasterControlService) {\r\n this.neutralObj = this.masterService.snackbars.find((item: any) => item.type === 'Neutral');\r\n}\r\n}\r\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex gap-3\">\r\n <span>\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n alt=\"\"\r\n class=\"mt-1\"\r\n [ngClass]=\"field()?.configData?.imageCSS\"\r\n />\r\n </span>\r\n <span class=\"mb-2\">\r\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\r\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\r\n </span>\r\n </div>\r\n <div >\r\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\r\n </div>\r\n </div>\r\n</div>","import { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-error-snackbar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './error-snackbar.component.html',\r\n styleUrl: './error-snackbar.component.css'\r\n})\r\nexport class ErrorSnackbarComponent {\r\nfield : any = input.required<any>();\r\nerrorObj:any;\r\n\r\nconstructor(public masterService : MasterControlService) {\r\n this.errorObj = this.masterService.snackbars.find((item: any) => item.type === 'Error');\r\n}\r\n}\r\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex gap-3\">\r\n <span>\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n alt=\"\"\r\n class=\"mt-1\"\r\n [ngClass]=\"field()?.configData?.imageCSS\"\r\n />\r\n </span>\r\n <span class=\"mb-2\">\r\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\r\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\r\n </span>\r\n </div>\r\n <div >\r\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-grey-label',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './grey-label.component.html',\r\n styleUrl: './grey-label.component.css'\r\n})\r\nexport class GreyLabelComponent {\r\n field : any = input.required<any>();\r\n}\r\n","<div *ngIf=\"field()?.isVisible\">\r\n <span class=\"bold-label\" [ngStyle]=\"{\r\n'--master-bold-label-font-color': field()?.controlStyle?.color,\r\n'--master-bold-label-font-size': field()?.controlStyle?.fontSize,\r\n'--master-bold-label-font-weight': field()?.controlStyle?.fontWeight\r\n}\">{{field()?.label}}</span>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'lib-iframe',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './iframe.component.html',\r\n styleUrl: './iframe.component.css'\r\n})\r\nexport class IframeComponent implements OnInit {\r\n field: any = input.required<any>();\r\n safeUrl: SafeResourceUrl | null = null;\r\n\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n if (this.field() && this.field().imageUrl) {\r\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.field().imageUrl);\r\n }\r\n }\r\n\r\n getIframeUrl() {\r\n let iframeUrl : any = null;\r\n if (this.field() && this.field().imageUrl) {\r\n iframeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.field().imageUrl);\r\n }\r\n return iframeUrl;\r\n }\r\n\r\n}\r\n","<div *ngIf=\"field().imageUrl\">\r\n <iframe [id]=\"field().fieldName\" width=\"100%\" height=\"500px\" style=\"border: none\"></iframe>\r\n</div>\r\n","\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\r\n\r\n@Component({\r\n selector: 'lib-toggle-button',\r\n standalone: true,\r\n imports: [MatButtonToggleModule, CommonModule, ReactiveFormsModule, FormsModule, CustomizedTooltipDirective],\r\n templateUrl: './toggle-button.component.html',\r\n styleUrl: './toggle-button.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: ToggleButtonComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ToggleButtonComponent implements ControlValueAccessor {\r\n reactiveFormControlobject: any = input<any>();\r\n field : any = input.required<any>();\r\n selectedValue: any = null;\r\n\r\n // Output events for parent component communication\r\n @Output() selectionChanged = new EventEmitter<any>();\r\n @Output() change = new EventEmitter<any>();\r\n\r\n // ControlValueAccessor methods\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.selectedValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // Handle disabled state if needed\r\n }\r\n\r\n // Handle selection change\r\n onSelectionChange(value: any): void {\r\n this.selectedValue = value;\r\n this.onChange(value);\r\n this.onTouched();\r\n\r\n // Emit events for parent component\r\n this.selectionChanged.emit(value);\r\n this.change.emit(value);\r\n }\r\n}\r\n","<div style=\"position: relative\" [ngClass]=\"field()?.cssClass\">\r\n @if(reactiveFormControlobject()) {\r\n <mat-button-toggle-group [ngStyle]=\"{\r\n '--toggle-button-width': field()?.controlStyle?.width ,\r\n }\" name=\"fontStyle\" class=\"custom-mat-toggle\" aria-label=\"Font Style\"\r\n *ngIf=\"field() && field()?.isVisible && field()?.configData?.options\" [value]=\"selectedValue\"\r\n (change)=\"onSelectionChange($event.value)\" [formControl]=\"reactiveFormControlobject()\">\r\n @for (data of field()?.configData?.options; track $index) {\r\n <mat-button-toggle [value]=\"data.value\">\r\n <img *ngIf=\"data.imgUrl && !data.tooltipText\" [src]=\"data.imgUrl\" alt=\"\" class=\"toggle-img mx-1\" />\r\n\r\n {{ data.label }}\r\n <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\r\n *ngIf=\"data.imgUrl && data.tooltipText\">\r\n <img [src]=\"data.imgUrl\" class=\"toggle-img mx-1\" />\r\n </span>\r\n\r\n <!-- ✅ Single template that uses current data -->\r\n <ng-template #currentTooltip>\r\n <span [innerHTML]=\"data.tooltipText\"></span>\r\n </ng-template>\r\n </mat-button-toggle>\r\n <div class=\"top-green-card\" *ngIf=\"data.toggleTopText\">\r\n <span class=\"second-box\">\r\n <img class=\"green-card-img\" *ngIf=\"data.topImage\" [src]=\"data.topImage\" alt=\"\" />\r\n <span>{{ data.toggleTopText }}</span>\r\n </span>\r\n </div>\r\n }\r\n </mat-button-toggle-group>\r\n }@else {\r\n <mat-button-toggle-group [ngStyle]=\"{\r\n '--toggle-button-width': field()?.controlStyle?.width ,\r\n }\" name=\"fontStyle\" class=\"custom-mat-toggle\" aria-label=\"Font Style\"\r\n *ngIf=\"field() && field()?.isVisible && field()?.configData?.options\" [(ngModel)]=\"selectedValue\"\r\n (change)=\"onSelectionChange($event.value)\">\r\n @for (data of field()?.configData?.options; track $index) {\r\n <mat-button-toggle [value]=\"data.value\">\r\n {{ data.label }}\r\n <!-- <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\r\n *ngIf=\"data.imgUrl && data.tooltipText\">\r\n <img [src]=\"data.imgUrl\" />\r\n </span> -->\r\n\r\n <!-- ✅ Single template that uses current data -->\r\n <!-- <ng-template #currentTooltip>\r\n <span [innerHTML]=\"data.tooltipText\"></span>\r\n </ng-template> -->\r\n </mat-button-toggle>\r\n <div class=\"top-green-card\" *ngIf=\"data.toggleTopText\">\r\n <span class=\"second-box\">\r\n <img class=\"green-card-img\" *ngIf=\"data.topImage\" [src]=\"data.topImage\" alt=\"\" />\r\n <span>{{ data.toggleTopText }}</span>\r\n </span>\r\n </div>\r\n }\r\n </mat-button-toggle-group>\r\n }\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-pay-get-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './pay-get-card.component.html',\r\n styleUrl: './pay-get-card.component.css'\r\n})\r\nexport class PayGetCardComponent {\r\nfield: any = input.required<any>();\r\n @Input() payAmount: any = '₹6,00,000';\r\n @Input() premiumAmount: any= '₹10,000';\r\n @Input() ptValue: any= 5;\r\n @Input() years: any= '2030';\r\n @Input() frequency: any= 'month';\r\n}\r\n","<div\r\n class=\"d-flex justify-content-between pay-card\"\r\n [ngStyle]=\"{\r\n'--pay-card-border-color': field()?.controlStyle?.borderColor ,\r\n'--pay-card-border-width': field()?.controlStyle?.borderWidth ,\r\n'--pay-card-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--pay-card-bg-color': field()?.controlStyle?.background ,\r\n'--pay-card-width': field()?.controlStyle?.width ,\r\n }\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n>\r\n <div class=\"text-center mx-2\">\r\n <span class=\"bold-label\">{{ field()?.placeHolder || 'Pay' }}</span> <br />\r\n <span class=\"grey-label\">{{payAmount}}</span>\r\n </div>\r\n <div class=\"premium-card\">\r\n <span class=\"light-label\"><b class=\"bold-label\">{{premiumAmount}}</b>/ {{frequency}}</span>\r\n <br />\r\n <span class=\"grey-label\">for {{ptValue}} years (till {{years}})</span>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-in-built-benefit',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './in-built-benefit.component.html',\r\n styleUrl: './in-built-benefit.component.css',\r\n})\r\nexport class InBuiltBenefitComponent {\r\n field: any = input.required<any>();\r\n\r\n @Input() premiumAmount: any = '₹1,00,000';\r\n @Input() premiumAmountShort: any = '1L';\r\n}\r\n","<div class=\"d-flex in-built-card\"\r\n [ngStyle]=\"{\r\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\r\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\r\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\r\n'--inbuilt-card-width': field()?.controlStyle?.width ,\r\n }\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n>\r\n <p class=\"w-100 top-box\">\r\n <span class=\"top-benefit-card\">In-built Benefit</span>\r\n </p>\r\n <div>\r\n <span class=\"premium-header\">Return of Premium</span> <br />\r\n <span class=\"benefit-text normal-text\"\r\n >Customer can get their premiums back on\r\n <b class=\"bold-text\"\r\n >diagnosis of Critical Illness (CI) or Total and Permanent Disability\r\n (TPD) before the age of 80.</b\r\n ></span\r\n >\r\n <br />\r\n <span class=\"premium\"\r\n ><b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})</span\r\n >\r\n </div>\r\n <div class=\"m-auto\">\r\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-other-benefits',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './other-benefits.component.html',\r\n styleUrl: './other-benefits.component.css'\r\n})\r\nexport class OtherBenefitsComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<div class=\"other-benefit-card d-flex gap-2\"\r\n [ngStyle]=\"{\r\n'--other-benefit-color-border-color': field()?.controlStyle?.borderColor ,\r\n'--other-benefit-color-border-width': field()?.controlStyle?.borderWidth ,\r\n'--other-benefit-color-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--other-benefit-color-bg-color': field()?.controlStyle?.background\r\n }\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n>\r\n <p class=\"w-100 top-box\">\r\n <span class=\"top-benefit-card\">Other Benefit</span>\r\n </p>\r\n @for (data of field()?.configData?.otherBenefits; track $index) {\r\n <div class=\"sub-benefit-card\">\r\n <div class=\"d-flex gap-2\">\r\n <img [src]=\"data.imageUrl\" alt=\"\" />\r\n <span class=\"header-txt\">{{ data.headerText }}</span>\r\n </div>\r\n <span [innerHTML]=\"data.htmlInnerText\"></span>\r\n </div>\r\n }\r\n</div>\r\n","import { Component, input, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-annuity-rate-logo',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './annuity-rate-logo.component.html',\r\n styleUrl: './annuity-rate-logo.component.css'\r\n})\r\nexport class AnnuityRateLogoComponent {\r\nfield: any = input.required<any>();\r\n@Input() ratePercent: any = '7%';\r\n}\r\n","<div *ngIf=\"field() && field()?.isVisible\">\r\n <span class=\"annuity-box\">\r\n <span class=\"annuity-percent\">{{ ratePercent }}</span>\r\n <img src=\"https://cdn.godigit.com/retail-life/annuity-rate.svg\" alt=\"\" />\r\n </span>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'lib-discount-v2',\r\n standalone: true,\r\n imports: [MatIconModule , CommonModule],\r\n templateUrl: './discount-v2.component.html',\r\n styleUrl: './discount-v2.component.css'\r\n})\r\nexport class DiscountV2Component {\r\nfield: any = input.required<any>();\r\n}\r\n","<div class=\"px-3 py-2 discount-card-v2\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"\r\n{\r\n '--discount-design-border-width': field()?.controlStyle?.borderWidth,\r\n '--discount-design-border-color': field()?.controlStyle?.borderColor ,\r\n '--discount-design-border-style': field()?.controlStyle?.borderStyle ,\r\n '--discount-design-width': field()?.controlStyle?.width ,\r\n '--discount-design-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--discount-design-bg': field()?.controlStyle?.background ,\r\n}\">\r\n<div *ngIf=\"field()?.imageUrl\" class=\"mb-3\">\r\n <img [src]='field().imageUrl' alt=\"\">\r\n</div>\r\n <div class=\"mb-2 discount-heading\" [ngStyle]=\"\r\n{\r\n '--discount-heading-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--discount-heading-font-size': field()?.controlStyle?.fontSize ,\r\n '--discount-heading-font-color': field()?.controlStyle?.color\r\n}\">{{field()?.label}}</div>\r\n <div class=\"sticky-bottom-btn\">\r\n <!-- <button class=\"px-2 mt-1 discount-btn-remove\"><div>Remove</div> <mat-icon class=\"pt-1 remove-btn-cross\">close</mat-icon></button> -->\r\n <button class=\"px-2 mt-1 discount-btn-apply\"><div>Applied</div><img class=\"check-circle\" src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\"></button>\r\n </div>\r\n</div>\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-label-value-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './label-value-card.component.html',\r\n styleUrl: './label-value-card.component.css'\r\n})\r\nexport class LabelValueCardComponent {\r\nfield : any = input.required<any>();\r\n\r\nngOnInit(){}\r\n}\r\n","<div class=\"labelValueCard\" *ngIf=\"field() && field()?.isVisible\">\r\n <div class=\"labelHead\">\r\n <span class=\"master-labelValue\" [ngStyle]=\"{\r\n '--master-heading-font-color': field()?.controlStyle?.color,\r\n '--master-heading-font-size': field()?.controlStyle?.fontSize,\r\n '--master-heading-font-weight': field()?.controlStyle?.fontWeight\r\n }\">{{field()?.label}}</span>\r\n </div>\r\n <div class=\"labelValue\">\r\n <span>{{field()?.placeHolder}}</span>\r\n <span matSuffix class=\"mx-3\">\r\n <img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl' alt=\"\" />\r\n </span>\r\n </div>\r\n</div>","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MasterService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getCookieValue(name: string): string {\r\n const cookie = document.cookie.split(';');\r\n let tokenName = '';\r\n let tokenValue = '';\r\n const index2 = 2;\r\n cookie.forEach(data => {\r\n if (data.split('=')[0].includes(name) && !!data.split('=')[1]) {\r\n tokenName = data.split('=')[0].trim();\r\n tokenValue = data.split('=')[1];\r\n }\r\n if (\r\n name === 'link' &&\r\n data.split('=')[0].includes(name) &&\r\n data.split('=')[index2] !== null &&\r\n data.split('=')[index2] !== undefined\r\n ) {\r\n tokenValue = tokenValue + '=' + data.split('=')[index2];\r\n }\r\n });\r\n return tokenValue;\r\n }\r\n\r\n\r\n getCommonHeaders(configData : any) {\r\n const headers: any = {};\r\n headers['content-type'] = 'application/json';\r\n if(configData['isSendToken']) {\r\n headers['Authorization'] = 'Bearer ' + this.getCookieValue(configData['tokenCookieParam']);\r\n }\r\n return headers;\r\n }\r\n\r\n getSubQuestions(configData : any, subquestionType: any, personUWID: any) {\r\n let url = `${configData['apiUrl']}`;\r\n url += `?${configData['urlParamForDisease']}=${subquestionType}`;\r\n url += `&${configData['urlParamForPersonUwId']}=${personUWID}`;\r\n url += `&lang=ENG`\r\n return this.http.get(url, { headers: this.getCommonHeaders(configData) });\r\n }\r\n}\r\n","import { GoogleMapsModule } from '@angular/google-maps';\r\nimport { Component, ElementRef, Input, OnInit, ViewChild, NgZone, AfterViewInit, input, SimpleChanges, ChangeDetectionStrategy } from '@angular/core';\r\nimport questionsResponse from './questions.json'\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TextboxComponent } from '../textbox/textbox.component';\r\nimport { RadioComponent } from '../radio/radio.component';\r\nimport { CheckboxComponent } from '../checkbox/checkbox.component';\r\nimport { SelectComponent } from '../select/select.component';\r\nimport { DobComponent } from '../dob/dob.component';\r\nimport { UploadComponent } from '../upload/upload.component';\r\nimport { MultipleSelectComponent } from '../multiple-select/multiple-select.component';\r\nimport { HrLineComponent } from '../hr-line/hr-line.component';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { MasterService } from '../master.service';\r\nimport { FilePreviewComponent } from '../file-preview/file-preview.component';\r\n\r\n@Component({\r\n selector: 'lib-medial-questions',\r\n standalone: true,\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TextboxComponent,\r\n RadioComponent,\r\n CheckboxComponent,\r\n SelectComponent,\r\n DobComponent,\r\n UploadComponent,\r\n MultipleSelectComponent,\r\n GoogleMapsModule,\r\n HrLineComponent,\r\n FilePreviewComponent\r\n ],\r\n templateUrl: './medial-questions.component.html',\r\n styleUrl: './medial-questions.component.css',\r\n})\r\nexport class MedialQuestionsComponent implements OnInit, AfterViewInit {\r\n medialQuestionResponse = input<any>();\r\n personUWOpenQuoteResponse : any = input<any>();\r\n defaultValues : any = input<any>();\r\n personUwId : any = \"\";\r\n isMedicalSubQuestionsAvailable : any = null;\r\n medicalSubQuestionsResponse : any = {};\r\n @ViewChild('addressInput') addressInput!: ElementRef<HTMLInputElement>;\r\n private autocomplete!: google.maps.places.Autocomplete;\r\n saveQuestionRequestLa: any = [];\r\n saveQuestionRequestPh: any = [];\r\n field: any = input.required<any>();\r\n questionList: any = [];\r\n currentCoordinates: any = {};\r\n personUwResponseObj: any = [];\r\n center: google.maps.LatLngLiteral = { lat: 40.73061, lng: -73.935242 };\r\n latitude: any;\r\n longitude: any;\r\n zoom: any;\r\n marker: any = {};\r\n\r\n\r\n personUwAnswers: any = {\r\n medicalQuestionsHeightUnit: 'FEET',\r\n medicalQuestionFeetInput: 0,\r\n medicalQuestionsInchesInput: 0,\r\n medicalQuestionsHeightInput: 0,\r\n };\r\n medQuestionObj: any = {};\r\n listOfDomainValuesForCheckBox: any = [];\r\n medicalQuestionsFeetList: any = [];\r\n medicalQuestionsInchesList: any = [];\r\n questionHeader: any = ['eia details', 'abha details', 'pep details'];\r\n medicalQuestionsHeightUnitTypes: any = [\r\n {\r\n label: 'Cm',\r\n value: 'CM',\r\n },\r\n {\r\n label: 'Feet',\r\n value: 'FEET',\r\n },\r\n ];\r\n showDropdown = false;\r\n addressSuggestions: any[] = [];\r\n hoveredIndex = -1;\r\n searchTimeout: any;\r\n horizontalLineObj : any = {\r\n \"controlStyle\": {\r\n \"controlType\": null,\r\n \"borderColor\": null,\r\n \"borderWidth\": null,\r\n \"borderRadius\": null,\r\n \"fontSize\": null,\r\n \"fontWeight\": null,\r\n \"fontFamily\": null,\r\n \"color\": null,\r\n \"background\": null,\r\n \"caretColor\": null,\r\n \"nudgeDisplayImage\": null,\r\n \"dropdownOptionBgColor\": null,\r\n \"dropdownOptionColor\": null,\r\n \"dropdownOptionFontWeight\": null,\r\n \"width\": null,\r\n \"focusBorderWidth\": null,\r\n \"focusBorderColor\": null,\r\n \"focusBackground\": null,\r\n \"focusColor\": null,\r\n \"focusDropdownOptionBgColor\": null,\r\n \"focusDropdownOptionColor\": null,\r\n \"focusDropdownOptionFontWeight\": null,\r\n \"focusDropdownOptionBorderLeft\": null,\r\n \"focusDropdownOptionBorderRadius\": null,\r\n \"hoverBorderColor\": null,\r\n \"hoverBorderWidth\": null,\r\n \"hoverColor\": null,\r\n \"disableColor\": null,\r\n \"disableBackground\": null,\r\n \"errorBorderColor\": null,\r\n \"errorBorderWidth\": null,\r\n \"errorColor\": null,\r\n \"createdDate\": null,\r\n \"padding\": null,\r\n \"margin\": null,\r\n \"isMasterCss\": null,\r\n \"controlMetaId\": \"LI_COM_GEN_CTRL_hrLine_hrLine_V1\",\r\n \"borderStyle\": \"solid\",\r\n \"height\": null,\r\n \"minHeight\": null,\r\n \"maxHeight\": null,\r\n \"minWidth\": null,\r\n \"maxWidth\": null,\r\n \"cssClass\": null\r\n },\r\n \"fieldName\": \"hrLine\",\r\n \"label\": \"solid line\",\r\n \"placeHolder\": null,\r\n \"metaId\": \"LI_COM_GEN_CTRL_hrLine_hrLine_V1\",\r\n \"isVisible\": true,\r\n \"isDisable\": false,\r\n \"defaultValue\": null,\r\n \"validators\": {\r\n \"isRequired\": false,\r\n \"requiredMessage\": \"This field cannot be empty\",\r\n \"minLength\": null,\r\n \"minLengthMessage\": null,\r\n \"maxLength\": null,\r\n \"maxLengthMessage\": null,\r\n \"pattern\": null,\r\n \"patternMessage\": \"\"\r\n },\r\n \"options\": [],\r\n \"cssClass\": \"col-12\",\r\n \"value\": null,\r\n \"style\": null,\r\n \"imageUrl\": null,\r\n \"configData\": {\r\n \"hrText\": \"\"\r\n },\r\n \"metaDataObj\": null,\r\n \"isShowLabel\": true,\r\n \"isMasterControl\": false,\r\n \"controlType\": \"hrLine\"\r\n };\r\n previewFile: File | null = null;\r\n constructor(public ngZone: NgZone, public masterService : MasterService) {\r\n console.log('medialQuestionResponseeeeee', this.medialQuestionResponse());\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n ((changes['medialQuestionResponse']) && !this.checkIfValueIsEmpty(changes['medialQuestionResponse'].currentValue)) ||\r\n ((changes['preparePersonUwQuestionsObj']) && !this.checkIfValueIsEmpty(changes['preparePersonUwQuestionsObj'].currentValue))\r\n ) {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.zoom = 15;\r\n this.currentCoordinates = {\r\n lat: this.latitude,\r\n lng: this.longitude,\r\n };\r\n this.center = { ...this.currentCoordinates };\r\n });\r\n }\r\n this.preparePersonUwQuestionsObj();\r\n }\r\n\r\n if(((changes['defaultValues']) && !this.checkIfValueIsEmpty(changes['defaultValues'].currentValue))) {\r\n if(typeof this.defaultValues() === 'object') {\r\n this.personUwAnswers = {...this.personUwAnswers, ...this.defaultValues()};\r\n this.removeSubQuestionValues();\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeAutocomplete();\r\n }\r\n\r\n private resolveHeightQuestionIds(): void {\r\n this.personUwAnswers['medicalQuestionsHeightInput'] = 0;\r\n this.personUwAnswers['medicalQuestionFeetInput'] = 0;\r\n this.personUwAnswers['medicalQuestionsInchesInput'] = 0;\r\n\r\n this.questionList.forEach((section: any) => {\r\n if (section.questions && Array.isArray(section.questions)) {\r\n section.questions.forEach((question: any) => {\r\n switch (question.cammundaQuestionCode) {\r\n case 'QHT':\r\n this.personUwAnswers['medicalQuestionsHeightInput'] = question.questionId;\r\n break;\r\n case 'QHTF':\r\n this.personUwAnswers['medicalQuestionFeetInput'] = question.questionId;\r\n break;\r\n case 'QHTI':\r\n this.personUwAnswers['medicalQuestionsInchesInput'] = question.questionId;\r\n break;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n private initializeAutocomplete(): void {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n this.addressInput?.nativeElement,\r\n {\r\n types: ['address'],\r\n componentRestrictions: { country: 'IN' },\r\n fields: ['place_id', 'geometry', 'name', 'formatted_address'],\r\n }\r\n );\r\n\r\n this.autocomplete.addListener('place_changed', () => {\r\n this.ngZone.run(() => {\r\n this.onPlaceSelected();\r\n });\r\n });\r\n }\r\n\r\n private onPlaceSelected(): void {\r\n const place = this.autocomplete.getPlace();\r\n\r\n if (!place.geometry || !place.geometry.location) {\r\n console.log('No details available for input: ', place.name);\r\n return;\r\n }\r\n\r\n const location = place.geometry.location;\r\n this.center = {\r\n lat: location.lat(),\r\n lng: location.lng(),\r\n };\r\n this.currentCoordinates = this.center;\r\n\r\n if (place.geometry.viewport) {\r\n this.zoom = 15;\r\n } else {\r\n this.zoom = 13;\r\n }\r\n\r\n console.log('Selected place:', {\r\n name: place.name,\r\n address: place.formatted_address,\r\n coordinates: this.center,\r\n });\r\n\r\n this.storeSelectedAddress(place);\r\n }\r\n\r\n private storeSelectedAddress(place: google.maps.places.PlaceResult): void {\r\n const addressData = {\r\n placeId: place.place_id,\r\n name: place.name,\r\n formattedAddress: place.formatted_address,\r\n coordinates: this.center,\r\n };\r\n }\r\n\r\n searchAddress(address: string): void {\r\n const geocoder = new google.maps.Geocoder();\r\n\r\n geocoder.geocode({ address: address }, (results, status) => {\r\n if (status === 'OK' && results && results[0]) {\r\n const location = results[0].geometry.location;\r\n this.ngZone.run(() => {\r\n this.center = {\r\n lat: location.lat(),\r\n lng: location.lng(),\r\n };\r\n this.currentCoordinates = this.center;\r\n this.zoom = 15;\r\n });\r\n } else {\r\n console.log(\r\n 'Geocode was not successful for the following reason: ' + status\r\n );\r\n }\r\n });\r\n }\r\n\r\n onAddressInputKeyup(event: any) {\r\n const query = event.target.value;\r\n\r\n // Clear previous timeout\r\n if (this.searchTimeout) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n\r\n // Handle arrow key navigation\r\n if (event.key === 'ArrowDown') {\r\n this.hoveredIndex = Math.min(\r\n this.hoveredIndex + 1,\r\n this.addressSuggestions.length - 1\r\n );\r\n return;\r\n } else if (event.key === 'ArrowUp') {\r\n this.hoveredIndex = Math.max(this.hoveredIndex - 1, -1);\r\n return;\r\n } else if (event.key === 'Enter') {\r\n if (\r\n this.hoveredIndex >= 0 &&\r\n this.addressSuggestions[this.hoveredIndex]\r\n ) {\r\n this.selectAddress(this.addressSuggestions[this.hoveredIndex]);\r\n }\r\n return;\r\n } else if (event.key === 'Escape') {\r\n this.showDropdown = false;\r\n return;\r\n }\r\n\r\n if (query.length < 2) {\r\n this.addressSuggestions = [];\r\n this.showDropdown = false;\r\n return;\r\n }\r\n\r\n this.searchTimeout = setTimeout(() => {\r\n this.searchAddresses(query);\r\n }, 300);\r\n }\r\n\r\n searchAddresses(query: string) {\r\n // Replace this with your actual address search API call\r\n // For example, using Google Places API:\r\n\r\n const service = new google.maps.places.AutocompleteService();\r\n service.getPlacePredictions(\r\n {\r\n input: query,\r\n types: ['address'],\r\n },\r\n (predictions, status) => {\r\n if (\r\n status === google.maps.places.PlacesServiceStatus.OK &&\r\n predictions\r\n ) {\r\n this.addressSuggestions = predictions.map((prediction) => ({\r\n place_id: prediction.place_id,\r\n main_text: prediction.structured_formatting.main_text,\r\n secondary_text: prediction.structured_formatting.secondary_text,\r\n description: prediction.description,\r\n }));\r\n this.showDropdown = true;\r\n this.hoveredIndex = -1;\r\n } else {\r\n this.addressSuggestions = [];\r\n this.showDropdown = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n selectAddress(suggestion: any) {\r\n const addressInput = document.querySelector(\r\n '#addressInput'\r\n ) as HTMLInputElement;\r\n if (addressInput) {\r\n addressInput.value = suggestion.description;\r\n }\r\n\r\n const service = new google.maps.places.PlacesService(\r\n document.createElement('div')\r\n );\r\n service.getDetails(\r\n {\r\n placeId: suggestion.place_id,\r\n fields: ['geometry', 'formatted_address'],\r\n },\r\n (place, status) => {\r\n if (status === google.maps.places.PlacesServiceStatus.OK && place) {\r\n const lat = place.geometry?.location?.lat();\r\n const lng = place.geometry?.location?.lng();\r\n\r\n if (lat !== undefined && lng !== undefined) {\r\n this.longitude = lng;\r\n this.latitude = lat;\r\n\r\n this.center = { lat, lng };\r\n this.currentCoordinates = this.center;\r\n }\r\n }\r\n }\r\n );\r\n\r\n this.showDropdown = false;\r\n this.addressSuggestions = [];\r\n }\r\n\r\n onInputBlur() {\r\n setTimeout(() => {\r\n this.showDropdown = false;\r\n }, 200);\r\n }\r\n\r\n findMedicalQuestionsInOpenQuote(arrayOfObj : any) {\r\n if(arrayOfObj['cammundaQuestionCode'] === 'MediCndtn' || arrayOfObj['cammundaQuestionCode'] === 'LifeMediCndtn') {\r\n this.isMedicalSubQuestionsAvailable = arrayOfObj;\r\n }\r\n if(this.checkIfValueIsEmpty(this.isMedicalSubQuestionsAvailable) && !this.checkIfValueIsEmpty(arrayOfObj['personUWActivityResponseEntity'])) {\r\n arrayOfObj['personUWActivityResponseEntity'].forEach((singleSubArray : any) => {\r\n this.findMedicalQuestionsInOpenQuote(singleSubArray);\r\n });\r\n }\r\n }\r\n\r\n mapAnswersForOpenQuote() {\r\n if(!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList)) {\r\n let arrayOfKeys : any = Object.keys(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList);\r\n arrayOfKeys.forEach((singleKey : any, singleKeyLength : number) => {\r\n if (!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey])) {\r\n this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].forEach((singleAnswerObj : any, singleAnswerObjLength : number) => {\r\n this.updatePersonUwAnswers(singleAnswerObj);\r\n if(singleKeyLength === (arrayOfKeys.length - 1) && singleAnswerObjLength === (this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].length - 1)) {\r\n this.removeSubQuestionValues();\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n preparePersonUwQuestionsObj() {\r\n this.questionList = [];\r\n let data: any = this.medialQuestionResponse();\r\n this.listOfDomainValuesForCheckBox = [];\r\n\r\n let isDisable : any = false;\r\n if(!this.checkIfValueIsEmpty(sessionStorage.getItem('isDisableMedicalQuestions')) ) {\r\n let isDisableMedicalQuestionsinUi : any = sessionStorage.getItem('isDisableMedicalQuestions');\r\n isDisable = JSON.parse(isDisableMedicalQuestionsinUi) ? true : false;\r\n }\r\n\r\n if (!this.checkIfValueIsEmpty(data['questionsResponse'])) {\r\n let personUwIdArray: any = [];\r\n data['questionsResponse'].forEach((singleQuestionObj: any) => {\r\n personUwIdArray.push(singleQuestionObj['personUWId']);\r\n });\r\n\r\n if (\r\n !this.checkIfValueIsEmpty(data) &&\r\n !this.checkIfValueIsEmpty(data['questionsResponse'])\r\n ) {\r\n\r\n if (!this.checkIfValueIsEmpty(data['questionsResponse'])) {\r\n let distinctSteps: any = [];\r\n data['questionsResponse'].forEach((singlePersonObject: any) => {\r\n this.personUwId = singlePersonObject['personUWId'].toString();\r\n if (!this.checkIfValueIsEmpty(singlePersonObject['questionList'])) {\r\n singlePersonObject['questionList'].forEach(\r\n (singleQuestion: any) => {\r\n if (singleQuestion['title'] === 'Medical Details') {\r\n singleQuestion['questionText'] = singleQuestion[\r\n 'questionText'\r\n ].replace(/\\\\n/g, '\\n');\r\n }\r\n singleQuestion['domainValues'] =\r\n data['domainValues'][singleQuestion['domainName']];\r\n\r\n singleQuestion['field'] = this.getField(singleQuestion);\r\n\r\n if (singleQuestion['cammundaQuestionCode'] === 'PAN') {\r\n singleQuestion['validations'] =\r\n '{\"Type\":\"AlphaNumeric\",\"MinValue\":\"10\",\"MaxValue\":\"10\",\"regexPattern\":\"/^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/\"}';\r\n }\r\n // if (singleQuestion['cammundaQuestionCode'] === 'FtcaCntcDetls') {\r\n // singleQuestion['validations'] = '{\"customValidation\":[{\"country\":\"IN\",\"MinValue\":\"10\",\"MaxValue\":\"10\",\"regexPattern\":\"((^[6-9]){1}([0-9]){9}$)\"},{\"country\":\"OTHER\",\"MinValue\":\"5\",\"MaxValue\":\"14\"}]}';\r\n // }\r\n if (\r\n singleQuestion['questionType'] === 'CHECKBOX' &&\r\n !this.checkIfValueIsEmpty(\r\n singleQuestion['questionRelation']\r\n )\r\n ) {\r\n singleQuestion['questionRelation'].forEach(\r\n (singleQuestionRelationObj: any) => {\r\n let nextQuestionObject: any = singlePersonObject[\r\n 'questionList'\r\n ].filter(\r\n (object: any) =>\r\n object['questionId'] ===\r\n singleQuestionRelationObj['nextQuestionId']\r\n );\r\n if (nextQuestionObject.length > 0) {\r\n nextQuestionObject[0]['answeredValue'] =\r\n singleQuestionRelationObj['parentQuestionValue'];\r\n }\r\n }\r\n );\r\n }\r\n\r\n if (singleQuestion['questionType'] === 'CHECKBOX') {\r\n if (\r\n !this.checkIfValueIsEmpty(singleQuestion['domainName']) &&\r\n !this.checkIfValueIsEmpty(\r\n data['domainValues'][singleQuestion['domainName']]\r\n )\r\n ) {\r\n data['domainValues'][\r\n singleQuestion['domainName']\r\n ].forEach((singleDomainValue: any) => {\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n singleDomainValue['domainInternalValue']\r\n )\r\n ) {\r\n this.listOfDomainValuesForCheckBox.push(\r\n singleDomainValue['domainInternalValue']\r\n );\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (!distinctSteps.includes(singleQuestion['step'])) {\r\n distinctSteps.push(singleQuestion['step']);\r\n }\r\n\r\n singleQuestion['isMedicalSubQuestion'] = false;\r\n }\r\n );\r\n\r\n singlePersonObject['questionList'].forEach((question: any) => {\r\n question['isShowQuestionInUI'] = false;\r\n if (question['questionType'] === 'IMAGE TEXT') {\r\n question['questionText'] = question[\r\n 'questionText'\r\n ].replaceAll('\\\\n', '<br>');\r\n }\r\n\r\n if (question['cammundaQuestionCode'] === 'QHTF') {\r\n this.medicalQuestionsFeetList = question['domainValues'];\r\n this.medQuestionObj['QHTF'] = question;\r\n this.medQuestionObj['QHTF']['field']['isShowLabel'] = false;\r\n this.medQuestionObj['QHTF']['field']['controlStyle'] = {\r\n controlType: 'select',\r\n borderColor: '#ffffff',\r\n borderWidth: '1.5px',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: '#FFFFFF',\r\n dropdownOptionColor: '#444444',\r\n dropdownOptionFontWeight: '400',\r\n width: null,\r\n focusBorderWidth: '1.5px',\r\n focusBorderColor: '#ffffff',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#ffffff',\r\n hoverBorderWidth: '1.5px',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '1.5px',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId:\r\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n };\r\n }\r\n if (question['cammundaQuestionCode'] === 'QHTI') {\r\n this.medicalQuestionsInchesList = question['domainValues'];\r\n this.medQuestionObj['QHTI'] = question;\r\n this.medQuestionObj['QHTI']['field']['isShowLabel'] = false;\r\n this.medQuestionObj['QHTI']['field']['controlStyle'] = {\r\n controlType: 'select',\r\n borderColor: '#ffffff',\r\n borderWidth: '1.5px',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: '#FFFFFF',\r\n dropdownOptionColor: '#444444',\r\n dropdownOptionFontWeight: '400',\r\n width: null,\r\n focusBorderWidth: '1.5px',\r\n focusBorderColor: '#ffffff',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#ffffff',\r\n hoverBorderWidth: '1.5px',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '1.5px',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId:\r\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n };\r\n }\r\n if (question['cammundaQuestionCode'] === 'QHT') {\r\n this.medicalQuestionsInchesList = question['domainValues'];\r\n this.medQuestionObj['QHT'] = question;\r\n this.medQuestionObj['QHT']['field']['isShowLabel'] = false;\r\n this.medQuestionObj['QHT']['field']['controlStyle'] = {\r\n controlType: 'FREETEXT',\r\n borderColor: '#ffffff',\r\n borderWidth: '1.5px',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: '#FFFFFF',\r\n dropdownOptionColor: '#444444',\r\n dropdownOptionFontWeight: '400',\r\n width: null,\r\n focusBorderWidth: '1.5px',\r\n focusBorderColor: '#ffffff',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#ffffff',\r\n hoverBorderWidth: '1.5px',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '1.5px',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId:\r\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n };\r\n }\r\n\r\n if (question['questionType'] === 'DECLARATION') {\r\n if (question['cammundaQuestionCode'] === 'recvSftCopy') {\r\n // this.personUwAnswers[singlePersonObject['role']][] = false;\r\n question['domainValues'] = [];\r\n question['domainValues'].push({\r\n domainInternalValue: question['questionId'],\r\n domainUiValue: 'N',\r\n });\r\n }\r\n question['domainValues'] = [];\r\n question['domainValues'].push({\r\n domainInternalValue: question['questionId'],\r\n domainUiValue: 'Y',\r\n });\r\n }\r\n\r\n if (question['cammundaQuestionCode'] === 'hardCopyLang') {\r\n question['questionType'] = 'HARD COPY';\r\n }\r\n });\r\n\r\n singlePersonObject['questionList'].sort(\r\n (a: any, b: any) =>\r\n a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']\r\n );\r\n }\r\n\r\n let questionsListForLA: any = [];\r\n distinctSteps.forEach((steps: any) => {\r\n let filteredObj: any = singlePersonObject['questionList'].filter(\r\n (singleQuestion: any) => singleQuestion['step'] === steps\r\n );\r\n let obj: any = {\r\n step: steps,\r\n personUWId: singlePersonObject['personUWId'].toString(),\r\n questions: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj\r\n : [],\r\n sectionName: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj[0]['title']\r\n : '',\r\n isMedicalSubQuestion: false,\r\n showSection: true,\r\n };\r\n if (!this.checkIfValueIsEmpty(filteredObj)) {\r\n // Hard Copy and Map question\r\n let filteredHardCopyQuestion: any = filteredObj.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['cammundaQuestionCode'] === 'recvSftCopy'\r\n );\r\n if (!this.checkIfValueIsEmpty(filteredHardCopyQuestion)) {\r\n obj['questions'].push({\r\n questionType: 'MAP',\r\n isShowQuestionInUI: true,\r\n parentQuestionRelation: {\r\n parentQuestionId:\r\n filteredHardCopyQuestion[0]['questionId'],\r\n parentQuestionAnswer: 'Y',\r\n },\r\n });\r\n }\r\n\r\n // if NRI then passport upload is required\r\n let filteredNationalityQuestion: any = filteredObj.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['cammundaQuestionCode'] === 'Nationality'\r\n );\r\n if (!this.checkIfValueIsEmpty(filteredNationalityQuestion)) {\r\n singlePersonObject['questionList'].push({\r\n questionType: 'PASSPORT_UPLOAD',\r\n optionalQuestion: 'N',\r\n questionText: 'Passport Details ',\r\n isShowQuestionInUI: true,\r\n parentQuestionRelation: {\r\n parentQuestionId:\r\n filteredNationalityQuestion[0]['questionId'],\r\n parentQuestionAnswer: 'forgnNational',\r\n },\r\n });\r\n obj['questions'].push({\r\n questionType: 'PASSPORT_UPLOAD',\r\n optionalQuestion: 'N',\r\n questionText: 'Passport Details ',\r\n isShowQuestionInUI: true,\r\n parentQuestionRelation: {\r\n parentQuestionId:\r\n filteredNationalityQuestion[0]['questionId'],\r\n parentQuestionAnswer: 'forgnNational',\r\n },\r\n });\r\n }\r\n }\r\n questionsListForLA.push(obj);\r\n });\r\n // let lifeAssuredObjectIndexInMaster: any = this.questionList.findIndex((singleObj: any) => singleObj['role'] === singlePersonObject['role']);\r\n // if (lifeAssuredObjectIndexInMaster !== this.numberMinusOne) {\r\n this.questionList = questionsListForLA;\r\n this.resolveHeightQuestionIds();\r\n // }\r\n });\r\n this.personUwResponseObj = data['questionsResponse'];\r\n }\r\n }\r\n\r\n if(!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList) ) {\r\n let isSubQuestionExists: any = false;\r\n this.isMedicalSubQuestionsAvailable = null;\r\n let arrayOfKeys : any = Object.keys(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList);\r\n arrayOfKeys.forEach((singleKey : any) => {\r\n if (!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey])) {\r\n this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].forEach((singleAnswerObj : any) => {\r\n this.findMedicalQuestionsInOpenQuote(singleAnswerObj);\r\n });\r\n }\r\n });\r\n\r\n if(!this.checkIfValueIsEmpty(this.isMedicalSubQuestionsAvailable)) {\r\n this.masterService\r\n .getSubQuestions(\r\n this.field()?.configData,\r\n this.isMedicalSubQuestionsAvailable['answer'],\r\n this.isMedicalSubQuestionsAvailable['personUWId']\r\n )\r\n .subscribe(\r\n (subQuestionResponse: any) => {\r\n let distinctSteps: any = [];\r\n if (!this.checkIfValueIsEmpty(subQuestionResponse)) {\r\n subQuestionResponse.forEach((subQuestion: any) => {\r\n subQuestion['domainValues'] =\r\n this.medialQuestionResponse()['domainValues'][\r\n subQuestion['domainName']\r\n ];\r\n\r\n subQuestion['field'] = this.getField(subQuestion);\r\n if (!distinctSteps.includes(subQuestion['clusterId'])) {\r\n distinctSteps.push(subQuestion['clusterId']);\r\n }\r\n });\r\n\r\n subQuestionResponse.sort(\r\n (a: any, b: any) =>\r\n a['step'] - b['step'] ||\r\n a['displayOrder'] - b['displayOrder']\r\n );\r\n distinctSteps.forEach((steps: any, ind: any) => {\r\n let filteredObj: any = subQuestionResponse.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['clusterId'] === steps\r\n );\r\n let obj: any = {\r\n step: 1000 + ind,\r\n questions: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj\r\n : [],\r\n sectionName: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj[0]['title']\r\n : '',\r\n isMedicalSubQuestion: true,\r\n showSection: true,\r\n personUWId:\r\n this.isMedicalSubQuestionsAvailable[\r\n 'personUWId'\r\n ].toString(),\r\n };\r\n // let LaIndex: any = this.personUwMasterObj.findIndex(\r\n // (single: any) => single['role'] === singlePerson['role']\r\n // );\r\n this.questionList.push(obj);\r\n });\r\n this.medicalSubQuestionsResponse = subQuestionResponse;\r\n // let laIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\r\n this.medialQuestionResponse()['questionsResponse'][0][\r\n 'questionList'\r\n ] = this.medialQuestionResponse()['questionsResponse'][0][\r\n 'questionList'\r\n ].concat(this.medicalSubQuestionsResponse);\r\n\r\n this.mapAnswersForOpenQuote();\r\n }\r\n },\r\n (err: any) => {\r\n this.mapAnswersForOpenQuote();\r\n }\r\n );\r\n } else {\r\n this.mapAnswersForOpenQuote();\r\n }\r\n // this.personUWOpenQuoteResponse().forEach((singlePerson: any) => {\r\n // if (!this.checkIfValueIsEmpty(singlePerson['questionList']) && !this.checkIfValueIsEmpty(singlePerson['questionList'][0])) {\r\n // let arrayOfKeys = Object.keys(singlePerson['questionList'][0]['personUWdetailsList']);\r\n // if (arrayOfKeys.length > 0) {\r\n // arrayOfKeys.forEach((singleKey) => {\r\n // if (!this.checkIfValueIsEmpty(singlePerson['questionList'][0]['personUWdetailsList'][singleKey])) {\r\n // singlePerson['questionList'][0]['personUWdetailsList'][singleKey].forEach((answerObj: any) => {\r\n\r\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\r\n\r\n\r\n // let filteredQuestion: any = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === answerObj['questionId']);\r\n // if (!this.checkIfValueIsEmpty(filteredQuestion) && filteredQuestion[0]['questionType'] === 'CHECKBOX') {\r\n // // this.personUwAnswers[answerObj.questionId] = [];\r\n // // let listOfOptionsSelected : any = answerObj.answer.split(',');\r\n // // listOfOptionsSelected.forEach((singleElement : any) => {\r\n // // if(!this.checkIfValueIsEmpty(filteredQuestion) && !this.checkIfValueIsEmpty(filteredQuestion[0]) && !this.checkIfValueIsEmpty(filteredQuestion[0]['domainValues'])) {\r\n // // let filteredDomainValueObj : any = filteredQuestion[0]['domainValues'].filter((singleObj : any) => singleObj['domainInternalValue'] === singleElement);\r\n // // if(!this.checkIfValueIsEmpty(filteredDomainValueObj)) {\r\n // // this.personUwAnswers[answerObj.questionId].push({\r\n // // label : filteredDomainValueObj[0]['domainUiValue'],\r\n // // value : filteredDomainValueObj[0]['domainInternalValue']\r\n // // });\r\n // // }\r\n // // }\r\n // // });\r\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer.split(',');\r\n // } else {\r\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer\r\n // }\r\n\r\n // if (answerObj['cammundaQuestionCode'] === 'QHT') {\r\n // this.personUwAnswers['medicalQuestionsHeightInput'] = answerObj['answer'];\r\n // }\r\n // if (answerObj['cammundaQuestionCode'] === 'QHTF') {\r\n // let feetAnswer = answerObj['answer'].split('.');\r\n // if (!this.checkIfValueIsEmpty(answerObj['answer']) && answerObj['answer'].includes('.')) {\r\n // this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\r\n // this.personUwAnswers['medicalQuestionsInchesInput'] = feetAnswer[1];\r\n // } else {\r\n // this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\r\n // this.personUwAnswers['medicalQuestionsInchesInput'] = '0';\r\n // }\r\n // }\r\n // // this.medialQuestionResponse()['questionsResponse'][0]['questionList'].forEach((singleQuestionResponse: any) => {\r\n // // if (singleQuestionResponse['questionId'] === answerObj['questionId'] && singleQuestionResponse['questionType'] === 'DECLARATION') {\r\n // // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\r\n // // }\r\n // // });\r\n // // let laIndex: any = this.medialQuestionResponse()['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\r\n\r\n // // if (!this.checkIfValueIsEmpty(filteredQuestion) && filteredQuestion[0]['questionType'] === 'DECLARATION') {\r\n // // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\r\n // // }\r\n\r\n // if (answerObj['cammundaQuestionCode'] === 'LifeMediCndtn' || answerObj['cammundaQuestionCode'] === 'MediCndtn') {\r\n // isSubQuestionExists = true;\r\n\r\n\r\n // // {\r\n // // \"urlParamForDisease\": \"mdeicalHistory\",\r\n // // \"apiUrl\": \"https://preprod-directportallife.godigit.com/DirectPortalLife/life/fetchSubQuestions\",\r\n // // \"urlParamForPersonUwId\": \"personUWID\",\r\n // // \"tokenCookieParam\": \"v3Token\",\r\n // // \"isSendToken\": false\r\n // // }\r\n // this.masterService.getSubQuestions(this.field()?.configData, answerObj['answer'], answerObj['personUWId']).subscribe(\r\n // (subQuestionResponse: any) => {\r\n // // this.loaderService.display(false);\r\n // let distinctSteps: any = [];\r\n // if (!this.checkIfValueIsEmpty(subQuestionResponse)) {\r\n // subQuestionResponse.forEach((subQuestion: any) => {\r\n // subQuestion['isMedicalSubQuestion'] = true;\r\n // subQuestion['isShowQuestionInUI'] = false;\r\n // if (\r\n // !this.checkIfValueIsEmpty(subQuestion['questionRelation']) &&\r\n // !Array.isArray(subQuestion['questionRelation'])\r\n // ) {\r\n // subQuestion['questionRelation'] = [subQuestion['questionRelation']];\r\n // }\r\n // if (\r\n // subQuestion['questionType'] === 'CHECKBOX' &&\r\n // !this.checkIfValueIsEmpty(subQuestion['questionRelation'])\r\n // ) {\r\n // subQuestion['questionRelation'].forEach((singleQuestionRelationObj: any) => {\r\n // let nextQuestionObject: any = subQuestionResponse.filter(\r\n // (object: any) => object['questionId'] === singleQuestionRelationObj['nextQuestionId']\r\n // );\r\n // if (nextQuestionObject.length > 0) {\r\n // nextQuestionObject[0]['answeredValue'] = singleQuestionRelationObj['parentQuestionValue'];\r\n // }\r\n // });\r\n // }\r\n // subQuestion['domainValues'] = this.medialQuestionResponse()['domainValues'][\r\n // subQuestion['domainName']\r\n // ];\r\n\r\n // subQuestion['field'] = this.getField(subQuestion);\r\n\r\n // // if (!this.checkIfValueIsEmpty(subQuestion['domainValues'])) {\r\n // // subQuestion['domainValues'].forEach((subDomain: any) => {\r\n // // this.subMedicalQuestionsDomainInternalValuesList.push(subDomain['domainInternalValue']);\r\n // // });\r\n // // }\r\n // if (!distinctSteps.includes(subQuestion['clusterId'])) {\r\n // distinctSteps.push(subQuestion['clusterId']);\r\n // }\r\n // });\r\n // subQuestionResponse.sort((a: any, b: any) => a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']);\r\n // distinctSteps.forEach((steps: any, ind: any) => {\r\n // let filteredObj: any = subQuestionResponse.filter((singleQuestion: any) => singleQuestion['clusterId'] === steps);\r\n // let obj: any = {\r\n // step: 1000 + ind,\r\n // questions: !this.checkIfValueIsEmpty(filteredObj) ? filteredObj : [],\r\n // sectionName: !this.checkIfValueIsEmpty(filteredObj) ? filteredObj[0]['title'] : '',\r\n // isMedicalSubQuestion: true,\r\n // showSection: true,\r\n // personUWId: answerObj['personUWId'].toString(),\r\n // };\r\n // // let LaIndex: any = this.personUwMasterObj.findIndex(\r\n // // (single: any) => single['role'] === singlePerson['role']\r\n // // );\r\n // this.questionList.push(obj);\r\n // })\r\n // this.medicalSubQuestionsResponse = subQuestionResponse;\r\n // // let laIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\r\n // this.medialQuestionResponse()['questionsResponse'][0]['questionList'] = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].concat(this.medicalSubQuestionsResponse);\r\n // }\r\n // this.removeSubQuestionValues();\r\n // // this.disableConfirmationButton = false;\r\n // },\r\n // (err: any) => {\r\n // // this.disableConfirmationButton = true;\r\n // // this.loaderService.display(false);\r\n // }\r\n // );\r\n // }\r\n // // else {\r\n // // this.loaderService.display(false);\r\n // // }\r\n\r\n // if (typeof answerObj.answer === 'string' && answerObj.answer !== 'Y' && answerObj.answer !== 'N') {\r\n // // if (answerObj.answer.includes(',')) {\r\n // // answerObj.answer.split(',').forEach((answer: any) => {\r\n // // this.personUwAnswers[answer] = true;\r\n // // });\r\n // // }\r\n // // this.personUwAnswers[answerObj.answer] = true;\r\n // }\r\n // this. updatePersonUwAnswers(answerObj);\r\n // });\r\n // }\r\n // });\r\n // }\r\n // }\r\n // });\r\n }\r\n\r\n\r\n }\r\n\r\n this.removeSubQuestionValues();\r\n\r\n this.medQuestionObj['heightObjectTypes'] = {\r\n controlStyle: {\r\n controlType: 'select',\r\n borderColor: '#ffffff',\r\n borderWidth: '1.5px',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: '#FFFFFF',\r\n dropdownOptionColor: '#444444',\r\n dropdownOptionFontWeight: '400',\r\n width: null,\r\n focusBorderWidth: '1.5px',\r\n focusBorderColor: '#ffffff',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#ffffff',\r\n hoverBorderWidth: '1.5px',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '1.5px',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n fieldName: null,\r\n label: 'feet / inches',\r\n placeHolder: '',\r\n metaId: '',\r\n isVisible: true,\r\n isDisable: isDisable,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: 150,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: [\r\n {\r\n label: 'Cm',\r\n value: 'CM',\r\n },\r\n {\r\n label: 'Feet',\r\n value: 'FEET',\r\n },\r\n ],\r\n cssClass: null,\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n configData: {},\r\n metaDataObj: null,\r\n isShowLabel: false,\r\n isMasterControl: false,\r\n controlType: 'select',\r\n };\r\n }\r\n\r\n updatePersonUwAnswers(answerObj: any) {\r\n\r\n if (answerObj['cammundaQuestionCode'] === 'QHT') {\r\n this.personUwAnswers['medicalQuestionsHeightInput'] = answerObj['answer'];\r\n }\r\n if (answerObj['cammundaQuestionCode'] === 'QHTF') {\r\n let feetAnswer = answerObj['answer'].split('.');\r\n if (!this.checkIfValueIsEmpty(answerObj['answer']) && answerObj['answer'].includes('.')) {\r\n this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\r\n this.personUwAnswers['medicalQuestionsInchesInput'] = feetAnswer[1];\r\n } else {\r\n this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\r\n this.personUwAnswers['medicalQuestionsInchesInput'] = '0';\r\n }\r\n }\r\n\r\n let filteredQuestion: any = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === answerObj['questionId']);\r\n if(!this.checkIfValueIsEmpty(filteredQuestion) && !this.checkIfValueIsEmpty(filteredQuestion[0])) {\r\n if(filteredQuestion[0]['questionType'] === 'CHECKBOX') {\r\n this.personUwAnswers[answerObj.questionId] = answerObj.answer.split(',');\r\n\r\n } else {\r\n this.personUwAnswers[answerObj.questionId] = answerObj.answer;\r\n }\r\n }\r\n if (!this.checkIfValueIsEmpty(answerObj.personUWActivityResponseEntity)) {\r\n answerObj.personUWActivityResponseEntity.forEach((subquestion: any) => {\r\n this.updatePersonUwAnswers(subquestion);\r\n });\r\n this.saveQuestionDetails()\r\n }\r\n }\r\n\r\n checkIfValueIsEmpty(value: any) {\r\n if (typeof value === 'string') {\r\n value = value.trim();\r\n }\r\n return (\r\n value === undefined ||\r\n value === null ||\r\n value === '' ||\r\n (value instanceof Array && value.length === 0) ||\r\n JSON.stringify(value) === '{}'\r\n );\r\n }\r\n\r\n getTitleCase(header: any): any {\r\n if (header) {\r\n if (this.questionHeader.includes(header.toLocaleLowerCase())) {\r\n let val = header.split(' ');\r\n return val[0].toUpperCase() + ' ' + this.toTitleCase(val[1]);\r\n } else {\r\n if (header.toUpperCase() === 'FATCA DETAILS') {\r\n return header;\r\n }\r\n return this.toTitleCase(header);\r\n }\r\n }\r\n }\r\n\r\n toTitleCase(value: any) {\r\n if (!this.checkIfValueIsEmpty(value)) {\r\n return value\r\n .toString()\r\n .replace(\r\n /\\w\\S*/g,\r\n (txt: any) => txt[0].toUpperCase() + txt.substr(1).toLowerCase()\r\n );\r\n }\r\n }\r\n\r\n getField(questionObj: any) {\r\n let optionsObj: any = [];\r\n let controlStyle : any = {};\r\n if (questionObj['domainValues']) {\r\n questionObj['domainValues'].forEach((singleOptionValue: any) => {\r\n optionsObj.push({\r\n label: singleOptionValue['domainUiValue'],\r\n value: singleOptionValue['domainInternalValue'],\r\n });\r\n });\r\n }\r\n let isDisable : any = false;\r\n if(!this.checkIfValueIsEmpty(sessionStorage.getItem('isDisableMedicalQuestions')) ) {\r\n let isDisableMedicalQuestionsinUi : any = sessionStorage.getItem('isDisableMedicalQuestions');\r\n isDisable = JSON.parse(isDisableMedicalQuestionsinUi) ? true : false;\r\n }\r\n let minLength: any = null;\r\n let maxLength: any = 200;\r\n let pattern: any = null;\r\n let patternMessage: any = null;\r\n let configData: any = !this.checkIfValueIsEmpty(this.field()?.configData)\r\n ? this.field()?.configData\r\n : {};\r\n\r\n if(questionObj['questionType'] === 'RADIO BUTTON' || questionObj['questionType'] === 'ADDMORE') {\r\n controlStyle = {\r\n \"controlType\": \"radio\",\r\n \"borderColor\": \"#DADADA\",\r\n \"borderWidth\": \"1px\",\r\n \"borderRadius\": null,\r\n \"fontSize\": \"12px\",\r\n \"fontWeight\": \"400\",\r\n \"fontFamily\": \"Mulish\",\r\n \"color\": \"#444444\",\r\n \"background\": \"#FFFFFF\",\r\n \"caretColor\": null,\r\n \"nudgeDisplayImage\": null,\r\n \"dropdownOptionBgColor\": null,\r\n \"dropdownOptionColor\": null,\r\n \"dropdownOptionFontWeight\": null,\r\n \"width\": null,\r\n \"focusBorderWidth\": \"1px\",\r\n \"focusBorderColor\": \"#ffbb00\",\r\n \"focusBackground\": null,\r\n \"focusColor\": \"#444444\",\r\n \"focusDropdownOptionBgColor\": null,\r\n \"focusDropdownOptionColor\": null,\r\n \"focusDropdownOptionFontWeight\": null,\r\n \"focusDropdownOptionBorderLeft\": null,\r\n \"focusDropdownOptionBorderRadius\": null,\r\n \"hoverBorderColor\": \"#DADADA\",\r\n \"hoverBorderWidth\": \"1px\",\r\n \"hoverColor\": \"#444444\",\r\n \"disableColor\": \"#ECECEC\",\r\n \"disableBackground\": \"#ECECEC\",\r\n \"errorBorderColor\": \"#DADADA\",\r\n \"errorBorderWidth\": \"1px\",\r\n \"errorColor\": \"#444444\",\r\n \"createdDate\": null,\r\n \"padding\": null,\r\n \"margin\": null,\r\n \"isMasterCss\": null,\r\n \"controlMetaId\": \"ALL_COM_GEN_CTRL_radio_nomineeGender_V1\",\r\n \"borderStyle\": null,\r\n \"height\": null,\r\n \"minHeight\": null,\r\n \"maxHeight\": null,\r\n \"minWidth\": null,\r\n \"maxWidth\": null,\r\n \"cssClass\": null\r\n };\r\n }\r\n if (!this.checkIfValueIsEmpty(questionObj['validations'])) {\r\n let validationObj: any = JSON.parse(questionObj['validations']);\r\n if (!this.checkIfValueIsEmpty(validationObj['MinValue'])) {\r\n minLength = validationObj['MinValue'];\r\n }\r\n if (!this.checkIfValueIsEmpty(validationObj['MaxValue'])) {\r\n maxLength = validationObj['MaxValue'];\r\n }\r\n if (!this.checkIfValueIsEmpty(validationObj['Type'])) {\r\n pattern = validationObj['Type'] === 'Numeric' ? '^[0-9]+$' : null;\r\n patternMessage =\r\n validationObj['Type'] === 'Numeric'\r\n ? 'Only numbers are allowed.'\r\n : null;\r\n\r\n if(validationObj['Type'] === 'Numeric') {\r\n configData['isAllowNumbersInTextFields'] = true;\r\n }\r\n if (validationObj['Type'] === 'Numeric') {\r\n maxLength = '9'.repeat(Number(maxLength));\r\n configData['maxValue'] = maxLength;\r\n configData['minValue'] = 0;\r\n }\r\n }\r\n }\r\n\r\n return {\r\n configData: configData,\r\n controlStyle: controlStyle,\r\n controlType:\r\n questionObj['questionType'] === 'FREE TEXT'\r\n ? 'text'\r\n : questionObj['questionType'] === 'RADIO BUTTON' ||\r\n questionObj['questionType'] === 'ADDMORE'\r\n ? 'radio'\r\n : questionObj['questionType'] === 'CHECKBOX' ||\r\n questionObj['questionType'] === 'DECLARATION'\r\n ? 'checkbox'\r\n : questionObj['questionType'] === 'CALENDAR'\r\n ? 'date'\r\n : questionObj['questionType'] === 'DROPDOWN'\r\n ? 'select'\r\n : questionObj['questionType'] === 'DOCUPLOAD'\r\n ? 'file'\r\n : '',\r\n fieldName: questionObj['cammundaQuestionCode'],\r\n isDisable,\r\n label: questionObj['questionText'],\r\n placeHolder: questionObj['questionText'],\r\n validators: {\r\n isRequired: questionObj['optionalQuestion'] === 'N' ? true : false,\r\n minLength,\r\n maxLength,\r\n pattern,\r\n patternMessage,\r\n },\r\n cssClass: \"mb-2\",\r\n isVisible: true,\r\n options: optionsObj,\r\n isShowLabel: true,\r\n };\r\n }\r\n\r\n removeSubQuestionValues(question?: any) {\r\n console.log('ssssssssssssssssssssssss', this.questionList)\r\n if (!this.checkIfValueIsEmpty(this.questionList)) {\r\n this.questionList.forEach((singleSection: any) => {\r\n if (!this.checkIfValueIsEmpty(singleSection['questions'])) {\r\n singleSection['questions'].forEach((singleQuestion: any) => {\r\n if (!this.showQuestion(singleQuestion)) {\r\n singleQuestion['isShowQuestionInUI'] = false;\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n )\r\n ) {\r\n delete this.personUwAnswers[singleQuestion['questionId']];\r\n }\r\n // }\r\n } else {\r\n singleQuestion['isShowQuestionInUI'] = true;\r\n }\r\n\r\n if (singleQuestion['questionType'] === 'CHECKBOX') {\r\n if (!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\r\n let isNoneInDomainValues: any = singleQuestion[\r\n 'domainValues'\r\n ].filter(\r\n (singleObj: any) =>\r\n singleObj['domainUiValue'].toUpperCase() === 'NONE'\r\n );\r\n singleQuestion['domainValues'].forEach(\r\n (singleDomainValue: any) => {\r\n if (\r\n !this.checkIfValueIsEmpty(isNoneInDomainValues) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n isNoneInDomainValues[0]['domainInternalValue']\r\n ]\r\n ) &&\r\n this.personUwAnswers[\r\n isNoneInDomainValues[0]['domainInternalValue']\r\n ]\r\n ) {\r\n // none is selected\r\n singleQuestion['domainValues'].forEach(\r\n (singleDomainValue: any) => {\r\n // remove all selected checkbox questions\r\n if (\r\n singleDomainValue.domainUiValue.toUpperCase() !==\r\n 'NONE'\r\n ) {\r\n singleDomainValue.isDisabled = true;\r\n delete this.personUwAnswers[\r\n singleDomainValue['domainInternalValue']\r\n ];\r\n }\r\n }\r\n );\r\n } else {\r\n singleDomainValue.isDisabled = false;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n });\r\n }\r\n // let isSectionExistsInBlockedList: any = this.isBlockedQuestionsList.filter((singleBlockedObj: any) => singleBlockedObj['sectionTitle'].trim() === singleSection['sectionName'].trim());\r\n singleSection['showSection'] = !this.checkIfValueIsEmpty(\r\n singleSection['questions'].filter(\r\n (singleQuestion: any) => singleQuestion['isShowQuestionInUI']\r\n )\r\n );\r\n // if (!this.checkIfValueIsEmpty(isSectionExistsInBlockedList)) {\r\n // if (isSectionExistsInBlockedList[0].isBlockedForCustomerFlow && !this.loadingAgentportal) {\r\n // singleSection['showSection'] = false;\r\n // let filteredIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePersonObj['role']);\r\n // singleSection['questions'].forEach((singleQuestionObjInSection: any) => {\r\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][filteredIndex]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\r\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\r\n // filteredQuestion[0]['isShowQuestionInUI'] = singleSection['showSection'];\r\n // }\r\n // });\r\n // }\r\n // if ((isSectionExistsInBlockedList[0].isBlockedForAgentFlow || sessionStorage.getItem('agentChannel') === 'D20' || sessionStorage.getItem('agentChannel') === 'D05' || sessionStorage.getItem('agentChannel') === 'D06') && this.loadingAgentportal) {\r\n // singleSection['showSection'] = false;\r\n // let filteredIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePersonObj['role']);\r\n // singleSection['questions'].forEach((singleQuestionObjInSection: any) => {\r\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][filteredIndex]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\r\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\r\n // filteredQuestion[0]['isShowQuestionInUI'] = singleSection['showSection'];\r\n // }\r\n // });\r\n // }\r\n // }\r\n let hiddenQuestions: any = this.questionList.filter(\r\n (singleSectionObj: any) => !singleSectionObj['showSection']\r\n );\r\n if (this.checkIfValueIsEmpty(hiddenQuestions)) {\r\n hiddenQuestions.forEach((singleSection: any) => {\r\n singleSection['questions'].forEach(\r\n (singleQuestionObjInSection: any) => {\r\n singleQuestionObjInSection['isShowQuestionInUI'] = false;\r\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\r\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\r\n // filteredQuestion[0]['isShowQuestionInUI'] = false;\r\n // }\r\n }\r\n );\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.questionList.sort((a: any, b: any) => a['step'] - b['step']);\r\n\r\n console.log('questions list', this.questionList);\r\n console.log('questions answers', this.personUwAnswers);\r\n this.saveQuestionDetails();\r\n }\r\n\r\n showQuestion(currentQuestion: any) {\r\n let showQuestion: any = false;\r\n let subQuestions: any = [];\r\n // let currentSectionIndex: any = questionsResponse['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === personRole)\r\n // let role = this.personUwResponseObj['questionsResponse'][currentSectionIndex]['role']\r\n\r\n this.personUwResponseObj[0].questionList.forEach((singleQuestion: any) => {\r\n let isSubQuestionObject: any = [];\r\n if (!this.checkIfValueIsEmpty(singleQuestion['questionRelation'])) {\r\n isSubQuestionObject = singleQuestion['questionRelation'].filter(\r\n (questionRelationObj: any) =>\r\n questionRelationObj['nextQuestionId'] ===\r\n currentQuestion['questionId']\r\n );\r\n }\r\n if (isSubQuestionObject.length > 0) {\r\n subQuestions.push(singleQuestion);\r\n isSubQuestionObject.forEach((singleSubQuestion: any) => {\r\n if (\r\n (singleQuestion['questionType'] !== 'CHECKBOX' &&\r\n singleSubQuestion['parentQuestionValue'].toString()[0] !== '!' &&\r\n this.personUwAnswers[singleQuestion['questionId']] ===\r\n singleSubQuestion['parentQuestionValue']) ||\r\n (singleSubQuestion['parentQuestionValue'].toString()[0] === '!' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n ) &&\r\n this.personUwAnswers[singleQuestion['questionId']] !==\r\n singleSubQuestion['parentQuestionValue']\r\n .toString()\r\n .split('!')[1]) ||\r\n (singleQuestion['questionType'] === 'CHECKBOX' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n ) &&\r\n this.personUwAnswers[singleQuestion['questionId']]?.includes(singleSubQuestion['parentQuestionValue'])\r\n // this.personUwAnswers[singleQuestion['questionId']]?.filter(\r\n // (singleObj: any) =>\r\n // singleObj ===\r\n // singleSubQuestion['parentQuestionValue']\r\n // ).length > 0\r\n )\r\n ) {\r\n showQuestion = true;\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n this.checkIfValueIsEmpty(subQuestions) &&\r\n this.checkIfValueIsEmpty(currentQuestion['parentQuestionRelation'])\r\n ) {\r\n showQuestion = true;\r\n }\r\n if (\r\n !this.checkIfValueIsEmpty(currentQuestion['parentQuestionRelation']) &&\r\n !this.checkIfValueIsEmpty(\r\n currentQuestion['parentQuestionRelation']['parentQuestionId']\r\n ) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n currentQuestion['parentQuestionRelation']['parentQuestionId']\r\n ]\r\n ) &&\r\n this.personUwAnswers[\r\n currentQuestion['parentQuestionRelation']['parentQuestionId']\r\n ] === currentQuestion['parentQuestionRelation']['parentQuestionAnswer']\r\n ) {\r\n showQuestion = true;\r\n }\r\n if (currentQuestion['questionType'] === 'NODISPLAY') {\r\n showQuestion = false;\r\n }\r\n return showQuestion;\r\n }\r\n\r\n saveQuestionDetails() {\r\n // remove all checkbox questions present in values\r\n if (!this.checkIfValueIsEmpty(this.listOfDomainValuesForCheckBox)) {\r\n // let lifeAssuredkeys: any = Object.keys(this.personUwAnswers['lifeAssured']);\r\n // let policyAssuredKeys: any = Object.keys(this.personUwAnswers['policyHolder']);\r\n // let lifeAssuredOneKeys: any = Object.keys(this.personUwAnswers['lifeAssuredOne']);\r\n // let lifeAssuredTwoKeys: any = Object.keys(this.personUwAnswers['lifeAssuredTwo']);\r\n // this.personUwAnswers.forEach((singleKey: any) => {\r\n // if (isNaN(Number(singleKey)) && !this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssured'][singleKey])) {\r\n // delete this.personUwAnswers['lifeAssured'][singleKey];\r\n // }\r\n // });\r\n // policyAssuredKeys.forEach((singleKey: any) => {\r\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['policyHolder'][singleKey])) {\r\n // delete this.personUwAnswers['policyHolder'][singleKey];\r\n // }\r\n // });\r\n // lifeAssuredOneKeys.forEach((singleKey: any) => {\r\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssuredOne'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssuredOne'][singleKey])) {\r\n // delete this.personUwAnswers['policyHolder'][singleKey];\r\n // }\r\n // });\r\n // lifeAssuredTwoKeys.forEach((singleKey: any) => {\r\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssuredTwo'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssuredTwo'][singleKey])) {\r\n // delete this.personUwAnswers['policyHolder'][singleKey];\r\n // }\r\n // });\r\n }\r\n // let heightInInchesObj: any = [];\r\n // let heightInFeetObj: any = [];\r\n // let heightInCentimeterObj: any = [];\r\n let isValid: any = true;\r\n // if (!this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj) && !this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj['questionsResponse'])) {\r\n // let laIndex: any = this.sharedService.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === 'lifeAssured');\r\n // if (laIndex !== -1 && !this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj['questionsResponse'][laIndex])) {\r\n // heightInInchesObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTI');\r\n // heightInFeetObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTF');\r\n // heightInCentimeterObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHT');\r\n // }\r\n // }\r\n\r\n // validation for medical and non medical questions :\r\n // if (!this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj) && !this.checkIfValueIsEmpty(this.sharedService.personUwMasterObj) && isValid) {\r\n // this.sharedService.personUwMasterObj.forEach((singlePersonObj: any, singlePersonIndex: any) => {\r\n // if (!this.checkIfValueIsEmpty(singlePersonObj['questionList']) && isValid) {\r\n // let role: any = singlePersonObj['role'] === 'lifeAssured' ? \"life assured\" : singlePersonObj['role'] === 'policyHolder' ? \"policy holder\" : singlePersonObj['role'] === 'lifeAssuredOne' ? \"Joint Life 1\" : singlePersonObj['role'] === 'lifeAssuredTwo' ? \"Joint Life 2\" : \"\";\r\n // singlePersonObj['questionList'].forEach((singleSection: any) => {\r\n // if (!this.checkIfValueIsEmpty(singleSection['questions']) && isValid) {\r\n // if (!this.checkIfValueIsEmpty(singleSection['sectionName']) && (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') === 'TELL_US_MORE' || singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') === 'BASIC_DETAILS') && isValid) {\r\n\r\n // // validation for height entered in feet\r\n // if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET') {\r\n // let heightInInchesObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTI');\r\n // let heightInFeetObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTF');\r\n // if (!this.checkIfValueIsEmpty(heightInInchesObj) && !this.checkIfValueIsEmpty(heightInFeetObj) && (this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionFeetInput']) || this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionsInchesInput']))) {\r\n // isValid = false;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // this.sharedService.removeSubQuestionValues();\r\n // }\r\n // let questionId: any = heightInFeetObj[0]['questionId'] + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please enter Height in Feet and Inches for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please enter Height in Feet and Inches for ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // if (role === 'Joint Life 1') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFEONE');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'Joint Life 2') {\r\n // this.setActiveTab(1);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFETWO');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // }\r\n\r\n // }\r\n\r\n // return false;\r\n // }\r\n // }\r\n // }\r\n // // validation for height in cm\r\n // let heightInCentimeterObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHT');\r\n // if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\r\n // this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionsHeightInput']) &&\r\n // !this.checkIfValueIsEmpty(heightInCentimeterObj) && isValid) {\r\n // isValid = false;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // this.sharedService.removeSubQuestionValues();\r\n // }\r\n // let questionId: any = heightInCentimeterObj[0]['questionId'] + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please enter Height in CM ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please enter Height in CM ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // if (role === 'Joint Life 1') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFEONE');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'Joint Life 2') {\r\n // this.setActiveTab(1);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFETWO');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // }\r\n // }\r\n\r\n // return false;\r\n // }\r\n // }\r\n\r\n // }\r\n\r\n // singleSection['questions'].forEach((singleQuestionObj: any) => {\r\n // // validation for basic questions\r\n // if (\r\n // !this.checkIfValueIsEmpty(singleQuestionObj) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n // singleQuestionObj['isShowQuestionInUI'] &&\r\n // isValid &&\r\n // singleQuestionObj['questionType'] !== 'IMAGE TEXT' &&\r\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHT' &&\r\n // singleQuestionObj['questionType'] !== 'DECLARATION' &&\r\n // singleQuestionObj['cammundaQuestionCode'] !== 'hardCopyLang' &&\r\n // singleQuestionObj['questionType'] !== 'PASSPORT_UPLOAD' &&\r\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHTF' &&\r\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHTI' &&\r\n // singleQuestionObj['optionalQuestion'].toString() === 'N' &&\r\n // ((singleQuestionObj['questionType'] !== 'CHECKBOX' &&\r\n // this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['questionId']])) ||\r\n // (singleQuestionObj['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(singleQuestionObj, singlePersonObj['role']))) && isValid\r\n // ) {\r\n // isValid = false;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // let questionId: any = singleQuestionObj['questionId'] + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // this.sharedService.removeSubQuestionValues();\r\n // }\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please enter all the details in ' + singleSection['sectionName'] + ' for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please enter all the details in ' + singleSection['sectionName'] + ' for ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setActiveTab(1);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // console.log(\"joint life case\");\r\n // }\r\n // }\r\n\r\n // return false;\r\n // }\r\n // }\r\n\r\n // if (\r\n // singleQuestionObj['questionType'] === 'PASSPORT_UPLOAD' &&\r\n // singleQuestionObj['optionalQuestion'] === 'N' &&\r\n // singleQuestionObj['isShowQuestionInUI'] &&\r\n // this.sharedService.isMandatoryField &&\r\n // redirect\r\n // ) {\r\n // let filteredPersonPassportObj: any = this.validationService.questionsPassportUploadObj.filter((singleObj: any) => (singleObj['personType'] === singlePersonObj['role'] && this.checkIfValueIsEmpty(singleObj['dmsId'])));\r\n // if (!this.checkIfValueIsEmpty(filteredPersonPassportObj)) {\r\n // this.sharedService.focusToElement(`${filteredPersonPassportObj[0]['questionType']}_${filteredPersonPassportObj[0]['type']}_${filteredPersonPassportObj[0]['personType']}`);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // console.log(\"joint life case\");\r\n // }\r\n // }\r\n // isValid = false;\r\n // return false;\r\n // }\r\n\r\n // }\r\n // // validation for declaration questions\r\n // if (isValid && singleQuestionObj.questionType === 'DECLARATION' &&\r\n // singleQuestionObj['isShowQuestionInUI'] &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n // singleQuestionObj['optionalQuestion'] === 'N'\r\n // ) {\r\n // if (isValid &&\r\n // !this.checkIfValueIsEmpty(this.personUwAnswers) &&\r\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\r\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\r\n // this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\r\n\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // }\r\n // isValid = false;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\r\n // });\r\n // }\r\n // return false;\r\n // }\r\n // }\r\n // }\r\n\r\n // // validation for medical sub questions\r\n // // if (!this.checkIfValueIsEmpty(this.sharedService.medicalSubQuestionsResponse)) {\r\n // // this.sharedService.medicalSubQuestionsResponse.forEach((question: any) => {\r\n // // if (\r\n // // this.showSubQuestion(question) &&\r\n // // question['questionType'] !== 'IMAGE TEXT' &&\r\n // // question['optionalQuestion'].toString() === 'N' &&\r\n // // ((question['questionType'] !== 'CHECKBOX' &&\r\n // // this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][question['questionId']])) ||\r\n // // (question['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(question, 'lifeAssured')))\r\n // // ) {\r\n // // isValid = false;\r\n // // if (!this.sharedService.loadingAgentportal && !savedraft) {\r\n // // this.sharedService.setToastrNotifications({\r\n // // type: 'warning',\r\n // // message: 'Please answer all medical sub questions ' + question['questionId'] + ' ' + question['questionText']\r\n // // });\r\n // // }\r\n // // }\r\n // // });\r\n // // }\r\n // });\r\n\r\n // // validation for fatch declaration\r\n // // if(!this.checkIfValueIsEmpty(singleSection.questions) && isValid){\r\n // // singleSection.questions.forEach((singleQuestionObj:any) => {\r\n // // if(isValid && singleQuestionObj.questionType === 'DECLARATION' && singleQuestionObj['isShowQuestionInUI'] &&\r\n // // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n // // singleQuestionObj['optionalQuestion'] === 'N'\r\n // // ){\r\n // // if( isValid &&\r\n // // !this.checkIfValueIsEmpty(this.personUwAnswers) &&\r\n // // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\r\n // // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\r\n // // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\r\n // // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\r\n // // this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\r\n\r\n // // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // // }\r\n // // isValid = false;\r\n // // if (!this.sharedService.loadingAgentportal && !savedraft) {\r\n // // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\r\n // // this.sharedService.focusToElement(questionId);\r\n // // if (!this.sharedService.isMobileView()) {\r\n // // this.sharedService.setToastrNotifications({\r\n // // type: 'warning',\r\n // // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\r\n // // });\r\n // // }\r\n // // return false;\r\n // // }\r\n // // }\r\n // // }\r\n // // });\r\n // // }\r\n\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n // if ((isValid || savedraft) || this.sharedService.loadingAgentportal) {\r\n // if (isValid) {\r\n if (isValid) {\r\n // this.loaderService.display(true);\r\n // let request: any = [];\r\n let mainReqObj: any = [];\r\n let mainRequestForBothPersons: any = [];\r\n let mainRequestForLa: any = [];\r\n let mainRequestForPh: any = [];\r\n this.questionList.forEach((singleSection: any) => {\r\n // if (!this.checkIfValueIsEmpty(singlePersonObj['questionList'])) {\r\n // singlePersonObj['questionList'].forEach((singleSection: any) => {\r\n // if (\r\n // !this.checkIfValueIsEmpty(singleSection['sectionName']) &&\r\n // (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\r\n // 'TELL_US_MORE' ||\r\n // singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\r\n // 'BASIC_DETAILS')\r\n // ) {\r\n // validation for height in cm\r\n let heightInCentimeterObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHT' || obj['questionId'] === this.personUwAnswers['medicalQuestionsHeightInput']\r\n );\r\n let heightInInchesObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTI' || obj['questionId'] === this.personUwAnswers['medicalQuestionsInchesInput']\r\n );\r\n let heightInFeetObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTF' || obj['questionId'] === this.personUwAnswers['medicalQuestionFeetInput']\r\n );\r\n if (\r\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionsHeightInput']\r\n )\r\n ) {\r\n // pass height in cm obj\r\n let cmObjInAnswersindex: any = mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInCentimeterObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (cmObjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[cmObjInAnswersindex]['answer'] =\r\n parseInt(\r\n this.personUwAnswers['medicalQuestionsHeightInput']\r\n ).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInCentimeterObj[0]['questionId'],\r\n answer: parseInt(\r\n this.personUwAnswers['medicalQuestionsHeightInput']\r\n ).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInCentimeterObj[0]['clusterId'],\r\n });\r\n }\r\n\r\n // height in inches\r\n let heightInInches: any = (\r\n this.personUwAnswers['medicalQuestionsHeightInput'] * 0.393701\r\n ).toFixed(2);\r\n let heightInFeet: any =\r\n parseFloat((heightInInches / 12).toString().split('.')[1]) > 12\r\n ? (heightInInches / 12).toFixed(1)\r\n : (heightInInches / 12).toFixed(2);\r\n let inchesobjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInInchesObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (inchesobjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[inchesobjInAnswersindex]['answer'] =\r\n parseInt(heightInInches).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInInchesObj[0]['questionId'],\r\n answer: parseInt(heightInInches).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInInchesObj[0]['clusterId'],\r\n });\r\n }\r\n // height in feet\r\n\r\n let feetObjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInFeetObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (feetObjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[feetObjInAnswersindex]['answer'] =\r\n parseFloat(heightInFeet).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInFeetObj[0]['questionId'],\r\n answer: parseFloat(heightInFeet).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInFeetObj[0]['clusterId'],\r\n });\r\n }\r\n } else if (\r\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionFeetInput']\r\n ) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionsInchesInput']\r\n )\r\n ) {\r\n if (!this.checkIfValueIsEmpty(heightInFeetObj)) {\r\n let heightInInches: any =\r\n parseFloat(this.personUwAnswers['medicalQuestionFeetInput']) *\r\n 12 +\r\n parseFloat(this.personUwAnswers['medicalQuestionsInchesInput']);\r\n let heightInCm: any = (\r\n parseFloat(heightInInches) / 0.393701\r\n ).toFixed(2);\r\n let feetObjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInFeetObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (feetObjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[feetObjInAnswersindex]['answer'] =\r\n this.personUwAnswers['medicalQuestionFeetInput'].toString() +\r\n '.' +\r\n this.personUwAnswers[\r\n this.personUwAnswers['medicalQuestionsInchesInput']\r\n ].toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInFeetObj[0]['questionId'],\r\n answer:\r\n this.personUwAnswers['medicalQuestionFeetInput'].toString() +\r\n '.' +\r\n this.personUwAnswers['medicalQuestionsInchesInput'].toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInFeetObj[0]['clusterId'],\r\n });\r\n }\r\n let inchesobjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInInchesObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (inchesobjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[inchesobjInAnswersindex]['answer'] =\r\n parseInt(heightInInches).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInInchesObj[0]['questionId'],\r\n answer: parseInt(heightInInches).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInInchesObj[0]['clusterId'],\r\n });\r\n }\r\n let cmObjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInCentimeterObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (cmObjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[cmObjInAnswersindex]['answer'] =\r\n parseInt(heightInCm).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInCentimeterObj[0]['questionId'],\r\n answer: parseInt(heightInCm).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInCentimeterObj[0]['clusterId'],\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj[0]['questionId'])\r\n ) {\r\n let heightInCmAnswerObject: any = mainRequestForBothPersons.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['questionId'] ===\r\n heightInCentimeterObj[0]['questionId']\r\n );\r\n if (\r\n !this.checkIfValueIsEmpty(heightInCmAnswerObject) &&\r\n !this.checkIfValueIsEmpty(heightInCmAnswerObject[0]['answer'])\r\n ) {\r\n this.personUwAnswers[heightInCentimeterObj[0]['questionId']] =\r\n heightInCmAnswerObject[0]['answer'];\r\n }\r\n }\r\n\r\n if (\r\n !this.checkIfValueIsEmpty(heightInInchesObj) &&\r\n !this.checkIfValueIsEmpty(heightInInchesObj[0]['questionId'])\r\n ) {\r\n let heightInInchesAnswerObject: any =\r\n mainRequestForBothPersons.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['questionId'] ===\r\n heightInInchesObj[0]['questionId']\r\n );\r\n if (\r\n !this.checkIfValueIsEmpty(heightInInchesAnswerObject) &&\r\n !this.checkIfValueIsEmpty(heightInInchesAnswerObject[0]['answer'])\r\n ) {\r\n this.personUwAnswers[heightInInchesObj[0]['questionId']] =\r\n heightInInchesAnswerObject[0]['answer'];\r\n }\r\n }\r\n\r\n if (\r\n !this.checkIfValueIsEmpty(heightInFeetObj) &&\r\n !this.checkIfValueIsEmpty(heightInFeetObj[0]['questionId'])\r\n ) {\r\n let heightInFeetAnswerObject: any =\r\n mainRequestForBothPersons.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['questionId'] ===\r\n heightInFeetObj[0]['questionId']\r\n );\r\n if (\r\n !this.checkIfValueIsEmpty(heightInFeetAnswerObject) &&\r\n !this.checkIfValueIsEmpty(heightInFeetAnswerObject[0]['answer'])\r\n ) {\r\n this.personUwAnswers[heightInFeetObj[0]['questionId']] =\r\n heightInFeetAnswerObject[0]['answer'];\r\n }\r\n }\r\n // }\r\n let isNoDisplayQuestionInSection: any = !this.checkIfValueIsEmpty(\r\n singleSection['questions']\r\n )\r\n ? singleSection['questions'].filter(\r\n (singleData: any) => singleData['questionType'] === 'NODISPLAY'\r\n )\r\n : [];\r\n if (\r\n (singleSection['showSection'] ||\r\n isNoDisplayQuestionInSection.length > 0) &&\r\n !this.checkIfValueIsEmpty(singleSection['questions'])\r\n ) {\r\n singleSection['questions'].forEach((singleQuestion: any) => {\r\n if (singleQuestion['cammundaQuestionCode'] === 'hardCopyLang') {\r\n if (singleQuestion['isShowQuestionInUI']) {\r\n this.personUwAnswers[singleQuestion['questionId']] = 'English';\r\n } else {\r\n delete this.personUwAnswers[singleQuestion['questionId']];\r\n }\r\n }\r\n let checkedOptionsArr: any = [];\r\n if (!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\r\n singleQuestion['domainValues'].forEach(\r\n (singleDomainValue: any) => {\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n singleDomainValue['domainInternalValue']\r\n ]\r\n ) &&\r\n this.personUwAnswers[\r\n singleDomainValue['domainInternalValue']\r\n ]\r\n ) {\r\n checkedOptionsArr.push(\r\n singleDomainValue['domainInternalValue']\r\n );\r\n }\r\n }\r\n );\r\n }\r\n if (\r\n singleQuestion['isShowQuestionInUI'] &&\r\n singleQuestion['questionType'] === 'CHECKBOX'\r\n && !this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestion['questionId']])\r\n ) {\r\n // for checkbox question\r\n\r\n let questionIndexInMainRequest: any =\r\n mainRequestForBothPersons.findIndex(\r\n (singleAnswerObj: any) =>\r\n singleAnswerObj['questionId'] ===\r\n singleQuestion['questionId'] &&\r\n singleAnswerObj['personUWId'] ===\r\n singleSection['personUWId']\r\n );\r\n if (questionIndexInMainRequest === -1) {\r\n let obj: any = {\r\n personUWId: singleSection['personUWId'],\r\n questionId: singleQuestion['questionId'],\r\n answer: '',\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: singleQuestion['clusterId'],\r\n };\r\n obj['answer'] = this.personUwAnswers[singleQuestion['questionId']].toString();\r\n mainRequestForBothPersons.push(obj);\r\n } else {\r\n mainRequestForBothPersons[questionIndexInMainRequest][\r\n 'answer'\r\n ] = this.personUwAnswers[singleQuestion['questionId']].toString();\r\n }\r\n } else if (\r\n singleQuestion['isShowQuestionInUI'] &&\r\n singleQuestion['questionType'] !== 'CHECKBOX' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n )\r\n ) {\r\n // non checkbox question\r\n let questionIndexInMainRequest: any =\r\n mainRequestForBothPersons.findIndex(\r\n (singleAnswerObj: any) =>\r\n singleAnswerObj['questionId'] ===\r\n singleQuestion['questionId'] &&\r\n singleAnswerObj['personUWId'] ===\r\n singleSection['personUWId']\r\n );\r\n if (questionIndexInMainRequest === -1) {\r\n let obj: any = {\r\n personUWId: singleSection['personUWId'],\r\n questionId: singleQuestion['questionId'],\r\n answer:\r\n singleQuestion['questionType'] === 'CALENDAR'\r\n ? new Date(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n )\r\n : this.personUwAnswers[singleQuestion['questionId']],\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: singleQuestion['clusterId'],\r\n };\r\n mainRequestForBothPersons.push(obj);\r\n } else {\r\n mainRequestForBothPersons[questionIndexInMainRequest][\r\n 'answer'\r\n ] =\r\n singleQuestion['questionType'] === 'CALENDAR'\r\n ? new Date(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n )\r\n : this.personUwAnswers[singleQuestion['questionId']];\r\n }\r\n }\r\n // if(singleQuestion['isShowQuestionInUI'] && !this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestion['questionId']])) {\r\n // let questionIndexInMainRequest : any = mainRequestForBothPersons.findIndex((singleAnswerObj : any) => (singleAnswerObj['questionId'] === singleQuestion['questionId'] && singleAnswerObj['personUWId'] === singleSection['personUWId']))\r\n // if(questionIndexInMainRequest === -1) {\r\n // let obj: any = {\r\n // personUWId: singleSection['personUWId'],\r\n // questionId: singleQuestion['questionId'],\r\n // answer: singleQuestion['questionType'] === 'CALENDAR' ? this.datepipe.transform(new Date(this.personUwAnswers[singleQuestion['questionId']]), 'yyyy-MM-dd') : this.personUwAnswers[singleQuestion['questionId']],\r\n // personUWParentId: 0,\r\n // createdUser: this.getCookieValue('userId'),\r\n // clusterId: singleQuestion['clusterId'],\r\n // };\r\n // mainRequestForBothPersons.push(obj);\r\n // if(singleQuestion['questionType'] === 'CHECKBOX') {\r\n // let checkedOptionsArr : any = [];\r\n // if(!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\r\n // singleQuestion['domainValues'].forEach((singleDomainValue : any) => {\r\n // if(!this.checkIfValueIsEmpty(this.personUwAnswers[singleDomainValue['domainInternalValue']]) && this.personUwAnswers[singleDomainValue['domainInternalValue']]) {\r\n // checkedOptionsArr.push(singleDomainValue['domainInternalValue']);\r\n // }\r\n // });\r\n // }\r\n // obj['answer'] = checkedOptionsArr.toString();\r\n // }\r\n // } else {\r\n // // object already there so over ride the new answer\r\n // if(singleQuestion['questionType'] === 'CHECKBOX') {\r\n // let checkedOptionsArr : any = [];\r\n // if(!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\r\n // singleQuestion['domainValues'].forEach((singleDomainValue : any) => {\r\n // if(!this.checkIfValueIsEmpty(this.personUwAnswers[singleDomainValue['domainInternalValue']]) && this.personUwAnswers[singleDomainValue['domainInternalValue']]) {\r\n // checkedOptionsArr.push(singleDomainValue['domainInternalValue']);\r\n // }\r\n // });\r\n // }\r\n // mainRequestForBothPersons[questionIndexInMainRequest]['answer'] = checkedOptionsArr.toString();\r\n // } else {\r\n // mainRequestForBothPersons[questionIndexInMainRequest]['answer'] = singleQuestion['questionType'] === 'CALENDAR' ? this.datepipe.transform(new Date(this.personUwAnswers[singleQuestion['questionId']]), 'yyyy-MM-dd') : this.personUwAnswers[singleQuestion['questionId']];\r\n // }\r\n\r\n // }\r\n\r\n // }\r\n\r\n // if (singleQuestion['cammundaQuestionCode'] === 'retFinancElgbl') {\r\n // let financialEligibilityAnswerIndex: any = mainRequestForBothPersons.findIndex((singleAnswerObj: any) => (singleAnswerObj['questionId'] === singleQuestion['questionId'] && singleAnswerObj['personUWId'] === singleSection['personUWId']))\r\n // let obj: any = {\r\n // personUWId: singleSection['personUWId'],\r\n // questionId: singleQuestion['questionId'],\r\n // answer: this.sharedService.financialEligibility,\r\n // personUWParentId: 0,\r\n // createdUser: this.getCookieValue('userId'),\r\n // clusterId: singleQuestion['clusterId'],\r\n // };\r\n // if (financialEligibilityAnswerIndex === -1) {\r\n // mainRequestForBothPersons.push(obj);\r\n // } else {\r\n // mainRequestForBothPersons[financialEligibilityAnswerIndex]['answer'] = this.sharedService.financialEligibility;\r\n // }\r\n // }\r\n });\r\n }\r\n // });\r\n // }\r\n });\r\n let distinctPersonIdFromRequest: any = [\r\n ...new Set(\r\n mainRequestForBothPersons.map((item: any) =>\r\n item.personUWId.toString()\r\n )\r\n ),\r\n ];\r\n if (!this.checkIfValueIsEmpty(distinctPersonIdFromRequest)) {\r\n mainRequestForLa = mainRequestForBothPersons.filter(\r\n (singleAnswer: any) =>\r\n singleAnswer['personUWId'] === distinctPersonIdFromRequest[0]\r\n );\r\n if (distinctPersonIdFromRequest.length === 2) {\r\n mainRequestForPh = mainRequestForBothPersons.filter(\r\n (singleAnswer: any) =>\r\n singleAnswer['personUWId'] === distinctPersonIdFromRequest[1]\r\n );\r\n }\r\n }\r\n let saveRequestsArray: any = [];\r\n if (!this.checkIfValueIsEmpty(mainRequestForLa)) {\r\n this.saveQuestionRequestLa = mainRequestForLa;\r\n sessionStorage.setItem(\r\n 'saveQuestionRequestLa',\r\n JSON.stringify(mainRequestForLa)\r\n );\r\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForLa, !calledFromConfirmation));\r\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForLa, (!this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse) && !this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse.isEditAllowedForAgent) && this.sharedService.openQuoteResponse.isEditAllowedForAgent && this.sharedService.openQuoteResponse.isEditAllowedForAgent.toLowerCase() === 'true') ? true : !calledFromConfirmation));\r\n }\r\n if (!this.checkIfValueIsEmpty(mainRequestForPh)) {\r\n this.saveQuestionRequestPh = mainRequestForPh;\r\n sessionStorage.setItem(\r\n 'saveQuestionRequestPh',\r\n JSON.stringify(mainRequestForPh)\r\n );\r\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForPh, !calledFromConfirmation));\r\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForPh, (!this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse) && !this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse.isEditAllowedForAgent) && this.sharedService.openQuoteResponse.isEditAllowedForAgent && this.sharedService.openQuoteResponse.isEditAllowedForAgent.toLowerCase() === 'true') ? true : !calledFromConfirmation));\r\n }\r\n }\r\n this.validateMedicalQuestions();\r\n }\r\n\r\n getCookieValue(name: string): string {\r\n const cookie = document.cookie.split(';');\r\n let tokenName = '';\r\n let tokenValue = '';\r\n const index2 = 2;\r\n cookie.forEach((data) => {\r\n if (data.split('=')[0].includes(name) && !!data.split('=')[1]) {\r\n tokenName = data.split('=')[0].trim();\r\n tokenValue = data.split('=')[1];\r\n }\r\n if (\r\n name === 'link' &&\r\n data.split('=')[0].includes(name) &&\r\n data.split('=')[index2] !== null &&\r\n data.split('=')[index2] !== undefined\r\n ) {\r\n tokenValue = tokenValue + '=' + data.split('=')[index2];\r\n }\r\n });\r\n return tokenValue;\r\n }\r\n\r\n validateMedicalQuestions() {\r\n let isValid: any = true;\r\n let validationMessage : any = '';\r\n this.questionList.forEach((singleSection: any) => {\r\n if (!this.checkIfValueIsEmpty(singleSection['questions']) && isValid) {\r\n if (\r\n !this.checkIfValueIsEmpty(singleSection['sectionName']) &&\r\n (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\r\n 'TELL_US_MORE' ||\r\n singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\r\n 'BASIC_DETAILS') &&\r\n isValid\r\n ) {\r\n // validation for height entered in feet\r\n if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET') {\r\n let heightInInchesObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTI'\r\n );\r\n let heightInFeetObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTF'\r\n );\r\n if (\r\n !this.checkIfValueIsEmpty(heightInInchesObj) &&\r\n !this.checkIfValueIsEmpty(heightInFeetObj) &&\r\n (this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionFeetInput']\r\n ) ||\r\n this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionsInchesInput']\r\n ))\r\n ) {\r\n isValid = false;\r\n validationMessage = `Please enter Height in Feet and Inches`;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // this.sharedService.removeSubQuestionValues();\r\n // }\r\n // let questionId: any = heightInFeetObj[0]['questionId'] + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please enter Height in Feet and Inches for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please enter Height in Feet and Inches for ' + role, 'Close');\r\n\r\n // }\r\n\r\n // return false;\r\n // }\r\n }\r\n }\r\n // validation for height in cm\r\n let heightInCentimeterObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHT'\r\n );\r\n if (\r\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\r\n this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionsHeightInput']\r\n ) &&\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\r\n isValid\r\n ) {\r\n isValid = false;\r\n validationMessage = `Please enter Height in centimeter`;\r\n }\r\n }\r\n\r\n singleSection['questions'].forEach((singleQuestionObj: any) => {\r\n // validation for basic questions\r\n if (\r\n !this.checkIfValueIsEmpty(singleQuestionObj) &&\r\n !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n singleQuestionObj['isShowQuestionInUI'] &&\r\n isValid &&\r\n singleQuestionObj['questionType'] !== 'IMAGE TEXT' &&\r\n singleQuestionObj['cammundaQuestionCode'] !== 'QHT' &&\r\n singleQuestionObj['questionType'] !== 'DECLARATION' &&\r\n singleQuestionObj['cammundaQuestionCode'] !== 'hardCopyLang' &&\r\n singleQuestionObj['questionType'] !== 'PASSPORT_UPLOAD' &&\r\n singleQuestionObj['cammundaQuestionCode'] !== 'QHTF' &&\r\n singleQuestionObj['cammundaQuestionCode'] !== 'QHTI' &&\r\n singleQuestionObj['optionalQuestion'].toString() === 'N' &&\r\n this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestionObj['questionId']]\r\n ) &&\r\n // ((singleQuestionObj['questionType'] !== 'CHECKBOX' &&\r\n // this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['questionId']])) ||\r\n // (singleQuestionObj['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(singleQuestionObj, singlePersonObj['role'])))\r\n isValid\r\n ) {\r\n validationMessage = `Please enter all the details in ${singleSection['sectionName']}`;\r\n isValid = false;\r\n }\r\n\r\n // if (\r\n // singleQuestionObj['questionType'] === 'PASSPORT_UPLOAD' &&\r\n // singleQuestionObj['optionalQuestion'] === 'N' &&\r\n // singleQuestionObj['isShowQuestionInUI'] &&\r\n // ) {\r\n // let filteredPersonPassportObj: any = this.validationService.questionsPassportUploadObj.filter((singleObj: any) => (singleObj['personType'] === singlePersonObj['role'] && this.checkIfValueIsEmpty(singleObj['dmsId'])));\r\n // if (!this.checkIfValueIsEmpty(filteredPersonPassportObj)) {\r\n // this.sharedService.focusToElement(`${filteredPersonPassportObj[0]['questionType']}_${filteredPersonPassportObj[0]['type']}_${filteredPersonPassportObj[0]['personType']}`);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // console.log(\"joint life case\");\r\n // }\r\n // }\r\n // isValid = false;\r\n // return false;\r\n // }\r\n\r\n // }\r\n // validation for declaration questions\r\n if (\r\n isValid &&\r\n singleQuestionObj.questionType === 'DECLARATION' &&\r\n singleQuestionObj['isShowQuestionInUI'] &&\r\n !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n singleQuestionObj['optionalQuestion'] === 'N'\r\n ) {\r\n if (\r\n (isValid &&\r\n // !this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']]) &&\r\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\r\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\r\n this.personUwAnswers[singleQuestionObj['questionId']] ===\r\n 'N') ||\r\n !this.personUwAnswers[singleQuestionObj['questionId']] ||\r\n this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestionObj['questionId']]\r\n )\r\n // )\r\n // || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])\r\n ) {\r\n isValid = false;\r\n validationMessage = `Please enter all the details in ${singleSection['sectionName']}`;\r\n }\r\n }\r\n\r\n // validation for medical sub questions\r\n // if (!this.checkIfValueIsEmpty(this.sharedService.medicalSubQuestionsResponse)) {\r\n // this.sharedService.medicalSubQuestionsResponse.forEach((question: any) => {\r\n // if (\r\n // this.showSubQuestion(question) &&\r\n // question['questionType'] !== 'IMAGE TEXT' &&\r\n // question['optionalQuestion'].toString() === 'N' &&\r\n // ((question['questionType'] !== 'CHECKBOX' &&\r\n // this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][question['questionId']])) ||\r\n // (question['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(question, 'lifeAssured')))\r\n // ) {\r\n // isValid = false;\r\n // if (!this.sharedService.loadingAgentportal && !savedraft) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please answer all medical sub questions ' + question['questionId'] + ' ' + question['questionText']\r\n // });\r\n // }\r\n // }\r\n // });\r\n // }\r\n });\r\n\r\n // validation for fatch declaration\r\n // if(!this.checkIfValueIsEmpty(singleSection.questions) && isValid){\r\n // singleSection.questions.forEach((singleQuestionObj:any) => {\r\n // if(isValid && singleQuestionObj.questionType === 'DECLARATION' && singleQuestionObj['isShowQuestionInUI'] &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n // singleQuestionObj['optionalQuestion'] === 'N'\r\n // ){\r\n // if( isValid &&\r\n // !this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']]) &&\r\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\r\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\r\n // this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\r\n\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // }\r\n // isValid = false;\r\n // if (!this.sharedService.loadingAgentportal && !savedraft) {\r\n // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\r\n // });\r\n // }\r\n // return false;\r\n // }\r\n // }\r\n // }\r\n // });\r\n // }\r\n }\r\n });\r\n\r\n sessionStorage.setItem('isMedicalQuestionsValid', isValid);\r\n sessionStorage.setItem('validationMessageForMedicalQuestions', validationMessage);\r\n }\r\n\r\n valueChangeForMultiselect(question : any) {\r\n if (question['cammundaQuestionCode'] === 'LifeMediCndtn' || question['cammundaQuestionCode'] === 'MediCndtn' ) {\r\n this.personUwAnswers[question['questionId']].length > 0\r\n\r\n // if none is selected then remove all and call API\r\n let isNoneSelected : any = this.personUwAnswers[question['questionId']].findIndex((singleObj :any) => singleObj === 'NoMedHistry');\r\n\r\n if (\r\n isNoneSelected !== -1\r\n ) {\r\n this.personUwAnswers[question['questionId']] = this.personUwAnswers[question['questionId']] = this.personUwAnswers[question['questionId']].filter((singleObj : any) => singleObj === 'NoMedHistry')\r\n }\r\n this.medicalSubQuestionsResponse = [];\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n this.questionList\r\n )) {\r\n this.questionList = this.questionList.filter((singleSection: any) => ((this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion']) || (!this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion']) && !singleSection['isMedicalSubQuestion'])) ));\r\n }\r\n // let currentSectionIndex: any = this.sharedService.personUwResponseObj['questionsResponse'].findIndex(\r\n // (singlePersonObj: any) =>\r\n // singlePersonObj['role'] ===\r\n // this.sharedService.personUwMasterObj[singlePersonIndex]['role']\r\n // );\r\n // remove medical sub questions from questions response list\r\n // if (\r\n // currentSectionIndex !== this.numberConstant.numberminus1 &&\r\n // !this.sharedcheckIfValueIsEmpty(\r\n // this.sharedService.personUwResponseObj['questionsResponse'][\r\n // currentSectionIndex\r\n // ]\r\n // ) &&\r\n // !this.sharedcheckIfValueIsEmpty(\r\n // this.sharedService.personUwResponseObj['questionsResponse'][\r\n // currentSectionIndex\r\n // ]['questionList']\r\n // )\r\n // ) {\r\n // this.sharedService.personUwResponseObj['questionsResponse'][\r\n // currentSectionIndex\r\n // ]['questionList'] = this.sharedService.personUwResponseObj[\r\n // 'questionsResponse'\r\n // ][currentSectionIndex]['questionList'].filter(\r\n // (singleListItem: any) =>\r\n // this.sharedcheckIfValueIsEmpty(\r\n // singleListItem['isMedicalSubQuestion']\r\n // ) ||\r\n // (!this.sharedcheckIfValueIsEmpty(\r\n // singleListItem['isMedicalSubQuestion']\r\n // ) &&\r\n // !singleListItem['isMedicalSubQuestion'])\r\n // );\r\n // }\r\n // this.sharedService.personUwResponseObj['questionsResponse'][0][\r\n // 'questionList'\r\n // ].forEach((singleQuestion: any, index: any) => {\r\n // if (singleQuestion['isMedicalSubQuestion']) {\r\n // this.sharedService.personUwResponseObj['questionsResponse'][0][\r\n // 'questionList'\r\n // ].splice(index, 1);\r\n // }\r\n // });\r\n\r\n // this.questionList = this.questionList.filter((singleSection : any) => (!singleSection['isMedicalSubQuestion'] || this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion'])));\r\n // this.questionList.forEach((singleMasterObj: any, i: number) => {\r\n // if (singleMasterObj['isMedicalSubQuestion']) {\r\n // this.sharedService.personUwMasterObj[singlePersonIndex][\r\n // 'questionList'\r\n // ]['questions'] = [];\r\n // }\r\n // });\r\n // this.loader.display(true);\r\n\r\n let selectedDiseases : any = this.personUwAnswers[question['questionId']].toString();\r\n // let request: any = JSON.parse(\r\n // JSON.stringify(\r\n // this.fetchSubQuestionsList[\r\n // this.sharedService.personUwMasterObj[singlePersonIndex]['role']\r\n // ].toString()\r\n // )\r\n // );\r\n if(question['field']['configData'].hasOwnProperty('apiUrl') && question['field']['configData'].hasOwnProperty('urlParamForDisease') && question['field']['configData'].hasOwnProperty('urlParamForPersonUwId') && !this.checkIfValueIsEmpty(question['field']['configData']['apiUrl']) && !this.checkIfValueIsEmpty(question['field']['configData']['urlParamForDisease']) && !this.checkIfValueIsEmpty(question['field']['configData']['urlParamForPersonUwId'])) {\r\n this.masterService.getSubQuestions(question['field']['configData'], selectedDiseases, this.personUwId).subscribe(\r\n (data: any) => {\r\n // this.loader.display(false);\r\n let distinctSteps: any = [];\r\n if (!this.checkIfValueIsEmpty(data)) {\r\n data.forEach((subQuestion: any) => {\r\n subQuestion[\r\n 'domainValues'\r\n ] = this.medialQuestionResponse()['domainValues'][\r\n subQuestion['domainName']\r\n ];\r\n subQuestion['isShowQuestionInUI'] = false;\r\n subQuestion['isMedicalSubQuestion'] = true;\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n subQuestion['questionRelation']\r\n ) &&\r\n !Array.isArray(subQuestion['questionRelation'])\r\n ) {\r\n subQuestion['questionRelation'] = [\r\n subQuestion['questionRelation']\r\n ];\r\n }\r\n if (\r\n subQuestion['questionType'] === 'CHECKBOX' &&\r\n !this.checkIfValueIsEmpty(\r\n subQuestion['questionRelation']\r\n )\r\n ) {\r\n subQuestion['questionRelation'].forEach(\r\n (singleQuestionRelationObj: any) => {\r\n let nextQuestionObject: any = data.filter(\r\n (object: any) =>\r\n object['questionId'] ===\r\n singleQuestionRelationObj['nextQuestionId']\r\n );\r\n if (nextQuestionObject.length > 0) {\r\n nextQuestionObject[0]['answeredValue'] =\r\n singleQuestionRelationObj['parentQuestionValue'];\r\n }\r\n }\r\n );\r\n }\r\n // if (\r\n // !this.checkIfValueIsEmpty(\r\n // subQuestion['domainValues']\r\n // )\r\n // ) {\r\n // subQuestion['domainValues'].forEach((subDomain: any) => {\r\n // this.sharedService.subMedicalQuestionsDomainInternalValuesList.push(\r\n // subDomain['domainInternalValue']\r\n // );\r\n // });\r\n // }\r\n if (!distinctSteps.includes(subQuestion['clusterId'])) {\r\n distinctSteps.push(subQuestion['clusterId']);\r\n }\r\n subQuestion['field'] = this.getField(subQuestion);\r\n });\r\n data.sort(\r\n (a: any, b: any) =>\r\n a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']\r\n );\r\n distinctSteps.forEach((steps: any, ind: any) => {\r\n let filteredObj: any = data.filter(\r\n (singleQuestion: any) => singleQuestion['clusterId'] === steps\r\n );\r\n let obj: any = {\r\n step: 1000 + ind,\r\n questions: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj\r\n : [],\r\n sectionName: !this.checkIfValueIsEmpty(\r\n filteredObj\r\n )\r\n ? filteredObj[0]['title']\r\n : '',\r\n personUWId: this.personUwId,\r\n isMedicalSubQuestion: true,\r\n showSection: true\r\n };\r\n this.questionList.push(obj);\r\n });\r\n this.medicalSubQuestionsResponse = data;\r\n // merge medical sub questions into person uw main questions response (required for show question function to work)\r\n // clearing on top before api call\r\n this.personUwResponseObj[0]['questionList'] = this.personUwResponseObj[0]['questionList'].concat(this.medicalSubQuestionsResponse);\r\n }\r\n this.removeSubQuestionValues();\r\n },\r\n (err: any) => {\r\n // this.loader.display(false);\r\n }\r\n );\r\n }\r\n }\r\n this.removeSubQuestionValues()\r\n }\r\n onDocumentFilePreview(event: { file: File, index: number }): void {\r\n console.log('Preview requested for:', event.file.name);\r\n this.previewFile = event.file;\r\n }\r\n\r\n closeFilePreview(): void {\r\n this.previewFile = null;\r\n }\r\n\r\n checkAndUpdateHeightUnit() {\r\n if (\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightUnit'\r\n ] === 'FEET' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightInput'\r\n ]\r\n )\r\n ) {\r\n let heightInInches: any = (\r\n parseFloat(\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightInput'\r\n ]\r\n ) * 0.393701\r\n ).toFixed(2);\r\n let heightInFeet: any =\r\n parseFloat(\r\n (heightInInches / 12)\r\n .toString()\r\n .split('.')[1]\r\n ) > 12\r\n ? (heightInInches / 12).toFixed(1)\r\n : (heightInInches / 12).toFixed(2);\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n heightInFeet.toString().split('.')[0]\r\n )\r\n ) {\r\n this.personUwAnswers[\r\n 'medicalQuestionFeetInput'\r\n ] = heightInFeet.toString().split('.')[0];\r\n }\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n heightInFeet.toString().split('.')[1]\r\n )\r\n ) {\r\n this.personUwAnswers[\r\n 'medicalQuestionsInchesInput'\r\n ] =\r\n heightInFeet.toString().split('.')[1] !== '11' &&\r\n heightInFeet.toString().split('.')[1] !== '12' &&\r\n heightInFeet.toString().split('.')[1] !== '13'\r\n ? heightInFeet\r\n .toString()\r\n .split('.')[1]\r\n .charAt(0)\r\n : heightInFeet.toString().split('.')[1];\r\n }\r\n } else if (\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightUnit'\r\n ] === 'CM' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n 'medicalQuestionFeetInput'\r\n ]\r\n ) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n 'medicalQuestionsInchesInput'\r\n ]\r\n )\r\n ) {\r\n let heightInInches: any =\r\n parseFloat(\r\n parseFloat(\r\n this.personUwAnswers[\r\n 'medicalQuestionFeetInput'\r\n ]\r\n ).toString() +\r\n '.' +\r\n parseFloat(\r\n this.personUwAnswers[\r\n 'medicalQuestionsInchesInput'\r\n ]\r\n ).toString()\r\n ) * 12;\r\n let heightInCm: any = (\r\n parseFloat(heightInInches) / 0.393701\r\n ).toFixed(2);\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightInput'\r\n ] = heightInCm;\r\n }\r\n this.removeSubQuestionValues();\r\n }\r\n}\r\n","\r\n<div *ngFor=\"let section of questionList\">\r\n <div\r\n *ngIf=\"\r\n !checkIfValueIsEmpty(section['questions']) &&\r\n section['showSection']\r\n \"\r\n class=\"card p-3 mb-4\"\r\n id=\"personUwMedicalQuestions\"\r\n >\r\n <h6 class=\"page-title bold-label\">\r\n {{ getTitleCase(section[\"sectionName\"]) }}\r\n </h6>\r\n <lib-hr-line [field]=\"horizontalLineObj\" />\r\n <div *ngFor=\"let questions of section['questions']\" class=\"row\">\r\n <!-- <div *ngIf=\"questions['questionType'] === 'IMAGE TEXT'\">\r\n <img [src]=\"questions['sampleS3Link']\" class=\"d-block mx-auto\" [alt]=\"questions['title']\">\r\n <h3 [innerHTML]=\"questions['questionText']\"></h3>\r\n </div> -->\r\n\r\n <div\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'FREE TEXT' &&\r\n questions['cammundaQuestionCode'] !== 'QHT' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <!-- <label class=\"field-lable d-block\"\r\n >{{ questions[\"questionText\"] }}\r\n <span\r\n *ngIf=\"\r\n questions.optionalQuestion === 'N'\r\n \"\r\n style=\"color: #ee0000\"\r\n >*</span\r\n >\r\n </label> -->\r\n <div class=\"col-12 px-0 my-1\">\r\n <lib-textbox [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (blur)=\"removeSubQuestionValues()\" />\r\n </div>\r\n </div>\r\n\r\n <div\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'HEIGHTINPUT' &&\r\n questions['cammundaQuestionCode'] === 'QHTF' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <label class=\"card-topic d-block field-lable\"\r\n >Height\r\n <span\r\n style=\"color: #ee0000\"\r\n >*</span\r\n >\r\n </label>\r\n <div\r\n class=\"col-auto px-0 my-0 py-0 heightinput\"\r\n\r\n >\r\n <div class=\"row col-12 my-1\" *ngIf=\"personUwAnswers['medicalQuestionsHeightUnit'] === 'CM'\">\r\n <div class=\"col-7 py-0 heightInputs\">\r\n <lib-textbox [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHT']['field']\" />\r\n </div>\r\n <div class=\"col-5\">\r\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightUnit']\" [field]=\"medQuestionObj['heightObjectTypes']\" (ngModelChange)=\"checkAndUpdateHeightUnit()\" />\r\n </div>\r\n </div>\r\n <div\r\n class=\"row\"\r\n *ngIf=\"\r\n personUwAnswers[\r\n 'medicalQuestionsHeightUnit'\r\n ] === 'FEET'\r\n \"\r\n >\r\n <div class=\"col-4 py-0 my-1\">\r\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionFeetInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHTF']['field']\" />\r\n </div>\r\n <div class=\"col-4 py-0 my-1\">\r\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsInchesInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHTI']['field']\" />\r\n </div>\r\n <div\r\n class=\"col-4 py-0 my-1\"\r\n >\r\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightUnit']\" [field]=\"medQuestionObj['heightObjectTypes']\" (ngModelChange)=\"checkAndUpdateHeightUnit()\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"row mt-0 pt-0\"\r\n *ngIf=\"\r\n questions['questionType'] === 'MAP' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n\r\n\r\n <div class=\"map-container\">\r\n <div class=\"address-search-container mb-3\">\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-6\">\r\n <label class=\"form-label card-topic\">Longitude</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"longitude\"\r\n placeholder=\"Enter longitude\"\r\n step=\"any\"\r\n readonly\r\n >\r\n </div>\r\n <div class=\"col-6\">\r\n <label class=\"form-label card-topic\">Latitude</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"latitude\"\r\n placeholder=\"Enter latitude\"\r\n step=\"any\"\r\n readonly\r\n >\r\n </div>\r\n </div>\r\n\r\n <input\r\n #addressInput\r\n type=\"text\"\r\n class=\"form-control\"\r\n placeholder=\"Search for address\"\r\n (keyup)=\"onAddressInputKeyup($event)\"\r\n (focus)=\"showDropdown = true\"\r\n (blur)=\"onInputBlur()\"\r\n autocomplete=\"off\"\r\n >\r\n <div\r\n *ngIf=\"showDropdown && addressSuggestions.length > 0\"\r\n class=\"autocomplete-dropdown position-absolute w-100 mt-1\"\r\n style=\"z-index: 1000; max-height: 200px; overflow-y: auto; background: white; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"\r\n >\r\n <div\r\n *ngFor=\"let suggestion of addressSuggestions; let i = index\"\r\n class=\"dropdown-item p-2\"\r\n style=\"cursor: pointer; border-bottom: 1px solid #eee;\"\r\n (mousedown)=\"selectAddress(suggestion)\"\r\n (mouseenter)=\"hoveredIndex = i\"\r\n [class.bg-light]=\"hoveredIndex === i\"\r\n >\r\n <div class=\"fw-bold\">{{ suggestion.main_text }}</div>\r\n <small class=\"text-muted\">{{ suggestion.secondary_text }}</small>\r\n </div>\r\n </div>\r\n <small class=\"text-muted\">Start typing to search for addresses</small>\r\n </div>\r\n <google-map [center]=\"center\" [zoom]=\"zoom\">\r\n <map-marker [position]=\"currentCoordinates\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n\r\n\r\n <div\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n (questions['questionType'] === 'RADIO BUTTON' ||\r\n questions['questionType'] === 'ADDMORE') &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-radio [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"questions['field']\" />\r\n </div>\r\n\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'CHECKBOX' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-multiple-select [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"valueChangeForMultiselect(questions)\" [field]=\"questions['field']\" />\r\n </div>\r\n\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'DECLARATION' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-checkbox [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"questions['field']\" />\r\n </div>\r\n\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'DROPDOWN' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-select [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (ngModelChange)=\"removeSubQuestionValues()\" />\r\n </div>\r\n\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'CALENDAR' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-dob [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (ngModelChange)=\"removeSubQuestionValues()\" />\r\n </div>\r\n\r\n <!-- <div\r\n class=\"\"\r\n *ngIf=\"\r\n questions['questionType'] === 'HEIGHTINPUT' &&\r\n questions['cammundaQuestionCode'] === 'QHTF' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n </div> -->\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'DOCUPLOAD' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-upload [field]=\"questions['field']\" (filePreview)=\"onDocumentFilePreview($event)\" />\r\n <lib-file-preview\r\n *ngIf=\"previewFile\"\r\n [field]=\"questions['field']\"\r\n [file]=\"previewFile\"\r\n (closed)=\"closeFilePreview()\">\r\n </lib-file-preview>\r\n </div>\r\n\r\n\r\n <div\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'PASSPORT_UPLOAD' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <!-- pending -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-page-nudge',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './page-nudge.component.html',\r\n styleUrl: './page-nudge.component.css'\r\n})\r\nexport class PageNudgeComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div class=\"nudge-container\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\r\n'--page-nudge-width': field()?.controlStyle?.borderColor ,\r\n'--page-nudge-height': field()?.controlStyle?.borderWidth ,\r\n'--page-nudge-bg': field()?.controlStyle?.borderRadius ,\r\n'--page-nudge-border-radius': field()?.controlStyle?.background ,\r\n'--page-nudge-border-width': field()?.controlStyle?.focusBorderColor ,\r\n'--page-nudge-border-color': field()?.controlStyle?.focusBorderWidth ,\r\n'--page-nudge-border-style': field()?.controlStyle?.focusBackground\r\n}\">\r\n {{ field()?.label }}\r\n <div class=\"page-fold\"></div>\r\n <div class=\"page-fold-below\"></div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\n\r\n\r\n@Component({\r\n selector: 'lib-progress-bar',\r\n standalone: true,\r\n imports: [MatProgressBarModule , CommonModule],\r\n templateUrl: './progress-bar.component.html',\r\n styleUrl: './progress-bar.component.css'\r\n})\r\nexport class ProgressBarComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<mat-progress-bar mode=\"determinate\" [value]=\"field()?.value\" [ngStyle]=\"{\r\n'--progress-bar-background-color': field()?.controlStyle?.background ,\r\n'--progress-bar-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--progress-bar-border-color': field()?.controlStyle?.color ,\r\n'--progress-bar-width': field()?.controlStyle?.width ,\r\n'--progress-bar-height': field()?.controlStyle?.height ,\r\n}\"></mat-progress-bar>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\n\r\n@Component({\r\n selector: 'lib-accordian',\r\n standalone: true,\r\n imports: [MatExpansionModule , CommonModule],\r\n templateUrl: './accordian.component.html',\r\n styleUrl: './accordian.component.css'\r\n})\r\nexport class AccordianComponent {\r\n field : any = input.required<any>();\r\nonPanelOpened(): void {\r\n console.log('Panel opened');\r\n}\r\n\r\nonPanelClosed(): void {\r\n console.log('Panel closed');\r\n}\r\n\r\nonExpandedChange(isExpanded: boolean): void {\r\n console.log('Panel expansion changed:', isExpanded);\r\n if (isExpanded) {\r\n // Panel is now expanded\r\n } else {\r\n // Panel is now collapsed\r\n }\r\n}\r\n}\r\n","<mat-accordion \r\n [multi]=\"true\" \r\n [hideToggle]=\"false\"\r\n [displayMode]=\"'default'\"\r\n [togglePosition]=\"'after'\" [ngStyle]=\"{\r\n'--acc-font-color': field()?.controlStyle?.color ,\r\n'--acc-bg-color': field()?.controlStyle?.background ,\r\n'--acc-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--acc-border-width': field()?.controlStyle?.borderWidth ,\r\n'--acc-border-style': field()?.controlStyle?.borderStyle ,\r\n'--acc-border-color': field()?.controlStyle?.borderColor ,\r\n'--acc-font-size': field()?.controlStyle?.fontSize ,\r\n'--acc-font-weight': field()?.controlStyle?.fontWeight \r\n}\">\r\n \r\n <mat-expansion-panel \r\n [expanded]=\"false\"\r\n [disabled]=\"false\"\r\n [hideToggle]=\"false\"\r\n (opened)=\"onPanelOpened()\"\r\n (closed)=\"onPanelClosed()\"\r\n (expandedChange)=\"onExpandedChange($event)\">\r\n \r\n <mat-expansion-panel-header \r\n [collapsedHeight]=\"'48px'\"\r\n [expandedHeight]=\"'64px'\">\r\n \r\n <mat-panel-title>\r\n <span class=\"triangle-icon\" *ngIf=\"field()?.configData?.showLeftArrowIndicator && field()?.configData?.showLeftArrowIndicator === 'true'\"></span>\r\n {{ field()?.label}}\r\n </mat-panel-title>\r\n \r\n <mat-panel-description>\r\n <!-- This is a description of the panel -->\r\n </mat-panel-description>\r\n \r\n </mat-expansion-panel-header>\r\n \r\n <!-- Panel Content -->\r\n <div>\r\n {{ field()?.configData?.accordianContent}}\r\n </div>\r\n \r\n <!-- Action Buttons -->\r\n <!-- <mat-action-row>\r\n <button mat-button color=\"primary\">Save</button>\r\n <button mat-button color=\"warn\">Cancel</button>\r\n </mat-action-row> -->\r\n \r\n </mat-expansion-panel>\r\n</mat-accordion>","import { Component, Input, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-miscellaneous-info-bar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './miscellaneous-info-bar.component.html',\r\n styleUrl: './miscellaneous-info-bar.component.css'\r\n})\r\nexport class MiscellaneousInfoBarComponent {\r\nconstructor(public masterService : MasterControlService){}\r\n field: any = input.required<any>();\r\n @Input() details: any = [{\r\nlabel:'PAN.',\r\nvalue:'AAAAA1111A'\r\n},\r\n{\r\nlabel:'DOB.',\r\nvalue:'01-Jan-1999'\r\n}\r\n];\r\n \r\n}\r\n","<div class=\"misc-info-background\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\r\n '--custom-info-bg-color': field()?.controlStyle?.background ,\r\n '--custom-info-border-radius': field()?.controlStyle?.borderRadius,\r\n '--custom-info-border-width': field()?.controlStyle?.borderWidth,\r\n '--custom-info-border-color': field()?.controlStyle?.borderColor,\r\n '--custom-info-border-style': field()?.controlStyle?.borderStyle,\r\n }\">\r\n <span>\r\n <img\r\n class=\"misc-info-nudge-image mb-1\"\r\n [src]=\"field()?.configData?.prefixImageUrl\"\r\n alt=\"\"\r\n />\r\n <span *ngFor=\"let inp of details ; let i = index\">\r\n <span class=\"ms-3 misc-info-label px-2\" [ngStyle]=\"{\r\n '--misc-info-font-size-label': field()?.controlStyle?.fontSize ,\r\n '--misc-info-font-weight-label': field()?.controlStyle?.fontWeight ,\r\n '--misc-info-font-color-label': field()?.controlStyle?.color ,\r\n }\"\r\n [ngClass]=\"{'show-divider': field()?.configData?.showDivider && field()?.configData?.showDivider === 'true' && i!=0}\"\r\n >{{inp?.label}}</span>\r\n <span class=\"misc-info-value\" [ngStyle]=\"{\r\n '--misc-info-font-size-value': field()?.configData?.valueFontSize ,\r\n '--misc-info-font-weight-value': field()?.configData?.valueFontWeight ,\r\n '--misc-info-font-color-value': field()?.configData?.valueFontColor ,\r\n }\">{{inp?.value}}</span>\r\n </span>\r\n <img\r\n class=\"misc-info-nudge-image mb-1 float-end\"\r\n [src]=\"field()?.configData?.suffixImageUrl\"\r\n alt=\"\"\r\n />\r\n </span>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-plain-text',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './plain-text.component.html',\r\n styleUrl: './plain-text.component.css'\r\n})\r\nexport class PlainTextComponent {\r\nfield: any = input.required<any>();\r\n}\r\n","<div class=\"plain-text\" [ngStyle]=\"{\r\n'--plain-text-width': field()?.controlStyle?.width ,\r\n'--plain-text-font-size': field()?.controlStyle?.fontSize ,\r\n'--plain-text-font-color': field()?.controlStyle?.color ,\r\n'--plain-text-font-weight': field()?.controlStyle?.fontWeight \r\n }\">{{field()?.label}}</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\n\r\n@Component({\r\n selector: 'lib-menu',\r\n standalone: true,\r\n imports: [\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatInputModule,\r\n FormsModule,\r\n MatOptionModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './menu.component.html',\r\n styleUrl: './menu.component.css'\r\n})\r\nexport class MenuComponent implements ControlValueAccessor {\r\n constructor() {}\r\n showProfileMenu = false;\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n selectionChanged(event: MatSelectChange) {\r\n this.inputValue = event.value;\r\n this.onChange(event.value);\r\n this.onTouched();\r\n }\r\n\r\n // onSelectOpened(opened: boolean) {\r\n // const css = this.field()?.controlStyle;\r\n // if (opened) {\r\n // document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\r\n // document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\r\n // document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\r\n // document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\r\n // document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\r\n // document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\r\n // document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\r\n // document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\r\n // } else {\r\n // document.body.style.removeProperty('--custom-select-option-background-color');\r\n // document.body.style.removeProperty('--custom-select-option-font-color');\r\n // document.body.style.removeProperty('--custom-select-option-font-weight');\r\n // document.body.style.removeProperty('--custom-select-option-background-color-focus');\r\n // document.body.style.removeProperty('--custom-select-option-font-color-focus');\r\n // document.body.style.removeProperty('--custom-select-option-font-weight-focus');\r\n // document.body.style.removeProperty('--custom-select-option-border-left-focus');\r\n // document.body.style.removeProperty('--custom-select-option-border-radius-focus');\r\n // }\r\n // }\r\n\r\ntoggleProfileMenu() {\r\n this.showProfileMenu = !this.showProfileMenu;\r\n}\r\n\r\n\r\n}\r\n","<div\r\n (click)=\"toggleProfileMenu()\"\r\n class=\"menu-container d-flex align-items-center\"\r\n role=\"button\"\r\n>\r\n<!-- [src]=\"field()?.configData?.prefixImage\" -->\r\n <img\r\n [src]=\"field()?.configData?.prefixImage\"\r\n alt=\"Profile\"\r\n class=\"rounded-circle me-2\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n <span class=\"menu-main-text ps-1 pe-2\">{{field()?.configData?.maintext}}</span>\r\n <span *ngIf=\"field()?.configData?.isShowDropdownArrow\" class=\"arrow\"></span>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"showProfileMenu\"\r\n class=\"profile-menu top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\"\r\n>\r\n <div class=\"profile-menu-caret\"></div>\r\n <ul class=\"list-unstyled m-0 py-2\">\r\n <li\r\n class=\"px-3 py-2 text-nowrap\"\r\n *ngFor=\"let singleOption of field()?.options\"\r\n >\r\n {{singleOption['label']}}\r\n </li>\r\n </ul>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, output, effect, OnInit, OnDestroy } from '@angular/core';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-stepper-with-arrow',\r\n standalone: true,\r\n imports: [MatStepperModule, CommonModule],\r\n templateUrl: './stepper-with-arrow.component.html',\r\n styleUrl: './stepper-with-arrow.component.css'\r\n})\r\nexport class StepperWIthArrowComponent implements OnInit, OnDestroy {\r\n field: any = input.required<any>();\r\n currentStepValue = input<string>(); // Input to receive current step value from parent\r\n autoProgress = input<boolean>(false); // Input to enable automatic step progression\r\n autoProgressDelay = input<number>(3000); // Delay between auto-progression (in ms)\r\n selectedStep = output<any>();\r\n masterStepper: any;\r\n selectedStepIndex = -1;\r\n private autoProgressTimer: any;\r\n\r\n constructor(public masterSharedService: MasterControlService) {\r\n // Watch for changes in currentStepValue input\r\n effect(() => {\r\n const stepValue = this.currentStepValue();\r\n if (stepValue && this.field()?.editStepper) {\r\n this.updateStepFromExternal(stepValue);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.field().editStepper = this.field().configData.stepperData ? this.field().configData.stepperData : this.masterSharedService?.configData?.stepper?.stepperData;\r\n this.initializeStepperState();\r\n this.emitActiveStepOnLoad();\r\n \r\n // Start auto-progression if enabled\r\n if (this.autoProgress()) {\r\n this.startAutoProgression();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // Clean up timer\r\n if (this.autoProgressTimer) {\r\n clearInterval(this.autoProgressTimer);\r\n }\r\n }\r\n\r\n initializeStepperState() {\r\n if (this.field().editStepper) {\r\n let activeStepIndex = -1;\r\n \r\n // Find the current active step based on step properties or field value\r\n // Check if any step is already marked as active\r\n activeStepIndex = this.field().editStepper.findIndex((step: any) => step.isActive === true);\r\n \r\n // If no active step found, check for current value in field\r\n if (activeStepIndex === -1 && this.field().value) {\r\n activeStepIndex = this.field().editStepper.findIndex((step: any) => \r\n step.displayLabel === this.field().value || \r\n step.value === this.field().value\r\n );\r\n }\r\n \r\n // If still no active step found, default to first step\r\n if (activeStepIndex === -1) {\r\n activeStepIndex = 0;\r\n }\r\n \r\n this.field().editStepper.forEach((step: any, index: number) => {\r\n // Set default values if not provided\r\n if (step.isDisplay === undefined) {\r\n step.isDisplay = true;\r\n }\r\n \r\n // Set step states based on the active step logic\r\n if (index < activeStepIndex) {\r\n // Steps before active step are completed and enabled\r\n step.isCompleted = true;\r\n step.isActive = false;\r\n step.isDisabled = false; // Completed steps can be clicked\r\n } else if (index === activeStepIndex) {\r\n // Current active step\r\n step.isCompleted = false;\r\n step.isActive = true;\r\n step.isDisabled = false;\r\n this.selectedStepIndex = index; // Set as selected\r\n } else {\r\n // Steps after active step are pending and disabled\r\n step.isCompleted = false;\r\n step.isActive = false;\r\n step.isDisabled = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n onStepClick(step: any, index: number) {\r\n if (!step.isDisabled) {\r\n this.selectedStepIndex = index;\r\n const stepData = {\r\n step: step,\r\n index: index,\r\n label: step.displayLabel,\r\n value: step.value || step.displayLabel\r\n };\r\n this.selectedStep.emit(stepData);\r\n }\r\n }\r\n\r\n isStepSelected(index: number): boolean {\r\n return this.selectedStepIndex === index;\r\n }\r\n\r\n shouldShowLabel(index: number): boolean {\r\n // Show label only if no step is selected OR if this step is the selected one\r\n // Hide labels for completed steps\r\n return (this.selectedStepIndex === -1 || this.selectedStepIndex === index) && !this.isStepCompleted(index);\r\n }\r\n\r\n shouldShowAsDisabled(step: any, index: number): boolean {\r\n // Show as disabled if step is actually disabled\r\n return step.isDisabled === true;\r\n }\r\n\r\n isStepCompleted(index: number): boolean {\r\n // Check if step is marked as completed\r\n if (this.field().editStepper && this.field().editStepper[index]) {\r\n return this.field().editStepper[index].isCompleted === true;\r\n }\r\n return false;\r\n }\r\n\r\n isStepActive(index: number): boolean {\r\n // Check if step is marked as active\r\n if (this.field().editStepper && this.field().editStepper[index]) {\r\n return this.field().editStepper[index].isActive === true;\r\n }\r\n return false;\r\n }\r\n\r\n emitActiveStepOnLoad() {\r\n // Automatically emit the active step when component loads\r\n if (this.field().editStepper && this.selectedStepIndex >= 0) {\r\n const activeStep = this.field().editStepper[this.selectedStepIndex];\r\n if (activeStep) {\r\n const stepData = {\r\n step: activeStep,\r\n index: this.selectedStepIndex,\r\n label: activeStep.displayLabel,\r\n value: activeStep.value || activeStep.displayLabel\r\n };\r\n this.selectedStep.emit(stepData);\r\n }\r\n }\r\n }\r\n\r\n // Method to programmatically move to the next step\r\n moveToNextStep() {\r\n if (this.selectedStepIndex < this.field().editStepper.length - 1) {\r\n this.moveToStep(this.selectedStepIndex + 1);\r\n }\r\n }\r\n\r\n // Method to programmatically move to the previous step\r\n moveToPreviousStep() {\r\n if (this.selectedStepIndex > 0) {\r\n this.moveToStep(this.selectedStepIndex - 1);\r\n }\r\n }\r\n\r\n // Method to programmatically move to a specific step\r\n moveToStep(stepIndex: number) {\r\n if (stepIndex >= 0 && stepIndex < this.field().editStepper.length) {\r\n // Update step states\r\n this.field().editStepper.forEach((step: any, index: number) => {\r\n if (index < stepIndex) {\r\n // Mark previous steps as completed\r\n step.isCompleted = true;\r\n step.isActive = false;\r\n step.isDisabled = false;\r\n } else if (index === stepIndex) {\r\n // Mark current step as active\r\n step.isCompleted = false;\r\n step.isActive = true;\r\n step.isDisabled = false;\r\n } else {\r\n // Mark future steps as pending/disabled\r\n step.isCompleted = false;\r\n step.isActive = false;\r\n step.isDisabled = true;\r\n }\r\n });\r\n\r\n this.selectedStepIndex = stepIndex;\r\n \r\n // Emit the step change\r\n const stepData = {\r\n step: this.field().editStepper[stepIndex],\r\n index: stepIndex,\r\n label: this.field().editStepper[stepIndex].displayLabel,\r\n value: this.field().editStepper[stepIndex].value || this.field().editStepper[stepIndex].displayLabel\r\n };\r\n this.selectedStep.emit(stepData);\r\n }\r\n }\r\n\r\n // Method to complete current step and move to next\r\n completeCurrentStepAndMoveNext() {\r\n if (this.selectedStepIndex >= 0 && this.selectedStepIndex < this.field().editStepper.length - 1) {\r\n // Mark current step as completed\r\n this.field().editStepper[this.selectedStepIndex].isCompleted = true;\r\n this.field().editStepper[this.selectedStepIndex].isActive = false;\r\n \r\n // Move to next step\r\n this.moveToNextStep();\r\n }\r\n }\r\n\r\n // Method to watch for external step changes (can be called from parent)\r\n updateStepFromExternal(stepValue: string) {\r\n if (this.field().editStepper) {\r\n const stepIndex = this.field().editStepper.findIndex((step: any) => \r\n step.displayLabel === stepValue || step.value === stepValue\r\n );\r\n \r\n if (stepIndex >= 0 && stepIndex !== this.selectedStepIndex) {\r\n this.moveToStep(stepIndex);\r\n }\r\n }\r\n }\r\n\r\n // Auto-progression methods\r\n startAutoProgression() {\r\n if (this.autoProgressTimer) {\r\n clearInterval(this.autoProgressTimer);\r\n }\r\n \r\n this.autoProgressTimer = setInterval(() => {\r\n this.moveToNextStep();\r\n \r\n // Stop auto-progression when reaching the last step\r\n if (this.selectedStepIndex >= this.field().editStepper.length - 1) {\r\n this.stopAutoProgression();\r\n }\r\n }, this.autoProgressDelay());\r\n }\r\n\r\n stopAutoProgression() {\r\n if (this.autoProgressTimer) {\r\n clearInterval(this.autoProgressTimer);\r\n this.autoProgressTimer = null;\r\n }\r\n }\r\n\r\n // Method to reset stepper to first step\r\n resetToFirstStep() {\r\n this.stopAutoProgression();\r\n this.moveToStep(0);\r\n \r\n if (this.autoProgress()) {\r\n this.startAutoProgression();\r\n }\r\n }\r\n}\r\n","<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-label-with-image',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './label-with-image.component.html',\r\n styleUrl: './label-with-image.component.css'\r\n})\r\nexport class LabelWithImageComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div *ngIf=\"field()?.isVisible\" class=\"d-flex gap-2\">\r\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n <span class=\"bold-label\" [ngStyle]=\"{\r\n'--master-bold-label-font-color': field()?.controlStyle?.color,\r\n'--master-bold-label-font-size': field()?.controlStyle?.fontSize,\r\n'--master-bold-label-font-weight': field()?.controlStyle?.fontWeight\r\n}\">{{field()?.label}}</span>\r\n</div>","import { Component, ElementRef, HostListener, input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-top-header',\r\n standalone: true,\r\n templateUrl: './top-header.component.html',\r\n styleUrl: './top-header.component.css',\r\n imports: [CommonModule]\r\n})\r\nexport class TopHeaderComponent {\r\nfield : any = input.required<any>();\r\n\r\nshowProfileMenu = false;\r\nconfigData={\r\n options:[\r\n {label:\"\",\r\n value:\"\"\r\n }\r\n ],\r\nconfigData:{\r\n logoUrl: \"\",\r\n notificationBellVisible:\"\",\r\n notificationCount:\"\",\r\n notificationImageUrl:\"\",\r\n UserProfileVisible:\"\",\r\n imageUrl:\"\",\r\n userProfileText:\"\",\r\n}};\r\n\r\nngOnInit()\r\n{\r\n this.configData=this.field();\r\n}\r\n}\r\n","<header class=\"sticky-top bg-white shadow-sm\">\r\n <div class=\"container-fluid mx-auto p-0\">\r\n <div class=\"header row align-items-center\">\r\n <div class=\"col-11\">\r\n <a href=\"/\" class=\"d-flex align-items-center gap-3 fixMargin\">\r\n <img\r\n [src]=\"configData.configData.logoUrl\"\r\n class=\"logo\"\r\n height=\"32\"\r\n alt=\"Logo\"\r\n />\r\n </a>\r\n </div>\r\n <div class=\"col-1 d-flex justify-content-end align-items-center p-1 position-relative\">\r\n <div class=\"me-3 position-relative notification-icon\" role=\"button\" *ngIf=\"configData.configData.notificationBellVisible=='true'\">\r\n <img\r\n [src]=\"configData.configData.notificationImageUrl\"\r\n alt=\"Notifications\"\r\n width=\"28\"\r\n height=\"28\"\r\n />\r\n <span \r\n class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger\"\r\n >\r\n {{configData.configData.notificationCount}}\r\n </span>\r\n </div>\r\n <div\r\n (mouseenter)=\"showProfileMenu=true\"\r\n class=\"profile-icon d-flex align-items-center rounded-pill bg-light\"\r\n role=\"button\" *ngIf=\"configData.configData.UserProfileVisible=='true'\"\r\n >\r\n <img\r\n [src]=\"configData.configData.imageUrl\"\r\n alt=\"Profile\"\r\n class=\"rounded-circle me-2\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n <span class=\"fw-medium\">{{configData.configData.userProfileText}}</span>\r\n </div>\r\n <div\r\n *ngIf=\"showProfileMenu\"\r\n class=\"profile-menu position-absolute top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\" (mouseenter)=\"showProfileMenu=true\" (mouseleave)=\"showProfileMenu=false\"\r\n >\r\n <div class=\"profile-menu-caret\"></div>\r\n \r\n <ul class=\"list-unstyled m-0 py-2\">\r\n <li class=\"px-3 py-2 text-nowrap\" *ngFor=\"let item of configData.options || []\">\r\n {{ item.label || 'No label' }}\r\n </li>\r\n </ul>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</header>","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-footer',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './footer.component.html',\r\n styleUrl: './footer.component.css'\r\n})\r\nexport class FooterComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div class=\"footerband section\">\r\n <div class=\"secondary-footer\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"bd-row col-sm-12 clearfix\">\r\n <div class=\"legacy-link-menu\">\r\n \r\n \r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/downloads\" target=\"_blank\" rel=\"nofollow\">Downloads</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/do-not-disturb\" target=\"_blank\" rel=\"nofollow\">Do Not Disturb (DND)</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/financials\" target=\"_blank\" rel=\"nofollow\">Public Disclosures</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/investor-relations\" target=\"_blank\" rel=\"nofollow\">Investor Relations</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/content/dam/godigit/directportal/en/downloads/digit-stewardship-policy-v4-Jun-24.pdf\" target=\"_blank\" rel=\"nofollow\">Stewardship Policy</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.irdai.gov.in/\" target=\"_blank\" rel=\"nofollow\">IRDAI </a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/privacy-policy\" target=\"_blank\" rel=\"nofollow\">Privacy Policy</a></span>\r\n \r\n \r\n \r\n </div>\r\n <p class=\"txt-white txt-left l-float\">CIN: L66010PN2016PLC167410, IRDAI Reg. No. 158.</p>\r\n <p class=\"txt-white txt-left l-float\">Go Digit General Insurance Limited | Corporate Office Address: Atlantis, 95, 4th B Cross Road, Koramangala Industrial Layout, 5th Block, Bengaluru 560095 | Registered Office Address: 1 to 6 floors, Ananta One (AR One), Pride Hotel Lane, Narveer Tanaji Wadi, Shivaji Nagar, Pune-411005, Maharashtra | Trade logo of Go Digit General Insurance Ltd. displayed above belongs to Go Digit lnfoworks Services Private Limited and is provided and used by Go Digit General Insurance Ltd. under license.</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-footer-with-buttons',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './footer-with-buttons.component.html',\r\n styleUrl: './footer-with-buttons.component.css'\r\n})\r\nexport class FooterWithButtonsComponent {\r\nfield : any = input.required<any>();\r\n \r\nconfigData = {\r\n configData:{\r\n margin:\"0%\",\r\n },\r\n options: [] as Array<{\r\n label: string;\r\n value:string;\r\n }>\r\n};\r\n\r\nngOnInit()\r\n{\r\n this.configData=this.field();\r\n}\r\n}\r\n","\r\n<footer class=\"custom-footer\" \r\n[ngStyle]=\"{\r\n 'margin-left': configData.configData.margin,\r\n 'margin-right': configData.configData.margin\r\n }\"\r\n>\r\n <div class=\"container\">\r\n <div class=\"footer-buttons d-flex justify-content-center gap-3 py-3\">\r\n <button class=\"btn update-btn\" *ngFor=\"let button of configData.options\">{{button.label}}</button>\r\n </div>\r\n </div>\r\n</footer>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-motor-glow-plan-details',\r\n standalone: true,\r\n imports: [\r\n CommonModule\r\n ],\r\n templateUrl: './motor-glow-plan-details.component.html',\r\n styleUrl: './motor-glow-plan-details.component.css'\r\n})\r\nexport class MotorGlowPlanDetailsComponent {\r\n field: any = input.required<any>();\r\n @Output() editPlanClick = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n onEditPlanClicked() {\r\n this.editPlanClick.emit();\r\n }\r\n}\r\n","<div class=\"yellow-background\" *ngIf=\"field().isVisible\">\r\n <div class=\"row\" style=\"padding-bottom: 16px;\">\r\n <div class=\"col-6\" style=\"padding-bottom: 8px;\">\r\n <span class=\"label-font\">Sum Assured</span>\r\n </div>\r\n <div class=\"col-6 d-flex justify-content-end\" (click)=\"onEditPlanClicked()\">\r\n <span class=\"label-font\">Edit plan <span> <img style=\"height: 12px; width: 12px; transform: translate(2px, -2px);\" src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/edit-icon.svg\" alt=\"edit icon\"> </span></span>\r\n </div>\r\n <div class=\"col-12\">\r\n <span class=\"value-font\">{{field()?.configData?.sumAssuedValue ? field()?.configData?.sumAssuedValue : '25' }}</span>\r\n </div>\r\n </div>\r\n <div class=\"row\" style=\"padding-bottom: 16px;\">\r\n <div class=\"col-12\" style=\"padding-bottom: 8px;\"><span class=\"label-font\">Policy Term (PT)</span></div>\r\n <div class=\"col-12 value-font\"><span>{{field()?.configData?.ptYears ? field()?.configData?.ptYears : '5' }} yrs <span class=\"year-label\">(Till {{field()?.configData?.ptValidTill ? field()?.configData?.ptValidTill : '2029' }})</span></span></div>\r\n\r\n </div>\r\n <div class=\"row\" style=\"padding-bottom: 16px;\">\r\n <div class=\"col-12\" style=\"padding-bottom: 8px;\"><span class=\"label-font\">Premium</span></div>\r\n <div class=\"col-12\"><span class=\"premium-color\">₹ {{field()?.configData?.premiumAmount ? field()?.configData?.premiumAmount : '12,025' }}/ {{field()?.configData?.premiumFrequency ? field()?.configData?.premiumFrequency : 'year' }}</span></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\"> <span class=\"eligibility-font\">Eligible for maximum Sum Assured of ₹{{field()?.configData?.maxSAValue ? field()?.configData?.maxSAValue : '25' }} Lakh.</span></div>\r\n </div>\r\n\r\n</div>\r\n","import { Component, EventEmitter, input, Output, SimpleChanges } from '@angular/core';\r\nimport { ToggleComponent } from '../toggle/toggle.component';\r\nimport { SelectTextboxComponent } from '../select-textbox/select-textbox.component';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\r\nimport { RadioComponent } from '../radio/radio.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-annuity-premium-calculator',\r\n standalone: true,\r\n imports: [\r\n ToggleComponent,\r\n SelectTextboxComponent,\r\n ButtonComponent,\r\n IconButtonComponent,\r\n RadioComponent,\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './annuity-premium-calculator.component.html',\r\n styleUrl: './annuity-premium-calculator.component.css',\r\n})\r\nexport class AnnuityPremiumCalculatorComponent {\r\n field: any = input.required<any>();\r\n premiumDetails: any = input<any>({});\r\n annuityPremium : any = {\r\n textValue : '',\r\n selectValue: ''\r\n };\r\n minumumAnnuityPayout : any = {\r\n textValue : '',\r\n selectValue: ''\r\n };\r\n @Output() onCalcualteButtonClick = new EventEmitter<any>();\r\n @Output() onGenerateSummaryClick = new EventEmitter<any>();\r\n @Output() onAnnuityPremiumChange = new EventEmitter<any>();\r\n @Output() onMinimumPremiumValueChange = new EventEmitter<any>();\r\n @Output() onAutioDebitValueChange = new EventEmitter<any>();\r\n validations : any = {\r\n ispremiumEntry : false\r\n }\r\n isEnableAutoDebit : any = false;\r\n selectedGuranteedAnnuity: any = null;\r\n annuityPremiumToggleObj: any = {\r\n controlType: 'toggle',\r\n fieldName: 'annuityPremiumToggle',\r\n label: 'Enter Annuity',\r\n placeHolder: null,\r\n metaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',\r\n isVisible: true,\r\n isDisable: true,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: 150,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: null,\r\n cssClass:\r\n ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mx-auto d-flex align-items-center justify-content-center',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n isShowLabel: true,\r\n controlStyle: {\r\n controlType: 'toggle',\r\n borderColor: '#DADADA',\r\n borderWidth: '1px',\r\n borderRadius: '999px',\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: 'fit-content',\r\n focusBorderWidth: '0.094rem',\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: '0.094rem',\r\n hoverColor: null,\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: null,\r\n errorBorderWidth: '0.094rem',\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n columnIndex: 0,\r\n configData: {\r\n leftLabel: 'Enter Premium',\r\n },\r\n controlStyles: null,\r\n };\r\n\r\n annuityTableCalculator :any = {\r\n \"isVisible\": false,\r\n \"annuitycalculatorTable1val1\": \"\",\r\n \"annuitycalculatorTable1val2\": \"\",\r\n \"annuitycalculatorTable2val1\": \"\",\r\n \"annuitycalculatorTable2val2\": \"\",\r\n \"annuitycalculatorTable2val3\": \"\",\r\n \"annuitycalculatorTable3val1\": \"\",\r\n \"annuitycalculatorTable3val2\": \"\",\r\n \"annuitycalculatorTable3val3\": \"\",\r\n \"annuitycalculatorTable4val1\": \"\",\r\n \"annuitycalculatorTable4val2\": \"\",\r\n \"annuitycalculatorTable4val3\": \"\"\r\n\r\n\r\n };\r\n\r\n annuityPremiumObj: any = {\r\n controlStyle: {\r\n controlType: 'amountTextbox',\r\n borderColor: '#DADADA',\r\n borderWidth: '0.094rem',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: null,\r\n focusBorderWidth: '0.094rem',\r\n focusBorderColor: '#ffbb00',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#FFBB00',\r\n hoverBorderWidth: '0.094rem',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '0.094rem',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n fieldName: 'annuityPremium',\r\n label: 'Premium',\r\n placeHolder: 'Enter Premium',\r\n metaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',\r\n isVisible: true,\r\n isDisable: false,\r\n defaultValue: null,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'Enter Premium',\r\n minLength: 4,\r\n minLengthMessage: null,\r\n maxLength: 10,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: null,\r\n },\r\n options: [\r\n {\r\n value: 'Monthly',\r\n label: 'Monthly',\r\n },\r\n {\r\n value: 'One Time',\r\n label: 'One Time',\r\n },\r\n {\r\n value: 'Quarterly',\r\n label: 'Quarterly',\r\n },\r\n {\r\n value: 'Half Yearly',\r\n label: 'Half Yearly',\r\n },\r\n {\r\n value: 'Yearly',\r\n label: 'Yearly',\r\n },\r\n ],\r\n cssClass: ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 pr-0 mt-5 pt-2',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n configData: {\r\n isComaSeperated: true,\r\n isAllowNumbersInTextFields: true\r\n },\r\n metaDataObj: null,\r\n isShowLabel: true,\r\n isMasterControl: false,\r\n controlType: 'amountTextbox',\r\n };\r\n\r\n minimumAnnuityPayoutObj: any = {\r\n controlStyle: {\r\n controlType: 'amountTextbox',\r\n borderColor: '#DADADA',\r\n borderWidth: '0.094rem',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: null,\r\n focusBorderWidth: '0.094rem',\r\n focusBorderColor: '#ffbb00',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#FFBB00',\r\n hoverBorderWidth: '0.094rem',\r\n hoverColor: '#444444',\r\n disableColor: '#999999',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '0.094rem',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId:\r\n 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n fieldName: 'minimumGuaranteedAnnuityPayout',\r\n label: 'Total Annuity Payout',\r\n placeHolder: 'Enter Annuity Payout',\r\n metaId: 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',\r\n isVisible: true,\r\n isDisable: true,\r\n defaultValue: null,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'Enter Annuity Payout',\r\n minLength: 4,\r\n minLengthMessage: null,\r\n maxLength: 10,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: null,\r\n },\r\n options: [\r\n {\r\n value: 'Monthly',\r\n label: 'Monthly',\r\n },\r\n {\r\n value: 'One Time',\r\n label: 'One Time',\r\n },\r\n {\r\n value: 'Quarterly',\r\n label: 'Quarterly',\r\n },\r\n {\r\n value: 'Half Yearly',\r\n label: 'Half Yearly',\r\n },\r\n {\r\n value: 'Yearly',\r\n label: 'Yearly',\r\n },\r\n ],\r\n cssClass:\r\n ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 mt-1 pr-0 minimumGuaranteedAnnuityPayout',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n configData: {\r\n isComaSeperated: true,\r\n isAllowNumbersInTextFields: true\r\n },\r\n metaDataObj: null,\r\n isShowLabel: true,\r\n isMasterControl: false,\r\n controlType: 'amountTextbox',\r\n };\r\n\r\n enableAutoDebitObj: any = {\r\n controlType: 'toggle',\r\n fieldName: 'autoDebit',\r\n label: 'Enable Auto Pay to get higher annuity rate',\r\n placeHolder: '',\r\n metaId: 'ALL_COM_GEN_CTRL_toggle_autoDebit_V1',\r\n isVisible: true,\r\n isDisable: false,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: null,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: null,\r\n cssClass: 'col-sm-12 col-md-5 col-lg-5 col-xl-5 mt-4 autoPay',\r\n value: false,\r\n style: null,\r\n imageUrl: null,\r\n isShowLabel: true,\r\n controlStyle: {\r\n controlType: 'toggle',\r\n borderColor: null,\r\n borderWidth: '0.094rem',\r\n borderRadius: null,\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#E6F7F3',\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: null,\r\n focusBorderWidth: '0.094rem',\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: '0.094rem',\r\n hoverColor: null,\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: null,\r\n errorBorderWidth: '0.094rem',\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'ALL_COM_GEN_CTRL_toggle_mailingAddressToggle_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n columnIndex: 0,\r\n configData: {},\r\n controlStyles: null,\r\n };\r\n\r\n recalculateButton: any = {\r\n controlType: 'button',\r\n fieldName: 'calculateAnnuityPayout',\r\n label: 'Calculate Annuity Payout',\r\n placeHolder: null,\r\n metaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',\r\n isVisible: true,\r\n isDisable: false,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: null,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: null,\r\n cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mt-3',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n isShowLabel: true,\r\n controlStyle: {\r\n controlType: null,\r\n borderColor: null,\r\n borderWidth: null,\r\n borderRadius: '4px',\r\n fontSize: '12px',\r\n fontWeight: null,\r\n fontFamily: null,\r\n color: null,\r\n background: '#FFBB00',\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: '100%',\r\n focusBorderWidth: null,\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: null,\r\n hoverColor: null,\r\n disableColor: null,\r\n disableBackground: null,\r\n errorBorderColor: null,\r\n errorBorderWidth: null,\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n columnIndex: 0,\r\n configData: {},\r\n controlStyles: null,\r\n };\r\n\r\n interchangeButtonObj: any = {\r\n controlStyle: {\r\n controlType: null,\r\n borderColor: '#DDDDDD',\r\n borderWidth: '0px',\r\n borderRadius: '50%',\r\n fontSize: null,\r\n fontWeight: null,\r\n fontFamily: null,\r\n color: null,\r\n background: null,\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: '100%',\r\n focusBorderWidth: null,\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: null,\r\n hoverColor: null,\r\n disableColor: null,\r\n disableBackground: null,\r\n errorBorderColor: null,\r\n errorBorderWidth: null,\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: null,\r\n borderStyle: null,\r\n height: '20px',\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n fieldName: 'annuityInterChange',\r\n label: 'Annuity Interchange Button',\r\n placeHolder: null,\r\n metaId: 'ALL_COM_GEN_MCTRL_downloadIconButton_annuityInterChange_V1',\r\n isVisible: true,\r\n isDisable: false,\r\n defaultValue: null,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: null,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: [],\r\n cssClass: null,\r\n value: null,\r\n style: null,\r\n imageUrl:\r\n 'https://cdn.godigit.com/digitPlusAssets/Transition-with-border-icon.svg',\r\n configData: {},\r\n metaDataObj: null,\r\n isShowLabel: true,\r\n isMasterControl: true,\r\n controlType: 'downloadIconButton',\r\n };\r\n\r\n generateSummaryObj: any = {\r\n controlType: 'button',\r\n fieldName: 'generateSummary',\r\n label: 'Generate Summary',\r\n placeHolder: null,\r\n metaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',\r\n isVisible: true,\r\n isDisable: true,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: null,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: null,\r\n cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 my-1 mt-3',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n isShowLabel: true,\r\n controlStyle: {\r\n controlType: null,\r\n borderColor: null,\r\n borderWidth: null,\r\n borderRadius: '4px',\r\n fontSize: '12px',\r\n fontWeight: null,\r\n fontFamily: null,\r\n color: null,\r\n background: '#FFBB00',\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: '100%',\r\n focusBorderWidth: null,\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: null,\r\n hoverColor: null,\r\n disableColor: null,\r\n disableBackground: null,\r\n errorBorderColor: null,\r\n errorBorderWidth: null,\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n columnIndex: 0,\r\n configData: {},\r\n controlStyles: null,\r\n };\r\n\r\n guranteedannuityObj: any={\r\n \"controlType\": \"radio\",\r\n \"fieldName\": \"guranteedAnnuityage\",\r\n \"label\": \"Guaranteed Annuity %age\",\r\n \"placeHolder\": \"\",\r\n \"metaId\": \"LI_DP_DP_CTRL_radio_annuityType_V1\",\r\n \"isVisible\": true,\r\n \"isDisable\": false,\r\n \"validators\": {\r\n \"isRequired\": true,\r\n \"requiredMessage\": \"This field cannot be empty\",\r\n \"minLength\": null,\r\n \"minLengthMessage\": null,\r\n \"maxLength\": 150,\r\n \"maxLengthMessage\": null,\r\n \"pattern\": null,\r\n \"patternMessage\": \"\"\r\n },\r\n \"options\": [],\r\n \"cssClass\": \" col-sm-12 col-md-3 col-lg-3 col-xl-3 annuityType\",\r\n \"value\": null,\r\n \"style\": null,\r\n \"imageUrl\": null,\r\n \"isShowLabel\": true,\r\n \"controlStyle\": {\r\n \"controlType\": \"radio\",\r\n \"borderColor\": \"#DADADA\",\r\n \"borderWidth\": \"1px\",\r\n \"borderRadius\": null,\r\n \"fontSize\": \"12px\",\r\n \"fontWeight\": \"400\",\r\n \"fontFamily\": \"Mulish\",\r\n \"color\": \"#444444\",\r\n \"background\": \"#FFFFFF\",\r\n \"caretColor\": null,\r\n \"nudgeDisplayImage\": null,\r\n \"dropdownOptionBgColor\": null,\r\n \"dropdownOptionColor\": null,\r\n \"dropdownOptionFontWeight\": null,\r\n \"width\": \"45px\",\r\n \"focusBorderWidth\": \"1px\",\r\n \"focusBorderColor\": \"#ffbb00\",\r\n \"focusBackground\": null,\r\n \"focusColor\": \"#444444\",\r\n \"focusDropdownOptionBgColor\": null,\r\n \"focusDropdownOptionColor\": null,\r\n \"focusDropdownOptionFontWeight\": null,\r\n \"focusDropdownOptionBorderLeft\": null,\r\n \"focusDropdownOptionBorderRadius\": null,\r\n \"hoverBorderColor\": \"#DADADA\",\r\n \"hoverBorderWidth\": \"1px\",\r\n \"hoverColor\": \"#444444\",\r\n \"disableColor\": \"#ECECEC\",\r\n \"disableBackground\": \"#ECECEC\",\r\n \"errorBorderColor\": \"#DADADA\",\r\n \"errorBorderWidth\": \"1px\",\r\n \"errorColor\": \"#444444\",\r\n \"createdDate\": null,\r\n \"padding\": null,\r\n \"margin\": null,\r\n \"isMasterCss\": null,\r\n \"controlMetaId\": \"LI_DP_DP_CTRL_radio_annuityType_V1\",\r\n \"borderStyle\": null,\r\n \"height\": \"32px\",\r\n \"minHeight\": null,\r\n \"maxHeight\": null,\r\n \"minWidth\": \"45px\",\r\n \"maxWidth\": null,\r\n \"cssClass\": null\r\n },\r\n \"columnIndex\": 0,\r\n \"configData\": {},\r\n \"controlStyles\": null\r\n };\r\n\r\n constructor(public masterService : MasterControlService) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if ( (changes['premiumDetails']) && !this.masterService.checkIfValueIsEmpty(changes['premiumDetails'].currentValue) ) {\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.Premium)) {\r\n // Create new object to trigger change detection\r\n this.annuityPremium = {\r\n textValue: this.premiumDetails()?.Premium['textValue'],\r\n selectValue: this.premiumDetails()?.Premium['selectValue']\r\n };\r\n\r\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'isDisable')) {\r\n this.annuityPremiumObj['isDisable'] = this.premiumDetails()?.Premium['isDisable'];\r\n }\r\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'isDisableDropdown')) {\r\n this.annuityPremiumObj['configData']['isDisableDropdown'] = this.premiumDetails()?.Premium['isDisableDropdown'];\r\n }\r\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'options')) {\r\n this.annuityPremiumObj['options'] = this.premiumDetails()?.Premium['options'];\r\n }\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuity)) {\r\n // Create new object to trigger change detection\r\n this.minumumAnnuityPayout = {\r\n textValue: this.premiumDetails()?.annuity['textValue'],\r\n selectValue: this.premiumDetails()?.annuity['selectValue']\r\n };\r\n\r\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'isDisable')) {\r\n this.minimumAnnuityPayoutObj['isDisable'] = this.premiumDetails()?.annuity['isDisable'];\r\n }\r\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'isDisableDropdown')) {\r\n this.minimumAnnuityPayoutObj['configData']['isDisableDropdown'] = this.premiumDetails()?.annuity['isDisableDropdown'];\r\n }\r\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'options')) {\r\n this.minimumAnnuityPayoutObj['options'] = this.premiumDetails()?.annuity['options'];\r\n }\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuityTableCalculator)) {\r\n // Create new object to trigger change detection\r\n this.annuityTableCalculator = this.premiumDetails()?.annuityTableCalculator;\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity)) {\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['controlStyle'])) {\r\n this.recalculateButton['controlStyle'] = this.premiumDetails()?.calculateAnnuity['controlStyle']\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['label'])) {\r\n this.recalculateButton['label'] = this.premiumDetails()?.calculateAnnuity['label']\r\n }\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['isDisable'])) {\r\n this.recalculateButton['isDisable'] = this.premiumDetails()?.calculateAnnuity['isDisable']\r\n }\r\n }\r\n\r\n //guranteed Annuity options\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity)) {\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity['options'])) {\r\n this.guranteedannuityObj['options'] = this.premiumDetails()?.guranteedAnnuity['options'];\r\n }\r\n\r\n\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary)) {\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['controlStyle'])) {\r\n this.generateSummaryObj['controlStyle'] = this.premiumDetails()?.generateSummary['controlStyle'];\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['label'])) {\r\n this.generateSummaryObj['label'] = this.premiumDetails()?.generateSummary['label'];\r\n }\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['isDisable'])) {\r\n this.generateSummaryObj['isDisable'] = this.premiumDetails()?.generateSummary['isDisable']\r\n }\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption)) {\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption['isVisible'])) {\r\n this.enableAutoDebitObj['isVisible'] = this.premiumDetails()?.autoPayOption['isVisible'];\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption['isVisible'])) {\r\n this.isEnableAutoDebit = this.premiumDetails()?.autoPayOption['isEnableAutoDebit'];\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n calculateButtonClicked() {\r\n this.validations.ispremiumEntry = false;\r\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\r\n this.validations.ispremiumEntry = true;\r\n }\r\n this.onCalcualteButtonClick.emit();\r\n }\r\n\r\n generateSummaryClicked() {\r\n this.onGenerateSummaryClick.emit();\r\n }\r\n\r\n onAnnuityPremiumValueChange(value: any) {\r\n this.annuityPremium = value;\r\n this.validations.ispremiumEntry = false;\r\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\r\n this.validations.ispremiumEntry = true;\r\n }\r\n this.onAnnuityPremiumChange.emit(value);\r\n }\r\n onMinPremiumValueChange(value: any) {\r\n this.minumumAnnuityPayout = value;\r\n this.onMinimumPremiumValueChange.emit(value);\r\n }\r\n\r\n onEnableAutoDebitValueChange(event : any) {\r\n this.onAutioDebitValueChange.emit(event);\r\n }\r\n\r\n onGuranteedAnnuityChange(event: any) {\r\n }\r\n\r\n annualIncomefocusOut() {\r\n this.validations.ispremiumEntry = false;\r\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\r\n this.validations.ispremiumEntry = true;\r\n }\r\n }\r\n}\r\n","<div class=\"card px-3\" style=\"padding: 16px;\">\r\n <div class=\"row\">\r\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium to Annuity Calculator</h4>\r\n </div>\r\n <!-- <div class=\"row\"> -->\r\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\r\n <!-- <div class=\"custom-grid-template\">\r\n\r\n </div> -->\r\n\r\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\r\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\r\n </div>\r\n <!-- </div> -->\r\n <div class=\" col-12\" style=\"\r\n justify-content: center;\r\n flex-direction: row;\r\n display: flex;\r\n\">\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\" (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\r\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\r\n Enter Premium\r\n </div>\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div>\r\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\" style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative;\">\r\n <!-- Vertical center line split around icon -->\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px;height: calc(50% - 16px); top: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n <lib-icon-button [field]=\"interchangeButtonObj\" />\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% - 16px); bottom: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n </div>\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\" (ngModelChange)=\"onMinPremiumValueChange($event)\" />\r\n <div class=\"minium-annuity mt-3\">\r\n <div class=\"annuity-msg w-100 px-2 py-1\">\r\n Value based on assumed 10% annual growth of Nifty 50 index.\r\n </div>\r\n <div class=\"w-100 px-2 py-1\">\r\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\" (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\r\n </div>\r\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\r\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\" style=\"max-width: 24px;\" />\r\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\r\n</div>\r\n</div>\r\n\r\n </div>\r\n </div>\r\n <!-- <div class=\"vertical-line\"></div> -->\r\n <!-- <div class=\"custom-grid-template\">\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div> -->\r\n\r\n </div>\r\n\r\n\r\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\r\n <div class=\"mx-4\">\r\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\r\n <div class=\"card mb-0 mt-2\" style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \">\r\n <div class=\"mx-4\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\" style=\"margin-left: 3px;\"/>\r\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\"/>\r\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\r\n </div>\r\n <!-- annuity calculator table -->\r\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <div class=\"d-flex flex-row annuity-tables-container\">\r\n <!-- Table 1 -->\r\n <div class=\"annuity-calculator-table1\">\r\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-cell\"><span class=\"rupee-icon\">₹</span><span style=\"font-size:12px; color: rgba(68, 68, 68, 1);\"><{{annuityTableCalculator.annuitycalculatorTable1val1}}></span></div>\r\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">+</div>\r\n\r\n <!-- Table 2 -->\r\n <div class=\"annuity-calculator-table2\">\r\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\r\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\r\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table 3 -->\r\n <div class=\"annuity-calculator-table3\">\r\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">=</div>\r\n\r\n <!-- Table 4 -->\r\n <div class=\"annuity-calculator-table4\">\r\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect your variable annuity payout and total annuity payout.\r\n </div>\r\n\r\n <div>\r\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-footer-design',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './footer-design.component.html',\r\n styleUrl: './footer-design.component.css'\r\n})\r\nexport class FooterDesignComponent {\r\n field : any = input.required<any>();\r\n progress: number = 95;\r\n updateProgress(value: number) {\r\n this.progress = Math.min(100, Math.max(0, value));\r\n }\r\n}\r\n","<div class=\"progress-container\" *ngIf=\"field() && field()?.isVisible\">\r\n <div class=\"circular-progress-wrapper\">\r\n <div class=\"circular-progress\"\r\n [style.--progress]=\"field()?.configData?.Progressbar\"\r\n [class.medium-progress]=\"field()?.configData?.Progressbar >= 25 && field()?.configData?.Progressbar < 50\"\r\n [class.high-progress]=\"field()?.configData?.Progressbar >= 50\">\r\n <div class=\"progress-value\">{{ field()?.configData?.Progressbar }}%</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-content\">\r\n <h2 class=\"main-heading\" [innerHTML]=\"field()?.configData?.Progressbarmsg\"></h2>\r\n <h2 class=\"main-heading1\">{{ field()?.configData?.GrossPremium }}</h2>\r\n </div>\r\n</div>\r\n","import { ButtonComponent } from './button/button.component';\r\nimport { Component, Input, input } from '@angular/core';\r\nimport { TextboxComponent } from './textbox/textbox.component';\r\nimport { SelectComponent } from './select/select.component';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { RadioComponent } from './radio/radio.component';\r\nimport { ToggleComponent } from './toggle/toggle.component';\r\nimport { UploadComponent } from './upload/upload.component';\r\nimport { DobComponent } from './dob/dob.component';\r\nimport { MobNumberComponent } from './mob-number/mob-number.component';\r\nimport { InfoComponent } from './info/info.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { TextareaComponent } from './textarea/textarea.component';\r\nimport { TabComponent } from \"./tab/tab.component\";\r\nimport { AutocompleteComponent } from \"./autocomplete/autocomplete.component\";\r\nimport { MultipleSelectComponent } from \"./multiple-select/multiple-select.component\";\r\nimport { SelectTextboxComponent } from './select-textbox/select-textbox.component';\r\nimport { OtpTextboxComponent } from \"./otp-textbox/otp-textbox.component\";\r\nimport { AmountTextboxComponent } from \"./amount-textbox/amount-textbox.component\";\r\nimport { SuffixTextboxComponent } from \"./suffix-textbox/suffix-textbox.component\";\r\nimport { OtpMobNumberComponent } from \"./otp-mob-number/otp-mob-number.component\";\r\nimport { TagMobNumberComponent } from \"./tag-mob-number/tag-mob-number.component\";\r\nimport { AgeDateComponent } from \"./age-date/age-date.component\";\r\nimport { AdditionButtonComponent } from \"./addition-button/addition-button.component\";\r\nimport { InfoTextboxComponent } from \"./info-textbox/info-textbox.component\";\r\nimport { TextboxWithImageComponent } from \"./textbox-with-image/textbox-with-image.component\";\r\nimport { EmailWithDomainComponent } from \"./email-with-domain/email-with-domain.component\";\r\nimport { ImageUploadComponent } from \"./image-upload/image-upload.component\";\r\nimport { DownloadDocumentComponent } from \"./download-document/download-document.component\";\r\nimport { AddDocumentComponent } from \"./add-document/add-document.component\";\r\nimport { HyperlinkComponent } from \"./hyperlink/hyperlink.component\";\r\nimport { TextboxWithUnderscoreComponent } from \"./textbox-with-underscore/textbox-with-underscore.component\";\r\nimport { UnderscoreMobNumberComponent } from \"./underscore-mob-number/underscore-mob-number.component\";\r\nimport { IconButtonComponent } from \"./icon-button/icon-button.component\";\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ImageComponent } from './image/image.component';\r\nimport { StepperComponent } from \"./stepper/stepper.component\";\r\nimport { CardComponent } from \"./card/card.component\";\r\nimport { HrLineComponent } from \"./hr-line/hr-line.component\";\r\nimport { SearchMultiSelectComponent } from \"./search-multi-select/search-multi-select.component\";\r\nimport { SubscriptTextboxComponent } from \"./subscript-textbox/subscript-textbox.component\";\r\nimport { LabelComponent } from \"./label/label.component\";\r\nimport { SubHeaderComponent } from \"./sub-header/sub-header.component\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { TableComponent } from './table/table.component';\r\nimport { TextboxWithTextComponent } from \"./textbox-with-text/textbox-with-text.component\";\r\nimport { DiscountComponent } from \"./discount/discount.component\";\r\nimport { BenefitCardComponent } from \"./benefit-card/benefit-card.component\";\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { WarningSnackbarComponent } from \"./warning-snackbar/warning-snackbar.component\";\r\nimport { SuccessSnackbarComponent } from \"./success-snackbar/success-snackbar.component\";\r\nimport { NeutralSnackbarComponent } from \"./neutral-snackbar/neutral-snackbar.component\";\r\nimport { ErrorSnackbarComponent } from \"./error-snackbar/error-snackbar.component\";\r\nimport { GreyLabelComponent } from \"./grey-label/grey-label.component\";\r\nimport { IframeComponent } from \"./iframe/iframe.component\";\r\nimport { ToggleButtonComponent } from \"./toggle-button/toggle-button.component\";\r\nimport { PayGetCardComponent } from \"./pay-get-card/pay-get-card.component\";\r\nimport { InBuiltBenefitComponent } from \"./in-built-benefit/in-built-benefit.component\";\r\nimport { OtherBenefitsComponent } from \"./other-benefits/other-benefits.component\";\r\nimport { AnnuityRateLogoComponent } from \"./annuity-rate-logo/annuity-rate-logo.component\";\r\nimport { DiscountV2Component } from './discount-v2/discount-v2.component';\r\nimport { LabelValueCardComponent } from './label-value-card/label-value-card.component';\r\nimport { MedialQuestionsComponent } from \"./medial-questions/medial-questions.component\";\r\nimport { PageNudgeComponent } from './page-nudge/page-nudge.component';\r\nimport { ProgressBarComponent } from \"./progress-bar/progress-bar.component\";\r\nimport { AccordianComponent } from \"./accordian/accordian.component\";\r\nimport { MiscellaneousInfoBarComponent } from \"./miscellaneous-info-bar/miscellaneous-info-bar.component\";\r\nimport { PlainTextComponent } from \"./plain-text/plain-text.component\";\r\nimport { MenuComponent } from './menu/menu.component';\r\nimport { StepperWIthArrowComponent } from \"./stepper-with-arrow/stepper-with-arrow.component\";\r\nimport { LabelWithImageComponent } from \"./label-with-image/label-with-image.component\";\r\nimport { TopHeaderComponent } from \"./top-header/top-header.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { FooterWithButtonsComponent } from './footer-with-buttons/footer-with-buttons.component';\r\nimport { MotorGlowPlanDetailsComponent } from \"./motor-glow-plan-details/motor-glow-plan-details.component\";\r\nimport { FilePreviewComponent } from './file-preview/file-preview.component';\r\nimport { AnnuityPremiumCalculatorComponent } from \"./annuity-premium-calculator/annuity-premium-calculator.component\";\r\nimport { FooterDesignComponent } from \"./footer-design/footer-design.component\";\r\n\r\n@Component({\r\n selector: 'lib-master-control',\r\n standalone: true,\r\n imports: [\r\n FormsModule,\r\n TextboxComponent,\r\n SelectComponent,\r\n RadioComponent,\r\n ToggleComponent,\r\n UploadComponent,\r\n DobComponent,\r\n MobNumberComponent,\r\n InfoComponent,\r\n CheckboxComponent,\r\n TextareaComponent,\r\n ButtonComponent,\r\n TabComponent,\r\n AutocompleteComponent,\r\n MultipleSelectComponent,\r\n SelectTextboxComponent,\r\n OtpTextboxComponent,\r\n AmountTextboxComponent,\r\n SuffixTextboxComponent,\r\n OtpMobNumberComponent,\r\n TagMobNumberComponent,\r\n AgeDateComponent,\r\n AdditionButtonComponent,\r\n InfoTextboxComponent,\r\n TextboxWithImageComponent,\r\n EmailWithDomainComponent,\r\n ImageUploadComponent,\r\n DownloadDocumentComponent,\r\n AddDocumentComponent,\r\n HyperlinkComponent,\r\n TextboxWithUnderscoreComponent,\r\n UnderscoreMobNumberComponent,\r\n IconButtonComponent,\r\n ReactiveFormsModule,\r\n ImageComponent,\r\n StepperComponent,\r\n CardComponent,\r\n HrLineComponent,\r\n SearchMultiSelectComponent,\r\n SubscriptTextboxComponent,\r\n LabelComponent,\r\n SubHeaderComponent,\r\n HeaderComponent,\r\n TextboxWithTextComponent,\r\n DiscountComponent,\r\n BenefitCardComponent,\r\n TableComponent,\r\n LoaderComponent,\r\n WarningSnackbarComponent,\r\n SuccessSnackbarComponent,\r\n NeutralSnackbarComponent,\r\n ErrorSnackbarComponent,\r\n GreyLabelComponent,\r\n IframeComponent,\r\n ToggleButtonComponent,\r\n PayGetCardComponent,\r\n InBuiltBenefitComponent,\r\n OtherBenefitsComponent,\r\n AnnuityRateLogoComponent,\r\n DiscountV2Component,\r\n LabelValueCardComponent,\r\n MedialQuestionsComponent,\r\n PageNudgeComponent,\r\n ProgressBarComponent,\r\n AccordianComponent,\r\n MiscellaneousInfoBarComponent,\r\n PlainTextComponent,\r\n MenuComponent,\r\n StepperWIthArrowComponent,\r\n LabelWithImageComponent,\r\n TopHeaderComponent,\r\n FooterComponent,\r\n FooterWithButtonsComponent,\r\n MotorGlowPlanDetailsComponent,\r\n AnnuityPremiumCalculatorComponent,\r\n FilePreviewComponent,\r\n FooterDesignComponent\r\n],\r\n templateUrl: './master-control.component.html',\r\n styleUrls: ['./master-control.component.css']\r\n})\r\nexport class MasterControlComponent {\r\n field: any = input.required<any>();\r\n @Input() formGroup: FormGroup = new FormGroup({});\r\n constructor() {}\r\n}\r\n","@switch (field()?.controlType) {\r\n @case ('top-header') {\r\n <lib-top-header [field]=\"field()\" />\r\n }\r\n @case ('footer') {\r\n <lib-footer [field]=\"field()\" />\r\n }\r\n @case('footer-buttons')\r\n {\r\n <lib-footer-with-buttons [field]=\"field()\"></lib-footer-with-buttons>\r\n }\r\n @case('text') {\r\n <lib-textbox [field]=\"field()\"></lib-textbox>\r\n }\r\n @case('select') {\r\n <lib-select [field]=\"field()\"/>\r\n }\r\n\r\n @case('radio') {\r\n <lib-radio [field]=\"field()\" />\r\n }\r\n\r\n @case('toggle') {\r\n <lib-toggle [field]=\"field()\" />\r\n }\r\n\r\n @case('file') {\r\n <lib-upload [field]=\"field()\" />\r\n }\r\n\r\n @case('date') {\r\n <lib-dob [field]=\"field()\" />\r\n }\r\n\r\n @case('mobileNumber') {\r\n <lib-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case('info') {\r\n <lib-info [field]=\"field()\" />\r\n }\r\n\r\n @case('checkbox') {\r\n <lib-checkbox [field]=\"field()\" />\r\n }\r\n\r\n @case('textarea') {\r\n <lib-textarea [field]=\"field()\" />\r\n }\r\n\r\n @case ('button') {\r\n <lib-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('tab') {\r\n <lib-tab [field]=\"field()\" />\r\n }\r\n\r\n @case ('autocomplete') {\r\n <lib-autocomplete [field]=\"field()\" />\r\n }\r\n\r\n @case ('multipleSelect') {\r\n <lib-multiple-select [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithSelect') {\r\n <lib-select-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpTextbox') {\r\n <lib-otp-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('amountTextbox') {\r\n <lib-amount-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('suffixTextbox') {\r\n <lib-suffix-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpMobNumber') {\r\n <lib-otp-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('tagMobNumber') {\r\n <lib-tag-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('dateWithAge') {\r\n <lib-age-date [field]=\"field()\" />\r\n }\r\n\r\n @case ('additionButton') {\r\n <lib-addition-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('infoTextbox') {\r\n <lib-info-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithImage') {\r\n <lib-textbox-with-image [field]=\"field()\" />\r\n }\r\n\r\n @case ('emailWithDomain') {\r\n <lib-email-with-domain [field]=\"field()\" />\r\n }\r\n\r\n @case ('imageUpload') {\r\n <lib-image-upload [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadDocument') {\r\n <lib-download-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('addDocument') {\r\n <lib-add-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('hyperlink') {\r\n <lib-hyperlink [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithUnderscore') {\r\n <lib-textbox-with-underscore [field]=\"field()\" />\r\n }\r\n\r\n @case ('underscoreMobNumber') {\r\n <lib-underscore-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadIconButton') {\r\n <lib-icon-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('image') {\r\n <lib-image [field]=\"field()\" />\r\n }\r\n @case ('stepper') {\r\n <lib-stepper [field]=\"field()\" />\r\n }\r\n @case ('card') {\r\n <lib-card [field]=\"field()\" />\r\n }\r\n @case ('hrLine') {\r\n <lib-hr-line [field]=\"field()\" />\r\n }\r\n @case ('searchMultiSelect') {\r\n <lib-search-multi-select [field]=\"field()\" />\r\n }\r\n @case ('subscriptTextbox') {\r\n <lib-subscript-textbox [field]=\"field()\" />\r\n }\r\n @case ('label') {\r\n <lib-label [field]=\"field()\" />\r\n }\r\n @case ('subHeading') {\r\n <lib-sub-header [field]=\"field()\" />\r\n }\r\n @case ('heading') {\r\n <lib-header [field]=\"field()\" />\r\n }\r\n @case ('table') {\r\n <lib-table [field]=\"field()\" />\r\n }\r\n @case ('textboxWithText') {\r\n <lib-textbox-with-text [field]=\"field()\" />\r\n }\r\n @case ('loader') {\r\n <lib-loader [field]=\"field()\" />\r\n }\r\n @case ('discount') {\r\n <lib-discount [field]=\"field()\" />\r\n }\r\n @case ('optionalBenefitCard') {\r\n <lib-benefit-card [field]=\"field()\" />\r\n }\r\n @case ('errorSnackbar') {\r\n <lib-error-snackbar [field]=\"field()\" />\r\n }\r\n @case ('warningSnackbar') {\r\n <lib-warning-snackbar [field]=\"field()\" />\r\n }\r\n @case ('successSnackbar') {\r\n <lib-success-snackbar [field]=\"field()\" />\r\n }\r\n @case ('neutralSnackbar') {\r\n <lib-neutral-snackbar [field]=\"field()\" />\r\n }\r\n @case ('boldLabel') {\r\n <lib-grey-label [field]=\"field()\" />\r\n }\r\n @case ('iframe') {\r\n <lib-iframe [field]=\"field()\" />\r\n }\r\n @case ('toggleButton') {\r\n <lib-toggle-button [field]=\"field()\" />\r\n }\r\n @case ('payGetCard') {\r\n <lib-pay-get-card [field]=\"field()\" />\r\n }\r\n @case ('inBuiltBenefit') {\r\n <lib-in-built-benefit [field]=\"field()\" />\r\n }\r\n @case ('otherBenefit') {\r\n <lib-other-benefits [field]=\"field()\" />\r\n }\r\n @case ('annuityRateLogo') {\r\n <lib-annuity-rate-logo [field]=\"field()\" />\r\n }\r\n @case ('discountAnnuity') {\r\n <lib-discount-v2 [field]=\"field()\" />\r\n }\r\n @case ('labelValue'){\r\n <lib-label-value-card [field]=\"field()\" />\r\n }\r\n @case ('medicalQuestions'){\r\n <lib-medial-questions [field]=\"field()\" />\r\n }\r\n @case ('nudge'){\r\n <lib-page-nudge [field]=\"field()\"/>\r\n }\r\n @case ('progressBar'){\r\n <lib-progress-bar [field]=\"field()\"/>\r\n }\r\n @case ('accordian'){\r\n <lib-accordian [field]=\"field()\"/>\r\n }\r\n @case ('miscInfo'){\r\n <lib-miscellaneous-info-bar [field]=\"field()\"/>\r\n }\r\n @case ('plainText'){\r\n <lib-plain-text [field]=\"field()\"/>\r\n }\r\n @case ('menu'){\r\n <lib-menu [field]=\"field()\" />\r\n }\r\n @case ('stepperWithArrow') {\r\n <lib-stepper-with-arrow [field]=\"field()\" />\r\n }\r\n @case ('labelWithImage') {\r\n <lib-label-with-image [field]=\"field()\" />\r\n }\r\n @case ('motorGlowPlanDetails') {\r\n <lib-motor-glow-plan-details [field]=\"field()\" />\r\n }\r\n @case ('premiumToAnnuityCalculator') {\r\n <lib-annuity-premium-calculator [field]=\"field()\" />\r\n } @case ('footerProgressBar') {\r\n <lib-footer-design [field]=\"field()\" />\r\n }\r\n}\r\n","/*\r\n * Public API Surface of master-control\r\n */\r\n\r\nexport * from './lib/master-control.service';\r\nexport * from './lib/textbox/textbox.component';\r\nexport * from './lib/master-control.component';\r\nexport * from './lib/checkbox/checkbox.component';\r\nexport * from './lib/dob/dob.component';\r\nexport * from './lib/info/info.component';\r\nexport * from './lib/mob-number/mob-number.component';\r\nexport * from './lib/radio/radio.component';\r\nexport * from './lib/select/select.component';\r\nexport * from './lib/textarea/textarea.component';\r\nexport * from './lib/upload/upload.component';\r\nexport * from './lib/toggle/toggle.component';\r\nexport * from './lib/button/button.component';\r\nexport * from './lib/tab/tab.component';\r\nexport * from './lib/autocomplete/autocomplete.component';\r\nexport * from './lib/multiple-select/multiple-select.component';\r\nexport * from './lib/select-textbox/select-textbox.component';\r\nexport * from './lib/otp-textbox/otp-textbox.component';\r\nexport * from './lib/amount-textbox/amount-textbox.component';\r\nexport * from './lib/suffix-textbox/suffix-textbox.component';\r\nexport * from './lib/otp-mob-number/otp-mob-number.component';\r\nexport * from './lib/age-date/age-date.component';\r\nexport * from './lib/addition-button/addition-button.component';\r\nexport * from './lib/textbox-with-image/textbox-with-image.component';\r\nexport * from './lib/email-with-domain/email-with-domain.component';\r\nexport * from './lib/image-upload/image-upload.component';\r\nexport * from './lib/download-document/download-document.component';\r\nexport * from './lib/add-document/add-document.component';\r\nexport * from './lib/hyperlink/hyperlink.component';\r\nexport * from './lib/textbox-with-underscore/textbox-with-underscore.component';\r\nexport * from './lib/icon-button/icon-button.component';\r\nexport * from './lib/image/image.component';\r\nexport * from './lib/stepper/stepper.component';\r\nexport * from './lib/card/card.component';\r\nexport * from './lib/hr-line/hr-line.component';\r\nexport * from './lib/search-multi-select/search-multi-select.component';\r\nexport * from './lib/subscript-textbox/subscript-textbox.component';\r\nexport * from './lib/label/label.component';\r\nexport * from './lib/table/table.component';\r\nexport * from './lib/textbox-with-text/textbox-with-text.component';\r\nexport * from './lib/loader/loader.component';\r\nexport * from './lib/discount/discount.component';\r\nexport * from './lib/benefit-card/benefit-card.component';\r\nexport * from './lib/error-snackbar/error-snackbar.component';\r\nexport * from './lib/warning-snackbar/warning-snackbar.component';\r\nexport * from './lib/success-snackbar/success-snackbar.component';\r\nexport * from './lib/neutral-snackbar/neutral-snackbar.component';\r\nexport * from './lib/grey-label/grey-label.component';\r\nexport * from './lib/iframe/iframe.component';\r\nexport * from './lib/toggle-button/toggle-button.component';\r\nexport * from './lib/pay-get-card/pay-get-card.component';\r\nexport * from './lib/in-built-benefit/in-built-benefit.component';\r\nexport * from './lib/other-benefits/other-benefits.component';\r\nexport * from './lib/annuity-rate-logo/annuity-rate-logo.component';\r\nexport * from './lib/label-value-card/label-value-card.component';\r\nexport * from './lib/medial-questions/medial-questions.component';\r\nexport * from './lib/discount-v2/discount-v2.component';\r\nexport * from './lib/page-nudge/page-nudge.component';\r\nexport * from './lib/header/header.component';\r\nexport * from './lib/sub-header/sub-header.component';\r\nexport * from './lib/menu/menu.component';\r\nexport * from './lib/stepper-with-arrow/stepper-with-arrow.component';\r\nexport * from './lib/info-textbox/info-textbox.component';\r\nexport * from './lib/textbox-with-underscore/textbox-with-underscore.component';\r\nexport * from './lib/label-with-image/label-with-image.component';\r\nexport * from './lib/underscore-mob-number/underscore-mob-number.component';\r\nexport * from './lib/motor-glow-plan-details/motor-glow-plan-details.component';\r\nexport * from './lib/file-preview/file-preview.component';\r\nexport * from './lib/annuity-premium-calculator/annuity-premium-calculator.component';\r\nexport * from './lib/footer-design/footer-design.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.MasterControlService","i3","i5","i2","i6","i1","i4","i7","i8","i1.MasterService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"master-control.mjs","sources":["../../../projects/master-control/src/lib/master-control.service.ts","../../../projects/master-control/src/lib/textbox/textbox.component.ts","../../../projects/master-control/src/lib/textbox/textbox.component.html","../../../projects/master-control/src/lib/button/button.component.ts","../../../projects/master-control/src/lib/button/button.component.html","../../../projects/master-control/src/lib/directives/customized.tooltip.directive.ts","../../../projects/master-control/src/lib/select/select.component.ts","../../../projects/master-control/src/lib/select/select.component.html","../../../projects/master-control/src/lib/radio/radio.component.ts","../../../projects/master-control/src/lib/radio/radio.component.html","../../../projects/master-control/src/lib/toggle/toggle.component.ts","../../../projects/master-control/src/lib/toggle/toggle.component.html","../../../projects/master-control/src/lib/file-preview/file-preview.component.ts","../../../projects/master-control/src/lib/file-preview/file-preview.component.html","../../../projects/master-control/src/lib/upload/upload.component.ts","../../../projects/master-control/src/lib/upload/upload.component.html","../../../projects/master-control/src/lib/dob/dob.component.ts","../../../projects/master-control/src/lib/dob/dob.component.html","../../../projects/master-control/src/lib/mob-number/mob-number.component.ts","../../../projects/master-control/src/lib/mob-number/mob-number.component.html","../../../projects/master-control/src/lib/info/info.component.ts","../../../projects/master-control/src/lib/info/info.component.html","../../../projects/master-control/src/lib/checkbox/checkbox.component.ts","../../../projects/master-control/src/lib/checkbox/checkbox.component.html","../../../projects/master-control/src/lib/textarea/textarea.component.ts","../../../projects/master-control/src/lib/textarea/textarea.component.html","../../../projects/master-control/src/lib/tab/tab.component.ts","../../../projects/master-control/src/lib/tab/tab.component.html","../../../projects/master-control/src/lib/autocomplete/autocomplete.component.ts","../../../projects/master-control/src/lib/autocomplete/autocomplete.component.html","../../../projects/master-control/src/lib/multiple-select/multiple-select.component.ts","../../../projects/master-control/src/lib/multiple-select/multiple-select.component.html","../../../projects/master-control/src/lib/select-textbox/select-textbox.component.ts","../../../projects/master-control/src/lib/select-textbox/select-textbox.component.html","../../../projects/master-control/src/lib/otp-textbox/otp-textbox.component.ts","../../../projects/master-control/src/lib/otp-textbox/otp-textbox.component.html","../../../projects/master-control/src/lib/amount-textbox/amount-textbox.component.ts","../../../projects/master-control/src/lib/amount-textbox/amount-textbox.component.html","../../../projects/master-control/src/lib/suffix-textbox/suffix-textbox.component.ts","../../../projects/master-control/src/lib/suffix-textbox/suffix-textbox.component.html","../../../projects/master-control/src/lib/otp-mob-number/otp-mob-number.component.ts","../../../projects/master-control/src/lib/otp-mob-number/otp-mob-number.component.html","../../../projects/master-control/src/lib/tag-mob-number/tag-mob-number.component.ts","../../../projects/master-control/src/lib/tag-mob-number/tag-mob-number.component.html","../../../projects/master-control/src/lib/age-date/age-date.component.ts","../../../projects/master-control/src/lib/age-date/age-date.component.html","../../../projects/master-control/src/lib/addition-button/addition-button.component.ts","../../../projects/master-control/src/lib/addition-button/addition-button.component.html","../../../projects/master-control/src/lib/info-textbox/info-textbox.component.ts","../../../projects/master-control/src/lib/info-textbox/info-textbox.component.html","../../../projects/master-control/src/lib/textbox-with-image/textbox-with-image.component.ts","../../../projects/master-control/src/lib/textbox-with-image/textbox-with-image.component.html","../../../projects/master-control/src/lib/email-with-domain/email-with-domain.component.ts","../../../projects/master-control/src/lib/email-with-domain/email-with-domain.component.html","../../../projects/master-control/src/lib/image-upload/image-upload.component.ts","../../../projects/master-control/src/lib/image-upload/image-upload.component.html","../../../projects/master-control/src/lib/download-document/download-document.component.ts","../../../projects/master-control/src/lib/download-document/download-document.component.html","../../../projects/master-control/src/lib/add-document/add-document.component.ts","../../../projects/master-control/src/lib/add-document/add-document.component.html","../../../projects/master-control/src/lib/hyperlink/hyperlink.component.ts","../../../projects/master-control/src/lib/hyperlink/hyperlink.component.html","../../../projects/master-control/src/lib/textbox-with-underscore/textbox-with-underscore.component.ts","../../../projects/master-control/src/lib/textbox-with-underscore/textbox-with-underscore.component.html","../../../projects/master-control/src/lib/underscore-mob-number/underscore-mob-number.component.ts","../../../projects/master-control/src/lib/underscore-mob-number/underscore-mob-number.component.html","../../../projects/master-control/src/lib/icon-button/icon-button.component.ts","../../../projects/master-control/src/lib/icon-button/icon-button.component.html","../../../projects/master-control/src/lib/image/image.component.ts","../../../projects/master-control/src/lib/image/image.component.html","../../../projects/master-control/src/lib/stepper/stepper.component.ts","../../../projects/master-control/src/lib/stepper/stepper.component.html","../../../projects/master-control/src/lib/card/card.component.ts","../../../projects/master-control/src/lib/card/card.component.html","../../../projects/master-control/src/lib/hr-line/hr-line.component.ts","../../../projects/master-control/src/lib/hr-line/hr-line.component.html","../../../projects/master-control/src/lib/search-multi-select/search-multi-select.component.ts","../../../projects/master-control/src/lib/search-multi-select/search-multi-select.component.html","../../../projects/master-control/src/lib/subscript-textbox/subscript-textbox.component.ts","../../../projects/master-control/src/lib/subscript-textbox/subscript-textbox.component.html","../../../projects/master-control/src/lib/label/label.component.ts","../../../projects/master-control/src/lib/label/label.component.html","../../../projects/master-control/src/lib/sub-header/sub-header.component.ts","../../../projects/master-control/src/lib/sub-header/sub-header.component.html","../../../projects/master-control/src/lib/header/header.component.ts","../../../projects/master-control/src/lib/header/header.component.html","../../../projects/master-control/src/lib/table/table.component.ts","../../../projects/master-control/src/lib/table/table.component.html","../../../projects/master-control/src/lib/textbox-with-text/textbox-with-text.component.ts","../../../projects/master-control/src/lib/textbox-with-text/textbox-with-text.component.html","../../../projects/master-control/src/lib/discount/discount.component.ts","../../../projects/master-control/src/lib/discount/discount.component.html","../../../projects/master-control/src/lib/benefit-card/benefit-card.component.ts","../../../projects/master-control/src/lib/benefit-card/benefit-card.component.html","../../../projects/master-control/src/lib/loader/loader.component.ts","../../../projects/master-control/src/lib/loader/loader.component.html","../../../projects/master-control/src/lib/warning-snackbar/warning-snackbar.component.ts","../../../projects/master-control/src/lib/warning-snackbar/warning-snackbar.component.html","../../../projects/master-control/src/lib/success-snackbar/success-snackbar.component.ts","../../../projects/master-control/src/lib/success-snackbar/success-snackbar.component.html","../../../projects/master-control/src/lib/neutral-snackbar/neutral-snackbar.component.ts","../../../projects/master-control/src/lib/neutral-snackbar/neutral-snackbar.component.html","../../../projects/master-control/src/lib/error-snackbar/error-snackbar.component.ts","../../../projects/master-control/src/lib/error-snackbar/error-snackbar.component.html","../../../projects/master-control/src/lib/grey-label/grey-label.component.ts","../../../projects/master-control/src/lib/grey-label/grey-label.component.html","../../../projects/master-control/src/lib/iframe/iframe.component.ts","../../../projects/master-control/src/lib/iframe/iframe.component.html","../../../projects/master-control/src/lib/toggle-button/toggle-button.component.ts","../../../projects/master-control/src/lib/toggle-button/toggle-button.component.html","../../../projects/master-control/src/lib/pay-get-card/pay-get-card.component.ts","../../../projects/master-control/src/lib/pay-get-card/pay-get-card.component.html","../../../projects/master-control/src/lib/in-built-benefit/in-built-benefit.component.ts","../../../projects/master-control/src/lib/in-built-benefit/in-built-benefit.component.html","../../../projects/master-control/src/lib/other-benefits/other-benefits.component.ts","../../../projects/master-control/src/lib/other-benefits/other-benefits.component.html","../../../projects/master-control/src/lib/annuity-rate-logo/annuity-rate-logo.component.ts","../../../projects/master-control/src/lib/annuity-rate-logo/annuity-rate-logo.component.html","../../../projects/master-control/src/lib/discount-v2/discount-v2.component.ts","../../../projects/master-control/src/lib/discount-v2/discount-v2.component.html","../../../projects/master-control/src/lib/label-value-card/label-value-card.component.ts","../../../projects/master-control/src/lib/label-value-card/label-value-card.component.html","../../../projects/master-control/src/lib/master.service.ts","../../../projects/master-control/src/lib/medial-questions/medial-questions.component.ts","../../../projects/master-control/src/lib/medial-questions/medial-questions.component.html","../../../projects/master-control/src/lib/page-nudge/page-nudge.component.ts","../../../projects/master-control/src/lib/page-nudge/page-nudge.component.html","../../../projects/master-control/src/lib/progress-bar/progress-bar.component.ts","../../../projects/master-control/src/lib/progress-bar/progress-bar.component.html","../../../projects/master-control/src/lib/accordian/accordian.component.ts","../../../projects/master-control/src/lib/accordian/accordian.component.html","../../../projects/master-control/src/lib/miscellaneous-info-bar/miscellaneous-info-bar.component.ts","../../../projects/master-control/src/lib/miscellaneous-info-bar/miscellaneous-info-bar.component.html","../../../projects/master-control/src/lib/plain-text/plain-text.component.ts","../../../projects/master-control/src/lib/plain-text/plain-text.component.html","../../../projects/master-control/src/lib/menu/menu.component.ts","../../../projects/master-control/src/lib/menu/menu.component.html","../../../projects/master-control/src/lib/stepper-with-arrow/stepper-with-arrow.component.ts","../../../projects/master-control/src/lib/stepper-with-arrow/stepper-with-arrow.component.html","../../../projects/master-control/src/lib/label-with-image/label-with-image.component.ts","../../../projects/master-control/src/lib/label-with-image/label-with-image.component.html","../../../projects/master-control/src/lib/top-header/top-header.component.ts","../../../projects/master-control/src/lib/top-header/top-header.component.html","../../../projects/master-control/src/lib/footer/footer.component.ts","../../../projects/master-control/src/lib/footer/footer.component.html","../../../projects/master-control/src/lib/footer-with-buttons/footer-with-buttons.component.ts","../../../projects/master-control/src/lib/footer-with-buttons/footer-with-buttons.component.html","../../../projects/master-control/src/lib/motor-glow-plan-details/motor-glow-plan-details.component.ts","../../../projects/master-control/src/lib/motor-glow-plan-details/motor-glow-plan-details.component.html","../../../projects/master-control/src/lib/annuity-premium-calculator/annuity-premium-calculator.component.ts","../../../projects/master-control/src/lib/annuity-premium-calculator/annuity-premium-calculator.component.html","../../../projects/master-control/src/lib/footer-design/footer-design.component.ts","../../../projects/master-control/src/lib/footer-design/footer-design.component.html","../../../projects/master-control/src/lib/master-control.component.ts","../../../projects/master-control/src/lib/master-control.component.html","../../../projects/master-control/src/public-api.ts","../../../projects/master-control/src/master-control.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MasterControlService {\r\n\r\n configData: any = {\r\n \"iframe\": {\r\n \"URLForIframe\": \"N\"\r\n },\r\n \"loader\": {\r\n \"imageURL\": \"\",\r\n \"imageAltText\": \"\",\r\n \"text\": \"\",\r\n \"imageCSS\": {\r\n \"width\": \"\",\r\n \"height\": \"\",\r\n \"borderRadius\": \"\",\r\n \"boxShadow\": \"\"\r\n },\r\n \"cardCSS\": {\r\n \"width\": \"100%\",\r\n \"height\": \"100%\",\r\n \"backgroundColor\": \"#ffffff\",\r\n \"borderRadius\": \"0px\",\r\n \"boxShadow\": \"0px 0px 0px 0px rgba(0, 0, 0, 0)\",\r\n \"alignItems\": \"center\"\r\n },\r\n \"textCSS\": {\r\n \"fontSize\": \"\",\r\n \"color\": \"\",\r\n \"textAlign\": \"\",\r\n \"fontWeight\": \"\"\r\n },\r\n \"loaderCSS\": {\r\n \"display\": \"flex\",\r\n \"justifyContent\": \"center\",\r\n \"alignItems\": \"center\",\r\n \"height\": \"60px\",\r\n \"gap\": \"8px\",\r\n \"dot\": {\r\n \"width\": \"16px\",\r\n \"height\": \"16px\",\r\n \"background\": \"#1976d2\",\r\n \"borderRadius\": \"50%\",\r\n \"display\": \"inline-block\",\r\n \"animation\": \"bounce 0.6s infinite alternate\"\r\n },\r\n \"dot2\": {\r\n \"animationDelay\": \"0.2s\"\r\n },\r\n \"dot3\": {\r\n \"animationDelay\": \"0.4s\"\r\n },\r\n \"@keyframes bounce\": {\r\n \"to\": {\r\n \"opacity\": 0.3,\r\n \"transform\": \"translateY(-16px)\"\r\n }\r\n }\r\n }\r\n },\r\n \"table\": {\r\n \"showCheckBox\": true,\r\n \"tableHeaders\": [],\r\n \"tdData\": [],\r\n \"showActions\": true,\r\n \"actionOptions\": [\r\n {\r\n \"matIconName\": \"edit\",\r\n \"displayTitle\": \"Edit\",\r\n \"toolTip\": \"Edit\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"info\",\r\n \"displayTitle\": \"Info\",\r\n \"toolTip\": \"Information\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"download\",\r\n \"displayTitle\": \"Download Documents\",\r\n \"toolTip\": \"Download Document\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"notifications_active\",\r\n \"displayTitle\": \"Send Reminder\",\r\n \"toolTip\": \"Send Reminder\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"link\",\r\n \"displayTitle\": \"Send Payment Link\",\r\n \"toolTip\": \"Payment Link\",\r\n \"isSelected\": false\r\n },\r\n {\r\n \"matIconName\": \"download\",\r\n \"displayTitle\": \"Download Policy Document\",\r\n \"toolTip\": \"Download Policy\",\r\n \"isSelected\": false\r\n }, {\r\n \"matIconName\": \"visibility\",\r\n \"displayTitle\": \"View Policy Document\",\r\n \"toolTip\": \"View Policy\",\r\n \"isSelected\": false\r\n }, {\r\n \"matIconName\": \"visibility\",\r\n \"displayTitle\": \"View new BI\",\r\n \"toolTip\": \"View new BI\",\r\n \"isSelected\": false\r\n }\r\n\r\n ],\r\n \"userSelectedOptions\": {},\r\n \"showPagination\": true,\r\n \"rowlength\": 3,\r\n \"columnlength\": 4,\r\n \"totalItems\": 1,\r\n \"paginationSize\": 10,\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0\r\n },\r\n \"stepper\": {\r\n \"stepperData\": [\r\n {\r\n \"defaultId\": 1,\r\n \"displayLabel\": \"stepper-1\",\r\n \"imgIconUrl\": 'https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/check_circle.svg'\r\n },\r\n {\r\n \"defaultId\": 2,\r\n \"displayLabel\": \"stepper-2\",\r\n \"imgIconUrl\": 'https://cdn.godigit.com/retail-life/check_circle_Endorsment.svg'\r\n },\r\n {\r\n \"defaultId\": 3,\r\n \"displayLabel\": \"stepper-3\",\r\n \"imgIconUrl\": 'https://cdn.godigit.com/retail-life/Endorsement_pending.svg'\r\n }\r\n ]\r\n },\r\n \"policyDisplayCard\": {\r\n \"policyDetails\":[{\r\n \"policyHolderName\":\"XYZ\",\r\n \"policyType\":\"Glow Plus\",\r\n \"policyNumber\":\"L1234694934\"\r\n }\r\n ]\r\n }\r\n }\r\n\r\n snackbars: any = [\r\n {\r\n \"type\": \"Error\",\r\n \"imageURL\": \"https://cdn.godigit.com/retail-life/alert-icon-lib.svg\",\r\n \"imageCSS\": \"toaster-img\",\r\n \"isShowLabel\": true,\r\n \"labelCSS\": \"toaster-label\",\r\n \"messageCSS\": \"toaster-msg\",\r\n \"horizontalPosition\": \"\",\r\n \"verticalPosition\": \"\",\r\n \"duration\": 3000,\r\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\r\n \"closeIconCSS\": \"cross\",\r\n \"labelText\":\"A error toast\",\r\n \"messageText\":\"Error message here\",\r\n 'toasterCSS':\"error-snackbar-card\"\r\n },{\r\n \"type\": \"Warning\",\r\n \"imageURL\": \"https://cdn.godigit.com/retail-life/nudge-icon-lib.svg\",\r\n \"imageCSS\": \"toaster-img\",\r\n \"isShowLabel\": true,\r\n \"labelCSS\": \"toaster-label\",\r\n \"messageCSS\": \"toaster-msg\",\r\n \"horizontalPosition\": \"\",\r\n \"verticalPosition\": \"\",\r\n \"duration\": 3000,\r\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\r\n \"closeIconCSS\": \"cross\",\r\n \"labelText\":\"A warning toast\",\r\n \"messageText\":\"Warning message here\",\r\n \"toasterCSS\":\"warning-snackbar-card\"\r\n },{\r\n \"type\": \"Success\",\r\n \"imageURL\": \"https://cdn.godigit.com/retail-life/success-info-lib.svg\",\r\n \"imageCSS\": \"toaster-img\",\r\n \"isShowLabel\": true,\r\n \"labelCSS\": \"toaster-label\",\r\n \"messageCSS\": \"toaster-msg\",\r\n \"horizontalPosition\": \"\",\r\n \"verticalPosition\": \"\",\r\n \"duration\": 3000,\r\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\r\n \"closeIconCSS\": \"cross\",\r\n \"labelText\":\"A success toast\",\r\n \"messageText\":\"Success message here\",\r\n \"toasterCSS\":\"success-snackbar-card\"\r\n },{\r\n \"type\": \"Neutral\",\r\n \"imageURL\": \"https://cdn.godigit.com/retail-life/neutral-star-lib-icon.svg\",\r\n \"imageCSS\": \"neutral-image\",\r\n \"isShowLabel\": true,\r\n \"labelCSS\": \"neutral-toaster-label\",\r\n \"messageCSS\": \"neutral-toaster-msg\",\r\n \"horizontalPosition\": \"\",\r\n \"verticalPosition\": \"\",\r\n \"duration\": 3000,\r\n \"closeIconImageURL\": \"https://cdn.godigit.com/retail-life/neutral-cross-lib-icon.svg\",\r\n \"closeIconCSS\": \"cross\",\r\n \"labelText\":\"A neutral toast\",\r\n \"messageText\":\"Neutral message here\",\r\n \"toasterCSS\":\"neutral-snackbar-card\"\r\n }\r\n ];\r\n constructor() { }\r\n\r\n checkIfValueIsEmpty(value: any) {\r\n if (typeof value === 'string') {\r\n value = value.trim();\r\n }\r\n return (\r\n value === undefined ||\r\n value === null ||\r\n value === '' ||\r\n (value instanceof Array && value.length === 0) ||\r\n JSON.stringify(value) === '{}'\r\n );\r\n }\r\n\r\n saveTableFieldState(tableField: any, key: any = 'tableField') {\r\n localStorage.setItem(key, JSON.stringify(tableField));\r\n }\r\n\r\n restoreTableFieldState(key: any = 'tableField'): any | null {\r\n const data = localStorage.getItem(key);\r\n return data ? JSON.parse(data) : null;\r\n }\r\n\r\n addComasToNumberValues(value: any, isRemoveRupeeSymbol : any = false) {\r\n let newVal: any = value;\r\n if (!this.checkIfValueIsEmpty(value)) {\r\n if (\r\n Number(\r\n value\r\n\r\n .toString()\r\n\r\n .replace(\r\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\r\n\r\n ''\r\n )\r\n\r\n .replaceAll(',', '')\r\n\r\n .replaceAll('₹', '')\r\n )\r\n ) {\r\n newVal = Number(\r\n value\r\n\r\n .toString()\r\n\r\n .replace(\r\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\r\n\r\n ''\r\n )\r\n\r\n .replaceAll('₹', '')\r\n\r\n .replaceAll(',', '')\r\n )\r\n .toLocaleString('en-IN', {\r\n style: 'currency',\r\n\r\n currency: 'INR',\r\n\r\n minimumFractionDigits: 0,\r\n\r\n maximumFractionDigits: 0,\r\n })\r\n\r\n .split('₹')[1];\r\n }\r\n }\r\n return isRemoveRupeeSymbol ? newVal?.replaceAll('₹', '').trim() : newVal;\r\n }\r\n\r\n removeComasAndCurrencySymbolFromNumberValues(value: any) {\r\n if (!this.checkIfValueIsEmpty(value)) {\r\n return value\r\n\r\n .toString()\r\n\r\n .replace(\r\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\r\n\r\n ''\r\n )\r\n\r\n .replaceAll('₹', '')\r\n\r\n .replaceAll(',', '');\r\n } else {\r\n return value;\r\n }\r\n }\r\n}\r\n","import { Component, forwardRef, input, Output, EventEmitter } from '@angular/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-textbox',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule ,\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './textbox.component.html',\r\n styleUrl: './textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TextboxComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n inputValue: any = null;\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n maskEnabled: any = true;\r\n inputValueDeepCopy:any = null;\r\n\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n ngOnInit() {\r\n if(!this.field().isInputMasked){\r\n this.field().isInputMasked = false;\r\n }\r\n if(this.field()?.configData?.isTextCapitalized && this.field().isInputMasked){\r\n this.inputValue = this.field()?.configData?.isTextCapitalized;\r\n this.checkinputMasked();\r\n }\r\n }\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=!this.masterService.checkIfValueIsEmpty(obj) ? obj : '';\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any) : any {\r\n let min : any = null;\r\n let max : any= null;\r\n let value = event.target.value;\r\n if(!this.masterService.checkIfValueIsEmpty(this.field()?.configData) && !this.masterService.checkIfValueIsEmpty(this.field()?.configData?.minValue) && !this.masterService.checkIfValueIsEmpty(this.field()?.configData?.maxValue)) {\r\n min = parseInt(this.field()?.configData?.minValue);\r\n max = parseInt(this.field()?.configData?.maxValue);\r\n }\r\n\r\n if (!this.masterService.checkIfValueIsEmpty(this.field()?.configData?.inputType) && this.field()?.configData?.inputType === 'number' && !this.masterService.checkIfValueIsEmpty(max) && !this.masterService.checkIfValueIsEmpty(min)) {\r\n if(parseInt(value) < min || parseInt(value) > max) {\r\n event.target.value = parseInt(event.target.value.toString().slice(0, -1));\r\n }\r\n }\r\n if(this.field()?.configData?.isAllowNumbersInTextFields) {\r\n // Remove any non-numeric characters from the input\r\n let numericValue = value.replace(/[^0-9]/g, '');\r\n event.target.value = numericValue;\r\n value = numericValue;\r\n }\r\n\r\n this.inputValue = this.field()?.configData?.isTextCapitalized ? value.toUpperCase() : value;\r\n this.inputValueDeepCopy = JSON.parse(JSON.stringify(this.inputValue));\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event?: any): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n this.checkinputMasked();\r\n }\r\n\r\n checkinputMasked() {\r\n if(!this.field().isInputMasked){\r\n this.inputValue = this.inputValueDeepCopy;\r\n }\r\n return this.field().isInputMasked ? this.maskInput(this.inputValue) : this.inputValue;\r\n }\r\n\r\n maskInput(value: any) {\r\n if (value.length > 3){\r\n this.inputValue = value[0] + 'X'.repeat(value.length - 2) + value[value.length - 1];\r\n }\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n'--custom-width': field()?.controlStyle?.width ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n <mat-hint *ngIf=\"field()?.configData?.helperText\">{{field()?.configData?.helperText}}</mat-hint>\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n <!-- <mat-error *ngIf=\"field()?.configData?.isInvalidPattern && !masterService.checkIfValueIsEmpty(field()?.validators?.patternMessage)\">\r\n {{ field()?.validators?.patternMessage }}\r\n </mat-error> -->\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n\r\n@Component({\r\n selector: 'lib-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.css'\r\n})\r\nexport class ButtonComponent {\r\n constructor(public masterService : MasterControlService){}\r\n field: any = input.required<any>();\r\n}\r\n","<Button\r\n class=\"button\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [disabled]=\"field()?.isDisable\"\r\n [ngStyle]=\"\r\n {\r\n '--button-border-width': field()?.controlStyle?.borderWidth ,\r\n '--button-border-color': field()?.controlStyle?.borderColor ,\r\n '--button-border-style': field()?.controlStyle?.borderStyle ,\r\n '--button-width': field()?.controlStyle?.width ,\r\n '--button-font-size': field()?.controlStyle?.fontSize ,\r\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--button-background': field()?.controlStyle?.background ,\r\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--button-text-color': field()?.controlStyle?.color ,\r\n '--button-margin': field()?.controlStyle?.margin ,\r\n }\"\r\n [ngClass]=\"field()?.isDisable ? 'button-disable' : 'button'\"\r\n>\r\n<span class=\"button-text\">\r\n<img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl'>\r\n<span>{{field()?.label}}</span>\r\n</span>\r\n</Button>\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnDestroy,\r\n Inject,\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[appTooltipTemplate]',\r\n standalone: true,\r\n})\r\nexport class CustomizedTooltipDirective implements OnDestroy {\r\n @Input('appTooltipTemplate') template!: TemplateRef<any>;\r\n\r\n private tooltipElement: HTMLElement | null = null;\r\n private showTimeout: any = null;\r\n private hideTimeout: any = null;\r\n private static styleInjected = false;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private vcr: ViewContainerRef,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {\r\n this.injectStyles();\r\n }\r\n\r\n private injectStyles() {\r\n // Only inject styles once per application\r\n if (CustomizedTooltipDirective.styleInjected) {\r\n return;\r\n }\r\n\r\n const style = this.document.createElement('style');\r\n style.id = 'tooltip-styles';\r\n style.textContent = `\r\n .tooltip-container {\r\n position: relative;\r\n display: inline-block;\r\n}\r\n\r\n.tooltip-text-msg {\r\n max-width: 328px !important;\r\n min-height: auto !important;\r\n background-color: white;\r\n border: 1px solid #ffaa013d !important;\r\n color: #444444 !important;\r\n text-align: left;\r\n border-radius: 8px;\r\n padding: 12px;\r\n font-size: 12px;\r\n position: absolute;\r\n z-index: 1;\r\n top: 100%;\r\n left: 50%;\r\n transform: translateX(-10%);\r\n transition: opacity 0.3s;\r\n box-shadow: 0px 2px 15px 2px #e3e6ec99;\r\n letter-spacing: 0px;\r\n line-height: 150%;\r\n}\r\n.tooltip-text-msg, p {\r\n font-weight: 400 !important;\r\n}\r\n\r\n.tooltip-container:hover .tooltip-text-msg {\r\n visibility: visible;\r\n opacity: 1;\r\n}\r\n\r\n.tooltip-text-msg::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 100%;\r\n left: var(--arrow-left-position, 10%);\r\n transform: translateX(-50%);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent #ffaa013d transparent;\r\n z-index: 2;\r\n}\r\n\r\n.tooltip-text-msg::before {\r\n content: \"\";\r\n position: absolute;\r\n bottom: calc(100% - 0px);\r\n left: var(--arrow-left-position, 10%);\r\n transform: translateX(-50%);\r\n border-width: 9px;\r\n border-style: solid;\r\n border-color: transparent transparent #fff transparent;\r\n z-index: 3;\r\n}\r\n `;\r\n\r\n this.document.head.appendChild(style);\r\n CustomizedTooltipDirective.styleInjected = true;\r\n }\r\n\r\n @HostListener('mouseenter')\r\n showTooltip() {\r\n // Clear any existing hide timeout\r\n if (this.hideTimeout) {\r\n clearTimeout(this.hideTimeout);\r\n this.hideTimeout = null;\r\n }\r\n\r\n // If tooltip already exists, don't create another\r\n if (this.tooltipElement) {\r\n return;\r\n }\r\n\r\n // Small delay to prevent flickering\r\n this.showTimeout = setTimeout(() => {\r\n if (!this.tooltipElement && this.template) {\r\n // Create tooltip container\r\n this.tooltipElement = this.document.createElement('div');\r\n this.tooltipElement.className = 'tooltip-text-msg';\r\n\r\n // Add pointer-events none to prevent mouse interference\r\n this.tooltipElement.style.pointerEvents = 'none';\r\n\r\n // Render the template content\r\n const embeddedView = this.vcr.createEmbeddedView(this.template);\r\n embeddedView.detectChanges();\r\n embeddedView.rootNodes.forEach((node: any) => {\r\n this.tooltipElement?.appendChild(node);\r\n });\r\n\r\n // Position the tooltip\r\n this.document.body.appendChild(this.tooltipElement);\r\n const rect = this.el.nativeElement.getBoundingClientRect();\r\n this.tooltipElement.style.position = 'absolute';\r\n this.tooltipElement.style.top = (rect.bottom + 10) + 'px';\r\n this.tooltipElement.style.left = (rect.left - 10) + 'px';\r\n this.tooltipElement.style.visibility = 'visible';\r\n this.tooltipElement.style.opacity = '1';\r\n\r\n // Wait a frame for the tooltip to be fully rendered with its content\r\n requestAnimationFrame(() => {\r\n if (this.tooltipElement) {\r\n // Find the image element inside the span to get its actual dimensions\r\n const imgElement = this.el.nativeElement.querySelector('img');\r\n let iconCenterX: number;\r\n\r\n if (imgElement) {\r\n const imgRect = imgElement.getBoundingClientRect();\r\n iconCenterX = imgRect.left + (imgRect.width / 2);\r\n } else {\r\n // Fallback to span center if no image found\r\n iconCenterX = rect.left + (rect.width / 2);\r\n }\r\n\r\n // Get the actual tooltip position after it's rendered\r\n const tooltipRect = this.tooltipElement.getBoundingClientRect();\r\n const arrowPosition = iconCenterX - tooltipRect.left;\r\n this.tooltipElement.style.setProperty('--arrow-left-position', `${arrowPosition}px`);\r\n }\r\n });\r\n }\r\n }, 100);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n hideTooltip() {\r\n // Clear any existing show timeout\r\n if (this.showTimeout) {\r\n clearTimeout(this.showTimeout);\r\n this.showTimeout = null;\r\n }\r\n\r\n // Small delay before hiding to prevent flickering\r\n this.hideTimeout = setTimeout(() => {\r\n if (this.tooltipElement) {\r\n this.document.body.removeChild(this.tooltipElement);\r\n this.tooltipElement = null;\r\n this.vcr.clear();\r\n }\r\n }, 50);\r\n }\r\n\r\n ngOnDestroy() {\r\n // Clean up timeouts\r\n if (this.showTimeout) {\r\n clearTimeout(this.showTimeout);\r\n }\r\n if (this.hideTimeout) {\r\n clearTimeout(this.hideTimeout);\r\n }\r\n // Clean up tooltip\r\n if (this.tooltipElement) {\r\n this.document.body.removeChild(this.tooltipElement);\r\n this.tooltipElement = null;\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\r\n\r\n@Component({\r\n selector: 'lib-select',\r\n standalone: true,\r\n imports: [\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatInputModule,\r\n FormsModule,\r\n MatOptionModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n CustomizedTooltipDirective\r\n ],\r\n templateUrl: './select.component.html',\r\n styleUrl: './select.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SelectComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SelectComponent implements ControlValueAccessor {\r\n\r\nconstructor(public masterService : MasterControlService){}\r\n field : any = input.required<any>();\r\n\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n configData : any = {\r\n isInfoMsgVisible: true,\r\n };\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n @Output() selectionChange = new EventEmitter<any>();\r\n @Output() infoClick = new EventEmitter<any>();\r\n // @Output() change = new EventEmitter<any>();\r\n\r\n // ngOnInit(): void {\r\n // // Initialize inputValue with a default or initial value if needed\r\n // }\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n selectionChanged(event: MatSelectChange) {\r\n this.inputValue = event.value;\r\n this.onChange(event.value);\r\n this.onTouched();\r\n this.selectionChange.emit(event.value);\r\n }\r\n\r\n handleWhereToFindClick(): void {\r\n this.infoClick.emit({ field: this.field });\r\n }\r\n\r\n onSelectOpened(opened: boolean) {\r\n const css = this.field()?.controlStyle;\r\n if (opened) {\r\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\r\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\r\n } else {\r\n document.body.style.removeProperty('--custom-select-option-background-color');\r\n document.body.style.removeProperty('--custom-select-option-font-color');\r\n document.body.style.removeProperty('--custom-select-option-font-weight');\r\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\r\n }\r\n}\r\n}\r\n","<label class=\"field-lable info-label\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">\r\n <span>{{ field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></span>\r\n <!-- <span style=\"justify-content: end;\" *ngIf=\"field() && field()?.configData?.infoMessage\">\r\n <img class=\"mx-1\" src=\"https://cdn.godigit.com/retail-life/question-mark.svg\" alt=\"\">\r\n <u>{{field()?.configData?.infoMessage}} ></u>\r\n </span>\\ -->\r\n <span class=\"info-content\" *ngIf=\"configData.isInfoMsgVisible\">\r\n <img class=\"mx-1\" *ngIf=\"field()?.configData?.imageURL\" [src]=\"field()?.configData?.imageURL\" alt=\"\">\r\n <u style=\"cursor: pointer;\" (click)=\"handleWhereToFindClick()\">{{field()?.configData?.infoMsg}}</u>\r\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\r\n <img [src]=\"field().imageUrl\" class=\"toggle-img mx-1\" />\r\n </span>\r\n </span>\r\n <ng-template #HtmlContent>\r\n <span [innerHTML]=\"field().configData?.infoMessage\"></span>\r\n </ng-template>\r\n\r\n</label>\r\n\r\n<mat-form-field appearance=\"outline\" class=\"input-full-width full-width w-100\" *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\">\r\n @if(reactiveFormControlobject()) {\r\n <mat-select [id]=\"field()?.fieldName\" [attr.name]=\"field()?.fieldName\" [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\" [disabled]=\"field()?.isDisable\" (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\" (selectionChange)=\"selectionChanged($event)\" [formControl]=\"reactiveFormControlobject()\">\r\n <mat-option *ngFor=\"let data of field()?.options\" [value]=\"data.value\">{{\r\n data.label\r\n }}</mat-option>\r\n </mat-select>\r\n }@else {\r\n <mat-select [id]=\"field()?.fieldName\" [attr.name]=\"field()?.fieldName\" [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\" [disabled]=\"field()?.isDisable\" (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\" (selectionChange)=\"selectionChanged($event)\">\r\n <mat-option *ngFor=\"let data of field()?.options\" [value]=\"data.value\">{{\r\n data.label\r\n }}</mat-option>\r\n </mat-select>\r\n }\r\n\r\n <!-- selectField.invalid && (selectField.dirty || selectField.touched) -->\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message mt-2\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, forwardRef, Input, input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MatRadioModule, MatRadioChange } from '@angular/material/radio';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-radio',\r\n standalone: true,\r\n imports: [\r\n MatRadioModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule\r\n ],\r\n templateUrl: './radio.component.html',\r\n styleUrl: './radio.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: RadioComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class RadioComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n reactiveFormControlobject : any = input<any>();\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n @Output() change = new EventEmitter<any>();\r\n\r\n ngOnInit(): void {\r\n // Initialize inputValue with a default or initial value if needed\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n this.change.emit(newValue);\r\n }\r\n\r\n onRadioGroupChange(event: MatRadioChange): void {\r\n const newValue = event.value;\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n this.change.emit(newValue);\r\n console.log('Radio group changed:', newValue);\r\n }\r\n\r\n toggleRadio(value: any, event: Event): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.inputValue = value;\r\n if (this.reactiveFormControlobject && this.reactiveFormControlobject.setValue) {\r\n this.reactiveFormControlobject.setValue(value);\r\n }\r\n this.onRadioGroupChange({ source: {} as any, value: value });\r\n }\r\n\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\r\n }\">{{field()?.label}}<span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span></label>\r\n @if(reactiveFormControlobject()) {\r\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\r\n class=\"radio-btn-group radio-btn-gender\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n (change)=\"onRadioGroupChange($event)\"\r\n >\r\n <div\r\n class=\"card radio-card-gender py-auto px-1\"\r\n *ngFor=\"let data of field()?.options\"\r\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || reactiveFormControlobject?.disabled, 'two-options': field()?.options?.length === 2}\"\r\n (click)=\"toggleRadio(data.value, $event)\"\r\n [ngStyle]=\"{\r\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\r\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\r\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\r\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\r\n }\"\r\n >\r\n <mat-radio-button\r\n style=\"min-width: 72px; text-align: center;\"\r\n class=\"radioButtonGender\"\r\n [value]=\"data.value\"\r\n >\r\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\r\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\r\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\r\n '--radio-button-font-color': field()?.controlStyle?.color,\r\n }\">{{ data.label }}\r\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n </mat-radio-group>\r\n }@else {\r\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\r\n class=\"radio-btn-group radio-btn-gender\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [value]=\"inputValue\"\r\n (change)=\"onRadioGroupChange($event)\"\r\n >\r\n <div\r\n class=\"card radio-card-gender py-auto px-1\"\r\n *ngFor=\"let data of field()?.options\"\r\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable, 'two-options': field()?.options?.length === 2}\"\r\n (click)=\"toggleRadio(data.value, $event)\"\r\n [ngStyle]=\"{\r\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\r\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\r\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\r\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\r\n }\"\r\n >\r\n <mat-radio-button\r\n style=\"min-width: 72px; text-align: center;\"\r\n class=\"radioButtonGender\"\r\n [value]=\"data.value\"\r\n >\r\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\r\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\r\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\r\n '--radio-button-font-color': field()?.controlStyle?.color,\r\n }\">{{ data.label }}\r\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n </mat-radio-group>\r\n }\r\n <div class=\"error-message\" *ngIf=\"false\">\r\n {{field()?.validators?.patternMessage}}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output,EventEmitter, forwardRef } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-toggle',\r\n standalone: true,\r\n imports: [CommonModule, ReactiveFormsModule],\r\n templateUrl: './toggle.component.html',\r\n styleUrl: './toggle.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ToggleComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ToggleComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n field : any = input.required<any>();\r\n inputValue: any = false;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue: any) => {};\r\n _onTouched: any = () => {};\r\n\r\n // Declare Output event emitters here (class level)\r\n @Output() change = new EventEmitter<any>();\r\n\r\n writeValue(obj: any): void {\r\n this.inputValue = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // Handle disabled state if needed\r\n }\r\n\r\n onToggleChange(event: any): void {\r\n this.inputValue = event.target.checked;\r\n this._onChange(this.inputValue);\r\n this._onTouched();\r\n // Emit the change event to parent component\r\n this.change.emit(this.inputValue);\r\n }\r\n}\r\n","<div class=\"\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\r\n '--custom-toggle-bg-color': field()?.controlStyle?.background,\r\n '--custom-toggle-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-toggle-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-toggle-border-radius': field()?.controlStyle?.borderRadius,\r\n '--custom-toggle-width': field()?.controlStyle?.width,\r\n }\"\r\n class=\"card toggle-background mt-2\"\r\n >\r\n <div class=\"toggle_switch mt-2\">\r\n <div *ngIf=\"field().configData?.leftLabel\" [ngStyle]=\"{\r\n '--custom-toggle-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-toggle-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-toggle-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-toggle-font-color': field()?.controlStyle?.color ,\r\n }\" class=\"toggle-text\">\r\n <div>{{field().configData?.leftLabel}}</div>\r\n </div>\r\n <div class=\"mt-1\">\r\n <label class=\"switch\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n type=\"checkbox\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [checked]=\"inputValue\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n (change)=\"onToggleChange($event)\"\r\n />\r\n }@else {\r\n <input\r\n type=\"checkbox\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [checked]=\"inputValue\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n (change)=\"onToggleChange($event)\"\r\n />\r\n }\r\n <span class=\"slider round\"></span>\r\n </label>\r\n </div>\r\n <div [ngStyle]=\"{\r\n '--custom-toggle-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-toggle-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-toggle-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-toggle-font-color': field()?.controlStyle?.color ,\r\n }\" class=\"toggle-text mb-2\">\r\n <div>{{field()?.label}}</div>\r\n <div style=\"font-size: 10px; font-weight: 400;\" *ngIf=\"field().configData?.subLabel\">{{field()?.configData?.subLabel}} <img alt=\"\" [src]=\"field()?.imageUrl\" *ngIf=\"field()?.imageUrl\" /> </div>\r\n </div>\r\n </div>\r\n </div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'lib-file-preview',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './file-preview.component.html',\r\n styleUrl: './file-preview.component.css'\r\n})\r\nexport class FilePreviewComponent implements OnInit, OnDestroy {\r\n field = input.required<any>();\r\n file = input<File | null>(null);\r\n \r\n @Output() closed = new EventEmitter<void>();\r\n\r\n fileDataUrl: any = '';\r\n fileObjectUrl: any = '';\r\n textContent: any = '';\r\n safeFileUrl: SafeResourceUrl | null = null; \r\n constructor(private sanitizer: DomSanitizer) {}\r\n isImage(): any {\r\n return this.file()?.type.startsWith('image/') || false;\r\n }\r\n\r\n isPdf(): any {\r\n return this.file()?.type === 'application/pdf' || false;\r\n }\r\n\r\n isText(): any {\r\n return this.file()?.type.startsWith('text/') || false;\r\n }\r\n\r\n isUnsupported(): any {\r\n return !this.isImage() && !this.isPdf() && !this.isText(); // ✅ Correct\r\n }\r\n\r\n ngOnInit() {\r\n document.body.style.overflow = 'hidden';\r\n this.loadFileContent();\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.style.overflow = '';\r\n if (this.fileObjectUrl) {\r\n URL.revokeObjectURL(this.fileObjectUrl);\r\n }\r\n }\r\n\r\n loadFileContent() {\r\n const currentFile = this.file();\r\n if (!currentFile) return;\r\n\r\n if (this.isImage()) {\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n this.fileDataUrl = e.target?.result as any;\r\n };\r\n reader.readAsDataURL(currentFile);\r\n } else if (this.isPdf()) {\r\n this.fileObjectUrl = URL.createObjectURL(currentFile);\r\n this.safeFileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.fileObjectUrl);\r\n } else if (this.isText()) {\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n this.textContent = e.target?.result as any;\r\n };\r\n reader.readAsText(currentFile);\r\n }\r\n}\r\n\r\n onBackdropClick(event: Event) {\r\n if (event.target === event.currentTarget) {\r\n this.closePreview();\r\n }\r\n }\r\n\r\n closePreview() {\r\n this.closed.emit();\r\n }\r\n\r\n downloadFile() {\r\n const currentFile = this.file();\r\n if (!currentFile) return;\r\n\r\n const url = URL.createObjectURL(currentFile);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = currentFile.name;\r\n link.style.display = 'none';\r\n \r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n \r\n setTimeout(() => URL.revokeObjectURL(url), 100);\r\n }\r\n}","<div class=\"file-preview-modal\" \r\n *ngIf=\"field() && field()?.isVisible\"\r\n [id]=\"field()?.fieldName + '_preview'\"\r\n (click)=\"onBackdropClick($event)\"\r\n (keydown.escape)=\"closePreview()\"\r\n [ngStyle]=\"{\r\n '--modal-background': field()?.previewStyle?.modalBackground || 'rgba(0, 0, 0, 0.9)',\r\n '--modal-z-index': field()?.previewStyle?.zIndex || '10000',\r\n '--modal-width': field()?.previewStyle?.width || '100%',\r\n '--modal-height': field()?.previewStyle?.height || '100%'\r\n }\">\r\n \r\n <!-- Image Preview -->\r\n <div *ngIf=\"isImage()\" \r\n class=\"preview-container image-container\"\r\n [id]=\"field()?.fieldName + '_image_container'\"\r\n [ngStyle]=\"{\r\n '--image-container-background': field()?.previewStyle?.imageContainerBackground || 'transparent',\r\n '--image-container-border-radius': field()?.previewStyle?.imageContainerBorderRadius || '8px',\r\n '--image-container-padding': field()?.previewStyle?.imageContainerPadding || '20px',\r\n '--image-container-margin': field()?.previewStyle?.imageContainerMargin || '0'\r\n }\">\r\n \r\n <button class=\"close-btn\" \r\n type=\"button\"\r\n [id]=\"field()?.fieldName + '_close_btn'\"\r\n (click)=\"closePreview()\" \r\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\r\n [ngStyle]=\"{\r\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\r\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\r\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\r\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\r\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\r\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\r\n }\">×</button>\r\n \r\n <h3 class=\"file-title\"\r\n [ngStyle]=\"{\r\n '--title-color': field()?.previewStyle?.titleColor || '#fff',\r\n '--title-font-family': field()?.previewStyle?.titleFontFamily || 'Mulish',\r\n '--title-font-size': field()?.previewStyle?.titleFontSize || '18px',\r\n '--title-font-weight': field()?.previewStyle?.titleFontWeight || '600',\r\n '--title-margin': field()?.previewStyle?.titleMargin || '0 0 10px 0',\r\n '--title-padding': field()?.previewStyle?.titlePadding || '0 10px'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <img [src]=\"fileDataUrl\" \r\n [alt]=\"file()?.name\" \r\n [id]=\"field()?.fieldName + '_preview_image'\"\r\n class=\"preview-image\"\r\n [ngStyle]=\"{\r\n '--image-max-width': field()?.previewStyle?.imageMaxWidth || '100%',\r\n '--image-max-height': field()?.previewStyle?.imageMaxHeight || '80vh',\r\n '--image-border-radius': field()?.previewStyle?.imageBorderRadius || '8px',\r\n '--image-box-shadow': field()?.previewStyle?.imageBoxShadow || '0 4px 20px rgba(0,0,0,0.5)',\r\n '--image-object-fit': field()?.previewStyle?.imageObjectFit || 'contain'\r\n }\" />\r\n </div>\r\n\r\n <!-- PDF Preview -->\r\n <div *ngIf=\"isPdf()\" \r\n class=\"preview-container pdf-container\"\r\n [id]=\"field()?.fieldName + '_pdf_container'\"\r\n [ngStyle]=\"{\r\n '--pdf-container-background': field()?.previewStyle?.pdfContainerBackground || '#fff',\r\n '--pdf-container-border-radius': field()?.previewStyle?.pdfContainerBorderRadius || '8px',\r\n '--pdf-container-width': field()?.previewStyle?.pdfContainerWidth || '95vw',\r\n '--pdf-container-height': field()?.previewStyle?.pdfContainerHeight || '95vh'\r\n }\">\r\n \r\n <!-- Top-right action buttons -->\r\n <div class=\"pdf-actions-top-right\"\r\n [ngStyle]=\"{\r\n '--actions-top': field()?.previewStyle?.actionsTop || '15px',\r\n '--actions-right': field()?.previewStyle?.actionsRight || '15px',\r\n '--actions-gap': field()?.previewStyle?.actionsGap || '10px'\r\n }\">\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"action-icon-btn close-btn\"\r\n [id]=\"field()?.fieldName + '_close_pdf'\"\r\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\r\n [ngStyle]=\"{\r\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\r\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\r\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\r\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\r\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\r\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\r\n }\">×</button>\r\n </div>\r\n \r\n <!-- File title -->\r\n <h3 class=\"file-title pdf-title\"\r\n [ngStyle]=\"{\r\n '--pdf-title-color': field()?.previewStyle?.pdfTitleColor || '#333',\r\n '--pdf-title-font-family': field()?.previewStyle?.pdfTitleFontFamily || 'Mulish',\r\n '--pdf-title-font-size': field()?.previewStyle?.pdfTitleFontSize || '16px',\r\n '--pdf-title-font-weight': field()?.previewStyle?.pdfTitleFontWeight || '600',\r\n '--pdf-title-margin': field()?.previewStyle?.pdfTitleMargin || '0px 20px 10px 20px',\r\n '--pdf-title-padding': field()?.previewStyle?.pdfTitlePadding || '0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <iframe [src]=\"safeFileUrl\" \r\n [title]=\"file()?.name\" \r\n [id]=\"field()?.fieldName + '_pdf_iframe'\"\r\n class=\"pdf-iframe\"\r\n [ngStyle]=\"{\r\n '--iframe-border': field()?.previewStyle?.iframeBorder || 'none',\r\n '--iframe-border-radius': field()?.previewStyle?.iframeBorderRadius || '0',\r\n '--iframe-width': field()?.previewStyle?.iframeWidth || '100%',\r\n '--iframe-height': field()?.previewStyle?.iframeHeight || 'calc(100% - 80px)',\r\n '--iframe-min-height': field()?.previewStyle?.iframeMinHeight || '600px'\r\n }\"></iframe>\r\n </div>\r\n\r\n <!-- Text Preview -->\r\n <div *ngIf=\"isText()\" \r\n class=\"preview-container text-container\"\r\n [id]=\"field()?.fieldName + '_text_container'\"\r\n [ngStyle]=\"{\r\n '--text-container-background': field()?.previewStyle?.textContainerBackground || '#fff',\r\n '--text-container-border-radius': field()?.previewStyle?.textContainerBorderRadius || '8px',\r\n '--text-container-width': field()?.previewStyle?.textContainerWidth || '95vw',\r\n '--text-container-height': field()?.previewStyle?.textContainerHeight || '95vh'\r\n }\">\r\n \r\n <div class=\"text-header\"\r\n [id]=\"field()?.fieldName + '_text_header'\"\r\n [ngStyle]=\"{\r\n '--text-header-background': field()?.previewStyle?.textHeaderBackground || '#f8f9fa',\r\n '--text-header-border-color': field()?.previewStyle?.textHeaderBorderColor || '#dee2e6',\r\n '--text-header-padding': field()?.previewStyle?.textHeaderPadding || '15px 20px'\r\n }\">\r\n \r\n <h3 class=\"file-title\"\r\n [ngStyle]=\"{\r\n '--text-title-color': field()?.previewStyle?.textTitleColor || '#333',\r\n '--text-title-font-family': field()?.previewStyle?.textTitleFontFamily || 'Mulish',\r\n '--text-title-font-size': field()?.previewStyle?.textTitleFontSize || '16px',\r\n '--text-title-font-weight': field()?.previewStyle?.textTitleFontWeight || '600',\r\n '--text-title-margin': field()?.previewStyle?.textTitleMargin || '0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"btn btn-danger\"\r\n [id]=\"field()?.fieldName + '_close_text'\"\r\n [ngStyle]=\"{\r\n '--btn-danger-background': field()?.previewStyle?.btnDangerBackground || '#dc3545',\r\n '--btn-danger-color': field()?.previewStyle?.btnDangerColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\r\n </div>\r\n \r\n <pre class=\"text-content\"\r\n [id]=\"field()?.fieldName + '_text_content'\"\r\n [ngStyle]=\"{\r\n '--text-content-background': field()?.previewStyle?.textContentBackground || '#fff',\r\n '--text-content-color': field()?.previewStyle?.textContentColor || '#333',\r\n '--text-content-font-family': field()?.previewStyle?.textContentFontFamily || 'Consolas, Monaco, Courier New, monospace',\r\n '--text-content-font-size': field()?.previewStyle?.textContentFontSize || '14px',\r\n '--text-content-line-height': field()?.previewStyle?.textContentLineHeight || '1.5',\r\n '--text-content-padding': field()?.previewStyle?.textContentPadding || '20px',\r\n '--text-content-margin': field()?.previewStyle?.textContentMargin || '0'\r\n }\">{{ textContent }}</pre>\r\n </div>\r\n\r\n <!-- Unsupported File -->\r\n <div *ngIf=\"isUnsupported()\" \r\n class=\"preview-container unsupported-container\"\r\n [id]=\"field()?.fieldName + '_unsupported_container'\"\r\n [ngStyle]=\"{\r\n '--unsupported-background': field()?.previewStyle?.unsupportedBackground || '#fff',\r\n '--unsupported-border-radius': field()?.previewStyle?.unsupportedBorderRadius || '8px',\r\n '--unsupported-padding': field()?.previewStyle?.unsupportedPadding || '40px',\r\n '--unsupported-min-width': field()?.previewStyle?.unsupportedMinWidth || '300px'\r\n }\">\r\n \r\n <div class=\"unsupported-content\">\r\n <h3 [ngStyle]=\"{\r\n '--unsupported-title-color': field()?.previewStyle?.unsupportedTitleColor || '#333',\r\n '--unsupported-title-font-family': field()?.previewStyle?.unsupportedTitleFontFamily || 'Mulish',\r\n '--unsupported-title-font-size': field()?.previewStyle?.unsupportedTitleFontSize || '18px',\r\n '--unsupported-title-font-weight': field()?.previewStyle?.unsupportedTitleFontWeight || '600',\r\n '--unsupported-title-margin': field()?.previewStyle?.unsupportedTitleMargin || '0 0 20px 0'\r\n }\">{{ file()?.name }}</h3>\r\n \r\n <p [ngStyle]=\"{\r\n '--unsupported-text-color': field()?.previewStyle?.unsupportedTextColor || '#666',\r\n '--unsupported-text-font-size': field()?.previewStyle?.unsupportedTextFontSize || '14px',\r\n '--unsupported-text-margin': field()?.previewStyle?.unsupportedTextMargin || '0 0 30px 0'\r\n }\">{{ field()?.previewStyle?.unsupportedMessage || 'Preview not available for this file type' }}</p>\r\n \r\n <div class=\"unsupported-actions\"\r\n [ngStyle]=\"{\r\n '--actions-gap': field()?.previewStyle?.actionsGap || '15px',\r\n '--actions-justify': field()?.previewStyle?.actionsJustify || 'center'\r\n }\">\r\n \r\n <button (click)=\"downloadFile()\" \r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [id]=\"field()?.fieldName + '_download'\"\r\n [ngStyle]=\"{\r\n '--btn-primary-background': field()?.previewStyle?.btnPrimaryBackground || '#007bff',\r\n '--btn-primary-color': field()?.previewStyle?.btnPrimaryColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.downloadText || 'Download' }}</button>\r\n \r\n <button (click)=\"closePreview()\" \r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n [id]=\"field()?.fieldName + '_close_unsupported'\"\r\n [ngStyle]=\"{\r\n '--btn-secondary-background': field()?.previewStyle?.btnSecondaryBackground || '#6c757d',\r\n '--btn-secondary-color': field()?.previewStyle?.btnSecondaryColor || '#fff',\r\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\r\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\r\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\r\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input, ViewChild, ElementRef, Output, EventEmitter, ComponentRef, EnvironmentInjector, ApplicationRef, createComponent, OnInit } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { FilePreviewComponent } from '../file-preview/file-preview.component';\r\n\r\n@Component({\r\n selector: 'lib-upload',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './upload.component.html',\r\n styleUrl: './upload.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: UploadComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class UploadComponent implements ControlValueAccessor {\r\n documentUploaderField = input<any>();\r\n constructor(public masterService : MasterControlService, public appRef: ApplicationRef,\r\n public injector: EnvironmentInjector){}\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n @ViewChild('fileInput') fileInput!: ElementRef<HTMLInputElement>;\r\n\r\n @Output() filesChanged = new EventEmitter<File[]>();\r\n @Output() fileRemoved = new EventEmitter<{ file: File, index: number }>();\r\n @Output() filePreview = new EventEmitter<{ file: File, index: number }>();\r\n public filePreviewRef: ComponentRef<FilePreviewComponent> | null = null;\r\n // ControlValueAccessor properties\r\n uploadedFiles: File[] = [];\r\n value: any = null;\r\n _onChange: any = (value: any) => {};\r\n _onTouched: any = () => {};\r\n disabled: any = false;\r\n\r\n // ControlValueAccessor implementation\r\n writeValue(obj: any) {\r\n this.value = obj;\r\n if (obj && Array.isArray(obj)) {\r\n this.uploadedFiles = obj;\r\n } else if (obj) {\r\n this.uploadedFiles = [obj];\r\n } else {\r\n this.uploadedFiles = [];\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: any) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n // File upload handling\r\n onFileSelected(event: any) {\r\n const files = event.target.files;\r\n if (files && files.length > 0) {\r\n if (this.field()?.multiple) {\r\n this.uploadedFiles = Array.from(files);\r\n this.value = this.uploadedFiles;\r\n } else {\r\n this.uploadedFiles = [files[0]];\r\n this.value = files[0];\r\n }\r\n this._onChange(this.value);\r\n this._onTouched();\r\n }\r\n this.filesChanged.emit(this.uploadedFiles);\r\n }\r\n\r\n removeFile(index: any, event?: Event) {\r\n if (event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n const removedFile = this.uploadedFiles[index];\r\n this.uploadedFiles.splice(index, 1);\r\n if (this.field()?.multiple) {\r\n this.value = [...this.uploadedFiles];\r\n } else {\r\n this.value = this.uploadedFiles.length > 0 ? this.uploadedFiles[0] : null;\r\n }\r\n this._onChange(this.value);\r\n this.fileRemoved.emit({ file: removedFile, index });\r\n this.filesChanged.emit(this.uploadedFiles);\r\n }\r\n\r\n hasFiles(): any {\r\n return this.uploadedFiles.length > 0;\r\n }\r\n\r\n triggerFileInput(): void {\r\n if (this.fileInput) {\r\n this.fileInput.nativeElement.click();\r\n }\r\n }\r\n\r\npreviewFile(file: File, index: number): void {\r\n this.filePreviewRef = createComponent(FilePreviewComponent, {\r\n environmentInjector: this.injector\r\n });\r\n this.filePreviewRef.setInput('field', this.field());\r\n this.filePreviewRef.setInput('file', file);\r\n this.filePreviewRef.instance.closed.subscribe(() => {\r\n this.closeFilePreview();\r\n });\r\n document.body.appendChild(this.filePreviewRef.location.nativeElement);\r\n this.appRef.attachView(this.filePreviewRef.hostView);\r\n }\r\n\r\n closeFilePreview(): void {\r\n if (this.filePreviewRef) {\r\n const element = this.filePreviewRef.location.nativeElement;\r\n if (element.parentNode) {\r\n element.parentNode.removeChild(element);\r\n }\r\n this.appRef.detachView(this.filePreviewRef.hostView);\r\n this.filePreviewRef.destroy();\r\n this.filePreviewRef = null;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.closeFilePreview();\r\n }\r\n}\r\n","<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n />\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn\"\r\n (click)=\"triggerFileInput()\"\r\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [disabled]=\"field()?.isDisable\"\r\n [ngStyle]=\"{\r\n'--upload-width': field()?.controlStyle?.width ,\r\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--upload-border-color': field()?.controlStyle?.borderColor ,\r\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\r\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\r\n'--upload-background-color': field()?.controlStyle?.background ,\r\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\r\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\r\n}\"\r\n >\r\n <ng-container *ngIf=\"field()?.label && !hasFiles(); else fileUploadedTemplate\">\r\n <span class=\"upload-icon\">\r\n <span\r\n ><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.placeHolder }} <span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></span>\r\n </span>\r\n </ng-container>\r\n <ng-template #fileUploadedTemplate>\r\n <div *ngFor=\"let file of uploadedFiles; let i = index\" class=\"uploaded-file d-flex gap-4\" style=\"transform: translate(0px, -3px);\">\r\n <span class=\"mt-2 right-icon\" style=\" white-space: nowrap !important;\r\n overflow: hidden !important;\r\n text-overflow: ellipsis !important;\">\r\n <span><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\r\n <span [title]=\"file.name\">{{ file.name }}</span>\r\n </span>\r\n <div class=\"mt-2 left-icon\">\r\n <span (click)=\"previewFile(file, i);$event.stopPropagation()\"><img src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\" alt=\"\"/></span>\r\n <span (click)=\"removeFile(i, $event);$event.stopPropagation()\" style=\"cursor: pointer;\">\r\n <img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"/>\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </button>\r\n <div class=\"upload-info\" *ngIf=\"field() && field()?.isVisible && field()?.configData?.subText\">{{field()?.configData?.subText}}</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MomentDateAdapter, MomentDateModule } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n\r\nexport const MY_DATE_FORMAT = {\r\n parse: {\r\n dateInput: [\r\n 'DD-MM-YYYY',\r\n 'MM/DD/YYYY',\r\n 'YYYY/MM/DD',\r\n 'DD/MM/YYYY',\r\n 'DD MMM YYYY',\r\n 'DD MMMM YYYY',\r\n 'DD-MMM-YYYY'\r\n ]\r\n },\r\n display: {\r\n dateInput: 'DD-MMM-YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'DD-MMM-YYYY',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'lib-dob',\r\n standalone: true,\r\n imports: [MatInputModule, MatFormFieldModule, CommonModule, MatDatepickerModule, MomentDateModule, ReactiveFormsModule],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DobComponent,\r\n multi: true\r\n },\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: []\r\n },\r\n { provide: MAT_DATE_FORMATS, useValue: MY_DATE_FORMAT }\r\n ],\r\n templateUrl: './dob.component.html',\r\n styleUrl: './dob.component.css',\r\n})\r\nexport class DobComponent implements ControlValueAccessor {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n @Output() blur = new EventEmitter<any>();\r\n @Output() valueChange = new EventEmitter<any>();\r\n @Output() dateSelected = new EventEmitter<any>();\r\n @Output() invalidDate = new EventEmitter<any>();\r\n\r\n constructor(public service : MasterControlService) {}\r\n\r\n dateDivisionFormat(event: any) {\r\n let evt = event.target;\r\n if (evt.value.length > 2 && !evt.value.substr(2, 1).includes('-')) {\r\n evt.value = [evt.value.slice(0, 2), '-', evt.value.slice(2)].join('');\r\n } else if (\r\n evt.value.length > 5 &&\r\n Number(evt.value.substr(3, 2)) &&\r\n !evt.value.substr(5, 1).includes('-')\r\n ) {\r\n evt.value = [evt.value.slice(0, 5), '-', evt.value.slice(5)].join('');\r\n } else if (\r\n evt.value.length > 6 &&\r\n !Number(evt.value.substr(3, 2)) &&\r\n !evt.value.substr(6, 1).includes('-')\r\n ) {\r\n evt.value = [evt.value.slice(0, 6), '-', evt.value.slice(6)].join('');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event? : any): void {\r\n if (!this.service.checkIfValueIsEmpty(event.target.value)) {\r\n if (isNaN(Date.parse(event.target.value))) {\r\n event.target.value = '';\r\n }\r\n }\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n\r\n\r\n // Handle datepicker selection\r\n onDateChange(event: any): void {\r\n if (event.value) {\r\n const selectedDate = event.value;\r\n this.inputValue = selectedDate;\r\n this._onChange(this.inputValue);\r\n \r\n // Emit date selection event\r\n this.dateSelected.emit({\r\n formattedValue: this.inputValue,\r\n dateObject: selectedDate,\r\n isValid: true,\r\n source: 'datepicker'\r\n });\r\n \r\n this.valueChange.emit(this.inputValue);\r\n }\r\n }\r\n\r\n}\r\n","<label\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n class=\"field-lable\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n '--custom-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-font-color': field()?.controlStyle?.color ,\r\n '--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n '--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n '--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n }\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n type=\"text\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder || 'DD-MM-YYYY'\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n [matDatepicker]=\"picker\"\r\n (keyup)=\"dateDivisionFormat($event)\"\r\n [min]=\"field()?.configData?.min\"\r\n [max]=\"field()?.configData?.max\"\r\n [disabled]=\"field()?.isDisable\"\r\n (dateChange)=\"onDateChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n type=\"text\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n [matDatepicker]=\"picker\"\r\n (keyup)=\"dateDivisionFormat($event)\"\r\n [min]=\"field()?.configData?.min\"\r\n [max]=\"field()?.configData?.max\"\r\n [disabled]=\"field()?.isDisable\"\r\n (dateChange)=\"onDateChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\r\n <img\r\n src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/date_picker_icon.svg\"\r\n style=\"width: 16px\"\r\n matDatepickerToggleIcon\r\n />\r\n </mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"field()?.configData?.isInvalid\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-mob-number',\r\n standalone: true,\r\n imports: [CommonModule, MatInputModule, MatFormFieldModule, MatSelectModule, MatOptionModule, ReactiveFormsModule, FormsModule],\r\n templateUrl: './mob-number.component.html',\r\n styleUrl: './mob-number.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: MobNumberComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class MobNumberComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n CountryCode: any = '+91';\r\n selectedOption: any = null;\r\n inputValue: any = null;\r\n searchInputValue: any = null;\r\n filteredOptions:any=[];\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n // Declare Output event emitters here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n ngOnInit(): void {\r\n this.CountryCode = '+91';\r\n this.filteredOptions = this.field().options || [];\r\n }\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event?:any): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n searchInputChange(event: any): void {\r\n this.searchInputValue = event.target.value;\r\n this.filterOptions();\r\n }\r\n\r\n filterOptions(): void {\r\n if (!this.searchInputValue || this.searchInputValue.trim() === '') {\r\n this.filteredOptions = this.field().options || [];\r\n return;\r\n }\r\n const filterValue = this.searchInputValue.toLowerCase();\r\n this.filteredOptions = (this.field().options || []).filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n //clear search input if typed value not found and selected value should be first option\r\n clearSearch(): void {\r\n if (this.filteredOptions.length === 0) {\r\n this.searchInputValue = null;\r\n this.filteredOptions = this.field().options || [];\r\n }\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n<mat-form-field\r\n class=\"w-100 mobile-field\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n '--custom-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-font-color': field()?.controlStyle?.color ,\r\n '--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\"\r\n>\r\n <div matTextPrefix class=\"prefix_alternate_mobile primary\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"d-flex countryCode\">\r\n <mat-select class=\"country_code_input\" [(value)]=\"CountryCode\" (click)=\"$event.stopPropagation()\">\r\n <mat-select-trigger>\r\n {{ CountryCode }}\r\n </mat-select-trigger>\r\n <mat-option (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <div class=\"search-input-wrapper\">\r\n <img src=\"https://cdn.godigit.com/retail-life/search.svg\" alt=\"search\" class=\"search-icon\" />\r\n <input\r\n type=\"text\"\r\n placeholder=\"Search...\"\r\n [(ngModel)]=\"searchInputValue\"\r\n (click)=\"$event.stopPropagation()\"\r\n (input)=\"searchInputChange($event)\"\r\n (blur)=\"clearSearch()\"\r\n class=\"country-code-search-input\"\r\n />\r\n </div>\r\n </mat-option>\r\n @for (option of filteredOptions; track option.value) {\r\n <mat-option [value]=\"option.value\">{{ option.label }}</mat-option>\r\n }\r\n </mat-select>\r\n </div>\r\n <!-- <span class=\"seperation_line\" *ngIf=\"true\"></span> -->\r\n </div>\r\n\r\n <div (click)=\"$event.stopPropagation()\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n </div>\r\n\r\n\r\n <span matSuffix class=\"p-3\" *ngIf=\"false\">\r\n <img src=\"https://cdn.godigit.com/retail-life/edit-icon.svg\" alt=\"\" />\r\n </span>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-info',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './info.component.html',\r\n styleUrl: './info.component.css'\r\n})\r\nexport class InfoComponent {\r\n constructor(public masterService : MasterControlService){}\r\n field: any = input.required<any>();\r\n}\r\n","<div class=\"info-background\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\r\n '--custom-info-bg-color': field()?.controlStyle?.background ,\r\n '--custom-info-border-radius': field()?.controlStyle?.borderRadius,\r\n '--custom-info-border-width': field()?.controlStyle?.borderWidth,\r\n '--custom-info-border-color': field()?.controlStyle?.borderColor,\r\n '--custom-info-border-style': field()?.controlStyle?.borderStyle,\r\n }\">\r\n <span style=\"display: flex; align-items: flex-start; gap: 16px; padding-top: 16px; padding-bottom: 16px;\">\r\n <img\r\n class=\"info-nudge-image mb-1\"\r\n [src]=\"field()?.controlStyle?.nudgeDisplayImage\"\r\n alt=\"\"\r\n />\r\n <span class=\"info-nudge-text\" [ngStyle]=\"{\r\n '--custom-info-font-size': field()?.controlStyle?.fontSize ,\r\n '--custom-info-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--custom-info-font-family': field()?.controlStyle?.fontFamily ,\r\n '--custom-info-font-color': field()?.controlStyle?.color ,\r\n }\">{{ field()?.label }}</span>\r\n </span>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\r\n\r\n\r\n@Component({\r\n selector: 'lib-checkbox',\r\n standalone: true,\r\n imports: [CommonModule , MatCheckboxModule, ReactiveFormsModule, CustomizedTooltipDirective],\r\n templateUrl: './checkbox.component.html',\r\n styleUrl: './checkbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: CheckboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n field: any = input.required<any>();\r\n\r\n inputValue: any = false;\r\n reactiveFormControlobject : any = input<any>();\r\n @Output() change = new EventEmitter<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onCheckboxChange(event: any): void {\r\n // const target = event.target as HTMLInputElement;\r\n this.inputValue = event.checked;\r\n this._onChange(this.inputValue);\r\n this._unTouched();\r\n // this.change.emit({ event, field: this.field() });\r\n this.change.emit(this.inputValue);\r\n const css = this.field()?.controlStyle;\r\n if (event.checked) {\r\n document.body.style.setProperty('--custom-checkbox-border-focus', css?.focusBorderColor || '#ffbb00');\r\n document.body.style.setProperty('--custom-checkbox-bg-color-focus', css?.focusBackground || '#ffbb00');\r\n document.body.style.setProperty('--custom-checkbox-border-radius-checkbox', css?.borderRadius || '4px');\r\n document.body.style.setProperty('--custom-font-size', css?.fontSize || '16px');\r\n document.body.style.setProperty('--custom-font-weight', css?.fontWeight || '400');\r\n document.body.style.setProperty('--custom-font-family', css?.fontFamily || 'Mulish');\r\n document.body.style.setProperty('--custom-font-color', css?.color || '#444');\r\n } else {\r\n document.body.style.setProperty('--custom-border-color-focus', css?.focusBorderColor || '#ddd');\r\n document.body.style.setProperty('--custom-bg-color-focus', css?.focusBackground || '#999');\r\n document.body.style.setProperty('--custom-border-radius-checkbox', css?.borderRadius || '4px');\r\n }\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","@if(reactiveFormControlobject()) {\r\n<mat-checkbox *ngIf=\"field() && field()?.isVisible\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\r\n [disabled]=\"field()?.isDisable\" [required]=\"field()?.validators?.isRequired\" [checked]=\"inputValue\" (keydown.enter)=\"$event.preventDefault()\"\r\n [formControl]=\"reactiveFormControlobject()\" (change)=\"onCheckboxChange($event)\" [ngStyle]=\"{\r\n '--checkbox-border-radius': field()?.controlStyle?.borderRadius,\r\n '--checkbox-bg-color': field()?.controlStyle?.background,\r\n '--checkbox-border-color': field()?.controlStyle?.borderColor,\r\n '--checkbox-border-color-focus': field()?.controlStyle?.focusBorderColor,\r\n '--checkbox-bg-color-focus': field()?.controlStyle?.focusBackground,\r\n '--checkbox-font-size': field()?.controlStyle?.fontSize,\r\n '--checkbox-font-weight': field()?.controlStyle?.fontWeight,\r\n '--checkbox-font-color': field()?.controlStyle?.color,\r\n '--checkbox-font-family': field()?.controlStyle?.fontFamily,\r\n '--checkbox-border-width': field()?.controlStyle?.borderWidth,\r\n '--checkbox-border-color-hover': field()?.controlStyle?.hoverBorderColor,\r\n '--checkbox-border-color-error': field()?.controlStyle?.errorBorderColor,\r\n '--checkbox-font-color-disabled': field()?.controlStyle?.disableColor,\r\n '--checkbox-bg-color-disabled': field()?.controlStyle?.disableBackground\r\n }\">\r\n {{ field()?.label }}\r\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\r\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\r\n <img [src]=\"field().imageUrl\" class=\"toggle-img mx-1\" />\r\n </span>\r\n <ng-template #HtmlContent>\r\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\r\n </ng-template>\r\n</mat-checkbox>\r\n}@else {\r\n<mat-checkbox *ngIf=\"field() && field()?.isVisible\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\r\n [disabled]=\"field()?.isDisable\" [required]=\"field()?.validators?.isRequired\" [checked]=\"inputValue\"\r\n (change)=\"onCheckboxChange($event)\" [ngStyle]=\"{\r\n '--checkbox-border-radius': field()?.controlStyle?.borderRadius,\r\n '--checkbox-bg-color': field()?.controlStyle?.background,\r\n '--checkbox-border-color': field()?.controlStyle?.borderColor,\r\n '--checkbox-border-color-focus': field()?.controlStyle?.focusBorderColor,\r\n '--checkbox-bg-color-focus': field()?.controlStyle?.focusBackground,\r\n '--checkbox-font-size': field()?.controlStyle?.fontSize,\r\n '--checkbox-font-weight': field()?.controlStyle?.fontWeight,\r\n '--checkbox-font-color': field()?.controlStyle?.color,\r\n '--checkbox-font-family': field()?.controlStyle?.fontFamily,\r\n '--checkbox-border-width': field()?.controlStyle?.borderWidth,\r\n '--checkbox-border-color-hover': field()?.controlStyle?.hoverBorderColor,\r\n '--checkbox-border-color-error': field()?.controlStyle?.errorBorderColor,\r\n '--checkbox-font-color-disabled': field()?.controlStyle?.disableColor,\r\n '--checkbox-bg-color-disabled': field()?.controlStyle?.disableBackground\r\n }\">\r\n {{ field()?.label }}\r\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\r\n</mat-checkbox>\r\n}\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{field()?.validators?.isRequiredMessage}}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-textarea',\r\n standalone: true,\r\n imports: [\r\n CommonModule, \r\n ReactiveFormsModule,\r\n FormsModule\r\n ],\r\n templateUrl: './textarea.component.html',\r\n styleUrl: './textarea.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextareaComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TextareaComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService){}\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n // ControlValueAccessor properties\r\n textareaValue: any = null;\r\n _onChange: any = (textareaValue: any) => {};\r\n _onTouched: any = () => {};\r\n\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n // ControlValueAccessor implementation\r\n writeValue(obj: any): void {\r\n this.textareaValue = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {}\r\n\r\n onTextareaChange(event: any): void {\r\n this.textareaValue = event.target.value;\r\n this._onChange(this.textareaValue);\r\n }\r\n\r\n onTextareaBlur(event?: any): void {\r\n this._onTouched();\r\n this.blur.emit(event);\r\n }\r\n}\r\n","@if(reactiveFormControlobject()) {\r\n<textarea\r\n[ngStyle]=\"{\r\n '--custom-textarea-width': field()?.controlStyle?.width ,\r\n '--custom-textarea-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-textarea-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-textarea-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-textarea-border-width-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-textarea-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-textarea-caret-color': field()?.controlStyle?.caretColor ,\r\n '--custom-textarea-font-color': field()?.controlStyle?.color ,\r\n }\"\r\n*ngIf=\"field() && field()?.isVisible\"\r\n cols=\"40\"\r\n rows=\"3\"\r\n autocomplete=\"nope\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n (input)=\"onTextareaChange($event)\"\r\n (blur)=\"onTextareaBlur($event)\"\r\n [value]=\"textareaValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n></textarea>\r\n}@else {\r\n<textarea\r\n[ngStyle]=\"{\r\n '--custom-textarea-width': field()?.controlStyle?.width ,\r\n '--custom-textarea-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-textarea-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-textarea-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-textarea-border-width-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-textarea-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-textarea-caret-color': field()?.controlStyle?.caretColor ,\r\n '--custom-textarea-font-color': field()?.controlStyle?.color ,\r\n }\"\r\n*ngIf=\"field() && field()?.isVisible\"\r\n cols=\"40\"\r\n rows=\"3\"\r\n autocomplete=\"nope\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n (input)=\"onTextareaChange($event)\"\r\n (blur)=\"onTextareaBlur($event)\"\r\n [value]=\"textareaValue\"\r\n></textarea>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { MatTabChangeEvent, MatTabsModule } from '@angular/material/tabs';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-tab',\r\n standalone: true,\r\n imports: [MatTabsModule,CommonModule],\r\n templateUrl: './tab.component.html',\r\n styleUrl: './tab.component.css'\r\n})\r\nexport class TabComponent {\r\nfield : any = input.required<any>();\r\n@Output() selectedIndexChange = new EventEmitter<number>();\r\nselectedIndex = 0;\r\n\r\nconstructor(public masterService : MasterControlService){}\r\n\r\nngOnInit(){\r\n this.field().selectedIndex = this.selectedIndex;\r\n}\r\n onTabChange(event: number) {\r\n this.selectedIndex = event;\r\n this.field().selectedIndex = this.selectedIndex;\r\n}\r\n}\r\n","<mat-tab-group *ngIf=\"field() && field()?.isVisible\" class=\"vertical-tab-indicator\"\r\n[ngClass]=\"{'vertical-class': field()?.configData?.isVerticalTab && field()?.configData?.isVerticalTab === 'true'}\"\r\n[ngStyle]=\"{\r\n '--tab-border-color': field()?.controlStyle?.borderColor ,\r\n '--tab-border-width': field()?.controlStyle?.borderWidth,\r\n '--tab-font-size': field()?.controlStyle?.fontSize,\r\n '--tab-font-weight': field()?.controlStyle?.fontWeight,\r\n '--tab-font-color': field()?.controlStyle?.color,\r\n }\"\r\n[(selectedIndex)]=\"selectedIndex\" (selectedIndexChange)=\"onTabChange($event)\">\r\n <mat-tab *ngFor=\"let data of field()?.options; let i = index\">\r\n <ng-template mat-tab-label>\r\n <img [src]=\"data.value\" alt=\"\" class=\"mx-2\">\r\n {{ data.label }}\r\n </ng-template>\r\n <ng-content select=\"tab[i]\"></ng-content>\r\n </mat-tab>\r\n</mat-tab-group>\r\n","import { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, ControlValueAccessor } from '@angular/forms';\r\nimport { MatSelectChange } from '@angular/material/select';\r\n@Component({\r\n selector: 'lib-autocomplete',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatInputModule,\r\n MatAutocompleteModule,\r\n MatOptionModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './autocomplete.component.html',\r\n styleUrl: './autocomplete.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: AutocompleteComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AutocompleteComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService) {}\r\n field: any = input.required<any>();\r\n selectedOption: any = null;\r\n filteredOptions:any=[];\r\n inputValue: any = '';\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n // Output events for parent component communication\r\n @Output() blur = new EventEmitter<any>();\r\n @Output() selectionChanged = new EventEmitter<any>();\r\n @Output() valueChanged = new EventEmitter<any>();\r\n @Output() optionSelected = new EventEmitter<any>();\r\n\r\n\r\n ngOnInit() {\r\n this.filteredOptions = this.field().options || [];\r\n // Subscribe to valueChanges if using reactive forms\r\n if (this.reactiveFormControlobject && this.reactiveFormControlobject.valueChanges) {\r\n this.reactiveFormControlobject.valueChanges.subscribe((value: any) => {\r\n this.onInputChange(value);\r\n });\r\n }\r\n }\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n if (value !== undefined && value !== null) {\r\n // If value is an object, extract the label\r\n if (typeof value === 'object' && value.label) {\r\n this.inputValue = value.label;\r\n this.selectedOption = value;\r\n }\r\n else {\r\n let option = this.field().options?.find((opt: any) =>\r\n opt.value === value\r\n );\r\n if (!option) {\r\n option = this.field().options?.find((opt: any) =>\r\n opt.label === value\r\n );\r\n }\r\n if (option) {\r\n this.inputValue = option.label;\r\n this.selectedOption = option;\r\n } else {\r\n this.inputValue = value.toString();\r\n this.selectedOption = { label: value.toString(), value: value };\r\n }\r\n }\r\n } else {\r\n this.inputValue = '';\r\n this.selectedOption = null;\r\n }\r\n if(typeof this.inputValue === 'string' && value !== null) {\r\n this.filterOptions();\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // Handle disabled state if needed\r\n }\r\n\r\n onInputChange(value: any): void {\r\n\r\n this.inputValue = value;\r\n if(typeof this.inputValue === 'string' && value !== null) {\r\n this.filterOptions();\r\n }\r\n\r\n // Find matching option\r\n const matchingOption = this.field().options?.find((option: any) =>\r\n option.label.toLowerCase() === value.toLowerCase()\r\n );\r\n\r\n if (matchingOption) {\r\n this.selectedOption = matchingOption;\r\n this.onChange(matchingOption.value);\r\n } else {\r\n this.selectedOption = null;\r\n this.onChange(value);\r\n }\r\n\r\n this.onTouched();\r\n this.valueChanged.emit(value);\r\n this.selectionChanged.emit(this.selectedOption);\r\n }\r\n\r\n onOptionSelected(option: any): void {\r\n this.selectedOption = option;\r\n this.inputValue = option.label;\r\n this.onChange(option.value);\r\n this.onTouched();\r\n\r\n // Emit events for parent component\r\n this.optionSelected.emit(option);\r\n this.selectionChanged.emit(option);\r\n this.valueChanged.emit(option.label);\r\n }\r\n\r\n onBlur(event?: any): void {\r\n this.onTouched();\r\n this.blur.emit(event);\r\n }\r\n\r\n filterOptions(): void {\r\n if (!this.inputValue || this.inputValue.trim() === '') {\r\n this.filteredOptions = this.field().options || [];\r\n return;\r\n }\r\n\r\n const filterValue = this.inputValue.toLowerCase();\r\n this.filteredOptions = (this.field().options || []).filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n displayFn = (option: any): string => {\r\n return option && typeof option === 'object' ? option.label : option || '';\r\n }\r\n\r\n // Utility method to get the current selected value\r\n getCurrentValue(): any {\r\n return this.selectedOption ? this.selectedOption.value : this.inputValue;\r\n }\r\n\r\n // Utility method to get the current selected option\r\n getCurrentOption(): any {\r\n return this.selectedOption;\r\n }\r\n\r\n // Method to set value programmatically (useful for parent components)\r\n setValue(value: any): void {\r\n this.writeValue(value);\r\n this.onChange(this.getCurrentValue());\r\n }\r\n\r\n onInputChangeForReactiveForms(event : any) {\r\n this.inputValue = event?.target?.value;\r\n if(typeof this.inputValue === 'string' && event?.target?.value !== null) {\r\n this.filterOptions();\r\n }\r\n\r\n // Find matching option\r\n const matchingOption = this.field().options?.find((option: any) =>\r\n option.label.toLowerCase() === event?.target?.value.toLowerCase()\r\n );\r\n\r\n if (matchingOption) {\r\n this.selectedOption = matchingOption;\r\n this.onChange(matchingOption.value);\r\n } else {\r\n this.selectedOption = null;\r\n this.onChange(event?.target?.value);\r\n }\r\n\r\n this.onTouched();\r\n this.valueChanged.emit(event?.target?.value);\r\n this.selectionChanged.emit(this.selectedOption);\r\n }\r\n\r\n onFocus(): void {\r\n this.filterOptions();\r\n }\r\n}\r\n"," <label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n <mat-form-field class=\"w-100 show-arrow\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n type=\"text\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [matAutocomplete]=\"auto\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n (input)=\"onInputChangeForReactiveForms($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n type=\"text\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [matAutocomplete]=\"auto\"\r\n [ngModel]=\"inputValue\"\r\n (ngModelChange)=\"onInputChange($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur($event)\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n />\r\n }\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"onOptionSelected($event.option.value)\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{ option.label }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-error>\r\n {{ field().validators.requiredMessage }}\r\n </mat-error>\r\n </mat-form-field>\r\n <div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n </div>\r\n <div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n </div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-multiple-select',\r\n standalone: true,\r\n imports: [\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatChipsModule,\r\n MatIconModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './multiple-select.component.html',\r\n styleUrl: './multiple-select.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: MultipleSelectComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class MultipleSelectComponent implements ControlValueAccessor {\r\n constructor(public masterService : MasterControlService) {}\r\n field: any = input.required<any>();\r\n selectedValues: any = [];\r\n visibleChip: any = [];\r\n remainingCount: any = 0;\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n // Output events for parent component communication\r\n @Output() selectionChange = new EventEmitter<any>();\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n ngOnInit(): void {\r\n // Initialize inputValue with a default or initial value if needed\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n selectionChanged(event: MatSelectChange) {\r\n this.inputValue = event.value;\r\n this.visibleChip = event.value;\r\n this.onChange(event.value);\r\n this.onTouched();\r\n this.onSelectionChange();\r\n this.selectionChange.emit(event.value);\r\n }\r\n\r\n removeItem(item: any) {\r\n const maxVisible = 2;\r\n this.visibleChip = this.visibleChip.filter(\r\n (element: any) => element !== item\r\n );\r\n this.selectedValues = this.selectedValues.filter(\r\n (element: any) => element !== item\r\n );\r\n this.inputValue = this.inputValue.filter(\r\n (element: any) => element !== item\r\n );\r\n const found = this.field().options.find((i:any) => i.label === item);\r\n if (found) {\r\n found.value = false;\r\n }\r\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\r\n this.remainingCount = this.selectedValues.length - maxVisible;\r\n this.onChange(this.inputValue);\r\n this.onTouched();\r\n }\r\n onSelectionChange() {\r\n const maxVisible = 2;\r\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\r\n this.remainingCount = this.selectedValues.length - maxVisible;\r\n }\r\n onSelectOpened(opened: boolean) {\r\n const css = this.field()?.controlStyle;\r\n if (opened) {\r\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\r\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\r\n } else {\r\n document.body.style.removeProperty('--custom-select-option-background-color');\r\n document.body.style.removeProperty('--custom-select-option-font-color');\r\n document.body.style.removeProperty('--custom-select-option-font-weight');\r\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\r\n }\r\n}\r\n\r\n showLabel(option : any) {\r\n let selectedLabel : any = option;\r\n if(!this.masterService.checkIfValueIsEmpty(this.field()?.options)) {\r\n let filteredArr : any = this.field()?.options.filter((singleObj : any) => singleObj['value'] === option);\r\n if(!this.masterService.checkIfValueIsEmpty(filteredArr) && !this.masterService.checkIfValueIsEmpty(filteredArr[0]?.label)) {\r\n selectedLabel = filteredArr[0].label\r\n }\r\n }\r\n return selectedLabel;\r\n }\r\n\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n<mat-form-field\r\n appearance=\"outline\"\r\n class=\"input-full-width full-width w-100 multi-select\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [value]=\"inputValue\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-grid>\r\n @for (option of inputValue; track option) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ showLabel(option) }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip-row>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-grid>\r\n </mat-select-trigger>\r\n @for (option of field()?.options; track option.label) {\r\n <mat-option [value]=\"option.value\">\r\n {{ option.label }} <img *ngIf=\"option.image\" [src]=\"option.image\" alt=\"\" style=\"width:20px; height:20px; float: inline-end;\" />\r\n </mat-option>\r\n }\r\n </mat-select>\r\n }@else {\r\n <mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [value]=\"inputValue\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-grid>\r\n @for (option of inputValue; track option) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ showLabel(option) }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip-row>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-grid>\r\n </mat-select-trigger>\r\n @for (option of field()?.options; track option.label) {\r\n <mat-option [value]=\"option.value\">\r\n {{ option.label }} <img *ngIf=\"option.image\" [src]=\"option.image\" alt=\"\" style=\"width:20px; height:20px; float: inline-end;\" />\r\n </mat-option>\r\n }\r\n </mat-select>\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-select-textbox',\r\n standalone: true,\r\n imports: [MatInputModule, MatSelectModule, MatFormFieldModule, CommonModule, MatInputModule, ReactiveFormsModule],\r\n templateUrl: './select-textbox.component.html',\r\n styleUrl: './select-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SelectTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SelectTextboxComponent {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n selectValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n constructor(public masterControlService : MasterControlService) {}\r\n\r\n writeValue(obj: any): void{\r\n if (obj && typeof obj === 'object') {\r\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(obj.textValue, true) : (obj.textValue || null);\r\n this.selectValue = obj.selectValue || null;\r\n } else {\r\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(obj, true) : (obj || null);;\r\n }\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n if(this.field()?.configData?.isAllowNumbersInTextFields) {\r\n // Remove any non-numeric characters from the input\r\n let numericValue = event.target.value.replace(/[^0-9]/g, '');\r\n event.target.value = numericValue;\r\n event.target.value = numericValue;\r\n }\r\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(event.target.value, true) : event.target.value;\r\n this.emitValue();\r\n }\r\n\r\n onSelectChange(event: MatSelectChange): void {\r\n this.selectValue = event.value;\r\n this.emitValue();\r\n }\r\n\r\n private emitValue(): void {\r\n const value = {\r\n textValue: this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(this.inputValue, true) : this.inputValue,\r\n selectValue: this.selectValue\r\n };\r\n this._onChange(value);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n\r\n onSelectOpened(opened: boolean) {\r\n const css = this.field()?.controlStyle;\r\n if (opened) {\r\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\r\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\r\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\r\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\r\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\r\n } else {\r\n document.body.style.removeProperty('--custom-select-option-background-color');\r\n document.body.style.removeProperty('--custom-select-option-font-color');\r\n document.body.style.removeProperty('--custom-select-option-font-weight');\r\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\r\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\r\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\r\n }\r\n}\r\n\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 auto-width\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n@if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n class=\"vertically-align-middle\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n}@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n class=\"vertically-align-middle\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n}\r\n <span matPrefix class=\"rupee-symbol\">₹</span>\r\n <div matSuffix class=\"input-select\">\r\n <!-- <mat-form-field> -->\r\n <mat-select\r\n [value]=\"selectValue\"\r\n [disabled]=\"field()?.configData?.isDisableDropdown\"\r\n (selectionChange)=\"onSelectChange($event)\"\r\n (openedChange)=\"onSelectOpened($event)\">\r\n <mat-option *ngFor=\"let options of field()?.options\" [value]=\"options.value\">\r\n {{ options.label }}\r\n </mat-option>\r\n </mat-select>\r\n <!-- </mat-form-field> -->\r\n </div>\r\n <!-- <span matSuffix class=\"mx-3 right-amount-text\"> ₹ 3.50 L </span> -->\r\n</mat-form-field>\r\n","import { Component, input } from '@angular/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-otp-textbox',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatCheckboxModule,\r\n MatSelectModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './otp-textbox.component.html',\r\n styleUrl: './otp-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: OtpTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class OtpTextboxComponent {\r\nconstructor(){}\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n <div matSuffix class=\"get-otp mx-2\">\r\n <span class=\"mt-2\">Get OTP</span>\r\n </div>\r\n <div matSuffix class=\"verity-otp mx-2\" *ngIf=\"false\">\r\n <span class=\"mx-1\">Verify</span>\r\n </div>\r\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\r\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\r\n </span>\r\n</mat-form-field>\r\n<div >\r\n <span class=\"checkbox-tag\">Tag as:</span>\r\n <span *ngFor=\"let options of field()?.options\" class=\"checkbox\">\r\n <mat-checkbox class=\"optional-checkbox\">\r\n {{options.label}}\r\n </mat-checkbox>\r\n </span>\r\n</div>\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-amount-textbox',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatInputModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './amount-textbox.component.html',\r\n styleUrl: './amount-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: AmountTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AmountTextboxComponent implements ControlValueAccessor {\r\n constructor(public sharedService : MasterControlService){}\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n get isCommaAdded(): any {\r\n return this.field()?.configData?.isCommaAllowed !== undefined ?\r\n this.field()?.configData?.isCommaAllowed : true;\r\n }\r\n\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n // ControlValueAccessor implementation\r\n writeValue(obj: any): void {\r\n if (obj !== null && obj !== undefined) {\r\n const rawValue = obj.toString();\r\n this.inputValue = rawValue;\r\n } else {\r\n this.inputValue = null;\r\n }\r\n }\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n const inputElement = event.target;\r\n const cursorPosition = inputElement.selectionStart;\r\n const oldValue = inputElement.value;\r\n const rawValue = oldValue.replace(/,/g, '');\r\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\r\n this.inputValue = rawValue;\r\n if (this.isCommaAdded && rawValue && !isNaN(parseFloat(rawValue))) {\r\n const formattedValue = this.sharedService.addComasToNumberValues(rawValue);\r\n const newCursorPosition = this.calculateNewCursorPosition(\r\n oldValue,\r\n formattedValue,\r\n cursorPosition\r\n );\r\n inputElement.value = formattedValue;\r\n setTimeout(() => {\r\n inputElement.setSelectionRange(newCursorPosition, newCursorPosition);\r\n }, 0);\r\n }\r\n this._onChange(this.inputValue);\r\n } else {\r\n const revertValue = this.isCommaAdded && this.inputValue ?\r\n this.sharedService.addComasToNumberValues(this.inputValue) : this.inputValue || '';\r\n inputElement.value = revertValue;\r\n setTimeout(() => {\r\n const safeCursorPos = Math.min(cursorPosition, revertValue.length);\r\n inputElement.setSelectionRange(safeCursorPos, safeCursorPos);\r\n }, 0);\r\n }\r\n }\r\n\r\n onInputBlur(event?: any): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n onKeyDown(event: KeyboardEvent): void {\r\n const inputElement = event.target as HTMLInputElement;\r\n const cursorPosition = inputElement.selectionStart || 0;\r\n const value = inputElement.value;\r\n if (event.key === 'Backspace' && cursorPosition > 0) {\r\n if (value[cursorPosition - 1] === ',') {\r\n event.preventDefault();\r\n const newValue = value.substring(0, cursorPosition - 2) + value.substring(cursorPosition);\r\n const rawValue = newValue.replace(/,/g, '');\r\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\r\n this.inputValue = rawValue;\r\n const formattedValue = this.isCommaAdded && rawValue ? this.sharedService.addComasToNumberValues(rawValue) : rawValue;\r\n inputElement.value = formattedValue;\r\n setTimeout(() => {\r\n const newCursorPos = Math.max(0, cursorPosition - 2);\r\n inputElement.setSelectionRange(newCursorPos, newCursorPos);\r\n }, 0);\r\n\r\n this._onChange(this.inputValue);\r\n }\r\n }\r\n }\r\n if (event.key === 'Delete' && cursorPosition < value.length) {\r\n if (value[cursorPosition] === ',') {\r\n event.preventDefault();\r\n if (cursorPosition + 1 < value.length) {\r\n const newValue = value.substring(0, cursorPosition) + value.substring(cursorPosition + 2);\r\n const rawValue = newValue.replace(/,/g, '');\r\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\r\n this.inputValue = rawValue;\r\n const formattedValue = this.isCommaAdded && rawValue ? this.sharedService.addComasToNumberValues(rawValue) : rawValue;\r\n inputElement.value = formattedValue;\r\n setTimeout(() => {\r\n inputElement.setSelectionRange(cursorPosition, cursorPosition);\r\n }, 0);\r\n this._onChange(this.inputValue);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Add commas to number for Indian format\r\n // addCommasToNumber(value: any | number): any {\r\n // if (!value || value === '') return '';\r\n // const stringValue = value.toString();\r\n // const parts = stringValue.split('.');\r\n // let integerPart = parts[0];\r\n // if (integerPart.length > 3) {\r\n // const lastThreeDigits = integerPart.slice(-3);\r\n // const remainingDigits = integerPart.slice(0, -3);\r\n // const formattedRemaining = remainingDigits.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',');\r\n // integerPart = formattedRemaining + ',' + lastThreeDigits;\r\n // }\r\n\r\n // return parts[1] ? integerPart + '.' + parts[1] : integerPart;\r\n // }\r\n calculateNewCursorPosition(oldValue: string, newValue: string, oldCursorPosition: number): number {\r\n if (oldCursorPosition === 0) {\r\n return 0;\r\n }\r\n if (oldCursorPosition >= oldValue.length) {\r\n return newValue.length;\r\n }\r\n let digitsBeforeCursor = 0;\r\n for (let i = 0; i < oldCursorPosition; i++) {\r\n const char = oldValue[i];\r\n if (char !== ',') {\r\n digitsBeforeCursor++;\r\n }\r\n }\r\n let digitCount = 0;\r\n let newPosition = 0;\r\n for (let i = 0; i < newValue.length; i++) {\r\n const char = newValue[i];\r\n if (char !== ',') {\r\n digitCount++;\r\n if (digitCount === digitsBeforeCursor) {\r\n newPosition = i + 1;\r\n break;\r\n }\r\n }\r\n if (digitCount < digitsBeforeCursor) {\r\n newPosition = i + 1;\r\n }\r\n }\r\n return Math.min(newPosition, newValue.length);\r\n }\r\n\r\n // Get the display value with commas if enabled\r\n getDisplayValue(): any {\r\n if (!this.inputValue) return '';\r\n if (this.isCommaAdded && !isNaN(parseFloat(this.inputValue))) {\r\n return this.sharedService.addComasToNumberValues(this.inputValue);\r\n }\r\n return this.inputValue;\r\n }\r\n\r\n // Format amount to Indian currency format\r\n formatIndianCurrency(amount: number | string): string {\r\n if (!amount || amount === '') return '';\r\n\r\n const numAmount = typeof amount === 'string' ? parseFloat(amount.replace(/,/g, '')) : amount;\r\n if (isNaN(numAmount) || numAmount === 0) return '₹';\r\n if (numAmount >= 10000000) {\r\n const crores = (numAmount / 10000000).toFixed(2);\r\n return `₹ ${crores} Cr`;\r\n } else if (numAmount >= 100000) {\r\n const lakhs = (numAmount / 100000).toFixed(2);\r\n return `₹ ${lakhs} L`;\r\n } else if (numAmount >= 1000) {\r\n const thousands = (numAmount / 1000).toFixed(2);\r\n return `₹ ${thousands} K`;\r\n } else {\r\n return `₹ ${numAmount.toFixed(2)}`;\r\n }\r\n }\r\n\r\n // Get formatted display value\r\n getFormattedAmount(): string {\r\n return this.formatIndianCurrency(this.sharedService.removeComasAndCurrencySymbolFromNumberValues(this.inputValue));\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\"\r\n >{{ field().label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n <mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n<input\r\n matInput\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"getDisplayValue()\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"getDisplayValue()\"\r\n />\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n <span matPrefix class=\"rupee-symbol px-2\">₹</span>\r\n <span matSuffix class=\"me-2 right-amount-text\" *ngIf=\"inputValue\">{{ getFormattedAmount() }}</span>\r\n </mat-form-field>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\r\n\r\n@Component({\r\n selector: 'lib-suffix-textbox',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n ReactiveFormsModule,\r\n CustomizedTooltipDirective\r\n ],\r\n templateUrl: './suffix-textbox.component.html',\r\n styleUrl: './suffix-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SuffixTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SuffixTextboxComponent {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span>\r\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\r\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\r\n </span>\r\n <ng-template #HtmlContent>\r\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\r\n </ng-template>\r\n</label>\r\n<mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n <input matInput autocomplete=\"none\" [type]=\"field()?.controlType\" [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\" [placeholder]=\"field()?.placeHolder\" [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\" [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\" [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\" (blur)=\"onInputBlur()\" [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\" />\r\n }@else {\r\n <input matInput autocomplete=\"none\" [type]=\"field()?.controlType\" [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\" [placeholder]=\"field()?.placeHolder\" [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\" [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\" [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\" (blur)=\"onInputBlur()\" [value]=\"inputValue\" />\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\r\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\r\n </span>\r\n <span matSuffix class=\"mx-3 right-input-text\" *ngIf=\"field().configData?.suffix\"> {{field().configData?.suffix}}\r\n </span>\r\n</mat-form-field>\r\n<div *ngIf=\"field().configData?.isShowTagAs\">\r\n <span class=\"checkbox-tag\">Tag as:</span>\r\n <span *ngFor=\"let option of field()?.options\" class=\"checkbox\">\r\n <mat-checkbox class=\"optional-checkbox\">\r\n {{ option.label }}\r\n </mat-checkbox>\r\n </span>\r\n</div>\r\n<div *ngIf=\"field().configData?.infoMessage\">\r\n <span class=\"below-input-text\">{{field().configData?.infoMessage}}</span>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-otp-mob-number',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './otp-mob-number.component.html',\r\n styleUrl: './otp-mob-number.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: OtpMobNumberComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class OtpMobNumberComponent {\r\n CountryCode: any = '+91';\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 mobile-field\"\r\n appearance=\"outline\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\r\n <div class=\"d-flex countryCode\">\r\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\r\n /></span>\r\n </div>\r\n </div>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n}\r\n \r\n <div matSuffix class=\"get-otp mx-2\">\r\n <span class=\"mt-2\">Get OTP</span>\r\n </div>\r\n <div matSuffix class=\"verity-otp mx-2\" *ngIf=\"false\">\r\n <span class=\"mx-1\">Verify</span>\r\n </div>\r\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\r\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\r\n </span>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<span class=\"success-text\" *ngIf=\"false\">Phone Number Verified</span>\r\n<span class=\"success-text\">\r\n <img src=\"https://cdn.godigit.com/retail-life/otp-circle-oui.svg\" alt=\"\" />\r\n OTP Sent\r\n</span>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-tag-mob-number',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatCheckboxModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './tag-mob-number.component.html',\r\n styleUrl: './tag-mob-number.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TagMobNumberComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TagMobNumberComponent {\r\n CountryCode: any = '+91';\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 mobile-field\"\r\n appearance=\"outline\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\r\n <div class=\"d-flex countryCode\">\r\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\r\n /></span>\r\n </div>\r\n </div>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n autocomplete=\"none\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n}\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div>\r\n <span class=\"checkbox-tag\">Tag as:</span>\r\n <span *ngFor=\"let option of field()?.options\" class=\"checkbox\">\r\n <mat-checkbox class=\"optional-checkbox\">\r\n {{ option.label }}\r\n </mat-checkbox>\r\n </span>\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, AfterViewChecked, Output, EventEmitter } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MomentDateModule } from '@angular/material-moment-adapter';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-age-date',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatDatepickerModule,\r\n MomentDateModule,\r\n ReactiveFormsModule\r\n ],\r\n providers: [{ provide: MAT_DATE_FORMATS, useValue: {\r\n parse: {\r\n dateInput: [\r\n 'DD-MM-YYYY',\r\n 'DD/MM/YYYY',\r\n 'YYYY/MM/DD',\r\n 'MM/DD/YYYY',\r\n 'DD MMM YYYY',\r\n 'DD MMMM YYYY',\r\n 'DD-MMM-YYYY',\r\n ],\r\n },\r\n display: {\r\n dateInput: 'DD/MMM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'DD/MMM/YYYY',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n }\r\n },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: AgeDateComponent,\r\n multi: true\r\n },\r\n],\r\n templateUrl: './age-date.component.html',\r\n styleUrl: './age-date.component.css',\r\n})\r\nexport class AgeDateComponent implements AfterViewChecked {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n age : any = null;\r\n @Output() blur = new EventEmitter<any>();\r\n @Output() valueChange = new EventEmitter<any>();\r\n @Output() dateSelected = new EventEmitter<any>();\r\n @Output() invalidDate = new EventEmitter<any>();\r\n constructor(public service : MasterControlService) {}\r\n\r\n ngAfterViewChecked(): void {\r\n if (this.inputValue) {\r\n this.calculateAge(this.inputValue);\r\n }\r\n }\r\n\r\n dateDivisionFormat(event: any) {\r\n let value = event.target.value;\r\n let evt = event.target;\r\n if (evt.value.length > 2 && !evt.value.substr(2, 1).includes('/')) {\r\n evt.value = [evt.value.slice(0, 2), '/', evt.value.slice(2)].join('');\r\n } else if (\r\n evt.value.length > 5 &&\r\n Number(evt.value.substr(3, 2)) &&\r\n !evt.value.substr(5, 1).includes('/')\r\n ) {\r\n evt.value = [evt.value.slice(0, 5), '/', evt.value.slice(5)].join('');\r\n } else if (\r\n evt.value.length > 6 &&\r\n !Number(evt.value.substr(3, 2)) &&\r\n !evt.value.substr(6, 1).includes('/')\r\n ) {\r\n evt.value = [evt.value.slice(0, 6), '/', evt.value.slice(6)].join('');\r\n }\r\n\r\n // value = value.replace(/[^a-zA-Z0-9]/g, '');\r\n\r\n // if (value.length > 2 && value.indexOf('/') === -1) {\r\n // value = value.substring(0, 2) + '/' + value.substring(2);\r\n // }\r\n // if (value.length > 6 && value.indexOf('/', 3) === -1) {\r\n // value = value.substring(0, 6) + '/' + value.substring(6);\r\n // }\r\n\r\n // event.target.value = value;\r\n }\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n if (event.value) {\r\n this.inputValue = event.value;\r\n this._onChange(this.inputValue);\r\n this.calculateAge(event.value);\r\n } else {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n this.dateSelected.emit({\r\n formattedValue: this.inputValue,\r\n dateObject: this.inputValue,\r\n isValid: true,\r\n source: 'datepicker'\r\n });\r\n this.valueChange.emit(this.inputValue);\r\n }\r\n\r\n onInputBlur(event : any): void {\r\n if (!this.service.checkIfValueIsEmpty(event.target.value)) {\r\n if (isNaN(Date.parse(event.target.value))) {\r\n event.target.value = '';\r\n } else {\r\n this.calculateAge(event.target.value);\r\n }\r\n }\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n\r\n calculateAge(birthDate: Date) {\r\n const today = new Date();\r\n const birthdate = new Date(birthDate);\r\n let age = today.getFullYear() - birthdate.getFullYear();\r\n const monthDiff = today.getMonth() - birthdate.getMonth();\r\n const days_difference = today.getDate() - birthdate.getDate();\r\n if (monthDiff < 0 || (monthDiff === 0 && days_difference < 0)) {\r\n age = age - 1;\r\n }\r\n this.age = age;\r\n }\r\n\r\n\r\n}\r\n","<label *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n [matDatepicker]=\"picker\"\r\n (keyup)=\"dateDivisionFormat($event)\"\r\n [disabled]=\"field()?.isDisable\"\r\n [min]=\"field()?.configData?.min\"\r\n [max]=\"field()?.configData?.max\"\r\n (dateChange)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else{\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"field()?.configData?.min\"\r\n [max]=\"field()?.configData?.max\"\r\n (keyup)=\"dateDivisionFormat($event)\"\r\n [disabled]=\"field()?.isDisable\"\r\n (dateChange)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n <span matSuffix class=\"right-date-text\" *ngIf=\"!this.service.checkIfValueIsEmpty(age) && !this.service.checkIfValueIsEmpty(inputValue) && age >= 0\">\r\n ({{ age }}) yrs\r\n </span>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" *ngIf=\"true\">\r\n <img\r\n src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/date_picker_icon.svg\"\r\n style=\"width: 16px\"\r\n matDatepickerToggleIcon\r\n />\r\n </mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-addition-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './addition-button.component.html',\r\n styleUrl: './addition-button.component.css'\r\n})\r\nexport class AdditionButtonComponent {\r\nfield: any = input.required<any>();\r\n}\r\n","<Button class=\"additional-button\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"\r\n{\r\n '--button-border': field()?.controlStyle?.borderWidth ,\r\n '--button-width': field()?.controlStyle?.width ,\r\n '--button-font-size': field()?.controlStyle?.fontSize ,\r\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--button-background': field()?.controlStyle?.background ,\r\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--button-text-color': field()?.controlStyle?.color ,\r\n}\">\r\n <span class=\"additional-button-text\">\r\n <img\r\n class=\"additional-button-img\"\r\n [src]=\"field()?.imageUrl\"\r\n />\r\n <span\r\n ><u>{{ field()?.label }}</u></span\r\n >\r\n </span>\r\n</Button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, input, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-info-textbox',\r\n standalone: true,\r\n imports: [\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatInputModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './info-textbox.component.html',\r\n styleUrl: './info-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InfoTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoTextboxComponent implements ControlValueAccessor {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n @Input() fields: any;\r\n @Output() infoClick = new EventEmitter<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n handleWhereToFindClick(): void {\r\n this.infoClick.emit({ field: this.field });\r\n }\r\n}\r\n","<label class=\"field-lable info-label\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}\r\n <!-- <span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n > -->\r\n <span style=\"justify-content: end;\">\r\n <img class=\"mx-1\" *ngIf=\"field()?.configData?.imageURL\" [src]=\"field()?.configData?.imageURL\" alt=\"\">\r\n <u style=\"cursor: pointer;\" (click)=\"handleWhereToFindClick()\">{{field()?.configData?.infoMsg}}</u></span>\r\n </label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n<input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n \r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-textbox-with-image',\r\n standalone: true,\r\n imports: [MatInputModule, MatFormFieldModule, CommonModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './textbox-with-image.component.html',\r\n styleUrl: './textbox-with-image.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextboxWithImageComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TextboxWithImageComponent {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n // Declare Output event emitter here (class level)\r\n @Output() blur = new EventEmitter<any>();\r\n \r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = this.field()?.configData?.isTextCapitalized ? (event.target.value).toUpperCase() : event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event?: any): void {\r\n this._unTouched();\r\n // Emit the blur event to parent component\r\n this.blur.emit(event);\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n@if(reactiveFormControlobject()) {\r\n<input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n}@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n />\r\n}\r\n \r\n <span matSuffix class=\"mx-3\">\r\n <img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl' alt=\"\" />\r\n <!-- \"https://cdn.godigit.com/retail-life/location.svg\" -->\r\n </span>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-email-with-domain',\r\n standalone: true,\r\n imports: [CommonModule, MatInputModule, MatFormFieldModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './email-with-domain.component.html',\r\n styleUrl: './email-with-domain.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EmailWithDomainComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class EmailWithDomainComponent {\r\npincode: any = '';\r\n emailUser:any='';\r\n emailDomain:any='';\r\n\r\n field: any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n inputValue: any = null;\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n <mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\">\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n class=\"email-left-side\"\r\n [name]=\"field()?.fieldName + '_1'\"\r\n [id]=\"field()?.fieldName + '_1'\"\r\n [type]=\"field()?.controlType\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n class=\"email-left-side\"\r\n [name]=\"field()?.fieldName + '_1'\"\r\n [id]=\"field()?.fieldName + '_1'\"\r\n [type]=\"field()?.controlType\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n <span class=\"email-between\">@</span>\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [name]=\"field()?.fieldName + '_2'\"\r\n [id]=\"field()?.fieldName + '_2'\"\r\n placeholder=\"domain.com\"\r\n class=\"email-right-side\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n />\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n </mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-image-upload',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './image-upload.component.html',\r\n styleUrl: './image-upload.component.css'\r\n})\r\nexport class ImageUploadComponent {\r\n field : any = input.required<any>();\r\n}\r\n","\r\n<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}</label>\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n #fileInput\r\n (click)=\"(fileInput.value)\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn\"\r\n (click)=\"fileInput.click()\"\r\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--upload-width': field()?.controlStyle?.width ,\r\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--upload-border-color': field()?.controlStyle?.borderColor ,\r\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\r\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\r\n'--upload-background-color': field()?.controlStyle?.background ,\r\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\r\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\r\n}\"\r\n >\r\n <ng-container *ngIf=\"field()?.label; else policyHolderPanFileNotEmpty\">\r\n <span class=\"upload-icon\">\r\n <span\r\n ><img\r\n src=\"https://cdn.godigit.com/retail-life/Upload_Icon.svg\"\r\n alt=\"\"\r\n class=\"mb-1\"\r\n /></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.label }}</span>\r\n </span>\r\n </ng-container>\r\n <ng-template #policyHolderPanFileNotEmpty>\r\n <span class=\"mt-2 right-icon\">\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/Tickmark.svg\" alt=\"\"\r\n /></span>\r\n <span title=\"uploaded file\">uploaded file</span>\r\n </span>\r\n <div class=\"mt-2 left-icon\">\r\n <span\r\n ><img\r\n src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\"\r\n alt=\"\"\r\n /></span>\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"\r\n /></span>\r\n </div>\r\n </ng-template>\r\n </button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-download-document',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './download-document.component.html',\r\n styleUrl: './download-document.component.css'\r\n})\r\nexport class DownloadDocumentComponent {\r\n field : any = input.required<any>();\r\n}\r\n","<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}</label>\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n #fileInput\r\n (click)=\"(fileInput.value)\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn lightbackground\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--upload-width': field()?.controlStyle?.width ,\r\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--upload-border-color': field()?.controlStyle?.borderColor ,\r\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\r\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\r\n'--upload-background-color': field()?.controlStyle?.background ,\r\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\r\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\r\n}\"\r\n >\r\n <span class=\"upload-icon\">\r\n <span\r\n ><img\r\n src=\"https://cdn.godigit.com/retail-life/Download_Icon.svg\"\r\n alt=\"\"\r\n class=\"mb-1\"\r\n /></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.label }}</span>\r\n </span>\r\n </button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-add-document',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './add-document.component.html',\r\n styleUrl: './add-document.component.css'\r\n})\r\nexport class AddDocumentComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field().label}}</label>\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n #fileInput\r\n (click)=\"(fileInput.value)\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn add-document-btn\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--add-doc-border-color': field()?.controlStyle?.borderColor ,\r\n'--add-doc-border-width': field()?.controlStyle?.borderWidth ,\r\n'--add-doc-border-style': field()?.controlStyle?.borderStyle ,\r\n'--add-doc-background': field()?.controlStyle?.background \r\n}\"\r\n >\r\n <span class=\"add-icon\">\r\n <span\r\n ><img class=\"mb-1\" src=\"https://cdn.godigit.com/retail-life/add.svg\"></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.label }}</span>\r\n <span class=\"light-font\">(optional)</span>\r\n </span>\r\n </button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-hyperlink',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './hyperlink.component.html',\r\n styleUrl: './hyperlink.component.css'\r\n})\r\nexport class HyperlinkComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<u *ngIf=\"field() && field()?.isVisible\" class=\"hyperlink\" [ngStyle]=\"{\r\n'--hyperlink-font-color': field()?.controlStyle?.color,\r\n'--hyperlink-font-size': field()?.controlStyle?.fontSize,\r\n'--hyperlink-font-weight': field()?.controlStyle?.fontWeight\r\n}\">\r\n <a href=\"Hyper_link\" *ngIf=\"field()?.label && field()?.isShowLabel\">{{field()?.label}}</a></u\r\n>\r\n<img *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-textbox-with-underscore',\r\n standalone: true,\r\n imports: [CommonModule, MatInputModule, MatFormFieldModule, ReactiveFormsModule],\r\n templateUrl: './textbox-with-underscore.component.html',\r\n styleUrl: './textbox-with-underscore.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextboxWithUnderscoreComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TextboxWithUnderscoreComponent {\r\n field: any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n\r\n changeFormat(event: any) {\r\n let digits = event.target.value.replace(/[^0-9]/g, '').slice(0, this.field().validators.maxLength);\r\n let padded = digits.padEnd(this.field().validators.maxLength, '_');\r\n event.target.value = padded;\r\n\r\n setTimeout(() => {\r\n let pos = digits.length;\r\n if (pos > this.field().validators.maxLength) pos = this.field().validators.maxLength;\r\n event.target.setSelectionRange(pos, pos);\r\n });\r\n }\r\n getUnderscorePlaceholder() {\r\n return '_'.repeat(this.field().validators.maxLength);\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 hyphen-input\"\r\n appearance=\"outline\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [placeholder]=\"getUnderscorePlaceholder()\"\r\n (keyup)=\"changeFormat($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [placeholder]=\"getUnderscorePlaceholder()\"\r\n (keyup)=\"changeFormat($event)\"\r\n />\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\n\r\n@Component({\r\n selector: 'lib-underscore-mob-number',\r\n standalone: true,\r\n imports: [CommonModule, MatInputModule, MatFormFieldModule, MatSelectModule, MatOptionModule, ReactiveFormsModule],\r\n templateUrl: './underscore-mob-number.component.html',\r\n styleUrl: './underscore-mob-number.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: UnderscoreMobNumberComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class UnderscoreMobNumberComponent {\r\nCountryCode: any = '+91';\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n \r\n changeFormat(event: any) {\r\n let digits = event.target.value.replace(/[^0-9]/g, '').slice(0, this.field().validators.maxLength);\r\n let padded = digits.padEnd(this.field().validators.maxLength, '_');\r\n event.target.value = padded;\r\n\r\n setTimeout(() => {\r\n let pos = digits.length;\r\n if (pos > this.field().validators.maxLength) pos = this.field().validators.maxLength;\r\n event.target.setSelectionRange(pos, pos);\r\n });\r\n }\r\n getUnderscorePlaceholder() {\r\n return '_'.repeat(this.field().validators.maxLength);\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100 mobile-field hyphen-input\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\r\n <div class=\"d-flex countryCode\">\r\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\r\n <span\r\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\r\n /></span>\r\n </div>\r\n </div>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [placeholder]=\"getUnderscorePlaceholder()\"\r\n (keyup)=\"changeFormat($event)\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [placeholder]=\"getUnderscorePlaceholder()\"\r\n (keyup)=\"changeFormat($event)\"\r\n />\r\n }\r\n\r\n <span matSuffix class=\"p-3\">\r\n <img src=\"https://cdn.godigit.com/retail-life/edit-icon.svg\" alt=\"\" />\r\n </span>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-icon-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './icon-button.component.html',\r\n styleUrl: './icon-button.component.css',\r\n})\r\nexport class IconButtonComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<Button\r\nclass=\"icon-button\"\r\n*ngIf=\"field() && field()?.isVisible\"\r\n[ngStyle]=\"\r\n{\r\n '--icon-button-border-width': field()?.controlStyle?.borderWidth ,\r\n '--icon-button-border-style': field()?.controlStyle?.borderStyle ,\r\n '--icon-button-border-color': field()?.controlStyle?.borderColor ,\r\n '--icon-button-width': field()?.controlStyle?.width ,\r\n '--icon-button-background': field()?.controlStyle?.background ,\r\n '--icon-button-border-radius': field()?.controlStyle?.borderRadius ,\r\n}\"\r\n>\r\n<span>\r\n<img [src]=\"field()?.imageUrl ? field()?.imageUrl : 'https://cdn.godigit.com/retail-life/Download_Icon.svg'\"/>\r\n</span>\r\n</Button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-image',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './image.component.html',\r\n styleUrl: './image.component.css'\r\n})\r\nexport class ImageComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<div *ngIf=\"field() && field()?.isVisible\">\r\n <img [src]=\"field()['imageUrl']\" class=\"image-width\" [ngStyle]=\"{'--image-width' : field()?.controlStyle?.width}\"/>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-stepper',\r\n standalone: true,\r\n imports: [MatStepperModule,CommonModule],\r\n templateUrl: './stepper.component.html',\r\n styleUrl: './stepper.component.css'\r\n})\r\nexport class StepperComponent {\r\nfield: any = input.required<any>();\r\nmasterStepper:any;\r\nconstructor(public masterSharedService:MasterControlService){}\r\nngOnInit(){\r\n this.field().editStepper = this.field().configData.stepperData ? this.field().configData.stepperData : this.masterSharedService?.configData?.stepper?.stepperData;\r\n}\r\n}\r\n","<div *ngIf=\"field() && field()?.isVisible\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step>\r\n <ng-template matStepLabel>\r\n <img\r\n class=\"step-img\"\r\n [src]=\"steps.imgIconUrl\"\r\n alt=\"\"\r\n />\r\n <span class=\"step-label mx-2\">{{steps?.displayLabel}}</span>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './card.component.html',\r\n styleUrl: './card.component.css'\r\n})\r\nexport class CardComponent {\r\n field: any = input.required<any>();\r\n @Output() cardDetailsClicked = new EventEmitter<any>();\r\n constructor(public masterSharedService: MasterControlService) { }\r\n\r\n ngOnInit() {\r\n this.field().cardDetails = this.field().configData?.cardDetails ? this.field().configData?.cardDetails : this.masterSharedService?.configData?.policyDisplayCard?.policyDetails;\r\n }\r\n\r\n activeCard(emitData: any) {\r\n const cards = document.querySelectorAll('.endorsement-card');\r\n cards.forEach(card => {\r\n card.addEventListener('click', () => {\r\n cards.forEach(c => c.classList.remove('active'));\r\n card.classList.add('active');\r\n });\r\n });\r\n let passcardData: any = {\r\n \"cardData\": emitData,\r\n \"filedData\": this.field()\r\n }\r\n this.cardDetailsClicked.emit(passcardData);\r\n }\r\n\r\n}\r\n","<div class=\"grid-container-card\" *ngIf=\"field() && field()?.isVisible\">\r\n <div class=\"endorsement-card\" [ngStyle]=\"{\r\n '--card-border-color': field()?.controlStyle?.borderColor ,\r\n '--card-border-width': field()?.controlStyle?.borderWidth ,\r\n '--card-border-style': field()?.controlStyle?.borderStyle ,\r\n '--card-border-radius': field()?.controlStyle?.borderRadius \r\n }\" *ngFor=\"let policyDetails of field().cardDetails; let i = index\" (click)=\"activeCard(policyDetails)\">\r\n <p class=\"m-0 card-label\" [ngStyle]=\"{\r\n '--card-font-size': field()?.controlStyle?.fontSize ,\r\n '--card-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--card-font-color': field()?.controlStyle?.color ,}\">{{policyDetails?.policyHolderName}}</p>\r\n <hr class=\"m-0 hr-line mt-1\" />\r\n <div class=\"d-flex gap-2 mt-1\">\r\n <span>\r\n <img src=\"https://cdn.godigit.com/retail-life/Endorsement-add-ons.svg\" alt=\"\" />\r\n </span>\r\n <span>\r\n <p class=\"m-0 card-label\">{{policyDetails?.policyType}}</p>\r\n <span class=\"below-card-text\">{{policyDetails?.policyNumber}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-hr-line',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './hr-line.component.html',\r\n styleUrl: './hr-line.component.css'\r\n})\r\nexport class HrLineComponent {\r\nfield: any = input.required<any>();\r\n}\r\n","<div class=\"\">\r\n <div class=\"hr-with-text\" [ngStyle]=\"{\r\n '--hr-line-border-width': field()?.controlStyle?.borderWidth,\r\n '--hr-line-border-color': field()?.controlStyle?.borderColor,\r\n '--hr-line-border-style': field()?.controlStyle?.borderStyle\r\n}\">\r\n <span class=\"hr-text\" [ngStyle]=\"{\r\n '--hr-text-color': field()?.controlStyle?.color,\r\n '--hr-text-weight': field()?.controlStyle?.fontWeight,\r\n '--hr-text-size': field()?.controlStyle?.fontSize\r\n}\"\r\n*ngIf=\"field()?.configData?.hrText\">{{field()?.configData?.hrText}}</span>\r\n</div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\n\r\n@Component({\r\n selector: 'lib-search-multi-select',\r\n standalone: true,\r\n imports: [\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n MatChipsModule,\r\n MatIconModule,\r\n FormsModule,\r\n MatInputModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './search-multi-select.component.html',\r\n styleUrl: './search-multi-select.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SearchMultiSelectComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SearchMultiSelectComponent {\r\n field: any = input.required<any>();\r\n selectedValues: any = [];\r\n visibleChip: any = [];\r\n remainingCount: any = 0;\r\n searchText: any = '';\r\n filteredOptions: any = [];\r\n inputValue: any = null;\r\n reactiveFormControlobject : any = input<any>();\r\n ngOnInit() {\r\n this.filteredOptions = this.field().options;\r\n }\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n selectionChanged(event: MatSelectChange) {\r\n this.inputValue = event.value;\r\n this.onChange(event.value);\r\n this.onTouched();\r\n }\r\n setDisabledState?(isDisabled: boolean): void {}\r\n\r\n removeItem(item: any) {\r\n const maxVisible = 2;\r\n this.visibleChip = this.visibleChip.filter(\r\n (element: any) => element !== item\r\n );\r\n this.selectedValues = this.selectedValues.filter(\r\n (element: any) => element !== item\r\n );\r\n const found = this.field().options.find((i: any) => i.label === item);\r\n if (found) {\r\n found.value = false;\r\n }\r\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\r\n this.remainingCount = this.selectedValues.length - maxVisible;\r\n }\r\n onSelectionChange() {\r\n const maxVisible = 2;\r\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\r\n this.remainingCount = this.selectedValues.length - maxVisible;\r\n }\r\n\r\n filterOptions() {\r\n if (!this.searchText) {\r\n this.filteredOptions = this.field().options;\r\n return;\r\n }\r\n const filterValue = this.searchText.toLowerCase();\r\n this.filteredOptions = this.field().options.filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n onSelectOpened(opened: boolean) {\r\n const css = this.field()?.controlStyle;\r\n if (opened) {\r\n document.body.style.setProperty(\r\n '--custom-select-option-background-color',\r\n css?.dropdownOptionBgColor || '#fff'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-font-color',\r\n css?.dropdownOptionColor || '#444'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-font-weight',\r\n css?.dropdownOptionFontWeight || '400'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-background-color-focus',\r\n css?.focusDropdownOptionBgColor || '#fff'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-font-color-focus',\r\n css?.focusDropdownOptionColor || '#444'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-font-weight-focus',\r\n css?.focusDropdownOptionFontWeight || '400'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-border-left-focus',\r\n css?.focusDropdownOptionBorderLeft || '#ffbb00'\r\n );\r\n document.body.style.setProperty(\r\n '--custom-select-option-border-radius-focus',\r\n css?.focusDropdownOptionBorderRadius || '#ffbb00'\r\n );\r\n } else {\r\n document.body.style.removeProperty(\r\n '--custom-select-option-background-color'\r\n );\r\n document.body.style.removeProperty('--custom-select-option-font-color');\r\n document.body.style.removeProperty('--custom-select-option-font-weight');\r\n document.body.style.removeProperty(\r\n '--custom-select-option-background-color-focus'\r\n );\r\n document.body.style.removeProperty(\r\n '--custom-select-option-font-color-focus'\r\n );\r\n document.body.style.removeProperty(\r\n '--custom-select-option-font-weight-focus'\r\n );\r\n document.body.style.removeProperty(\r\n '--custom-select-option-border-left-focus'\r\n );\r\n document.body.style.removeProperty(\r\n '--custom-select-option-border-radius-focus'\r\n );\r\n }\r\n }\r\n}\r\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n appearance=\"outline\"\r\n class=\"input-full-width full-width w-100 multi-select\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n '--custom-border-color': field()?.controlStyle?.borderColor ,\r\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--custom-bg-color': field()?.controlStyle?.background ,\r\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n }\"\r\n>\r\n@if(reactiveFormControlobject()) {\r\n<mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [(value)]=\"selectedValues\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-listbox>\r\n @for (option of visibleChip; track option) {\r\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ option }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-listbox>\r\n </mat-select-trigger>\r\n <div class=\"select-container\">\r\n <mat-optgroup>\r\n <mat-form-field\r\n class=\"input-full-width full-width w-100 multiselect-search\"\r\n >\r\n <input\r\n matInput\r\n #search\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filterOptions()\"\r\n />\r\n </mat-form-field>\r\n </mat-optgroup>\r\n @for (option of filteredOptions; track option.label) {\r\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </div>\r\n </mat-select>\r\n}@else {\r\n <mat-select\r\n multiple\r\n [id]=\"field()?.fieldName\"\r\n [attr.name]=\"field()?.fieldName\"\r\n [(value)]=\"selectedValues\"\r\n (selectionChange)=\"onSelectionChange()\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [disabled]=\"field()?.isDisable\"\r\n (openedChange)=\"onSelectOpened($event)\"\r\n [value]=\"inputValue\"\r\n >\r\n <mat-select-trigger>\r\n <mat-chip-listbox>\r\n @for (option of visibleChip; track option) {\r\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\r\n {{ option }}\r\n <mat-icon matChipRemove>close</mat-icon>\r\n </mat-chip>\r\n }\r\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\r\n </mat-chip-listbox>\r\n </mat-select-trigger>\r\n <div class=\"select-container\">\r\n <mat-optgroup>\r\n <mat-form-field\r\n class=\"input-full-width full-width w-100 multiselect-search\"\r\n >\r\n <input\r\n matInput\r\n #search\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"filterOptions()\"\r\n />\r\n </mat-form-field>\r\n </mat-optgroup>\r\n @for (option of filteredOptions; track option.label) {\r\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\r\n {{ option.label }}\r\n </mat-option>\r\n }\r\n </div>\r\n </mat-select>\r\n}\r\n \r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.requiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-subscript-textbox',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule ,\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './subscript-textbox.component.html',\r\n styleUrl: './subscript-textbox.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: SubscriptTextboxComponent,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SubscriptTextboxComponent {\r\n inputValue: any = null;\r\n field : any = input.required<any>();\r\n reactiveFormControlobject : any = input<any>();\r\n\r\n _onChange: any = (inputValue:any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void{\r\n this.inputValue=obj;\r\n };\r\n registerOnChange(fn: any): void{\r\n this._onChange = fn;\r\n };\r\n registerOnTouched(fn: any): void{\r\n this._unTouched = fn;\r\n };\r\n setDisabledState?(isDisabled: boolean): void{};\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(): void {\r\n this._unTouched();\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n\r\n <p class=\"years-text\" *ngIf=\"inputValue\">Years</p>\r\n <p class=\"textbox-subscript\">till 2026</p>\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div>\r\n <span class=\"below-input-text\">{{field()?.configData?.subscriptText}}</span>\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'lib-label',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './label.component.html',\r\n styleUrl: './label.component.css'\r\n})\r\nexport class LabelComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div *ngIf=\"field()?.isVisible\">\r\n<span class=\"master-label\" [ngStyle]=\"{\r\n'--master-heading-font-color': field()?.controlStyle?.color,\r\n'--master-heading-font-size': field()?.controlStyle?.fontSize,\r\n'--master-heading-font-weight': field()?.controlStyle?.fontWeight\r\n}\">{{field()?.label}}</span>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-sub-header',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './sub-header.component.html',\r\n styleUrl: './sub-header.component.css'\r\n})\r\nexport class SubHeaderComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div>\r\n <span class=\"sub-heading\" [ngStyle]=\"{\r\n'--sub-heading-font-color': field()?.controlStyle?.color,\r\n'--sub-heading-font-size': field()?.controlStyle?.fontSize,\r\n'--sub-heading-font-weight': field()?.controlStyle?.fontWeight\r\n}\">{{field()?.label}}\r\n<img [src]=\"field()?.imageUrl\" *ngIf=\"field()?.imageUrl\" alt=\"\">\r\n</span>\r\n</div>","import { Component, input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@Component({\r\n selector: 'lib-header',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './header.component.html',\r\n styleUrl: './header.component.css'\r\n})\r\nexport class HeaderComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div>\r\n <span class=\"heading\" [ngStyle]=\"{\r\n'--heading-font-color': field()?.controlStyle?.color,\r\n'--heading-font-size': field()?.controlStyle?.fontSize,\r\n'--heading-font-weight': field()?.controlStyle?.fontWeight\r\n}\">\r\n {{field()?.label}}\r\n </span>\r\n</div>","import { Component, EventEmitter, HostListener, input, Output } from '@angular/core';\r\nimport { CommonModule, NgFor, NgIf } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { MatPaginatorModule, PageEvent } from '@angular/material/paginator';\r\n@Component({\r\n selector: 'lib-table',\r\n standalone: true,\r\n imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule],\r\n templateUrl: './table.component.html',\r\n styleUrl: './table.component.css'\r\n})\r\nexport class TableComponent {\r\n field: any = input.required<any>();\r\n readonly = input(false);\r\n showActionsPopup = false;\r\n popupPosition = { top: 0, left: 0 };\r\n selectedRow: any = 0;\r\n highlightedIndex = -1;\r\n paginationSize: any = 10;\r\n pageNumber: any = 0;\r\n pageSize: any = 10;\r\n @Output() actionItemClicked = new EventEmitter<any>();\r\n @Output() tablePaginationClicked = new EventEmitter<any>();\r\n constructor(public masterControlService: MasterControlService) { }\r\n\r\n ngOnInit() {\r\n this.setColumns();\r\n }\r\n trackByIndex(index: any, item: any) {\r\n return index;\r\n }\r\n\r\n setColumns() {\r\n let checkConfigData = this.field().configData;\r\n if (Object?.keys(checkConfigData)?.length > 0) {\r\n this.masterControlService.configData.table = checkConfigData;\r\n }\r\n if (this.masterControlService.configData.table.rowlength > 0 && this.masterControlService.configData.table.columnlength > 0) {\r\n this.field().tableData = this.masterControlService.configData.table;\r\n for (let i = 0; i < this.masterControlService.configData.table.columnlength; i++) {\r\n if (Object.keys(checkConfigData).length <= 0) {\r\n let headerObj = {\r\n \"columnName\": `${'Name - ' + i}`,\r\n \"isSortingNeeded\": \"Y\",\r\n \"toolTip\": `${'tooltip - ' + i}`\r\n }\r\n const exists = this.field().tableData.tableHeaders.some(\r\n (header: any) => header.columnName === headerObj.columnName\r\n );\r\n if (!exists && this.field().tableData.tableHeaders.length < this.masterControlService.configData.table.columnlength) {\r\n this.field().tableData.tableHeaders.push(headerObj);\r\n }\r\n }\r\n }\r\n this.field().tableData.tdData = Array(this.masterControlService.configData.table.rowlength).fill(null).map((_, rowIdx) =>\r\n Array(this.masterControlService.configData.table.columnlength).fill('').map((_, colIdx) => `Dummy Row ${rowIdx + 1}`)\r\n );\r\n\r\n this.masterControlService.saveTableFieldState(this.field());\r\n this.field().configData = this.field().tableData\r\n }\r\n }\r\n\r\n openActionsPopup(event: MouseEvent, rowIndex: number) {\r\n event.stopPropagation();\r\n this.selectedRow = rowIndex;\r\n this.showActionsPopup = true;\r\n this.highlightedIndex = 1;\r\n const rect = (event.target as HTMLElement).getBoundingClientRect();\r\n this.popupPosition = {\r\n top: rect.bottom + window.scrollY - 30,\r\n left: rect.left + window.scrollX - 280,\r\n };\r\n }\r\n\r\n closeActionsPopup() {\r\n this.showActionsPopup = false;\r\n this.field().tableData.userSelectedOptions[this.selectedRow].forEach((checkIcon: any) => {\r\n checkIcon.isSelected = false;\r\n });\r\n this.selectedRow = 0;\r\n this.highlightedIndex = -1;\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onEscKey(event: KeyboardEvent) {\r\n this.closeActionsPopup();\r\n }\r\n\r\n pageChanged(event: PageEvent) {\r\n this.field().tableData.pageNumber = event.pageIndex;\r\n this.field().tableData.pageSize = event.pageSize;\r\n this.tablePaginationClicked.emit(this.field().tableData);\r\n }\r\n\r\n actionClicked(actionSelected: any, actionIndex: any) {\r\n this.field()?.tableData?.userSelectedOptions[this.selectedRow]?.forEach((checkIcon: any, selectedIndex: any) => {\r\n if (checkIcon.matIconName === actionSelected.matIconName && actionIndex === selectedIndex) {\r\n checkIcon.isSelected = true;\r\n }\r\n });\r\n let emitOBJ = {\r\n userSelectedOptions : this.field()?.tableData?.userSelectedOptions,\r\n selectedRowIndex: this.selectedRow,\r\n selectedActionsIndex: actionIndex,\r\n }\r\n this.actionItemClicked.emit(emitOBJ);\r\n }\r\n}\r\n","<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container>{{ header?.columnName }}</ng-container>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n@Component({\r\n selector: 'lib-textbox-with-text',\r\n standalone: true,\r\n imports: [\r\n MatInputModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './textbox-with-text.component.html',\r\n styleUrl: './textbox-with-text.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TextboxWithTextComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TextboxWithTextComponent {\r\n inputValue: any = null;\r\n reactiveFormControlobject: any = input<any>();\r\n field: any = input.required<any>();\r\n @Output() blur = new EventEmitter<any>();\r\n\r\n _onChange: any = (inputValue: any) => {};\r\n _unTouched: any = () => {};\r\n\r\n writeValue(obj: any): void {\r\n this.inputValue = obj;\r\n }\r\n registerOnChange(fn: any): void {\r\n this._onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this._unTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {}\r\n\r\n onInputChange(event: any): void {\r\n this.inputValue = event.target.value;\r\n this._onChange(this.inputValue);\r\n }\r\n\r\n onInputBlur(event?: any): void {\r\n this._unTouched();\r\n this.blur.emit(event);\r\n }\r\n}\r\n","<label\r\n class=\"field-lable\"\r\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\r\n >{{ field()?.label\r\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\r\n >*</span\r\n ></label\r\n>\r\n<mat-form-field\r\n class=\"w-100\"\r\n appearance=\"outline\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"{\r\n'--custom-border-color': field()?.controlStyle?.borderColor ,\r\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\r\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--custom-bg-color': field()?.controlStyle?.background ,\r\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\r\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\r\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\r\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\r\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\r\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\r\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\r\n'--custom-font-size': field()?.controlStyle?.fontSize ,\r\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\r\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\r\n'--custom-font-color': field()?.controlStyle?.color ,\r\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\r\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\r\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\r\n}\"\r\n>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [value]=\"inputValue\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n matInput\r\n autocomplete=\"none\"\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [placeholder]=\"field()?.placeHolder\"\r\n [maxLength]=\"field()?.validators?.maxLength\"\r\n [minLength]=\"field()?.validators?.minLength\"\r\n [disabled]=\"field()?.isDisable\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [pattern]=\"field()?.validators?.pattern\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onInputBlur()\"\r\n [value]=\"inputValue\"\r\n />\r\n }\r\n\r\n <mat-error *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}\r\n </mat-error>\r\n</mat-form-field>\r\n<div>\r\n <span class=\"below-input-text\">{{field()?.configData?.subscriptText}}</span>\r\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.isRequiredMessage }}.\r\n</div>\r\n<div class=\"error-message\" *ngIf=\"false\">\r\n {{ field()?.validators?.patternMessage }}.\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-discount',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './discount.component.html',\r\n styleUrl: './discount.component.css'\r\n})\r\nexport class DiscountComponent {\r\n field: any = input.required<any>();\r\n\r\n}\r\n","<p\r\n class=\"discount-label b2-bold px-1\"\r\n *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\"\r\n>\r\n {{ field()?.label }}\r\n</p>\r\n<div \r\nclass=\"discount-card\" \r\n*ngIf=\"field() && field()?.isVisible\"\r\n[ngStyle]=\"\r\n{\r\n '--discount-border-width': field()?.controlStyle?.borderWidth,\r\n '--discount-card-width': field()?.controlStyle?.width ,\r\n '--discount-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--discount-border-color': field()?.controlStyle?.borderColor ,\r\n}\"\r\n>\r\n <div class=\"d-flex justify-content-between\">\r\n <div>\r\n <img\r\n src=\"https://cdn.godigit.com/retail-life/discount-img-lib.svg\"\r\n alt=\"\"\r\n class=\"mx-1\"\r\n />\r\n <span class=\"h2-extrabold\">5% </span>\r\n <span class=\"b3-regular\">off</span>\r\n </div>\r\n <div>\r\n <button class=\"apply-btn\">\r\n <span class=\"my-1\">\r\n Apply\r\n <img\r\n src=\"https://cdn.godigit.com/retail-life/arrow_forward_lib.svg\"\r\n alt=\"\"\r\n />\r\n </span>\r\n </button>\r\n </div>\r\n <div *ngIf=\"false\">\r\n <button class=\"remove-btn\">\r\n <span> Remove x </span>\r\n </button>\r\n </div>\r\n </div>\r\n <div>\r\n <p class=\"b2-bold m-0\">Good Health Discount</p>\r\n <p class=\"b3-regular\">\r\n Get extra 5% discount for keeping a healthy lifestyle!\r\n </p>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-benefit-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './benefit-card.component.html',\r\n styleUrl: './benefit-card.component.css',\r\n})\r\nexport class BenefitCardComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<div\r\n class=\"benefit-card\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"\r\n{\r\n '--benefit-border-width': field()?.controlStyle?.borderWidth,\r\n '--benefit-card-width': field()?.controlStyle?.width ,\r\n '--benefit-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--benefit-border-color': field()?.controlStyle?.borderColor ,\r\n}\"\r\n>\r\n <div class=\"d-flex justify-content-between\">\r\n <span class=\"b1-bold\" *ngIf=\"field()?.isShowLabel\">{{ field()?.label }}</span>\r\n <button class=\"add-card-button\">+ Add</button>\r\n <button class=\"remove-card-button\" *ngIf=\"false\">x Remove</button>\r\n </div>\r\n <div class=\"mt-2\">\r\n <img\r\n src=\"https://cdn.godigit.com/retail-life/tabler_wheelchair.png\"\r\n alt=\"\"\r\n />\r\n <span class=\"b3-regular mx-2\">Policy Continuance Benefit on Death</span>\r\n <img src=\"https://cdn.godigit.com/retail-life/info-button-lib.svg\" alt=\"\" />\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-loader',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './loader.component.html',\r\n styleUrl: './loader.component.css'\r\n})\r\nexport class LoaderComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<div\r\n class=\"loader-overlay\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [ngStyle]=\"field()?.configData?.loaderCSS\"\r\n>\r\n <div\r\n class=\"loader-card\"\r\n [ngStyle]=\"field()?.configData?.cardCSS\"\r\n >\r\n <ng-container *ngIf=\"field()?.configData?.imageURL; else defaultLoader\">\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n [ngStyle]=\"field()?.configData?.imageCSS\"\r\n alt=\"Loader\"\r\n />\r\n <div\r\n class=\"loader-text\"\r\n [ngStyle]=\"field()?.configData?.textCSS\"\r\n >\r\n {{ field()?.configData?.text }}\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultLoader>\r\n <div class=\"loader\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n <div\r\n class=\"loader-text\"\r\n [ngStyle]=\"field()?.configData?.textCSS\"\r\n >\r\n {{ field()?.configData?.text }}\r\n </div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-warning-snackbar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './warning-snackbar.component.html',\r\n styleUrl: './warning-snackbar.component.css'\r\n})\r\nexport class WarningSnackbarComponent {\r\nfield : any = input.required<any>();\r\nwarningObj:any;\r\n\r\nconstructor(public masterService : MasterControlService) {\r\n this.warningObj = this.masterService.snackbars.find((item: any) => item.type === 'Warning');\r\n}\r\n}\r\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex gap-3\">\r\n <span>\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n alt=\"\"\r\n class=\"mt-1\"\r\n [ngClass]=\"field()?.configData?.imageCSS\"\r\n />\r\n </span>\r\n <span class=\"mb-2\">\r\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\r\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\r\n </span>\r\n </div>\r\n <div >\r\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\r\n </div>\r\n </div>\r\n</div>","import { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-success-snackbar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './success-snackbar.component.html',\r\n styleUrl: './success-snackbar.component.css'\r\n})\r\nexport class SuccessSnackbarComponent {\r\nfield : any = input.required<any>();\r\nsuccessObj:any;\r\n\r\nconstructor(public masterService : MasterControlService) {\r\n this.successObj = this.masterService.snackbars.find((item: any) => item.type === 'Success');\r\n}\r\n}\r\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex gap-3\">\r\n <span>\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n alt=\"\"\r\n class=\"mt-1\"\r\n [ngClass]=\"field()?.configData?.imageCSS\"\r\n />\r\n </span>\r\n <span class=\"mb-2\">\r\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\r\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\r\n </span>\r\n </div>\r\n <div >\r\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\r\n </div>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-neutral-snackbar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './neutral-snackbar.component.html',\r\n styleUrl: './neutral-snackbar.component.css'\r\n})\r\nexport class NeutralSnackbarComponent {\r\nfield : any = input.required<any>();\r\nneutralObj:any;\r\n\r\nconstructor(public masterService : MasterControlService) {\r\n this.neutralObj = this.masterService.snackbars.find((item: any) => item.type === 'Neutral');\r\n}\r\n}\r\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex gap-3\">\r\n <span>\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n alt=\"\"\r\n class=\"mt-1\"\r\n [ngClass]=\"field()?.configData?.imageCSS\"\r\n />\r\n </span>\r\n <span class=\"mb-2\">\r\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\r\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\r\n </span>\r\n </div>\r\n <div >\r\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\r\n </div>\r\n </div>\r\n</div>","import { Component, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-error-snackbar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './error-snackbar.component.html',\r\n styleUrl: './error-snackbar.component.css'\r\n})\r\nexport class ErrorSnackbarComponent {\r\nfield : any = input.required<any>();\r\nerrorObj:any;\r\n\r\nconstructor(public masterService : MasterControlService) {\r\n this.errorObj = this.masterService.snackbars.find((item: any) => item.type === 'Error');\r\n}\r\n}\r\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex gap-3\">\r\n <span>\r\n <img\r\n [src]=\"field()?.configData?.imageURL\"\r\n alt=\"\"\r\n class=\"mt-1\"\r\n [ngClass]=\"field()?.configData?.imageCSS\"\r\n />\r\n </span>\r\n <span class=\"mb-2\">\r\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\r\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\r\n </span>\r\n </div>\r\n <div >\r\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-grey-label',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './grey-label.component.html',\r\n styleUrl: './grey-label.component.css'\r\n})\r\nexport class GreyLabelComponent {\r\n field : any = input.required<any>();\r\n}\r\n","<div *ngIf=\"field()?.isVisible\">\r\n <span class=\"bold-label\" [ngStyle]=\"{\r\n'--master-bold-label-font-color': field()?.controlStyle?.color,\r\n'--master-bold-label-font-size': field()?.controlStyle?.fontSize,\r\n'--master-bold-label-font-weight': field()?.controlStyle?.fontWeight\r\n}\">{{field()?.label}}</span>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'lib-iframe',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './iframe.component.html',\r\n styleUrl: './iframe.component.css'\r\n})\r\nexport class IframeComponent implements OnInit {\r\n field: any = input.required<any>();\r\n safeUrl: SafeResourceUrl | null = null;\r\n\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n if (this.field() && this.field().imageUrl) {\r\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.field().imageUrl);\r\n }\r\n }\r\n\r\n getIframeUrl() {\r\n let iframeUrl : any = null;\r\n if (this.field() && this.field().imageUrl) {\r\n iframeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.field().imageUrl);\r\n }\r\n return iframeUrl;\r\n }\r\n\r\n}\r\n","<div *ngIf=\"field().imageUrl\">\r\n <iframe [id]=\"field().fieldName\" width=\"100%\" height=\"500px\" style=\"border: none\"></iframe>\r\n</div>\r\n","\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\r\n\r\n@Component({\r\n selector: 'lib-toggle-button',\r\n standalone: true,\r\n imports: [MatButtonToggleModule, CommonModule, ReactiveFormsModule, FormsModule, CustomizedTooltipDirective],\r\n templateUrl: './toggle-button.component.html',\r\n styleUrl: './toggle-button.component.css',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: ToggleButtonComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ToggleButtonComponent implements ControlValueAccessor {\r\n reactiveFormControlobject: any = input<any>();\r\n field : any = input.required<any>();\r\n selectedValue: any = null;\r\n\r\n // Output events for parent component communication\r\n @Output() selectionChanged = new EventEmitter<any>();\r\n @Output() change = new EventEmitter<any>();\r\n\r\n // ControlValueAccessor methods\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.selectedValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // Handle disabled state if needed\r\n }\r\n\r\n // Handle selection change\r\n onSelectionChange(value: any): void {\r\n this.selectedValue = value;\r\n this.onChange(value);\r\n this.onTouched();\r\n\r\n // Emit events for parent component\r\n this.selectionChanged.emit(value);\r\n this.change.emit(value);\r\n }\r\n}\r\n","<div style=\"position: relative\" [ngClass]=\"field()?.cssClass\">\r\n @if(reactiveFormControlobject()) {\r\n <mat-button-toggle-group [ngStyle]=\"{\r\n '--toggle-button-width': field()?.controlStyle?.width ,\r\n }\" name=\"fontStyle\" class=\"custom-mat-toggle\" aria-label=\"Font Style\"\r\n *ngIf=\"field() && field()?.isVisible && field()?.configData?.options\" [value]=\"selectedValue\"\r\n (change)=\"onSelectionChange($event.value)\" [formControl]=\"reactiveFormControlobject()\">\r\n @for (data of field()?.configData?.options; track $index) {\r\n <mat-button-toggle [value]=\"data.value\">\r\n <img *ngIf=\"data.imgUrl && !data.tooltipText\" [src]=\"data.imgUrl\" alt=\"\" class=\"toggle-img mx-1\" />\r\n\r\n {{ data.label }}\r\n <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\r\n *ngIf=\"data.imgUrl && data.tooltipText\">\r\n <img [src]=\"data.imgUrl\" class=\"toggle-img mx-1\" />\r\n </span>\r\n\r\n <!-- ✅ Single template that uses current data -->\r\n <ng-template #currentTooltip>\r\n <span [innerHTML]=\"data.tooltipText\"></span>\r\n </ng-template>\r\n </mat-button-toggle>\r\n <div class=\"top-green-card\" *ngIf=\"data.toggleTopText\">\r\n <span class=\"second-box\">\r\n <img class=\"green-card-img\" *ngIf=\"data.topImage\" [src]=\"data.topImage\" alt=\"\" />\r\n <span>{{ data.toggleTopText }}</span>\r\n </span>\r\n </div>\r\n }\r\n </mat-button-toggle-group>\r\n }@else {\r\n <mat-button-toggle-group [ngStyle]=\"{\r\n '--toggle-button-width': field()?.controlStyle?.width ,\r\n }\" name=\"fontStyle\" class=\"custom-mat-toggle\" aria-label=\"Font Style\"\r\n *ngIf=\"field() && field()?.isVisible && field()?.configData?.options\" [(ngModel)]=\"selectedValue\"\r\n (change)=\"onSelectionChange($event.value)\">\r\n @for (data of field()?.configData?.options; track $index) {\r\n <mat-button-toggle [value]=\"data.value\">\r\n {{ data.label }}\r\n <!-- <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\r\n *ngIf=\"data.imgUrl && data.tooltipText\">\r\n <img [src]=\"data.imgUrl\" />\r\n </span> -->\r\n\r\n <!-- ✅ Single template that uses current data -->\r\n <!-- <ng-template #currentTooltip>\r\n <span [innerHTML]=\"data.tooltipText\"></span>\r\n </ng-template> -->\r\n </mat-button-toggle>\r\n <div class=\"top-green-card\" *ngIf=\"data.toggleTopText\">\r\n <span class=\"second-box\">\r\n <img class=\"green-card-img\" *ngIf=\"data.topImage\" [src]=\"data.topImage\" alt=\"\" />\r\n <span>{{ data.toggleTopText }}</span>\r\n </span>\r\n </div>\r\n }\r\n </mat-button-toggle-group>\r\n }\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-pay-get-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './pay-get-card.component.html',\r\n styleUrl: './pay-get-card.component.css'\r\n})\r\nexport class PayGetCardComponent {\r\nfield: any = input.required<any>();\r\n @Input() payAmount: any = '₹6,00,000';\r\n @Input() premiumAmount: any= '₹10,000';\r\n @Input() ptValue: any= 5;\r\n @Input() years: any= '2030';\r\n @Input() frequency: any= 'month';\r\n}\r\n","<div\r\n class=\"d-flex justify-content-between pay-card\"\r\n [ngStyle]=\"{\r\n'--pay-card-border-color': field()?.controlStyle?.borderColor ,\r\n'--pay-card-border-width': field()?.controlStyle?.borderWidth ,\r\n'--pay-card-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--pay-card-bg-color': field()?.controlStyle?.background ,\r\n'--pay-card-width': field()?.controlStyle?.width ,\r\n }\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n>\r\n <div class=\"text-center mx-2\">\r\n <span class=\"bold-label\">{{ field()?.placeHolder || 'Pay' }}</span> <br />\r\n <span class=\"grey-label\">{{payAmount}}</span>\r\n </div>\r\n <div class=\"premium-card\">\r\n <span class=\"light-label\"><b class=\"bold-label\">{{premiumAmount}}</b>/ {{frequency}}</span>\r\n <br />\r\n <span class=\"grey-label\">for {{ptValue}} years (till {{years}})</span>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-in-built-benefit',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './in-built-benefit.component.html',\r\n styleUrl: './in-built-benefit.component.css',\r\n})\r\nexport class InBuiltBenefitComponent {\r\n field: any = input.required<any>();\r\n\r\n @Input() premiumAmount: any = '₹1,00,000';\r\n @Input() premiumAmountShort: any = '1L';\r\n}\r\n","<div class=\"d-flex in-built-card\"\r\n [ngStyle]=\"{\r\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\r\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\r\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\r\n'--inbuilt-card-width': field()?.controlStyle?.width ,\r\n }\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n>\r\n <p class=\"w-100 top-box\">\r\n <span class=\"top-benefit-card\">In-built Benefit</span>\r\n </p>\r\n <div>\r\n <span class=\"premium-header\">Return of Premium</span> <br />\r\n <span class=\"benefit-text normal-text\"\r\n >Customer can get their premiums back on\r\n <b class=\"bold-text\"\r\n >diagnosis of Critical Illness (CI) or Total and Permanent Disability\r\n (TPD) before the age of 80.</b\r\n ></span\r\n >\r\n <br />\r\n <span class=\"premium\"\r\n ><b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})</span\r\n >\r\n </div>\r\n <div class=\"m-auto\">\r\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-other-benefits',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './other-benefits.component.html',\r\n styleUrl: './other-benefits.component.css'\r\n})\r\nexport class OtherBenefitsComponent {\r\n field: any = input.required<any>();\r\n}\r\n","<div class=\"other-benefit-card d-flex gap-2\"\r\n [ngStyle]=\"{\r\n'--other-benefit-color-border-color': field()?.controlStyle?.borderColor ,\r\n'--other-benefit-color-border-width': field()?.controlStyle?.borderWidth ,\r\n'--other-benefit-color-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--other-benefit-color-bg-color': field()?.controlStyle?.background\r\n }\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n>\r\n <p class=\"w-100 top-box\">\r\n <span class=\"top-benefit-card\">Other Benefit</span>\r\n </p>\r\n @for (data of field()?.configData?.otherBenefits; track $index) {\r\n <div class=\"sub-benefit-card\">\r\n <div class=\"d-flex gap-2\">\r\n <img [src]=\"data.imageUrl\" alt=\"\" />\r\n <span class=\"header-txt\">{{ data.headerText }}</span>\r\n </div>\r\n <span [innerHTML]=\"data.htmlInnerText\"></span>\r\n </div>\r\n }\r\n</div>\r\n","import { Component, input, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-annuity-rate-logo',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './annuity-rate-logo.component.html',\r\n styleUrl: './annuity-rate-logo.component.css'\r\n})\r\nexport class AnnuityRateLogoComponent {\r\nfield: any = input.required<any>();\r\n@Input() ratePercent: any = '7%';\r\n}\r\n","<div *ngIf=\"field() && field()?.isVisible\">\r\n <span class=\"annuity-box\">\r\n <span class=\"annuity-percent\">{{ ratePercent }}</span>\r\n <img src=\"https://cdn.godigit.com/retail-life/annuity-rate.svg\" alt=\"\" />\r\n </span>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'lib-discount-v2',\r\n standalone: true,\r\n imports: [MatIconModule , CommonModule],\r\n templateUrl: './discount-v2.component.html',\r\n styleUrl: './discount-v2.component.css'\r\n})\r\nexport class DiscountV2Component {\r\nfield: any = input.required<any>();\r\n}\r\n","<div class=\"px-3 py-2 discount-card-v2\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"\r\n{\r\n '--discount-design-border-width': field()?.controlStyle?.borderWidth,\r\n '--discount-design-border-color': field()?.controlStyle?.borderColor ,\r\n '--discount-design-border-style': field()?.controlStyle?.borderStyle ,\r\n '--discount-design-width': field()?.controlStyle?.width ,\r\n '--discount-design-border-radius': field()?.controlStyle?.borderRadius ,\r\n '--discount-design-bg': field()?.controlStyle?.background ,\r\n}\">\r\n<div *ngIf=\"field()?.imageUrl\" class=\"mb-3\">\r\n <img [src]='field().imageUrl' alt=\"\">\r\n</div>\r\n <div class=\"mb-2 discount-heading\" [ngStyle]=\"\r\n{\r\n '--discount-heading-font-weight': field()?.controlStyle?.fontWeight ,\r\n '--discount-heading-font-size': field()?.controlStyle?.fontSize ,\r\n '--discount-heading-font-color': field()?.controlStyle?.color\r\n}\">{{field()?.label}}</div>\r\n <div class=\"sticky-bottom-btn\">\r\n <!-- <button class=\"px-2 mt-1 discount-btn-remove\"><div>Remove</div> <mat-icon class=\"pt-1 remove-btn-cross\">close</mat-icon></button> -->\r\n <button class=\"px-2 mt-1 discount-btn-apply\"><div>Applied</div><img class=\"check-circle\" src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\"></button>\r\n </div>\r\n</div>\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-label-value-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './label-value-card.component.html',\r\n styleUrl: './label-value-card.component.css'\r\n})\r\nexport class LabelValueCardComponent {\r\nfield : any = input.required<any>();\r\n\r\nngOnInit(){}\r\n}\r\n","<div class=\"labelValueCard\" *ngIf=\"field() && field()?.isVisible\">\r\n <div class=\"labelHead\">\r\n <span class=\"master-labelValue\" [ngStyle]=\"{\r\n '--master-heading-font-color': field()?.controlStyle?.color,\r\n '--master-heading-font-size': field()?.controlStyle?.fontSize,\r\n '--master-heading-font-weight': field()?.controlStyle?.fontWeight\r\n }\">{{field()?.label}}</span>\r\n </div>\r\n <div class=\"labelValue\">\r\n <span>{{field()?.placeHolder}}</span>\r\n <span matSuffix class=\"mx-3\">\r\n <img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl' alt=\"\" />\r\n </span>\r\n </div>\r\n</div>","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MasterService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getCookieValue(name: string): string {\r\n const cookie = document.cookie.split(';');\r\n let tokenName = '';\r\n let tokenValue = '';\r\n const index2 = 2;\r\n cookie.forEach(data => {\r\n if (data.split('=')[0].includes(name) && !!data.split('=')[1]) {\r\n tokenName = data.split('=')[0].trim();\r\n tokenValue = data.split('=')[1];\r\n }\r\n if (\r\n name === 'link' &&\r\n data.split('=')[0].includes(name) &&\r\n data.split('=')[index2] !== null &&\r\n data.split('=')[index2] !== undefined\r\n ) {\r\n tokenValue = tokenValue + '=' + data.split('=')[index2];\r\n }\r\n });\r\n return tokenValue;\r\n }\r\n\r\n\r\n getCommonHeaders(configData : any) {\r\n const headers: any = {};\r\n headers['content-type'] = 'application/json';\r\n if(configData['isSendToken']) {\r\n headers['Authorization'] = 'Bearer ' + this.getCookieValue(configData['tokenCookieParam']);\r\n }\r\n return headers;\r\n }\r\n\r\n getSubQuestions(configData : any, subquestionType: any, personUWID: any) {\r\n let url = `${configData['apiUrl']}`;\r\n url += `?${configData['urlParamForDisease']}=${subquestionType}`;\r\n url += `&${configData['urlParamForPersonUwId']}=${personUWID}`;\r\n url += `&lang=ENG`\r\n return this.http.get(url, { headers: this.getCommonHeaders(configData) });\r\n }\r\n}\r\n","import { GoogleMapsModule } from '@angular/google-maps';\r\nimport { Component, ElementRef, Input, OnInit, ViewChild, NgZone, AfterViewInit, input, SimpleChanges, ChangeDetectionStrategy } from '@angular/core';\r\nimport questionsResponse from './questions.json'\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TextboxComponent } from '../textbox/textbox.component';\r\nimport { RadioComponent } from '../radio/radio.component';\r\nimport { CheckboxComponent } from '../checkbox/checkbox.component';\r\nimport { SelectComponent } from '../select/select.component';\r\nimport { DobComponent } from '../dob/dob.component';\r\nimport { UploadComponent } from '../upload/upload.component';\r\nimport { MultipleSelectComponent } from '../multiple-select/multiple-select.component';\r\nimport { HrLineComponent } from '../hr-line/hr-line.component';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { MasterService } from '../master.service';\r\nimport { FilePreviewComponent } from '../file-preview/file-preview.component';\r\n\r\n@Component({\r\n selector: 'lib-medial-questions',\r\n standalone: true,\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TextboxComponent,\r\n RadioComponent,\r\n CheckboxComponent,\r\n SelectComponent,\r\n DobComponent,\r\n UploadComponent,\r\n MultipleSelectComponent,\r\n GoogleMapsModule,\r\n HrLineComponent,\r\n FilePreviewComponent\r\n ],\r\n templateUrl: './medial-questions.component.html',\r\n styleUrl: './medial-questions.component.css',\r\n})\r\nexport class MedialQuestionsComponent implements OnInit, AfterViewInit {\r\n medialQuestionResponse = input<any>();\r\n personUWOpenQuoteResponse : any = input<any>();\r\n defaultValues : any = input<any>();\r\n personUwId : any = \"\";\r\n isMedicalSubQuestionsAvailable : any = null;\r\n medicalSubQuestionsResponse : any = {};\r\n @ViewChild('addressInput') addressInput!: ElementRef<HTMLInputElement>;\r\n private autocomplete!: google.maps.places.Autocomplete;\r\n saveQuestionRequestLa: any = [];\r\n saveQuestionRequestPh: any = [];\r\n field: any = input.required<any>();\r\n questionList: any = [];\r\n currentCoordinates: any = {};\r\n personUwResponseObj: any = [];\r\n center: google.maps.LatLngLiteral = { lat: 40.73061, lng: -73.935242 };\r\n latitude: any;\r\n longitude: any;\r\n zoom: any;\r\n marker: any = {};\r\n\r\n\r\n personUwAnswers: any = {\r\n medicalQuestionsHeightUnit: 'FEET',\r\n medicalQuestionFeetInput: 0,\r\n medicalQuestionsInchesInput: 0,\r\n medicalQuestionsHeightInput: 0,\r\n };\r\n medQuestionObj: any = {};\r\n listOfDomainValuesForCheckBox: any = [];\r\n medicalQuestionsFeetList: any = [];\r\n medicalQuestionsInchesList: any = [];\r\n questionHeader: any = ['eia details', 'abha details', 'pep details'];\r\n medicalQuestionsHeightUnitTypes: any = [\r\n {\r\n label: 'Cm',\r\n value: 'CM',\r\n },\r\n {\r\n label: 'Feet',\r\n value: 'FEET',\r\n },\r\n ];\r\n showDropdown = false;\r\n addressSuggestions: any[] = [];\r\n hoveredIndex = -1;\r\n searchTimeout: any;\r\n horizontalLineObj : any = {\r\n \"controlStyle\": {\r\n \"controlType\": null,\r\n \"borderColor\": null,\r\n \"borderWidth\": null,\r\n \"borderRadius\": null,\r\n \"fontSize\": null,\r\n \"fontWeight\": null,\r\n \"fontFamily\": null,\r\n \"color\": null,\r\n \"background\": null,\r\n \"caretColor\": null,\r\n \"nudgeDisplayImage\": null,\r\n \"dropdownOptionBgColor\": null,\r\n \"dropdownOptionColor\": null,\r\n \"dropdownOptionFontWeight\": null,\r\n \"width\": null,\r\n \"focusBorderWidth\": null,\r\n \"focusBorderColor\": null,\r\n \"focusBackground\": null,\r\n \"focusColor\": null,\r\n \"focusDropdownOptionBgColor\": null,\r\n \"focusDropdownOptionColor\": null,\r\n \"focusDropdownOptionFontWeight\": null,\r\n \"focusDropdownOptionBorderLeft\": null,\r\n \"focusDropdownOptionBorderRadius\": null,\r\n \"hoverBorderColor\": null,\r\n \"hoverBorderWidth\": null,\r\n \"hoverColor\": null,\r\n \"disableColor\": null,\r\n \"disableBackground\": null,\r\n \"errorBorderColor\": null,\r\n \"errorBorderWidth\": null,\r\n \"errorColor\": null,\r\n \"createdDate\": null,\r\n \"padding\": null,\r\n \"margin\": null,\r\n \"isMasterCss\": null,\r\n \"controlMetaId\": \"LI_COM_GEN_CTRL_hrLine_hrLine_V1\",\r\n \"borderStyle\": \"solid\",\r\n \"height\": null,\r\n \"minHeight\": null,\r\n \"maxHeight\": null,\r\n \"minWidth\": null,\r\n \"maxWidth\": null,\r\n \"cssClass\": null\r\n },\r\n \"fieldName\": \"hrLine\",\r\n \"label\": \"solid line\",\r\n \"placeHolder\": null,\r\n \"metaId\": \"LI_COM_GEN_CTRL_hrLine_hrLine_V1\",\r\n \"isVisible\": true,\r\n \"isDisable\": false,\r\n \"defaultValue\": null,\r\n \"validators\": {\r\n \"isRequired\": false,\r\n \"requiredMessage\": \"This field cannot be empty\",\r\n \"minLength\": null,\r\n \"minLengthMessage\": null,\r\n \"maxLength\": null,\r\n \"maxLengthMessage\": null,\r\n \"pattern\": null,\r\n \"patternMessage\": \"\"\r\n },\r\n \"options\": [],\r\n \"cssClass\": \"col-12\",\r\n \"value\": null,\r\n \"style\": null,\r\n \"imageUrl\": null,\r\n \"configData\": {\r\n \"hrText\": \"\"\r\n },\r\n \"metaDataObj\": null,\r\n \"isShowLabel\": true,\r\n \"isMasterControl\": false,\r\n \"controlType\": \"hrLine\"\r\n };\r\n previewFile: File | null = null;\r\n constructor(public ngZone: NgZone, public masterService : MasterService) {\r\n console.log('medialQuestionResponseeeeee', this.medialQuestionResponse());\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n ((changes['medialQuestionResponse']) && !this.checkIfValueIsEmpty(changes['medialQuestionResponse'].currentValue)) ||\r\n ((changes['preparePersonUwQuestionsObj']) && !this.checkIfValueIsEmpty(changes['preparePersonUwQuestionsObj'].currentValue))\r\n ) {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.zoom = 15;\r\n this.currentCoordinates = {\r\n lat: this.latitude,\r\n lng: this.longitude,\r\n };\r\n this.center = { ...this.currentCoordinates };\r\n });\r\n }\r\n this.preparePersonUwQuestionsObj();\r\n }\r\n\r\n if(((changes['defaultValues']) && !this.checkIfValueIsEmpty(changes['defaultValues'].currentValue))) {\r\n if(typeof this.defaultValues() === 'object') {\r\n this.personUwAnswers = {...this.personUwAnswers, ...this.defaultValues()};\r\n this.removeSubQuestionValues();\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeAutocomplete();\r\n }\r\n\r\n private resolveHeightQuestionIds(): void {\r\n this.personUwAnswers['medicalQuestionsHeightInput'] = 0;\r\n this.personUwAnswers['medicalQuestionFeetInput'] = 0;\r\n this.personUwAnswers['medicalQuestionsInchesInput'] = 0;\r\n\r\n this.questionList.forEach((section: any) => {\r\n if (section.questions && Array.isArray(section.questions)) {\r\n section.questions.forEach((question: any) => {\r\n switch (question.cammundaQuestionCode) {\r\n case 'QHT':\r\n this.personUwAnswers['medicalQuestionsHeightInput'] = question.questionId;\r\n break;\r\n case 'QHTF':\r\n this.personUwAnswers['medicalQuestionFeetInput'] = question.questionId;\r\n break;\r\n case 'QHTI':\r\n this.personUwAnswers['medicalQuestionsInchesInput'] = question.questionId;\r\n break;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n private initializeAutocomplete(): void {\r\n this.autocomplete = new google.maps.places.Autocomplete(\r\n this.addressInput?.nativeElement,\r\n {\r\n types: ['address'],\r\n componentRestrictions: { country: 'IN' },\r\n fields: ['place_id', 'geometry', 'name', 'formatted_address'],\r\n }\r\n );\r\n\r\n this.autocomplete.addListener('place_changed', () => {\r\n this.ngZone.run(() => {\r\n this.onPlaceSelected();\r\n });\r\n });\r\n }\r\n\r\n private onPlaceSelected(): void {\r\n const place = this.autocomplete.getPlace();\r\n\r\n if (!place.geometry || !place.geometry.location) {\r\n console.log('No details available for input: ', place.name);\r\n return;\r\n }\r\n\r\n const location = place.geometry.location;\r\n this.center = {\r\n lat: location.lat(),\r\n lng: location.lng(),\r\n };\r\n this.currentCoordinates = this.center;\r\n\r\n if (place.geometry.viewport) {\r\n this.zoom = 15;\r\n } else {\r\n this.zoom = 13;\r\n }\r\n\r\n console.log('Selected place:', {\r\n name: place.name,\r\n address: place.formatted_address,\r\n coordinates: this.center,\r\n });\r\n\r\n this.storeSelectedAddress(place);\r\n }\r\n\r\n private storeSelectedAddress(place: google.maps.places.PlaceResult): void {\r\n const addressData = {\r\n placeId: place.place_id,\r\n name: place.name,\r\n formattedAddress: place.formatted_address,\r\n coordinates: this.center,\r\n };\r\n }\r\n\r\n searchAddress(address: string): void {\r\n const geocoder = new google.maps.Geocoder();\r\n\r\n geocoder.geocode({ address: address }, (results, status) => {\r\n if (status === 'OK' && results && results[0]) {\r\n const location = results[0].geometry.location;\r\n this.ngZone.run(() => {\r\n this.center = {\r\n lat: location.lat(),\r\n lng: location.lng(),\r\n };\r\n this.currentCoordinates = this.center;\r\n this.zoom = 15;\r\n });\r\n } else {\r\n console.log(\r\n 'Geocode was not successful for the following reason: ' + status\r\n );\r\n }\r\n });\r\n }\r\n\r\n onAddressInputKeyup(event: any) {\r\n const query = event.target.value;\r\n\r\n // Clear previous timeout\r\n if (this.searchTimeout) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n\r\n // Handle arrow key navigation\r\n if (event.key === 'ArrowDown') {\r\n this.hoveredIndex = Math.min(\r\n this.hoveredIndex + 1,\r\n this.addressSuggestions.length - 1\r\n );\r\n return;\r\n } else if (event.key === 'ArrowUp') {\r\n this.hoveredIndex = Math.max(this.hoveredIndex - 1, -1);\r\n return;\r\n } else if (event.key === 'Enter') {\r\n if (\r\n this.hoveredIndex >= 0 &&\r\n this.addressSuggestions[this.hoveredIndex]\r\n ) {\r\n this.selectAddress(this.addressSuggestions[this.hoveredIndex]);\r\n }\r\n return;\r\n } else if (event.key === 'Escape') {\r\n this.showDropdown = false;\r\n return;\r\n }\r\n\r\n if (query.length < 2) {\r\n this.addressSuggestions = [];\r\n this.showDropdown = false;\r\n return;\r\n }\r\n\r\n this.searchTimeout = setTimeout(() => {\r\n this.searchAddresses(query);\r\n }, 300);\r\n }\r\n\r\n searchAddresses(query: string) {\r\n // Replace this with your actual address search API call\r\n // For example, using Google Places API:\r\n\r\n const service = new google.maps.places.AutocompleteService();\r\n service.getPlacePredictions(\r\n {\r\n input: query,\r\n types: ['address'],\r\n },\r\n (predictions, status) => {\r\n if (\r\n status === google.maps.places.PlacesServiceStatus.OK &&\r\n predictions\r\n ) {\r\n this.addressSuggestions = predictions.map((prediction) => ({\r\n place_id: prediction.place_id,\r\n main_text: prediction.structured_formatting.main_text,\r\n secondary_text: prediction.structured_formatting.secondary_text,\r\n description: prediction.description,\r\n }));\r\n this.showDropdown = true;\r\n this.hoveredIndex = -1;\r\n } else {\r\n this.addressSuggestions = [];\r\n this.showDropdown = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n selectAddress(suggestion: any) {\r\n const addressInput = document.querySelector(\r\n '#addressInput'\r\n ) as HTMLInputElement;\r\n if (addressInput) {\r\n addressInput.value = suggestion.description;\r\n }\r\n\r\n const service = new google.maps.places.PlacesService(\r\n document.createElement('div')\r\n );\r\n service.getDetails(\r\n {\r\n placeId: suggestion.place_id,\r\n fields: ['geometry', 'formatted_address'],\r\n },\r\n (place, status) => {\r\n if (status === google.maps.places.PlacesServiceStatus.OK && place) {\r\n const lat = place.geometry?.location?.lat();\r\n const lng = place.geometry?.location?.lng();\r\n\r\n if (lat !== undefined && lng !== undefined) {\r\n this.longitude = lng;\r\n this.latitude = lat;\r\n\r\n this.center = { lat, lng };\r\n this.currentCoordinates = this.center;\r\n }\r\n }\r\n }\r\n );\r\n\r\n this.showDropdown = false;\r\n this.addressSuggestions = [];\r\n }\r\n\r\n onInputBlur() {\r\n setTimeout(() => {\r\n this.showDropdown = false;\r\n }, 200);\r\n }\r\n\r\n findMedicalQuestionsInOpenQuote(arrayOfObj : any) {\r\n if(arrayOfObj['cammundaQuestionCode'] === 'MediCndtn' || arrayOfObj['cammundaQuestionCode'] === 'LifeMediCndtn') {\r\n this.isMedicalSubQuestionsAvailable = arrayOfObj;\r\n }\r\n if(this.checkIfValueIsEmpty(this.isMedicalSubQuestionsAvailable) && !this.checkIfValueIsEmpty(arrayOfObj['personUWActivityResponseEntity'])) {\r\n arrayOfObj['personUWActivityResponseEntity'].forEach((singleSubArray : any) => {\r\n this.findMedicalQuestionsInOpenQuote(singleSubArray);\r\n });\r\n }\r\n }\r\n\r\n mapAnswersForOpenQuote() {\r\n if(!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList)) {\r\n let arrayOfKeys : any = Object.keys(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList);\r\n arrayOfKeys.forEach((singleKey : any, singleKeyLength : number) => {\r\n if (!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey])) {\r\n this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].forEach((singleAnswerObj : any, singleAnswerObjLength : number) => {\r\n this.updatePersonUwAnswers(singleAnswerObj);\r\n if(singleKeyLength === (arrayOfKeys.length - 1) && singleAnswerObjLength === (this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].length - 1)) {\r\n this.removeSubQuestionValues();\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n preparePersonUwQuestionsObj() {\r\n this.questionList = [];\r\n let data: any = this.medialQuestionResponse();\r\n this.listOfDomainValuesForCheckBox = [];\r\n\r\n let isDisable : any = false;\r\n if(!this.checkIfValueIsEmpty(sessionStorage.getItem('isDisableMedicalQuestions')) ) {\r\n let isDisableMedicalQuestionsinUi : any = sessionStorage.getItem('isDisableMedicalQuestions');\r\n isDisable = JSON.parse(isDisableMedicalQuestionsinUi) ? true : false;\r\n }\r\n\r\n if (!this.checkIfValueIsEmpty(data['questionsResponse'])) {\r\n let personUwIdArray: any = [];\r\n data['questionsResponse'].forEach((singleQuestionObj: any) => {\r\n personUwIdArray.push(singleQuestionObj['personUWId']);\r\n });\r\n\r\n if (\r\n !this.checkIfValueIsEmpty(data) &&\r\n !this.checkIfValueIsEmpty(data['questionsResponse'])\r\n ) {\r\n\r\n if (!this.checkIfValueIsEmpty(data['questionsResponse'])) {\r\n let distinctSteps: any = [];\r\n data['questionsResponse'].forEach((singlePersonObject: any) => {\r\n this.personUwId = singlePersonObject['personUWId'].toString();\r\n if (!this.checkIfValueIsEmpty(singlePersonObject['questionList'])) {\r\n singlePersonObject['questionList'].forEach(\r\n (singleQuestion: any) => {\r\n if (singleQuestion['title'] === 'Medical Details') {\r\n singleQuestion['questionText'] = singleQuestion[\r\n 'questionText'\r\n ].replace(/\\\\n/g, '\\n');\r\n }\r\n singleQuestion['domainValues'] =\r\n data['domainValues'][singleQuestion['domainName']];\r\n\r\n singleQuestion['field'] = this.getField(singleQuestion);\r\n\r\n if (singleQuestion['cammundaQuestionCode'] === 'PAN') {\r\n singleQuestion['validations'] =\r\n '{\"Type\":\"AlphaNumeric\",\"MinValue\":\"10\",\"MaxValue\":\"10\",\"regexPattern\":\"/^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/\"}';\r\n }\r\n // if (singleQuestion['cammundaQuestionCode'] === 'FtcaCntcDetls') {\r\n // singleQuestion['validations'] = '{\"customValidation\":[{\"country\":\"IN\",\"MinValue\":\"10\",\"MaxValue\":\"10\",\"regexPattern\":\"((^[6-9]){1}([0-9]){9}$)\"},{\"country\":\"OTHER\",\"MinValue\":\"5\",\"MaxValue\":\"14\"}]}';\r\n // }\r\n if (\r\n singleQuestion['questionType'] === 'CHECKBOX' &&\r\n !this.checkIfValueIsEmpty(\r\n singleQuestion['questionRelation']\r\n )\r\n ) {\r\n singleQuestion['questionRelation'].forEach(\r\n (singleQuestionRelationObj: any) => {\r\n let nextQuestionObject: any = singlePersonObject[\r\n 'questionList'\r\n ].filter(\r\n (object: any) =>\r\n object['questionId'] ===\r\n singleQuestionRelationObj['nextQuestionId']\r\n );\r\n if (nextQuestionObject.length > 0) {\r\n nextQuestionObject[0]['answeredValue'] =\r\n singleQuestionRelationObj['parentQuestionValue'];\r\n }\r\n }\r\n );\r\n }\r\n\r\n if (singleQuestion['questionType'] === 'CHECKBOX') {\r\n if (\r\n !this.checkIfValueIsEmpty(singleQuestion['domainName']) &&\r\n !this.checkIfValueIsEmpty(\r\n data['domainValues'][singleQuestion['domainName']]\r\n )\r\n ) {\r\n data['domainValues'][\r\n singleQuestion['domainName']\r\n ].forEach((singleDomainValue: any) => {\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n singleDomainValue['domainInternalValue']\r\n )\r\n ) {\r\n this.listOfDomainValuesForCheckBox.push(\r\n singleDomainValue['domainInternalValue']\r\n );\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (!distinctSteps.includes(singleQuestion['step'])) {\r\n distinctSteps.push(singleQuestion['step']);\r\n }\r\n\r\n singleQuestion['isMedicalSubQuestion'] = false;\r\n }\r\n );\r\n\r\n singlePersonObject['questionList'].forEach((question: any) => {\r\n question['isShowQuestionInUI'] = false;\r\n if (question['questionType'] === 'IMAGE TEXT') {\r\n question['questionText'] = question[\r\n 'questionText'\r\n ].replaceAll('\\\\n', '<br>');\r\n }\r\n\r\n if (question['cammundaQuestionCode'] === 'QHTF') {\r\n this.medicalQuestionsFeetList = question['domainValues'];\r\n this.medQuestionObj['QHTF'] = question;\r\n this.medQuestionObj['QHTF']['field']['isShowLabel'] = false;\r\n this.medQuestionObj['QHTF']['field']['controlStyle'] = {\r\n controlType: 'select',\r\n borderColor: '#ffffff',\r\n borderWidth: '1.5px',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: '#FFFFFF',\r\n dropdownOptionColor: '#444444',\r\n dropdownOptionFontWeight: '400',\r\n width: null,\r\n focusBorderWidth: '1.5px',\r\n focusBorderColor: '#ffffff',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#ffffff',\r\n hoverBorderWidth: '1.5px',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '1.5px',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId:\r\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n };\r\n }\r\n if (question['cammundaQuestionCode'] === 'QHTI') {\r\n this.medicalQuestionsInchesList = question['domainValues'];\r\n this.medQuestionObj['QHTI'] = question;\r\n this.medQuestionObj['QHTI']['field']['isShowLabel'] = false;\r\n this.medQuestionObj['QHTI']['field']['controlStyle'] = {\r\n controlType: 'select',\r\n borderColor: '#ffffff',\r\n borderWidth: '1.5px',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: '#FFFFFF',\r\n dropdownOptionColor: '#444444',\r\n dropdownOptionFontWeight: '400',\r\n width: null,\r\n focusBorderWidth: '1.5px',\r\n focusBorderColor: '#ffffff',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#ffffff',\r\n hoverBorderWidth: '1.5px',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '1.5px',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId:\r\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n };\r\n }\r\n if (question['cammundaQuestionCode'] === 'QHT') {\r\n this.medicalQuestionsInchesList = question['domainValues'];\r\n this.medQuestionObj['QHT'] = question;\r\n this.medQuestionObj['QHT']['field']['isShowLabel'] = false;\r\n this.medQuestionObj['QHT']['field']['controlStyle'] = {\r\n controlType: 'FREETEXT',\r\n borderColor: '#ffffff',\r\n borderWidth: '1.5px',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: '#FFFFFF',\r\n dropdownOptionColor: '#444444',\r\n dropdownOptionFontWeight: '400',\r\n width: null,\r\n focusBorderWidth: '1.5px',\r\n focusBorderColor: '#ffffff',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#ffffff',\r\n hoverBorderWidth: '1.5px',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '1.5px',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId:\r\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n };\r\n }\r\n\r\n if (question['questionType'] === 'DECLARATION') {\r\n if (question['cammundaQuestionCode'] === 'recvSftCopy') {\r\n // this.personUwAnswers[singlePersonObject['role']][] = false;\r\n question['domainValues'] = [];\r\n question['domainValues'].push({\r\n domainInternalValue: question['questionId'],\r\n domainUiValue: 'N',\r\n });\r\n }\r\n question['domainValues'] = [];\r\n question['domainValues'].push({\r\n domainInternalValue: question['questionId'],\r\n domainUiValue: 'Y',\r\n });\r\n }\r\n\r\n if (question['cammundaQuestionCode'] === 'hardCopyLang') {\r\n question['questionType'] = 'HARD COPY';\r\n }\r\n });\r\n\r\n singlePersonObject['questionList'].sort(\r\n (a: any, b: any) =>\r\n a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']\r\n );\r\n }\r\n\r\n let questionsListForLA: any = [];\r\n distinctSteps.forEach((steps: any) => {\r\n let filteredObj: any = singlePersonObject['questionList'].filter(\r\n (singleQuestion: any) => singleQuestion['step'] === steps\r\n );\r\n let obj: any = {\r\n step: steps,\r\n personUWId: singlePersonObject['personUWId'].toString(),\r\n questions: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj\r\n : [],\r\n sectionName: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj[0]['title']\r\n : '',\r\n isMedicalSubQuestion: false,\r\n showSection: true,\r\n };\r\n if (!this.checkIfValueIsEmpty(filteredObj)) {\r\n // Hard Copy and Map question\r\n let filteredHardCopyQuestion: any = filteredObj.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['cammundaQuestionCode'] === 'recvSftCopy'\r\n );\r\n if (!this.checkIfValueIsEmpty(filteredHardCopyQuestion)) {\r\n obj['questions'].push({\r\n questionType: 'MAP',\r\n isShowQuestionInUI: true,\r\n parentQuestionRelation: {\r\n parentQuestionId:\r\n filteredHardCopyQuestion[0]['questionId'],\r\n parentQuestionAnswer: 'Y',\r\n },\r\n });\r\n }\r\n\r\n // if NRI then passport upload is required\r\n let filteredNationalityQuestion: any = filteredObj.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['cammundaQuestionCode'] === 'Nationality'\r\n );\r\n if (!this.checkIfValueIsEmpty(filteredNationalityQuestion)) {\r\n singlePersonObject['questionList'].push({\r\n questionType: 'PASSPORT_UPLOAD',\r\n optionalQuestion: 'N',\r\n questionText: 'Passport Details ',\r\n isShowQuestionInUI: true,\r\n parentQuestionRelation: {\r\n parentQuestionId:\r\n filteredNationalityQuestion[0]['questionId'],\r\n parentQuestionAnswer: 'forgnNational',\r\n },\r\n });\r\n obj['questions'].push({\r\n questionType: 'PASSPORT_UPLOAD',\r\n optionalQuestion: 'N',\r\n questionText: 'Passport Details ',\r\n isShowQuestionInUI: true,\r\n parentQuestionRelation: {\r\n parentQuestionId:\r\n filteredNationalityQuestion[0]['questionId'],\r\n parentQuestionAnswer: 'forgnNational',\r\n },\r\n });\r\n }\r\n }\r\n questionsListForLA.push(obj);\r\n });\r\n // let lifeAssuredObjectIndexInMaster: any = this.questionList.findIndex((singleObj: any) => singleObj['role'] === singlePersonObject['role']);\r\n // if (lifeAssuredObjectIndexInMaster !== this.numberMinusOne) {\r\n this.questionList = questionsListForLA;\r\n this.resolveHeightQuestionIds();\r\n // }\r\n });\r\n this.personUwResponseObj = data['questionsResponse'];\r\n }\r\n }\r\n\r\n if(!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList) ) {\r\n let isSubQuestionExists: any = false;\r\n this.isMedicalSubQuestionsAvailable = null;\r\n let arrayOfKeys : any = Object.keys(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList);\r\n arrayOfKeys.forEach((singleKey : any) => {\r\n if (!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey])) {\r\n this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].forEach((singleAnswerObj : any) => {\r\n this.findMedicalQuestionsInOpenQuote(singleAnswerObj);\r\n });\r\n }\r\n });\r\n\r\n if(!this.checkIfValueIsEmpty(this.isMedicalSubQuestionsAvailable)) {\r\n this.masterService\r\n .getSubQuestions(\r\n this.field()?.configData,\r\n this.isMedicalSubQuestionsAvailable['answer'],\r\n this.isMedicalSubQuestionsAvailable['personUWId']\r\n )\r\n .subscribe(\r\n (subQuestionResponse: any) => {\r\n let distinctSteps: any = [];\r\n if (!this.checkIfValueIsEmpty(subQuestionResponse)) {\r\n subQuestionResponse.forEach((subQuestion: any) => {\r\n subQuestion['domainValues'] =\r\n this.medialQuestionResponse()['domainValues'][\r\n subQuestion['domainName']\r\n ];\r\n\r\n subQuestion['field'] = this.getField(subQuestion);\r\n if (!distinctSteps.includes(subQuestion['clusterId'])) {\r\n distinctSteps.push(subQuestion['clusterId']);\r\n }\r\n });\r\n\r\n subQuestionResponse.sort(\r\n (a: any, b: any) =>\r\n a['step'] - b['step'] ||\r\n a['displayOrder'] - b['displayOrder']\r\n );\r\n distinctSteps.forEach((steps: any, ind: any) => {\r\n let filteredObj: any = subQuestionResponse.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['clusterId'] === steps\r\n );\r\n let obj: any = {\r\n step: 1000 + ind,\r\n questions: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj\r\n : [],\r\n sectionName: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj[0]['title']\r\n : '',\r\n isMedicalSubQuestion: true,\r\n showSection: true,\r\n personUWId:\r\n this.isMedicalSubQuestionsAvailable[\r\n 'personUWId'\r\n ].toString(),\r\n };\r\n // let LaIndex: any = this.personUwMasterObj.findIndex(\r\n // (single: any) => single['role'] === singlePerson['role']\r\n // );\r\n this.questionList.push(obj);\r\n });\r\n this.medicalSubQuestionsResponse = subQuestionResponse;\r\n // let laIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\r\n this.medialQuestionResponse()['questionsResponse'][0][\r\n 'questionList'\r\n ] = this.medialQuestionResponse()['questionsResponse'][0][\r\n 'questionList'\r\n ].concat(this.medicalSubQuestionsResponse);\r\n\r\n this.mapAnswersForOpenQuote();\r\n } else {\r\n this.mapAnswersForOpenQuote();\r\n }\r\n },\r\n (err: any) => {\r\n this.mapAnswersForOpenQuote();\r\n }\r\n );\r\n } else {\r\n this.mapAnswersForOpenQuote();\r\n }\r\n // this.personUWOpenQuoteResponse().forEach((singlePerson: any) => {\r\n // if (!this.checkIfValueIsEmpty(singlePerson['questionList']) && !this.checkIfValueIsEmpty(singlePerson['questionList'][0])) {\r\n // let arrayOfKeys = Object.keys(singlePerson['questionList'][0]['personUWdetailsList']);\r\n // if (arrayOfKeys.length > 0) {\r\n // arrayOfKeys.forEach((singleKey) => {\r\n // if (!this.checkIfValueIsEmpty(singlePerson['questionList'][0]['personUWdetailsList'][singleKey])) {\r\n // singlePerson['questionList'][0]['personUWdetailsList'][singleKey].forEach((answerObj: any) => {\r\n\r\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\r\n\r\n\r\n // let filteredQuestion: any = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === answerObj['questionId']);\r\n // if (!this.checkIfValueIsEmpty(filteredQuestion) && filteredQuestion[0]['questionType'] === 'CHECKBOX') {\r\n // // this.personUwAnswers[answerObj.questionId] = [];\r\n // // let listOfOptionsSelected : any = answerObj.answer.split(',');\r\n // // listOfOptionsSelected.forEach((singleElement : any) => {\r\n // // if(!this.checkIfValueIsEmpty(filteredQuestion) && !this.checkIfValueIsEmpty(filteredQuestion[0]) && !this.checkIfValueIsEmpty(filteredQuestion[0]['domainValues'])) {\r\n // // let filteredDomainValueObj : any = filteredQuestion[0]['domainValues'].filter((singleObj : any) => singleObj['domainInternalValue'] === singleElement);\r\n // // if(!this.checkIfValueIsEmpty(filteredDomainValueObj)) {\r\n // // this.personUwAnswers[answerObj.questionId].push({\r\n // // label : filteredDomainValueObj[0]['domainUiValue'],\r\n // // value : filteredDomainValueObj[0]['domainInternalValue']\r\n // // });\r\n // // }\r\n // // }\r\n // // });\r\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer.split(',');\r\n // } else {\r\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer\r\n // }\r\n\r\n // if (answerObj['cammundaQuestionCode'] === 'QHT') {\r\n // this.personUwAnswers['medicalQuestionsHeightInput'] = answerObj['answer'];\r\n // }\r\n // if (answerObj['cammundaQuestionCode'] === 'QHTF') {\r\n // let feetAnswer = answerObj['answer'].split('.');\r\n // if (!this.checkIfValueIsEmpty(answerObj['answer']) && answerObj['answer'].includes('.')) {\r\n // this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\r\n // this.personUwAnswers['medicalQuestionsInchesInput'] = feetAnswer[1];\r\n // } else {\r\n // this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\r\n // this.personUwAnswers['medicalQuestionsInchesInput'] = '0';\r\n // }\r\n // }\r\n // // this.medialQuestionResponse()['questionsResponse'][0]['questionList'].forEach((singleQuestionResponse: any) => {\r\n // // if (singleQuestionResponse['questionId'] === answerObj['questionId'] && singleQuestionResponse['questionType'] === 'DECLARATION') {\r\n // // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\r\n // // }\r\n // // });\r\n // // let laIndex: any = this.medialQuestionResponse()['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\r\n\r\n // // if (!this.checkIfValueIsEmpty(filteredQuestion) && filteredQuestion[0]['questionType'] === 'DECLARATION') {\r\n // // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\r\n // // }\r\n\r\n // if (answerObj['cammundaQuestionCode'] === 'LifeMediCndtn' || answerObj['cammundaQuestionCode'] === 'MediCndtn') {\r\n // isSubQuestionExists = true;\r\n\r\n\r\n // // {\r\n // // \"urlParamForDisease\": \"mdeicalHistory\",\r\n // // \"apiUrl\": \"https://preprod-directportallife.godigit.com/DirectPortalLife/life/fetchSubQuestions\",\r\n // // \"urlParamForPersonUwId\": \"personUWID\",\r\n // // \"tokenCookieParam\": \"v3Token\",\r\n // // \"isSendToken\": false\r\n // // }\r\n // this.masterService.getSubQuestions(this.field()?.configData, answerObj['answer'], answerObj['personUWId']).subscribe(\r\n // (subQuestionResponse: any) => {\r\n // // this.loaderService.display(false);\r\n // let distinctSteps: any = [];\r\n // if (!this.checkIfValueIsEmpty(subQuestionResponse)) {\r\n // subQuestionResponse.forEach((subQuestion: any) => {\r\n // subQuestion['isMedicalSubQuestion'] = true;\r\n // subQuestion['isShowQuestionInUI'] = false;\r\n // if (\r\n // !this.checkIfValueIsEmpty(subQuestion['questionRelation']) &&\r\n // !Array.isArray(subQuestion['questionRelation'])\r\n // ) {\r\n // subQuestion['questionRelation'] = [subQuestion['questionRelation']];\r\n // }\r\n // if (\r\n // subQuestion['questionType'] === 'CHECKBOX' &&\r\n // !this.checkIfValueIsEmpty(subQuestion['questionRelation'])\r\n // ) {\r\n // subQuestion['questionRelation'].forEach((singleQuestionRelationObj: any) => {\r\n // let nextQuestionObject: any = subQuestionResponse.filter(\r\n // (object: any) => object['questionId'] === singleQuestionRelationObj['nextQuestionId']\r\n // );\r\n // if (nextQuestionObject.length > 0) {\r\n // nextQuestionObject[0]['answeredValue'] = singleQuestionRelationObj['parentQuestionValue'];\r\n // }\r\n // });\r\n // }\r\n // subQuestion['domainValues'] = this.medialQuestionResponse()['domainValues'][\r\n // subQuestion['domainName']\r\n // ];\r\n\r\n // subQuestion['field'] = this.getField(subQuestion);\r\n\r\n // // if (!this.checkIfValueIsEmpty(subQuestion['domainValues'])) {\r\n // // subQuestion['domainValues'].forEach((subDomain: any) => {\r\n // // this.subMedicalQuestionsDomainInternalValuesList.push(subDomain['domainInternalValue']);\r\n // // });\r\n // // }\r\n // if (!distinctSteps.includes(subQuestion['clusterId'])) {\r\n // distinctSteps.push(subQuestion['clusterId']);\r\n // }\r\n // });\r\n // subQuestionResponse.sort((a: any, b: any) => a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']);\r\n // distinctSteps.forEach((steps: any, ind: any) => {\r\n // let filteredObj: any = subQuestionResponse.filter((singleQuestion: any) => singleQuestion['clusterId'] === steps);\r\n // let obj: any = {\r\n // step: 1000 + ind,\r\n // questions: !this.checkIfValueIsEmpty(filteredObj) ? filteredObj : [],\r\n // sectionName: !this.checkIfValueIsEmpty(filteredObj) ? filteredObj[0]['title'] : '',\r\n // isMedicalSubQuestion: true,\r\n // showSection: true,\r\n // personUWId: answerObj['personUWId'].toString(),\r\n // };\r\n // // let LaIndex: any = this.personUwMasterObj.findIndex(\r\n // // (single: any) => single['role'] === singlePerson['role']\r\n // // );\r\n // this.questionList.push(obj);\r\n // })\r\n // this.medicalSubQuestionsResponse = subQuestionResponse;\r\n // // let laIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\r\n // this.medialQuestionResponse()['questionsResponse'][0]['questionList'] = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].concat(this.medicalSubQuestionsResponse);\r\n // }\r\n // this.removeSubQuestionValues();\r\n // // this.disableConfirmationButton = false;\r\n // },\r\n // (err: any) => {\r\n // // this.disableConfirmationButton = true;\r\n // // this.loaderService.display(false);\r\n // }\r\n // );\r\n // }\r\n // // else {\r\n // // this.loaderService.display(false);\r\n // // }\r\n\r\n // if (typeof answerObj.answer === 'string' && answerObj.answer !== 'Y' && answerObj.answer !== 'N') {\r\n // // if (answerObj.answer.includes(',')) {\r\n // // answerObj.answer.split(',').forEach((answer: any) => {\r\n // // this.personUwAnswers[answer] = true;\r\n // // });\r\n // // }\r\n // // this.personUwAnswers[answerObj.answer] = true;\r\n // }\r\n // this. updatePersonUwAnswers(answerObj);\r\n // });\r\n // }\r\n // });\r\n // }\r\n // }\r\n // });\r\n }\r\n\r\n\r\n }\r\n\r\n this.removeSubQuestionValues();\r\n\r\n this.medQuestionObj['heightObjectTypes'] = {\r\n controlStyle: {\r\n controlType: 'select',\r\n borderColor: '#ffffff',\r\n borderWidth: '1.5px',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: '#FFFFFF',\r\n dropdownOptionColor: '#444444',\r\n dropdownOptionFontWeight: '400',\r\n width: null,\r\n focusBorderWidth: '1.5px',\r\n focusBorderColor: '#ffffff',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#ffffff',\r\n hoverBorderWidth: '1.5px',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '1.5px',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n fieldName: null,\r\n label: 'feet / inches',\r\n placeHolder: '',\r\n metaId: '',\r\n isVisible: true,\r\n isDisable: isDisable,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: 150,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: [\r\n {\r\n label: 'Cm',\r\n value: 'CM',\r\n },\r\n {\r\n label: 'Feet',\r\n value: 'FEET',\r\n },\r\n ],\r\n cssClass: null,\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n configData: {},\r\n metaDataObj: null,\r\n isShowLabel: false,\r\n isMasterControl: false,\r\n controlType: 'select',\r\n };\r\n }\r\n\r\n updatePersonUwAnswers(answerObj: any) {\r\n\r\n if (answerObj['cammundaQuestionCode'] === 'QHT') {\r\n this.personUwAnswers['medicalQuestionsHeightInput'] = answerObj['answer'];\r\n }\r\n if (answerObj['cammundaQuestionCode'] === 'QHTF') {\r\n let feetAnswer = answerObj['answer'].split('.');\r\n if (!this.checkIfValueIsEmpty(answerObj['answer']) && answerObj['answer'].includes('.')) {\r\n this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\r\n this.personUwAnswers['medicalQuestionsInchesInput'] = feetAnswer[1];\r\n } else {\r\n this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\r\n this.personUwAnswers['medicalQuestionsInchesInput'] = '0';\r\n }\r\n }\r\n\r\n let filteredQuestion: any = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === answerObj['questionId']);\r\n if(!this.checkIfValueIsEmpty(filteredQuestion) && !this.checkIfValueIsEmpty(filteredQuestion[0])) {\r\n if(filteredQuestion[0]['questionType'] === 'CHECKBOX') {\r\n this.personUwAnswers[answerObj.questionId] = answerObj.answer.split(',');\r\n\r\n } else {\r\n this.personUwAnswers[answerObj.questionId] = answerObj.answer;\r\n }\r\n }\r\n if (!this.checkIfValueIsEmpty(answerObj.personUWActivityResponseEntity)) {\r\n answerObj.personUWActivityResponseEntity.forEach((subquestion: any) => {\r\n this.updatePersonUwAnswers(subquestion);\r\n });\r\n this.saveQuestionDetails()\r\n }\r\n }\r\n\r\n checkIfValueIsEmpty(value: any) {\r\n if (typeof value === 'string') {\r\n value = value.trim();\r\n }\r\n return (\r\n value === undefined ||\r\n value === null ||\r\n value === '' ||\r\n (value instanceof Array && value.length === 0) ||\r\n JSON.stringify(value) === '{}'\r\n );\r\n }\r\n\r\n getTitleCase(header: any): any {\r\n if (header) {\r\n if (this.questionHeader.includes(header.toLocaleLowerCase())) {\r\n let val = header.split(' ');\r\n return val[0].toUpperCase() + ' ' + this.toTitleCase(val[1]);\r\n } else {\r\n if (header.toUpperCase() === 'FATCA DETAILS') {\r\n return header;\r\n }\r\n return this.toTitleCase(header);\r\n }\r\n }\r\n }\r\n\r\n toTitleCase(value: any) {\r\n if (!this.checkIfValueIsEmpty(value)) {\r\n return value\r\n .toString()\r\n .replace(\r\n /\\w\\S*/g,\r\n (txt: any) => txt[0].toUpperCase() + txt.substr(1).toLowerCase()\r\n );\r\n }\r\n }\r\n\r\n getField(questionObj: any) {\r\n let optionsObj: any = [];\r\n let controlStyle : any = {};\r\n if (questionObj['domainValues']) {\r\n questionObj['domainValues'].forEach((singleOptionValue: any) => {\r\n optionsObj.push({\r\n label: singleOptionValue['domainUiValue'],\r\n value: singleOptionValue['domainInternalValue'],\r\n });\r\n });\r\n }\r\n let isDisable : any = false;\r\n if(!this.checkIfValueIsEmpty(sessionStorage.getItem('isDisableMedicalQuestions')) ) {\r\n let isDisableMedicalQuestionsinUi : any = sessionStorage.getItem('isDisableMedicalQuestions');\r\n isDisable = JSON.parse(isDisableMedicalQuestionsinUi) ? true : false;\r\n }\r\n let minLength: any = null;\r\n let maxLength: any = 200;\r\n let pattern: any = null;\r\n let patternMessage: any = null;\r\n let configData: any = !this.checkIfValueIsEmpty(this.field()?.configData)\r\n ? this.field()?.configData\r\n : {};\r\n\r\n if(questionObj['questionType'] === 'RADIO BUTTON' || questionObj['questionType'] === 'ADDMORE') {\r\n controlStyle = {\r\n \"controlType\": \"radio\",\r\n \"borderColor\": \"#DADADA\",\r\n \"borderWidth\": \"1px\",\r\n \"borderRadius\": null,\r\n \"fontSize\": \"12px\",\r\n \"fontWeight\": \"400\",\r\n \"fontFamily\": \"Mulish\",\r\n \"color\": \"#444444\",\r\n \"background\": \"#FFFFFF\",\r\n \"caretColor\": null,\r\n \"nudgeDisplayImage\": null,\r\n \"dropdownOptionBgColor\": null,\r\n \"dropdownOptionColor\": null,\r\n \"dropdownOptionFontWeight\": null,\r\n \"width\": null,\r\n \"focusBorderWidth\": \"1px\",\r\n \"focusBorderColor\": \"#ffbb00\",\r\n \"focusBackground\": null,\r\n \"focusColor\": \"#444444\",\r\n \"focusDropdownOptionBgColor\": null,\r\n \"focusDropdownOptionColor\": null,\r\n \"focusDropdownOptionFontWeight\": null,\r\n \"focusDropdownOptionBorderLeft\": null,\r\n \"focusDropdownOptionBorderRadius\": null,\r\n \"hoverBorderColor\": \"#DADADA\",\r\n \"hoverBorderWidth\": \"1px\",\r\n \"hoverColor\": \"#444444\",\r\n \"disableColor\": \"#ECECEC\",\r\n \"disableBackground\": \"#ECECEC\",\r\n \"errorBorderColor\": \"#DADADA\",\r\n \"errorBorderWidth\": \"1px\",\r\n \"errorColor\": \"#444444\",\r\n \"createdDate\": null,\r\n \"padding\": null,\r\n \"margin\": null,\r\n \"isMasterCss\": null,\r\n \"controlMetaId\": \"ALL_COM_GEN_CTRL_radio_nomineeGender_V1\",\r\n \"borderStyle\": null,\r\n \"height\": null,\r\n \"minHeight\": null,\r\n \"maxHeight\": null,\r\n \"minWidth\": null,\r\n \"maxWidth\": null,\r\n \"cssClass\": null\r\n };\r\n }\r\n if (!this.checkIfValueIsEmpty(questionObj['validations'])) {\r\n let validationObj: any = JSON.parse(questionObj['validations']);\r\n if (!this.checkIfValueIsEmpty(validationObj['MinValue'])) {\r\n minLength = validationObj['MinValue'];\r\n }\r\n if (!this.checkIfValueIsEmpty(validationObj['MaxValue'])) {\r\n maxLength = validationObj['MaxValue'];\r\n }\r\n if (!this.checkIfValueIsEmpty(validationObj['Type'])) {\r\n pattern = validationObj['Type'] === 'Numeric' ? '^[0-9]+$' : null;\r\n patternMessage =\r\n validationObj['Type'] === 'Numeric'\r\n ? 'Only numbers are allowed.'\r\n : null;\r\n\r\n if(validationObj['Type'] === 'Numeric') {\r\n configData['isAllowNumbersInTextFields'] = true;\r\n }\r\n if (validationObj['Type'] === 'Numeric') {\r\n maxLength = '9'.repeat(Number(maxLength));\r\n configData['maxValue'] = maxLength;\r\n configData['minValue'] = 0;\r\n }\r\n }\r\n }\r\n\r\n return {\r\n configData: configData,\r\n controlStyle: controlStyle,\r\n controlType:\r\n questionObj['questionType'] === 'FREE TEXT'\r\n ? 'text'\r\n : questionObj['questionType'] === 'RADIO BUTTON' ||\r\n questionObj['questionType'] === 'ADDMORE'\r\n ? 'radio'\r\n : questionObj['questionType'] === 'CHECKBOX' ||\r\n questionObj['questionType'] === 'DECLARATION'\r\n ? 'checkbox'\r\n : questionObj['questionType'] === 'CALENDAR'\r\n ? 'date'\r\n : questionObj['questionType'] === 'DROPDOWN'\r\n ? 'select'\r\n : questionObj['questionType'] === 'DOCUPLOAD'\r\n ? 'file'\r\n : '',\r\n fieldName: questionObj['cammundaQuestionCode'],\r\n isDisable,\r\n label: questionObj['questionText'],\r\n placeHolder: questionObj['questionText'],\r\n validators: {\r\n isRequired: questionObj['optionalQuestion'] === 'N' ? true : false,\r\n minLength,\r\n maxLength,\r\n pattern,\r\n patternMessage,\r\n },\r\n cssClass: \"mb-2\",\r\n isVisible: true,\r\n options: optionsObj,\r\n isShowLabel: true,\r\n };\r\n }\r\n\r\n removeSubQuestionValues(question?: any) {\r\n console.log('ssssssssssssssssssssssss', this.questionList)\r\n if (!this.checkIfValueIsEmpty(this.questionList)) {\r\n this.questionList.forEach((singleSection: any) => {\r\n if (!this.checkIfValueIsEmpty(singleSection['questions'])) {\r\n singleSection['questions'].forEach((singleQuestion: any) => {\r\n if (!this.showQuestion(singleQuestion)) {\r\n singleQuestion['isShowQuestionInUI'] = false;\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n )\r\n ) {\r\n delete this.personUwAnswers[singleQuestion['questionId']];\r\n }\r\n // }\r\n } else {\r\n singleQuestion['isShowQuestionInUI'] = true;\r\n }\r\n\r\n if (singleQuestion['questionType'] === 'CHECKBOX') {\r\n if (!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\r\n let isNoneInDomainValues: any = singleQuestion[\r\n 'domainValues'\r\n ].filter(\r\n (singleObj: any) =>\r\n singleObj['domainUiValue'].toUpperCase() === 'NONE'\r\n );\r\n singleQuestion['domainValues'].forEach(\r\n (singleDomainValue: any) => {\r\n if (\r\n !this.checkIfValueIsEmpty(isNoneInDomainValues) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n isNoneInDomainValues[0]['domainInternalValue']\r\n ]\r\n ) &&\r\n this.personUwAnswers[\r\n isNoneInDomainValues[0]['domainInternalValue']\r\n ]\r\n ) {\r\n // none is selected\r\n singleQuestion['domainValues'].forEach(\r\n (singleDomainValue: any) => {\r\n // remove all selected checkbox questions\r\n if (\r\n singleDomainValue.domainUiValue.toUpperCase() !==\r\n 'NONE'\r\n ) {\r\n singleDomainValue.isDisabled = true;\r\n delete this.personUwAnswers[\r\n singleDomainValue['domainInternalValue']\r\n ];\r\n }\r\n }\r\n );\r\n } else {\r\n singleDomainValue.isDisabled = false;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n });\r\n }\r\n // let isSectionExistsInBlockedList: any = this.isBlockedQuestionsList.filter((singleBlockedObj: any) => singleBlockedObj['sectionTitle'].trim() === singleSection['sectionName'].trim());\r\n singleSection['showSection'] = !this.checkIfValueIsEmpty(\r\n singleSection['questions'].filter(\r\n (singleQuestion: any) => singleQuestion['isShowQuestionInUI']\r\n )\r\n );\r\n // if (!this.checkIfValueIsEmpty(isSectionExistsInBlockedList)) {\r\n // if (isSectionExistsInBlockedList[0].isBlockedForCustomerFlow && !this.loadingAgentportal) {\r\n // singleSection['showSection'] = false;\r\n // let filteredIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePersonObj['role']);\r\n // singleSection['questions'].forEach((singleQuestionObjInSection: any) => {\r\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][filteredIndex]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\r\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\r\n // filteredQuestion[0]['isShowQuestionInUI'] = singleSection['showSection'];\r\n // }\r\n // });\r\n // }\r\n // if ((isSectionExistsInBlockedList[0].isBlockedForAgentFlow || sessionStorage.getItem('agentChannel') === 'D20' || sessionStorage.getItem('agentChannel') === 'D05' || sessionStorage.getItem('agentChannel') === 'D06') && this.loadingAgentportal) {\r\n // singleSection['showSection'] = false;\r\n // let filteredIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePersonObj['role']);\r\n // singleSection['questions'].forEach((singleQuestionObjInSection: any) => {\r\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][filteredIndex]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\r\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\r\n // filteredQuestion[0]['isShowQuestionInUI'] = singleSection['showSection'];\r\n // }\r\n // });\r\n // }\r\n // }\r\n let hiddenQuestions: any = this.questionList.filter(\r\n (singleSectionObj: any) => !singleSectionObj['showSection']\r\n );\r\n if (this.checkIfValueIsEmpty(hiddenQuestions)) {\r\n hiddenQuestions.forEach((singleSection: any) => {\r\n singleSection['questions'].forEach(\r\n (singleQuestionObjInSection: any) => {\r\n singleQuestionObjInSection['isShowQuestionInUI'] = false;\r\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\r\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\r\n // filteredQuestion[0]['isShowQuestionInUI'] = false;\r\n // }\r\n }\r\n );\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.questionList.sort((a: any, b: any) => a['step'] - b['step']);\r\n\r\n console.log('questions list', this.questionList);\r\n console.log('questions answers', this.personUwAnswers);\r\n this.saveQuestionDetails();\r\n }\r\n\r\n showQuestion(currentQuestion: any) {\r\n let showQuestion: any = false;\r\n let subQuestions: any = [];\r\n // let currentSectionIndex: any = questionsResponse['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === personRole)\r\n // let role = this.personUwResponseObj['questionsResponse'][currentSectionIndex]['role']\r\n\r\n this.personUwResponseObj[0].questionList.forEach((singleQuestion: any) => {\r\n let isSubQuestionObject: any = [];\r\n if (!this.checkIfValueIsEmpty(singleQuestion['questionRelation'])) {\r\n isSubQuestionObject = singleQuestion['questionRelation'].filter(\r\n (questionRelationObj: any) =>\r\n questionRelationObj['nextQuestionId'] ===\r\n currentQuestion['questionId']\r\n );\r\n }\r\n if (isSubQuestionObject.length > 0) {\r\n subQuestions.push(singleQuestion);\r\n isSubQuestionObject.forEach((singleSubQuestion: any) => {\r\n if (\r\n (singleQuestion['questionType'] !== 'CHECKBOX' &&\r\n singleSubQuestion['parentQuestionValue'].toString()[0] !== '!' &&\r\n this.personUwAnswers[singleQuestion['questionId']] ===\r\n singleSubQuestion['parentQuestionValue']) ||\r\n (singleSubQuestion['parentQuestionValue'].toString()[0] === '!' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n ) &&\r\n this.personUwAnswers[singleQuestion['questionId']] !==\r\n singleSubQuestion['parentQuestionValue']\r\n .toString()\r\n .split('!')[1]) ||\r\n (singleQuestion['questionType'] === 'CHECKBOX' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n ) &&\r\n this.personUwAnswers[singleQuestion['questionId']]?.includes(singleSubQuestion['parentQuestionValue'])\r\n // this.personUwAnswers[singleQuestion['questionId']]?.filter(\r\n // (singleObj: any) =>\r\n // singleObj ===\r\n // singleSubQuestion['parentQuestionValue']\r\n // ).length > 0\r\n )\r\n ) {\r\n showQuestion = true;\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n this.checkIfValueIsEmpty(subQuestions) &&\r\n this.checkIfValueIsEmpty(currentQuestion['parentQuestionRelation'])\r\n ) {\r\n showQuestion = true;\r\n }\r\n if (\r\n !this.checkIfValueIsEmpty(currentQuestion['parentQuestionRelation']) &&\r\n !this.checkIfValueIsEmpty(\r\n currentQuestion['parentQuestionRelation']['parentQuestionId']\r\n ) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n currentQuestion['parentQuestionRelation']['parentQuestionId']\r\n ]\r\n ) &&\r\n this.personUwAnswers[\r\n currentQuestion['parentQuestionRelation']['parentQuestionId']\r\n ] === currentQuestion['parentQuestionRelation']['parentQuestionAnswer']\r\n ) {\r\n showQuestion = true;\r\n }\r\n if (currentQuestion['questionType'] === 'NODISPLAY') {\r\n showQuestion = false;\r\n }\r\n return showQuestion;\r\n }\r\n\r\n saveQuestionDetails() {\r\n // remove all checkbox questions present in values\r\n if (!this.checkIfValueIsEmpty(this.listOfDomainValuesForCheckBox)) {\r\n // let lifeAssuredkeys: any = Object.keys(this.personUwAnswers['lifeAssured']);\r\n // let policyAssuredKeys: any = Object.keys(this.personUwAnswers['policyHolder']);\r\n // let lifeAssuredOneKeys: any = Object.keys(this.personUwAnswers['lifeAssuredOne']);\r\n // let lifeAssuredTwoKeys: any = Object.keys(this.personUwAnswers['lifeAssuredTwo']);\r\n // this.personUwAnswers.forEach((singleKey: any) => {\r\n // if (isNaN(Number(singleKey)) && !this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssured'][singleKey])) {\r\n // delete this.personUwAnswers['lifeAssured'][singleKey];\r\n // }\r\n // });\r\n // policyAssuredKeys.forEach((singleKey: any) => {\r\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['policyHolder'][singleKey])) {\r\n // delete this.personUwAnswers['policyHolder'][singleKey];\r\n // }\r\n // });\r\n // lifeAssuredOneKeys.forEach((singleKey: any) => {\r\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssuredOne'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssuredOne'][singleKey])) {\r\n // delete this.personUwAnswers['policyHolder'][singleKey];\r\n // }\r\n // });\r\n // lifeAssuredTwoKeys.forEach((singleKey: any) => {\r\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssuredTwo'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssuredTwo'][singleKey])) {\r\n // delete this.personUwAnswers['policyHolder'][singleKey];\r\n // }\r\n // });\r\n }\r\n // let heightInInchesObj: any = [];\r\n // let heightInFeetObj: any = [];\r\n // let heightInCentimeterObj: any = [];\r\n let isValid: any = true;\r\n // if (!this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj) && !this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj['questionsResponse'])) {\r\n // let laIndex: any = this.sharedService.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === 'lifeAssured');\r\n // if (laIndex !== -1 && !this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj['questionsResponse'][laIndex])) {\r\n // heightInInchesObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTI');\r\n // heightInFeetObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTF');\r\n // heightInCentimeterObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHT');\r\n // }\r\n // }\r\n\r\n // validation for medical and non medical questions :\r\n // if (!this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj) && !this.checkIfValueIsEmpty(this.sharedService.personUwMasterObj) && isValid) {\r\n // this.sharedService.personUwMasterObj.forEach((singlePersonObj: any, singlePersonIndex: any) => {\r\n // if (!this.checkIfValueIsEmpty(singlePersonObj['questionList']) && isValid) {\r\n // let role: any = singlePersonObj['role'] === 'lifeAssured' ? \"life assured\" : singlePersonObj['role'] === 'policyHolder' ? \"policy holder\" : singlePersonObj['role'] === 'lifeAssuredOne' ? \"Joint Life 1\" : singlePersonObj['role'] === 'lifeAssuredTwo' ? \"Joint Life 2\" : \"\";\r\n // singlePersonObj['questionList'].forEach((singleSection: any) => {\r\n // if (!this.checkIfValueIsEmpty(singleSection['questions']) && isValid) {\r\n // if (!this.checkIfValueIsEmpty(singleSection['sectionName']) && (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') === 'TELL_US_MORE' || singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') === 'BASIC_DETAILS') && isValid) {\r\n\r\n // // validation for height entered in feet\r\n // if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET') {\r\n // let heightInInchesObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTI');\r\n // let heightInFeetObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTF');\r\n // if (!this.checkIfValueIsEmpty(heightInInchesObj) && !this.checkIfValueIsEmpty(heightInFeetObj) && (this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionFeetInput']) || this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionsInchesInput']))) {\r\n // isValid = false;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // this.sharedService.removeSubQuestionValues();\r\n // }\r\n // let questionId: any = heightInFeetObj[0]['questionId'] + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please enter Height in Feet and Inches for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please enter Height in Feet and Inches for ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // if (role === 'Joint Life 1') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFEONE');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'Joint Life 2') {\r\n // this.setActiveTab(1);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFETWO');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // }\r\n\r\n // }\r\n\r\n // return false;\r\n // }\r\n // }\r\n // }\r\n // // validation for height in cm\r\n // let heightInCentimeterObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHT');\r\n // if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\r\n // this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionsHeightInput']) &&\r\n // !this.checkIfValueIsEmpty(heightInCentimeterObj) && isValid) {\r\n // isValid = false;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // this.sharedService.removeSubQuestionValues();\r\n // }\r\n // let questionId: any = heightInCentimeterObj[0]['questionId'] + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please enter Height in CM ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please enter Height in CM ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // if (role === 'Joint Life 1') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFEONE');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'Joint Life 2') {\r\n // this.setActiveTab(1);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFETWO');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // }\r\n // }\r\n\r\n // return false;\r\n // }\r\n // }\r\n\r\n // }\r\n\r\n // singleSection['questions'].forEach((singleQuestionObj: any) => {\r\n // // validation for basic questions\r\n // if (\r\n // !this.checkIfValueIsEmpty(singleQuestionObj) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n // singleQuestionObj['isShowQuestionInUI'] &&\r\n // isValid &&\r\n // singleQuestionObj['questionType'] !== 'IMAGE TEXT' &&\r\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHT' &&\r\n // singleQuestionObj['questionType'] !== 'DECLARATION' &&\r\n // singleQuestionObj['cammundaQuestionCode'] !== 'hardCopyLang' &&\r\n // singleQuestionObj['questionType'] !== 'PASSPORT_UPLOAD' &&\r\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHTF' &&\r\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHTI' &&\r\n // singleQuestionObj['optionalQuestion'].toString() === 'N' &&\r\n // ((singleQuestionObj['questionType'] !== 'CHECKBOX' &&\r\n // this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['questionId']])) ||\r\n // (singleQuestionObj['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(singleQuestionObj, singlePersonObj['role']))) && isValid\r\n // ) {\r\n // isValid = false;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // let questionId: any = singleQuestionObj['questionId'] + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // this.sharedService.removeSubQuestionValues();\r\n // }\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please enter all the details in ' + singleSection['sectionName'] + ' for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please enter all the details in ' + singleSection['sectionName'] + ' for ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setActiveTab(0);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setActiveTab(1);\r\n // setTimeout(() => {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // }, 100);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // console.log(\"joint life case\");\r\n // }\r\n // }\r\n\r\n // return false;\r\n // }\r\n // }\r\n\r\n // if (\r\n // singleQuestionObj['questionType'] === 'PASSPORT_UPLOAD' &&\r\n // singleQuestionObj['optionalQuestion'] === 'N' &&\r\n // singleQuestionObj['isShowQuestionInUI'] &&\r\n // this.sharedService.isMandatoryField &&\r\n // redirect\r\n // ) {\r\n // let filteredPersonPassportObj: any = this.validationService.questionsPassportUploadObj.filter((singleObj: any) => (singleObj['personType'] === singlePersonObj['role'] && this.checkIfValueIsEmpty(singleObj['dmsId'])));\r\n // if (!this.checkIfValueIsEmpty(filteredPersonPassportObj)) {\r\n // this.sharedService.focusToElement(`${filteredPersonPassportObj[0]['questionType']}_${filteredPersonPassportObj[0]['type']}_${filteredPersonPassportObj[0]['personType']}`);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // console.log(\"joint life case\");\r\n // }\r\n // }\r\n // isValid = false;\r\n // return false;\r\n // }\r\n\r\n // }\r\n // // validation for declaration questions\r\n // if (isValid && singleQuestionObj.questionType === 'DECLARATION' &&\r\n // singleQuestionObj['isShowQuestionInUI'] &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n // singleQuestionObj['optionalQuestion'] === 'N'\r\n // ) {\r\n // if (isValid &&\r\n // !this.checkIfValueIsEmpty(this.personUwAnswers) &&\r\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\r\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\r\n // this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\r\n\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // }\r\n // isValid = false;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\r\n // });\r\n // }\r\n // return false;\r\n // }\r\n // }\r\n // }\r\n\r\n // // validation for medical sub questions\r\n // // if (!this.checkIfValueIsEmpty(this.sharedService.medicalSubQuestionsResponse)) {\r\n // // this.sharedService.medicalSubQuestionsResponse.forEach((question: any) => {\r\n // // if (\r\n // // this.showSubQuestion(question) &&\r\n // // question['questionType'] !== 'IMAGE TEXT' &&\r\n // // question['optionalQuestion'].toString() === 'N' &&\r\n // // ((question['questionType'] !== 'CHECKBOX' &&\r\n // // this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][question['questionId']])) ||\r\n // // (question['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(question, 'lifeAssured')))\r\n // // ) {\r\n // // isValid = false;\r\n // // if (!this.sharedService.loadingAgentportal && !savedraft) {\r\n // // this.sharedService.setToastrNotifications({\r\n // // type: 'warning',\r\n // // message: 'Please answer all medical sub questions ' + question['questionId'] + ' ' + question['questionText']\r\n // // });\r\n // // }\r\n // // }\r\n // // });\r\n // // }\r\n // });\r\n\r\n // // validation for fatch declaration\r\n // // if(!this.checkIfValueIsEmpty(singleSection.questions) && isValid){\r\n // // singleSection.questions.forEach((singleQuestionObj:any) => {\r\n // // if(isValid && singleQuestionObj.questionType === 'DECLARATION' && singleQuestionObj['isShowQuestionInUI'] &&\r\n // // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n // // singleQuestionObj['optionalQuestion'] === 'N'\r\n // // ){\r\n // // if( isValid &&\r\n // // !this.checkIfValueIsEmpty(this.personUwAnswers) &&\r\n // // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\r\n // // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\r\n // // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\r\n // // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\r\n // // this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\r\n\r\n // // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // // }\r\n // // isValid = false;\r\n // // if (!this.sharedService.loadingAgentportal && !savedraft) {\r\n // // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\r\n // // this.sharedService.focusToElement(questionId);\r\n // // if (!this.sharedService.isMobileView()) {\r\n // // this.sharedService.setToastrNotifications({\r\n // // type: 'warning',\r\n // // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\r\n // // });\r\n // // }\r\n // // return false;\r\n // // }\r\n // // }\r\n // // }\r\n // // });\r\n // // }\r\n\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n // if ((isValid || savedraft) || this.sharedService.loadingAgentportal) {\r\n // if (isValid) {\r\n if (isValid) {\r\n // this.loaderService.display(true);\r\n // let request: any = [];\r\n let mainReqObj: any = [];\r\n let mainRequestForBothPersons: any = [];\r\n let mainRequestForLa: any = [];\r\n let mainRequestForPh: any = [];\r\n this.questionList.forEach((singleSection: any) => {\r\n // if (!this.checkIfValueIsEmpty(singlePersonObj['questionList'])) {\r\n // singlePersonObj['questionList'].forEach((singleSection: any) => {\r\n // if (\r\n // !this.checkIfValueIsEmpty(singleSection['sectionName']) &&\r\n // (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\r\n // 'TELL_US_MORE' ||\r\n // singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\r\n // 'BASIC_DETAILS')\r\n // ) {\r\n // validation for height in cm\r\n let heightInCentimeterObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHT' || obj['questionId'] === this.personUwAnswers['medicalQuestionsHeightInput']\r\n );\r\n let heightInInchesObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTI' || obj['questionId'] === this.personUwAnswers['medicalQuestionsInchesInput']\r\n );\r\n let heightInFeetObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTF' || obj['questionId'] === this.personUwAnswers['medicalQuestionFeetInput']\r\n );\r\n if (\r\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionsHeightInput']\r\n )\r\n ) {\r\n // pass height in cm obj\r\n let cmObjInAnswersindex: any = mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInCentimeterObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (cmObjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[cmObjInAnswersindex]['answer'] =\r\n parseInt(\r\n this.personUwAnswers['medicalQuestionsHeightInput']\r\n ).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInCentimeterObj[0]['questionId'],\r\n answer: parseInt(\r\n this.personUwAnswers['medicalQuestionsHeightInput']\r\n ).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInCentimeterObj[0]['clusterId'],\r\n });\r\n }\r\n\r\n // height in inches\r\n let heightInInches: any = (\r\n this.personUwAnswers['medicalQuestionsHeightInput'] * 0.393701\r\n ).toFixed(2);\r\n let heightInFeet: any =\r\n parseFloat((heightInInches / 12).toString().split('.')[1]) > 12\r\n ? (heightInInches / 12).toFixed(1)\r\n : (heightInInches / 12).toFixed(2);\r\n let inchesobjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInInchesObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (inchesobjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[inchesobjInAnswersindex]['answer'] =\r\n parseInt(heightInInches).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInInchesObj[0]['questionId'],\r\n answer: parseInt(heightInInches).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInInchesObj[0]['clusterId'],\r\n });\r\n }\r\n // height in feet\r\n\r\n let feetObjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInFeetObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (feetObjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[feetObjInAnswersindex]['answer'] =\r\n parseFloat(heightInFeet).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInFeetObj[0]['questionId'],\r\n answer: parseFloat(heightInFeet).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInFeetObj[0]['clusterId'],\r\n });\r\n }\r\n } else if (\r\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionFeetInput']\r\n ) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionsInchesInput']\r\n )\r\n ) {\r\n if (!this.checkIfValueIsEmpty(heightInFeetObj)) {\r\n let heightInInches: any =\r\n parseFloat(this.personUwAnswers['medicalQuestionFeetInput']) *\r\n 12 +\r\n parseFloat(this.personUwAnswers['medicalQuestionsInchesInput']);\r\n let heightInCm: any = (\r\n parseFloat(heightInInches) / 0.393701\r\n ).toFixed(2);\r\n let feetObjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInFeetObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (feetObjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[feetObjInAnswersindex]['answer'] =\r\n this.personUwAnswers['medicalQuestionFeetInput'].toString() +\r\n '.' +\r\n this.personUwAnswers[\r\n this.personUwAnswers['medicalQuestionsInchesInput']\r\n ].toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInFeetObj[0]['questionId'],\r\n answer:\r\n this.personUwAnswers['medicalQuestionFeetInput'].toString() +\r\n '.' +\r\n this.personUwAnswers['medicalQuestionsInchesInput'].toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInFeetObj[0]['clusterId'],\r\n });\r\n }\r\n let inchesobjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInInchesObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (inchesobjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[inchesobjInAnswersindex]['answer'] =\r\n parseInt(heightInInches).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInInchesObj[0]['questionId'],\r\n answer: parseInt(heightInInches).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInInchesObj[0]['clusterId'],\r\n });\r\n }\r\n let cmObjInAnswersindex: any =\r\n mainRequestForBothPersons.findIndex(\r\n (obj: any) =>\r\n obj.questionId === heightInCentimeterObj[0]['questionId'] &&\r\n obj['personUWId'] === singleSection['personUWId']\r\n );\r\n if (cmObjInAnswersindex !== -1) {\r\n mainRequestForBothPersons[cmObjInAnswersindex]['answer'] =\r\n parseInt(heightInCm).toString();\r\n } else {\r\n mainRequestForBothPersons.push({\r\n personUWId: singleSection['personUWId'],\r\n questionId: heightInCentimeterObj[0]['questionId'],\r\n answer: parseInt(heightInCm).toString(),\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: heightInCentimeterObj[0]['clusterId'],\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj[0]['questionId'])\r\n ) {\r\n let heightInCmAnswerObject: any = mainRequestForBothPersons.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['questionId'] ===\r\n heightInCentimeterObj[0]['questionId']\r\n );\r\n if (\r\n !this.checkIfValueIsEmpty(heightInCmAnswerObject) &&\r\n !this.checkIfValueIsEmpty(heightInCmAnswerObject[0]['answer'])\r\n ) {\r\n this.personUwAnswers[heightInCentimeterObj[0]['questionId']] =\r\n heightInCmAnswerObject[0]['answer'];\r\n }\r\n }\r\n\r\n if (\r\n !this.checkIfValueIsEmpty(heightInInchesObj) &&\r\n !this.checkIfValueIsEmpty(heightInInchesObj[0]['questionId'])\r\n ) {\r\n let heightInInchesAnswerObject: any =\r\n mainRequestForBothPersons.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['questionId'] ===\r\n heightInInchesObj[0]['questionId']\r\n );\r\n if (\r\n !this.checkIfValueIsEmpty(heightInInchesAnswerObject) &&\r\n !this.checkIfValueIsEmpty(heightInInchesAnswerObject[0]['answer'])\r\n ) {\r\n this.personUwAnswers[heightInInchesObj[0]['questionId']] =\r\n heightInInchesAnswerObject[0]['answer'];\r\n }\r\n }\r\n\r\n if (\r\n !this.checkIfValueIsEmpty(heightInFeetObj) &&\r\n !this.checkIfValueIsEmpty(heightInFeetObj[0]['questionId'])\r\n ) {\r\n let heightInFeetAnswerObject: any =\r\n mainRequestForBothPersons.filter(\r\n (singleQuestion: any) =>\r\n singleQuestion['questionId'] ===\r\n heightInFeetObj[0]['questionId']\r\n );\r\n if (\r\n !this.checkIfValueIsEmpty(heightInFeetAnswerObject) &&\r\n !this.checkIfValueIsEmpty(heightInFeetAnswerObject[0]['answer'])\r\n ) {\r\n this.personUwAnswers[heightInFeetObj[0]['questionId']] =\r\n heightInFeetAnswerObject[0]['answer'];\r\n }\r\n }\r\n // }\r\n let isNoDisplayQuestionInSection: any = !this.checkIfValueIsEmpty(\r\n singleSection['questions']\r\n )\r\n ? singleSection['questions'].filter(\r\n (singleData: any) => singleData['questionType'] === 'NODISPLAY'\r\n )\r\n : [];\r\n if (\r\n (singleSection['showSection'] ||\r\n isNoDisplayQuestionInSection.length > 0) &&\r\n !this.checkIfValueIsEmpty(singleSection['questions'])\r\n ) {\r\n singleSection['questions'].forEach((singleQuestion: any) => {\r\n if (singleQuestion['cammundaQuestionCode'] === 'hardCopyLang') {\r\n if (singleQuestion['isShowQuestionInUI']) {\r\n this.personUwAnswers[singleQuestion['questionId']] = 'English';\r\n } else {\r\n delete this.personUwAnswers[singleQuestion['questionId']];\r\n }\r\n }\r\n let checkedOptionsArr: any = [];\r\n if (!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\r\n singleQuestion['domainValues'].forEach(\r\n (singleDomainValue: any) => {\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n singleDomainValue['domainInternalValue']\r\n ]\r\n ) &&\r\n this.personUwAnswers[\r\n singleDomainValue['domainInternalValue']\r\n ]\r\n ) {\r\n checkedOptionsArr.push(\r\n singleDomainValue['domainInternalValue']\r\n );\r\n }\r\n }\r\n );\r\n }\r\n if (\r\n singleQuestion['isShowQuestionInUI'] &&\r\n singleQuestion['questionType'] === 'CHECKBOX'\r\n && !this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestion['questionId']])\r\n ) {\r\n // for checkbox question\r\n\r\n let questionIndexInMainRequest: any =\r\n mainRequestForBothPersons.findIndex(\r\n (singleAnswerObj: any) =>\r\n singleAnswerObj['questionId'] ===\r\n singleQuestion['questionId'] &&\r\n singleAnswerObj['personUWId'] ===\r\n singleSection['personUWId']\r\n );\r\n if (questionIndexInMainRequest === -1) {\r\n let obj: any = {\r\n personUWId: singleSection['personUWId'],\r\n questionId: singleQuestion['questionId'],\r\n answer: '',\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: singleQuestion['clusterId'],\r\n };\r\n obj['answer'] = this.personUwAnswers[singleQuestion['questionId']].toString();\r\n mainRequestForBothPersons.push(obj);\r\n } else {\r\n mainRequestForBothPersons[questionIndexInMainRequest][\r\n 'answer'\r\n ] = this.personUwAnswers[singleQuestion['questionId']].toString();\r\n }\r\n } else if (\r\n singleQuestion['isShowQuestionInUI'] &&\r\n singleQuestion['questionType'] !== 'CHECKBOX' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n )\r\n ) {\r\n // non checkbox question\r\n let questionIndexInMainRequest: any =\r\n mainRequestForBothPersons.findIndex(\r\n (singleAnswerObj: any) =>\r\n singleAnswerObj['questionId'] ===\r\n singleQuestion['questionId'] &&\r\n singleAnswerObj['personUWId'] ===\r\n singleSection['personUWId']\r\n );\r\n if (questionIndexInMainRequest === -1) {\r\n let obj: any = {\r\n personUWId: singleSection['personUWId'],\r\n questionId: singleQuestion['questionId'],\r\n answer:\r\n singleQuestion['questionType'] === 'CALENDAR'\r\n ? new Date(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n )\r\n : this.personUwAnswers[singleQuestion['questionId']],\r\n personUWParentId: 0,\r\n createdUser: this.getCookieValue('userId'),\r\n clusterId: singleQuestion['clusterId'],\r\n };\r\n mainRequestForBothPersons.push(obj);\r\n } else {\r\n mainRequestForBothPersons[questionIndexInMainRequest][\r\n 'answer'\r\n ] =\r\n singleQuestion['questionType'] === 'CALENDAR'\r\n ? new Date(\r\n this.personUwAnswers[singleQuestion['questionId']]\r\n )\r\n : this.personUwAnswers[singleQuestion['questionId']];\r\n }\r\n }\r\n // if(singleQuestion['isShowQuestionInUI'] && !this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestion['questionId']])) {\r\n // let questionIndexInMainRequest : any = mainRequestForBothPersons.findIndex((singleAnswerObj : any) => (singleAnswerObj['questionId'] === singleQuestion['questionId'] && singleAnswerObj['personUWId'] === singleSection['personUWId']))\r\n // if(questionIndexInMainRequest === -1) {\r\n // let obj: any = {\r\n // personUWId: singleSection['personUWId'],\r\n // questionId: singleQuestion['questionId'],\r\n // answer: singleQuestion['questionType'] === 'CALENDAR' ? this.datepipe.transform(new Date(this.personUwAnswers[singleQuestion['questionId']]), 'yyyy-MM-dd') : this.personUwAnswers[singleQuestion['questionId']],\r\n // personUWParentId: 0,\r\n // createdUser: this.getCookieValue('userId'),\r\n // clusterId: singleQuestion['clusterId'],\r\n // };\r\n // mainRequestForBothPersons.push(obj);\r\n // if(singleQuestion['questionType'] === 'CHECKBOX') {\r\n // let checkedOptionsArr : any = [];\r\n // if(!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\r\n // singleQuestion['domainValues'].forEach((singleDomainValue : any) => {\r\n // if(!this.checkIfValueIsEmpty(this.personUwAnswers[singleDomainValue['domainInternalValue']]) && this.personUwAnswers[singleDomainValue['domainInternalValue']]) {\r\n // checkedOptionsArr.push(singleDomainValue['domainInternalValue']);\r\n // }\r\n // });\r\n // }\r\n // obj['answer'] = checkedOptionsArr.toString();\r\n // }\r\n // } else {\r\n // // object already there so over ride the new answer\r\n // if(singleQuestion['questionType'] === 'CHECKBOX') {\r\n // let checkedOptionsArr : any = [];\r\n // if(!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\r\n // singleQuestion['domainValues'].forEach((singleDomainValue : any) => {\r\n // if(!this.checkIfValueIsEmpty(this.personUwAnswers[singleDomainValue['domainInternalValue']]) && this.personUwAnswers[singleDomainValue['domainInternalValue']]) {\r\n // checkedOptionsArr.push(singleDomainValue['domainInternalValue']);\r\n // }\r\n // });\r\n // }\r\n // mainRequestForBothPersons[questionIndexInMainRequest]['answer'] = checkedOptionsArr.toString();\r\n // } else {\r\n // mainRequestForBothPersons[questionIndexInMainRequest]['answer'] = singleQuestion['questionType'] === 'CALENDAR' ? this.datepipe.transform(new Date(this.personUwAnswers[singleQuestion['questionId']]), 'yyyy-MM-dd') : this.personUwAnswers[singleQuestion['questionId']];\r\n // }\r\n\r\n // }\r\n\r\n // }\r\n\r\n // if (singleQuestion['cammundaQuestionCode'] === 'retFinancElgbl') {\r\n // let financialEligibilityAnswerIndex: any = mainRequestForBothPersons.findIndex((singleAnswerObj: any) => (singleAnswerObj['questionId'] === singleQuestion['questionId'] && singleAnswerObj['personUWId'] === singleSection['personUWId']))\r\n // let obj: any = {\r\n // personUWId: singleSection['personUWId'],\r\n // questionId: singleQuestion['questionId'],\r\n // answer: this.sharedService.financialEligibility,\r\n // personUWParentId: 0,\r\n // createdUser: this.getCookieValue('userId'),\r\n // clusterId: singleQuestion['clusterId'],\r\n // };\r\n // if (financialEligibilityAnswerIndex === -1) {\r\n // mainRequestForBothPersons.push(obj);\r\n // } else {\r\n // mainRequestForBothPersons[financialEligibilityAnswerIndex]['answer'] = this.sharedService.financialEligibility;\r\n // }\r\n // }\r\n });\r\n }\r\n // });\r\n // }\r\n });\r\n let distinctPersonIdFromRequest: any = [\r\n ...new Set(\r\n mainRequestForBothPersons.map((item: any) =>\r\n item.personUWId.toString()\r\n )\r\n ),\r\n ];\r\n if (!this.checkIfValueIsEmpty(distinctPersonIdFromRequest)) {\r\n mainRequestForLa = mainRequestForBothPersons.filter(\r\n (singleAnswer: any) =>\r\n singleAnswer['personUWId'] === distinctPersonIdFromRequest[0]\r\n );\r\n if (distinctPersonIdFromRequest.length === 2) {\r\n mainRequestForPh = mainRequestForBothPersons.filter(\r\n (singleAnswer: any) =>\r\n singleAnswer['personUWId'] === distinctPersonIdFromRequest[1]\r\n );\r\n }\r\n }\r\n let saveRequestsArray: any = [];\r\n if (!this.checkIfValueIsEmpty(mainRequestForLa)) {\r\n this.saveQuestionRequestLa = mainRequestForLa;\r\n sessionStorage.setItem(\r\n 'saveQuestionRequestLa',\r\n JSON.stringify(mainRequestForLa)\r\n );\r\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForLa, !calledFromConfirmation));\r\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForLa, (!this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse) && !this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse.isEditAllowedForAgent) && this.sharedService.openQuoteResponse.isEditAllowedForAgent && this.sharedService.openQuoteResponse.isEditAllowedForAgent.toLowerCase() === 'true') ? true : !calledFromConfirmation));\r\n }\r\n if (!this.checkIfValueIsEmpty(mainRequestForPh)) {\r\n this.saveQuestionRequestPh = mainRequestForPh;\r\n sessionStorage.setItem(\r\n 'saveQuestionRequestPh',\r\n JSON.stringify(mainRequestForPh)\r\n );\r\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForPh, !calledFromConfirmation));\r\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForPh, (!this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse) && !this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse.isEditAllowedForAgent) && this.sharedService.openQuoteResponse.isEditAllowedForAgent && this.sharedService.openQuoteResponse.isEditAllowedForAgent.toLowerCase() === 'true') ? true : !calledFromConfirmation));\r\n }\r\n }\r\n this.validateMedicalQuestions();\r\n }\r\n\r\n getCookieValue(name: string): string {\r\n const cookie = document.cookie.split(';');\r\n let tokenName = '';\r\n let tokenValue = '';\r\n const index2 = 2;\r\n cookie.forEach((data) => {\r\n if (data.split('=')[0].includes(name) && !!data.split('=')[1]) {\r\n tokenName = data.split('=')[0].trim();\r\n tokenValue = data.split('=')[1];\r\n }\r\n if (\r\n name === 'link' &&\r\n data.split('=')[0].includes(name) &&\r\n data.split('=')[index2] !== null &&\r\n data.split('=')[index2] !== undefined\r\n ) {\r\n tokenValue = tokenValue + '=' + data.split('=')[index2];\r\n }\r\n });\r\n return tokenValue;\r\n }\r\n\r\n validateMedicalQuestions() {\r\n let isValid: any = true;\r\n let validationMessage : any = '';\r\n this.questionList.forEach((singleSection: any) => {\r\n if (!this.checkIfValueIsEmpty(singleSection['questions']) && isValid) {\r\n if (\r\n !this.checkIfValueIsEmpty(singleSection['sectionName']) &&\r\n (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\r\n 'TELL_US_MORE' ||\r\n singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\r\n 'BASIC_DETAILS') &&\r\n isValid\r\n ) {\r\n // validation for height entered in feet\r\n if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET') {\r\n let heightInInchesObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTI'\r\n );\r\n let heightInFeetObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTF'\r\n );\r\n if (\r\n !this.checkIfValueIsEmpty(heightInInchesObj) &&\r\n !this.checkIfValueIsEmpty(heightInFeetObj) &&\r\n (this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionFeetInput']\r\n ) ||\r\n this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionsInchesInput']\r\n ))\r\n ) {\r\n isValid = false;\r\n validationMessage = `Please enter Height in Feet and Inches`;\r\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // this.sharedService.removeSubQuestionValues();\r\n // }\r\n // let questionId: any = heightInFeetObj[0]['questionId'] + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please enter Height in Feet and Inches for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please enter Height in Feet and Inches for ' + role, 'Close');\r\n\r\n // }\r\n\r\n // return false;\r\n // }\r\n }\r\n }\r\n // validation for height in cm\r\n let heightInCentimeterObj = singleSection['questions'].filter(\r\n (obj: any) => obj['cammundaQuestionCode'] === 'QHT'\r\n );\r\n if (\r\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\r\n this.checkIfValueIsEmpty(\r\n this.personUwAnswers['medicalQuestionsHeightInput']\r\n ) &&\r\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\r\n isValid\r\n ) {\r\n isValid = false;\r\n validationMessage = `Please enter Height in centimeter`;\r\n }\r\n }\r\n\r\n singleSection['questions'].forEach((singleQuestionObj: any) => {\r\n // validation for basic questions\r\n if (\r\n !this.checkIfValueIsEmpty(singleQuestionObj) &&\r\n !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n singleQuestionObj['isShowQuestionInUI'] &&\r\n isValid &&\r\n singleQuestionObj['questionType'] !== 'IMAGE TEXT' &&\r\n singleQuestionObj['cammundaQuestionCode'] !== 'QHT' &&\r\n singleQuestionObj['questionType'] !== 'DECLARATION' &&\r\n singleQuestionObj['cammundaQuestionCode'] !== 'hardCopyLang' &&\r\n singleQuestionObj['questionType'] !== 'PASSPORT_UPLOAD' &&\r\n singleQuestionObj['cammundaQuestionCode'] !== 'QHTF' &&\r\n singleQuestionObj['cammundaQuestionCode'] !== 'QHTI' &&\r\n singleQuestionObj['optionalQuestion'].toString() === 'N' &&\r\n this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestionObj['questionId']]\r\n ) &&\r\n // ((singleQuestionObj['questionType'] !== 'CHECKBOX' &&\r\n // this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['questionId']])) ||\r\n // (singleQuestionObj['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(singleQuestionObj, singlePersonObj['role'])))\r\n isValid\r\n ) {\r\n validationMessage = `Please enter all the details in ${singleSection['sectionName']}`;\r\n isValid = false;\r\n }\r\n\r\n // if (\r\n // singleQuestionObj['questionType'] === 'PASSPORT_UPLOAD' &&\r\n // singleQuestionObj['optionalQuestion'] === 'N' &&\r\n // singleQuestionObj['isShowQuestionInUI'] &&\r\n // ) {\r\n // let filteredPersonPassportObj: any = this.validationService.questionsPassportUploadObj.filter((singleObj: any) => (singleObj['personType'] === singlePersonObj['role'] && this.checkIfValueIsEmpty(singleObj['dmsId'])));\r\n // if (!this.checkIfValueIsEmpty(filteredPersonPassportObj)) {\r\n // this.sharedService.focusToElement(`${filteredPersonPassportObj[0]['questionType']}_${filteredPersonPassportObj[0]['type']}_${filteredPersonPassportObj[0]['personType']}`);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role\r\n // });\r\n // } else {\r\n // this.validationService.openSnackBar('Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role, 'Close');\r\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\r\n // if (role === 'life assured') {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // } else if (role === 'policy holder') {\r\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\r\n // this.setActiveTab(0);\r\n // this.scrollToActiveChip();\r\n // }\r\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\r\n // console.log(\"joint life case\");\r\n // }\r\n // }\r\n // isValid = false;\r\n // return false;\r\n // }\r\n\r\n // }\r\n // validation for declaration questions\r\n if (\r\n isValid &&\r\n singleQuestionObj.questionType === 'DECLARATION' &&\r\n singleQuestionObj['isShowQuestionInUI'] &&\r\n !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n singleQuestionObj['optionalQuestion'] === 'N'\r\n ) {\r\n if (\r\n (isValid &&\r\n // !this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']]) &&\r\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\r\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\r\n this.personUwAnswers[singleQuestionObj['questionId']] ===\r\n 'N') ||\r\n !this.personUwAnswers[singleQuestionObj['questionId']] ||\r\n this.checkIfValueIsEmpty(\r\n this.personUwAnswers[singleQuestionObj['questionId']]\r\n )\r\n // )\r\n // || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])\r\n ) {\r\n isValid = false;\r\n validationMessage = `Please enter all the details in ${singleSection['sectionName']}`;\r\n }\r\n }\r\n\r\n // validation for medical sub questions\r\n // if (!this.checkIfValueIsEmpty(this.sharedService.medicalSubQuestionsResponse)) {\r\n // this.sharedService.medicalSubQuestionsResponse.forEach((question: any) => {\r\n // if (\r\n // this.showSubQuestion(question) &&\r\n // question['questionType'] !== 'IMAGE TEXT' &&\r\n // question['optionalQuestion'].toString() === 'N' &&\r\n // ((question['questionType'] !== 'CHECKBOX' &&\r\n // this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][question['questionId']])) ||\r\n // (question['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(question, 'lifeAssured')))\r\n // ) {\r\n // isValid = false;\r\n // if (!this.sharedService.loadingAgentportal && !savedraft) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please answer all medical sub questions ' + question['questionId'] + ' ' + question['questionText']\r\n // });\r\n // }\r\n // }\r\n // });\r\n // }\r\n });\r\n\r\n // validation for fatch declaration\r\n // if(!this.checkIfValueIsEmpty(singleSection.questions) && isValid){\r\n // singleSection.questions.forEach((singleQuestionObj:any) => {\r\n // if(isValid && singleQuestionObj.questionType === 'DECLARATION' && singleQuestionObj['isShowQuestionInUI'] &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\r\n // singleQuestionObj['optionalQuestion'] === 'N'\r\n // ){\r\n // if( isValid &&\r\n // !this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']]) &&\r\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\r\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\r\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\r\n // this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\r\n\r\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\r\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\r\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\r\n // }\r\n // isValid = false;\r\n // if (!this.sharedService.loadingAgentportal && !savedraft) {\r\n // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\r\n // this.sharedService.focusToElement(questionId);\r\n // if (!this.sharedService.isMobileView()) {\r\n // this.sharedService.setToastrNotifications({\r\n // type: 'warning',\r\n // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\r\n // });\r\n // }\r\n // return false;\r\n // }\r\n // }\r\n // }\r\n // });\r\n // }\r\n }\r\n });\r\n\r\n sessionStorage.setItem('isMedicalQuestionsValid', isValid);\r\n sessionStorage.setItem('validationMessageForMedicalQuestions', validationMessage);\r\n }\r\n\r\n valueChangeForMultiselect(question : any) {\r\n if (question['cammundaQuestionCode'] === 'LifeMediCndtn' || question['cammundaQuestionCode'] === 'MediCndtn' ) {\r\n this.personUwAnswers[question['questionId']].length > 0\r\n\r\n // if none is selected then remove all and call API\r\n let isNoneSelected : any = this.personUwAnswers[question['questionId']].findIndex((singleObj :any) => singleObj === 'NoMedHistry');\r\n\r\n if (\r\n isNoneSelected !== -1\r\n ) {\r\n this.personUwAnswers[question['questionId']] = this.personUwAnswers[question['questionId']] = this.personUwAnswers[question['questionId']].filter((singleObj : any) => singleObj === 'NoMedHistry')\r\n }\r\n this.medicalSubQuestionsResponse = [];\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n this.questionList\r\n )) {\r\n this.questionList = this.questionList.filter((singleSection: any) => ((this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion']) || (!this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion']) && !singleSection['isMedicalSubQuestion'])) ));\r\n }\r\n // let currentSectionIndex: any = this.sharedService.personUwResponseObj['questionsResponse'].findIndex(\r\n // (singlePersonObj: any) =>\r\n // singlePersonObj['role'] ===\r\n // this.sharedService.personUwMasterObj[singlePersonIndex]['role']\r\n // );\r\n // remove medical sub questions from questions response list\r\n // if (\r\n // currentSectionIndex !== this.numberConstant.numberminus1 &&\r\n // !this.sharedcheckIfValueIsEmpty(\r\n // this.sharedService.personUwResponseObj['questionsResponse'][\r\n // currentSectionIndex\r\n // ]\r\n // ) &&\r\n // !this.sharedcheckIfValueIsEmpty(\r\n // this.sharedService.personUwResponseObj['questionsResponse'][\r\n // currentSectionIndex\r\n // ]['questionList']\r\n // )\r\n // ) {\r\n // this.sharedService.personUwResponseObj['questionsResponse'][\r\n // currentSectionIndex\r\n // ]['questionList'] = this.sharedService.personUwResponseObj[\r\n // 'questionsResponse'\r\n // ][currentSectionIndex]['questionList'].filter(\r\n // (singleListItem: any) =>\r\n // this.sharedcheckIfValueIsEmpty(\r\n // singleListItem['isMedicalSubQuestion']\r\n // ) ||\r\n // (!this.sharedcheckIfValueIsEmpty(\r\n // singleListItem['isMedicalSubQuestion']\r\n // ) &&\r\n // !singleListItem['isMedicalSubQuestion'])\r\n // );\r\n // }\r\n // this.sharedService.personUwResponseObj['questionsResponse'][0][\r\n // 'questionList'\r\n // ].forEach((singleQuestion: any, index: any) => {\r\n // if (singleQuestion['isMedicalSubQuestion']) {\r\n // this.sharedService.personUwResponseObj['questionsResponse'][0][\r\n // 'questionList'\r\n // ].splice(index, 1);\r\n // }\r\n // });\r\n\r\n // this.questionList = this.questionList.filter((singleSection : any) => (!singleSection['isMedicalSubQuestion'] || this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion'])));\r\n // this.questionList.forEach((singleMasterObj: any, i: number) => {\r\n // if (singleMasterObj['isMedicalSubQuestion']) {\r\n // this.sharedService.personUwMasterObj[singlePersonIndex][\r\n // 'questionList'\r\n // ]['questions'] = [];\r\n // }\r\n // });\r\n // this.loader.display(true);\r\n\r\n let selectedDiseases : any = this.personUwAnswers[question['questionId']].toString();\r\n // let request: any = JSON.parse(\r\n // JSON.stringify(\r\n // this.fetchSubQuestionsList[\r\n // this.sharedService.personUwMasterObj[singlePersonIndex]['role']\r\n // ].toString()\r\n // )\r\n // );\r\n if(question['field']['configData'].hasOwnProperty('apiUrl') && question['field']['configData'].hasOwnProperty('urlParamForDisease') && question['field']['configData'].hasOwnProperty('urlParamForPersonUwId') && !this.checkIfValueIsEmpty(question['field']['configData']['apiUrl']) && !this.checkIfValueIsEmpty(question['field']['configData']['urlParamForDisease']) && !this.checkIfValueIsEmpty(question['field']['configData']['urlParamForPersonUwId'])) {\r\n this.masterService.getSubQuestions(question['field']['configData'], selectedDiseases, this.personUwId).subscribe(\r\n (data: any) => {\r\n // this.loader.display(false);\r\n let distinctSteps: any = [];\r\n if (!this.checkIfValueIsEmpty(data)) {\r\n data.forEach((subQuestion: any) => {\r\n subQuestion[\r\n 'domainValues'\r\n ] = this.medialQuestionResponse()['domainValues'][\r\n subQuestion['domainName']\r\n ];\r\n subQuestion['isShowQuestionInUI'] = false;\r\n subQuestion['isMedicalSubQuestion'] = true;\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n subQuestion['questionRelation']\r\n ) &&\r\n !Array.isArray(subQuestion['questionRelation'])\r\n ) {\r\n subQuestion['questionRelation'] = [\r\n subQuestion['questionRelation']\r\n ];\r\n }\r\n if (\r\n subQuestion['questionType'] === 'CHECKBOX' &&\r\n !this.checkIfValueIsEmpty(\r\n subQuestion['questionRelation']\r\n )\r\n ) {\r\n subQuestion['questionRelation'].forEach(\r\n (singleQuestionRelationObj: any) => {\r\n let nextQuestionObject: any = data.filter(\r\n (object: any) =>\r\n object['questionId'] ===\r\n singleQuestionRelationObj['nextQuestionId']\r\n );\r\n if (nextQuestionObject.length > 0) {\r\n nextQuestionObject[0]['answeredValue'] =\r\n singleQuestionRelationObj['parentQuestionValue'];\r\n }\r\n }\r\n );\r\n }\r\n // if (\r\n // !this.checkIfValueIsEmpty(\r\n // subQuestion['domainValues']\r\n // )\r\n // ) {\r\n // subQuestion['domainValues'].forEach((subDomain: any) => {\r\n // this.sharedService.subMedicalQuestionsDomainInternalValuesList.push(\r\n // subDomain['domainInternalValue']\r\n // );\r\n // });\r\n // }\r\n if (!distinctSteps.includes(subQuestion['clusterId'])) {\r\n distinctSteps.push(subQuestion['clusterId']);\r\n }\r\n subQuestion['field'] = this.getField(subQuestion);\r\n });\r\n data.sort(\r\n (a: any, b: any) =>\r\n a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']\r\n );\r\n distinctSteps.forEach((steps: any, ind: any) => {\r\n let filteredObj: any = data.filter(\r\n (singleQuestion: any) => singleQuestion['clusterId'] === steps\r\n );\r\n let obj: any = {\r\n step: 1000 + ind,\r\n questions: !this.checkIfValueIsEmpty(filteredObj)\r\n ? filteredObj\r\n : [],\r\n sectionName: !this.checkIfValueIsEmpty(\r\n filteredObj\r\n )\r\n ? filteredObj[0]['title']\r\n : '',\r\n personUWId: this.personUwId,\r\n isMedicalSubQuestion: true,\r\n showSection: true\r\n };\r\n this.questionList.push(obj);\r\n });\r\n this.medicalSubQuestionsResponse = data;\r\n // merge medical sub questions into person uw main questions response (required for show question function to work)\r\n // clearing on top before api call\r\n this.personUwResponseObj[0]['questionList'] = this.personUwResponseObj[0]['questionList'].concat(this.medicalSubQuestionsResponse);\r\n }\r\n this.removeSubQuestionValues();\r\n },\r\n (err: any) => {\r\n // this.loader.display(false);\r\n }\r\n );\r\n }\r\n }\r\n this.removeSubQuestionValues()\r\n }\r\n onDocumentFilePreview(event: { file: File, index: number }): void {\r\n console.log('Preview requested for:', event.file.name);\r\n this.previewFile = event.file;\r\n }\r\n\r\n closeFilePreview(): void {\r\n this.previewFile = null;\r\n }\r\n\r\n checkAndUpdateHeightUnit() {\r\n if (\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightUnit'\r\n ] === 'FEET' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightInput'\r\n ]\r\n )\r\n ) {\r\n let heightInInches: any = (\r\n parseFloat(\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightInput'\r\n ]\r\n ) * 0.393701\r\n ).toFixed(2);\r\n let heightInFeet: any =\r\n parseFloat(\r\n (heightInInches / 12)\r\n .toString()\r\n .split('.')[1]\r\n ) > 12\r\n ? (heightInInches / 12).toFixed(1)\r\n : (heightInInches / 12).toFixed(2);\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n heightInFeet.toString().split('.')[0]\r\n )\r\n ) {\r\n this.personUwAnswers[\r\n 'medicalQuestionFeetInput'\r\n ] = heightInFeet.toString().split('.')[0];\r\n }\r\n if (\r\n !this.checkIfValueIsEmpty(\r\n heightInFeet.toString().split('.')[1]\r\n )\r\n ) {\r\n this.personUwAnswers[\r\n 'medicalQuestionsInchesInput'\r\n ] =\r\n heightInFeet.toString().split('.')[1] !== '11' &&\r\n heightInFeet.toString().split('.')[1] !== '12' &&\r\n heightInFeet.toString().split('.')[1] !== '13'\r\n ? heightInFeet\r\n .toString()\r\n .split('.')[1]\r\n .charAt(0)\r\n : heightInFeet.toString().split('.')[1];\r\n }\r\n } else if (\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightUnit'\r\n ] === 'CM' &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n 'medicalQuestionFeetInput'\r\n ]\r\n ) &&\r\n !this.checkIfValueIsEmpty(\r\n this.personUwAnswers[\r\n 'medicalQuestionsInchesInput'\r\n ]\r\n )\r\n ) {\r\n let heightInInches: any =\r\n parseFloat(\r\n parseFloat(\r\n this.personUwAnswers[\r\n 'medicalQuestionFeetInput'\r\n ]\r\n ).toString() +\r\n '.' +\r\n parseFloat(\r\n this.personUwAnswers[\r\n 'medicalQuestionsInchesInput'\r\n ]\r\n ).toString()\r\n ) * 12;\r\n let heightInCm: any = (\r\n parseFloat(heightInInches) / 0.393701\r\n ).toFixed(2);\r\n this.personUwAnswers[\r\n 'medicalQuestionsHeightInput'\r\n ] = heightInCm;\r\n }\r\n this.removeSubQuestionValues();\r\n }\r\n}\r\n","\r\n<div *ngFor=\"let section of questionList\">\r\n <div\r\n *ngIf=\"\r\n !checkIfValueIsEmpty(section['questions']) &&\r\n section['showSection']\r\n \"\r\n class=\"card p-3 mb-4\"\r\n id=\"personUwMedicalQuestions\"\r\n >\r\n <h6 class=\"page-title bold-label\">\r\n {{ getTitleCase(section[\"sectionName\"]) }}\r\n </h6>\r\n <lib-hr-line [field]=\"horizontalLineObj\" />\r\n <div *ngFor=\"let questions of section['questions']\" class=\"row\">\r\n <!-- <div *ngIf=\"questions['questionType'] === 'IMAGE TEXT'\">\r\n <img [src]=\"questions['sampleS3Link']\" class=\"d-block mx-auto\" [alt]=\"questions['title']\">\r\n <h3 [innerHTML]=\"questions['questionText']\"></h3>\r\n </div> -->\r\n\r\n <div\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'FREE TEXT' &&\r\n questions['cammundaQuestionCode'] !== 'QHT' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <!-- <label class=\"field-lable d-block\"\r\n >{{ questions[\"questionText\"] }}\r\n <span\r\n *ngIf=\"\r\n questions.optionalQuestion === 'N'\r\n \"\r\n style=\"color: #ee0000\"\r\n >*</span\r\n >\r\n </label> -->\r\n <div class=\"col-12 px-0 my-1\">\r\n <lib-textbox [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (blur)=\"removeSubQuestionValues()\" />\r\n </div>\r\n </div>\r\n\r\n <div\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'HEIGHTINPUT' &&\r\n questions['cammundaQuestionCode'] === 'QHTF' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <label class=\"card-topic d-block field-lable\"\r\n >Height\r\n <span\r\n style=\"color: #ee0000\"\r\n >*</span\r\n >\r\n </label>\r\n <div\r\n class=\"col-auto px-0 my-0 py-0 heightinput\"\r\n\r\n >\r\n <div class=\"row col-12 my-1\" *ngIf=\"personUwAnswers['medicalQuestionsHeightUnit'] === 'CM'\">\r\n <div class=\"col-7 py-0 heightInputs\">\r\n <lib-textbox [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHT']['field']\" />\r\n </div>\r\n <div class=\"col-5\">\r\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightUnit']\" [field]=\"medQuestionObj['heightObjectTypes']\" (ngModelChange)=\"checkAndUpdateHeightUnit()\" />\r\n </div>\r\n </div>\r\n <div\r\n class=\"row\"\r\n *ngIf=\"\r\n personUwAnswers[\r\n 'medicalQuestionsHeightUnit'\r\n ] === 'FEET'\r\n \"\r\n >\r\n <div class=\"col-4 py-0 my-1\">\r\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionFeetInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHTF']['field']\" />\r\n </div>\r\n <div class=\"col-4 py-0 my-1\">\r\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsInchesInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHTI']['field']\" />\r\n </div>\r\n <div\r\n class=\"col-4 py-0 my-1\"\r\n >\r\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightUnit']\" [field]=\"medQuestionObj['heightObjectTypes']\" (ngModelChange)=\"checkAndUpdateHeightUnit()\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"row mt-0 pt-0\"\r\n *ngIf=\"\r\n questions['questionType'] === 'MAP' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n\r\n\r\n <div class=\"map-container\">\r\n <div class=\"address-search-container mb-3\">\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-6\">\r\n <label class=\"form-label card-topic\">Longitude</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"longitude\"\r\n placeholder=\"Enter longitude\"\r\n step=\"any\"\r\n readonly\r\n >\r\n </div>\r\n <div class=\"col-6\">\r\n <label class=\"form-label card-topic\">Latitude</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"latitude\"\r\n placeholder=\"Enter latitude\"\r\n step=\"any\"\r\n readonly\r\n >\r\n </div>\r\n </div>\r\n\r\n <input\r\n #addressInput\r\n type=\"text\"\r\n class=\"form-control\"\r\n placeholder=\"Search for address\"\r\n (keyup)=\"onAddressInputKeyup($event)\"\r\n (focus)=\"showDropdown = true\"\r\n (blur)=\"onInputBlur()\"\r\n autocomplete=\"off\"\r\n >\r\n <div\r\n *ngIf=\"showDropdown && addressSuggestions.length > 0\"\r\n class=\"autocomplete-dropdown position-absolute w-100 mt-1\"\r\n style=\"z-index: 1000; max-height: 200px; overflow-y: auto; background: white; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"\r\n >\r\n <div\r\n *ngFor=\"let suggestion of addressSuggestions; let i = index\"\r\n class=\"dropdown-item p-2\"\r\n style=\"cursor: pointer; border-bottom: 1px solid #eee;\"\r\n (mousedown)=\"selectAddress(suggestion)\"\r\n (mouseenter)=\"hoveredIndex = i\"\r\n [class.bg-light]=\"hoveredIndex === i\"\r\n >\r\n <div class=\"fw-bold\">{{ suggestion.main_text }}</div>\r\n <small class=\"text-muted\">{{ suggestion.secondary_text }}</small>\r\n </div>\r\n </div>\r\n <small class=\"text-muted\">Start typing to search for addresses</small>\r\n </div>\r\n <google-map [center]=\"center\" [zoom]=\"zoom\">\r\n <map-marker [position]=\"currentCoordinates\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n\r\n\r\n <div\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n (questions['questionType'] === 'RADIO BUTTON' ||\r\n questions['questionType'] === 'ADDMORE') &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-radio [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"questions['field']\" />\r\n </div>\r\n\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'CHECKBOX' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-multiple-select [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"valueChangeForMultiselect(questions)\" [field]=\"questions['field']\" />\r\n </div>\r\n\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'DECLARATION' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-checkbox [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"questions['field']\" />\r\n </div>\r\n\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'DROPDOWN' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-select [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (ngModelChange)=\"removeSubQuestionValues()\" />\r\n </div>\r\n\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'CALENDAR' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-dob [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (ngModelChange)=\"removeSubQuestionValues()\" />\r\n </div>\r\n\r\n <!-- <div\r\n class=\"\"\r\n *ngIf=\"\r\n questions['questionType'] === 'HEIGHTINPUT' &&\r\n questions['cammundaQuestionCode'] === 'QHTF' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n </div> -->\r\n <div\r\n class=\"my-1\"\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'DOCUPLOAD' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <lib-upload [field]=\"questions['field']\" (filePreview)=\"onDocumentFilePreview($event)\" />\r\n <lib-file-preview\r\n *ngIf=\"previewFile\"\r\n [field]=\"questions['field']\"\r\n [file]=\"previewFile\"\r\n (closed)=\"closeFilePreview()\">\r\n </lib-file-preview>\r\n </div>\r\n\r\n\r\n <div\r\n [ngClass]=\"questions?.field?.cssClass\"\r\n *ngIf=\"\r\n questions['questionType'] === 'PASSPORT_UPLOAD' &&\r\n questions['isShowQuestionInUI']\r\n \"\r\n >\r\n <!-- pending -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-page-nudge',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './page-nudge.component.html',\r\n styleUrl: './page-nudge.component.css'\r\n})\r\nexport class PageNudgeComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div class=\"nudge-container\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\r\n'--page-nudge-width': field()?.controlStyle?.borderColor ,\r\n'--page-nudge-height': field()?.controlStyle?.borderWidth ,\r\n'--page-nudge-bg': field()?.controlStyle?.borderRadius ,\r\n'--page-nudge-border-radius': field()?.controlStyle?.background ,\r\n'--page-nudge-border-width': field()?.controlStyle?.focusBorderColor ,\r\n'--page-nudge-border-color': field()?.controlStyle?.focusBorderWidth ,\r\n'--page-nudge-border-style': field()?.controlStyle?.focusBackground\r\n}\">\r\n {{ field()?.label }}\r\n <div class=\"page-fold\"></div>\r\n <div class=\"page-fold-below\"></div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\n\r\n\r\n@Component({\r\n selector: 'lib-progress-bar',\r\n standalone: true,\r\n imports: [MatProgressBarModule , CommonModule],\r\n templateUrl: './progress-bar.component.html',\r\n styleUrl: './progress-bar.component.css'\r\n})\r\nexport class ProgressBarComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<mat-progress-bar mode=\"determinate\" [value]=\"field()?.value\" [ngStyle]=\"{\r\n'--progress-bar-background-color': field()?.controlStyle?.background ,\r\n'--progress-bar-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--progress-bar-border-color': field()?.controlStyle?.color ,\r\n'--progress-bar-width': field()?.controlStyle?.width ,\r\n'--progress-bar-height': field()?.controlStyle?.height ,\r\n}\"></mat-progress-bar>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\n\r\n@Component({\r\n selector: 'lib-accordian',\r\n standalone: true,\r\n imports: [MatExpansionModule , CommonModule],\r\n templateUrl: './accordian.component.html',\r\n styleUrl: './accordian.component.css'\r\n})\r\nexport class AccordianComponent {\r\n field : any = input.required<any>();\r\nonPanelOpened(): void {\r\n console.log('Panel opened');\r\n}\r\n\r\nonPanelClosed(): void {\r\n console.log('Panel closed');\r\n}\r\n\r\nonExpandedChange(isExpanded: boolean): void {\r\n console.log('Panel expansion changed:', isExpanded);\r\n if (isExpanded) {\r\n // Panel is now expanded\r\n } else {\r\n // Panel is now collapsed\r\n }\r\n}\r\n}\r\n","<mat-accordion \r\n [multi]=\"true\" \r\n [hideToggle]=\"false\"\r\n [displayMode]=\"'default'\"\r\n [togglePosition]=\"'after'\" [ngStyle]=\"{\r\n'--acc-font-color': field()?.controlStyle?.color ,\r\n'--acc-bg-color': field()?.controlStyle?.background ,\r\n'--acc-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--acc-border-width': field()?.controlStyle?.borderWidth ,\r\n'--acc-border-style': field()?.controlStyle?.borderStyle ,\r\n'--acc-border-color': field()?.controlStyle?.borderColor ,\r\n'--acc-font-size': field()?.controlStyle?.fontSize ,\r\n'--acc-font-weight': field()?.controlStyle?.fontWeight \r\n}\">\r\n \r\n <mat-expansion-panel \r\n [expanded]=\"false\"\r\n [disabled]=\"false\"\r\n [hideToggle]=\"false\"\r\n (opened)=\"onPanelOpened()\"\r\n (closed)=\"onPanelClosed()\"\r\n (expandedChange)=\"onExpandedChange($event)\">\r\n \r\n <mat-expansion-panel-header \r\n [collapsedHeight]=\"'48px'\"\r\n [expandedHeight]=\"'64px'\">\r\n \r\n <mat-panel-title>\r\n <span class=\"triangle-icon\" *ngIf=\"field()?.configData?.showLeftArrowIndicator && field()?.configData?.showLeftArrowIndicator === 'true'\"></span>\r\n {{ field()?.label}}\r\n </mat-panel-title>\r\n \r\n <mat-panel-description>\r\n <!-- This is a description of the panel -->\r\n </mat-panel-description>\r\n \r\n </mat-expansion-panel-header>\r\n \r\n <!-- Panel Content -->\r\n <div>\r\n {{ field()?.configData?.accordianContent}}\r\n </div>\r\n \r\n <!-- Action Buttons -->\r\n <!-- <mat-action-row>\r\n <button mat-button color=\"primary\">Save</button>\r\n <button mat-button color=\"warn\">Cancel</button>\r\n </mat-action-row> -->\r\n \r\n </mat-expansion-panel>\r\n</mat-accordion>","import { Component, Input, input } from '@angular/core';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-miscellaneous-info-bar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './miscellaneous-info-bar.component.html',\r\n styleUrl: './miscellaneous-info-bar.component.css'\r\n})\r\nexport class MiscellaneousInfoBarComponent {\r\nconstructor(public masterService : MasterControlService){}\r\n field: any = input.required<any>();\r\n @Input() details: any = [{\r\nlabel:'PAN.',\r\nvalue:'AAAAA1111A'\r\n},\r\n{\r\nlabel:'DOB.',\r\nvalue:'01-Jan-1999'\r\n}\r\n];\r\n \r\n}\r\n","<div class=\"misc-info-background\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\r\n '--custom-info-bg-color': field()?.controlStyle?.background ,\r\n '--custom-info-border-radius': field()?.controlStyle?.borderRadius,\r\n '--custom-info-border-width': field()?.controlStyle?.borderWidth,\r\n '--custom-info-border-color': field()?.controlStyle?.borderColor,\r\n '--custom-info-border-style': field()?.controlStyle?.borderStyle,\r\n }\">\r\n <span>\r\n <img\r\n class=\"misc-info-nudge-image mb-1\"\r\n [src]=\"field()?.configData?.prefixImageUrl\"\r\n alt=\"\"\r\n />\r\n <span *ngFor=\"let inp of details ; let i = index\">\r\n <span class=\"ms-3 misc-info-label px-2\" [ngStyle]=\"{\r\n '--misc-info-font-size-label': field()?.controlStyle?.fontSize ,\r\n '--misc-info-font-weight-label': field()?.controlStyle?.fontWeight ,\r\n '--misc-info-font-color-label': field()?.controlStyle?.color ,\r\n }\"\r\n [ngClass]=\"{'show-divider': field()?.configData?.showDivider && field()?.configData?.showDivider === 'true' && i!=0}\"\r\n >{{inp?.label}}</span>\r\n <span class=\"misc-info-value\" [ngStyle]=\"{\r\n '--misc-info-font-size-value': field()?.configData?.valueFontSize ,\r\n '--misc-info-font-weight-value': field()?.configData?.valueFontWeight ,\r\n '--misc-info-font-color-value': field()?.configData?.valueFontColor ,\r\n }\">{{inp?.value}}</span>\r\n </span>\r\n <img\r\n class=\"misc-info-nudge-image mb-1 float-end\"\r\n [src]=\"field()?.configData?.suffixImageUrl\"\r\n alt=\"\"\r\n />\r\n </span>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-plain-text',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './plain-text.component.html',\r\n styleUrl: './plain-text.component.css'\r\n})\r\nexport class PlainTextComponent {\r\nfield: any = input.required<any>();\r\n}\r\n","<div class=\"plain-text\" [ngStyle]=\"{\r\n'--plain-text-width': field()?.controlStyle?.width ,\r\n'--plain-text-font-size': field()?.controlStyle?.fontSize ,\r\n'--plain-text-font-color': field()?.controlStyle?.color ,\r\n'--plain-text-font-weight': field()?.controlStyle?.fontWeight \r\n }\">{{field()?.label}}</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MasterControlService } from '../master-control.service';\r\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\r\n\r\n@Component({\r\n selector: 'lib-menu',\r\n standalone: true,\r\n imports: [\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatInputModule,\r\n FormsModule,\r\n MatOptionModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './menu.component.html',\r\n styleUrl: './menu.component.css'\r\n})\r\nexport class MenuComponent implements ControlValueAccessor {\r\n constructor() {}\r\n showProfileMenu = false;\r\n field : any = input.required<any>();\r\n inputValue: any = null;\r\n\r\n onChange: any = () => {};\r\n onTouched: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.inputValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n onValueChange(newValue: any): void {\r\n this.inputValue = newValue;\r\n this.onChange(newValue);\r\n this.onTouched();\r\n }\r\n\r\n selectionChanged(event: MatSelectChange) {\r\n this.inputValue = event.value;\r\n this.onChange(event.value);\r\n this.onTouched();\r\n }\r\n\r\n // onSelectOpened(opened: boolean) {\r\n // const css = this.field()?.controlStyle;\r\n // if (opened) {\r\n // document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\r\n // document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\r\n // document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\r\n // document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\r\n // document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\r\n // document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\r\n // document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\r\n // document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\r\n // } else {\r\n // document.body.style.removeProperty('--custom-select-option-background-color');\r\n // document.body.style.removeProperty('--custom-select-option-font-color');\r\n // document.body.style.removeProperty('--custom-select-option-font-weight');\r\n // document.body.style.removeProperty('--custom-select-option-background-color-focus');\r\n // document.body.style.removeProperty('--custom-select-option-font-color-focus');\r\n // document.body.style.removeProperty('--custom-select-option-font-weight-focus');\r\n // document.body.style.removeProperty('--custom-select-option-border-left-focus');\r\n // document.body.style.removeProperty('--custom-select-option-border-radius-focus');\r\n // }\r\n // }\r\n\r\ntoggleProfileMenu() {\r\n this.showProfileMenu = !this.showProfileMenu;\r\n}\r\n\r\n\r\n}\r\n","<div\r\n (click)=\"toggleProfileMenu()\"\r\n class=\"menu-container d-flex align-items-center\"\r\n role=\"button\"\r\n>\r\n<!-- [src]=\"field()?.configData?.prefixImage\" -->\r\n <img\r\n [src]=\"field()?.configData?.prefixImage\"\r\n alt=\"Profile\"\r\n class=\"rounded-circle me-2\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n <span class=\"menu-main-text ps-1 pe-2\">{{field()?.configData?.maintext}}</span>\r\n <span *ngIf=\"field()?.configData?.isShowDropdownArrow\" class=\"arrow\"></span>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"showProfileMenu\"\r\n class=\"profile-menu top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\"\r\n>\r\n <div class=\"profile-menu-caret\"></div>\r\n <ul class=\"list-unstyled m-0 py-2\">\r\n <li\r\n class=\"px-3 py-2 text-nowrap\"\r\n *ngFor=\"let singleOption of field()?.options\"\r\n >\r\n {{singleOption['label']}}\r\n </li>\r\n </ul>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input, output, effect, OnInit, OnDestroy } from '@angular/core';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-stepper-with-arrow',\r\n standalone: true,\r\n imports: [MatStepperModule, CommonModule],\r\n templateUrl: './stepper-with-arrow.component.html',\r\n styleUrl: './stepper-with-arrow.component.css'\r\n})\r\nexport class StepperWIthArrowComponent implements OnInit, OnDestroy {\r\n field: any = input.required<any>();\r\n currentStepValue = input<string>(); // Input to receive current step value from parent\r\n autoProgress = input<boolean>(false); // Input to enable automatic step progression\r\n autoProgressDelay = input<number>(3000); // Delay between auto-progression (in ms)\r\n selectedStep = output<any>();\r\n masterStepper: any;\r\n selectedStepIndex = -1;\r\n private autoProgressTimer: any;\r\n\r\n constructor(public masterSharedService: MasterControlService) {\r\n // Watch for changes in currentStepValue input\r\n effect(() => {\r\n const stepValue = this.currentStepValue();\r\n if (stepValue && this.field()?.editStepper) {\r\n this.updateStepFromExternal(stepValue);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.field().editStepper = this.field().configData.stepperData ? this.field().configData.stepperData : this.masterSharedService?.configData?.stepper?.stepperData;\r\n this.initializeStepperState();\r\n this.emitActiveStepOnLoad();\r\n \r\n // Start auto-progression if enabled\r\n if (this.autoProgress()) {\r\n this.startAutoProgression();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // Clean up timer\r\n if (this.autoProgressTimer) {\r\n clearInterval(this.autoProgressTimer);\r\n }\r\n }\r\n\r\n initializeStepperState() {\r\n if (this.field().editStepper) {\r\n let activeStepIndex = -1;\r\n \r\n // Find the current active step based on step properties or field value\r\n // Check if any step is already marked as active\r\n activeStepIndex = this.field().editStepper.findIndex((step: any) => step.isActive === true);\r\n \r\n // If no active step found, check for current value in field\r\n if (activeStepIndex === -1 && this.field().value) {\r\n activeStepIndex = this.field().editStepper.findIndex((step: any) => \r\n step.displayLabel === this.field().value || \r\n step.value === this.field().value\r\n );\r\n }\r\n \r\n // If still no active step found, default to first step\r\n if (activeStepIndex === -1) {\r\n activeStepIndex = 0;\r\n }\r\n \r\n this.field().editStepper.forEach((step: any, index: number) => {\r\n // Set default values if not provided\r\n if (step.isDisplay === undefined) {\r\n step.isDisplay = true;\r\n }\r\n \r\n // Set step states based on the active step logic\r\n if (index < activeStepIndex) {\r\n // Steps before active step are completed and enabled\r\n step.isCompleted = true;\r\n step.isActive = false;\r\n step.isDisabled = false; // Completed steps can be clicked\r\n } else if (index === activeStepIndex) {\r\n // Current active step\r\n step.isCompleted = false;\r\n step.isActive = true;\r\n step.isDisabled = false;\r\n this.selectedStepIndex = index; // Set as selected\r\n } else {\r\n // Steps after active step are pending and disabled\r\n step.isCompleted = false;\r\n step.isActive = false;\r\n step.isDisabled = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n onStepClick(step: any, index: number) {\r\n if (!step.isDisabled) {\r\n this.selectedStepIndex = index;\r\n const stepData = {\r\n step: step,\r\n index: index,\r\n label: step.displayLabel,\r\n value: step.value || step.displayLabel\r\n };\r\n this.selectedStep.emit(stepData);\r\n }\r\n }\r\n\r\n isStepSelected(index: number): boolean {\r\n return this.selectedStepIndex === index;\r\n }\r\n\r\n shouldShowLabel(index: number): boolean {\r\n // Show label only if no step is selected OR if this step is the selected one\r\n // Hide labels for completed steps\r\n return (this.selectedStepIndex === -1 || this.selectedStepIndex === index) && !this.isStepCompleted(index);\r\n }\r\n\r\n shouldShowAsDisabled(step: any, index: number): boolean {\r\n // Show as disabled if step is actually disabled\r\n return step.isDisabled === true;\r\n }\r\n\r\n isStepCompleted(index: number): boolean {\r\n // Check if step is marked as completed\r\n if (this.field().editStepper && this.field().editStepper[index]) {\r\n return this.field().editStepper[index].isCompleted === true;\r\n }\r\n return false;\r\n }\r\n\r\n isStepActive(index: number): boolean {\r\n // Check if step is marked as active\r\n if (this.field().editStepper && this.field().editStepper[index]) {\r\n return this.field().editStepper[index].isActive === true;\r\n }\r\n return false;\r\n }\r\n\r\n emitActiveStepOnLoad() {\r\n // Automatically emit the active step when component loads\r\n if (this.field().editStepper && this.selectedStepIndex >= 0) {\r\n const activeStep = this.field().editStepper[this.selectedStepIndex];\r\n if (activeStep) {\r\n const stepData = {\r\n step: activeStep,\r\n index: this.selectedStepIndex,\r\n label: activeStep.displayLabel,\r\n value: activeStep.value || activeStep.displayLabel\r\n };\r\n this.selectedStep.emit(stepData);\r\n }\r\n }\r\n }\r\n\r\n // Method to programmatically move to the next step\r\n moveToNextStep() {\r\n if (this.selectedStepIndex < this.field().editStepper.length - 1) {\r\n this.moveToStep(this.selectedStepIndex + 1);\r\n }\r\n }\r\n\r\n // Method to programmatically move to the previous step\r\n moveToPreviousStep() {\r\n if (this.selectedStepIndex > 0) {\r\n this.moveToStep(this.selectedStepIndex - 1);\r\n }\r\n }\r\n\r\n // Method to programmatically move to a specific step\r\n moveToStep(stepIndex: number) {\r\n if (stepIndex >= 0 && stepIndex < this.field().editStepper.length) {\r\n // Update step states\r\n this.field().editStepper.forEach((step: any, index: number) => {\r\n if (index < stepIndex) {\r\n // Mark previous steps as completed\r\n step.isCompleted = true;\r\n step.isActive = false;\r\n step.isDisabled = false;\r\n } else if (index === stepIndex) {\r\n // Mark current step as active\r\n step.isCompleted = false;\r\n step.isActive = true;\r\n step.isDisabled = false;\r\n } else {\r\n // Mark future steps as pending/disabled\r\n step.isCompleted = false;\r\n step.isActive = false;\r\n step.isDisabled = true;\r\n }\r\n });\r\n\r\n this.selectedStepIndex = stepIndex;\r\n \r\n // Emit the step change\r\n const stepData = {\r\n step: this.field().editStepper[stepIndex],\r\n index: stepIndex,\r\n label: this.field().editStepper[stepIndex].displayLabel,\r\n value: this.field().editStepper[stepIndex].value || this.field().editStepper[stepIndex].displayLabel\r\n };\r\n this.selectedStep.emit(stepData);\r\n }\r\n }\r\n\r\n // Method to complete current step and move to next\r\n completeCurrentStepAndMoveNext() {\r\n if (this.selectedStepIndex >= 0 && this.selectedStepIndex < this.field().editStepper.length - 1) {\r\n // Mark current step as completed\r\n this.field().editStepper[this.selectedStepIndex].isCompleted = true;\r\n this.field().editStepper[this.selectedStepIndex].isActive = false;\r\n \r\n // Move to next step\r\n this.moveToNextStep();\r\n }\r\n }\r\n\r\n // Method to watch for external step changes (can be called from parent)\r\n updateStepFromExternal(stepValue: string) {\r\n if (this.field().editStepper) {\r\n const stepIndex = this.field().editStepper.findIndex((step: any) => \r\n step.displayLabel === stepValue || step.value === stepValue\r\n );\r\n \r\n if (stepIndex >= 0 && stepIndex !== this.selectedStepIndex) {\r\n this.moveToStep(stepIndex);\r\n }\r\n }\r\n }\r\n\r\n // Auto-progression methods\r\n startAutoProgression() {\r\n if (this.autoProgressTimer) {\r\n clearInterval(this.autoProgressTimer);\r\n }\r\n \r\n this.autoProgressTimer = setInterval(() => {\r\n this.moveToNextStep();\r\n \r\n // Stop auto-progression when reaching the last step\r\n if (this.selectedStepIndex >= this.field().editStepper.length - 1) {\r\n this.stopAutoProgression();\r\n }\r\n }, this.autoProgressDelay());\r\n }\r\n\r\n stopAutoProgression() {\r\n if (this.autoProgressTimer) {\r\n clearInterval(this.autoProgressTimer);\r\n this.autoProgressTimer = null;\r\n }\r\n }\r\n\r\n // Method to reset stepper to first step\r\n resetToFirstStep() {\r\n this.stopAutoProgression();\r\n this.moveToStep(0);\r\n \r\n if (this.autoProgress()) {\r\n this.startAutoProgression();\r\n }\r\n }\r\n}\r\n","<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\r\n <mat-stepper #stepperHeader>\r\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\r\n <mat-step \r\n *ngIf=\"steps.isDisplay !== false\"\r\n [completed]=\"false\"\r\n [optional]=\"false\">\r\n <ng-template matStepLabel>\r\n <div \r\n class=\"step-container\"\r\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.step-active]=\"isStepActive(i)\"\r\n [class.step-completed]=\"isStepCompleted(i)\"\r\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\r\n (click)=\"onStepClick(steps, i)\">\r\n <span \r\n class=\"step-circle\"\r\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.circle-active]=\"isStepActive(i)\"\r\n [class.circle-completed]=\"isStepCompleted(i)\">\r\n {{i + 1}}\r\n </span>\r\n <span \r\n class=\"step-label mx-2\"\r\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.label-active]=\"isStepActive(i)\"\r\n [class.label-completed]=\"isStepCompleted(i)\"\r\n [class.label-hidden]=\"!shouldShowLabel(i)\">\r\n {{steps?.displayLabel}}\r\n </span>\r\n <span \r\n class=\"arrow\" \r\n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\r\n [class.arrow-active]=\"isStepActive(i)\"\r\n [class.arrow-completed]=\"isStepCompleted(i)\"\r\n *ngIf=\"i < field().editStepper.length - 1\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </mat-step>\r\n </ng-container>\r\n </mat-stepper>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-label-with-image',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './label-with-image.component.html',\r\n styleUrl: './label-with-image.component.css'\r\n})\r\nexport class LabelWithImageComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div *ngIf=\"field()?.isVisible\" class=\"d-flex gap-2\">\r\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\r\n <span class=\"bold-label\" [ngStyle]=\"{\r\n'--master-bold-label-font-color': field()?.controlStyle?.color,\r\n'--master-bold-label-font-size': field()?.controlStyle?.fontSize,\r\n'--master-bold-label-font-weight': field()?.controlStyle?.fontWeight\r\n}\">{{field()?.label}}</span>\r\n</div>","import { Component, ElementRef, HostListener, input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-top-header',\r\n standalone: true,\r\n templateUrl: './top-header.component.html',\r\n styleUrl: './top-header.component.css',\r\n imports: [CommonModule]\r\n})\r\nexport class TopHeaderComponent {\r\nfield : any = input.required<any>();\r\n\r\nshowProfileMenu = false;\r\nconfigData={\r\n options:[\r\n {label:\"\",\r\n value:\"\"\r\n }\r\n ],\r\nconfigData:{\r\n logoUrl: \"\",\r\n notificationBellVisible:\"\",\r\n notificationCount:\"\",\r\n notificationImageUrl:\"\",\r\n UserProfileVisible:\"\",\r\n imageUrl:\"\",\r\n userProfileText:\"\",\r\n}};\r\n\r\nngOnInit()\r\n{\r\n this.configData=this.field();\r\n}\r\n}\r\n","<header class=\"sticky-top bg-white shadow-sm\">\r\n <div class=\"container-fluid mx-auto p-0\">\r\n <div class=\"header row align-items-center\">\r\n <div class=\"col-11\">\r\n <a href=\"/\" class=\"d-flex align-items-center gap-3 fixMargin\">\r\n <img\r\n [src]=\"configData.configData.logoUrl\"\r\n class=\"logo\"\r\n height=\"32\"\r\n alt=\"Logo\"\r\n />\r\n </a>\r\n </div>\r\n <div class=\"col-1 d-flex justify-content-end align-items-center p-1 position-relative\">\r\n <div class=\"me-3 position-relative notification-icon\" role=\"button\" *ngIf=\"configData.configData.notificationBellVisible=='true'\">\r\n <img\r\n [src]=\"configData.configData.notificationImageUrl\"\r\n alt=\"Notifications\"\r\n width=\"28\"\r\n height=\"28\"\r\n />\r\n <span \r\n class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger\"\r\n >\r\n {{configData.configData.notificationCount}}\r\n </span>\r\n </div>\r\n <div\r\n (mouseenter)=\"showProfileMenu=true\"\r\n class=\"profile-icon d-flex align-items-center rounded-pill bg-light\"\r\n role=\"button\" *ngIf=\"configData.configData.UserProfileVisible=='true'\"\r\n >\r\n <img\r\n [src]=\"configData.configData.imageUrl\"\r\n alt=\"Profile\"\r\n class=\"rounded-circle me-2\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n <span class=\"fw-medium\">{{configData.configData.userProfileText}}</span>\r\n </div>\r\n <div\r\n *ngIf=\"showProfileMenu\"\r\n class=\"profile-menu position-absolute top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\" (mouseenter)=\"showProfileMenu=true\" (mouseleave)=\"showProfileMenu=false\"\r\n >\r\n <div class=\"profile-menu-caret\"></div>\r\n \r\n <ul class=\"list-unstyled m-0 py-2\">\r\n <li class=\"px-3 py-2 text-nowrap\" *ngFor=\"let item of configData.options || []\">\r\n {{ item.label || 'No label' }}\r\n </li>\r\n </ul>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</header>","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-footer',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './footer.component.html',\r\n styleUrl: './footer.component.css'\r\n})\r\nexport class FooterComponent {\r\nfield : any = input.required<any>();\r\n}\r\n","<div class=\"footerband section\">\r\n <div class=\"secondary-footer\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"bd-row col-sm-12 clearfix\">\r\n <div class=\"legacy-link-menu\">\r\n \r\n \r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/downloads\" target=\"_blank\" rel=\"nofollow\">Downloads</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/do-not-disturb\" target=\"_blank\" rel=\"nofollow\">Do Not Disturb (DND)</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/financials\" target=\"_blank\" rel=\"nofollow\">Public Disclosures</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/investor-relations\" target=\"_blank\" rel=\"nofollow\">Investor Relations</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/content/dam/godigit/directportal/en/downloads/digit-stewardship-policy-v4-Jun-24.pdf\" target=\"_blank\" rel=\"nofollow\">Stewardship Policy</a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.irdai.gov.in/\" target=\"_blank\" rel=\"nofollow\">IRDAI </a></span>\r\n \r\n <!-- <span class=\"pipe\">|</span> -->\r\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/privacy-policy\" target=\"_blank\" rel=\"nofollow\">Privacy Policy</a></span>\r\n \r\n \r\n \r\n </div>\r\n <p class=\"txt-white txt-left l-float\">CIN: L66010PN2016PLC167410, IRDAI Reg. No. 158.</p>\r\n <p class=\"txt-white txt-left l-float\">Go Digit General Insurance Limited | Corporate Office Address: Atlantis, 95, 4th B Cross Road, Koramangala Industrial Layout, 5th Block, Bengaluru 560095 | Registered Office Address: 1 to 6 floors, Ananta One (AR One), Pride Hotel Lane, Narveer Tanaji Wadi, Shivaji Nagar, Pune-411005, Maharashtra | Trade logo of Go Digit General Insurance Ltd. displayed above belongs to Go Digit lnfoworks Services Private Limited and is provided and used by Go Digit General Insurance Ltd. under license.</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-footer-with-buttons',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './footer-with-buttons.component.html',\r\n styleUrl: './footer-with-buttons.component.css'\r\n})\r\nexport class FooterWithButtonsComponent {\r\nfield : any = input.required<any>();\r\n \r\nconfigData = {\r\n configData:{\r\n margin:\"0%\",\r\n },\r\n options: [] as Array<{\r\n label: string;\r\n value:string;\r\n }>\r\n};\r\n\r\nngOnInit()\r\n{\r\n this.configData=this.field();\r\n}\r\n}\r\n","\r\n<footer class=\"custom-footer\" \r\n[ngStyle]=\"{\r\n 'margin-left': configData.configData.margin,\r\n 'margin-right': configData.configData.margin\r\n }\"\r\n>\r\n <div class=\"container\">\r\n <div class=\"footer-buttons d-flex justify-content-center gap-3 py-3\">\r\n <button class=\"btn update-btn\" *ngFor=\"let button of configData.options\">{{button.label}}</button>\r\n </div>\r\n </div>\r\n</footer>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-motor-glow-plan-details',\r\n standalone: true,\r\n imports: [\r\n CommonModule\r\n ],\r\n templateUrl: './motor-glow-plan-details.component.html',\r\n styleUrl: './motor-glow-plan-details.component.css'\r\n})\r\nexport class MotorGlowPlanDetailsComponent {\r\n field: any = input.required<any>();\r\n @Output() editPlanClick = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n onEditPlanClicked() {\r\n this.editPlanClick.emit();\r\n }\r\n}\r\n","<div class=\"yellow-background\" *ngIf=\"field().isVisible\">\r\n <div class=\"row\" style=\"padding-bottom: 16px;\">\r\n <div class=\"col-6\" style=\"padding-bottom: 8px;\">\r\n <span class=\"label-font\">Sum Assured</span>\r\n </div>\r\n <div class=\"col-6 d-flex justify-content-end\" (click)=\"onEditPlanClicked()\">\r\n <span class=\"label-font\">Edit plan <span> <img style=\"height: 12px; width: 12px; transform: translate(2px, -2px);\" src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/edit-icon.svg\" alt=\"edit icon\"> </span></span>\r\n </div>\r\n <div class=\"col-12\">\r\n <span class=\"value-font\">{{field()?.configData?.sumAssuedValue ? field()?.configData?.sumAssuedValue : '25' }}</span>\r\n </div>\r\n </div>\r\n <div class=\"row\" style=\"padding-bottom: 16px;\">\r\n <div class=\"col-12\" style=\"padding-bottom: 8px;\"><span class=\"label-font\">Policy Term (PT)</span></div>\r\n <div class=\"col-12 value-font\"><span>{{field()?.configData?.ptYears ? field()?.configData?.ptYears : '5' }} yrs <span class=\"year-label\">(Till {{field()?.configData?.ptValidTill ? field()?.configData?.ptValidTill : '2029' }})</span></span></div>\r\n\r\n </div>\r\n <div class=\"row\" style=\"padding-bottom: 16px;\">\r\n <div class=\"col-12\" style=\"padding-bottom: 8px;\"><span class=\"label-font\">Premium</span></div>\r\n <div class=\"col-12\"><span class=\"premium-color\">₹ {{field()?.configData?.premiumAmount ? field()?.configData?.premiumAmount : '12,025' }}/ {{field()?.configData?.premiumFrequency ? field()?.configData?.premiumFrequency : 'year' }}</span></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\"> <span class=\"eligibility-font\">Eligible for maximum Sum Assured of ₹{{field()?.configData?.maxSAValue ? field()?.configData?.maxSAValue : '25' }} Lakh.</span></div>\r\n </div>\r\n\r\n</div>\r\n","import { Component, EventEmitter, input, Output, SimpleChanges } from '@angular/core';\r\nimport { ToggleComponent } from '../toggle/toggle.component';\r\nimport { SelectTextboxComponent } from '../select-textbox/select-textbox.component';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\r\nimport { RadioComponent } from '../radio/radio.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MasterControlService } from '../master-control.service';\r\n\r\n@Component({\r\n selector: 'lib-annuity-premium-calculator',\r\n standalone: true,\r\n imports: [\r\n ToggleComponent,\r\n SelectTextboxComponent,\r\n ButtonComponent,\r\n IconButtonComponent,\r\n RadioComponent,\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './annuity-premium-calculator.component.html',\r\n styleUrl: './annuity-premium-calculator.component.css',\r\n})\r\nexport class AnnuityPremiumCalculatorComponent {\r\n field: any = input.required<any>();\r\n premiumDetails: any = input<any>({});\r\n annuityPremium : any = {\r\n textValue : '',\r\n selectValue: ''\r\n };\r\n minumumAnnuityPayout : any = {\r\n textValue : '',\r\n selectValue: ''\r\n };\r\n @Output() onCalcualteButtonClick = new EventEmitter<any>();\r\n @Output() onGenerateSummaryClick = new EventEmitter<any>();\r\n @Output() onAnnuityPremiumChange = new EventEmitter<any>();\r\n @Output() onMinimumPremiumValueChange = new EventEmitter<any>();\r\n @Output() onAutioDebitValueChange = new EventEmitter<any>();\r\n validations : any = {\r\n ispremiumEntry : false\r\n }\r\n isEnableAutoDebit : any = false;\r\n selectedGuranteedAnnuity: any = null;\r\n annuityPremiumToggleObj: any = {\r\n controlType: 'toggle',\r\n fieldName: 'annuityPremiumToggle',\r\n label: 'Enter Annuity',\r\n placeHolder: null,\r\n metaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',\r\n isVisible: true,\r\n isDisable: true,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: 150,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: null,\r\n cssClass:\r\n ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mx-auto d-flex align-items-center justify-content-center',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n isShowLabel: true,\r\n controlStyle: {\r\n controlType: 'toggle',\r\n borderColor: '#DADADA',\r\n borderWidth: '1px',\r\n borderRadius: '999px',\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: 'fit-content',\r\n focusBorderWidth: '0.094rem',\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: '0.094rem',\r\n hoverColor: null,\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: null,\r\n errorBorderWidth: '0.094rem',\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n columnIndex: 0,\r\n configData: {\r\n leftLabel: 'Enter Premium',\r\n },\r\n controlStyles: null,\r\n };\r\n\r\n annuityTableCalculator :any = {\r\n \"isVisible\": false,\r\n \"annuitycalculatorTable1val1\": \"\",\r\n \"annuitycalculatorTable1val2\": \"\",\r\n \"annuitycalculatorTable2val1\": \"\",\r\n \"annuitycalculatorTable2val2\": \"\",\r\n \"annuitycalculatorTable2val3\": \"\",\r\n \"annuitycalculatorTable3val1\": \"\",\r\n \"annuitycalculatorTable3val2\": \"\",\r\n \"annuitycalculatorTable3val3\": \"\",\r\n \"annuitycalculatorTable4val1\": \"\",\r\n \"annuitycalculatorTable4val2\": \"\",\r\n \"annuitycalculatorTable4val3\": \"\"\r\n\r\n\r\n };\r\n\r\n annuityPremiumObj: any = {\r\n controlStyle: {\r\n controlType: 'amountTextbox',\r\n borderColor: '#DADADA',\r\n borderWidth: '0.094rem',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: null,\r\n focusBorderWidth: '0.094rem',\r\n focusBorderColor: '#ffbb00',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#FFBB00',\r\n hoverBorderWidth: '0.094rem',\r\n hoverColor: '#444444',\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '0.094rem',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n fieldName: 'annuityPremium',\r\n label: 'Premium',\r\n placeHolder: 'Enter Premium',\r\n metaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',\r\n isVisible: true,\r\n isDisable: false,\r\n defaultValue: null,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'Enter Premium',\r\n minLength: 4,\r\n minLengthMessage: null,\r\n maxLength: 10,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: null,\r\n },\r\n options: [\r\n {\r\n value: 'Monthly',\r\n label: 'Monthly',\r\n },\r\n {\r\n value: 'One Time',\r\n label: 'One Time',\r\n },\r\n {\r\n value: 'Quarterly',\r\n label: 'Quarterly',\r\n },\r\n {\r\n value: 'Half Yearly',\r\n label: 'Half Yearly',\r\n },\r\n {\r\n value: 'Yearly',\r\n label: 'Yearly',\r\n },\r\n ],\r\n cssClass: ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 pr-0 mt-5 pt-2',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n configData: {\r\n isComaSeperated: true,\r\n isAllowNumbersInTextFields: true\r\n },\r\n metaDataObj: null,\r\n isShowLabel: true,\r\n isMasterControl: false,\r\n controlType: 'amountTextbox',\r\n };\r\n\r\n minimumAnnuityPayoutObj: any = {\r\n controlStyle: {\r\n controlType: 'amountTextbox',\r\n borderColor: '#DADADA',\r\n borderWidth: '0.094rem',\r\n borderRadius: null,\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#FFFFFF',\r\n caretColor: '#ffbb00',\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: null,\r\n focusBorderWidth: '0.094rem',\r\n focusBorderColor: '#ffbb00',\r\n focusBackground: null,\r\n focusColor: '#444444',\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: '#FFBB00',\r\n hoverBorderWidth: '0.094rem',\r\n hoverColor: '#444444',\r\n disableColor: '#999999',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: '#EE0000',\r\n errorBorderWidth: '0.094rem',\r\n errorColor: '#444444',\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId:\r\n 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n fieldName: 'minimumGuaranteedAnnuityPayout',\r\n label: 'Total Annuity Payout',\r\n placeHolder: 'Enter Annuity Payout',\r\n metaId: 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',\r\n isVisible: true,\r\n isDisable: true,\r\n defaultValue: null,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'Enter Annuity Payout',\r\n minLength: 4,\r\n minLengthMessage: null,\r\n maxLength: 10,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: null,\r\n },\r\n options: [\r\n {\r\n value: 'Monthly',\r\n label: 'Monthly',\r\n },\r\n {\r\n value: 'One Time',\r\n label: 'One Time',\r\n },\r\n {\r\n value: 'Quarterly',\r\n label: 'Quarterly',\r\n },\r\n {\r\n value: 'Half Yearly',\r\n label: 'Half Yearly',\r\n },\r\n {\r\n value: 'Yearly',\r\n label: 'Yearly',\r\n },\r\n ],\r\n cssClass:\r\n ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 mt-1 pr-0 minimumGuaranteedAnnuityPayout',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n configData: {\r\n isComaSeperated: true,\r\n isAllowNumbersInTextFields: true\r\n },\r\n metaDataObj: null,\r\n isShowLabel: true,\r\n isMasterControl: false,\r\n controlType: 'amountTextbox',\r\n };\r\n\r\n enableAutoDebitObj: any = {\r\n controlType: 'toggle',\r\n fieldName: 'autoDebit',\r\n label: 'Enable Auto Pay to get higher annuity rate',\r\n placeHolder: '',\r\n metaId: 'ALL_COM_GEN_CTRL_toggle_autoDebit_V1',\r\n isVisible: true,\r\n isDisable: false,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: null,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: null,\r\n cssClass: 'col-sm-12 col-md-5 col-lg-5 col-xl-5 mt-4 autoPay',\r\n value: false,\r\n style: null,\r\n imageUrl: null,\r\n isShowLabel: true,\r\n controlStyle: {\r\n controlType: 'toggle',\r\n borderColor: null,\r\n borderWidth: '0.094rem',\r\n borderRadius: null,\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n fontFamily: 'Mulish',\r\n color: '#444444',\r\n background: '#E6F7F3',\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: null,\r\n focusBorderWidth: '0.094rem',\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: '0.094rem',\r\n hoverColor: null,\r\n disableColor: '#ECECEC',\r\n disableBackground: '#ECECEC',\r\n errorBorderColor: null,\r\n errorBorderWidth: '0.094rem',\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'ALL_COM_GEN_CTRL_toggle_mailingAddressToggle_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n columnIndex: 0,\r\n configData: {},\r\n controlStyles: null,\r\n };\r\n\r\n recalculateButton: any = {\r\n controlType: 'button',\r\n fieldName: 'calculateAnnuityPayout',\r\n label: 'Calculate Annuity Payout',\r\n placeHolder: null,\r\n metaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',\r\n isVisible: true,\r\n isDisable: false,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: null,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: null,\r\n cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mt-3',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n isShowLabel: true,\r\n controlStyle: {\r\n controlType: null,\r\n borderColor: null,\r\n borderWidth: null,\r\n borderRadius: '4px',\r\n fontSize: '12px',\r\n fontWeight: null,\r\n fontFamily: null,\r\n color: null,\r\n background: '#FFBB00',\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: '100%',\r\n focusBorderWidth: null,\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: null,\r\n hoverColor: null,\r\n disableColor: null,\r\n disableBackground: null,\r\n errorBorderColor: null,\r\n errorBorderWidth: null,\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n columnIndex: 0,\r\n configData: {},\r\n controlStyles: null,\r\n };\r\n\r\n interchangeButtonObj: any = {\r\n controlStyle: {\r\n controlType: null,\r\n borderColor: '#DDDDDD',\r\n borderWidth: '0px',\r\n borderRadius: '50%',\r\n fontSize: null,\r\n fontWeight: null,\r\n fontFamily: null,\r\n color: null,\r\n background: null,\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: '100%',\r\n focusBorderWidth: null,\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: null,\r\n hoverColor: null,\r\n disableColor: null,\r\n disableBackground: null,\r\n errorBorderColor: null,\r\n errorBorderWidth: null,\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: null,\r\n borderStyle: null,\r\n height: '20px',\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n fieldName: 'annuityInterChange',\r\n label: 'Annuity Interchange Button',\r\n placeHolder: null,\r\n metaId: 'ALL_COM_GEN_MCTRL_downloadIconButton_annuityInterChange_V1',\r\n isVisible: true,\r\n isDisable: false,\r\n defaultValue: null,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: null,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: [],\r\n cssClass: null,\r\n value: null,\r\n style: null,\r\n imageUrl:\r\n 'https://cdn.godigit.com/digitPlusAssets/Transition-with-border-icon.svg',\r\n configData: {},\r\n metaDataObj: null,\r\n isShowLabel: true,\r\n isMasterControl: true,\r\n controlType: 'downloadIconButton',\r\n };\r\n\r\n generateSummaryObj: any = {\r\n controlType: 'button',\r\n fieldName: 'generateSummary',\r\n label: 'Generate Summary',\r\n placeHolder: null,\r\n metaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',\r\n isVisible: true,\r\n isDisable: true,\r\n validators: {\r\n isRequired: false,\r\n requiredMessage: 'This field cannot be empty',\r\n minLength: null,\r\n minLengthMessage: null,\r\n maxLength: null,\r\n maxLengthMessage: null,\r\n pattern: null,\r\n patternMessage: '',\r\n },\r\n options: null,\r\n cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 my-1 mt-3',\r\n value: null,\r\n style: null,\r\n imageUrl: null,\r\n isShowLabel: true,\r\n controlStyle: {\r\n controlType: null,\r\n borderColor: null,\r\n borderWidth: null,\r\n borderRadius: '4px',\r\n fontSize: '12px',\r\n fontWeight: null,\r\n fontFamily: null,\r\n color: null,\r\n background: '#FFBB00',\r\n caretColor: null,\r\n nudgeDisplayImage: null,\r\n dropdownOptionBgColor: null,\r\n dropdownOptionColor: null,\r\n dropdownOptionFontWeight: null,\r\n width: '100%',\r\n focusBorderWidth: null,\r\n focusBorderColor: null,\r\n focusBackground: null,\r\n focusColor: null,\r\n focusDropdownOptionBgColor: null,\r\n focusDropdownOptionColor: null,\r\n focusDropdownOptionFontWeight: null,\r\n focusDropdownOptionBorderLeft: null,\r\n focusDropdownOptionBorderRadius: null,\r\n hoverBorderColor: null,\r\n hoverBorderWidth: null,\r\n hoverColor: null,\r\n disableColor: null,\r\n disableBackground: null,\r\n errorBorderColor: null,\r\n errorBorderWidth: null,\r\n errorColor: null,\r\n createdDate: null,\r\n padding: null,\r\n margin: null,\r\n isMasterCss: null,\r\n controlMetaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',\r\n borderStyle: null,\r\n height: null,\r\n minHeight: null,\r\n maxHeight: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n cssClass: null,\r\n },\r\n columnIndex: 0,\r\n configData: {},\r\n controlStyles: null,\r\n };\r\n\r\n guranteedannuityObj: any={\r\n \"controlType\": \"radio\",\r\n \"fieldName\": \"guranteedAnnuityage\",\r\n \"label\": \"Guaranteed Annuity %age\",\r\n \"placeHolder\": \"\",\r\n \"metaId\": \"LI_DP_DP_CTRL_radio_annuityType_V1\",\r\n \"isVisible\": true,\r\n \"isDisable\": false,\r\n \"validators\": {\r\n \"isRequired\": true,\r\n \"requiredMessage\": \"This field cannot be empty\",\r\n \"minLength\": null,\r\n \"minLengthMessage\": null,\r\n \"maxLength\": 150,\r\n \"maxLengthMessage\": null,\r\n \"pattern\": null,\r\n \"patternMessage\": \"\"\r\n },\r\n \"options\": [],\r\n \"cssClass\": \" col-sm-12 col-md-3 col-lg-3 col-xl-3 annuityType\",\r\n \"value\": null,\r\n \"style\": null,\r\n \"imageUrl\": null,\r\n \"isShowLabel\": true,\r\n \"controlStyle\": {\r\n \"controlType\": \"radio\",\r\n \"borderColor\": \"#DADADA\",\r\n \"borderWidth\": \"1px\",\r\n \"borderRadius\": null,\r\n \"fontSize\": \"12px\",\r\n \"fontWeight\": \"400\",\r\n \"fontFamily\": \"Mulish\",\r\n \"color\": \"#444444\",\r\n \"background\": \"#FFFFFF\",\r\n \"caretColor\": null,\r\n \"nudgeDisplayImage\": null,\r\n \"dropdownOptionBgColor\": null,\r\n \"dropdownOptionColor\": null,\r\n \"dropdownOptionFontWeight\": null,\r\n \"width\": \"45px\",\r\n \"focusBorderWidth\": \"1px\",\r\n \"focusBorderColor\": \"#ffbb00\",\r\n \"focusBackground\": null,\r\n \"focusColor\": \"#444444\",\r\n \"focusDropdownOptionBgColor\": null,\r\n \"focusDropdownOptionColor\": null,\r\n \"focusDropdownOptionFontWeight\": null,\r\n \"focusDropdownOptionBorderLeft\": null,\r\n \"focusDropdownOptionBorderRadius\": null,\r\n \"hoverBorderColor\": \"#DADADA\",\r\n \"hoverBorderWidth\": \"1px\",\r\n \"hoverColor\": \"#444444\",\r\n \"disableColor\": \"#ECECEC\",\r\n \"disableBackground\": \"#ECECEC\",\r\n \"errorBorderColor\": \"#DADADA\",\r\n \"errorBorderWidth\": \"1px\",\r\n \"errorColor\": \"#444444\",\r\n \"createdDate\": null,\r\n \"padding\": null,\r\n \"margin\": null,\r\n \"isMasterCss\": null,\r\n \"controlMetaId\": \"LI_DP_DP_CTRL_radio_annuityType_V1\",\r\n \"borderStyle\": null,\r\n \"height\": \"32px\",\r\n \"minHeight\": null,\r\n \"maxHeight\": null,\r\n \"minWidth\": \"45px\",\r\n \"maxWidth\": null,\r\n \"cssClass\": null\r\n },\r\n \"columnIndex\": 0,\r\n \"configData\": {},\r\n \"controlStyles\": null\r\n };\r\n\r\n constructor(public masterService : MasterControlService) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if ( (changes['premiumDetails']) && !this.masterService.checkIfValueIsEmpty(changes['premiumDetails'].currentValue) ) {\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.Premium)) {\r\n // Create new object to trigger change detection\r\n this.annuityPremium = {\r\n textValue: this.premiumDetails()?.Premium['textValue'],\r\n selectValue: this.premiumDetails()?.Premium['selectValue']\r\n };\r\n\r\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'isDisable')) {\r\n this.annuityPremiumObj['isDisable'] = this.premiumDetails()?.Premium['isDisable'];\r\n }\r\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'isDisableDropdown')) {\r\n this.annuityPremiumObj['configData']['isDisableDropdown'] = this.premiumDetails()?.Premium['isDisableDropdown'];\r\n }\r\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'options')) {\r\n this.annuityPremiumObj['options'] = this.premiumDetails()?.Premium['options'];\r\n }\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuity)) {\r\n // Create new object to trigger change detection\r\n this.minumumAnnuityPayout = {\r\n textValue: this.premiumDetails()?.annuity['textValue'],\r\n selectValue: this.premiumDetails()?.annuity['selectValue']\r\n };\r\n\r\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'isDisable')) {\r\n this.minimumAnnuityPayoutObj['isDisable'] = this.premiumDetails()?.annuity['isDisable'];\r\n }\r\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'isDisableDropdown')) {\r\n this.minimumAnnuityPayoutObj['configData']['isDisableDropdown'] = this.premiumDetails()?.annuity['isDisableDropdown'];\r\n }\r\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'options')) {\r\n this.minimumAnnuityPayoutObj['options'] = this.premiumDetails()?.annuity['options'];\r\n }\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuityTableCalculator)) {\r\n // Create new object to trigger change detection\r\n this.annuityTableCalculator = this.premiumDetails()?.annuityTableCalculator;\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity)) {\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['controlStyle'])) {\r\n this.recalculateButton['controlStyle'] = this.premiumDetails()?.calculateAnnuity['controlStyle']\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['label'])) {\r\n this.recalculateButton['label'] = this.premiumDetails()?.calculateAnnuity['label']\r\n }\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['isDisable'])) {\r\n this.recalculateButton['isDisable'] = this.premiumDetails()?.calculateAnnuity['isDisable']\r\n }\r\n }\r\n\r\n //guranteed Annuity options\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity)) {\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity['options'])) {\r\n this.guranteedannuityObj['options'] = this.premiumDetails()?.guranteedAnnuity['options'];\r\n }\r\n\r\n\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary)) {\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['controlStyle'])) {\r\n this.generateSummaryObj['controlStyle'] = this.premiumDetails()?.generateSummary['controlStyle'];\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['label'])) {\r\n this.generateSummaryObj['label'] = this.premiumDetails()?.generateSummary['label'];\r\n }\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['isDisable'])) {\r\n this.generateSummaryObj['isDisable'] = this.premiumDetails()?.generateSummary['isDisable']\r\n }\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption)) {\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption['isVisible'])) {\r\n this.enableAutoDebitObj['isVisible'] = this.premiumDetails()?.autoPayOption['isVisible'];\r\n }\r\n\r\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption['isVisible'])) {\r\n this.isEnableAutoDebit = this.premiumDetails()?.autoPayOption['isEnableAutoDebit'];\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n calculateButtonClicked() {\r\n this.validations.ispremiumEntry = false;\r\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\r\n this.validations.ispremiumEntry = true;\r\n }\r\n this.onCalcualteButtonClick.emit();\r\n }\r\n\r\n generateSummaryClicked() {\r\n this.onGenerateSummaryClick.emit();\r\n }\r\n\r\n onAnnuityPremiumValueChange(value: any) {\r\n this.annuityPremium = value;\r\n this.validations.ispremiumEntry = false;\r\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\r\n this.validations.ispremiumEntry = true;\r\n }\r\n this.onAnnuityPremiumChange.emit(value);\r\n }\r\n onMinPremiumValueChange(value: any) {\r\n this.minumumAnnuityPayout = value;\r\n this.onMinimumPremiumValueChange.emit(value);\r\n }\r\n\r\n onEnableAutoDebitValueChange(event : any) {\r\n this.onAutioDebitValueChange.emit(event);\r\n }\r\n\r\n onGuranteedAnnuityChange(event: any) {\r\n }\r\n\r\n annualIncomefocusOut() {\r\n this.validations.ispremiumEntry = false;\r\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\r\n this.validations.ispremiumEntry = true;\r\n }\r\n }\r\n}\r\n","<div class=\"card px-3\" style=\"padding: 16px;\">\r\n <div class=\"row\">\r\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium to Annuity Calculator</h4>\r\n </div>\r\n <!-- <div class=\"row\"> -->\r\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\r\n <!-- <div class=\"custom-grid-template\">\r\n\r\n </div> -->\r\n\r\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\r\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\r\n </div>\r\n <!-- </div> -->\r\n <div class=\" col-12\" style=\"\r\n justify-content: center;\r\n flex-direction: row;\r\n display: flex;\r\n\">\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\" (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\r\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\r\n Enter Premium\r\n </div>\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div>\r\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\" style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative;\">\r\n <!-- Vertical center line split around icon -->\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px;height: calc(50% - 16px); top: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n <lib-icon-button [field]=\"interchangeButtonObj\" />\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% - 16px); bottom: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n </div>\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\" (ngModelChange)=\"onMinPremiumValueChange($event)\" />\r\n <div class=\"minium-annuity mt-3\">\r\n <div class=\"annuity-msg w-100 px-2 py-1\">\r\n Value based on assumed 10% annual growth of Nifty 50 index.\r\n </div>\r\n <div class=\"w-100 px-2 py-1\">\r\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\" (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\r\n </div>\r\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\r\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\" style=\"max-width: 24px;\" />\r\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\r\n</div>\r\n</div>\r\n\r\n </div>\r\n </div>\r\n <!-- <div class=\"vertical-line\"></div> -->\r\n <!-- <div class=\"custom-grid-template\">\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div> -->\r\n\r\n </div>\r\n\r\n\r\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\r\n <div class=\"mx-4\">\r\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\r\n <div class=\"card mb-0 mt-2\" style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \">\r\n <div class=\"mx-4\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\" style=\"margin-left: 3px;\"/>\r\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\"/>\r\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\r\n </div>\r\n <!-- annuity calculator table -->\r\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <div class=\"d-flex flex-row annuity-tables-container\">\r\n <!-- Table 1 -->\r\n <div class=\"annuity-calculator-table1\">\r\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-cell\"><span class=\"rupee-icon\">₹</span><span style=\"font-size:12px; color: rgba(68, 68, 68, 1);\"><{{annuityTableCalculator.annuitycalculatorTable1val1}}></span></div>\r\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">+</div>\r\n\r\n <!-- Table 2 -->\r\n <div class=\"annuity-calculator-table2\">\r\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\r\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\r\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table 3 -->\r\n <div class=\"annuity-calculator-table3\">\r\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">=</div>\r\n\r\n <!-- Table 4 -->\r\n <div class=\"annuity-calculator-table4\">\r\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect your variable annuity payout and total annuity payout.\r\n </div>\r\n\r\n <div>\r\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-footer-design',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './footer-design.component.html',\r\n styleUrl: './footer-design.component.css'\r\n})\r\nexport class FooterDesignComponent {\r\n field : any = input.required<any>();\r\n progress: number = 95;\r\n updateProgress(value: number) {\r\n this.progress = Math.min(100, Math.max(0, value));\r\n }\r\n}\r\n","<div class=\"progress-container\" *ngIf=\"field() && field()?.isVisible\">\r\n <div class=\"circular-progress-wrapper\">\r\n <div class=\"circular-progress\"\r\n [style.--progress]=\"field()?.configData?.Progressbar\"\r\n [class.medium-progress]=\"field()?.configData?.Progressbar >= 25 && field()?.configData?.Progressbar < 50\"\r\n [class.high-progress]=\"field()?.configData?.Progressbar >= 50\">\r\n <div class=\"progress-value\">{{ field()?.configData?.Progressbar }}%</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-content\">\r\n <h2 class=\"main-heading\" [innerHTML]=\"field()?.configData?.Progressbarmsg\"></h2>\r\n <h2 class=\"main-heading1\">{{ field()?.configData?.GrossPremium }}</h2>\r\n </div>\r\n</div>\r\n","import { ButtonComponent } from './button/button.component';\r\nimport { Component, Input, input } from '@angular/core';\r\nimport { TextboxComponent } from './textbox/textbox.component';\r\nimport { SelectComponent } from './select/select.component';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { RadioComponent } from './radio/radio.component';\r\nimport { ToggleComponent } from './toggle/toggle.component';\r\nimport { UploadComponent } from './upload/upload.component';\r\nimport { DobComponent } from './dob/dob.component';\r\nimport { MobNumberComponent } from './mob-number/mob-number.component';\r\nimport { InfoComponent } from './info/info.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { TextareaComponent } from './textarea/textarea.component';\r\nimport { TabComponent } from \"./tab/tab.component\";\r\nimport { AutocompleteComponent } from \"./autocomplete/autocomplete.component\";\r\nimport { MultipleSelectComponent } from \"./multiple-select/multiple-select.component\";\r\nimport { SelectTextboxComponent } from './select-textbox/select-textbox.component';\r\nimport { OtpTextboxComponent } from \"./otp-textbox/otp-textbox.component\";\r\nimport { AmountTextboxComponent } from \"./amount-textbox/amount-textbox.component\";\r\nimport { SuffixTextboxComponent } from \"./suffix-textbox/suffix-textbox.component\";\r\nimport { OtpMobNumberComponent } from \"./otp-mob-number/otp-mob-number.component\";\r\nimport { TagMobNumberComponent } from \"./tag-mob-number/tag-mob-number.component\";\r\nimport { AgeDateComponent } from \"./age-date/age-date.component\";\r\nimport { AdditionButtonComponent } from \"./addition-button/addition-button.component\";\r\nimport { InfoTextboxComponent } from \"./info-textbox/info-textbox.component\";\r\nimport { TextboxWithImageComponent } from \"./textbox-with-image/textbox-with-image.component\";\r\nimport { EmailWithDomainComponent } from \"./email-with-domain/email-with-domain.component\";\r\nimport { ImageUploadComponent } from \"./image-upload/image-upload.component\";\r\nimport { DownloadDocumentComponent } from \"./download-document/download-document.component\";\r\nimport { AddDocumentComponent } from \"./add-document/add-document.component\";\r\nimport { HyperlinkComponent } from \"./hyperlink/hyperlink.component\";\r\nimport { TextboxWithUnderscoreComponent } from \"./textbox-with-underscore/textbox-with-underscore.component\";\r\nimport { UnderscoreMobNumberComponent } from \"./underscore-mob-number/underscore-mob-number.component\";\r\nimport { IconButtonComponent } from \"./icon-button/icon-button.component\";\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ImageComponent } from './image/image.component';\r\nimport { StepperComponent } from \"./stepper/stepper.component\";\r\nimport { CardComponent } from \"./card/card.component\";\r\nimport { HrLineComponent } from \"./hr-line/hr-line.component\";\r\nimport { SearchMultiSelectComponent } from \"./search-multi-select/search-multi-select.component\";\r\nimport { SubscriptTextboxComponent } from \"./subscript-textbox/subscript-textbox.component\";\r\nimport { LabelComponent } from \"./label/label.component\";\r\nimport { SubHeaderComponent } from \"./sub-header/sub-header.component\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { TableComponent } from './table/table.component';\r\nimport { TextboxWithTextComponent } from \"./textbox-with-text/textbox-with-text.component\";\r\nimport { DiscountComponent } from \"./discount/discount.component\";\r\nimport { BenefitCardComponent } from \"./benefit-card/benefit-card.component\";\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { WarningSnackbarComponent } from \"./warning-snackbar/warning-snackbar.component\";\r\nimport { SuccessSnackbarComponent } from \"./success-snackbar/success-snackbar.component\";\r\nimport { NeutralSnackbarComponent } from \"./neutral-snackbar/neutral-snackbar.component\";\r\nimport { ErrorSnackbarComponent } from \"./error-snackbar/error-snackbar.component\";\r\nimport { GreyLabelComponent } from \"./grey-label/grey-label.component\";\r\nimport { IframeComponent } from \"./iframe/iframe.component\";\r\nimport { ToggleButtonComponent } from \"./toggle-button/toggle-button.component\";\r\nimport { PayGetCardComponent } from \"./pay-get-card/pay-get-card.component\";\r\nimport { InBuiltBenefitComponent } from \"./in-built-benefit/in-built-benefit.component\";\r\nimport { OtherBenefitsComponent } from \"./other-benefits/other-benefits.component\";\r\nimport { AnnuityRateLogoComponent } from \"./annuity-rate-logo/annuity-rate-logo.component\";\r\nimport { DiscountV2Component } from './discount-v2/discount-v2.component';\r\nimport { LabelValueCardComponent } from './label-value-card/label-value-card.component';\r\nimport { MedialQuestionsComponent } from \"./medial-questions/medial-questions.component\";\r\nimport { PageNudgeComponent } from './page-nudge/page-nudge.component';\r\nimport { ProgressBarComponent } from \"./progress-bar/progress-bar.component\";\r\nimport { AccordianComponent } from \"./accordian/accordian.component\";\r\nimport { MiscellaneousInfoBarComponent } from \"./miscellaneous-info-bar/miscellaneous-info-bar.component\";\r\nimport { PlainTextComponent } from \"./plain-text/plain-text.component\";\r\nimport { MenuComponent } from './menu/menu.component';\r\nimport { StepperWIthArrowComponent } from \"./stepper-with-arrow/stepper-with-arrow.component\";\r\nimport { LabelWithImageComponent } from \"./label-with-image/label-with-image.component\";\r\nimport { TopHeaderComponent } from \"./top-header/top-header.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { FooterWithButtonsComponent } from './footer-with-buttons/footer-with-buttons.component';\r\nimport { MotorGlowPlanDetailsComponent } from \"./motor-glow-plan-details/motor-glow-plan-details.component\";\r\nimport { FilePreviewComponent } from './file-preview/file-preview.component';\r\nimport { AnnuityPremiumCalculatorComponent } from \"./annuity-premium-calculator/annuity-premium-calculator.component\";\r\nimport { FooterDesignComponent } from \"./footer-design/footer-design.component\";\r\n\r\n@Component({\r\n selector: 'lib-master-control',\r\n standalone: true,\r\n imports: [\r\n FormsModule,\r\n TextboxComponent,\r\n SelectComponent,\r\n RadioComponent,\r\n ToggleComponent,\r\n UploadComponent,\r\n DobComponent,\r\n MobNumberComponent,\r\n InfoComponent,\r\n CheckboxComponent,\r\n TextareaComponent,\r\n ButtonComponent,\r\n TabComponent,\r\n AutocompleteComponent,\r\n MultipleSelectComponent,\r\n SelectTextboxComponent,\r\n OtpTextboxComponent,\r\n AmountTextboxComponent,\r\n SuffixTextboxComponent,\r\n OtpMobNumberComponent,\r\n TagMobNumberComponent,\r\n AgeDateComponent,\r\n AdditionButtonComponent,\r\n InfoTextboxComponent,\r\n TextboxWithImageComponent,\r\n EmailWithDomainComponent,\r\n ImageUploadComponent,\r\n DownloadDocumentComponent,\r\n AddDocumentComponent,\r\n HyperlinkComponent,\r\n TextboxWithUnderscoreComponent,\r\n UnderscoreMobNumberComponent,\r\n IconButtonComponent,\r\n ReactiveFormsModule,\r\n ImageComponent,\r\n StepperComponent,\r\n CardComponent,\r\n HrLineComponent,\r\n SearchMultiSelectComponent,\r\n SubscriptTextboxComponent,\r\n LabelComponent,\r\n SubHeaderComponent,\r\n HeaderComponent,\r\n TextboxWithTextComponent,\r\n DiscountComponent,\r\n BenefitCardComponent,\r\n TableComponent,\r\n LoaderComponent,\r\n WarningSnackbarComponent,\r\n SuccessSnackbarComponent,\r\n NeutralSnackbarComponent,\r\n ErrorSnackbarComponent,\r\n GreyLabelComponent,\r\n IframeComponent,\r\n ToggleButtonComponent,\r\n PayGetCardComponent,\r\n InBuiltBenefitComponent,\r\n OtherBenefitsComponent,\r\n AnnuityRateLogoComponent,\r\n DiscountV2Component,\r\n LabelValueCardComponent,\r\n MedialQuestionsComponent,\r\n PageNudgeComponent,\r\n ProgressBarComponent,\r\n AccordianComponent,\r\n MiscellaneousInfoBarComponent,\r\n PlainTextComponent,\r\n MenuComponent,\r\n StepperWIthArrowComponent,\r\n LabelWithImageComponent,\r\n TopHeaderComponent,\r\n FooterComponent,\r\n FooterWithButtonsComponent,\r\n MotorGlowPlanDetailsComponent,\r\n AnnuityPremiumCalculatorComponent,\r\n FilePreviewComponent,\r\n FooterDesignComponent\r\n],\r\n templateUrl: './master-control.component.html',\r\n styleUrls: ['./master-control.component.css']\r\n})\r\nexport class MasterControlComponent {\r\n field: any = input.required<any>();\r\n @Input() formGroup: FormGroup = new FormGroup({});\r\n constructor() {}\r\n}\r\n","@switch (field()?.controlType) {\r\n @case ('top-header') {\r\n <lib-top-header [field]=\"field()\" />\r\n }\r\n @case ('footer') {\r\n <lib-footer [field]=\"field()\" />\r\n }\r\n @case('footer-buttons')\r\n {\r\n <lib-footer-with-buttons [field]=\"field()\"></lib-footer-with-buttons>\r\n }\r\n @case('text') {\r\n <lib-textbox [field]=\"field()\"></lib-textbox>\r\n }\r\n @case('select') {\r\n <lib-select [field]=\"field()\"/>\r\n }\r\n\r\n @case('radio') {\r\n <lib-radio [field]=\"field()\" />\r\n }\r\n\r\n @case('toggle') {\r\n <lib-toggle [field]=\"field()\" />\r\n }\r\n\r\n @case('file') {\r\n <lib-upload [field]=\"field()\" />\r\n }\r\n\r\n @case('date') {\r\n <lib-dob [field]=\"field()\" />\r\n }\r\n\r\n @case('mobileNumber') {\r\n <lib-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case('info') {\r\n <lib-info [field]=\"field()\" />\r\n }\r\n\r\n @case('checkbox') {\r\n <lib-checkbox [field]=\"field()\" />\r\n }\r\n\r\n @case('textarea') {\r\n <lib-textarea [field]=\"field()\" />\r\n }\r\n\r\n @case ('button') {\r\n <lib-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('tab') {\r\n <lib-tab [field]=\"field()\" />\r\n }\r\n\r\n @case ('autocomplete') {\r\n <lib-autocomplete [field]=\"field()\" />\r\n }\r\n\r\n @case ('multipleSelect') {\r\n <lib-multiple-select [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithSelect') {\r\n <lib-select-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpTextbox') {\r\n <lib-otp-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('amountTextbox') {\r\n <lib-amount-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('suffixTextbox') {\r\n <lib-suffix-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('otpMobNumber') {\r\n <lib-otp-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('tagMobNumber') {\r\n <lib-tag-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('dateWithAge') {\r\n <lib-age-date [field]=\"field()\" />\r\n }\r\n\r\n @case ('additionButton') {\r\n <lib-addition-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('infoTextbox') {\r\n <lib-info-textbox [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithImage') {\r\n <lib-textbox-with-image [field]=\"field()\" />\r\n }\r\n\r\n @case ('emailWithDomain') {\r\n <lib-email-with-domain [field]=\"field()\" />\r\n }\r\n\r\n @case ('imageUpload') {\r\n <lib-image-upload [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadDocument') {\r\n <lib-download-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('addDocument') {\r\n <lib-add-document [field]=\"field()\" />\r\n }\r\n\r\n @case ('hyperlink') {\r\n <lib-hyperlink [field]=\"field()\" />\r\n }\r\n\r\n @case ('textboxWithUnderscore') {\r\n <lib-textbox-with-underscore [field]=\"field()\" />\r\n }\r\n\r\n @case ('underscoreMobNumber') {\r\n <lib-underscore-mob-number [field]=\"field()\" />\r\n }\r\n\r\n @case ('downloadIconButton') {\r\n <lib-icon-button [field]=\"field()\" />\r\n }\r\n\r\n @case ('image') {\r\n <lib-image [field]=\"field()\" />\r\n }\r\n @case ('stepper') {\r\n <lib-stepper [field]=\"field()\" />\r\n }\r\n @case ('card') {\r\n <lib-card [field]=\"field()\" />\r\n }\r\n @case ('hrLine') {\r\n <lib-hr-line [field]=\"field()\" />\r\n }\r\n @case ('searchMultiSelect') {\r\n <lib-search-multi-select [field]=\"field()\" />\r\n }\r\n @case ('subscriptTextbox') {\r\n <lib-subscript-textbox [field]=\"field()\" />\r\n }\r\n @case ('label') {\r\n <lib-label [field]=\"field()\" />\r\n }\r\n @case ('subHeading') {\r\n <lib-sub-header [field]=\"field()\" />\r\n }\r\n @case ('heading') {\r\n <lib-header [field]=\"field()\" />\r\n }\r\n @case ('table') {\r\n <lib-table [field]=\"field()\" />\r\n }\r\n @case ('textboxWithText') {\r\n <lib-textbox-with-text [field]=\"field()\" />\r\n }\r\n @case ('loader') {\r\n <lib-loader [field]=\"field()\" />\r\n }\r\n @case ('discount') {\r\n <lib-discount [field]=\"field()\" />\r\n }\r\n @case ('optionalBenefitCard') {\r\n <lib-benefit-card [field]=\"field()\" />\r\n }\r\n @case ('errorSnackbar') {\r\n <lib-error-snackbar [field]=\"field()\" />\r\n }\r\n @case ('warningSnackbar') {\r\n <lib-warning-snackbar [field]=\"field()\" />\r\n }\r\n @case ('successSnackbar') {\r\n <lib-success-snackbar [field]=\"field()\" />\r\n }\r\n @case ('neutralSnackbar') {\r\n <lib-neutral-snackbar [field]=\"field()\" />\r\n }\r\n @case ('boldLabel') {\r\n <lib-grey-label [field]=\"field()\" />\r\n }\r\n @case ('iframe') {\r\n <lib-iframe [field]=\"field()\" />\r\n }\r\n @case ('toggleButton') {\r\n <lib-toggle-button [field]=\"field()\" />\r\n }\r\n @case ('payGetCard') {\r\n <lib-pay-get-card [field]=\"field()\" />\r\n }\r\n @case ('inBuiltBenefit') {\r\n <lib-in-built-benefit [field]=\"field()\" />\r\n }\r\n @case ('otherBenefit') {\r\n <lib-other-benefits [field]=\"field()\" />\r\n }\r\n @case ('annuityRateLogo') {\r\n <lib-annuity-rate-logo [field]=\"field()\" />\r\n }\r\n @case ('discountAnnuity') {\r\n <lib-discount-v2 [field]=\"field()\" />\r\n }\r\n @case ('labelValue'){\r\n <lib-label-value-card [field]=\"field()\" />\r\n }\r\n @case ('medicalQuestions'){\r\n <lib-medial-questions [field]=\"field()\" />\r\n }\r\n @case ('nudge'){\r\n <lib-page-nudge [field]=\"field()\"/>\r\n }\r\n @case ('progressBar'){\r\n <lib-progress-bar [field]=\"field()\"/>\r\n }\r\n @case ('accordian'){\r\n <lib-accordian [field]=\"field()\"/>\r\n }\r\n @case ('miscInfo'){\r\n <lib-miscellaneous-info-bar [field]=\"field()\"/>\r\n }\r\n @case ('plainText'){\r\n <lib-plain-text [field]=\"field()\"/>\r\n }\r\n @case ('menu'){\r\n <lib-menu [field]=\"field()\" />\r\n }\r\n @case ('stepperWithArrow') {\r\n <lib-stepper-with-arrow [field]=\"field()\" />\r\n }\r\n @case ('labelWithImage') {\r\n <lib-label-with-image [field]=\"field()\" />\r\n }\r\n @case ('motorGlowPlanDetails') {\r\n <lib-motor-glow-plan-details [field]=\"field()\" />\r\n }\r\n @case ('premiumToAnnuityCalculator') {\r\n <lib-annuity-premium-calculator [field]=\"field()\" />\r\n } @case ('footerProgressBar') {\r\n <lib-footer-design [field]=\"field()\" />\r\n }\r\n}\r\n","/*\r\n * Public API Surface of master-control\r\n */\r\n\r\nexport * from './lib/master-control.service';\r\nexport * from './lib/textbox/textbox.component';\r\nexport * from './lib/master-control.component';\r\nexport * from './lib/checkbox/checkbox.component';\r\nexport * from './lib/dob/dob.component';\r\nexport * from './lib/info/info.component';\r\nexport * from './lib/mob-number/mob-number.component';\r\nexport * from './lib/radio/radio.component';\r\nexport * from './lib/select/select.component';\r\nexport * from './lib/textarea/textarea.component';\r\nexport * from './lib/upload/upload.component';\r\nexport * from './lib/toggle/toggle.component';\r\nexport * from './lib/button/button.component';\r\nexport * from './lib/tab/tab.component';\r\nexport * from './lib/autocomplete/autocomplete.component';\r\nexport * from './lib/multiple-select/multiple-select.component';\r\nexport * from './lib/select-textbox/select-textbox.component';\r\nexport * from './lib/otp-textbox/otp-textbox.component';\r\nexport * from './lib/amount-textbox/amount-textbox.component';\r\nexport * from './lib/suffix-textbox/suffix-textbox.component';\r\nexport * from './lib/otp-mob-number/otp-mob-number.component';\r\nexport * from './lib/age-date/age-date.component';\r\nexport * from './lib/addition-button/addition-button.component';\r\nexport * from './lib/textbox-with-image/textbox-with-image.component';\r\nexport * from './lib/email-with-domain/email-with-domain.component';\r\nexport * from './lib/image-upload/image-upload.component';\r\nexport * from './lib/download-document/download-document.component';\r\nexport * from './lib/add-document/add-document.component';\r\nexport * from './lib/hyperlink/hyperlink.component';\r\nexport * from './lib/textbox-with-underscore/textbox-with-underscore.component';\r\nexport * from './lib/icon-button/icon-button.component';\r\nexport * from './lib/image/image.component';\r\nexport * from './lib/stepper/stepper.component';\r\nexport * from './lib/card/card.component';\r\nexport * from './lib/hr-line/hr-line.component';\r\nexport * from './lib/search-multi-select/search-multi-select.component';\r\nexport * from './lib/subscript-textbox/subscript-textbox.component';\r\nexport * from './lib/label/label.component';\r\nexport * from './lib/table/table.component';\r\nexport * from './lib/textbox-with-text/textbox-with-text.component';\r\nexport * from './lib/loader/loader.component';\r\nexport * from './lib/discount/discount.component';\r\nexport * from './lib/benefit-card/benefit-card.component';\r\nexport * from './lib/error-snackbar/error-snackbar.component';\r\nexport * from './lib/warning-snackbar/warning-snackbar.component';\r\nexport * from './lib/success-snackbar/success-snackbar.component';\r\nexport * from './lib/neutral-snackbar/neutral-snackbar.component';\r\nexport * from './lib/grey-label/grey-label.component';\r\nexport * from './lib/iframe/iframe.component';\r\nexport * from './lib/toggle-button/toggle-button.component';\r\nexport * from './lib/pay-get-card/pay-get-card.component';\r\nexport * from './lib/in-built-benefit/in-built-benefit.component';\r\nexport * from './lib/other-benefits/other-benefits.component';\r\nexport * from './lib/annuity-rate-logo/annuity-rate-logo.component';\r\nexport * from './lib/label-value-card/label-value-card.component';\r\nexport * from './lib/medial-questions/medial-questions.component';\r\nexport * from './lib/discount-v2/discount-v2.component';\r\nexport * from './lib/page-nudge/page-nudge.component';\r\nexport * from './lib/header/header.component';\r\nexport * from './lib/sub-header/sub-header.component';\r\nexport * from './lib/menu/menu.component';\r\nexport * from './lib/stepper-with-arrow/stepper-with-arrow.component';\r\nexport * from './lib/info-textbox/info-textbox.component';\r\nexport * from './lib/textbox-with-underscore/textbox-with-underscore.component';\r\nexport * from './lib/label-with-image/label-with-image.component';\r\nexport * from './lib/underscore-mob-number/underscore-mob-number.component';\r\nexport * from './lib/motor-glow-plan-details/motor-glow-plan-details.component';\r\nexport * from './lib/file-preview/file-preview.component';\r\nexport * from './lib/annuity-premium-calculator/annuity-premium-calculator.component';\r\nexport * from './lib/footer-design/footer-design.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.MasterControlService","i3","i5","i2","i6","i1","i4","i7","i8","i1.MasterService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAKa,oBAAoB,CAAA;AAE/B,IAAA,UAAU,GAAQ;AAChB,QAAA,QAAQ,EAAE;AACR,YAAA,cAAc,EAAE,GAAG;AACpB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,UAAU,EAAE;AACV,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,cAAc,EAAE,EAAE;AAClB,gBAAA,WAAW,EAAE,EAAE;AAChB,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,cAAc,EAAE,KAAK;AACrB,gBAAA,WAAW,EAAE,kCAAkC;AAC/C,gBAAA,YAAY,EAAE,QAAQ;AACvB,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,UAAU,EAAE,EAAE;AACd,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,gBAAgB,EAAE,QAAQ;AAC1B,gBAAA,YAAY,EAAE,QAAQ;AACtB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,KAAK,EAAE;AACL,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,YAAY,EAAE,SAAS;AACvB,oBAAA,cAAc,EAAE,KAAK;AACrB,oBAAA,SAAS,EAAE,cAAc;AACzB,oBAAA,WAAW,EAAE,gCAAgC;AAC9C,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,gBAAgB,EAAE,MAAM;AACzB,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,gBAAgB,EAAE,MAAM;AACzB,iBAAA;AACD,gBAAA,mBAAmB,EAAE;AACnB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,GAAG;AACd,wBAAA,WAAW,EAAE,mBAAmB;AACjC,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,eAAe,EAAE;AACf,gBAAA;AACE,oBAAA,aAAa,EAAE,MAAM;AACrB,oBAAA,cAAc,EAAE,MAAM;AACtB,oBAAA,SAAS,EAAE,MAAM;AACjB,oBAAA,YAAY,EAAE,KAAK;AACpB,iBAAA;AACD,gBAAA;AACE,oBAAA,aAAa,EAAE,MAAM;AACrB,oBAAA,cAAc,EAAE,MAAM;AACtB,oBAAA,SAAS,EAAE,aAAa;AACxB,oBAAA,YAAY,EAAE,KAAK;AACpB,iBAAA;AACD,gBAAA;AACE,oBAAA,aAAa,EAAE,UAAU;AACzB,oBAAA,cAAc,EAAE,oBAAoB;AACpC,oBAAA,SAAS,EAAE,mBAAmB;AAC9B,oBAAA,YAAY,EAAE,KAAK;AACpB,iBAAA;AACD,gBAAA;AACE,oBAAA,aAAa,EAAE,sBAAsB;AACrC,oBAAA,cAAc,EAAE,eAAe;AAC/B,oBAAA,SAAS,EAAE,eAAe;AAC1B,oBAAA,YAAY,EAAE,KAAK;AACpB,iBAAA;AACD,gBAAA;AACE,oBAAA,aAAa,EAAE,MAAM;AACrB,oBAAA,cAAc,EAAE,mBAAmB;AACnC,oBAAA,SAAS,EAAE,cAAc;AACzB,oBAAA,YAAY,EAAE,KAAK;AACpB,iBAAA;AACD,gBAAA;AACE,oBAAA,aAAa,EAAE,UAAU;AACzB,oBAAA,cAAc,EAAE,0BAA0B;AAC1C,oBAAA,SAAS,EAAE,iBAAiB;AAC5B,oBAAA,YAAY,EAAE,KAAK;iBACpB,EAAE;AACD,oBAAA,aAAa,EAAE,YAAY;AAC3B,oBAAA,cAAc,EAAE,sBAAsB;AACtC,oBAAA,SAAS,EAAE,aAAa;AACxB,oBAAA,YAAY,EAAE,KAAK;iBACpB,EAAE;AACD,oBAAA,aAAa,EAAE,YAAY;AAC3B,oBAAA,cAAc,EAAE,aAAa;AAC7B,oBAAA,SAAS,EAAE,aAAa;AACxB,oBAAA,YAAY,EAAE,KAAK;AACpB,iBAAA;AAEF,aAAA;AACD,YAAA,qBAAqB,EAAE,EAAE;AACzB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,YAAY,EAAE,CAAC;AAChB,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,aAAa,EAAE;AACb,gBAAA;AACE,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,cAAc,EAAE,WAAW;AAC3B,oBAAA,YAAY,EAAE,mFAAmF;AAClG,iBAAA;AACD,gBAAA;AACE,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,cAAc,EAAE,WAAW;AAC3B,oBAAA,YAAY,EAAE,iEAAiE;AAChF,iBAAA;AACD,gBAAA;AACE,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,cAAc,EAAE,WAAW;AAC3B,oBAAA,YAAY,EAAE,6DAA6D;AAC5E,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,mBAAmB,EAAE;AACnB,YAAA,eAAe,EAAC,CAAC;AACjB,oBAAA,kBAAkB,EAAC,KAAK;AACxB,oBAAA,YAAY,EAAC,WAAW;AACxB,oBAAA,cAAc,EAAC,aAAa;AAC3B,iBAAA;AACA,aAAA;AACF,SAAA;KACF,CAAA;AAED,IAAA,SAAS,GAAQ;AACf,QAAA;AACE,YAAA,MAAM,EAAE,OAAO;AACf,YAAA,UAAU,EAAE,wDAAwD;AACpE,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,YAAY,EAAE,aAAa;AAC3B,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,kBAAkB,EAAE,EAAE;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,mBAAmB,EAAE,4EAA4E;AACjG,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,WAAW,EAAC,eAAe;AAC3B,YAAA,aAAa,EAAC,oBAAoB;AAClC,YAAA,YAAY,EAAC,qBAAqB;SACnC,EAAC;AACA,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,UAAU,EAAE,wDAAwD;AACpE,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,YAAY,EAAE,aAAa;AAC3B,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,kBAAkB,EAAE,EAAE;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,mBAAmB,EAAE,4EAA4E;AACjG,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,WAAW,EAAC,iBAAiB;AAC7B,YAAA,aAAa,EAAC,sBAAsB;AACpC,YAAA,YAAY,EAAC,uBAAuB;SACrC,EAAC;AACA,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,UAAU,EAAE,0DAA0D;AACtE,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,YAAY,EAAE,aAAa;AAC3B,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,kBAAkB,EAAE,EAAE;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,mBAAmB,EAAE,4EAA4E;AACjG,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,WAAW,EAAC,iBAAiB;AAC7B,YAAA,aAAa,EAAC,sBAAsB;AACpC,YAAA,YAAY,EAAC,uBAAuB;SACrC,EAAC;AACA,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,UAAU,EAAE,+DAA+D;AAC3E,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,UAAU,EAAE,uBAAuB;AACnC,YAAA,YAAY,EAAE,qBAAqB;AACnC,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,kBAAkB,EAAE,EAAE;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,mBAAmB,EAAE,gEAAgE;AACrF,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,WAAW,EAAC,iBAAiB;AAC7B,YAAA,aAAa,EAAC,sBAAsB;AACpC,YAAA,YAAY,EAAC,uBAAuB;AACrC,SAAA;KACF,CAAC;AACF,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;SACtB;QACD,QACE,KAAK,KAAK,SAAS;AACnB,YAAA,KAAK,KAAK,IAAI;AACd,YAAA,KAAK,KAAK,EAAE;aACX,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAC9B;KACH;AAED,IAAA,mBAAmB,CAAC,UAAe,EAAE,GAAA,GAAW,YAAY,EAAA;AAC1D,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;KACvD;IAED,sBAAsB,CAAC,MAAW,YAAY,EAAA;QAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KACvC;AAED,IAAA,sBAAsB,CAAC,KAAU,EAAE,mBAAA,GAA4B,KAAK,EAAA;QAClE,IAAI,MAAM,GAAQ,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;YACpC,IACE,MAAM,CACJ,KAAK;AAEF,iBAAA,QAAQ,EAAE;AAEV,iBAAA,OAAO,CACN,6DAA6D,EAE7D,EAAE,CACH;AAEA,iBAAA,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;AAEnB,iBAAA,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CACvB,EACD;gBACA,MAAM,GAAG,MAAM,CACb,KAAK;AAEF,qBAAA,QAAQ,EAAE;AAEV,qBAAA,OAAO,CACN,6DAA6D,EAE7D,EAAE,CACH;AAEA,qBAAA,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;AAEnB,qBAAA,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CACvB;qBACE,cAAc,CAAC,OAAO,EAAE;AACvB,oBAAA,KAAK,EAAE,UAAU;AAEjB,oBAAA,QAAQ,EAAE,KAAK;AAEf,oBAAA,qBAAqB,EAAE,CAAC;AAExB,oBAAA,qBAAqB,EAAE,CAAC;iBACzB,CAAC;AAED,qBAAA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAClB;SACF;AACD,QAAA,OAAO,mBAAmB,GAAG,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;KAC1E;AAED,IAAA,4CAA4C,CAAC,KAAU,EAAA;QACrD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,OAAO,KAAK;AAET,iBAAA,QAAQ,EAAE;AAEV,iBAAA,OAAO,CACN,6DAA6D,EAE7D,EAAE,CACH;AAEA,iBAAA,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;AAEnB,iBAAA,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SACxB;aAAM;AACL,YAAA,OAAO,KAAK,CAAC;SACd;KACF;wGAlTU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCsBY,gBAAgB,CAAA;AACR,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;IAC1D,UAAU,GAAQ,IAAI,CAAC;AACvB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAE/C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;IAC3B,WAAW,GAAQ,IAAI,CAAC;IACxB,kBAAkB,GAAO,IAAI,CAAC;;AAGpB,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;IAExC,QAAQ,GAAA;QACP,IAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,EAAC;AAC7B,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,GAAG,KAAK,CAAC;SACpC;AACD,QAAA,IAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,iBAAiB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,EAAC;YAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC;YAC9D,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;KACF;AAED,IAAA,UAAU,CAAC,GAAQ,EAAA;QACjB,IAAI,CAAC,UAAU,GAAC,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;KACzE;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,GAAG,GAAS,IAAI,CAAC;QACrB,IAAI,GAAG,GAAQ,IAAI,CAAC;AACpB,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;AAClO,YAAA,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACnD,YAAA,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SACpD;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;AACpO,YAAA,IAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE;gBACjD,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3E;SACF;QACD,IAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,0BAA0B,EAAE;;YAEvD,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAChD,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;YAClC,KAAK,GAAG,YAAY,CAAC;SACtB;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,iBAAiB,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;AAC5F,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;AAED,IAAA,WAAW,CAAC,KAAW,EAAA;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB,GAAA;QACd,IAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,EAAC;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;KACvF;AAED,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAC;YACnB,IAAI,CAAC,UAAU,GAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACtF;KACF;wGA9EU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EARhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,gBAAgB;AAC7B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECxBH,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,sjHAqFA,67GD1EI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,kBAAkB,EAClB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,uNACZ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAnB5B,SAAS;+BACE,aAAa,EAAA,UAAA,EACX,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAkB,gBAAA;AAC7B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,sjHAAA,EAAA,MAAA,EAAA,CAAA,s4GAAA,CAAA,EAAA,CAAA;sFAcS,IAAI,EAAA,CAAA;sBAAb,MAAM;;;ME1BI,eAAe,CAAA;AACP,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;AAC1D,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGAFxB,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ5B,whCAwBA,EAAA,MAAA,EAAA,CAAA,oxBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,whCAAA,EAAA,MAAA,EAAA,CAAA,oxBAAA,CAAA,EAAA,CAAA;;;MEQZ,0BAA0B,CAAA;AAS3B,IAAA,EAAA,CAAA;AACA,IAAA,GAAA,CAAA;AACkB,IAAA,QAAA,CAAA;AAVC,IAAA,QAAQ,CAAoB;IAEjD,cAAc,GAAuB,IAAI,CAAC;IAC1C,WAAW,GAAQ,IAAI,CAAC;IACxB,WAAW,GAAQ,IAAI,CAAC;AACxB,IAAA,OAAO,aAAa,GAAG,KAAK,CAAC;AAErC,IAAA,WAAA,CACU,EAAc,EACd,GAAqB,EACH,QAAkB,EAAA;QAFpC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;QACH,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAEO,YAAY,GAAA;;AAElB,QAAA,IAAI,0BAA0B,CAAC,aAAa,EAAE;YAC5C,OAAO;SACR;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACnD,QAAA,KAAK,CAAC,EAAE,GAAG,gBAAgB,CAAC;QAC5B,KAAK,CAAC,WAAW,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0DnB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACtC,QAAA,0BAA0B,CAAC,aAAa,GAAG,IAAI,CAAC;KACjD;IAGD,WAAW,GAAA;;AAET,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;;AAGD,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,OAAO;SACR;;AAGD,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAK;YACjC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,EAAE;;gBAEzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACzD,gBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,kBAAkB,CAAC;;gBAGnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;;AAGjD,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChE,YAAY,CAAC,aAAa,EAAE,CAAC;gBAC7B,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAS,KAAI;AAC3C,oBAAA,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AACzC,iBAAC,CAAC,CAAC;;gBAGH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;gBAC3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAChD,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC;AAC1D,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC;gBACzD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;gBACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;;gBAGxC,qBAAqB,CAAC,MAAK;AACzB,oBAAA,IAAI,IAAI,CAAC,cAAc,EAAE;;AAEvB,wBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9D,wBAAA,IAAI,WAAmB,CAAC;wBAExB,IAAI,UAAU,EAAE;AACd,4BAAA,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;AACnD,4BAAA,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;yBAClD;6BAAM;;AAEL,4BAAA,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;yBAC5C;;wBAGD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;AAChE,wBAAA,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;AACrD,wBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAA,EAAG,aAAa,CAAA,EAAA,CAAI,CAAC,CAAC;qBACtF;AACH,iBAAC,CAAC,CAAC;aACJ;SACF,EAAE,GAAG,CAAC,CAAC;KACT;IAGD,WAAW,GAAA;;AAET,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;;AAGD,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAK;AACjC,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpD,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,gBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;aAClB;SACF,EAAE,EAAE,CAAC,CAAC;KACR;IAED,WAAW,GAAA;;AAET,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChC;AACD,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChC;;AAED,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpD,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;KACF;AAvLU,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4EAW3B,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAXP,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,YAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;0BAYI,MAAM;2BAAC,QAAQ,CAAA;yCAVW,QAAQ,EAAA,CAAA;sBAApC,KAAK;uBAAC,oBAAoB,CAAA;gBAwF3B,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,YAAY,CAAA;gBAiE1B,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,YAAY,CAAA;;;MCrIf,eAAe,CAAA;AAET,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;AACxD,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IAEpC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAC/C,IAAA,UAAU,GAAS;AACjB,QAAA,gBAAgB,EAAE,IAAI;KACvB,CAAC;AAEF,IAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACzB,IAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;AAChB,IAAA,eAAe,GAAG,IAAI,YAAY,EAAO,CAAC;AAC1C,IAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;AAO9C,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,QAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,gBAAgB,CAAC,KAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACxC;IAED,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAC5C;AAEC,IAAA,cAAc,CAAC,MAAe,EAAA;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC;QACvC,IAAI,MAAM,EAAE;AACV,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,yCAAyC,EAAE,GAAG,EAAE,qBAAqB,IAAI,MAAM,CAAC,CAAC;AACjH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mCAAmC,EAAE,GAAG,EAAE,mBAAmB,IAAI,MAAM,CAAC,CAAC;AACzG,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oCAAoC,EAAE,GAAG,EAAE,wBAAwB,IAAI,KAAK,CAAC,CAAC;AAC9G,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,+CAA+C,EAAE,GAAG,EAAE,0BAA0B,IAAI,MAAM,CAAC,CAAC;AAC5H,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,yCAAyC,EAAE,GAAG,EAAE,wBAAwB,IAAI,MAAM,CAAC,CAAC;AACpH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAA0C,EAAE,GAAG,EAAE,6BAA6B,IAAI,KAAK,CAAC,CAAC;AACzH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAA0C,EAAE,GAAG,EAAE,6BAA6B,IAAI,SAAS,CAAC,CAAC;AAC7H,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4CAA4C,EAAE,GAAG,EAAE,+BAA+B,IAAI,SAAS,CAAC,CAAC;SAClI;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,+CAA+C,CAAC,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,4CAA4C,CAAC,CAAC;SAClF;KACF;wGAvEY,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EARb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,eAAe;AAC5B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCL,2jHA6DA,ED9CI,MAAA,EAAA,CAAA,opPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,+9BACf,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,qBAAqB,EACrB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,mWACX,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,kNACnB,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYjB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAxB3B,SAAS;+BACE,YAAY,EAAA,UAAA,EACV,IAAI,EACP,OAAA,EAAA;wBACP,eAAe;wBACf,kBAAkB;wBAClB,qBAAqB;wBACrB,cAAc;wBACd,WAAW;wBACX,eAAe;wBACf,YAAY;wBACZ,mBAAmB;wBACnB,0BAA0B;qBAC3B,EAGY,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAiB,eAAA;AAC5B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,2jHAAA,EAAA,MAAA,EAAA,CAAA,opPAAA,CAAA,EAAA,CAAA;sFAeO,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MExBI,cAAc,CAAA;AACN,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;IAC1D,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAC/C,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,UAAU,GAAQ,IAAI,CAAC;AAEvB,IAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACzB,IAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;AAEhB,IAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;IAE3C,QAAQ,GAAA;;KAEP;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,QAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5B;AAED,IAAA,kBAAkB,CAAC,KAAqB,EAAA;AACtC,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3B,QAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;KAC/C;IAED,WAAW,CAAC,KAAU,EAAE,KAAY,EAAA;QAClC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE;AAC7E,YAAA,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChD;AACD,QAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KAC9D;wGAnDU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EARZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,cAAc;AAC3B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECvBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8kIA2EA,yyCDjEI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,shBACnB,WAAW,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYF,cAAc,EAAA,UAAA,EAAA,CAAA;kBAnB1B,SAAS;+BACE,WAAW,EAAA,UAAA,EACT,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;qBACZ,EAGY,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAgB,cAAA;AAC3B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,8kIAAA,EAAA,MAAA,EAAA,CAAA,kvCAAA,CAAA,EAAA,CAAA;sFAWO,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MEfI,eAAe,CAAA;AACP,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;AAC1D,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,KAAK,CAAC;IACxB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAChD,IAAA,SAAS,GAAQ,CAAC,UAAe,KAAI,GAAG,CAAC;AACzC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;;AAGjB,IAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;AAE3C,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;;KAEpC;AAED,IAAA,cAAc,CAAC,KAAU,EAAA;QACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC;;QAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACnC;wGAjCU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EARf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBH,ksFAwDA,EAAA,MAAA,EAAA,CAAA,2yDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhDY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,qIAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWhC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,SAAS;+BACE,YAAY,EAAA,UAAA,EACV,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAGjC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC9C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,ksFAAA,EAAA,MAAA,EAAA,CAAA,2yDAAA,CAAA,EAAA,CAAA;sFAWS,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MEjBI,oBAAoB,CAAA;AAUX,IAAA,SAAA,CAAA;AATpB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAO,CAAC;AAC9B,IAAA,IAAI,GAAG,KAAK,CAAc,IAAI,CAAC,CAAC;AAEtB,IAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE5C,WAAW,GAAQ,EAAE,CAAC;IACtB,aAAa,GAAQ,EAAE,CAAC;IACxB,WAAW,GAAQ,EAAE,CAAC;IACtB,WAAW,GAA2B,IAAI,CAAC;AAC3C,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;KAAI;IAC/C,OAAO,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;KACxD;IAEA,KAAK,GAAA;QACJ,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC;KACzD;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;KACvD;IAED,aAAa,GAAA;AACX,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAC3D;IAED,QAAQ,GAAA;QACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAED,WAAW,GAAA;QACT,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;AAClC,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACzC;KACF;IAED,eAAe,GAAA;AACf,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW;YAAE,OAAO;AAEzB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAChC,YAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAI;gBACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,MAAa,CAAC;AAC7C,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SACnC;AAAM,aAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACtF;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACxB,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAChC,YAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAI;gBACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,MAAa,CAAC;AAC7C,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAChC;KACF;AAEC,IAAA,eAAe,CAAC,KAAY,EAAA;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;KACF;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB;IAED,YAAY,GAAA;AACV,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAE5B,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAEhC,QAAA,UAAU,CAAC,MAAM,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;KACjD;wGAtFU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAI,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXjC,6xaAsOM,EAAA,MAAA,EAAA,CAAA,03JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED/NM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAChB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,6xaAAA,EAAA,MAAA,EAAA,CAAA,03JAAA,CAAA,EAAA,CAAA;mFAQb,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MESI,eAAe,CAAA;AAEP,IAAA,aAAA,CAAA;AAA6C,IAAA,MAAA,CAAA;AACzD,IAAA,QAAA,CAAA;IAFP,qBAAqB,GAAG,KAAK,EAAO,CAAC;AACrC,IAAA,WAAA,CAAmB,aAAoC,EAAS,MAAsB,EAC/E,QAA6B,EAAA;QADjB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;QAAS,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QAC/E,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;KAAG;AACvC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAEvB,IAAA,SAAS,CAAgC;AAEvD,IAAA,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;AAC1C,IAAA,WAAW,GAAG,IAAI,YAAY,EAAiC,CAAC;AAChE,IAAA,WAAW,GAAG,IAAI,YAAY,EAAiC,CAAC;IACnE,cAAc,GAA8C,IAAI,CAAC;;IAExE,aAAa,GAAW,EAAE,CAAC;IAC3B,KAAK,GAAQ,IAAI,CAAC;AAClB,IAAA,SAAS,GAAQ,CAAC,KAAU,KAAI,GAAG,CAAC;AACpC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;IAC3B,QAAQ,GAAQ,KAAK,CAAC;;AAGtB,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;SAC1B;aAAM,IAAI,GAAG,EAAE;AACd,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;SAC5B;aAAM;AACL,YAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;KACF;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,gBAAgB,CAAC,UAAe,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;;AAGD,IAAA,cAAc,CAAC,KAAU,EAAA;AACvB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE;gBAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACvB;AACD,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5C;IAED,UAAU,CAAC,KAAU,EAAE,KAAa,EAAA;QAClC,IAAI,KAAK,EAAE;YACX,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;QACC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACpC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SAC3E;AACD,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5C;IAED,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;KACtC;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACtC;KACF;IAEH,WAAW,CAAC,IAAU,EAAE,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,oBAAoB,EAAE;YAC1D,mBAAmB,EAAE,IAAI,CAAC,QAAQ;AACnC,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;YACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;KACtD;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC;AAC3D,YAAA,IAAI,OAAO,CAAC,UAAU,EAAE;AACtB,gBAAA,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACrD,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;wGAnHU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EARf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,eAAe;AAC5B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBH,8yHA+EA,EDrEI,MAAA,EAAA,CAAA,gjDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,mnBACX,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,eAAe,EAAA,UAAA,EAAA,CAAA;kBAlB3B,SAAS;+BACE,YAAY,EAAA,UAAA,EACV,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAiB,eAAA;AAC5B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,8yHAAA,EAAA,MAAA,EAAA,CAAA,gjDAAA,CAAA,EAAA,CAAA;qJASuB,SAAS,EAAA,CAAA;sBAAhC,SAAS;uBAAC,WAAW,CAAA;gBAEZ,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;;;AExBI,MAAA,cAAc,GAAG;AAC5B,IAAA,KAAK,EAAE;AACL,QAAA,SAAS,EAAE;YACT,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,cAAc;YACd,aAAa;AACd,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,aAAa,EAAE,aAAa;AAC5B,QAAA,kBAAkB,EAAE,WAAW;AAChC,KAAA;EACD;MAsBW,YAAY,CAAA;AASJ,IAAA,OAAA,CAAA;AARnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AACrC,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;AAC/B,IAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AACtC,IAAA,YAAY,GAAG,IAAI,YAAY,EAAO,CAAC;AACvC,IAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AAEhD,IAAA,WAAA,CAAmB,OAA8B,EAAA;QAA9B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;KAAI;AAErD,IAAA,kBAAkB,CAAC,KAAU,EAAA;AAC7B,QAAA,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QACvB,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACnE,YAAA,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnE;AAAM,aAAA,IACL,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,YAAA,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrC;AACA,YAAA,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvE;AAAM,aAAA,IACL,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AACpB,YAAA,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,YAAA,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrC;AACA,YAAA,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvE;KACF;AAMD,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;AAED,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACzD,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AACzC,gBAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;aACzB;SACF;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvB;;AAID,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,KAAK,CAAC,KAAK,EAAE;AACf,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;AACjC,YAAA,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;AAC/B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;AAGhC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACrB,cAAc,EAAE,IAAI,CAAC,UAAU;AAC/B,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,MAAM,EAAE,YAAY;AACrB,aAAA,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACxC;KACF;wGAjFU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,EAhBV,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,YAAY;AACzB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACH,YAAA;AACE,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,QAAQ,EAAE,iBAAiB;AAC3B,gBAAA,IAAI,EAAE,EAAE;AACT,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE;AACxD,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/CH,4sHA4FA,EAAA,MAAA,EAAA,CAAA,85GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1DY,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAiB3G,YAAY,EAAA,UAAA,EAAA,CAAA;kBApBxB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,cACP,IAAI,EAAA,OAAA,EACP,CAAC,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAC1G,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAc,YAAA;AACzB,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACH,wBAAA;AACE,4BAAA,OAAO,EAAE,WAAW;AACpB,4BAAA,QAAQ,EAAE,iBAAiB;AAC3B,4BAAA,IAAI,EAAE,EAAE;AACT,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE;AACxD,qBAAA,EAAA,QAAA,EAAA,4sHAAA,EAAA,MAAA,EAAA,CAAA,85GAAA,CAAA,EAAA,CAAA;sFAQS,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MEnCM,kBAAkB,CAAA;AACZ,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;IAC1D,WAAW,GAAQ,KAAK,CAAC;IACzB,cAAc,GAAQ,IAAI,CAAC;IAC3B,UAAU,GAAQ,IAAI,CAAC;IACvB,gBAAgB,GAAQ,IAAI,CAAC;IAC7B,eAAe,GAAK,EAAE,CAAC;AACvB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAE/C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;;AAGjB,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;IAEzC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;KACnD;AAED,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvB;AACD,IAAA,iBAAiB,CAAC,KAAU,EAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,OAAO;SACR;QACC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;AACxD,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAW,KACrE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACjD,CAAC;KACH;;IAGH,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;SACnD;KACF;wGA/DU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EARlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,kBAAkB;AAC/B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBL,2oJA0GA,EAAA,MAAA,EAAA,CAAA,+xKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9FY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,EAAE,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,+7BAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWjH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAdhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cACd,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,CAAC,EAGlH,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAoB,kBAAA;AAC/B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,2oJAAA,EAAA,MAAA,EAAA,CAAA,+xKAAA,CAAA,EAAA,CAAA;sFAgBO,IAAI,EAAA,CAAA;sBAAb,MAAM;;;ME1BI,aAAa,CAAA;AACL,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;AAC1D,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGAFxB,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX1B,mkCAqBA,EAAA,MAAA,EAAA,CAAA,uxBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EACR,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,mkCAAA,EAAA,MAAA,EAAA,CAAA,uxBAAA,CAAA,EAAA,CAAA;;;MEeZ,iBAAiB,CAAA;AACT,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;AAC1D,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IAEnC,UAAU,GAAQ,KAAK,CAAC;IACxB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AACrC,IAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;AAC3C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAA;;AAEzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC;;QAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC;AACzC,QAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gCAAgC,EAAE,GAAG,EAAE,gBAAgB,IAAI,SAAS,CAAC,CAAC;AACtG,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,kCAAkC,EAAE,GAAG,EAAE,eAAe,IAAI,SAAS,CAAC,CAAC;AACvG,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAA0C,EAAE,GAAG,EAAE,YAAY,IAAI,KAAK,CAAC,CAAC;AACxG,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC;AAC/E,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC;AAClF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,EAAE,UAAU,IAAI,QAAQ,CAAC,CAAC;AACrF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC;SAC9E;aAAM;AACL,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,6BAA6B,EAAE,GAAG,EAAE,gBAAgB,IAAI,MAAM,CAAC,CAAC;AAChG,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,EAAE,eAAe,IAAI,MAAM,CAAC,CAAC;AAC3F,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iCAAiC,EAAE,GAAG,EAAE,YAAY,IAAI,KAAK,CAAC,CAAC;SAChG;KACA;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;wGAnDU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EARf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,iBAAiB;AAC9B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECpBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,m4GAsDA,6zED3CY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAG,iBAAiB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,uhBAAE,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWhF,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAd7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EACZ,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAG,iBAAiB,EAAE,mBAAmB,EAAE,0BAA0B,CAAC,EAG/E,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAmB,iBAAA;AAC9B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,m4GAAA,EAAA,MAAA,EAAA,CAAA,swEAAA,CAAA,EAAA,CAAA;sFAQO,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MELI,iBAAiB,CAAA;AACT,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;AAC1D,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,yBAAyB,GAAS,KAAK,EAAO,CAAC;;IAG/C,aAAa,GAAQ,IAAI,CAAC;AAC1B,IAAA,SAAS,GAAQ,CAAC,aAAkB,KAAI,GAAG,CAAC;AAC5C,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;;AAGjB,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;;AAGzC,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;KAC1B;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;IAED,gBAAgB,CAAE,UAAmB,EAAA,GAAU;AAE/C,IAAA,gBAAgB,CAAC,KAAU,EAAA;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACpC;AAED,IAAA,cAAc,CAAC,KAAW,EAAA;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvB;wGApCU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EARjB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,iBAAiB;AAC9B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBH,s8EAwDA,ED/CI,MAAA,EAAA,CAAA,moCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,syBACnB,WAAW,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYF,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAlB7B,SAAS;+BACE,cAAc,EAAA,UAAA,EACZ,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;qBACZ,EAGU,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAmB,iBAAA;AAC9B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,s8EAAA,EAAA,MAAA,EAAA,CAAA,moCAAA,CAAA,EAAA,CAAA;sFAaS,IAAI,EAAA,CAAA;sBAAb,MAAM;;;MEtBI,YAAY,CAAA;AAKN,IAAA,aAAA,CAAA;AAJnB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;AAC1B,IAAA,mBAAmB,GAAG,IAAI,YAAY,EAAU,CAAC;IAC3D,aAAa,GAAG,CAAC,CAAC;AAElB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;IAE1D,QAAQ,GAAA;QACJ,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;KACnD;AACC,IAAA,WAAW,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;KACjD;wGAbY,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,ECZzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,05BAkBA,EDVY,MAAA,EAAA,CAAA,0sCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,2uBAAC,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIzB,YAAY,EAAA,UAAA,EAAA,CAAA;kBAPxB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,cACP,IAAI,EAAA,OAAA,EACP,CAAC,aAAa,EAAC,YAAY,CAAC,EAAA,QAAA,EAAA,05BAAA,EAAA,MAAA,EAAA,CAAA,0sCAAA,CAAA,EAAA,CAAA;sFAM7B,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;;;MEiBM,qBAAqB,CAAA;AACb,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAI;AAC3D,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,cAAc,GAAQ,IAAI,CAAC;IAC3B,eAAe,GAAK,EAAE,CAAC;IACvB,UAAU,GAAQ,EAAE,CAAC;IACrB,yBAAyB,GAAS,KAAK,EAAO,CAAC;;AAGrC,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;AAC/B,IAAA,gBAAgB,GAAG,IAAI,YAAY,EAAO,CAAC;AAC3C,IAAA,YAAY,GAAG,IAAI,YAAY,EAAO,CAAC;AACvC,IAAA,cAAc,GAAG,IAAI,YAAY,EAAO,CAAC;IAGnD,QAAQ,GAAA;QACN,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;;QAElD,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE;YACjF,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;AACnE,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5B,aAAC,CAAC,CAAC;SACJ;KACF;AAEC,IAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACzB,IAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;AAE1B,IAAA,UAAU,CAAC,KAAU,EAAA;QACnB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;;YAEzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE;AAC5C,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B;iBACI;gBACH,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,GAAQ,KAC/C,GAAG,CAAC,KAAK,KAAK,KAAK,CACpB,CAAC;gBACF,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,GAAQ,KAC3C,GAAG,CAAC,KAAK,KAAK,KAAK,CACpB,CAAC;iBACH;gBACD,IAAI,MAAM,EAAE;AACV,oBAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAC/B,oBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;iBAC9B;qBAAM;AACL,oBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AACnC,oBAAA,IAAI,CAAC,cAAc,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;iBACjE;aACF;SACF;aAAM;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QACD,IAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YACxD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;;KAEpC;AAED,IAAA,aAAa,CAAC,KAAU,EAAA;AAEtB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YACxD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;;AAGD,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAW,KAC5D,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CACnD,CAAC;QAEF,IAAI,cAAc,EAAE;AAClB,YAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,YAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACrC;aAAM;AACL,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtB;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACjD;AAED,IAAA,gBAAgB,CAAC,MAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;;AAGjB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACtC;AAED,IAAA,MAAM,CAAC,KAAW,EAAA;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvB;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACrD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,OAAO;SACR;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AAClD,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAW,KACrE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACjD,CAAC;KACH;AAED,IAAA,SAAS,GAAG,CAAC,MAAW,KAAY;AAClC,QAAA,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;AAC5E,KAAC,CAAA;;IAGD,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;KAC1E;;IAGD,gBAAgB,GAAA;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;AAGD,IAAA,QAAQ,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;KACvC;AAEH,IAAA,6BAA6B,CAAC,KAAW,EAAA;QACrC,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;AACvC,QAAA,IAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;;AAGD,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAW,KAC5D,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAClE,CAAC;QAEF,IAAI,cAAc,EAAE;AAClB,YAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,YAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACrC;aAAM;AACL,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACnD;IAED,OAAO,GAAA;QACL,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;wGA7KU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EARrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BL,w7FA8DA,EAAA,MAAA,EAAA,CAAA,o9OAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjDI,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,qBAAqB,EACrB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,8BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,20BACX,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAtBjC,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EACP,OAAA,EAAA;wBACP,kBAAkB;wBAClB,YAAY;wBACZ,cAAc;wBACd,qBAAqB;wBACrB,eAAe;wBACf,WAAW;wBACX,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAuB,qBAAA;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,w7FAAA,EAAA,MAAA,EAAA,CAAA,o9OAAA,CAAA,EAAA,CAAA;sFAWO,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;;;MEbI,uBAAuB,CAAA;AACf,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAI;AAC3D,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,cAAc,GAAQ,EAAE,CAAC;IACzB,WAAW,GAAQ,EAAE,CAAC;IACtB,cAAc,GAAQ,CAAC,CAAC;IACxB,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;;AAErC,IAAA,eAAe,GAAG,IAAI,YAAY,EAAO,CAAC;AACpD,IAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACvB,IAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;IAE1B,QAAQ,GAAA;;KAEP;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,QAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,gBAAgB,CAAC,KAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACxC;AAEH,IAAA,UAAU,CAAC,IAAS,EAAA;QACjB,MAAM,UAAU,GAAG,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACxC,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CACnC,CAAC;AACD,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/C,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CACnC,CAAC;AACF,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CACnC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAK,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACrE,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;SACrB;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC;AAC9D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IACA,iBAAiB,GAAA;QAChB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC;KAC/D;AACE,IAAA,cAAc,CAAC,MAAe,EAAA;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC;QACvC,IAAI,MAAM,EAAE;AACV,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,yCAAyC,EAAE,GAAG,EAAE,qBAAqB,IAAI,MAAM,CAAC,CAAC;AACjH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mCAAmC,EAAE,GAAG,EAAE,mBAAmB,IAAI,MAAM,CAAC,CAAC;AACzG,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oCAAoC,EAAE,GAAG,EAAE,wBAAwB,IAAI,KAAK,CAAC,CAAC;AAC9G,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,+CAA+C,EAAE,GAAG,EAAE,0BAA0B,IAAI,MAAM,CAAC,CAAC;AAC5H,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,yCAAyC,EAAE,GAAG,EAAE,wBAAwB,IAAI,MAAM,CAAC,CAAC;AACpH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAA0C,EAAE,GAAG,EAAE,6BAA6B,IAAI,KAAK,CAAC,CAAC;AACzH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAA0C,EAAE,GAAG,EAAE,6BAA6B,IAAI,SAAS,CAAC,CAAC;AAC7H,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4CAA4C,EAAE,GAAG,EAAE,+BAA+B,IAAI,SAAS,CAAC,CAAC;SAClI;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,+CAA+C,CAAC,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,4CAA4C,CAAC,CAAC;SAClF;KACF;AAEC,IAAA,SAAS,CAAC,MAAY,EAAA;QACpB,IAAI,aAAa,GAAS,MAAM,CAAC;AACjC,QAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE;YACjE,IAAI,WAAW,GAAS,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,SAAe,KAAK,SAAS,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC;YACzG,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;AACzH,gBAAA,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;aACrC;SACF;AACD,QAAA,OAAO,aAAa,CAAC;KACtB;wGArGU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EARvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAAA;AACL,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,uBAAuB;AACpC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BP,wlIA2FA,EAAA,MAAA,EAAA,CAAA,67SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9EI,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,wEAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBArBnC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA;wBACP,eAAe;wBACf,kBAAkB;wBAClB,YAAY;wBACZ,cAAc;wBACd,aAAa;wBACb,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACL,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAyB,uBAAA;AACpC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,wlIAAA,EAAA,MAAA,EAAA,CAAA,67SAAA,CAAA,EAAA,CAAA;sFAWK,eAAe,EAAA,CAAA;sBAAxB,MAAM;;;MEjBI,sBAAsB,CAAA;AAQd,IAAA,oBAAA,CAAA;AAPnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,WAAW,GAAQ,IAAI,CAAC;IACxB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAC7C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AAC1C,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,WAAA,CAAmB,oBAA2C,EAAA;QAA3C,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAuB;KAAI;AAElE,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;YAC9J,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;SAC5C;aAAM;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;YAAA,CAAC;SAC5I;KACF;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,0BAA0B,EAAE;;AAEvD,YAAA,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC7D,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;AAClC,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;SACnC;AACD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9J,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,cAAc,CAAC,KAAsB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAEO,SAAS,GAAA;AACf,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU;YAChJ,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;AACF,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KACvB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAEF,IAAA,cAAc,CAAC,MAAe,EAAA;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC;QACvC,IAAI,MAAM,EAAE;AACV,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,yCAAyC,EAAE,GAAG,EAAE,qBAAqB,IAAI,MAAM,CAAC,CAAC;AACjH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mCAAmC,EAAE,GAAG,EAAE,mBAAmB,IAAI,MAAM,CAAC,CAAC;AACzG,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oCAAoC,EAAE,GAAG,EAAE,wBAAwB,IAAI,KAAK,CAAC,CAAC;AAC9G,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,+CAA+C,EAAE,GAAG,EAAE,0BAA0B,IAAI,MAAM,CAAC,CAAC;AAC5H,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,yCAAyC,EAAE,GAAG,EAAE,wBAAwB,IAAI,MAAM,CAAC,CAAC;AACpH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAA0C,EAAE,GAAG,EAAE,6BAA6B,IAAI,KAAK,CAAC,CAAC;AACzH,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAA0C,EAAE,GAAG,EAAE,6BAA6B,IAAI,SAAS,CAAC,CAAC;AAC7H,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4CAA4C,EAAE,GAAG,EAAE,+BAA+B,IAAI,SAAS,CAAC,CAAC;SAClI;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,+CAA+C,CAAC,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,4CAA4C,CAAC,CAAC;SAClF;KACF;wGA3EY,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAR,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EARtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECpBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ihHAmFA,EDxEY,MAAA,EAAA,CAAA,28OAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,mrBAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAkB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWrG,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAClB,IAAI,EAAA,OAAA,EACP,CAAC,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAGtG,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAwB,sBAAA;AACnC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,ihHAAA,EAAA,MAAA,EAAA,CAAA,28OAAA,CAAA,EAAA,CAAA;;;MESQ,mBAAmB,CAAA;AAChC,IAAA,WAAA,GAAA,GAAe;AACb,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAChD,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;wGA1BU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EARnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,mBAAmB;AAChC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BL,8/GAoFA,EAAA,MAAA,EAAA,CAAA,4hIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDxEI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBArB/B,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,iBAAiB;wBACjB,eAAe;wBACf,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAqB,mBAAA;AAChC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,8/GAAA,EAAA,MAAA,EAAA,CAAA,4hIAAA,CAAA,EAAA,CAAA;;;MEDQ,sBAAsB,CAAA;AACd,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;AAC1D,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAC/C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAC3B,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,cAAc,KAAK,SAAS;YAC3D,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;KACnD;;AAGS,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;;AAGzC,IAAA,UAAU,CAAC,GAAQ,EAAA;QACjB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;AACrC,YAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;AAChC,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC5B;aAAM;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;KACF;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;AAClC,QAAA,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;AACnD,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACnD,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,YAAA,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;gBACjE,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAC3E,gBAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CACvD,QAAQ,EACR,cAAc,EACd,cAAc,CACf,CAAC;AACF,gBAAA,YAAY,CAAC,KAAK,GAAG,cAAc,CAAC;gBACpC,UAAU,CAAC,MAAK;AACd,oBAAA,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;iBACtE,EAAE,CAAC,CAAC,CAAC;aACP;AACD,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACjC;aAAM;YACL,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU;AACtD,gBAAA,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;AACrF,YAAA,YAAY,CAAC,KAAK,GAAG,WAAW,CAAC;YACjC,UAAU,CAAC,MAAK;AACd,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;AACnE,gBAAA,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;aAC9D,EAAE,CAAC,CAAC,CAAC;SACP;KACF;AAED,IAAA,WAAW,CAAC,KAAW,EAAA;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;AACD,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC5B,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAA0B,CAAC;AACtD,QAAA,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC;AACxD,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,cAAc,GAAG,CAAC,EAAE;YACnD,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;gBACrC,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,gBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,QAAQ,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACnD,oBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;oBAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACtH,oBAAA,YAAY,CAAC,KAAK,GAAG,cAAc,CAAC;oBACpC,UAAU,CAAC,MAAK;AACd,wBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;AACrD,wBAAA,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;qBAC5D,EAAE,CAAC,CAAC,CAAC;AAEN,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACjC;aACF;SACF;AACD,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE;AAC3D,YAAA,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,GAAG,EAAE;gBACjC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;AACrC,oBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;oBAC1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC5C,IAAI,QAAQ,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACnD,wBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;wBAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACtH,wBAAA,YAAY,CAAC,KAAK,GAAG,cAAc,CAAC;wBACpC,UAAU,CAAC,MAAK;AACd,4BAAA,YAAY,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;yBAChE,EAAE,CAAC,CAAC,CAAC;AACN,wBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACjC;iBACF;aACF;SACF;KACF;;;;;;;;;;;;;;;AAiBD,IAAA,0BAA0B,CAAC,QAAgB,EAAE,QAAgB,EAAE,iBAAyB,EAAA;AACtF,QAAA,IAAI,iBAAiB,KAAK,CAAC,EAAE;AAC3B,YAAA,OAAO,CAAC,CAAC;SACV;AACD,QAAA,IAAI,iBAAiB,IAAI,QAAQ,CAAC,MAAM,EAAE;YACxC,OAAO,QAAQ,CAAC,MAAM,CAAC;SACxB;QACD,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAC3B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;AAC1C,YAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzB,YAAA,IAAI,IAAI,KAAK,GAAG,EAAE;AAChB,gBAAA,kBAAkB,EAAE,CAAC;aACtB;SACF;QACD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,YAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzB,YAAA,IAAI,IAAI,KAAK,GAAG,EAAE;AAChB,gBAAA,UAAU,EAAE,CAAC;AACb,gBAAA,IAAI,UAAU,KAAK,kBAAkB,EAAE;AACrC,oBAAA,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;oBACpB,MAAM;iBACP;aACF;AACD,YAAA,IAAI,UAAU,GAAG,kBAAkB,EAAE;AACnC,gBAAA,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;aACrB;SACF;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC/C;;IAGD,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,EAAE,CAAC;AAChC,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;YAC5D,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACnE;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;;AAGD,IAAA,oBAAoB,CAAC,MAAuB,EAAA;AAC1C,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,EAAE;AAAE,YAAA,OAAO,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC;AAC7F,QAAA,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,CAAC;AAAE,YAAA,OAAO,GAAG,CAAC;AACpD,QAAA,IAAI,SAAS,IAAI,QAAQ,EAAE;AACzB,YAAA,MAAM,MAAM,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,CAAA,EAAA,EAAK,MAAM,CAAA,GAAA,CAAK,CAAC;SACzB;AAAM,aAAA,IAAI,SAAS,IAAI,MAAM,EAAE;AAC9B,YAAA,MAAM,KAAK,GAAG,CAAC,SAAS,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAA,EAAA,EAAK,KAAK,CAAA,EAAA,CAAI,CAAC;SACvB;AAAM,aAAA,IAAI,SAAS,IAAI,IAAI,EAAE;AAC5B,YAAA,MAAM,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,CAAA,EAAA,EAAK,SAAS,CAAA,EAAA,CAAI,CAAC;SAC3B;aAAM;YACL,OAAO,CAAA,EAAA,EAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC;KACF;;IAGD,kBAAkB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,4CAA4C,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KACpH;wGA5LU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EARtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECxBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yyGA2EA,0gHDhEI,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,0WACd,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAnBlC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,kBAAkB;wBAClB,YAAY;wBACZ,cAAc;wBACd,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAwB,sBAAA;AACnC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,yyGAAA,EAAA,MAAA,EAAA,CAAA,m9GAAA,CAAA,EAAA,CAAA;sFAeO,IAAI,EAAA,CAAA;sBAAb,MAAM;;;MEVI,sBAAsB,CAAA;AACjC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAC/C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;;AAEjB,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;AACzC,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;wGA3BU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EARtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BH,yvHA+DM,EAAA,MAAA,EAAA,CAAA,miIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnDF,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYjB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBArBlC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,kBAAkB;wBAClB,YAAY;wBACZ,cAAc;wBACd,iBAAiB;wBACjB,mBAAmB;wBACnB,0BAA0B;qBAC3B,EAGU,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAwB,sBAAA;AACnC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,yvHAAA,EAAA,MAAA,EAAA,CAAA,miIAAA,CAAA,EAAA,CAAA;8BASS,IAAI,EAAA,CAAA;sBAAb,MAAM;;;MEVI,qBAAqB,CAAA;IAChC,WAAW,GAAQ,KAAK,CAAC;AACzB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAC/C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;wGA1BU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EARrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECxBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0lIAqGA,ivID1FI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,kBAAkB,EAClB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,uNACZ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAnBjC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAuB,qBAAA;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,0lIAAA,EAAA,MAAA,EAAA,CAAA,0rIAAA,CAAA,EAAA,CAAA;;;MEGQ,qBAAqB,CAAA;IAChC,WAAW,GAAQ,KAAK,CAAC;AACzB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IAClC,UAAU,GAAQ,IAAI,CAAC;IACxB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAC/C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;wGA1BU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EARrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECzBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wwHA+FA,EDpFI,MAAA,EAAA,CAAA,owIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,8BAClB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBApBjC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,iBAAiB;wBACjB,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAuB,qBAAA;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,wwHAAA,EAAA,MAAA,EAAA,CAAA,owIAAA,CAAA,EAAA,CAAA;;;MEyBQ,gBAAgB,CAAA;AASR,IAAA,OAAA,CAAA;AARnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;IAC/C,GAAG,GAAS,IAAI,CAAC;AACP,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;AAC/B,IAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AACtC,IAAA,YAAY,GAAG,IAAI,YAAY,EAAO,CAAC;AACvC,IAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AAChD,IAAA,WAAA,CAAmB,OAA8B,EAAA;QAA9B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;KAAI;IAErD,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;KACF;AAED,IAAA,kBAAkB,CAAC,KAAU,EAAA;AAC3B,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B,QAAA,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QACvB,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACjE,YAAA,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvE;AAAM,aAAA,IACL,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,YAAA,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrC;AACA,YAAA,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvE;AAAM,aAAA,IACL,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AACpB,YAAA,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,YAAA,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrC;AACA,YAAA,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvE;;;;;;;;;KAYF;AACA,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACzC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,KAAK,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACjC;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,cAAc,EAAE,IAAI,CAAC,UAAU;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;AAC3B,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,YAAY;AACrB,SAAA,CAAC,CAAC;QACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACxC;AAED,IAAA,WAAW,CAAC,KAAW,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACzD,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AACzC,gBAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACvC;SACF;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvB;AAED,IAAA,YAAY,CAAC,SAAe,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;AACzB,QAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;AAC9D,QAAA,IAAI,SAAS,GAAG,CAAC,KAAK,SAAS,KAAK,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC,EAAE;AAC7D,YAAA,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;SACf;AACD,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;KAChB;wGArGU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EA7BhB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE;AACnD,oBAAA,KAAK,EAAE;AACL,wBAAA,SAAS,EAAE;4BACT,YAAY;4BACZ,YAAY;4BACZ,YAAY;4BACZ,YAAY;4BACZ,aAAa;4BACb,cAAc;4BACd,aAAa;AACd,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE;AACP,wBAAA,SAAS,EAAE,aAAa;AACxB,wBAAA,cAAc,EAAE,UAAU;AAC1B,wBAAA,aAAa,EAAE,aAAa;AAC5B,wBAAA,kBAAkB,EAAE,WAAW;AAChC,qBAAA;AACA,iBAAA;AACA,aAAA;AACC,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,gBAAgB;AAC7B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9CD,4xHAsFA,EAAA,MAAA,EAAA,CAAA,wlHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDxEI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FA+BV,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAxC5B,SAAS;+BACE,cAAc,EAAA,UAAA,EACZ,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,mBAAmB;wBACnB,gBAAgB;wBAChB,mBAAmB;AACpB,qBAAA,EAAA,SAAA,EACU,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE;AACnD,gCAAA,KAAK,EAAE;AACL,oCAAA,SAAS,EAAE;wCACT,YAAY;wCACZ,YAAY;wCACZ,YAAY;wCACZ,YAAY;wCACZ,aAAa;wCACb,cAAc;wCACd,aAAa;AACd,qCAAA;AACF,iCAAA;AACD,gCAAA,OAAO,EAAE;AACP,oCAAA,SAAS,EAAE,aAAa;AACxB,oCAAA,cAAc,EAAE,UAAU;AAC1B,oCAAA,aAAa,EAAE,aAAa;AAC5B,oCAAA,kBAAkB,EAAE,WAAW;AAChC,iCAAA;AACA,6BAAA;AACA,yBAAA;AACC,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAkB,gBAAA;AAC7B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,4xHAAA,EAAA,MAAA,EAAA,CAAA,wlHAAA,CAAA,EAAA,CAAA;sFASW,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MEhDI,uBAAuB,CAAA;AACpC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADtB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVpC,uxBAoBA,EAAA,MAAA,EAAA,CAAA,4QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EACnB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,uxBAAA,EAAA,MAAA,EAAA,CAAA,4QAAA,CAAA,EAAA,CAAA;;;MEmBZ,oBAAoB,CAAA;AAC/B,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AACtC,IAAA,MAAM,CAAM;AACX,IAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;AAC9C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IACD,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAC5C;wGA9BU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EARpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAAA;AACL,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECvBP,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,89GAmFA,+4GDzEI,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,0WACd,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAnBhC,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EACP,OAAA,EAAA;wBACP,kBAAkB;wBAClB,YAAY;wBACZ,cAAc;wBACd,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACL,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAsB,oBAAA;AACjC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,89GAAA,EAAA,MAAA,EAAA,CAAA,w1GAAA,CAAA,EAAA,CAAA;8BAMI,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACI,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MEVI,yBAAyB,CAAA;AACpC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IAClC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAC9C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AAC1C,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;;AAEjB,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;AAEzC,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,iBAAiB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACxH,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;AAED,IAAA,WAAW,CAAC,KAAW,EAAA;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;;AAElB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvB;wGA7BU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EARzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,yBAAyB;AACtC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EClBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,q3GAkFA,EDzEY,MAAA,EAAA,CAAA,iyGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,8BAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWjF,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAdrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EACtB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAGlF,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA2B,yBAAA;AACtC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,q3GAAA,EAAA,MAAA,EAAA,CAAA,iyGAAA,CAAA,EAAA,CAAA;8BASO,IAAI,EAAA,CAAA;sBAAb,MAAM;;;MEPI,wBAAwB,CAAA;IACrC,OAAO,GAAQ,EAAE,CAAC;IAChB,SAAS,GAAK,EAAE,CAAC;IACjB,WAAW,GAAK,EAAE,CAAC;AAEnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,yBAAyB,GAAS,KAAK,EAAO,CAAC;IAC/C,UAAU,GAAQ,IAAI,CAAC;AACvB,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;wGA7BU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EARxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,wBAAwB;AACrC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EClBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yvGAyEA,EDhEY,MAAA,EAAA,CAAA,u8GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,spBAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWjF,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAdpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EACrB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAGlF,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA0B,wBAAA;AACrC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,yvGAAA,EAAA,MAAA,EAAA,CAAA,u8GAAA,CAAA,EAAA,CAAA;;;MEJQ,oBAAoB,CAAA;AAChC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADxB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,ECdjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,y6EA6DA,EDrDI,MAAA,EAAA,CAAA,s1CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,qTACZ,WAAW,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKF,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;AACZ,qBAAA,EAAA,QAAA,EAAA,y6EAAA,EAAA,MAAA,EAAA,CAAA,s1CAAA,CAAA,EAAA,CAAA;;;MEIU,yBAAyB,CAAA;AACrC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADxB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,ECdtC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6kDAsCA,ED9BI,MAAA,EAAA,CAAA,qiCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,uNACZ,WAAW,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKF,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EACrB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;AACZ,qBAAA,EAAA,QAAA,EAAA,6kDAAA,EAAA,MAAA,EAAA,CAAA,qiCAAA,CAAA,EAAA,CAAA;;;MEIU,oBAAoB,CAAA;AACjC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,ECdjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,oxCA+BA,EDvBI,MAAA,EAAA,CAAA,++BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,uNACZ,WAAW,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKF,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;AACZ,qBAAA,EAAA,QAAA,EAAA,oxCAAA,EAAA,MAAA,EAAA,CAAA,++BAAA,CAAA,EAAA,CAAA;;;MEAU,kBAAkB,CAAA;AAC9B,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,wcAQA,EAAA,MAAA,EAAA,CAAA,oTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EACb,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wcAAA,EAAA,MAAA,EAAA,CAAA,oTAAA,CAAA,EAAA,CAAA;;;MEcZ,8BAA8B,CAAA;AACzC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IAClC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAChD,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnG,QAAA,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACnE,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;QAE5B,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS;gBAAE,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YACrF,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3C,SAAC,CAAC,CAAC;KACJ;IACD,wBAAwB,GAAA;AACtB,QAAA,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KACtD;wGAxCU,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,EAR9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,8BAA8B;AAC3C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EClBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ooGA+EA,m4GDtEY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,8BAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWpE,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAd1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAC3B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,EAGrE,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAgC,8BAAA;AAC3C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,ooGAAA,EAAA,MAAA,EAAA,CAAA,40GAAA,CAAA,EAAA,CAAA;;;MEIQ,4BAA4B,CAAA;IACzC,WAAW,GAAQ,KAAK,CAAC;AACvB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAChD,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnG,QAAA,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACnE,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;QAE5B,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS;gBAAE,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YACrF,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3C,SAAC,CAAC,CAAC;KACJ;IACD,wBAAwB,GAAA;AACtB,QAAA,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KACtD;wGAzCU,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAR5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,4BAA4B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBL,s/GAuFA,EAAA,MAAA,EAAA,CAAA,m3HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED5EY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWtG,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAdxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cACzB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAGvG,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA8B,4BAAA;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,s/GAAA,EAAA,MAAA,EAAA,CAAA,m3HAAA,CAAA,EAAA,CAAA;;;MEVQ,mBAAmB,CAAA;AAC9B,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADxB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVhC,srBAiBA,EAAA,MAAA,EAAA,CAAA,kdAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACf,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,srBAAA,EAAA,MAAA,EAAA,CAAA,kdAAA,CAAA,EAAA,CAAA;;;MEIZ,cAAc,CAAA;AACzB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADxB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV3B,4LAGA,EAAA,MAAA,EAAA,CAAA,4FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACT,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,4FAAA,CAAA,EAAA,CAAA;;;MEMZ,gBAAgB,CAAA;AAGV,IAAA,mBAAA,CAAA;AAFnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AACnC,IAAA,aAAa,CAAK;AAClB,IAAA,WAAA,CAAmB,mBAAwC,EAAA;QAAxC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;KAAG;IAC9D,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;KACnK;wGANY,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,ECZ7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,shBAgBA,EDRY,MAAA,EAAA,CAAA,8XAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,whBAAC,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAI5B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cACX,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAC,YAAY,CAAC,EAAA,QAAA,EAAA,shBAAA,EAAA,MAAA,EAAA,CAAA,8XAAA,CAAA,EAAA,CAAA;;;MEG7B,aAAa,CAAA;AAGL,IAAA,mBAAA,CAAA;AAFnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AACzB,IAAA,kBAAkB,GAAG,IAAI,YAAY,EAAO,CAAC;AACvD,IAAA,WAAA,CAAmB,mBAAyC,EAAA;QAAzC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAsB;KAAK;IAEjE,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,CAAC;KACjL;AAED,IAAA,UAAU,CAAC,QAAa,EAAA;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAC7D,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAK;AAClC,gBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,YAAY,GAAQ;AACtB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE;SAC1B,CAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5C;wGAtBU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX1B,2vCAsBM,EAAA,MAAA,EAAA,CAAA,i5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EACR,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,2vCAAA,EAAA,MAAA,EAAA,CAAA,i5BAAA,CAAA,EAAA,CAAA;sFAMb,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;MEHI,eAAe,CAAA;AAC5B,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADtB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV5B,olBAcA,EAAA,MAAA,EAAA,CAAA,2sBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDRY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACX,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,olBAAA,EAAA,MAAA,EAAA,CAAA,2sBAAA,CAAA,EAAA,CAAA;;;ME0BZ,0BAA0B,CAAA;AACrC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,cAAc,GAAQ,EAAE,CAAC;IACzB,WAAW,GAAQ,EAAE,CAAC;IACtB,cAAc,GAAQ,CAAC,CAAC;IACxB,UAAU,GAAQ,EAAE,CAAC;IACrB,eAAe,GAAQ,EAAE,CAAC;IAC1B,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAS,KAAK,EAAO,CAAC;IAC/C,QAAQ,GAAA;QACN,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;KAC7C;AAED,IAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACzB,IAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;AAE1B,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,QAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,gBAAgB,CAAC,KAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAU;AAE/C,IAAA,UAAU,CAAC,IAAS,EAAA;QAClB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACxC,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CACnC,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAC9C,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CACnC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACtE,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;SACrB;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC;KAC/D;IACD,iBAAiB,GAAA;QACf,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC;KAC/D;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;YAC5C,OAAO;SACR;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AAClD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAW,KAC7D,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACjD,CAAC;KACH;AAED,IAAA,cAAc,CAAC,MAAe,EAAA;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC;QACvC,IAAI,MAAM,EAAE;AACV,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,yCAAyC,EACzC,GAAG,EAAE,qBAAqB,IAAI,MAAM,CACrC,CAAC;AACF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,mCAAmC,EACnC,GAAG,EAAE,mBAAmB,IAAI,MAAM,CACnC,CAAC;AACF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,oCAAoC,EACpC,GAAG,EAAE,wBAAwB,IAAI,KAAK,CACvC,CAAC;AACF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,+CAA+C,EAC/C,GAAG,EAAE,0BAA0B,IAAI,MAAM,CAC1C,CAAC;AACF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,yCAAyC,EACzC,GAAG,EAAE,wBAAwB,IAAI,MAAM,CACxC,CAAC;AACF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,0CAA0C,EAC1C,GAAG,EAAE,6BAA6B,IAAI,KAAK,CAC5C,CAAC;AACF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,0CAA0C,EAC1C,GAAG,EAAE,6BAA6B,IAAI,SAAS,CAChD,CAAC;AACF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,4CAA4C,EAC5C,GAAG,EAAE,+BAA+B,IAAI,SAAS,CAClD,CAAC;SACH;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAChC,yCAAyC,CAC1C,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAChC,+CAA+C,CAChD,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAChC,yCAAyC,CAC1C,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAChC,0CAA0C,CAC3C,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAChC,0CAA0C,CAC3C,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAChC,4CAA4C,CAC7C,CAAC;SACH;KACF;wGAlIU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAR1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,0BAA0B;AACvC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BL,orJA6HA,EDhHI,MAAA,EAAA,CAAA,s0SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,8BAClB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EACX,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,0WACd,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAvBtC,SAAS;+BACE,yBAAyB,EAAA,UAAA,EACvB,IAAI,EACP,OAAA,EAAA;wBACP,eAAe;wBACf,kBAAkB;wBAClB,YAAY;wBACZ,cAAc;wBACd,aAAa;wBACb,WAAW;wBACX,cAAc;wBACd,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA4B,0BAAA;AACvC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,orJAAA,EAAA,MAAA,EAAA,CAAA,s0SAAA,CAAA,EAAA,CAAA;;;MELQ,yBAAyB,CAAA;IACrC,UAAU,GAAQ,IAAI,CAAC;AACtB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,yBAAyB,GAAS,KAAK,EAAO,CAAC;AAE/C,IAAA,SAAS,GAAQ,CAAC,UAAc,KAAI,GAAG,CAAC;AACxC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAC,GAAG,CAAC;KACrB;;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAS;;AAE9C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;IAED,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;wGA1BU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EARxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACR,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,yBAAyB;AACtC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECvBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,w4GAqFA,6kHD3EI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,kBAAkB,EAClB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,uNACZ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAnBrC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EACrB,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,mBAAmB;qBACpB,EAGW,SAAA,EAAA;AACR,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA2B,yBAAA;AACtC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,w4GAAA,EAAA,MAAA,EAAA,CAAA,shHAAA,CAAA,EAAA,CAAA;;;MEZQ,cAAc,CAAA;AAC3B,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX3B,wUAOA,EAAA,MAAA,EAAA,CAAA,0RAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACT,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wUAAA,EAAA,MAAA,EAAA,CAAA,0RAAA,CAAA,EAAA,CAAA;;;MEGZ,kBAAkB,CAAA;AAC/B,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,+WAQM,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACd,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,+WAAA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA,CAAA;;;MEKZ,eAAe,CAAA;AAC5B,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX5B,qSAQM,EAAA,MAAA,EAAA,CAAA,2PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDDM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,qSAAA,EAAA,MAAA,EAAA,CAAA,2PAAA,CAAA,EAAA,CAAA;;;MEOZ,cAAc,CAAA;AAYN,IAAA,oBAAA,CAAA;AAXnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AACnC,IAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,gBAAgB,GAAG,KAAK,CAAC;IACzB,aAAa,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACpC,WAAW,GAAQ,CAAC,CAAC;IACrB,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACtB,cAAc,GAAQ,EAAE,CAAC;IACzB,UAAU,GAAQ,CAAC,CAAC;IACpB,QAAQ,GAAQ,EAAE,CAAC;AACT,IAAA,iBAAiB,GAAG,IAAI,YAAY,EAAO,CAAC;AAC5C,IAAA,sBAAsB,GAAG,IAAI,YAAY,EAAO,CAAC;AAC3D,IAAA,WAAA,CAAmB,oBAA0C,EAAA;QAA1C,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAsB;KAAK;IAElE,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IACD,YAAY,CAAC,KAAU,EAAE,IAAS,EAAA;AAChC,QAAA,OAAO,KAAK,CAAC;KACd;IAED,UAAU,GAAA;QACR,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC;QAC9C,IAAI,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC;SAC9D;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE;AAC3H,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC;YACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE;gBAChF,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;AAC5C,oBAAA,IAAI,SAAS,GAAG;AACd,wBAAA,YAAY,EAAE,CAAA,EAAG,SAAS,GAAG,CAAC,CAAE,CAAA;AAChC,wBAAA,iBAAiB,EAAE,GAAG;AACtB,wBAAA,SAAS,EAAE,CAAA,EAAG,YAAY,GAAG,CAAC,CAAE,CAAA;qBACjC,CAAA;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CACrD,CAAC,MAAW,KAAK,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,CAC5D,CAAC;oBACF,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE;AACnH,wBAAA,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACrD;iBACF;aACF;AACD,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KACnH,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,CAAA,UAAA,EAAa,MAAM,GAAG,CAAC,CAAE,CAAA,CAAC,CACtH,CAAC;YAEF,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC5D,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAA;SACjD;KACF;IAED,gBAAgB,CAAC,KAAiB,EAAE,QAAgB,EAAA;QAClD,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAI,KAAK,CAAC,MAAsB,CAAC,qBAAqB,EAAE,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG;YACnB,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG;SACvC,CAAC;KACH;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,SAAc,KAAI;AACtF,YAAA,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;AAC/B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;KAC5B;AAGD,IAAA,QAAQ,CAAC,KAAoB,EAAA;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;AAED,IAAA,WAAW,CAAC,KAAgB,EAAA;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AACjD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;KAC1D;IAED,aAAa,CAAC,cAAmB,EAAE,WAAgB,EAAA;QACjD,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,SAAc,EAAE,aAAkB,KAAI;AAC7G,YAAA,IAAI,SAAS,CAAC,WAAW,KAAK,cAAc,CAAC,WAAW,IAAI,WAAW,KAAK,aAAa,EAAE;AACzF,gBAAA,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;aAC7B;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,OAAO,GAAG;YACZ,mBAAmB,EAAG,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB;YAClE,gBAAgB,EAAE,IAAI,CAAC,WAAW;AAClC,YAAA,oBAAoB,EAAE,WAAW;SAClC,CAAA;AACD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;wGAhGU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,ECd3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,woFAmDM,EDzCM,MAAA,EAAA,CAAA,y/DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,8TAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAI1F,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,cACT,IAAI,EAAA,OAAA,EACP,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,woFAAA,EAAA,MAAA,EAAA,CAAA,y/DAAA,CAAA,EAAA,CAAA;sFAc5F,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACG,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;gBA+DP,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME9DxC,wBAAwB,CAAA;IACnC,UAAU,GAAQ,IAAI,CAAC;IACvB,yBAAyB,GAAQ,KAAK,EAAO,CAAC;AAC9C,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AACzB,IAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;AAEzC,IAAA,SAAS,GAAQ,CAAC,UAAe,KAAI,GAAG,CAAC;AACzC,IAAA,UAAU,GAAQ,MAAK,GAAG,CAAC;AAE3B,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;KACvB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;IACD,gBAAgB,CAAE,UAAmB,EAAA,GAAU;AAE/C,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjC;AAED,IAAA,WAAW,CAAC,KAAW,EAAA;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvB;wGA5BU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EARxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,wBAAwB;AACrC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECvBH,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,m2GAoFA,ujHD1EI,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,kBAAkB,EAClB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,uNACZ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAYV,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAnBpC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EACrB,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,kBAAkB;wBAClB,YAAY;wBACZ,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA0B,wBAAA;AACrC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,m2GAAA,EAAA,MAAA,EAAA,CAAA,ggHAAA,CAAA,EAAA,CAAA;8BAMS,IAAI,EAAA,CAAA;sBAAb,MAAM;;;MEnBI,iBAAiB,CAAA;AAC5B,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADxB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV9B,w+CAmDA,EAAA,MAAA,EAAA,CAAA,mwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED7CY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EACZ,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,w+CAAA,EAAA,MAAA,EAAA,CAAA,mwBAAA,CAAA,EAAA,CAAA;;;MEIZ,oBAAoB,CAAA;AAC/B,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADxB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVjC,q/BAyBA,EAAA,MAAA,EAAA,CAAA,0xBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAChB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,q/BAAA,EAAA,MAAA,EAAA,CAAA,0xBAAA,CAAA,EAAA,CAAA;;;MEIZ,eAAe,CAAA;AAC1B,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADxB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV5B,ohCAqCA,EAAA,MAAA,EAAA,CAAA,kyEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED/BY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,ohCAAA,EAAA,MAAA,EAAA,CAAA,kyEAAA,CAAA,EAAA,CAAA;;;MEKZ,wBAAwB,CAAA;AAIlB,IAAA,aAAA,CAAA;AAHnB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;AACpC,IAAA,UAAU,CAAK;AAEf,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;KAC7F;wGANY,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXrC,00BAoBM,EAAA,MAAA,EAAA,CAAA,gcAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACpB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,00BAAA,EAAA,MAAA,EAAA,CAAA,gcAAA,CAAA,EAAA,CAAA;;;MEIZ,wBAAwB,CAAA;AAIlB,IAAA,aAAA,CAAA;AAHnB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;AACpC,IAAA,UAAU,CAAK;AAEf,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;KAC7F;wGANY,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXrC,00BAoBM,EAAA,MAAA,EAAA,CAAA,2dAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACpB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,00BAAA,EAAA,MAAA,EAAA,CAAA,2dAAA,CAAA,EAAA,CAAA;;;MEIZ,wBAAwB,CAAA;AAIlB,IAAA,aAAA,CAAA;AAHnB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;AACpC,IAAA,UAAU,CAAK;AAEf,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;KAC7F;wGANY,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXrC,00BAoBM,EAAA,MAAA,EAAA,CAAA,saAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACpB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,00BAAA,EAAA,MAAA,EAAA,CAAA,saAAA,CAAA,EAAA,CAAA;;;MEIZ,sBAAsB,CAAA;AAIhB,IAAA,aAAA,CAAA;AAHnB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;AACpC,IAAA,QAAQ,CAAK;AAEb,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;KACzF;wGANY,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXnC,80BAqBA,EAAA,MAAA,EAAA,CAAA,okBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,80BAAA,EAAA,MAAA,EAAA,CAAA,okBAAA,CAAA,EAAA,CAAA;;;MEGZ,kBAAkB,CAAA;AAC7B,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADzB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,+UAMM,EAAA,MAAA,EAAA,CAAA,kSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACd,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,+UAAA,EAAA,MAAA,EAAA,CAAA,kSAAA,CAAA,EAAA,CAAA;;;MEKZ,eAAe,CAAA;AAIN,IAAA,SAAA,CAAA;AAHpB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,OAAO,GAA2B,IAAI,CAAC;AAEvC,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;KAAI;IAE7C,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;AACzC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;SACrF;KACF;IAED,YAAY,GAAA;QACV,IAAI,SAAS,GAAS,IAAI,CAAC;AAC3B,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;AACzC,YAAA,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;SAClF;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;wGAlBQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX5B,yJAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,yJAAA,EAAA,CAAA;;;MEcZ,qBAAqB,CAAA;IAChC,yBAAyB,GAAQ,KAAK,EAAO,CAAC;AAC9C,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,aAAa,GAAQ,IAAI,CAAC;;AAGhB,IAAA,gBAAgB,GAAG,IAAI,YAAY,EAAO,CAAC;AAC3C,IAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;;AAG3C,IAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACzB,IAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;AAE1B,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;;KAEpC;;AAGD,IAAA,iBAAiB,CAAC,KAAU,EAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;;AAGjB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;wGAtCU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EARrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECnBL,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8yFA0DM,EDhDM,MAAA,EAAA,CAAA,u5DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,qBAAqB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,8BAAA,EAAA,gCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,eAAA,EAAA,YAAA,EAAA,SAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,qTAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWhG,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAdjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACjB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,0BAA0B,CAAC,EAGjG,SAAA,EAAA;AACP,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAuB,qBAAA;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,8yFAAA,EAAA,MAAA,EAAA,CAAA,u5DAAA,CAAA,EAAA,CAAA;8BAQO,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MElBI,mBAAmB,CAAA;AAChC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACzB,SAAS,GAAQ,WAAW,CAAC;IAC7B,aAAa,GAAO,SAAS,CAAC;IAC9B,OAAO,GAAO,CAAC,CAAC;IAChB,KAAK,GAAO,MAAM,CAAC;IACnB,SAAS,GAAO,OAAO,CAAC;wGANrB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVhC,s4BAqBA,EAAA,MAAA,EAAA,CAAA,6rBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAChB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,s4BAAA,EAAA,MAAA,EAAA,CAAA,6rBAAA,CAAA,EAAA,CAAA;8BAMf,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MENM,uBAAuB,CAAA;AAClC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IAE1B,aAAa,GAAQ,WAAW,CAAC;IACjC,kBAAkB,GAAQ,IAAI,CAAC;wGAJ7B,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVpC,mqCA+BA,EAAA,MAAA,EAAA,CAAA,ygCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACpB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,mqCAAA,EAAA,MAAA,EAAA,CAAA,ygCAAA,CAAA,EAAA,CAAA;8BAOd,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;;;MEJK,sBAAsB,CAAA;AACjC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADxB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVnC,o4BAsBA,EAAA,MAAA,EAAA,CAAA,m7CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,o4BAAA,EAAA,MAAA,EAAA,CAAA,m7CAAA,CAAA,EAAA,CAAA;;;MEIZ,wBAAwB,CAAA;AACrC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IAC1B,WAAW,GAAQ,IAAI,CAAC;wGAFpB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVrC,iQAMA,EAAA,MAAA,EAAA,CAAA,oIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EACrB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,iQAAA,EAAA,MAAA,EAAA,CAAA,oIAAA,CAAA,EAAA,CAAA;8BAMhB,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MEDO,mBAAmB,CAAA;AAChC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADtB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,ECXhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,82CAwBA,EDjBY,MAAA,EAAA,CAAA,6oCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,8BAAG,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAI3B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cACf,IAAI,EAAA,OAAA,EACP,CAAC,aAAa,EAAG,YAAY,CAAC,EAAA,QAAA,EAAA,82CAAA,EAAA,MAAA,EAAA,CAAA,6oCAAA,CAAA,EAAA,CAAA;;;MEG5B,uBAAuB,CAAA;AACpC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;AAEpC,IAAA,QAAQ,MAAI;wGAHC,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVpC,wrBAcM,EAAA,MAAA,EAAA,CAAA,8fAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDRM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACpB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wrBAAA,EAAA,MAAA,EAAA,CAAA,8fAAA,CAAA,EAAA,CAAA;;;MEAZ,aAAa,CAAA;AAEJ,IAAA,IAAA,CAAA;AAApB,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KAAK;AAEvC,IAAA,cAAc,CAAC,IAAY,EAAA;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,IAAG;YACpB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7D,gBAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACjC;YACD,IACE,IAAI,KAAK,MAAM;AACf,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI;gBAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,EACrC;AACA,gBAAA,UAAU,GAAG,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;AACH,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,UAAU,CAAC;KACnB;AAGD,IAAA,gBAAgB,CAAC,UAAgB,EAAA;QAC/B,MAAM,OAAO,GAAQ,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;AAC7C,QAAA,IAAG,UAAU,CAAC,aAAa,CAAC,EAAE;AAC5B,YAAA,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5F;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;AAED,IAAA,eAAe,CAAC,UAAgB,EAAE,eAAoB,EAAE,UAAe,EAAA;QACrE,IAAI,GAAG,GAAG,CAAG,EAAA,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,GAAG,IAAI,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAA,CAAA,EAAI,eAAe,CAAA,CAAE,CAAC;QACjE,GAAG,IAAI,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,CAAC;QAC/D,GAAG,IAAI,WAAW,CAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;KAC3E;wGA1CU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAI,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCkCY,wBAAwB,CAAA;AA6HhB,IAAA,MAAA,CAAA;AAAuB,IAAA,aAAA,CAAA;IA5H1C,sBAAsB,GAAG,KAAK,EAAO,CAAC;IACtC,yBAAyB,GAAS,KAAK,EAAO,CAAC;IAC/C,aAAa,GAAS,KAAK,EAAO,CAAC;IACnC,UAAU,GAAS,EAAE,CAAC;IACtB,8BAA8B,GAAS,IAAI,CAAC;IAC5C,2BAA2B,GAAS,EAAE,CAAC;AACZ,IAAA,YAAY,CAAgC;AAC/D,IAAA,YAAY,CAAmC;IACvD,qBAAqB,GAAQ,EAAE,CAAC;IAChC,qBAAqB,GAAQ,EAAE,CAAC;AAChC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;IACnC,YAAY,GAAQ,EAAE,CAAC;IACvB,kBAAkB,GAAQ,EAAE,CAAC;IAC7B,mBAAmB,GAAQ,EAAE,CAAC;IAC9B,MAAM,GAA8B,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;AACvE,IAAA,QAAQ,CAAM;AACd,IAAA,SAAS,CAAM;AACf,IAAA,IAAI,CAAM;IACV,MAAM,GAAQ,EAAE,CAAC;AAGjB,IAAA,eAAe,GAAQ;AACrB,QAAA,0BAA0B,EAAE,MAAM;AAClC,QAAA,wBAAwB,EAAE,CAAC;AAC3B,QAAA,2BAA2B,EAAE,CAAC;AAC9B,QAAA,2BAA2B,EAAE,CAAC;KAC/B,CAAC;IACF,cAAc,GAAQ,EAAE,CAAC;IACzB,6BAA6B,GAAQ,EAAE,CAAC;IACxC,wBAAwB,GAAQ,EAAE,CAAC;IACnC,0BAA0B,GAAQ,EAAE,CAAC;IACrC,cAAc,GAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AACrE,IAAA,+BAA+B,GAAQ;AACrC,QAAA;AACE,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EAAE,MAAM;AACd,SAAA;KACF,CAAC;IACF,YAAY,GAAG,KAAK,CAAC;IACrB,kBAAkB,GAAU,EAAE,CAAC;IAC/B,YAAY,GAAG,CAAC,CAAC,CAAC;AAClB,IAAA,aAAa,CAAM;AACnB,IAAA,iBAAiB,GAAS;AACR,QAAA,cAAc,EAAE;AACZ,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,4BAA4B,EAAE,IAAI;AAClC,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,iCAAiC,EAAE,IAAI;AACvC,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,eAAe,EAAE,kCAAkC;AACnD,YAAA,aAAa,EAAE,OAAO;AACtB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,UAAU,EAAE,IAAI;AACnB,SAAA;AACD,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,QAAQ,EAAE,kCAAkC;AAC5C,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,YAAY,EAAE;AACV,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,iBAAiB,EAAE,4BAA4B;AAC/C,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,EAAE;AACvB,SAAA;AACD,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,YAAY,EAAE;AACV,YAAA,QAAQ,EAAE,EAAE;AACf,SAAA;AACD,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,aAAa,EAAE,QAAQ;KAC1B,CAAC;IAChB,WAAW,GAAgB,IAAI,CAAC;IAChC,WAAmB,CAAA,MAAc,EAAS,aAA6B,EAAA;QAApD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAS,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QACrE,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;KAC3E;AAED,IAAA,QAAQ,MAAK;AAEb,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IACE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,YAAY,CAAC;aAChH,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,YAAY,CAAC,CAAC,EAC5H;AACA,YAAA,IAAI,aAAa,IAAI,SAAS,EAAE;gBAC9B,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,QAAQ,KAAI;oBACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;AAC3C,oBAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACf,IAAI,CAAC,kBAAkB,GAAG;wBACxB,GAAG,EAAE,IAAI,CAAC,QAAQ;wBAClB,GAAG,EAAE,IAAI,CAAC,SAAS;qBACpB,CAAC;oBACF,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC/C,iBAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpC;QAED,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,GAAG;YACnG,IAAG,OAAO,IAAI,CAAC,aAAa,EAAE,KAAK,QAAQ,EAAE;AAC3C,gBAAA,IAAI,CAAC,eAAe,GAAG,EAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAC,CAAC;gBAC1E,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC;SACF;KACF;IAED,eAAe,GAAA;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IAEO,wBAAwB,GAAA;AAC9B,QAAA,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAY,KAAI;AACzC,YAAA,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACzD,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAa,KAAI;AAC1C,oBAAA,QAAQ,QAAQ,CAAC,oBAAoB;AACnC,wBAAA,KAAK,KAAK;4BACR,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;4BAC1E,MAAM;AACR,wBAAA,KAAK,MAAM;4BACT,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;4BACvE,MAAM;AACR,wBAAA,KAAK,MAAM;4BACT,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;4BAC1E,MAAM;qBACT;AACH,iBAAC,CAAC,CAAC;aACJ;AACH,SAAC,CAAC,CAAC;KACJ;IAEO,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CACrD,IAAI,CAAC,YAAY,EAAE,aAAa,EAChC;YACE,KAAK,EAAE,CAAC,SAAS,CAAC;AAClB,YAAA,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACxC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,CAAC;AAC9D,SAAA,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,MAAK;AAClD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;gBACnB,IAAI,CAAC,eAAe,EAAE,CAAC;AACzB,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;IAEO,eAAe,GAAA;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;AAE3C,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO;SACR;AAED,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG;AACZ,YAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;AACnB,YAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;SACpB,CAAC;AACF,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;AAEtC,QAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC3B,YAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;aAAM;AACL,YAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;AAED,QAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,iBAAiB;YAChC,WAAW,EAAE,IAAI,CAAC,MAAM;AACzB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;KAClC;AAEO,IAAA,oBAAoB,CAAC,KAAqC,EAAA;AAChE,QAAA,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;YACzC,WAAW,EAAE,IAAI,CAAC,MAAM;SACzB,CAAC;KACH;AAED,IAAA,aAAa,CAAC,OAAe,EAAA;QAC3B,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAE5C,QAAA,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAI;YACzD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC9C,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;oBACnB,IAAI,CAAC,MAAM,GAAG;AACZ,wBAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;AACnB,wBAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;qBACpB,CAAC;AACF,oBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;AACtC,oBAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACjB,iBAAC,CAAC,CAAC;aACJ;iBAAM;AACL,gBAAA,OAAO,CAAC,GAAG,CACT,uDAAuD,GAAG,MAAM,CACjE,CAAC;aACH;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAC5B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;;AAGjC,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;;AAGD,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,EACrB,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CACnC,CAAC;YACF,OAAO;SACR;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;AAClC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO;SACR;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;AAChC,YAAA,IACE,IAAI,CAAC,YAAY,IAAI,CAAC;gBACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1C;AACA,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aAChE;YACD,OAAO;SACR;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AACjC,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,OAAO;SACR;AAED,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC7B,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,OAAO;SACR;AAED,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;AACnC,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC7B,EAAE,GAAG,CAAC,CAAC;KACT;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;;;QAI3B,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC7D,OAAO,CAAC,mBAAmB,CACzB;AACE,YAAA,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,SAAS,CAAC;AACnB,SAAA,EACD,CAAC,WAAW,EAAE,MAAM,KAAI;YACtB,IACE,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE;AACpD,gBAAA,WAAW,EACX;AACA,gBAAA,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,MAAM;oBACzD,QAAQ,EAAE,UAAU,CAAC,QAAQ;AAC7B,oBAAA,SAAS,EAAE,UAAU,CAAC,qBAAqB,CAAC,SAAS;AACrD,oBAAA,cAAc,EAAE,UAAU,CAAC,qBAAqB,CAAC,cAAc;oBAC/D,WAAW,EAAE,UAAU,CAAC,WAAW;AACpC,iBAAA,CAAC,CAAC,CAAC;AACJ,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;aACxB;iBAAM;AACL,gBAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC7B,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;AACH,SAAC,CACF,CAAC;KACH;AAED,IAAA,aAAa,CAAC,UAAe,EAAA;QAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CACzC,eAAe,CACI,CAAC;QACtB,IAAI,YAAY,EAAE;AAChB,YAAA,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC;SAC7C;AAED,QAAA,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAClD,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAC9B,CAAC;QACF,OAAO,CAAC,UAAU,CAChB;YACE,OAAO,EAAE,UAAU,CAAC,QAAQ;AAC5B,YAAA,MAAM,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;AAC1C,SAAA,EACD,CAAC,KAAK,EAAE,MAAM,KAAI;AAChB,YAAA,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,IAAI,KAAK,EAAE;gBACjE,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAE5C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE;AAC1C,oBAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AACrB,oBAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAEpB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC3B,oBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;iBACvC;aACF;AACH,SAAC,CACF,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;KAC9B;IAED,WAAW,GAAA;QACT,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B,EAAE,GAAG,CAAC,CAAC;KACT;AAED,IAAA,+BAA+B,CAAC,UAAgB,EAAA;AAC9C,QAAA,IAAG,UAAU,CAAC,sBAAsB,CAAC,KAAK,WAAW,IAAI,UAAU,CAAC,sBAAsB,CAAC,KAAM,eAAe,EAAE;AAChH,YAAA,IAAI,CAAC,8BAA8B,GAAG,UAAU,CAAC;SAClD;QACD,IAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC,EAAE;YAC3I,UAAU,CAAC,gCAAgC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAoB,KAAI;AAC5E,gBAAA,IAAI,CAAC,+BAA+B,CAAC,cAAc,CAAC,CAAC;AACvD,aAAC,CAAC,CAAC;SACJ;KACF;IAED,sBAAsB,GAAA;AACpB,QAAA,IAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE;YACxT,IAAI,WAAW,GAAS,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC/G,WAAW,CAAC,OAAO,CAAC,CAAC,SAAe,EAAE,eAAwB,KAAI;gBAChE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;oBACvH,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,eAAqB,EAAE,qBAA8B,KAAI;AACzJ,wBAAA,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;AAC5C,wBAAA,IAAG,eAAe,MAAM,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,qBAAqB,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;4BAClL,IAAI,CAAC,uBAAuB,EAAE,CAAC;yBAChC;AACH,qBAAC,CAAC,CAAC;iBACJ;AACH,aAAC,CAAC,CAAC;SAEJ;KACF;IAED,2BAA2B,GAAA;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,IAAI,GAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;QAExC,IAAI,SAAS,GAAS,KAAK,CAAC;AAC5B,QAAA,IAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAG;YAClF,IAAI,6BAA6B,GAAU,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC/F,YAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SACtE;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE;YACxD,IAAI,eAAe,GAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAsB,KAAI;gBAC3D,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;AACxD,aAAC,CAAC,CAAC;AAEH,YAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAC/B,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EACpD;gBAEA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE;oBACxD,IAAI,aAAa,GAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAuB,KAAI;wBAC5D,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC9D,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,EAAE;4BACjE,kBAAkB,CAAC,cAAc,CAAC,CAAC,OAAO,CACxC,CAAC,cAAmB,KAAI;AACtB,gCAAA,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,iBAAiB,EAAE;AACjD,oCAAA,cAAc,CAAC,cAAc,CAAC,GAAG,cAAc,CAC7C,cAAc,CACf,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iCACzB;gCACD,cAAc,CAAC,cAAc,CAAC;oCAC5B,IAAI,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;gCAErD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAExD,gCAAA,IAAI,cAAc,CAAC,sBAAsB,CAAC,KAAK,KAAK,EAAE;oCACpD,cAAc,CAAC,aAAa,CAAC;AAC3B,wCAAA,oHAAoH,CAAC;iCACxH;;;;AAID,gCAAA,IACE,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU;oCAC7C,CAAC,IAAI,CAAC,mBAAmB,CACvB,cAAc,CAAC,kBAAkB,CAAC,CACnC,EACD;oCACA,cAAc,CAAC,kBAAkB,CAAC,CAAC,OAAO,CACxC,CAAC,yBAA8B,KAAI;AACjC,wCAAA,IAAI,kBAAkB,GAAQ,kBAAkB,CAC9C,cAAc,CACf,CAAC,MAAM,CACN,CAAC,MAAW,KACV,MAAM,CAAC,YAAY,CAAC;AACpB,4CAAA,yBAAyB,CAAC,gBAAgB,CAAC,CAC9C,CAAC;AACF,wCAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,4CAAA,kBAAkB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;gDACpC,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;yCACpD;AACH,qCAAC,CACF,CAAC;iCACH;AAED,gCAAA,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU,EAAE;oCACjD,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AACvD,wCAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CACnD,EACD;AACA,wCAAA,IAAI,CAAC,cAAc,CAAC,CAClB,cAAc,CAAC,YAAY,CAAC,CAC7B,CAAC,OAAO,CAAC,CAAC,iBAAsB,KAAI;4CACnC,IACE,CAAC,IAAI,CAAC,mBAAmB,CACvB,iBAAiB,CAAC,qBAAqB,CAAC,CACzC,EACD;gDACA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CACrC,iBAAiB,CAAC,qBAAqB,CAAC,CACzC,CAAC;6CACH;AACH,yCAAC,CAAC,CAAC;qCACJ;iCACF;gCAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE;oCACnD,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;iCAC5C;AAED,gCAAA,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC;AACjD,6BAAC,CACF,CAAC;4BAEF,kBAAkB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,QAAa,KAAI;AAC3D,gCAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC;AACvC,gCAAA,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,YAAY,EAAE;AAC7C,oCAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CACjC,cAAc,CACf,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iCAC7B;AAED,gCAAA,IAAI,QAAQ,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE;AAC/C,oCAAA,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AACzD,oCAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AACvC,oCAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;oCAC5D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG;AACrD,wCAAA,WAAW,EAAE,QAAQ;AACrB,wCAAA,WAAW,EAAE,SAAS;AACtB,wCAAA,WAAW,EAAE,OAAO;AACpB,wCAAA,YAAY,EAAE,IAAI;AAClB,wCAAA,QAAQ,EAAE,MAAM;AAChB,wCAAA,UAAU,EAAE,KAAK;AACjB,wCAAA,UAAU,EAAE,QAAQ;AACpB,wCAAA,KAAK,EAAE,SAAS;AAChB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,iBAAiB,EAAE,IAAI;AACvB,wCAAA,qBAAqB,EAAE,SAAS;AAChC,wCAAA,mBAAmB,EAAE,SAAS;AAC9B,wCAAA,wBAAwB,EAAE,KAAK;AAC/B,wCAAA,KAAK,EAAE,IAAI;AACX,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,eAAe,EAAE,IAAI;AACrB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,0BAA0B,EAAE,IAAI;AAChC,wCAAA,wBAAwB,EAAE,IAAI;AAC9B,wCAAA,6BAA6B,EAAE,IAAI;AACnC,wCAAA,6BAA6B,EAAE,IAAI;AACnC,wCAAA,+BAA+B,EAAE,IAAI;AACrC,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,YAAY,EAAE,SAAS;AACvB,wCAAA,iBAAiB,EAAE,SAAS;AAC5B,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,OAAO,EAAE,IAAI;AACb,wCAAA,MAAM,EAAE,IAAI;AACZ,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,aAAa,EACX,6CAA6C;AAC/C,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,MAAM,EAAE,IAAI;AACZ,wCAAA,SAAS,EAAE,IAAI;AACf,wCAAA,SAAS,EAAE,IAAI;AACf,wCAAA,QAAQ,EAAE,IAAI;AACd,wCAAA,QAAQ,EAAE,IAAI;AACd,wCAAA,QAAQ,EAAE,IAAI;qCACf,CAAC;iCACH;AACD,gCAAA,IAAI,QAAQ,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE;AAC/C,oCAAA,IAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC3D,oCAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AACvC,oCAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;oCAC5D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG;AACrD,wCAAA,WAAW,EAAE,QAAQ;AACrB,wCAAA,WAAW,EAAE,SAAS;AACtB,wCAAA,WAAW,EAAE,OAAO;AACpB,wCAAA,YAAY,EAAE,IAAI;AAClB,wCAAA,QAAQ,EAAE,MAAM;AAChB,wCAAA,UAAU,EAAE,KAAK;AACjB,wCAAA,UAAU,EAAE,QAAQ;AACpB,wCAAA,KAAK,EAAE,SAAS;AAChB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,iBAAiB,EAAE,IAAI;AACvB,wCAAA,qBAAqB,EAAE,SAAS;AAChC,wCAAA,mBAAmB,EAAE,SAAS;AAC9B,wCAAA,wBAAwB,EAAE,KAAK;AAC/B,wCAAA,KAAK,EAAE,IAAI;AACX,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,eAAe,EAAE,IAAI;AACrB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,0BAA0B,EAAE,IAAI;AAChC,wCAAA,wBAAwB,EAAE,IAAI;AAC9B,wCAAA,6BAA6B,EAAE,IAAI;AACnC,wCAAA,6BAA6B,EAAE,IAAI;AACnC,wCAAA,+BAA+B,EAAE,IAAI;AACrC,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,YAAY,EAAE,SAAS;AACvB,wCAAA,iBAAiB,EAAE,SAAS;AAC5B,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,OAAO,EAAE,IAAI;AACb,wCAAA,MAAM,EAAE,IAAI;AACZ,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,aAAa,EACX,6CAA6C;AAC/C,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,MAAM,EAAE,IAAI;AACZ,wCAAA,SAAS,EAAE,IAAI;AACf,wCAAA,SAAS,EAAE,IAAI;AACf,wCAAA,QAAQ,EAAE,IAAI;AACd,wCAAA,QAAQ,EAAE,IAAI;AACd,wCAAA,QAAQ,EAAE,IAAI;qCACf,CAAC;iCACH;AACD,gCAAA,IAAI,QAAQ,CAAC,sBAAsB,CAAC,KAAK,KAAK,EAAE;AAC9C,oCAAA,IAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC3D,oCAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;AACtC,oCAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;oCAC3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG;AACpD,wCAAA,WAAW,EAAE,UAAU;AACvB,wCAAA,WAAW,EAAE,SAAS;AACtB,wCAAA,WAAW,EAAE,OAAO;AACpB,wCAAA,YAAY,EAAE,IAAI;AAClB,wCAAA,QAAQ,EAAE,MAAM;AAChB,wCAAA,UAAU,EAAE,KAAK;AACjB,wCAAA,UAAU,EAAE,QAAQ;AACpB,wCAAA,KAAK,EAAE,SAAS;AAChB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,iBAAiB,EAAE,IAAI;AACvB,wCAAA,qBAAqB,EAAE,SAAS;AAChC,wCAAA,mBAAmB,EAAE,SAAS;AAC9B,wCAAA,wBAAwB,EAAE,KAAK;AAC/B,wCAAA,KAAK,EAAE,IAAI;AACX,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,eAAe,EAAE,IAAI;AACrB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,0BAA0B,EAAE,IAAI;AAChC,wCAAA,wBAAwB,EAAE,IAAI;AAC9B,wCAAA,6BAA6B,EAAE,IAAI;AACnC,wCAAA,6BAA6B,EAAE,IAAI;AACnC,wCAAA,+BAA+B,EAAE,IAAI;AACrC,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,YAAY,EAAE,SAAS;AACvB,wCAAA,iBAAiB,EAAE,SAAS;AAC5B,wCAAA,gBAAgB,EAAE,SAAS;AAC3B,wCAAA,gBAAgB,EAAE,OAAO;AACzB,wCAAA,UAAU,EAAE,SAAS;AACrB,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,OAAO,EAAE,IAAI;AACb,wCAAA,MAAM,EAAE,IAAI;AACZ,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,aAAa,EACX,6CAA6C;AAC/C,wCAAA,WAAW,EAAE,IAAI;AACjB,wCAAA,MAAM,EAAE,IAAI;AACZ,wCAAA,SAAS,EAAE,IAAI;AACf,wCAAA,SAAS,EAAE,IAAI;AACf,wCAAA,QAAQ,EAAE,IAAI;AACd,wCAAA,QAAQ,EAAE,IAAI;AACd,wCAAA,QAAQ,EAAE,IAAI;qCACf,CAAC;iCACH;AAED,gCAAA,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,aAAa,EAAE;AAC9C,oCAAA,IAAI,QAAQ,CAAC,sBAAsB,CAAC,KAAK,aAAa,EAAE;;AAEtD,wCAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,wCAAA,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;AAC5B,4CAAA,mBAAmB,EAAE,QAAQ,CAAC,YAAY,CAAC;AAC3C,4CAAA,aAAa,EAAE,GAAG;AACnB,yCAAA,CAAC,CAAC;qCACJ;AACD,oCAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,oCAAA,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;AAC5B,wCAAA,mBAAmB,EAAE,QAAQ,CAAC,YAAY,CAAC;AAC3C,wCAAA,aAAa,EAAE,GAAG;AACnB,qCAAA,CAAC,CAAC;iCACJ;AAED,gCAAA,IAAI,QAAQ,CAAC,sBAAsB,CAAC,KAAK,cAAc,EAAE;AACvD,oCAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;iCACxC;AACH,6BAAC,CAAC,CAAC;AAEH,4BAAA,kBAAkB,CAAC,cAAc,CAAC,CAAC,IAAI,CACrC,CAAC,CAAM,EAAE,CAAM,KACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CACjE,CAAC;yBACH;wBAED,IAAI,kBAAkB,GAAQ,EAAE,CAAC;AACjC,wBAAA,aAAa,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;4BACnC,IAAI,WAAW,GAAQ,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,CAC9D,CAAC,cAAmB,KAAK,cAAc,CAAC,MAAM,CAAC,KAAK,KAAK,CAC1D,CAAC;AACF,4BAAA,IAAI,GAAG,GAAQ;AACb,gCAAA,IAAI,EAAE,KAAK;AACX,gCAAA,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;AACvD,gCAAA,SAAS,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;AAC/C,sCAAE,WAAW;AACb,sCAAE,EAAE;AACN,gCAAA,WAAW,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;AACjD,sCAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACzB,sCAAE,EAAE;AACN,gCAAA,oBAAoB,EAAE,KAAK;AAC3B,gCAAA,WAAW,EAAE,IAAI;6BAClB,CAAC;4BACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;;AAE1C,gCAAA,IAAI,wBAAwB,GAAQ,WAAW,CAAC,MAAM,CACpD,CAAC,cAAmB,KAClB,cAAc,CAAC,sBAAsB,CAAC,KAAK,aAAa,CAC3D,CAAC;gCACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,EAAE;AACvD,oCAAA,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;AACpB,wCAAA,YAAY,EAAE,KAAK;AACnB,wCAAA,kBAAkB,EAAE,IAAI;AACxB,wCAAA,sBAAsB,EAAE;AACtB,4CAAA,gBAAgB,EACd,wBAAwB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC3C,4CAAA,oBAAoB,EAAE,GAAG;AAC1B,yCAAA;AACF,qCAAA,CAAC,CAAC;iCACJ;;AAGD,gCAAA,IAAI,2BAA2B,GAAQ,WAAW,CAAC,MAAM,CACvD,CAAC,cAAmB,KAClB,cAAc,CAAC,sBAAsB,CAAC,KAAK,aAAa,CAC3D,CAAC;gCACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,EAAE;AAC1D,oCAAA,kBAAkB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;AACtC,wCAAA,YAAY,EAAE,iBAAiB;AAC/B,wCAAA,gBAAgB,EAAE,GAAG;AACrB,wCAAA,YAAY,EAAE,mBAAmB;AACjC,wCAAA,kBAAkB,EAAE,IAAI;AACxB,wCAAA,sBAAsB,EAAE;AACtB,4CAAA,gBAAgB,EACd,2BAA2B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC9C,4CAAA,oBAAoB,EAAE,eAAe;AACtC,yCAAA;AACF,qCAAA,CAAC,CAAC;AACH,oCAAA,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;AACpB,wCAAA,YAAY,EAAE,iBAAiB;AAC/B,wCAAA,gBAAgB,EAAE,GAAG;AACrB,wCAAA,YAAY,EAAE,mBAAmB;AACjC,wCAAA,kBAAkB,EAAE,IAAI;AACxB,wCAAA,sBAAsB,EAAE;AACtB,4CAAA,gBAAgB,EACd,2BAA2B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC9C,4CAAA,oBAAoB,EAAE,eAAe;AACtC,yCAAA;AACF,qCAAA,CAAC,CAAC;iCACJ;6BACF;AACD,4BAAA,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,yBAAC,CAAC,CAAC;;;AAGH,wBAAA,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;wBACvC,IAAI,CAAC,wBAAwB,EAAE,CAAC;;AAElC,qBAAC,CAAC,CAAC;AACH,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBACtD;aACF;AAEC,YAAA,IAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAG;gBACzT,IAAI,mBAAmB,GAAQ,KAAK,CAAC;AACrC,gBAAA,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;gBAC3C,IAAI,WAAW,GAAS,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAC/G,gBAAA,WAAW,CAAC,OAAO,CAAC,CAAC,SAAe,KAAI;oBACtC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;wBACvH,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,eAAqB,KAAI;AACzH,4BAAA,IAAI,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC;AACxD,yBAAC,CAAC,CAAC;qBACJ;AACH,iBAAC,CAAC,CAAC;gBAEH,IAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE;AACjE,oBAAA,IAAI,CAAC,aAAa;yBACf,eAAe,CACd,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EACxB,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAC7C,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAClD;AACA,yBAAA,SAAS,CACR,CAAC,mBAAwB,KAAI;wBAC3B,IAAI,aAAa,GAAQ,EAAE,CAAC;wBAC5B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE;AAClD,4BAAA,mBAAmB,CAAC,OAAO,CAAC,CAAC,WAAgB,KAAI;gCAC/C,WAAW,CAAC,cAAc,CAAC;AACzB,oCAAA,IAAI,CAAC,sBAAsB,EAAE,CAAC,cAAc,CAAC,CAC3C,WAAW,CAAC,YAAY,CAAC,CAC1B,CAAC;gCAEJ,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gCAClD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE;oCACrD,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;iCAC9C;AACH,6BAAC,CAAC,CAAC;AAEH,4BAAA,mBAAmB,CAAC,IAAI,CACtB,CAAC,CAAM,EAAE,CAAM,KACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gCACrB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CACxC,CAAC;4BACF,aAAa,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,GAAQ,KAAI;AAC7C,gCAAA,IAAI,WAAW,GAAQ,mBAAmB,CAAC,MAAM,CAC/C,CAAC,cAAmB,KAClB,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,CACxC,CAAC;AACF,gCAAA,IAAI,GAAG,GAAQ;oCACb,IAAI,EAAE,IAAI,GAAG,GAAG;AAChB,oCAAA,SAAS,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;AAC/C,0CAAE,WAAW;AACb,0CAAE,EAAE;AACN,oCAAA,WAAW,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;AACjD,0CAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACzB,0CAAE,EAAE;AACN,oCAAA,oBAAoB,EAAE,IAAI;AAC1B,oCAAA,WAAW,EAAE,IAAI;oCACjB,UAAU,EACR,IAAI,CAAC,8BAA8B,CACjC,YAAY,CACb,CAAC,QAAQ,EAAE;iCACf,CAAC;;;;AAIF,gCAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,6BAAC,CAAC,CAAC;AACH,4BAAA,IAAI,CAAC,2BAA2B,GAAG,mBAAmB,CAAC;;AAEvD,4BAAA,IAAI,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CACnD,cAAc,CACf,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CACvD,cAAc,CACf,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;4BAE3C,IAAI,CAAC,sBAAsB,EAAE,CAAC;yBAC/B;6BAAM;4BACL,IAAI,CAAC,sBAAsB,EAAE,CAAC;yBAC/B;AACH,qBAAC,EACD,CAAC,GAAQ,KAAI;wBACX,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAChC,qBAAC,CACF,CAAC;iBACL;qBAAM;oBACL,IAAI,CAAC,sBAAsB,EAAE,CAAC;iBAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6JF;SAGJ;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAE/B,QAAA,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG;AACzC,YAAA,YAAY,EAAE;AACZ,gBAAA,WAAW,EAAE,QAAQ;AACrB,gBAAA,WAAW,EAAE,SAAS;AACtB,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,qBAAqB,EAAE,SAAS;AAChC,gBAAA,mBAAmB,EAAE,SAAS;AAC9B,gBAAA,wBAAwB,EAAE,KAAK;AAC/B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,gBAAgB,EAAE,OAAO;AACzB,gBAAA,gBAAgB,EAAE,SAAS;AAC3B,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,0BAA0B,EAAE,IAAI;AAChC,gBAAA,wBAAwB,EAAE,IAAI;AAC9B,gBAAA,6BAA6B,EAAE,IAAI;AACnC,gBAAA,6BAA6B,EAAE,IAAI;AACnC,gBAAA,+BAA+B,EAAE,IAAI;AACrC,gBAAA,gBAAgB,EAAE,SAAS;AAC3B,gBAAA,gBAAgB,EAAE,OAAO;AACzB,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,gBAAgB,EAAE,SAAS;AAC3B,gBAAA,gBAAgB,EAAE,OAAO;AACzB,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,aAAa,EAAE,6CAA6C;AAC5D,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA;AACD,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,eAAe,EAAE,4BAA4B;AAC7C,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,gBAAgB,EAAE,IAAI;AACtB,gBAAA,SAAS,EAAE,GAAG;AACd,gBAAA,gBAAgB,EAAE,IAAI;AACtB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,cAAc,EAAE,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,KAAK,EAAE,IAAI;AACX,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE,MAAM;AACd,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,WAAW,EAAE,QAAQ;SACtB,CAAC;KACH;AAED,IAAA,qBAAqB,CAAC,SAAc,EAAA;AAElC,QAAA,IAAI,SAAS,CAAC,sBAAsB,CAAC,KAAK,KAAK,EAAE;YAC/C,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;SAC3E;AACD,QAAA,IAAI,SAAS,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE;YAChD,IAAI,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACvF,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACjE,gBAAA,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,GAAG,GAAG,CAAC;aAC3D;SACF;AAED,QAAA,IAAI,gBAAgB,GAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,cAAmB,KAAK,cAAc,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5L,QAAA,IAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;YAChG,IAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,UAAU,EAAE;AACrD,gBAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAE1E;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;aAC/D;SACF;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,8BAA8B,CAAC,EAAE;YACvE,SAAS,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,WAAgB,KAAI;AACpE,gBAAA,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAC1C,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,EAAE,CAAA;SAC3B;KACF;AAED,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;SACtB;QACD,QACE,KAAK,KAAK,SAAS;AACnB,YAAA,KAAK,KAAK,IAAI;AACd,YAAA,KAAK,KAAK,EAAE;aACX,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAC9B;KACH;AAED,IAAA,YAAY,CAAC,MAAW,EAAA;QACtB,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE;gBAC5D,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5B,gBAAA,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9D;iBAAM;AACL,gBAAA,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE;AAC5C,oBAAA,OAAO,MAAM,CAAC;iBACf;AACD,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACjC;SACF;KACF;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,OAAO,KAAK;AACT,iBAAA,QAAQ,EAAE;iBACV,OAAO,CACN,QAAQ,EACR,CAAC,GAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CACjE,CAAC;SACL;KACF;AAED,IAAA,QAAQ,CAAC,WAAgB,EAAA;QACvB,IAAI,UAAU,GAAQ,EAAE,CAAC;QACzB,IAAI,YAAY,GAAS,EAAE,CAAC;AAC5B,QAAA,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE;YAC/B,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAsB,KAAI;gBAC7D,UAAU,CAAC,IAAI,CAAC;AACd,oBAAA,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC;AACzC,oBAAA,KAAK,EAAE,iBAAiB,CAAC,qBAAqB,CAAC;AAChD,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;QACD,IAAI,SAAS,GAAS,KAAK,CAAC;AAC5B,QAAA,IAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAG;YAClF,IAAI,6BAA6B,GAAU,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC/F,YAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SACtE;QACD,IAAI,SAAS,GAAQ,IAAI,CAAC;QAC1B,IAAI,SAAS,GAAQ,GAAG,CAAC;QACzB,IAAI,OAAO,GAAQ,IAAI,CAAC;QACxB,IAAI,cAAc,GAAQ,IAAI,CAAC;AAC/B,QAAA,IAAI,UAAU,GAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC;AACvE,cAAE,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU;cACxB,EAAE,CAAC;AAEP,QAAA,IAAG,WAAW,CAAC,cAAc,CAAC,KAAM,cAAc,IAAI,WAAW,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE;AAC/F,YAAA,YAAY,GAAG;AACH,gBAAA,aAAa,EAAE,OAAO;AACtB,gBAAA,aAAa,EAAE,SAAS;AACxB,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,YAAY,EAAE,QAAQ;AACtB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,mBAAmB,EAAE,IAAI;AACzB,gBAAA,uBAAuB,EAAE,IAAI;AAC7B,gBAAA,qBAAqB,EAAE,IAAI;AAC3B,gBAAA,0BAA0B,EAAE,IAAI;AAChC,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,kBAAkB,EAAE,KAAK;AACzB,gBAAA,kBAAkB,EAAE,SAAS;AAC7B,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,4BAA4B,EAAE,IAAI;AAClC,gBAAA,0BAA0B,EAAE,IAAI;AAChC,gBAAA,+BAA+B,EAAE,IAAI;AACrC,gBAAA,+BAA+B,EAAE,IAAI;AACrC,gBAAA,iCAAiC,EAAE,IAAI;AACvC,gBAAA,kBAAkB,EAAE,SAAS;AAC7B,gBAAA,kBAAkB,EAAE,KAAK;AACzB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,mBAAmB,EAAE,SAAS;AAC9B,gBAAA,kBAAkB,EAAE,SAAS;AAC7B,gBAAA,kBAAkB,EAAE,KAAK;AACzB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,eAAe,EAAE,yCAAyC;AAC1D,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,UAAU,EAAE,IAAI;aACjB,CAAC;SACb;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE;YACzD,IAAI,aAAa,GAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE;AACxD,gBAAA,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;aACvC;YACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE;AACxD,gBAAA,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;aACvC;YACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE;AACpD,gBAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC;gBAClE,cAAc;AACZ,oBAAA,aAAa,CAAC,MAAM,CAAC,KAAK,SAAS;AACjC,0BAAE,2BAA2B;0BAC3B,IAAI,CAAC;AAEX,gBAAA,IAAG,aAAa,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;AACtC,oBAAA,UAAU,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;iBACjD;AACD,gBAAA,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;oBACvC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1C,oBAAA,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;AACnC,oBAAA,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC5B;aACF;SACF;QAED,OAAO;AACL,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,WAAW,EACT,WAAW,CAAC,cAAc,CAAC,KAAK,WAAW;AACzC,kBAAE,MAAM;AACR,kBAAE,WAAW,CAAC,cAAc,CAAC,KAAK,cAAc;AAC9C,oBAAA,WAAW,CAAC,cAAc,CAAC,KAAK,SAAS;AAC3C,sBAAE,OAAO;AACT,sBAAE,WAAW,CAAC,cAAc,CAAC,KAAK,UAAU;AAC1C,wBAAA,WAAW,CAAC,cAAc,CAAC,KAAK,aAAa;AAC/C,0BAAE,UAAU;AACZ,0BAAE,WAAW,CAAC,cAAc,CAAC,KAAK,UAAU;AAC5C,8BAAE,MAAM;AACR,8BAAE,WAAW,CAAC,cAAc,CAAC,KAAK,UAAU;AAC5C,kCAAE,QAAQ;AACV,kCAAE,WAAW,CAAC,cAAc,CAAC,KAAK,WAAW;AAC7C,sCAAE,MAAM;AACR,sCAAE,EAAE;AACR,YAAA,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC;YAC9C,SAAS;AACT,YAAA,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC;AAClC,YAAA,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC;AACxC,YAAA,UAAU,EAAE;AACV,gBAAA,UAAU,EAAE,WAAW,CAAC,kBAAkB,CAAC,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK;gBAClE,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,cAAc;AACf,aAAA;AACD,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,WAAW,EAAE,IAAI;SAClB,CAAC;KACH;AAED,IAAA,uBAAuB,CAAC,QAAc,EAAA;QACpC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAChD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAkB,KAAI;gBAC/C,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE;oBACzD,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,cAAmB,KAAI;wBACzD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;AACtC,4BAAA,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC;AAC7C,4BAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CACnD,EACD;gCACA,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;6BAC3D;;yBAEF;6BAAM;AACL,4BAAA,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;yBAC7C;AAED,wBAAA,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU,EAAE;4BACjD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE;gCAC7D,IAAI,oBAAoB,GAAQ,cAAc,CAC5C,cAAc,CACf,CAAC,MAAM,CACN,CAAC,SAAc,KACb,SAAS,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CACtD,CAAC;gCACF,cAAc,CAAC,cAAc,CAAC,CAAC,OAAO,CACpC,CAAC,iBAAsB,KAAI;AACzB,oCAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC;AAC/C,wCAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAClB,oBAAoB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAC/C,CACF;AACD,wCAAA,IAAI,CAAC,eAAe,CAClB,oBAAoB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAC/C,EACD;;wCAEA,cAAc,CAAC,cAAc,CAAC,CAAC,OAAO,CACpC,CAAC,iBAAsB,KAAI;;AAEzB,4CAAA,IACE,iBAAiB,CAAC,aAAa,CAAC,WAAW,EAAE;AAC7C,gDAAA,MAAM,EACN;AACA,gDAAA,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC;gDACpC,OAAO,IAAI,CAAC,eAAe,CACzB,iBAAiB,CAAC,qBAAqB,CAAC,CACzC,CAAC;6CACH;AACH,yCAAC,CACF,CAAC;qCACH;yCAAM;AACL,wCAAA,iBAAiB,CAAC,UAAU,GAAG,KAAK,CAAC;qCACtC;AACH,iCAAC,CACF,CAAC;6BACH;yBACF;AACH,qBAAC,CAAC,CAAC;iBACJ;;gBAED,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CACtD,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CAC/B,CAAC,cAAmB,KAAK,cAAc,CAAC,oBAAoB,CAAC,CAC9D,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;AAuBF,gBAAA,IAAI,eAAe,GAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CACjD,CAAC,gBAAqB,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAC5D,CAAC;AACF,gBAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE;AAC7C,oBAAA,eAAe,CAAC,OAAO,CAAC,CAAC,aAAkB,KAAI;wBAC7C,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAChC,CAAC,0BAA+B,KAAI;AAClC,4BAAA,0BAA0B,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC;;;;;AAK3D,yBAAC,CACF,CAAC;AACJ,qBAAC,CAAC,CAAC;iBACJ;AACH,aAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAElE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;AAED,IAAA,YAAY,CAAC,eAAoB,EAAA;QAC/B,IAAI,YAAY,GAAQ,KAAK,CAAC;QAC9B,IAAI,YAAY,GAAQ,EAAE,CAAC;;;AAI3B,QAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,cAAmB,KAAI;YACvE,IAAI,mBAAmB,GAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,EAAE;AACjE,gBAAA,mBAAmB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAC7D,CAAC,mBAAwB,KACvB,mBAAmB,CAAC,gBAAgB,CAAC;AACrC,oBAAA,eAAe,CAAC,YAAY,CAAC,CAChC,CAAC;aACH;AACD,YAAA,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,gBAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAClC,gBAAA,mBAAmB,CAAC,OAAO,CAAC,CAAC,iBAAsB,KAAI;AACrD,oBAAA,IACE,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU;wBAC5C,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG;AAC9D,wBAAA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;4BAChD,iBAAiB,CAAC,qBAAqB,CAAC;yBAC3C,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG;AAC7D,4BAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CACnD;AACD,4BAAA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gCAChD,iBAAiB,CAAC,qBAAqB,CAAC;AACrC,qCAAA,QAAQ,EAAE;AACV,qCAAA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,yBAAC,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU;AAC5C,4BAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CACnD;AACD,4BAAA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;;;;;;AAMvG,yBAAA,EACD;wBACA,YAAY,GAAG,IAAI,CAAC;qBACrB;AACH,iBAAC,CAAC,CAAC;aACJ;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,IACE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;YACtC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,EACnE;YACA,YAAY,GAAG,IAAI,CAAC;SACrB;QACD,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;YACpE,CAAC,IAAI,CAAC,mBAAmB,CACvB,eAAe,CAAC,wBAAwB,CAAC,CAAC,kBAAkB,CAAC,CAC9D;AACD,YAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAClB,eAAe,CAAC,wBAAwB,CAAC,CAAC,kBAAkB,CAAC,CAC9D,CACF;YACD,IAAI,CAAC,eAAe,CAClB,eAAe,CAAC,wBAAwB,CAAC,CAAC,kBAAkB,CAAC,CAC9D,KAAK,eAAe,CAAC,wBAAwB,CAAC,CAAC,sBAAsB,CAAC,EACvE;YACA,YAAY,GAAG,IAAI,CAAC;SACrB;AACD,QAAA,IAAI,eAAe,CAAC,cAAc,CAAC,KAAK,WAAW,EAAE;YACnD,YAAY,GAAG,KAAK,CAAC;SACtB;AACD,QAAA,OAAO,YAAY,CAAC;KACrB;IAED,mBAAmB,GAAA;;QAEjB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;SAyBlE;;;;QAID,IAAI,OAAO,GAAQ,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8VxB,IAAI,OAAO,EAAE;;;YAGX,IAAI,UAAU,GAAQ,EAAE,CAAC;YACzB,IAAI,yBAAyB,GAAQ,EAAE,CAAC;YACxC,IAAI,gBAAgB,GAAQ,EAAE,CAAC;YAC/B,IAAI,gBAAgB,GAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAkB,KAAI;;;;;;;;;;;AAW7C,gBAAA,IAAI,qBAAqB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CAC3D,CAAC,GAAQ,KAAK,GAAG,CAAC,sBAAsB,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CACjI,CAAC;AACF,gBAAA,IAAI,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CACvD,CAAC,GAAQ,KAAK,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAClI,CAAC;AACF,gBAAA,IAAI,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CACrD,CAAC,GAAQ,KAAK,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAC/H,CAAC;AACF,gBAAA,IACE,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,KAAK,IAAI;AAC3D,oBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;AAChD,oBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;AAChD,oBAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CACpD,EACD;;oBAEA,IAAI,mBAAmB,GAAQ,yBAAyB,CAAC,SAAS,CAChE,CAAC,GAAQ,KACP,GAAG,CAAC,UAAU,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBACzD,GAAG,CAAC,YAAY,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,CACpD,CAAC;AACF,oBAAA,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE;AAC9B,wBAAA,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC;4BACtD,QAAQ,CACN,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CACpD,CAAC,QAAQ,EAAE,CAAC;qBAChB;yBAAM;wBACL,yBAAyB,CAAC,IAAI,CAAC;AAC7B,4BAAA,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;AACvC,4BAAA,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAClD,4BAAA,MAAM,EAAE,QAAQ,CACd,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CACpD,CAAC,QAAQ,EAAE;AACZ,4BAAA,gBAAgB,EAAE,CAAC;AACnB,4BAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,4BAAA,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACjD,yBAAA,CAAC,CAAC;qBACJ;;AAGD,oBAAA,IAAI,cAAc,GAAQ,CACxB,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,GAAG,QAAQ,EAC9D,OAAO,CAAC,CAAC,CAAC,CAAC;oBACb,IAAI,YAAY,GACd,UAAU,CAAC,CAAC,cAAc,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;0BAC3D,CAAC,cAAc,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;0BAChC,CAAC,cAAc,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvC,IAAI,uBAAuB,GACzB,yBAAyB,CAAC,SAAS,CACjC,CAAC,GAAQ,KACP,GAAG,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBACrD,GAAG,CAAC,YAAY,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,CACpD,CAAC;AACJ,oBAAA,IAAI,uBAAuB,KAAK,CAAC,CAAC,EAAE;AAClC,wBAAA,yBAAyB,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC;AAC1D,4BAAA,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;qBACvC;yBAAM;wBACL,yBAAyB,CAAC,IAAI,CAAC;AAC7B,4BAAA,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;AACvC,4BAAA,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC9C,4BAAA,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;AAC3C,4BAAA,gBAAgB,EAAE,CAAC;AACnB,4BAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,4BAAA,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7C,yBAAA,CAAC,CAAC;qBACJ;;oBAGD,IAAI,qBAAqB,GACvB,yBAAyB,CAAC,SAAS,CACjC,CAAC,GAAQ,KACP,GAAG,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBACnD,GAAG,CAAC,YAAY,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,CACpD,CAAC;AACJ,oBAAA,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE;AAChC,wBAAA,yBAAyB,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC;AACxD,4BAAA,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;qBACvC;yBAAM;wBACL,yBAAyB,CAAC,IAAI,CAAC;AAC7B,4BAAA,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;AACvC,4BAAA,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC5C,4BAAA,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;AAC3C,4BAAA,gBAAgB,EAAE,CAAC;AACnB,4BAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,4BAAA,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3C,yBAAA,CAAC,CAAC;qBACJ;iBACF;AAAM,qBAAA,IACL,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,KAAK,MAAM;oBAC7D,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CACjD;AACD,oBAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CACpD,EACD;oBACA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE;wBAC9C,IAAI,cAAc,GAChB,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;4BAC1D,EAAE;4BACJ,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAClE,wBAAA,IAAI,UAAU,GAAQ,CACpB,UAAU,CAAC,cAAc,CAAC,GAAG,QAAQ,EACrC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACb,IAAI,qBAAqB,GACvB,yBAAyB,CAAC,SAAS,CACjC,CAAC,GAAQ,KACP,GAAG,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4BACnD,GAAG,CAAC,YAAY,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,CACpD,CAAC;AACJ,wBAAA,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE;AAChC,4BAAA,yBAAyB,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC;AACxD,gCAAA,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;oCAC3D,GAAG;AACH,oCAAA,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CACpD,CAAC,QAAQ,EAAE,CAAC;yBAChB;6BAAM;4BACL,yBAAyB,CAAC,IAAI,CAAC;AAC7B,gCAAA,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;AACvC,gCAAA,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gCAC5C,MAAM,EACJ,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;oCAC3D,GAAG;AACH,oCAAA,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE;AAChE,gCAAA,gBAAgB,EAAE,CAAC;AACnB,gCAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,gCAAA,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3C,6BAAA,CAAC,CAAC;yBACJ;wBACD,IAAI,uBAAuB,GACzB,yBAAyB,CAAC,SAAS,CACjC,CAAC,GAAQ,KACP,GAAG,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4BACrD,GAAG,CAAC,YAAY,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,CACpD,CAAC;AACJ,wBAAA,IAAI,uBAAuB,KAAK,CAAC,CAAC,EAAE;AAClC,4BAAA,yBAAyB,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC;AAC1D,gCAAA,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;yBACvC;6BAAM;4BACL,yBAAyB,CAAC,IAAI,CAAC;AAC7B,gCAAA,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;AACvC,gCAAA,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC9C,gCAAA,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;AAC3C,gCAAA,gBAAgB,EAAE,CAAC;AACnB,gCAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,gCAAA,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7C,6BAAA,CAAC,CAAC;yBACJ;wBACD,IAAI,mBAAmB,GACrB,yBAAyB,CAAC,SAAS,CACjC,CAAC,GAAQ,KACP,GAAG,CAAC,UAAU,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4BACzD,GAAG,CAAC,YAAY,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,CACpD,CAAC;AACJ,wBAAA,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE;AAC9B,4BAAA,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC;AACtD,gCAAA,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;yBACnC;6BAAM;4BACL,yBAAyB,CAAC,IAAI,CAAC;AAC7B,gCAAA,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;AACvC,gCAAA,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAClD,gCAAA,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;AACvC,gCAAA,gBAAgB,EAAE,CAAC;AACnB,gCAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,gCAAA,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACjD,6BAAA,CAAC,CAAC;yBACJ;qBACF;iBACF;AAED,gBAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;AAChD,oBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EACjE;AACA,oBAAA,IAAI,sBAAsB,GAAQ,yBAAyB,CAAC,MAAM,CAChE,CAAC,cAAmB,KAClB,cAAc,CAAC,YAAY,CAAC;AAC5B,wBAAA,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CACzC,CAAC;AACF,oBAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;AACjD,wBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC9D;wBACA,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAC1D,4BAAA,sBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;qBACvC;iBACF;AAED,gBAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;AAC5C,oBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAC7D;AACA,oBAAA,IAAI,0BAA0B,GAC5B,yBAAyB,CAAC,MAAM,CAC9B,CAAC,cAAmB,KAClB,cAAc,CAAC,YAAY,CAAC;AAC5B,wBAAA,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CACrC,CAAC;AACJ,oBAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;AACrD,wBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAClE;wBACA,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AACtD,4BAAA,0BAA0B,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;qBAC3C;iBACF;AAED,gBAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;AAC1C,oBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAC3D;AACA,oBAAA,IAAI,wBAAwB,GAC1B,yBAAyB,CAAC,MAAM,CAC9B,CAAC,cAAmB,KAClB,cAAc,CAAC,YAAY,CAAC;AAC5B,wBAAA,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CACnC,CAAC;AACJ,oBAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC;AACnD,wBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAChE;wBACA,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AACpD,4BAAA,wBAAwB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;qBACzC;iBACF;;gBAEH,IAAI,4BAA4B,GAAQ,CAAC,IAAI,CAAC,mBAAmB,CAC/D,aAAa,CAAC,WAAW,CAAC,CAC3B;AACC,sBAAE,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CAC/B,CAAC,UAAe,KAAK,UAAU,CAAC,cAAc,CAAC,KAAK,WAAW,CAChE;sBACD,EAAE,CAAC;AACP,gBAAA,IACE,CAAC,aAAa,CAAC,aAAa,CAAC;AAC3B,oBAAA,4BAA4B,CAAC,MAAM,GAAG,CAAC;oBACzC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EACrD;oBACA,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,cAAmB,KAAI;AACzD,wBAAA,IAAI,cAAc,CAAC,sBAAsB,CAAC,KAAK,cAAc,EAAE;AAC7D,4BAAA,IAAI,cAAc,CAAC,oBAAoB,CAAC,EAAE;gCACxC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC;6BAChE;iCAAM;gCACL,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;6BAC3D;yBACF;wBACD,IAAI,iBAAiB,GAAQ,EAAE,CAAC;wBAChC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE;4BAC7D,cAAc,CAAC,cAAc,CAAC,CAAC,OAAO,CACpC,CAAC,iBAAsB,KAAI;AACzB,gCAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAClB,iBAAiB,CAAC,qBAAqB,CAAC,CACzC,CACF;oCACD,IAAI,CAAC,eAAe,CAClB,iBAAiB,CAAC,qBAAqB,CAAC,CACzC,EACD;oCACA,iBAAiB,CAAC,IAAI,CACpB,iBAAiB,CAAC,qBAAqB,CAAC,CACzC,CAAC;iCACH;AACH,6BAAC,CACF,CAAC;yBACH;wBACD,IACE,cAAc,CAAC,oBAAoB,CAAC;AACpC,4BAAA,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU;AAC1C,+BAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAChF;;AAGA,4BAAA,IAAI,0BAA0B,GAC5B,yBAAyB,CAAC,SAAS,CACjC,CAAC,eAAoB,KACnB,eAAe,CAAC,YAAY,CAAC;gCAC3B,cAAc,CAAC,YAAY,CAAC;gCAC9B,eAAe,CAAC,YAAY,CAAC;AAC3B,oCAAA,aAAa,CAAC,YAAY,CAAC,CAChC,CAAC;AACJ,4BAAA,IAAI,0BAA0B,KAAK,CAAC,CAAC,EAAE;AACrC,gCAAA,IAAI,GAAG,GAAQ;AACb,oCAAA,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;AACvC,oCAAA,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC;AACxC,oCAAA,MAAM,EAAE,EAAE;AACV,oCAAA,gBAAgB,EAAE,CAAC;AACnB,oCAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,oCAAA,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC;iCACvC,CAAC;AACF,gCAAA,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9E,gCAAA,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BACrC;iCAAM;AACL,gCAAA,yBAAyB,CAAC,0BAA0B,CAAC,CACnD,QAAQ,CACT,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;6BACnE;yBACF;6BAAM,IACL,cAAc,CAAC,oBAAoB,CAAC;AACpC,4BAAA,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU;AAC7C,4BAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CACnD,EACD;;AAEA,4BAAA,IAAI,0BAA0B,GAC5B,yBAAyB,CAAC,SAAS,CACjC,CAAC,eAAoB,KACnB,eAAe,CAAC,YAAY,CAAC;gCAC3B,cAAc,CAAC,YAAY,CAAC;gCAC9B,eAAe,CAAC,YAAY,CAAC;AAC3B,oCAAA,aAAa,CAAC,YAAY,CAAC,CAChC,CAAC;AACJ,4BAAA,IAAI,0BAA0B,KAAK,CAAC,CAAC,EAAE;AACrC,gCAAA,IAAI,GAAG,GAAQ;AACb,oCAAA,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;AACvC,oCAAA,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC;AACxC,oCAAA,MAAM,EACJ,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU;AAC3C,0CAAE,IAAI,IAAI,CACN,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CACnD;0CACD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AACxD,oCAAA,gBAAgB,EAAE,CAAC;AACnB,oCAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,oCAAA,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC;iCACvC,CAAC;AACF,gCAAA,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BACrC;iCAAM;AACL,gCAAA,yBAAyB,CAAC,0BAA0B,CAAC,CACnD,QAAQ,CACT;AACC,oCAAA,cAAc,CAAC,cAAc,CAAC,KAAK,UAAU;AAC3C,0CAAE,IAAI,IAAI,CACN,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CACnD;0CACD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;6BAC1D;yBACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DH,qBAAC,CAAC,CAAC;iBACJ;;;AAGH,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,2BAA2B,GAAQ;AACrC,gBAAA,GAAG,IAAI,GAAG,CACR,yBAAyB,CAAC,GAAG,CAAC,CAAC,IAAS,KACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3B,CACF;aACF,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,EAAE;gBAC1D,gBAAgB,GAAG,yBAAyB,CAAC,MAAM,CACjD,CAAC,YAAiB,KAChB,YAAY,CAAC,YAAY,CAAC,KAAK,2BAA2B,CAAC,CAAC,CAAC,CAChE,CAAC;AACF,gBAAA,IAAI,2BAA2B,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC5C,gBAAgB,GAAG,yBAAyB,CAAC,MAAM,CACjD,CAAC,YAAiB,KAChB,YAAY,CAAC,YAAY,CAAC,KAAK,2BAA2B,CAAC,CAAC,CAAC,CAChE,CAAC;iBACH;aACF;YACD,IAAI,iBAAiB,GAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;AAC/C,gBAAA,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;AAC9C,gBAAA,cAAc,CAAC,OAAO,CACpB,uBAAuB,EACvB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CACjC,CAAC;;;aAGH;YACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;AAC/C,gBAAA,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;AAC9C,gBAAA,cAAc,CAAC,OAAO,CACpB,uBAAuB,EACvB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CACjC,CAAC;;;aAGH;SACF;QACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACjC;AAED,IAAA,cAAc,CAAC,IAAY,EAAA;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7D,gBAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACjC;YACD,IACE,IAAI,KAAK,MAAM;AACf,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI;gBAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,EACrC;AACA,gBAAA,UAAU,GAAG,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;AACH,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,UAAU,CAAC;KACnB;IAED,wBAAwB,GAAA;QACtB,IAAI,OAAO,GAAQ,IAAI,CAAC;QACxB,IAAI,iBAAiB,GAAS,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAkB,KAAI;AAC/C,YAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,OAAO,EAAE;gBACpE,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACvD,qBAAC,aAAa,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;wBAC9D,cAAc;AACd,wBAAA,aAAa,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;AAC7D,4BAAA,eAAe,CAAC;AACpB,oBAAA,OAAO,EACP;;oBAEA,IAAI,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,KAAK,MAAM,EAAE;wBACjE,IAAI,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CACvD,CAAC,GAAQ,KAAK,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,CACrD,CAAC;wBACF,IAAI,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CACrD,CAAC,GAAQ,KAAK,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,CACrD,CAAC;AACF,wBAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;AAC5C,4BAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;6BACzC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CACjD;AACC,gCAAA,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CACpD,CAAC,EACJ;4BACA,OAAO,GAAG,KAAK,CAAC;4BAChB,iBAAiB,GAAG,wCAAwC,CAAC;;;;;;;;;;;;;;;;;;;yBAqB9D;qBACF;;oBAED,IAAI,qBAAqB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CAC3D,CAAC,GAAQ,KAAK,GAAG,CAAC,sBAAsB,CAAC,KAAK,KAAK,CACpD,CAAC;AACF,oBAAA,IACE,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,KAAK,IAAI;wBAC3D,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CACpD;AACD,wBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;AAChD,wBAAA,OAAO,EACP;wBACA,OAAO,GAAG,KAAK,CAAC;wBAChB,iBAAiB,GAAG,mCAAmC,CAAC;qBACzD;iBACF;gBAED,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAsB,KAAI;;AAE5D,oBAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;wBAC5C,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;wBAChE,iBAAiB,CAAC,oBAAoB,CAAC;wBACvC,OAAO;AACP,wBAAA,iBAAiB,CAAC,cAAc,CAAC,KAAK,YAAY;AAClD,wBAAA,iBAAiB,CAAC,sBAAsB,CAAC,KAAK,KAAK;AACnD,wBAAA,iBAAiB,CAAC,cAAc,CAAC,KAAK,aAAa;AACnD,wBAAA,iBAAiB,CAAC,sBAAsB,CAAC,KAAK,cAAc;AAC5D,wBAAA,iBAAiB,CAAC,cAAc,CAAC,KAAK,iBAAiB;AACvD,wBAAA,iBAAiB,CAAC,sBAAsB,CAAC,KAAK,MAAM;AACpD,wBAAA,iBAAiB,CAAC,sBAAsB,CAAC,KAAK,MAAM;AACpD,wBAAA,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG;AACxD,wBAAA,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CACtD;;;;AAID,wBAAA,OAAO,EACP;AACA,wBAAA,iBAAiB,GAAG,CAAmC,gCAAA,EAAA,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;wBACtF,OAAO,GAAG,KAAK,CAAC;qBACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCD,oBAAA,IACE,OAAO;wBACP,iBAAiB,CAAC,YAAY,KAAK,aAAa;wBAChD,iBAAiB,CAAC,oBAAoB,CAAC;wBACvC,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAChE,wBAAA,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,GAAG,EAC7C;AACA,wBAAA,IACE,CAAC,OAAO;;;;;;AAMN,4BAAA,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACnD,gCAAA,GAAG;4BACP,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACtD,4BAAA,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CACtD;;;0BAGD;4BACA,OAAO,GAAG,KAAK,CAAC;AAChB,4BAAA,iBAAiB,GAAG,CAAmC,gCAAA,EAAA,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;yBACvF;qBACF;;;;;;;;;;;;;;;;;;;;;;AAuBH,iBAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAqCJ;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;AAC3D,QAAA,cAAc,CAAC,OAAO,CAAC,sCAAsC,EAAE,iBAAiB,CAAC,CAAC;KACnF;AAED,IAAA,yBAAyB,CAAC,QAAc,EAAA;AACtC,QAAA,IAAI,QAAQ,CAAC,sBAAsB,CAAC,KAAK,eAAe,IAAI,QAAQ,CAAC,sBAAsB,CAAC,KAAK,WAAW,EAAG;AAC7G,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;;YAGvD,IAAI,cAAc,GAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAc,KAAK,SAAS,KAAK,aAAa,CAAC,CAAC;AAEnI,YAAA,IACE,cAAc,KAAM,CAAC,CAAC,EACtB;AACA,gBAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAe,KAAK,SAAS,KAAK,aAAa,CAAC,CAAA;aACpM;AACD,YAAA,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;YACtC,IACE,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,YAAY,CAClB,EAAE;gBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,aAAkB,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,EAAG,CAAC,CAAC;aAC5P;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDD,YAAA,IAAI,gBAAgB,GAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;;;;;;;;AAQrF,YAAA,IAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE;gBACjc,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAC9G,CAAC,IAAS,KAAI;;oBAEZ,IAAI,aAAa,GAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;AACnC,wBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,WAAgB,KAAI;AAChC,4BAAA,WAAW,CACT,cAAc,CACf,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,cAAc,CAAC,CAC/C,WAAW,CAAC,YAAY,CAAC,CAC1B,CAAC;AACF,4BAAA,WAAW,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC;AAC1C,4BAAA,WAAW,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;4BAC3C,IACE,CAAC,IAAI,CAAC,mBAAmB,CACvB,WAAW,CAAC,kBAAkB,CAAC,CAChC;gCACD,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,EAC/C;gCACA,WAAW,CAAC,kBAAkB,CAAC,GAAG;oCAChC,WAAW,CAAC,kBAAkB,CAAC;iCAChC,CAAC;6BACH;AACD,4BAAA,IACE,WAAW,CAAC,cAAc,CAAC,KAAK,UAAU;gCAC1C,CAAC,IAAI,CAAC,mBAAmB,CACvB,WAAW,CAAC,kBAAkB,CAAC,CAChC,EACD;gCACA,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,CACrC,CAAC,yBAA8B,KAAI;AACjC,oCAAA,IAAI,kBAAkB,GAAQ,IAAI,CAAC,MAAM,CACvC,CAAC,MAAW,KACV,MAAM,CAAC,YAAY,CAAC;AACpB,wCAAA,yBAAyB,CAAC,gBAAgB,CAAC,CAC9C,CAAC;AACF,oCAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,wCAAA,kBAAkB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;4CACpC,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;qCACpD;AACH,iCAAC,CACF,CAAC;6BACH;;;;;;;;;;;;4BAYD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE;gCACrD,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;6BAC9C;4BACD,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpD,yBAAC,CAAC,CAAC;AACH,wBAAA,IAAI,CAAC,IAAI,CACP,CAAC,CAAM,EAAE,CAAM,KACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CACjE,CAAC;wBACF,aAAa,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,GAAQ,KAAI;AAC7C,4BAAA,IAAI,WAAW,GAAQ,IAAI,CAAC,MAAM,CAChC,CAAC,cAAmB,KAAK,cAAc,CAAC,WAAW,CAAC,KAAK,KAAK,CAC/D,CAAC;AACF,4BAAA,IAAI,GAAG,GAAQ;gCACb,IAAI,EAAE,IAAI,GAAG,GAAG;AAChB,gCAAA,SAAS,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;AAC/C,sCAAE,WAAW;AACb,sCAAE,EAAE;AACN,gCAAA,WAAW,EAAE,CAAC,IAAI,CAAC,mBAAmB,CACpC,WAAW,CACZ;AACC,sCAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACzB,sCAAE,EAAE;gCACN,UAAU,EAAE,IAAI,CAAC,UAAU;AAC3B,gCAAA,oBAAoB,EAAE,IAAI;AAC1B,gCAAA,WAAW,EAAE,IAAI;6BAClB,CAAC;AACF,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,yBAAC,CAAC,CAAC;AACH,wBAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;;;wBAGxC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;qBACpI;oBACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;AACjC,iBAAC,EACD,CAAC,GAAQ,KAAI;;AAEb,iBAAC,CACF,CAAC;aACH;SACF;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAA;KAC/B;AACD,IAAA,qBAAqB,CAAC,KAAoC,EAAA;QACxD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;KAC/B;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KACzB;IAED,wBAAwB,GAAA;AACpB,QAAA,IACE,IAAI,CAAC,eAAe,CAClB,4BAA4B,CAC7B,KAAK,MAAM;AACZ,YAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAClB,6BAA6B,CAC9B,CACF,EACD;YACA,IAAI,cAAc,GAAQ,CACxB,UAAU,CACR,IAAI,CAAC,eAAe,CAClB,6BAA6B,CAC9B,CACF,GAAG,QAAQ,EACZ,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,YAAY,GACd,UAAU,CACR,CAAC,cAAc,GAAG,EAAE;AACjB,iBAAA,QAAQ,EAAE;iBACV,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,GAAG,EAAE;kBACF,CAAC,cAAc,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;kBAChC,CAAC,cAAc,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACvC,YAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CACvB,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACtC,EACD;AACA,gBAAA,IAAI,CAAC,eAAe,CAClB,0BAA0B,CAC3B,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C;AACD,YAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CACvB,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACtC,EACD;AACA,gBAAA,IAAI,CAAC,eAAe,CAClB,6BAA6B,CAC9B;AACC,oBAAA,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;AAC9C,wBAAA,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;AAC9C,wBAAA,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;AAC5C,0BAAE,YAAY;AACT,6BAAA,QAAQ,EAAE;AACV,6BAAA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;6BACb,MAAM,CAAC,CAAC,CAAC;AACd,0BAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7C;SACF;AAAM,aAAA,IACL,IAAI,CAAC,eAAe,CAClB,4BAA4B,CAC7B,KAAK,IAAI;YACV,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAClB,0BAA0B,CAC3B,CACF;AACD,YAAA,CAAC,IAAI,CAAC,mBAAmB,CACvB,IAAI,CAAC,eAAe,CAClB,6BAA6B,CAC9B,CACF,EACD;AACA,YAAA,IAAI,cAAc,GAChB,UAAU,CACR,UAAU,CACR,IAAI,CAAC,eAAe,CAClB,0BAA0B,CAC3B,CACF,CAAC,QAAQ,EAAE;gBACV,GAAG;AACH,gBAAA,UAAU,CACR,IAAI,CAAC,eAAe,CAClB,6BAA6B,CAC9B,CACF,CAAC,QAAQ,EAAE,CACf,GAAG,EAAE,CAAC;AACT,YAAA,IAAI,UAAU,GAAQ,CACpB,UAAU,CAAC,cAAc,CAAC,GAAG,QAAQ,EACrC,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,YAAA,IAAI,CAAC,eAAe,CAClB,6BAA6B,CAC9B,GAAG,UAAU,CAAC;SAChB;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;wGA30FQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvCrC,kzTAmQA,EAAA,MAAA,EAAA,CAAA,06BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED7OI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,YAAY,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,EAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,uBAAuB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACvB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,eAAe,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAtBpC,SAAS;+BACE,sBAAsB,EAAA,UAAA,EACpB,IAAI,EAEP,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,gBAAgB;wBAChB,cAAc;wBACd,iBAAiB;wBACjB,eAAe;wBACf,YAAY;wBACZ,eAAe;wBACf,uBAAuB;wBACvB,gBAAgB;wBAChB,eAAe;wBACf,oBAAoB;AACrB,qBAAA,EAAA,QAAA,EAAA,kzTAAA,EAAA,MAAA,EAAA,CAAA,06BAAA,CAAA,EAAA,CAAA;oGAW0B,YAAY,EAAA,CAAA;sBAAtC,SAAS;uBAAC,cAAc,CAAA;;;MEpCd,kBAAkB,CAAA;AAC/B,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,+qBAYM,EAAA,MAAA,EAAA,CAAA,qxBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDNM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACd,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,+qBAAA,EAAA,MAAA,EAAA,CAAA,qxBAAA,CAAA,EAAA,CAAA;;;MEMZ,oBAAoB,CAAA;AACjC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,ECZjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,sbAMsB,EDEV,MAAA,EAAA,CAAA,6jBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,oBAAoB,0NAAG,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIlC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAChB,IAAI,EAAA,OAAA,EACP,CAAC,oBAAoB,EAAG,YAAY,CAAC,EAAA,QAAA,EAAA,sbAAA,EAAA,MAAA,EAAA,CAAA,6jBAAA,CAAA,EAAA,CAAA;;;MEGnC,kBAAkB,CAAA;AAC7B,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACtC,aAAa,GAAA;AACX,QAAA,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;KAC7B;IAED,aAAa,GAAA;AACX,QAAA,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;KAC7B;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE;;SAEf;aAAM;;SAEN;KACF;wGAjBY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,ECX/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+xDAkDgB,ED3CJ,MAAA,EAAA,CAAA,qmCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,kuBAAG,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIhC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,cACb,IAAI,EAAA,OAAA,EACP,CAAC,kBAAkB,EAAG,YAAY,CAAC,EAAA,QAAA,EAAA,+xDAAA,EAAA,MAAA,EAAA,CAAA,qmCAAA,CAAA,EAAA,CAAA;;;MEIjC,6BAA6B,CAAA;AACvB,IAAA,aAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAG;AACxD,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AACzB,IAAA,OAAO,GAAQ,CAAC;AAC5B,YAAA,KAAK,EAAC,MAAM;AACZ,YAAA,KAAK,EAAC,YAAY;AACjB,SAAA;AACD,QAAA;AACA,YAAA,KAAK,EAAC,MAAM;AACZ,YAAA,KAAK,EAAC,aAAa;AAClB,SAAA;KACA,CAAC;wGAXW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX1C,gkDAkCA,EAAA,MAAA,EAAA,CAAA,++BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3BY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAC1B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,gkDAAA,EAAA,MAAA,EAAA,CAAA,++BAAA,CAAA,EAAA,CAAA;sFAOb,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEJI,kBAAkB,CAAA;AAC/B,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADtB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,oUAMA,EAAA,MAAA,EAAA,CAAA,oNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACd,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,oUAAA,EAAA,MAAA,EAAA,CAAA,oNAAA,CAAA,EAAA,CAAA;;;MEoBZ,aAAa,CAAA;AACxB,IAAA,WAAA,GAAA,GAAgB;IAChB,eAAe,GAAG,KAAK,CAAC;AACxB,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,UAAU,GAAQ,IAAI,CAAC;AAEvB,IAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACzB,IAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;AAE1B,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,QAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,gBAAgB,CAAC,KAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;;;;;;;;;;;;;;;;;;;;;;;IAyBH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;KAC9C;wGA1DY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,uMC1B1B,87BA+BA,EAAA,MAAA,EAAA,CAAA,m5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjBI,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,kBAAkB,EAClB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,qBAAqB,EACrB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,8BACd,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,+PACZ,mBAAmB,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKV,aAAa,EAAA,UAAA,EAAA,CAAA;kBAhBzB,SAAS;+BACE,UAAU,EAAA,UAAA,EACR,IAAI,EACP,OAAA,EAAA;wBACP,eAAe;wBACf,kBAAkB;wBAClB,qBAAqB;wBACrB,cAAc;wBACd,WAAW;wBACX,eAAe;wBACf,YAAY;wBACZ,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,87BAAA,EAAA,MAAA,EAAA,CAAA,m5BAAA,CAAA,EAAA,CAAA;;;MEVU,yBAAyB,CAAA;AAUjB,IAAA,mBAAA,CAAA;AATnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AACnC,IAAA,gBAAgB,GAAG,KAAK,EAAU,CAAC;AACnC,IAAA,YAAY,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACrC,IAAA,iBAAiB,GAAG,KAAK,CAAS,IAAI,CAAC,CAAC;IACxC,YAAY,GAAG,MAAM,EAAO,CAAC;AAC7B,IAAA,aAAa,CAAM;IACnB,iBAAiB,GAAG,CAAC,CAAC,CAAC;AACf,IAAA,iBAAiB,CAAM;AAE/B,IAAA,WAAA,CAAmB,mBAAyC,EAAA;QAAzC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAsB;;QAE1D,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1C,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE;AAC1C,gBAAA,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;aACxC;AACH,SAAC,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;QAClK,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;;AAG5B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;IAED,WAAW,GAAA;;AAET,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACvC;KACF;IAED,sBAAsB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE;AAC5B,YAAA,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;;;YAIzB,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;;AAG5F,YAAA,IAAI,eAAe,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE;gBAChD,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAS,KAC7D,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK;oBACxC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAClC,CAAC;aACH;;AAGD,YAAA,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;gBAC1B,eAAe,GAAG,CAAC,CAAC;aACrB;AAED,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,KAAa,KAAI;;AAE5D,gBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;AAChC,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;;AAGD,gBAAA,IAAI,KAAK,GAAG,eAAe,EAAE;;AAE3B,oBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,oBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB;AAAM,qBAAA,IAAI,KAAK,KAAK,eAAe,EAAE;;AAEpC,oBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,oBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,oBAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;iBAChC;qBAAM;;AAEL,oBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;AACH,aAAC,CAAC,CAAC;SACJ;KACF;IAED,WAAW,CAAC,IAAS,EAAE,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,YAAA,MAAM,QAAQ,GAAG;AACf,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,IAAI,CAAC,YAAY;AACxB,gBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY;aACvC,CAAC;AACF,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClC;KACF;AAED,IAAA,cAAc,CAAC,KAAa,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,iBAAiB,KAAK,KAAK,CAAC;KACzC;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;;;QAG3B,OAAO,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KAC5G;IAED,oBAAoB,CAAC,IAAS,EAAE,KAAa,EAAA;;AAE3C,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;KACjC;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;;AAE3B,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AAC/D,YAAA,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC;SAC7D;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,YAAY,CAAC,KAAa,EAAA;;AAExB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AAC/D,YAAA,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;SAC1D;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAED,oBAAoB,GAAA;;AAElB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;AAC3D,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpE,IAAI,UAAU,EAAE;AACd,gBAAA,MAAM,QAAQ,GAAG;AACf,oBAAA,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,IAAI,CAAC,iBAAiB;oBAC7B,KAAK,EAAE,UAAU,CAAC,YAAY;AAC9B,oBAAA,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,YAAY;iBACnD,CAAC;AACF,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClC;SACF;KACF;;IAGD,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;SAC7C;KACF;;IAGD,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;SAC7C;KACF;;AAGD,IAAA,UAAU,CAAC,SAAiB,EAAA;AAC1B,QAAA,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE;;AAEjE,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,KAAa,KAAI;AAC5D,gBAAA,IAAI,KAAK,GAAG,SAAS,EAAE;;AAErB,oBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,oBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB;AAAM,qBAAA,IAAI,KAAK,KAAK,SAAS,EAAE;;AAE9B,oBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,oBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB;qBAAM;;AAEL,oBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;AACH,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;;AAGnC,YAAA,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;AACzC,gBAAA,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,YAAY;gBACvD,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,YAAY;aACrG,CAAC;AACF,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClC;KACF;;IAGD,8BAA8B,GAAA;QAC5B,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;;AAE/F,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;AACpE,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;;YAGlE,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;KACF;;AAGD,IAAA,sBAAsB,CAAC,SAAiB,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE;AAC5B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAS,KAC7D,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAC5D,CAAC;YAEF,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,KAAK,IAAI,CAAC,iBAAiB,EAAE;AAC1D,gBAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aAC5B;SACF;KACF;;IAGD,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACvC;AAED,QAAA,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,MAAK;YACxC,IAAI,CAAC,cAAc,EAAE,CAAC;;AAGtB,YAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjE,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;AACH,SAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KAC9B;IAED,mBAAmB,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;KACF;;IAGD,gBAAgB,GAAA;QACd,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEnB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;wGA7PU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,ECZtC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,k1DA0CM,EDlCM,MAAA,EAAA,CAAA,s9DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,whBAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAI7B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cACtB,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,k1DAAA,EAAA,MAAA,EAAA,CAAA,s9DAAA,CAAA,EAAA,CAAA;;;MEE9B,uBAAuB,CAAA;AACpC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVpC,obAOM,EAAA,MAAA,EAAA,CAAA,0RAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDDM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACpB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,obAAA,EAAA,MAAA,EAAA,CAAA,0RAAA,CAAA,EAAA,CAAA;;;MEIZ,kBAAkB,CAAA;AAC/B,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IAEpC,eAAe,GAAG,KAAK,CAAC;AACxB,IAAA,UAAU,GAAC;AACT,QAAA,OAAO,EAAC;YACN,EAAC,KAAK,EAAC,EAAE;AACP,gBAAA,KAAK,EAAC,EAAE;AACT,aAAA;AACF,SAAA;AACH,QAAA,UAAU,EAAC;AACT,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,uBAAuB,EAAC,EAAE;AAC1B,YAAA,iBAAiB,EAAC,EAAE;AACpB,YAAA,oBAAoB,EAAC,EAAE;AACvB,YAAA,kBAAkB,EAAC,EAAE;AACrB,YAAA,QAAQ,EAAC,EAAE;AACZ,YAAA,eAAe,EAAC,EAAE;AAClB,SAAA;KAAC,CAAC;IAEH,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KAC9B;wGAvBY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,uwEAyDS,EAAA,MAAA,EAAA,CAAA,klBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjDG,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACd,UAAA,EAAA,IAAI,EAGP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,uwEAAA,EAAA,MAAA,EAAA,CAAA,klBAAA,CAAA,EAAA,CAAA;;;MECZ,eAAe,CAAA;AAC5B,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;wGADvB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,yMCT5B,w5GAuCU,EAAA,MAAA,EAAA,CAAA,g6BAAA,CAAA,EAAA,CAAA,CAAA;;4FD9BG,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;+BACE,YAAY,EAAA,UAAA,EACV,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,w5GAAA,EAAA,MAAA,EAAA,CAAA,g6BAAA,CAAA,EAAA,CAAA;;;MEKA,0BAA0B,CAAA;AACvC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;AAEpC,IAAA,UAAU,GAAG;AACX,QAAA,UAAU,EAAC;AACX,YAAA,MAAM,EAAC,IAAI;AACV,SAAA;AACD,QAAA,OAAO,EAAE,EAGP;KACH,CAAC;IAEF,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KAC9B;wGAhBY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVvC,sbAaA,EAAA,MAAA,EAAA,CAAA,mjBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDPY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EACvB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,sbAAA,EAAA,MAAA,EAAA,CAAA,mjBAAA,CAAA,EAAA,CAAA;;;MEMZ,6BAA6B,CAAA;AACxC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AACxB,IAAA,aAAa,GAAG,IAAI,YAAY,EAAO,CAAC;AACnD,IAAA,WAAA,GAAA,GAAgB;IAEhB,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;wGAPU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ1C,s4DA0BA,EAAA,MAAA,EAAA,CAAA,8pBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKH,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBATzC,SAAS;+BACE,6BAA6B,EAAA,UAAA,EAC3B,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;AACb,qBAAA,EAAA,QAAA,EAAA,s4DAAA,EAAA,MAAA,EAAA,CAAA,8pBAAA,CAAA,EAAA,CAAA;wDAMU,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;MEWG,iCAAiC,CAAA;AAurBzB,IAAA,aAAA,CAAA;AAtrBnB,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AACnC,IAAA,cAAc,GAAQ,KAAK,CAAM,EAAE,CAAC,CAAC;AACrC,IAAA,cAAc,GAAS;AACrB,QAAA,SAAS,EAAG,EAAE;AACd,QAAA,WAAW,EAAE,EAAE;KAChB,CAAC;AACF,IAAA,oBAAoB,GAAS;AAC3B,QAAA,SAAS,EAAG,EAAE;AACd,QAAA,WAAW,EAAE,EAAE;KAChB,CAAC;AACQ,IAAA,sBAAsB,GAAG,IAAI,YAAY,EAAO,CAAC;AACjD,IAAA,sBAAsB,GAAG,IAAI,YAAY,EAAO,CAAC;AACjD,IAAA,sBAAsB,GAAG,IAAI,YAAY,EAAO,CAAC;AACjD,IAAA,2BAA2B,GAAG,IAAI,YAAY,EAAO,CAAC;AACtD,IAAA,uBAAuB,GAAG,IAAI,YAAY,EAAO,CAAC;AAC5D,IAAA,WAAW,GAAS;AAClB,QAAA,cAAc,EAAG,KAAK;KACvB,CAAA;IACD,iBAAiB,GAAS,KAAK,CAAC;IAChC,wBAAwB,GAAQ,IAAI,CAAC;AACrC,IAAA,uBAAuB,GAAQ;AAC7B,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,MAAM,EAAE,+CAA+C;AACvD,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,UAAU,EAAE;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,eAAe,EAAE,4BAA4B;AAC7C,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,EAAE;AACnB,SAAA;AACD,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EACN,mGAAmG;AACrG,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,YAAY,EAAE;AACZ,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,YAAY,EAAE,OAAO;AACrB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,iBAAiB,EAAE,SAAS;AAC5B,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,+CAA+C;AAC9D,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,UAAU,EAAE;AACV,YAAA,SAAS,EAAE,eAAe;AAC3B,SAAA;AACD,QAAA,aAAa,EAAE,IAAI;KACpB,CAAC;AAEF,IAAA,sBAAsB,GAAQ;AAC5B,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,6BAA6B,EAAE,EAAE;KAGlC,CAAC;AAEF,IAAA,iBAAiB,GAAQ;AACvB,QAAA,YAAY,EAAE;AACZ,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,iBAAiB,EAAE,SAAS;AAC5B,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,gDAAgD;AAC/D,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,SAAS,EAAE,gBAAgB;AAC3B,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,MAAM,EAAE,gDAAgD;AACxD,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,IAAI;AACrB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA;AACE,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,KAAK,EAAE,SAAS;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,KAAK,EAAE,UAAU;AAClB,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,KAAK,EAAE,WAAW;AACnB,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,KAAK,EAAE,aAAa;AACrB,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,KAAK,EAAE,QAAQ;AAChB,aAAA;AACF,SAAA;AACD,QAAA,QAAQ,EAAE,gEAAgE;AAC1E,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,UAAU,EAAE;AACV,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,0BAA0B,EAAE,IAAI;AACjC,SAAA;AACD,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,WAAW,EAAE,eAAe;KAC7B,CAAC;AAEF,IAAA,uBAAuB,GAAQ;AAC7B,QAAA,YAAY,EAAE;AACZ,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,iBAAiB,EAAE,SAAS;AAC5B,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EACX,gEAAgE;AAClE,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,SAAS,EAAE,gCAAgC;AAC3C,QAAA,KAAK,EAAE,sBAAsB;AAC7B,QAAA,WAAW,EAAE,sBAAsB;AACnC,QAAA,MAAM,EAAE,gEAAgE;AACxE,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,eAAe,EAAE,sBAAsB;AACvC,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,IAAI;AACrB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA;AACE,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,KAAK,EAAE,SAAS;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,KAAK,EAAE,UAAU;AAClB,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,KAAK,EAAE,WAAW;AACnB,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,KAAK,EAAE,aAAa;AACrB,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,KAAK,EAAE,QAAQ;AAChB,aAAA;AACF,SAAA;AACD,QAAA,QAAQ,EACN,0FAA0F;AAC5F,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,UAAU,EAAE;AACV,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,0BAA0B,EAAE,IAAI;AACjC,SAAA;AACD,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,WAAW,EAAE,eAAe;KAC7B,CAAC;AAEF,IAAA,kBAAkB,GAAQ;AACxB,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,KAAK,EAAE,4CAA4C;AACnD,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,MAAM,EAAE,sCAAsC;AAC9C,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,UAAU,EAAE;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,eAAe,EAAE,4BAA4B;AAC7C,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,EAAE;AACnB,SAAA;AACD,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,mDAAmD;AAC7D,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,YAAY,EAAE;AACZ,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,iBAAiB,EAAE,SAAS;AAC5B,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,iDAAiD;AAChE,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,aAAa,EAAE,IAAI;KACpB,CAAC;AAEF,IAAA,iBAAiB,GAAQ;AACvB,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,SAAS,EAAE,wBAAwB;AACnC,QAAA,KAAK,EAAE,0BAA0B;AACjC,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,MAAM,EAAE,iDAAiD;AACzD,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,UAAU,EAAE;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,eAAe,EAAE,4BAA4B;AAC7C,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,EAAE;AACnB,SAAA;AACD,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,+CAA+C;AACzD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,YAAY,EAAE;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,iDAAiD;AAChE,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,aAAa,EAAE,IAAI;KACpB,CAAC;AAEF,IAAA,oBAAoB,GAAQ;AAC1B,QAAA,YAAY,EAAE;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,KAAK,EAAE,4BAA4B;AACnC,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,MAAM,EAAE,4DAA4D;AACpE,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,UAAU,EAAE;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,eAAe,EAAE,4BAA4B;AAC7C,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,EAAE;AACnB,SAAA;AACD,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EACN,yEAAyE;AAC3E,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,WAAW,EAAE,oBAAoB;KAClC,CAAC;AAEF,IAAA,kBAAkB,GAAQ;AACxB,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,MAAM,EAAE,0CAA0C;AAClD,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,UAAU,EAAE;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,eAAe,EAAE,4BAA4B;AAC7C,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,EAAE;AACnB,SAAA;AACD,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,oDAAoD;AAC9D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,YAAY,EAAE;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,0CAA0C;AACzD,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,aAAa,EAAE,IAAI;KACpB,CAAC;AAEF,IAAA,mBAAmB,GAAM;AACX,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,OAAO,EAAE,yBAAyB;AAClC,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,QAAQ,EAAE,oCAAoC;AAC9C,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,YAAY,EAAE;AACZ,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,iBAAiB,EAAE,4BAA4B;AAC/C,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,WAAW,EAAE,GAAG;AAChB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,gBAAgB,EAAE,EAAE;AACrB,SAAA;AACD,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,UAAU,EAAE,mDAAmD;AAC/D,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,cAAc,EAAE;AACd,YAAA,aAAa,EAAE,OAAO;AACtB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,kBAAkB,EAAE,SAAS;AAC7B,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,4BAA4B,EAAE,IAAI;AAClC,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,+BAA+B,EAAE,IAAI;AACrC,YAAA,iCAAiC,EAAE,IAAI;AACvC,YAAA,kBAAkB,EAAE,SAAS;AAC7B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,cAAc,EAAE,SAAS;AACzB,YAAA,mBAAmB,EAAE,SAAS;AAC9B,YAAA,kBAAkB,EAAE,SAAS;AAC7B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,eAAe,EAAE,oCAAoC;AACrD,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA;AACD,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,eAAe,EAAE,IAAI;KAClC,CAAC;AAEF,IAAA,WAAA,CAAmB,aAAoC,EAAA;QAApC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;KAAI;AAE3D,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAAG;AACpH,YAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE;;gBAE1E,IAAI,CAAC,cAAc,GAAG;oBACpB,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC;oBACtD,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;iBAC3D,CAAC;AAEF,gBAAA,IAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;AAC7D,oBAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;iBACnF;AACD,gBAAA,IAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE;AACrE,oBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;iBACjH;AACD,gBAAA,IAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;AAC3D,oBAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;iBAC/E;aACF;AAED,YAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE;;gBAE1E,IAAI,CAAC,oBAAoB,GAAG;oBAC1B,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC;oBACtD,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;iBAC3D,CAAC;AAEF,gBAAA,IAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;AAC7D,oBAAA,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;iBACzF;AACD,gBAAA,IAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE;AACrE,oBAAA,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;iBACvH;AACD,gBAAA,IAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;AAC3D,oBAAA,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;iBACrF;aACF;AAED,YAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,sBAAsB,CAAC,EAAE;;gBAEzF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,sBAAsB,CAAC;aAC7E;AAED,YAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,EAAE;AAEnF,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,EAAE;AACnG,oBAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;iBACjG;AAED,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE;AAC5F,oBAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;iBACnF;AACD,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,EAAE;AAChG,oBAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;iBAC3F;aACF;;AAID,YAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,EAAE;AACnF,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE;AAC9F,oBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;iBAC1F;aAGF;AAED,YAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,EAAE;AAElF,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC,EAAE;AAClG,oBAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;iBAClG;AAED,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE;AAC3F,oBAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;iBACpF;AACD,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE;AAC/F,oBAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;iBAC3F;aACF;AAED,YAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC,EAAE;AAEhF,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE;AAC7F,oBAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;iBAC1F;AAED,gBAAA,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE;AAC7F,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;iBACpF;aAEF;SAEF;KACF;IAED,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;AACxC,QAAA,IAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE;AAC3E,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;SACxC;AACD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;KACpC;IAED,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;KACpC;AAED,IAAA,2BAA2B,CAAC,KAAU,EAAA;AACpC,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;AACxC,QAAA,IAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE;AAC3E,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;SACxC;AACD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;AACD,IAAA,uBAAuB,CAAC,KAAU,EAAA;AAChC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAClC,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9C;AAED,IAAA,4BAA4B,CAAC,KAAW,EAAA;AACtC,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;AAED,IAAA,wBAAwB,CAAC,KAAU,EAAA;KAClC;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;AACxC,QAAA,IAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE;AAC3E,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;SACxC;KACF;wGA9zBU,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,ECzB9C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,mnPAkIA,EDpHI,MAAA,EAAA,CAAA,gxHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,4HACf,sBAAsB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,mBAAmB,EACnB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EACd,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,kIACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKF,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAf7C,SAAS;+BACE,gCAAgC,EAAA,UAAA,EAC9B,IAAI,EACP,OAAA,EAAA;wBACP,eAAe;wBACf,sBAAsB;wBACtB,eAAe;wBACf,mBAAmB;wBACnB,cAAc;wBACd,YAAY;wBACZ,WAAW;AACZ,qBAAA,EAAA,QAAA,EAAA,mnPAAA,EAAA,MAAA,EAAA,CAAA,gxHAAA,CAAA,EAAA,CAAA;sFAeS,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;gBACG,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;gBACG,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;gBACG,2BAA2B,EAAA,CAAA;sBAApC,MAAM;gBACG,uBAAuB,EAAA,CAAA;sBAAhC,MAAM;;;ME9BI,qBAAqB,CAAA;AAChC,IAAA,KAAK,GAAS,KAAK,CAAC,QAAQ,EAAO,CAAC;IACpC,QAAQ,GAAW,EAAE,CAAC;AACtB,IAAA,cAAc,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;KACnD;wGALU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVlC,wwBAeA,EAAA,MAAA,EAAA,CAAA,6nCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDTY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACjB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wwBAAA,EAAA,MAAA,EAAA,CAAA,6nCAAA,CAAA,EAAA,CAAA;;;MEgKZ,sBAAsB,CAAA;AACjC,IAAA,KAAK,GAAQ,KAAK,CAAC,QAAQ,EAAO,CAAC;AAC1B,IAAA,SAAS,GAAc,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;AAClD,IAAA,WAAA,GAAA,GAAgB;wGAHL,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,ECtKnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,gwMA+PA,ED1KI,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,+BACX,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,cAAc,EACd,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,yLACf,YAAY,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,aAAa,EACb,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,4HACjB,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,YAAY,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,qBAAqB,EACrB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,EACvB,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,+GACtB,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,sBAAsB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,sBAAsB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,qBAAqB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,qBAAqB,EACrB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,mFACvB,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,yBAAyB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzB,wBAAwB,EACxB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,qFACzB,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,8BAA8B,EAC9B,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,4BAA4B,EAC5B,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,8EACnB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,gBAAgB,EAChB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,EACb,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,0BAA0B,EAC1B,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,kHACzB,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,eAAe,EACf,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,4EACjB,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,eAAe,EACf,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,oFACxB,wBAAwB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,sBAAsB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,kBAAkB,EAClB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,uJACrB,mBAAmB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,eAAA,EAAA,SAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,uBAAuB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,sBAAsB,EACtB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,+EACnB,uBAAuB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,wBAAwB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,kBAAkB,EAClB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,6EAClB,6BAA6B,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC7B,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,aAAa,EACb,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,EACzB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,oFACvB,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,0BAA0B,EAC1B,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,6BAA6B,EAC7B,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iCAAiC,mQAEjC,qBAAqB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKZ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBArFlC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,WAAW;wBACX,gBAAgB;wBAChB,eAAe;wBACf,cAAc;wBACd,eAAe;wBACf,eAAe;wBACf,YAAY;wBACZ,kBAAkB;wBAClB,aAAa;wBACb,iBAAiB;wBACjB,iBAAiB;wBACjB,eAAe;wBACf,YAAY;wBACZ,qBAAqB;wBACrB,uBAAuB;wBACvB,sBAAsB;wBACtB,mBAAmB;wBACnB,sBAAsB;wBACtB,sBAAsB;wBACtB,qBAAqB;wBACrB,qBAAqB;wBACrB,gBAAgB;wBAChB,uBAAuB;wBACvB,oBAAoB;wBACpB,yBAAyB;wBACzB,wBAAwB;wBACxB,oBAAoB;wBACpB,yBAAyB;wBACzB,oBAAoB;wBACpB,kBAAkB;wBAClB,8BAA8B;wBAC9B,4BAA4B;wBAC5B,mBAAmB;wBACnB,mBAAmB;wBACnB,cAAc;wBACd,gBAAgB;wBAChB,aAAa;wBACb,eAAe;wBACf,0BAA0B;wBAC1B,yBAAyB;wBACzB,cAAc;wBACd,kBAAkB;wBAClB,eAAe;wBACf,wBAAwB;wBACxB,iBAAiB;wBACjB,oBAAoB;wBACpB,cAAc;wBACd,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,wBAAwB;wBACxB,sBAAsB;wBACtB,kBAAkB;wBAClB,eAAe;wBACf,qBAAqB;wBACrB,mBAAmB;wBACnB,uBAAuB;wBACvB,sBAAsB;wBACtB,wBAAwB;wBACxB,mBAAmB;wBACnB,uBAAuB;wBACvB,wBAAwB;wBACxB,kBAAkB;wBAClB,oBAAoB;wBACpB,kBAAkB;wBAClB,6BAA6B;wBAC7B,kBAAkB;wBAClB,aAAa;wBACb,yBAAyB;wBACzB,uBAAuB;wBACvB,kBAAkB;wBAClB,eAAe;wBACf,0BAA0B;wBAC1B,6BAA6B;wBAC7B,iCAAiC;wBACjC,oBAAoB;wBACpB,qBAAqB;AACxB,qBAAA,EAAA,QAAA,EAAA,gwMAAA,EAAA,CAAA;wDAMU,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AExKR;;AAEG;;ACFH;;AAEG;;;;"}
|