{"version":3,"file":"small-contractor-card-19469c82.js","sources":["../../../../src/scripts/coveo/modules/search-results-listing/context.tsx","../../../../src/scripts/coveo/modules/search-results-listing/small-contractor-card.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nexport const SearchListingContext = createContext({\n  searchTerm: '',\n  searchType: ''\n});\n","import React, { useEffect } from 'react';\nimport { formatPhoneNumber } from '../../../helpers/transform';\nimport { disableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport type { BodyScrollOptions } from 'body-scroll-lock';\nimport RatingStars from '../../../react-components/rating-stars';\nimport { createDataLayerString } from '../../../helpers/helpers';\nimport { SearchListingContext } from './context';\nimport { ExtendedWindowType } from '../../engine';\nimport { ResultLink } from '../../components/interactive-result';\nimport { Result } from '@coveo/headless';\n\nexport type SmallContractorCardProps = {\n  quizResults?: boolean;\n  modalId: string;\n  resultType?: string;\n  id: string;\n  type: string;\n  name: string;\n  rating?: number;\n  reviews?: number;\n  url: string;\n  city: string;\n  stateAbbreviation: string;\n  certificationsLabel: string;\n  certifications: string[];\n  certificationImages: {\n    facetName: string;\n    iconUrl: string;\n  }[];\n  moreCertificationsLabel: string;\n  viewAllCertificationsLabel: string;\n  image: string;\n  placeholderImage: string;\n  imageAlt: string;\n  phone?: string;\n  isSearchListing?: boolean;\n  index: number;\n  result?: Result;\n};\n\nfunction SmallContractorCard({\n  quizResults,\n  modalId,\n  resultType,\n  id,\n  type,\n  name,\n  rating,\n  reviews,\n  url,\n  city,\n  stateAbbreviation,\n  certificationsLabel,\n  certifications,\n  moreCertificationsLabel,\n  viewAllCertificationsLabel,\n  certificationImages,\n  image,\n  placeholderImage,\n  imageAlt,\n  phone,\n  isSearchListing,\n  index,\n  result\n}: SmallContractorCardProps) {\n  const modal = document.querySelector<HTMLElement>(`#${modalId}`);\n  const modalCloseButton = modal?.querySelector<HTMLElement>(\n    '.modal__close-button'\n  );\n\n  const handleClick = () => {\n    const options = {\n      reserveScrollBarGap: true,\n      allowTouchMove: (el: HTMLElement) => {\n        return el.classList.contains('modal');\n      }\n    } as BodyScrollOptions;\n\n    (modal as HTMLDialogElement)?.showModal();\n    disableBodyScroll(modal as HTMLElement, options);\n\n    const global = window as ExtendedWindowType;\n\n    global.dataLayer?.push({\n      event_attributes: {\n        contractor_id: id,\n        contractor_name: name,\n        contractor_certificates_count: certifications.length,\n        contractor_rating: rating,\n        contractor_reviews_count: reviews,\n        contractor_certificate_name: certifications[0] || null,\n        contractor_type: type\n      },\n      event: quizResults\n        ? 'contractor_interaction'\n        : 'view_certifications_click',\n      event_category: quizResults\n        ? 'contractor_interaction'\n        : 'find a contractor',\n      event_action: 'view certifications and awards'\n    });\n  };\n\n  const handleClose = () => {\n    (modal as HTMLDialogElement)?.close();\n    clearAllBodyScrollLocks();\n  };\n\n  useEffect(() => {\n    if (modalCloseButton) {\n      modalCloseButton.addEventListener('click', handleClose);\n    }\n\n    const global = window as ExtendedWindowType;\n\n    global.dataLayer?.push({\n      event: 'contractor_impression',\n      event_category: 'find a contractor',\n      event_action: 'contractor impression',\n      event_attributes: {\n        contractor_id: id,\n        contractor_name: name,\n        contractor_certificate_name: certifications ? certifications[0] : null,\n        contractor_type: type,\n        contractor_reviews_count: reviews,\n        contractor_rating: rating,\n        contractor_certificates_count: certifications\n          ? certifications.length\n          : 0,\n        contractor_position: index\n      }\n    });\n\n    return () => {\n      if (modalCloseButton) {\n        modalCloseButton.removeEventListener('click', handleClose);\n      }\n    };\n  }, []);\n\n  const renderCertifications = (isMobile: boolean) => {\n    return (\n      <div\n        className={`small-contractor-card__certifications ${\n          isMobile\n            ? 'small-contractor-card__certifications--mobile'\n            : 'small-contractor-card__certifications--desktop'\n        }`}\n      >\n        <div className=\"small-contractor-card__certifications-heading-wrapper\">\n          <h3 className=\"small-contractor-card__certifications-heading\">\n            {certificationsLabel}\n          </h3>\n          <button\n            type=\"button\"\n            className=\"small-contractor-card__certifications-tooltip btn--tooltip btn--tooltip-alt\"\n            title={viewAllCertificationsLabel}\n            onClick={handleClick}\n            data-layer={createDataLayerString([\n              {\n                event: 'modal_interaction',\n                event_category: 'modals',\n                event_action: 'view',\n                event_attributes: {\n                  modalName: 'certifications'\n                }\n              }\n            ])}\n          >\n            <span className=\"sr-only\">{viewAllCertificationsLabel}</span>\n          </button>\n        </div>\n        <ul className=\"small-contractor-card__certifications-list\">\n          {certifications.map((certification, index) => (\n            <React.Fragment key={index}>\n              {index < 3 && (\n                <li className=\"small-contractor-card__certification\">\n                  <img\n                    src={\n                      certificationImages?.find(\n                        item => item.facetName === certification\n                      )?.iconUrl\n                    }\n                    alt={certification}\n                    role=\"presentation\"\n                    className=\"small-contractor-card__certification-icon\"\n                  />\n                  <span className=\"small-contractor-card__certification-name\">\n                    {certification}\n                  </span>\n                </li>\n              )}\n            </React.Fragment>\n          ))}\n          {certifications.length > 3 && (\n            <li className=\"small-contractor-card__certification\">\n              {`(+${certifications.length - 3} ${moreCertificationsLabel})`}\n            </li>\n          )}\n        </ul>\n        {phone && (\n          <a\n            href={`tel:${phone}`}\n            className=\"link--inline link--icon-left small-contractor-card__phone\"\n            data-layer={createDataLayerString([\n              {\n                event_category: 'find a contractor',\n                event_action: 'call us click phone number',\n                event_label: '',\n                event: quizResults\n                  ? 'contractor_leads'\n                  : 'call_us_phone_number_click',\n                event_attributes: {\n                  contractor_id: id,\n                  contractor_name: name,\n                  contractor_certificates_count: certifications.length,\n                  contractor_rating: rating,\n                  contractor_reviews_count: reviews,\n                  contractor_type: type,\n                  contractor_certificate_name: certifications[0] || null\n                }\n              }\n            ])}\n          >\n            <span className=\"sr-only\">Phone Number:</span>\n            {formatPhoneNumber(phone)}\n            <svg viewBox=\"0 0 13 16\" role=\"presentation\">\n              <use xlinkHref=\"#red-phone-icon\"></use>\n            </svg>\n          </a>\n        )}\n      </div>\n    );\n  };\n\n  const handleSearchListingClick = (\n    searchTerm?: string,\n    searchType?: string\n  ) => {\n    const global = window as ExtendedWindowType;\n\n    global.dataLayer?.push({\n      event: 'result_click',\n      event_category: 'result click',\n      event_action: 'internal search',\n      event_attributes: {\n        results_type: resultType as string,\n        search_term: searchTerm,\n        search_type: searchTerm ? searchType : 'external'\n      }\n    });\n  };\n\n  return (\n    <SearchListingContext.Consumer>\n      {value => (\n        <article className=\"small-contractor-card\">\n          <div className=\"small-contractor-card__wrapper\">\n            <div className=\"small-contractor-card__wrapper-inner\">\n              <div className=\"small-contractor-card__content\">\n                <div className=\"small-contractor-card__content-inner\">\n                  <p className=\"small-contractor-card__type\">{resultType}</p>\n                  <h2\n                    className=\"small-contractor-card__name\"\n                    onClick={\n                      isSearchListing\n                        ? () =>\n                            handleSearchListingClick(\n                              value.searchTerm,\n                              value.searchType\n                            )\n                        : undefined\n                    }\n                  >\n                    {result ? (\n                      <ResultLink\n                        link={url}\n                        className=\"link--inline\"\n                        result={result}\n                        dataLayer={createDataLayerString([\n                          {\n                            event: quizResults\n                              ? 'contractor_interaction'\n                              : 'view_profile_click',\n                            event_category: quizResults\n                              ? 'contractor_interaction'\n                              : 'find a contractor',\n                            event_action: 'view profile click',\n                            event_label: '',\n                            event_attributes: {\n                              contractor_id: id,\n                              contractor_name: name,\n                              contractor_certificates_count: certifications\n                                ? certifications.length\n                                : 0,\n                              contractor_rating: rating,\n                              contractor_reviews_count: reviews,\n                              contractor_certificate_name: certifications\n                                ? certifications[0]\n                                : null,\n                              contractor_type: type,\n                              link_mapping: 'contractor name'\n                            }\n                          }\n                        ])}\n                      >\n                        <span>{name}</span>\n                      </ResultLink>\n                    ) : (\n                      <a\n                        href={url}\n                        className=\"link--inline\"\n                        data-layer={createDataLayerString([\n                          {\n                            event: quizResults\n                              ? 'contractor_interaction'\n                              : 'view_profile_click',\n                            event_category: quizResults\n                              ? 'contractor_interaction'\n                              : 'find a contractor',\n                            event_action: 'view profile click',\n                            event_label: '',\n                            event_attributes: {\n                              contractor_id: id,\n                              contractor_name: name,\n                              contractor_certificates_count: certifications\n                                ? certifications.length\n                                : 0,\n                              contractor_rating: rating,\n                              contractor_reviews_count: reviews,\n                              contractor_certificate_name: certifications\n                                ? certifications[0]\n                                : null,\n                              contractor_type: type,\n                              link_mapping: 'contractor name'\n                            }\n                          }\n                        ])}\n                      >\n                        <span>{name}</span>\n                      </a>\n                    )}\n                  </h2>\n                  {reviews && rating ? (\n                    <RatingStars\n                      rating={rating}\n                      total={reviews}\n                      additionalClasses=\"small-contractor-card__rating\"\n                    />\n                  ) : null}\n                  <p className=\"small-contractor-card__location\">\n                    <span>{city}</span>, <span>{stateAbbreviation}</span>\n                  </p>\n                </div>\n                <a\n                  href={url}\n                  className=\"small-contractor-card__picture-link small-contractor-card__picture-link--mobile\"\n                  data-layer={createDataLayerString([\n                    {\n                      event: quizResults\n                        ? 'contractor_interaction'\n                        : 'view_profile_click',\n                      event_category: quizResults\n                        ? 'contractor interactions'\n                        : 'find a contractor',\n                      event_action: 'view profile click',\n                      event_label: '',\n                      event_attributes: {\n                        contractor_id: id,\n                        contractor_name: name,\n                        contractor_certificates_count: certifications\n                          ? certifications.length\n                          : 0,\n                        contractor_rating: rating,\n                        contractor_reviews_count: reviews,\n                        contractor_certificate_name: certifications\n                          ? certifications[0]\n                          : null,\n                        contractor_type: type,\n                        link_mapping: 'thumbnail image'\n                      }\n                    }\n                  ])}\n                  onClick={\n                    isSearchListing\n                      ? () =>\n                          handleSearchListingClick(\n                            value.searchTerm,\n                            value.searchType\n                          )\n                      : undefined\n                  }\n                >\n                  <picture className=\"small-contractor-card__picture\">\n                    <img\n                      src={image ? image : placeholderImage}\n                      alt={imageAlt}\n                    />\n                  </picture>\n                </a>\n              </div>\n              {certifications &&\n                certifications.length > 0 &&\n                renderCertifications(true)}\n            </div>\n            {certifications &&\n              certifications.length > 0 &&\n              renderCertifications(false)}\n          </div>\n          <a\n            href={url}\n            className=\"small-contractor-card__picture-link small-contractor-card__picture-link--desktop\"\n            data-layer={createDataLayerString([\n              {\n                event: 'view_profile_click',\n                event_category: 'find a contractor',\n                event_action: 'view profile click',\n                event_label: '',\n                event_attributes: {\n                  contractor_id: id,\n                  contractor_name: name,\n                  contractor_certificates_count: certifications\n                    ? certifications.length\n                    : 0,\n                  contractor_rating: rating,\n                  contractor_reviews_count: reviews,\n                  contractor_certificate_name: certifications\n                    ? certifications[0]\n                    : null,\n                  contractor_type: type,\n                  link_mapping: 'thumbnail image'\n                }\n              }\n            ])}\n            onClick={\n              isSearchListing\n                ? () =>\n                    handleSearchListingClick(value.searchTerm, value.searchType)\n                : undefined\n            }\n          >\n            <picture className=\"small-contractor-card__picture\">\n              <img src={image} alt={imageAlt} />\n            </picture>\n          </a>\n        </article>\n      )}\n    </SearchListingContext.Consumer>\n  );\n}\n\nexport default SmallContractorCard;\n"],"names":["SearchListingContext","createContext","SmallContractorCard","quizResults","modalId","resultType","id","type","name","rating","reviews","url","city","stateAbbreviation","certificationsLabel","certifications","moreCertificationsLabel","viewAllCertificationsLabel","certificationImages","image","placeholderImage","imageAlt","phone","isSearchListing","index","result","modal","modalCloseButton","handleClick","options","el","disableBodyScroll","_a","handleClose","clearAllBodyScrollLocks","useEffect","renderCertifications","isMobile","React","createDataLayerString","certification","item","formatPhoneNumber","handleSearchListingClick","searchTerm","searchType","value","ResultLink","RatingStars"],"mappings":"0SAEO,MAAMA,EAAuBC,EAAAA,cAAc,CAChD,WAAY,GACZ,WAAY,EACd,CAAC,ECmCD,SAASC,EAAoB,CAC3B,YAAAC,EACA,QAAAC,EACA,WAAAC,EACA,GAAAC,EACA,KAAAC,EACA,KAAAC,EACA,OAAAC,EACA,QAAAC,EACA,IAAAC,EACA,KAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,eAAAC,EACA,wBAAAC,EACA,2BAAAC,EACA,oBAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,OAAAC,CACF,EAA6B,CAC3B,MAAMC,EAAQ,SAAS,cAA2B,IAAItB,GAAS,EACzDuB,EAAmBD,GAAA,YAAAA,EAAO,cAC9B,wBAGIE,EAAc,IAAM,OACxB,MAAMC,EAAU,CACd,oBAAqB,GACrB,eAAiBC,GACRA,EAAG,UAAU,SAAS,OAAO,CACtC,EAGDJ,GAAA,MAAAA,EAA6B,YAC9BK,EAAkBL,EAAsBG,CAAO,GAI/CG,EAFe,OAER,YAAP,MAAAA,EAAkB,KAAK,CACrB,iBAAkB,CAChB,cAAe1B,EACf,gBAAiBE,EACjB,8BAA+BO,EAAe,OAC9C,kBAAmBN,EACnB,yBAA0BC,EAC1B,4BAA6BK,EAAe,CAAC,GAAK,KAClD,gBAAiBR,CACnB,EACA,MAAOJ,EACH,yBACA,4BACJ,eAAgBA,EACZ,yBACA,oBACJ,aAAc,gCAAA,EACf,EAGG8B,EAAc,IAAM,CACvBP,GAAA,MAAAA,EAA6B,QACNQ,GAAA,EAG1BC,EAAAA,UAAU,IAAM,OACd,OAAIR,GACeA,EAAA,iBAAiB,QAASM,CAAW,GAKxDD,EAFe,OAER,YAAP,MAAAA,EAAkB,KAAK,CACrB,MAAO,wBACP,eAAgB,oBAChB,aAAc,wBACd,iBAAkB,CAChB,cAAe1B,EACf,gBAAiBE,EACjB,4BAA6BO,EAAiBA,EAAe,CAAC,EAAI,KAClE,gBAAiBR,EACjB,yBAA0BG,EAC1B,kBAAmBD,EACnB,8BAA+BM,EAC3BA,EAAe,OACf,EACJ,oBAAqBS,CACvB,CAAA,GAGK,IAAM,CACPG,GACeA,EAAA,oBAAoB,QAASM,CAAW,CAC3D,CAEJ,EAAG,CAAE,CAAA,EAEC,MAAAG,EAAwBC,GAE1BC,EAAA,cAAC,MAAA,CACC,UAAW,yCACTD,EACI,gDACA,kDAAA,EAGNC,EAAA,cAAC,OAAI,UAAU,uDAAA,kBACZ,KAAG,CAAA,UAAU,+CACX,EAAAxB,CACH,EACAwB,EAAA,cAAC,SAAA,CACC,KAAK,SACL,UAAU,8EACV,MAAOrB,EACP,QAASW,EACT,aAAYW,EAAsB,CAChC,CACE,MAAO,oBACP,eAAgB,SAChB,aAAc,OACd,iBAAkB,CAChB,UAAW,gBACb,CACF,CAAA,CACD,CAAA,EAEAD,EAAA,cAAA,OAAA,CAAK,UAAU,SAAA,EAAWrB,CAA2B,CAAA,CAE1D,EACAqB,EAAA,cAAC,MAAG,UAAU,4CAAA,EACXvB,EAAe,IAAI,CAACyB,EAAehB,IAClC,OAAA,OAAAc,EAAA,cAACA,EAAM,SAAN,CAAe,IAAKd,GAClBA,EAAQ,GACNc,EAAA,cAAA,KAAA,CAAG,UAAU,sCACZ,EAAAA,EAAA,cAAC,MAAA,CACC,KACEN,EAAAd,GAAA,YAAAA,EAAqB,KACnBuB,GAAQA,EAAK,YAAcD,KAD7B,YAAAR,EAEG,QAEL,IAAKQ,EACL,KAAK,eACL,UAAU,2CAAA,CACZ,kBACC,OAAK,CAAA,UAAU,6CACbA,CACH,CACF,CAEJ,EACD,EACAzB,EAAe,OAAS,GACvBuB,EAAA,cAAC,MAAG,UAAU,sCAAA,EACX,KAAKvB,EAAe,OAAS,KAAKC,IACrC,CAEJ,EACCM,GACCgB,EAAA,cAAC,IAAA,CACC,KAAM,OAAOhB,IACb,UAAU,4DACV,aAAYiB,EAAsB,CAChC,CACE,eAAgB,oBAChB,aAAc,6BACd,YAAa,GACb,MAAOpC,EACH,mBACA,6BACJ,iBAAkB,CAChB,cAAeG,EACf,gBAAiBE,EACjB,8BAA+BO,EAAe,OAC9C,kBAAmBN,EACnB,yBAA0BC,EAC1B,gBAAiBH,EACjB,4BAA6BQ,EAAe,CAAC,GAAK,IACpD,CACF,CAAA,CACD,CAAA,EAEAuB,EAAA,cAAA,OAAA,CAAK,UAAU,SAAA,EAAU,eAAa,EACtCI,EAAkBpB,CAAK,EACxBgB,EAAA,cAAC,MAAI,CAAA,QAAQ,YAAY,KAAK,gBAC3BA,EAAA,cAAA,MAAA,CAAI,UAAU,iBAAkB,CAAA,CACnC,CACF,CAAA,EAMFK,EAA2B,CAC/BC,EACAC,IACG,QAGHb,EAFe,OAER,YAAP,MAAAA,EAAkB,KAAK,CACrB,MAAO,eACP,eAAgB,eAChB,aAAc,kBACd,iBAAkB,CAChB,aAAc3B,EACd,YAAauC,EACb,YAAaA,EAAaC,EAAa,UACzC,CAAA,EACD,EAGH,OACGP,EAAA,cAAAtC,EAAqB,SAArB,KAEG8C,GAAAR,EAAA,cAAC,UAAQ,CAAA,UAAU,yBACjBA,EAAA,cAAC,MAAI,CAAA,UAAU,kCACZA,EAAA,cAAA,MAAA,CAAI,UAAU,wCACZA,EAAA,cAAA,MAAA,CAAI,UAAU,kCACZA,EAAA,cAAA,MAAA,CAAI,UAAU,wCACZA,EAAA,cAAA,IAAA,CAAE,UAAU,+BAA+BjC,CAAW,EACvDiC,EAAA,cAAC,KAAA,CACC,UAAU,8BACV,QACEf,EACI,IACEoB,EACEG,EAAM,WACNA,EAAM,UAEV,EAAA,MAAA,EAGLrB,EACCa,EAAA,cAACS,EAAA,CACC,KAAMpC,EACN,UAAU,eACV,OAAAc,EACA,UAAWc,EAAsB,CAC/B,CACE,MAAOpC,EACH,yBACA,qBACJ,eAAgBA,EACZ,yBACA,oBACJ,aAAc,qBACd,YAAa,GACb,iBAAkB,CAChB,cAAeG,EACf,gBAAiBE,EACjB,8BAA+BO,EAC3BA,EAAe,OACf,EACJ,kBAAmBN,EACnB,yBAA0BC,EAC1B,4BAA6BK,EACzBA,EAAe,CAAC,EAChB,KACJ,gBAAiBR,EACjB,aAAc,iBAChB,CACF,CAAA,CACD,CAAA,EAED+B,EAAA,cAAC,YAAM9B,CAAK,CAGd,EAAA8B,EAAA,cAAC,IAAA,CACC,KAAM3B,EACN,UAAU,eACV,aAAY4B,EAAsB,CAChC,CACE,MAAOpC,EACH,yBACA,qBACJ,eAAgBA,EACZ,yBACA,oBACJ,aAAc,qBACd,YAAa,GACb,iBAAkB,CAChB,cAAeG,EACf,gBAAiBE,EACjB,8BAA+BO,EAC3BA,EAAe,OACf,EACJ,kBAAmBN,EACnB,yBAA0BC,EAC1B,4BAA6BK,EACzBA,EAAe,CAAC,EAChB,KACJ,gBAAiBR,EACjB,aAAc,iBAChB,CACF,CAAA,CACD,CAAA,EAED+B,EAAA,cAAC,YAAM9B,CAAK,CACd,CAAA,EAGHE,GAAWD,EACV6B,EAAA,cAACU,EAAA,CACC,OAAAvC,EACA,MAAOC,EACP,kBAAkB,+BAAA,CAAA,EAElB,KACJ4B,EAAA,cAAC,IAAE,CAAA,UAAU,mCACVA,EAAA,cAAA,OAAA,KAAM1B,CAAK,EAAO,KAAG0B,EAAA,cAAA,OAAA,KAAMzB,CAAkB,CAChD,CACF,EACAyB,EAAA,cAAC,IAAA,CACC,KAAM3B,EACN,UAAU,kFACV,aAAY4B,EAAsB,CAChC,CACE,MAAOpC,EACH,yBACA,qBACJ,eAAgBA,EACZ,0BACA,oBACJ,aAAc,qBACd,YAAa,GACb,iBAAkB,CAChB,cAAeG,EACf,gBAAiBE,EACjB,8BAA+BO,EAC3BA,EAAe,OACf,EACJ,kBAAmBN,EACnB,yBAA0BC,EAC1B,4BAA6BK,EACzBA,EAAe,CAAC,EAChB,KACJ,gBAAiBR,EACjB,aAAc,iBAChB,CACF,CAAA,CACD,EACD,QACEgB,EACI,IACEoB,EACEG,EAAM,WACNA,EAAM,UAEV,EAAA,MAAA,EAGNR,EAAA,cAAC,UAAQ,CAAA,UAAU,gCACjB,EAAAA,EAAA,cAAC,MAAA,CACC,IAAKnB,GAAgBC,EACrB,IAAKC,CAAA,CAAA,CAET,CAAA,CAEJ,EACCN,GACCA,EAAe,OAAS,GACxBqB,EAAqB,EAAI,CAC7B,EACCrB,GACCA,EAAe,OAAS,GACxBqB,EAAqB,EAAK,CAC9B,EACAE,EAAA,cAAC,IAAA,CACC,KAAM3B,EACN,UAAU,mFACV,aAAY4B,EAAsB,CAChC,CACE,MAAO,qBACP,eAAgB,oBAChB,aAAc,qBACd,YAAa,GACb,iBAAkB,CAChB,cAAejC,EACf,gBAAiBE,EACjB,8BAA+BO,EAC3BA,EAAe,OACf,EACJ,kBAAmBN,EACnB,yBAA0BC,EAC1B,4BAA6BK,EACzBA,EAAe,CAAC,EAChB,KACJ,gBAAiBR,EACjB,aAAc,iBAChB,CACF,CAAA,CACD,EACD,QACEgB,EACI,IACEoB,EAAyBG,EAAM,WAAYA,EAAM,UAAU,EAC7D,MAAA,EAGNR,EAAA,cAAC,UAAQ,CAAA,UAAU,gCACjB,EAAAA,EAAA,cAAC,OAAI,IAAKnB,EAAO,IAAKE,CAAU,CAAA,CAClC,CAEJ,CAAA,CAEJ,CAEJ"}