@carefirst/library 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"carefirst-library.mjs","sources":["../../../../projects/carefirst/library/src/lib/directives/button-loader.directive.ts","../../../../projects/carefirst/library/src/lib/utils/attribute.util.ts","../../../../projects/carefirst/library/src/lib/components/page/page.component.ts","../../../../projects/carefirst/library/src/lib/components/page/page.component.html","../../../../projects/carefirst/library/src/lib/interfaces/icon.interface.ts","../../../../projects/carefirst/library/src/lib/components/icon/icon.component.ts","../../../../projects/carefirst/library/src/lib/components/icon/icon.component.html","../../../../projects/carefirst/library/src/lib/components/button/button.component.ts","../../../../projects/carefirst/library/src/lib/components/button/button.component.html","../../../../projects/carefirst/library/src/lib/components/spacer/spacer.component.ts","../../../../projects/carefirst/library/src/lib/components/spacer/spacer.component.html","../../../../projects/carefirst/library/src/lib/components/notification/notification.component.ts","../../../../projects/carefirst/library/src/lib/components/notification/notification.component.html","../../../../projects/carefirst/library/src/lib/components/alert/alert.component.ts","../../../../projects/carefirst/library/src/lib/components/alert/alert.component.html","../../../../projects/carefirst/library/src/lib/components/logo/logo.component.ts","../../../../projects/carefirst/library/src/lib/components/logo/logo.component.html","../../../../projects/carefirst/library/src/lib/components/calendar/calendar.component.ts","../../../../projects/carefirst/library/src/lib/components/calendar/calendar.component.html","../../../../projects/carefirst/library/src/lib/components/form-validation/form-validation.component.ts","../../../../projects/carefirst/library/src/lib/components/form-validation/form-validation.component.html","../../../../projects/carefirst/library/src/lib/components/form-input/form-input.component.ts","../../../../projects/carefirst/library/src/lib/components/form-input/form-input.component.html","../../../../projects/carefirst/library/src/lib/components/form-input-select/form-input-select.component.ts","../../../../projects/carefirst/library/src/lib/components/form-input-select/form-input-select.component.html","../../../../projects/carefirst/library/src/lib/components/form-input-text-area/form-input-text-area.component.ts","../../../../projects/carefirst/library/src/lib/components/form-input-text-area/form-input-text-area.component.html","../../../../projects/carefirst/library/src/lib/components/chat-bubble/chat-bubble.component.ts","../../../../projects/carefirst/library/src/lib/components/chat-bubble/chat-bubble.component.html","../../../../projects/carefirst/library/src/lib/components/badge/badge.component.ts","../../../../projects/carefirst/library/src/lib/components/badge/badge.component.html","../../../../projects/carefirst/library/src/lib/components/spinner/spinner.component.ts","../../../../projects/carefirst/library/src/lib/components/spinner/spinner.component.html","../../../../projects/carefirst/library/src/lib/components/verification-code/verification-code.component.ts","../../../../projects/carefirst/library/src/lib/components/verification-code/verification-code.component.html","../../../../projects/carefirst/library/src/lib/library.module.ts","../../../../projects/carefirst/library/src/lib/utils/form-validators-utility.ts","../../../../projects/carefirst/library/src/lib/interfaces/spacer.interface.ts"],"sourcesContent":["/**\n * Button Loader Directive\n *\n * @file button-loader.directive\n * @description HTML directive used to disable a button while loading\n * @author Jacques Coetzee\n * @since 2022 - 07 - 22\n * @usage Add to any HTML tag: *cfButtonLoader=\"true\"\n */\n\nimport { Component, Directive, Input, Renderer2, TemplateRef, ViewContainerRef, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[cfButtonLoader]',\n})\nexport class ButtonLoaderDirective {\n /**----------------------------------------------------------------\n * @name Constructor\n */\n constructor(\n private templateRef: TemplateRef<HTMLElement>,\n private renderer: Renderer2,\n private viewContainer: ViewContainerRef,\n private elementRef: ElementRef<HTMLElement>\n ) {}\n\n /**----------------------------------------------------------------\n * @name cfButtonLoader\n * @description Displays a loading overlay and disables a button\n * @param {boolean} loading\n */\n @Input() set cfButtonLoader(loading: boolean) {\n //--- Clear HTML container\n this.viewContainer.clear();\n //--- Reattach element as child\n this.viewContainer.createEmbeddedView(this.templateRef);\n if (loading) {\n //--- Add loading spinner\n this.viewContainer.createComponent(SpinnerComponent);\n //--- Set parent container position to relative\n this.renderer.setStyle(this.elementRef.nativeElement.parentElement, 'position', 'relative');\n }\n }\n}\n\n/**==================================================================\n * @class SpinnerComponent\n * @description The spinner component used to render an ion-spinner on the button\n * @author Jacques Coetzee\n * @since 2022 - 07 - 22\n * ===== */\n\n@Component({\n template: '<div class=\"loading-spinner\"></div>',\n styles: [\n `\n @keyframes spinner {\n to {\n transform: rotate(360deg);\n }\n }\n\n .loading-spinner {\n position: absolute;\n top: calc(50% - 1em);\n left: calc(50% - 1em);\n width: 2em;\n height: 2em;\n border-radius: 50%;\n border: 3px solid var(--cf-app-system-color-outline);\n border-top-color: var(--cf-app-color-accent);\n animation: spinner 1s linear infinite;\n }\n `,\n ],\n})\nclass SpinnerComponent {}\n","/**\n * Attribute Utility\n *\n * @file attribute.util\n * @description Contains various utility functions pertaining to attribute handling\n * @author Jacques Coetzee\n * @since 2023 - 11 - 08\n */\n\nimport type { SimpleChanges } from '@angular/core';\n\n/**----------------------------------------------------------------\n * @name checkTruthAttribute\n * @description Check whether an attribute is either just available or specifically set to boolean value\n * @param {SimpleChanges} changes\n * @param {string} attribute\n * @param {boolean} curVal\n * @returns {boolean}\n */\nexport function checkTruthAttribute(changes: SimpleChanges, attribute: string, curVal: boolean): boolean {\n if (!(attribute in changes)) return curVal;\n const valueChanged = changes[attribute]?.currentValue;\n if (typeof valueChanged === 'boolean') {\n return valueChanged;\n } else if (typeof valueChanged === 'string' && ['true', ''].includes(valueChanged)) {\n return true;\n }\n return false;\n}\n\n/**----------------------------------------------------------------\n * @name validateStringValue\n * @description Validate whether an attribute is set and contains a specific string option\n * @param {SimpleChanges} changes\n * @param {string} attribute\n * @param {string[]} options\n * @param {T | undefined} curVal\n * @returns {string | undefined} Returns correct string value or undefined if either not available or not in list\n */\nexport function validateStringValue<T>(changes: SimpleChanges, attribute: string, options: T[], curVal: T | undefined): T | undefined {\n if (!(attribute in changes)) return curVal;\n const valueChanged = changes[attribute]?.currentValue;\n if (valueChanged && options.includes(valueChanged)) {\n return valueChanged as T;\n }\n return undefined;\n}\n\n/**----------------------------------------------------------------\n * @name validateNumberValue\n * @description Validate whether an attribute is set and contains a specific number value\n * @param {SimpleChanges} changes\n * @param {string} attribute\n * @param {number | undefined} curVal\n * @returns {number | undefined} Returns correct number value or undefined if either not available or not a number\n */\nexport function validateNumberValue(changes: SimpleChanges, attribute: string, curVal: number | undefined): number | undefined {\n if (!(attribute in changes)) return curVal;\n const valueChanged = changes[attribute]?.currentValue;\n if (typeof valueChanged === 'number' && valueChanged >= 0) {\n return valueChanged;\n } else if (typeof valueChanged === 'string' && +valueChanged >= 0) {\n return +valueChanged;\n }\n return undefined;\n}\n","/**\n * CareFirst Library - Page\n *\n * @file page.component\n * @description Contains all the logic for generating a basic CareFirst Page structure\n * @author Jacques Coetzee\n * @since 2023 - 11 - 07\n * @usage <cf-page %centerH% %centerV% %dark% style=\"--cf-page-inline-padding: 16px; --cf-page-max-width: 1300px; --footer-bg-color: transparent\">CONTENT</cf-page>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { checkTruthAttribute } from '../../utils/attribute.util';\n\n@Component({\n selector: 'cf-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n})\nexport class PageComponent implements OnChanges {\n @Input() centerH?: boolean | string | undefined;\n @Input() centerV?: boolean | string | undefined;\n @Input() dark?: boolean | string | undefined;\n\n //--- Local variables\n inputCenterH = false;\n inputCenterV = false;\n inputDark = false;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Center H\n this.inputCenterH = checkTruthAttribute(changes, 'centerH', this.inputCenterH);\n //--- Center V\n this.inputCenterV = checkTruthAttribute(changes, 'centerV', this.inputCenterV);\n //--- Dark\n this.inputDark = checkTruthAttribute(changes, 'dark', this.inputDark);\n }\n}\n","<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div class=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n","/**==============================================\n * @interface IconsT\n * @description Short description\n */\nexport const iconsC = [\n 'home',\n 'cog',\n 'profile',\n 'scan',\n 'person',\n 'appointment',\n 'clock',\n 'calendar',\n 'email',\n 'phone',\n 'sign-out',\n 'sign-in',\n 'close',\n 'check-mark',\n 'rating-star-blank',\n 'rating-star-filled',\n 'back-arrow',\n 'lock',\n 'show-password',\n 'hide-password',\n 'circle-check',\n 'circle-alert',\n 'direction-switch',\n 'chat-bubbles',\n 'phone-down',\n 'mic',\n 'no-mic',\n 'button-forward-arrow',\n 'button-check-box',\n 'social-media-whatsapp',\n 'social-media-facebook',\n 'social-media-linkedin',\n 'social-media-instagram',\n 'social-media-google-mail',\n 'instant-video-service',\n 'instant-telephonic-service',\n 'scheduled-video-service',\n 'scheduled-telephonic-service',\n 'vital-scan-service',\n 'open-back-arrow',\n 'open-forward-arrow',\n 'open-up-arrow',\n 'open-down-arrow',\n 'single-document',\n 'lightning',\n 'microsoft-365',\n 'user-dependent',\n 'plus',\n] as const;\nexport type IconsT = (typeof iconsC)[number];\n\n/**==============================================\n * @interface IconColorT\n * @description All available colors in CSS classes\n */\nexport const iconColorC = ['primary', 'secondary', 'success', 'warning', 'error', 'white', 'accent'] as const;\nexport type IconColorT = (typeof iconColorC)[number];\n","/**\n * CareFirst Library - Icon\n *\n * @file icon.component\n * @description Contains all the logic for generating a CareFirst Icon\n * @author Jacques Coetzee\n * @since 2023 - 11 - 07\n * @usage <cf-icon %icon=\"IconsT\"% %iconColor=\"'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'white'\"%></cf-icon>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { validateStringValue } from '../../utils/attribute.util';\nimport { iconsC, type IconColorT, type IconsT, iconColorC } from '../../interfaces/icon.interface';\n\n@Component({\n selector: 'cf-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n})\nexport class IconComponent implements OnChanges {\n @Input() icon!: IconsT;\n @Input() height?: number;\n @Input() iconColor?: IconColorT;\n\n //--- Local variables\n inputIcon: typeof this.icon | undefined = undefined;\n inputColor: typeof this.iconColor | undefined = undefined;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Type\n this.inputIcon = validateStringValue<IconsT>(changes, 'icon', iconsC.slice(), this.inputIcon);\n //--- Color\n this.inputColor = validateStringValue<IconColorT>(changes, 'iconColor', iconColorC.slice(), this.inputColor);\n }\n}\n","<div class=\"app-icon-container\" [ngStyle]=\"{ height: (this.height || 20) + 'px' }\" [ngClass]=\"iconColor\">\n <!-- person -->\n <svg *ngIf=\"inputIcon === 'person'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"5\" r=\"4\" stroke-width=\"1.5\" />\n <path d=\"M2 19C3 10 17 10 18 19\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n </svg>\n <!-- appointment -->\n <svg\n *ngIf=\"inputIcon === 'appointment'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n style=\"stroke-width: 1.5; stroke-linecap: round\">\n <rect width=\"16\" height=\"16\" x=\"2\" y=\"3\" rx=\"2\" ry=\"2\" />\n <line x1=\"6\" y1=\"1\" x2=\"6\" y2=\"3\" />\n <line x1=\"14\" y1=\"1\" x2=\"14\" y2=\"3\" />\n <line x1=\"2\" y1=\"7\" x2=\"18\" y2=\"7\" />\n <line x1=\"6\" y1=\"11\" x2=\"14\" y2=\"11\" />\n </svg>\n <!-- clock -->\n <svg *ngIf=\"inputIcon === 'clock'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"10\" r=\"9\" stroke-width=\"1.5\" />\n <path d=\"M10 6L10 10L13 13\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- calendar -->\n <svg *ngIf=\"inputIcon === 'calendar'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 22 20\" fill=\"none\">\n <path\n d=\"M1 6.50508H21M4.01099 2.50004V2C4.01099 1.72386 4.23484 1.5 4.51099 1.5H17.4878C17.7639 1.5 17.9878 1.72386 17.9878 2V2.50004M4.98834 9.00006H5.03295M4.96603 12.1079H5.01064M4.94379 15.2158H4.9884M9.03296 9.00006H9.07757M9.01065 12.1079H9.05526M8.98834 15.2158H9.03295M13.0776 9.00006H13.1222M13.0553 12.1079H13.0999M13.033 15.2158H13.0776M17.1222 9.00006H17.1668M17.0999 12.1079H17.1445M17.0776 15.2158H17.1222M3 18.5H19C20.1046 18.5 21 17.6046 21 16.5V4.5C21 3.39543 20.1046 2.5 19 2.5H3C1.89543 2.5 1 3.39543 1 4.5V16.5C1 17.6046 1.89543 18.5 3 18.5Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- email -->\n <svg *ngIf=\"inputIcon === 'email'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 16\" fill=\"none\">\n <path\n d=\"M2 2L10.2286 8L17.9999 2M19 4.19995V11.8C19 12.9201 19.0002 13.4802 18.7822 13.908C18.5905 14.2844 18.2841 14.5902 17.9078 14.782C17.48 15 16.9203 15 15.8002 15H4.2002C3.08009 15 2.51962 15 2.0918 14.782C1.71547 14.5902 1.40973 14.2844 1.21799 13.908C1 13.4802 1 12.9201 1 11.8V4.19995C1 3.07985 1 2.51986 1.21799 2.09204C1.40973 1.71572 1.71547 1.40973 2.0918 1.21799C2.51962 1 3.08009 1 4.2002 1H15.8002C16.9203 1 17.48 1 17.9078 1.21799C18.2841 1.40973 18.5905 1.71572 18.7822 2.09204C19.0002 2.51986 19 3.07985 19 4.19995Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- phone -->\n <svg *ngIf=\"inputIcon === 'phone'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 22 22\" fill=\"none\">\n <path\n d=\"M20.97 17.33C20.97 17.69 20.89 18.06 20.72 18.42C20.55 18.78 20.33 19.12 20.04 19.44C19.55 19.98 19.01 20.37 18.4 20.62C17.8 20.87 17.15 21 16.45 21C15.43 21 14.34 20.76 13.19 20.27C12.04 19.78 10.89 19.12 9.75 18.29C8.6 17.45 7.51 16.52 6.47 15.49C5.44 14.45 4.51 13.36 3.68 12.22C2.86 11.08 2.2 9.94 1.72 8.81C1.24 7.67 1 6.58 1 5.54C1 4.86 1.12 4.21 1.36 3.61C1.6 3 1.98 2.44 2.51 1.94C3.15 1.31 3.85 1 4.59 1C4.87 1 5.15 1.06 5.4 1.18C5.66 1.3 5.89 1.48 6.07 1.74L8.39 5.01C8.57 5.26 8.7 5.49 8.79 5.71C8.88 5.92 8.93 6.13 8.93 6.32C8.93 6.56 8.86 6.8 8.72 7.03C8.59 7.26 8.4 7.5 8.16 7.74L7.4 8.53C7.29 8.64 7.24 8.77 7.24 8.93C7.24 9.01 7.25 9.08 7.27 9.16C7.3 9.24 7.33 9.3 7.35 9.36C7.53 9.69 7.84 10.12 8.28 10.64C8.73 11.16 9.21 11.69 9.73 12.22C10.27 12.75 10.79 13.24 11.32 13.69C11.84 14.13 12.27 14.43 12.61 14.61C12.66 14.63 12.72 14.66 12.79 14.69C12.87 14.72 12.95 14.73 13.04 14.73C13.21 14.73 13.34 14.67 13.45 14.56L14.21 13.81C14.46 13.56 14.7 13.37 14.93 13.25C15.16 13.11 15.39 13.04 15.64 13.04C15.83 13.04 16.03 13.08 16.25 13.17C16.47 13.26 16.7 13.39 16.95 13.56L20.26 15.91C20.52 16.09 20.7 16.3 20.81 16.55C20.91 16.8 20.97 17.05 20.97 17.33Z\"\n stroke-width=\"1.5\"\n stroke-miterlimit=\"10\" />\n <path d=\"M14 1C17 1 21 4 21 8\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M14 4C16 4 18 6 18 8\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- home -->\n <svg *ngIf=\"inputIcon === 'home'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M1.97409 6.39868L9.14434 1.56272C9.64904 1.22233 10.3094 1.22072 10.8158 1.55865L18.0692 6.39951C18.6251 6.77052 18.959 7.39471 18.959 8.06306V19H12.0095V13.0287C12.0095 11.9177 11.1089 11.0171 9.99786 11.0171C8.88685 11.0171 7.9862 11.9177 7.9862 13.0287V19H1.09241V8.0568C1.09241 7.3919 1.42285 6.77047 1.97409 6.39868Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- cog -->\n <svg *ngIf=\"inputIcon === 'cog'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" fill=\"none\">\n <path\n d=\"M10.4014 0.7771C10.6692 0.7771 10.9258 0.884538 11.1138 1.07535L12.4463 2.4281C12.5731 2.55681 12.7323 2.64876 12.9072 2.6942L14.745 3.1718C15.0042 3.23917 15.2255 3.4077 15.3595 3.63965L16.7608 6.06688C16.8947 6.29883 16.93 6.5748 16.8587 6.83298L16.3535 8.66333C16.3054 8.83748 16.3054 9.02139 16.3535 9.19553L16.8587 11.0259C16.93 11.2841 16.8947 11.56 16.7608 11.792L15.3595 14.2192C15.2255 14.4512 15.0042 14.6197 14.745 14.6871L12.9072 15.1647C12.7323 15.2101 12.5731 15.3021 12.4463 15.4308L11.1138 16.7835C10.9258 16.9743 10.6692 17.0818 10.4014 17.0818H7.59865C7.33082 17.0818 7.07418 16.9743 6.88623 16.7835L5.55373 15.4308C5.42695 15.3021 5.26768 15.2101 5.09283 15.1647L3.25506 14.6871C2.99584 14.6197 2.77448 14.4512 2.64056 14.2192L1.2392 11.792C1.10529 11.56 1.07001 11.2841 1.14128 11.0259L1.64655 9.19553C1.69462 9.02139 1.69462 8.83748 1.64655 8.66333L1.14128 6.83298C1.07001 6.5748 1.10529 6.29883 1.2392 6.06688L2.64056 3.63965C2.77448 3.4077 2.99584 3.23917 3.25506 3.1718L5.09283 2.6942C5.26768 2.64876 5.42695 2.55681 5.55373 2.4281L6.88623 1.07535C7.07418 0.884538 7.33082 0.7771 7.59865 0.7771H10.4014Z\"\n stroke-width=\"1.5\" />\n <path\n d=\"M12.1179 8.92943C12.1179 10.6114 10.7544 11.9748 9.07247 11.9748C7.39054 11.9748 6.02706 10.6114 6.02706 8.92943C6.02706 7.2475 7.39054 5.88402 9.07247 5.88402C10.7544 5.88402 12.1179 7.2475 12.1179 8.92943Z\"\n stroke-width=\"1.5\" />\n </svg>\n <!-- profile -->\n <svg *ngIf=\"inputIcon === 'profile'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M15 18.9294C15 16.168 12.7614 13.9294 10 13.9294C7.23858 13.9294 5 16.168 5 18.9294M10 10.9294C8.34315 10.9294 7 9.5863 7 7.92944C7 6.27259 8.34315 4.92944 10 4.92944C11.6569 4.92944 13 6.27259 13 7.92944C13 9.5863 11.6569 10.9294 10 10.9294ZM19 4.12939V15.7294C19 16.8495 19.0002 17.4097 18.7822 17.8375C18.5905 18.2138 18.2841 18.5197 17.9078 18.7114C17.48 18.9294 16.9203 18.9294 15.8002 18.9294H4.2002C3.08009 18.9294 2.51962 18.9294 2.0918 18.7114C1.71547 18.5197 1.40973 18.2138 1.21799 17.8375C1 17.4097 1 16.8495 1 15.7294V4.12939C1 3.00929 1 2.44931 1.21799 2.02148C1.40973 1.64516 1.71547 1.33918 2.0918 1.14743C2.51962 0.929443 3.08009 0.929443 4.2002 0.929443H15.8002C16.9203 0.929443 17.48 0.929443 17.9078 1.14743C18.2841 1.33918 18.5905 1.64516 18.7822 2.02148C19.0002 2.44931 19 3.00929 19 4.12939Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- scan -->\n <svg *ngIf=\"inputIcon === 'scan'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M1 5V2C1 1.44772 1.44772 1 2 1H5M1 15V18C1 18.5523 1.44772 19 2 19H5M19 5V2C19 1.44772 18.5523 1 18 1H15M19 15V18C19 18.5523 18.5523 19 18 19H15M2 10H18\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- sign-out -->\n <svg *ngIf=\"inputIcon === 'sign-out'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M7.80053 9.94781H17.7201M15.708 7.4576L18.9408 9.93332L15.708 12.4013M14.9327 4.89544V2.99078C14.9327 1.88621 14.0373 0.990784 12.9327 0.990784H3.05328C1.94871 0.990784 1.05328 1.88621 1.05328 2.99078V16.9978C1.05328 18.1024 1.94871 18.9978 3.05328 18.9978H12.9327C14.0373 18.9978 14.9327 18.1024 14.9327 16.9978V14.9943\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- sign-in -->\n <svg *ngIf=\"inputIcon === 'sign-in'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M1.07129 10.0204H10.9908M8.97873 7.53022L12.2115 10.0059L8.97873 12.4739M4.03967 7.11697V3.06152C4.03967 1.95695 4.9351 1.06152 6.03967 1.06152H16.9409C18.0454 1.06152 18.9409 1.95695 18.9409 3.06152V17.0685C18.9409 18.1731 18.0454 19.0685 16.9409 19.0685H6.03967C4.9351 19.0685 4.03967 18.1731 4.03967 17.0685V13.1326\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- close -->\n <svg *ngIf=\"inputIcon === 'close'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 14\" fill=\"none\">\n <path d=\"M1.37749 12.6423L12.6705 1.3492M12.6705 12.6423L1.37749 1.3492\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- rating-star-blank -->\n <svg *ngIf=\"inputIcon === 'rating-star-blank'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 31\" fill=\"none\">\n <path\n d=\"M15.2481 1.90951C15.55 1.27691 16.4504 1.27691 16.7523 1.90951L20.6057 9.98487C20.7271 10.2395 20.9692 10.4153 21.2488 10.4522L30.1197 11.6215C30.8146 11.7131 31.0929 12.5695 30.5845 13.0521L24.0952 19.2123C23.8906 19.4065 23.7981 19.691 23.8495 19.9684L25.4786 28.7665C25.6063 29.4557 24.8778 29.985 24.2617 29.6506L16.3977 25.3825C16.1498 25.2479 15.8506 25.2479 15.6027 25.3825L7.73866 29.6506C7.12262 29.985 6.39413 29.4557 6.52175 28.7665L8.15088 19.9684C8.20225 19.691 8.1098 19.4065 7.90521 19.2123L1.41584 13.0521C0.907481 12.5695 1.18574 11.7131 1.88066 11.6215L10.7515 10.4522C11.0312 10.4153 11.2732 10.2395 11.3947 9.98487L15.2481 1.90951Z\"\n stroke-width=\"1.5\" />\n </svg>\n <!-- rating-star-filled -->\n <svg\n *ngIf=\"inputIcon === 'rating-star-filled'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 32 31\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M15.2481 1.90951C15.55 1.27691 16.4504 1.27691 16.7523 1.90951L20.6057 9.98487C20.7271 10.2395 20.9692 10.4153 21.2488 10.4522L30.1197 11.6215C30.8146 11.7131 31.0929 12.5695 30.5845 13.0521L24.0952 19.2123C23.8906 19.4065 23.7981 19.691 23.8495 19.9684L25.4786 28.7665C25.6063 29.4557 24.8778 29.985 24.2617 29.6506L16.3977 25.3825C16.1498 25.2479 15.8506 25.2479 15.6027 25.3825L7.73866 29.6506C7.12262 29.985 6.39413 29.4557 6.52175 28.7665L8.15088 19.9684C8.20225 19.691 8.1098 19.4065 7.90521 19.2123L1.41584 13.0521C0.907481 12.5695 1.18574 11.7131 1.88066 11.6215L10.7515 10.4522C11.0312 10.4153 11.2732 10.2395 11.3947 9.98487L15.2481 1.90951Z\"\n stroke-width=\"1.5\" />\n </svg>\n <!-- check-mark -->\n <svg *ngIf=\"inputIcon === 'check-mark'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M1 10L7 16L19 4\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- back-arrow -->\n <svg *ngIf=\"inputIcon === 'back-arrow'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M6.5 5L1 10L6.5 15M1 10L19 10\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- lock -->\n <svg *ngIf=\"inputIcon === 'lock'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 27\" style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M12.5 13C11.6595 13.0003 10.8472 13.303 10.2115 13.8529C9.57579 14.4027 9.1592 15.163 9.03785 15.9947C8.9165 16.8264 9.0985 17.674 9.55058 18.3825C10.0027 19.0911 10.6946 19.6133 11.5 19.8538V22C11.5 22.2652 11.6054 22.5196 11.7929 22.7071C11.9804 22.8946 12.2348 23 12.5 23C12.7652 23 13.0196 22.8946 13.2071 22.7071C13.3946 22.5196 13.5 22.2652 13.5 22V19.8538C14.3054 19.6133 14.9973 19.0911 15.4494 18.3825C15.9015 17.674 16.0835 16.8264 15.9622 15.9947C15.8408 15.163 15.4242 14.4027 14.7885 13.8529C14.1528 13.303 13.3405 13.0003 12.5 13ZM12.5 18C12.2033 18 11.9133 17.912 11.6666 17.7472C11.42 17.5824 11.2277 17.3481 11.1142 17.074C11.0006 16.7999 10.9709 16.4983 11.0288 16.2074C11.0867 15.9164 11.2296 15.6491 11.4393 15.4393C11.6491 15.2296 11.9164 15.0867 12.2074 15.0288C12.4983 14.9709 12.7999 15.0007 13.074 15.1142C13.3481 15.2277 13.5824 15.42 13.7472 15.6666C13.912 15.9133 14 16.2033 14 16.5C14 16.8978 13.842 17.2794 13.5607 17.5607C13.2794 17.842 12.8978 18 12.5 18ZM22.5 9H18.5V6C18.5 4.4087 17.8679 2.88258 16.7426 1.75736C15.6174 0.632141 14.0913 0 12.5 0C10.9087 0 9.38258 0.632141 8.25736 1.75736C7.13214 2.88258 6.5 4.4087 6.5 6V9H2.5C1.96957 9 1.46086 9.21071 1.08579 9.58579C0.710714 9.96086 0.5 10.4696 0.5 11V25C0.5 25.5304 0.710714 26.0391 1.08579 26.4142C1.46086 26.7893 1.96957 27 2.5 27H22.5C23.0304 27 23.5391 26.7893 23.9142 26.4142C24.2893 26.0391 24.5 25.5304 24.5 25V11C24.5 10.4696 24.2893 9.96086 23.9142 9.58579C23.5391 9.21071 23.0304 9 22.5 9ZM8.5 6C8.5 4.93913 8.92143 3.92172 9.67157 3.17157C10.4217 2.42143 11.4391 2 12.5 2C13.5609 2 14.5783 2.42143 15.3284 3.17157C16.0786 3.92172 16.5 4.93913 16.5 6V9H8.5V6ZM22.5 25H2.5V11H22.5V25Z\" />\n </svg>\n <!-- show-password -->\n <svg *ngIf=\"inputIcon === 'show-password'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <ellipse cx=\"10\" cy=\"10\" rx=\"9\" ry=\"4\" stroke-width=\"1\" />\n <circle cx=\"10\" cy=\"10\" r=\"2.5\" stroke-width=\"1\" />\n </svg>\n <!-- hide-password -->\n <svg *ngIf=\"inputIcon === 'hide-password'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <ellipse cx=\"10\" cy=\"10\" rx=\"9\" ry=\"4\" stroke-width=\"1\" />\n <circle cx=\"10\" cy=\"10\" r=\"2.5\" stroke-width=\"1\" />\n <line x1=\"1\" y1=\"4\" x2=\"19\" y2=\"16\" stroke-width=\"1\" stroke-linecap=\"round\" />\n </svg>\n <!-- circle-check -->\n <svg *ngIf=\"inputIcon === 'circle-check'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"10\" r=\"9\" stroke-width=\"1.5\" />\n <path d=\"M5.5 11L9 14L14.5 7.5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- circle-alert -->\n <svg *ngIf=\"inputIcon === 'circle-alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M10.0002 19.1666C15.0418 19.1666 19.1668 15.0416 19.1668 9.99998C19.1668 4.95831 15.0418 0.833313 10.0002 0.833313C4.9585 0.833313 0.833496 4.95831 0.833496 9.99998C0.833496 15.0416 4.9585 19.1666 10.0002 19.1666Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M10 6.33331V10.9166\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M9.99512 13.6667H10.0034\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- direction-switch -->\n <svg *ngIf=\"inputIcon === 'direction-switch'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" fill=\"none\">\n <path\n d=\"M15.3805 4.2C14.7138 3.13333 12.5005 1 8.98046 1C4.58046 1 0.980469 3.8 0.980469 8.99999M12.9805 5H16.1804V1.8M2.67738 13.8C3.34405 14.8667 5.55738 17 9.07738 17C13.4774 17 17.0774 14.2 17.0774 9M5.07738 13H1.87739V16.2\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- chat-bubbles -->\n <svg\n *ngIf=\"inputIcon === 'chat-bubbles'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"M 1 19 V 7 S 1 5 3 5 H 13 S 15 5 15 7 V 15 S 15 17 13 17 H 3.5 Z\" />\n <path d=\"M 4 9 H 12 M 4 13 H 12\" />\n <path d=\"M 3 5 V 3 S 3 1 5 1 H 17 S 19 1 19 3 V 15 L 16.5 13 15 13\" />\n </svg>\n <!-- phone-down -->\n <svg *ngIf=\"inputIcon === 'phone-down'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 -8 29 29\" style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M22.6589 11.7706C23.4866 12.1253 24.4468 11.9404 25.0836 11.3036L27.2257 9.16151C28.0404 8.34676 28.0404 7.02577 27.2257 6.21102C20.3003 -0.714333 9.072 -0.714112 2.14665 6.21124C1.3319 7.02599 1.33198 8.34672 2.14673 9.16146L4.28896 11.3035C4.9257 11.9403 5.88596 12.1251 6.71364 11.7704L9.58644 10.5392C10.3299 10.2206 10.8388 9.52027 10.912 8.71471L11.0005 7.74261C11.1036 6.60831 12.0546 5.7398 13.1936 5.73979L16.1789 5.73968C17.3179 5.73968 18.2687 6.60846 18.3719 7.74277L18.4602 8.71468C18.5335 9.52024 19.0425 10.2207 19.786 10.5393L22.6589 11.7706Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- mic -->\n <svg\n *ngIf=\"inputIcon === 'mic'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke-width=\"1\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"M 6 5 C 6 0 14 0 14 5 V 9 C 14 14 6 14 6 9 V 5 M 6 5 H 8 M 6 7 H 8 M 6 9 H 8 M 14 5 H 12 M 14 7 H 12 M 14 9 H 12\" />\n <path d=\"M 4 9 C 4 17 16 17 16 9 \" />\n <path d=\"M 9 15 V 18 H 7 S 5 18 5 19.7 H 15 S 15 18 13 18 H 11 V 15\" />\n </svg>\n <!-- no-mic -->\n <svg\n *ngIf=\"inputIcon === 'no-mic'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke-width=\"1\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"M 6 5 C 6 0 14 0 14 5 V 9 C 14 14 6 14 6 9 V 5 M 6 5 H 8 M 6 7 H 8 M 6 9 H 8 M 14 5 H 12 M 14 7 H 12 M 14 9 H 12\" />\n <path d=\"M 4 9 C 4 17 16 17 16 9 \" />\n <path d=\"M 9 15 V 18 H 7 S 5 18 5 19.7 H 15 S 15 18 13 18 H 11 V 15\" />\n <line x1=\"1\" y1=\"1\" x2=\"19\" y2=\"19\" />\n </svg>\n <!-- Button Icons -->\n <!-- button-forward-arrow -->\n <svg *ngIf=\"inputIcon === 'button-forward-arrow'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" fill=\"none\">\n <path d=\"M5.5 12.5H19.5\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M12.5 5.5L19.5 12.5L12.5 19.5\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- button-check-box -->\n <svg *ngIf=\"inputIcon === 'button-check-box'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <rect x=\"1\" y=\"1\" rx=\"4\" ry=\"4\" width=\"18\" height=\"18\" stroke-width=\"1.5\" />\n <path d=\"M5 11L9 14L15 6\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- Social Media Icons -->\n <!-- social-media-whatsapp -->\n <svg\n *ngIf=\"inputIcon === 'social-media-whatsapp'\"\n viewBox=\"-1 -1 27 27\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M18.2273 14.9814C17.9163 14.8265 16.3871 14.0777 16.102 13.9743C15.8169 13.871 15.6096 13.8195 15.4022 14.1293C15.1949 14.4391 14.5988 15.1364 14.4174 15.343C14.236 15.5495 14.0545 15.5755 13.7436 15.4204C13.4325 15.2655 12.4303 14.9387 11.2423 13.884C10.3178 13.0633 9.69351 12.0497 9.51211 11.7398C9.33066 11.4299 9.49273 11.2624 9.64844 11.108C9.78843 10.9693 9.95952 10.7465 10.115 10.5657C10.2706 10.385 10.3224 10.2558 10.426 10.0494C10.5297 9.84273 10.4779 9.66201 10.4 9.50709C10.3224 9.35217 9.70034 7.82853 9.44116 7.20866C9.18867 6.60517 8.93227 6.6869 8.74136 6.67733C8.56016 6.66839 8.35254 6.66649 8.14526 6.66649C7.93794 6.66649 7.60093 6.74395 7.31582 7.05374C7.03076 7.36363 6.22729 8.11257 6.22729 9.63606C6.22729 11.1597 7.34175 12.6315 7.49727 12.8381C7.65278 13.0448 9.69043 16.1712 12.8105 17.512C13.5525 17.831 14.1319 18.0214 14.5836 18.1641C15.3287 18.3997 16.0067 18.3665 16.5426 18.2867C17.1402 18.1979 18.3828 17.538 18.642 16.815C18.9011 16.0918 18.9011 15.4721 18.8234 15.343C18.7457 15.2138 18.5383 15.1364 18.2273 14.9814ZM12.5523 22.693H12.5481C10.6916 22.6923 8.8707 22.1959 7.28223 21.2578L6.90439 21.0346L2.98867 22.0569L4.03384 18.2573L3.78789 17.8677C2.7522 16.2284 2.20518 14.3336 2.20601 12.3881C2.2083 6.711 6.84956 2.09234 12.5564 2.09234C15.3198 2.09326 17.9175 3.16569 19.8709 5.11195C21.8243 7.05816 22.8994 9.64514 22.8983 12.3964C22.8959 18.0739 18.2547 22.693 12.5523 22.693ZM21.3576 3.63307C19.0074 1.2915 15.8821 0.00136065 12.5521 0C5.69111 0 0.10708 5.55698 0.104297 12.3873C0.103418 14.5707 0.676563 16.7018 1.76592 18.5806L0 25L6.59868 23.2773C8.41685 24.2643 10.4639 24.7845 12.5472 24.7852H12.5523C19.4126 24.7852 24.9972 19.2276 25 12.3972C25.0013 9.08708 23.7077 5.97465 21.3576 3.63307Z\" />\n </svg>\n <!-- social-media-facebook -->\n <svg\n *ngIf=\"inputIcon === 'social-media-facebook'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"-1 -1 27 27\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M25 12.5764C25 5.63064 19.4036 0 12.5 0C5.59644 0 0 5.63064 0 12.5764C0 18.8536 4.57109 24.0565 10.5469 25V16.2118H7.37305V12.5764H10.5469V9.80566C10.5469 6.6537 12.413 4.91265 15.2683 4.91265C16.6359 4.91265 18.0664 5.15829 18.0664 5.15829V8.25326H16.4902C14.9374 8.25326 14.4531 9.22267 14.4531 10.2172V12.5764H17.9199L17.3657 16.2118H14.4531V25C20.429 24.0565 25 18.8536 25 12.5764Z\" />\n </svg>\n <!-- social-media-linkedin -->\n <svg\n *ngIf=\"inputIcon === 'social-media-linkedin'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 25 25\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M23.3696 0H1.63043C0.733696 0 0 0.733696 0 1.63043V23.3696C0 24.2663 0.733696 25 1.63043 25H23.3696C24.2663 25 25 24.2663 25 23.3696V1.63043C25 0.733696 24.2663 0 23.3696 0ZM3.39674 4.75543C3.83152 4.32065 4.42935 4.07609 5.02717 4.07609C5.625 4.07609 6.22283 4.32065 6.65761 4.75543C7.09239 5.19022 7.33696 5.76087 7.33696 6.38587C7.33696 7.01087 7.09239 7.6087 6.63043 8.04348C6.19565 8.45109 5.625 8.69565 5.05435 8.69565C5.02717 8.69565 5.02717 8.69565 5 8.69565C4.42935 8.72283 3.83152 8.47826 3.39674 8.04348C2.96196 7.6087 2.71739 7.01087 2.71739 6.38587C2.71739 5.76087 2.96196 5.19022 3.39674 4.75543ZM7.33696 21.4946C7.33696 21.9293 6.95652 22.2826 6.52174 22.2826H3.53261C3.09783 22.2826 2.71739 21.9022 2.71739 21.4674V11.6848C2.71739 11.2228 3.07065 10.8696 3.50543 10.8696H6.52174C6.95652 10.8696 7.33696 11.25 7.33696 11.6848V21.4946ZM22.2826 21.7391C22.2826 22.0109 22.0109 22.2826 21.7391 22.2826H18.2065C17.9348 22.2826 17.663 22.0109 17.663 21.7391V15.6522C17.663 15.163 17.5543 14.7826 17.2826 14.538C16.9837 14.2391 16.5761 14.0489 16.1413 14.0761C15.2446 14.0761 14.1033 14.837 14.1033 15.6793V21.8207C14.1033 22.1196 13.8043 22.3098 13.5598 22.3098H10.0272C9.78261 22.3098 9.4837 22.1196 9.4837 21.8207V11.3859C9.4837 11.087 9.78261 10.8696 10.0272 10.8696H13.288C13.5598 10.8696 13.8315 11.1413 13.8315 11.413V11.8207C14.5652 11.0598 16.0326 10.5978 17.0924 10.5978H17.663C19.8098 10.5978 22.2826 12.2826 22.2826 14.4565V21.7391Z\" />\n </svg>\n <!-- social-media-instagram -->\n <svg\n *ngIf=\"inputIcon === 'social-media-instagram'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 25 25\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M12.5 0C9.1052 0 8.67952 0.0143895 7.34627 0.0752221C6.01579 0.135956 5.10712 0.347233 4.31198 0.656259C3.48999 0.975705 2.7929 1.40312 2.09798 2.09803C1.40307 2.79294 0.975655 3.49004 0.656209 4.31203C0.347183 5.10712 0.135906 6.01579 0.0751725 7.34627C0.0143398 8.67952 0 9.1052 0 12.5C0 15.8948 0.0143398 16.3205 0.0751725 17.6537C0.135906 18.9842 0.347183 19.8929 0.656209 20.688C0.975655 21.51 1.40307 22.2071 2.09798 22.902C2.7929 23.5969 3.48999 24.0243 4.31198 24.3438C5.10712 24.6528 6.01579 24.8641 7.34627 24.9248C8.67952 24.9856 9.1052 25 12.5 25C15.8948 25 16.3205 24.9856 17.6537 24.9248C18.9842 24.8641 19.8929 24.6528 20.688 24.3438C21.51 24.0243 22.2071 23.5969 22.902 22.902C23.5969 22.2071 24.0243 21.51 24.3438 20.688C24.6528 19.8929 24.8641 18.9842 24.9248 17.6537C24.9856 16.3205 25 15.8948 25 12.5C25 9.1052 24.9856 8.67952 24.9248 7.34627C24.8641 6.01579 24.6528 5.10712 24.3438 4.31203C24.0243 3.49004 23.5969 2.79294 22.902 2.09803C22.2071 1.40312 21.51 0.975705 20.688 0.656259C19.8929 0.347233 18.9842 0.135956 17.6537 0.0752221C16.3205 0.0143895 15.8948 0 12.5 0ZM12.5 2.2523C15.8376 2.2523 16.233 2.265 17.5511 2.32514C18.7698 2.38076 19.4317 2.5844 19.8721 2.75553C20.4556 2.98229 20.872 3.25321 21.3094 3.6906C21.7468 4.12799 22.0177 4.54444 22.2445 5.12786C22.4157 5.56832 22.6193 6.23019 22.6749 7.44893C22.735 8.767 22.7478 9.16236 22.7478 12.5C22.7478 15.8376 22.735 16.233 22.6749 17.5511C22.6193 18.7698 22.4157 19.4317 22.2445 19.8721C22.0177 20.4556 21.7468 20.872 21.3094 21.3094C20.872 21.7468 20.4556 22.0177 19.8721 22.2445C19.4317 22.4157 18.7698 22.6193 17.5511 22.6749C16.2332 22.735 15.8379 22.7478 12.5 22.7478C9.16212 22.7478 8.76685 22.735 7.44893 22.6749C6.23019 22.6193 5.56832 22.4157 5.12786 22.2445C4.54439 22.0177 4.12799 21.7468 3.69055 21.3094C3.25316 20.872 2.98224 20.4556 2.75553 19.8721C2.58435 19.4317 2.38071 18.7698 2.32509 17.5511C2.26495 16.233 2.25225 15.8376 2.25225 12.5C2.25225 9.16236 2.26495 8.767 2.32509 7.44893C2.38071 6.23019 2.58435 5.56832 2.75553 5.12786C2.98224 4.54444 3.25316 4.12799 3.69055 3.6906C4.12799 3.25321 4.54439 2.98229 5.12786 2.75553C5.56832 2.5844 6.23019 2.38076 7.44893 2.32514C8.767 2.265 9.16236 2.2523 12.5 2.2523Z\" />\n <path\n d=\"M12.5 16.6666C10.1988 16.6666 8.3333 14.8012 8.3333 12.5C8.3333 10.1988 10.1988 8.3333 12.5 8.3333C14.8012 8.3333 16.6666 10.1988 16.6666 12.5C16.6666 14.8012 14.8012 16.6666 12.5 16.6666ZM12.5 6.08105C8.95488 6.08105 6.08105 8.95488 6.08105 12.5C6.08105 16.0451 8.95488 18.9189 12.5 18.9189C16.0451 18.9189 18.9189 16.0451 18.9189 12.5C18.9189 8.95488 16.0451 6.08105 12.5 6.08105Z\" />\n <path\n d=\"M20.6726 5.82761C20.6726 6.65605 20.001 7.32759 19.1726 7.32759C18.3442 7.32759 17.6726 6.65605 17.6726 5.82761C17.6726 4.99918 18.3442 4.32764 19.1726 4.32764C20.001 4.32764 20.6726 4.99918 20.6726 5.82761Z\" />\n </svg>\n <!-- social-media-google-mail -->\n <svg\n *ngIf=\"inputIcon === 'social-media-google-mail'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 22 17\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <g clip-path=\"url(#clip0_1282_2376)\">\n <path\n d=\"M0.000141144 15.7966C0.11293 16.0839 0.234306 16.3624 0.46389 16.5802C0.745003 16.8469 1.06848 16.9971 1.45093 16.9982C2.54561 17.0012 3.64028 17.0006 4.73553 17.0006C5.01607 17.0006 5.02466 16.9923 5.02466 16.7033C5.02523 14.0175 5.02523 11.3318 5.02523 8.646C5.02523 8.55181 5.02523 8.45761 5.02523 8.36106C5.13745 8.35282 5.18726 8.42523 5.24623 8.47115C7.09034 9.89116 8.93446 11.3106 10.7728 12.7388C10.9412 12.8695 11.0511 12.863 11.216 12.7353C13.0549 11.3082 14.8991 9.88821 16.7426 8.46762C16.7981 8.42464 16.8577 8.33692 16.9195 8.36342C17.0054 8.39933 16.9607 8.50706 16.9607 8.58242C16.963 11.2682 16.9625 13.9539 16.9625 16.6397C16.9625 16.9976 16.963 16.9982 17.3003 16.9982C18.352 16.9982 19.4043 17.0006 20.456 16.9971C21.3549 16.9941 21.991 16.3336 21.9916 15.4046C21.9927 12.4762 21.9916 9.54734 21.9921 6.61903C21.9933 5.22022 21.9893 3.822 22.0001 2.42378C22.0076 1.45297 21.6017 0.724131 20.7772 0.283176C19.9333 -0.168375 19.0997 -0.0718245 18.3348 0.515134C16.7581 1.72555 15.1859 2.94244 13.612 4.15639C12.8048 4.77867 11.9946 5.39742 11.1937 6.02795C11.0391 6.14922 10.9377 6.14275 10.786 6.025C8.90641 4.56732 7.02221 3.11671 5.13859 1.66491C4.62904 1.27223 4.11777 0.882497 3.6065 0.492173C2.31259 -0.495706 0.49538 0.14777 0.0631199 1.74616C0.0459442 1.80974 0.0213261 1.87038 -0.000429153 1.93278C0.000143051 6.55368 0.000141144 11.1752 0.000141144 15.7966Z\" />\n </g>\n <defs>\n <clipPath id=\"clip0_1282_2376\">\n <rect width=\"22\" height=\"17\" transform=\"matrix(-1 0 0 1 22 0)\" />\n </clipPath>\n </defs>\n </svg>\n <!-- Instant Video Service -->\n <svg\n *ngIf=\"inputIcon === 'instant-video-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"m40.2,3.08c-7.13-.08-13,5.67-13.05,12.82-.05,7.01,5.53,12.88,12.7,13.01,7.13.14,13.01-5.56,13.12-12.75.12-7.11-5.61-13-12.77-13.08Zm-.15,21.93c-4.88.04-8.97-4.01-9-8.92-.04-5.01,3.96-9.07,8.97-9.11,4.94-.03,9.03,3.99,9.06,8.9.03,5.07-3.95,9.09-9.03,9.13Z\" />\n <g>\n <g>\n <path\n d=\"m45.29,62.33c.4.41.4,1.06,0,1.46l-4.21,4.2c-.19.19-.45.3-.72.3s-.54-.11-.73-.3l-4.2-4.2c-.4-.4-.4-1.05,0-1.46.4-.4,1.05-.4,1.46,0l3.47,3.48,3.47-3.48c.4-.4,1.05-.4,1.46,0Z\" />\n <path\n d=\"m35.43,59.61c-.4-.4-.4-1.05,0-1.45.4-.4,1.04-.4,1.45,0h.01l3.47,3.48,3.47-3.48h.01c.4-.4,1.04-.4,1.45,0,.4.4.4,1.05,0,1.45l-4.21,4.21c-.2.2-.46.3-.72.3s-.53-.1-.73-.3l-4.2-4.21Z\" />\n <path\n d=\"m66.36,45.57c-.2-1.35-.47-2.69-.94-3.98-.9-2.46-2.37-4.55-4.19-6.41-1.51-1.53-3.2-2.84-5.02-3.98-1.43-.88-2.9-1.67-4.45-2.31-.75-.3-1.63-.13-2.14.47-.72.83-1.61,1.43-2.58,1.92-2.68,1.36-5.52,1.86-8.51,1.57-2.05-.19-4-.77-5.81-1.77-.76-.42-1.49-.9-2.06-1.56-.63-.73-1.43-.96-2.33-.61-.73.28-1.46.57-2.17.91-2.97,1.42-5.61,3.3-7.8,5.77-1.77,1.99-3.1,4.23-3.89,6.77-.69,2.24-.95,4.56-1.1,6.89-.12,1.96-.12,3.92-.04,5.88.04,1.16.87,1.97,2.02,1.97h10.78c-.57,1.58-.89,3.28-.89,5.06,0,8.14,6.62,14.76,14.77,14.76s14.76-6.62,14.76-14.76c0-1.78-.31-3.48-.89-5.06h10.75c1.07,0,1.9-.75,1.97-1.81.07-1.1.12-2.2.13-3.31.03-2.14-.07-4.28-.37-6.41Zm-26.35,27.85c-6.22,0-11.27-5.05-11.27-11.26,0-1.82.43-3.54,1.2-5.06.77-1.53,1.88-2.87,3.24-3.9,1.89-1.45,4.26-2.31,6.83-2.31s4.93.86,6.82,2.31c1.36,1.03,2.47,2.37,3.24,3.9.77,1.52,1.2,3.24,1.2,5.06,0,6.21-5.05,11.26-11.26,11.26Zm22.82-20.43c0,.16-.06.21-.22.21-1.53-.01-3.05,0-4.57,0h-6.31c-2.69-3.53-6.94-5.81-11.72-5.81s-9.04,2.28-11.73,5.81h-11.12c.02-1.02.03-2,.07-2.98.06-1.44.21-2.87.42-4.3.45-3.04,1.72-5.67,3.8-7.93,1.98-2.15,4.36-3.75,7.02-4.94.08-.04.15-.07.25.01,1.89,1.55,4.06,2.54,6.41,3.14,4.48,1.14,8.85.77,13.06-1.14,1.12-.51,2.17-1.13,3.12-1.92.11-.09.2-.09.33-.03,2.15,1.08,4.16,2.37,5.95,3.99,1.58,1.42,2.91,3.03,3.81,4.97.5,1.08.79,2.22.99,3.39.38,2.25.47,4.53.44,6.81,0,.24-.01.48,0,.72Z\" />\n </g>\n <path\n d=\"m45.29,63.79l-4.21,4.2c-.19.19-.45.3-.72.3s-.54-.11-.73-.3l-4.2-4.2c-.4-.4-.4-1.05,0-1.46.4-.4,1.05-.4,1.46,0l3.47,3.48,3.47-3.48c.4-.4,1.05-.4,1.46,0,.4.41.4,1.06,0,1.46Z\" />\n <path\n d=\"m45.29,59.61l-4.21,4.21c-.2.2-.46.3-.72.3s-.53-.1-.73-.3l-4.2-4.21c-.4-.4-.4-1.05,0-1.45.4-.4,1.04-.4,1.45,0h.01l3.47,3.48,3.47-3.48h.01c.4-.4,1.04-.4,1.45,0,.4.4.4,1.05,0,1.45Z\" />\n </g>\n </svg>\n <!-- Instant Telephonic Service -->\n <svg\n *ngIf=\"inputIcon === 'instant-telephonic-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <g>\n <path\n d=\"m62.18,23.77c-.04-.46-.08-.93-.13-1.39-.04-.32-.09-.64-.14-.95-.68-3.53-2.34-6.52-5-8.94-2.04-1.85-4.4-3.08-7.08-3.71-1.2-.28-2.41-.41-3.65-.41-.92,0-1.62.76-1.55,1.66.07.84.74,1.42,1.63,1.45.64.02,1.27.05,1.89.14,2.86.44,5.31,1.72,7.33,3.81,1.5,1.56,2.55,3.4,3.13,5.49.32,1.13.46,2.29.47,3.45,0,.83.61,1.46,1.44,1.53.75.08,1.48-.47,1.62-1.25.05-.28,0-.58,0-.88h.04Z\" />\n <path\n d=\"m54.95,24.18c.03.7-.23,1.24-.84,1.55-.57.29-1.12.23-1.64-.15-.34-.25-.57-.59-.59-1.01-.03-.65-.25-1.23-.55-1.79-.78-1.43-1.81-2.63-3.21-3.49-.62-.38-1.29-.61-2.04-.62-.8-.02-1.46-.76-1.44-1.57.02-.84.7-1.52,1.54-1.52,1.11,0,2.14.3,3.11.82,2.07,1.11,3.59,2.78,4.73,4.82.44.79.77,1.63.9,2.54.02.15.03.29.04.42Z\" />\n </g>\n <g>\n <g>\n <path\n d=\"m43.17,57.56c.39.4.39,1.02,0,1.41l-4.06,4.05c-.18.18-.43.29-.69.29s-.52-.11-.7-.29l-4.05-4.05c-.39-.39-.39-1.01,0-1.41.39-.39,1.01-.39,1.41,0l3.35,3.36,3.35-3.36c.39-.39,1.01-.39,1.41,0Z\" />\n <path\n d=\"m33.66,54.94c-.39-.39-.39-1.01,0-1.4.39-.39,1-.39,1.4,0h0l3.35,3.36,3.35-3.36h0c.39-.39,1-.39,1.4,0,.39.39.39,1.01,0,1.4l-4.06,4.06c-.19.19-.44.29-.69.29s-.51-.1-.7-.29l-4.05-4.06Z\" />\n <path\n d=\"m59.99,39.41c-2.01-1.41-4-2.84-6.01-4.25-.73-.53-1.47-1.06-2.3-1.44-.92-.42-1.86-.62-2.86-.43-.91.16-1.71.59-2.39,1.18-.77.66-1.49,1.39-2.21,2.08-.1.09-.16.11-.26.05-.25-.16-.51-.31-.75-.47-1.03-.7-1.96-1.54-2.88-2.38-1.8-1.63-3.47-3.39-5.03-5.25-.5-.61-.93-1.26-1.39-1.9-.1-.14-.08-.23.05-.36.41-.41.8-.83,1.21-1.24.54-.55,1.03-1.13,1.43-1.79.7-1.16.87-2.38.45-3.67-.25-.77-.65-1.48-1.12-2.14-1.6-2.26-3.2-4.51-4.8-6.77-.67-.95-1.54-1.6-2.63-1.96-1.5-.48-2.96-.32-4.4.26-1.06.43-1.96,1.12-2.78,1.92-1.32,1.28-2.3,2.78-2.87,4.52-.67,1.98-.75,4.01-.48,6.07.24,1.83.77,3.6,1.5,5.3.89,2.06,1.98,4.02,3.23,5.87,2.38,3.55,5.16,6.76,8.29,9.67.67.63,1.34,1.23,2.04,1.82-5.36,2.04-9.17,7.23-9.17,13.31,0,7.85,6.39,14.24,14.25,14.24s14.24-6.39,14.24-14.24c0-1.64-.28-3.21-.78-4.67.55-.04,1.1-.07,1.64-.15,2.93-.44,5.3-1.85,7.13-4.18,1.04-1.34,1.77-2.83,1.8-4.56.04-1.82-.58-3.34-2.11-4.43Zm-21.91,28.85c-6,0-10.87-4.87-10.87-10.86,0-5.38,3.93-9.86,9.07-10.72.59-.11,1.19-.15,1.8-.15,4.17,0,7.78,2.35,9.61,5.81.8,1.51,1.25,3.23,1.25,5.06,0,5.99-4.87,10.86-10.86,10.86Zm20.01-22.08c-1.38,1.94-3.26,3.08-5.62,3.38-.84.11-1.68.11-2.5.02-2.55-3.87-6.93-6.42-11.89-6.42-.41,0-.83.02-1.24.06-.68-.52-1.33-1.07-1.99-1.63-1.54-1.31-3.01-2.7-4.38-4.19-2.64-2.86-5.04-5.89-6.92-9.32-.86-1.57-1.6-3.19-2.08-4.92-.35-1.25-.56-2.53-.56-3.83,0-1.66.35-3.23,1.23-4.65.71-1.14,1.62-2.1,2.82-2.75.78-.42,1.61-.6,2.49-.37.46.13.84.4,1.12.79,1.61,2.27,3.22,4.53,4.82,6.81.27.38.47.81.68,1.23.19.4.15.8-.11,1.16-.27.39-.54.76-.85,1.1-.55.6-1.14,1.16-1.69,1.76-.79.86-.91,1.87-.55,2.94.3.9.88,1.64,1.46,2.37,1.44,1.83,3.03,3.55,4.71,5.17,1.16,1.12,2.34,2.22,3.63,3.2.69.53,1.41,1.01,2.19,1.4.99.48,2.4.44,3.4-.6.59-.62,1.22-1.22,1.85-1.8.26-.24.59-.43.91-.63.3-.19.64-.2.97-.1.58.18,1.08.5,1.57.85,2.2,1.56,4.38,3.13,6.59,4.67.7.49.92,1.16.87,1.95-.05.88-.42,1.64-.92,2.34Z\" />\n </g>\n <path\n d=\"m43.17,58.97l-4.06,4.05c-.18.18-.43.29-.69.29s-.52-.11-.7-.29l-4.05-4.05c-.39-.39-.39-1.01,0-1.41.39-.39,1.01-.39,1.41,0l3.35,3.36,3.35-3.36c.39-.39,1.01-.39,1.41,0,.39.4.39,1.02,0,1.41Z\" />\n <path\n d=\"m43.17,54.94l-4.06,4.06c-.19.19-.44.29-.69.29s-.51-.1-.7-.29l-4.05-4.06c-.39-.39-.39-1.01,0-1.4.39-.39,1-.39,1.4,0h0l3.35,3.36,3.35-3.36h0c.39-.39,1-.39,1.4,0,.39.39.39,1.01,0,1.4Z\" />\n </g>\n </svg>\n <!-- Scheduled Video Service -->\n <svg\n *ngIf=\"inputIcon === 'scheduled-video-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"m40.2,2.31c-7.34-.09-13.37,5.83-13.43,13.19-.05,7.2,5.69,13.24,13.07,13.38,7.33.14,13.38-5.73,13.49-13.12.12-7.32-5.77-13.38-13.13-13.45Zm-.16,22.55c-5.02.04-9.22-4.12-9.26-9.17-.04-5.15,4.08-9.34,9.23-9.37,5.08-.03,9.29,4.1,9.32,9.15.03,5.21-4.06,9.35-9.29,9.39Z\" />\n <g>\n <path\n d=\"m67.1,46.01c-.2-1.39-.48-2.77-.97-4.1-.92-2.52-2.43-4.67-4.3-6.58-1.55-1.58-3.3-2.92-5.17-4.1-1.46-.91-2.98-1.72-4.58-2.37-.77-.32-1.67-.14-2.19.47-.75.86-1.66,1.48-2.66,1.98-2.76,1.4-5.68,1.91-8.75,1.62-2.12-.2-4.12-.79-5.98-1.82-.78-.44-1.53-.93-2.12-1.61-.65-.75-1.47-.99-2.39-.63-.75.29-1.51.59-2.24.94-3.05,1.47-5.76,3.4-8.02,5.94-1.82,2.04-3.19,4.34-4,6.96-.71,2.31-.98,4.69-1.13,7.08-.12,2.02-.13,4.04-.05,6.06.05,1.18.9,2.02,2.08,2.02h11.53c-.57,1.58-.89,3.28-.89,5.06,0,8.14,6.63,14.76,14.77,14.76s14.76-6.62,14.76-14.76c0-1.78-.31-3.48-.89-5.06h11.41c1.1,0,1.96-.77,2.03-1.86.08-1.14.12-2.27.14-3.4.03-2.21-.07-4.41-.39-6.6Zm-27.06,28.18c-6.21,0-11.27-5.05-11.27-11.26,0-1.82.43-3.54,1.2-5.06.8-1.59,1.97-2.97,3.4-4.01,1.87-1.39,4.17-2.2,6.67-2.2s4.81.82,6.68,2.2c1.42,1.05,2.58,2.42,3.38,4.01.77,1.52,1.2,3.24,1.2,5.06,0,6.21-5.05,11.26-11.26,11.26Zm23.43-20.55c0,.17-.06.22-.23.22-1.56-.01-3.13,0-4.7,0h-6.86c-2.7-3.47-6.91-5.7-11.64-5.7s-8.94,2.23-11.64,5.7h-11.91c.03-1.05.03-2.06.08-3.07.06-1.48.21-2.95.43-4.42.46-3.13,1.77-5.83,3.91-8.15,2.04-2.22,4.48-3.86,7.22-5.09.09-.04.15-.07.25.01,1.95,1.6,4.18,2.62,6.61,3.23,4.6,1.17,9.09.79,13.43-1.17,1.15-.52,2.22-1.17,3.2-1.97.12-.1.2-.1.34-.03,2.22,1.1,4.28,2.44,6.12,4.1,1.63,1.46,3,3.11,3.92,5.11.52,1.11.82,2.29,1.02,3.49.39,2.32.48,4.65.46,7-.01.25-.02.49-.01.74Z\" />\n <path\n d=\"m45.97,63.99c0,.56-.44,1-1,1h-5.99c-.55,0-1-.44-1-1,0-.03,0-.07.01-.1-.01-.03-.01-.07-.01-.11v-7.27c0-.56.45-1,1-1s1,.44,1,1v6.48h4.99c.56,0,1,.45,1,1Z\" />\n </g>\n </svg>\n <!-- Scheduled Telephonic Service -->\n <svg\n *ngIf=\"inputIcon === 'scheduled-telephonic-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <g>\n <path\n d=\"m62.18,23.77c-.04-.46-.08-.93-.13-1.39-.04-.32-.09-.64-.14-.95-.68-3.53-2.34-6.52-5-8.94-2.04-1.85-4.4-3.08-7.08-3.71-1.2-.28-2.41-.41-3.65-.41-.92,0-1.62.76-1.55,1.66.07.84.74,1.42,1.63,1.45.64.02,1.27.05,1.89.14,2.86.44,5.31,1.72,7.33,3.81,1.5,1.56,2.55,3.4,3.13,5.49.32,1.13.46,2.29.47,3.45,0,.83.61,1.46,1.44,1.53.75.08,1.48-.47,1.62-1.25.05-.28,0-.58,0-.88h.04Z\" />\n <path\n d=\"m54.95,24.18c.03.7-.23,1.24-.84,1.55-.57.29-1.12.23-1.64-.15-.34-.25-.57-.59-.59-1.01-.03-.65-.25-1.23-.55-1.79-.78-1.43-1.81-2.63-3.21-3.49-.62-.38-1.29-.61-2.04-.62-.8-.02-1.46-.76-1.44-1.57.02-.84.7-1.52,1.54-1.52,1.11,0,2.14.3,3.11.82,2.07,1.11,3.59,2.78,4.73,4.82.44.79.77,1.63.9,2.54.02.15.03.29.04.42Z\" />\n </g>\n <g>\n <path\n d=\"m59.99,39.41c-2.01-1.41-4-2.84-6.01-4.25-.73-.53-1.47-1.06-2.3-1.44-.92-.42-1.86-.62-2.86-.43-.91.16-1.71.59-2.39,1.18-.77.66-1.49,1.39-2.21,2.08-.1.09-.16.11-.26.05-.25-.16-.51-.31-.75-.47-1.03-.7-1.96-1.54-2.88-2.38-1.8-1.63-3.47-3.39-5.03-5.25-.5-.61-.93-1.26-1.39-1.9-.1-.14-.08-.23.05-.36.41-.41.8-.83,1.21-1.24.54-.55,1.03-1.13,1.43-1.79.7-1.16.87-2.38.45-3.67-.25-.77-.65-1.48-1.12-2.14-1.6-2.26-3.2-4.51-4.8-6.77-.67-.95-1.54-1.6-2.63-1.96-1.5-.48-2.96-.32-4.4.26-1.06.43-1.96,1.12-2.78,1.92-1.32,1.28-2.3,2.78-2.87,4.52-.67,1.98-.75,4.01-.48,6.07.24,1.83.77,3.6,1.5,5.3.89,2.06,1.98,4.02,3.23,5.87,2.38,3.55,5.16,6.76,8.29,9.67.68.63,1.36,1.24,2.05,1.83-5.34,2.05-9.15,7.23-9.15,13.3,0,7.85,6.39,14.24,14.25,14.24s14.24-6.39,14.24-14.24c0-1.64-.28-3.21-.79-4.67.54-.04,1.08-.07,1.61-.15,2.93-.44,5.3-1.85,7.13-4.18,1.04-1.34,1.77-2.83,1.8-4.56.04-1.82-.58-3.34-2.11-4.43Zm-21.88,28.85c-5.99,0-10.87-4.87-10.87-10.86,0-5.37,3.92-9.84,9.04-10.72.59-.11,1.21-.15,1.83-.15,4.17,0,7.79,2.36,9.62,5.82.79,1.51,1.24,3.23,1.24,5.05,0,5.99-4.87,10.86-10.86,10.86Zm19.98-22.08c-1.38,1.94-3.26,3.08-5.62,3.38-.83.11-1.64.11-2.45.02-2.56-3.87-6.93-6.42-11.9-6.42-.43,0-.86.02-1.28.07-.68-.53-1.33-1.08-1.99-1.64-1.54-1.31-3.01-2.7-4.38-4.19-2.64-2.86-5.04-5.89-6.92-9.32-.86-1.57-1.6-3.19-2.08-4.92-.35-1.25-.56-2.53-.56-3.83,0-1.66.35-3.23,1.23-4.65.71-1.14,1.62-2.1,2.82-2.75.78-.42,1.61-.6,2.49-.37.46.13.84.4,1.12.79,1.61,2.27,3.22,4.53,4.82,6.81.27.38.47.81.68,1.23.19.4.15.8-.11,1.16-.27.39-.54.76-.85,1.1-.55.6-1.14,1.16-1.69,1.76-.79.86-.91,1.87-.55,2.94.3.9.88,1.64,1.46,2.37,1.44,1.83,3.03,3.55,4.71,5.17,1.16,1.12,2.34,2.22,3.63,3.2.69.53,1.41,1.01,2.19,1.4.99.48,2.4.44,3.4-.6.59-.62,1.22-1.22,1.85-1.8.26-.24.59-.43.91-.63.3-.19.64-.2.97-.1.58.18,1.08.5,1.57.85,2.2,1.56,4.38,3.13,6.59,4.67.7.49.92,1.16.87,1.95-.05.88-.42,1.64-.92,2.34Z\" />\n <path\n d=\"m43.84,58.42c0,.54-.42.96-.96.96h-5.78c-.53,0-.96-.42-.96-.96,0-.03,0-.07,0-.1,0-.03,0-.07,0-.11v-7.01c0-.54.43-.96.96-.96s.96.42.96.96v6.25h4.81c.54,0,.96.43.96.96Z\" />\n </g>\n </svg>\n <!-- Vital Scan Service -->\n <svg\n *ngIf=\"inputIcon === 'vital-scan-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <g>\n <path\n d=\"m69.5,31c-1.38,0-2.5-1.12-2.5-2.5v-13.5s-13.5,0-13.5,0h0c-1.38,0-2.5-1.12-2.5-2.5s1.12-2.5,2.5-2.5h16s0,0,0,0h0c1.38,0,2.5,1.12,2.5,2.5,0,.03,0,.06,0,.09v15.91c0,1.38-1.12,2.5-2.5,2.5h0Z\" />\n <path\n d=\"m69.5,70h-16c-1.38,0-2.5-1.12-2.5-2.5s1.12-2.5,2.5-2.5h13.5s0-13.5,0-13.5c0-1.38,1.12-2.5,2.5-2.5h0c1.38,0,2.5,1.12,2.5,2.5v15.88s0,.08,0,.12c0,1.38-1.12,2.5-2.5,2.5Z\" />\n <path\n d=\"m10.5,49c1.38,0,2.5,1.12,2.5,2.5v13.5s13.5,0,13.5,0h0c1.38,0,2.5,1.12,2.5,2.5s-1.12,2.5-2.5,2.5h-16s0,0,0,0h0c-1.38,0-2.5-1.12-2.5-2.5,0-.03,0-.06,0-.09v-15.91c0-1.38,1.12-2.5,2.5-2.5h0Z\" />\n <path\n d=\"m10.5,10h16c1.38,0,2.5,1.12,2.5,2.5s-1.12,2.5-2.5,2.5h-13.5s0,13.5,0,13.5c0,1.38-1.12,2.5-2.5,2.5h0c-1.38,0-2.5-1.12-2.5-2.5v-15.88s0-.08,0-.12c0-1.38,1.12-2.5,2.5-2.5Z\" />\n </g>\n <path\n d=\"m66.91,41.79c0,.99-.83,1.79-1.85,1.79h0s-7.04,0-7.04,0c-1.08,0-2.17-.03-3.25,0-1.07.04-1.76-.42-2.2-1.38-.38-.83-.82-1.63-1.37-2.72-.87,2.89-1.65,5.48-2.43,8.06-.53,1.75-1.06,3.5-1.57,5.25-.27.92-.83,1.54-1.82,1.52-1.05-.02-1.57-.68-1.79-1.68-1.18-5.51-2.37-11.02-3.55-16.53-.04-.17-.09-.33-.22-.84-.22.66-.35,1.02-.46,1.38-.97,3.53-1.94,7.05-2.89,10.58-.26.97-.74,1.67-1.79,1.7-1.12.03-1.62-.7-1.9-1.71-.61-2.23-1.27-4.45-1.92-6.67-.07-.24-.17-.47-.32-.91-.52,1.03-.87,1.93-1.41,2.7-.35.5-.97,1.14-1.49,1.16-4.15.09-8.31.05-12.52.05-.06,0-.13,0-.19,0-1.02,0-1.85-.8-1.85-1.79s.83-1.79,1.85-1.79h0s1.17,0,1.17,0c3.1,0,6.2-.02,9.31.02.7,0,1.07-.22,1.36-.85.79-1.69,1.66-3.34,2.48-5.02.41-.85.98-1.43,1.99-1.31.94.11,1.38.75,1.62,1.63.51,1.87,1.07,3.73,1.7,5.92.22-.72.37-1.14.49-1.58,1.05-3.81,2.1-7.63,3.12-11.45.27-1.02.77-1.74,1.89-1.7,1.11.04,1.57.79,1.79,1.82,1.16,5.48,2.35,10.95,3.53,16.42.08.36.17.71.32,1.34,1.07-3.54,2.05-6.82,3.04-10.1.11-.36.2-.77.34-1.05.3-.59,1.01-1.14,1.56-1.18.55-.04,1.39.44,1.69.94,1,1.7,1.85,3.5,2.68,5.29.32.69.72.89,1.45.88,2.83-.05,5.67-.02,8.58-.02h0s0,0,0,0c1.02,0,1.85.8,1.85,1.79Z\" />\n </svg>\n <!-- open-back-arrow -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'open-back-arrow'\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M14 3 L6 10 L14 17\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- open-forward-arrow -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'open-forward-arrow'\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M6 3 L14 10 L6 17\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- open-up-arrow -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'open-up-arrow'\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M3 14 L10 6 L17 14\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- open-down-arrow -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'open-down-arrow'\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M3 6 L10 14 L17 6\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- Single Document -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'single-document'\" viewBox=\"0 0 18 22\" fill=\"none\">\n <path\n d=\"M11 1H2.5C1.67157 1 1 1.67157 1 2.5V19.5C1 20.3284 1.67157 21 2.5 21H15.5C16.3284 21 17 20.3284 17 19.5V7M11 1L17 7M11 1V5.5C11 6.32843 11.6716 7 12.5 7H17M4 14H12M4 17H9\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- Lightning -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'lightning'\" viewBox=\"0 0 14 22\" fill=\"none\">\n <path\n d=\"M1.23099 11.6824L8.99999 1V10H12.6072C12.7707 10 12.8651 10.1854 12.769 10.3176L4.99999 21V12H1.39274C1.22928 12 1.13485 11.8146 1.23099 11.6824Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- Microsoft 365 -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'microsoft-365'\" fill=\"none\" viewBox=\"4 2 40 44\" style=\"stroke: none\">\n <path\n d=\"M20.0842 3.02588L19.8595 3.16179C19.5021 3.37799 19.1654 3.61972 18.8512 3.88385L19.4993 3.42798H25L26 11L21 16L16 19.4754V23.4829C16 26.2819 17.4629 28.8774 19.8574 30.3268L25.1211 33.5129L14 40.0002H11.8551L7.85737 37.5804C5.46286 36.131 4 33.5355 4 30.7365V17.2606C4 14.4607 5.46379 11.8645 7.85952 10.4154L19.8595 3.15687C19.9339 3.11189 20.0088 3.06823 20.0842 3.02588Z\"\n fill=\"url(#paint0_radial_2994_8373)\" />\n <path\n d=\"M20.0842 3.02588L19.8595 3.16179C19.5021 3.37799 19.1654 3.61972 18.8512 3.88385L19.4993 3.42798H25L26 11L21 16L16 19.4754V23.4829C16 26.2819 17.4629 28.8774 19.8574 30.3268L25.1211 33.5129L14 40.0002H11.8551L7.85737 37.5804C5.46286 36.131 4 33.5355 4 30.7365V17.2606C4 14.4607 5.46379 11.8645 7.85952 10.4154L19.8595 3.15687C19.9339 3.11189 20.0088 3.06823 20.0842 3.02588Z\"\n fill=\"url(#paint1_linear_2994_8373)\" />\n <path\n d=\"M32 19V23.4803C32 26.2793 30.5371 28.8748 28.1426 30.3242L16.1426 37.5878C13.6878 39.0737 10.6335 39.1273 8.1355 37.7487L19.8573 44.844C22.4039 46.3855 25.5959 46.3855 28.1426 44.844L40.1426 37.5803C42.5371 36.1309 43.9999 33.5354 43.9999 30.7364V27.5L42.9999 26L32 19Z\"\n fill=\"url(#paint2_radial_2994_8373)\" />\n <path\n d=\"M32 19V23.4803C32 26.2793 30.5371 28.8748 28.1426 30.3242L16.1426 37.5878C13.6878 39.0737 10.6335 39.1273 8.1355 37.7487L19.8573 44.844C22.4039 46.3855 25.5959 46.3855 28.1426 44.844L40.1426 37.5803C42.5371 36.1309 43.9999 33.5354 43.9999 30.7364V27.5L42.9999 26L32 19Z\"\n fill=\"url(#paint3_linear_2994_8373)\" />\n <path\n d=\"M40.1405 10.4153L28.1405 3.15678C25.6738 1.66471 22.6021 1.61849 20.0979 3.01811L19.8595 3.16231C17.4638 4.61143 16 7.20757 16 10.0075V19.4914L19.8595 17.1568C22.4051 15.6171 25.5949 15.6171 28.1405 17.1568L40.1405 24.4153C42.4613 25.8192 43.9076 28.2994 43.9957 30.9985C43.9986 30.9113 44 30.824 44 30.7364V17.2605C44 14.4606 42.5362 11.8644 40.1405 10.4153Z\"\n fill=\"url(#paint4_radial_2994_8373)\" />\n <path\n d=\"M40.1405 10.4153L28.1405 3.15678C25.6738 1.66471 22.6021 1.61849 20.0979 3.01811L19.8595 3.16231C17.4638 4.61143 16 7.20757 16 10.0075V19.4914L19.8595 17.1568C22.4051 15.6171 25.5949 15.6171 28.1405 17.1568L40.1405 24.4153C42.4613 25.8192 43.9076 28.2994 43.9957 30.9985C43.9986 30.9113 44 30.824 44 30.7364V17.2605C44 14.4606 42.5362 11.8644 40.1405 10.4153Z\"\n fill=\"url(#paint5_linear_2994_8373)\" />\n <path d=\"M4.00428 30.9984C4.00428 30.9984 4.00428 30.9984 4.00428 30.9984Z\" fill=\"url(#paint6_radial_2994_8373)\" />\n <path d=\"M4.00428 30.9984C4.00428 30.9984 4.00428 30.9984 4.00428 30.9984Z\" fill=\"url(#paint7_linear_2994_8373)\" />\n <defs>\n <radialGradient\n id=\"paint0_radial_2994_8373\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(17.4186 10.6383) rotate(110.528) scale(33.3657 58.1966)\">\n <stop offset=\"0.06441\" stop-color=\"#AE7FE2\" />\n <stop offset=\"1\" stop-color=\"#0078D4\" />\n </radialGradient>\n <linearGradient id=\"paint1_linear_2994_8373\" x1=\"17.5119\" y1=\"37.8685\" x2=\"12.7513\" y2=\"29.6347\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#114A8B\" />\n <stop offset=\"1\" stop-color=\"#0078D4\" stop-opacity=\"0\" />\n </linearGradient>\n <radialGradient\n id=\"paint2_radial_2994_8373\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(10.4299 36.3511) rotate(-8.36717) scale(31.0503 20.5108)\">\n <stop offset=\"0.133928\" stop-color=\"#D59DFF\" />\n <stop offset=\"1\" stop-color=\"#5E438F\" />\n </radialGradient>\n <linearGradient id=\"paint3_linear_2994_8373\" x1=\"40.3566\" y1=\"25.3768\" x2=\"35.2552\" y2=\"32.6916\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#493474\" />\n <stop offset=\"1\" stop-color=\"#8C66BA\" stop-opacity=\"0\" />\n </linearGradient>\n <radialGradient\n id=\"paint4_radial_2994_8373\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(41.0552 26.504) rotate(-165.772) scale(24.9228 41.9552)\">\n <stop offset=\"0.0584996\" stop-color=\"#50E6FF\" />\n <stop offset=\"1\" stop-color=\"#436DCD\" />\n </radialGradient>\n <linearGradient id=\"paint5_linear_2994_8373\" x1=\"16.9758\" y1=\"3.05655\" x2=\"24.4868\" y2=\"3.05655\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#2D3F80\" />\n <stop offset=\"1\" stop-color=\"#436DCD\" stop-opacity=\"0\" />\n </linearGradient>\n <radialGradient\n id=\"paint6_radial_2994_8373\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(41.0552 26.504) rotate(-165.772) scale(24.9228 41.9552)\">\n <stop offset=\"0.0584996\" stop-color=\"#50E6FF\" />\n <stop offset=\"1\" stop-color=\"#436DCD\" />\n </radialGradient>\n <linearGradient id=\"paint7_linear_2994_8373\" x1=\"16.9758\" y1=\"3.05655\" x2=\"24.4868\" y2=\"3.05655\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#2D3F80\" />\n <stop offset=\"1\" stop-color=\"#436DCD\" stop-opacity=\"0\" />\n </linearGradient>\n </defs>\n </svg>\n <!-- user-dependent -->\n <svg *ngIf=\"icon === 'user-dependent'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 23 23\" fill=\"none\">\n <path\n d=\"M15.65 20.2C15.65 17.87 13.33 15.97 10.46 15.97C7.59 15.97 5.27 17.86 5.27 20.2M14.2 3.73999C13.06 3.25999 11.81 3 10.5 3C5.25 3 1 7.25 1 12.5C1 17.75 5.25 22 10.5 22C15.75 22 20 17.75 20 12.5C20 11.19 19.73 9.92998 19.25 8.78998M14.2 3.73999C14.07 4.13999 14 4.56 14 5C14 5.75 14.21 6.46 14.58 7.06C14.78 7.4 15.04 7.70997 15.34 7.96997C16.04 8.60997 16.97 9 18 9C18.44 9 18.86 8.92998 19.25 8.78998M14.2 3.73999C14.39 3.15999 14.71 2.64002 15.13 2.21002C15.86 1.46002 16.88 1 18 1C19.18 1 20.25 1.51002 20.97 2.33002C21.61 3.04002 22 3.98 22 5C22 5.32 21.96 5.62999 21.88 5.92999C21.79 6.32999 21.63 6.72 21.42 7.06C20.94 7.87 20.17 8.49998 19.25 8.78998M19.49 4.97998H16.51M18 3.52002V6.51001M13.27 10.92C13.27 12.4719 12.0119 13.73 10.46 13.73C8.90808 13.73 7.65 12.4719 7.65 10.92C7.65 9.36806 8.90808 8.10999 10.46 8.10999C12.0119 8.10999 13.27 9.36806 13.27 10.92Z\"\n stroke-width=\"1.5\"\n stroke-miterlimit=\"10\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- plus -->\n <svg *ngIf=\"icon === 'plus'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 15 14\" fill=\"none\">\n <path d=\"M1.52881 6.99686H13.5069M7.51786 12.9859V1.00781\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n</div>\n","/**\n * CareFirst Library - Button\n *\n * @file button.component\n * @description Contains all the logic for generating a CareFirst Button\n * @author Jacques Coetzee\n * @since 2023 - 11 - 07\n * @usage <cf-btn type=\"'primary' | 'secondary' | 'tertiary'\" fontSize=\"'small' | 'large'\" %customColor=\"var() | hex\"% %disabled% %alert% %action% %snug%>TEXT</cf-btn>\n */\n\nimport { Component, Input, type SimpleChanges, type OnChanges, HostBinding } from '@angular/core';\nimport { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';\nimport { iconsC, type IconsT } from '../../interfaces/icon.interface';\n\n@Component({\n selector: 'cf-btn',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnChanges {\n @Input() type: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Input() disabled?: boolean | string | undefined;\n @Input() alert?: boolean | string | undefined;\n @Input() action?: boolean | string | undefined;\n @Input() snug?: boolean | string | undefined;\n @Input() accent?: boolean | string | undefined;\n @Input() fontSize?: 'small' | 'large';\n @Input() iconStart?: IconsT | undefined;\n @Input() iconEnd?: IconsT | undefined;\n @Input() loading?: boolean | string | undefined;\n @Input() customColor?: string | undefined;\n\n @HostBinding('style.pointer-events') get parentEvents(): string {\n if (this.disabled) {\n return 'none';\n }\n return 'auto';\n }\n\n //--- Local variables\n inputType: typeof this.type = 'primary';\n inputFontSize: typeof this.fontSize | undefined = undefined;\n inputDisabled = false;\n inputAlert = false;\n inputAction = false;\n inputSnug = false;\n inputAccent = false;\n inputIconStart: typeof this.iconStart | undefined = undefined;\n inputIconEnd: typeof this.iconEnd | undefined = undefined;\n inputLoading = false;\n inputCustomColor = '';\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Type\n this.inputType =\n validateStringValue<'primary' | 'secondary' | 'tertiary'>(changes, 'type', ['primary', 'secondary', 'tertiary'], this.inputType) || 'primary';\n //--- Font Size\n this.inputFontSize = validateStringValue<'small' | 'large'>(changes, 'fontSize', ['small', 'large'], this.inputFontSize);\n //--- Disabled\n this.inputDisabled = checkTruthAttribute(changes, 'disabled', this.inputDisabled);\n //--- Alert\n this.inputAlert = checkTruthAttribute(changes, 'alert', this.inputAlert);\n //--- Action\n this.inputAction = checkTruthAttribute(changes, 'action', this.inputAction);\n //--- Snug\n this.inputSnug = checkTruthAttribute(changes, 'snug', this.inputSnug);\n //--- Accent\n this.inputAccent = checkTruthAttribute(changes, 'accent', this.inputAccent);\n //--- Icon Start\n this.inputIconStart = validateStringValue<IconsT>(changes, 'iconStart', iconsC.slice(), this.inputIconStart);\n //--- Icon Start\n this.inputIconEnd = validateStringValue<IconsT>(changes, 'iconEnd', iconsC.slice(), this.inputIconEnd);\n //--- Loading\n this.inputLoading = checkTruthAttribute(changes, 'loading', this.inputLoading);\n //--- Custom color\n if (changes['customColor']?.currentValue) this.inputCustomColor = this.checkCustomColor(changes['customColor'].currentValue);\n }\n\n /**----------------------------------------------------------------\n * @name checkCustomColor\n * @description Check if the custom color is valid\n * @param {string} color\n * @returns {string}\n */\n checkCustomColor(color: string): string {\n //--- Check for a css variable\n if (color.startsWith('var')) return color;\n //--- Check hex\n if (color.startsWith('#') && (color.length === 4 || color.length === 7) && color.split('').every((char) => char.match(/[#0-9a-fA-F]+/)))\n return color;\n return '';\n }\n}\n","<ion-button\n [style]=\"'--custom-color: ' + inputCustomColor\"\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug,\n accent: inputAccent\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <p *cfButtonLoader=\"inputLoading\">\n <ng-content></ng-content>\n </p>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n","/**\n * CareFirst Library - Spacer\n *\n * @file spacer.component\n * @description Contains all the logic for generating a CareFirst Div Spacer\n * @author Jacques Coetzee\n * @since 2023 - 11 - 07\n * @usage <cf-spacer %default=\"\"% %mobile=\"\"% %desktop=\"\"%>CONTENT</cf-spacer>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { validateNumberValue } from '../../utils/attribute.util';\nimport type { SpacerNumberT, SpacerStringT } from '../../interfaces/spacer.interface';\n\n@Component({\n selector: 'cf-spacer',\n templateUrl: './spacer.component.html',\n styleUrls: ['./spacer.component.scss'],\n})\nexport class SpacerComponent implements OnChanges {\n @Input() default?: SpacerStringT | SpacerNumberT | undefined;\n @Input() mobile?: SpacerStringT | SpacerNumberT | undefined;\n @Input() desktop?: SpacerStringT | SpacerNumberT | undefined;\n\n //--- Local variables\n inputDefault: number | undefined = undefined;\n inputMobile: number | undefined = undefined;\n inputDesktop: number | undefined = undefined;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Default\n this.inputDefault = validateNumberValue(changes, 'default', this.inputDefault);\n //--- Mobile\n this.inputMobile = validateNumberValue(changes, 'mobile', this.inputMobile);\n //--- Desktop\n this.inputDesktop = validateNumberValue(changes, 'desktop', this.inputDesktop);\n }\n}\n","<!-- Mobile Only OR Default -->\n<div *ngIf=\"inputMobile || inputDefault\" class=\"mobile-only\" [ngStyle]=\"{ height: (inputMobile || inputDefault || 0) + 'px' }\"> </div>\n<!-- Desktop Only OR Default-->\n<div *ngIf=\"inputDesktop || inputDefault\" class=\"desktop-only\" [ngStyle]=\"{ height: (inputDesktop || inputDefault || 0) + 'px' }\"> </div>\n","/**\n * CareFirst Library - Notification\n *\n * @file notification.component\n * @description Contains all the logic for generating a CareFirst Notification\n * @author Arno Jansen van Vuuren\n * @since 2023 - 11 - 27\n * @usage <cf-notification [data]=\"{heading, status, %message%, %canClose%, %button%}\" (buttonClick)=\"\"></cf-notification>\n */\n\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\n//--- Interfaces\nimport type { NotificationPayloadI } from '../../interfaces/notification.interface';\n\n@Component({\n selector: 'cf-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n})\nexport class NotificationComponent {\n @Input() data?: NotificationPayloadI | undefined;\n @Output() buttonClick = new EventEmitter<Required<NotificationPayloadI>['button']['buttonClickIdentifier']>();\n}\n","<div *ngIf=\"data\">\n <cf-spacer mobile=\"16\" desktop=\"32\"></cf-spacer>\n <ion-grid>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"12\" size-md=\"6\">\n <div [ngClass]=\"data.status\" id=\"notification-container\">\n <ion-grid>\n <ion-row>\n <ion-col class=\"ion-align-self-center ion-text-start\">\n <p class=\"body-medium bold\">{{ data.heading }}</p>\n </ion-col>\n <ion-col size=\"auto\">\n <cf-icon icon=\"close\" *ngIf=\"data.canClose\" (click)=\"data = undefined\" [height]=\"10\" [iconColor]=\"data.status\"></cf-icon>\n </ion-col>\n <ion-col *ngIf=\"data.message\" size=\"12\">\n <cf-spacer default=\"8\"></cf-spacer>\n <p class=\"body-small\">{{ data.message }}</p>\n </ion-col>\n <ion-col *ngIf=\"data.button?.buttonHeading\">\n <cf-spacer default=\"8\"></cf-spacer>\n <p class=\"body-medium bold\">{{ data.button?.buttonHeading }}</p>\n </ion-col>\n <ion-col size=\"12\">\n <ng-content></ng-content>\n </ion-col>\n <ion-col size=\"12\" *ngIf=\"data.button\">\n <cf-spacer default=\"8\"></cf-spacer>\n <cf-btn type=\"primary\" fontSize=\"large\" action snug (click)=\"buttonClick.emit(data.button.buttonClickIdentifier)\">{{\n data.button.buttonText\n }}</cf-btn>\n </ion-col>\n </ion-row>\n </ion-grid>\n </div>\n </ion-col>\n </ion-row>\n </ion-grid>\n <cf-spacer mobile=\"16\" desktop=\"32\"></cf-spacer>\n</div>\n","/**\n * CareFirst Library Alert\n *\n * @file alert.component\n * @description Contains all the logic for generating a CareFirst Alert\n * @author Arno Jansen van Vuuren\n * @since 2023 - 11 - 30\n * @usage <cf-alert data=\"{heading, message, buttonTrue, buttonFalse}\" (alertEvent)></cf-alert>\n */\n\nimport { Component, Input, Output, type OnChanges, type SimpleChanges, EventEmitter } from '@angular/core';\nimport { AlertController } from '@ionic/angular';\nimport type { AlertDataI, AlertEventI } from '../../interfaces/alert.interface';\n\n@Component({\n selector: 'cf-alert',\n templateUrl: './alert.component.html',\n styleUrl: './alert.component.scss',\n})\nexport class AlertComponent implements OnChanges {\n @Input() data: AlertDataI | undefined = undefined;\n @Output() alertEvent = new EventEmitter<AlertEventI>();\n\n /**----------------------------------------------------------------\n * @name constructor\n */\n constructor(private readonly alertController: AlertController) {}\n\n /**----------------------------------------------------------------\n * @name ngOnchange\n * @description Update various values on component input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n const val = changes['data']?.currentValue as typeof this.data;\n if (val) this.showAlert(val);\n }\n\n /**----------------------------------------------------------------\n * @name showAlert\n * @description Show\n * @param {AlertDataI} data\n * @returns {Promise<void>}\n */\n async showAlert(data: AlertDataI): Promise<void> {\n const alert = await this.alertController.create({\n header: data.heading,\n message: data.message,\n cssClass: 'care-first-alert',\n mode: 'md',\n backdropDismiss: false,\n buttons: [\n {\n text: data.buttonFalse || 'Cancel',\n handler: () => {\n this.alertEvent.emit({ identifier: data.alertIdentifier, status: false });\n alert.dismiss();\n },\n cssClass: 'alert-button-cancel',\n },\n {\n text: data.buttonTrue || 'OK',\n handler: () => {\n this.alertEvent.emit({ identifier: data.alertIdentifier, status: true });\n alert.dismiss();\n },\n cssClass: 'alert-button-confirm',\n },\n ],\n });\n alert.present();\n }\n}\n","","/**\n * CareFirst Library Logo\n *\n * @file logo.component\n * @description Contains all the logic for generating a CareFirst Logo\n * @author Arno Jansen van Vuuren\n * @since 2023 - 11 - 30\n * @usage <cf-logo type=\"vertical | horizontal\" %height%></cf-logo>\n */\n\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'cf-logo',\n templateUrl: './logo.component.html',\n styleUrl: './logo.component.scss',\n})\nexport class LogoComponent {\n @Input() type!: 'horizontal' | 'vertical';\n @Input() height: number = 50;\n}\n","<div class=\"img-container\" [style]=\"height ? 'height: ' + height + 'px' : ''\">\n <img\n *ngIf=\"type === 'horizontal'\"\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABnsAAAEsCAYAAAALjgbHAAAgAElEQVR4nOzRoRGAQBRDwdAHCndVQbH0gGFOUQLoj0GgsJjdmddAMlRV4MsxtSXJ/MNIV5L91Tr27XQWAAAAAAA8ktwAAAD//+zZMREAIAwAsfevpZbwggHuOrIkNiJ7WH3MnpdTjfgBAAAAAICqugAAAP//7NlBDYAwAATBDe+qoC8U1hLCEEIqgzAjYe95hw58zKxWde8T6jmvYUAAAAAAAH6regEAAP//7NsxDQAACASx3/HvAZksmCC0Ni4n9nBV7W3Uex4BAAAAAMA/SQYAAP//7NlBDQAgDATB09Lwwb8lhBDqomHGwj7X7GG6nj6n9ps+S00AAAAAAL6S5AIAAP//7NkxAcAgAMCwuuDfhx/cYW9C8AGJhZ41e7jFqPb/zaUoAAAAAADPqA4AAAD//+zZMQEAMAjEwNfCVm01UMEIqQ+4s5AxZg/T3K7zVAUAAAAAYIUkHwAA///s2YEAAAAIwLDb5W+UR20akz1cNMIHAAAAAIAXqgUAAP//7NkBDQAAAMKg909tDwc1kD28Ej4AAAAAAPyrBgAA///s2TENAAAMw7ACHv97Ko3KppAzZg/LOnxOYQAAAAAAZiV5AAAA///s2TERAEAIBLHTQvdO6PHfIeR9MImFLdfs4brZeq0yAAAAAAAnJfkAAAD//+zZMQEAMAjEwJfB3K3eKhsh9QF3FjLG7GGD1+eW0gAAAAAAjJPkAwAA///s3TEBAAAIgDB++/e1h241OBB7+GAq/x4AAAAAAO6pFgAA///s2TEBADAIxMDXwtapBupfCULqA+4sZIzZwxa36zy1AQAAAAAYJckHAAD//+zZMQEAAAiAMALb/7aHbhU4MXv4ZNQGAAAAAOCUagEAAP//7NkxAQAwCMTAd8HerU7qXwNC6gPuLGSM2cMm1ec+xQEAAAAAGCPJBwAA///s2QEBAAAIw6D1T20PDzWQPayRPQAAAAAA/FEdAAAA///s3TERAAAMAjFk1L/SHjbaxMKPDBh7+KbfPaM6AAAAAAAnJFkAAAD//+zZMQEAAAiAMILZP5c9dKvAidnDR6M6AAAAAAAnVAsAAP//7NkBAQAACMOg9U9tDw81kD0skj0AAAAAAPxQHQAAAP//7NkxAQAACIAwGtm/nT10q8CJ2cNHozoAAAAAACdUCwAA///s2TERAEAIBLHTQvcd/vUgBB0/JBa2XLOHk6ZeKw8AAAAAwPeSLAAAAP//7NlBEQAACIAwYtg/qTk8two8MXv4apQHAAAAAOC8agEAAP//7NkBDQAADMOg+ld9Hc/ABrKHVbIHAAAAAID/qgMAAP//7NlBEQAACIAwAtg/rzk8two8MXv4apQHAAAAAOC8agEAAP//7NExDQAhFETBX9CcDBJs4eFK/CAMEyTXXoMEChJmFOzLJi9yqXJT9tdzW83vU8c8YBIAAAAAADtExA8AAP//7NsxEQAwDAOx51IwJRP+c5eiyEkUfvTZsweW+0PPrU41egMAAAAALFI9AAAA///s2TENAAAIBLF3h39HLJCggbTjWTizBx47o2fVNAAAAAAAPkjSAAAA///s2TENAAAMA6D6V71rXxU0YAPZA6NK9DzhAwAAAACwIskBAAD//+zZMQ0AAAwDoPpXvWtvBTRgA9kDg0r0POEDAAAAALAgyQEAAP//7NmxDQAACAOg/n+1k3tXDbyB7IFniuhZwgcAAAAA4LokAwAA///s2TENAAAIA7D5V82FgJ2Q1kZlDzxSRM8SPgAAAAAAlyUZAAAA///s2TENAAAIA7D5V82FgX2Q1kZlDzxRRM8SPgAAAAAAVyUZAAAA///s2TENAAAIA7D5V82Fgl2Q1kZlDzxQRM8SPgAAAAAAFyUZAAAA///s2TENAAAMA6D6V71rDvo0ARvIHhhXiJ4nfAAAAAAA1iQ5AAAA///s2TENAAAMA6D6V71rDvo0ARvIHhhWjJ4nfAAAAAAAliQ5AAAA///s2bEJgEAMRuFX2DiBV1k5gAu5hUNYOJwDHAhX6RZycDZiKxzyPghp/iYkXRoX9u7o5wEYgdxDqe4RPnO0VAS2kNZYywz6tw8ePbf88KGd9sUTkiRJkiRJkqTKARcAAAD//+zZsQmAMBBA0d87gKmyggs4gANlDMfKJFZZwF4CCVimURD/gysPrr5v7LkpMdW4swErMA2szG2W/nQvMZ1ArhOOPb91u/7lwdDTGXwkSZIkSZIk6QuACwAA///s2zENgFAQRMHtMUCFHWwgAhlIQQB6qBCAAPIDdFQUP4TMOLj2XlbsOQNNCTzDw3LnjeZ6wvdbN5blz5xkaddpr38Zf1Qh9NwEHwAAAACAr0tyAAAA///s3bEJgDAARNGbJAvaClnGARwtY4SANrYGEfLeALfAL27pz54ReVrZzyR1Uuh5GptbkuMKSvDKh6Hn5sMHAAAAAODPknQAAAD//+zdwQ2AIBAEwCuDl1WSQAk+rNIXZRASbEEwzpRw383u/bLZ0448/u/UOb/2hhH6lBn4nOm+2toL8EULgp6Hhg8AAAAAwK4iogMAAP//7N1BCQAgFETBn8QKljOOAY0hHgTPHlRwpsby2O/KnpbK+OOpB4eeVVb5sOPi0DMpfAAAAAAAXhQRHQAA///s3TERwCAQRNHt8YCqyKDEAWaRkQY0QCbvSbj2z879KvbM2p8kY/3VOaWslU87ew2+4oLQswk+AAAAAAC3SfICAAD//+zdoREAIAwEwVRCU7SCoGTKwCQSnxl2K3h/4r+JPWesnf85XczcBE+NQk8RfAAAAAAAOomICwAA///s3bERQFAAA9CMoFSZQcEMFjKGzb4h/qmMoaGidu68N0LKpMgvPnvOUeVLhfll2rs57bb4QuHmg0PPxYcPAAAAJBnHoU/SPGRRS1mrjAB4RZIDAAD//+zZsQmAQAyG0X8Tl/B6R3YEV3AjCdxVgp1w6HsQkjb19/nYM3HoGQQfbiYOPYPgAwAAwK/0sLP1qXt5+r+1tdZZ4SfJkWQXgAB4RZILAAD//+zZoQ2AMBRF0YdkBwTB4ekeLEBgBNZgC8aAMVA4CAl7lNTVgahoyT1J/cuXvZm19rfHTSD0+NZYg89d1YOkPoIpIW3FsY8xDksg9PimvDuXeOYAAAAAABCOMU0pyf0ftG9x56NL0uwe4QcAEIykBwAA///s3bENgEAMQ1GPQcsOcc9ASIzAKkgMxhi0KFI2uCs4+G8AK71l5bM/ewYrelQLH36h/NxgRU9a73OeXnAHAAAAAADd2LHYkWucS9LWqehR5eyZa8dRZRIAAG0kPQAAAP//7NlBDYAwAATB/SMKKUjFGmkCDuDRMuPgkvvtkrFnwtDzEHx+bMLQM2yVzwIAALCEEV/uyHNW+8ebDtEHgFdUFwAAAP//7NyxDYAwDEVBr8IENPEOjMUuLMQ2tAiJNJSRkBK4m8D90/fnYs/AoacSfH5o0NBTzcc2LX2cAgAAAG0yy3oved6OPE9X9NkzS5fv5gEYQEScAAAA///s3EENgEAMRcE6ADGtHxxhZaUgiZCwAvYELDMKftLjSzpV7Jkg9HSCz498PPR02ztmAAAAwJiqXKvyuN+rPWWJiL0q27XHCQEYEhEnAAAA//9iGS4hNowmemAANOHDIPGop2NwOGcU0AIMk4keEBAH7e7hjL2/YxC4ZRSMghEHTE1NDBgYGEAdQhgNAg5I4aBAwRnjB5HYB6D0AxgevVR2FIyCUTAKRsEoGAWjYBQMZQBtSx+ATrYMBuAP3eUTcPr0mQujiWsUjIJRMApGAVGAgYEBAAAA///s2yEOgCAYQGGM3sHgbDaCHMfN4IG8jreQZFKLF/AEOLafjWgD2fs2OiMBDyrn3O8Xq8DQE1tTB5+76yf5UlwS25x70u/RBYWe4KjHa85jKkB55HWflojTytCZHEqtxJ8tDCIQAAAAcmfM4O87loxCT+zxe3+CDwDgE6XUCwAA///s28EJgDAMQNFc3cfeXcSjc7lK73UEwRV0Ayk0UI9CxSb8N0AJPRV+aj72OA896tfgQ+xpz2HoUcswH3sfowB2lbAzVXGnl6jzxlXCT96SjCltsd3RAADAo+q3MvDwxVuyhJ6185sm+AAwJ4RRF1Stygusp7nZReQGAAD//+zcsQ2AIBBAUVqnseHGcQZX0A0cATdwBWtMHMFVzCWQ2EvUw/8Se5ACyI+ajj0/CT3Za8GH2FNWxaFHzU13hA+MAzDlEnfy01a6gmuKPwsXVgAAkIl4Pf+EG7+dRf00ekwxbkOJmaawuBt5awQfAGaIeP1asq9gxcZSe85jnHMnAAAA///s3cEJgDAMheE3iqu4gSO4mhPoCN7rUBKIV4lUsKn/B10gp5TXJmnDnp8FPZdPAh/Cnvd0HvSIUW5AnF8wJz+9hjt37NK6+dmzvpoBAAB1bC+JpJUyImgp5ZhritXgjp4I650HemYALUvyY/KJMdWUEkknAAAA///s3MEJgDAMQNHgWXAGcQUzg1c36CiuIriAI7mBR68SyAJVkNT+N0FKL0mTpgkQQ7ZKGz1m8rOjQBU0esxwbX0bIA4gJCssbcpFdTx8knCptNEjXlwnf9w5VcfdEkP/5QQAAOrBZgDkSP6Y+IjnmmuBK5I7H5ICgMjmn93Oq+GCz4nIDQAA///s3TEVwCAMhOGIQQKZKwEpWKiUSquULmFjYyhH/k8BG+/l8i5yYU/ioGcg8BGUJOgZyh7PAPYwCXg6FSVTLTaAXvf6RJ0LAAA4WPz3akN3/G9lmHgLL1td7lWuUghAKqctb2rdHTKzDwAA///s3dENgDAIQEGGavdyg47mCo5kjGjip/1D76YgeRBKxR6h5yb4FPKz0BNiD5wbg3mlsgk8r10XP+sRyHpvi2sfAPgsyx3MmJoNMy5W/yMx8vE5ADxFxA4AAP//7NyxDcAwCEVB9m+cETKaR4mQ6NxFbmzuRqD94h0z9hh6FgafAzQcepKMG23VF09mIWZ9qXRNtO2SA9mozNtbfXUAAPjjueRq0ocArCLiAwAA///s3bENgDAMBEAPldSMklXZgJUiS+4QEg0SkLsR3P7b/kTYI+i5JPB5sUWDnrDZw4qyJdh722uLZzhH8oic65FzrkfOAABwS/35+UsRa3PyGICTiJgAAAD//+zduQ0AIAwEsOy/DCOwGopEQ0XHa48AVXRK7viwR9AzJfA50MdBT9js4Sf9VFtu8dQcunz+EvnOpZ94u64sEQCALV7rutHdA8AoIhoAAAD//+zdQQ3AIAxA0SrBykwgZX6wNxnLEg7jQnZbA+9J6InkpyV17LnKWYWeTwSfRDYPPbCFV+Rp/uL5zTP3JvoAADDTt8JXe7MfThwDMIiIGwAA///s3EENwDAMA0BDHrzCKIFxmfrorwC86g6Bv5GTtF/2jCRvQY4/UPgUUPTA3dagqOSps0uf6Z0FAAAHty4GPQUZAGiR5AMAAP//7N0xDYBAEATAlUBJiSOM4QUJ7wUNCCCQT6Ck4/PMSLjmLtnktumwZ9yWvS4vgc87Ap8PCXqgX49OnlXI06zzB3upnT7T34cBAMB1xw9J5k5HoccSgFuSAwAA///s3cEJgDAMBdBs4DLNno7gSG7QVaQggkfx0GrfmyCQ0+cTMvzPHoXPYwqfDhQ9N/tAs8ArLRxmls1Pnk9pe6qZZT3DPQAA8/rz5ffish2AS0QcAAAA///s3TsNACAMQMGKAj1IwP9GGhwwED53FjowvLQcH3tC8Fkh+Gwk9MCbai357uTJtmbEV+o5P//5AAB87fXtF7EHgCkiBgAAAP//7N2xDcAgDATA34BVsikrIyuUVCkiObnbwKJ8m28R9kTg84TA5wWCniOXPbRWRafV/5Jk1rac12xt7D4fX7sBAPzT9fGphT0A3JIsAAAA///s3cEJgDAQRcFflOnPDrUMywhCrqIIgq4zFSzksvBg85nYE8HnDsHnQULPoe2lc8Gp1qY5yTL+f6GO/bTbOt4XAID/qL7XV49ZAFyVpAMAAP//7NyxCQAhEEXBTS3yarFUY7s4FpNLLhEM1JkOxER4fLeKPSH4zBB8FhB6fvXyNLGH7XzWPNXtHStXPtXKBwDgDvnGv+CgfiIAYIiIFwAA///s3LENgDAMBMAfIcOQvRiSwajSIQqUgsR3E1h2+XovF/ZE4POFwGciQc+r68ezwSNtnnJGy+esvggAgM21Cgfu/fDKDYAkyQ0AAP//7N3RCcAwCAVAR8gwcc6s0hGLExRKfhLvRhA/hKd4ZNgTAp8/BD4bCHo++dfDMTLnqCsP1zwt1QbkypxP9UH3YgAAXMqcB0AfEfECAAD//+zcsQkAIAwEwGzo/p2jiJBe0CrmborA579s2BMCnxsCnweCnqM94abZQwn5/Taz5UFfI1s+ts4BAP7jxgOgj4hYAAAA///s3LEJACAMRcFs4hK6j2PauZoI2otd4G6CkPbBTx17QvD5Ifh8EHqejAQ3wp1tm/atOcqe8Wutdg8BAAAAUoqIBQAA///s3LENgDAQBMEryq7XLoCA5pw7IUUCshczFbw+XenKx54IPl8IPi8IPY+sJEeBO/mxa7btNNvGjdF7m54DAAAAlJNkAwAA///s3UENgDAMQNFecYGIVQ7B4ERMAg4wgQAuXEkWbmzvKWjS40/aIWJPCD5fCD4dhJ5uddnO6yezMqHMskZEe852wZs9sxz++AAADKFZIwDTiIgbAAD//+zdMQ0AIBAEwXOEfxfYoEMCDTUhVEBmLFy5+fw3sSeCzwnBZ0Ho2dZc9XCz+Y+lJimGYkPxxwcAgId0YwGQJAMAAP//7N2xDYAwDARAD0V6hmQg+kQiIzAKQqKkSRoC3E1g2eXL+k+FPSHw6SHwuSHoabL46mFUVw/Lpp+HRmePz5rSNFscAMBr7X84Xc6lDjAGAE+LiAMAAP//7NmxDYAgEIbRax3S2ZyAGWzscAfDJsaEwlYqkPcm+JO77vtd7AnBp4Xg8yL0fJKW9ToG2stEaujZ3JxGTyDc6x8BADCYnM8ZYk/pYAMAPYiIGwAA///s3bENgDAMAEG3GTJbpWcWBolYhSIsEERjczeBJZcvyyVjTwg+bwg+Qs+u2fo1co3MXzyP9oUevnAIPgAAaZ3FV+eqB4AlIm4AAAD//+zZwQ0AIQgAQTq1VRuxF2NiAXfGh+JMB4TAZ9PGnhB8VjwdfISeX9q8LTjODD3FZthoBB8/DwDgPjX5zrLPB8BXEdEBAAD//+zdsQ3AIBAEwSvfmVuhOXISNwAS0htmKrjgsw3+6NgTwWfFlcFH6JnSkzz+9FCR0MNG73dfAAD8x+kxpBXYAEAFSQYAAAD//+zdwQmAMBBFwb1apNiCfcYSBEkJdiDpQD0Ekp2p4MMe32Gnjz0h+PyRKvgIPZ+00LMv63UOtJkkhB462AQfAIBxlHK02HNPerKa5C8RAG9ExAMAAP//7NuxDQAgDANB7z81JXVSICB3U1h6eUTsieDTMSL4CD0lQg/XEno4SPABAHjLr+8XmxSALckCAAD//+zZqREAIAADwZRKSZTMoNBg+HZLSOR9E3si+Kx4OvgIPVOEHo4l9LBBDz7F8AAAV6iP3iT2ADAkaQAAAP//7NyxDUBQFIbRS0xiAY0dFIYUo6ifwkZPrRHReDhngj+55ZfcX8WeEHzuGOqqHd83+1zT5V7ouUzooVhCDw+aBB8AgPKltG4RsXzsVLMXbgAcRMQOAAD//+zZsQ2AMAxE0Us6kJgAKTAAZbxfRmBjZwIKRIEJ/01g68r/u9gjgs9tyacjaS4fO/tSXr3kxbeg50VD6EFYZrURevCy06zujAAAABBeG2yi0f4BADwlqQMAAP//7NuhDYBAEETRQWAwJFcZHdEa/iiKkOBwGI7jvQo2Wfkzv4w9EXweGEsPwecMPcOU0sApXyD00KxrUbH6EC+bkyyeAADQtlr3raN1j1UPAHdJDgAAAP//7NyxDcAgDEVBj8AwoWf/bdggskRDSSqs3K3wO57Fb2NPCD4f1A4+Qs8RoYdr9f6M/ELLQlyiGQIAoIQ8GJvFp5rrHQsAdhHxAgAA///s3DENwDAMRcEPqUPDpxDLIwVTCFlCIJ0c9Q6BJY9P9q9jTwSfD/YMPkLPEqGHslo7jyS3DQEAACvmNczu78+u3p+3wBwAVJNkAAAA///s3LENwCAMRUEPBXsyQvYhBSMhpJQ0SYWVuxUon/m/jz0h+HyQK/gIPa8IPRyr1rJ+UFzPdBacYngJAIAcer9b4jm3Nd/m8A2AvYiYAAAA///s3cEJACAIQFE3av8xGsFNIugceFN4bwKhk3wwsecRfKpmBB+hp0Toobu72CyvRCNp4QYAGOf+uZjDht7OtwHwFREHAAD//+zdsQkAIRBFwS1K47ME++/CDg7BwEgwW2GmAsHMB1+xZyP43ModfISeK0IPqdVa5tzC55ZIZKyHAgAAHrJm0PpD//fMczbzbQAcRcQPAAD//+zcsQ2AMAxFwT8SBemzGQMmQyEkKirSOdLdCm4sPctiz4fgs6pm8BF6lgg9lNba2ZNcpkQhz2XlMcb0wg0AYEPvHtc3CD5CDwD/JLkBAAD//+zdsQ0AIAgAQfbfxo10ExtKE0MHyd0KNponKPY8CD5VvYKP0FMi9NBa/tNjTRadrHxwb6cCADDXgOBz8t5pwAiAv4i4AAAA///s27ENwCAMRUFvwCoZhdWYiwwVRaKlcGfQ3Qoun7/YsyH4ZNUIPkJPitDDCf7Q01yKIsacb/dZCQBwhxVSnrXcrsSSHICciPgAAAD//+zdwQmAMAxA0YzUgx2oG7iKc9WhpOBZyMlQ3tsg558QseeD4JP1b/ARelKEHsrr/Tj96aGQMeftKS4AwGbei+114XMVmWwtGDULRgCkRMQDAAD//+zcwQmAMAxA0QxlB+iEruA+9eJGEuhdcmqR91bIJfBDxJ4Pgk/VmuAj9JQIPWyvtSOv606TYgP51qOPcV+GAQDwTxlW5mFPn+/TVnjm3unACIC6iHgBAAD//+zd2wnAIAwF0Izkit3MFRylGxQhA6igWDhnBX+CNw9hzwCBz6yzgY+gZ4qgh7/wsc4NWu5Jr14DAOAa2yZesu7rjWfPwVs+b06RF3UnAMsi4gMAAP//YhkNPeIAaMLnhVwJaMJnAgMDg/JQcPPAAvCED8N/hm+PaOmM0YkeksDoRM8oGBIAenyb/mhsUQWAViWCjqWAdRovIHWOP6CfAW5qaiIA7dzCAIgNElOA4pF0rN5BBgaG0ft5RsEoGAWjYBSMglEwCgYfmEBLF0Hbfw2mpiYgexKgi3/laWAVqK3eALqndLTNOQpGwSgYBaOAYsDAwAAAAAD//+zcvQ2AIBBAYUZxBAuuZxRHYgU2cA8sXMUNzCVX+FOdRKPmfQmlxMRGeCixx4Hg43Vv8CH0uBB68AkisbMFD/wWizo65iunAm2Rub3uNIc9o95G+mkAKrVOwwvuAwAAAHvlqa9f7N1Y93+ySEwWflJj+NHAM+qfDI4HrwAAaBJCWAEAAP//7N3BCYAwEETR7cCWUoIt2JGl2Ee82IEt2IFsGC+C4EIiEf67hxwEyTIZQtgTROAT1SbwIegJIejBn/i/deCLvbZpWFy+Ghb1gO2ufa82kA+9Y4XhtwcT7/MAAAB0x0OSOee1aavniQKmEjLp8lNS8z1pyf0C1KFWvWldadvrLA0AQH1mdgIAAP//7NzBCYAwDAXQbKijOYqrdQMvKQgepFpoC++t0EvS/4mw5wOBT6u+gY+gp4mgh2VkW27zYq9qG/CYYVnMxuN5C39q63FfLLgrebbNnXQAoJeS/wbmi38e54dHyhlcOQiAuUTEBQAA///s3cEJACEMBMCUZgmWcK3a2SHE74GHiMJMCb4Ma1Zhz08Cn1lrAh9BzxRBD7cxMH1rWfdw9DmNV4+58VOzlu/0bZ++IfWo0gAAFur3i+IvFgBgi4h4AQAA///s3cENgCAMheGO4AgOAfs4CqO4ihswgqOYJiXxQgISjOD/XfTGDZBnC2FPAwKfWm2BD0FPFYIeDMV7t03Q/qsXDXnCaBUndrChwdRu1T7ho/f7HFbRw0EMgK6s7c+aG4PKwvd57/T+uaVw4JP2S6jE/gL4EfvmyWENKWQ/Dab1+f4U20c9OTfQ8D3Nx9HeU3vyyFyNaYjIBQAA//9i/P///2iEUgheyJXwDOcJn/8sDyT+MTyRoJ6Jv9+ROuHDJPlfmpGHQZRaLmAW//+F1/XXcJ0IGZ3oGQVDCkAbcw9G7+rBAKAGacFwGvwbhJM+oAt+EwaBO0bBKBgFwwAgDU4YQAcjYAMU+mT4DnlQAnaR9+hABJEAWt8gDw7BBuDIHSTCBg5CxR6g4dFBIxKAqakJqF1QP2QcTDwYbWOMglEwzAB0gQB6HU9Ovwb5PqcH0Dp+RC74gC6EgYWrA5QeqHGBg7DJH2hdProIhwxgampyYJAu8iQXHDx9+gy+idzBBRgYGAAAAAD//xqd7KESGM4TPtSf7GFgYGD8+eL//x8viFHKJPRfiFGYQY6a1g/jyZ7RiZ5RMOTAMO7kkws+Qid5hu2xdqamJgHQOnMgd3MVDtQFvyMJIK1wRB50JRYgd7BGB09HwaAD0MkdB+iRlQZkTuoQCz5Cj4MaPW4SCWAZJKLmZA4lADaQdwBp0Gh0RTcWMIzbgaPtjFEwCoY4gE7uBEDrF1oPXicO5/4fDCAd9e0AxUPhuG9YfX5gtC7HD6B55vxgdiOZQHHIxD0DAwMAAAD//xqd7KEiGK4TPjSZ7AGZy/DtPgPD7494FXEwcDLL/lentt3DdLJndKJnFAw5MLqrBwNshN4dMyIGtQdogOcjNIw30NneYQvQBlspWeVIDIDtdjiAdOzC6OD3KKAbQBqkAGF/Oof8kFtZSG0AHURwQOaxAZMAACAASURBVFr9O5SOgH0IGywC7dYancCGgGE82eM4uip8FIyCoQegC5USoPU8vfuoQ2pAmVgA7SsEQMOVlgtj6AEeQndcHxjtT6ICaN5ZMEyP5x86p64wMDAANDrZQ2UwHCd8aDXZw8DA8Pc/w6drDAz//+JSwKT4X52RhYGT2hYPw8me0YmeUTAkweiuHjgYsRMQ0IG7BXRq+D+Enp8/OjlAAUAbbHUYJJO1B5FW3FG1EQ7tuBQMIr8SC2ArEQtIHVQewn5mQPJ3AzUHTKDpHhQm8dQyk0wgOJImCdB2Tw2FFcCkgIvQ+u/ASK6XRid7RgG9AXTguYEOOzKpDR5C67cJlKQtaLk6YQj6nwFp1+QEavaboGGSAK3nB7KeaTx9+kzDANpPNYC0OKZgGEzw4AMboZM/Q2IRxyC/S3cUQPq0lJVvDAwMAAAAAP//Gp3soQEYbhM+NJzsYWBg+PPxP8PX+9hkmMT+SzDyM9DE3mE22TM60TMKhiQY3dUDBwdHL/Cly2DPRegRSKMrqUkEaIOtA7HKkVTwEanTRVFD2dTUBNTxnz8gvqAeICntDxM/M1Dr2LNB2Cke9gPIA7x7aqAAbOJnw0g7ImZ0smcU0BNAJ+4PDIP+B1lHfg2z/hfFEyPQib8C6ETPYAiTIT/ZM4gWxwwE2AitxwflcXzQNu3+QeCUUUAYBJLdj2VgYAAAAAD//+ydzQnCQBCFHxL0IuSaLlTYqUs7sIGAWkHsIHagjYhiA3qwABl5B0EEs24ku5mvgLCz7N+bN2QGNsHhKS7lnYfbMbXYwpPlQDZ+++wIw7aMnsQwo8eImRiSxm2z0V/ymAEBUNjMWLUYGm2SPLV5bob2VhJxKlauAGqKthj2bM6x1iLuJuLWFPONeKl8jZ3Jt3EkFDO4DrwTJpqsYIPZvVU//gdNQvDMOdNw7IvRA+7TFYCTiNuxt51hGAHhHZeC0aNUPm8b3vGp6K+l5xw81wKNZi0ImZsm/R3qhgP7tfTR6AHfLRX1x5bGV5dYdGw8xmf89RiABwAAAP//YhkNWNoA0ITPC7mSguF4hw+1ASMDu8R/hj8okxVMIv9HJ3oIg9GJnlEw1MGw2KJOARgRl3CSAkAr8KGN4g1UHFwdvSCZBADtNCdA8XA4Lokf2onPNzU1WUji0V4Gw6jzT+w9L8PJzwzkTBZABwMboOlmFNAYDKKjcwYTAKVbf1NTk4fQ3T4TRhcrjIJRQBUwWHZvUAs0QP1EChhu974FkDooCp1MXzA6wUMdAN0R3jBah6MA2MKzeFNTk4vQenww9PsFBoEbRgFxgPz8xMDAAAAAAP//Gp3soSEYnfAhFoB29oDwny9gDcwMzIxcDEJDweUDCEYnekbBkAbQRvZIbRBS5Wih4QqgA1qg1d0TKBxsHbH3IJEDkM6vH84r8WCdroXk3GMzxMFoB5wIAD3eYsPoABDtwSA8OmcwAnno8WYF0DpxdNJnFIwCysBwG+gkZ1fLcGsPEB2n0MUFC0bYrlGagdG7X4gG+tDdPhOgY8OjdfkooC1gYGAAAAAA///s3LENgCAQheHTwlZXdBM3cwDcAZxEc8nFUOmJoZH/6y0kxgu88Khxq4xKN59Ohivc6aeDoOceQQ/+oNUrxAQ9TiFs+o3MhY/vts4EPQ+yqqrYUOWCvmeiJgk524SvBA91achjVW2R6hy30UIf/W8tdmAJAHCyYCIR9Hxnc5ya2/fyWV5UMQ24iMgJAAD//+zdwQmAIBTG8RfR2Tq0R6u0WSM0Shs0gmN0jeILPIWRBuH/dw6EB4X65ZOw5wMEPjEaZ1bV54Ot9blHqzvbco+RCUEPfk8TmxInhgQ9D+m4+6jaxTqOyg/U+V6w4boW+j463ekzs3FaNvXtX2jblpfqPBUWLKcWbhTRdx8AIuh7yc8cCeieI0/I88rVYtprHULog7TMbAcAAP//7N3BDYAgDIXhogkuBHc3ZAY3cQRHYBETg/bgQaNR8CD/twBJDxr7WiHs+QiBz6V2/ZVbJ9Y0YksfZqzMpc8ogKAHf1Fjg4Kg5yHdzulvBj6D1pnV+BO7C2lpuG5SDUYCnzrpHWEjTYuy9JkTCdSySY2i4L2bdFodAHBAB5sCtXknvWu8d1EHDpBP+g6Z2NpFViKyAAAA///s3cEJgCAYhmEN6lLQKDZSqzSZA9ShjYzgP1QSHUxJe58JUrzo92mEPQnlGvho1ya5BaNV3VedS9K20I3LLewh6EFJ/vZ0EkFPIJm7p8BnmudlJOi5J4eCKxs1j5Gm/PCx70JEh6DHMM9xXA6HaFS/b1+7lhuKAOCToIdiUyApbFj+/xjN6anWQseIlJRSGwAAAP//7N29CYAwEIbhQxsVQUdxBTd2jziRjaJ8RRot/DmIeZ8FAilCwnd3IexxlmbgUy0+65S1NdZ6rFT0a0pj3Ah68Bv6IyO3iyJBzwu0h4O6d+LQZx/bNoYwczk+oW6eiYfapU4dPoxSyEAU9BBAfIAzxx3/kAFAhKDnOY18pkjMzxH6qGuXAg7cZ2YbAAAA//9iGQ0++gPQhM8LuRLQhA/o3GrlQe/gv7zfGeiSUpg4GdgYmOlhE5vEny/0sIcKYHSiZxQMNzDSBiISRyd6qAdOnz4DWiGeMFz8Qw8A3c2zYHTAlSgA6mRtAIXZ6A6x4QugE3qjEz00AtAJhwWj4Ut3ALuHbCIDA0PDaBk2CkbBKBipYHSih3IwWpcPKADt2m0YoUffjwJqAAYGBgAAAAD//xrd2TNAYKjt8GFk4KPP5MhfVk5aW8EkyDBUdvWMTvSMguEIRtJkz8TTp88sGATuGAUjFIweu0AW0Id2bkfBMATQlZIbRgcvqA+gu3lAeWf9aPgOKMiH7lIcPZZyFIyCUTDiALTtOzrRQwEwNTVJGK3LBxyMLm4cBeQDBgYGAAAAAP//7N2xDYAgEIVhMFqb2DuDjczhiDqKPRa6j1GbG8CABIH/W+BCQQL3LkDYE1FKgY9W3ZuPsX2LVLo+r9Blmv4OvxZ/BD3IjkwIlXJoPKzdmMZBFNJ0XXl2wdlkzMj+zdPCHz3fk2Bhp8H2G4MEPjSLABRD7pqcfT3I0Mac7ALy0fK0NJwppR4AAAD//xqd7BlgMFQmfBj/89N+Zw8TAyMD4///tLaGTfHvO1rbQSEYnegZBcMVjJRdPR9H4HF1o2CQAKS7SOxH44QiAFoZOnpe9jAC0NW+/iM9HKgNoBMK50d3EA46AFpcM9/U1GTCSA+IUTAKRsHwB9CB8dGd2RSA0ePvRsEoGCaAgYEBAAAA///s3cEJgDAMheFIb0Lx6CJ2HzdwNVdyB0EQil5y8OLFiqTx/ybIuS/NI+wxoIrAJ8etkbaW82e3Qn+sIebd6HhC0APn/hKAjNotA3zqEvTwc6Fcp92KcEC7q9j2fRkbwFWYUhpmyp4BOMeJ1gIEPeYsvCfgMRE5AQAA///s3TEOgkAQBdC/gAsagq2xMDFScgMbD2DiPTyG1/ASXsHCChoTS25gY2FCJMExkC1MtDAEV2TnVXRMhoLN7Myulmv3P7GONiGAskgxAlA++wBmxnzdIIAHspe3LBze6ev31jyToGpqxyHKHCB3CVdZ0MvGjsD4TEgnOmNrmpzS26keIS2JgecLz+oL16nyT27P1xqcEIVw7RS22OanudZXd9xRRgc+jufHVBHahAX4Po6TXQviYIZR3fVcdG0WTyp0gCpyc7dvg1ROeWP5f6zUsW6LOE4upieDMdYtanKX/0c18T1HrcQNZ6w+AA8AAAD//+zdPQ6CMBjG8ecVsRA0GidGB0eP4AEcPYenMJ7IweO4OZqYmDho/ahBARdlIGqLPr+FFdjon7e1Gnsmg1my+DcCMAQQ2bwXF+wh54UKl98OPhpyixpa7lcI4HlG+xezaxmss/Ajp3gDfxXDHBrOvsQC0oRW/WMeeySoh9IJuhKptvFq+TN9fB+5Zx6hp/LTU0Qv/MNUz5aHKZINDD1EhaYMd++TbpUz58Ja5WTn+Iz5tzAR/ZAeQ0V56TcEJ5/dkkz1MPZQeQCuAAAA//8akMmeLJ0mD+iAmPho9KGCgZrwQQd//zOy/WVkFPrByCAEmvjh+ff/Bc+f/++Y/su++DdEd/dwGv19CqIZBbiEmATZRf+zQnfwDLTDRid6RsHIAA4jwJcTRgdQRgG9wehEzygYBQRB/mgQUQcgHRU5elTO0ASgCZ8L0B0+F0Z6YIyCUTAKhgUYneghE0Dr9NFJhcEHRhePjgLKAAMDAwAAAP//outkT5ZOE2gHT87oJA9+MFgmfGAANPHzkZFR7gvbfwnBf5KPWBmeff/P8I027vrPyMjA+J/q8y+gu3rYNZn+MkkIa4F28Qz4BA8MjE70jIKRA4b7ZfEPRxvLo4DeYHSiZxSMglFALzA60TNsAD/SkW6jEz6jYBSMglEwAgHSEbejdfrgAhtPnz5zYKQHwiigEDAwMAAAAAD//+zdPwqAIBTH8fckqCVqDFpbAofu0i08Rdh1g2jvH0FBY5BZ6e9zAVGc/IJP2DhDJXWmpN4ewVqEnmuO4DOI70SALfp0LIpelPNCzOYXoGkZA+N3kkOa4zoizpPi/F3b6xB6wBP7YGzXNfgHH2xC6AEAWxB6nHMEn8r3g3hY6vTuAODPMOfomzBrGu4johUAAP//ovlkD3Q3z5zRgoR0MBgnfEDgx38e7o/MKkz/GJiYKTaMkf0XIwPnA0ZG4QsMDGKn2dR/HWBRYLjAyM/wAHTHDsXmszEy84RxMzNJsPNQbBY1wehEzygYWWC4T/aAztUdvfx7FNANgO5cGJ3oGQWjYBTQA4xO9AxbAJvwURjpAUFDMDqZNgpGwSgYdAC6EHP0iNvBBxpHj4QfBVQBDAwMAAAAAP//oukxblk6TSEMDAzZo7FFPhhsR7rBwI9/Un+Zmb9zcP19xsTM8O830Rr/M/9lZOS+xMjAs4/xP/8miXvzL+FT/qFBTfnPG8aAfx8YXP++ZzRk+MNA9M4cRg5GFjZTNhZWVeYfRLuPHmB0omcUjDww3Du7o8e3jQK6AejA6+jk4igYBaOA5mB0omfYA1C8boAe6Ta6O5n6IAC6en4UjIJRMAoGExjtRww+MHok/CigHmBgYAAAAAD//6LZzp4snaaK0Yke6oDBusPn6z/lHz8Z+Vj/MDCzE1TMyPaNgUF8HvNfSwWpe7ucJO+ta5G4j3+iBwQEGm7dFZlys1dsyU0PVsX/esxy/3sZORg+EbSOh4mdSYGFjduVfXSiZxSMgoEHw3lnz8fRBvMooBcYHXgdBaNgFNALjJY3IwboQ3f4jB45Rn2gb2pqMnokzygYBaNg0ADoMdDyozEy6MDokfCjgHqAgYEBAAAA//+iyWQPdKLHfTSqqAcG64TPF0bt778YeZlxT/gw/QJP8vw2U5e+t7FY4lHPF3LtEply86XY7JstEhtvyDOL/5/KwIL9mDdGLiY2JhlmZv5gzsE1oTI60TMKRiCAHg8ynAeKFow2zEYBPcDoRaqjYBSMAnoBaHmzYbS8GTFAf3ThCs1Av6mpScPoZNooGAWjYKABtBwa3T0y+MDB0SPhRwFVAQMDAwAAAP//ovoxblk6TR6jEz20AYPxSLd//1n+gyZ8uJlucjD+fc/GzPAXPgHDyMD7gJFBPETy3pK71LZXbNHNmjc56pP/PGfc9P8LgxrcTg5GFiY5ZhbwRA87w39q20s2GJ3oGQUjFwz3s+BHG2ajgF5gwej9h6NgFIwCOoEDoyt/RxzwNzU1mXD69JnRnSjUB/WgS7dNTU0uDDePURmAwufA6dNnNgwrX42CUTB4QMLoIo5BCUaP+xwF1AUMDAwAAAAA//+i6mRPlk4TaLt/+Wg00Q4M1gmfz/+1v/9lesDO8+8xMxPDv78MDOJbpe5tjKGlvaCdPgwMDOavEtTn/H3OGMzAwsjEZsLGxG3PPjrRMwpGweABw/kIt4unT58Z7biPApoD0Kpg0EDcaEiPglEwCmgNTE1NRieWRy7IB01IjK4wpgkADbDaD0N/URPYQ9PgRVD/YXTn/CgYBVQHo5P5gw8sPH36zIGRHgijgMqAgYEBAAAA//+i2jFuWTpNPAwMDC2jcUR7MFiPdPv2X+HnJyb1//8YZTdL03iiBxmILbiZArrLh8ef/Q+3G/uv0YmeUTAKBhUYzjt7RgdDRgHNAejibOiq4FEwCkbBKKApgJ7lHz8ayiMaTIDe1zQKRsFAAX3o7sJRMApGAZWAqalJwOiO3UEHPo5OwI0CmgAGBgYAAAAA//+i5p09OQwMDNyjMUUfMFgnfJ4ySRyXvbs6jt72gu7yYVf9309ve/GC0YmeUTAKGIb5ZM/oMROjgKYA6d6MUTAKRsEooHV5YzB6lv8ogO5AGV3MMgoGGuhDJ59HwSgYBdQBo/lp8IEJozsYRwFNAAMDAwAAAP//7N0xCoAwDIXhFsF7uYgHE7yG15G6uDrp6gEcdJFCHNxbE8r/XSCdWsijSZKwR8a3safnZ9YCn7PyR7sOnVb9ull6f92TVv0Pgh7gVerIij2EeTNwDpSNBekAspNgeeS+gYiNdoI/aOOHGZCAvPGMg7Yl9hLY1YM8nHMPAAAA///s3cEJgDAMheG0ghPZo57dxo7gho5R6AhCRZSePLdNkf+bIJBL6SNJqckeUmIlvQQ+ycgZ7LBo1vAY52M16YqqRRD0AK/8sPwrpi1QlXOTZ78/gEZ27vTgY8trRAEthD1AGfzX9oeeoB4RuQEAAP//oniyB7qrZ7RzMIBgMEz4PGVhaQy70fpyMIQHw5+/A1dwjk70jIJRgAyGcydt9CzxUUAzYGpqogAdfB0Fo2AUjAKaAuiAfv5oKI8CLGDBMF+4MwpGwSgYBSMBjE7cDy5w8PTpM6NjCaOAdoCBgQEAAAD//6LGzp6Q0SgaeDCQEz4fmBivBt5onTZYwoLN7vxxxh+/1tLd4tGJnlEwCkYSuDAa26OAhmDC6HFKo2AUjAI6gdHjukYBLiA/uvBgFIyCUTAKhjwYPcJtcIHRXT2jgLaAgYEBAAAA///s3bENgCAUhOFLWMIhKHmVSzgHK9i5gYO6gCZq6E0sDPg0/7cACVRwL8ejsCfHqZPUc0w+vBX4LCFkb3txbPsoaW22IEEPcOWvU0T814NqzNLApQxAC2aJ+jbcKXVu1GkBwAdRx+nOzDsCqpN0AgAA//+idGePzWgsDS5A7wmft8xMJ8NutF4abOHA7nLpJeOPX5vpYtnoRM8oGAUjDYw20EYBTQD0uJzRVfajYBSMApoD6HGRBaMhPQqIAKP10igYBaNgFAxNMDrZM3jAx9HdsqOALoCBgQEAAAD//+zcsQ2AIBCF4fMmcRNWYgRmcAtngVEsqCFRG1oTmyOI/7fAJa99uUfZM6Gehc+huo+a4FXPzfyILoWiB3i0ThoNG7uw4ttsDgBYC8xF4iXXvk4BAN/CZ+Y4fIwp/z0EdCAiNwAAAP//7NsxDkAwGMXxViUczCksTuMc3KcWnbgCq0QiqVhqNAiV4v+7wNe89fVdLXuY/QdqL3xGFU2+XmilWPKurELNIMmMkXYdvB1QcpZp3FP0AIe+Wvaw7MHt3KqHX/YAvHOrnoKkcQLrHgB4H8qeMLRaN/XfQ8BDhBAbAAAA///s3cEJgDAMheG0VMUpXMCjXcoxHMkVHMCz0A0E8a6COIJCSoT/GyCEHnp5Ifkc9vTtwKdh3BP4jGWdliKsGp3u3s/mH+E4J5W6wW+uCkmcXCr1AVhG2AMNTNkDyIU1IniribHjqDQA/AsbA2xgoA/5iMgNAAD//2KhwDaJ0agaGuAIC/vTF0zMX6x+/5Rj/cfATC1Hf2diPDLoA+Dvv90MDAzBVDOPkfEvAyvTC0ZWJppMoI2CUTAKhgQYnewZBVQF0FX2+aOhOgpGwSigNRjd1QMGoHPzL0CPZf0AZTOcPn0G45hW6K5L2CJHB+iuZYcROoAGmiQcXZk8CkbBKBgFQwCYmpoMx/t6DkLr7A/I9TcWgOx3BSQ8EHX3Qmzti1EwCmgGGBgYAAAAAP//Gp3sGSHgDhPLxyfszNes/vySVvz9R4gavv7zn+H2YA89NqdLK3+eNJtBFcNAu3lYmV6A7umhinmjYBQMfzAsd4CePn1mdLJnFFAbjK72GgWjYBTQC4zUXT0boZM7B06fPoNrcAgDQM/Xhw3SwAdroJNmoMEk0F02/jR3/eAA4N09o0fRjIJRMApGwSigI1jIwMCw4fTpMxtIsBLn5IqpqYkBdPLHAFqPG9DwdIWPo7upRwHdAQMDAwAAAP//omSyh2c0xoYWAB3rto+F/ZEAC+sLoz+/JSid9PnLyDgyZqeZmb4wsjK+YKDh/UejYBQMUzB6JNUoGAUEAHTV+OjROKNgFIwCmoMRuKvnIvSumQ3UvhQZuvADNOmxAKkcLxgBO34KRnf3jIJRMApGwZAAQ31nD6gOTyBlgQYxAGoeCMMnj6ATQA5QTM0FHBNGF4qOAroDBgYGAAAAAP//omSyR2U0xoYm+MDA9As26aP+94+Q0t8/Qlx//7OR6pmwG60vh0IAMP758+A/CwtpF8WDdu8wMX4EH9c2upNnFIyCUYAAH0fDYhRQGRSMToyOglEwCugERsrEMuiYlwZ6HZsCnUgCTSpNgN5r0zCMJ330QUcDjR5JMwpGwSgYBaOAhuAhaOKF2gs1cAGkCSBQXQ6a/AmA7twNoKCf9vD06TOju3pGAf0BAwMDAAAA///s3MEKwjAMBuAkdXNDURD14sv5Jvp6volehIE4BU2kssOEIcxpR+X/oPfmUmj/Jl3CHoicD312Lt37tbR7vlIdL5zNRqbDqWpGzGJCXK+SlYzMtCApY6n+IMmtUJeeyaQ0eaknIbMJk2aOLjnbdT6gIwufyHE09QFAUF/9WQSArh4AaKPjI/u/nzdBQ54m1Ygz3+3jH3g2fe3jx9bvRuQAAMDHgoQbEdiGCnqaVCPjnp0/teCnbWc07njQDyJ6AAAA//8anewZ4eA/MyPbPzYW/iesHPyPWJiQj+YD72aR/fubGSbwk5Hx/ysmln9QLrPrEAm6S4zsLF//QfzDyPCfCUxBwX8Gxr8M/0EXEDGAxDkZfjNIC7EwfBFn/vdRmoXhIw/z/9FdPaNgFIyCUTAKaAKgK8BH4iXfo2AUjALywEJyNUIHK4ZrefMROjA0YRC4BQxAq3lNTU02QI880x8ETqImiDc1NSkYyIG4UTAKRsEoGIbgI/LRYlQAQ/n+XGqGA0UANvEDqvegJzIQ039rHN0BOwoGDDAwMAAAAAD//xqd7Bmh4B8rM89fDlbRv6xMeLckPmZm/YtLLjRktvjqNamD/ii3r/8Y4Ee4/QftTSIA3v1h4Hn3h4nn+k/IxI8S6//XMqz/Ro9uGgWjYBSMglFAbRAwGqKjYBSMGHARz4pdBSIGDg5CBxnIBcN1hSlNzvSnBgC5CXTkGXTCh5p3AAwGkAA77mYUjIJRMApGAfjYMXx3s9gTCCLQeFMAle93ERiq0TIYFxNA3QTatdsAXbBXgGMxR+FgWnyCBkYXaQwdAGrfkgcYGBgAAAAA//8anewZYQA0yfOHk1XiH+ouHrIA89//oM7LyuEcgpCJH0aem7+Yv+uw/30qzsLwZRA4axSMglEwCkbBEAfQi9KH2+AfNcFBaKcZ1ulFXh1nAO3ACkDZBqP3Ho2CQQAeQo/6hGFQh/oCqQMW0LJBASl9M0DNIXuVq6mpicAwLW8u0vNMf3IA1G0BpqYmC8g4AmYwg9HJnlEwCkbBSAIfoXX7AVj9DmqjkjM5A10EwIDUngWZsWF0tyQCDPa74ZCObHWA1ocKsDt/qDxhR20AmqxyGO03DQlA/gIvBgYGAAAAAP//Gp3sGSmAkZH5NxerxF92FlFq+Zjx3z/VwR56h0/bhjOgXjtEFvj8l4Hz+DdmFTGW/x9NOP89YmNkwLnjaRQMOnBnNEpGwSgYBYMQjO7qQQUboR3oA0Ss0Mfo/EEHyB2g4TraiRkF9AAPoceMwNItVQZpoIMEsIECah1jMhzLm42nT58ZMv46ffpMwjCbdNMHlbuDfFBrFIyCUTAKKAGktE2JBkiTGKPHfOEGQ+JuOGhcDpl4hO44NoBO+igQoYVUQGgH23AAoAWJtASgdhVo0pD8MoeBgQEAAAD//xqd7BkB4D8LE+cvHnbF/0yMbNT0LfPvPzaDPfT+/Gc0paZ5r/4w8u/+wqylz/H/0ejRbkMGvBjpATAKRsEoGJRg9NJOyGA5aGX4AkoHyqEDjgugGHYfUsII6XSMAvqBj7B0NhiPDcMDhttkz8UhWoYmQFf+Dpe7kwJGd/eMglEwCoYZ2AhdaDG602ZgAehuuAPQHTSjgIoA2meiSRsKuvhuwzC8qxAEBv1ucjhgYGAAAAAA//8anewZ5uAvB4vQby42OVr4kvXnb83BHno//jNYUNvM3/8ZmM98Z1T8+I/xhTb7/9GJhMEPRnf2jAJqgiF79vEoGDwA2hAejo1gYsFB6GXqNFsJh3S8ggJ09dpwOj5pFNAfXISushuqgw7D6Qg32L0GQ24QDuRm6ET0/kHgHGqA0aPcRsEoGAXDAXxEWnw0ultx8ID5pqYmAdBFNlTbQT0KaAdA+QcaZ/eHWTCDyoghM9HDwMDAAAAAAP//YhoEbhgFNAK0nOgBAcbff/nCg2c7D9b4O37GRvzzXwZtWpl/+yeTxOnvTDQL31FAHcCmc3QorbwdBYMfjOQB+lFAPTBSj3AD7eQJPH36DN3O4QZ1OkDHJzEwMDjSYdv9KBh+AJRmHU+fPmMwVCd6oJ3u4QQahvJgHLTsWzgInEINoA89mm4UjIJRMAqGIgAN4DaCjrM6ffrMkK5bcIDhcEwcaLHKegYGhvempiagiYQDpqYmDaCFE9DjyEbBIAPQfDTcs4ek9gAAIABJREFU+lwk38E5oICBgQGg0Z09wxTQeqIHBli//yxlYGDYOxhD8dc/xlRa2/H0N6MQAwMTgynnv0e0tmsUkAWOjgbbKBgFo2AQgpE42TMROkg7IA1l6ACrg6mpSQF0p8/onT6jAB/4CE2vw2HXggMRaoYKeDhM4mTCMNpt6EDFu6VGwSgYBaOAXgB0XFvB6E6eIQXkoRh+RLOpqQkDdPf1A+gxqRegA/Oj8ToKRi5gYGAAAAAA//8anewZhoBeEz0M4MmeX4ahIbPFV69JfTnYQvL9X9pP9jCMTvgMdnBkpAfAAIODw/G+DNAq1tFt5KOAQjCS7pGBHbk0KFYXggaKTU1NNgzj86RHAeUAVHclDKOBguE02dMwCNxAMYBekHxxmJRBo5M9o2AUjIKhBD5C6/jRcmv4AH0ohh9ZC50EOgidBHoA3eU05HZnjIJRQBZgYGAAAAAA//8anewZZoCeEz0gwPj3Hxvbzz+tDAwMKYMpJA+fts369Z+Rj172jU74DErwdXSyZxTQCBgMk23xo2AAwDA8UgkfGJQXWULPk3YYZqvrRwF1wMTTp88UDJewhB6xNZwmNYfT4NyBYTTZMwpGwSgYBUMBXIQuQBopuz5A9Uz9IHDHQAF7pAV24HAwNTX5CN39c2B0F9AoGLaAgYEBAAAA//8avbNnGAF6T/TAAPvHr8GhIbP1BlNIvv3DWE5vO0ETPqN3+AwqcIRN5+iXkR4Io4AmYPR8+lFACRgp50tvHMwXWYLcBb3LZ7jcnTEKKAeJw2miBwqGU3lzcJityFUYBG6gBhi9t2cUjIJRMBTAQWi7dCQN7I/uYsEE/NAJoHroXUD3oXcBbQAd9QxdDDYKRsHQBgwMDAAAAAD//xrd2TNMwEBN9MAA5+fvoMESw8EQmntP2c6h564eZDC6w2dQgSF5kfIwA8O1gWkwemTJKKAAjIROxELoRMqgByB3Qo96GN3hM7IBaKJnOLYbhlV5MwwGYQygC0YSoPcODBcwuuN5FIyCUTCYwZBpl1ITQI8MHT4eoh2A3QUEPgYO6Qg4UL22ARSOw9Pbo2DYAgYGBgAAAAD//xqd7BkGYKAnekCA5fsvhWjf6XOWbs4c0OPcDp+2DX/7hzF4IN0wOuEzKMBONp2jL0Z6IAwCcAH57NxhBIbLatxRMDBguN/XAzoiY0jtjhid8BnxYLhO9DAMs509oLJz/yBwxyjABA6jkz2jYBSMgkEKDo7EiR4kMCzv0KUDgB0BVw89+u0AdLHngdFj30bBoAcMDAwAAAAA//8aPcZtiIPBMNEDA6Dj3CL9Z9QMlP1HT9s6v/rDOGmg7EcGo0e6DSgA3dUzZQT7fxTQHoyUY7hGAZWBqanJcE87Dwfz0W34AHQg4ODgdeEooBEoHMYTPQyj9dUooBMYTWejYBSMgsEIwHf0jPCYGd2VQjnghy5gnQ899g20Y6phBPTrRsFQBQwMDAAAAAD//xqd7BnCYDBN9MAA54cvJZ6Fm+PobW/BxlnOt78prPz7n4GN3nbjAqMTPgMGOkbv6hk0YLiuehlOl12PAvqC4d4pCBjid2oEQCesRsHIABtPnz4zYZj7dDgdFTYKBi8Y3fE8CkbBKBhs4OMwaJdSA4zuuqQ+0Ife+XMeet/PhNGJn1EwqAADAwMAAAD//xqd7BmiYDBO9DAwMbK8VpVlusPL323YcTKLXtaCJnre/lRaduR1NPub74aD6mjC0QkfuoOjbDpHj4wwPw9mMGy3OI9e3jgKyATDeUCscaifaQ0dEBjJR32MJPBwuMf16MDDKKAjGF0EMwpGwSgYbKBg9LgtMBid7KEtAC2qyUea+CkwNTUZXQAxCgYWMDAwAAAAAP//Gp3sGYJgME70MDIzsX4TF2C5Iinx98///2wfvv5o1W09PofW9uasX1gDmuj5w8DC9vUfx5/T73xZ7n/0GDS7exhGJ3zoCe6CdvWMHO8OCTCcG9ijkz2jgBwwXNPNxdOnzzQMAndQDE6fPgPqFC8c4t4YBYRBwQhY7SswCNwwCkYIGB3cGgWjYBQMInBwmB/RSjSAtnU2DhHnDnUAmvjphx71dsDU1GR0AdkoGBjAwMAAAAAA//8anewZYmBQ7uhhYWL/ycfFekFJ4Sey8Jcfv4I1G4+cN+o86UxtKws2ztBLW7vuyNvf8sWgiR6Y+K//zD9vfTFjufYujIPadlICRid8aA5A9/TUjB7fNrjAMF9NNTrZMwrIAcN1MKxgELiBmqAAevzHKBieAHR824YRELej9dQooCcYnewZBaNgFAwWMDrIjgpGQptnsAF70B0/0N0+oPt9RhfgjAL6AQYGBgAAAAD//xqd7BlCYLDu6PnFy8V8Rkv1+08Wlv/o8j/+/FV4/+XHGp2WYztMOk/pUWpfwcYZ4lnrl815+1Nl9+e/Qtro8v8YGP//+M/8/fF3DabRCZ8RA0ATPQVsOkdfjPSAGKRguN5/YT/aaBsFZIDheH/GQehumGEDoKsgh/tdLiMZDLfJyVEwCgYDGG0TjYJRMAoGA2gcPb4NA2wYXcQ0YEAeer8P7G6f0YURo4D2gIGBAQAAAP//Gp3sGSJgsN7RA9rRg2uiBxl8/fnb/O2X7we1mo4eMWw/UWPSeUqcFKtyN8zPyli3esfLnxo33v+WCkbezYMOkCZ8GEePdBv24CV0oufOSA+IQQyGc2M7YBC4YRQMETCMG/fD4vg2LGB0smd4goUjaBBodGfPKKAnGL0jahSMglEw0ODjaPsNE0AXMY0eazewgB96t8+F0Z0+o4DmgIGBAQAAAP//GlSX2Y8C7GBQTvQwMjD+FOZlOaumTHCiBxl8//1HG4QZGBiK1RuPvGJhZrrIxMj4iZWZaTdImbn6vW+sTN+4/vzjdP3/n5nv9z8O1a//+BUYGBRJch5owufbf5bvN76Ys/OyvWQR4Tz/h3zPUheAJnwYGJgYTDn/PRosbhqi4C50omf06LbBDQ5AtzEPRxAw2nAeBSSA4TjZ83C47eqBAVDH2NTUBHR3T/zgcNEooBIYHQQaBaNgFIyCUTAKhifYMALu4yMXTIBONoyCgQX80J0+BaBJn9Onz4y2S0cB9QEDAwMAAAD//xqd7BnkYFBO9DAwMLxXlPx3QVbmByVm/PrzV+zXn7+uUG4wiHj9VZKJlY3hH1UcCTpG7j/zzzPvPJkcJB7952B+y0gtcykFoxM+FIOFbDpHRwfZhwYYziuo/UGrckY7FaNgBIPh3kHZMDrZM6wA6MjBCyM9EEbBKKARGD2aZhSMglEw0GB04BwHAO1qHl3ENKgAaNKn39TUBHS/VMJo+3QUUBUwMDAAAAAA//8aPcZtEIPBONHzk5fry20DjXcXZGWoPnHCwvCf8dev/1Q39/t/jn8nXod/+z3IzikdPdKNLHCRgYEhdXSiZ0iB4d5wGT3KbRQQC4bjkUrD+sJX6CX+o2ecDx8w0toOw3VX7SgYnGB0smcUjIJRMJDg4uiAOUHQMNquHXRAn4GB4Txol89ID4hRQEXAwMAAAAAA//8anewZpGCwTfT84WL//lhV9v5+LbVHT/l4+GlhBxMjA9OPb/+ZaWH2+z8S3Hc+m7/7+I/hzh8GhkFz7NfohA/RAHQ3TyebztHR+3mGGBgBje7Ri75HwUgFD0fI3SfD8pi6EQqG9eTkKBgFo2AUDDMwunN+FJACRheDEgDQdvvo7qfBCepNTU0uDOM7XkcBPQEDAwMAAAD//xqd7BmEYDBN9HwV5X93T0Phzj4djZvXBYU+srIyS/xnZKTJhAytwYNPDtI//zN8efeX4Q5o0ufXf4Z3/xkZ/g60u0YnfPCCowwMDIVsOkcj2HSO7hjE7hwF+MHBYRw++qamJqOXYI+CkQhGyiTI6GTP8AAbR4/cHAWjYBSMgiEFRuvfUUAKGF3QQQQ4ffpMA/S0lFEw+ABol8+F0bGFUUAxYGBgAAAAAP//Gr2zZ5CBgZ7oAR3T9pOL/ftHPp4vz3j5vnxkYYFPhvxjZGRjZWYSGoTBRhT48Z+b7eUXByFxngPvQJM+IAy6HYiTkYGflZGBh4WRgZOFgYFnINw2eocPHNyFHvsFxmw6RwfNLqxRQBG4MMyPk2kYpkd0jYJRgA+MhF09DCPgKMqRAkYHDUfBKBgFo2DogI+jOzVGAQlgpOw2pxYA3RNzfnh4ZdgB0ClK+01NTRJPnz4zWgaOAvIAAwMDAAAA//+iZLJnCsMADYwPV/BcR87qPR9PIgMDA92PqfrOzv7rKTvHL3xqQLt66Oci2oA337XBkz3Ihn//z/ARhGF8FgYGNmZGBjZ6u+3jT0aGR7+ZLwXz/Z1Pb7sHAXjBpnP0xQj090gBw32w1B60Auf06TOjg4mjAB8YbtvyR0p6H53sGR5gtHweBaNgFIyCoQFA/XKH0d2Yo4AEMFrHkwBAx6yDJhMYGBhG4rjTUAHzTU1NGEYnfEYBWYCBgQEAAAD//yJ7smfalbrRezOoCGRKdnswMDCEMgyi+2SQASMDAzMzEyP//8HjJLLAhz/iPD//iLOxs7zEObH1h4Hh15//DHgnvmgFfv5l0Jv1ntkjx/ZQx0CH1SgYBVQEI6EBPrq7ZxQQAqNnMA9BABpsAnW2RsGQj8fRSbtRMApGwSgY3OAj9CiuhtFdGqOARDA62UMiAE0iQI8Lix9SDh9ZYHTCZxSQBxgYGAAAAAD//xo9xm0QAOhET/mgdiQzEz897uphZmWk+XzS2++G/FK8O17T2h4KgPuUw3YMoxM+o2C4AFCHzdTU5CEDA4P8MI7U0d09o2AUjIJRMDjBcL43bhSMglEw+MFF6ATG6J0io2AU0AaMTg6SAU6fPpNgamqiMMyPWx/qYHTCZxSQDhgYGAAAAAD//+zdvQ2AIBBA4RND7RAu4CiM4xiu4hy4i62NP7nExo5EL0B83wIQ6HgEHMuWVxWhR0Rc68yf7NvP5vBef9GxtW59Zz3GBzT4jBXME0j1hwgyFTAHAMATh0AAcpljXAZCD2CHy3avhDtIo1wafAL7g2QicgEAAP//7N0xCoAwDIXhp4t4mjrY3SN5ZY/QWUSpFFxFDK32/y6Qki08mhD2ZPSVoEfnx57GPCDZpL3r29W6TlzlZl3jJQQ++JMahlzn/TgX8A4AwIWwB0AOIR1CB2BnobfPpdtYE4FP8eLavaH2JuAmSQcAAAD//+zdOw6AIBBF0RmD7sY9uhRYog2x0RgSCkoSwk/v2QChnfcYCHs6mSnoeVS3FivcjOoty+prnxOc107gA7T1l8bVEZ/DAwDGwH89AHqwcZAKoB4KHYWSwMdNfZFvC+V7Vrkhj4i8AAAA///s3UEKgCAQheHXRqJtF+4K3dVFREQYbYMWNjLj/11Axo2jT5SwpwFPQc9tULIYZhpT3s+ULcbajtmkpkoIfODe00T28G8CjRjeRAs8uwg1uUUXAoetAFogaAb+xxpfQdmrlz98JK3ui4mrvCKy9D4J+EDSBQAA///s3cEJgDAQRNG9RMzJkqzBiiwwKceDgqAseBckWRL3vyoCszMh7DHWXdCjjRuD/3pUiMO2X6NJ2HOcU09hjxD44Ce87JXPPMTggJcGG009AMAXNA6A+ghVC0op6yT58sxQoj0rh2h4JSI3AAAA///s3bENgCAQheEzNto4kyM6invgMiZaioSEHi0kXt7/TXCQKw5eAoQ9DXkMelrqp3E/43DY3V06q36FwAfeKX1Omwex+Qd1AF9R6W8OVP5xEQQAAPBACNta5l+FVzk8WtQ3ABVmlgAAAP//7N27DYAwDEXRNJElZmAXVmAVNmMPZwh2gCopQG6RoEFE+dxTp4iUyrKdR7MnExo97wbxhxcf7VA85fcpgj2NtWT23NHwQbVUw9ZZ+ONKfg8aNnXyuHMBd8AHZGYAWbDFAgCNsLpdNdhg18KWT3HsFxHqEzxzzl0AAAD//+zdsQmAMBAF0NQK0U1s7u/pCDpPLNxDELEXJRBLESz0vPxXpzgSLMzPJQx7XsCg517pi/kctG5+UlyqBgx86M9yes+mSoFPraAWE+JcxivyABkB2QFZAOl+0s5ubiPM+o9G+nYbBaUQPZHT4Qr6HsMeIiJjQhja1OXTc21VYXcPXXPOHQAAAP//7N3LCYAwEEXRQSFuXNmATZgCrERLtQPLCQQhEgjiRlxIJJ97Osgy8yYvhD2REfS869rGqqG/wh7jlDmc+uXvnowR+CBXNYU9EgbFNdXXRRMCnc1X5N0G8D5QW0Rk13paEz9CiYOw0rfK2JpDznjRBAAAPgmvfPw9a6baLRkjlfF4JCInAAAA//8aneyhIRid6CEO8AnxvkBX+OkvH4bYKMAAoxM+o2DIAehxOhtHWMyBtlqPtEkuqgKkiR58uyzmm5qajK5yoi8IGOY71woGgRtGwSgYBaNgFIyCUTAKRsEoGFBw+vSZA9Cj3UYnfQYHGO2njALsgIGBAQAAAP//Gp3soREYneghDnCysnxH3tUDA1//cXz5Q4e7e4YBGJ3wGQVDEYzEiY/40Qkf8gDSRA8/EQbkm5qaDMqj80AdpEHgDGoD/uG6+wW6Wm70CLdRMJTBhdHYGwV0BKPpbRSMglEwCkYAQJv0GT3ebeCA/+j9wKMAK2BgYAAAAAD//+zdMQqAIACF4dfcUmNjJ+pKdT67REGzFygKwaYIbMgM/282UHTRBy/CnhcQ9IQrm3q+G2zXatFebAlOOzUEPvgVY0ZXazZluGsEPg/5B/fQoOfUuW/4V1I0PesCkkSNG2LivAFARnzo4+rdWklDpvf7r1E5jStJBwAAAP//Gp3soTIYneghHggLcL9g52T7jkvDj/+svz7+4386CJ0+GMHohM8oGGpgpE56gCZ8RiciiADQO3j2kzjRAwOgHRkPoLuCBhMYjkcegM6MHlYTI9BJRvtB4JRRMAooAaMX5o8CeoGLw3T36igYBaNgFIwCAgB6p0/D6dNnFJB2+4ye0kMfMNjvrB0FAwEYGBgAAAAA//8aneyhIhid6CEecLGzfuEQFyB4L8+nvzzvfv3jwDjmbRRgBaMTPqNgKIGRfLeKPXTnyei2axwAugNqPoXG8EPDeTA1gofryueCYZaeR+9+GgXDAYxO9owCeoCHo4NNo2AUjIJRMAoYkHb7nD59BrSw0ZCBgWEiaEHAaODQDOiPLiIdBRiAgYEBAAAA//9iGQ0V6oDRiR7iAeieHl5ZkfvEanj5R+SRNOsLTibGP5yDwPmDHYAmfBhybA91jPSAGAWDG5w+feaDqakJaNVP/AiNKtDOkwumpiYBo6thEQA6YbCBinelgCZ85oPMBa04o5KZlIAL0GPmhhvgh+7Wcxjq/oLuUhq9q2cUDAcwHO9QOQg92nMUDA5wAXo07ygYBaNgFIyCUYACTp8+A2qHFDAg+ngO0GPHHMg8uWEUYAcO0P7zKBgFEMDAwAAAAAD//xqd7KECGJ3oIR6AJnr45EXvsDAzkXQXz8s/YnfEWV6pjE74EAVGJ3xGwVABDSN4socB2sjdb2pq0jhIJiIGFIAmvqATBrRo/NdDOxkFoInGAfTncL7A2t7U1AQUvkN2Vwz0+Lb6QeCUUTAKKAbQRRUfh9GAykHohdCjYBSMglEwCkbBKBhCAHTUG7SfBz7KHXrUtgMUg9jyo/FJNjAYnewZBSiAgYEBAAAA///s3eEJwjAQxfGHuEh3MHvoBJ3FCZzBCRykHak25eQ+mA9CqEjt5f9boVBCXt4dY9y+RNBTb23QY6Z8eFrgM+fjxx0/KDDSDX/PD313vtQriGh2rJtVz1M62QH18eNLyd7Hum1ZdY8c9pibBya789YqAyKJ9M+JOgYTAICmWOvHHogNw3j2XT+dpIukq7d42flTj4cwKElaAAAA///s3cEJgDAQRNF0JlZgK7ZkBykppcjgeBTUwGqW/yoQb+HrhNjTgdBzX0/oORF8HiP4YATcjXGYPOu2/uFhovg+nRY4baZ5ruavycI5cGY/vNSv3u9bDoCVSQkklCn2LOzSAwCQj85ImgXV2oX+4vWdPwpAswPQRgS6NNS5CwFKKTsAAAD//+zd2w2AIBBE0e2A2JklaKfbip0Y4pDgHxgND++pQNSvHccl7HmIoKfcG0FPQuBTjcAHXdO/fGn3XIKaET7asLxWPF88Z9yn02DAHtTwabVQevZ9E+n+DvEOa3js7OnBpGZrE64dXAMAAPiYAiBXALRlIdCiEGjPmkDHj58HH6vhzsxOAAAA///s3d0JgDAMRtG4iUPYwdzATew+FcSNJBBBfLIiVJN7NkifCl9+CHseIOi5782g50DgU43AB18X/l7NhU75rCkN2VsXs67K0rq0PquzFf0Uz40mqSIcF/9F4GOr2wh64Jm3sGdiugcAgLj0JqGFQPk0CdSXsnQWAo3WTLpFeSTvjaKoJCI7AAAA///s3UEVgCAQRdFpYgUbmYUE2kwbWIXN98gCPbIQcHw3AWx5DBB7ChF6nnsj9BwIPsUIPugWf/dcmvTk2OcPt5LIs2tfvZi1rpr+EHtMwWdtOEF1S38LbYQeeKbpWU9PngxcEAEAADmKQIsmgcZkCig4jz9chMHJzCIAAAD//+ydMQ4CIRBF0WzjCWwtPAJTehb3ACZ6Ayn3WJs9ibWdvYX55m+iHZpAWPgvoQYmDMnMH5hO5ohHQk88KYWemVnw2Xb3/Xr13KSapyIg+LjTYRpaN4QoksDvWfQM+RvY44ph5iGIBYpji4AJ9UvGnjz/cGQ1FKrCkjcAR/LVzD8aOut4QQXf7nPYNwYIqPQrIVpgLPwO/pWzmUdj59xCfTZY4IF7c8c5bzXvVwghRFkwhgsfPzEgdoGIsqiCC8YeI8d77YxLsL9euQdRJc65FwAAAP//7J2xDYAgEEXZwBXcyBUcwQ2MGzAKGzAAFG4go5hLvo2FwYIT4b/EzoQCYwL/3h3NnkwY9OSjEfRc0PB5DQ0fUiUIMCx35xExYg7M9JlrtX1g8YiNJHvqf3LJKHbHrqjAO6V1amGCpfbpvA05uMolMYMe0hkt2oS21ZYl+E8mzLRb8UhontimhRBCSGlQFOVvLbcHFB9qnpeKEEJ0IcQFBRVbIx/UmPEO6QVjzAkAAP//7J3BDYAgDEXZhBG80LOu4kZsghs4iiO4gmlSIhcNYoJF/ltAbtQ+8j9kTwYQPfnUFD0RCJ/HQPgArfjOyxVzGWUJtBO5RYP44aGf+29kkb7Jcsp+eaYCrPTM1BASvUS5pfBPYhBZOdX8cBIjuCK2DXTIH+Vy7AVTGRNZAt/jRI7noHDx0ti20IUGAACgXWRevnsUNUhMs289Zly6f1hszQqO8xbIHnBijDkAAAD//+ydwQ2AIBAE6YDStBNashNL0JIMyZLwAx8ncsy8eRJzYW5dZE8DRE8/I0RPAeHzGoQP/A7FrEcU5s/MVomfW4P3bj18V3LnUILnyv03Dh7Si5CwvoerJXtqsqw8JX1MxZru6R+7ogA+Q8lZj4sUUYmX6VPB+hbmZYnUOBoRPgAAYIEWKHrn5eSlW1a/SfXc5wOrEUJ4AAAA//8avbMHDxid6CEeDOREDwyM3uFDMhi9w2cUDDoA2lZtamqycZjdL0AvoA/F4MEi6L0wF6D4A9JukgeE7v2BNtphg0kKUGwApUfCzoh+0GAa6HJPWhgOmtgcTefgSR97U1OTh9DJrwXQy+QpAqBdPNC7LhJGd/GMglEABxuImEgYqiAfdj8c6GLmoeQHLHciEANgEz4O1CgzR8EoGAWjYBSMAugigvkkBgTsbtkC6MKLCYPlfk4ywFB19ygYBZiAgYEBAAAA///snc0NgCAMRruBI7iE3NnEEXQk3YARDaZFLv4SsTXfS7iSwIny+gPZswNEz3U0iB4Bwuc2ED5AIyMPTcTAxDIa+VDnXVJJvnOdweNUp+fAx78UuARIzZWWP6EHFpQyRHUVlUd3n0lJWd5g+0AAajD9WPYQi91YMThHeXKW0PA1DyVPTmpjF5NkNJ8VAACAbvg9XZIskUufwNLHWjKC9YpZyCqwQUQLAAAA///s3c0RQDAQhuF0kFaUogNUpAUlKIESdGQy80X24BB/I8z7nJ2YQfbLbgh7dhD05Csp6IkIfA4j8EFRQpFGB0P2PBm8LBQQw3i8+oFFy6hzqgg1E68AbAvBTDA5m+sq7huQL7y/1EX39zC0UVA/q9hUVBCiETnthZDHimNHO42gAQDgjOmm/2pvvsOLNpoMpXf7aAPG19cVdPoicc6tAAAA///s3dEJgCAUhWE3agQbqVHaoIFsGEeI4FwwnxQMb/R/0HM+CXX0Hjp7KgQ97TwGPYYOn250+MCVlM69+rkLzGKl2OvI9+vDhxPZ7WLxEPQA/f6030QFIdm67GYtRD16d79d1oicEUFP6VCIBABAF41fe2Ps8aKDm9Yru3nsm9Otps93/wEPIYQLAAD//+zd0QmAMAxF0bdBV3JER3AER3IUKaSSD4UWg4ZyD3SGliYvIdnjUOjpl7nQ05DwGUbCB9nUz5mDj10kUGxEUHQH9TawCBUA3lgnH+V2p7gxkbImkmtUZHS3sRstudiJLuw8qQUfkfABAPSyRoEv3gWt8CNLGft7+LdEiu353NnxielIOgEAAP//7J1BDYAwEATPCUjBKRLQUAeVggRyZC/lWRJKC5n5VAAPKHO3i+wRiJ56viB6AoTPbRA+MAwqsfeP0I2nAoOwqhT7kSlqLxNXzAGXDABoiiJS04sCYkRiQ/DssFNPWFbWffxwypXZ9yF24pw7x+QhfAAAoApt2fTYaJki6s1KXHO6vHtdAu2tJJCGMhYNlf5p4I7OHiiY2QEAAP//Gp3sGZ3oIQkMpYkeGBid8CEZjE74jIJBA0Dn7ZuamkwcgauRR8HgBfHQlWABVFoVPgF6tM8oGAWjYBTQGiw6n7/0AAAcIUlEQVQY4ZM96IAfKTz8idc2aAFowkfh9OkzDcPAL6NgFIyCUTAKaACgEx4bBtHpGfZIdTFsMQaI+oi0EOMBFCODA3jMhC3GYBhEizJoBgZyh9QoGISAgYEBoBF/Z8/oRA/xYChO9MDA6B0+JIPRO3xGwaABp0+fKWBgYLg4GiOjYBABe+g9PgKUOgm6CvvhaOSOglEwCmgNRsubEQHqQXcEjfRAGAWjYBSMglGAE2wYIpMe/EgTQfHQiSBkvB8P7kdSlw81Y1hO9EAnxUbBKEAABgYGAAAAAP//7NuxEYAgDEDRbEQje7CBqzi6FQU0SuMBvjcEl+Mnv449Qs97K4eeSvAZJvgwk2KQYTLpYaNshI854Cvem/2dgg8AvZyPy4Xvdlz10IqIGwAA///s3bEJwCAQQNFDg+uk0fmygnO6gkVCQC1SWQRR778RRA70g6qNPYSefoc1afXQU9Xgk2/HpXEfgg+m8P41UIIPMJMzBP/HvozETACDMG90IPgAAJpyZrlYke18n7eDdiLyAAAA///s3bEJwCAURdE3RIrUqVK6WpZyKyFjpAwftLAUCz/+eyYQBJuLvJCxh9AzpBzXmXcIPY0Fn/e7bQSu+DiRewQfuGBj9pIebgPOpNnj1O2fFSOpAILhvQmF4AMAsNCT+Nm7LWIPepJ+AAAA///s3cEJwCAMheEcrPN2pHYD97ADVXpQAhnAgpQa/28CRfDgI77lwh6Cnlc0DNljDGWiNXe56/bo3gh8uhH44BdyvvSB6uQ04I0VatOlAeALTPesQwOfNKJjDgAwH7v/D+vAgT+jvhWHFyLSAAAA///s3TENgDAQRuHfGCMzFhDAgAQEIAIrsBYZSKgA0uYS5htIoPc+BU1v60vbULGH0ONSQ8+19vlHa3aZuiMTfFwIPviElM5R0s400KCFoQJ4m93umdnoMIZyGETwAYCQNvtrFA2y10+Ah6QbAAD//+zcwQmAMAxA0Wzkxe7lSO5TL24kQj15KoiU5r0VCjn0k6SJPUJPl+lDz0Pw6Sb4MIr75vDpNRjAZycRaj12IRP4Q5s3tgnzWAQfgFxKWbcW/JmT/xDeIuICAAD//+zcsQ2AIBBA0RtKekdxFSdwMByKkGhlRWIk8d4bARrIP0gRe4SeIWlCz03wGSb4MN01lbw64DDZXuv59j/Jpu2Br2xWOhXBByCJUpZ+Vz7s96951cNTRDQAAAD//+zdQQ2AMBAF0ZGCCOoDa0jAAegoByRxWU6cmkCabOdJ6D9O0k0feww9TYYLPQ+DTzODj7qL4LN4d0CdbHFn51O1nhewOqqkv8XXH4cPPRSDjyQlV8o8Abs7p+fGegNuAAAA//8a1pM9MiW7VUDj+IPAKUMBjNiJHhgYnfAhGYxO+IyCAQfQXRUOoxM+o4DOYCH07ihagYbR45VGwSgYBXQCCaN16IgDsAkfg5EeEKNgFIyCUTDcAHQyHzQJwD8aucMafBy9r2cUYAUMDAwAAAAA///s3KERwCAQBdH1UELKpIQUQD80FwMuJoLAHPsqQJ3Z+YSNPVdpGbiBtMFzdnd86BkMPp8ZfLRcX0IYfPSX2aFnrNb8XknSdN6bYxl8JCmm2m+8YnPVo3fAAwAA///s3MENwCAIhWE26LGLyDyuVuexQzUk9tLEgwctkf+bwMAJn7Lzzx4bWk4H5/COoOeDwGcYgQ9+R+CDRaYHPa/2Uot1bgCmq/W2C4NCpcM5CHwAYB+qyeaUTEtDuKIXAB0i8gAAAP//7NyxCcAgEEDR2zGLZCMHMk1GyCYSMKVFihjR9yYQDs7iw00Ze+r5tm2Ap4xO6GkQfF4TfPid4MPHuoWeR87H/Q+dBgt0sDsfuSTBB2ACdY8ns1zC5YQbTRFRAAAA///s3csNgEAIBUBKsBRLsbQt2QubeNqNiZ8oMyVw4MAL8NfNHn965gQ9EwKf0wQ+vC4Dn9WAnIs9HvQc+KcB3C7PuW36TUk98FmqFwLgi7J/G/7X0aoXgIGI2AEAAP//7N3BCYAwDEDRbOCquqH3OoQruIGXeC0KlWJ9b4VCLp+kw8We3Opxn7JO6LlJ8HlM8KG7UrY9N3wEH1pYOoaeK2DOXhJ4m3nza5O/mwA+a805zvgOJ9yoiogTAAD//+zdwQnAIAyF4Qyle/TQBbpRR3AF50iGkkKOvYigtvm/CcSAB98T//iy59xgDTsj6OlE4NONwAfLeUP5CXwq08CAS9WWN6dUrfB/D4AZOG9CO6JvAAB8Tc6pUHgP5fa7DuCdiDQAAAD//+zdYQnAIBCG4QtgBGNogDWwwUrYbhG0zBrIwf2XCWPHfJ8EgqByn3q/CntivYIWmh0MxSuCnkUEPo8R+OBzeghqrReaTmOB3pg6rOjpgvXvIbwE8Dpbb9g7AQBwLOekLzJP5mgbN1+4YUpEBgAAAP//7N2xCYAwEAXQG8nCdBaOohs4qiOJYK8iyOm9N0FIIEU+9/O3yZ4hwRqyEvQ8JPC5TeBDCkcF1+w0uGiv/xuTfno5qScEXrK4b8pZq28AwFe01nce/ssx1cO5iNgAAAD//+zdwQ2AIAxA0Y7gKiaytys4Cpt46YGbmmiC6XsjENIDP4DYU4PQ8xLB5zHBhynkDY3Vx9NcODL0THngNTxPaB8DnxrmjeBTx159AQD+oLVtyZntn546urjHLRFxAgAA///s3NEJgDAMQMFsoiM4gqu4gas4VzuUCP6JYEEk2LsJSj/zmv4t9kwJzpCN0PMywaeZ4EMK5wB/NLjixlZKnbO/lhJ8gK8IPl1Zkm60AnB1fFU+uJeurLZ6eCQidgAAAP//7N2xDYAgFEXR17uAhUM4io7ADixm7Qg4lDH5BR1YkHzgngkI7c3PGyb2bPFeJS0OnuIJoacRgs9vBB+4YDs+O+PTyHzR5LSNii5YuCT4AGiO4DOF4GmjDgBQdPBFU7lSeri+RR1JLwAAAP//7N2xCcAgEEDRGyFlxsgq2b9ykxAwfSyUU9+bQLCR+4orvew5E6whE6GnM8GnmeBDGnWwfxuWb+8dXl4zHp4FH2AUwWdZ32UHoQdgLof92kap/7bCPxHxAAAA///s3cENgCAMQNGO5CiuxHw4hG5iSJp45kIE3tuAKx/alWKPEW4foWcQwaeb4MNv5AX/kXta2E9pv7xqve5ZTy74AKMIPst5ckedl8IA8zF2cx+n8W10iYgXAAD//+zdsQ3AMAhE0Vsto2SEbOBVMkpqu8hIFlKKtDTImP82MI0lTsBuN3tA0BOOwMeNwAfLsEa/3WmRdNEwL8MaXEfvo+3wYAIfAFF+q1Bvip7a8021vtULAQBJMZFZw8lfDTdJEwAA///s3MERgCAMBEBKsiTtSEqwnlCU40wa0IcI7rbAK9wlwp65CHo6EfjcJvDhUyLabsvnF2p+cE3VhsshYNG4B94Q0dYsSTCeepVctIQBxpWXCTZPOLXDmVUeKaWcAAAA///s3csNABAQRdFpTT8WWlGCTkXypgCJRDz3VICNjPlgjJsPEj2XkfDZthI+9bE1wxhdPtaym6e5PnAp6GPE0lndaTPASSqSKNyXz8j/edrvBwEADpQIKIpz4GWosAbYFxETAAD//+zdMQrAIAyF4XeU3n9z68Xci2AhgxRKHdKX/zuBIMThmcQp7KkcchD0JEHg80qXdP7ovCgidPk07tzC2M1zuHXzrDBiaavR5ccuC+DBrKt0FeZ3j22jpgGAkfAO80HJB0EPvpF0AQAA//8aTpM9dwaBGwYCjE70DDIwOuFDFABN9BTk2B4aqfl2FAxyAN3lEzC6WmpIA9DgluJwuZuHFADtICSOrrgnG4DCbbSTNQpGAREAWl+CBpoaR8NrUIJG6LFtD0Z6QIyCUTAKRsFwBNDFXqDxJ8PRxRdDHoxO9IwCygEDAwMAAAD//+zd0QnAIAwFwKzkRt1/ihJIf4WWfhhyN4RgXnz6s6c3Qc+hBD5bgh7ayG2pfBWi2q2Vp7Jt9HCrqh3Uun1zGYzCOxWsLwsSx8izf01ceACYKP/wrOUL99aeBD38IyJuAAAA///s3MEJwCAQRNEtxRLSkiXYda7pIAhz8JCDhGB23f8qEARRR2ensOd0MIaVCHqcI/B5RNCDkFTtVvRymc2zT/2CsWapbJvRD30KfKh2mNeoOgLe0ZrDL59/XfrNc2g+AACJDOdWap3jaAQ9+IyZ3QAAAP//7NzBCYAwFAPQjqQbOYqrOIKjdQMvOdSTIFJafG+FHkIJP8qeOSl6JqHwuVH0MLWcyO9Kn+HUvMeSaxYazbSDScJnRz7IwEtNVq6Z06SfM1nomgfgx5LFmyweXs0ihf8H3ymlXAAAAP//7N2xCcAgEIXhG00Le0eKfZZyFwcJhjuwkFQKRv9vBC1E3vncJuwpdzhlcomg52cIfF4EPdgGoc8yLOSpL3muui+nL8iX5gNXJu77EhN1wDhaJ+P0/zCC5rmsvjRSQQkAMM1Z7Al9lpP1HksjBcYSkQcAAP//7N3BDYAwCAVQVnETV3F0R3AD08jBg4kxsUbxvRm4lE+h2s2e6s10Qc9H/TzwEfRQ0kHoo5n1jDmbh0Kei3Y1O+QEOFtoOJmEhz7aj8u8fWc44n7WlwJwKu/QCn3eYcm1baN3LF1ExAoAAP//7N3RCYAwDAXAjuIoruJmruIobiKVFvwUaRDj3RClzUvSbGFP5ukeQc/H/TTwEfSQXi+gt2LW4gIdZrsUtVaX4+dq53ftAPfgOz8wn63/g3gmYofa2zTi5PwC4C6hz+v6ulVr24hTSjkAAAD//+zdsRHAIAiFYVbJCG6QlTKSW9g6UjZIQ8HZJSqXg/+bwLODJxgt7Gk/OMMOBD1BJAt8CHqQjoYQp+5HrjS0pt16j0VfP9HUWih5wccH5oCzYSL2YiL2NTvJwzQiAOATUwMc1KwuOutW4UZEHgAAAP//GlaTPU96XEGDyi8HgVOoCUYneoYZGCETPqMTPaNgRAPo+cgJp0+fEYDu9hk9Mos0cBDpqLaE0QF52gKkDh9sknI4A5D/FEcHSkfBKBg4AJ30mTC6I5ZogLKzdYi4mRQwWsePglEwCkbBAADobv+E0UUYNAOwRRoOo8etjgK6AQYGBgAAAAD//xpuO3tAYDg1gEcneoYpGOYTPqMTPaNgFCAB6G4f0JFZgqMTP3jBRWgnQxG2i2f0qDb6AtgkJTStFkLjZLgA2CRPAgkr6oZT+iN2MH245bnRQYtBDpB2xIJWF08cXV0MBx+Ryq3hvrP1wDCM94ejA3uDEgy3OCGnXBhuk+ujk8VUAGiLMBxHd/tQDED5LHD0uNVhA4bWbiwGBgYAAAAA///snDEOQUEQhkdN4gISBQdQ7N8JbsABJBxB4R4UegqFzlMrucDr3eXJn4zaI+u9XTtf86qX/DuZzOzOZKZRFEUAMvzRWV9bInISkWbkRwmm0TM8Plj4WdStwzP5fd5f1S1idxvRX7mvs1e3Fk9Yo8cwSgA4TvywATTRbztRu+X6UM1spD1MADcQkaX6aTcy+S//+rpxCDgWhsb+pVUOH5xZYmcWXddnU1yRAbiZxpwU8+NFc2JSxSHAMc/sA5Dii9Ix16gWwB3+pLaRcx3tpz9pfD3/RlLlfGUDozzqL4zPUzPbW9gcY9zfpr6VAnCstW4CkOILTmfFcy8TkScAAAD//xp2kz0MkAmfoT45Mah29IxO9tAWDKMJn9GJnlEwCsgE0AF12MSPwTAe3HoIXVV5ADqYNbpzZwgBU1MTBaRJSodBmk4PQjtaVJlAhE7Mbhjikx8kdVCGiZ9BYOLp02cGRVtvFJAPoANNDkN0wpkY8BFWJ470ehE64TNhiLeBQPGZMDrRM7iBqakJKJ3lD2EvgNo6ARQsZAEtgqinvrPoCi5C89rozh46AGjb0GEEL8TABzaO1uGYYBhNrC+EnnwxdAADAwMAAAD//+ycuw2AMAxEPQIdY0ABPftXZAPYgBGQwZYiKn6RctY9KXVwYptEFzuk2COn4KPVPW0Fn/KU6lq3UewpTwDBh0IPIT+SiT+9jQ50fZO1VzgEHlbvxKICP12trN79q1h7lszWptQcBdDYm9/GHajN4j7BfBMPE5ynbKCKPyl79MBWXxfGcfD/ClLu2Szfcj9BsHzi5xcUFvOzzwIHqP3CWKsDOyP6Y4wo1eBPoMBzA+C7hKL7qvcJPEFZRHYAAAD//+ydwQ3AIAwDM0JH6AgdgdXZADaqKiWS1WcfKKR3nyyACI4dUdnsuTZcG0v5Rw9mzxo2NnwwegAWIMOPU2qmQVcPEYoI+y/+qI/0n0k9PphBU/6QGSHwn8r5AoDXsLIl7IvmpvSI4AN3FwAAVMN1apMQWLXNn+59nJAG5MfMbgAAAP//7N2xDYAwDETRGyU7sQZDsgIbsAIbUGBLLkBKQYID/0lR2nQovhP5bNijM/CZJU0JjlIjZdAjwp6uBgx8CHqAl4Xhuu/Flh4cfO3hAVQfum+hYUijCQCQgg2dysVqGQT5o+dLCKb5PgIAfsfup15OzFrGuLOGPwdQYMR4JB0AAAD//+zdwQnAIAxG4X+EjtCRu1o36AgdwYM5BBEpCtKE9y2Rw4sxdexRDT5XgPM3vw09IvZsFyj4EHqAgFwcGnk4gQQAyKgzB/2SxMjrFh/ErAQA4DtbxjhcCDonX/+vutvlRZvp/AGF+CQVAAAA///s3VENACAIQEEi2D+VUYzgr/NXN3HcxeAxqBB7sg/OU4eeEHue+CD4CD0AAAAAHNuWMdqFn1J9OQk9xBxKiIgJAAD//+zZAQ0AMBADofOvejLWfMAG57On7fCZj55kzzfD4SN6AAAAAABWVA8AAP//7NkxEQAgDATBDL5wRIFGlNHEQ8Kwa+G/u/HDGBlTdsaVLp4IPdRZ83T8rdADAAAAANBJRFwAAAD//+zZMQ0AIBRDwRrDBwIYMciKMoIDxp9wJ6Hp9r6IPakXfIQentzgM9seSVaBxe5vu9ADAAAAAFBIkgMAAP//7NtRCQAhAAXBV+waGUTDWMJkIljArxOcqbHsM7En9wQfoYdj5Rs1SdtnzR/6ik77NgIAAAAA4BZJJgAAAP//7NuxDcAgDEXBvxgb0bALw6RGyl4RK1AQJO5GsN09+arYk/+Dj9DDslrGk2R++bwbpzhvttUyus0BAAAAABwoyQcAAP//7NtRDYAwEETBNVZHlYC6KqAuwAVpUgcNKQkzEu4+X/Z3sSf7go/Qw7Ja2lVLO0aASdJfvOg9lkRzzXP6HAAAAADARyV5AAAA///s27ENQFAURuFT6KygYwxM8cZQKAyiMIxEh8FebmKEpxDnW+Avbnlyq7/eJqJLsxwRfFagfXnO0KOingAzb9fYAQnogbrARnwN7dNw3l5MkiRJkiRJkj4AyAAAAP//7N0xDYAADETRcwQGQBFyUATIQAw5ByyQEN4T0C7d/tDfxp68F3yEHh6zTNuZpP98su5zg8+YpAFouLmz99kZjUeHnzwAAAAAAB+T5AIAAP//7NtBDQAhAAPBykANKnF0lhDAh/DjeSSEGQMVsOnTsSf/Bx+hh2PmG2c9ctpXS5Ky2e8zFAEAAAAAcLMkAwAA///s3UENACAQA8H1rxQZ5EQQEpix0Oc++n3s6VzwEXq4av59qmUFAAAAAICHVRsAAP//7NmxDQAwCASxFxOzf5UibIDo7BWuvNL3mynTM2m2jB4AAAAAAOBekgcAAP//7NkxEQAACACh75/a1QCeE9RA9ixH4SN6AAAAAACAH9UAAAD//+zZsQ0AAAjAoP5/tburiRO8gexZjuEjegAAAAAAgD/VAAAA///s2SEBAAAIwLD3T00BFAK11ZjsWRzDR/QAAAAAAAC/qgEAAP//7NkhAQAACMCw909NAgQGtdWY7Fkcw0f0AAAAAAAA/6oBAAD//+zZMREAAAgAoe+f2gaemwvUQPYsjuEjegAAAAAAgB/VAAAA///s2TEBAAAMw6D4Vz0JPfeADWTPMMJH9AAAAAAAAH+qAwAA///s2TENAAAIwLD5V40CEj6e1kZlz8ESPqIHAAAAAAD4VQ0AAAD//+zZoQEAAAjAoP1/td1ks8AbyJ6jFT6iBwAAAAAA+FcNAAAA///s2aEBAAAIwKD9f7XVarLAG8iegxU+ogcAAAAAAPhXDQAAAP//7NkhAQAACMCwC/pnJgMOsVW4/MhwY/IAAAAAAABvVAsAAP//7NshAQAACMCw909KDCogEVuE+zt7uBiVAAAAAADgoWoBAAD//+zZMQEAAAzDoPhXPQs7e4ANZA8fsgcAAAAAABZVBwAA///s2TEBADAIxMAXg6zKRQCSkNCV4U5C1pg9fPWrUQkAAAAAAA5KsgAAAP//7NkhAQAACMCw929HIyogEVuE25s9XI1SAAAAAADwTLUAAAD//+zbMREAAAyEMPyrroWOPyQ2OMQevtw9AAAAAACwpjoAAAD//+zZIQEAAAjAsPfPRTAqIBFbhNubPVyNUgAAAAAA8Ey1AAAA///s2SEBACAAwLCHIRZxiQFdqIBEbBFub/bwZM2xq6MWAAAAAAB8pLoAAAD//+zZIQEAAAjAsPfPQkgy4BBbhNubPVyMWgAAAAAA8Ei1AAAA///s2SEBACAAwLCHIRZBCUAZWlABidgi3N7s4dmeY1VHMQAAAAAA+ER1AQAA///s2SEBAAAIwLD3T0FUMuAQW4Tbmz1cjWIAAAAAAPBEtQAAAP//7N0xDQAADMOw8Ee9ZwT27bBpRFXFHk523eO7BwAAAAAAPqgGAAD//+zZIQEAAAjAsMcnNh1QiC3C7c0eLkY1AAAAAAB4oFoAAAD//+zZIQEAIADAsIchFuXoQgzCkAGF2SLc3uzh2Z7jVEs5AAAAAAD4rLoAAAD//+zdMREAMAwDMYMJrMItgTLKlUKWLBKEXz3Y2MPIPfW/e556AAAAAACwKEkDAAD//+zdIQEAAAjAsAcnPCEQmK3GxcUeLsa/BwAAAAAAHlULAAD//+zZwQAAIAAAsYMJK4ggQwoghz59No3JHp7tOU61hA8AAAAAAHxSXQAAAP//7NkxAQAADMOg+Fc9ETv6gA1kDy/CBwAAAAAAhqoDAAD//+zZoQ0AAAzDsP7/1/4aLZ80ZJ8QGrOHsxo+oyYAAAAAADxKsgAAAP//7N0xEQAgEAPBiHlZ2MIRluiZ9/BDtSsh7RURexjRwees6g+fneRaFQAAAAAAPkjyAAAA///s2TEBwCAAwLCKQdZO5CEDA3OECfgSCX1r9nDV/saqZvUrCwAAAAAAj1UHAAD//+zcQQ0AIAwEwRNTWTWBx4pBBsED/GZsbLJiD89N156uu3Vbog8AAAAAAHyU5AAAAP//7NkxAQAgDMTAF1NZGGVHAJJYK6BsdxKyxuzhm7PqtumzlQYAAAAAgGFJHgAAAP//7NkxDYRQAETBR48LEHACkIsherx8cgkaICQzzfav3WmMISuP2PZz/k/1q9ZqebH8cR9RAAAAAADwXdUFAAD//+zcQQkAIBAEwAtgGAMY1xCGMcwhXAZFmCmwj30urLGHp8bcvfJbDUC3nKu5pX0AAAAAAL4WEQkAAP//AwDXRe+gQ1o+DAAAAABJRU5ErkJggg==\"\n alt=\"Care Fist Logo\" />\n <img\n *ngIf=\"type === 'vertical'\"\n src=\"data:image/png;base64,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\"\n alt=\"Care Fist Logo\" />\n</div>\n","/**\n * CareFirst Library Calendar\n *\n * @file calendar.component\n * @description Contains all the logic for generating a CareFirst Calendar\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 01\n * @usage <cf-calendar %displayTime% %color%=\"success | accent\" %min% %max%></cf-calendar>\n */\n\nimport { Component, EventEmitter, Input, Output, type OnChanges, type SimpleChanges } from '@angular/core';\nimport dayjs from 'dayjs';\n//--- Utils\nimport { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';\n\n@Component({\n selector: 'cf-calendar',\n templateUrl: './calendar.component.html',\n styleUrl: './calendar.component.scss',\n})\nexport class CalendarComponent implements OnChanges {\n @Input() displayTime?: boolean | string | undefined;\n @Input() color?: 'success' | 'accent';\n @Input() min?: string | undefined = undefined;\n @Input() max?: string | undefined = undefined;\n @Output() value = new EventEmitter<string>();\n\n //--- Local variables\n inputTime = false;\n inputColor: typeof this.color = 'accent';\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on component input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Display Time\n this.inputTime = checkTruthAttribute(changes, 'displayTime', this.inputTime);\n //--- Color\n this.inputColor = validateStringValue<'success' | 'accent'>(changes, 'color', ['success', 'accent'], this.inputColor) || 'accent';\n }\n\n /**----------------------------------------------------------------\n * @name setValue\n * @description Emit the selected date value\n * @param {string | string[] | null | undefined} value\n * @returns {void}\n */\n setValue(value: string | string[] | null | undefined): void {\n if (typeof value === 'string') this.value.emit(dayjs(value).format('YYYY-MM-DD' + (this.inputTime ? ' HH:mm' : '')));\n }\n}\n","<ion-datetime\n [class]=\"inputColor\"\n mode=\"ios\"\n firstDayOfWeek=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [presentation]=\"inputTime ? 'date-time' : 'date'\"\n (ionChange)=\"setValue($event.detail.value)\">\n</ion-datetime>\n","/**\n * CareFirst Library Form Validation Feedback\n *\n * @file form-validation.component\n * @description Contains all the logic for generating CareFirst Form Validation Feedback\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 05\n * @usage <cf-form-validation [control]=\"formName.get('controlName')\"></cf-form-validation>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\n//--- Interfaces\nimport type { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'cf-form-validation',\n templateUrl: './form-validation.component.html',\n styleUrl: './form-validation.component.scss',\n})\nexport class FormValidationComponent implements OnChanges {\n //--- Receive form control\n @Input() control!: FormControl | null;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Detect changes to input values\n * @param {SimpleChanges} changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['control'] && changes['control'].currentValue) {\n this.control = changes['control'].currentValue;\n }\n }\n}\n","<div *ngIf=\"control?.dirty && control?.errors\" class=\"form-valid-feedback\">\n <div *ngFor=\"let error of this.control?.errors | keyvalue\">\n <p class=\"body-medium\" *ngIf=\"error.key === 'email'\">*Invalid email format</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'minlength'\">*Length required: {{ error.value.requiredLength - error.value.actualLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'maxlength'\">*Max Length: {{ error.value.requiredLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'errorMessage'\">*{{ error.value }}</p>\n </div>\n</div>\n","/**\n * Carefirst Library Form Input\n *\n * @file form-input.component\n * @description Contains all the logic for generating a CareFirst Form Input Field\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 14\n * @usage <cf-form-input label=\"Label Name\" %labelPlacement% %inputMode% %noClearButton% %textCenter% %min% %max% %autoCapitalize% %type% %[(value)]=\"twoWayComs\"% %(valueChange)=\"currentValueEvent\"% %[control]%=\"formName.controls.controlName\"></cf-form-input>\n * disable input by disabling the form control\n */\n\nimport { Component, Input, Output, type OnChanges, type SimpleChanges, EventEmitter } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n//--- Utils\nimport { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';\n\n/**==============================================\n * @interface inputsC\n * @description Define available input values\n */\nconst inputsC = {\n labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],\n inputMode: ['text', 'email', 'numeric', 'tel', 'decimal', 'url', 'search'],\n autoCapitalize: ['off', 'none', 'on', 'sentences', 'words', 'characters'],\n type: ['date', 'datetime-local', 'email', 'month', 'number', 'password', 'search', 'tel', 'text', 'time', 'url', 'week'],\n} as const;\n\n@Component({\n selector: 'cf-form-input',\n templateUrl: './form-input.component.html',\n styleUrl: './form-input.component.scss',\n})\nexport class FormInputComponent implements OnChanges {\n @Input() label!: string;\n @Input() min: number | string = 'none';\n @Input() max: number | string = 'none';\n @Input() labelPlacement?: (typeof inputsC.labelPlacement)[number];\n @Input() placeholder?: string | undefined;\n @Input() inputmode?: (typeof inputsC.inputMode)[number];\n @Input() autoCapitalize?: (typeof inputsC.autoCapitalize)[number];\n @Input() type?: (typeof inputsC.type)[number];\n @Input() noClearButton?: boolean | string | undefined;\n @Input() control?: FormControl | null;\n @Input() textCenter?: boolean | string | undefined;\n @Input() maxLength?: number | string;\n @Input() greyBackground?: boolean | string | undefined;\n\n //--- ngModel\n @Input() value: string | undefined;\n @Output() valueChange = new EventEmitter<typeof this.value>();\n\n //--- Local variables\n inputLabelPlacement: typeof this.labelPlacement;\n localInputMode: typeof this.inputmode;\n inputClear = false;\n inputTextCenter = false;\n inputType: typeof this.type;\n inputAutoCapitalize: typeof this.autoCapitalize;\n inputGreyBackground = false;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Detect changes to input values\n * @param {SimpleChanges} changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Label Placement\n this.inputLabelPlacement =\n validateStringValue<(typeof inputsC.labelPlacement)[number]>(\n changes,\n 'labelPlacement',\n inputsC.labelPlacement.slice(),\n this.inputLabelPlacement\n ) || 'floating';\n //--- Input Type (keyboard)\n this.localInputMode =\n validateStringValue<(typeof inputsC.inputMode)[number]>(changes, 'inputmode', inputsC.inputMode.slice(), this.localInputMode) || 'text';\n //--- Clear Button\n this.inputClear = checkTruthAttribute(changes, 'noClearButton', this.inputClear);\n //--- Text Center\n this.inputTextCenter = checkTruthAttribute(changes, 'textCenter', this.inputTextCenter);\n //--- Type\n this.inputType = validateStringValue<(typeof inputsC.type)[number]>(changes, 'type', inputsC.type.slice(), this.inputType) || 'text';\n //--- Auto Capitalize\n this.inputAutoCapitalize =\n validateStringValue<(typeof inputsC.autoCapitalize)[number]>(\n changes,\n 'autoCapitalize',\n inputsC.autoCapitalize.slice(),\n this.inputAutoCapitalize\n ) || 'none';\n //--- Grey Background\n this.inputGreyBackground = checkTruthAttribute(changes, 'greyBackground', this.inputGreyBackground);\n }\n}\n","<!-- ngModel -->\n<ion-input\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"type\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-input>\n<!-- Form Control -->\n<ion-input\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"type\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-input>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n","/**\n * Carefirst Library Form Input Select\n *\n * @file form-input-select.component\n * @description Contains all the logic for generating a CareFirst Select\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 14\n * @usage <cf-form-input-select label=\"Label Name\" [options]=\"[{ displayName: string; value: string | number | boolean | null | undefined }]\" %labelPlacement% %(valueChange)=\"currentValue\"% %[(value)]=\"twoWayComs\"% %[control]%=\"formName.controls.controlName\"></cf-form-input-select>\n * disable input by disabling the form control\n */\n\nimport { Component, EventEmitter, Input, Output, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n//--- Utils\nimport { validateStringValue } from '../../utils/attribute.util';\n//--- Interfaces\nimport type { FormInputSelectOptionsI } from '../../interfaces/input.interface';\n\n/**==============================================\n * @interface inputSelectC\n * @description Define available input select values\n */\nconst inputSelectC = {\n labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],\n} as const;\n\n@Component({\n selector: 'cf-form-input-select',\n templateUrl: './form-input-select.component.html',\n styleUrl: './form-input-select.component.scss',\n})\nexport class FormInputSelectComponent<T> implements OnChanges {\n @Input() label!: string;\n @Input() options!: FormInputSelectOptionsI<T>[];\n @Input() labelPlacement?: (typeof inputSelectC.labelPlacement)[number];\n @Input() placeholder?: string | undefined;\n @Input() control?: FormControl | null;\n\n //--- ngModel\n @Input() value: FormInputSelectOptionsI<T>['value'] | undefined;\n @Output() valueChange = new EventEmitter<typeof this.value>();\n\n //--- Local variables\n inputLabelPlacement: typeof this.labelPlacement;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Detect changes to input values\n * @param {SimpleChanges} changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Label Placement\n this.inputLabelPlacement =\n validateStringValue<(typeof inputSelectC.labelPlacement)[number]>(\n changes,\n 'labelPlacement',\n inputSelectC.labelPlacement.slice(),\n this.inputLabelPlacement\n ) || 'floating';\n }\n}\n","<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n","/**\n * Carefirst Library Form Input Text Area\n *\n * @file form-input-text-area.component\n * @description Contains all the logic for generating a CareFirst Form Input Text Area\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 18\n * @usage <cf-form-input-text-area label=\"Label Name\" %labelPlacement% %textCenter% %autoCapitalize% %(valueChange)=\"currentValue\"% %[(value)]=\"twoWayComs\"% %[control]%=\"formName.controls.controlName\"></cf-form-input-text-area>\n * disable input by disabling the form control\n */\n\nimport { Component, EventEmitter, Input, Output, type OnChanges, type SimpleChanges } from '@angular/core';\nimport type { FormControl } from '@angular/forms';\n//--- Utils\nimport { validateStringValue, checkTruthAttribute } from '../../utils/attribute.util';\n\n/**==============================================\n * @interface inputTextAreaC\n * @description Define available input values\n */\nconst inputTextAreaC = {\n labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],\n autoCapitalize: ['off', 'none', 'on', 'sentences', 'words', 'characters'],\n} as const;\n\n@Component({\n selector: 'cf-form-input-text-area',\n templateUrl: './form-input-text-area.component.html',\n styleUrl: './form-input-text-area.component.scss',\n})\nexport class FormInputTextAreaComponent implements OnChanges {\n @Input() label!: string;\n @Input() labelPlacement?: (typeof inputTextAreaC.labelPlacement)[number];\n @Input() placeholder?: string | undefined;\n @Input() autoCapitalize?: (typeof inputTextAreaC.autoCapitalize)[number];\n @Input() control?: FormControl | null;\n @Input() textCenter?: boolean | string | undefined;\n @Input() minHeight?: string | 'none' = 'none';\n @Input() maxHeight?: string | 'none' = 'none';\n\n //--- ngModel\n @Input() value: string | undefined;\n @Output() valueChange = new EventEmitter<typeof this.value>();\n\n //--- Local variables\n inputLabelPlacement: typeof this.labelPlacement;\n inputClear = true;\n inputTextCenter = false;\n inputAutoCapitalize: typeof this.autoCapitalize;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Detect changes to input values\n * @param {SimpleChanges} changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Label Placement\n this.inputLabelPlacement =\n validateStringValue<(typeof inputTextAreaC.labelPlacement)[number]>(\n changes,\n 'labelPlacement',\n inputTextAreaC.labelPlacement.slice(),\n this.inputLabelPlacement\n ) || 'floating';\n //--- Text Center\n this.inputTextCenter = checkTruthAttribute(changes, 'textCenter', this.inputTextCenter);\n //--- Auto Capitalize\n this.inputAutoCapitalize =\n validateStringValue<(typeof inputTextAreaC.autoCapitalize)[number]>(\n changes,\n 'autoCapitalize',\n inputTextAreaC.autoCapitalize.slice(),\n this.inputAutoCapitalize\n ) || 'none';\n }\n}\n","<!-- ngModel -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"!control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-textarea>\n<!-- Form Control -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-textarea>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n","/**\n * CareFirst Chat Bubble\n *\n * @file chat-bubble.component\n * @description Contains all the logic for generating a CareFirst Chat Bubble\n * @author Jacques Coetzee\n * @since 2024 - 02 - 22\n * @usage <cf-chat-bubble type=\"outgoing | incoming\" date=\"string\" message=\"string\"></cf-chat-bubble>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\n//--- Utils\nimport { validateStringValue } from '../../utils/attribute.util';\n\n@Component({\n selector: 'cf-chat-bubble',\n templateUrl: './chat-bubble.component.html',\n styleUrl: './chat-bubble.component.scss',\n})\nexport class ChatBubbleComponent implements OnChanges {\n @Input() type: 'outgoing' | 'incoming' = 'outgoing';\n @Input() date: string = '';\n @Input() message: string = '';\n\n //--- Local variables\n inputType: typeof this.type = 'incoming';\n inputDate: typeof this.date = '';\n inputMessage: typeof this.message = '';\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Type\n this.inputType = validateStringValue<typeof this.type>(changes, 'type', ['incoming', 'outgoing'], this.inputType) || 'outgoing';\n //--- Date\n this.inputDate = changes['date']?.currentValue || '';\n //--- Message\n this.inputMessage = changes['message']?.currentValue || '';\n }\n}\n","<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\">{{ inputDate }}</p>\n <cf-spacer default=\"4\"></cf-spacer>\n <div id=\"bubble\">\n <p class=\"body-extra-small\">{{ inputMessage }}</p>\n </div>\n </div>\n</div>\n","/**\n * CareFirst Chat Badge\n *\n * @file badge.component\n * @description Contains all the logic for generating a CareFirst Chat Badge\n * @author Jacques Coetzee\n * @since 2024 - 02 - 22\n * @usage <cf-badge type=\"BadgeTypeT\" %icon%=\"IconsT\"></cf-badge>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\n//--- Utils\nimport { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';\n//--- Interfaces\nimport { iconsC, type IconsT } from '../../interfaces/icon.interface';\n\n/**==============================================\n * @interface BadgeTypeT\n * @description Types of badges available\n */\nconst badgeTypeC = [\n 'primary',\n 'white',\n 'success',\n 'alert',\n 'accent',\n 'warning',\n 'disabled',\n 'feedback-success',\n 'feedback-error',\n 'feedback-warning',\n 'feedback-busy',\n] as const;\ntype BadgeTypeT = (typeof badgeTypeC)[number];\n\n/**==============================================\n * @name BadgeComponent\n * */\n@Component({\n selector: 'cf-badge',\n templateUrl: './badge.component.html',\n styleUrl: './badge.component.scss',\n})\nexport class BadgeComponent implements OnChanges {\n @Input() type: BadgeTypeT = 'primary';\n @Input() icon?: IconsT | undefined;\n @Input() small?: boolean | string | undefined;\n @Input() large?: boolean | string | undefined;\n\n //--- Local variables\n inputType: typeof this.type = 'primary';\n inputIcon: typeof this.icon | undefined = undefined;\n fontsize = 12;\n inputSmall = false;\n inputLarge = false;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Type\n this.inputType = validateStringValue<BadgeTypeT>(changes, 'type', badgeTypeC.slice(), this.inputType) || 'primary';\n //--- Icon Start\n this.inputIcon = validateStringValue<IconsT>(changes, 'icon', iconsC.slice(), this.inputIcon);\n //--- Small Badge\n this.inputSmall = checkTruthAttribute(changes, 'small', this.inputSmall);\n if (this.inputSmall) this.fontsize = 10;\n //--- Large Badge\n this.inputLarge = checkTruthAttribute(changes, 'large', this.inputLarge);\n if (this.inputLarge) this.fontsize = 16;\n }\n}\n","<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge }\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></cf-icon>\n <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n <p><ng-content></ng-content></p>\n</div>\n","/**\n * CareFirst Library - Spinner\n *\n * @file spinner.component\n * @description Contains all the logic for generating a CareFirst Spinner\n * @author Jacques Coetzee\n * @since 2024 - 02 - 23\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { validateNumberValue } from '../../utils/attribute.util';\n\n@Component({\n selector: 'cf-spinner',\n templateUrl: './spinner.component.html',\n styleUrl: './spinner.component.scss',\n})\nexport class SpinnerComponent implements OnChanges {\n @Input() size: number | string = 20;\n\n //--- Local variables\n inputSize: number = 20;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Size\n this.inputSize = validateNumberValue(changes, 'size', this.inputSize) || this.inputSize;\n }\n}\n","<div id=\"spinner\" [style]=\"'font-size: ' + inputSize + 'px'\"></div>\n","/**\n * Carefirst library - Verification Code Input\n *\n * @file verification-code.component\n * @description Contains all the logic for generating a CareFirst Verification Code Input\n * @author Arno Jansen van Vuuren\n * @since 2024 - 03 - 07\n * @usage <cf-verification-code\n valueToVerify=`string`\n (outcome)=`omits code value`\n (resendClickEvent)=`resend click event`\n [status]=`BehaviorSubject<'initial' | 'invalid'>`>\n </cf-verification-code>\n */\n\nimport { Component, EventEmitter, Input, Output, ViewChild, type OnChanges, type SimpleChanges } from '@angular/core';\n//--- Interface\nimport type { BehaviorSubject, Subscription } from 'rxjs';\nimport type { InputCustomEvent, IonInput } from '@ionic/angular';\nimport type { CfCodeInputUserFeedbackMessagesI } from '../../interfaces/verification-code.interface';\n\n@Component({\n selector: 'cf-verification-code',\n templateUrl: './verification-code.component.html',\n styleUrl: './verification-code.component.scss',\n})\nexport class VerificationCodeComponent implements OnChanges {\n @Input() valueToVerify!: string;\n @Input() status!: BehaviorSubject<'initial' | 'invalid'>;\n @Input() userFeedbackMessages?: CfCodeInputUserFeedbackMessagesI;\n\n @Output() outcome = new EventEmitter<string>();\n @Output() resendClickEvent = new EventEmitter<true>();\n\n @ViewChild(`input1`) myInput1?: IonInput;\n @ViewChild('input2') myInput2?: IonInput;\n @ViewChild('input3') myInput3?: IonInput;\n @ViewChild('input4') myInput4?: IonInput;\n @ViewChild('input5') myInput5?: IonInput;\n\n //--- HTML variables\n validationCodeError = false;\n verificationCodeInputArr: (number | null)[] = [null, null, null, null, null];\n loading = false;\n commsSentCount = 0;\n validationCode: string | undefined;\n\n statusSub$?: Subscription;\n\n /**----------------------------------------------------------------\n * @name constructor\n */\n constructor() {}\n\n /**----------------------------------------------------------------\n * @name ionViewWillEnter\n * @description Update various values on component initialization\n * @returns {void}\n */\n ionViewDidEnter(): void {\n this.commsSentCount = 0;\n }\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Value to verify\n if (\n changes['valueToVerify']?.currentValue !== changes['valueToVerify']?.previousValue ||\n changes['code']?.currentValue !== changes['code']?.previousValue\n ) {\n this.commsSentCount = 0;\n this.validationCodeError = false;\n this.resetAllInputFields();\n }\n\n //--- Status display\n if (changes['status']) {\n this.statusSub$ = (changes['status'].currentValue as BehaviorSubject<'initial' | 'invalid'>).subscribe((stat) => {\n if (stat === 'invalid') {\n this.validationCodeError = true;\n }\n this.resetAllInputFields();\n this.setFocusToNext(0);\n });\n }\n }\n\n /**----------------------------------------------------------------\n * @name resendVerificationCode\n * @description Resend a verification code\n * @returns {void}\n */\n resendVerificationCode(): void {\n this.commsSentCount++;\n this.resendClickEvent.emit(true);\n }\n\n /**----------------------------------------------------------------\n * @name formulateAndCheckVerificationCode\n * @description Handle inputs associated with the verification code and do call once code is complete\n * @param {InputCustomEvent} event\n * @param {number} index\n * @returns {void}\n */\n formulateAndCheckVerificationCode(event: InputCustomEvent, index: number): void {\n const value = event.detail.value;\n if (!value || !(typeof value === 'string') || !(+value < 10)) {\n this.clearCodeInput(index);\n return;\n }\n\n this.setFocusToNext(index);\n this.verificationCodeInputArr[index - 1] = +value;\n this.validationCodeError = false;\n\n //--- Check if code completed\n if (this.verificationCodeInputArr.every((val) => val !== null)) {\n this.validationCode = this.verificationCodeInputArr.join('');\n this.outcome.emit(this.validationCode);\n }\n }\n\n /**----------------------------------------------------------------\n * @name resetAllInputFields\n * @description Reset all input fields\n * @returns {void}\n */\n private resetAllInputFields(): void {\n this.clearCodeInput(1);\n this.clearCodeInput(2);\n this.clearCodeInput(3);\n this.clearCodeInput(4);\n this.clearCodeInput(5);\n this.verificationCodeInputArr.fill(null);\n }\n\n /**----------------------------------------------------------------\n * @name setFocusToNext\n * @description Set the focus to the next input\n * @param {number} currentIndex\n * @returns {void}\n */\n private setFocusToNext(currentIndex: number): void {\n if (currentIndex === 5) return;\n currentIndex === 0\n ? this.myInput1?.setFocus()\n : currentIndex === 1\n ? this.myInput2?.setFocus()\n : currentIndex === 2\n ? this.myInput3?.setFocus()\n : currentIndex === 3\n ? this.myInput4?.setFocus()\n : this.myInput5?.setFocus();\n }\n\n /**----------------------------------------------------------------\n * @name clearCodeInput\n * @description Clear a code input on invalid key\n * @param {number} index\n * @returns {void}\n */\n private clearCodeInput(index: number): void {\n switch (index) {\n case 1:\n if (this.myInput1) this.myInput1.value = null;\n break;\n case 2:\n if (this.myInput2) this.myInput2.value = null;\n break;\n case 3:\n if (this.myInput3) this.myInput3.value = null;\n break;\n case 4:\n if (this.myInput4) this.myInput4.value = null;\n break;\n case 5:\n if (this.myInput5) this.myInput5.value = null;\n break;\n }\n }\n\n /**----------------------------------------------------------------\n * @name ionViewWillLeave\n * @description Unsubscribe on component leave\n * @returns {void}\n */\n ionViewWillLeave(): void {\n this.statusSub$?.unsubscribe();\n }\n}\n","<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p\n class=\"body-small error ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\"\n >{{ string }}</p\n >\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-center\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n//--- Modules\nimport { IonicModule } from '@ionic/angular';\nimport { ReactiveFormsModule } from '@angular/forms';\n//--- Directives\nimport { ButtonLoaderDirective } from './directives/button-loader.directive';\n//--- Components\nimport { PageComponent } from './components/page/page.component';\nimport { ButtonComponent } from './components/button/button.component';\nimport { SpacerComponent } from './components/spacer/spacer.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { NotificationComponent } from './components/notification/notification.component';\nimport { AlertComponent } from './components/alert/alert.component';\nimport { LogoComponent } from './components/logo/logo.component';\nimport { CalendarComponent } from './components/calendar/calendar.component';\nimport { FormValidationComponent } from './components/form-validation/form-validation.component';\nimport { FormInputComponent } from './components/form-input/form-input.component';\nimport { FormInputSelectComponent } from './components/form-input-select/form-input-select.component';\nimport { FormInputTextAreaComponent } from './components/form-input-text-area/form-input-text-area.component';\nimport { ChatBubbleComponent } from './components/chat-bubble/chat-bubble.component';\nimport { BadgeComponent } from './components/badge/badge.component';\nimport { SpinnerComponent } from './components/spinner/spinner.component';\nimport { VerificationCodeComponent } from './components/verification-code/verification-code.component';\n\n@NgModule({\n declarations: [\n PageComponent,\n ButtonComponent,\n SpacerComponent,\n IconComponent,\n ButtonLoaderDirective,\n NotificationComponent,\n AlertComponent,\n LogoComponent,\n CalendarComponent,\n FormValidationComponent,\n FormInputComponent,\n FormInputSelectComponent,\n FormInputTextAreaComponent,\n ChatBubbleComponent,\n BadgeComponent,\n SpinnerComponent,\n VerificationCodeComponent,\n ],\n\n imports: [IonicModule, CommonModule, ReactiveFormsModule],\n exports: [\n PageComponent,\n ButtonComponent,\n SpacerComponent,\n IconComponent,\n ButtonLoaderDirective,\n NotificationComponent,\n AlertComponent,\n LogoComponent,\n CalendarComponent,\n FormValidationComponent,\n FormInputComponent,\n FormInputSelectComponent,\n FormInputTextAreaComponent,\n ChatBubbleComponent,\n BadgeComponent,\n SpinnerComponent,\n VerificationCodeComponent,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class CareFirstLibraryModule {}\n","/**\n * Form validators\n *\n * @file form-validators\n * @description Various form validators\n * @author Jacques Coetzee\n * @since 2022 - 01 - 20\n * @usage Display \"errorMessage\" key value as validator response message\n */\n\nimport { AbstractControl } from '@angular/forms';\nimport passwordValidator from 'password-validator';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\n//--- Interfaces\nimport type { ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport class CFPFormValidators {\n /**----------------------------------------------------------------\n * @name checkPSWRetype\n * @description Check if passwords match\n * @param {string} controlNameToCheckAgainst\n * @returns {ValidatorFn}\n * @usage FormValidators.compareTo('password')\n */\n static compareTo(controlNameToCheckAgainst: string): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n //--- Compare controls\n const controlToCheckTo: AbstractControl | null = control?.parent?.get(controlNameToCheckAgainst) || null;\n\n //--- Check primary control value\n if (!controlToCheckTo?.value) return { errorMessage: `Password Required` };\n //--- Check secondary control value\n else if (!control.value) return { errorMessage: `Password confirmation required` };\n //--- Compare controls\n else if (control.value && control?.value !== controlToCheckTo?.value) return { errorMessage: `Passwords do not match` };\n\n return null;\n };\n }\n\n /**----------------------------------------------------------------\n * @name asPassword\n * @description Validate control as password\n * @returns {ValidatorFn}\n * @usage FormValidators.asPassword()\n */\n static asPassword(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const schema = new passwordValidator();\n\n //--- Setup password requirements\n schema\n //--- Minimum length 8\n .is()\n .min(8, 'Minimum of 8 characters')\n //--- Maximum length 50\n .is()\n .max(30, 'Maximum of 30 characters')\n //--- Must have uppercase letters\n .has()\n .uppercase(undefined, 'At least one UPPERCASE character')\n //--- Must have lowercase letters\n .has()\n .lowercase(undefined, 'At least one lowercase character')\n //--- Must have at least 1 digits\n .has()\n .digits(undefined, 'At least one digit')\n //--- Special characters\n .has()\n .symbols(undefined, 'At least one special character');\n\n //--- Validate string\n const inValid = schema.validate(control.value, { details: true }) as {\n validation: string;\n message: string;\n arguments?: number;\n }[];\n\n const returnResponse: { [key: string]: unknown } = {};\n inValid.forEach((error) => {\n returnResponse['password-' + error.validation] = error.message;\n });\n return inValid.length ? returnResponse : null;\n };\n }\n\n /**----------------------------------------------------------------\n * @name asEmail\n * @description Validate control as email\n * @param {true} canBeEmpty\n * @returns {ValidatorFn}\n * @usage FormValidators.asEmail(true?)\n */\n static asEmail(canBeEmpty?: true): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n let setErrors = null;\n const emailRegEx = new RegExp('^[\\\\w-.]+@[\\\\w]+\\\\.[\\\\w]+');\n\n //--- Check if email can be empty\n if (canBeEmpty && (control.value === null || control.value === '')) {\n return null;\n }\n\n //--- Test RegExp\n if (!(control.value && emailRegEx.test(control.value))) {\n setErrors = { errorMessage: `Not a valid email address` };\n }\n\n return setErrors;\n };\n }\n\n /**----------------------------------------------------------------\n * @name isIn\n * @description Validate control value is part of a given list\n * @param {string | number[]} list\n * @returns {ValidatorFn}\n * @usage FormValidators.isIn()\n */\n static isIn(list: (string | number)[]): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!list.includes(control.value)) return { errorMessage: 'Control value not part of eligible values' };\n return null;\n };\n }\n\n /**----------------------------------------------------------------\n * @name isSAIDNumber\n * @description Validate control value is a valid RSA ID Number\n * @param {true} canBeEmpty\n * @returns {ValidatorFn}\n * @usage FormValidators.isSAIDNumber(true?)\n */\n static isSAIDNumber(canBeEmpty?: true): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const validateDate = (): boolean => {\n if (typeof control.value !== 'string' || control.value.length < 6) return false;\n const month = control.value.slice(2, 4);\n const day = control.value.slice(4, 6);\n if (+month < 0 && +month > 13) return false;\n if (+day < 0 && +day > 31) return false;\n if (!dayjs(control.value.slice(0, 6), 'YYMMDD', true).isValid()) return false;\n return true;\n };\n\n const checksum = (): boolean => {\n if (typeof control.value !== 'string' || control.value.length !== 13) return false;\n let nSum = 0; //--- Total sum of all the values\n let isSecond = false; //--- To double every other value\n //--- Start from the end\n for (let i = control.value.length - 1; i >= 0; i--) {\n const val: string | undefined = control.value[i];\n if (!val) return false;\n //--- Get numerical value from ascii string\n let d: number = val.charCodeAt(0) - '0'.charCodeAt(0);\n //--- Double every other value\n if (isSecond == true) d = d * 2;\n //--- Sum the total of the doubled values if available\n nSum += Math.floor(d / 10);\n nSum += d % 10;\n //--- Inverse second to determine every other index value\n isSecond = !isSecond;\n }\n //--- Return the modulus 10 of the summation\n return nSum % 10 == 0;\n };\n\n let error: string | null = null;\n if (canBeEmpty && (!control.value || control.value?.length === 0)) return null;\n //--- string\n else if (typeof control.value !== 'string') error = 'Invalid RSA ID Number';\n //--- Length = 13\n else if (control.value.length !== 13) error = `Length required: ${13 - control.value.length}`;\n //--- Validate date\n else if (!validateDate()) error = `Invalid date of birth`;\n //--- Citizenship\n else if (!['0', '1'].includes(control.value.slice(10, 11))) error = `Invalid citizenship value`;\n //--- Checksum\n else if (!checksum()) error = `Invalid RSA ID number checksum`;\n\n return error ? { errorMessage: error } : null;\n };\n }\n}\n","/**==============================================\n * @description Available Spacer Values\n */\nexport const spacerNumberArray = [4, 8, 12, 16, 24, 32, 38, 48, 72] as const;\nexport type SpacerNumberT = (typeof spacerNumberArray)[number];\nexport type SpacerStringT = `${SpacerNumberT}`;\n"],"names":["SpinnerComponent","i1","i3.IconComponent","i4.ButtonLoaderDirective","i3.ButtonComponent","i4.SpacerComponent","i5.IconComponent","i4.FormValidationComponent","i2.SpacerComponent","i3.SpacerComponent","i4.SpinnerComponent"],"mappings":";;;;;;;;;;;;MAea,qBAAqB,CAAA;AAKtB,IAAA,WAAA,CAAA;AACA,IAAA,QAAA,CAAA;AACA,IAAA,aAAA,CAAA;AACA,IAAA,UAAA,CAAA;AAJV,IAAA,WAAA,CACU,WAAqC,EACrC,QAAmB,EACnB,aAA+B,EAC/B,UAAmC,EAAA;QAHnC,IAAW,CAAA,WAAA,GAAX,WAAW,CAA0B;QACrC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QAC/B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;KACzC;IAOJ,IAAa,cAAc,CAAC,OAAgB,EAAA;AAE1C,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,OAAO,EAAE;AAEX,YAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAACA,kBAAgB,CAAC,CAAC;AAErD,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;SAC7F;KACF;uGA3BU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA,CAAA;gKAiBc,cAAc,EAAA,CAAA;sBAA1B,KAAK;;yBAqBR,MAwBM,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,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,QAAA,EAAA,IAAA,EAAA,gBAAgB,oDAvBV,qCAAqC,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4SAAA,CAAA,EAAA,CAAA,CAAA;;2FAuB3CA,kBAAgB,EAAA,UAAA,EAAA,CAAA;kBAxBrB,SAAS;+BACE,qCAAqC,EAAA,MAAA,EAAA,CAAA,4SAAA,CAAA,EAAA,CAAA;;;SClCjC,mBAAmB,CAAC,OAAsB,EAAE,SAAiB,EAAE,MAAe,EAAA;AAC5F,IAAA,IAAI,EAAE,SAAS,IAAI,OAAO,CAAC;AAAE,QAAA,OAAO,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;AACtD,IAAA,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE;AACrC,QAAA,OAAO,YAAY,CAAC;KACrB;AAAM,SAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAClF,QAAA,OAAO,IAAI,CAAC;KACb;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAWK,SAAU,mBAAmB,CAAI,OAAsB,EAAE,SAAiB,EAAE,OAAY,EAAE,MAAqB,EAAA;AACnH,IAAA,IAAI,EAAE,SAAS,IAAI,OAAO,CAAC;AAAE,QAAA,OAAO,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IACtD,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAClD,QAAA,OAAO,YAAiB,CAAC;KAC1B;AACD,IAAA,OAAO,SAAS,CAAC;AACnB,CAAC;SAUe,mBAAmB,CAAC,OAAsB,EAAE,SAAiB,EAAE,MAA0B,EAAA;AACvG,IAAA,IAAI,EAAE,SAAS,IAAI,OAAO,CAAC;AAAE,QAAA,OAAO,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IACtD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,CAAC,EAAE;AACzD,QAAA,OAAO,YAAY,CAAC;KACrB;SAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;QACjE,OAAO,CAAC,YAAY,CAAC;KACtB;AACD,IAAA,OAAO,SAAS,CAAC;AACnB;;MC/Ca,aAAa,CAAA;AACf,IAAA,OAAO,CAAgC;AACvC,IAAA,OAAO,CAAgC;AACvC,IAAA,IAAI,CAAgC;IAG7C,YAAY,GAAG,KAAK,CAAC;IACrB,YAAY,GAAG,KAAK,CAAC;IACrB,SAAS,GAAG,KAAK,CAAC;AAOlB,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAE/E,QAAA,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAE/E,QAAA,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACvE;uGAtBU,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,QAAA,EAAA,IAAA,EAAA,aAAa,sIClB1B,idAcA,EAAA,MAAA,EAAA,CAAA,mrCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDIa,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,idAAA,EAAA,MAAA,EAAA,CAAA,mrCAAA,CAAA,EAAA,CAAA;8BAKV,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;AEjBD,MAAM,MAAM,GAAG;IACpB,MAAM;IACN,KAAK;IACL,SAAS;IACT,MAAM;IACN,QAAQ;IACR,aAAa;IACb,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,OAAO;IACP,YAAY;IACZ,mBAAmB;IACnB,oBAAoB;IACpB,YAAY;IACZ,MAAM;IACN,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,sBAAsB;IACtB,kBAAkB;IAClB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,wBAAwB;IACxB,0BAA0B;IAC1B,uBAAuB;IACvB,4BAA4B;IAC5B,yBAAyB;IACzB,8BAA8B;IAC9B,oBAAoB;IACpB,iBAAiB;IACjB,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,MAAM;CACE,CAAC;AAOJ,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAU;;;;;;;;MCzChG,aAAa,CAAA;AACf,IAAA,IAAI,CAAU;AACd,IAAA,MAAM,CAAU;AAChB,IAAA,SAAS,CAAc;IAGhC,SAAS,GAAiC,SAAS,CAAC;IACpD,UAAU,GAAsC,SAAS,CAAC;AAO1D,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAS,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAE9F,QAAA,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAa,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAC9G;uGAnBU,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,QAAA,EAAA,IAAA,EAAA,aAAa,wICnB1B,8klDAigBA,EAAA,MAAA,EAAA,CAAA,siDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,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;;2FD9ea,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,8klDAAA,EAAA,MAAA,EAAA,CAAA,siDAAA,CAAA,EAAA,CAAA;8BAKV,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEHK,eAAe,CAAA;IACjB,IAAI,GAAyC,SAAS,CAAC;AACvD,IAAA,QAAQ,CAAgC;AACxC,IAAA,KAAK,CAAgC;AACrC,IAAA,MAAM,CAAgC;AACtC,IAAA,IAAI,CAAgC;AACpC,IAAA,MAAM,CAAgC;AACtC,IAAA,QAAQ,CAAqB;AAC7B,IAAA,SAAS,CAAsB;AAC/B,IAAA,OAAO,CAAsB;AAC7B,IAAA,OAAO,CAAgC;AACvC,IAAA,WAAW,CAAsB;AAE1C,IAAA,IAAyC,YAAY,GAAA;AACnD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,MAAM,CAAC;SACf;AACD,QAAA,OAAO,MAAM,CAAC;KACf;IAGD,SAAS,GAAqB,SAAS,CAAC;IACxC,aAAa,GAAqC,SAAS,CAAC;IAC5D,aAAa,GAAG,KAAK,CAAC;IACtB,UAAU,GAAG,KAAK,CAAC;IACnB,WAAW,GAAG,KAAK,CAAC;IACpB,SAAS,GAAG,KAAK,CAAC;IAClB,WAAW,GAAG,KAAK,CAAC;IACpB,cAAc,GAAsC,SAAS,CAAC;IAC9D,YAAY,GAAoC,SAAS,CAAC;IAC1D,YAAY,GAAG,KAAK,CAAC;IACrB,gBAAgB,GAAG,EAAE,CAAC;AAOtB,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,SAAS;AACZ,YAAA,mBAAmB,CAAuC,OAAO,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;AAEhJ,QAAA,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAoB,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAEzH,QAAA,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAElF,QAAA,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAEzE,QAAA,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAE5E,QAAA,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAEtE,QAAA,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAE5E,QAAA,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAS,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAE7G,QAAA,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAS,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAEvG,QAAA,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAE/E,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,YAAY;AAAE,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;KAC9H;AAQD,IAAA,gBAAgB,CAAC,KAAa,EAAA;AAE5B,QAAA,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;AAE1C,QAAA,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACrI,YAAA,OAAO,KAAK,CAAC;AACf,QAAA,OAAO,EAAE,CAAC;KACX;uGA7EU,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,QAAA,EAAA,IAAA,EAAA,eAAe,8WCnB5B,81BAqBA,EAAA,MAAA,EAAA,CAAA,ikFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDFa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,QAAQ,EAAA,QAAA,EAAA,81BAAA,EAAA,MAAA,EAAA,CAAA,ikFAAA,CAAA,EAAA,CAAA;8BAKT,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEmC,YAAY,EAAA,CAAA;sBAApD,WAAW;uBAAC,sBAAsB,CAAA;;;MEbxB,eAAe,CAAA;AACjB,IAAA,OAAO,CAA6C;AACpD,IAAA,MAAM,CAA6C;AACnD,IAAA,OAAO,CAA6C;IAG7D,YAAY,GAAuB,SAAS,CAAC;IAC7C,WAAW,GAAuB,SAAS,CAAC;IAC5C,YAAY,GAAuB,SAAS,CAAC;AAO7C,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAE/E,QAAA,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAE5E,QAAA,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAChF;uGAtBU,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,QAAA,EAAA,IAAA,EAAA,eAAe,4ICnB5B,mWAIA,EAAA,MAAA,EAAA,CAAA,sLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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;;2FDea,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,mWAAA,EAAA,MAAA,EAAA,CAAA,sLAAA,CAAA,EAAA,CAAA;8BAKZ,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEHK,qBAAqB,CAAA;AACvB,IAAA,IAAI,CAAoC;AACvC,IAAA,WAAW,GAAG,IAAI,YAAY,EAAqE,CAAC;uGAFnG,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,QAAA,EAAA,IAAA,EAAA,qBAAqB,0HCnBlC,wtDAuCA,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDpBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,wtDAAA,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA,CAAA;8BAKlB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MEFI,cAAc,CAAA;AAOI,IAAA,eAAA,CAAA;IANpB,IAAI,GAA2B,SAAS,CAAC;AACxC,IAAA,UAAU,GAAG,IAAI,YAAY,EAAe,CAAC;AAKvD,IAAA,WAAA,CAA6B,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;KAAI;AAOjE,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAgC,CAAC;AAC9D,QAAA,IAAI,GAAG;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC9B;IAQD,MAAM,SAAS,CAAC,IAAgB,EAAA;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAC9C,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,YAAA,QAAQ,EAAE,kBAAkB;AAC5B,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ;oBAClC,OAAO,EAAE,MAAK;AACZ,wBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC1E,KAAK,CAAC,OAAO,EAAE,CAAC;qBACjB;AACD,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;oBAC7B,OAAO,EAAE,MAAK;AACZ,wBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBACzE,KAAK,CAAC,OAAO,EAAE,CAAC;qBACjB;AACD,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA;AACF,aAAA;AACF,SAAA,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;KACjB;uGApDU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,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,QAAA,EAAA,IAAA,EAAA,cAAc,sICnB3B,EAAA,EAAA,MAAA,EAAA,CAAA,gwCAAA,CAAA,EAAA,CAAA,CAAA;;2FDmBa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,gwCAAA,CAAA,EAAA,CAAA;oFAKX,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MEJI,aAAa,CAAA;AACf,IAAA,IAAI,CAA6B;IACjC,MAAM,GAAW,EAAE,CAAC;uGAFlB,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,QAAA,EAAA,IAAA,EAAA,aAAa,2FCjB1B,45uGAUA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDOa,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,45uGAAA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA,CAAA;8BAKV,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MECK,iBAAiB,CAAA;AACnB,IAAA,WAAW,CAAgC;AAC3C,IAAA,KAAK,CAAwB;IAC7B,GAAG,GAAwB,SAAS,CAAC;IACrC,GAAG,GAAwB,SAAS,CAAC;AACpC,IAAA,KAAK,GAAG,IAAI,YAAY,EAAU,CAAC;IAG7C,SAAS,GAAG,KAAK,CAAC;IAClB,UAAU,GAAsB,QAAQ,CAAC;AAOzC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7E,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAuB,OAAO,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC;KACnI;AAQD,IAAA,QAAQ,CAAC,KAA2C,EAAA;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;KACtH;uGA/BU,iBAAiB,EAAA,IAAA,EAAA,EAAA,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,QAAA,EAAA,IAAA,EAAA,iBAAiB,qLCpB9B,+OASA,EAAA,MAAA,EAAA,CAAA,wtBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,KAAA,EAAA,cAAA,EAAA,MAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,6BAAA,EAAA,OAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDWa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,+OAAA,EAAA,MAAA,EAAA,CAAA,wtBAAA,CAAA,EAAA,CAAA;8BAKd,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;;;MENI,uBAAuB,CAAA;AAEzB,IAAA,OAAO,CAAsB;AAOtC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;SAChD;KACF;uGAbU,uBAAuB,EAAA,IAAA,EAAA,EAAA,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,QAAA,EAAA,IAAA,EAAA,uBAAuB,+GCnBpC,kmBAQA,EAAA,MAAA,EAAA,CAAA,6IAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDWa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,kmBAAA,EAAA,MAAA,EAAA,CAAA,6IAAA,CAAA,EAAA,CAAA;8BAMrB,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AEDR,MAAM,OAAO,GAAG;IACd,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC;AAChE,IAAA,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;AAC1E,IAAA,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC;IACzE,IAAI,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;CAChH,CAAC;MAOE,kBAAkB,CAAA;AACpB,IAAA,KAAK,CAAU;IACf,GAAG,GAAoB,MAAM,CAAC;IAC9B,GAAG,GAAoB,MAAM,CAAC;AAC9B,IAAA,cAAc,CAA2C;AACzD,IAAA,WAAW,CAAsB;AACjC,IAAA,SAAS,CAAsC;AAC/C,IAAA,cAAc,CAA2C;AACzD,IAAA,IAAI,CAAiC;AACrC,IAAA,aAAa,CAAgC;AAC7C,IAAA,OAAO,CAAsB;AAC7B,IAAA,UAAU,CAAgC;AAC1C,IAAA,SAAS,CAAmB;AAC5B,IAAA,cAAc,CAAgC;AAG9C,IAAA,KAAK,CAAqB;AACzB,IAAA,WAAW,GAAG,IAAI,YAAY,EAAqB,CAAC;AAG9D,IAAA,mBAAmB,CAA6B;AAChD,IAAA,cAAc,CAAwB;IACtC,UAAU,GAAG,KAAK,CAAC;IACnB,eAAe,GAAG,KAAK,CAAC;AACxB,IAAA,SAAS,CAAmB;AAC5B,IAAA,mBAAmB,CAA6B;IAChD,mBAAmB,GAAG,KAAK,CAAC;AAO5B,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,mBAAmB;AACtB,YAAA,mBAAmB,CACjB,OAAO,EACP,gBAAgB,EAChB,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,EAC9B,IAAI,CAAC,mBAAmB,CACzB,IAAI,UAAU,CAAC;AAElB,QAAA,IAAI,CAAC,cAAc;AACjB,YAAA,mBAAmB,CAAqC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC;AAE1I,QAAA,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAEjF,QAAA,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAExF,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAgC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;AAErI,QAAA,IAAI,CAAC,mBAAmB;AACtB,YAAA,mBAAmB,CACjB,OAAO,EACP,gBAAgB,EAChB,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,EAC9B,IAAI,CAAC,mBAAmB,CACzB,IAAI,MAAM,CAAC;AAEd,QAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACrG;uGA7DU,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,QAAA,EAAA,IAAA,EAAA,kBAAkB,qcChC/B,+tCAqCA,EAAA,MAAA,EAAA,CAAA,kdAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,mEAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,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,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,kBAAA,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,WAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,uBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDLa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,+tCAAA,EAAA,MAAA,EAAA,CAAA,kdAAA,CAAA,EAAA,CAAA;8BAKhB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;AE3BT,MAAM,YAAY,GAAG;IACnB,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC;CACxD,CAAC;MAOE,wBAAwB,CAAA;AAC1B,IAAA,KAAK,CAAU;AACf,IAAA,OAAO,CAAgC;AACvC,IAAA,cAAc,CAAgD;AAC9D,IAAA,WAAW,CAAsB;AACjC,IAAA,OAAO,CAAsB;AAG7B,IAAA,KAAK,CAAkD;AACtD,IAAA,WAAW,GAAG,IAAI,YAAY,EAAqB,CAAC;AAG9D,IAAA,mBAAmB,CAA6B;AAOhD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,mBAAmB;AACtB,YAAA,mBAAmB,CACjB,OAAO,EACP,gBAAgB,EAChB,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,EACnC,IAAI,CAAC,mBAAmB,CACzB,IAAI,UAAU,CAAC;KACnB;uGA5BU,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,QAAA,EAAA,IAAA,EAAA,wBAAwB,4QC/BrC,u9BA2BA,EAAA,MAAA,EAAA,CAAA,68BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,cAAA,EAAA,MAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,cAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,wDAAA,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,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,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,EAAAA,uBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDIa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,u9BAAA,EAAA,MAAA,EAAA,CAAA,68BAAA,CAAA,EAAA,CAAA;8BAKvB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;AEpBT,MAAM,cAAc,GAAG;IACrB,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC;AAChE,IAAA,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC;CACjE,CAAC;MAOE,0BAA0B,CAAA;AAC5B,IAAA,KAAK,CAAU;AACf,IAAA,cAAc,CAAkD;AAChE,IAAA,WAAW,CAAsB;AACjC,IAAA,cAAc,CAAkD;AAChE,IAAA,OAAO,CAAsB;AAC7B,IAAA,UAAU,CAAgC;IAC1C,SAAS,GAAqB,MAAM,CAAC;IACrC,SAAS,GAAqB,MAAM,CAAC;AAGrC,IAAA,KAAK,CAAqB;AACzB,IAAA,WAAW,GAAG,IAAI,YAAY,EAAqB,CAAC;AAG9D,IAAA,mBAAmB,CAA6B;IAChD,UAAU,GAAG,IAAI,CAAC;IAClB,eAAe,GAAG,KAAK,CAAC;AACxB,IAAA,mBAAmB,CAA6B;AAOhD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,mBAAmB;AACtB,YAAA,mBAAmB,CACjB,OAAO,EACP,gBAAgB,EAChB,cAAc,CAAC,cAAc,CAAC,KAAK,EAAE,EACrC,IAAI,CAAC,mBAAmB,CACzB,IAAI,UAAU,CAAC;AAElB,QAAA,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AAExF,QAAA,IAAI,CAAC,mBAAmB;AACtB,YAAA,mBAAmB,CACjB,OAAO,EACP,gBAAgB,EAChB,cAAc,CAAC,cAAc,CAAC,KAAK,EAAE,EACrC,IAAI,CAAC,mBAAmB,CACzB,IAAI,MAAM,CAAC;KACf;uGA5CU,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,QAAA,EAAA,IAAA,EAAA,0BAA0B,uWC9BvC,miCA6BA,EAAA,MAAA,EAAA,CAAA,6YAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,mEAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,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,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,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,EAAAA,uBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDCa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,yBAAyB,EAAA,QAAA,EAAA,miCAAA,EAAA,MAAA,EAAA,CAAA,6YAAA,CAAA,EAAA,CAAA;8BAK1B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MEvBI,mBAAmB,CAAA;IACrB,IAAI,GAA4B,UAAU,CAAC;IAC3C,IAAI,GAAW,EAAE,CAAC;IAClB,OAAO,GAAW,EAAE,CAAC;IAG9B,SAAS,GAAqB,UAAU,CAAC;IACzC,SAAS,GAAqB,EAAE,CAAC;IACjC,YAAY,GAAwB,EAAE,CAAC;AAOvC,IAAA,WAAW,CAAC,OAAsB,EAAA;QAEhC,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAmB,OAAO,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC;QAEhI,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;QAErD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;KAC5D;uGAtBU,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,QAAA,EAAA,IAAA,EAAA,mBAAmB,uICnBhC,+RASA,EAAA,MAAA,EAAA,CAAA,okBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,EAAAO,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDUa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,+RAAA,EAAA,MAAA,EAAA,CAAA,okBAAA,CAAA,EAAA,CAAA;8BAKjB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AEFR,MAAM,UAAU,GAAG;IACjB,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;CACP,CAAC;MAWE,cAAc,CAAA;IAChB,IAAI,GAAe,SAAS,CAAC;AAC7B,IAAA,IAAI,CAAsB;AAC1B,IAAA,KAAK,CAAgC;AACrC,IAAA,KAAK,CAAgC;IAG9C,SAAS,GAAqB,SAAS,CAAC;IACxC,SAAS,GAAiC,SAAS,CAAC;IACpD,QAAQ,GAAG,EAAE,CAAC;IACd,UAAU,GAAG,KAAK,CAAC;IACnB,UAAU,GAAG,KAAK,CAAC;AAOnB,IAAA,WAAW,CAAC,OAAsB,EAAA;QAEhC,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAa,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;AAEnH,QAAA,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAS,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAE9F,QAAA,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AAExC,QAAA,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACzC;uGA7BU,cAAc,EAAA,IAAA,EAAA,EAAA,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,QAAA,EAAA,IAAA,EAAA,cAAc,6IC3C3B,kVAKA,EAAA,MAAA,EAAA,CAAA,kwFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDsCa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,kVAAA,EAAA,MAAA,EAAA,CAAA,kwFAAA,CAAA,EAAA,CAAA;8BAKX,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;ME9BK,gBAAgB,CAAA;IAClB,IAAI,GAAoB,EAAE,CAAC;IAGpC,SAAS,GAAW,EAAE,CAAC;AAOvB,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;KACzF;uGAdU,gBAAgB,EAAA,IAAA,EAAA,EAAA,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,QAAA,EAAA,IAAA,EAAA,gBAAgB,iGCjB7B,2EACA,EAAA,MAAA,EAAA,CAAA,qOAAA,CAAA,EAAA,CAAA,CAAA;;2FDgBa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,2EAAA,EAAA,MAAA,EAAA,CAAA,qOAAA,CAAA,EAAA,CAAA;8BAKb,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEQK,yBAAyB,CAAA;AAC3B,IAAA,aAAa,CAAU;AACvB,IAAA,MAAM,CAA0C;AAChD,IAAA,oBAAoB,CAAoC;AAEvD,IAAA,OAAO,GAAG,IAAI,YAAY,EAAU,CAAC;AACrC,IAAA,gBAAgB,GAAG,IAAI,YAAY,EAAQ,CAAC;AAEjC,IAAA,QAAQ,CAAY;AACpB,IAAA,QAAQ,CAAY;AACpB,IAAA,QAAQ,CAAY;AACpB,IAAA,QAAQ,CAAY;AACpB,IAAA,QAAQ,CAAY;IAGzC,mBAAmB,GAAG,KAAK,CAAC;AAC5B,IAAA,wBAAwB,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7E,OAAO,GAAG,KAAK,CAAC;IAChB,cAAc,GAAG,CAAC,CAAC;AACnB,IAAA,cAAc,CAAqB;AAEnC,IAAA,UAAU,CAAgB;AAK1B,IAAA,WAAA,GAAA,GAAgB;IAOhB,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;KACzB;AAOD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IACE,OAAO,CAAC,eAAe,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,eAAe,CAAC,EAAE,aAAa;AAClF,YAAA,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAChE;AACA,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AACxB,YAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;AAGD,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAuD,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAC9G,gBAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;iBACjC;gBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,gBAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACzB,aAAC,CAAC,CAAC;SACJ;KACF;IAOD,sBAAsB,GAAA;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;IASD,iCAAiC,CAAC,KAAuB,EAAE,KAAa,EAAA;AACtE,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE;AAC5D,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO;SACR;AAED,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,wBAAwB,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;AAClD,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AAGjC,QAAA,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,EAAE;YAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACxC;KACF;IAOO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1C;AAQO,IAAA,cAAc,CAAC,YAAoB,EAAA;QACzC,IAAI,YAAY,KAAK,CAAC;YAAE,OAAO;AAC/B,QAAA,YAAY,KAAK,CAAC;AAChB,cAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;cACzB,YAAY,KAAK,CAAC;AACpB,kBAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;kBACzB,YAAY,KAAK,CAAC;AACpB,sBAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;sBACzB,YAAY,KAAK,CAAC;AACpB,0BAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;AAC3B,0BAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;KAC/B;AAQO,IAAA,cAAc,CAAC,KAAa,EAAA;QAClC,QAAQ,KAAK;AACX,YAAA,KAAK,CAAC;gBACJ,IAAI,IAAI,CAAC,QAAQ;AAAE,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC9C,MAAM;AACR,YAAA,KAAK,CAAC;gBACJ,IAAI,IAAI,CAAC,QAAQ;AAAE,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC9C,MAAM;AACR,YAAA,KAAK,CAAC;gBACJ,IAAI,IAAI,CAAC,QAAQ;AAAE,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC9C,MAAM;AACR,YAAA,KAAK,CAAC;gBACJ,IAAI,IAAI,CAAC,QAAQ;AAAE,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC9C,MAAM;AACR,YAAA,KAAK,CAAC;gBACJ,IAAI,IAAI,CAAC,QAAQ;AAAE,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC9C,MAAM;SACT;KACF;IAOD,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;KAChC;uGAtKU,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,QAAA,EAAA,IAAA,EAAA,yBAAyB,4rBC1BtC,i2HAqGA,EAAA,MAAA,EAAA,CAAA,8dAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,mEAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FD3Ea,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,i2HAAA,EAAA,MAAA,EAAA,CAAA,8dAAA,CAAA,EAAA,CAAA;wDAKvB,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAEI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBAEc,QAAQ,EAAA,CAAA;sBAA5B,SAAS;uBAAC,CAAQ,MAAA,CAAA,CAAA;gBACE,QAAQ,EAAA,CAAA;sBAA5B,SAAS;uBAAC,QAAQ,CAAA;gBACE,QAAQ,EAAA,CAAA;sBAA5B,SAAS;uBAAC,QAAQ,CAAA;gBACE,QAAQ,EAAA,CAAA;sBAA5B,SAAS;uBAAC,QAAQ,CAAA;gBACE,QAAQ,EAAA,CAAA;sBAA5B,SAAS;uBAAC,QAAQ,CAAA;;;ME8BR,sBAAsB,CAAA;uGAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAzC/B,aAAa;YACb,eAAe;YACf,eAAe;YACf,aAAa;YACb,qBAAqB;YACrB,qBAAqB;YACrB,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,uBAAuB;YACvB,kBAAkB;YAClB,wBAAwB;YACxB,0BAA0B;YAC1B,mBAAmB;YACnB,cAAc;YACd,gBAAgB;AAChB,YAAA,yBAAyB,aAGjB,WAAW,EAAE,YAAY,EAAE,mBAAmB,aAEtD,aAAa;YACb,eAAe;YACf,eAAe;YACf,aAAa;YACb,qBAAqB;YACrB,qBAAqB;YACrB,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,uBAAuB;YACvB,kBAAkB;YAClB,wBAAwB;YACxB,0BAA0B;YAC1B,mBAAmB;YACnB,cAAc;YACd,gBAAgB;YAChB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAIhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAtBvB,OAAA,EAAA,CAAA,WAAW,EAAE,YAAY,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA;;2FAsB7C,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA3ClC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,aAAa;wBACb,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,qBAAqB;wBACrB,qBAAqB;wBACrB,cAAc;wBACd,aAAa;wBACb,iBAAiB;wBACjB,uBAAuB;wBACvB,kBAAkB;wBAClB,wBAAwB;wBACxB,0BAA0B;wBAC1B,mBAAmB;wBACnB,cAAc;wBACd,gBAAgB;wBAChB,yBAAyB;AAC1B,qBAAA;AAED,oBAAA,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,mBAAmB,CAAC;AACzD,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,qBAAqB;wBACrB,qBAAqB;wBACrB,cAAc;wBACd,aAAa;wBACb,iBAAiB;wBACjB,uBAAuB;wBACvB,kBAAkB;wBAClB,wBAAwB;wBACxB,0BAA0B;wBAC1B,mBAAmB;wBACnB,cAAc;wBACd,gBAAgB;wBAChB,yBAAyB;AAC1B,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA,CAAA;;;ACrDD,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;MAInB,iBAAiB,CAAA;IAQ5B,OAAO,SAAS,CAAC,yBAAiC,EAAA;QAChD,OAAO,CAAC,OAAwB,KAA6B;AAE3D,YAAA,MAAM,gBAAgB,GAA2B,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC;YAGzG,IAAI,CAAC,gBAAgB,EAAE,KAAK;AAAE,gBAAA,OAAO,EAAE,YAAY,EAAE,CAAA,iBAAA,CAAmB,EAAE,CAAC;iBAEtE,IAAI,CAAC,OAAO,CAAC,KAAK;AAAE,gBAAA,OAAO,EAAE,YAAY,EAAE,CAAA,8BAAA,CAAgC,EAAE,CAAC;iBAE9E,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK,KAAK,gBAAgB,EAAE,KAAK;AAAE,gBAAA,OAAO,EAAE,YAAY,EAAE,CAAA,sBAAA,CAAwB,EAAE,CAAC;AAExH,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAC;KACH;AAQD,IAAA,OAAO,UAAU,GAAA;QACf,OAAO,CAAC,OAAwB,KAA6B;AAC3D,YAAA,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAGvC,MAAM;AAEH,iBAAA,EAAE,EAAE;AACJ,iBAAA,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;AAEjC,iBAAA,EAAE,EAAE;AACJ,iBAAA,GAAG,CAAC,EAAE,EAAE,0BAA0B,CAAC;AAEnC,iBAAA,GAAG,EAAE;AACL,iBAAA,SAAS,CAAC,SAAS,EAAE,kCAAkC,CAAC;AAExD,iBAAA,GAAG,EAAE;AACL,iBAAA,SAAS,CAAC,SAAS,EAAE,kCAAkC,CAAC;AAExD,iBAAA,GAAG,EAAE;AACL,iBAAA,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC;AAEvC,iBAAA,GAAG,EAAE;AACL,iBAAA,OAAO,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;AAGxD,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAI7D,CAAC;YAEJ,MAAM,cAAc,GAA+B,EAAE,CAAC;AACtD,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;gBACxB,cAAc,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACjE,aAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;AAChD,SAAC,CAAC;KACH;IASD,OAAO,OAAO,CAAC,UAAiB,EAAA;QAC9B,OAAO,CAAC,OAAwB,KAA6B;YAC3D,IAAI,SAAS,GAAG,IAAI,CAAC;AACrB,YAAA,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAG3D,YAAA,IAAI,UAAU,KAAK,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE;AAClE,gBAAA,OAAO,IAAI,CAAC;aACb;AAGD,YAAA,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;AACtD,gBAAA,SAAS,GAAG,EAAE,YAAY,EAAE,CAAA,yBAAA,CAA2B,EAAE,CAAC;aAC3D;AAED,YAAA,OAAO,SAAS,CAAC;AACnB,SAAC,CAAC;KACH;IASD,OAAO,IAAI,CAAC,IAAyB,EAAA;QACnC,OAAO,CAAC,OAAwB,KAA6B;YAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAAE,gBAAA,OAAO,EAAE,YAAY,EAAE,2CAA2C,EAAE,CAAC;AACxG,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAC;KACH;IASD,OAAO,YAAY,CAAC,UAAiB,EAAA;QACnC,OAAO,CAAC,OAAwB,KAA6B;YAC3D,MAAM,YAAY,GAAG,MAAc;AACjC,gBAAA,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AAAE,oBAAA,OAAO,KAAK,CAAC;AAChF,gBAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxC,gBAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE;AAAE,oBAAA,OAAO,KAAK,CAAC;gBAC5C,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE;AAAE,oBAAA,OAAO,KAAK,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE;AAAE,oBAAA,OAAO,KAAK,CAAC;AAC9E,gBAAA,OAAO,IAAI,CAAC;AACd,aAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAc;AAC7B,gBAAA,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE;AAAE,oBAAA,OAAO,KAAK,CAAC;gBACnF,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,gBAAA,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;oBAClD,MAAM,GAAG,GAAuB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjD,oBAAA,IAAI,CAAC,GAAG;AAAE,wBAAA,OAAO,KAAK,CAAC;AAEvB,oBAAA,IAAI,CAAC,GAAW,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAEtD,IAAI,QAAQ,IAAI,IAAI;AAAE,wBAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAEhC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3B,oBAAA,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEf,QAAQ,GAAG,CAAC,QAAQ,CAAC;iBACtB;AAED,gBAAA,OAAO,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,aAAC,CAAC;YAEF,IAAI,KAAK,GAAkB,IAAI,CAAC;AAChC,YAAA,IAAI,UAAU,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;AAAE,gBAAA,OAAO,IAAI,CAAC;AAE1E,iBAAA,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAAE,KAAK,GAAG,uBAAuB,CAAC;AAEvE,iBAAA,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE;gBAAE,KAAK,GAAG,CAAoB,iBAAA,EAAA,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAA,CAAE,CAAC;iBAEzF,IAAI,CAAC,YAAY,EAAE;gBAAE,KAAK,GAAG,uBAAuB,CAAC;AAErD,iBAAA,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAAE,KAAK,GAAG,2BAA2B,CAAC;iBAE3F,IAAI,CAAC,QAAQ,EAAE;gBAAE,KAAK,GAAG,gCAAgC,CAAC;AAE/D,YAAA,OAAO,KAAK,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;AAChD,SAAC,CAAC;KACH;AACF;;;;;;ACtLM,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAU;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"carefirst-library.mjs","sources":["../../../../projects/carefirst/library/src/lib/directives/button-loader.directive.ts","../../../../projects/carefirst/library/src/lib/utils/attribute.util.ts","../../../../projects/carefirst/library/src/lib/components/page/page.component.ts","../../../../projects/carefirst/library/src/lib/components/page/page.component.html","../../../../projects/carefirst/library/src/lib/interfaces/icon.interface.ts","../../../../projects/carefirst/library/src/lib/components/icon/icon.component.ts","../../../../projects/carefirst/library/src/lib/components/icon/icon.component.html","../../../../projects/carefirst/library/src/lib/components/button/button.component.ts","../../../../projects/carefirst/library/src/lib/components/button/button.component.html","../../../../projects/carefirst/library/src/lib/components/spacer/spacer.component.ts","../../../../projects/carefirst/library/src/lib/components/spacer/spacer.component.html","../../../../projects/carefirst/library/src/lib/components/notification/notification.component.ts","../../../../projects/carefirst/library/src/lib/components/notification/notification.component.html","../../../../projects/carefirst/library/src/lib/components/alert/alert.component.ts","../../../../projects/carefirst/library/src/lib/components/alert/alert.component.html","../../../../projects/carefirst/library/src/lib/components/logo/logo.component.ts","../../../../projects/carefirst/library/src/lib/components/logo/logo.component.html","../../../../projects/carefirst/library/src/lib/components/calendar/calendar.component.ts","../../../../projects/carefirst/library/src/lib/components/calendar/calendar.component.html","../../../../projects/carefirst/library/src/lib/components/form-validation/form-validation.component.ts","../../../../projects/carefirst/library/src/lib/components/form-validation/form-validation.component.html","../../../../projects/carefirst/library/src/lib/components/form-input/form-input.component.ts","../../../../projects/carefirst/library/src/lib/components/form-input/form-input.component.html","../../../../projects/carefirst/library/src/lib/components/form-input-select/form-input-select.component.ts","../../../../projects/carefirst/library/src/lib/components/form-input-select/form-input-select.component.html","../../../../projects/carefirst/library/src/lib/components/form-input-text-area/form-input-text-area.component.ts","../../../../projects/carefirst/library/src/lib/components/form-input-text-area/form-input-text-area.component.html","../../../../projects/carefirst/library/src/lib/components/chat-bubble/chat-bubble.component.ts","../../../../projects/carefirst/library/src/lib/components/chat-bubble/chat-bubble.component.html","../../../../projects/carefirst/library/src/lib/components/badge/badge.component.ts","../../../../projects/carefirst/library/src/lib/components/badge/badge.component.html","../../../../projects/carefirst/library/src/lib/components/spinner/spinner.component.ts","../../../../projects/carefirst/library/src/lib/components/spinner/spinner.component.html","../../../../projects/carefirst/library/src/lib/components/verification-code/verification-code.component.ts","../../../../projects/carefirst/library/src/lib/components/verification-code/verification-code.component.html","../../../../projects/carefirst/library/src/lib/library.module.ts","../../../../projects/carefirst/library/src/lib/utils/form-validators-utility.ts","../../../../projects/carefirst/library/src/lib/interfaces/spacer.interface.ts"],"sourcesContent":["/**\n * Button Loader Directive\n *\n * @file button-loader.directive\n * @description HTML directive used to disable a button while loading\n * @author Jacques Coetzee\n * @since 2022 - 07 - 22\n * @usage Add to any HTML tag: *cfButtonLoader=\"true\"\n */\n\nimport { Component, Directive, Input, Renderer2, TemplateRef, ViewContainerRef, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[cfButtonLoader]',\n})\nexport class ButtonLoaderDirective {\n /**----------------------------------------------------------------\n * @name Constructor\n */\n constructor(\n private templateRef: TemplateRef<HTMLElement>,\n private renderer: Renderer2,\n private viewContainer: ViewContainerRef,\n private elementRef: ElementRef<HTMLElement>\n ) {}\n\n /**----------------------------------------------------------------\n * @name cfButtonLoader\n * @description Displays a loading overlay and disables a button\n * @param {boolean} loading\n */\n @Input() set cfButtonLoader(loading: boolean) {\n //--- Clear HTML container\n this.viewContainer.clear();\n //--- Reattach element as child\n this.viewContainer.createEmbeddedView(this.templateRef);\n if (loading) {\n //--- Add loading spinner\n this.viewContainer.createComponent(SpinnerComponent);\n //--- Set parent container position to relative\n this.renderer.setStyle(this.elementRef.nativeElement.parentElement, 'position', 'relative');\n }\n }\n}\n\n/**==================================================================\n * @class SpinnerComponent\n * @description The spinner component used to render an ion-spinner on the button\n * @author Jacques Coetzee\n * @since 2022 - 07 - 22\n * ===== */\n\n@Component({\n template: '<div class=\"loading-spinner\"></div>',\n styles: [\n `\n @keyframes spinner {\n to {\n transform: rotate(360deg);\n }\n }\n\n .loading-spinner {\n position: absolute;\n top: calc(50% - 1em);\n left: calc(50% - 1em);\n width: 2em;\n height: 2em;\n border-radius: 50%;\n border: 3px solid var(--cf-app-system-color-outline);\n border-top-color: var(--cf-app-color-accent);\n animation: spinner 1s linear infinite;\n }\n `,\n ],\n})\nclass SpinnerComponent {}\n","/**\n * Attribute Utility\n *\n * @file attribute.util\n * @description Contains various utility functions pertaining to attribute handling\n * @author Jacques Coetzee\n * @since 2023 - 11 - 08\n */\n\nimport type { SimpleChanges } from '@angular/core';\n\n/**----------------------------------------------------------------\n * @name checkTruthAttribute\n * @description Check whether an attribute is either just available or specifically set to boolean value\n * @param {SimpleChanges} changes\n * @param {string} attribute\n * @param {boolean} curVal\n * @returns {boolean}\n */\nexport function checkTruthAttribute(changes: SimpleChanges, attribute: string, curVal: boolean): boolean {\n if (!(attribute in changes)) return curVal;\n const valueChanged = changes[attribute]?.currentValue;\n if (typeof valueChanged === 'boolean') {\n return valueChanged;\n } else if (typeof valueChanged === 'string' && ['true', ''].includes(valueChanged)) {\n return true;\n }\n return false;\n}\n\n/**----------------------------------------------------------------\n * @name validateStringValue\n * @description Validate whether an attribute is set and contains a specific string option\n * @param {SimpleChanges} changes\n * @param {string} attribute\n * @param {string[]} options\n * @param {T | undefined} curVal\n * @returns {string | undefined} Returns correct string value or undefined if either not available or not in list\n */\nexport function validateStringValue<T>(changes: SimpleChanges, attribute: string, options: T[], curVal: T | undefined): T | undefined {\n if (!(attribute in changes)) return curVal;\n const valueChanged = changes[attribute]?.currentValue;\n if (valueChanged && options.includes(valueChanged)) {\n return valueChanged as T;\n }\n return undefined;\n}\n\n/**----------------------------------------------------------------\n * @name validateNumberValue\n * @description Validate whether an attribute is set and contains a specific number value\n * @param {SimpleChanges} changes\n * @param {string} attribute\n * @param {number | undefined} curVal\n * @returns {number | undefined} Returns correct number value or undefined if either not available or not a number\n */\nexport function validateNumberValue(changes: SimpleChanges, attribute: string, curVal: number | undefined): number | undefined {\n if (!(attribute in changes)) return curVal;\n const valueChanged = changes[attribute]?.currentValue;\n if (typeof valueChanged === 'number' && valueChanged >= 0) {\n return valueChanged;\n } else if (typeof valueChanged === 'string' && +valueChanged >= 0) {\n return +valueChanged;\n }\n return undefined;\n}\n","/**\n * CareFirst Library - Page\n *\n * @file page.component\n * @description Contains all the logic for generating a basic CareFirst Page structure\n * @author Jacques Coetzee\n * @since 2023 - 11 - 07\n * @usage <cf-page %centerH% %centerV% %dark% style=\"%--cf-page-inline-padding: 16px%; %--cf-page-max-width: 1300px%; %--footer-bg-color: transparent%\">\n * CONTENT\n * %<ng-container cf-page-buttons></ng-container>%\n * %<ng-container cf-page-footer></ng-container>%\n * </cf-page>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { checkTruthAttribute } from '../../utils/attribute.util';\n\n@Component({\n selector: 'cf-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n})\nexport class PageComponent implements OnChanges {\n @Input() centerH?: boolean | string | undefined;\n @Input() centerV?: boolean | string | undefined;\n @Input() dark?: boolean | string | undefined;\n\n //--- Local variables\n inputCenterH = false;\n inputCenterV = false;\n inputDark = false;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Center H\n this.inputCenterH = checkTruthAttribute(changes, 'centerH', this.inputCenterH);\n //--- Center V\n this.inputCenterV = checkTruthAttribute(changes, 'centerV', this.inputCenterV);\n //--- Dark\n this.inputDark = checkTruthAttribute(changes, 'dark', this.inputDark);\n }\n}\n","<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div id=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div id=\"page-buttons\" class=\"content\">\n <ng-content select=\"[cf-page-buttons]\"></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[cf-page-footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n","/**==============================================\n * @interface IconsT\n * @description Short description\n */\nexport const iconsC = [\n 'home',\n 'cog',\n 'profile',\n 'scan',\n 'person',\n 'appointment',\n 'clock',\n 'calendar',\n 'email',\n 'phone',\n 'sign-out',\n 'sign-in',\n 'close',\n 'check-mark',\n 'rating-star-blank',\n 'rating-star-filled',\n 'back-arrow',\n 'lock',\n 'show-password',\n 'hide-password',\n 'circle-check',\n 'circle-alert',\n 'direction-switch',\n 'chat-bubbles',\n 'phone-down',\n 'mic',\n 'no-mic',\n 'button-forward-arrow',\n 'button-check-box',\n 'social-media-whatsapp',\n 'social-media-facebook',\n 'social-media-linkedin',\n 'social-media-instagram',\n 'social-media-google-mail',\n 'instant-video-service',\n 'instant-telephonic-service',\n 'scheduled-video-service',\n 'scheduled-telephonic-service',\n 'vital-scan-service',\n 'open-back-arrow',\n 'open-forward-arrow',\n 'open-up-arrow',\n 'open-down-arrow',\n 'single-document',\n 'lightning',\n 'microsoft-365',\n 'user-dependent',\n 'plus',\n] as const;\nexport type IconsT = (typeof iconsC)[number];\n\n/**==============================================\n * @interface IconColorT\n * @description All available colors in CSS classes\n */\nexport const iconColorC = ['primary', 'secondary', 'success', 'warning', 'error', 'white', 'accent'] as const;\nexport type IconColorT = (typeof iconColorC)[number];\n","/**\n * CareFirst Library - Icon\n *\n * @file icon.component\n * @description Contains all the logic for generating a CareFirst Icon\n * @author Jacques Coetzee\n * @since 2023 - 11 - 07\n * @usage <cf-icon %icon=\"IconsT\"% %iconColor=\"'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'white'\"%></cf-icon>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { validateStringValue } from '../../utils/attribute.util';\nimport { iconsC, type IconColorT, type IconsT, iconColorC } from '../../interfaces/icon.interface';\n\n@Component({\n selector: 'cf-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n})\nexport class IconComponent implements OnChanges {\n @Input() icon!: IconsT;\n @Input() height?: number;\n @Input() iconColor?: IconColorT;\n\n //--- Local variables\n inputIcon: typeof this.icon | undefined = undefined;\n inputColor: typeof this.iconColor | undefined = undefined;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Type\n this.inputIcon = validateStringValue<IconsT>(changes, 'icon', iconsC.slice(), this.inputIcon);\n //--- Color\n this.inputColor = validateStringValue<IconColorT>(changes, 'iconColor', iconColorC.slice(), this.inputColor);\n }\n}\n","<div class=\"app-icon-container\" [ngStyle]=\"{ height: (this.height || 20) + 'px' }\" [ngClass]=\"iconColor\">\n <!-- person -->\n <svg *ngIf=\"inputIcon === 'person'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"5\" r=\"4\" stroke-width=\"1.5\" />\n <path d=\"M2 19C3 10 17 10 18 19\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n </svg>\n <!-- appointment -->\n <svg\n *ngIf=\"inputIcon === 'appointment'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n style=\"stroke-width: 1.5; stroke-linecap: round\">\n <rect width=\"16\" height=\"16\" x=\"2\" y=\"3\" rx=\"2\" ry=\"2\" />\n <line x1=\"6\" y1=\"1\" x2=\"6\" y2=\"3\" />\n <line x1=\"14\" y1=\"1\" x2=\"14\" y2=\"3\" />\n <line x1=\"2\" y1=\"7\" x2=\"18\" y2=\"7\" />\n <line x1=\"6\" y1=\"11\" x2=\"14\" y2=\"11\" />\n </svg>\n <!-- clock -->\n <svg *ngIf=\"inputIcon === 'clock'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"10\" r=\"9\" stroke-width=\"1.5\" />\n <path d=\"M10 6L10 10L13 13\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- calendar -->\n <svg *ngIf=\"inputIcon === 'calendar'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 22 20\" fill=\"none\">\n <path\n d=\"M1 6.50508H21M4.01099 2.50004V2C4.01099 1.72386 4.23484 1.5 4.51099 1.5H17.4878C17.7639 1.5 17.9878 1.72386 17.9878 2V2.50004M4.98834 9.00006H5.03295M4.96603 12.1079H5.01064M4.94379 15.2158H4.9884M9.03296 9.00006H9.07757M9.01065 12.1079H9.05526M8.98834 15.2158H9.03295M13.0776 9.00006H13.1222M13.0553 12.1079H13.0999M13.033 15.2158H13.0776M17.1222 9.00006H17.1668M17.0999 12.1079H17.1445M17.0776 15.2158H17.1222M3 18.5H19C20.1046 18.5 21 17.6046 21 16.5V4.5C21 3.39543 20.1046 2.5 19 2.5H3C1.89543 2.5 1 3.39543 1 4.5V16.5C1 17.6046 1.89543 18.5 3 18.5Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- email -->\n <svg *ngIf=\"inputIcon === 'email'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 16\" fill=\"none\">\n <path\n d=\"M2 2L10.2286 8L17.9999 2M19 4.19995V11.8C19 12.9201 19.0002 13.4802 18.7822 13.908C18.5905 14.2844 18.2841 14.5902 17.9078 14.782C17.48 15 16.9203 15 15.8002 15H4.2002C3.08009 15 2.51962 15 2.0918 14.782C1.71547 14.5902 1.40973 14.2844 1.21799 13.908C1 13.4802 1 12.9201 1 11.8V4.19995C1 3.07985 1 2.51986 1.21799 2.09204C1.40973 1.71572 1.71547 1.40973 2.0918 1.21799C2.51962 1 3.08009 1 4.2002 1H15.8002C16.9203 1 17.48 1 17.9078 1.21799C18.2841 1.40973 18.5905 1.71572 18.7822 2.09204C19.0002 2.51986 19 3.07985 19 4.19995Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- phone -->\n <svg *ngIf=\"inputIcon === 'phone'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 22 22\" fill=\"none\">\n <path\n d=\"M20.97 17.33C20.97 17.69 20.89 18.06 20.72 18.42C20.55 18.78 20.33 19.12 20.04 19.44C19.55 19.98 19.01 20.37 18.4 20.62C17.8 20.87 17.15 21 16.45 21C15.43 21 14.34 20.76 13.19 20.27C12.04 19.78 10.89 19.12 9.75 18.29C8.6 17.45 7.51 16.52 6.47 15.49C5.44 14.45 4.51 13.36 3.68 12.22C2.86 11.08 2.2 9.94 1.72 8.81C1.24 7.67 1 6.58 1 5.54C1 4.86 1.12 4.21 1.36 3.61C1.6 3 1.98 2.44 2.51 1.94C3.15 1.31 3.85 1 4.59 1C4.87 1 5.15 1.06 5.4 1.18C5.66 1.3 5.89 1.48 6.07 1.74L8.39 5.01C8.57 5.26 8.7 5.49 8.79 5.71C8.88 5.92 8.93 6.13 8.93 6.32C8.93 6.56 8.86 6.8 8.72 7.03C8.59 7.26 8.4 7.5 8.16 7.74L7.4 8.53C7.29 8.64 7.24 8.77 7.24 8.93C7.24 9.01 7.25 9.08 7.27 9.16C7.3 9.24 7.33 9.3 7.35 9.36C7.53 9.69 7.84 10.12 8.28 10.64C8.73 11.16 9.21 11.69 9.73 12.22C10.27 12.75 10.79 13.24 11.32 13.69C11.84 14.13 12.27 14.43 12.61 14.61C12.66 14.63 12.72 14.66 12.79 14.69C12.87 14.72 12.95 14.73 13.04 14.73C13.21 14.73 13.34 14.67 13.45 14.56L14.21 13.81C14.46 13.56 14.7 13.37 14.93 13.25C15.16 13.11 15.39 13.04 15.64 13.04C15.83 13.04 16.03 13.08 16.25 13.17C16.47 13.26 16.7 13.39 16.95 13.56L20.26 15.91C20.52 16.09 20.7 16.3 20.81 16.55C20.91 16.8 20.97 17.05 20.97 17.33Z\"\n stroke-width=\"1.5\"\n stroke-miterlimit=\"10\" />\n <path d=\"M14 1C17 1 21 4 21 8\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M14 4C16 4 18 6 18 8\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- home -->\n <svg *ngIf=\"inputIcon === 'home'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M1.97409 6.39868L9.14434 1.56272C9.64904 1.22233 10.3094 1.22072 10.8158 1.55865L18.0692 6.39951C18.6251 6.77052 18.959 7.39471 18.959 8.06306V19H12.0095V13.0287C12.0095 11.9177 11.1089 11.0171 9.99786 11.0171C8.88685 11.0171 7.9862 11.9177 7.9862 13.0287V19H1.09241V8.0568C1.09241 7.3919 1.42285 6.77047 1.97409 6.39868Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- cog -->\n <svg *ngIf=\"inputIcon === 'cog'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" fill=\"none\">\n <path\n d=\"M10.4014 0.7771C10.6692 0.7771 10.9258 0.884538 11.1138 1.07535L12.4463 2.4281C12.5731 2.55681 12.7323 2.64876 12.9072 2.6942L14.745 3.1718C15.0042 3.23917 15.2255 3.4077 15.3595 3.63965L16.7608 6.06688C16.8947 6.29883 16.93 6.5748 16.8587 6.83298L16.3535 8.66333C16.3054 8.83748 16.3054 9.02139 16.3535 9.19553L16.8587 11.0259C16.93 11.2841 16.8947 11.56 16.7608 11.792L15.3595 14.2192C15.2255 14.4512 15.0042 14.6197 14.745 14.6871L12.9072 15.1647C12.7323 15.2101 12.5731 15.3021 12.4463 15.4308L11.1138 16.7835C10.9258 16.9743 10.6692 17.0818 10.4014 17.0818H7.59865C7.33082 17.0818 7.07418 16.9743 6.88623 16.7835L5.55373 15.4308C5.42695 15.3021 5.26768 15.2101 5.09283 15.1647L3.25506 14.6871C2.99584 14.6197 2.77448 14.4512 2.64056 14.2192L1.2392 11.792C1.10529 11.56 1.07001 11.2841 1.14128 11.0259L1.64655 9.19553C1.69462 9.02139 1.69462 8.83748 1.64655 8.66333L1.14128 6.83298C1.07001 6.5748 1.10529 6.29883 1.2392 6.06688L2.64056 3.63965C2.77448 3.4077 2.99584 3.23917 3.25506 3.1718L5.09283 2.6942C5.26768 2.64876 5.42695 2.55681 5.55373 2.4281L6.88623 1.07535C7.07418 0.884538 7.33082 0.7771 7.59865 0.7771H10.4014Z\"\n stroke-width=\"1.5\" />\n <path\n d=\"M12.1179 8.92943C12.1179 10.6114 10.7544 11.9748 9.07247 11.9748C7.39054 11.9748 6.02706 10.6114 6.02706 8.92943C6.02706 7.2475 7.39054 5.88402 9.07247 5.88402C10.7544 5.88402 12.1179 7.2475 12.1179 8.92943Z\"\n stroke-width=\"1.5\" />\n </svg>\n <!-- profile -->\n <svg *ngIf=\"inputIcon === 'profile'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M15 18.9294C15 16.168 12.7614 13.9294 10 13.9294C7.23858 13.9294 5 16.168 5 18.9294M10 10.9294C8.34315 10.9294 7 9.5863 7 7.92944C7 6.27259 8.34315 4.92944 10 4.92944C11.6569 4.92944 13 6.27259 13 7.92944C13 9.5863 11.6569 10.9294 10 10.9294ZM19 4.12939V15.7294C19 16.8495 19.0002 17.4097 18.7822 17.8375C18.5905 18.2138 18.2841 18.5197 17.9078 18.7114C17.48 18.9294 16.9203 18.9294 15.8002 18.9294H4.2002C3.08009 18.9294 2.51962 18.9294 2.0918 18.7114C1.71547 18.5197 1.40973 18.2138 1.21799 17.8375C1 17.4097 1 16.8495 1 15.7294V4.12939C1 3.00929 1 2.44931 1.21799 2.02148C1.40973 1.64516 1.71547 1.33918 2.0918 1.14743C2.51962 0.929443 3.08009 0.929443 4.2002 0.929443H15.8002C16.9203 0.929443 17.48 0.929443 17.9078 1.14743C18.2841 1.33918 18.5905 1.64516 18.7822 2.02148C19.0002 2.44931 19 3.00929 19 4.12939Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- scan -->\n <svg *ngIf=\"inputIcon === 'scan'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M1 5V2C1 1.44772 1.44772 1 2 1H5M1 15V18C1 18.5523 1.44772 19 2 19H5M19 5V2C19 1.44772 18.5523 1 18 1H15M19 15V18C19 18.5523 18.5523 19 18 19H15M2 10H18\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- sign-out -->\n <svg *ngIf=\"inputIcon === 'sign-out'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M7.80053 9.94781H17.7201M15.708 7.4576L18.9408 9.93332L15.708 12.4013M14.9327 4.89544V2.99078C14.9327 1.88621 14.0373 0.990784 12.9327 0.990784H3.05328C1.94871 0.990784 1.05328 1.88621 1.05328 2.99078V16.9978C1.05328 18.1024 1.94871 18.9978 3.05328 18.9978H12.9327C14.0373 18.9978 14.9327 18.1024 14.9327 16.9978V14.9943\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- sign-in -->\n <svg *ngIf=\"inputIcon === 'sign-in'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M1.07129 10.0204H10.9908M8.97873 7.53022L12.2115 10.0059L8.97873 12.4739M4.03967 7.11697V3.06152C4.03967 1.95695 4.9351 1.06152 6.03967 1.06152H16.9409C18.0454 1.06152 18.9409 1.95695 18.9409 3.06152V17.0685C18.9409 18.1731 18.0454 19.0685 16.9409 19.0685H6.03967C4.9351 19.0685 4.03967 18.1731 4.03967 17.0685V13.1326\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- close -->\n <svg *ngIf=\"inputIcon === 'close'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 14\" fill=\"none\">\n <path d=\"M1.37749 12.6423L12.6705 1.3492M12.6705 12.6423L1.37749 1.3492\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- rating-star-blank -->\n <svg *ngIf=\"inputIcon === 'rating-star-blank'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 31\" fill=\"none\">\n <path\n d=\"M15.2481 1.90951C15.55 1.27691 16.4504 1.27691 16.7523 1.90951L20.6057 9.98487C20.7271 10.2395 20.9692 10.4153 21.2488 10.4522L30.1197 11.6215C30.8146 11.7131 31.0929 12.5695 30.5845 13.0521L24.0952 19.2123C23.8906 19.4065 23.7981 19.691 23.8495 19.9684L25.4786 28.7665C25.6063 29.4557 24.8778 29.985 24.2617 29.6506L16.3977 25.3825C16.1498 25.2479 15.8506 25.2479 15.6027 25.3825L7.73866 29.6506C7.12262 29.985 6.39413 29.4557 6.52175 28.7665L8.15088 19.9684C8.20225 19.691 8.1098 19.4065 7.90521 19.2123L1.41584 13.0521C0.907481 12.5695 1.18574 11.7131 1.88066 11.6215L10.7515 10.4522C11.0312 10.4153 11.2732 10.2395 11.3947 9.98487L15.2481 1.90951Z\"\n stroke-width=\"1.5\" />\n </svg>\n <!-- rating-star-filled -->\n <svg\n *ngIf=\"inputIcon === 'rating-star-filled'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 32 31\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M15.2481 1.90951C15.55 1.27691 16.4504 1.27691 16.7523 1.90951L20.6057 9.98487C20.7271 10.2395 20.9692 10.4153 21.2488 10.4522L30.1197 11.6215C30.8146 11.7131 31.0929 12.5695 30.5845 13.0521L24.0952 19.2123C23.8906 19.4065 23.7981 19.691 23.8495 19.9684L25.4786 28.7665C25.6063 29.4557 24.8778 29.985 24.2617 29.6506L16.3977 25.3825C16.1498 25.2479 15.8506 25.2479 15.6027 25.3825L7.73866 29.6506C7.12262 29.985 6.39413 29.4557 6.52175 28.7665L8.15088 19.9684C8.20225 19.691 8.1098 19.4065 7.90521 19.2123L1.41584 13.0521C0.907481 12.5695 1.18574 11.7131 1.88066 11.6215L10.7515 10.4522C11.0312 10.4153 11.2732 10.2395 11.3947 9.98487L15.2481 1.90951Z\"\n stroke-width=\"1.5\" />\n </svg>\n <!-- check-mark -->\n <svg *ngIf=\"inputIcon === 'check-mark'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M1 10L7 16L19 4\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- back-arrow -->\n <svg *ngIf=\"inputIcon === 'back-arrow'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M6.5 5L1 10L6.5 15M1 10L19 10\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- lock -->\n <svg *ngIf=\"inputIcon === 'lock'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 27\" style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M12.5 13C11.6595 13.0003 10.8472 13.303 10.2115 13.8529C9.57579 14.4027 9.1592 15.163 9.03785 15.9947C8.9165 16.8264 9.0985 17.674 9.55058 18.3825C10.0027 19.0911 10.6946 19.6133 11.5 19.8538V22C11.5 22.2652 11.6054 22.5196 11.7929 22.7071C11.9804 22.8946 12.2348 23 12.5 23C12.7652 23 13.0196 22.8946 13.2071 22.7071C13.3946 22.5196 13.5 22.2652 13.5 22V19.8538C14.3054 19.6133 14.9973 19.0911 15.4494 18.3825C15.9015 17.674 16.0835 16.8264 15.9622 15.9947C15.8408 15.163 15.4242 14.4027 14.7885 13.8529C14.1528 13.303 13.3405 13.0003 12.5 13ZM12.5 18C12.2033 18 11.9133 17.912 11.6666 17.7472C11.42 17.5824 11.2277 17.3481 11.1142 17.074C11.0006 16.7999 10.9709 16.4983 11.0288 16.2074C11.0867 15.9164 11.2296 15.6491 11.4393 15.4393C11.6491 15.2296 11.9164 15.0867 12.2074 15.0288C12.4983 14.9709 12.7999 15.0007 13.074 15.1142C13.3481 15.2277 13.5824 15.42 13.7472 15.6666C13.912 15.9133 14 16.2033 14 16.5C14 16.8978 13.842 17.2794 13.5607 17.5607C13.2794 17.842 12.8978 18 12.5 18ZM22.5 9H18.5V6C18.5 4.4087 17.8679 2.88258 16.7426 1.75736C15.6174 0.632141 14.0913 0 12.5 0C10.9087 0 9.38258 0.632141 8.25736 1.75736C7.13214 2.88258 6.5 4.4087 6.5 6V9H2.5C1.96957 9 1.46086 9.21071 1.08579 9.58579C0.710714 9.96086 0.5 10.4696 0.5 11V25C0.5 25.5304 0.710714 26.0391 1.08579 26.4142C1.46086 26.7893 1.96957 27 2.5 27H22.5C23.0304 27 23.5391 26.7893 23.9142 26.4142C24.2893 26.0391 24.5 25.5304 24.5 25V11C24.5 10.4696 24.2893 9.96086 23.9142 9.58579C23.5391 9.21071 23.0304 9 22.5 9ZM8.5 6C8.5 4.93913 8.92143 3.92172 9.67157 3.17157C10.4217 2.42143 11.4391 2 12.5 2C13.5609 2 14.5783 2.42143 15.3284 3.17157C16.0786 3.92172 16.5 4.93913 16.5 6V9H8.5V6ZM22.5 25H2.5V11H22.5V25Z\" />\n </svg>\n <!-- show-password -->\n <svg *ngIf=\"inputIcon === 'show-password'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <ellipse cx=\"10\" cy=\"10\" rx=\"9\" ry=\"4\" stroke-width=\"1\" />\n <circle cx=\"10\" cy=\"10\" r=\"2.5\" stroke-width=\"1\" />\n </svg>\n <!-- hide-password -->\n <svg *ngIf=\"inputIcon === 'hide-password'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <ellipse cx=\"10\" cy=\"10\" rx=\"9\" ry=\"4\" stroke-width=\"1\" />\n <circle cx=\"10\" cy=\"10\" r=\"2.5\" stroke-width=\"1\" />\n <line x1=\"1\" y1=\"4\" x2=\"19\" y2=\"16\" stroke-width=\"1\" stroke-linecap=\"round\" />\n </svg>\n <!-- circle-check -->\n <svg *ngIf=\"inputIcon === 'circle-check'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"10\" r=\"9\" stroke-width=\"1.5\" />\n <path d=\"M5.5 11L9 14L14.5 7.5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- circle-alert -->\n <svg *ngIf=\"inputIcon === 'circle-alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M10.0002 19.1666C15.0418 19.1666 19.1668 15.0416 19.1668 9.99998C19.1668 4.95831 15.0418 0.833313 10.0002 0.833313C4.9585 0.833313 0.833496 4.95831 0.833496 9.99998C0.833496 15.0416 4.9585 19.1666 10.0002 19.1666Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <path d=\"M10 6.33331V10.9166\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M9.99512 13.6667H10.0034\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- direction-switch -->\n <svg *ngIf=\"inputIcon === 'direction-switch'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" fill=\"none\">\n <path\n d=\"M15.3805 4.2C14.7138 3.13333 12.5005 1 8.98046 1C4.58046 1 0.980469 3.8 0.980469 8.99999M12.9805 5H16.1804V1.8M2.67738 13.8C3.34405 14.8667 5.55738 17 9.07738 17C13.4774 17 17.0774 14.2 17.0774 9M5.07738 13H1.87739V16.2\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- chat-bubbles -->\n <svg\n *ngIf=\"inputIcon === 'chat-bubbles'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"M 1 19 V 7 S 1 5 3 5 H 13 S 15 5 15 7 V 15 S 15 17 13 17 H 3.5 Z\" />\n <path d=\"M 4 9 H 12 M 4 13 H 12\" />\n <path d=\"M 3 5 V 3 S 3 1 5 1 H 17 S 19 1 19 3 V 15 L 16.5 13 15 13\" />\n </svg>\n <!-- phone-down -->\n <svg *ngIf=\"inputIcon === 'phone-down'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 -8 29 29\" style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M22.6589 11.7706C23.4866 12.1253 24.4468 11.9404 25.0836 11.3036L27.2257 9.16151C28.0404 8.34676 28.0404 7.02577 27.2257 6.21102C20.3003 -0.714333 9.072 -0.714112 2.14665 6.21124C1.3319 7.02599 1.33198 8.34672 2.14673 9.16146L4.28896 11.3035C4.9257 11.9403 5.88596 12.1251 6.71364 11.7704L9.58644 10.5392C10.3299 10.2206 10.8388 9.52027 10.912 8.71471L11.0005 7.74261C11.1036 6.60831 12.0546 5.7398 13.1936 5.73979L16.1789 5.73968C17.3179 5.73968 18.2687 6.60846 18.3719 7.74277L18.4602 8.71468C18.5335 9.52024 19.0425 10.2207 19.786 10.5393L22.6589 11.7706Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- mic -->\n <svg\n *ngIf=\"inputIcon === 'mic'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke-width=\"1\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"M 6 5 C 6 0 14 0 14 5 V 9 C 14 14 6 14 6 9 V 5 M 6 5 H 8 M 6 7 H 8 M 6 9 H 8 M 14 5 H 12 M 14 7 H 12 M 14 9 H 12\" />\n <path d=\"M 4 9 C 4 17 16 17 16 9 \" />\n <path d=\"M 9 15 V 18 H 7 S 5 18 5 19.7 H 15 S 15 18 13 18 H 11 V 15\" />\n </svg>\n <!-- no-mic -->\n <svg\n *ngIf=\"inputIcon === 'no-mic'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke-width=\"1\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"M 6 5 C 6 0 14 0 14 5 V 9 C 14 14 6 14 6 9 V 5 M 6 5 H 8 M 6 7 H 8 M 6 9 H 8 M 14 5 H 12 M 14 7 H 12 M 14 9 H 12\" />\n <path d=\"M 4 9 C 4 17 16 17 16 9 \" />\n <path d=\"M 9 15 V 18 H 7 S 5 18 5 19.7 H 15 S 15 18 13 18 H 11 V 15\" />\n <line x1=\"1\" y1=\"1\" x2=\"19\" y2=\"19\" />\n </svg>\n <!-- Button Icons -->\n <!-- button-forward-arrow -->\n <svg *ngIf=\"inputIcon === 'button-forward-arrow'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" fill=\"none\">\n <path d=\"M5.5 12.5H19.5\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M12.5 5.5L19.5 12.5L12.5 19.5\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- button-check-box -->\n <svg *ngIf=\"inputIcon === 'button-check-box'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"none\">\n <rect x=\"1\" y=\"1\" rx=\"4\" ry=\"4\" width=\"18\" height=\"18\" stroke-width=\"1.5\" />\n <path d=\"M5 11L9 14L15 6\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- Social Media Icons -->\n <!-- social-media-whatsapp -->\n <svg\n *ngIf=\"inputIcon === 'social-media-whatsapp'\"\n viewBox=\"-1 -1 27 27\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M18.2273 14.9814C17.9163 14.8265 16.3871 14.0777 16.102 13.9743C15.8169 13.871 15.6096 13.8195 15.4022 14.1293C15.1949 14.4391 14.5988 15.1364 14.4174 15.343C14.236 15.5495 14.0545 15.5755 13.7436 15.4204C13.4325 15.2655 12.4303 14.9387 11.2423 13.884C10.3178 13.0633 9.69351 12.0497 9.51211 11.7398C9.33066 11.4299 9.49273 11.2624 9.64844 11.108C9.78843 10.9693 9.95952 10.7465 10.115 10.5657C10.2706 10.385 10.3224 10.2558 10.426 10.0494C10.5297 9.84273 10.4779 9.66201 10.4 9.50709C10.3224 9.35217 9.70034 7.82853 9.44116 7.20866C9.18867 6.60517 8.93227 6.6869 8.74136 6.67733C8.56016 6.66839 8.35254 6.66649 8.14526 6.66649C7.93794 6.66649 7.60093 6.74395 7.31582 7.05374C7.03076 7.36363 6.22729 8.11257 6.22729 9.63606C6.22729 11.1597 7.34175 12.6315 7.49727 12.8381C7.65278 13.0448 9.69043 16.1712 12.8105 17.512C13.5525 17.831 14.1319 18.0214 14.5836 18.1641C15.3287 18.3997 16.0067 18.3665 16.5426 18.2867C17.1402 18.1979 18.3828 17.538 18.642 16.815C18.9011 16.0918 18.9011 15.4721 18.8234 15.343C18.7457 15.2138 18.5383 15.1364 18.2273 14.9814ZM12.5523 22.693H12.5481C10.6916 22.6923 8.8707 22.1959 7.28223 21.2578L6.90439 21.0346L2.98867 22.0569L4.03384 18.2573L3.78789 17.8677C2.7522 16.2284 2.20518 14.3336 2.20601 12.3881C2.2083 6.711 6.84956 2.09234 12.5564 2.09234C15.3198 2.09326 17.9175 3.16569 19.8709 5.11195C21.8243 7.05816 22.8994 9.64514 22.8983 12.3964C22.8959 18.0739 18.2547 22.693 12.5523 22.693ZM21.3576 3.63307C19.0074 1.2915 15.8821 0.00136065 12.5521 0C5.69111 0 0.10708 5.55698 0.104297 12.3873C0.103418 14.5707 0.676563 16.7018 1.76592 18.5806L0 25L6.59868 23.2773C8.41685 24.2643 10.4639 24.7845 12.5472 24.7852H12.5523C19.4126 24.7852 24.9972 19.2276 25 12.3972C25.0013 9.08708 23.7077 5.97465 21.3576 3.63307Z\" />\n </svg>\n <!-- social-media-facebook -->\n <svg\n *ngIf=\"inputIcon === 'social-media-facebook'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"-1 -1 27 27\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M25 12.5764C25 5.63064 19.4036 0 12.5 0C5.59644 0 0 5.63064 0 12.5764C0 18.8536 4.57109 24.0565 10.5469 25V16.2118H7.37305V12.5764H10.5469V9.80566C10.5469 6.6537 12.413 4.91265 15.2683 4.91265C16.6359 4.91265 18.0664 5.15829 18.0664 5.15829V8.25326H16.4902C14.9374 8.25326 14.4531 9.22267 14.4531 10.2172V12.5764H17.9199L17.3657 16.2118H14.4531V25C20.429 24.0565 25 18.8536 25 12.5764Z\" />\n </svg>\n <!-- social-media-linkedin -->\n <svg\n *ngIf=\"inputIcon === 'social-media-linkedin'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 25 25\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M23.3696 0H1.63043C0.733696 0 0 0.733696 0 1.63043V23.3696C0 24.2663 0.733696 25 1.63043 25H23.3696C24.2663 25 25 24.2663 25 23.3696V1.63043C25 0.733696 24.2663 0 23.3696 0ZM3.39674 4.75543C3.83152 4.32065 4.42935 4.07609 5.02717 4.07609C5.625 4.07609 6.22283 4.32065 6.65761 4.75543C7.09239 5.19022 7.33696 5.76087 7.33696 6.38587C7.33696 7.01087 7.09239 7.6087 6.63043 8.04348C6.19565 8.45109 5.625 8.69565 5.05435 8.69565C5.02717 8.69565 5.02717 8.69565 5 8.69565C4.42935 8.72283 3.83152 8.47826 3.39674 8.04348C2.96196 7.6087 2.71739 7.01087 2.71739 6.38587C2.71739 5.76087 2.96196 5.19022 3.39674 4.75543ZM7.33696 21.4946C7.33696 21.9293 6.95652 22.2826 6.52174 22.2826H3.53261C3.09783 22.2826 2.71739 21.9022 2.71739 21.4674V11.6848C2.71739 11.2228 3.07065 10.8696 3.50543 10.8696H6.52174C6.95652 10.8696 7.33696 11.25 7.33696 11.6848V21.4946ZM22.2826 21.7391C22.2826 22.0109 22.0109 22.2826 21.7391 22.2826H18.2065C17.9348 22.2826 17.663 22.0109 17.663 21.7391V15.6522C17.663 15.163 17.5543 14.7826 17.2826 14.538C16.9837 14.2391 16.5761 14.0489 16.1413 14.0761C15.2446 14.0761 14.1033 14.837 14.1033 15.6793V21.8207C14.1033 22.1196 13.8043 22.3098 13.5598 22.3098H10.0272C9.78261 22.3098 9.4837 22.1196 9.4837 21.8207V11.3859C9.4837 11.087 9.78261 10.8696 10.0272 10.8696H13.288C13.5598 10.8696 13.8315 11.1413 13.8315 11.413V11.8207C14.5652 11.0598 16.0326 10.5978 17.0924 10.5978H17.663C19.8098 10.5978 22.2826 12.2826 22.2826 14.4565V21.7391Z\" />\n </svg>\n <!-- social-media-instagram -->\n <svg\n *ngIf=\"inputIcon === 'social-media-instagram'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 25 25\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"M12.5 0C9.1052 0 8.67952 0.0143895 7.34627 0.0752221C6.01579 0.135956 5.10712 0.347233 4.31198 0.656259C3.48999 0.975705 2.7929 1.40312 2.09798 2.09803C1.40307 2.79294 0.975655 3.49004 0.656209 4.31203C0.347183 5.10712 0.135906 6.01579 0.0751725 7.34627C0.0143398 8.67952 0 9.1052 0 12.5C0 15.8948 0.0143398 16.3205 0.0751725 17.6537C0.135906 18.9842 0.347183 19.8929 0.656209 20.688C0.975655 21.51 1.40307 22.2071 2.09798 22.902C2.7929 23.5969 3.48999 24.0243 4.31198 24.3438C5.10712 24.6528 6.01579 24.8641 7.34627 24.9248C8.67952 24.9856 9.1052 25 12.5 25C15.8948 25 16.3205 24.9856 17.6537 24.9248C18.9842 24.8641 19.8929 24.6528 20.688 24.3438C21.51 24.0243 22.2071 23.5969 22.902 22.902C23.5969 22.2071 24.0243 21.51 24.3438 20.688C24.6528 19.8929 24.8641 18.9842 24.9248 17.6537C24.9856 16.3205 25 15.8948 25 12.5C25 9.1052 24.9856 8.67952 24.9248 7.34627C24.8641 6.01579 24.6528 5.10712 24.3438 4.31203C24.0243 3.49004 23.5969 2.79294 22.902 2.09803C22.2071 1.40312 21.51 0.975705 20.688 0.656259C19.8929 0.347233 18.9842 0.135956 17.6537 0.0752221C16.3205 0.0143895 15.8948 0 12.5 0ZM12.5 2.2523C15.8376 2.2523 16.233 2.265 17.5511 2.32514C18.7698 2.38076 19.4317 2.5844 19.8721 2.75553C20.4556 2.98229 20.872 3.25321 21.3094 3.6906C21.7468 4.12799 22.0177 4.54444 22.2445 5.12786C22.4157 5.56832 22.6193 6.23019 22.6749 7.44893C22.735 8.767 22.7478 9.16236 22.7478 12.5C22.7478 15.8376 22.735 16.233 22.6749 17.5511C22.6193 18.7698 22.4157 19.4317 22.2445 19.8721C22.0177 20.4556 21.7468 20.872 21.3094 21.3094C20.872 21.7468 20.4556 22.0177 19.8721 22.2445C19.4317 22.4157 18.7698 22.6193 17.5511 22.6749C16.2332 22.735 15.8379 22.7478 12.5 22.7478C9.16212 22.7478 8.76685 22.735 7.44893 22.6749C6.23019 22.6193 5.56832 22.4157 5.12786 22.2445C4.54439 22.0177 4.12799 21.7468 3.69055 21.3094C3.25316 20.872 2.98224 20.4556 2.75553 19.8721C2.58435 19.4317 2.38071 18.7698 2.32509 17.5511C2.26495 16.233 2.25225 15.8376 2.25225 12.5C2.25225 9.16236 2.26495 8.767 2.32509 7.44893C2.38071 6.23019 2.58435 5.56832 2.75553 5.12786C2.98224 4.54444 3.25316 4.12799 3.69055 3.6906C4.12799 3.25321 4.54439 2.98229 5.12786 2.75553C5.56832 2.5844 6.23019 2.38076 7.44893 2.32514C8.767 2.265 9.16236 2.2523 12.5 2.2523Z\" />\n <path\n d=\"M12.5 16.6666C10.1988 16.6666 8.3333 14.8012 8.3333 12.5C8.3333 10.1988 10.1988 8.3333 12.5 8.3333C14.8012 8.3333 16.6666 10.1988 16.6666 12.5C16.6666 14.8012 14.8012 16.6666 12.5 16.6666ZM12.5 6.08105C8.95488 6.08105 6.08105 8.95488 6.08105 12.5C6.08105 16.0451 8.95488 18.9189 12.5 18.9189C16.0451 18.9189 18.9189 16.0451 18.9189 12.5C18.9189 8.95488 16.0451 6.08105 12.5 6.08105Z\" />\n <path\n d=\"M20.6726 5.82761C20.6726 6.65605 20.001 7.32759 19.1726 7.32759C18.3442 7.32759 17.6726 6.65605 17.6726 5.82761C17.6726 4.99918 18.3442 4.32764 19.1726 4.32764C20.001 4.32764 20.6726 4.99918 20.6726 5.82761Z\" />\n </svg>\n <!-- social-media-google-mail -->\n <svg\n *ngIf=\"inputIcon === 'social-media-google-mail'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 22 17\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <g clip-path=\"url(#clip0_1282_2376)\">\n <path\n d=\"M0.000141144 15.7966C0.11293 16.0839 0.234306 16.3624 0.46389 16.5802C0.745003 16.8469 1.06848 16.9971 1.45093 16.9982C2.54561 17.0012 3.64028 17.0006 4.73553 17.0006C5.01607 17.0006 5.02466 16.9923 5.02466 16.7033C5.02523 14.0175 5.02523 11.3318 5.02523 8.646C5.02523 8.55181 5.02523 8.45761 5.02523 8.36106C5.13745 8.35282 5.18726 8.42523 5.24623 8.47115C7.09034 9.89116 8.93446 11.3106 10.7728 12.7388C10.9412 12.8695 11.0511 12.863 11.216 12.7353C13.0549 11.3082 14.8991 9.88821 16.7426 8.46762C16.7981 8.42464 16.8577 8.33692 16.9195 8.36342C17.0054 8.39933 16.9607 8.50706 16.9607 8.58242C16.963 11.2682 16.9625 13.9539 16.9625 16.6397C16.9625 16.9976 16.963 16.9982 17.3003 16.9982C18.352 16.9982 19.4043 17.0006 20.456 16.9971C21.3549 16.9941 21.991 16.3336 21.9916 15.4046C21.9927 12.4762 21.9916 9.54734 21.9921 6.61903C21.9933 5.22022 21.9893 3.822 22.0001 2.42378C22.0076 1.45297 21.6017 0.724131 20.7772 0.283176C19.9333 -0.168375 19.0997 -0.0718245 18.3348 0.515134C16.7581 1.72555 15.1859 2.94244 13.612 4.15639C12.8048 4.77867 11.9946 5.39742 11.1937 6.02795C11.0391 6.14922 10.9377 6.14275 10.786 6.025C8.90641 4.56732 7.02221 3.11671 5.13859 1.66491C4.62904 1.27223 4.11777 0.882497 3.6065 0.492173C2.31259 -0.495706 0.49538 0.14777 0.0631199 1.74616C0.0459442 1.80974 0.0213261 1.87038 -0.000429153 1.93278C0.000143051 6.55368 0.000141144 11.1752 0.000141144 15.7966Z\" />\n </g>\n <defs>\n <clipPath id=\"clip0_1282_2376\">\n <rect width=\"22\" height=\"17\" transform=\"matrix(-1 0 0 1 22 0)\" />\n </clipPath>\n </defs>\n </svg>\n <!-- Instant Video Service -->\n <svg\n *ngIf=\"inputIcon === 'instant-video-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"m40.2,3.08c-7.13-.08-13,5.67-13.05,12.82-.05,7.01,5.53,12.88,12.7,13.01,7.13.14,13.01-5.56,13.12-12.75.12-7.11-5.61-13-12.77-13.08Zm-.15,21.93c-4.88.04-8.97-4.01-9-8.92-.04-5.01,3.96-9.07,8.97-9.11,4.94-.03,9.03,3.99,9.06,8.9.03,5.07-3.95,9.09-9.03,9.13Z\" />\n <g>\n <g>\n <path\n d=\"m45.29,62.33c.4.41.4,1.06,0,1.46l-4.21,4.2c-.19.19-.45.3-.72.3s-.54-.11-.73-.3l-4.2-4.2c-.4-.4-.4-1.05,0-1.46.4-.4,1.05-.4,1.46,0l3.47,3.48,3.47-3.48c.4-.4,1.05-.4,1.46,0Z\" />\n <path\n d=\"m35.43,59.61c-.4-.4-.4-1.05,0-1.45.4-.4,1.04-.4,1.45,0h.01l3.47,3.48,3.47-3.48h.01c.4-.4,1.04-.4,1.45,0,.4.4.4,1.05,0,1.45l-4.21,4.21c-.2.2-.46.3-.72.3s-.53-.1-.73-.3l-4.2-4.21Z\" />\n <path\n d=\"m66.36,45.57c-.2-1.35-.47-2.69-.94-3.98-.9-2.46-2.37-4.55-4.19-6.41-1.51-1.53-3.2-2.84-5.02-3.98-1.43-.88-2.9-1.67-4.45-2.31-.75-.3-1.63-.13-2.14.47-.72.83-1.61,1.43-2.58,1.92-2.68,1.36-5.52,1.86-8.51,1.57-2.05-.19-4-.77-5.81-1.77-.76-.42-1.49-.9-2.06-1.56-.63-.73-1.43-.96-2.33-.61-.73.28-1.46.57-2.17.91-2.97,1.42-5.61,3.3-7.8,5.77-1.77,1.99-3.1,4.23-3.89,6.77-.69,2.24-.95,4.56-1.1,6.89-.12,1.96-.12,3.92-.04,5.88.04,1.16.87,1.97,2.02,1.97h10.78c-.57,1.58-.89,3.28-.89,5.06,0,8.14,6.62,14.76,14.77,14.76s14.76-6.62,14.76-14.76c0-1.78-.31-3.48-.89-5.06h10.75c1.07,0,1.9-.75,1.97-1.81.07-1.1.12-2.2.13-3.31.03-2.14-.07-4.28-.37-6.41Zm-26.35,27.85c-6.22,0-11.27-5.05-11.27-11.26,0-1.82.43-3.54,1.2-5.06.77-1.53,1.88-2.87,3.24-3.9,1.89-1.45,4.26-2.31,6.83-2.31s4.93.86,6.82,2.31c1.36,1.03,2.47,2.37,3.24,3.9.77,1.52,1.2,3.24,1.2,5.06,0,6.21-5.05,11.26-11.26,11.26Zm22.82-20.43c0,.16-.06.21-.22.21-1.53-.01-3.05,0-4.57,0h-6.31c-2.69-3.53-6.94-5.81-11.72-5.81s-9.04,2.28-11.73,5.81h-11.12c.02-1.02.03-2,.07-2.98.06-1.44.21-2.87.42-4.3.45-3.04,1.72-5.67,3.8-7.93,1.98-2.15,4.36-3.75,7.02-4.94.08-.04.15-.07.25.01,1.89,1.55,4.06,2.54,6.41,3.14,4.48,1.14,8.85.77,13.06-1.14,1.12-.51,2.17-1.13,3.12-1.92.11-.09.2-.09.33-.03,2.15,1.08,4.16,2.37,5.95,3.99,1.58,1.42,2.91,3.03,3.81,4.97.5,1.08.79,2.22.99,3.39.38,2.25.47,4.53.44,6.81,0,.24-.01.48,0,.72Z\" />\n </g>\n <path\n d=\"m45.29,63.79l-4.21,4.2c-.19.19-.45.3-.72.3s-.54-.11-.73-.3l-4.2-4.2c-.4-.4-.4-1.05,0-1.46.4-.4,1.05-.4,1.46,0l3.47,3.48,3.47-3.48c.4-.4,1.05-.4,1.46,0,.4.41.4,1.06,0,1.46Z\" />\n <path\n d=\"m45.29,59.61l-4.21,4.21c-.2.2-.46.3-.72.3s-.53-.1-.73-.3l-4.2-4.21c-.4-.4-.4-1.05,0-1.45.4-.4,1.04-.4,1.45,0h.01l3.47,3.48,3.47-3.48h.01c.4-.4,1.04-.4,1.45,0,.4.4.4,1.05,0,1.45Z\" />\n </g>\n </svg>\n <!-- Instant Telephonic Service -->\n <svg\n *ngIf=\"inputIcon === 'instant-telephonic-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <g>\n <path\n d=\"m62.18,23.77c-.04-.46-.08-.93-.13-1.39-.04-.32-.09-.64-.14-.95-.68-3.53-2.34-6.52-5-8.94-2.04-1.85-4.4-3.08-7.08-3.71-1.2-.28-2.41-.41-3.65-.41-.92,0-1.62.76-1.55,1.66.07.84.74,1.42,1.63,1.45.64.02,1.27.05,1.89.14,2.86.44,5.31,1.72,7.33,3.81,1.5,1.56,2.55,3.4,3.13,5.49.32,1.13.46,2.29.47,3.45,0,.83.61,1.46,1.44,1.53.75.08,1.48-.47,1.62-1.25.05-.28,0-.58,0-.88h.04Z\" />\n <path\n d=\"m54.95,24.18c.03.7-.23,1.24-.84,1.55-.57.29-1.12.23-1.64-.15-.34-.25-.57-.59-.59-1.01-.03-.65-.25-1.23-.55-1.79-.78-1.43-1.81-2.63-3.21-3.49-.62-.38-1.29-.61-2.04-.62-.8-.02-1.46-.76-1.44-1.57.02-.84.7-1.52,1.54-1.52,1.11,0,2.14.3,3.11.82,2.07,1.11,3.59,2.78,4.73,4.82.44.79.77,1.63.9,2.54.02.15.03.29.04.42Z\" />\n </g>\n <g>\n <g>\n <path\n d=\"m43.17,57.56c.39.4.39,1.02,0,1.41l-4.06,4.05c-.18.18-.43.29-.69.29s-.52-.11-.7-.29l-4.05-4.05c-.39-.39-.39-1.01,0-1.41.39-.39,1.01-.39,1.41,0l3.35,3.36,3.35-3.36c.39-.39,1.01-.39,1.41,0Z\" />\n <path\n d=\"m33.66,54.94c-.39-.39-.39-1.01,0-1.4.39-.39,1-.39,1.4,0h0l3.35,3.36,3.35-3.36h0c.39-.39,1-.39,1.4,0,.39.39.39,1.01,0,1.4l-4.06,4.06c-.19.19-.44.29-.69.29s-.51-.1-.7-.29l-4.05-4.06Z\" />\n <path\n d=\"m59.99,39.41c-2.01-1.41-4-2.84-6.01-4.25-.73-.53-1.47-1.06-2.3-1.44-.92-.42-1.86-.62-2.86-.43-.91.16-1.71.59-2.39,1.18-.77.66-1.49,1.39-2.21,2.08-.1.09-.16.11-.26.05-.25-.16-.51-.31-.75-.47-1.03-.7-1.96-1.54-2.88-2.38-1.8-1.63-3.47-3.39-5.03-5.25-.5-.61-.93-1.26-1.39-1.9-.1-.14-.08-.23.05-.36.41-.41.8-.83,1.21-1.24.54-.55,1.03-1.13,1.43-1.79.7-1.16.87-2.38.45-3.67-.25-.77-.65-1.48-1.12-2.14-1.6-2.26-3.2-4.51-4.8-6.77-.67-.95-1.54-1.6-2.63-1.96-1.5-.48-2.96-.32-4.4.26-1.06.43-1.96,1.12-2.78,1.92-1.32,1.28-2.3,2.78-2.87,4.52-.67,1.98-.75,4.01-.48,6.07.24,1.83.77,3.6,1.5,5.3.89,2.06,1.98,4.02,3.23,5.87,2.38,3.55,5.16,6.76,8.29,9.67.67.63,1.34,1.23,2.04,1.82-5.36,2.04-9.17,7.23-9.17,13.31,0,7.85,6.39,14.24,14.25,14.24s14.24-6.39,14.24-14.24c0-1.64-.28-3.21-.78-4.67.55-.04,1.1-.07,1.64-.15,2.93-.44,5.3-1.85,7.13-4.18,1.04-1.34,1.77-2.83,1.8-4.56.04-1.82-.58-3.34-2.11-4.43Zm-21.91,28.85c-6,0-10.87-4.87-10.87-10.86,0-5.38,3.93-9.86,9.07-10.72.59-.11,1.19-.15,1.8-.15,4.17,0,7.78,2.35,9.61,5.81.8,1.51,1.25,3.23,1.25,5.06,0,5.99-4.87,10.86-10.86,10.86Zm20.01-22.08c-1.38,1.94-3.26,3.08-5.62,3.38-.84.11-1.68.11-2.5.02-2.55-3.87-6.93-6.42-11.89-6.42-.41,0-.83.02-1.24.06-.68-.52-1.33-1.07-1.99-1.63-1.54-1.31-3.01-2.7-4.38-4.19-2.64-2.86-5.04-5.89-6.92-9.32-.86-1.57-1.6-3.19-2.08-4.92-.35-1.25-.56-2.53-.56-3.83,0-1.66.35-3.23,1.23-4.65.71-1.14,1.62-2.1,2.82-2.75.78-.42,1.61-.6,2.49-.37.46.13.84.4,1.12.79,1.61,2.27,3.22,4.53,4.82,6.81.27.38.47.81.68,1.23.19.4.15.8-.11,1.16-.27.39-.54.76-.85,1.1-.55.6-1.14,1.16-1.69,1.76-.79.86-.91,1.87-.55,2.94.3.9.88,1.64,1.46,2.37,1.44,1.83,3.03,3.55,4.71,5.17,1.16,1.12,2.34,2.22,3.63,3.2.69.53,1.41,1.01,2.19,1.4.99.48,2.4.44,3.4-.6.59-.62,1.22-1.22,1.85-1.8.26-.24.59-.43.91-.63.3-.19.64-.2.97-.1.58.18,1.08.5,1.57.85,2.2,1.56,4.38,3.13,6.59,4.67.7.49.92,1.16.87,1.95-.05.88-.42,1.64-.92,2.34Z\" />\n </g>\n <path\n d=\"m43.17,58.97l-4.06,4.05c-.18.18-.43.29-.69.29s-.52-.11-.7-.29l-4.05-4.05c-.39-.39-.39-1.01,0-1.41.39-.39,1.01-.39,1.41,0l3.35,3.36,3.35-3.36c.39-.39,1.01-.39,1.41,0,.39.4.39,1.02,0,1.41Z\" />\n <path\n d=\"m43.17,54.94l-4.06,4.06c-.19.19-.44.29-.69.29s-.51-.1-.7-.29l-4.05-4.06c-.39-.39-.39-1.01,0-1.4.39-.39,1-.39,1.4,0h0l3.35,3.36,3.35-3.36h0c.39-.39,1-.39,1.4,0,.39.39.39,1.01,0,1.4Z\" />\n </g>\n </svg>\n <!-- Scheduled Video Service -->\n <svg\n *ngIf=\"inputIcon === 'scheduled-video-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <path\n d=\"m40.2,2.31c-7.34-.09-13.37,5.83-13.43,13.19-.05,7.2,5.69,13.24,13.07,13.38,7.33.14,13.38-5.73,13.49-13.12.12-7.32-5.77-13.38-13.13-13.45Zm-.16,22.55c-5.02.04-9.22-4.12-9.26-9.17-.04-5.15,4.08-9.34,9.23-9.37,5.08-.03,9.29,4.1,9.32,9.15.03,5.21-4.06,9.35-9.29,9.39Z\" />\n <g>\n <path\n d=\"m67.1,46.01c-.2-1.39-.48-2.77-.97-4.1-.92-2.52-2.43-4.67-4.3-6.58-1.55-1.58-3.3-2.92-5.17-4.1-1.46-.91-2.98-1.72-4.58-2.37-.77-.32-1.67-.14-2.19.47-.75.86-1.66,1.48-2.66,1.98-2.76,1.4-5.68,1.91-8.75,1.62-2.12-.2-4.12-.79-5.98-1.82-.78-.44-1.53-.93-2.12-1.61-.65-.75-1.47-.99-2.39-.63-.75.29-1.51.59-2.24.94-3.05,1.47-5.76,3.4-8.02,5.94-1.82,2.04-3.19,4.34-4,6.96-.71,2.31-.98,4.69-1.13,7.08-.12,2.02-.13,4.04-.05,6.06.05,1.18.9,2.02,2.08,2.02h11.53c-.57,1.58-.89,3.28-.89,5.06,0,8.14,6.63,14.76,14.77,14.76s14.76-6.62,14.76-14.76c0-1.78-.31-3.48-.89-5.06h11.41c1.1,0,1.96-.77,2.03-1.86.08-1.14.12-2.27.14-3.4.03-2.21-.07-4.41-.39-6.6Zm-27.06,28.18c-6.21,0-11.27-5.05-11.27-11.26,0-1.82.43-3.54,1.2-5.06.8-1.59,1.97-2.97,3.4-4.01,1.87-1.39,4.17-2.2,6.67-2.2s4.81.82,6.68,2.2c1.42,1.05,2.58,2.42,3.38,4.01.77,1.52,1.2,3.24,1.2,5.06,0,6.21-5.05,11.26-11.26,11.26Zm23.43-20.55c0,.17-.06.22-.23.22-1.56-.01-3.13,0-4.7,0h-6.86c-2.7-3.47-6.91-5.7-11.64-5.7s-8.94,2.23-11.64,5.7h-11.91c.03-1.05.03-2.06.08-3.07.06-1.48.21-2.95.43-4.42.46-3.13,1.77-5.83,3.91-8.15,2.04-2.22,4.48-3.86,7.22-5.09.09-.04.15-.07.25.01,1.95,1.6,4.18,2.62,6.61,3.23,4.6,1.17,9.09.79,13.43-1.17,1.15-.52,2.22-1.17,3.2-1.97.12-.1.2-.1.34-.03,2.22,1.1,4.28,2.44,6.12,4.1,1.63,1.46,3,3.11,3.92,5.11.52,1.11.82,2.29,1.02,3.49.39,2.32.48,4.65.46,7-.01.25-.02.49-.01.74Z\" />\n <path\n d=\"m45.97,63.99c0,.56-.44,1-1,1h-5.99c-.55,0-1-.44-1-1,0-.03,0-.07.01-.1-.01-.03-.01-.07-.01-.11v-7.27c0-.56.45-1,1-1s1,.44,1,1v6.48h4.99c.56,0,1,.45,1,1Z\" />\n </g>\n </svg>\n <!-- Scheduled Telephonic Service -->\n <svg\n *ngIf=\"inputIcon === 'scheduled-telephonic-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <g>\n <path\n d=\"m62.18,23.77c-.04-.46-.08-.93-.13-1.39-.04-.32-.09-.64-.14-.95-.68-3.53-2.34-6.52-5-8.94-2.04-1.85-4.4-3.08-7.08-3.71-1.2-.28-2.41-.41-3.65-.41-.92,0-1.62.76-1.55,1.66.07.84.74,1.42,1.63,1.45.64.02,1.27.05,1.89.14,2.86.44,5.31,1.72,7.33,3.81,1.5,1.56,2.55,3.4,3.13,5.49.32,1.13.46,2.29.47,3.45,0,.83.61,1.46,1.44,1.53.75.08,1.48-.47,1.62-1.25.05-.28,0-.58,0-.88h.04Z\" />\n <path\n d=\"m54.95,24.18c.03.7-.23,1.24-.84,1.55-.57.29-1.12.23-1.64-.15-.34-.25-.57-.59-.59-1.01-.03-.65-.25-1.23-.55-1.79-.78-1.43-1.81-2.63-3.21-3.49-.62-.38-1.29-.61-2.04-.62-.8-.02-1.46-.76-1.44-1.57.02-.84.7-1.52,1.54-1.52,1.11,0,2.14.3,3.11.82,2.07,1.11,3.59,2.78,4.73,4.82.44.79.77,1.63.9,2.54.02.15.03.29.04.42Z\" />\n </g>\n <g>\n <path\n d=\"m59.99,39.41c-2.01-1.41-4-2.84-6.01-4.25-.73-.53-1.47-1.06-2.3-1.44-.92-.42-1.86-.62-2.86-.43-.91.16-1.71.59-2.39,1.18-.77.66-1.49,1.39-2.21,2.08-.1.09-.16.11-.26.05-.25-.16-.51-.31-.75-.47-1.03-.7-1.96-1.54-2.88-2.38-1.8-1.63-3.47-3.39-5.03-5.25-.5-.61-.93-1.26-1.39-1.9-.1-.14-.08-.23.05-.36.41-.41.8-.83,1.21-1.24.54-.55,1.03-1.13,1.43-1.79.7-1.16.87-2.38.45-3.67-.25-.77-.65-1.48-1.12-2.14-1.6-2.26-3.2-4.51-4.8-6.77-.67-.95-1.54-1.6-2.63-1.96-1.5-.48-2.96-.32-4.4.26-1.06.43-1.96,1.12-2.78,1.92-1.32,1.28-2.3,2.78-2.87,4.52-.67,1.98-.75,4.01-.48,6.07.24,1.83.77,3.6,1.5,5.3.89,2.06,1.98,4.02,3.23,5.87,2.38,3.55,5.16,6.76,8.29,9.67.68.63,1.36,1.24,2.05,1.83-5.34,2.05-9.15,7.23-9.15,13.3,0,7.85,6.39,14.24,14.25,14.24s14.24-6.39,14.24-14.24c0-1.64-.28-3.21-.79-4.67.54-.04,1.08-.07,1.61-.15,2.93-.44,5.3-1.85,7.13-4.18,1.04-1.34,1.77-2.83,1.8-4.56.04-1.82-.58-3.34-2.11-4.43Zm-21.88,28.85c-5.99,0-10.87-4.87-10.87-10.86,0-5.37,3.92-9.84,9.04-10.72.59-.11,1.21-.15,1.83-.15,4.17,0,7.79,2.36,9.62,5.82.79,1.51,1.24,3.23,1.24,5.05,0,5.99-4.87,10.86-10.86,10.86Zm19.98-22.08c-1.38,1.94-3.26,3.08-5.62,3.38-.83.11-1.64.11-2.45.02-2.56-3.87-6.93-6.42-11.9-6.42-.43,0-.86.02-1.28.07-.68-.53-1.33-1.08-1.99-1.64-1.54-1.31-3.01-2.7-4.38-4.19-2.64-2.86-5.04-5.89-6.92-9.32-.86-1.57-1.6-3.19-2.08-4.92-.35-1.25-.56-2.53-.56-3.83,0-1.66.35-3.23,1.23-4.65.71-1.14,1.62-2.1,2.82-2.75.78-.42,1.61-.6,2.49-.37.46.13.84.4,1.12.79,1.61,2.27,3.22,4.53,4.82,6.81.27.38.47.81.68,1.23.19.4.15.8-.11,1.16-.27.39-.54.76-.85,1.1-.55.6-1.14,1.16-1.69,1.76-.79.86-.91,1.87-.55,2.94.3.9.88,1.64,1.46,2.37,1.44,1.83,3.03,3.55,4.71,5.17,1.16,1.12,2.34,2.22,3.63,3.2.69.53,1.41,1.01,2.19,1.4.99.48,2.4.44,3.4-.6.59-.62,1.22-1.22,1.85-1.8.26-.24.59-.43.91-.63.3-.19.64-.2.97-.1.58.18,1.08.5,1.57.85,2.2,1.56,4.38,3.13,6.59,4.67.7.49.92,1.16.87,1.95-.05.88-.42,1.64-.92,2.34Z\" />\n <path\n d=\"m43.84,58.42c0,.54-.42.96-.96.96h-5.78c-.53,0-.96-.42-.96-.96,0-.03,0-.07,0-.1,0-.03,0-.07,0-.11v-7.01c0-.54.43-.96.96-.96s.96.42.96.96v6.25h4.81c.54,0,.96.43.96.96Z\" />\n </g>\n </svg>\n <!-- Vital Scan Service -->\n <svg\n *ngIf=\"inputIcon === 'vital-scan-service'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 80 80\"\n style=\"fill: var(--cf-svg-fill-with-stroke-color)\">\n <g>\n <path\n d=\"m69.5,31c-1.38,0-2.5-1.12-2.5-2.5v-13.5s-13.5,0-13.5,0h0c-1.38,0-2.5-1.12-2.5-2.5s1.12-2.5,2.5-2.5h16s0,0,0,0h0c1.38,0,2.5,1.12,2.5,2.5,0,.03,0,.06,0,.09v15.91c0,1.38-1.12,2.5-2.5,2.5h0Z\" />\n <path\n d=\"m69.5,70h-16c-1.38,0-2.5-1.12-2.5-2.5s1.12-2.5,2.5-2.5h13.5s0-13.5,0-13.5c0-1.38,1.12-2.5,2.5-2.5h0c1.38,0,2.5,1.12,2.5,2.5v15.88s0,.08,0,.12c0,1.38-1.12,2.5-2.5,2.5Z\" />\n <path\n d=\"m10.5,49c1.38,0,2.5,1.12,2.5,2.5v13.5s13.5,0,13.5,0h0c1.38,0,2.5,1.12,2.5,2.5s-1.12,2.5-2.5,2.5h-16s0,0,0,0h0c-1.38,0-2.5-1.12-2.5-2.5,0-.03,0-.06,0-.09v-15.91c0-1.38,1.12-2.5,2.5-2.5h0Z\" />\n <path\n d=\"m10.5,10h16c1.38,0,2.5,1.12,2.5,2.5s-1.12,2.5-2.5,2.5h-13.5s0,13.5,0,13.5c0,1.38-1.12,2.5-2.5,2.5h0c-1.38,0-2.5-1.12-2.5-2.5v-15.88s0-.08,0-.12c0-1.38,1.12-2.5,2.5-2.5Z\" />\n </g>\n <path\n d=\"m66.91,41.79c0,.99-.83,1.79-1.85,1.79h0s-7.04,0-7.04,0c-1.08,0-2.17-.03-3.25,0-1.07.04-1.76-.42-2.2-1.38-.38-.83-.82-1.63-1.37-2.72-.87,2.89-1.65,5.48-2.43,8.06-.53,1.75-1.06,3.5-1.57,5.25-.27.92-.83,1.54-1.82,1.52-1.05-.02-1.57-.68-1.79-1.68-1.18-5.51-2.37-11.02-3.55-16.53-.04-.17-.09-.33-.22-.84-.22.66-.35,1.02-.46,1.38-.97,3.53-1.94,7.05-2.89,10.58-.26.97-.74,1.67-1.79,1.7-1.12.03-1.62-.7-1.9-1.71-.61-2.23-1.27-4.45-1.92-6.67-.07-.24-.17-.47-.32-.91-.52,1.03-.87,1.93-1.41,2.7-.35.5-.97,1.14-1.49,1.16-4.15.09-8.31.05-12.52.05-.06,0-.13,0-.19,0-1.02,0-1.85-.8-1.85-1.79s.83-1.79,1.85-1.79h0s1.17,0,1.17,0c3.1,0,6.2-.02,9.31.02.7,0,1.07-.22,1.36-.85.79-1.69,1.66-3.34,2.48-5.02.41-.85.98-1.43,1.99-1.31.94.11,1.38.75,1.62,1.63.51,1.87,1.07,3.73,1.7,5.92.22-.72.37-1.14.49-1.58,1.05-3.81,2.1-7.63,3.12-11.45.27-1.02.77-1.74,1.89-1.7,1.11.04,1.57.79,1.79,1.82,1.16,5.48,2.35,10.95,3.53,16.42.08.36.17.71.32,1.34,1.07-3.54,2.05-6.82,3.04-10.1.11-.36.2-.77.34-1.05.3-.59,1.01-1.14,1.56-1.18.55-.04,1.39.44,1.69.94,1,1.7,1.85,3.5,2.68,5.29.32.69.72.89,1.45.88,2.83-.05,5.67-.02,8.58-.02h0s0,0,0,0c1.02,0,1.85.8,1.85,1.79Z\" />\n </svg>\n <!-- open-back-arrow -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'open-back-arrow'\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M14 3 L6 10 L14 17\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- open-forward-arrow -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'open-forward-arrow'\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M6 3 L14 10 L6 17\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- open-up-arrow -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'open-up-arrow'\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M3 14 L10 6 L17 14\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- open-down-arrow -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'open-down-arrow'\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M3 6 L10 14 L17 6\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <!-- Single Document -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'single-document'\" viewBox=\"0 0 18 22\" fill=\"none\">\n <path\n d=\"M11 1H2.5C1.67157 1 1 1.67157 1 2.5V19.5C1 20.3284 1.67157 21 2.5 21H15.5C16.3284 21 17 20.3284 17 19.5V7M11 1L17 7M11 1V5.5C11 6.32843 11.6716 7 12.5 7H17M4 14H12M4 17H9\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- Lightning -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'lightning'\" viewBox=\"0 0 14 22\" fill=\"none\">\n <path\n d=\"M1.23099 11.6824L8.99999 1V10H12.6072C12.7707 10 12.8651 10.1854 12.769 10.3176L4.99999 21V12H1.39274C1.22928 12 1.13485 11.8146 1.23099 11.6824Z\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- Microsoft 365 -->\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"icon === 'microsoft-365'\" fill=\"none\" viewBox=\"4 2 40 44\" style=\"stroke: none\">\n <path\n d=\"M20.0842 3.02588L19.8595 3.16179C19.5021 3.37799 19.1654 3.61972 18.8512 3.88385L19.4993 3.42798H25L26 11L21 16L16 19.4754V23.4829C16 26.2819 17.4629 28.8774 19.8574 30.3268L25.1211 33.5129L14 40.0002H11.8551L7.85737 37.5804C5.46286 36.131 4 33.5355 4 30.7365V17.2606C4 14.4607 5.46379 11.8645 7.85952 10.4154L19.8595 3.15687C19.9339 3.11189 20.0088 3.06823 20.0842 3.02588Z\"\n fill=\"url(#paint0_radial_2994_8373)\" />\n <path\n d=\"M20.0842 3.02588L19.8595 3.16179C19.5021 3.37799 19.1654 3.61972 18.8512 3.88385L19.4993 3.42798H25L26 11L21 16L16 19.4754V23.4829C16 26.2819 17.4629 28.8774 19.8574 30.3268L25.1211 33.5129L14 40.0002H11.8551L7.85737 37.5804C5.46286 36.131 4 33.5355 4 30.7365V17.2606C4 14.4607 5.46379 11.8645 7.85952 10.4154L19.8595 3.15687C19.9339 3.11189 20.0088 3.06823 20.0842 3.02588Z\"\n fill=\"url(#paint1_linear_2994_8373)\" />\n <path\n d=\"M32 19V23.4803C32 26.2793 30.5371 28.8748 28.1426 30.3242L16.1426 37.5878C13.6878 39.0737 10.6335 39.1273 8.1355 37.7487L19.8573 44.844C22.4039 46.3855 25.5959 46.3855 28.1426 44.844L40.1426 37.5803C42.5371 36.1309 43.9999 33.5354 43.9999 30.7364V27.5L42.9999 26L32 19Z\"\n fill=\"url(#paint2_radial_2994_8373)\" />\n <path\n d=\"M32 19V23.4803C32 26.2793 30.5371 28.8748 28.1426 30.3242L16.1426 37.5878C13.6878 39.0737 10.6335 39.1273 8.1355 37.7487L19.8573 44.844C22.4039 46.3855 25.5959 46.3855 28.1426 44.844L40.1426 37.5803C42.5371 36.1309 43.9999 33.5354 43.9999 30.7364V27.5L42.9999 26L32 19Z\"\n fill=\"url(#paint3_linear_2994_8373)\" />\n <path\n d=\"M40.1405 10.4153L28.1405 3.15678C25.6738 1.66471 22.6021 1.61849 20.0979 3.01811L19.8595 3.16231C17.4638 4.61143 16 7.20757 16 10.0075V19.4914L19.8595 17.1568C22.4051 15.6171 25.5949 15.6171 28.1405 17.1568L40.1405 24.4153C42.4613 25.8192 43.9076 28.2994 43.9957 30.9985C43.9986 30.9113 44 30.824 44 30.7364V17.2605C44 14.4606 42.5362 11.8644 40.1405 10.4153Z\"\n fill=\"url(#paint4_radial_2994_8373)\" />\n <path\n d=\"M40.1405 10.4153L28.1405 3.15678C25.6738 1.66471 22.6021 1.61849 20.0979 3.01811L19.8595 3.16231C17.4638 4.61143 16 7.20757 16 10.0075V19.4914L19.8595 17.1568C22.4051 15.6171 25.5949 15.6171 28.1405 17.1568L40.1405 24.4153C42.4613 25.8192 43.9076 28.2994 43.9957 30.9985C43.9986 30.9113 44 30.824 44 30.7364V17.2605C44 14.4606 42.5362 11.8644 40.1405 10.4153Z\"\n fill=\"url(#paint5_linear_2994_8373)\" />\n <path d=\"M4.00428 30.9984C4.00428 30.9984 4.00428 30.9984 4.00428 30.9984Z\" fill=\"url(#paint6_radial_2994_8373)\" />\n <path d=\"M4.00428 30.9984C4.00428 30.9984 4.00428 30.9984 4.00428 30.9984Z\" fill=\"url(#paint7_linear_2994_8373)\" />\n <defs>\n <radialGradient\n id=\"paint0_radial_2994_8373\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(17.4186 10.6383) rotate(110.528) scale(33.3657 58.1966)\">\n <stop offset=\"0.06441\" stop-color=\"#AE7FE2\" />\n <stop offset=\"1\" stop-color=\"#0078D4\" />\n </radialGradient>\n <linearGradient id=\"paint1_linear_2994_8373\" x1=\"17.5119\" y1=\"37.8685\" x2=\"12.7513\" y2=\"29.6347\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#114A8B\" />\n <stop offset=\"1\" stop-color=\"#0078D4\" stop-opacity=\"0\" />\n </linearGradient>\n <radialGradient\n id=\"paint2_radial_2994_8373\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(10.4299 36.3511) rotate(-8.36717) scale(31.0503 20.5108)\">\n <stop offset=\"0.133928\" stop-color=\"#D59DFF\" />\n <stop offset=\"1\" stop-color=\"#5E438F\" />\n </radialGradient>\n <linearGradient id=\"paint3_linear_2994_8373\" x1=\"40.3566\" y1=\"25.3768\" x2=\"35.2552\" y2=\"32.6916\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#493474\" />\n <stop offset=\"1\" stop-color=\"#8C66BA\" stop-opacity=\"0\" />\n </linearGradient>\n <radialGradient\n id=\"paint4_radial_2994_8373\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(41.0552 26.504) rotate(-165.772) scale(24.9228 41.9552)\">\n <stop offset=\"0.0584996\" stop-color=\"#50E6FF\" />\n <stop offset=\"1\" stop-color=\"#436DCD\" />\n </radialGradient>\n <linearGradient id=\"paint5_linear_2994_8373\" x1=\"16.9758\" y1=\"3.05655\" x2=\"24.4868\" y2=\"3.05655\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#2D3F80\" />\n <stop offset=\"1\" stop-color=\"#436DCD\" stop-opacity=\"0\" />\n </linearGradient>\n <radialGradient\n id=\"paint6_radial_2994_8373\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(41.0552 26.504) rotate(-165.772) scale(24.9228 41.9552)\">\n <stop offset=\"0.0584996\" stop-color=\"#50E6FF\" />\n <stop offset=\"1\" stop-color=\"#436DCD\" />\n </radialGradient>\n <linearGradient id=\"paint7_linear_2994_8373\" x1=\"16.9758\" y1=\"3.05655\" x2=\"24.4868\" y2=\"3.05655\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#2D3F80\" />\n <stop offset=\"1\" stop-color=\"#436DCD\" stop-opacity=\"0\" />\n </linearGradient>\n </defs>\n </svg>\n <!-- user-dependent -->\n <svg *ngIf=\"icon === 'user-dependent'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 23 23\" fill=\"none\">\n <path\n d=\"M15.65 20.2C15.65 17.87 13.33 15.97 10.46 15.97C7.59 15.97 5.27 17.86 5.27 20.2M14.2 3.73999C13.06 3.25999 11.81 3 10.5 3C5.25 3 1 7.25 1 12.5C1 17.75 5.25 22 10.5 22C15.75 22 20 17.75 20 12.5C20 11.19 19.73 9.92998 19.25 8.78998M14.2 3.73999C14.07 4.13999 14 4.56 14 5C14 5.75 14.21 6.46 14.58 7.06C14.78 7.4 15.04 7.70997 15.34 7.96997C16.04 8.60997 16.97 9 18 9C18.44 9 18.86 8.92998 19.25 8.78998M14.2 3.73999C14.39 3.15999 14.71 2.64002 15.13 2.21002C15.86 1.46002 16.88 1 18 1C19.18 1 20.25 1.51002 20.97 2.33002C21.61 3.04002 22 3.98 22 5C22 5.32 21.96 5.62999 21.88 5.92999C21.79 6.32999 21.63 6.72 21.42 7.06C20.94 7.87 20.17 8.49998 19.25 8.78998M19.49 4.97998H16.51M18 3.52002V6.51001M13.27 10.92C13.27 12.4719 12.0119 13.73 10.46 13.73C8.90808 13.73 7.65 12.4719 7.65 10.92C7.65 9.36806 8.90808 8.10999 10.46 8.10999C12.0119 8.10999 13.27 9.36806 13.27 10.92Z\"\n stroke-width=\"1.5\"\n stroke-miterlimit=\"10\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n <!-- plus -->\n <svg *ngIf=\"icon === 'plus'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 15 14\" fill=\"none\">\n <path d=\"M1.52881 6.99686H13.5069M7.51786 12.9859V1.00781\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n</div>\n","/**\n * CareFirst Library - Button\n *\n * @file button.component\n * @description Contains all the logic for generating a CareFirst Button\n * @author Jacques Coetzee\n * @since 2023 - 11 - 07\n * @usage <cf-btn type=\"'primary' | 'secondary' | 'tertiary'\" fontSize=\"'small' | 'large'\" %customColor=\"var() | hex\"% %disabled% %alert% %action% %snug%>TEXT</cf-btn>\n */\n\nimport { Component, Input, type SimpleChanges, type OnChanges, HostBinding } from '@angular/core';\nimport { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';\nimport { iconsC, type IconsT } from '../../interfaces/icon.interface';\n\n@Component({\n selector: 'cf-btn',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnChanges {\n @Input() type: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Input() disabled?: boolean | string | undefined;\n @Input() alert?: boolean | string | undefined;\n @Input() action?: boolean | string | undefined;\n @Input() snug?: boolean | string | undefined;\n @Input() accent?: boolean | string | undefined;\n @Input() fontSize?: 'small' | 'large';\n @Input() iconStart?: IconsT | undefined;\n @Input() iconEnd?: IconsT | undefined;\n @Input() loading?: boolean | string | undefined;\n @Input() customColor?: string | undefined;\n\n @HostBinding('style.pointer-events') get parentEvents(): string {\n if (this.disabled) {\n return 'none';\n }\n return 'auto';\n }\n\n //--- Local variables\n inputType: typeof this.type = 'primary';\n inputFontSize: typeof this.fontSize | undefined = undefined;\n inputDisabled = false;\n inputAlert = false;\n inputAction = false;\n inputSnug = false;\n inputAccent = false;\n inputIconStart: typeof this.iconStart | undefined = undefined;\n inputIconEnd: typeof this.iconEnd | undefined = undefined;\n inputLoading = false;\n inputCustomColor = '';\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Type\n this.inputType =\n validateStringValue<'primary' | 'secondary' | 'tertiary'>(changes, 'type', ['primary', 'secondary', 'tertiary'], this.inputType) || 'primary';\n //--- Font Size\n this.inputFontSize = validateStringValue<'small' | 'large'>(changes, 'fontSize', ['small', 'large'], this.inputFontSize);\n //--- Disabled\n this.inputDisabled = checkTruthAttribute(changes, 'disabled', this.inputDisabled);\n //--- Alert\n this.inputAlert = checkTruthAttribute(changes, 'alert', this.inputAlert);\n //--- Action\n this.inputAction = checkTruthAttribute(changes, 'action', this.inputAction);\n //--- Snug\n this.inputSnug = checkTruthAttribute(changes, 'snug', this.inputSnug);\n //--- Accent\n this.inputAccent = checkTruthAttribute(changes, 'accent', this.inputAccent);\n //--- Icon Start\n this.inputIconStart = validateStringValue<IconsT>(changes, 'iconStart', iconsC.slice(), this.inputIconStart);\n //--- Icon Start\n this.inputIconEnd = validateStringValue<IconsT>(changes, 'iconEnd', iconsC.slice(), this.inputIconEnd);\n //--- Loading\n this.inputLoading = checkTruthAttribute(changes, 'loading', this.inputLoading);\n //--- Custom color\n if (changes['customColor']?.currentValue) this.inputCustomColor = this.checkCustomColor(changes['customColor'].currentValue);\n }\n\n /**----------------------------------------------------------------\n * @name checkCustomColor\n * @description Check if the custom color is valid\n * @param {string} color\n * @returns {string}\n */\n checkCustomColor(color: string): string {\n //--- Check for a css variable\n if (color.startsWith('var')) return color;\n //--- Check hex\n if (color.startsWith('#') && (color.length === 4 || color.length === 7) && color.split('').every((char) => char.match(/[#0-9a-fA-F]+/)))\n return color;\n return '';\n }\n}\n","<ion-button\n [style]=\"'--custom-color: ' + inputCustomColor\"\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug,\n accent: inputAccent\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <p *cfButtonLoader=\"inputLoading\">\n <ng-content></ng-content>\n </p>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n","/**\n * CareFirst Library - Spacer\n *\n * @file spacer.component\n * @description Contains all the logic for generating a CareFirst Div Spacer\n * @author Jacques Coetzee\n * @since 2023 - 11 - 07\n * @usage <cf-spacer %default=\"\"% %mobile=\"\"% %desktop=\"\"%>CONTENT</cf-spacer>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { validateNumberValue } from '../../utils/attribute.util';\nimport type { SpacerNumberT, SpacerStringT } from '../../interfaces/spacer.interface';\n\n@Component({\n selector: 'cf-spacer',\n templateUrl: './spacer.component.html',\n styleUrls: ['./spacer.component.scss'],\n})\nexport class SpacerComponent implements OnChanges {\n @Input() default?: SpacerStringT | SpacerNumberT | undefined;\n @Input() mobile?: SpacerStringT | SpacerNumberT | undefined;\n @Input() desktop?: SpacerStringT | SpacerNumberT | undefined;\n\n //--- Local variables\n inputDefault: number | undefined = undefined;\n inputMobile: number | undefined = undefined;\n inputDesktop: number | undefined = undefined;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Default\n this.inputDefault = validateNumberValue(changes, 'default', this.inputDefault);\n //--- Mobile\n this.inputMobile = validateNumberValue(changes, 'mobile', this.inputMobile);\n //--- Desktop\n this.inputDesktop = validateNumberValue(changes, 'desktop', this.inputDesktop);\n }\n}\n","<!-- Mobile Only OR Default -->\n<div *ngIf=\"inputMobile || inputDefault\" class=\"mobile-only\" [ngStyle]=\"{ height: (inputMobile || inputDefault || 0) + 'px' }\"> </div>\n<!-- Desktop Only OR Default-->\n<div *ngIf=\"inputDesktop || inputDefault\" class=\"desktop-only\" [ngStyle]=\"{ height: (inputDesktop || inputDefault || 0) + 'px' }\"> </div>\n","/**\n * CareFirst Library - Notification\n *\n * @file notification.component\n * @description Contains all the logic for generating a CareFirst Notification\n * @author Arno Jansen van Vuuren\n * @since 2023 - 11 - 27\n * @usage <cf-notification [data]=\"{heading, status, %message%, %canClose%, %button%}\" (buttonClick)=\"\"></cf-notification>\n */\n\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\n//--- Interfaces\nimport type { NotificationPayloadI } from '../../interfaces/notification.interface';\n\n@Component({\n selector: 'cf-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n})\nexport class NotificationComponent {\n @Input() data?: NotificationPayloadI | undefined;\n @Output() buttonClick = new EventEmitter<Required<NotificationPayloadI>['button']['buttonClickIdentifier']>();\n}\n","<div *ngIf=\"data\">\n <cf-spacer mobile=\"16\" desktop=\"32\"></cf-spacer>\n <ion-grid>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"12\" size-md=\"6\">\n <div [ngClass]=\"data.status\" id=\"notification-container\">\n <ion-grid>\n <ion-row>\n <ion-col class=\"ion-align-self-center ion-text-start\">\n <p class=\"body-medium bold\">{{ data.heading }}</p>\n </ion-col>\n <ion-col size=\"auto\">\n <cf-icon icon=\"close\" *ngIf=\"data.canClose\" (click)=\"data = undefined\" [height]=\"10\" [iconColor]=\"data.status\"></cf-icon>\n </ion-col>\n <ion-col *ngIf=\"data.message\" size=\"12\">\n <cf-spacer default=\"8\"></cf-spacer>\n <p class=\"body-small\">{{ data.message }}</p>\n </ion-col>\n <ion-col *ngIf=\"data.button?.buttonHeading\">\n <cf-spacer default=\"8\"></cf-spacer>\n <p class=\"body-medium bold\">{{ data.button?.buttonHeading }}</p>\n </ion-col>\n <ion-col size=\"12\">\n <ng-content></ng-content>\n </ion-col>\n <ion-col size=\"12\" *ngIf=\"data.button\">\n <cf-spacer default=\"8\"></cf-spacer>\n <cf-btn type=\"primary\" fontSize=\"large\" action snug (click)=\"buttonClick.emit(data.button.buttonClickIdentifier)\">{{\n data.button.buttonText\n }}</cf-btn>\n </ion-col>\n </ion-row>\n </ion-grid>\n </div>\n </ion-col>\n </ion-row>\n </ion-grid>\n <cf-spacer mobile=\"16\" desktop=\"32\"></cf-spacer>\n</div>\n","/**\n * CareFirst Library Alert\n *\n * @file alert.component\n * @description Contains all the logic for generating a CareFirst Alert\n * @author Arno Jansen van Vuuren\n * @since 2023 - 11 - 30\n * @usage <cf-alert data=\"{heading, message, buttonTrue, buttonFalse}\" (alertEvent)></cf-alert>\n */\n\nimport { Component, Input, Output, type OnChanges, type SimpleChanges, EventEmitter } from '@angular/core';\nimport { AlertController } from '@ionic/angular';\nimport type { AlertDataI, AlertEventI } from '../../interfaces/alert.interface';\n\n@Component({\n selector: 'cf-alert',\n templateUrl: './alert.component.html',\n styleUrl: './alert.component.scss',\n})\nexport class AlertComponent implements OnChanges {\n @Input() data: AlertDataI | undefined = undefined;\n @Output() alertEvent = new EventEmitter<AlertEventI>();\n\n /**----------------------------------------------------------------\n * @name constructor\n */\n constructor(private readonly alertController: AlertController) {}\n\n /**----------------------------------------------------------------\n * @name ngOnchange\n * @description Update various values on component input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n const val = changes['data']?.currentValue as typeof this.data;\n if (val) this.showAlert(val);\n }\n\n /**----------------------------------------------------------------\n * @name showAlert\n * @description Show\n * @param {AlertDataI} data\n * @returns {Promise<void>}\n */\n async showAlert(data: AlertDataI): Promise<void> {\n const alert = await this.alertController.create({\n header: data.heading,\n message: data.message,\n cssClass: 'care-first-alert',\n mode: 'md',\n backdropDismiss: false,\n buttons: [\n {\n text: data.buttonFalse || 'Cancel',\n handler: () => {\n this.alertEvent.emit({ identifier: data.alertIdentifier, status: false });\n alert.dismiss();\n },\n cssClass: 'alert-button-cancel',\n },\n {\n text: data.buttonTrue || 'OK',\n handler: () => {\n this.alertEvent.emit({ identifier: data.alertIdentifier, status: true });\n alert.dismiss();\n },\n cssClass: 'alert-button-confirm',\n },\n ],\n });\n alert.present();\n }\n}\n","","/**\n * CareFirst Library Logo\n *\n * @file logo.component\n * @description Contains all the logic for generating a CareFirst Logo\n * @author Arno Jansen van Vuuren\n * @since 2023 - 11 - 30\n * @usage <cf-logo type=\"vertical | horizontal\" %height%></cf-logo>\n */\n\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'cf-logo',\n templateUrl: './logo.component.html',\n styleUrl: './logo.component.scss',\n})\nexport class LogoComponent {\n @Input() type!: 'horizontal' | 'vertical';\n @Input() height: number = 50;\n}\n","<div class=\"img-container\" [style]=\"height ? 'height: ' + height + 'px' : ''\">\n <img\n *ngIf=\"type === 'horizontal'\"\n src=\"data:image/png;base64,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\"\n alt=\"Care Fist Logo\" />\n <img\n *ngIf=\"type === 'vertical'\"\n src=\"data:image/png;base64,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\"\n alt=\"Care Fist Logo\" />\n</div>\n","/**\n * CareFirst Library Calendar\n *\n * @file calendar.component\n * @description Contains all the logic for generating a CareFirst Calendar\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 01\n * @usage <cf-calendar %displayTime% %color%=\"success | accent\" %min% %max%></cf-calendar>\n */\n\nimport { Component, EventEmitter, Input, Output, type OnChanges, type SimpleChanges } from '@angular/core';\nimport dayjs from 'dayjs';\n//--- Utils\nimport { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';\n\n@Component({\n selector: 'cf-calendar',\n templateUrl: './calendar.component.html',\n styleUrl: './calendar.component.scss',\n})\nexport class CalendarComponent implements OnChanges {\n @Input() displayTime?: boolean | string | undefined;\n @Input() color?: 'success' | 'accent';\n @Input() min?: string | undefined = undefined;\n @Input() max?: string | undefined = undefined;\n @Output() value = new EventEmitter<string>();\n\n //--- Local variables\n inputTime = false;\n inputColor: typeof this.color = 'accent';\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on component input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Display Time\n this.inputTime = checkTruthAttribute(changes, 'displayTime', this.inputTime);\n //--- Color\n this.inputColor = validateStringValue<'success' | 'accent'>(changes, 'color', ['success', 'accent'], this.inputColor) || 'accent';\n }\n\n /**----------------------------------------------------------------\n * @name setValue\n * @description Emit the selected date value\n * @param {string | string[] | null | undefined} value\n * @returns {void}\n */\n setValue(value: string | string[] | null | undefined): void {\n if (typeof value === 'string') this.value.emit(dayjs(value).format('YYYY-MM-DD' + (this.inputTime ? ' HH:mm' : '')));\n }\n}\n","<ion-datetime\n [class]=\"inputColor\"\n mode=\"ios\"\n firstDayOfWeek=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [presentation]=\"inputTime ? 'date-time' : 'date'\"\n (ionChange)=\"setValue($event.detail.value)\">\n</ion-datetime>\n","/**\n * CareFirst Library Form Validation Feedback\n *\n * @file form-validation.component\n * @description Contains all the logic for generating CareFirst Form Validation Feedback\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 05\n * @usage <cf-form-validation [control]=\"formName.get('controlName')\"></cf-form-validation>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\n//--- Interfaces\nimport type { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'cf-form-validation',\n templateUrl: './form-validation.component.html',\n styleUrl: './form-validation.component.scss',\n})\nexport class FormValidationComponent implements OnChanges {\n //--- Receive form control\n @Input() control!: FormControl | null;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Detect changes to input values\n * @param {SimpleChanges} changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['control'] && changes['control'].currentValue) {\n this.control = changes['control'].currentValue;\n }\n }\n}\n","<div *ngIf=\"control?.dirty && control?.errors\" class=\"form-valid-feedback\">\n <div *ngFor=\"let error of this.control?.errors | keyvalue\">\n <p class=\"body-medium\" *ngIf=\"error.key === 'email'\">*Invalid email format</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'minlength'\">*Length required: {{ error.value.requiredLength - error.value.actualLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'maxlength'\">*Max Length: {{ error.value.requiredLength }}</p>\n <p class=\"body-medium\" *ngIf=\"error.key === 'errorMessage'\">*{{ error.value }}</p>\n </div>\n</div>\n","/**\n * Carefirst Library Form Input\n *\n * @file form-input.component\n * @description Contains all the logic for generating a CareFirst Form Input Field\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 14\n * @usage <cf-form-input label=\"Label Name\" %labelPlacement% %inputMode% %noClearButton% %textCenter% %min% %max% %autoCapitalize% %type% %[(value)]=\"twoWayComs\"% %(valueChange)=\"currentValueEvent\"% %[control]%=\"formName.controls.controlName\"></cf-form-input>\n * disable input by disabling the form control\n */\n\nimport { Component, Input, Output, type OnChanges, type SimpleChanges, EventEmitter } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n//--- Utils\nimport { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';\n\n/**==============================================\n * @interface inputsC\n * @description Define available input values\n */\nconst inputsC = {\n labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],\n inputMode: ['text', 'email', 'numeric', 'tel', 'decimal', 'url', 'search'],\n autoCapitalize: ['off', 'none', 'on', 'sentences', 'words', 'characters'],\n type: ['date', 'datetime-local', 'email', 'month', 'number', 'password', 'search', 'tel', 'text', 'time', 'url', 'week'],\n} as const;\n\n@Component({\n selector: 'cf-form-input',\n templateUrl: './form-input.component.html',\n styleUrl: './form-input.component.scss',\n})\nexport class FormInputComponent implements OnChanges {\n @Input() label!: string;\n @Input() min: number | string = 'none';\n @Input() max: number | string = 'none';\n @Input() labelPlacement?: (typeof inputsC.labelPlacement)[number];\n @Input() placeholder?: string | undefined;\n @Input() inputmode?: (typeof inputsC.inputMode)[number];\n @Input() autoCapitalize?: (typeof inputsC.autoCapitalize)[number];\n @Input() type?: (typeof inputsC.type)[number];\n @Input() noClearButton?: boolean | string | undefined;\n @Input() control?: FormControl | null;\n @Input() textCenter?: boolean | string | undefined;\n @Input() maxLength?: number | string;\n @Input() greyBackground?: boolean | string | undefined;\n\n //--- ngModel\n @Input() value: string | undefined;\n @Output() valueChange = new EventEmitter<typeof this.value>();\n\n //--- Local variables\n inputLabelPlacement: typeof this.labelPlacement;\n localInputMode: typeof this.inputmode;\n inputClear = false;\n inputTextCenter = false;\n inputType: typeof this.type;\n inputAutoCapitalize: typeof this.autoCapitalize;\n inputGreyBackground = false;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Detect changes to input values\n * @param {SimpleChanges} changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Label Placement\n this.inputLabelPlacement =\n validateStringValue<(typeof inputsC.labelPlacement)[number]>(\n changes,\n 'labelPlacement',\n inputsC.labelPlacement.slice(),\n this.inputLabelPlacement\n ) || 'floating';\n //--- Input Type (keyboard)\n this.localInputMode =\n validateStringValue<(typeof inputsC.inputMode)[number]>(changes, 'inputmode', inputsC.inputMode.slice(), this.localInputMode) || 'text';\n //--- Clear Button\n this.inputClear = checkTruthAttribute(changes, 'noClearButton', this.inputClear);\n //--- Text Center\n this.inputTextCenter = checkTruthAttribute(changes, 'textCenter', this.inputTextCenter);\n //--- Type\n this.inputType = validateStringValue<(typeof inputsC.type)[number]>(changes, 'type', inputsC.type.slice(), this.inputType) || 'text';\n //--- Auto Capitalize\n this.inputAutoCapitalize =\n validateStringValue<(typeof inputsC.autoCapitalize)[number]>(\n changes,\n 'autoCapitalize',\n inputsC.autoCapitalize.slice(),\n this.inputAutoCapitalize\n ) || 'none';\n //--- Grey Background\n this.inputGreyBackground = checkTruthAttribute(changes, 'greyBackground', this.inputGreyBackground);\n }\n}\n","<!-- ngModel -->\n<ion-input\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"type\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-input>\n<!-- Form Control -->\n<ion-input\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"type\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-input>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n","/**\n * Carefirst Library Form Input Select\n *\n * @file form-input-select.component\n * @description Contains all the logic for generating a CareFirst Select\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 14\n * @usage <cf-form-input-select label=\"Label Name\" [options]=\"[{ displayName: string; value: string | number | boolean | null | undefined }]\" %labelPlacement% %(valueChange)=\"currentValue\"% %[(value)]=\"twoWayComs\"% %[control]%=\"formName.controls.controlName\"></cf-form-input-select>\n * disable input by disabling the form control\n */\n\nimport { Component, EventEmitter, Input, Output, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n//--- Utils\nimport { validateStringValue } from '../../utils/attribute.util';\n//--- Interfaces\nimport type { FormInputSelectOptionsI } from '../../interfaces/input.interface';\n\n/**==============================================\n * @interface inputSelectC\n * @description Define available input select values\n */\nconst inputSelectC = {\n labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],\n} as const;\n\n@Component({\n selector: 'cf-form-input-select',\n templateUrl: './form-input-select.component.html',\n styleUrl: './form-input-select.component.scss',\n})\nexport class FormInputSelectComponent<T> implements OnChanges {\n @Input() label!: string;\n @Input() options!: FormInputSelectOptionsI<T>[];\n @Input() labelPlacement?: (typeof inputSelectC.labelPlacement)[number];\n @Input() placeholder?: string | undefined;\n @Input() control?: FormControl | null;\n\n //--- ngModel\n @Input() value: FormInputSelectOptionsI<T>['value'] | undefined;\n @Output() valueChange = new EventEmitter<typeof this.value>();\n\n //--- Local variables\n inputLabelPlacement: typeof this.labelPlacement;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Detect changes to input values\n * @param {SimpleChanges} changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Label Placement\n this.inputLabelPlacement =\n validateStringValue<(typeof inputSelectC.labelPlacement)[number]>(\n changes,\n 'labelPlacement',\n inputSelectC.labelPlacement.slice(),\n this.inputLabelPlacement\n ) || 'floating';\n }\n}\n","<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n","/**\n * Carefirst Library Form Input Text Area\n *\n * @file form-input-text-area.component\n * @description Contains all the logic for generating a CareFirst Form Input Text Area\n * @author Arno Jansen van Vuuren\n * @since 2023 - 12 - 18\n * @usage <cf-form-input-text-area label=\"Label Name\" %labelPlacement% %textCenter% %autoCapitalize% %(valueChange)=\"currentValue\"% %[(value)]=\"twoWayComs\"% %[control]%=\"formName.controls.controlName\"></cf-form-input-text-area>\n * disable input by disabling the form control\n */\n\nimport { Component, EventEmitter, Input, Output, type OnChanges, type SimpleChanges } from '@angular/core';\nimport type { FormControl } from '@angular/forms';\n//--- Utils\nimport { validateStringValue, checkTruthAttribute } from '../../utils/attribute.util';\n\n/**==============================================\n * @interface inputTextAreaC\n * @description Define available input values\n */\nconst inputTextAreaC = {\n labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],\n autoCapitalize: ['off', 'none', 'on', 'sentences', 'words', 'characters'],\n} as const;\n\n@Component({\n selector: 'cf-form-input-text-area',\n templateUrl: './form-input-text-area.component.html',\n styleUrl: './form-input-text-area.component.scss',\n})\nexport class FormInputTextAreaComponent implements OnChanges {\n @Input() label!: string;\n @Input() labelPlacement?: (typeof inputTextAreaC.labelPlacement)[number];\n @Input() placeholder?: string | undefined;\n @Input() autoCapitalize?: (typeof inputTextAreaC.autoCapitalize)[number];\n @Input() control?: FormControl | null;\n @Input() textCenter?: boolean | string | undefined;\n @Input() minHeight?: string | 'none' = 'none';\n @Input() maxHeight?: string | 'none' = 'none';\n\n //--- ngModel\n @Input() value: string | undefined;\n @Output() valueChange = new EventEmitter<typeof this.value>();\n\n //--- Local variables\n inputLabelPlacement: typeof this.labelPlacement;\n inputClear = true;\n inputTextCenter = false;\n inputAutoCapitalize: typeof this.autoCapitalize;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Detect changes to input values\n * @param {SimpleChanges} changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Label Placement\n this.inputLabelPlacement =\n validateStringValue<(typeof inputTextAreaC.labelPlacement)[number]>(\n changes,\n 'labelPlacement',\n inputTextAreaC.labelPlacement.slice(),\n this.inputLabelPlacement\n ) || 'floating';\n //--- Text Center\n this.inputTextCenter = checkTruthAttribute(changes, 'textCenter', this.inputTextCenter);\n //--- Auto Capitalize\n this.inputAutoCapitalize =\n validateStringValue<(typeof inputTextAreaC.autoCapitalize)[number]>(\n changes,\n 'autoCapitalize',\n inputTextAreaC.autoCapitalize.slice(),\n this.inputAutoCapitalize\n ) || 'none';\n }\n}\n","<!-- ngModel -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"!control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-textarea>\n<!-- Form Control -->\n<ion-textarea\n [style]=\"'min-height: ' + minHeight + '; max-height: ' + maxHeight\"\n *ngIf=\"control\"\n [placeholder]=\"placeholder\"\n [ngClass]=\"{ 'text-center': inputTextCenter }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n fill=\"outline\"\n [autocapitalize]=\"autoCapitalize\"\n [autoGrow]=\"true\"\n mode=\"md\"\n [formControl]=\"control\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-textarea>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n","/**\n * CareFirst Chat Bubble\n *\n * @file chat-bubble.component\n * @description Contains all the logic for generating a CareFirst Chat Bubble\n * @author Jacques Coetzee\n * @since 2024 - 02 - 22\n * @usage <cf-chat-bubble type=\"outgoing | incoming\" date=\"string\" message=\"string\"></cf-chat-bubble>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\n//--- Utils\nimport { validateStringValue } from '../../utils/attribute.util';\n\n@Component({\n selector: 'cf-chat-bubble',\n templateUrl: './chat-bubble.component.html',\n styleUrl: './chat-bubble.component.scss',\n})\nexport class ChatBubbleComponent implements OnChanges {\n @Input() type: 'outgoing' | 'incoming' = 'outgoing';\n @Input() date: string = '';\n @Input() message: string = '';\n\n //--- Local variables\n inputType: typeof this.type = 'incoming';\n inputDate: typeof this.date = '';\n inputMessage: typeof this.message = '';\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Type\n this.inputType = validateStringValue<typeof this.type>(changes, 'type', ['incoming', 'outgoing'], this.inputType) || 'outgoing';\n //--- Date\n this.inputDate = changes['date']?.currentValue || '';\n //--- Message\n this.inputMessage = changes['message']?.currentValue || '';\n }\n}\n","<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\">{{ inputDate }}</p>\n <cf-spacer default=\"4\"></cf-spacer>\n <div id=\"bubble\">\n <p class=\"body-extra-small\">{{ inputMessage }}</p>\n </div>\n </div>\n</div>\n","/**\n * CareFirst Chat Badge\n *\n * @file badge.component\n * @description Contains all the logic for generating a CareFirst Chat Badge\n * @author Jacques Coetzee\n * @since 2024 - 02 - 22\n * @usage <cf-badge type=\"BadgeTypeT\" %icon%=\"IconsT\"></cf-badge>\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\n//--- Utils\nimport { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';\n//--- Interfaces\nimport { iconsC, type IconsT } from '../../interfaces/icon.interface';\n\n/**==============================================\n * @interface BadgeTypeT\n * @description Types of badges available\n */\nconst badgeTypeC = [\n 'primary',\n 'white',\n 'success',\n 'alert',\n 'accent',\n 'warning',\n 'disabled',\n 'feedback-success',\n 'feedback-error',\n 'feedback-warning',\n 'feedback-busy',\n] as const;\ntype BadgeTypeT = (typeof badgeTypeC)[number];\n\n/**==============================================\n * @name BadgeComponent\n * */\n@Component({\n selector: 'cf-badge',\n templateUrl: './badge.component.html',\n styleUrl: './badge.component.scss',\n})\nexport class BadgeComponent implements OnChanges {\n @Input() type: BadgeTypeT = 'primary';\n @Input() icon?: IconsT | undefined;\n @Input() small?: boolean | string | undefined;\n @Input() large?: boolean | string | undefined;\n\n //--- Local variables\n inputType: typeof this.type = 'primary';\n inputIcon: typeof this.icon | undefined = undefined;\n fontsize = 12;\n inputSmall = false;\n inputLarge = false;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Type\n this.inputType = validateStringValue<BadgeTypeT>(changes, 'type', badgeTypeC.slice(), this.inputType) || 'primary';\n //--- Icon Start\n this.inputIcon = validateStringValue<IconsT>(changes, 'icon', iconsC.slice(), this.inputIcon);\n //--- Small Badge\n this.inputSmall = checkTruthAttribute(changes, 'small', this.inputSmall);\n if (this.inputSmall) this.fontsize = 10;\n //--- Large Badge\n this.inputLarge = checkTruthAttribute(changes, 'large', this.inputLarge);\n if (this.inputLarge) this.fontsize = 16;\n }\n}\n","<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge }\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></cf-icon>\n <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n <p><ng-content></ng-content></p>\n</div>\n","/**\n * CareFirst Library - Spinner\n *\n * @file spinner.component\n * @description Contains all the logic for generating a CareFirst Spinner\n * @author Jacques Coetzee\n * @since 2024 - 02 - 23\n */\n\nimport { Component, Input, type OnChanges, type SimpleChanges } from '@angular/core';\nimport { validateNumberValue } from '../../utils/attribute.util';\n\n@Component({\n selector: 'cf-spinner',\n templateUrl: './spinner.component.html',\n styleUrl: './spinner.component.scss',\n})\nexport class SpinnerComponent implements OnChanges {\n @Input() size: number | string = 20;\n\n //--- Local variables\n inputSize: number = 20;\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Size\n this.inputSize = validateNumberValue(changes, 'size', this.inputSize) || this.inputSize;\n }\n}\n","<div id=\"spinner\" [style]=\"'font-size: ' + inputSize + 'px'\"></div>\n","/**\n * Carefirst library - Verification Code Input\n *\n * @file verification-code.component\n * @description Contains all the logic for generating a CareFirst Verification Code Input\n * @author Arno Jansen van Vuuren\n * @since 2024 - 03 - 07\n * @usage <cf-verification-code\n valueToVerify=`string`\n (outcome)=`omits code value`\n (resendClickEvent)=`resend click event`\n [status]=`BehaviorSubject<'initial' | 'invalid'>`>\n </cf-verification-code>\n */\n\nimport { Component, EventEmitter, Input, Output, ViewChild, type OnChanges, type SimpleChanges } from '@angular/core';\n//--- Interface\nimport type { BehaviorSubject, Subscription } from 'rxjs';\nimport type { InputCustomEvent, IonInput } from '@ionic/angular';\nimport type { CfCodeInputUserFeedbackMessagesI } from '../../interfaces/verification-code.interface';\n\n@Component({\n selector: 'cf-verification-code',\n templateUrl: './verification-code.component.html',\n styleUrl: './verification-code.component.scss',\n})\nexport class VerificationCodeComponent implements OnChanges {\n @Input() valueToVerify!: string;\n @Input() status!: BehaviorSubject<'initial' | 'invalid'>;\n @Input() userFeedbackMessages?: CfCodeInputUserFeedbackMessagesI;\n\n @Output() outcome = new EventEmitter<string>();\n @Output() resendClickEvent = new EventEmitter<true>();\n\n @ViewChild(`input1`) myInput1?: IonInput;\n @ViewChild('input2') myInput2?: IonInput;\n @ViewChild('input3') myInput3?: IonInput;\n @ViewChild('input4') myInput4?: IonInput;\n @ViewChild('input5') myInput5?: IonInput;\n\n //--- HTML variables\n validationCodeError = false;\n verificationCodeInputArr: (number | null)[] = [null, null, null, null, null];\n loading = false;\n commsSentCount = 0;\n validationCode: string | undefined;\n\n statusSub$?: Subscription;\n\n /**----------------------------------------------------------------\n * @name constructor\n */\n constructor() {}\n\n /**----------------------------------------------------------------\n * @name ionViewWillEnter\n * @description Update various values on component initialization\n * @returns {void}\n */\n ionViewDidEnter(): void {\n this.commsSentCount = 0;\n }\n\n /**----------------------------------------------------------------\n * @name ngOnChanges\n * @description Update various values on input changes\n * @returns {void}\n */\n ngOnChanges(changes: SimpleChanges): void {\n //--- Value to verify\n if (\n changes['valueToVerify']?.currentValue !== changes['valueToVerify']?.previousValue ||\n changes['code']?.currentValue !== changes['code']?.previousValue\n ) {\n this.commsSentCount = 0;\n this.validationCodeError = false;\n this.resetAllInputFields();\n }\n\n //--- Status display\n if (changes['status']) {\n this.statusSub$ = (changes['status'].currentValue as BehaviorSubject<'initial' | 'invalid'>).subscribe((stat) => {\n if (stat === 'invalid') {\n this.validationCodeError = true;\n }\n this.resetAllInputFields();\n this.setFocusToNext(0);\n });\n }\n }\n\n /**----------------------------------------------------------------\n * @name resendVerificationCode\n * @description Resend a verification code\n * @returns {void}\n */\n resendVerificationCode(): void {\n this.commsSentCount++;\n this.resendClickEvent.emit(true);\n }\n\n /**----------------------------------------------------------------\n * @name formulateAndCheckVerificationCode\n * @description Handle inputs associated with the verification code and do call once code is complete\n * @param {InputCustomEvent} event\n * @param {number} index\n * @returns {void}\n */\n formulateAndCheckVerificationCode(event: InputCustomEvent, index: number): void {\n const value = event.detail.value;\n if (!value || !(typeof value === 'string') || !(+value < 10)) {\n this.clearCodeInput(index);\n return;\n }\n\n this.setFocusToNext(index);\n this.verificationCodeInputArr[index - 1] = +value;\n this.validationCodeError = false;\n\n //--- Check if code completed\n if (this.verificationCodeInputArr.every((val) => val !== null)) {\n this.validationCode = this.verificationCodeInputArr.join('');\n this.outcome.emit(this.validationCode);\n }\n }\n\n /**----------------------------------------------------------------\n * @name resetAllInputFields\n * @description Reset all input fields\n * @returns {void}\n */\n private resetAllInputFields(): void {\n this.clearCodeInput(1);\n this.clearCodeInput(2);\n this.clearCodeInput(3);\n this.clearCodeInput(4);\n this.clearCodeInput(5);\n this.verificationCodeInputArr.fill(null);\n }\n\n /**----------------------------------------------------------------\n * @name setFocusToNext\n * @description Set the focus to the next input\n * @param {number} currentIndex\n * @returns {void}\n */\n private setFocusToNext(currentIndex: number): void {\n if (currentIndex === 5) return;\n currentIndex === 0\n ? this.myInput1?.setFocus()\n : currentIndex === 1\n ? this.myInput2?.setFocus()\n : currentIndex === 2\n ? this.myInput3?.setFocus()\n : currentIndex === 3\n ? this.myInput4?.setFocus()\n : this.myInput5?.setFocus();\n }\n\n /**----------------------------------------------------------------\n * @name clearCodeInput\n * @description Clear a code input on invalid key\n * @param {number} index\n * @returns {void}\n */\n private clearCodeInput(index: number): void {\n switch (index) {\n case 1:\n if (this.myInput1) this.myInput1.value = null;\n break;\n case 2:\n if (this.myInput2) this.myInput2.value = null;\n break;\n case 3:\n if (this.myInput3) this.myInput3.value = null;\n break;\n case 4:\n if (this.myInput4) this.myInput4.value = null;\n break;\n case 5:\n if (this.myInput5) this.myInput5.value = null;\n break;\n }\n }\n\n /**----------------------------------------------------------------\n * @name ionViewWillLeave\n * @description Unsubscribe on component leave\n * @returns {void}\n */\n ionViewWillLeave(): void {\n this.statusSub$?.unsubscribe();\n }\n}\n","<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p\n class=\"body-small error ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\"\n >{{ string }}</p\n >\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-center\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n//--- Modules\nimport { IonicModule } from '@ionic/angular';\nimport { ReactiveFormsModule } from '@angular/forms';\n//--- Directives\nimport { ButtonLoaderDirective } from './directives/button-loader.directive';\n//--- Components\nimport { PageComponent } from './components/page/page.component';\nimport { ButtonComponent } from './components/button/button.component';\nimport { SpacerComponent } from './components/spacer/spacer.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { NotificationComponent } from './components/notification/notification.component';\nimport { AlertComponent } from './components/alert/alert.component';\nimport { LogoComponent } from './components/logo/logo.component';\nimport { CalendarComponent } from './components/calendar/calendar.component';\nimport { FormValidationComponent } from './components/form-validation/form-validation.component';\nimport { FormInputComponent } from './components/form-input/form-input.component';\nimport { FormInputSelectComponent } from './components/form-input-select/form-input-select.component';\nimport { FormInputTextAreaComponent } from './components/form-input-text-area/form-input-text-area.component';\nimport { ChatBubbleComponent } from './components/chat-bubble/chat-bubble.component';\nimport { BadgeComponent } from './components/badge/badge.component';\nimport { SpinnerComponent } from './components/spinner/spinner.component';\nimport { VerificationCodeComponent } from './components/verification-code/verification-code.component';\n\n@NgModule({\n declarations: [\n PageComponent,\n ButtonComponent,\n SpacerComponent,\n IconComponent,\n ButtonLoaderDirective,\n NotificationComponent,\n AlertComponent,\n LogoComponent,\n CalendarComponent,\n FormValidationComponent,\n FormInputComponent,\n FormInputSelectComponent,\n FormInputTextAreaComponent,\n ChatBubbleComponent,\n BadgeComponent,\n SpinnerComponent,\n VerificationCodeComponent,\n ],\n\n imports: [IonicModule, CommonModule, ReactiveFormsModule],\n exports: [\n PageComponent,\n ButtonComponent,\n SpacerComponent,\n IconComponent,\n ButtonLoaderDirective,\n NotificationComponent,\n AlertComponent,\n LogoComponent,\n CalendarComponent,\n FormValidationComponent,\n FormInputComponent,\n FormInputSelectComponent,\n FormInputTextAreaComponent,\n ChatBubbleComponent,\n BadgeComponent,\n SpinnerComponent,\n VerificationCodeComponent,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class CareFirstLibraryModule {}\n","/**\n * Form validators\n *\n * @file form-validators\n * @description Various form validators\n * @author Jacques Coetzee\n * @since 2022 - 01 - 20\n * @usage Display \"errorMessage\" key value as validator response message\n */\n\nimport { AbstractControl } from '@angular/forms';\nimport passwordValidator from 'password-validator';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\n//--- Interfaces\nimport type { ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport class CFPFormValidators {\n /**----------------------------------------------------------------\n * @name checkPSWRetype\n * @description Check if passwords match\n * @param {string} controlNameToCheckAgainst\n * @returns {ValidatorFn}\n * @usage FormValidators.compareTo('password')\n */\n static compareTo(controlNameToCheckAgainst: string): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n //--- Compare controls\n const controlToCheckTo: AbstractControl | null = control?.parent?.get(controlNameToCheckAgainst) || null;\n\n //--- Check primary control value\n if (!controlToCheckTo?.value) return { errorMessage: `Password Required` };\n //--- Check secondary control value\n else if (!control.value) return { errorMessage: `Password confirmation required` };\n //--- Compare controls\n else if (control.value && control?.value !== controlToCheckTo?.value) return { errorMessage: `Passwords do not match` };\n\n return null;\n };\n }\n\n /**----------------------------------------------------------------\n * @name asPassword\n * @description Validate control as password\n * @returns {ValidatorFn}\n * @usage FormValidators.asPassword()\n */\n static asPassword(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const schema = new passwordValidator();\n\n //--- Setup password requirements\n schema\n //--- Minimum length 8\n .is()\n .min(8, 'Minimum of 8 characters')\n //--- Maximum length 50\n .is()\n .max(30, 'Maximum of 30 characters')\n //--- Must have uppercase letters\n .has()\n .uppercase(undefined, 'At least one UPPERCASE character')\n //--- Must have lowercase letters\n .has()\n .lowercase(undefined, 'At least one lowercase character')\n //--- Must have at least 1 digits\n .has()\n .digits(undefined, 'At least one digit')\n //--- Special characters\n .has()\n .symbols(undefined, 'At least one special character');\n\n //--- Validate string\n const inValid = schema.validate(control.value, { details: true }) as {\n validation: string;\n message: string;\n arguments?: number;\n }[];\n\n const returnResponse: { [key: string]: unknown } = {};\n inValid.forEach((error) => {\n returnResponse['password-' + error.validation] = error.message;\n });\n return inValid.length ? returnResponse : null;\n };\n }\n\n /**----------------------------------------------------------------\n * @name asEmail\n * @description Validate control as email\n * @param {true} canBeEmpty\n * @returns {ValidatorFn}\n * @usage FormValidators.asEmail(true?)\n */\n static asEmail(canBeEmpty?: true): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n let setErrors = null;\n const emailRegEx = new RegExp('^[\\\\w-.]+@[\\\\w]+\\\\.[\\\\w]+');\n\n //--- Check if email can be empty\n if (canBeEmpty && (control.value === null || control.value === '')) {\n return null;\n }\n\n //--- Test RegExp\n if (!(control.value && emailRegEx.test(control.value))) {\n setErrors = { errorMessage: `Not a valid email address` };\n }\n\n return setErrors;\n };\n }\n\n /**----------------------------------------------------------------\n * @name isIn\n * @description Validate control value is part of a given list\n * @param {string | number[]} list\n * @returns {ValidatorFn}\n * @usage FormValidators.isIn()\n */\n static isIn(list: (string | number)[]): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!list.includes(control.value)) return { errorMessage: 'Control value not part of eligible values' };\n return null;\n };\n }\n\n /**----------------------------------------------------------------\n * @name isSAIDNumber\n * @description Validate control value is a valid RSA ID Number\n * @param {true} canBeEmpty\n * @returns {ValidatorFn}\n * @usage FormValidators.isSAIDNumber(true?)\n */\n static isSAIDNumber(canBeEmpty?: true): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const validateDate = (): boolean => {\n if (typeof control.value !== 'string' || control.value.length < 6) return false;\n const month = control.value.slice(2, 4);\n const day = control.value.slice(4, 6);\n if (+month < 0 && +month > 13) return false;\n if (+day < 0 && +day > 31) return false;\n if (!dayjs(control.value.slice(0, 6), 'YYMMDD', true).isValid()) return false;\n return true;\n };\n\n const checksum = (): boolean => {\n if (typeof control.value !== 'string' || control.value.length !== 13) return false;\n let nSum = 0; //--- Total sum of all the values\n let isSecond = false; //--- To double every other value\n //--- Start from the end\n for (let i = control.value.length - 1; i >= 0; i--) {\n const val: string | undefined = control.value[i];\n if (!val) return false;\n //--- Get numerical value from ascii string\n let d: number = val.charCodeAt(0) - '0'.charCodeAt(0);\n //--- Double every other value\n if (isSecond == true) d = d * 2;\n //--- Sum the total of the doubled values if available\n nSum += Math.floor(d / 10);\n nSum += d % 10;\n //--- Inverse second to determine every other index value\n isSecond = !isSecond;\n }\n //--- Return the modulus 10 of the summation\n return nSum % 10 == 0;\n };\n\n let error: string | null = null;\n if (canBeEmpty && (!control.value || control.value?.length === 0)) return null;\n //--- string\n else if (typeof control.value !== 'string') error = 'Invalid RSA ID Number';\n //--- Length = 13\n else if (control.value.length !== 13) error = `Length required: ${13 - control.value.length}`;\n //--- Validate date\n else if (!validateDate()) error = `Invalid date of birth`;\n //--- Citizenship\n else if (!['0', '1'].includes(control.value.slice(10, 11))) error = `Invalid citizenship value`;\n //--- Checksum\n else if (!checksum()) error = `Invalid RSA ID number checksum`;\n\n return error ? { errorMessage: error } : null;\n };\n }\n}\n","/**==============================================\n * @description Available Spacer Values\n */\nexport const spacerNumberArray = [4, 8, 12, 16, 24, 32, 38, 48, 72] as const;\nexport type SpacerNumberT = (typeof spacerNumberArray)[number];\nexport type SpacerStringT = `${SpacerNumberT}`;\n"],"names":["SpinnerComponent","i1","i3.IconComponent","i4.ButtonLoaderDirective","i3.ButtonComponent","i4.SpacerComponent","i5.IconComponent","i4.FormValidationComponent","i2.SpacerComponent","i3.SpacerComponent","i4.SpinnerComponent"],"mappings":"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"}